PGh0bWw+Cgk8aGVhZD4KCQk8dGl0bGU+Qk9PU1RfUFBfU0VRX1RSQU5TRk9STTwvdGl0bGU+CgkJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+Cgk8L2hlYWQ+Cgk8Ym9keT4KCQk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCQlUaGUgPGI+Qk9PU1RfUFBfU0VRX1RSQU5TRk9STTwvYj4gbWFjcm8gdHJhbnNmb3JtcyBlYWNoIGVsZW1lbnQgaW4gYSA8aT5zZXE8L2k+IAoJCQlhY2NvcmRpbmcgdG8gYSBzdXBwbGllZCB0cmFuc2Zvcm1hdGlvbi4KCQk8L2Rpdj4KCQk8aDQ+CgkJCVVzYWdlCgkJPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfU0VRX1RSQU5TRk9STTwvYj4oPGk+b3A8L2k+LCA8aT5kYXRhPC9pPiwgPGk+c2VxPC9pPikKCQk8L2Rpdj4KCQk8aDQ+CgkJCUFyZ3VtZW50cwoJCTwvaDQ+CgkJPGRsPgoJCQk8ZHQ+b3A8L2R0PgoJCQk8ZGQ+CgkJCQlBIHRlcm5hcnkgcHJlZGljYXRlIG9mIHRoZSBmb3JtIDxpPm9wPC9pPig8aT5zPC9pPiwgPGk+ZGF0YTwvaT4sIDxpPmVsZW08L2k+KS4mbmJzcDsgCgkJCQlUaGlzIHRyYW5zZm9ybWF0aW9uIGlzIGV4cGFuZGVkIGJ5IDxiPkJPT1NUX1BQX1NFUV9UUkFOU0ZPUk08L2I+IGZvciBlYWNoIAoJCQkJZWxlbWVudCBpbiA8aT5zZXE8L2k+IHdpdGggdGhlIG5leHQgYXZhaWxhYmxlIDxiPkJPT1NUX1BQX1NFUV9GT0xEX0xFRlQ8L2I+IGZvbGQgCgkJCQlzdGVwLCB0aGUgYXV4aWxpYXJ5IDxpPmRhdGE8L2k+LCBhbmQgdGhlIGN1cnJlbnQgZWxlbWVudCBpbiA8aT5zZXE8L2k+LiZuYnNwOwoJCQk8L2RkPgoJCQk8ZHQ+ZGF0YTwvZHQ+CgkJCTxkZD4KCQkJCUF1eGlsaWFyeSBkYXRhIHBhc3NlZCB0byA8aT5wcmVkPC9pPi4KCQkJPC9kZD4KCQkJPGR0PnNlcTwvZHQ+CgkJCTxkZD4KCQkJCVRoZSA8aT5zZXE8L2k+IHRvIGJlIHRyYW5zZm9ybWVkLgoJCQk8L2RkPgoJCTwvZGw+CgkJPGg0PgoJCQlSZW1hcmtzCgkJPC9oND4KCQk8ZGl2PgoJCQlUaGlzIG1hY3JvIGV4cGFuZHMgPGk+b3A8L2k+IGZvciBlYWNoIGVsZW1lbnQgaW4gPGk+c2VxPC9pPi4mbmJzcDsgSXQgYnVpbGRzIGEgCgkJCW5ldyA8aT5zZXE8L2k+IG91dCBvZiB0aGUgcmVzdWx0cyBvZiBlYWNoIGNhbGwuJm5ic3A7IElmLCBmb3IgZXhhbXBsZSwgPGk+c2VxPC9pPgoJCQlpcyAoPGk+YTwvaT4pKDxpPmI8L2k+KSg8aT5jPC9pPiksIHRoaXMgbWFjcm8gZXhwYW5kcyB0by4uLgoJCQk8ZGl2PgoJCQkJKDxpPm9wPC9pPig8aT5kPC9pPiwgPGk+ZGF0YTwvaT4sIDxpPmE8L2k+KSkoPGk+b3A8L2k+KDxpPmQ8L2k+LCA8aT5kYXRhPC9pPiwgPGk+YjwvaT4pKSg8aT5vcDwvaT4oPGk+ZDwvaT4sCgkJCQk8aT5kYXRhPC9pPiwgPGk+YzwvaT4pKQoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2PgoJCQlGb3IgbWF4aW11bSBlZmZpY2llbmN5LCB1c2UgPGI+Qk9PU1RfUFBfU0VRX1RSQU5TRk9STV9TPC9iPi4KCQk8L2Rpdj4KCQk8aDQ+CgkJCVNlZSBBbHNvCgkJPC9oND4KCQk8dWw+CgkJCTxsaT4KCQkJCTxhIGhyZWY9InNlcV90cmFuc2Zvcm1fcy5odG1sIj5CT09TVF9QUF9TRVFfVFJBTlNGT1JNX1M8L2E+PC9saT4KCQk8L3VsPgoJCTxoND4KCQkJUmVxdWlyZW1lbnRzCgkJPC9oND4KCQk8ZGl2PgoJCQk8Yj5IZWFkZXI6PC9iPiAmbmJzcDs8YSBocmVmPSIuLi9oZWFkZXJzL3NlcS90cmFuc2Zvcm0uaHRtbCI+Jmx0O2Jvb3N0L3ByZXByb2Nlc3Nvci9zZXEvdHJhbnNmb3JtLmhwcCZndDs8L2E+CgkJPC9kaXY+CgkJPGg0PgoJCQlTYW1wbGUgQ29kZQoJCTwvaDQ+CgkJPGRpdj4KCQkJPHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvYXJpdGhtZXRpYy9kZWMuaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL2FyaXRobWV0aWMvZGVjLmhwcDwvYT4mZ3Q7CiNpbmNsdWRlICZsdDs8YSBocmVmPSIuLi9oZWFkZXJzL3NlcS90cmFuc2Zvcm0uaHRtbCI+Ym9vc3QvcHJlcHJvY2Vzc29yL3NlcS90cmFuc2Zvcm0uaHBwPC9hPiZndDsKCiNkZWZpbmUgU0VRICgxKSgzKSgyKSg1KQoKI2RlZmluZSBPUChzLCBkYXRhLCBlbGVtKSA8YSBocmVmPSJkZWMuaHRtbCI+Qk9PU1RfUFBfREVDPC9hPihlbGVtKQoKPGEgaHJlZj0ic2VxX3RyYW5zZm9ybS5odG1sIj5CT09TVF9QUF9TRVFfVFJBTlNGT1JNPC9hPihPUCwgMywgU0VRKQogICAvLyBleHBhbmRzIHRvICgwKSgyKSgxKSg0KQo8L3ByZT4KCQk8L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KCTwvYm9keT4KPC9odG1sPgo=