Name: series-workflowsb85b Phase: Failed StartedAt: 2026-09-09 21:17:22 +0000 UTC FinishedAt: 2026-09-09 21:38:53 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsb85b[0] Phase: Succeeded StartedAt: 2026-09-09 21:17:22 +0000 UTC FinishedAt: 2026-09-09 21:38:43 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsb85b[0].run-triage Phase: Succeeded StartedAt: 2026-09-09 21:17:22 +0000 UTC FinishedAt: 2026-09-09 21:38:43 +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+CgkJCTx0ZD4yMDI2LzA5LzA5IDIxOjM4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDIxOjM4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDAyN2E5MThhNDE1ZmMwNDJkYTlhN2FmMTI3ZjY2ZDk0MDViN2Y2MVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgU2VwIDkgMjE6Mzg6MjUgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvdG9vbHMvYnBmL2JwZnRvb2wvTWFrZWZpbGUgYi90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZVxuaW5kZXggYjBmNzE2OGU3OTQzMi4uMWNhYzQ1MDhlYjBjMiAxMDA2NDRcbi0tLSBhL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZVxuQEAgLTEyNSw2ICYjNDM7MTI1LDcgQEAgRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliY2FwXG4gRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliYmZkXG4gRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliYmZkLWxpYmVydHlcbiBGRUFUVVJFX1RFU1RTICYjNDM7PSBsaWJiZmQtbGliZXJ0eS16XG4mIzQzO0ZFQVRVUkVfVEVTVFMgJiM0Mzs9IGxpYmJmZC1saWJlcnR5LXotenN0ZFxuIEZFQVRVUkVfVEVTVFMgJiM0Mzs9IGRpc2Fzc2VtYmxlci1mb3VyLWFyZ3NcbiBGRUFUVVJFX1RFU1RTICYjNDM7PSBkaXNhc3NlbWJsZXItaW5pdC1zdHlsZWRcbiBGRUFUVVJFX1RFU1RTICYjNDM7PSBsaWJlbGYtenN0ZFxuQEAgLTEzNSw2ICYjNDM7MTM2LDcgQEAgRkVBVFVSRV9ESVNQTEFZICYjNDM7PSBsaWJjYXBcbiBGRUFUVVJFX0RJU1BMQVkgJiM0Mzs9IGxpYmJmZFxuIEZFQVRVUkVfRElTUExBWSAmIzQzOz0gbGliYmZkLWxpYmVydHlcbiBGRUFUVVJFX0RJU1BMQVkgJiM0Mzs9IGxpYmJmZC1saWJlcnR5LXpcbiYjNDM7RkVBVFVSRV9ESVNQTEFZICYjNDM7PSBsaWJiZmQtbGliZXJ0eS16LXpzdGRcbiBlbmRpZlxuIFxuIGNoZWNrX2ZlYXQgOj0gMVxuQEAgLTIwMSw2ICYjNDM7MjAzLDggQEAgZWxzZVxuICAgICBMSUJTICYjNDM7PSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eVxuICAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHkteiksMSlcbiAgICAgTElCUyAmIzQzOz0gLWxiZmQgLWxkbCAtbG9wY29kZXMgLWxpYmVydHkgLWx6XG4mIzQzOyAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHktei16c3RkKSwxKVxuJiM0MzsgICAgTElCUyAmIzQzOz0gLWxiZmQgLWxkbCAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxuICAgZW5kaWZcbiBcbiAgICMgSWYgb25lIG9mIHRoZSBhYm92ZSBmZWF0dXJlIGNvbWJpbmF0aW9ucyBpcyBzZXQsIHdlIHN1cHBvcnQgbGliYmZkXG5kaWZmIC0tZ2l0IGEvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZSBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmVcbmluZGV4IDk5ZWIwZWEwOTUzNzUuLjEyNjhhYzZmMTMwZWYgMTAwNjQ0XG4tLS0gYS90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlXG5AQCAtMTIxLDYgJiM0MzsxMjEsNyBAQCBGRUFUVVJFX1RFU1RTX0VYVFJBIDo9ICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICBsaWJjaGVjayAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICBsaWJiZmQtbGliZXJ0eSAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICBsaWJiZmQtbGliZXJ0eS16ICAgICAgICAgICAgICAgXFxcbiYjNDM7ICAgICAgICAgbGliYmZkLWxpYmVydHktei16c3RkICAgICAgICAgIFxcXG4gICAgICAgICAgbGlib3BlbmNzZCAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGlicGVybCAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGx2bSAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG5AQCAtMTYxLDcgJiM0MzsxNjIsNyBAQCBGRUFUVVJFX0RJU1BMQVkgPz0gICAgICAgICAgICAgIFxcXG4gIyBEZWNsYXJlIGdyb3VwIG1lbWJlcnMgb2YgYSBmZWF0dXJlIHRvIGRpc3BsYXkgdGhlIGxvZ2ljYWwgT1Igb2YgdGhlIGRldGVjdGlvblxuICMgcmVzdWx0IGluc3RlYWQgb2YgZWFjaCBtZW1iZXIgcmVzdWx0LlxuICNcbi1GRUFUVVJFX0dST1VQX01FTUJFUlMtbGliYmZkID0gbGliYmZkLWxpYmVydHkgbGliYmZkLWxpYmVydHktelxuJiM0MztGRUFUVVJFX0dST1VQX01FTUJFUlMtbGliYmZkID0gbGliYmZkLWxpYmVydHkgbGliYmZkLWxpYmVydHkteiBsaWJiZmQtbGliZXJ0eS16LXpzdGRcbiBcbiAjXG4gIyBEZWNsYXJlIGxpc3Qgb2YgZmVhdHVyZSBkZXBlbmRlbmN5IHBhY2thZ2VzIHRoYXQgcHJvdmlkZSBwa2ctY29uZmlnIGZpbGVzLlxuZGlmZiAtLWdpdCBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGUgYi90b29scy9idWlsZC9mZWF0dXJlL01ha2VmaWxlXG5pbmRleCA3ZDE2NTAxODExNmE1Li40MTA5ODdkZjNhNDg4IDEwMDY0NFxuLS0tIGEvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxuQEAgLTIxLDYgJiM0MzsyMSw3IEBAIEZJTEVTPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgdGVzdC1yZWFsbG9jYXJyYXkuYmluXHRcdFx0XFxcbiAgICAgICAgICB0ZXN0LWxpYmJmZC1saWJlcnR5LmJpbiAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei5iaW4gICAgICAgICAgICAgIFxcXG4mIzQzOyAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbiAgICAgICAgIFxcXG4gICAgICAgICAgdGVzdC1jcGx1cy1kZW1hbmdsZS5iaW4gICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICB0ZXN0LWN4YS1kZW1hbmdsZS5iaW4gICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgIHRlc3QtbGliY2FwLmJpblx0XHRcdFxcXG5AQCAtMjcyLDE1ICYjNDM7MjczLDE3IEBAICQoT1VUUFVUKXRlc3QtbGliYmZkLmJpbjpcbiBcdCQoQlVJTERfQkZEKVxuIFxuICQoT1VUUFVUKXRlc3QtbGliYmZkLXRocmVhZHNhZmUuYmluOlxuLVx0JChCVUlMRF9CRkQpIHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgLWx6XG4mIzQzO1x0JChCVUlMRF9CRkQpIHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgLWx6IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHogLWx6c3RkXG4gXG4gJChPVVRQVVQpdGVzdC1kaXNhc3NlbWJsZXItZm91ci1hcmdzLmJpbjpcbiBcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgfHwgJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSB8fCBcXFxuLVx0JChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcbiYjNDM7XHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxuJiM0MztcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxuIFxuICQoT1VUUFVUKXRlc3QtZGlzYXNzZW1ibGVyLWluaXQtc3R5bGVkLmJpbjpcbiBcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgfHwgJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSB8fCBcXFxuLVx0JChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcbiYjNDM7XHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxuJiM0MztcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxuIFxuICQoT1VUUFVUKXRlc3QtcmVhbGxvY2FycmF5LmJpbjpcbiBcdCQoQlVJTEQpXG5AQCAtMjkxLDYgJiM0MzsyOTQsOSBAQCAkKE9VVFBVVCl0ZXN0LWxpYmJmZC1saWJlcnR5LmJpbjpcbiAkKE9VVFBVVCl0ZXN0LWxpYmJmZC1saWJlcnR5LXouYmluOlxuIFx0JChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9JiMzOTtcJiMzNDtwZXJmXCYjMzQ7JiMzOTsgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1selxuIFxuJiM0MzskKE9VVFBVVCl0ZXN0LWxpYmJmZC1saWJlcnR5LXotenN0ZC5iaW46XG4mIzQzO1x0JChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9JiMzOTtcJiMzNDtwZXJmXCYjMzQ7JiMzOTsgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1seiAtbHpzdGRcbiYjNDM7XG4gJChPVVRQVVQpdGVzdC1jcGx1cy1kZW1hbmdsZS5iaW46XG4gXHQkKEJVSUxEKSAtbGliZXJ0eVxuIFxuZGlmZiAtLWdpdCBhL3Rvb2xzL29ianRvb2wvTWFrZWZpbGUgYi90b29scy9vYmp0b29sL01ha2VmaWxlXG5pbmRleCBhNDQ4NGZkMjJhOTZkLi4xNDFiOTU3YzU2NmIwIDEwMDY0NFxuLS0tIGEvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZVxuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZVxuQEAgLTg4LDcgJiM0Mzs4OCw4IEBAIExJQk9QQ09ERVNfTElCUyA6PSAkKHNoZWxsIFxcXG4gXHRmb3IgbGlicyBpbiBcJiMzNDstbG9wY29kZXNcJiMzNDsgXFxcbiBcdFx0ICAgIFwmIzM0Oy1sb3Bjb2RlcyAtbGJmZFwmIzM0OyBcXFxuIFx0XHQgICAgXCYjMzQ7LWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5XCYjMzQ7IFxcXG4tXHRcdCAgICBcJiMzNDstbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6XCYjMzQ7OyBkbyBcXFxuJiM0MztcdFx0ICAgIFwmIzM0Oy1sb3Bjb2RlcyAtbGJmZCAtbGliZXJ0eSAtbHpcJiMzNDsgXFxcbiYjNDM7XHRcdCAgICBcJiMzNDstbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6IC1senN0ZFwmIzM0OzsgZG8gXFxcbiBcdFx0ZWNobyAmIzM5O2V4dGVybiB2b2lkIGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCh2b2lkICopOyYjMzk7IFxcXG4gXHRcdCAgICAgJiMzOTtpbnQgbWFpbih2b2lkKSB7IGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCgwKTsgcmV0dXJuIDA7IH0mIzM5OyB8IFxcXG4gXHRcdFx0JChIT1NUQ0MpIC14YyAtIC1vIC9kZXYvbnVsbCAkJGxpYnMgMlx1MDAzZS9kZXYvbnVsbCBcdTAwMjZcdTAwMjYgXFxcbmRpZmYgLS1naXQgYS90b29scy9wZXJmL01ha2VmaWxlLmNvbmZpZyBiL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnXG5pbmRleCA0ZDU5OTNkYTlmOTQ1Li5mNTg5YTQ2MWY0YmU2IDEwMDY0NFxuLS0tIGEvdG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWdcbiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnXG5AQCAtODkzLDYgJiM0Mzs4OTMsNyBAQCBpZmRlZiBCVUlMRF9OT05ESVNUUk9cbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC10aHJlYWRzYWZlKVxuICAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHkpXG4gICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJiZmQtbGliZXJ0eS16KVxuJiM0MzsgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC1saWJlcnR5LXotenN0ZClcbiBcbiAgIGlmbmVxICgkKGZlYXR1cmUtbGliYmZkLXRocmVhZHNhZmUpLCAxKVxuICAgICAkKGVycm9yIGJpbnV0aWxzLWRldihlbCkgMi40MiBvciBsYXRlciBpcyByZXF1aXJlZCBmb3Igbm9uLWRpc3RybyBidWlsZHMpXG5AQCAtOTA2LDYgJiM0Mzs5MDcsOCBAQCBpZmRlZiBCVUlMRF9OT05ESVNUUk9cbiAgICAgRVhUTElCUyAmIzQzOz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5XG4gICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16KSwgMSlcbiAgICAgRVhUTElCUyAmIzQzOz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5IC1selxuJiM0MzsgIGVsc2UgaWZlcSAoJChmZWF0dXJlLWxpYmJmZC1saWJlcnR5LXotenN0ZCksIDEpXG4mIzQzOyAgICBFWFRMSUJTICYjNDM7PSAtbGJmZCAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxuICAgZW5kaWZcbiBcbiAgIENGTEFHUyAmIzQzOz0gLURIQVZFX0xJQkJGRF9TVVBQT1JUXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMjE6Mzg8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZXZhbHVhdGUgd2hldGhlciBpdCB3YXJyYW50cyBmdXp6aW5nIHdpdGggc3l6a2FsbGVyLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiBpbnRlcm5hbCBhc3N1bXB0aW9ucy4gWW91IG11c3QgYWN0aXZlbHkgdXNlIHlvdXIgY29kZSBhY2Nlc3MKdG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIGdvYWwgb2YgcGF0Y2ggZnV6emluZyBpcyB0byBkaXNjb3ZlciBjcmFzaGVzLCByZWdyZXNzaW9ucywgZXhwb3NlZCBsYXRlbnQgYnVncywKYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy4KCi0gUkVBQ0hBQklMSVRZIElTIFRIRSBQUklNQVJZIEdBVEU6CiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZAogIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuCiAgSWYgdGhlIG1vZGlmaWVkIGNvZGUgaXMgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIChzZWUgU2VjdGlvbiAyKSwgaXQgTVVTVCBOT1QgYmUgZnV6emVkLAogIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy4KCi0gRE8gTk9UIEJMSU5ETFkgVFJVU1QgJiMzNDtOTyBGVU5DVElPTkFMIENIQU5HRSYjMzQ7IChORkNJKSBPUiAmIzM0O1JFRkFDVE9SSU5HJiMzNDsgQ0xBSU1TOgogIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgJiMzNDtjbGVhbnVwcyYjMzQ7LCAmIzM0O3JlZmFjdG9yaW5ncyYjMzQ7LCBvciBzdGF0ZQogICYjMzQ7Tm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQmIzM0Oy4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuCiAgQ29kZSByZWZhY3RvcmluZ3MgdGhhdCByZWFycmFuZ2UgbG9naWMsIGludHJvZHVjZSBoZWxwZXIgZnVuY3Rpb25zLCBvciBhbHRlciBzdGF0ZSBtYW5hZ2VtZW50CiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuCiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC4KCi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6CiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLAogIEJVR19PTiosIGxvY2tkZXBfYXNzZXJ0KikgaW4gcmVhY2hhYmxlIGNvZGUgcGF0aHMsIGl0IGVuZm9yY2VzIG5ldyBvciBzdHJpY3RlciBpbnZhcmlhbnRzLgogIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXIKICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoyLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOgoKLSBOb24ta2VybmVsIGFuZCBub24tZXhlY3V0YWJsZSBjaGFuZ2VzOgogICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLgogICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pCiAgICB0aGF0IGRvIG5vdCBhZmZlY3QgdGhlIGNvbXBpbGVkIGtlcm5lbCBpbWFnZSAodm1saW51eCkgb3Iga2VybmVsIG1vZHVsZXMuCiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50cwogICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy4KICAqIEJ1aWxkIHN5c3RlbSBvciBLY29uZmlnIGNoYW5nZXMgdGhhdCBkbyBub3QgYWx0ZXIgY29tcGlsZWQgQyBsb2dpYy4KLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6CiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgICBpb25pYywgYW1kZ3B1KSByZXF1aXJpbmcgcGh5c2ljYWwgQVNJQy9QQ0llIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczoKICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZwogICAgcGh5c2ljYWwgUENJIGhvdC11bnBsdWcgb3IgbWFudWFsIHN5c2ZzIGRyaXZlciB1bmJpbmRpbmcuCiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQozLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZSB3aGVuZXZlciB0aGUgcGF0Y2ggdG91Y2hlcyByZWFjaGFibGUgZXhlY3V0YWJsZSBjb2RlLCBpbmNsdWRpbmc6Ci0gQ29yZSBTdWJzeXN0ZW1zOgogICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLAogICAgQlBGLCBzY2hlZHVsZXIsIGNvcmUgbmV0d29ya2luZywgVkZTLCBvciBzeXNjYWxsIGhhbmRsaW5nLgotIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczoKICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy4KLSBSdW50aW1lIEFzc2VydGlvbnMgYW5kIERlZmVuc2l2ZSBDaGVja3M6CiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuCi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczoKICAqIERyaXZlcnMgYWNjZXNzaWJsZSB2aWEgdmlydHVhbCBidXNlcyAodmlydGlvLCBVU0IgZ2FkZ2V0LCBsb29wYmFjaywgbmV0bGluaywgYmluZGVyLCBzb2NrZXRzLCBldGMuKS4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjQuIEVYVFJBQ1RJTkcgRm9jdXNTeW1ib2xzIChQUkVWRU5USU5HIERJTFVUSU9OKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpXaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjoKCi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOgogIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzCiAgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvOiBnZW5lcmFsIG1lbW9yeSBhbGxvY2F0b3JzIGFuZCBkZWFsbG9jYXRvcnMsIHBhZ2UgZmF1bHQKICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS4KICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgJiMzNDtmb2N1c2VkJiMzNDssCiAgd2hpY2ggc2V2ZXJlbHkgZGlsdXRlcyBmdXp6aW5nIGVmZm9ydCBhd2F5IGZyb20gdGhlIGFjdHVhbCBjaGFuZ2VzLgoKLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6CiAgTGlzdCBmdW5jdGlvbnMgdGhhdCBzcGVjaWZpY2FsbHkgaW1wbGVtZW50IHRoZSBsb2dpYyBiZWluZyBhZGRlZCBvciBhbHRlcmVkLCBvciBkaXJlY3QgQVBJIGVudHJ5cG9pbnRzCiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuCgotIEhBTkRMSU5HIFNUQVRJQyBJTkxJTkUgRlVOQ1RJT05TIElOIEhFQURFUlMgKC5oKToKICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrCiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuCiAgSWYgdGhlIGNoYW5nZXMgYXJlIHByaW1hcmlseSBpbiBzdGF0aWMgaW5saW5lIGhlbHBlcnMsIGlkZW50aWZ5IG5vbi1zdGF0aWMsIGZlYXR1cmUtc3BlY2lmaWMgY2FsbGVyCiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IGNvbXBpbGUgYW5kIHJlYWNoIHRoZSBtb2RpZmllZCBjb2RlOgotIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCi0gQ2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC4KLSBTdHJpcCBhbnkgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+VGFyZ2V0IGFyY2hpdGVjdHVyZTogYW1kNjQKCkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMDAyN2E5MThhNDE1ZmMwNDJkYTlhN2FmMTI3ZjY2ZDk0MDViN2Y2MQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgU2VwIDkgMjE6Mzg6MjUgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZSBiL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlCmluZGV4IGIwZjcxNjhlNzk0MzIuLjFjYWM0NTA4ZWIwYzIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlCkBAIC0xMjUsNiAmIzQzOzEyNSw3IEBAIEZFQVRVUkVfVEVTVFMgJiM0Mzs9IGxpYmNhcAogRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliYmZkCiBGRUFUVVJFX1RFU1RTICYjNDM7PSBsaWJiZmQtbGliZXJ0eQogRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliYmZkLWxpYmVydHktegomIzQzO0ZFQVRVUkVfVEVTVFMgJiM0Mzs9IGxpYmJmZC1saWJlcnR5LXotenN0ZAogRkVBVFVSRV9URVNUUyAmIzQzOz0gZGlzYXNzZW1ibGVyLWZvdXItYXJncwogRkVBVFVSRV9URVNUUyAmIzQzOz0gZGlzYXNzZW1ibGVyLWluaXQtc3R5bGVkCiBGRUFUVVJFX1RFU1RTICYjNDM7PSBsaWJlbGYtenN0ZApAQCAtMTM1LDYgJiM0MzsxMzYsNyBAQCBGRUFUVVJFX0RJU1BMQVkgJiM0Mzs9IGxpYmNhcAogRkVBVFVSRV9ESVNQTEFZICYjNDM7PSBsaWJiZmQKIEZFQVRVUkVfRElTUExBWSAmIzQzOz0gbGliYmZkLWxpYmVydHkKIEZFQVRVUkVfRElTUExBWSAmIzQzOz0gbGliYmZkLWxpYmVydHktegomIzQzO0ZFQVRVUkVfRElTUExBWSAmIzQzOz0gbGliYmZkLWxpYmVydHktei16c3RkCiBlbmRpZgogCiBjaGVja19mZWF0IDo9IDEKQEAgLTIwMSw2ICYjNDM7MjAzLDggQEAgZWxzZQogICAgIExJQlMgJiM0Mzs9IC1sYmZkIC1sZGwgLWxvcGNvZGVzIC1saWJlcnR5CiAgIGVsc2UgaWZlcSAoJChmZWF0dXJlLWxpYmJmZC1saWJlcnR5LXopLDEpCiAgICAgTElCUyAmIzQzOz0gLWxiZmQgLWxkbCAtbG9wY29kZXMgLWxpYmVydHkgLWx6CiYjNDM7ICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16LXpzdGQpLDEpCiYjNDM7ICAgIExJQlMgJiM0Mzs9IC1sYmZkIC1sZGwgLWxvcGNvZGVzIC1saWJlcnR5IC1seiAtbHpzdGQKICAgZW5kaWYKIAogICAjIElmIG9uZSBvZiB0aGUgYWJvdmUgZmVhdHVyZSBjb21iaW5hdGlvbnMgaXMgc2V0LCB3ZSBzdXBwb3J0IGxpYmJmZApkaWZmIC0tZ2l0IGEvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZSBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmUKaW5kZXggOTllYjBlYTA5NTM3NS4uMTI2OGFjNmYxMzBlZiAxMDA2NDQKLS0tIGEvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZQomIzQzOyYjNDM7JiM0MzsgYi90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlCkBAIC0xMjEsNiAmIzQzOzEyMSw3IEBAIEZFQVRVUkVfVEVTVFNfRVhUUkEgOj0gICAgICAgICAgICAgICAgICBcCiAgICAgICAgICBsaWJjaGVjayAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgbGliYmZkLWxpYmVydHkgICAgICAgICAgICAgICAgIFwKICAgICAgICAgIGxpYmJmZC1saWJlcnR5LXogICAgICAgICAgICAgICBcCiYjNDM7ICAgICAgICAgbGliYmZkLWxpYmVydHktei16c3RkICAgICAgICAgIFwKICAgICAgICAgIGxpYm9wZW5jc2QgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICBsaWJwZXJsICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgbGx2bSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTE2MSw3ICYjNDM7MTYyLDcgQEAgRkVBVFVSRV9ESVNQTEFZID89ICAgICAgICAgICAgICBcCiAjIERlY2xhcmUgZ3JvdXAgbWVtYmVycyBvZiBhIGZlYXR1cmUgdG8gZGlzcGxheSB0aGUgbG9naWNhbCBPUiBvZiB0aGUgZGV0ZWN0aW9uCiAjIHJlc3VsdCBpbnN0ZWFkIG9mIGVhY2ggbWVtYmVyIHJlc3VsdC4KICMKLUZFQVRVUkVfR1JPVVBfTUVNQkVSUy1saWJiZmQgPSBsaWJiZmQtbGliZXJ0eSBsaWJiZmQtbGliZXJ0eS16CiYjNDM7RkVBVFVSRV9HUk9VUF9NRU1CRVJTLWxpYmJmZCA9IGxpYmJmZC1saWJlcnR5IGxpYmJmZC1saWJlcnR5LXogbGliYmZkLWxpYmVydHktei16c3RkCiAKICMKICMgRGVjbGFyZSBsaXN0IG9mIGZlYXR1cmUgZGVwZW5kZW5jeSBwYWNrYWdlcyB0aGF0IHByb3ZpZGUgcGtnLWNvbmZpZyBmaWxlcy4KZGlmZiAtLWdpdCBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGUgYi90b29scy9idWlsZC9mZWF0dXJlL01ha2VmaWxlCmluZGV4IDdkMTY1MDE4MTE2YTUuLjQxMDk4N2RmM2E0ODggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGUKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZQpAQCAtMjEsNiAmIzQzOzIxLDcgQEAgRklMRVM9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgdGVzdC1yZWFsbG9jYXJyYXkuYmluCQkJXAogICAgICAgICAgdGVzdC1saWJiZmQtbGliZXJ0eS5iaW4gICAgICAgICAgICAgICAgXAogICAgICAgICAgdGVzdC1saWJiZmQtbGliZXJ0eS16LmJpbiAgICAgICAgICAgICAgXAomIzQzOyAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbiAgICAgICAgIFwKICAgICAgICAgIHRlc3QtY3BsdXMtZGVtYW5nbGUuYmluICAgICAgICAgICAgICAgIFwKICAgICAgICAgIHRlc3QtY3hhLWRlbWFuZ2xlLmJpbiAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgIHRlc3QtbGliY2FwLmJpbgkJCVwKQEAgLTI3MiwxNSAmIzQzOzI3MywxNyBAQCAkKE9VVFBVVCl0ZXN0LWxpYmJmZC5iaW46CiAJJChCVUlMRF9CRkQpCiAKICQoT1VUUFVUKXRlc3QtbGliYmZkLXRocmVhZHNhZmUuYmluOgotCSQoQlVJTERfQkZEKSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IC1segomIzQzOwkkKEJVSUxEX0JGRCkgfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHogfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IC1seiAtbHpzdGQKIAogJChPVVRQVVQpdGVzdC1kaXNhc3NlbWJsZXItZm91ci1hcmdzLmJpbjoKIAkkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXAotCSQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6CiYjNDM7CSQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IHx8IFwKJiM0MzsJJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkCiAKICQoT1VUUFVUKXRlc3QtZGlzYXNzZW1ibGVyLWluaXQtc3R5bGVkLmJpbjoKIAkkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXAotCSQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6CiYjNDM7CSQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IHx8IFwKJiM0MzsJJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkCiAKICQoT1VUUFVUKXRlc3QtcmVhbGxvY2FycmF5LmJpbjoKIAkkKEJVSUxEKQpAQCAtMjkxLDYgJiM0MzsyOTQsOSBAQCAkKE9VVFBVVCl0ZXN0LWxpYmJmZC1saWJlcnR5LmJpbjoKICQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei5iaW46CiAJJChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9JiMzOTsmIzM0O3BlcmYmIzM0OyYjMzk7ICQoTERGTEFHUykgLWxiZmQgLWxkbCAtbGliZXJ0eSAtbHoKIAomIzQzOyQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbjoKJiM0MzsJJChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9JiMzOTsmIzM0O3BlcmYmIzM0OyYjMzk7ICQoTERGTEFHUykgLWxiZmQgLWxkbCAtbGliZXJ0eSAtbHogLWx6c3RkCiYjNDM7CiAkKE9VVFBVVCl0ZXN0LWNwbHVzLWRlbWFuZ2xlLmJpbjoKIAkkKEJVSUxEKSAtbGliZXJ0eQogCmRpZmYgLS1naXQgYS90b29scy9vYmp0b29sL01ha2VmaWxlIGIvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZQppbmRleCBhNDQ4NGZkMjJhOTZkLi4xNDFiOTU3YzU2NmIwIDEwMDY0NAotLS0gYS90b29scy9vYmp0b29sL01ha2VmaWxlCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL29ianRvb2wvTWFrZWZpbGUKQEAgLTg4LDcgJiM0Mzs4OCw4IEBAIExJQk9QQ09ERVNfTElCUyA6PSAkKHNoZWxsIFwKIAlmb3IgbGlicyBpbiAmIzM0Oy1sb3Bjb2RlcyYjMzQ7IFwKIAkJICAgICYjMzQ7LWxvcGNvZGVzIC1sYmZkJiMzNDsgXAogCQkgICAgJiMzNDstbG9wY29kZXMgLWxiZmQgLWxpYmVydHkmIzM0OyBcCi0JCSAgICAmIzM0Oy1sb3Bjb2RlcyAtbGJmZCAtbGliZXJ0eSAtbHomIzM0OzsgZG8gXAomIzQzOwkJICAgICYjMzQ7LWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5IC1seiYjMzQ7IFwKJiM0MzsJCSAgICAmIzM0Oy1sb3Bjb2RlcyAtbGJmZCAtbGliZXJ0eSAtbHogLWx6c3RkJiMzNDs7IGRvIFwKIAkJZWNobyAmIzM5O2V4dGVybiB2b2lkIGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCh2b2lkICopOyYjMzk7IFwKIAkJICAgICAmIzM5O2ludCBtYWluKHZvaWQpIHsgZGlzYXNzZW1ibGVfaW5pdF9mb3JfdGFyZ2V0KDApOyByZXR1cm4gMDsgfSYjMzk7IHwgXAogCQkJJChIT1NUQ0MpIC14YyAtIC1vIC9kZXYvbnVsbCAkJGxpYnMgMiZndDsvZGV2L251bGwgJmFtcDsmYW1wOyBcCmRpZmYgLS1naXQgYS90b29scy9wZXJmL01ha2VmaWxlLmNvbmZpZyBiL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnCmluZGV4IDRkNTk5M2RhOWY5NDUuLmY1ODlhNDYxZjRiZTYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnCkBAIC04OTMsNiAmIzQzOzg5Myw3IEBAIGlmZGVmIEJVSUxEX05PTkRJU1RSTwogICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJiZmQtdGhyZWFkc2FmZSkKICAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHkpCiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC1saWJlcnR5LXopCiYjNDM7ICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJiZmQtbGliZXJ0eS16LXpzdGQpCiAKICAgaWZuZXEgKCQoZmVhdHVyZS1saWJiZmQtdGhyZWFkc2FmZSksIDEpCiAgICAgJChlcnJvciBiaW51dGlscy1kZXYoZWwpIDIuNDIgb3IgbGF0ZXIgaXMgcmVxdWlyZWQgZm9yIG5vbi1kaXN0cm8gYnVpbGRzKQpAQCAtOTA2LDYgJiM0Mzs5MDcsOCBAQCBpZmRlZiBCVUlMRF9OT05ESVNUUk8KICAgICBFWFRMSUJTICYjNDM7PSAtbGJmZCAtbG9wY29kZXMgLWxpYmVydHkKICAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHkteiksIDEpCiAgICAgRVhUTElCUyAmIzQzOz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5IC1segomIzQzOyAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHktei16c3RkKSwgMSkKJiM0MzsgICAgRVhUTElCUyAmIzQzOz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5IC1seiAtbHpzdGQKICAgZW5kaWYKIAogICBDRkxBR1MgJiM0Mzs9IC1ESEFWRV9MSUJCRkRfU1VQUE9SVAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAyMTozODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NzUyCgkJCQkJCQlvdXRwdXQ6IDk3CgkJCQkJCQl0aG91Z2h0czogMzk0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggYWZmZWN0cyBhIGJ1bmNoIG9mIE1ha2VmaWxlcywgc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgYHRvb2xzL2AgZGlyZWN0b3J5LiBJIHNlZSBpdCYjMzk7cyB0b3VjaGluZyBgYnBmdG9vbGAsIGBidWlsZGAsIGBvYmp0b29sYCwgYW5kIGBwZXJmYCAtIGFsbCB1c2VyLXNwYWNlIHRvb2xpbmcuIE15IGluaXRpYWwgdGhvdWdodCwgYmFzZWQgb24gdGhlIHRyaWFnZSBndWlkZWxpbmVzLCBpcyB0aGF0IHRoaXMgaXMgdW5saWtlbHkgdG8gd2FycmFudCBmdXp6aW5nLCBzaW5jZSB0aGVzZSBmaWxlcyBkb24mIzM5O3QgZGlyZWN0bHkgaW1wYWN0IHRoZSBrZXJuZWwgaW1hZ2Ugb3IgbW9kdWxlcy4gVGhlIGd1aWRlbGluZXMgc3RhdGUgY2xlYXJseSB0aGF0IGNoYW5nZXMgd2l0aGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgbGlrZSBgdG9vbHMvYCB0aGF0ICpkb24mIzM5O3QqIGFmZmVjdCB0aGUga2VybmVsIHNob3VsZCBiZSBtYXJrZWQgYXMgbm90IHdvcnRoIGZ1enppbmcuCgpOb3csIEkgbmVlZCB0byBiZSAqYWJzb2x1dGVseSogc3VyZS4gTGV0IG1lIGRvdWJsZS1jaGVjayB0aGUgYG9ianRvb2xgIGNoYW5nZXMsIGFzIHNvbWV0aW1lcyBhIHNlZW1pbmdseSBidWlsZC10aW1lIHRvb2wgY2FuIGluZGlyZWN0bHkgYWZmZWN0IHRoZSBrZXJuZWwuIExvb2tzIGxpa2UgdGhlIGNoYW5nZSBpbnZvbHZlcyBhZGRpbmcgYC1senN0ZGAgc3VwcG9ydCBkdXJpbmcgbGlua2luZyB3aXRoIGBsaWJiZmRgIGFuZCBgbGlib3Bjb2Rlc2AgZm9yIGZlYXR1cmUgZGV0ZWN0aW9uIGFuZCBsaW5raW5nIG9mIHRoZXNlIHRvb2xzLiBBaGEsIGl0JiMzOTtzIGFib3V0IG1ha2luZyB0aGVzZSB0b29scyAqYnVpbGQqIGJldHRlciwgbm90IGNoYW5naW5nIGFueSBrZXJuZWwgQyBjb2RlIG9yIGltcGFjdGluZyBydW50aW1lIGJlaGF2aW91ci4gVGhlcmVmb3JlLCAqKldvcnRoRnV6emluZyA9IGZhbHNlKiouIE5vIGtlcm5lbCBjb2RlIGhhcyBiZWVuIGNoYW5nZWQuCgpTbywgbGV0JiMzOTtzIGNvbmZpcm0gdGhlIHBhcmFtZXRlcnMgSSYjMzk7bSBwYXNzaW5nIHRvIGBzZXQtcmVzdWx0c2A6CgoqICAgKipXb3J0aEZ1enppbmcqKjogYGZhbHNlYAoqICAgKipFbmFibGVDb25maWdzKio6IGBbXWAgKGVtcHR5IGFycmF5KQoqICAgKipGb2N1c1N5bWJvbHMqKjogYFtdYCAoZW1wdHkgYXJyYXkpCiogICAqKlJlYXNvbmluZyoqOiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGJ1aWxkIGNvbmZpZ3VyYXRpb25zIGFuZCBNYWtlZmlsZXMgaW4gdXNlci1zcGFjZSB0b29scyAodG9vbHMvYnBmL2JwZnRvb2wsIHRvb2xzL2J1aWxkLCB0b29scy9vYmp0b29sLCB0b29scy9wZXJmKSB0byBzdXBwb3J0IGxpbmtpbmcgbGliYmZkL2xpYm9wY29kZXMgd2l0aCB6c3RkLiBJdCBkb2VzIG5vdCBtb2RpZnkgYW55IGtlcm5lbCBleGVjdXRhYmxlIGNvZGUuJiMzNDsKCkFscmlnaHQsIHdpdGggdGhhdCBjb25maXJtZWQsIEkmIzM5O20gcmVhZHkgdG8gY2FsbCBgc2V0LXJlc3VsdHNgLiBJdCYjMzk7cyBhIGNsZWFyICYjMzQ7bm8mIzM0OyBvbiB0aGlzIG9uZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAyMTozODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgYnVpbGQgY29uZmlndXJhdGlvbnMgYW5kIE1ha2VmaWxlcyBpbiB1c2VyLXNwYWNlIGRpcmVjdG9yaWVzIHVuZGVyIHRvb2xzLyAodG9vbHMvYnBmL2JwZnRvb2wsIHRvb2xzL2J1aWxkLCB0b29scy9vYmp0b29sLCB0b29scy9wZXJmKSB0byBzdXBwb3J0IGxpbmtpbmcgd2l0aCAtbHpzdGQgd2hlbiBkZXRlY3RpbmcgYW5kIHVzaW5nIGxpYmJmZC9saWJvcGNvZGVzLiBObyBleGVjdXRhYmxlIGtlcm5lbCBjb2RlIGlzIG1vZGlmaWVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDIxOjM4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOS0wOVQyMTozODoyNi4yNzMwMTM5OTRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NzM5MDMzNDc0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQyMTozODoyNi4yNzUwNzg1MjRaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjgxMzQ3NjM2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDAwMjdhOTE4YTQxNWZjMDQyZGE5YTdhZjEyN2Y2NmQ5NDA1YjdmNjFcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFdlZCBTZXAgOSAyMTozODoyNSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZSBiL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlXFxuaW5kZXggYjBmNzE2OGU3OTQzMi4uMWNhYzQ1MDhlYjBjMiAxMDA2NDRcXG4tLS0gYS90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZVxcbisrKyBiL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlXFxuQEAgLTEyNSw2ICsxMjUsNyBAQCBGRUFUVVJFX1RFU1RTICs9IGxpYmNhcFxcbiBGRUFUVVJFX1RFU1RTICs9IGxpYmJmZFxcbiBGRUFUVVJFX1RFU1RTICs9IGxpYmJmZC1saWJlcnR5XFxuIEZFQVRVUkVfVEVTVFMgKz0gbGliYmZkLWxpYmVydHktelxcbitGRUFUVVJFX1RFU1RTICs9IGxpYmJmZC1saWJlcnR5LXotenN0ZFxcbiBGRUFUVVJFX1RFU1RTICs9IGRpc2Fzc2VtYmxlci1mb3VyLWFyZ3NcXG4gRkVBVFVSRV9URVNUUyArPSBkaXNhc3NlbWJsZXItaW5pdC1zdHlsZWRcXG4gRkVBVFVSRV9URVNUUyArPSBsaWJlbGYtenN0ZFxcbkBAIC0xMzUsNiArMTM2LDcgQEAgRkVBVFVSRV9ESVNQTEFZICs9IGxpYmNhcFxcbiBGRUFUVVJFX0RJU1BMQVkgKz0gbGliYmZkXFxuIEZFQVRVUkVfRElTUExBWSArPSBsaWJiZmQtbGliZXJ0eVxcbiBGRUFUVVJFX0RJU1BMQVkgKz0gbGliYmZkLWxpYmVydHktelxcbitGRUFUVVJFX0RJU1BMQVkgKz0gbGliYmZkLWxpYmVydHktei16c3RkXFxuIGVuZGlmXFxuIFxcbiBjaGVja19mZWF0IDo9IDFcXG5AQCAtMjAxLDYgKzIwMyw4IEBAIGVsc2VcXG4gICAgIExJQlMgKz0gLWxiZmQgLWxkbCAtbG9wY29kZXMgLWxpYmVydHlcXG4gICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16KSwxKVxcbiAgICAgTElCUyArPSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcXG4rICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16LXpzdGQpLDEpXFxuKyAgICBMSUJTICs9IC1sYmZkIC1sZGwgLWxvcGNvZGVzIC1saWJlcnR5IC1seiAtbHpzdGRcXG4gICBlbmRpZlxcbiBcXG4gICAjIElmIG9uZSBvZiB0aGUgYWJvdmUgZmVhdHVyZSBjb21iaW5hdGlvbnMgaXMgc2V0LCB3ZSBzdXBwb3J0IGxpYmJmZFxcbmRpZmYgLS1naXQgYS90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlIGIvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZVxcbmluZGV4IDk5ZWIwZWEwOTUzNzUuLjEyNjhhYzZmMTMwZWYgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZVxcbisrKyBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmVcXG5AQCAtMTIxLDYgKzEyMSw3IEBAIEZFQVRVUkVfVEVTVFNfRVhUUkEgOj0gICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYmNoZWNrICAgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYmJmZC1saWJlcnR5ICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYmJmZC1saWJlcnR5LXogICAgICAgICAgICAgICBcXFxcXFxuKyAgICAgICAgIGxpYmJmZC1saWJlcnR5LXotenN0ZCAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYm9wZW5jc2QgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYnBlcmwgICAgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxsdm0gICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuQEAgLTE2MSw3ICsxNjIsNyBAQCBGRUFUVVJFX0RJU1BMQVkgPz0gICAgICAgICAgICAgIFxcXFxcXG4gIyBEZWNsYXJlIGdyb3VwIG1lbWJlcnMgb2YgYSBmZWF0dXJlIHRvIGRpc3BsYXkgdGhlIGxvZ2ljYWwgT1Igb2YgdGhlIGRldGVjdGlvblxcbiAjIHJlc3VsdCBpbnN0ZWFkIG9mIGVhY2ggbWVtYmVyIHJlc3VsdC5cXG4gI1xcbi1GRUFUVVJFX0dST1VQX01FTUJFUlMtbGliYmZkID0gbGliYmZkLWxpYmVydHkgbGliYmZkLWxpYmVydHktelxcbitGRUFUVVJFX0dST1VQX01FTUJFUlMtbGliYmZkID0gbGliYmZkLWxpYmVydHkgbGliYmZkLWxpYmVydHkteiBsaWJiZmQtbGliZXJ0eS16LXpzdGRcXG4gXFxuICNcXG4gIyBEZWNsYXJlIGxpc3Qgb2YgZmVhdHVyZSBkZXBlbmRlbmN5IHBhY2thZ2VzIHRoYXQgcHJvdmlkZSBwa2ctY29uZmlnIGZpbGVzLlxcbmRpZmYgLS1naXQgYS90b29scy9idWlsZC9mZWF0dXJlL01ha2VmaWxlIGIvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxcbmluZGV4IDdkMTY1MDE4MTE2YTUuLjQxMDk4N2RmM2E0ODggMTAwNjQ0XFxuLS0tIGEvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxcbisrKyBiL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGVcXG5AQCAtMjEsNiArMjEsNyBAQCBGSUxFUz0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIHRlc3QtcmVhbGxvY2FycmF5LmJpblxcdFxcdFxcdFxcXFxcXG4gICAgICAgICAgdGVzdC1saWJiZmQtbGliZXJ0eS5iaW4gICAgICAgICAgICAgICAgXFxcXFxcbiAgICAgICAgICB0ZXN0LWxpYmJmZC1saWJlcnR5LXouYmluICAgICAgICAgICAgICBcXFxcXFxuKyAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbiAgICAgICAgIFxcXFxcXG4gICAgICAgICAgdGVzdC1jcGx1cy1kZW1hbmdsZS5iaW4gICAgICAgICAgICAgICAgXFxcXFxcbiAgICAgICAgICB0ZXN0LWN4YS1kZW1hbmdsZS5iaW4gICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIHRlc3QtbGliY2FwLmJpblxcdFxcdFxcdFxcXFxcXG5AQCAtMjcyLDE1ICsyNzMsMTcgQEAgJChPVVRQVVQpdGVzdC1saWJiZmQuYmluOlxcbiBcXHQkKEJVSUxEX0JGRClcXG4gXFxuICQoT1VUUFVUKXRlc3QtbGliYmZkLXRocmVhZHNhZmUuYmluOlxcbi1cXHQkKEJVSUxEX0JGRCkgfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHpcXG4rXFx0JChCVUlMRF9CRkQpIHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgLWx6IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHogLWx6c3RkXFxuIFxcbiAkKE9VVFBVVCl0ZXN0LWRpc2Fzc2VtYmxlci1mb3VyLWFyZ3MuYmluOlxcbiBcXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXFxcXFxcbi1cXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1selxcbitcXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxcXFxuK1xcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxcbiBcXG4gJChPVVRQVVQpdGVzdC1kaXNhc3NlbWJsZXItaW5pdC1zdHlsZWQuYmluOlxcbiBcXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXFxcXFxcbi1cXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1selxcbitcXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxcXFxuK1xcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxcbiBcXG4gJChPVVRQVVQpdGVzdC1yZWFsbG9jYXJyYXkuYmluOlxcbiBcXHQkKEJVSUxEKVxcbkBAIC0yOTEsNiArMjk0LDkgQEAgJChPVVRQVVQpdGVzdC1saWJiZmQtbGliZXJ0eS5iaW46XFxuICQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei5iaW46XFxuIFxcdCQoQ0MpICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vICRAIHRlc3QtbGliYmZkLmMgLURQQUNLQUdFPSdcXFwicGVyZlxcXCInICQoTERGTEFHUykgLWxiZmQgLWxkbCAtbGliZXJ0eSAtbHpcXG4gXFxuKyQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbjpcXG4rXFx0JChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9J1xcXCJwZXJmXFxcIicgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1seiAtbHpzdGRcXG4rXFxuICQoT1VUUFVUKXRlc3QtY3BsdXMtZGVtYW5nbGUuYmluOlxcbiBcXHQkKEJVSUxEKSAtbGliZXJ0eVxcbiBcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZSBiL3Rvb2xzL29ianRvb2wvTWFrZWZpbGVcXG5pbmRleCBhNDQ4NGZkMjJhOTZkLi4xNDFiOTU3YzU2NmIwIDEwMDY0NFxcbi0tLSBhL3Rvb2xzL29ianRvb2wvTWFrZWZpbGVcXG4rKysgYi90b29scy9vYmp0b29sL01ha2VmaWxlXFxuQEAgLTg4LDcgKzg4LDggQEAgTElCT1BDT0RFU19MSUJTIDo9ICQoc2hlbGwgXFxcXFxcbiBcXHRmb3IgbGlicyBpbiBcXFwiLWxvcGNvZGVzXFxcIiBcXFxcXFxuIFxcdFxcdCAgICBcXFwiLWxvcGNvZGVzIC1sYmZkXFxcIiBcXFxcXFxuIFxcdFxcdCAgICBcXFwiLWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5XFxcIiBcXFxcXFxuLVxcdFxcdCAgICBcXFwiLWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5IC1selxcXCI7IGRvIFxcXFxcXG4rXFx0XFx0ICAgIFxcXCItbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6XFxcIiBcXFxcXFxuK1xcdFxcdCAgICBcXFwiLWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5IC1seiAtbHpzdGRcXFwiOyBkbyBcXFxcXFxuIFxcdFxcdGVjaG8gJ2V4dGVybiB2b2lkIGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCh2b2lkICopOycgXFxcXFxcbiBcXHRcXHQgICAgICdpbnQgbWFpbih2b2lkKSB7IGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCgwKTsgcmV0dXJuIDA7IH0nIHwgXFxcXFxcbiBcXHRcXHRcXHQkKEhPU1RDQykgLXhjIC0gLW8gL2Rldi9udWxsICQkbGlicyAyXFx1MDAzZS9kZXYvbnVsbCBcXHUwMDI2XFx1MDAyNiBcXFxcXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnIGIvdG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWdcXG5pbmRleCA0ZDU5OTNkYTlmOTQ1Li5mNTg5YTQ2MWY0YmU2IDEwMDY0NFxcbi0tLSBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnXFxuKysrIGIvdG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWdcXG5AQCAtODkzLDYgKzg5Myw3IEBAIGlmZGVmIEJVSUxEX05PTkRJU1RST1xcbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC10aHJlYWRzYWZlKVxcbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC1saWJlcnR5KVxcbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC1saWJlcnR5LXopXFxuKyAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHktei16c3RkKVxcbiBcXG4gICBpZm5lcSAoJChmZWF0dXJlLWxpYmJmZC10aHJlYWRzYWZlKSwgMSlcXG4gICAgICQoZXJyb3IgYmludXRpbHMtZGV2KGVsKSAyLjQyIG9yIGxhdGVyIGlzIHJlcXVpcmVkIGZvciBub24tZGlzdHJvIGJ1aWxkcylcXG5AQCAtOTA2LDYgKzkwNyw4IEBAIGlmZGVmIEJVSUxEX05PTkRJU1RST1xcbiAgICAgRVhUTElCUyArPSAtbGJmZCAtbG9wY29kZXMgLWxpYmVydHlcXG4gICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16KSwgMSlcXG4gICAgIEVYVExJQlMgKz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5IC1selxcbisgIGVsc2UgaWZlcSAoJChmZWF0dXJlLWxpYmJmZC1saWJlcnR5LXotenN0ZCksIDEpXFxuKyAgICBFWFRMSUJTICs9IC1sYmZkIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkXFxuICAgZW5kaWZcXG4gXFxuICAgQ0ZMQUdTICs9IC1ESEFWRV9MSUJCRkRfU1VQUE9SVFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQyMTozODoyNy4wOTAyNjY4NzJaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJjb3JlIiwiRHVyYXRpb24iOjQ5MjE3Njk1NzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgYnVpbGQgY29uZmlndXJhdGlvbnMgYW5kIE1ha2VmaWxlcyBpbiB1c2VyLXNwYWNlIGRpcmVjdG9yaWVzIHVuZGVyIHRvb2xzLyAodG9vbHMvYnBmL2JwZnRvb2wsIHRvb2xzL2J1aWxkLCB0b29scy9vYmp0b29sLCB0b29scy9wZXJmKSB0byBzdXBwb3J0IGxpbmtpbmcgd2l0aCAtbHpzdGQgd2hlbiBkZXRlY3RpbmcgYW5kIHVzaW5nIGxpYmJmZC9saWJvcGNvZGVzLiBObyBleGVjdXRhYmxlIGtlcm5lbCBjb2RlIGlzIG1vZGlmaWVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIgYW5kIHNlY3VyaXR5IGVuZ2luZWVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBldmFsdWF0ZSB3aGV0aGVyIGl0IHdhcnJhbnRzIGZ1enppbmcgd2l0aCBzeXprYWxsZXIuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIGludGVybmFsIGFzc3VtcHRpb25zLiBZb3UgbXVzdCBhY3RpdmVseSB1c2UgeW91ciBjb2RlIGFjY2Vzc1xudG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC5cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5UaGUgZ29hbCBvZiBwYXRjaCBmdXp6aW5nIGlzIHRvIGRpc2NvdmVyIGNyYXNoZXMsIHJlZ3Jlc3Npb25zLCBleHBvc2VkIGxhdGVudCBidWdzLFxuYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy5cblxuLSBSRUFDSEFCSUxJVFkgSVMgVEhFIFBSSU1BUlkgR0FURTpcbiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZFxuICBlbnZpcm9ubWVudHMgKEdDRSBvciBRRU1VLCB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgZGV2aWNlcyBsaWtlIFVTQiBnYWRnZXRzLCBuZXRkZXYsIHR1bi90YXApLlxuICBJZiB0aGUgbW9kaWZpZWQgY29kZSBpcyBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgKHNlZSBTZWN0aW9uIDIpLCBpdCBNVVNUIE5PVCBiZSBmdXp6ZWQsXG4gIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy5cblxuLSBETyBOT1QgQkxJTkRMWSBUUlVTVCBcIk5PIEZVTkNUSU9OQUwgQ0hBTkdFXCIgKE5GQ0kpIE9SIFwiUkVGQUNUT1JJTkdcIiBDTEFJTVM6XG4gIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgXCJjbGVhbnVwc1wiLCBcInJlZmFjdG9yaW5nc1wiLCBvciBzdGF0ZVxuICBcIk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkXCIuIERvIE5PVCB0YWtlIHRoZXNlIGNsYWltcyBhdCBmYWNlIHZhbHVlLlxuICBDb2RlIHJlZmFjdG9yaW5ncyB0aGF0IHJlYXJyYW5nZSBsb2dpYywgaW50cm9kdWNlIGhlbHBlciBmdW5jdGlvbnMsIG9yIGFsdGVyIHN0YXRlIG1hbmFnZW1lbnRcbiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuXG4gIElmIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUgaXMgbW9kaWZpZWQgb3IgcmVmYWN0b3JlZCwgaXQgTVVTVCBiZSBmdXp6ZWQuXG5cbi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6XG4gIFdoZW4gYSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzIHJ1bnRpbWUgY2hlY2tzIG9yIGFzc2VydGlvbnMgKGUuZy4sIFdBUk5fT04qLCBWTV9XQVJOX09OKixcbiAgQlVHX09OKiwgbG9ja2RlcF9hc3NlcnQqKSBpbiByZWFjaGFibGUgY29kZSBwYXRocywgaXQgZW5mb3JjZXMgbmV3IG9yIHN0cmljdGVyIGludmFyaWFudHMuXG4gIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXJcbiAgYW4gdW51c3VhbCBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zIGNhbiB2aW9sYXRlIGl0LlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMi4gV0hFTiBUTyBSRVRVUk4gV29ydGhGdXp6aW5nPWZhbHNlIChORUdBVElWRSBDUklURVJJQSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOlxuXG4tIE5vbi1rZXJuZWwgYW5kIG5vbi1leGVjdXRhYmxlIGNoYW5nZXM6XG4gICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLlxuICAqIFVzZXItc3BhY2UgZGlyZWN0b3JpZXMsIHNlbGYtdGVzdHMsIHNhbXBsZXMsIG9yIHNjcmlwdHMgKGUuZy4sIHRvb2xzLywgc2FtcGxlcy8sIHNjcmlwdHMvLCB1c3IvKVxuICAgIHRoYXQgZG8gbm90IGFmZmVjdCB0aGUgY29tcGlsZWQga2VybmVsIGltYWdlICh2bWxpbnV4KSBvciBrZXJuZWwgbW9kdWxlcy5cbiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50c1xuICAgIHRoYXQgZG8gbm90IGFsdGVyIGNvbnRyb2wgZmxvdyBvciBkYXRhIHN0cnVjdHVyZXMuXG4gICogQnVpbGQgc3lzdGVtIG9yIEtjb25maWcgY2hhbmdlcyB0aGF0IGRvIG5vdCBhbHRlciBjb21waWxlZCBDIGxvZ2ljLlxuLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6XG4gICogVmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICAgIGlvbmljLCBhbWRncHUpIHJlcXVpcmluZyBwaHlzaWNhbCBBU0lDL1BDSWUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczpcbiAgKiBEcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzICgucmVtb3ZlLCAuc2h1dGRvd24sIHBjaV91bnJlZ2lzdGVyX2RyaXZlcikgZXhlY3V0ZWQgb25seSBkdXJpbmdcbiAgICBwaHlzaWNhbCBQQ0kgaG90LXVucGx1ZyBvciBtYW51YWwgc3lzZnMgZHJpdmVyIHVuYmluZGluZy5cbiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4zLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUmV0dXJuIFdvcnRoRnV6emluZz10cnVlIHdoZW5ldmVyIHRoZSBwYXRjaCB0b3VjaGVzIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUsIGluY2x1ZGluZzpcbi0gQ29yZSBTdWJzeXN0ZW1zOlxuICAqIEFueSBsb2dpYyBtb2RpZmljYXRpb25zIGluIG1lbW9yeSBtYW5hZ2VtZW50IChtbS8pLCBzeW5jaHJvbml6YXRpb24vbG9ja2luZyAoa2VybmVsL2xvY2tpbmcvKSxcbiAgICBCUEYsIHNjaGVkdWxlciwgY29yZSBuZXR3b3JraW5nLCBWRlMsIG9yIHN5c2NhbGwgaGFuZGxpbmcuXG4tIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczpcbiAgKiBBbnkgcmVzdHJ1Y3R1cmluZyBvZiByZWFjaGFibGUgZGF0YSBzdHJ1Y3R1cmVzLCBoZWxwZXIgYWJzdHJhY3Rpb25zLCBvciBhbGdvcml0aG0gZmxvd3MuXG4tIFJ1bnRpbWUgQXNzZXJ0aW9ucyBhbmQgRGVmZW5zaXZlIENoZWNrczpcbiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuXG4tIFJlYWNoYWJsZSBEcml2ZXJzIGFuZCBQcm90b2NvbHM6XG4gICogRHJpdmVycyBhY2Nlc3NpYmxlIHZpYSB2aXJ0dWFsIGJ1c2VzICh2aXJ0aW8sIFVTQiBnYWRnZXQsIGxvb3BiYWNrLCBuZXRsaW5rLCBiaW5kZXIsIHNvY2tldHMsIGV0Yy4pLlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuNC4gRVhUUkFDVElORyBGb2N1c1N5bWJvbHMgKFBSRVZFTlRJTkcgRElMVVRJT04pXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuV2hlbiBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IG11c3QgZXh0cmFjdCBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIGludG8gRm9jdXNTeW1ib2xzIHRvIGd1aWRlIHRoZSBmdXp6ZXI6XG5cbi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOlxuICBEbyBOT1QgbGlzdCBnZW5lcmljLCB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYWxsZWQgYnkgYWxtb3N0IGV2ZXJ5IHByb2dyYW0gaW4gdGhlIGNvcnB1c1xuICAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG86IGdlbmVyYWwgbWVtb3J5IGFsbG9jYXRvcnMgYW5kIGRlYWxsb2NhdG9ycywgcGFnZSBmYXVsdFxuICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS5cbiAgTGlzdGluZyB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYXVzZXMgdGhlIGZ1enplciB0byBjbGFzc2lmeSB0aG91c2FuZHMgb2YgdW5yZWxhdGVkIHRlc3RzIGFzIFwiZm9jdXNlZFwiLFxuICB3aGljaCBzZXZlcmVseSBkaWx1dGVzIGZ1enppbmcgZWZmb3J0IGF3YXkgZnJvbSB0aGUgYWN0dWFsIGNoYW5nZXMuXG5cbi0gVEFSR0VUIFNQRUNJRklDIEZFQVRVUkUgTE9HSUMgQU5EIEVOVFJZUE9JTlRTOlxuICBMaXN0IGZ1bmN0aW9ucyB0aGF0IHNwZWNpZmljYWxseSBpbXBsZW1lbnQgdGhlIGxvZ2ljIGJlaW5nIGFkZGVkIG9yIGFsdGVyZWQsIG9yIGRpcmVjdCBBUEkgZW50cnlwb2ludHNcbiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuXG5cbi0gSEFORExJTkcgU1RBVElDIElOTElORSBGVU5DVElPTlMgSU4gSEVBREVSUyAoLmgpOlxuICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrXG4gIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMgaW4gdm1saW51eCBhbmQgY2Fubm90IGJlIHRhcmdldGVkIGRpcmVjdGx5IGJ5IHN5bWJvbCBjb3ZlcmFnZSBmaWx0ZXJzLlxuICBJZiB0aGUgY2hhbmdlcyBhcmUgcHJpbWFyaWx5IGluIHN0YXRpYyBpbmxpbmUgaGVscGVycywgaWRlbnRpZnkgbm9uLXN0YXRpYywgZmVhdHVyZS1zcGVjaWZpYyBjYWxsZXJcbiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlnc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbklkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgY29tcGlsZSBhbmQgcmVhY2ggdGhlIG1vZGlmaWVkIGNvZGU6XG4tIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4tIENoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncyBuZWVkZWQuXG4tIFN0cmlwIGFueSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJUYXJnZXQgYXJjaGl0ZWN0dXJlOiBhbWQ2NFxuXG5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwMDI3YTkxOGE0MTVmYzA0MmRhOWE3YWYxMjdmNjZkOTQwNWI3ZjYxXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBTZXAgOSAyMTozODoyNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlIGIvdG9vbHMvYnBmL2JwZnRvb2wvTWFrZWZpbGVcbmluZGV4IGIwZjcxNjhlNzk0MzIuLjFjYWM0NTA4ZWIwYzIgMTAwNjQ0XG4tLS0gYS90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZVxuKysrIGIvdG9vbHMvYnBmL2JwZnRvb2wvTWFrZWZpbGVcbkBAIC0xMjUsNiArMTI1LDcgQEAgRkVBVFVSRV9URVNUUyArPSBsaWJjYXBcbiBGRUFUVVJFX1RFU1RTICs9IGxpYmJmZFxuIEZFQVRVUkVfVEVTVFMgKz0gbGliYmZkLWxpYmVydHlcbiBGRUFUVVJFX1RFU1RTICs9IGxpYmJmZC1saWJlcnR5LXpcbitGRUFUVVJFX1RFU1RTICs9IGxpYmJmZC1saWJlcnR5LXotenN0ZFxuIEZFQVRVUkVfVEVTVFMgKz0gZGlzYXNzZW1ibGVyLWZvdXItYXJnc1xuIEZFQVRVUkVfVEVTVFMgKz0gZGlzYXNzZW1ibGVyLWluaXQtc3R5bGVkXG4gRkVBVFVSRV9URVNUUyArPSBsaWJlbGYtenN0ZFxuQEAgLTEzNSw2ICsxMzYsNyBAQCBGRUFUVVJFX0RJU1BMQVkgKz0gbGliY2FwXG4gRkVBVFVSRV9ESVNQTEFZICs9IGxpYmJmZFxuIEZFQVRVUkVfRElTUExBWSArPSBsaWJiZmQtbGliZXJ0eVxuIEZFQVRVUkVfRElTUExBWSArPSBsaWJiZmQtbGliZXJ0eS16XG4rRkVBVFVSRV9ESVNQTEFZICs9IGxpYmJmZC1saWJlcnR5LXotenN0ZFxuIGVuZGlmXG4gXG4gY2hlY2tfZmVhdCA6PSAxXG5AQCAtMjAxLDYgKzIwMyw4IEBAIGVsc2VcbiAgICAgTElCUyArPSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eVxuICAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHkteiksMSlcbiAgICAgTElCUyArPSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcbisgIGVsc2UgaWZlcSAoJChmZWF0dXJlLWxpYmJmZC1saWJlcnR5LXotenN0ZCksMSlcbisgICAgTElCUyArPSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkXG4gICBlbmRpZlxuIFxuICAgIyBJZiBvbmUgb2YgdGhlIGFib3ZlIGZlYXR1cmUgY29tYmluYXRpb25zIGlzIHNldCwgd2Ugc3VwcG9ydCBsaWJiZmRcbmRpZmYgLS1naXQgYS90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlIGIvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZVxuaW5kZXggOTllYjBlYTA5NTM3NS4uMTI2OGFjNmYxMzBlZiAxMDA2NDRcbi0tLSBhL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmVcbisrKyBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmVcbkBAIC0xMjEsNiArMTIxLDcgQEAgRkVBVFVSRV9URVNUU19FWFRSQSA6PSAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGliY2hlY2sgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGliYmZkLWxpYmVydHkgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGliYmZkLWxpYmVydHkteiAgICAgICAgICAgICAgIFxcXG4rICAgICAgICAgbGliYmZkLWxpYmVydHktei16c3RkICAgICAgICAgIFxcXG4gICAgICAgICAgbGlib3BlbmNzZCAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGlicGVybCAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGx2bSAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG5AQCAtMTYxLDcgKzE2Miw3IEBAIEZFQVRVUkVfRElTUExBWSA/PSAgICAgICAgICAgICAgXFxcbiAjIERlY2xhcmUgZ3JvdXAgbWVtYmVycyBvZiBhIGZlYXR1cmUgdG8gZGlzcGxheSB0aGUgbG9naWNhbCBPUiBvZiB0aGUgZGV0ZWN0aW9uXG4gIyByZXN1bHQgaW5zdGVhZCBvZiBlYWNoIG1lbWJlciByZXN1bHQuXG4gI1xuLUZFQVRVUkVfR1JPVVBfTUVNQkVSUy1saWJiZmQgPSBsaWJiZmQtbGliZXJ0eSBsaWJiZmQtbGliZXJ0eS16XG4rRkVBVFVSRV9HUk9VUF9NRU1CRVJTLWxpYmJmZCA9IGxpYmJmZC1saWJlcnR5IGxpYmJmZC1saWJlcnR5LXogbGliYmZkLWxpYmVydHktei16c3RkXG4gXG4gI1xuICMgRGVjbGFyZSBsaXN0IG9mIGZlYXR1cmUgZGVwZW5kZW5jeSBwYWNrYWdlcyB0aGF0IHByb3ZpZGUgcGtnLWNvbmZpZyBmaWxlcy5cbmRpZmYgLS1naXQgYS90b29scy9idWlsZC9mZWF0dXJlL01ha2VmaWxlIGIvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxuaW5kZXggN2QxNjUwMTgxMTZhNS4uNDEwOTg3ZGYzYTQ4OCAxMDA2NDRcbi0tLSBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGVcbisrKyBiL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGVcbkBAIC0yMSw2ICsyMSw3IEBAIEZJTEVTPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgdGVzdC1yZWFsbG9jYXJyYXkuYmluXHRcdFx0XFxcbiAgICAgICAgICB0ZXN0LWxpYmJmZC1saWJlcnR5LmJpbiAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei5iaW4gICAgICAgICAgICAgIFxcXG4rICAgICAgICAgdGVzdC1saWJiZmQtbGliZXJ0eS16LXpzdGQuYmluICAgICAgICAgXFxcbiAgICAgICAgICB0ZXN0LWNwbHVzLWRlbWFuZ2xlLmJpbiAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgIHRlc3QtY3hhLWRlbWFuZ2xlLmJpbiAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgdGVzdC1saWJjYXAuYmluXHRcdFx0XFxcbkBAIC0yNzIsMTUgKzI3MywxNyBAQCAkKE9VVFBVVCl0ZXN0LWxpYmJmZC5iaW46XG4gXHQkKEJVSUxEX0JGRClcbiBcbiAkKE9VVFBVVCl0ZXN0LWxpYmJmZC10aHJlYWRzYWZlLmJpbjpcbi1cdCQoQlVJTERfQkZEKSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IC1selxuK1x0JChCVUlMRF9CRkQpIHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgLWx6IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHogLWx6c3RkXG4gXG4gJChPVVRQVVQpdGVzdC1kaXNhc3NlbWJsZXItZm91ci1hcmdzLmJpbjpcbiBcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgfHwgJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSB8fCBcXFxuLVx0JChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcbitcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IHx8IFxcXG4rXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiAtbHpzdGRcbiBcbiAkKE9VVFBVVCl0ZXN0LWRpc2Fzc2VtYmxlci1pbml0LXN0eWxlZC5iaW46XG4gXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXFxcbi1cdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6XG4rXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxuK1x0JChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkXG4gXG4gJChPVVRQVVQpdGVzdC1yZWFsbG9jYXJyYXkuYmluOlxuIFx0JChCVUlMRClcbkBAIC0yOTEsNiArMjk0LDkgQEAgJChPVVRQVVQpdGVzdC1saWJiZmQtbGliZXJ0eS5iaW46XG4gJChPVVRQVVQpdGVzdC1saWJiZmQtbGliZXJ0eS16LmJpbjpcbiBcdCQoQ0MpICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vICRAIHRlc3QtbGliYmZkLmMgLURQQUNLQUdFPSdcInBlcmZcIicgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1selxuIFxuKyQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbjpcbitcdCQoQ0MpICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vICRAIHRlc3QtbGliYmZkLmMgLURQQUNLQUdFPSdcInBlcmZcIicgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1seiAtbHpzdGRcbitcbiAkKE9VVFBVVCl0ZXN0LWNwbHVzLWRlbWFuZ2xlLmJpbjpcbiBcdCQoQlVJTEQpIC1saWJlcnR5XG4gXG5kaWZmIC0tZ2l0IGEvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZSBiL3Rvb2xzL29ianRvb2wvTWFrZWZpbGVcbmluZGV4IGE0NDg0ZmQyMmE5NmQuLjE0MWI5NTdjNTY2YjAgMTAwNjQ0XG4tLS0gYS90b29scy9vYmp0b29sL01ha2VmaWxlXG4rKysgYi90b29scy9vYmp0b29sL01ha2VmaWxlXG5AQCAtODgsNyArODgsOCBAQCBMSUJPUENPREVTX0xJQlMgOj0gJChzaGVsbCBcXFxuIFx0Zm9yIGxpYnMgaW4gXCItbG9wY29kZXNcIiBcXFxuIFx0XHQgICAgXCItbG9wY29kZXMgLWxiZmRcIiBcXFxuIFx0XHQgICAgXCItbG9wY29kZXMgLWxiZmQgLWxpYmVydHlcIiBcXFxuLVx0XHQgICAgXCItbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6XCI7IGRvIFxcXG4rXHRcdCAgICBcIi1sb3Bjb2RlcyAtbGJmZCAtbGliZXJ0eSAtbHpcIiBcXFxuK1x0XHQgICAgXCItbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6IC1senN0ZFwiOyBkbyBcXFxuIFx0XHRlY2hvICdleHRlcm4gdm9pZCBkaXNhc3NlbWJsZV9pbml0X2Zvcl90YXJnZXQodm9pZCAqKTsnIFxcXG4gXHRcdCAgICAgJ2ludCBtYWluKHZvaWQpIHsgZGlzYXNzZW1ibGVfaW5pdF9mb3JfdGFyZ2V0KDApOyByZXR1cm4gMDsgfScgfCBcXFxuIFx0XHRcdCQoSE9TVENDKSAteGMgLSAtbyAvZGV2L251bGwgJCRsaWJzIDJcdTAwM2UvZGV2L251bGwgXHUwMDI2XHUwMDI2IFxcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWcgYi90b29scy9wZXJmL01ha2VmaWxlLmNvbmZpZ1xuaW5kZXggNGQ1OTkzZGE5Zjk0NS4uZjU4OWE0NjFmNGJlNiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnXG4rKysgYi90b29scy9wZXJmL01ha2VmaWxlLmNvbmZpZ1xuQEAgLTg5Myw2ICs4OTMsNyBAQCBpZmRlZiBCVUlMRF9OT05ESVNUUk9cbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC10aHJlYWRzYWZlKVxuICAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHkpXG4gICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJiZmQtbGliZXJ0eS16KVxuKyAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHktei16c3RkKVxuIFxuICAgaWZuZXEgKCQoZmVhdHVyZS1saWJiZmQtdGhyZWFkc2FmZSksIDEpXG4gICAgICQoZXJyb3IgYmludXRpbHMtZGV2KGVsKSAyLjQyIG9yIGxhdGVyIGlzIHJlcXVpcmVkIGZvciBub24tZGlzdHJvIGJ1aWxkcylcbkBAIC05MDYsNiArOTA3LDggQEAgaWZkZWYgQlVJTERfTk9ORElTVFJPXG4gICAgIEVYVExJQlMgKz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5XG4gICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16KSwgMSlcbiAgICAgRVhUTElCUyArPSAtbGJmZCAtbG9wY29kZXMgLWxpYmVydHkgLWx6XG4rICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16LXpzdGQpLCAxKVxuKyAgICBFWFRMSUJTICs9IC1sYmZkIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkXG4gICBlbmRpZlxuIFxuICAgQ0ZMQUdTICs9IC1ESEFWRV9MSUJCRkRfU1VQUE9SVFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMjE6Mzg6MjcuMDkwMjY5MjUyWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6NDkyMTczMjg2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggYWZmZWN0cyBhIGJ1bmNoIG9mIE1ha2VmaWxlcywgc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgYHRvb2xzL2AgZGlyZWN0b3J5LiBJIHNlZSBpdCdzIHRvdWNoaW5nIGBicGZ0b29sYCwgYGJ1aWxkYCwgYG9ianRvb2xgLCBhbmQgYHBlcmZgIC0gYWxsIHVzZXItc3BhY2UgdG9vbGluZy4gTXkgaW5pdGlhbCB0aG91Z2h0LCBiYXNlZCBvbiB0aGUgdHJpYWdlIGd1aWRlbGluZXMsIGlzIHRoYXQgdGhpcyBpcyB1bmxpa2VseSB0byB3YXJyYW50IGZ1enppbmcsIHNpbmNlIHRoZXNlIGZpbGVzIGRvbid0IGRpcmVjdGx5IGltcGFjdCB0aGUga2VybmVsIGltYWdlIG9yIG1vZHVsZXMuIFRoZSBndWlkZWxpbmVzIHN0YXRlIGNsZWFybHkgdGhhdCBjaGFuZ2VzIHdpdGhpbiB1c2VyLXNwYWNlIGRpcmVjdG9yaWVzIGxpa2UgYHRvb2xzL2AgdGhhdCAqZG9uJ3QqIGFmZmVjdCB0aGUga2VybmVsIHNob3VsZCBiZSBtYXJrZWQgYXMgbm90IHdvcnRoIGZ1enppbmcuXG5cbk5vdywgSSBuZWVkIHRvIGJlICphYnNvbHV0ZWx5KiBzdXJlLiBMZXQgbWUgZG91YmxlLWNoZWNrIHRoZSBgb2JqdG9vbGAgY2hhbmdlcywgYXMgc29tZXRpbWVzIGEgc2VlbWluZ2x5IGJ1aWxkLXRpbWUgdG9vbCBjYW4gaW5kaXJlY3RseSBhZmZlY3QgdGhlIGtlcm5lbC4gTG9va3MgbGlrZSB0aGUgY2hhbmdlIGludm9sdmVzIGFkZGluZyBgLWx6c3RkYCBzdXBwb3J0IGR1cmluZyBsaW5raW5nIHdpdGggYGxpYmJmZGAgYW5kIGBsaWJvcGNvZGVzYCBmb3IgZmVhdHVyZSBkZXRlY3Rpb24gYW5kIGxpbmtpbmcgb2YgdGhlc2UgdG9vbHMuIEFoYSwgaXQncyBhYm91dCBtYWtpbmcgdGhlc2UgdG9vbHMgKmJ1aWxkKiBiZXR0ZXIsIG5vdCBjaGFuZ2luZyBhbnkga2VybmVsIEMgY29kZSBvciBpbXBhY3RpbmcgcnVudGltZSBiZWhhdmlvdXIuIFRoZXJlZm9yZSwgKipXb3J0aEZ1enppbmcgPSBmYWxzZSoqLiBObyBrZXJuZWwgY29kZSBoYXMgYmVlbiBjaGFuZ2VkLlxuXG5TbywgbGV0J3MgY29uZmlybSB0aGUgcGFyYW1ldGVycyBJJ20gcGFzc2luZyB0byBgc2V0LXJlc3VsdHNgOlxuXG4qICAgKipXb3J0aEZ1enppbmcqKjogYGZhbHNlYFxuKiAgICoqRW5hYmxlQ29uZmlncyoqOiBgW11gIChlbXB0eSBhcnJheSlcbiogICAqKkZvY3VzU3ltYm9scyoqOiBgW11gIChlbXB0eSBhcnJheSlcbiogICAqKlJlYXNvbmluZyoqOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGJ1aWxkIGNvbmZpZ3VyYXRpb25zIGFuZCBNYWtlZmlsZXMgaW4gdXNlci1zcGFjZSB0b29scyAodG9vbHMvYnBmL2JwZnRvb2wsIHRvb2xzL2J1aWxkLCB0b29scy9vYmp0b29sLCB0b29scy9wZXJmKSB0byBzdXBwb3J0IGxpbmtpbmcgbGliYmZkL2xpYm9wY29kZXMgd2l0aCB6c3RkLiBJdCBkb2VzIG5vdCBtb2RpZnkgYW55IGtlcm5lbCBleGVjdXRhYmxlIGNvZGUuXCJcblxuQWxyaWdodCwgd2l0aCB0aGF0IGNvbmZpcm1lZCwgSSdtIHJlYWR5IHRvIGNhbGwgYHNldC1yZXN1bHRzYC4gSXQncyBhIGNsZWFyIFwibm9cIiBvbiB0aGlzIG9uZS5cblxuXG4iLCJJbnB1dFRva2VucyI6NDc1MiwiT3V0cHV0VG9rZW5zIjo5NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM5NCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDIxOjM4OjMyLjAxMjAwNDQ5OFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAxOTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGJ1aWxkIGNvbmZpZ3VyYXRpb25zIGFuZCBNYWtlZmlsZXMgaW4gdXNlci1zcGFjZSBkaXJlY3RvcmllcyB1bmRlciB0b29scy8gKHRvb2xzL2JwZi9icGZ0b29sLCB0b29scy9idWlsZCwgdG9vbHMvb2JqdG9vbCwgdG9vbHMvcGVyZikgdG8gc3VwcG9ydCBsaW5raW5nIHdpdGggLWx6c3RkIHdoZW4gZGV0ZWN0aW5nIGFuZCB1c2luZyBsaWJiZmQvbGlib3Bjb2Rlcy4gTm8gZXhlY3V0YWJsZSBrZXJuZWwgY29kZSBpcyBtb2RpZmllZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDIxOjM4OjMyLjAxMjAzODAwOFoiLCJTZXEiOjUsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMDEwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowsb85b[0].run-triage(0) Phase: Succeeded StartedAt: 2026-09-09 21:17:22 +0000 UTC FinishedAt: 2026-09-09 21:38:33 +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+CgkJCTx0ZD4yMDI2LzA5LzA5IDIxOjM4PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDIxOjM4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5yZWFkLXBhdGNoLWRpZmY8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtQYXRjaERpZmYmIzM0OzogJiMzNDtjb21taXQgMDAyN2E5MThhNDE1ZmMwNDJkYTlhN2FmMTI3ZjY2ZDk0MDViN2Y2MVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBXZWQgU2VwIDkgMjE6Mzg6MjUgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvdG9vbHMvYnBmL2JwZnRvb2wvTWFrZWZpbGUgYi90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZVxuaW5kZXggYjBmNzE2OGU3OTQzMi4uMWNhYzQ1MDhlYjBjMiAxMDA2NDRcbi0tLSBhL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZVxuQEAgLTEyNSw2ICYjNDM7MTI1LDcgQEAgRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliY2FwXG4gRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliYmZkXG4gRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliYmZkLWxpYmVydHlcbiBGRUFUVVJFX1RFU1RTICYjNDM7PSBsaWJiZmQtbGliZXJ0eS16XG4mIzQzO0ZFQVRVUkVfVEVTVFMgJiM0Mzs9IGxpYmJmZC1saWJlcnR5LXotenN0ZFxuIEZFQVRVUkVfVEVTVFMgJiM0Mzs9IGRpc2Fzc2VtYmxlci1mb3VyLWFyZ3NcbiBGRUFUVVJFX1RFU1RTICYjNDM7PSBkaXNhc3NlbWJsZXItaW5pdC1zdHlsZWRcbiBGRUFUVVJFX1RFU1RTICYjNDM7PSBsaWJlbGYtenN0ZFxuQEAgLTEzNSw2ICYjNDM7MTM2LDcgQEAgRkVBVFVSRV9ESVNQTEFZICYjNDM7PSBsaWJjYXBcbiBGRUFUVVJFX0RJU1BMQVkgJiM0Mzs9IGxpYmJmZFxuIEZFQVRVUkVfRElTUExBWSAmIzQzOz0gbGliYmZkLWxpYmVydHlcbiBGRUFUVVJFX0RJU1BMQVkgJiM0Mzs9IGxpYmJmZC1saWJlcnR5LXpcbiYjNDM7RkVBVFVSRV9ESVNQTEFZICYjNDM7PSBsaWJiZmQtbGliZXJ0eS16LXpzdGRcbiBlbmRpZlxuIFxuIGNoZWNrX2ZlYXQgOj0gMVxuQEAgLTIwMSw2ICYjNDM7MjAzLDggQEAgZWxzZVxuICAgICBMSUJTICYjNDM7PSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eVxuICAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHkteiksMSlcbiAgICAgTElCUyAmIzQzOz0gLWxiZmQgLWxkbCAtbG9wY29kZXMgLWxpYmVydHkgLWx6XG4mIzQzOyAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHktei16c3RkKSwxKVxuJiM0MzsgICAgTElCUyAmIzQzOz0gLWxiZmQgLWxkbCAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxuICAgZW5kaWZcbiBcbiAgICMgSWYgb25lIG9mIHRoZSBhYm92ZSBmZWF0dXJlIGNvbWJpbmF0aW9ucyBpcyBzZXQsIHdlIHN1cHBvcnQgbGliYmZkXG5kaWZmIC0tZ2l0IGEvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZSBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmVcbmluZGV4IDk5ZWIwZWEwOTUzNzUuLjEyNjhhYzZmMTMwZWYgMTAwNjQ0XG4tLS0gYS90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlXG4mIzQzOyYjNDM7JiM0MzsgYi90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlXG5AQCAtMTIxLDYgJiM0MzsxMjEsNyBAQCBGRUFUVVJFX1RFU1RTX0VYVFJBIDo9ICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICBsaWJjaGVjayAgICAgICAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICBsaWJiZmQtbGliZXJ0eSAgICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICBsaWJiZmQtbGliZXJ0eS16ICAgICAgICAgICAgICAgXFxcbiYjNDM7ICAgICAgICAgbGliYmZkLWxpYmVydHktei16c3RkICAgICAgICAgIFxcXG4gICAgICAgICAgbGlib3BlbmNzZCAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGlicGVybCAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGx2bSAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG5AQCAtMTYxLDcgJiM0MzsxNjIsNyBAQCBGRUFUVVJFX0RJU1BMQVkgPz0gICAgICAgICAgICAgIFxcXG4gIyBEZWNsYXJlIGdyb3VwIG1lbWJlcnMgb2YgYSBmZWF0dXJlIHRvIGRpc3BsYXkgdGhlIGxvZ2ljYWwgT1Igb2YgdGhlIGRldGVjdGlvblxuICMgcmVzdWx0IGluc3RlYWQgb2YgZWFjaCBtZW1iZXIgcmVzdWx0LlxuICNcbi1GRUFUVVJFX0dST1VQX01FTUJFUlMtbGliYmZkID0gbGliYmZkLWxpYmVydHkgbGliYmZkLWxpYmVydHktelxuJiM0MztGRUFUVVJFX0dST1VQX01FTUJFUlMtbGliYmZkID0gbGliYmZkLWxpYmVydHkgbGliYmZkLWxpYmVydHkteiBsaWJiZmQtbGliZXJ0eS16LXpzdGRcbiBcbiAjXG4gIyBEZWNsYXJlIGxpc3Qgb2YgZmVhdHVyZSBkZXBlbmRlbmN5IHBhY2thZ2VzIHRoYXQgcHJvdmlkZSBwa2ctY29uZmlnIGZpbGVzLlxuZGlmZiAtLWdpdCBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGUgYi90b29scy9idWlsZC9mZWF0dXJlL01ha2VmaWxlXG5pbmRleCA3ZDE2NTAxODExNmE1Li40MTA5ODdkZjNhNDg4IDEwMDY0NFxuLS0tIGEvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxuQEAgLTIxLDYgJiM0MzsyMSw3IEBAIEZJTEVTPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgdGVzdC1yZWFsbG9jYXJyYXkuYmluXHRcdFx0XFxcbiAgICAgICAgICB0ZXN0LWxpYmJmZC1saWJlcnR5LmJpbiAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei5iaW4gICAgICAgICAgICAgIFxcXG4mIzQzOyAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbiAgICAgICAgIFxcXG4gICAgICAgICAgdGVzdC1jcGx1cy1kZW1hbmdsZS5iaW4gICAgICAgICAgICAgICAgXFxcbiAgICAgICAgICB0ZXN0LWN4YS1kZW1hbmdsZS5iaW4gICAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgIHRlc3QtbGliY2FwLmJpblx0XHRcdFxcXG5AQCAtMjcyLDE1ICYjNDM7MjczLDE3IEBAICQoT1VUUFVUKXRlc3QtbGliYmZkLmJpbjpcbiBcdCQoQlVJTERfQkZEKVxuIFxuICQoT1VUUFVUKXRlc3QtbGliYmZkLXRocmVhZHNhZmUuYmluOlxuLVx0JChCVUlMRF9CRkQpIHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgLWx6XG4mIzQzO1x0JChCVUlMRF9CRkQpIHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgLWx6IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHogLWx6c3RkXG4gXG4gJChPVVRQVVQpdGVzdC1kaXNhc3NlbWJsZXItZm91ci1hcmdzLmJpbjpcbiBcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgfHwgJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSB8fCBcXFxuLVx0JChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcbiYjNDM7XHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxuJiM0MztcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxuIFxuICQoT1VUUFVUKXRlc3QtZGlzYXNzZW1ibGVyLWluaXQtc3R5bGVkLmJpbjpcbiBcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgfHwgJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSB8fCBcXFxuLVx0JChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcbiYjNDM7XHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxuJiM0MztcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxuIFxuICQoT1VUUFVUKXRlc3QtcmVhbGxvY2FycmF5LmJpbjpcbiBcdCQoQlVJTEQpXG5AQCAtMjkxLDYgJiM0MzsyOTQsOSBAQCAkKE9VVFBVVCl0ZXN0LWxpYmJmZC1saWJlcnR5LmJpbjpcbiAkKE9VVFBVVCl0ZXN0LWxpYmJmZC1saWJlcnR5LXouYmluOlxuIFx0JChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9JiMzOTtcJiMzNDtwZXJmXCYjMzQ7JiMzOTsgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1selxuIFxuJiM0MzskKE9VVFBVVCl0ZXN0LWxpYmJmZC1saWJlcnR5LXotenN0ZC5iaW46XG4mIzQzO1x0JChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9JiMzOTtcJiMzNDtwZXJmXCYjMzQ7JiMzOTsgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1seiAtbHpzdGRcbiYjNDM7XG4gJChPVVRQVVQpdGVzdC1jcGx1cy1kZW1hbmdsZS5iaW46XG4gXHQkKEJVSUxEKSAtbGliZXJ0eVxuIFxuZGlmZiAtLWdpdCBhL3Rvb2xzL29ianRvb2wvTWFrZWZpbGUgYi90b29scy9vYmp0b29sL01ha2VmaWxlXG5pbmRleCBhNDQ4NGZkMjJhOTZkLi4xNDFiOTU3YzU2NmIwIDEwMDY0NFxuLS0tIGEvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZVxuJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZVxuQEAgLTg4LDcgJiM0Mzs4OCw4IEBAIExJQk9QQ09ERVNfTElCUyA6PSAkKHNoZWxsIFxcXG4gXHRmb3IgbGlicyBpbiBcJiMzNDstbG9wY29kZXNcJiMzNDsgXFxcbiBcdFx0ICAgIFwmIzM0Oy1sb3Bjb2RlcyAtbGJmZFwmIzM0OyBcXFxuIFx0XHQgICAgXCYjMzQ7LWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5XCYjMzQ7IFxcXG4tXHRcdCAgICBcJiMzNDstbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6XCYjMzQ7OyBkbyBcXFxuJiM0MztcdFx0ICAgIFwmIzM0Oy1sb3Bjb2RlcyAtbGJmZCAtbGliZXJ0eSAtbHpcJiMzNDsgXFxcbiYjNDM7XHRcdCAgICBcJiMzNDstbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6IC1senN0ZFwmIzM0OzsgZG8gXFxcbiBcdFx0ZWNobyAmIzM5O2V4dGVybiB2b2lkIGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCh2b2lkICopOyYjMzk7IFxcXG4gXHRcdCAgICAgJiMzOTtpbnQgbWFpbih2b2lkKSB7IGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCgwKTsgcmV0dXJuIDA7IH0mIzM5OyB8IFxcXG4gXHRcdFx0JChIT1NUQ0MpIC14YyAtIC1vIC9kZXYvbnVsbCAkJGxpYnMgMlx1MDAzZS9kZXYvbnVsbCBcdTAwMjZcdTAwMjYgXFxcbmRpZmYgLS1naXQgYS90b29scy9wZXJmL01ha2VmaWxlLmNvbmZpZyBiL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnXG5pbmRleCA0ZDU5OTNkYTlmOTQ1Li5mNTg5YTQ2MWY0YmU2IDEwMDY0NFxuLS0tIGEvdG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWdcbiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnXG5AQCAtODkzLDYgJiM0Mzs4OTMsNyBAQCBpZmRlZiBCVUlMRF9OT05ESVNUUk9cbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC10aHJlYWRzYWZlKVxuICAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHkpXG4gICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJiZmQtbGliZXJ0eS16KVxuJiM0MzsgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC1saWJlcnR5LXotenN0ZClcbiBcbiAgIGlmbmVxICgkKGZlYXR1cmUtbGliYmZkLXRocmVhZHNhZmUpLCAxKVxuICAgICAkKGVycm9yIGJpbnV0aWxzLWRldihlbCkgMi40MiBvciBsYXRlciBpcyByZXF1aXJlZCBmb3Igbm9uLWRpc3RybyBidWlsZHMpXG5AQCAtOTA2LDYgJiM0Mzs5MDcsOCBAQCBpZmRlZiBCVUlMRF9OT05ESVNUUk9cbiAgICAgRVhUTElCUyAmIzQzOz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5XG4gICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16KSwgMSlcbiAgICAgRVhUTElCUyAmIzQzOz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5IC1selxuJiM0MzsgIGVsc2UgaWZlcSAoJChmZWF0dXJlLWxpYmJmZC1saWJlcnR5LXotenN0ZCksIDEpXG4mIzQzOyAgICBFWFRMSUJTICYjNDM7PSAtbGJmZCAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxuICAgZW5kaWZcbiBcbiAgIENGTEFHUyAmIzQzOz0gLURIQVZFX0xJQkJGRF9TVVBQT1JUXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDkvMDkgMjE6Mzg8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lciBhbmQgc2VjdXJpdHkgZW5naW5lZXIuCllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZXZhbHVhdGUgd2hldGhlciBpdCB3YXJyYW50cyBmdXp6aW5nIHdpdGggc3l6a2FsbGVyLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiBpbnRlcm5hbCBhc3N1bXB0aW9ucy4gWW91IG11c3QgYWN0aXZlbHkgdXNlIHlvdXIgY29kZSBhY2Nlc3MKdG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIGdvYWwgb2YgcGF0Y2ggZnV6emluZyBpcyB0byBkaXNjb3ZlciBjcmFzaGVzLCByZWdyZXNzaW9ucywgZXhwb3NlZCBsYXRlbnQgYnVncywKYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy4KCi0gUkVBQ0hBQklMSVRZIElTIFRIRSBQUklNQVJZIEdBVEU6CiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZAogIGVudmlyb25tZW50cyAoR0NFIG9yIFFFTVUsIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBkZXZpY2VzIGxpa2UgVVNCIGdhZGdldHMsIG5ldGRldiwgdHVuL3RhcCkuCiAgSWYgdGhlIG1vZGlmaWVkIGNvZGUgaXMgc3RydWN0dXJhbGx5IHVucmVhY2hhYmxlIChzZWUgU2VjdGlvbiAyKSwgaXQgTVVTVCBOT1QgYmUgZnV6emVkLAogIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy4KCi0gRE8gTk9UIEJMSU5ETFkgVFJVU1QgJiMzNDtOTyBGVU5DVElPTkFMIENIQU5HRSYjMzQ7IChORkNJKSBPUiAmIzM0O1JFRkFDVE9SSU5HJiMzNDsgQ0xBSU1TOgogIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgJiMzNDtjbGVhbnVwcyYjMzQ7LCAmIzM0O3JlZmFjdG9yaW5ncyYjMzQ7LCBvciBzdGF0ZQogICYjMzQ7Tm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQmIzM0Oy4gRG8gTk9UIHRha2UgdGhlc2UgY2xhaW1zIGF0IGZhY2UgdmFsdWUuCiAgQ29kZSByZWZhY3RvcmluZ3MgdGhhdCByZWFycmFuZ2UgbG9naWMsIGludHJvZHVjZSBoZWxwZXIgZnVuY3Rpb25zLCBvciBhbHRlciBzdGF0ZSBtYW5hZ2VtZW50CiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuCiAgSWYgcmVhY2hhYmxlIGV4ZWN1dGFibGUgY29kZSBpcyBtb2RpZmllZCBvciByZWZhY3RvcmVkLCBpdCBNVVNUIGJlIGZ1enplZC4KCi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6CiAgV2hlbiBhIHBhdGNoIGludHJvZHVjZXMgb3IgbW9kaWZpZXMgcnVudGltZSBjaGVja3Mgb3IgYXNzZXJ0aW9ucyAoZS5nLiwgV0FSTl9PTiosIFZNX1dBUk5fT04qLAogIEJVR19PTiosIGxvY2tkZXBfYXNzZXJ0KikgaW4gcmVhY2hhYmxlIGNvZGUgcGF0aHMsIGl0IGVuZm9yY2VzIG5ldyBvciBzdHJpY3RlciBpbnZhcmlhbnRzLgogIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXIKICBhbiB1bnVzdWFsIHNlcXVlbmNlIG9mIG9wZXJhdGlvbnMgY2FuIHZpb2xhdGUgaXQuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoyLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9ZmFsc2UgKE5FR0FUSVZFIENSSVRFUklBKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOgoKLSBOb24ta2VybmVsIGFuZCBub24tZXhlY3V0YWJsZSBjaGFuZ2VzOgogICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLgogICogVXNlci1zcGFjZSBkaXJlY3Rvcmllcywgc2VsZi10ZXN0cywgc2FtcGxlcywgb3Igc2NyaXB0cyAoZS5nLiwgdG9vbHMvLCBzYW1wbGVzLywgc2NyaXB0cy8sIHVzci8pCiAgICB0aGF0IGRvIG5vdCBhZmZlY3QgdGhlIGNvbXBpbGVkIGtlcm5lbCBpbWFnZSAodm1saW51eCkgb3Iga2VybmVsIG1vZHVsZXMuCiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50cwogICAgdGhhdCBkbyBub3QgYWx0ZXIgY29udHJvbCBmbG93IG9yIGRhdGEgc3RydWN0dXJlcy4KICAqIEJ1aWxkIHN5c3RlbSBvciBLY29uZmlnIGNoYW5nZXMgdGhhdCBkbyBub3QgYWx0ZXIgY29tcGlsZWQgQyBsb2dpYy4KLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6CiAgKiBWZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2hlcywgU21hcnROSUNzLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgICBpb25pYywgYW1kZ3B1KSByZXF1aXJpbmcgcGh5c2ljYWwgQVNJQy9QQ0llIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLgotIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczoKICAqIERyaXZlciB0ZWFyZG93biBjYWxsYmFja3MgKC5yZW1vdmUsIC5zaHV0ZG93biwgcGNpX3VucmVnaXN0ZXJfZHJpdmVyKSBleGVjdXRlZCBvbmx5IGR1cmluZwogICAgcGh5c2ljYWwgUENJIGhvdC11bnBsdWcgb3IgbWFudWFsIHN5c2ZzIGRyaXZlciB1bmJpbmRpbmcuCiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQozLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZSB3aGVuZXZlciB0aGUgcGF0Y2ggdG91Y2hlcyByZWFjaGFibGUgZXhlY3V0YWJsZSBjb2RlLCBpbmNsdWRpbmc6Ci0gQ29yZSBTdWJzeXN0ZW1zOgogICogQW55IGxvZ2ljIG1vZGlmaWNhdGlvbnMgaW4gbWVtb3J5IG1hbmFnZW1lbnQgKG1tLyksIHN5bmNocm9uaXphdGlvbi9sb2NraW5nIChrZXJuZWwvbG9ja2luZy8pLAogICAgQlBGLCBzY2hlZHVsZXIsIGNvcmUgbmV0d29ya2luZywgVkZTLCBvciBzeXNjYWxsIGhhbmRsaW5nLgotIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczoKICAqIEFueSByZXN0cnVjdHVyaW5nIG9mIHJlYWNoYWJsZSBkYXRhIHN0cnVjdHVyZXMsIGhlbHBlciBhYnN0cmFjdGlvbnMsIG9yIGFsZ29yaXRobSBmbG93cy4KLSBSdW50aW1lIEFzc2VydGlvbnMgYW5kIERlZmVuc2l2ZSBDaGVja3M6CiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuCi0gUmVhY2hhYmxlIERyaXZlcnMgYW5kIFByb3RvY29sczoKICAqIERyaXZlcnMgYWNjZXNzaWJsZSB2aWEgdmlydHVhbCBidXNlcyAodmlydGlvLCBVU0IgZ2FkZ2V0LCBsb29wYmFjaywgbmV0bGluaywgYmluZGVyLCBzb2NrZXRzLCBldGMuKS4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjQuIEVYVFJBQ1RJTkcgRm9jdXNTeW1ib2xzIChQUkVWRU5USU5HIERJTFVUSU9OKQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpXaGVuIFdvcnRoRnV6emluZz10cnVlLCB5b3UgbXVzdCBleHRyYWN0IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgaW50byBGb2N1c1N5bWJvbHMgdG8gZ3VpZGUgdGhlIGZ1enplcjoKCi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOgogIERvIE5PVCBsaXN0IGdlbmVyaWMsIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhbGxlZCBieSBhbG1vc3QgZXZlcnkgcHJvZ3JhbSBpbiB0aGUgY29ycHVzCiAgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvOiBnZW5lcmFsIG1lbW9yeSBhbGxvY2F0b3JzIGFuZCBkZWFsbG9jYXRvcnMsIHBhZ2UgZmF1bHQKICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS4KICBMaXN0aW5nIHViaXF1aXRvdXMgZnVuY3Rpb25zIGNhdXNlcyB0aGUgZnV6emVyIHRvIGNsYXNzaWZ5IHRob3VzYW5kcyBvZiB1bnJlbGF0ZWQgdGVzdHMgYXMgJiMzNDtmb2N1c2VkJiMzNDssCiAgd2hpY2ggc2V2ZXJlbHkgZGlsdXRlcyBmdXp6aW5nIGVmZm9ydCBhd2F5IGZyb20gdGhlIGFjdHVhbCBjaGFuZ2VzLgoKLSBUQVJHRVQgU1BFQ0lGSUMgRkVBVFVSRSBMT0dJQyBBTkQgRU5UUllQT0lOVFM6CiAgTGlzdCBmdW5jdGlvbnMgdGhhdCBzcGVjaWZpY2FsbHkgaW1wbGVtZW50IHRoZSBsb2dpYyBiZWluZyBhZGRlZCBvciBhbHRlcmVkLCBvciBkaXJlY3QgQVBJIGVudHJ5cG9pbnRzCiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuCgotIEhBTkRMSU5HIFNUQVRJQyBJTkxJTkUgRlVOQ1RJT05TIElOIEhFQURFUlMgKC5oKToKICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrCiAgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcyBpbiB2bWxpbnV4IGFuZCBjYW5ub3QgYmUgdGFyZ2V0ZWQgZGlyZWN0bHkgYnkgc3ltYm9sIGNvdmVyYWdlIGZpbHRlcnMuCiAgSWYgdGhlIGNoYW5nZXMgYXJlIHByaW1hcmlseSBpbiBzdGF0aWMgaW5saW5lIGhlbHBlcnMsIGlkZW50aWZ5IG5vbi1zdGF0aWMsIGZlYXR1cmUtc3BlY2lmaWMgY2FsbGVyCiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IGNvbXBpbGUgYW5kIHJlYWNoIHRoZSBtb2RpZmllZCBjb2RlOgotIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCi0gQ2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzIG5lZWRlZC4KLSBTdHJpcCBhbnkgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+VGFyZ2V0IGFyY2hpdGVjdHVyZTogYW1kNjQKCkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOgpjb21taXQgMDAyN2E5MThhNDE1ZmMwNDJkYTlhN2FmMTI3ZjY2ZDk0MDViN2Y2MQpBdXRob3I6IHN5ei1jbHVzdGVyICZsdDt0cmlhZ2VAc3l6a2FsbGVyLmNvbSZndDsKRGF0ZTogICBXZWQgU2VwIDkgMjE6Mzg6MjUgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZSBiL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlCmluZGV4IGIwZjcxNjhlNzk0MzIuLjFjYWM0NTA4ZWIwYzIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlCkBAIC0xMjUsNiAmIzQzOzEyNSw3IEBAIEZFQVRVUkVfVEVTVFMgJiM0Mzs9IGxpYmNhcAogRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliYmZkCiBGRUFUVVJFX1RFU1RTICYjNDM7PSBsaWJiZmQtbGliZXJ0eQogRkVBVFVSRV9URVNUUyAmIzQzOz0gbGliYmZkLWxpYmVydHktegomIzQzO0ZFQVRVUkVfVEVTVFMgJiM0Mzs9IGxpYmJmZC1saWJlcnR5LXotenN0ZAogRkVBVFVSRV9URVNUUyAmIzQzOz0gZGlzYXNzZW1ibGVyLWZvdXItYXJncwogRkVBVFVSRV9URVNUUyAmIzQzOz0gZGlzYXNzZW1ibGVyLWluaXQtc3R5bGVkCiBGRUFUVVJFX1RFU1RTICYjNDM7PSBsaWJlbGYtenN0ZApAQCAtMTM1LDYgJiM0MzsxMzYsNyBAQCBGRUFUVVJFX0RJU1BMQVkgJiM0Mzs9IGxpYmNhcAogRkVBVFVSRV9ESVNQTEFZICYjNDM7PSBsaWJiZmQKIEZFQVRVUkVfRElTUExBWSAmIzQzOz0gbGliYmZkLWxpYmVydHkKIEZFQVRVUkVfRElTUExBWSAmIzQzOz0gbGliYmZkLWxpYmVydHktegomIzQzO0ZFQVRVUkVfRElTUExBWSAmIzQzOz0gbGliYmZkLWxpYmVydHktei16c3RkCiBlbmRpZgogCiBjaGVja19mZWF0IDo9IDEKQEAgLTIwMSw2ICYjNDM7MjAzLDggQEAgZWxzZQogICAgIExJQlMgJiM0Mzs9IC1sYmZkIC1sZGwgLWxvcGNvZGVzIC1saWJlcnR5CiAgIGVsc2UgaWZlcSAoJChmZWF0dXJlLWxpYmJmZC1saWJlcnR5LXopLDEpCiAgICAgTElCUyAmIzQzOz0gLWxiZmQgLWxkbCAtbG9wY29kZXMgLWxpYmVydHkgLWx6CiYjNDM7ICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16LXpzdGQpLDEpCiYjNDM7ICAgIExJQlMgJiM0Mzs9IC1sYmZkIC1sZGwgLWxvcGNvZGVzIC1saWJlcnR5IC1seiAtbHpzdGQKICAgZW5kaWYKIAogICAjIElmIG9uZSBvZiB0aGUgYWJvdmUgZmVhdHVyZSBjb21iaW5hdGlvbnMgaXMgc2V0LCB3ZSBzdXBwb3J0IGxpYmJmZApkaWZmIC0tZ2l0IGEvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZSBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmUKaW5kZXggOTllYjBlYTA5NTM3NS4uMTI2OGFjNmYxMzBlZiAxMDA2NDQKLS0tIGEvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZQomIzQzOyYjNDM7JiM0MzsgYi90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlCkBAIC0xMjEsNiAmIzQzOzEyMSw3IEBAIEZFQVRVUkVfVEVTVFNfRVhUUkEgOj0gICAgICAgICAgICAgICAgICBcCiAgICAgICAgICBsaWJjaGVjayAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgbGliYmZkLWxpYmVydHkgICAgICAgICAgICAgICAgIFwKICAgICAgICAgIGxpYmJmZC1saWJlcnR5LXogICAgICAgICAgICAgICBcCiYjNDM7ICAgICAgICAgbGliYmZkLWxpYmVydHktei16c3RkICAgICAgICAgIFwKICAgICAgICAgIGxpYm9wZW5jc2QgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICBsaWJwZXJsICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgbGx2bSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTE2MSw3ICYjNDM7MTYyLDcgQEAgRkVBVFVSRV9ESVNQTEFZID89ICAgICAgICAgICAgICBcCiAjIERlY2xhcmUgZ3JvdXAgbWVtYmVycyBvZiBhIGZlYXR1cmUgdG8gZGlzcGxheSB0aGUgbG9naWNhbCBPUiBvZiB0aGUgZGV0ZWN0aW9uCiAjIHJlc3VsdCBpbnN0ZWFkIG9mIGVhY2ggbWVtYmVyIHJlc3VsdC4KICMKLUZFQVRVUkVfR1JPVVBfTUVNQkVSUy1saWJiZmQgPSBsaWJiZmQtbGliZXJ0eSBsaWJiZmQtbGliZXJ0eS16CiYjNDM7RkVBVFVSRV9HUk9VUF9NRU1CRVJTLWxpYmJmZCA9IGxpYmJmZC1saWJlcnR5IGxpYmJmZC1saWJlcnR5LXogbGliYmZkLWxpYmVydHktei16c3RkCiAKICMKICMgRGVjbGFyZSBsaXN0IG9mIGZlYXR1cmUgZGVwZW5kZW5jeSBwYWNrYWdlcyB0aGF0IHByb3ZpZGUgcGtnLWNvbmZpZyBmaWxlcy4KZGlmZiAtLWdpdCBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGUgYi90b29scy9idWlsZC9mZWF0dXJlL01ha2VmaWxlCmluZGV4IDdkMTY1MDE4MTE2YTUuLjQxMDk4N2RmM2E0ODggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGUKJiM0MzsmIzQzOyYjNDM7IGIvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZQpAQCAtMjEsNiAmIzQzOzIxLDcgQEAgRklMRVM9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgdGVzdC1yZWFsbG9jYXJyYXkuYmluCQkJXAogICAgICAgICAgdGVzdC1saWJiZmQtbGliZXJ0eS5iaW4gICAgICAgICAgICAgICAgXAogICAgICAgICAgdGVzdC1saWJiZmQtbGliZXJ0eS16LmJpbiAgICAgICAgICAgICAgXAomIzQzOyAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbiAgICAgICAgIFwKICAgICAgICAgIHRlc3QtY3BsdXMtZGVtYW5nbGUuYmluICAgICAgICAgICAgICAgIFwKICAgICAgICAgIHRlc3QtY3hhLWRlbWFuZ2xlLmJpbiAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgIHRlc3QtbGliY2FwLmJpbgkJCVwKQEAgLTI3MiwxNSAmIzQzOzI3MywxNyBAQCAkKE9VVFBVVCl0ZXN0LWxpYmJmZC5iaW46CiAJJChCVUlMRF9CRkQpCiAKICQoT1VUUFVUKXRlc3QtbGliYmZkLXRocmVhZHNhZmUuYmluOgotCSQoQlVJTERfQkZEKSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IC1segomIzQzOwkkKEJVSUxEX0JGRCkgfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHogfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IC1seiAtbHpzdGQKIAogJChPVVRQVVQpdGVzdC1kaXNhc3NlbWJsZXItZm91ci1hcmdzLmJpbjoKIAkkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXAotCSQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6CiYjNDM7CSQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IHx8IFwKJiM0MzsJJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkCiAKICQoT1VUUFVUKXRlc3QtZGlzYXNzZW1ibGVyLWluaXQtc3R5bGVkLmJpbjoKIAkkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXAotCSQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6CiYjNDM7CSQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IHx8IFwKJiM0MzsJJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkCiAKICQoT1VUUFVUKXRlc3QtcmVhbGxvY2FycmF5LmJpbjoKIAkkKEJVSUxEKQpAQCAtMjkxLDYgJiM0MzsyOTQsOSBAQCAkKE9VVFBVVCl0ZXN0LWxpYmJmZC1saWJlcnR5LmJpbjoKICQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei5iaW46CiAJJChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9JiMzOTsmIzM0O3BlcmYmIzM0OyYjMzk7ICQoTERGTEFHUykgLWxiZmQgLWxkbCAtbGliZXJ0eSAtbHoKIAomIzQzOyQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbjoKJiM0MzsJJChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9JiMzOTsmIzM0O3BlcmYmIzM0OyYjMzk7ICQoTERGTEFHUykgLWxiZmQgLWxkbCAtbGliZXJ0eSAtbHogLWx6c3RkCiYjNDM7CiAkKE9VVFBVVCl0ZXN0LWNwbHVzLWRlbWFuZ2xlLmJpbjoKIAkkKEJVSUxEKSAtbGliZXJ0eQogCmRpZmYgLS1naXQgYS90b29scy9vYmp0b29sL01ha2VmaWxlIGIvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZQppbmRleCBhNDQ4NGZkMjJhOTZkLi4xNDFiOTU3YzU2NmIwIDEwMDY0NAotLS0gYS90b29scy9vYmp0b29sL01ha2VmaWxlCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL29ianRvb2wvTWFrZWZpbGUKQEAgLTg4LDcgJiM0Mzs4OCw4IEBAIExJQk9QQ09ERVNfTElCUyA6PSAkKHNoZWxsIFwKIAlmb3IgbGlicyBpbiAmIzM0Oy1sb3Bjb2RlcyYjMzQ7IFwKIAkJICAgICYjMzQ7LWxvcGNvZGVzIC1sYmZkJiMzNDsgXAogCQkgICAgJiMzNDstbG9wY29kZXMgLWxiZmQgLWxpYmVydHkmIzM0OyBcCi0JCSAgICAmIzM0Oy1sb3Bjb2RlcyAtbGJmZCAtbGliZXJ0eSAtbHomIzM0OzsgZG8gXAomIzQzOwkJICAgICYjMzQ7LWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5IC1seiYjMzQ7IFwKJiM0MzsJCSAgICAmIzM0Oy1sb3Bjb2RlcyAtbGJmZCAtbGliZXJ0eSAtbHogLWx6c3RkJiMzNDs7IGRvIFwKIAkJZWNobyAmIzM5O2V4dGVybiB2b2lkIGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCh2b2lkICopOyYjMzk7IFwKIAkJICAgICAmIzM5O2ludCBtYWluKHZvaWQpIHsgZGlzYXNzZW1ibGVfaW5pdF9mb3JfdGFyZ2V0KDApOyByZXR1cm4gMDsgfSYjMzk7IHwgXAogCQkJJChIT1NUQ0MpIC14YyAtIC1vIC9kZXYvbnVsbCAkJGxpYnMgMiZndDsvZGV2L251bGwgJmFtcDsmYW1wOyBcCmRpZmYgLS1naXQgYS90b29scy9wZXJmL01ha2VmaWxlLmNvbmZpZyBiL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnCmluZGV4IDRkNTk5M2RhOWY5NDUuLmY1ODlhNDYxZjRiZTYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnCiYjNDM7JiM0MzsmIzQzOyBiL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnCkBAIC04OTMsNiAmIzQzOzg5Myw3IEBAIGlmZGVmIEJVSUxEX05PTkRJU1RSTwogICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJiZmQtdGhyZWFkc2FmZSkKICAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHkpCiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC1saWJlcnR5LXopCiYjNDM7ICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJiZmQtbGliZXJ0eS16LXpzdGQpCiAKICAgaWZuZXEgKCQoZmVhdHVyZS1saWJiZmQtdGhyZWFkc2FmZSksIDEpCiAgICAgJChlcnJvciBiaW51dGlscy1kZXYoZWwpIDIuNDIgb3IgbGF0ZXIgaXMgcmVxdWlyZWQgZm9yIG5vbi1kaXN0cm8gYnVpbGRzKQpAQCAtOTA2LDYgJiM0Mzs5MDcsOCBAQCBpZmRlZiBCVUlMRF9OT05ESVNUUk8KICAgICBFWFRMSUJTICYjNDM7PSAtbGJmZCAtbG9wY29kZXMgLWxpYmVydHkKICAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHkteiksIDEpCiAgICAgRVhUTElCUyAmIzQzOz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5IC1segomIzQzOyAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHktei16c3RkKSwgMSkKJiM0MzsgICAgRVhUTElCUyAmIzQzOz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5IC1seiAtbHpzdGQKICAgZW5kaWYKIAogICBDRkxBR1MgJiM0Mzs9IC1ESEFWRV9MSUJCRkRfU1VQUE9SVAo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAyMTozODwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NzUyCgkJCQkJCQlvdXRwdXQ6IDk3CgkJCQkJCQl0aG91Z2h0czogMzk0CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIFBhdGNoKioKCk9rYXksIHNvIHRoaXMgcGF0Y2ggYWZmZWN0cyBhIGJ1bmNoIG9mIE1ha2VmaWxlcywgc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgYHRvb2xzL2AgZGlyZWN0b3J5LiBJIHNlZSBpdCYjMzk7cyB0b3VjaGluZyBgYnBmdG9vbGAsIGBidWlsZGAsIGBvYmp0b29sYCwgYW5kIGBwZXJmYCAtIGFsbCB1c2VyLXNwYWNlIHRvb2xpbmcuIE15IGluaXRpYWwgdGhvdWdodCwgYmFzZWQgb24gdGhlIHRyaWFnZSBndWlkZWxpbmVzLCBpcyB0aGF0IHRoaXMgaXMgdW5saWtlbHkgdG8gd2FycmFudCBmdXp6aW5nLCBzaW5jZSB0aGVzZSBmaWxlcyBkb24mIzM5O3QgZGlyZWN0bHkgaW1wYWN0IHRoZSBrZXJuZWwgaW1hZ2Ugb3IgbW9kdWxlcy4gVGhlIGd1aWRlbGluZXMgc3RhdGUgY2xlYXJseSB0aGF0IGNoYW5nZXMgd2l0aGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgbGlrZSBgdG9vbHMvYCB0aGF0ICpkb24mIzM5O3QqIGFmZmVjdCB0aGUga2VybmVsIHNob3VsZCBiZSBtYXJrZWQgYXMgbm90IHdvcnRoIGZ1enppbmcuCgpOb3csIEkgbmVlZCB0byBiZSAqYWJzb2x1dGVseSogc3VyZS4gTGV0IG1lIGRvdWJsZS1jaGVjayB0aGUgYG9ianRvb2xgIGNoYW5nZXMsIGFzIHNvbWV0aW1lcyBhIHNlZW1pbmdseSBidWlsZC10aW1lIHRvb2wgY2FuIGluZGlyZWN0bHkgYWZmZWN0IHRoZSBrZXJuZWwuIExvb2tzIGxpa2UgdGhlIGNoYW5nZSBpbnZvbHZlcyBhZGRpbmcgYC1senN0ZGAgc3VwcG9ydCBkdXJpbmcgbGlua2luZyB3aXRoIGBsaWJiZmRgIGFuZCBgbGlib3Bjb2Rlc2AgZm9yIGZlYXR1cmUgZGV0ZWN0aW9uIGFuZCBsaW5raW5nIG9mIHRoZXNlIHRvb2xzLiBBaGEsIGl0JiMzOTtzIGFib3V0IG1ha2luZyB0aGVzZSB0b29scyAqYnVpbGQqIGJldHRlciwgbm90IGNoYW5naW5nIGFueSBrZXJuZWwgQyBjb2RlIG9yIGltcGFjdGluZyBydW50aW1lIGJlaGF2aW91ci4gVGhlcmVmb3JlLCAqKldvcnRoRnV6emluZyA9IGZhbHNlKiouIE5vIGtlcm5lbCBjb2RlIGhhcyBiZWVuIGNoYW5nZWQuCgpTbywgbGV0JiMzOTtzIGNvbmZpcm0gdGhlIHBhcmFtZXRlcnMgSSYjMzk7bSBwYXNzaW5nIHRvIGBzZXQtcmVzdWx0c2A6CgoqICAgKipXb3J0aEZ1enppbmcqKjogYGZhbHNlYAoqICAgKipFbmFibGVDb25maWdzKio6IGBbXWAgKGVtcHR5IGFycmF5KQoqICAgKipGb2N1c1N5bWJvbHMqKjogYFtdYCAoZW1wdHkgYXJyYXkpCiogICAqKlJlYXNvbmluZyoqOiAmIzM0O1RoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGJ1aWxkIGNvbmZpZ3VyYXRpb25zIGFuZCBNYWtlZmlsZXMgaW4gdXNlci1zcGFjZSB0b29scyAodG9vbHMvYnBmL2JwZnRvb2wsIHRvb2xzL2J1aWxkLCB0b29scy9vYmp0b29sLCB0b29scy9wZXJmKSB0byBzdXBwb3J0IGxpbmtpbmcgbGliYmZkL2xpYm9wY29kZXMgd2l0aCB6c3RkLiBJdCBkb2VzIG5vdCBtb2RpZnkgYW55IGtlcm5lbCBleGVjdXRhYmxlIGNvZGUuJiMzNDsKCkFscmlnaHQsIHdpdGggdGhhdCBjb25maXJtZWQsIEkmIzM5O20gcmVhZHkgdG8gY2FsbCBgc2V0LXJlc3VsdHNgLiBJdCYjMzk7cyBhIGNsZWFyICYjMzQ7bm8mIzM0OyBvbiB0aGlzIG9uZS4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOS8wOSAyMTozODwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgYnVpbGQgY29uZmlndXJhdGlvbnMgYW5kIE1ha2VmaWxlcyBpbiB1c2VyLXNwYWNlIGRpcmVjdG9yaWVzIHVuZGVyIHRvb2xzLyAodG9vbHMvYnBmL2JwZnRvb2wsIHRvb2xzL2J1aWxkLCB0b29scy9vYmp0b29sLCB0b29scy9wZXJmKSB0byBzdXBwb3J0IGxpbmtpbmcgd2l0aCAtbHpzdGQgd2hlbiBkZXRlY3RpbmcgYW5kIHVzaW5nIGxpYmJmZC9saWJvcGNvZGVzLiBObyBleGVjdXRhYmxlIGtlcm5lbCBjb2RlIGlzIG1vZGlmaWVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA5LzA5IDIxOjM4PC90ZD4KCQkJPHRkPmFjdGlvbjwvdGQ+CgkJCTx0ZD5JZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wOS0wOVQyMTozODoyNi4yNzMwMTM5OTRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo1NzM5MDMzNDc0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIktNU0FOUmVhc29uaW5nXCI6IFwiXCIsXG4gIFwiTmVlZHNLTVNBTlwiOiBmYWxzZSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQyMTozODoyNi4yNzUwNzg1MjRaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjgxMzQ3NjM2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDAwMjdhOTE4YTQxNWZjMDQyZGE5YTdhZjEyN2Y2NmQ5NDA1YjdmNjFcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFdlZCBTZXAgOSAyMTozODoyNSAyMDI2ICswMDAwXFxuXFxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xcblxcbmRpZmYgLS1naXQgYS90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZSBiL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlXFxuaW5kZXggYjBmNzE2OGU3OTQzMi4uMWNhYzQ1MDhlYjBjMiAxMDA2NDRcXG4tLS0gYS90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZVxcbisrKyBiL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlXFxuQEAgLTEyNSw2ICsxMjUsNyBAQCBGRUFUVVJFX1RFU1RTICs9IGxpYmNhcFxcbiBGRUFUVVJFX1RFU1RTICs9IGxpYmJmZFxcbiBGRUFUVVJFX1RFU1RTICs9IGxpYmJmZC1saWJlcnR5XFxuIEZFQVRVUkVfVEVTVFMgKz0gbGliYmZkLWxpYmVydHktelxcbitGRUFUVVJFX1RFU1RTICs9IGxpYmJmZC1saWJlcnR5LXotenN0ZFxcbiBGRUFUVVJFX1RFU1RTICs9IGRpc2Fzc2VtYmxlci1mb3VyLWFyZ3NcXG4gRkVBVFVSRV9URVNUUyArPSBkaXNhc3NlbWJsZXItaW5pdC1zdHlsZWRcXG4gRkVBVFVSRV9URVNUUyArPSBsaWJlbGYtenN0ZFxcbkBAIC0xMzUsNiArMTM2LDcgQEAgRkVBVFVSRV9ESVNQTEFZICs9IGxpYmNhcFxcbiBGRUFUVVJFX0RJU1BMQVkgKz0gbGliYmZkXFxuIEZFQVRVUkVfRElTUExBWSArPSBsaWJiZmQtbGliZXJ0eVxcbiBGRUFUVVJFX0RJU1BMQVkgKz0gbGliYmZkLWxpYmVydHktelxcbitGRUFUVVJFX0RJU1BMQVkgKz0gbGliYmZkLWxpYmVydHktei16c3RkXFxuIGVuZGlmXFxuIFxcbiBjaGVja19mZWF0IDo9IDFcXG5AQCAtMjAxLDYgKzIwMyw4IEBAIGVsc2VcXG4gICAgIExJQlMgKz0gLWxiZmQgLWxkbCAtbG9wY29kZXMgLWxpYmVydHlcXG4gICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16KSwxKVxcbiAgICAgTElCUyArPSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcXG4rICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16LXpzdGQpLDEpXFxuKyAgICBMSUJTICs9IC1sYmZkIC1sZGwgLWxvcGNvZGVzIC1saWJlcnR5IC1seiAtbHpzdGRcXG4gICBlbmRpZlxcbiBcXG4gICAjIElmIG9uZSBvZiB0aGUgYWJvdmUgZmVhdHVyZSBjb21iaW5hdGlvbnMgaXMgc2V0LCB3ZSBzdXBwb3J0IGxpYmJmZFxcbmRpZmYgLS1naXQgYS90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlIGIvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZVxcbmluZGV4IDk5ZWIwZWEwOTUzNzUuLjEyNjhhYzZmMTMwZWYgMTAwNjQ0XFxuLS0tIGEvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZVxcbisrKyBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmVcXG5AQCAtMTIxLDYgKzEyMSw3IEBAIEZFQVRVUkVfVEVTVFNfRVhUUkEgOj0gICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYmNoZWNrICAgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYmJmZC1saWJlcnR5ICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYmJmZC1saWJlcnR5LXogICAgICAgICAgICAgICBcXFxcXFxuKyAgICAgICAgIGxpYmJmZC1saWJlcnR5LXotenN0ZCAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYm9wZW5jc2QgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxpYnBlcmwgICAgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIGxsdm0gICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuQEAgLTE2MSw3ICsxNjIsNyBAQCBGRUFUVVJFX0RJU1BMQVkgPz0gICAgICAgICAgICAgIFxcXFxcXG4gIyBEZWNsYXJlIGdyb3VwIG1lbWJlcnMgb2YgYSBmZWF0dXJlIHRvIGRpc3BsYXkgdGhlIGxvZ2ljYWwgT1Igb2YgdGhlIGRldGVjdGlvblxcbiAjIHJlc3VsdCBpbnN0ZWFkIG9mIGVhY2ggbWVtYmVyIHJlc3VsdC5cXG4gI1xcbi1GRUFUVVJFX0dST1VQX01FTUJFUlMtbGliYmZkID0gbGliYmZkLWxpYmVydHkgbGliYmZkLWxpYmVydHktelxcbitGRUFUVVJFX0dST1VQX01FTUJFUlMtbGliYmZkID0gbGliYmZkLWxpYmVydHkgbGliYmZkLWxpYmVydHkteiBsaWJiZmQtbGliZXJ0eS16LXpzdGRcXG4gXFxuICNcXG4gIyBEZWNsYXJlIGxpc3Qgb2YgZmVhdHVyZSBkZXBlbmRlbmN5IHBhY2thZ2VzIHRoYXQgcHJvdmlkZSBwa2ctY29uZmlnIGZpbGVzLlxcbmRpZmYgLS1naXQgYS90b29scy9idWlsZC9mZWF0dXJlL01ha2VmaWxlIGIvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxcbmluZGV4IDdkMTY1MDE4MTE2YTUuLjQxMDk4N2RmM2E0ODggMTAwNjQ0XFxuLS0tIGEvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxcbisrKyBiL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGVcXG5AQCAtMjEsNiArMjEsNyBAQCBGSUxFUz0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIHRlc3QtcmVhbGxvY2FycmF5LmJpblxcdFxcdFxcdFxcXFxcXG4gICAgICAgICAgdGVzdC1saWJiZmQtbGliZXJ0eS5iaW4gICAgICAgICAgICAgICAgXFxcXFxcbiAgICAgICAgICB0ZXN0LWxpYmJmZC1saWJlcnR5LXouYmluICAgICAgICAgICAgICBcXFxcXFxuKyAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbiAgICAgICAgIFxcXFxcXG4gICAgICAgICAgdGVzdC1jcGx1cy1kZW1hbmdsZS5iaW4gICAgICAgICAgICAgICAgXFxcXFxcbiAgICAgICAgICB0ZXN0LWN4YS1kZW1hbmdsZS5iaW4gICAgICAgICAgICAgICAgICBcXFxcXFxuICAgICAgICAgIHRlc3QtbGliY2FwLmJpblxcdFxcdFxcdFxcXFxcXG5AQCAtMjcyLDE1ICsyNzMsMTcgQEAgJChPVVRQVVQpdGVzdC1saWJiZmQuYmluOlxcbiBcXHQkKEJVSUxEX0JGRClcXG4gXFxuICQoT1VUUFVUKXRlc3QtbGliYmZkLXRocmVhZHNhZmUuYmluOlxcbi1cXHQkKEJVSUxEX0JGRCkgfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHpcXG4rXFx0JChCVUlMRF9CRkQpIHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgLWx6IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHogLWx6c3RkXFxuIFxcbiAkKE9VVFBVVCl0ZXN0LWRpc2Fzc2VtYmxlci1mb3VyLWFyZ3MuYmluOlxcbiBcXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXFxcXFxcbi1cXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1selxcbitcXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxcXFxuK1xcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxcbiBcXG4gJChPVVRQVVQpdGVzdC1kaXNhc3NlbWJsZXItaW5pdC1zdHlsZWQuYmluOlxcbiBcXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXFxcXFxcbi1cXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1selxcbitcXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxcXFxuK1xcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IC1senN0ZFxcbiBcXG4gJChPVVRQVVQpdGVzdC1yZWFsbG9jYXJyYXkuYmluOlxcbiBcXHQkKEJVSUxEKVxcbkBAIC0yOTEsNiArMjk0LDkgQEAgJChPVVRQVVQpdGVzdC1saWJiZmQtbGliZXJ0eS5iaW46XFxuICQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei5iaW46XFxuIFxcdCQoQ0MpICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vICRAIHRlc3QtbGliYmZkLmMgLURQQUNLQUdFPSdcXFwicGVyZlxcXCInICQoTERGTEFHUykgLWxiZmQgLWxkbCAtbGliZXJ0eSAtbHpcXG4gXFxuKyQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbjpcXG4rXFx0JChDQykgJChDRkxBR1MpIC1XYWxsIC1XZXJyb3IgLW8gJEAgdGVzdC1saWJiZmQuYyAtRFBBQ0tBR0U9J1xcXCJwZXJmXFxcIicgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1seiAtbHpzdGRcXG4rXFxuICQoT1VUUFVUKXRlc3QtY3BsdXMtZGVtYW5nbGUuYmluOlxcbiBcXHQkKEJVSUxEKSAtbGliZXJ0eVxcbiBcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZSBiL3Rvb2xzL29ianRvb2wvTWFrZWZpbGVcXG5pbmRleCBhNDQ4NGZkMjJhOTZkLi4xNDFiOTU3YzU2NmIwIDEwMDY0NFxcbi0tLSBhL3Rvb2xzL29ianRvb2wvTWFrZWZpbGVcXG4rKysgYi90b29scy9vYmp0b29sL01ha2VmaWxlXFxuQEAgLTg4LDcgKzg4LDggQEAgTElCT1BDT0RFU19MSUJTIDo9ICQoc2hlbGwgXFxcXFxcbiBcXHRmb3IgbGlicyBpbiBcXFwiLWxvcGNvZGVzXFxcIiBcXFxcXFxuIFxcdFxcdCAgICBcXFwiLWxvcGNvZGVzIC1sYmZkXFxcIiBcXFxcXFxuIFxcdFxcdCAgICBcXFwiLWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5XFxcIiBcXFxcXFxuLVxcdFxcdCAgICBcXFwiLWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5IC1selxcXCI7IGRvIFxcXFxcXG4rXFx0XFx0ICAgIFxcXCItbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6XFxcIiBcXFxcXFxuK1xcdFxcdCAgICBcXFwiLWxvcGNvZGVzIC1sYmZkIC1saWJlcnR5IC1seiAtbHpzdGRcXFwiOyBkbyBcXFxcXFxuIFxcdFxcdGVjaG8gJ2V4dGVybiB2b2lkIGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCh2b2lkICopOycgXFxcXFxcbiBcXHRcXHQgICAgICdpbnQgbWFpbih2b2lkKSB7IGRpc2Fzc2VtYmxlX2luaXRfZm9yX3RhcmdldCgwKTsgcmV0dXJuIDA7IH0nIHwgXFxcXFxcbiBcXHRcXHRcXHQkKEhPU1RDQykgLXhjIC0gLW8gL2Rldi9udWxsICQkbGlicyAyXFx1MDAzZS9kZXYvbnVsbCBcXHUwMDI2XFx1MDAyNiBcXFxcXFxuZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnIGIvdG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWdcXG5pbmRleCA0ZDU5OTNkYTlmOTQ1Li5mNTg5YTQ2MWY0YmU2IDEwMDY0NFxcbi0tLSBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnXFxuKysrIGIvdG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWdcXG5AQCAtODkzLDYgKzg5Myw3IEBAIGlmZGVmIEJVSUxEX05PTkRJU1RST1xcbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC10aHJlYWRzYWZlKVxcbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC1saWJlcnR5KVxcbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC1saWJlcnR5LXopXFxuKyAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHktei16c3RkKVxcbiBcXG4gICBpZm5lcSAoJChmZWF0dXJlLWxpYmJmZC10aHJlYWRzYWZlKSwgMSlcXG4gICAgICQoZXJyb3IgYmludXRpbHMtZGV2KGVsKSAyLjQyIG9yIGxhdGVyIGlzIHJlcXVpcmVkIGZvciBub24tZGlzdHJvIGJ1aWxkcylcXG5AQCAtOTA2LDYgKzkwNyw4IEBAIGlmZGVmIEJVSUxEX05PTkRJU1RST1xcbiAgICAgRVhUTElCUyArPSAtbGJmZCAtbG9wY29kZXMgLWxpYmVydHlcXG4gICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16KSwgMSlcXG4gICAgIEVYVExJQlMgKz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5IC1selxcbisgIGVsc2UgaWZlcSAoJChmZWF0dXJlLWxpYmJmZC1saWJlcnR5LXotenN0ZCksIDEpXFxuKyAgICBFWFRMSUJTICs9IC1sYmZkIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkXFxuICAgZW5kaWZcXG4gXFxuICAgQ0ZMQUdTICs9IC1ESEFWRV9MSUJCRkRfU1VQUE9SVFxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOS0wOVQyMTozODoyNy4wOTAyNjY4NzJaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJjb3JlIiwiRHVyYXRpb24iOjQ5MjE3Njk1NzYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG9ubHkgbW9kaWZpZXMgYnVpbGQgY29uZmlndXJhdGlvbnMgYW5kIE1ha2VmaWxlcyBpbiB1c2VyLXNwYWNlIGRpcmVjdG9yaWVzIHVuZGVyIHRvb2xzLyAodG9vbHMvYnBmL2JwZnRvb2wsIHRvb2xzL2J1aWxkLCB0b29scy9vYmp0b29sLCB0b29scy9wZXJmKSB0byBzdXBwb3J0IGxpbmtpbmcgd2l0aCAtbHpzdGQgd2hlbiBkZXRlY3RpbmcgYW5kIHVzaW5nIGxpYmJmZC9saWJvcGNvZGVzLiBObyBleGVjdXRhYmxlIGtlcm5lbCBjb2RlIGlzIG1vZGlmaWVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIgYW5kIHNlY3VyaXR5IGVuZ2luZWVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBldmFsdWF0ZSB3aGV0aGVyIGl0IHdhcnJhbnRzIGZ1enppbmcgd2l0aCBzeXprYWxsZXIuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIGludGVybmFsIGFzc3VtcHRpb25zLiBZb3UgbXVzdCBhY3RpdmVseSB1c2UgeW91ciBjb2RlIGFjY2Vzc1xudG9vbHMgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlLCBjYWxsZXJzLCBhbmQgc3Vycm91bmRpbmcgY29udGV4dC5cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbjEuIENPUkUgVFJJQUdFIFBISUxPU09QSFlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5UaGUgZ29hbCBvZiBwYXRjaCBmdXp6aW5nIGlzIHRvIGRpc2NvdmVyIGNyYXNoZXMsIHJlZ3Jlc3Npb25zLCBleHBvc2VkIGxhdGVudCBidWdzLFxuYW5kIG5ld2x5IHRyaWdnZXJlZCBhc3NlcnRpb25zIGludHJvZHVjZWQgYnkgdGhlIHBhdGNoIHNlcmllcy5cblxuLSBSRUFDSEFCSUxJVFkgSVMgVEhFIFBSSU1BUlkgR0FURTpcbiAgRnV6emluZyBjYW4gb25seSBkaXNjb3ZlciBidWdzIGluIGNvZGUgdGhhdCBjYW4gYWN0dWFsbHkgZXhlY3V0ZSBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZFxuICBlbnZpcm9ubWVudHMgKEdDRSBvciBRRU1VLCB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgZGV2aWNlcyBsaWtlIFVTQiBnYWRnZXRzLCBuZXRkZXYsIHR1bi90YXApLlxuICBJZiB0aGUgbW9kaWZpZWQgY29kZSBpcyBzdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgKHNlZSBTZWN0aW9uIDIpLCBpdCBNVVNUIE5PVCBiZSBmdXp6ZWQsXG4gIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBhZGRzIGFzc2VydGlvbnMgb3IgY29tcGxleCBsb2dpYy5cblxuLSBETyBOT1QgQkxJTkRMWSBUUlVTVCBcIk5PIEZVTkNUSU9OQUwgQ0hBTkdFXCIgKE5GQ0kpIE9SIFwiUkVGQUNUT1JJTkdcIiBDTEFJTVM6XG4gIFBhdGNoIGF1dGhvcnMgcm91dGluZWx5IGxhYmVsIGNoYW5nZXMgYXMgXCJjbGVhbnVwc1wiLCBcInJlZmFjdG9yaW5nc1wiLCBvciBzdGF0ZVxuICBcIk5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkXCIuIERvIE5PVCB0YWtlIHRoZXNlIGNsYWltcyBhdCBmYWNlIHZhbHVlLlxuICBDb2RlIHJlZmFjdG9yaW5ncyB0aGF0IHJlYXJyYW5nZSBsb2dpYywgaW50cm9kdWNlIGhlbHBlciBmdW5jdGlvbnMsIG9yIGFsdGVyIHN0YXRlIG1hbmFnZW1lbnRcbiAgaW4gY29yZSBzdWJzeXN0ZW1zIGZyZXF1ZW50bHkgaW50cm9kdWNlIHN1YnRsZSBzZW1hbnRpYyBzaGlmdHMgb3IgdW5jb3ZlciBsYXRlbnQga2VybmVsIGJ1Z3MuXG4gIElmIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUgaXMgbW9kaWZpZWQgb3IgcmVmYWN0b3JlZCwgaXQgTVVTVCBiZSBmdXp6ZWQuXG5cbi0gTkVXIE9SIE1PRElGSUVEIEFTU0VSVElPTlMgSU4gUkVBQ0hBQkxFIENPREUgTVVTVCBCRSBGVVpaRUQ6XG4gIFdoZW4gYSBwYXRjaCBpbnRyb2R1Y2VzIG9yIG1vZGlmaWVzIHJ1bnRpbWUgY2hlY2tzIG9yIGFzc2VydGlvbnMgKGUuZy4sIFdBUk5fT04qLCBWTV9XQVJOX09OKixcbiAgQlVHX09OKiwgbG9ja2RlcF9hc3NlcnQqKSBpbiByZWFjaGFibGUgY29kZSBwYXRocywgaXQgZW5mb3JjZXMgbmV3IG9yIHN0cmljdGVyIGludmFyaWFudHMuXG4gIEV2ZW4gaWYgdGhlIGF1dGhvciBiZWxpZXZlcyB0aGUgaW52YXJpYW50IGFsd2F5cyBob2xkcywgZnV6emluZyBpcyBlc3NlbnRpYWwgdG8gdmVyaWZ5IHdoZXRoZXJcbiAgYW4gdW51c3VhbCBzZXF1ZW5jZSBvZiBvcGVyYXRpb25zIGNhbiB2aW9sYXRlIGl0LlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuMi4gV0hFTiBUTyBSRVRVUk4gV29ydGhGdXp6aW5nPWZhbHNlIChORUdBVElWRSBDUklURVJJQSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIE9OTFkgSUYgYWxsIG1vZGlmaWVkIGNvZGUgZmFsbHMgc3RyaWN0bHkgaW50byBvbmUgb3IgbW9yZSBvZiB0aGVzZSBjYXRlZ29yaWVzOlxuXG4tIE5vbi1rZXJuZWwgYW5kIG5vbi1leGVjdXRhYmxlIGNoYW5nZXM6XG4gICogTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgY29tbWVudHMsIG9yIHNwZWxsaW5nIGZpeGVzLlxuICAqIFVzZXItc3BhY2UgZGlyZWN0b3JpZXMsIHNlbGYtdGVzdHMsIHNhbXBsZXMsIG9yIHNjcmlwdHMgKGUuZy4sIHRvb2xzLywgc2FtcGxlcy8sIHNjcmlwdHMvLCB1c3IvKVxuICAgIHRoYXQgZG8gbm90IGFmZmVjdCB0aGUgY29tcGlsZWQga2VybmVsIGltYWdlICh2bWxpbnV4KSBvciBrZXJuZWwgbW9kdWxlcy5cbiAgKiBQdXJlbHkgZGVjb3JhdGl2ZSBsb2dnaW5nIChlLmcuLCBtZXNzYWdlIHN0cmluZ3MgaW4gcHJfZXJyLCBwcmludGssIGRldl9pbmZvKSBvciB0cmFjZXBvaW50c1xuICAgIHRoYXQgZG8gbm90IGFsdGVyIGNvbnRyb2wgZmxvdyBvciBkYXRhIHN0cnVjdHVyZXMuXG4gICogQnVpbGQgc3lzdGVtIG9yIEtjb25maWcgY2hhbmdlcyB0aGF0IGRvIG5vdCBhbHRlciBjb21waWxlZCBDIGxvZ2ljLlxuLSBTdHJ1Y3R1cmFsbHkgdW5yZWFjaGFibGUgaGFyZHdhcmU6XG4gICogVmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoZXMsIFNtYXJ0TklDcywgb3IgR1BVIGRyaXZlcnMgKGUuZy4sIG1seHN3LCBwZHNfY29yZSwgcWVkLFxuICAgIGlvbmljLCBhbWRncHUpIHJlcXVpcmluZyBwaHlzaWNhbCBBU0lDL1BDSWUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuXG4tIFVucmVhY2hhYmxlIGV4ZWN1dGlvbiBwYXRoczpcbiAgKiBEcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzICgucmVtb3ZlLCAuc2h1dGRvd24sIHBjaV91bnJlZ2lzdGVyX2RyaXZlcikgZXhlY3V0ZWQgb25seSBkdXJpbmdcbiAgICBwaHlzaWNhbCBQQ0kgaG90LXVucGx1ZyBvciBtYW51YWwgc3lzZnMgZHJpdmVyIHVuYmluZGluZy5cbiAgKiBDb2RlIHBhdGhzIGV4Y2x1c2l2ZSB0byBhcmNoaXRlY3R1cmVzIG90aGVyIHRoYW4gdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUuXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4zLiBXSEVOIFRPIFJFVFVSTiBXb3J0aEZ1enppbmc9dHJ1ZSAoUE9TSVRJVkUgQ1JJVEVSSUEpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuUmV0dXJuIFdvcnRoRnV6emluZz10cnVlIHdoZW5ldmVyIHRoZSBwYXRjaCB0b3VjaGVzIHJlYWNoYWJsZSBleGVjdXRhYmxlIGNvZGUsIGluY2x1ZGluZzpcbi0gQ29yZSBTdWJzeXN0ZW1zOlxuICAqIEFueSBsb2dpYyBtb2RpZmljYXRpb25zIGluIG1lbW9yeSBtYW5hZ2VtZW50IChtbS8pLCBzeW5jaHJvbml6YXRpb24vbG9ja2luZyAoa2VybmVsL2xvY2tpbmcvKSxcbiAgICBCUEYsIHNjaGVkdWxlciwgY29yZSBuZXR3b3JraW5nLCBWRlMsIG9yIHN5c2NhbGwgaGFuZGxpbmcuXG4tIFJlZmFjdG9yaW5ncyBhbmQgQ29kZSBDbGVhbnVwczpcbiAgKiBBbnkgcmVzdHJ1Y3R1cmluZyBvZiByZWFjaGFibGUgZGF0YSBzdHJ1Y3R1cmVzLCBoZWxwZXIgYWJzdHJhY3Rpb25zLCBvciBhbGdvcml0aG0gZmxvd3MuXG4tIFJ1bnRpbWUgQXNzZXJ0aW9ucyBhbmQgRGVmZW5zaXZlIENoZWNrczpcbiAgKiBBbnkgaW50cm9kdWN0aW9uIG9yIGFsdGVyYXRpb24gb2YgYXNzZXJ0aW9ucyAoV0FSTl9PTiosIFZNX1dBUk5fT04qLCBCVUdfT04qLCBldGMuKSBpbiByZWFjaGFibGUgcGF0aHMuXG4tIFJlYWNoYWJsZSBEcml2ZXJzIGFuZCBQcm90b2NvbHM6XG4gICogRHJpdmVycyBhY2Nlc3NpYmxlIHZpYSB2aXJ0dWFsIGJ1c2VzICh2aXJ0aW8sIFVTQiBnYWRnZXQsIGxvb3BiYWNrLCBuZXRsaW5rLCBiaW5kZXIsIHNvY2tldHMsIGV0Yy4pLlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuNC4gRVhUUkFDVElORyBGb2N1c1N5bWJvbHMgKFBSRVZFTlRJTkcgRElMVVRJT04pXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuV2hlbiBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IG11c3QgZXh0cmFjdCBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIGludG8gRm9jdXNTeW1ib2xzIHRvIGd1aWRlIHRoZSBmdXp6ZXI6XG5cbi0gQVZPSUQgVUJJUVVJVE9VUyBMSUZFQ1lDTEUgSE9ULVBBVEhTOlxuICBEbyBOT1QgbGlzdCBnZW5lcmljLCB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYWxsZWQgYnkgYWxtb3N0IGV2ZXJ5IHByb2dyYW0gaW4gdGhlIGNvcnB1c1xuICAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG86IGdlbmVyYWwgbWVtb3J5IGFsbG9jYXRvcnMgYW5kIGRlYWxsb2NhdG9ycywgcGFnZSBmYXVsdFxuICBhbmQgdHJhcCBoYW5kbGVycywgb3IgY29yZSBzeW5jaHJvbml6YXRpb24gcHJpbWl0aXZlczsgdGhpcyBpcyBub3QgYW4gZXhoYXVzdGl2ZSBsaXN0KS5cbiAgTGlzdGluZyB1YmlxdWl0b3VzIGZ1bmN0aW9ucyBjYXVzZXMgdGhlIGZ1enplciB0byBjbGFzc2lmeSB0aG91c2FuZHMgb2YgdW5yZWxhdGVkIHRlc3RzIGFzIFwiZm9jdXNlZFwiLFxuICB3aGljaCBzZXZlcmVseSBkaWx1dGVzIGZ1enppbmcgZWZmb3J0IGF3YXkgZnJvbSB0aGUgYWN0dWFsIGNoYW5nZXMuXG5cbi0gVEFSR0VUIFNQRUNJRklDIEZFQVRVUkUgTE9HSUMgQU5EIEVOVFJZUE9JTlRTOlxuICBMaXN0IGZ1bmN0aW9ucyB0aGF0IHNwZWNpZmljYWxseSBpbXBsZW1lbnQgdGhlIGxvZ2ljIGJlaW5nIGFkZGVkIG9yIGFsdGVyZWQsIG9yIGRpcmVjdCBBUEkgZW50cnlwb2ludHNcbiAgZm9yIHRoZSBzdWJzeXN0ZW0gZmVhdHVyZSB1bmRlciByZXZpZXcuXG5cbi0gSEFORExJTkcgU1RBVElDIElOTElORSBGVU5DVElPTlMgSU4gSEVBREVSUyAoLmgpOlxuICBDb21waWxlci1pbmxpbmVkIHN0YXRpYyBmdW5jdGlvbnMgKHN1Y2ggYXMgc3RhdGljIGlubGluZXMgaW4gbW0vKi5oIG9yIGluY2x1ZGUvbGludXgvKi5oKSBsYWNrXG4gIGRpc3RpbmN0IHN5bWJvbCBhZGRyZXNzZXMgaW4gdm1saW51eCBhbmQgY2Fubm90IGJlIHRhcmdldGVkIGRpcmVjdGx5IGJ5IHN5bWJvbCBjb3ZlcmFnZSBmaWx0ZXJzLlxuICBJZiB0aGUgY2hhbmdlcyBhcmUgcHJpbWFyaWx5IGluIHN0YXRpYyBpbmxpbmUgaGVscGVycywgaWRlbnRpZnkgbm9uLXN0YXRpYywgZmVhdHVyZS1zcGVjaWZpYyBjYWxsZXJcbiAgZnVuY3Rpb25zIGluIC5jIGZpbGVzIHRoYXQgZXhlcmNpc2UgdGhlbSAoYXZvaWRpbmcgdWJpcXVpdG91cyBsaWZlY3ljbGUgd3JhcHBlcnMpLlxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuNS4gSURFTlRJRllJTkcgRW5hYmxlQ29uZmlnc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbklkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgY29tcGlsZSBhbmQgcmVhY2ggdGhlIG1vZGlmaWVkIGNvZGU6XG4tIEluc3BlY3QgS2NvbmZpZyBmaWxlcyBhbmQgI2lmZGVmIGd1YXJkczsgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4tIENoZWNrIFwiZGVwZW5kcyBvblwiIGxpbmVzIGluIEtjb25maWcgdG8gaW5jbHVkZSBhbnkgbm9uLXN0YW5kYXJkIHBhcmVudCBzdWJzeXN0ZW0gY29uZmlncyBuZWVkZWQuXG4tIFN0cmlwIGFueSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJUYXJnZXQgYXJjaGl0ZWN0dXJlOiBhbWQ2NFxuXG5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwMDI3YTkxOGE0MTVmYzA0MmRhOWE3YWYxMjdmNjZkOTQwNWI3ZjYxXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBTZXAgOSAyMTozODoyNSAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL3Rvb2xzL2JwZi9icGZ0b29sL01ha2VmaWxlIGIvdG9vbHMvYnBmL2JwZnRvb2wvTWFrZWZpbGVcbmluZGV4IGIwZjcxNjhlNzk0MzIuLjFjYWM0NTA4ZWIwYzIgMTAwNjQ0XG4tLS0gYS90b29scy9icGYvYnBmdG9vbC9NYWtlZmlsZVxuKysrIGIvdG9vbHMvYnBmL2JwZnRvb2wvTWFrZWZpbGVcbkBAIC0xMjUsNiArMTI1LDcgQEAgRkVBVFVSRV9URVNUUyArPSBsaWJjYXBcbiBGRUFUVVJFX1RFU1RTICs9IGxpYmJmZFxuIEZFQVRVUkVfVEVTVFMgKz0gbGliYmZkLWxpYmVydHlcbiBGRUFUVVJFX1RFU1RTICs9IGxpYmJmZC1saWJlcnR5LXpcbitGRUFUVVJFX1RFU1RTICs9IGxpYmJmZC1saWJlcnR5LXotenN0ZFxuIEZFQVRVUkVfVEVTVFMgKz0gZGlzYXNzZW1ibGVyLWZvdXItYXJnc1xuIEZFQVRVUkVfVEVTVFMgKz0gZGlzYXNzZW1ibGVyLWluaXQtc3R5bGVkXG4gRkVBVFVSRV9URVNUUyArPSBsaWJlbGYtenN0ZFxuQEAgLTEzNSw2ICsxMzYsNyBAQCBGRUFUVVJFX0RJU1BMQVkgKz0gbGliY2FwXG4gRkVBVFVSRV9ESVNQTEFZICs9IGxpYmJmZFxuIEZFQVRVUkVfRElTUExBWSArPSBsaWJiZmQtbGliZXJ0eVxuIEZFQVRVUkVfRElTUExBWSArPSBsaWJiZmQtbGliZXJ0eS16XG4rRkVBVFVSRV9ESVNQTEFZICs9IGxpYmJmZC1saWJlcnR5LXotenN0ZFxuIGVuZGlmXG4gXG4gY2hlY2tfZmVhdCA6PSAxXG5AQCAtMjAxLDYgKzIwMyw4IEBAIGVsc2VcbiAgICAgTElCUyArPSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eVxuICAgZWxzZSBpZmVxICgkKGZlYXR1cmUtbGliYmZkLWxpYmVydHkteiksMSlcbiAgICAgTElCUyArPSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcbisgIGVsc2UgaWZlcSAoJChmZWF0dXJlLWxpYmJmZC1saWJlcnR5LXotenN0ZCksMSlcbisgICAgTElCUyArPSAtbGJmZCAtbGRsIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkXG4gICBlbmRpZlxuIFxuICAgIyBJZiBvbmUgb2YgdGhlIGFib3ZlIGZlYXR1cmUgY29tYmluYXRpb25zIGlzIHNldCwgd2Ugc3VwcG9ydCBsaWJiZmRcbmRpZmYgLS1naXQgYS90b29scy9idWlsZC9NYWtlZmlsZS5mZWF0dXJlIGIvdG9vbHMvYnVpbGQvTWFrZWZpbGUuZmVhdHVyZVxuaW5kZXggOTllYjBlYTA5NTM3NS4uMTI2OGFjNmYxMzBlZiAxMDA2NDRcbi0tLSBhL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmVcbisrKyBiL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmZlYXR1cmVcbkBAIC0xMjEsNiArMTIxLDcgQEAgRkVBVFVSRV9URVNUU19FWFRSQSA6PSAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGliY2hlY2sgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGliYmZkLWxpYmVydHkgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGliYmZkLWxpYmVydHkteiAgICAgICAgICAgICAgIFxcXG4rICAgICAgICAgbGliYmZkLWxpYmVydHktei16c3RkICAgICAgICAgIFxcXG4gICAgICAgICAgbGlib3BlbmNzZCAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGlicGVybCAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgbGx2bSAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG5AQCAtMTYxLDcgKzE2Miw3IEBAIEZFQVRVUkVfRElTUExBWSA/PSAgICAgICAgICAgICAgXFxcbiAjIERlY2xhcmUgZ3JvdXAgbWVtYmVycyBvZiBhIGZlYXR1cmUgdG8gZGlzcGxheSB0aGUgbG9naWNhbCBPUiBvZiB0aGUgZGV0ZWN0aW9uXG4gIyByZXN1bHQgaW5zdGVhZCBvZiBlYWNoIG1lbWJlciByZXN1bHQuXG4gI1xuLUZFQVRVUkVfR1JPVVBfTUVNQkVSUy1saWJiZmQgPSBsaWJiZmQtbGliZXJ0eSBsaWJiZmQtbGliZXJ0eS16XG4rRkVBVFVSRV9HUk9VUF9NRU1CRVJTLWxpYmJmZCA9IGxpYmJmZC1saWJlcnR5IGxpYmJmZC1saWJlcnR5LXogbGliYmZkLWxpYmVydHktei16c3RkXG4gXG4gI1xuICMgRGVjbGFyZSBsaXN0IG9mIGZlYXR1cmUgZGVwZW5kZW5jeSBwYWNrYWdlcyB0aGF0IHByb3ZpZGUgcGtnLWNvbmZpZyBmaWxlcy5cbmRpZmYgLS1naXQgYS90b29scy9idWlsZC9mZWF0dXJlL01ha2VmaWxlIGIvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZVxuaW5kZXggN2QxNjUwMTgxMTZhNS4uNDEwOTg3ZGYzYTQ4OCAxMDA2NDRcbi0tLSBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGVcbisrKyBiL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvTWFrZWZpbGVcbkBAIC0yMSw2ICsyMSw3IEBAIEZJTEVTPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgdGVzdC1yZWFsbG9jYXJyYXkuYmluXHRcdFx0XFxcbiAgICAgICAgICB0ZXN0LWxpYmJmZC1saWJlcnR5LmJpbiAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgIHRlc3QtbGliYmZkLWxpYmVydHktei5iaW4gICAgICAgICAgICAgIFxcXG4rICAgICAgICAgdGVzdC1saWJiZmQtbGliZXJ0eS16LXpzdGQuYmluICAgICAgICAgXFxcbiAgICAgICAgICB0ZXN0LWNwbHVzLWRlbWFuZ2xlLmJpbiAgICAgICAgICAgICAgICBcXFxuICAgICAgICAgIHRlc3QtY3hhLWRlbWFuZ2xlLmJpbiAgICAgICAgICAgICAgICAgIFxcXG4gICAgICAgICAgdGVzdC1saWJjYXAuYmluXHRcdFx0XFxcbkBAIC0yNzIsMTUgKzI3MywxNyBAQCAkKE9VVFBVVCl0ZXN0LWxpYmJmZC5iaW46XG4gXHQkKEJVSUxEX0JGRClcbiBcbiAkKE9VVFBVVCl0ZXN0LWxpYmJmZC10aHJlYWRzYWZlLmJpbjpcbi1cdCQoQlVJTERfQkZEKSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgfHwgJChCVUlMRF9CRkQpIC1saWJlcnR5IC1selxuK1x0JChCVUlMRF9CRkQpIHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSB8fCAkKEJVSUxEX0JGRCkgLWxpYmVydHkgLWx6IHx8ICQoQlVJTERfQkZEKSAtbGliZXJ0eSAtbHogLWx6c3RkXG4gXG4gJChPVVRQVVQpdGVzdC1kaXNhc3NlbWJsZXItZm91ci1hcmdzLmJpbjpcbiBcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgfHwgJChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSB8fCBcXFxuLVx0JChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHpcbitcdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6IHx8IFxcXG4rXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiAtbHpzdGRcbiBcbiAkKE9VVFBVVCl0ZXN0LWRpc2Fzc2VtYmxlci1pbml0LXN0eWxlZC5iaW46XG4gXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIHx8ICQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgfHwgXFxcbi1cdCQoQlVJTERfQkZEKSAtbG9wY29kZXMgLWxpYmVydHkgLWx6XG4rXHQkKEJVSUxEX0JGRCkgLWxvcGNvZGVzIC1saWJlcnR5IC1seiB8fCBcXFxuK1x0JChCVUlMRF9CRkQpIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkXG4gXG4gJChPVVRQVVQpdGVzdC1yZWFsbG9jYXJyYXkuYmluOlxuIFx0JChCVUlMRClcbkBAIC0yOTEsNiArMjk0LDkgQEAgJChPVVRQVVQpdGVzdC1saWJiZmQtbGliZXJ0eS5iaW46XG4gJChPVVRQVVQpdGVzdC1saWJiZmQtbGliZXJ0eS16LmJpbjpcbiBcdCQoQ0MpICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vICRAIHRlc3QtbGliYmZkLmMgLURQQUNLQUdFPSdcInBlcmZcIicgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1selxuIFxuKyQoT1VUUFVUKXRlc3QtbGliYmZkLWxpYmVydHktei16c3RkLmJpbjpcbitcdCQoQ0MpICQoQ0ZMQUdTKSAtV2FsbCAtV2Vycm9yIC1vICRAIHRlc3QtbGliYmZkLmMgLURQQUNLQUdFPSdcInBlcmZcIicgJChMREZMQUdTKSAtbGJmZCAtbGRsIC1saWJlcnR5IC1seiAtbHpzdGRcbitcbiAkKE9VVFBVVCl0ZXN0LWNwbHVzLWRlbWFuZ2xlLmJpbjpcbiBcdCQoQlVJTEQpIC1saWJlcnR5XG4gXG5kaWZmIC0tZ2l0IGEvdG9vbHMvb2JqdG9vbC9NYWtlZmlsZSBiL3Rvb2xzL29ianRvb2wvTWFrZWZpbGVcbmluZGV4IGE0NDg0ZmQyMmE5NmQuLjE0MWI5NTdjNTY2YjAgMTAwNjQ0XG4tLS0gYS90b29scy9vYmp0b29sL01ha2VmaWxlXG4rKysgYi90b29scy9vYmp0b29sL01ha2VmaWxlXG5AQCAtODgsNyArODgsOCBAQCBMSUJPUENPREVTX0xJQlMgOj0gJChzaGVsbCBcXFxuIFx0Zm9yIGxpYnMgaW4gXCItbG9wY29kZXNcIiBcXFxuIFx0XHQgICAgXCItbG9wY29kZXMgLWxiZmRcIiBcXFxuIFx0XHQgICAgXCItbG9wY29kZXMgLWxiZmQgLWxpYmVydHlcIiBcXFxuLVx0XHQgICAgXCItbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6XCI7IGRvIFxcXG4rXHRcdCAgICBcIi1sb3Bjb2RlcyAtbGJmZCAtbGliZXJ0eSAtbHpcIiBcXFxuK1x0XHQgICAgXCItbG9wY29kZXMgLWxiZmQgLWxpYmVydHkgLWx6IC1senN0ZFwiOyBkbyBcXFxuIFx0XHRlY2hvICdleHRlcm4gdm9pZCBkaXNhc3NlbWJsZV9pbml0X2Zvcl90YXJnZXQodm9pZCAqKTsnIFxcXG4gXHRcdCAgICAgJ2ludCBtYWluKHZvaWQpIHsgZGlzYXNzZW1ibGVfaW5pdF9mb3JfdGFyZ2V0KDApOyByZXR1cm4gMDsgfScgfCBcXFxuIFx0XHRcdCQoSE9TVENDKSAteGMgLSAtbyAvZGV2L251bGwgJCRsaWJzIDJcdTAwM2UvZGV2L251bGwgXHUwMDI2XHUwMDI2IFxcXG5kaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWcgYi90b29scy9wZXJmL01ha2VmaWxlLmNvbmZpZ1xuaW5kZXggNGQ1OTkzZGE5Zjk0NS4uZjU4OWE0NjFmNGJlNiAxMDA2NDRcbi0tLSBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUuY29uZmlnXG4rKysgYi90b29scy9wZXJmL01ha2VmaWxlLmNvbmZpZ1xuQEAgLTg5Myw2ICs4OTMsNyBAQCBpZmRlZiBCVUlMRF9OT05ESVNUUk9cbiAgICQoY2FsbCBmZWF0dXJlX2NoZWNrLGxpYmJmZC10aHJlYWRzYWZlKVxuICAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHkpXG4gICAkKGNhbGwgZmVhdHVyZV9jaGVjayxsaWJiZmQtbGliZXJ0eS16KVxuKyAgJChjYWxsIGZlYXR1cmVfY2hlY2ssbGliYmZkLWxpYmVydHktei16c3RkKVxuIFxuICAgaWZuZXEgKCQoZmVhdHVyZS1saWJiZmQtdGhyZWFkc2FmZSksIDEpXG4gICAgICQoZXJyb3IgYmludXRpbHMtZGV2KGVsKSAyLjQyIG9yIGxhdGVyIGlzIHJlcXVpcmVkIGZvciBub24tZGlzdHJvIGJ1aWxkcylcbkBAIC05MDYsNiArOTA3LDggQEAgaWZkZWYgQlVJTERfTk9ORElTVFJPXG4gICAgIEVYVExJQlMgKz0gLWxiZmQgLWxvcGNvZGVzIC1saWJlcnR5XG4gICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16KSwgMSlcbiAgICAgRVhUTElCUyArPSAtbGJmZCAtbG9wY29kZXMgLWxpYmVydHkgLWx6XG4rICBlbHNlIGlmZXEgKCQoZmVhdHVyZS1saWJiZmQtbGliZXJ0eS16LXpzdGQpLCAxKVxuKyAgICBFWFRMSUJTICs9IC1sYmZkIC1sb3Bjb2RlcyAtbGliZXJ0eSAtbHogLWx6c3RkXG4gICBlbmRpZlxuIFxuICAgQ0ZMQUdTICs9IC1ESEFWRV9MSUJCRkRfU1VQUE9SVFxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDktMDlUMjE6Mzg6MjcuMDkwMjY5MjUyWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6NDkyMTczMjg2NywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggYWZmZWN0cyBhIGJ1bmNoIG9mIE1ha2VmaWxlcywgc3BlY2lmaWNhbGx5IHdpdGhpbiB0aGUgYHRvb2xzL2AgZGlyZWN0b3J5LiBJIHNlZSBpdCdzIHRvdWNoaW5nIGBicGZ0b29sYCwgYGJ1aWxkYCwgYG9ianRvb2xgLCBhbmQgYHBlcmZgIC0gYWxsIHVzZXItc3BhY2UgdG9vbGluZy4gTXkgaW5pdGlhbCB0aG91Z2h0LCBiYXNlZCBvbiB0aGUgdHJpYWdlIGd1aWRlbGluZXMsIGlzIHRoYXQgdGhpcyBpcyB1bmxpa2VseSB0byB3YXJyYW50IGZ1enppbmcsIHNpbmNlIHRoZXNlIGZpbGVzIGRvbid0IGRpcmVjdGx5IGltcGFjdCB0aGUga2VybmVsIGltYWdlIG9yIG1vZHVsZXMuIFRoZSBndWlkZWxpbmVzIHN0YXRlIGNsZWFybHkgdGhhdCBjaGFuZ2VzIHdpdGhpbiB1c2VyLXNwYWNlIGRpcmVjdG9yaWVzIGxpa2UgYHRvb2xzL2AgdGhhdCAqZG9uJ3QqIGFmZmVjdCB0aGUga2VybmVsIHNob3VsZCBiZSBtYXJrZWQgYXMgbm90IHdvcnRoIGZ1enppbmcuXG5cbk5vdywgSSBuZWVkIHRvIGJlICphYnNvbHV0ZWx5KiBzdXJlLiBMZXQgbWUgZG91YmxlLWNoZWNrIHRoZSBgb2JqdG9vbGAgY2hhbmdlcywgYXMgc29tZXRpbWVzIGEgc2VlbWluZ2x5IGJ1aWxkLXRpbWUgdG9vbCBjYW4gaW5kaXJlY3RseSBhZmZlY3QgdGhlIGtlcm5lbC4gTG9va3MgbGlrZSB0aGUgY2hhbmdlIGludm9sdmVzIGFkZGluZyBgLWx6c3RkYCBzdXBwb3J0IGR1cmluZyBsaW5raW5nIHdpdGggYGxpYmJmZGAgYW5kIGBsaWJvcGNvZGVzYCBmb3IgZmVhdHVyZSBkZXRlY3Rpb24gYW5kIGxpbmtpbmcgb2YgdGhlc2UgdG9vbHMuIEFoYSwgaXQncyBhYm91dCBtYWtpbmcgdGhlc2UgdG9vbHMgKmJ1aWxkKiBiZXR0ZXIsIG5vdCBjaGFuZ2luZyBhbnkga2VybmVsIEMgY29kZSBvciBpbXBhY3RpbmcgcnVudGltZSBiZWhhdmlvdXIuIFRoZXJlZm9yZSwgKipXb3J0aEZ1enppbmcgPSBmYWxzZSoqLiBObyBrZXJuZWwgY29kZSBoYXMgYmVlbiBjaGFuZ2VkLlxuXG5TbywgbGV0J3MgY29uZmlybSB0aGUgcGFyYW1ldGVycyBJJ20gcGFzc2luZyB0byBgc2V0LXJlc3VsdHNgOlxuXG4qICAgKipXb3J0aEZ1enppbmcqKjogYGZhbHNlYFxuKiAgICoqRW5hYmxlQ29uZmlncyoqOiBgW11gIChlbXB0eSBhcnJheSlcbiogICAqKkZvY3VzU3ltYm9scyoqOiBgW11gIChlbXB0eSBhcnJheSlcbiogICAqKlJlYXNvbmluZyoqOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGJ1aWxkIGNvbmZpZ3VyYXRpb25zIGFuZCBNYWtlZmlsZXMgaW4gdXNlci1zcGFjZSB0b29scyAodG9vbHMvYnBmL2JwZnRvb2wsIHRvb2xzL2J1aWxkLCB0b29scy9vYmp0b29sLCB0b29scy9wZXJmKSB0byBzdXBwb3J0IGxpbmtpbmcgbGliYmZkL2xpYm9wY29kZXMgd2l0aCB6c3RkLiBJdCBkb2VzIG5vdCBtb2RpZnkgYW55IGtlcm5lbCBleGVjdXRhYmxlIGNvZGUuXCJcblxuQWxyaWdodCwgd2l0aCB0aGF0IGNvbmZpcm1lZCwgSSdtIHJlYWR5IHRvIGNhbGwgYHNldC1yZXN1bHRzYC4gSXQncyBhIGNsZWFyIFwibm9cIiBvbiB0aGlzIG9uZS5cblxuXG4iLCJJbnB1dFRva2VucyI6NDc1MiwiT3V0cHV0VG9rZW5zIjo5NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjM5NCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDIxOjM4OjMyLjAxMjAwNDQ5OFoiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6InNldC1yZXN1bHRzIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MzAxOTAsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggb25seSBtb2RpZmllcyBidWlsZCBjb25maWd1cmF0aW9ucyBhbmQgTWFrZWZpbGVzIGluIHVzZXItc3BhY2UgZGlyZWN0b3JpZXMgdW5kZXIgdG9vbHMvICh0b29scy9icGYvYnBmdG9vbCwgdG9vbHMvYnVpbGQsIHRvb2xzL29ianRvb2wsIHRvb2xzL3BlcmYpIHRvIHN1cHBvcnQgbGlua2luZyB3aXRoIC1senN0ZCB3aGVuIGRldGVjdGluZyBhbmQgdXNpbmcgbGliYmZkL2xpYm9wY29kZXMuIE5vIGV4ZWN1dGFibGUga2VybmVsIGNvZGUgaXMgbW9kaWZpZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IG51bGwsXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBvbmx5IG1vZGlmaWVzIGJ1aWxkIGNvbmZpZ3VyYXRpb25zIGFuZCBNYWtlZmlsZXMgaW4gdXNlci1zcGFjZSBkaXJlY3RvcmllcyB1bmRlciB0b29scy8gKHRvb2xzL2JwZi9icGZ0b29sLCB0b29scy9idWlsZCwgdG9vbHMvb2JqdG9vbCwgdG9vbHMvcGVyZikgdG8gc3VwcG9ydCBsaW5raW5nIHdpdGggLWx6c3RkIHdoZW4gZGV0ZWN0aW5nIGFuZCB1c2luZyBsaWJiZmQvbGlib3Bjb2Rlcy4gTm8gZXhlY3V0YWJsZSBrZXJuZWwgY29kZSBpcyBtb2RpZmllZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA5LTA5VDIxOjM4OjMyLjAxMjAzODAwOFoiLCJTZXEiOjUsIk5lc3RpbmciOjEsIlR5cGUiOiJhY3Rpb24iLCJOYW1lIjoiSWYiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMDEwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfV07CgkJCWlmICghcmF3RGF0YSB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSk7CgkJCWRyYXdEdXJhdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCQlkcmF3VG9rZW5Db25zdW1wdGlvbkNoYXJ0KHJhd0RhdGEpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1N1bW1hcnlUYWJsZXMocmF3RGF0YSkgewoJCQljb25zdCBzdGF0cyA9IHsKCQkJCWxsbTogeyBjb3VudDogMCwgdG9rZW5zOiAwLCBkdXJhdGlvbjogMCB9LAoJCQkJdG9vbDogeyBjb3VudDogMCwgZHVyYXRpb246IDAgfQoJCQl9OwoKCQkJcmF3RGF0YS5mb3JFYWNoKHMgPT4gewoJCQkJY29uc3QgZHVyID0gcy5EdXJhdGlvbiAvIDEwMDAwMDAwMDA7IAoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIpIHsKCQkJCQlzdGF0cy5sbG0uY291bnQrKzsKCQkJCQlzdGF0cy5sbG0udG9rZW5zICs9IChzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zKTsKCQkJCQlzdGF0cy5sbG0uZHVyYXRpb24gKz0gZHVyOwoJCQkJfSBlbHNlIGlmIChzLlR5cGUgPT09ICJ0b29sIikgewoJCQkJCXN0YXRzLnRvb2wuY291bnQrKzsKCQkJCQlzdGF0cy50b29sLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0KCQkJfSk7CgoJCQljb25zdCBhdmdMbG1EdXIgPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS5kdXJhdGlvbiAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z0xsbVRva2VuID0gc3RhdHMubGxtLmNvdW50ID4gMCA/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-workflowsb85b[1] Phase: Running StartedAt: 2026-09-09 21:38:43 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowsb85b[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-09-09 21:38:43 +0000 UTC FinishedAt: 2026-09-09 21:38:49 +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,}