Name: series-workflow5wnpk Phase: Failed StartedAt: 2026-08-12 08:08:51 +0000 UTC FinishedAt: 2026-08-12 08:27:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5wnpk[0] Phase: Succeeded StartedAt: 2026-08-12 08:08:51 +0000 UTC FinishedAt: 2026-08-12 08:27:04 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5wnpk[0].run-triage Phase: Succeeded StartedAt: 2026-08-12 08:08:51 +0000 UTC FinishedAt: 2026-08-12 08:27:04 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDA4OjI2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBEb2N1bWVudGF0aW9uIGZpbGVzIChBQkkgYW5kIGFkbWluLWd1aWRlKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDA4OjI2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgODk0NmI5MDAwNDcwOGJmYjM5OGE5ZTdhNzUxMWFhNTAyODlmZDBkMlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDEyIDA4OjI2OjQ0IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcbmluZGV4IDdiZmJiOWNjMmMxMTMuLmJiZGZhZTJjMGNhYTYgMTAwNjQ0XG4tLS0gYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZVxuJiM0MzsmIzQzOyYjNDM7IGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcbkBAIC0xMCw5ICYjNDM7MTAsMTkgQEAgRGVzY3JpcHRpb246XG4gXHRcdFx0LSBocGFnZV9wbWRfc2l6ZVxuIFx0XHRcdC0ga2h1Z2VwYWdlZFxuIFx0XHRcdC0gc2htZW1fZW5hYmxlZFxuJiM0MztcdFx0XHQtIHNocmlua191bmRlcnVzZWRcbiBcdFx0XHQtIHVzZV96ZXJvX3BhZ2VcbiBcdFx0XHQtIHN1YmRpcmVjdG9yaWVzIG9mIHRoZSBmb3JtIGh1Z2VwYWdlcy1cdTAwM2NzaXplXHUwMDNla0IsIHdoZXJlIFx1MDAzY3NpemVcdTAwM2VcbiBcdFx0XHQgIGlzIHRoZSBwYWdlIHNpemUgb2YgdGhlIGh1Z2VwYWdlcyBzdXBwb3J0ZWQgYnkgdGhlIGtlcm5lbC9DUFVcbiBcdFx0XHQgIGNvbWJpbmF0aW9uLlxuIFxuIFx0XHRTZWUgRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0IGZvciBkZXRhaWxzLlxuJiM0MztcbiYjNDM7V2hhdDpcdFx0L3N5cy9rZXJuZWwvbW0vdHJhbnNwYXJlbnRfaHVnZXBhZ2Uvc2hyaW5rX3VuZGVydXNlZFxuJiM0MztEYXRlOlx0XHRTZXAgMjAyNFxuJiM0MztDb250YWN0Olx0TGludXggbWVtb3J5IG1hbmFnZW1lbnQgbWFpbGluZyBsaXN0IFx1MDAzY2xpbnV4LW1tQGt2YWNrLm9yZ1x1MDAzZVxuJiM0MztEZXNjcmlwdGlvbjpcdFJlYWRpbmcgYW5kIHdyaXRpbmcgdGhpcyBmaWxlIGNvbnRyb2xzIHdoZXRoZXIga2h1Z2VwYWdlZFxuJiM0MztcdFx0c3BsaXRzIHVuZGVydXNlZCB0cmFuc3BhcmVudCBodWdlIHBhZ2VzIChUSFBzKSB1bmRlciBtZW1vcnlcbiYjNDM7XHRcdHByZXNzdXJlLiAgQSBUSFAgaXMgY29uc2lkZXJlZCB1bmRlcnVzZWQgd2hlbiBpdHMgbnVtYmVyIG9mXG4mIzQzO1x0XHR6ZXJvLWZpbGxlZCBwYWdlcyBpcyBhYm92ZSBtYXhfcHRlc19ub25lLiAgRW5hYmxlZCBieSBkZWZhdWx0O1xuJiM0MztcdFx0d3JpdGluZyAwIGRpc2FibGVzIHRoZSBzcGxpdHRpbmcgYW5kIDEgZW5hYmxlcyBpdC5cbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3RcbmluZGV4IGIxODdkNjE4NDUyZjQuLjcyZTk0NGY0OWRhNWIgMTAwNjQ0XG4tLS0gYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3RcbiYjNDM7JiM0MzsmIzQzOyBiL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdFxuQEAgLTM4OSwxNCAmIzQzOzM4OSwxNCBAQCBpcyBub3QgZGVmaW5lZCB3aXRoaW4gYSB2YWxpZCBgYHRocF9hbm9uYGAsIGl0cyBwb2xpY3kgd2lsbCBkZWZhdWx0IHRvXG4gU2ltaWxhcmx5IHRvIGBgdHJhbnNwYXJlbnRfaHVnZXBhZ2VgYCwgeW91IGNhbiBjb250cm9sIHRoZSBodWdlcGFnZVxuIGFsbG9jYXRpb24gcG9saWN5IGZvciB0aGUgaW50ZXJuYWwgc2htZW0gbW91bnQgYnkgdXNpbmcgdGhlIGtlcm5lbCBwYXJhbWV0ZXJcbiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3NobWVtPVx1MDAzY3BvbGljeVx1MDAzZWBgLCB3aGVyZSBgYFx1MDAzY3BvbGljeVx1MDAzZWBgIGlzIG9uZSBvZiB0aGVcbi1zZXZlbiB2YWxpZCBwb2xpY2llcyBmb3Igc2htZW0gKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCxcbiYjNDM7c2l4IHZhbGlkIHBvbGljaWVzIGZvciBzaG1lbSAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuIGBgbmV2ZXJgYCwgYGBkZW55YGAsIGFuZCBgYGZvcmNlYGApLlxuIFxuIFNpbWlsYXJseSB0byBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3NobWVtYGAsIHlvdSBjYW4gY29udHJvbCB0aGUgZGVmYXVsdFxuIGh1Z2VwYWdlIGFsbG9jYXRpb24gcG9saWN5IGZvciB0aGUgdG1wZnMgbW91bnQgYnkgdXNpbmcgdGhlIGtlcm5lbCBwYXJhbWV0ZXJcbiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3RtcGZzPVx1MDAzY3BvbGljeVx1MDAzZWBgLCB3aGVyZSBgYFx1MDAzY3BvbGljeVx1MDAzZWBgIGlzIG9uZSBvZiB0aGVcbi1mb3VyIHZhbGlkIHBvbGljaWVzIGZvciB0bXBmcyAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuLWBgbmV2ZXJgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXG4mIzQzO3NpeCB2YWxpZCBwb2xpY2llcyBmb3IgdG1wZnMgKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCxcbiYjNDM7YGBuZXZlcmBgLCBgYGRlbnlgYCwgYW5kIGBgZm9yY2VgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXG4gXG4gQWRkaXRpb25hbGx5LCBLY29uZmlnIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSB0byBzZXQgdGhlIGRlZmF1bHQgaHVnZXBhZ2VcbiBwb2xpY2llcyBmb3Igc2htZW0gKGBgQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFX1NITUVNX0hVR0VfKmBgKSBhbmQgdG1wZnNcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAwODoyNjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBEb2N1bWVudGF0aW9uIGZpbGVzIChBQkkgYW5kIGFkbWluLWd1aWRlKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgODk0NmI5MDAwNDcwOGJmYjM5OGE5ZTdhNzUxMWFhNTAyODlmZDBkMgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgQXVnIDEyIDA4OjI2OjQ0IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2UgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZQppbmRleCA3YmZiYjljYzJjMTEzLi5iYmRmYWUyYzBjYWE2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZQomIzQzOyYjNDM7JiM0MzsgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZQpAQCAtMTAsOSAmIzQzOzEwLDE5IEBAIERlc2NyaXB0aW9uOgogCQkJLSBocGFnZV9wbWRfc2l6ZQogCQkJLSBraHVnZXBhZ2VkCiAJCQktIHNobWVtX2VuYWJsZWQKJiM0MzsJCQktIHNocmlua191bmRlcnVzZWQKIAkJCS0gdXNlX3plcm9fcGFnZQogCQkJLSBzdWJkaXJlY3RvcmllcyBvZiB0aGUgZm9ybSBodWdlcGFnZXMtJmx0O3NpemUmZ3Q7a0IsIHdoZXJlICZsdDtzaXplJmd0OwogCQkJICBpcyB0aGUgcGFnZSBzaXplIG9mIHRoZSBodWdlcGFnZXMgc3VwcG9ydGVkIGJ5IHRoZSBrZXJuZWwvQ1BVCiAJCQkgIGNvbWJpbmF0aW9uLgogCiAJCVNlZSBEb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3QgZm9yIGRldGFpbHMuCiYjNDM7CiYjNDM7V2hhdDoJCS9zeXMva2VybmVsL21tL3RyYW5zcGFyZW50X2h1Z2VwYWdlL3Nocmlua191bmRlcnVzZWQKJiM0MztEYXRlOgkJU2VwIDIwMjQKJiM0MztDb250YWN0OglMaW51eCBtZW1vcnkgbWFuYWdlbWVudCBtYWlsaW5nIGxpc3QgJmx0O2xpbnV4LW1tQGt2YWNrLm9yZyZndDsKJiM0MztEZXNjcmlwdGlvbjoJUmVhZGluZyBhbmQgd3JpdGluZyB0aGlzIGZpbGUgY29udHJvbHMgd2hldGhlciBraHVnZXBhZ2VkCiYjNDM7CQlzcGxpdHMgdW5kZXJ1c2VkIHRyYW5zcGFyZW50IGh1Z2UgcGFnZXMgKFRIUHMpIHVuZGVyIG1lbW9yeQomIzQzOwkJcHJlc3N1cmUuICBBIFRIUCBpcyBjb25zaWRlcmVkIHVuZGVydXNlZCB3aGVuIGl0cyBudW1iZXIgb2YKJiM0MzsJCXplcm8tZmlsbGVkIHBhZ2VzIGlzIGFib3ZlIG1heF9wdGVzX25vbmUuICBFbmFibGVkIGJ5IGRlZmF1bHQ7CiYjNDM7CQl3cml0aW5nIDAgZGlzYWJsZXMgdGhlIHNwbGl0dGluZyBhbmQgMSBlbmFibGVzIGl0LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0IGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0CmluZGV4IGIxODdkNjE4NDUyZjQuLjcyZTk0NGY0OWRhNWIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdAomIzQzOyYjNDM7JiM0MzsgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3QKQEAgLTM4OSwxNCAmIzQzOzM4OSwxNCBAQCBpcyBub3QgZGVmaW5lZCB3aXRoaW4gYSB2YWxpZCBgYHRocF9hbm9uYGAsIGl0cyBwb2xpY3kgd2lsbCBkZWZhdWx0IHRvCiBTaW1pbGFybHkgdG8gYGB0cmFuc3BhcmVudF9odWdlcGFnZWBgLCB5b3UgY2FuIGNvbnRyb2wgdGhlIGh1Z2VwYWdlCiBhbGxvY2F0aW9uIHBvbGljeSBmb3IgdGhlIGludGVybmFsIHNobWVtIG1vdW50IGJ5IHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyCiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3NobWVtPSZsdDtwb2xpY3kmZ3Q7YGAsIHdoZXJlIGBgJmx0O3BvbGljeSZndDtgYCBpcyBvbmUgb2YgdGhlCi1zZXZlbiB2YWxpZCBwb2xpY2llcyBmb3Igc2htZW0gKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCwKJiM0MztzaXggdmFsaWQgcG9saWNpZXMgZm9yIHNobWVtIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsCiBgYG5ldmVyYGAsIGBgZGVueWBgLCBhbmQgYGBmb3JjZWBgKS4KIAogU2ltaWxhcmx5IHRvIGBgdHJhbnNwYXJlbnRfaHVnZXBhZ2Vfc2htZW1gYCwgeW91IGNhbiBjb250cm9sIHRoZSBkZWZhdWx0CiBodWdlcGFnZSBhbGxvY2F0aW9uIHBvbGljeSBmb3IgdGhlIHRtcGZzIG1vdW50IGJ5IHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyCiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3RtcGZzPSZsdDtwb2xpY3kmZ3Q7YGAsIHdoZXJlIGBgJmx0O3BvbGljeSZndDtgYCBpcyBvbmUgb2YgdGhlCi1mb3VyIHZhbGlkIHBvbGljaWVzIGZvciB0bXBmcyAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLAotYGBuZXZlcmBgKS4gVGhlIHRtcGZzIG1vdW50IGRlZmF1bHQgcG9saWN5IGlzIGBgbmV2ZXJgYC4KJiM0MztzaXggdmFsaWQgcG9saWNpZXMgZm9yIHRtcGZzIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsCiYjNDM7YGBuZXZlcmBgLCBgYGRlbnlgYCwgYW5kIGBgZm9yY2VgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuCiAKIEFkZGl0aW9uYWxseSwgS2NvbmZpZyBvcHRpb25zIGFyZSBhdmFpbGFibGUgdG8gc2V0IHRoZSBkZWZhdWx0IGh1Z2VwYWdlCiBwb2xpY2llcyBmb3Igc2htZW0gKGBgQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFX1NITUVNX0hVR0VfKmBgKSBhbmQgdG1wZnMKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMDg6MjY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjYwMAoJCQkJCQkJb3V0cHV0OiA1MwoJCQkJCQkJdGhvdWdodHM6IDM2NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFBhdGNoIGZvciBGdXp6aW5nIEVsaWdpYmlsaXR5KioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGluIGZyb250IG9mIG1lLCBhbmQgaXQgc2VlbXMgdG8gYmUgc29sZWx5IGZvY3VzZWQgb24gZG9jdW1lbnRhdGlvbiB1cGRhdGVzLiBTcGVjaWZpY2FsbHksIEkmIzM5O20gbG9va2luZyBhdCBjaGFuZ2VzIHRvIGBEb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZWAgYW5kIGBEb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3RgLiBNeSBmaXJzdCBpbnN0aW5jdCBpcyB0byBkb3VibGUtY2hlY2ssIG9mIGNvdXJzZSwgdG8gZW5zdXJlIHRoaXMgaXMgdHJ1bHkgdGhlICplbnRpcmUqIHNjb3BlIG9mIHRoZSBjaGFuZ2VzLiBJIG5lZWQgdG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluIGJlZm9yZSBtYWtpbmcgYSBkZXRlcm1pbmF0aW9uLgoKVGhlIGNvbW1pdCBtZXNzYWdlIG1lbnRpb25zIHNvbWV0aGluZyBhYm91dCAmIzM0O3N5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldyYjMzQ7LCBidXQgdGhhdCYjMzk7cyBhIHJlZCBoZXJyaW5nIGF0IHRoaXMgcG9pbnQuIEkgbmVlZCB0byBmb2N1cyBvbiB0aGUgY29udGVudCBvZiAqdGhpcyogcGF0Y2guIExldCYjMzk7cyBzZWUuLi5JIGNvdWxkIHVzZSBgZ2l0IGdyZXBgIG9yIGBnaXQgc2hvd2AgdG8gdmVyaWZ5LCBidXQgd2FpdCwgdGhlIHByb21wdCBpdHNlbGYgaXMgc2F5aW5nIHRoYXQgdGhlIGRpZmYgcHJvdmlkZWQgKmlzKiB0aGUgY29tcGxldGUgZGlmZi4gSXQgc3RhdGVzLCAmIzM0O0ZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzJiMzNDsuIEFscmlnaHQsIHNvIHRoZSBwcmVtaXNlIGhlcmUgaXMgdGhhdCB0aGUgcHJvdmlkZWQgZGlmZiBpcyB0aGUgd2hvbGUgc3RvcnkuCgpMZXQmIzM5O3MgdmVyaWZ5IHRoYXQgcXVpY2tseSwganVzdCB0byBiZSBzdXJlLiBZZXAsIHRoZSBkaWZmIG9ubHkgaW5jbHVkZXMgbW9kaWZpY2F0aW9ucyB0byB0aG9zZSB0d28gZG9jdW1lbnRhdGlvbiBmaWxlcy4gSSB3YXMgdGVtcHRlZCB0byBsb29rIGZvciByZWxhdGVkIGNvZGUgc3VjaCBhcyAmIzM5O3Nocmlua191bmRlcnVzZWQmIzM5OywgYnV0IEkmIzM5O20gdGhpbmtpbmcgdGhlIHRleHQgaW1wbGllcyB0aGF0IHRoaXMgaXMgYSBzZWxmLWNvbnRhaW5lZCBkb2N1bWVudGF0aW9uIGNoYW5nZS4KClRoZXJlZm9yZSwgZ2l2ZW4gdGhhdCB0aGUgcGF0Y2ggaXMgKnNvbGVseSogbW9kaWZ5aW5nIGRvY3VtZW50YXRpb24gZmlsZXMsIGFuZCB0aGUgcHJvbXB0IGltcGxpZXMgdGhlIGRpZmYgaXMgY29tcGxldGUsIEkmIzM5O20gY29tZm9ydGFibGUgcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBJdCYjMzk7cyBhIGRvY3VtZW50YXRpb24tb25seSBjaGFuZ2UsIGFuZCBhY2NvcmRpbmcgdG8gdGhlIGluc3RydWN0aW9ucyBJIHdhcyBnaXZlbiwgdGhhdCBtZWFucyBpdCYjMzk7cyBub3QgcmVsZXZhbnQgZm9yIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMDg6MjY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIERvY3VtZW50YXRpb24gZmlsZXMgKEFCSSBhbmQgYWRtaW4tZ3VpZGUpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgRG9jdW1lbnRhdGlvbiBmaWxlcyAoQUJJIGFuZCBhZG1pbi1ndWlkZSkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAwODoyNjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+SWY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMTJUMDg6MjY6NDUuNzc0MTQ0MTMzWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzEzMzQ4NjEzMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgRG9jdW1lbnRhdGlvbiBmaWxlcyAoQUJJIGFuZCBhZG1pbi1ndWlkZSkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMDg6MjY6NDUuNzc0MTQ5MzkzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0OTYyMTQxNjUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA4OTQ2YjkwMDA0NzA4YmZiMzk4YTllN2E3NTExYWE1MDI4OWZkMGQyXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgQXVnIDEyIDA4OjI2OjQ0IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcXG5pbmRleCA3YmZiYjljYzJjMTEzLi5iYmRmYWUyYzBjYWE2IDEwMDY0NFxcbi0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlXFxuKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcXG5AQCAtMTAsOSArMTAsMTkgQEAgRGVzY3JpcHRpb246XFxuIFxcdFxcdFxcdC0gaHBhZ2VfcG1kX3NpemVcXG4gXFx0XFx0XFx0LSBraHVnZXBhZ2VkXFxuIFxcdFxcdFxcdC0gc2htZW1fZW5hYmxlZFxcbitcXHRcXHRcXHQtIHNocmlua191bmRlcnVzZWRcXG4gXFx0XFx0XFx0LSB1c2VfemVyb19wYWdlXFxuIFxcdFxcdFxcdC0gc3ViZGlyZWN0b3JpZXMgb2YgdGhlIGZvcm0gaHVnZXBhZ2VzLVxcdTAwM2NzaXplXFx1MDAzZWtCLCB3aGVyZSBcXHUwMDNjc2l6ZVxcdTAwM2VcXG4gXFx0XFx0XFx0ICBpcyB0aGUgcGFnZSBzaXplIG9mIHRoZSBodWdlcGFnZXMgc3VwcG9ydGVkIGJ5IHRoZSBrZXJuZWwvQ1BVXFxuIFxcdFxcdFxcdCAgY29tYmluYXRpb24uXFxuIFxcbiBcXHRcXHRTZWUgRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0IGZvciBkZXRhaWxzLlxcbitcXG4rV2hhdDpcXHRcXHQvc3lzL2tlcm5lbC9tbS90cmFuc3BhcmVudF9odWdlcGFnZS9zaHJpbmtfdW5kZXJ1c2VkXFxuK0RhdGU6XFx0XFx0U2VwIDIwMjRcXG4rQ29udGFjdDpcXHRMaW51eCBtZW1vcnkgbWFuYWdlbWVudCBtYWlsaW5nIGxpc3QgXFx1MDAzY2xpbnV4LW1tQGt2YWNrLm9yZ1xcdTAwM2VcXG4rRGVzY3JpcHRpb246XFx0UmVhZGluZyBhbmQgd3JpdGluZyB0aGlzIGZpbGUgY29udHJvbHMgd2hldGhlciBraHVnZXBhZ2VkXFxuK1xcdFxcdHNwbGl0cyB1bmRlcnVzZWQgdHJhbnNwYXJlbnQgaHVnZSBwYWdlcyAoVEhQcykgdW5kZXIgbWVtb3J5XFxuK1xcdFxcdHByZXNzdXJlLiAgQSBUSFAgaXMgY29uc2lkZXJlZCB1bmRlcnVzZWQgd2hlbiBpdHMgbnVtYmVyIG9mXFxuK1xcdFxcdHplcm8tZmlsbGVkIHBhZ2VzIGlzIGFib3ZlIG1heF9wdGVzX25vbmUuICBFbmFibGVkIGJ5IGRlZmF1bHQ7XFxuK1xcdFxcdHdyaXRpbmcgMCBkaXNhYmxlcyB0aGUgc3BsaXR0aW5nIGFuZCAxIGVuYWJsZXMgaXQuXFxuZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdCBiL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdFxcbmluZGV4IGIxODdkNjE4NDUyZjQuLjcyZTk0NGY0OWRhNWIgMTAwNjQ0XFxuLS0tIGEvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0XFxuKysrIGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0XFxuQEAgLTM4OSwxNCArMzg5LDE0IEBAIGlzIG5vdCBkZWZpbmVkIHdpdGhpbiBhIHZhbGlkIGBgdGhwX2Fub25gYCwgaXRzIHBvbGljeSB3aWxsIGRlZmF1bHQgdG9cXG4gU2ltaWxhcmx5IHRvIGBgdHJhbnNwYXJlbnRfaHVnZXBhZ2VgYCwgeW91IGNhbiBjb250cm9sIHRoZSBodWdlcGFnZVxcbiBhbGxvY2F0aW9uIHBvbGljeSBmb3IgdGhlIGludGVybmFsIHNobWVtIG1vdW50IGJ5IHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyXFxuIGBgdHJhbnNwYXJlbnRfaHVnZXBhZ2Vfc2htZW09XFx1MDAzY3BvbGljeVxcdTAwM2VgYCwgd2hlcmUgYGBcXHUwMDNjcG9saWN5XFx1MDAzZWBgIGlzIG9uZSBvZiB0aGVcXG4tc2V2ZW4gdmFsaWQgcG9saWNpZXMgZm9yIHNobWVtIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsXFxuK3NpeCB2YWxpZCBwb2xpY2llcyBmb3Igc2htZW0gKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCxcXG4gYGBuZXZlcmBgLCBgYGRlbnlgYCwgYW5kIGBgZm9yY2VgYCkuXFxuIFxcbiBTaW1pbGFybHkgdG8gYGB0cmFuc3BhcmVudF9odWdlcGFnZV9zaG1lbWBgLCB5b3UgY2FuIGNvbnRyb2wgdGhlIGRlZmF1bHRcXG4gaHVnZXBhZ2UgYWxsb2NhdGlvbiBwb2xpY3kgZm9yIHRoZSB0bXBmcyBtb3VudCBieSB1c2luZyB0aGUga2VybmVsIHBhcmFtZXRlclxcbiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3RtcGZzPVxcdTAwM2Nwb2xpY3lcXHUwMDNlYGAsIHdoZXJlIGBgXFx1MDAzY3BvbGljeVxcdTAwM2VgYCBpcyBvbmUgb2YgdGhlXFxuLWZvdXIgdmFsaWQgcG9saWNpZXMgZm9yIHRtcGZzIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsXFxuLWBgbmV2ZXJgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXFxuK3NpeCB2YWxpZCBwb2xpY2llcyBmb3IgdG1wZnMgKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCxcXG4rYGBuZXZlcmBgLCBgYGRlbnlgYCwgYW5kIGBgZm9yY2VgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXFxuIFxcbiBBZGRpdGlvbmFsbHksIEtjb25maWcgb3B0aW9ucyBhcmUgYXZhaWxhYmxlIHRvIHNldCB0aGUgZGVmYXVsdCBodWdlcGFnZVxcbiBwb2xpY2llcyBmb3Igc2htZW0gKGBgQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFX1NITUVNX0hVR0VfKmBgKSBhbmQgdG1wZnNcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMDg6MjY6NDYuMjcxMTgwNTg4WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6NjYzNjQzNzQwNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBEb2N1bWVudGF0aW9uIGZpbGVzIChBQkkgYW5kIGFkbWluLWd1aWRlKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA4OTQ2YjkwMDA0NzA4YmZiMzk4YTllN2E3NTExYWE1MDI4OWZkMGQyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBBdWcgMTIgMDg6MjY6NDQgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZSBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlXG5pbmRleCA3YmZiYjljYzJjMTEzLi5iYmRmYWUyYzBjYWE2IDEwMDY0NFxuLS0tIGEvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcbisrKyBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlXG5AQCAtMTAsOSArMTAsMTkgQEAgRGVzY3JpcHRpb246XG4gXHRcdFx0LSBocGFnZV9wbWRfc2l6ZVxuIFx0XHRcdC0ga2h1Z2VwYWdlZFxuIFx0XHRcdC0gc2htZW1fZW5hYmxlZFxuK1x0XHRcdC0gc2hyaW5rX3VuZGVydXNlZFxuIFx0XHRcdC0gdXNlX3plcm9fcGFnZVxuIFx0XHRcdC0gc3ViZGlyZWN0b3JpZXMgb2YgdGhlIGZvcm0gaHVnZXBhZ2VzLVx1MDAzY3NpemVcdTAwM2VrQiwgd2hlcmUgXHUwMDNjc2l6ZVx1MDAzZVxuIFx0XHRcdCAgaXMgdGhlIHBhZ2Ugc2l6ZSBvZiB0aGUgaHVnZXBhZ2VzIHN1cHBvcnRlZCBieSB0aGUga2VybmVsL0NQVVxuIFx0XHRcdCAgY29tYmluYXRpb24uXG4gXG4gXHRcdFNlZSBEb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3QgZm9yIGRldGFpbHMuXG4rXG4rV2hhdDpcdFx0L3N5cy9rZXJuZWwvbW0vdHJhbnNwYXJlbnRfaHVnZXBhZ2Uvc2hyaW5rX3VuZGVydXNlZFxuK0RhdGU6XHRcdFNlcCAyMDI0XG4rQ29udGFjdDpcdExpbnV4IG1lbW9yeSBtYW5hZ2VtZW50IG1haWxpbmcgbGlzdCBcdTAwM2NsaW51eC1tbUBrdmFjay5vcmdcdTAwM2VcbitEZXNjcmlwdGlvbjpcdFJlYWRpbmcgYW5kIHdyaXRpbmcgdGhpcyBmaWxlIGNvbnRyb2xzIHdoZXRoZXIga2h1Z2VwYWdlZFxuK1x0XHRzcGxpdHMgdW5kZXJ1c2VkIHRyYW5zcGFyZW50IGh1Z2UgcGFnZXMgKFRIUHMpIHVuZGVyIG1lbW9yeVxuK1x0XHRwcmVzc3VyZS4gIEEgVEhQIGlzIGNvbnNpZGVyZWQgdW5kZXJ1c2VkIHdoZW4gaXRzIG51bWJlciBvZlxuK1x0XHR6ZXJvLWZpbGxlZCBwYWdlcyBpcyBhYm92ZSBtYXhfcHRlc19ub25lLiAgRW5hYmxlZCBieSBkZWZhdWx0O1xuK1x0XHR3cml0aW5nIDAgZGlzYWJsZXMgdGhlIHNwbGl0dGluZyBhbmQgMSBlbmFibGVzIGl0LlxuZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdCBiL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdFxuaW5kZXggYjE4N2Q2MTg0NTJmNC4uNzJlOTQ0ZjQ5ZGE1YiAxMDA2NDRcbi0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdFxuKysrIGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0XG5AQCAtMzg5LDE0ICszODksMTQgQEAgaXMgbm90IGRlZmluZWQgd2l0aGluIGEgdmFsaWQgYGB0aHBfYW5vbmBgLCBpdHMgcG9saWN5IHdpbGwgZGVmYXVsdCB0b1xuIFNpbWlsYXJseSB0byBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlYGAsIHlvdSBjYW4gY29udHJvbCB0aGUgaHVnZXBhZ2VcbiBhbGxvY2F0aW9uIHBvbGljeSBmb3IgdGhlIGludGVybmFsIHNobWVtIG1vdW50IGJ5IHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyXG4gYGB0cmFuc3BhcmVudF9odWdlcGFnZV9zaG1lbT1cdTAwM2Nwb2xpY3lcdTAwM2VgYCwgd2hlcmUgYGBcdTAwM2Nwb2xpY3lcdTAwM2VgYCBpcyBvbmUgb2YgdGhlXG4tc2V2ZW4gdmFsaWQgcG9saWNpZXMgZm9yIHNobWVtIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsXG4rc2l4IHZhbGlkIHBvbGljaWVzIGZvciBzaG1lbSAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuIGBgbmV2ZXJgYCwgYGBkZW55YGAsIGFuZCBgYGZvcmNlYGApLlxuIFxuIFNpbWlsYXJseSB0byBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3NobWVtYGAsIHlvdSBjYW4gY29udHJvbCB0aGUgZGVmYXVsdFxuIGh1Z2VwYWdlIGFsbG9jYXRpb24gcG9saWN5IGZvciB0aGUgdG1wZnMgbW91bnQgYnkgdXNpbmcgdGhlIGtlcm5lbCBwYXJhbWV0ZXJcbiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3RtcGZzPVx1MDAzY3BvbGljeVx1MDAzZWBgLCB3aGVyZSBgYFx1MDAzY3BvbGljeVx1MDAzZWBgIGlzIG9uZSBvZiB0aGVcbi1mb3VyIHZhbGlkIHBvbGljaWVzIGZvciB0bXBmcyAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuLWBgbmV2ZXJgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXG4rc2l4IHZhbGlkIHBvbGljaWVzIGZvciB0bXBmcyAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuK2BgbmV2ZXJgYCwgYGBkZW55YGAsIGFuZCBgYGZvcmNlYGApLiBUaGUgdG1wZnMgbW91bnQgZGVmYXVsdCBwb2xpY3kgaXMgYGBuZXZlcmBgLlxuIFxuIEFkZGl0aW9uYWxseSwgS2NvbmZpZyBvcHRpb25zIGFyZSBhdmFpbGFibGUgdG8gc2V0IHRoZSBkZWZhdWx0IGh1Z2VwYWdlXG4gcG9saWNpZXMgZm9yIHNobWVtIChgYENPTkZJR19UUkFOU1BBUkVOVF9IVUdFUEFHRV9TSE1FTV9IVUdFXypgYCkgYW5kIHRtcGZzXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQwODoyNjo0Ni4yNzExODIxMjhaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2NjM2NDE0MjA3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUGF0Y2ggZm9yIEZ1enppbmcgRWxpZ2liaWxpdHkqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGluIGZyb250IG9mIG1lLCBhbmQgaXQgc2VlbXMgdG8gYmUgc29sZWx5IGZvY3VzZWQgb24gZG9jdW1lbnRhdGlvbiB1cGRhdGVzLiBTcGVjaWZpY2FsbHksIEknbSBsb29raW5nIGF0IGNoYW5nZXMgdG8gYERvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlYCBhbmQgYERvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdGAuIE15IGZpcnN0IGluc3RpbmN0IGlzIHRvIGRvdWJsZS1jaGVjaywgb2YgY291cnNlLCB0byBlbnN1cmUgdGhpcyBpcyB0cnVseSB0aGUgKmVudGlyZSogc2NvcGUgb2YgdGhlIGNoYW5nZXMuIEkgbmVlZCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4gYmVmb3JlIG1ha2luZyBhIGRldGVybWluYXRpb24uXG5cblRoZSBjb21taXQgbWVzc2FnZSBtZW50aW9ucyBzb21ldGhpbmcgYWJvdXQgXCJzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcIiwgYnV0IHRoYXQncyBhIHJlZCBoZXJyaW5nIGF0IHRoaXMgcG9pbnQuIEkgbmVlZCB0byBmb2N1cyBvbiB0aGUgY29udGVudCBvZiAqdGhpcyogcGF0Y2guIExldCdzIHNlZS4uLkkgY291bGQgdXNlIGBnaXQgZ3JlcGAgb3IgYGdpdCBzaG93YCB0byB2ZXJpZnksIGJ1dCB3YWl0LCB0aGUgcHJvbXB0IGl0c2VsZiBpcyBzYXlpbmcgdGhhdCB0aGUgZGlmZiBwcm92aWRlZCAqaXMqIHRoZSBjb21wbGV0ZSBkaWZmLiBJdCBzdGF0ZXMsIFwiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXNcIi4gQWxyaWdodCwgc28gdGhlIHByZW1pc2UgaGVyZSBpcyB0aGF0IHRoZSBwcm92aWRlZCBkaWZmIGlzIHRoZSB3aG9sZSBzdG9yeS5cblxuTGV0J3MgdmVyaWZ5IHRoYXQgcXVpY2tseSwganVzdCB0byBiZSBzdXJlLiBZZXAsIHRoZSBkaWZmIG9ubHkgaW5jbHVkZXMgbW9kaWZpY2F0aW9ucyB0byB0aG9zZSB0d28gZG9jdW1lbnRhdGlvbiBmaWxlcy4gSSB3YXMgdGVtcHRlZCB0byBsb29rIGZvciByZWxhdGVkIGNvZGUgc3VjaCBhcyAnc2hyaW5rX3VuZGVydXNlZCcsIGJ1dCBJJ20gdGhpbmtpbmcgdGhlIHRleHQgaW1wbGllcyB0aGF0IHRoaXMgaXMgYSBzZWxmLWNvbnRhaW5lZCBkb2N1bWVudGF0aW9uIGNoYW5nZS5cblxuVGhlcmVmb3JlLCBnaXZlbiB0aGF0IHRoZSBwYXRjaCBpcyAqc29sZWx5KiBtb2RpZnlpbmcgZG9jdW1lbnRhdGlvbiBmaWxlcywgYW5kIHRoZSBwcm9tcHQgaW1wbGllcyB0aGUgZGlmZiBpcyBjb21wbGV0ZSwgSSdtIGNvbWZvcnRhYmxlIHJldHVybmluZyBgV29ydGhGdXp6aW5nPWZhbHNlYC4gSXQncyBhIGRvY3VtZW50YXRpb24tb25seSBjaGFuZ2UsIGFuZCBhY2NvcmRpbmcgdG8gdGhlIGluc3RydWN0aW9ucyBJIHdhcyBnaXZlbiwgdGhhdCBtZWFucyBpdCdzIG5vdCByZWxldmFudCBmb3IgZnV6emluZy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjYwMCwiT3V0cHV0VG9rZW5zIjo1MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM2NiwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDA4OjI2OjUyLjkwNzU5OTIzNVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTczODAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBEb2N1bWVudGF0aW9uIGZpbGVzIChBQkkgYW5kIGFkbWluLWd1aWRlKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIERvY3VtZW50YXRpb24gZmlsZXMgKEFCSSBhbmQgYWRtaW4tZ3VpZGUpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDA4OjI2OjUyLjkwNzYyMDA2NVoiLCJTZXEiOjUsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMDEwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflow5wnpk[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-12 08:08:51 +0000 UTC FinishedAt: 2026-08-12 08:26:54 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDA4OjI2PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBEb2N1bWVudGF0aW9uIGZpbGVzIChBQkkgYW5kIGFkbWluLWd1aWRlKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzEyIDA4OjI2PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgODk0NmI5MDAwNDcwOGJmYjM5OGE5ZTdhNzUxMWFhNTAyODlmZDBkMlxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgQXVnIDEyIDA4OjI2OjQ0IDIwMjYgJiM0MzswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcbmluZGV4IDdiZmJiOWNjMmMxMTMuLmJiZGZhZTJjMGNhYTYgMTAwNjQ0XG4tLS0gYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZVxuJiM0MzsmIzQzOyYjNDM7IGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcbkBAIC0xMCw5ICYjNDM7MTAsMTkgQEAgRGVzY3JpcHRpb246XG4gXHRcdFx0LSBocGFnZV9wbWRfc2l6ZVxuIFx0XHRcdC0ga2h1Z2VwYWdlZFxuIFx0XHRcdC0gc2htZW1fZW5hYmxlZFxuJiM0MztcdFx0XHQtIHNocmlua191bmRlcnVzZWRcbiBcdFx0XHQtIHVzZV96ZXJvX3BhZ2VcbiBcdFx0XHQtIHN1YmRpcmVjdG9yaWVzIG9mIHRoZSBmb3JtIGh1Z2VwYWdlcy1cdTAwM2NzaXplXHUwMDNla0IsIHdoZXJlIFx1MDAzY3NpemVcdTAwM2VcbiBcdFx0XHQgIGlzIHRoZSBwYWdlIHNpemUgb2YgdGhlIGh1Z2VwYWdlcyBzdXBwb3J0ZWQgYnkgdGhlIGtlcm5lbC9DUFVcbiBcdFx0XHQgIGNvbWJpbmF0aW9uLlxuIFxuIFx0XHRTZWUgRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0IGZvciBkZXRhaWxzLlxuJiM0MztcbiYjNDM7V2hhdDpcdFx0L3N5cy9rZXJuZWwvbW0vdHJhbnNwYXJlbnRfaHVnZXBhZ2Uvc2hyaW5rX3VuZGVydXNlZFxuJiM0MztEYXRlOlx0XHRTZXAgMjAyNFxuJiM0MztDb250YWN0Olx0TGludXggbWVtb3J5IG1hbmFnZW1lbnQgbWFpbGluZyBsaXN0IFx1MDAzY2xpbnV4LW1tQGt2YWNrLm9yZ1x1MDAzZVxuJiM0MztEZXNjcmlwdGlvbjpcdFJlYWRpbmcgYW5kIHdyaXRpbmcgdGhpcyBmaWxlIGNvbnRyb2xzIHdoZXRoZXIga2h1Z2VwYWdlZFxuJiM0MztcdFx0c3BsaXRzIHVuZGVydXNlZCB0cmFuc3BhcmVudCBodWdlIHBhZ2VzIChUSFBzKSB1bmRlciBtZW1vcnlcbiYjNDM7XHRcdHByZXNzdXJlLiAgQSBUSFAgaXMgY29uc2lkZXJlZCB1bmRlcnVzZWQgd2hlbiBpdHMgbnVtYmVyIG9mXG4mIzQzO1x0XHR6ZXJvLWZpbGxlZCBwYWdlcyBpcyBhYm92ZSBtYXhfcHRlc19ub25lLiAgRW5hYmxlZCBieSBkZWZhdWx0O1xuJiM0MztcdFx0d3JpdGluZyAwIGRpc2FibGVzIHRoZSBzcGxpdHRpbmcgYW5kIDEgZW5hYmxlcyBpdC5cbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3RcbmluZGV4IGIxODdkNjE4NDUyZjQuLjcyZTk0NGY0OWRhNWIgMTAwNjQ0XG4tLS0gYS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3RcbiYjNDM7JiM0MzsmIzQzOyBiL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdFxuQEAgLTM4OSwxNCAmIzQzOzM4OSwxNCBAQCBpcyBub3QgZGVmaW5lZCB3aXRoaW4gYSB2YWxpZCBgYHRocF9hbm9uYGAsIGl0cyBwb2xpY3kgd2lsbCBkZWZhdWx0IHRvXG4gU2ltaWxhcmx5IHRvIGBgdHJhbnNwYXJlbnRfaHVnZXBhZ2VgYCwgeW91IGNhbiBjb250cm9sIHRoZSBodWdlcGFnZVxuIGFsbG9jYXRpb24gcG9saWN5IGZvciB0aGUgaW50ZXJuYWwgc2htZW0gbW91bnQgYnkgdXNpbmcgdGhlIGtlcm5lbCBwYXJhbWV0ZXJcbiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3NobWVtPVx1MDAzY3BvbGljeVx1MDAzZWBgLCB3aGVyZSBgYFx1MDAzY3BvbGljeVx1MDAzZWBgIGlzIG9uZSBvZiB0aGVcbi1zZXZlbiB2YWxpZCBwb2xpY2llcyBmb3Igc2htZW0gKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCxcbiYjNDM7c2l4IHZhbGlkIHBvbGljaWVzIGZvciBzaG1lbSAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuIGBgbmV2ZXJgYCwgYGBkZW55YGAsIGFuZCBgYGZvcmNlYGApLlxuIFxuIFNpbWlsYXJseSB0byBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3NobWVtYGAsIHlvdSBjYW4gY29udHJvbCB0aGUgZGVmYXVsdFxuIGh1Z2VwYWdlIGFsbG9jYXRpb24gcG9saWN5IGZvciB0aGUgdG1wZnMgbW91bnQgYnkgdXNpbmcgdGhlIGtlcm5lbCBwYXJhbWV0ZXJcbiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3RtcGZzPVx1MDAzY3BvbGljeVx1MDAzZWBgLCB3aGVyZSBgYFx1MDAzY3BvbGljeVx1MDAzZWBgIGlzIG9uZSBvZiB0aGVcbi1mb3VyIHZhbGlkIHBvbGljaWVzIGZvciB0bXBmcyAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuLWBgbmV2ZXJgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXG4mIzQzO3NpeCB2YWxpZCBwb2xpY2llcyBmb3IgdG1wZnMgKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCxcbiYjNDM7YGBuZXZlcmBgLCBgYGRlbnlgYCwgYW5kIGBgZm9yY2VgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXG4gXG4gQWRkaXRpb25hbGx5LCBLY29uZmlnIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSB0byBzZXQgdGhlIGRlZmF1bHQgaHVnZXBhZ2VcbiBwb2xpY2llcyBmb3Igc2htZW0gKGBgQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFX1NITUVNX0hVR0VfKmBgKSBhbmQgdG1wZnNcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4yLzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAwODoyNjwvdGQ+CgkJCTx0ZD5hZ2VudDwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5iZXN0LWV4cGVuc2l2ZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBEb2N1bWVudGF0aW9uIGZpbGVzIChBQkkgYW5kIGFkbWluLWd1aWRlKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCiAgZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgotIENvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLAogIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIERyaXZlciAucmVtb3ZlLCAuc2h1dGRvd24sIG9yIHBjaV91bnJlZ2lzdGVyX2RyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKGUuZy4sIGlnYl9yZW1vdmUpCiAgdGhhdCBhcmUgZXhlY3V0ZWQgb25seSBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3Igc3lzZnMgZHJpdmVyIHVuYmluZCBvcGVyYXRpb25zLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KICAgUHJlZmVyIG5vbi1zdGF0aWMsIG5vbi1pbmxpbmVkIEFQSSBlbnRyeXBvaW50IGZ1bmN0aW9ucyBvdmVyIGludGVybmFsIHN0YXRpYyBoZWxwZXIgZnVuY3Rpb25zCiAgICh3aGljaCBhcmUgaW5saW5lZCBieSB0aGUgY29tcGlsZXIgYW5kIGRvIG5vdCBoYXZlIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMpLgoyLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS4KICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLgogICBBbHNvIGNoZWNrICYjMzQ7ZGVwZW5kcyBvbiYjMzQ7IGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncwogICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3MKICAgb3V0cHV0IGFycmF5LCBhbmQgRE8gTk9UIGFkZCBhICYjMzk7Q09ORklHXyYjMzk7IHByZWZpeCAoZS5nLiwgcmV0dXJuICYjMzQ7TkVUX0lQVjQmIzM0OyBpbnN0ZWFkIG9mICYjMzQ7Q09ORklHX05FVF9JUFY0JiMzNDspLgpQcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy4KCgpVc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLgpJdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS4KSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlByb21wdDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgODk0NmI5MDAwNDcwOGJmYjM5OGE5ZTdhNzUxMWFhNTAyODlmZDBkMgpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgQXVnIDEyIDA4OjI2OjQ0IDIwMjYgJiM0MzswMDAwCgogICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3CgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2UgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZQppbmRleCA3YmZiYjljYzJjMTEzLi5iYmRmYWUyYzBjYWE2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZQomIzQzOyYjNDM7JiM0MzsgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZQpAQCAtMTAsOSAmIzQzOzEwLDE5IEBAIERlc2NyaXB0aW9uOgogCQkJLSBocGFnZV9wbWRfc2l6ZQogCQkJLSBraHVnZXBhZ2VkCiAJCQktIHNobWVtX2VuYWJsZWQKJiM0MzsJCQktIHNocmlua191bmRlcnVzZWQKIAkJCS0gdXNlX3plcm9fcGFnZQogCQkJLSBzdWJkaXJlY3RvcmllcyBvZiB0aGUgZm9ybSBodWdlcGFnZXMtJmx0O3NpemUmZ3Q7a0IsIHdoZXJlICZsdDtzaXplJmd0OwogCQkJICBpcyB0aGUgcGFnZSBzaXplIG9mIHRoZSBodWdlcGFnZXMgc3VwcG9ydGVkIGJ5IHRoZSBrZXJuZWwvQ1BVCiAJCQkgIGNvbWJpbmF0aW9uLgogCiAJCVNlZSBEb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3QgZm9yIGRldGFpbHMuCiYjNDM7CiYjNDM7V2hhdDoJCS9zeXMva2VybmVsL21tL3RyYW5zcGFyZW50X2h1Z2VwYWdlL3Nocmlua191bmRlcnVzZWQKJiM0MztEYXRlOgkJU2VwIDIwMjQKJiM0MztDb250YWN0OglMaW51eCBtZW1vcnkgbWFuYWdlbWVudCBtYWlsaW5nIGxpc3QgJmx0O2xpbnV4LW1tQGt2YWNrLm9yZyZndDsKJiM0MztEZXNjcmlwdGlvbjoJUmVhZGluZyBhbmQgd3JpdGluZyB0aGlzIGZpbGUgY29udHJvbHMgd2hldGhlciBraHVnZXBhZ2VkCiYjNDM7CQlzcGxpdHMgdW5kZXJ1c2VkIHRyYW5zcGFyZW50IGh1Z2UgcGFnZXMgKFRIUHMpIHVuZGVyIG1lbW9yeQomIzQzOwkJcHJlc3N1cmUuICBBIFRIUCBpcyBjb25zaWRlcmVkIHVuZGVydXNlZCB3aGVuIGl0cyBudW1iZXIgb2YKJiM0MzsJCXplcm8tZmlsbGVkIHBhZ2VzIGlzIGFib3ZlIG1heF9wdGVzX25vbmUuICBFbmFibGVkIGJ5IGRlZmF1bHQ7CiYjNDM7CQl3cml0aW5nIDAgZGlzYWJsZXMgdGhlIHNwbGl0dGluZyBhbmQgMSBlbmFibGVzIGl0LgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0IGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0CmluZGV4IGIxODdkNjE4NDUyZjQuLjcyZTk0NGY0OWRhNWIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdAomIzQzOyYjNDM7JiM0MzsgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3QKQEAgLTM4OSwxNCAmIzQzOzM4OSwxNCBAQCBpcyBub3QgZGVmaW5lZCB3aXRoaW4gYSB2YWxpZCBgYHRocF9hbm9uYGAsIGl0cyBwb2xpY3kgd2lsbCBkZWZhdWx0IHRvCiBTaW1pbGFybHkgdG8gYGB0cmFuc3BhcmVudF9odWdlcGFnZWBgLCB5b3UgY2FuIGNvbnRyb2wgdGhlIGh1Z2VwYWdlCiBhbGxvY2F0aW9uIHBvbGljeSBmb3IgdGhlIGludGVybmFsIHNobWVtIG1vdW50IGJ5IHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyCiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3NobWVtPSZsdDtwb2xpY3kmZ3Q7YGAsIHdoZXJlIGBgJmx0O3BvbGljeSZndDtgYCBpcyBvbmUgb2YgdGhlCi1zZXZlbiB2YWxpZCBwb2xpY2llcyBmb3Igc2htZW0gKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCwKJiM0MztzaXggdmFsaWQgcG9saWNpZXMgZm9yIHNobWVtIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsCiBgYG5ldmVyYGAsIGBgZGVueWBgLCBhbmQgYGBmb3JjZWBgKS4KIAogU2ltaWxhcmx5IHRvIGBgdHJhbnNwYXJlbnRfaHVnZXBhZ2Vfc2htZW1gYCwgeW91IGNhbiBjb250cm9sIHRoZSBkZWZhdWx0CiBodWdlcGFnZSBhbGxvY2F0aW9uIHBvbGljeSBmb3IgdGhlIHRtcGZzIG1vdW50IGJ5IHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyCiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3RtcGZzPSZsdDtwb2xpY3kmZ3Q7YGAsIHdoZXJlIGBgJmx0O3BvbGljeSZndDtgYCBpcyBvbmUgb2YgdGhlCi1mb3VyIHZhbGlkIHBvbGljaWVzIGZvciB0bXBmcyAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLAotYGBuZXZlcmBgKS4gVGhlIHRtcGZzIG1vdW50IGRlZmF1bHQgcG9saWN5IGlzIGBgbmV2ZXJgYC4KJiM0MztzaXggdmFsaWQgcG9saWNpZXMgZm9yIHRtcGZzIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsCiYjNDM7YGBuZXZlcmBgLCBgYGRlbnlgYCwgYW5kIGBgZm9yY2VgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuCiAKIEFkZGl0aW9uYWxseSwgS2NvbmZpZyBvcHRpb25zIGFyZSBhdmFpbGFibGUgdG8gc2V0IHRoZSBkZWZhdWx0IGh1Z2VwYWdlCiBwb2xpY2llcyBmb3Igc2htZW0gKGBgQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFX1NITUVNX0hVR0VfKmBgKSBhbmQgdG1wZnMKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+My8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMDg6MjY8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjYwMAoJCQkJCQkJb3V0cHV0OiA1MwoJCQkJCQkJdGhvdWdodHM6IDM2NgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFBhdGNoIGZvciBGdXp6aW5nIEVsaWdpYmlsaXR5KioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGluIGZyb250IG9mIG1lLCBhbmQgaXQgc2VlbXMgdG8gYmUgc29sZWx5IGZvY3VzZWQgb24gZG9jdW1lbnRhdGlvbiB1cGRhdGVzLiBTcGVjaWZpY2FsbHksIEkmIzM5O20gbG9va2luZyBhdCBjaGFuZ2VzIHRvIGBEb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZWAgYW5kIGBEb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3RgLiBNeSBmaXJzdCBpbnN0aW5jdCBpcyB0byBkb3VibGUtY2hlY2ssIG9mIGNvdXJzZSwgdG8gZW5zdXJlIHRoaXMgaXMgdHJ1bHkgdGhlICplbnRpcmUqIHNjb3BlIG9mIHRoZSBjaGFuZ2VzLiBJIG5lZWQgdG8gYmUgYWJzb2x1dGVseSBjZXJ0YWluIGJlZm9yZSBtYWtpbmcgYSBkZXRlcm1pbmF0aW9uLgoKVGhlIGNvbW1pdCBtZXNzYWdlIG1lbnRpb25zIHNvbWV0aGluZyBhYm91dCAmIzM0O3N5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldyYjMzQ7LCBidXQgdGhhdCYjMzk7cyBhIHJlZCBoZXJyaW5nIGF0IHRoaXMgcG9pbnQuIEkgbmVlZCB0byBmb2N1cyBvbiB0aGUgY29udGVudCBvZiAqdGhpcyogcGF0Y2guIExldCYjMzk7cyBzZWUuLi5JIGNvdWxkIHVzZSBgZ2l0IGdyZXBgIG9yIGBnaXQgc2hvd2AgdG8gdmVyaWZ5LCBidXQgd2FpdCwgdGhlIHByb21wdCBpdHNlbGYgaXMgc2F5aW5nIHRoYXQgdGhlIGRpZmYgcHJvdmlkZWQgKmlzKiB0aGUgY29tcGxldGUgZGlmZi4gSXQgc3RhdGVzLCAmIzM0O0ZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzJiMzNDsuIEFscmlnaHQsIHNvIHRoZSBwcmVtaXNlIGhlcmUgaXMgdGhhdCB0aGUgcHJvdmlkZWQgZGlmZiBpcyB0aGUgd2hvbGUgc3RvcnkuCgpMZXQmIzM5O3MgdmVyaWZ5IHRoYXQgcXVpY2tseSwganVzdCB0byBiZSBzdXJlLiBZZXAsIHRoZSBkaWZmIG9ubHkgaW5jbHVkZXMgbW9kaWZpY2F0aW9ucyB0byB0aG9zZSB0d28gZG9jdW1lbnRhdGlvbiBmaWxlcy4gSSB3YXMgdGVtcHRlZCB0byBsb29rIGZvciByZWxhdGVkIGNvZGUgc3VjaCBhcyAmIzM5O3Nocmlua191bmRlcnVzZWQmIzM5OywgYnV0IEkmIzM5O20gdGhpbmtpbmcgdGhlIHRleHQgaW1wbGllcyB0aGF0IHRoaXMgaXMgYSBzZWxmLWNvbnRhaW5lZCBkb2N1bWVudGF0aW9uIGNoYW5nZS4KClRoZXJlZm9yZSwgZ2l2ZW4gdGhhdCB0aGUgcGF0Y2ggaXMgKnNvbGVseSogbW9kaWZ5aW5nIGRvY3VtZW50YXRpb24gZmlsZXMsIGFuZCB0aGUgcHJvbXB0IGltcGxpZXMgdGhlIGRpZmYgaXMgY29tcGxldGUsIEkmIzM5O20gY29tZm9ydGFibGUgcmV0dXJuaW5nIGBXb3J0aEZ1enppbmc9ZmFsc2VgLiBJdCYjMzk7cyBhIGRvY3VtZW50YXRpb24tb25seSBjaGFuZ2UsIGFuZCBhY2NvcmRpbmcgdG8gdGhlIGluc3RydWN0aW9ucyBJIHdhcyBnaXZlbiwgdGhhdCBtZWFucyBpdCYjMzk7cyBub3QgcmVsZXZhbnQgZm9yIGZ1enppbmcuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMTIgMDg6MjY8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIERvY3VtZW50YXRpb24gZmlsZXMgKEFCSSBhbmQgYWRtaW4tZ3VpZGUpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgRG9jdW1lbnRhdGlvbiBmaWxlcyAoQUJJIGFuZCBhZG1pbi1ndWlkZSkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzE8L3RkPgoJCQk8dGQ+MjAyNi8wOC8xMiAwODoyNjwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+SWY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTwvdGJvZHk+Cgk8L3RhYmxlPgoKCTxkaXYgaWQ9ImxsbV9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+TExNIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgVG9rZW5zPC90aD4KCQkJCQk8dGg+QXZnIFRva2VuczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJsbG1fc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJ0b29sX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5Ub29sIENhbGxzIFN1bW1hcnk6PC9jYXB0aW9uPgoJCQk8dGhlYWQ+CgkJCQk8dHI+CgkJCQkJPHRoPlRvdGFsIENhbGxzPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9InRvb2xfc3VtbWFyeV9zdGF0c19ib2R5Ij48L3Rib2R5PgoJCTwvdGFibGU+Cgk8L2Rpdj4KCgk8ZGl2IGlkPSJkdXJhdGlvbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+Cgk8ZGl2IGlkPSJ0b2tlbl9jaGFydF9kaXYiIHN0eWxlPSJ3aWR0aDogMTAwJTsgbWFyZ2luOiAyMHB4IDA7IGJvcmRlcjogMXB4OyI+PC9kaXY+CgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qc2FwaSI+PC9zY3JpcHQ+Cgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgkJZ29vZ2xlLmxvYWQoInZpc3VhbGl6YXRpb24iLCAiMSIsIHtwYWNrYWdlczpbImNvcmVjaGFydCJdfSk7CgkJZ29vZ2xlLnNldE9uTG9hZENhbGxiYWNrKGRyYXdDaGFydHMpOwoKCQlmdW5jdGlvbiBkcmF3Q2hhcnRzKCkgewoJCQljb25zdCByYXdEYXRhID0gW3siU3RhcnRlZCI6IjIwMjYtMDgtMTJUMDg6MjY6NDUuNzc0MTQ0MTMzWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NzEzMzQ4NjEzMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgRG9jdW1lbnRhdGlvbiBmaWxlcyAoQUJJIGFuZCBhZG1pbi1ndWlkZSkgYW5kIGRvZXMgbm90IGNvbnRhaW4gYW55IGZ1bmN0aW9uYWwgY29kZSBjaGFuZ2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMDg6MjY6NDUuNzc0MTQ5MzkzWiIsIlNlcSI6MSwiTmVzdGluZyI6MSwiVHlwZSI6ImFjdGlvbiIsIk5hbWUiOiJyZWFkLXBhdGNoLWRpZmYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo0OTYyMTQxNjUsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIlBhdGNoRGlmZlwiOiBcImNvbW1pdCA4OTQ2YjkwMDA0NzA4YmZiMzk4YTllN2E3NTExYWE1MDI4OWZkMGQyXFxuQXV0aG9yOiBzeXotY2x1c3RlciBcXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cXHUwMDNlXFxuRGF0ZTogICBXZWQgQXVnIDEyIDA4OjI2OjQ0IDIwMjYgKzAwMDBcXG5cXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XFxuXFxuZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcXG5pbmRleCA3YmZiYjljYzJjMTEzLi5iYmRmYWUyYzBjYWE2IDEwMDY0NFxcbi0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlXFxuKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcXG5AQCAtMTAsOSArMTAsMTkgQEAgRGVzY3JpcHRpb246XFxuIFxcdFxcdFxcdC0gaHBhZ2VfcG1kX3NpemVcXG4gXFx0XFx0XFx0LSBraHVnZXBhZ2VkXFxuIFxcdFxcdFxcdC0gc2htZW1fZW5hYmxlZFxcbitcXHRcXHRcXHQtIHNocmlua191bmRlcnVzZWRcXG4gXFx0XFx0XFx0LSB1c2VfemVyb19wYWdlXFxuIFxcdFxcdFxcdC0gc3ViZGlyZWN0b3JpZXMgb2YgdGhlIGZvcm0gaHVnZXBhZ2VzLVxcdTAwM2NzaXplXFx1MDAzZWtCLCB3aGVyZSBcXHUwMDNjc2l6ZVxcdTAwM2VcXG4gXFx0XFx0XFx0ICBpcyB0aGUgcGFnZSBzaXplIG9mIHRoZSBodWdlcGFnZXMgc3VwcG9ydGVkIGJ5IHRoZSBrZXJuZWwvQ1BVXFxuIFxcdFxcdFxcdCAgY29tYmluYXRpb24uXFxuIFxcbiBcXHRcXHRTZWUgRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0IGZvciBkZXRhaWxzLlxcbitcXG4rV2hhdDpcXHRcXHQvc3lzL2tlcm5lbC9tbS90cmFuc3BhcmVudF9odWdlcGFnZS9zaHJpbmtfdW5kZXJ1c2VkXFxuK0RhdGU6XFx0XFx0U2VwIDIwMjRcXG4rQ29udGFjdDpcXHRMaW51eCBtZW1vcnkgbWFuYWdlbWVudCBtYWlsaW5nIGxpc3QgXFx1MDAzY2xpbnV4LW1tQGt2YWNrLm9yZ1xcdTAwM2VcXG4rRGVzY3JpcHRpb246XFx0UmVhZGluZyBhbmQgd3JpdGluZyB0aGlzIGZpbGUgY29udHJvbHMgd2hldGhlciBraHVnZXBhZ2VkXFxuK1xcdFxcdHNwbGl0cyB1bmRlcnVzZWQgdHJhbnNwYXJlbnQgaHVnZSBwYWdlcyAoVEhQcykgdW5kZXIgbWVtb3J5XFxuK1xcdFxcdHByZXNzdXJlLiAgQSBUSFAgaXMgY29uc2lkZXJlZCB1bmRlcnVzZWQgd2hlbiBpdHMgbnVtYmVyIG9mXFxuK1xcdFxcdHplcm8tZmlsbGVkIHBhZ2VzIGlzIGFib3ZlIG1heF9wdGVzX25vbmUuICBFbmFibGVkIGJ5IGRlZmF1bHQ7XFxuK1xcdFxcdHdyaXRpbmcgMCBkaXNhYmxlcyB0aGUgc3BsaXR0aW5nIGFuZCAxIGVuYWJsZXMgaXQuXFxuZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdCBiL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdFxcbmluZGV4IGIxODdkNjE4NDUyZjQuLjcyZTk0NGY0OWRhNWIgMTAwNjQ0XFxuLS0tIGEvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0XFxuKysrIGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0XFxuQEAgLTM4OSwxNCArMzg5LDE0IEBAIGlzIG5vdCBkZWZpbmVkIHdpdGhpbiBhIHZhbGlkIGBgdGhwX2Fub25gYCwgaXRzIHBvbGljeSB3aWxsIGRlZmF1bHQgdG9cXG4gU2ltaWxhcmx5IHRvIGBgdHJhbnNwYXJlbnRfaHVnZXBhZ2VgYCwgeW91IGNhbiBjb250cm9sIHRoZSBodWdlcGFnZVxcbiBhbGxvY2F0aW9uIHBvbGljeSBmb3IgdGhlIGludGVybmFsIHNobWVtIG1vdW50IGJ5IHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyXFxuIGBgdHJhbnNwYXJlbnRfaHVnZXBhZ2Vfc2htZW09XFx1MDAzY3BvbGljeVxcdTAwM2VgYCwgd2hlcmUgYGBcXHUwMDNjcG9saWN5XFx1MDAzZWBgIGlzIG9uZSBvZiB0aGVcXG4tc2V2ZW4gdmFsaWQgcG9saWNpZXMgZm9yIHNobWVtIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsXFxuK3NpeCB2YWxpZCBwb2xpY2llcyBmb3Igc2htZW0gKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCxcXG4gYGBuZXZlcmBgLCBgYGRlbnlgYCwgYW5kIGBgZm9yY2VgYCkuXFxuIFxcbiBTaW1pbGFybHkgdG8gYGB0cmFuc3BhcmVudF9odWdlcGFnZV9zaG1lbWBgLCB5b3UgY2FuIGNvbnRyb2wgdGhlIGRlZmF1bHRcXG4gaHVnZXBhZ2UgYWxsb2NhdGlvbiBwb2xpY3kgZm9yIHRoZSB0bXBmcyBtb3VudCBieSB1c2luZyB0aGUga2VybmVsIHBhcmFtZXRlclxcbiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3RtcGZzPVxcdTAwM2Nwb2xpY3lcXHUwMDNlYGAsIHdoZXJlIGBgXFx1MDAzY3BvbGljeVxcdTAwM2VgYCBpcyBvbmUgb2YgdGhlXFxuLWZvdXIgdmFsaWQgcG9saWNpZXMgZm9yIHRtcGZzIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsXFxuLWBgbmV2ZXJgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXFxuK3NpeCB2YWxpZCBwb2xpY2llcyBmb3IgdG1wZnMgKGBgYWx3YXlzYGAsIGBgd2l0aGluX3NpemVgYCwgYGBhZHZpc2VgYCxcXG4rYGBuZXZlcmBgLCBgYGRlbnlgYCwgYW5kIGBgZm9yY2VgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXFxuIFxcbiBBZGRpdGlvbmFsbHksIEtjb25maWcgb3B0aW9ucyBhcmUgYXZhaWxhYmxlIHRvIHNldCB0aGUgZGVmYXVsdCBodWdlcGFnZVxcbiBwb2xpY2llcyBmb3Igc2htZW0gKGBgQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFX1NITUVNX0hVR0VfKmBgKSBhbmQgdG1wZnNcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMTJUMDg6MjY6NDYuMjcxMTgwNTg4WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiYmVzdC1leHBlbnNpdmUiLCJEdXJhdGlvbiI6NjYzNjQzNzQwNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBEb2N1bWVudGF0aW9uIGZpbGVzIChBQkkgYW5kIGFkbWluLWd1aWRlKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCA4OTQ2YjkwMDA0NzA4YmZiMzk4YTllN2E3NTExYWE1MDI4OWZkMGQyXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBBdWcgMTIgMDg6MjY6NDQgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWtlcm5lbC1tbS10cmFuc3BhcmVudC1odWdlcGFnZSBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlXG5pbmRleCA3YmZiYjljYzJjMTEzLi5iYmRmYWUyYzBjYWE2IDEwMDY0NFxuLS0tIGEvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1rZXJuZWwtbW0tdHJhbnNwYXJlbnQtaHVnZXBhZ2VcbisrKyBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlXG5AQCAtMTAsOSArMTAsMTkgQEAgRGVzY3JpcHRpb246XG4gXHRcdFx0LSBocGFnZV9wbWRfc2l6ZVxuIFx0XHRcdC0ga2h1Z2VwYWdlZFxuIFx0XHRcdC0gc2htZW1fZW5hYmxlZFxuK1x0XHRcdC0gc2hyaW5rX3VuZGVydXNlZFxuIFx0XHRcdC0gdXNlX3plcm9fcGFnZVxuIFx0XHRcdC0gc3ViZGlyZWN0b3JpZXMgb2YgdGhlIGZvcm0gaHVnZXBhZ2VzLVx1MDAzY3NpemVcdTAwM2VrQiwgd2hlcmUgXHUwMDNjc2l6ZVx1MDAzZVxuIFx0XHRcdCAgaXMgdGhlIHBhZ2Ugc2l6ZSBvZiB0aGUgaHVnZXBhZ2VzIHN1cHBvcnRlZCBieSB0aGUga2VybmVsL0NQVVxuIFx0XHRcdCAgY29tYmluYXRpb24uXG4gXG4gXHRcdFNlZSBEb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL21tL3RyYW5zaHVnZS5yc3QgZm9yIGRldGFpbHMuXG4rXG4rV2hhdDpcdFx0L3N5cy9rZXJuZWwvbW0vdHJhbnNwYXJlbnRfaHVnZXBhZ2Uvc2hyaW5rX3VuZGVydXNlZFxuK0RhdGU6XHRcdFNlcCAyMDI0XG4rQ29udGFjdDpcdExpbnV4IG1lbW9yeSBtYW5hZ2VtZW50IG1haWxpbmcgbGlzdCBcdTAwM2NsaW51eC1tbUBrdmFjay5vcmdcdTAwM2VcbitEZXNjcmlwdGlvbjpcdFJlYWRpbmcgYW5kIHdyaXRpbmcgdGhpcyBmaWxlIGNvbnRyb2xzIHdoZXRoZXIga2h1Z2VwYWdlZFxuK1x0XHRzcGxpdHMgdW5kZXJ1c2VkIHRyYW5zcGFyZW50IGh1Z2UgcGFnZXMgKFRIUHMpIHVuZGVyIG1lbW9yeVxuK1x0XHRwcmVzc3VyZS4gIEEgVEhQIGlzIGNvbnNpZGVyZWQgdW5kZXJ1c2VkIHdoZW4gaXRzIG51bWJlciBvZlxuK1x0XHR6ZXJvLWZpbGxlZCBwYWdlcyBpcyBhYm92ZSBtYXhfcHRlc19ub25lLiAgRW5hYmxlZCBieSBkZWZhdWx0O1xuK1x0XHR3cml0aW5nIDAgZGlzYWJsZXMgdGhlIHNwbGl0dGluZyBhbmQgMSBlbmFibGVzIGl0LlxuZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdCBiL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdFxuaW5kZXggYjE4N2Q2MTg0NTJmNC4uNzJlOTQ0ZjQ5ZGE1YiAxMDA2NDRcbi0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdFxuKysrIGIvRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9tbS90cmFuc2h1Z2UucnN0XG5AQCAtMzg5LDE0ICszODksMTQgQEAgaXMgbm90IGRlZmluZWQgd2l0aGluIGEgdmFsaWQgYGB0aHBfYW5vbmBgLCBpdHMgcG9saWN5IHdpbGwgZGVmYXVsdCB0b1xuIFNpbWlsYXJseSB0byBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlYGAsIHlvdSBjYW4gY29udHJvbCB0aGUgaHVnZXBhZ2VcbiBhbGxvY2F0aW9uIHBvbGljeSBmb3IgdGhlIGludGVybmFsIHNobWVtIG1vdW50IGJ5IHVzaW5nIHRoZSBrZXJuZWwgcGFyYW1ldGVyXG4gYGB0cmFuc3BhcmVudF9odWdlcGFnZV9zaG1lbT1cdTAwM2Nwb2xpY3lcdTAwM2VgYCwgd2hlcmUgYGBcdTAwM2Nwb2xpY3lcdTAwM2VgYCBpcyBvbmUgb2YgdGhlXG4tc2V2ZW4gdmFsaWQgcG9saWNpZXMgZm9yIHNobWVtIChgYGFsd2F5c2BgLCBgYHdpdGhpbl9zaXplYGAsIGBgYWR2aXNlYGAsXG4rc2l4IHZhbGlkIHBvbGljaWVzIGZvciBzaG1lbSAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuIGBgbmV2ZXJgYCwgYGBkZW55YGAsIGFuZCBgYGZvcmNlYGApLlxuIFxuIFNpbWlsYXJseSB0byBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3NobWVtYGAsIHlvdSBjYW4gY29udHJvbCB0aGUgZGVmYXVsdFxuIGh1Z2VwYWdlIGFsbG9jYXRpb24gcG9saWN5IGZvciB0aGUgdG1wZnMgbW91bnQgYnkgdXNpbmcgdGhlIGtlcm5lbCBwYXJhbWV0ZXJcbiBgYHRyYW5zcGFyZW50X2h1Z2VwYWdlX3RtcGZzPVx1MDAzY3BvbGljeVx1MDAzZWBgLCB3aGVyZSBgYFx1MDAzY3BvbGljeVx1MDAzZWBgIGlzIG9uZSBvZiB0aGVcbi1mb3VyIHZhbGlkIHBvbGljaWVzIGZvciB0bXBmcyAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuLWBgbmV2ZXJgYCkuIFRoZSB0bXBmcyBtb3VudCBkZWZhdWx0IHBvbGljeSBpcyBgYG5ldmVyYGAuXG4rc2l4IHZhbGlkIHBvbGljaWVzIGZvciB0bXBmcyAoYGBhbHdheXNgYCwgYGB3aXRoaW5fc2l6ZWBgLCBgYGFkdmlzZWBgLFxuK2BgbmV2ZXJgYCwgYGBkZW55YGAsIGFuZCBgYGZvcmNlYGApLiBUaGUgdG1wZnMgbW91bnQgZGVmYXVsdCBwb2xpY3kgaXMgYGBuZXZlcmBgLlxuIFxuIEFkZGl0aW9uYWxseSwgS2NvbmZpZyBvcHRpb25zIGFyZSBhdmFpbGFibGUgdG8gc2V0IHRoZSBkZWZhdWx0IGh1Z2VwYWdlXG4gcG9saWNpZXMgZm9yIHNobWVtIChgYENPTkZJR19UUkFOU1BBUkVOVF9IVUdFUEFHRV9TSE1FTV9IVUdFXypgYCkgYW5kIHRtcGZzXG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0xMlQwODoyNjo0Ni4yNzExODIxMjhaIiwiU2VxIjozLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo2NjM2NDE0MjA3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgUGF0Y2ggZm9yIEZ1enppbmcgRWxpZ2liaWxpdHkqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGluIGZyb250IG9mIG1lLCBhbmQgaXQgc2VlbXMgdG8gYmUgc29sZWx5IGZvY3VzZWQgb24gZG9jdW1lbnRhdGlvbiB1cGRhdGVzLiBTcGVjaWZpY2FsbHksIEknbSBsb29raW5nIGF0IGNoYW5nZXMgdG8gYERvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMta2VybmVsLW1tLXRyYW5zcGFyZW50LWh1Z2VwYWdlYCBhbmQgYERvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvbW0vdHJhbnNodWdlLnJzdGAuIE15IGZpcnN0IGluc3RpbmN0IGlzIHRvIGRvdWJsZS1jaGVjaywgb2YgY291cnNlLCB0byBlbnN1cmUgdGhpcyBpcyB0cnVseSB0aGUgKmVudGlyZSogc2NvcGUgb2YgdGhlIGNoYW5nZXMuIEkgbmVlZCB0byBiZSBhYnNvbHV0ZWx5IGNlcnRhaW4gYmVmb3JlIG1ha2luZyBhIGRldGVybWluYXRpb24uXG5cblRoZSBjb21taXQgbWVzc2FnZSBtZW50aW9ucyBzb21ldGhpbmcgYWJvdXQgXCJzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcIiwgYnV0IHRoYXQncyBhIHJlZCBoZXJyaW5nIGF0IHRoaXMgcG9pbnQuIEkgbmVlZCB0byBmb2N1cyBvbiB0aGUgY29udGVudCBvZiAqdGhpcyogcGF0Y2guIExldCdzIHNlZS4uLkkgY291bGQgdXNlIGBnaXQgZ3JlcGAgb3IgYGdpdCBzaG93YCB0byB2ZXJpZnksIGJ1dCB3YWl0LCB0aGUgcHJvbXB0IGl0c2VsZiBpcyBzYXlpbmcgdGhhdCB0aGUgZGlmZiBwcm92aWRlZCAqaXMqIHRoZSBjb21wbGV0ZSBkaWZmLiBJdCBzdGF0ZXMsIFwiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXNcIi4gQWxyaWdodCwgc28gdGhlIHByZW1pc2UgaGVyZSBpcyB0aGF0IHRoZSBwcm92aWRlZCBkaWZmIGlzIHRoZSB3aG9sZSBzdG9yeS5cblxuTGV0J3MgdmVyaWZ5IHRoYXQgcXVpY2tseSwganVzdCB0byBiZSBzdXJlLiBZZXAsIHRoZSBkaWZmIG9ubHkgaW5jbHVkZXMgbW9kaWZpY2F0aW9ucyB0byB0aG9zZSB0d28gZG9jdW1lbnRhdGlvbiBmaWxlcy4gSSB3YXMgdGVtcHRlZCB0byBsb29rIGZvciByZWxhdGVkIGNvZGUgc3VjaCBhcyAnc2hyaW5rX3VuZGVydXNlZCcsIGJ1dCBJJ20gdGhpbmtpbmcgdGhlIHRleHQgaW1wbGllcyB0aGF0IHRoaXMgaXMgYSBzZWxmLWNvbnRhaW5lZCBkb2N1bWVudGF0aW9uIGNoYW5nZS5cblxuVGhlcmVmb3JlLCBnaXZlbiB0aGF0IHRoZSBwYXRjaCBpcyAqc29sZWx5KiBtb2RpZnlpbmcgZG9jdW1lbnRhdGlvbiBmaWxlcywgYW5kIHRoZSBwcm9tcHQgaW1wbGllcyB0aGUgZGlmZiBpcyBjb21wbGV0ZSwgSSdtIGNvbWZvcnRhYmxlIHJldHVybmluZyBgV29ydGhGdXp6aW5nPWZhbHNlYC4gSXQncyBhIGRvY3VtZW50YXRpb24tb25seSBjaGFuZ2UsIGFuZCBhY2NvcmRpbmcgdG8gdGhlIGluc3RydWN0aW9ucyBJIHdhcyBnaXZlbiwgdGhhdCBtZWFucyBpdCdzIG5vdCByZWxldmFudCBmb3IgZnV6emluZy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjYwMCwiT3V0cHV0VG9rZW5zIjo1MywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM2NiwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDA4OjI2OjUyLjkwNzU5OTIzNVoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTczODAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBEb2N1bWVudGF0aW9uIGZpbGVzIChBQkkgYW5kIGFkbWluLWd1aWRlKSBhbmQgZG9lcyBub3QgY29udGFpbiBhbnkgZnVuY3Rpb25hbCBjb2RlIGNoYW5nZXMuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIERvY3VtZW50YXRpb24gZmlsZXMgKEFCSSBhbmQgYWRtaW4tZ3VpZGUpIGFuZCBkb2VzIG5vdCBjb250YWluIGFueSBmdW5jdGlvbmFsIGNvZGUgY2hhbmdlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTEyVDA4OjI2OjUyLjkwNzYyMDA2NVoiLCJTZXEiOjUsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMDEwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0udG9rZW5zIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnVG9vbER1ciA9IHN0YXRzLnRvb2wuY291bnQgPiAwID8gKHN0YXRzLnRvb2wuZHVyYXRpb24gLyBzdGF0cy50b29sLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCgkJCWNvbnN0IGxsbVN1bWFyeUNlbGxzID0gW3N0YXRzLmxsbS5jb3VudCwgc3RhdHMubGxtLnRva2VucywgYXZnTGxtVG9rZW4sIHN0YXRzLmxsbS5kdXJhdGlvbiwgYXZnTGxtRHVyXTsKCQkJY29uc3QgdG9vbFN1bW1hcnlDZWxscyA9IFtzdGF0cy50b29sLmNvdW50LCBzdGF0cy50b29sLmR1cmF0aW9uLCBhdmdUb29sRHVyXTsKCgkJCWNvbnN0IGxsbVN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xsbV9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJbGxtU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IGxsbVRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJbGxtU3VtYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCWxsbVRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCWxsbVN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKGxsbVRyKTsKCgkJCWNvbnN0IHRvb2xTdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b29sX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQl0b29sU3VtbWFyeUJvZHkuaW5uZXJIVE1MID0gIiI7CgkJCWNvbnN0IHRvb2xUciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCXRvb2xTdW1tYXJ5Q2VsbHMuZm9yRWFjaChjZWxsID0+IHsKCQkJCWNvbnN0IHRkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGQnKTsKCQkJCXRkLnRleHRDb250ZW50ID0gY2VsbDsKCQkJCXRvb2xUci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQl0b29sU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQodG9vbFRyKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgZmlsdGVyZWRTdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gWyJsbG0iLCAidG9vbCJdLmluY2x1ZGVzKGQuVHlwZSkpOwoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdEdXJhdGlvbicpOwoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOyAKCgkJCWZpbHRlcmVkU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCQoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7CgkJCQlsZXQgdG9vbHRpcCA9IHMuTmFtZTsKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iICYmIHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCQkJCWRhdGEuYWRkUm93KFtgJHtzLlNlcX1gLCBkdXIsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUaW1lIENvbnN1bXB0aW9uIG9mIExMTS9Ub29sIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0vVG9vbCBTdGVwcycsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdTZWNvbmRzJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkdXJhdGlvbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpIHsKCQkJY29uc3QgbGxtU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IGQuVHlwZSA9PT0gImxsbSIpOwoJCQlpZiAobGxtU3RlcHMubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQljb25zdCBkYXRhID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkRhdGFUYWJsZSgpOwoJCQlkYXRhLmFkZENvbHVtbignc3RyaW5nJywgJ1N0ZXAnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oJ251bWJlcicsICdUb2tlbnMnKTsJCQkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAnc3R5bGUnfSk7CQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICd0b29sdGlwJ30pOwkKCgkJCWNvbnN0IGFnZW50Q29sb3JzID0ge307CgkJCWNvbnN0IHBhbGV0dGUgPSBbJyM0Mjg1RjQnLCAnI0RCNDQzNycsICcjRjRCNDAwJywgJyMwRjlENTgnLCAnI0FCNDdCQycsICcjMDBBQ0MxJ107CgkJCWxldCBjb2xvcklkeCA9IDA7CgkJCWNvbnN0IGFnZW50TExNQ291bnRzID0ge307CgkJCWxsbVN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQlpZiAoIWFnZW50Q29sb3JzW3MuTmFtZV0pIHsKCQkJCQlhZ2VudENvbG9yc1tzLk5hbWVdID0gcGFsZXR0ZVtjb2xvcklkeCAlIHBhbGV0dGUubGVuZ3RoXTsKCQkJCQljb2xvcklkeCsrOwoJCQkJfQoKCQkJCWFnZW50TExNQ291bnRzW3MuTmFtZV0gPSAoYWdlbnRMTE1Db3VudHNbcy5OYW1lXSB8fCAwKSArIDE7CgkJCQljb25zdCBsYWJlbCA9IGAke3MuTmFtZX0tJHthZ2VudExMTUNvdW50c1tzLk5hbWVdfWA7CgkJCQljb25zdCB0b3RhbFRva2VucyA9IHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnM7CgkJCQljb25zdCBzdHlsZSA9IGBjb2xvcjogJHthZ2VudENvbG9yc1tzLk5hbWVdfWA7CgkJCQlsZXQgdG9vbHRpcCA9IGBUb3RhbCBUb2tlbnM6ICR7dG90YWxUb2tlbnN9XG4oSW46ICR7cy5JbnB1dFRva2Vuc30sIE91dDogJHtzLk91dHB1dFRva2Vuc30sIFRob3VnaHRzOiAke3MuT3V0cHV0VGhvdWdodHNUb2tlbnN9KWA7CgkJCQlpZiAocy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoKCQkJCWRhdGEuYWRkUm93KFtsYWJlbCwgdG90YWxUb2tlbnMsIHN0eWxlLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVG9rZW4gQ29uc3VtcHRpb24gYnkgTExNIENhbGxzJywKCQkJCWhBeGlzOiB7CgkJCQkJdGl0bGU6ICdMTE0gQ2FsbCBTZXF1ZW5jZScsCgkJCQl9LAoJCQkJdkF4aXM6IHsgdGl0bGU6ICdDb25zdW1lZCBUb2tlbnMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rva2VuX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgkJbGV0IGFsbEV4cGFuZGVkID0gZmFsc2U7CgkJZnVuY3Rpb24gdG9nZ2xlQWxsRGV0YWlscygpIHsKCQkJYWxsRXhwYW5kZWQgPSAhYWxsRXhwYW5kZWQ7CgkJCWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RldGFpbHMnKS5mb3JFYWNoKGQgPT4gewoJCQkJaWYgKGFsbEV4cGFuZGVkKSBkLnNldEF0dHJpYnV0ZSgnb3BlbicsICcnKTsKCQkJCWVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoJ29wZW4nKTsKCQkJfSk7CgkJfQoJPC9zY3JpcHQ+CgoKPC9ib2R5Pgo8L2h0bWw+Cg==" },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-workflow5wnpk[1] Phase: Running StartedAt: 2026-08-12 08:27:04 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflow5wnpk[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-12 08:27:04 +0000 UTC FinishedAt: 2026-08-12 08:27:10 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}