PGh0bWw+CjxoZWFkPgoJPHRpdGxlPkJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPXzNSRDwvdGl0bGU+Cgk8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi9zdHlsZXMuY3NzIj4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAgMHB4OyI+CgkJVGhlIDxiPkJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPXzNSRDwvYj4gbWFjcm8gcmVwcmVzZW50cyB0aGUgdGhpcmQgZGltZW5zaW9uIG9mIDxiPkJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPPC9iPi4KCTwvZGl2PgoJPGg0PlVzYWdlPC9oND4KCQk8ZGl2IGNsYXNzPSJjb2RlIj4KCQkJPGI+Qk9PU1RfUFBfUkVQRUFUX0ZST01fVE9fM1JEPC9iPig8aT5maXJzdDwvaT4sIDxpPmxhc3Q8L2k+LCA8aT5tYWNybzwvaT4sIDxpPmRhdGE8L2k+KQoJCTwvZGl2PgoJPGg0PkFyZ3VtZW50czwvaDQ+CgkJPGRsPgoJCQk8ZHQ+Zmlyc3Q8L2R0PgoJCQk8ZGQ+CgkJCQlUaGUgbG93ZXIgYm91bmQgb2YgdGhlIHJlcGV0aXRpb24uJm5ic3A7CgkJCQlWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSA8aT4wPC9pPiB0byA8Yj5CT09TVF9QUF9MSU1JVF9NQUc8L2I+LgoJCQk8L2RkPgoJCQk8ZHQ+bGFzdDwvZHQ+CgkJCTxkZD4KCQkJCVRoZSB1cHBlciBib3VuZCBvZiB0aGUgcmVwZXRpdGlvbi4KCQkJCVZhbGlkIHZhbHVlcyByYW5nZSBmcm9tIDxpPjA8L2k+IHRvIDxiPkJPT1NUX1BQX0xJTUlUX01BRzwvYj4uCgkJCTwvZGQ+CgkJCTxkdD5tYWNybzwvZHQ+CgkJCTxkZD4KCQkJCUEgdGVybmFyeSBvcGVyYXRpb24gb2YgdGhlIGZvcm0gPGk+bWFjcm88L2k+KDxpPno8L2k+LCA8aT5uPC9pPiwgPGk+ZGF0YTwvaT4pLiZuYnNwOwoJCQkJVGhpcyBtYWNybyBpcyBleHBhbmRlZCBieSA8Yj5CT09TVF9QUF9SRVBFQVRfRlJPTV9UT18zUkQ8L2I+IHdpdGggdGhlIG5leHQgYXZhaWxhYmxlIHJlcGV0aXRpb24gZGVwdGgsCgkJCQl0aGUgY3VycmVudCByZXBldGl0aW9uIG51bWJlciwgYW5kIHRoZSBhdXhpbGlhcnkgPGk+ZGF0YTwvaT4gYXJndW1lbnQuJm5ic3A7CgkJCTwvZGQ+CgkJCTxkdD5kYXRhPC9kdD4KCQkJPGRkPgoJCQkJQXV4aWxpYXJ5IGRhdGEgcGFzc2VkIHRvIDxpPm1hY3JvPC9pPi4KCQkJPC9kZD4KCQk8L2RsPgoJPGg0PlJlbWFya3M8L2g0PgoJCTxkaXY+CgkJCVRoaXMgbWFjcm8gZXhwYW5kcyB0byB0aGUgc2VxdWVuY2U6CgkJCTxkaXY+CgkJCQk8aT5tYWNybzwvaT4oPGk+ejwvaT4sIDxpPmZpcnN0PC9pPiwgPGk+ZGF0YTwvaT4pIDxpPm1hY3JvPC9pPig8aT56PC9pPiwgPGk+Zmlyc3Q8L2k+ICsgPGk+MTwvaT4sIDxpPmRhdGE8L2k+KSAuLi4gPGk+bWFjcm88L2k+KDxpPno8L2k+LCA8aT5sYXN0PC9pPiAtIDxpPjE8L2k+LCA8aT5kYXRhPC9pPikKCQkJPC9kaXY+CgkJPC9kaXY+CgkJPGRpdj4KCQkJVGhlIG51bWJlciBvZiByZXBldGl0aW9ucyAoaS5lLiA8aT5sYXN0PC9pPiAtIDxpPmZpcnN0PC9pPikgbXVzdCBub3QgZXhjZWVkIDxiPkJPT1NUX1BQX0xJTUlUX1JFUEVBVDwvYj4uCgkJPC9kaXY+CgkJPGRpdj4KCQkJVGhlIDxpPno8L2k+IHZhbHVlIHRoYXQgaXMgcGFzc2VkIHRvIDxpPm1hY3JvPC9pPiByZXByZXNlbnRzIHRoZSBuZXh0IGF2YWlsYWJsZSByZXBldGl0aW9uIGRpbWVuc2lvbi4mbmJzcDsKCQkJT3RoZXIgbWFjcm9zIHRoYXQgaGF2ZSA8Yj5fWjwvYj4gc3VmZml4IHZhcmlhbnRzIGludGVybmFsbHkgdXNlIDxiPkJPT1NUX1BQX1JFUEVBVDwvYj4tLWZvciBleGFtcGxlLCA8Yj5CT09TVF9QUF9FTlVNX1BBUkFNUzwvYj4gYW5kIDxiPkJPT1NUX1BQX0VOVU1fUEFSQU1TX1o8L2I+LiZuYnNwOwoJCQlVc2luZyB0aGVzZSA8Yj5fWjwvYj4gdmVyc2lvbnMgaXMgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSwgYnV0IHBhc3NpbmcgdGhlIDxpPno8L2k+IHZhbHVlICh0aGF0IGlzIHBhc3NlZCB0byA8aT5tYWNybzwvaT4pIHRvIHRoZXNlIG1hY3JvcyBhbGxvd3MgdGhlbSB0byByZWVudGVyIDxiPkJPT1NUX1BQX1JFUEVBVDwvYj4gd2l0aCBtYXhpbXVtIGVmZmljaWVuY3kuCgkJPC9kaXY+CgkJPGRpdj4KCQkJVG8gZGlyZWN0bHkgdXNlIHRoaXMgPGk+ejwvaT4gdmFsdWUsIHJhdGhlciB0aGFuIHNpbXBseSBwYXNzaW5nIGl0IHRvIGFub3RoZXIgbWFjcm8sIHNlZSA8Yj5CT09TVF9QUF9SRVBFQVRfRlJPTV9UT188aT56PC9pPjwvYj4uCgkJPC9kaXY+CgkJPGRpdj4KCQkJVGhpcyBtYWNybyBpcyBkZXByZWNhdGVkLiZuYnNwOwoJCQlJdCBvbmx5IGV4aXN0cyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4mbmJzcDsKCQkJVXNlIDxiPkJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPPC9iPiBpbnN0ZWFkLgoJCTwvZGl2PgoJPGg0PlNlZSBBbHNvPC9oND4KCQk8dWw+CgkJCTxsaT48YSBocmVmPSJsaW1pdF9tYWcuaHRtbCI+Qk9PU1RfUFBfTElNSVRfTUFHPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJsaW1pdF9yZXBlYXQuaHRtbCI+Qk9PU1RfUFBfTElNSVRfUkVQRUFUPC9hPjwvbGk+CgkJCTxsaT48YSBocmVmPSJyZXBlYXRfZnJvbV90b196Lmh0bWwiPkJPT1NUX1BQX1JFUEVBVF9GUk9NX1RPXzxpPno8L2k+PC9hPjwvbGk+CgkJPC91bD4KCTxoND5SZXF1aXJlbWVudHM8L2g0PgoJCTxkaXY+CgkJCTxiPkhlYWRlcjo8L2I+ICZuYnNwOzxhIGhyZWY9Ii4uL2hlYWRlcnMvcmVwZXRpdGlvbi9yZXBlYXRfZnJvbV90by5odG1sIj4mbHQ7Ym9vc3QvcHJlcHJvY2Vzc29yL3JlcGV0aXRpb24vcmVwZWF0X2Zyb21fdG8uaHBwJmd0OzwvYT4KCQk8L2Rpdj4KCTxoND5TYW1wbGUgQ29kZTwvaDQ+CjxkaXY+PHByZT4KI2luY2x1ZGUgJmx0OzxhIGhyZWY9Ii4uL2hlYWRlcnMvcmVwZXRpdGlvbi9yZXBlYXRfZnJvbV90by5odG1sIj5ib29zdC9wcmVwcm9jZXNzb3IvcmVwZXRpdGlvbi9yZXBlYXRfZnJvbV90by5ocHA8L2E+Jmd0OwoKI2RlZmluZSBNQUNSTyh6LCBuLCBkYXRhKSAobikKCjxhIGhyZWY9InJlcGVhdF9mcm9tX3RvXzNyZC5odG1sIj5CT09TVF9QUF9SRVBFQVRfRlJPTV9UT18zUkQ8L2E+KDEsIDYsIE1BQ1JPLCBuaWwpCiAgIC8vIGV4cGFuZHMgdG8gKDEpICgyKSAoMykgKDQpICg1KQo8L3ByZT48L2Rpdj4KCTxociBzaXplPSIxIj4KCTxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAwcHg7Ij4KCQk8aT6pIENvcHlyaWdodCA8YSBocmVmPSJodHRwOi8vd3d3LmhvdXNlbWFycXVlLmNvbSIgdGFyZ2V0PSJfdG9wIj5Ib3VzZW1hcnF1ZSBPeTwvYT4gMjAwMjwvaT4KCQk8L2JyPjxpPqkgQ29weXJpZ2h0IFBhdWwgTWVuc29uaWRlcyAyMDAyPC9pPgoJPC9kaXY+Cgk8ZGl2IHN0eWxlPSJtYXJnaW4tbGVmdDogMHB4OyI+CgkJPHA+PHNtYWxsPkRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZQoJCWFjY29tcGFueWluZyBmaWxlIDxhIGhyZWY9Ii4uLy4uLy4uLy4uL0xJQ0VOU0VfMV8wLnR4dCI+TElDRU5TRV8xXzAudHh0PC9hPiBvcgoJCWNvcHkgYXQgPGEgaHJlZj0KCQkiaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0Ij53d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dDwvYT4pPC9zbWFsbD48L3A+Cgk8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==