PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX0xJU1RfQVRfRDwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX0xJU1RfQVRfRDwvYj4gbWFjcm8gZXh0cmFjdHMgYW4gZWxlbWVudCBpbiBhIDxpPmxpc3Q8L2k+LiZuYnNwOwoJCUl0IHJlZW50ZXJzIDxiPkJPT1NUX1BQX1dISUxFPC9iPiB3aXRoIG1heGltdW0gZWZmaWNpZW5jeS4KCTwvZGl2PgoJPGg0PlVzYWdlPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfTElTVF9BVF9EPC9iPig8aT5kPC9pPiwgPGk+bGlzdDwvaT4sIDxpPmluZGV4PC9pPikKCQk8L2Rpdj4KCTxoND5Bcmd1bWVudHM8L2g0PgoJCTxkbD4KCQkJPGR0PmQ8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgbmV4dCBhdmFpbGFibGUgPGI+Qk9PU1RfUFBfV0hJTEU8L2I+IGl0ZXJhdGlvbi4KCQkJPC9kZD4KCQkJPGR0Pmxpc3Q8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgPGk+bGlzdDwvaT4gZnJvbSB3aGljaCBhIGVsZW1lbnQgaXMgdG8gYmUgZXh0cmFjdGVkLiZuYnNwOwoJCQkJVGhpcyA8aT5saXN0PC9pPiBtdXN0IGhhdmUgYXQgbGVhc3QgPGk+aW5kZXg8L2k+ICsgPGk+MTwvaT4gZWxlbWVudHMuCgkJCTwvZGQ+CgkJCTxkdD5pbmRleDwvZHQ+CgkJCTxkZD4KCQkJCVRoZSB6ZXJvLWJhc2VkIHBvc2l0aW9uIGluIHRoZSA8aT5saXN0PC9pPiBvZiB0aGUgZWxlbWVudCB0byBiZSBleHRyYWN0ZWQuCgkJCTwvZGQ+CgkJPC9kbD4KCTxoND5TZWUgQWxzbzwvaDQ+CgkJPHVsPgoJCQk8bGk+PGEgaHJlZj0ibGlzdF9hdC5odG1sIj5CT09TVF9QUF9MSVNUX0FUPC9hPjwvbGk+CgkJPC91bD4KCTxoND5SZXF1aXJlbWVudHM8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvbGlzdC9hdC5odG1sIj4mbHQ7Ym9vc3QvcHJlcHJvY2Vzc29yL2xpc3QvYXQuaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvY29udHJvbC93aGlsZS5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvY29udHJvbC93aGlsZS5ocHA8L2E+Jmd0OwojaW5jbHVkZSAmbHQ7PGEgaHJlZj0iLi4vaGVhZGVycy9saXN0L2F0Lmh0bWwiPmJvb3N0L3ByZXByb2Nlc3Nvci9saXN0L2F0LmhwcDwvYT4mZ3Q7CgojZGVmaW5lIExJU1QgKDcsICgyLCAoMCwgKDEsIDxhIGhyZWY9Im5pbC5odG1sIj5CT09TVF9QUF9OSUw8L2E+KSkpKQoKI2RlZmluZSBQUkVEKGQsIHN0YXRlKSA8YSBocmVmPSJsaXN0X2F0X2QuaHRtbCI+Qk9PU1RfUFBfTElTVF9BVF9EPC9hPihkLCBzdGF0ZSwgMCkKI2RlZmluZSBPUChkLCBzdGF0ZSkgPGEgaHJlZj0ibGlzdF9yZXN0Lmh0bWwiPkJPT1NUX1BQX0xJU1RfUkVTVDwvYT4oc3RhdGUpCgo8YSBocmVmPSJ3aGlsZS5odG1sIj5CT09TVF9QUF9XSElMRTwvYT4oUFJFRCwgT1AsIExJU1QpIC8vIGV4cGFuZHMgdG8gKDAsICgxLCA8YSBocmVmPSJuaWwuaHRtbCI+Qk9PU1RfUFBfTklMPC9hPikpCjwvcHJlPjwvZGl2PgoJPGhyIHNpemU9IjEiPgoJPGRpdiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDBweDsiPgoJCTxpPqkgQ29weXJpZ2h0IDxhIGhyZWY9Imh0dHA6Ly93d3cuaG91c2VtYXJxdWUuY29tIiB0YXJnZXQ9Il90b3AiPkhvdXNlbWFycXVlIE95PC9hPiAyMDAyPC9pPgoJCTwvYnI+PGk+qSBDb3B5cmlnaHQgUGF1bCBNZW5zb25pZGVzIDIwMDI8L2k+Cgk8L2Rpdj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8cD48c21hbGw+RGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEJvb3N0IFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4wLiAoU2VlCgkJYWNjb21wYW55aW5nIGZpbGUgPGEgaHJlZj0iLi4vLi4vLi4vLi4vTElDRU5TRV8xXzAudHh0Ij5MSUNFTlNFXzFfMC50eHQ8L2E+IG9yCgkJY29weSBhdCA8YSBocmVmPQoJCSJodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQiPnd3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0PC9hPik8L3NtYWxsPjwvcD4KCTwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K