ZGlmZiAtLWdpdCBhL25kbmJvb3N0L3V0aWxpdHkvZGVjbHZhbC5ocHAgYi9uZG5ib29zdC91dGlsaXR5L2RlY2x2YWwuaHBwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyMjE1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9uZG5ib29zdC91dGlsaXR5L2RlY2x2YWwuaHBwCkBAIC0wLDAgKzEsNDkgQEAKKy8vICBjb21tb25fdHlwZS5ocHAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vCisKKy8vICBDb3B5cmlnaHQgMjAxMCBWaWNlbnRlIEouIEJvdGV0IEVzY3JpYmEKKworLy8gIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4KKy8vICBTZWUgaHR0cDovL3d3dy5ib29zdC5vcmcvTElDRU5TRV8xXzAudHh0CisKKyNpZm5kZWYgQk9PU1RfVFlQRV9UUkFJVFNfRVhUX0RFQ0xWQUxfX0hQUAorI2RlZmluZSBCT09TVF9UWVBFX1RSQUlUU19FWFRfREVDTFZBTF9fSFBQCisKKyNpbmNsdWRlIDxuZG5ib29zdC9jb25maWcuaHBwPgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCisjaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX3J2YWx1ZV9yZWZlcmVuY2UuaHBwPgorLy8jaW5jbHVkZSA8bmRuYm9vc3QvdHlwZV90cmFpdHMvYWRkX2x2YWx1ZV9yZWZlcmVuY2UuaHBwPgorCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgQysrMDMgaW1wbGVtZW50YXRpb24gb2YgICAgICAgICAgICAgICAgICAgICAgICAgIC8vCisvLyAgICAgICAgICAgICAgICAgICAgICAgICAgV3JpdHRlbiBieSBWaWNlbnRlIEouIEJvdGV0IEVzY3JpYmEgICAgICAgICAgICAgICAvLworLy9+IDIwLjMuNCBGdW5jdGlvbiB0ZW1wbGF0ZSBkZWNsdmFsIFtkZWNsdmFsXQorLy9+IDEgVGhlIGxpYnJhcnkgcHJvdmlkZXMgdGhlIGZ1bmN0aW9uIHRlbXBsYXRlIGRlY2x2YWwgdG8gc2ltcGxpZnkgdGhlIGRlZmluaXRpb24gb2YgZXhwcmVzc2lvbnMgd2hpY2ggb2NjdXIgYXMKKy8vfiB1bmV2YWx1YXRlZCBvcGVyYW5kcy4KKy8vfiAyIFJlbWFya3M6IElmIHRoaXMgZnVuY3Rpb24gaXMgdXNlZCwgdGhlIHByb2dyYW0gaXMgaWxsLWZvcm1lZC4KKy8vfiAzIFJlbWFya3M6IFRoZSB0ZW1wbGF0ZSBwYXJhbWV0ZXIgVCBvZiBkZWNsdmFsIG1heSBiZSBhbiBpbmNvbXBsZXRlIHR5cGUuCisvL34gWyBFeGFtcGxlOgorCisvL34gdGVtcGxhdGUgPGNsYXNzIFRvLCBjbGFzcyBGcm9tPgorLy9+IGRlY2x0eXBlKHN0YXRpY19jYXN0PFRvPihkZWNsdmFsPEZyb20+KCkpKSBjb252ZXJ0KEZyb20mJik7CisKKy8vfiBkZWNsYXJlcyBhIGZ1bmN0aW9uIHRlbXBsYXRlIGNvbnZlcnQgd2hpY2ggb25seSBwYXJ0aWNpcGF0cyBpbiBvdmVybG9hZGluZyBpZiB0aGUgdHlwZSBGcm9tIGNhbiBiZQorLy9+IGV4cGxpY2l0bHkgY29udmVydGVkIHRvIHR5cGUgVG8uIEZvciBhbm90aGVyIGV4YW1wbGUgc2VlIGNsYXNzIHRlbXBsYXRlIGNvbW1vbl90eXBlICgyMC43LjYuNikuIJdlbmQKKy8vfiBleGFtcGxlIF0KKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vCisvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vLworCituYW1lc3BhY2UgbmRuYm9vc3QgeworCisvLyNpZiAhZGVmaW5lZChCT09TVF9OT19SVkFMVUVfUkVGRVJFTkNFUykKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICB0eXBlbmFtZSBhZGRfcnZhbHVlX3JlZmVyZW5jZTxUPjo6dHlwZSBkZWNsdmFsKCkgQk9PU1RfTk9FWENFUFQ7IC8vIGFzIHVuZXZhbHVhdGVkIG9wZXJhbmQKKy8vI2Vsc2UKKy8vICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLy8gICAgdHlwZW5hbWUgYWRkX2x2YWx1ZV9yZWZlcmVuY2U8VD46OnR5cGUgZGVjbHZhbCgpIEJPT1NUX05PRVhDRVBUOyAvLyBhcyB1bmV2YWx1YXRlZCBvcGVyYW5kCisvLyNlbmRpZgorfSAgLy8gbmFtZXNwYWNlIG5kbmJvb3N0CisKKyNlbmRpZiAgLy8gQk9PU1RfVFlQRV9UUkFJVFNfRVhUX0RFQ0xWQUxfX0hQUAo=