PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX0Q8L3RpdGxlPgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vc3R5bGVzLmNzcyI+CjwvaGVhZD4KPGJvZHk+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogIDBweDsiPgoJCVRoZSA8Yj5CT09TVF9QUF9SRVBFQVRfRlJPTV9UT19EPC9iPiBtYWNybyByZXByZXNlbnRzIGEgZmFzdCBob3Jpem9udGFsIHJlcGV0aXRpb24gY29uc3RydWN0LiZuYnNwOwoJCUl0IHJlZW50ZXJzIDxiPkJPT1NUX1BQX1dISUxFPC9iPiB3aXRoIG1heGltdW0gZWZmaWNpZW5jeS4KCTwvZGl2PgoJPGg0PlVzYWdlPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fRDwvYj4oPGk+ZDwvaT4sIDxpPmZpcnN0PC9pPiwgPGk+bGFzdDwvaT4sIDxpPm1hY3JvPC9pPiwgPGk+ZGF0YTwvaT4pCgkJPC9kaXY+Cgk8aDQ+QXJndW1lbnRzPC9oND4KCQk8ZGw+CgkJCTxkdD5kPC9kdD4KCQkJPGRkPgoJCQkJVGhlIG5leHQgYXZhaWxhYmxlIDxiPkJPT1NUX1BQX1dISUxFPC9iPiBpdGVyYXRpb24uCgkJCTwvZGQ+CgkJCTxkdD5maXJzdDwvZHQ+CgkJCTxkZD4KCQkJCVRoZSBsb3dlciBib3VuZCBvZiB0aGUgcmVwZXRpdGlvbi4mbmJzcDsKCQkJCVZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDxpPjA8L2k+IHRvIDxiPkJPT1NUX1BQX0xJTUlUX01BRzwvYj4uCgkJCTwvZGQ+CgkJCTxkdD5sYXN0PC9kdD4KCQkJPGRkPgoJCQkJVGhlIHVwcGVyIGJvdW5kIG9mIHRoZSByZXBldGl0aW9uLgoJCQkJVmFsaWQgdmFsdWVzIHJhbmdlIGZyb20gPGk+MDwvaT4gdG8gPGI+Qk9PU1RfUFBfTElNSVRfTUFHPC9iPi4KCQkJPC9kZD4KCQkJPGR0Pm1hY3JvPC9kdD4KCQkJPGRkPgoJCQkJQSB0ZXJuYXJ5IG9wZXJhdGlvbiBvZiB0aGUgZm9ybSA8aT5tYWNybzwvaT4oPGk+ejwvaT4sIDxpPm48L2k+LCA8aT5kYXRhPC9pPikuJm5ic3A7CgkJCQlUaGlzIG1hY3JvIGlzIGV4cGFuZGVkIGJ5IDxiPkJPT1NUX1BQX1JFUEVBVDwvYj4gd2l0aCB0aGUgbmV4dCBhdmFpbGFibGUgcmVwZXRpdGlvbiBkZXB0aCwKCQkJCXRoZSBjdXJyZW50IHJlcGV0aXRpb24gbnVtYmVyLCBhbmQgdGhlIGF1eGlsaWFyeSA8aT5kYXRhPC9pPiBhcmd1bWVudC4mbmJzcDsKCQkJPC9kZD4KCQkJPGR0PmRhdGE8L2R0PgoJCQk8ZGQ+CgkJCQlBdXhpbGlhcnkgZGF0YSBwYXNzZWQgdG8gPGk+bWFjcm88L2k+LgoJCQk8L2RkPgoJCTwvZGw+Cgk8aDQ+UmVtYXJrczwvaDQ+CgkJPGRpdj4KCQkJVGhpcyBtYWNybyBleHBhbmRzIHRvIHRoZSBzZXF1ZW5jZToKCQkJPGRpdj4KCQkJCTxpPm1hY3JvPC9pPig8aT56PC9pPiwgPGk+Zmlyc3Q8L2k+LCA8aT5kYXRhPC9pPikgPGk+bWFjcm88L2k+KDxpPno8L2k+LCA8aT5maXJzdDwvaT4gKyA8aT4xPC9pPiwgPGk+ZGF0YTwvaT4pIC4uLiA8aT5tYWNybzwvaT4oPGk+ejwvaT4sIDxpPmxhc3Q8L2k+IC0gPGk+MTwvaT4sIDxpPmRhdGE8L2k+KQoJCQk8L2Rpdj4KCQk8L2Rpdj4KCQk8ZGl2PgoJCQlUaGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIChpLmUuIDxpPmxhc3Q8L2k+IC0gPGk+Zmlyc3Q8L2k+KSBtdXN0IG5vdCBleGNlZWQgPGI+Qk9PU1RfUFBfTElNSVRfUkVQRUFUPC9iPi4KCQk8L2Rpdj4KCQk8ZGl2PgoJCQlUaGUgPGk+ejwvaT4gdmFsdWUgdGhhdCBpcyBwYXNzZWQgdG8gPGk+bWFjcm88L2k+IHJlcHJlc2VudHMgdGhlIG5leHQgYXZhaWxhYmxlIHJlcGV0aXRpb24gZGltZW5zaW9uLiZuYnNwOwoJCQlPdGhlciBtYWNyb3MgdGhhdCBoYXZlIDxiPl9aPC9iPiBzdWZmaXggdmFyaWFudHMgaW50ZXJuYWxseSB1c2UgPGI+Qk9PU1RfUFBfUkVQRUFUPC9iPi0tZm9yIGV4YW1wbGUsIDxiPkJPT1NUX1BQX0VOVU1fUEFSQU1TPC9iPiBhbmQgPGI+Qk9PU1RfUFBfRU5VTV9QQVJBTVNfWjwvYj4uJm5ic3A7CgkJCVVzaW5nIHRoZXNlIDxiPl9aPC9iPiB2ZXJzaW9ucyBpcyBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5LCBidXQgcGFzc2luZyB0aGUgPGk+ejwvaT4gdmFsdWUgKHRoYXQgaXMgcGFzc2VkIHRvIDxpPm1hY3JvPC9pPikgdG8gdGhlc2UgbWFjcm9zIGFsbG93cyB0aGVtIHRvIHJlZW50ZXIgPGI+Qk9PU1RfUFBfUkVQRUFUPC9iPiB3aXRoIG1heGltdW0gZWZmaWNpZW5jeS4KCQk8L2Rpdj4KCQk8ZGl2PgoJCQlUbyBkaXJlY3RseSB1c2UgdGhpcyA8aT56PC9pPiB2YWx1ZSwgcmF0aGVyIHRoYW4gc2ltcGx5IHBhc3NpbmcgaXQgdG8gYW5vdGhlciBtYWNybywgc2VlIDxiPkJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX0RfPGk+ejwvaT48L2I+LgoJCTwvZGl2PgoJPGg0PlNlZSBBbHNvPC9oND4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJsaW1pdF9tYWcuaHRtbCI+Qk9PU1RfUFBfTElNSVRfTUFHPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJsaW1pdF9yZXBlYXQuaHRtbCI+Qk9PU1RfUFBfTElNSVRfUkVQRUFUPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJyZXBlYXRfZnJvbV90by5odG1sIj5CT09TVF9QUF9SRVBFQVRfRlJPTV9UTzwvYT48L2xpPgoJCQk8bGk+PGEgaHJlZj0icmVwZWF0X2Zyb21fdG9fZF96Lmh0bWwiPkJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPX0RfPGk+ejwvaT48L2E+PC9saT4KCQk8L3VsPgoJPGg0PlJlcXVpcmVtZW50czwvaDQ+CgkJPGRpdj4KCQkJPGI+SGVhZGVyOjwvYj4gJm5ic3A7PGEgaHJlZj0iLi4vaGVhZGVycy9yZXBldGl0aW9uL3JlcGVhdF9mcm9tX3RvLmh0bWwiPiZsdDtib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9yZXBlYXRfZnJvbV90by5ocHAmZ3Q7PC9hPgoJCTwvZGl2PgoJPGhyIHNpemU9IjEiPgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxpPqkgQ29weXJpZ2h0IDxhIGhyZWY9Imh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tIiB0YXJnZXQ9Il90b3AiPkhvdXNlbWFycXVlIE95PC9hPiAyMDAyPC9pPgoJCTwvYnI+PGk+qSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDI8L2k+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8cD48c21hbGw+RGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCgkJYWNjb21wYW55aW5nIGZpbGUgPGEgaHJlZj0iLi4vLi4vLi4vLi4vTElDRU5TRV8xXzAudHh0Ij5MSUNFTlNFXzFfMC50eHQ8L2E+IG9yCgkJY29weSBhdCA8YSBocmVmPQoJCSJodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQiPnd3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0PC9hPik8L3NtYWxsPjwvcD4KCTwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K