PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0FTU0VSVF9NU0c8L3RpdGxlPgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+CjwvaGVhZD4KPGJvZHk+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCVRoZSA8Yj5CT09TVF9QUF9BU1NFUlRfTVNHPC9iPiBtYWNybyBjb25kaXRpb25hbGx5IGluc2VydHMgZGVidWdnaW5nIHRleHQuCgk8L2Rpdj4KCTxoND5Vc2FnZTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX0FTU0VSVF9NU0c8L2I+KDxpPmNvbmQ8L2k+LCA8aT5tc2c8L2k+KQoJCTwvZGl2PgoJPGg0PkFyZ3VtZW50czwvaDQ+CgkJPGRsPgoJCQk8ZHQ+Y29uZDwvZHQ+CgkJCTxkZD4KCQkJCUEgY29uZGl0aW9uIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGFzc2VydGlvbiBvY2N1cnMuJm5ic3A7CgkJCQlWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA8aT4wPC9pPiB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCQk8L2RkPgoJCQk8ZHQ+bXNnPC9kdD4KCQkJPGRkPgoJCQkJQSBtZXNzYWdlIHRvIGRpc3BsYXkgaWYgPGk+Y29uZDwvaT4gZXZhbHVhdGVzIHRvIDxpPjA8L2k+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJSWYgPGk+Y29uZDwvaT4gZXhwYW5kcyB0byA8aT4wPC9pPiwgdGhpcyBtYWNybyBleHBhbmRzIHRvIDxpPm1zZzwvaT4uJm5ic3A7CgkJCU90aGVyd2lzZSwgaXQgZXhwYW5kcyB0byBub3RoaW5nLgoJCTwvZGl2PgoJPGg0PlNlZSBBbHNvPC9oND4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJhc3NlcnRfbXNnLmh0bWwiPkJPT1NUX1BQX0FTU0VSVF9NU0c8L2E+PC9saT4KCQkJPGxpPjxhIGhyZWY9ImxpbWl0X21hZy5odG1sIj5CT09TVF9QUF9MSU1JVF9NQUc8L2E+PC9saT4KCQk8L3VsPgoJPGg0PlJlcXVpcmVtZW50czwvaDQ+CgkJPGRpdj4KCQkJPGI+SGVhZGVyOjwvYj4gJm5ic3A7PGEgaHJlZj0iLi4vaGVhZGVycy9kZWJ1Zy9hc3NlcnQuaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9kZWJ1Zy9hc3NlcnQuaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvY29tcGFyaXNvbi9lcXVhbC5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvY29tcGFyaXNvbi9lcXVhbC5ocHA8L2E+Jmd0OwojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9kZWJ1Zy9hc3NlcnQuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL2RlYnVnL2Fzc2VydC5ocHA8L2E+Jmd0OwoKLy8gbGluZXMgYXJlIHN1cHBvc2VkIHRvIGJlIGNvdW50ZWQKLy8gaW4gdHJhbnNsYXRpb24gcGhhc2UgMQoKI2xpbmUgOQo8YSBocmVmPSJhc3NlcnRfbXNnLmh0bWwiPkJPT1NUX1BQX0FTU0VSVF9NU0c8L2E+KCBcCiAgIEJPT1NUX1BQX0VRVUFMKF9fTElORV9fLCA5KSwgXAogICAiaW5jb3JyZWN0IGxpbmUgbnVtYmVyaW5nIGRldGVjdGVkIiBcCikKPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=