PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0FSUkFZX0VMRU08L3RpdGxlPgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+CjwvaGVhZD4KPGJvZHk+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCVRoZSA8Yj5CT09TVF9QUF9BUlJBWV9FTEVNPC9iPiBtYWNybyBleHRyYWN0cyBhbiBlbGVtZW50IGZyb20gYSA8aT5hcnJheTwvaT4uCgk8L2Rpdj4KCTxoND5Vc2FnZTwvaDQ+CgkJPGRpdiBjbGFzcz0iY29kZSI+CgkJCTxiPkJPT1NUX1BQX0FSUkFZX0VMRU08L2I+KDxpPmk8L2k+LCA8aT5hcnJheTwvaT4pCgkJPC9kaXY+Cgk8aDQ+QXJndW1lbnRzPC9oND4KCQk8ZGw+CgkJCTxkdD5pPC9kdD4KCQkJPGRkPgoJCQkJVGhlIHplcm8tYmFzZWQgaW5kZXggaW50byB0aGUgPGk+YXJyYXk8L2k+IG9mIHRoZSBlbGVtZW50IHRvIGJlIGV4dHJhY3RlZC4mbmJzcDsKCQkJPC9kZD4KCQkJPGR0PmFycmF5PC9kdD4KCQkJPGRkPgoJCQkJVGhlIDxpPmFycmF5PC9pPiBmcm9tIHdoaWNoIGFuIGVsZW1lbnQgaXMgdG8gYmUgZXh0cmFjdGVkLiZuYnNwOwoJCQkJVGhpcyA8aT5hcnJheTwvaT4gbXVzdCBjb250YWluIGF0IGxlYXN0IDxpPmk8L2k+ICsgPGk+MTwvaT4gZWxlbWVudHMuCgkJCTwvZGQ+CgkJPC9kbD4KCTxoND5SZXF1aXJlbWVudHM8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvYXJyYXkvZWxlbS5odG1sIj4mbHQ7Ym9vc3QvcHJlcHJvY2Vzc29yL2FycmF5L2VsZW0uaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvYXJyYXkvZWxlbS5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvYXJyYXkvZWxlbS5ocHA8L2E+Jmd0OwoKI2RlZmluZSBBUlJBWSAoNCwgKGEsIGIsIGMsIGQpKQoKPGEgaHJlZj0iYXJyYXlfZWxlbS5odG1sIj5CT09TVF9QUF9BUlJBWV9FTEVNPC9hPigwLCBBUlJBWSkgLy8gZXhwYW5kcyB0byBhCjxhIGhyZWY9ImFycmF5X2VsZW0uaHRtbCI+Qk9PU1RfUFBfQVJSQVlfRUxFTTwvYT4oMywgQVJSQVkpIC8vIGV4cGFuZHMgdG8gZAo8L3ByZT48L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==