PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0xJU1RfSVNfQ09OUzwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX0xJU1RfSVNfQ09OUzwvYj4gbWFjcm8gaXMgYSBwcmVkaWNhdGUgdGhhdCBkZXRlcm1pbmVzIGlmIGEgPGk+bGlzdDwvaT4gbm90IG5pbC4KCTwvZGl2PgoJPGg0PlVzYWdlPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfTElTVF9JU19DT05TPC9iPig8aT5saXN0PC9pPikKCQk8L2Rpdj4KCTxoND5Bcmd1bWVudHM8L2g0PgoJCTxkbD4KCQkJPGR0Pmxpc3Q8L2R0PgoJCQk8ZGQ+CgkJCQlBIDxpPmxpc3Q8L2k+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJSWYgPGk+bGlzdDwvaT4gaXMgbm9uLW5pbCwgdGhpcyBtYWNybyBleHBhbmRzIHRvIDxpPjE8L2k+LiZuYnNwOwoJCQlPdGhlcndpc2UsIGl0IGV4cGFuZHMgdG8gPGk+MDwvaT4uCgkJPC9kaXY+Cgk8aDQ+UmVxdWlyZW1lbnRzPC9oND4KCQk8ZGl2PgoJCQk8Yj5IZWFkZXI6PC9iPiAmbmJzcDs8YSBocmVmPSIuLi9oZWFkZXJzL2xpc3QvYWR0Lmh0bWwiPiZsdDtib29zdC9wcmVwcm9jZXNzb3IvbGlzdC9hZHQuaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvbGlzdC9hZHQuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL2xpc3QvYWR0LmhwcDwvYT4mZ3Q7CgojZGVmaW5lIExJU1QgKGEsIDxhIGhyZWY9Im5pbC5odG1sIj5CT09TVF9QUF9OSUw8L2E+KQoKPGEgaHJlZj0ibGlzdF9pc19jb25zLmh0bWwiPkJPT1NUX1BQX0xJU1RfSVNfQ09OUzwvYT4oTElTVCkgLy8gZXhwYW5kcyB0byAxCjxhIGhyZWY9Imxpc3RfaXNfY29ucy5odG1sIj5CT09TVF9QUF9MSVNUX0lTX0NPTlM8L2E+KDxhIGhyZWY9Imxpc3RfcmVzdC5odG1sIj5CT09TVF9QUF9MSVNUX1JFU1Q8L2E+KExJU1QpKSAvLyBleHBhbmRzIHRvIDAKPC9wcmU+PC9kaXY+Cgk8aHIgc2l6ZT0iMSI+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPGk+qSBDb3B5cmlnaHQgPGEgaHJlZj0iaHR0cDovL3d3dy5ob3VzZW1hcnF1ZS5jb20iIHRhcmdldD0iX3RvcCI+SG91c2VtYXJxdWUgT3k8L2E+IDIwMDI8L2k+CgkJPC9icj48aT6pIENvcHlyaWdodCBQYXVsIE1lbnNvbmlkZXMgMjAwMjwvaT4KCTwvZGl2PgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxwPjxzbWFsbD5EaXN0cmlidXRlZCB1bmRlciB0aGUgQm9vc3QgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAxLjAuIChTZWUKCQlhY2NvbXBhbnlpbmcgZmlsZSA8YSBocmVmPSIuLi8uLi8uLi8uLi9MSUNFTlNFXzFfMC50eHQiPkxJQ0VOU0VfMV8wLnR4dDwvYT4gb3IKCQljb3B5IGF0IDxhIGhyZWY9CgkJImh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCI+d3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQ8L2E+KTwvc21hbGw+PC9wPgoJPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=