From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: update to 117.0.5938.62 Date: Fri, 07 Aug 2026 16:05:26 GMT Message-ID: <178611872683.1.4315962641574264482.rpms-chromium-f32ee45ed407@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: f32ee45ed4071cc7f341b9c00450705445f1f506 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiBmMzJlZTQ1ZWQ0MDcxY2M3ZjM0MWI5YzAwNDUwNzA1 NDQ1ZjFmNTA2CkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjMtMDktMTNUMTI6Mzc6MTYrMDI6MDAKU3RhdHMgIDogKzc0MC8tMTE4OSBpbiAxNiBmaWxlKHMp ClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvY2hyb21pdW0vYy9m MzJlZTQ1ZWQ0MDcxY2M3ZjM0MWI5YzAwNDUwNzA1NDQ1ZjFmNTA2P2JyYW5jaD1lcGVsOS1uZXh0 CgpMb2c6CnVwZGF0ZSB0byAxMTcuMC41OTM4LjYyCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25v cmUgYi8uZ2l0aWdub3JlCmluZGV4IGM3MDVlZjUuLjNhM2JkMDEgMTAwNjQ0Ci0tLSBhLy5naXRp Z25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMzEsMyArMzEsNSBAQAogL3Rlc3R1cGxvYWQKIC9u b2RlLXYxOS44LjEtbGludXgtYXJtNjQudGFyLnh6CiAvbm9kZS12MTkuOC4xLWxpbnV4LXg2NC50 YXIueHoKKy9ub2RlLXYyMC42LjEtbGludXgtYXJtNjQudGFyLnh6Cisvbm9kZS12MjAuNi4xLWxp bnV4LXg2NC50YXIueHoKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMDgtd2lkZXZpbmUtb3RoZXIt bG9jYXRpb25zLnBhdGNoIGIvY2hyb21pdW0tMTA4LXdpZGV2aW5lLW90aGVyLWxvY2F0aW9ucy5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWEyOTA4OS4uMDAwMDAwMAotLS0g YS9jaHJvbWl1bS0xMDgtd2lkZXZpbmUtb3RoZXItbG9jYXRpb25zLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMzIgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvY2hy b21lL2NvbW1vbi9jaHJvbWVfcGF0aHMuY2Mud2lkZXZpbmUtb3RoZXItbG9jYXRpb25zIGNocm9t aXVtLTEwOC4wLjUzNTkuMTI0L2Nocm9tZS9jb21tb24vY2hyb21lX3BhdGhzLmNjCi0tLS0gY2hy b21pdW0tMTA4LjAuNTM1OS4xMjQvY2hyb21lL2NvbW1vbi9jaHJvbWVfcGF0aHMuY2Mud2lkZXZp bmUtb3RoZXItbG9jYXRpb25zCTIwMjMtMDEtMDIgMTE6MTA6MDMuOTUxMzMwMzA1ICswMTAwCi0r KysgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvY2hyb21lL2NvbW1vbi9jaHJvbWVfcGF0aHMuY2MJ MjAyMy0wMS0wMiAxMzo0MjoyNi43ODEwMjIxNTAgKzAxMDAKLUBAIC0zMTksNiArMzE5LDE2IEBA IGJvb2wgUGF0aFByb3ZpZGVyKGludCBrZXksIGJhc2U6OkZpbGVQYXQKLSAKLSAjaWYgQlVJTERG TEFHKEVOQUJMRV9XSURFVklORSkKLSAgICAgY2FzZSBjaHJvbWU6OkRJUl9CVU5ETEVEX1dJREVW SU5FX0NETToKLSsgICAgICBiYXNlOjpQYXRoU2VydmljZTo6R2V0KGJhc2U6OkRJUl9IT01FLCAm Y3VyKTsKLSsgICAgICBjdXIgPSBjdXIuQXBwZW5kKEZJTEVfUEFUSF9MSVRFUkFMKCIuY29uZmln L2Nocm9taXVtL1dpZGV2aW5lQ2RtIikpOwotKyAgICAgIGlmIChiYXNlOjpQYXRoRXhpc3RzKGN1 cikpIHsKLSsgICAgICAgIGJyZWFrOwotKyAgICAgIH0KLSsgICAgICAvLyBZZXMsIHRoaXMgaGFz IGFuIGFyY2ggaGFyZGNvZGVkIGluIHRoZSBwYXRoLCBidXQgYXQgdGhpcyB0aW1lLCBpdCBpcyB0 aGUgb25seSBwbGFjZSB0byBmaW5kIGxpYndpZGV2aW5lY2RtLnNvCi0rICAgICAgaWYgKGJhc2U6 OlBhdGhFeGlzdHMoYmFzZTo6RmlsZVBhdGgoRklMRV9QQVRIX0xJVEVSQUwoIi9vcHQvZ29vZ2xl L2Nocm9tZS9XaWRldmluZUNkbS9fcGxhdGZvcm1fc3BlY2lmaWMvbGludXhfeDY0L2xpYndpZGV2 aW5lY2RtLnNvIikpKSkgewotKyAgICAgICAgY3VyID0gYmFzZTo6RmlsZVBhdGgoRklMRV9QQVRI X0xJVEVSQUwoIi9vcHQvZ29vZ2xlL2Nocm9tZS9XaWRldmluZUNkbSIpKTsKLSsgICAgICAgIGJy ZWFrOwotKyAgICAgIH0KLSAgICAgICBpZiAoIUdldENvbXBvbmVudERpcmVjdG9yeSgmY3VyKSkK LSAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICBjdXIgPSBjdXIuQXBwZW5kQVNDSUkoa1dp ZGV2aW5lQ2RtQmFzZURpcmVjdG9yeSk7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDguMC41MzU5LjEy NC90aGlyZF9wYXJ0eS93aWRldmluZS9jZG0vQlVJTEQuZ24ud2lkZXZpbmUtb3RoZXItbG9jYXRp b25zIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L3RoaXJkX3BhcnR5L3dpZGV2aW5lL2NkbS9CVUlM RC5nbgotLS0tIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L3RoaXJkX3BhcnR5L3dpZGV2aW5lL2Nk bS9CVUlMRC5nbi53aWRldmluZS1vdGhlci1sb2NhdGlvbnMJMjAyMy0wMS0wMiAxMToxMDo0NS45 NTMxMTQxNTMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC90aGlyZF9wYXJ0eS93 aWRldmluZS9jZG0vQlVJTEQuZ24JMjAyMy0wMS0wMiAxMToxMDo0NS45NTMxMTQxNTMgKzAxMDAK LUBAIC0yMiw3ICsyMiw3IEBAIGJ1aWxkZmxhZ19oZWFkZXIoImJ1aWxkZmxhZ3MiKSB7Ci0gCi0g ICBmbGFncyA9IFsKLSAgICAgIkVOQUJMRV9XSURFVklORT0kZW5hYmxlX3dpZGV2aW5lIiwKLS0g ICAgIkJVTkRMRV9XSURFVklORV9DRE09JGJ1bmRsZV93aWRldmluZV9jZG0iLAotKyAgICAiQlVO RExFX1dJREVWSU5FX0NETT10cnVlIiwKLSAgICAgIkVOQUJMRV9XSURFVklORV9DRE1fQ09NUE9O RU5UPSRlbmFibGVfd2lkZXZpbmVfY2RtX2NvbXBvbmVudCIsCi0gICAgICJFTkFCTEVfTUVESUFf Rk9VTkRBVElPTl9XSURFVklORV9DRE09JGVuYWJsZV9tZWRpYV9mb3VuZGF0aW9uX3dpZGV2aW5l X2NkbSIsCi0gICBdCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE1LWRvX25vdF9yZXN0cmljdF9u ZXdfVjRMMl9kZWNvZGVycy52NGwyLnBhY2ggYi9jaHJvbWl1bS0xMTUtZG9fbm90X3Jlc3RyaWN0 X25ld19WNEwyX2RlY29kZXJzLnY0bDIucGFjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNDE2ZTk3My4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTUtZG9fbm90X3Jlc3RyaWN0X25l d19WNEwyX2RlY29kZXJzLnY0bDIucGFjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAK LWRpZmYgLS1naXQgYS9tZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmNjIGIvbWVkaWEvYmFzZS9t ZWRpYV9zd2l0Y2hlcy5jYwotaW5kZXggYmIwMTIyZmZkNzJkNC4uOTI2MmNjNzQ0NTgyZiAxMDA2 NDQKLS0tLSBhL21lZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuY2MKLSsrKyBiL21lZGlhL2Jhc2Uv bWVkaWFfc3dpdGNoZXMuY2MKLUBAIC04MDcsNyArODA3LDcgQEAgQkFTRV9GRUFUVVJFKGtWYWFw aVZwOWtTVkNIV0VuY29kaW5nLAotICAgICAgICAgICAgICAiVmFhcGlWcDlrU1ZDSFdFbmNvZGlu ZyIsCi0gICAgICAgICAgICAgIGJhc2U6OkZFQVRVUkVfRU5BQkxFRF9CWV9ERUZBVUxUKTsKLSAj ZW5kaWYgIC8vIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgJiYgQlVJTERGTEFHKElTX0NI Uk9NRU9TKQotLSNpZiBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkpICYmIEJVSUxERkxBRyhJ U19DSFJPTUVPUykKLSsjaWYgQlVJTERGTEFHKElTX0NIUk9NRU9TKSB8fCBCVUlMREZMQUcoSVNf TElOVVgpCi0gLy8gRW5hYmxlcyB0aGUgbmV3IFY0TDJTdGF0ZWZ1bFZpZGVvRGVjb2RlciBpbnN0 ZWFkIG9mIFY0TDJWaWRlb0RlY29kZXIuCi0gQkFTRV9GRUFUVVJFKGtWNEwyRmxhdFN0YXRlbGVz c1ZpZGVvRGVjb2RlciwKLSAgICAgICAgICAgICAgIlY0TDJGbGF0U3RhdGVsZXNzVmlkZW9EZWNv ZGVyIiwKLWRpZmYgLS1naXQgYS9tZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmggYi9tZWRpYS9i YXNlL21lZGlhX3N3aXRjaGVzLmgKLWluZGV4IDk3ZDk2MDJlZWU0OWUuLmFhY2ZhYzY5ZmFlMjAg MTAwNjQ0Ci0tLS0gYS9tZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmgKLSsrKyBiL21lZGlhL2Jh c2UvbWVkaWFfc3dpdGNoZXMuaAotQEAgLTMxOCwxMCArMzE4LDEwIEBAIE1FRElBX0VYUE9SVCBC QVNFX0RFQ0xBUkVfRkVBVFVSRShrVmFhcGlIMjY0VGVtcG9yYWxMYXllckhXRW5jb2RpbmcpOwot IE1FRElBX0VYUE9SVCBCQVNFX0RFQ0xBUkVfRkVBVFVSRShrVmFhcGlWcDhUZW1wb3JhbExheWVy SFdFbmNvZGluZyk7Ci0gTUVESUFfRVhQT1JUIEJBU0VfREVDTEFSRV9GRUFUVVJFKGtWYWFwaVZw OWtTVkNIV0VuY29kaW5nKTsKLSAjZW5kaWYgIC8vIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlM WSkgJiYgQlVJTERGTEFHKElTX0NIUk9NRU9TKQotLSNpZiBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9G QU1JTFkpICYmIEJVSUxERkxBRyhJU19DSFJPTUVPUykKLSsjaWYgQlVJTERGTEFHKElTX0NIUk9N RU9TKSB8fCBCVUlMREZMQUcoSVNfTElOVVgpCi0gTUVESUFfRVhQT1JUIEJBU0VfREVDTEFSRV9G RUFUVVJFKGtWNEwyRmxhdFN0YXRlbGVzc1ZpZGVvRGVjb2Rlcik7Ci0gTUVESUFfRVhQT1JUIEJB U0VfREVDTEFSRV9GRUFUVVJFKGtWNEwyRmxhdFN0YXRlZnVsVmlkZW9EZWNvZGVyKTsKLS0jZW5k aWYgIC8vIGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlMWSkgJiYgQlVJTERGTEFHKElTX0NIUk9N RU9TKQotKyNlbmRpZiAgLy8gQlVJTERGTEFHKElTX0NIUk9NRU9TKSB8fCBCVUlMREZMQUcoSVNf TElOVVgpCi0gTUVESUFfRVhQT1JUIEJBU0VfREVDTEFSRV9GRUFUVVJFKGtWaWRlb0JsaXRDb2xv ckFjY3VyYWN5KTsKLSAjaWYgQlVJTERGTEFHKElTX0FQUExFKQotIE1FRElBX0VYUE9SVCBCQVNF X0RFQ0xBUkVfRkVBVFVSRShrVmlkZW9Ub29sYm94VmlkZW9EZWNvZGVyKTsKCmRpZmYgLS1naXQg YS9jaHJvbWl1bS0xMTUtaW5jbHVkZV9jb250YWluc19oX2hlYWRlcl9mb3JfVjRMMlN0YXRlZnVs VmlkZW9EZWNvZGVyLnBhdGNoIGIvY2hyb21pdW0tMTE1LWluY2x1ZGVfY29udGFpbnNfaF9oZWFk ZXJfZm9yX1Y0TDJTdGF0ZWZ1bFZpZGVvRGVjb2Rlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggOTNmYmRiOS4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTUtaW5jbHVkZV9j b250YWluc19oX2hlYWRlcl9mb3JfVjRMMlN0YXRlZnVsVmlkZW9EZWNvZGVyLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92NGwyL3Y0 bDJfc3RhdGVmdWxfdmlkZW9fZGVjb2Rlci5jYyBiL21lZGlhL2dwdS92NGwyL3Y0bDJfc3RhdGVm dWxfdmlkZW9fZGVjb2Rlci5jYwotaW5kZXggYzg0ZGVkYjdkMWMxZi4uY2E4Y2Q1NjZkMjAxOCAx MDA2NDQKLS0tLSBhL21lZGlhL2dwdS92NGwyL3Y0bDJfc3RhdGVmdWxfdmlkZW9fZGVjb2Rlci5j YwotKysrIGIvbWVkaWEvZ3B1L3Y0bDIvdjRsMl9zdGF0ZWZ1bF92aWRlb19kZWNvZGVyLmNjCi1A QCAtOSw2ICs5LDcgQEAKLSAjaW5jbHVkZSA8c3lzL2V2ZW50ZmQuaD4KLSAjaW5jbHVkZSA8c3lz L2lvY3RsLmg+Ci0gCi0rI2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9jb250YWlucy5oIgotICNp bmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfdXRpbC5oIgotICNpbmNsdWRlICJiYXNlL2Z1bmN0aW9u YWwvY2FsbGJhY2tfaGVscGVycy5oIgotICNpbmNsdWRlICJiYXNlL21lbW9yeS9wdHJfdXRpbC5o IgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNS1saW51eF91aV9kYXJrbW9kZS5wYXRjaCBiL2No cm9taXVtLTExNS1saW51eF91aV9kYXJrbW9kZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMTJhZjAyZC4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTUtbGludXhfdWlfZGFy a21vZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOTcgKzAsMCBAQAotY29tbWl0IDQ5NDMx ODJmZGZlN2FkYmNjNDliMTA1MzhkN2Q1MmIxN2RkNTM4ZmYKLUF1dGhvcjogVG9tIEFuZGVyc29u IDx0aG9tYXNhbmRlcnNvbkBjaHJvbWl1bS5vcmc+Ci1EYXRlOiAgIEZyaSBKdWwgMjEgMjI6MzU6 NDAgMjAyMyArMDAwMAotCi0gICAgW0xpbnV4IFVpXSBTZXQgdG9vbGtpdCBkYXJrIHByZWZlcmVu Y2UgYmFzZWQgb24gRkRPIGRhcmsgcHJlZmVyZW5jZQotICAgIAotICAgIFRoZSB0b29sa2l0IGNv bG9yIHNjaGVtZSBwcmVmZXJlbmNlIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUKLSAgICBgb3JnLmZy ZWVkZXNrdG9wLmFwcGVhcmFuY2UgY29sb3Itc2NoZW1lYCBzZXR0aW5nLiAgSXQncyB1cCB0bwot ICAgIGFwcHMgdG8gbWFudWFsbHkgdG9nZ2xlIHRoZSB0b29sa2l0IHRoZW1lIGJhc2VkIG9uIHRo aXMgc2V0dGluZy4KLSAgICBUaGlzIGlzIGRvbmUgYnkgbGliYWR3YWl0YSwgbGliaGFuZHksIGZp cmVmb3gsIGFuZCBsaWJyZW9mZmljZS4KLSAgICAKLSAgICBSPXNreQotICAgIAotICAgIENoYW5n ZS1JZDogSWYwNWU2MWU2ZDBlYzk4ZWUxYTc0ZDQ0MmNlMjliMmNlYjUzMzdlODYKLSAgICBCdWc6 IDk5ODkwMwotICAgIExvdy1Db3ZlcmFnZS1SZWFzb246IE5vIGV4aXN0aW5nIHRlc3RzIGZvciBk YXJrX21vZGVfbWFuYWdlcl9saW51eAotICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVt LXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDcwMTcxMAotICAgIFJl dmlld2VkLWJ5OiBTY290dCBWaW9sZXQgPHNreUBjaHJvbWl1bS5vcmc+Ci0gICAgQ29tbWl0LVF1 ZXVlOiBUaG9tYXMgQW5kZXJzb24gPHRob21hc2FuZGVyc29uQGNocm9taXVtLm9yZz4KLSAgICBD ci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzExNzM3NDR9Ci0KLWRpZmYgLS1n aXQgYS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9kYXJrX21vZGVfbWFuYWdlcl9saW51eC5jYyBi L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL2RhcmtfbW9kZV9tYW5hZ2VyX2xpbnV4LmNjCi1pbmRl eCA0MTI3MzI3NDMzNTkzLi42ZjA1NGFiNzZiMzA1IDEwMDY0NAotLS0tIGEvY2hyb21lL2Jyb3dz ZXIvdWkvdmlld3MvZGFya19tb2RlX21hbmFnZXJfbGludXguY2MKLSsrKyBiL2Nocm9tZS9icm93 c2VyL3VpL3ZpZXdzL2RhcmtfbW9kZV9tYW5hZ2VyX2xpbnV4LmNjCi1AQCAtNjcsNyArNjcsNyBA QCBEYXJrTW9kZU1hbmFnZXJMaW51eDo6RGFya01vZGVNYW5hZ2VyTGludXgoKQotICAgaWYgKGF1 dG8qIGxpbnV4X3VpX3RoZW1lID0gdWk6OkdldERlZmF1bHRMaW51eFVpVGhlbWUoKSkgewotICAg ICBhdXRvKiBuYXRpdmVfdGhlbWUgPSBsaW51eF91aV90aGVtZS0+R2V0TmF0aXZlVGhlbWUoKTsK LSAgICAgbmF0aXZlX3RoZW1lX29ic2VydmVyXy5PYnNlcnZlKG5hdGl2ZV90aGVtZSk7Ci0tICAg IFNldENvbG9yU2NoZW1lKG5hdGl2ZV90aGVtZS0+U2hvdWxkVXNlRGFya0NvbG9ycygpKTsKLSsg ICAgU2V0Q29sb3JTY2hlbWUobmF0aXZlX3RoZW1lLT5TaG91bGRVc2VEYXJrQ29sb3JzKCksIHRy dWUpOwotICAgfQotIH0KLSAKLUBAIC04MCw3ICs4MCw3IEBAIERhcmtNb2RlTWFuYWdlckxpbnV4 Ojp+RGFya01vZGVNYW5hZ2VyTGludXgoKSB7Ci0gCi0gdm9pZCBEYXJrTW9kZU1hbmFnZXJMaW51 eDo6T25OYXRpdmVUaGVtZVVwZGF0ZWQoCi0gICAgIHVpOjpOYXRpdmVUaGVtZSogb2JzZXJ2ZWRf dGhlbWUpIHsKLS0gIFNldENvbG9yU2NoZW1lKG9ic2VydmVkX3RoZW1lLT5TaG91bGRVc2VEYXJr Q29sb3JzKCkpOwotKyAgU2V0Q29sb3JTY2hlbWUob2JzZXJ2ZWRfdGhlbWUtPlNob3VsZFVzZURh cmtDb2xvcnMoKSwgdHJ1ZSk7Ci0gfQotIAotIHZvaWQgRGFya01vZGVNYW5hZ2VyTGludXg6Ok9u U2lnbmFsQ29ubmVjdGVkKGNvbnN0IHN0ZDo6c3RyaW5nJiBpbnRlcmZhY2VfbmFtZSwKLUBAIC0x MTQsNyArMTE0LDcgQEAgdm9pZCBEYXJrTW9kZU1hbmFnZXJMaW51eDo6T25Qb3J0YWxTZXR0aW5n Q2hhbmdlZChkYnVzOjpTaWduYWwqIHNpZ25hbCkgewotICAgICByZXR1cm47Ci0gICB9Ci0gCi0t ICBTZXRDb2xvclNjaGVtZShuZXdfY29sb3Jfc2NoZW1lID09IGtGcmVlZGVza3RvcENvbG9yU2No ZW1lRGFyayk7Ci0rICBTZXRDb2xvclNjaGVtZShuZXdfY29sb3Jfc2NoZW1lID09IGtGcmVlZGVz a3RvcENvbG9yU2NoZW1lRGFyaywgZmFsc2UpOwotIH0KLSAKLSB2b2lkIERhcmtNb2RlTWFuYWdl ckxpbnV4OjpPblJlYWRDb2xvclNjaGVtZVJlc3BvbnNlKGRidXM6OlJlc3BvbnNlKiByZXNwb25z ZSkgewotQEAgLTEzNywxMyArMTM3LDIzIEBAIHZvaWQgRGFya01vZGVNYW5hZ2VyTGludXg6Ok9u UmVhZENvbG9yU2NoZW1lUmVzcG9uc2UoZGJ1czo6UmVzcG9uc2UqIHJlc3BvbnNlKSB7Ci0gICAg IHJldHVybjsKLSAgIH0KLSAKLS0gIC8vIElnbm9yZSBmdXR1cmUgdXBkYXRlcyBmcm9tIHRoZSB0 b29sa2l0IHRoZW1lLgotLSAgbmF0aXZlX3RoZW1lX29ic2VydmVyXy5SZXNldCgpOwotKyAgLy8g T25jZSB3ZSByZWFkIHRoZSBvcmcuZnJlZWRlc2t0b3AuYXBwZWFyYW5jZSBjb2xvci1zY2hlbWUg c2V0dGluZyBzdWNjZXNzZnVsbHksCi0rICAvLyBpdCBzaG91bGQgYWx3YXlzIHRha2UgcHJlY2Vk ZW5jZSBvdmVyIHRoZSB0b29sa2l0IGNvbG9yIHNjaGVtZS4KLSsgIGlnbm9yZV90b29sa2l0X3Ro ZW1lX2NoYW5nZXNfID0gdHJ1ZTsKLSAKLS0gIFNldENvbG9yU2NoZW1lKG5ld19jb2xvcl9zY2hl bWUgPT0ga0ZyZWVkZXNrdG9wQ29sb3JTY2hlbWVEYXJrKTsKLSsgIFNldENvbG9yU2NoZW1lKG5l d19jb2xvcl9zY2hlbWUgPT0ga0ZyZWVkZXNrdG9wQ29sb3JTY2hlbWVEYXJrLCBmYWxzZSk7Ci0g fQotIAotLXZvaWQgRGFya01vZGVNYW5hZ2VyTGludXg6OlNldENvbG9yU2NoZW1lKGJvb2wgcHJl ZmVyX2RhcmtfdGhlbWUpIHsKLSt2b2lkIERhcmtNb2RlTWFuYWdlckxpbnV4OjpTZXRDb2xvclNj aGVtZShib29sIHByZWZlcl9kYXJrX3RoZW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvb2wgZnJvbV90b29sa2l0X3RoZW1lKSB7Ci0rICBpZiAoZnJvbV90 b29sa2l0X3RoZW1lICYmIGlnbm9yZV90b29sa2l0X3RoZW1lX2NoYW5nZXNfKSB7Ci0rICAgIHJl dHVybjsKLSsgIH0KLSsgIGlmICghZnJvbV90b29sa2l0X3RoZW1lKSB7Ci0rICAgIGZvciAoYXV0 byogbGludXhfdWlfdGhlbWUgOiB1aTo6R2V0TGludXhVaVRoZW1lcygpKSB7Ci0rICAgICAgbGlu dXhfdWlfdGhlbWUtPlNldERhcmtUaGVtZShwcmVmZXJfZGFya190aGVtZSk7Ci0rICAgIH0KLSsg IH0KLSAgIGlmIChwcmVmZXJfZGFya190aGVtZV8gPT0gcHJlZmVyX2RhcmtfdGhlbWUpIHsKLSAg ICAgcmV0dXJuOwotICAgfQotZGlmZiAtLWdpdCBhL2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL2Rh cmtfbW9kZV9tYW5hZ2VyX2xpbnV4LmggYi9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9kYXJrX21v ZGVfbWFuYWdlcl9saW51eC5oCi1pbmRleCAzNGIwN2ZmYWRiYmVmLi5lMDBkODYxN2UwZTIzIDEw MDY0NAotLS0tIGEvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvZGFya19tb2RlX21hbmFnZXJfbGlu dXguaAotKysrIGIvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvZGFya19tb2RlX21hbmFnZXJfbGlu dXguaAotQEAgLTQ0LDEyICs0NCwxMyBAQCBjbGFzcyBEYXJrTW9kZU1hbmFnZXJMaW51eCA6IHB1 YmxpYyBOYXRpdmVUaGVtZU9ic2VydmVyIHsKLSAgIHZvaWQgT25SZWFkQ29sb3JTY2hlbWVSZXNw b25zZShkYnVzOjpSZXNwb25zZSogcmVzcG9uc2UpOwotIAotICAgLy8gU2V0cyBgcHJlZmVyX2Rh cmtfdGhlbWVfYCBhbmQgcHJvcGFnYXRlcyB0byB0aGUgd2ViIHRoZW1lLgotLSAgdm9pZCBTZXRD b2xvclNjaGVtZShib29sIHByZWZlcl9kYXJrX3RoZW1lKTsKLSsgIHZvaWQgU2V0Q29sb3JTY2hl bWUoYm9vbCBwcmVmZXJfZGFya190aGVtZSwgYm9vbCBmcm9tX3Rvb2xraXRfdGhlbWUpOwotIAot ICAgc2NvcGVkX3JlZnB0cjxkYnVzOjpCdXM+IGJ1c187Ci0gICByYXdfcHRyPGRidXM6Ok9iamVj dFByb3h5PiBzZXR0aW5nc19wcm94eV87Ci0gCi0gICBib29sIHByZWZlcl9kYXJrX3RoZW1lXyA9 IGZhbHNlOwotKyAgYm9vbCBpZ25vcmVfdG9vbGtpdF90aGVtZV9jaGFuZ2VzXyA9IGZhbHNlOwot IAotICAgYmFzZTo6U2NvcGVkT2JzZXJ2YXRpb248TmF0aXZlVGhlbWUsIE5hdGl2ZVRoZW1lT2Jz ZXJ2ZXI+Ci0gICAgICAgbmF0aXZlX3RoZW1lX29ic2VydmVyX3t0aGlzfTsKLWRpZmYgLS1naXQg YS91aS9ndGsvZ3RrX3VpLmNjIGIvdWkvZ3RrL2d0a191aS5jYwotaW5kZXggMmI2YmI4OWUzMDcx ZS4uYTQ2MzUwMDU3MGMwMyAxMDA2NDQKLS0tLSBhL3VpL2d0ay9ndGtfdWkuY2MKLSsrKyBiL3Vp L2d0ay9ndGtfdWkuY2MKLUBAIC00NjMsNiArNDYzLDE0IEBAIGJvb2wgR3RrVWk6OlByZWZlckRh cmtUaGVtZSgpIGNvbnN0IHsKLSAgIHJldHVybiBkYXJrOwotIH0KLSAKLSt2b2lkIEd0a1VpOjpT ZXREYXJrVGhlbWUoYm9vbCBkYXJrKSB7Ci0rICBhdXRvKiBzZXR0aW5ncyA9IGd0a19zZXR0aW5n c19nZXRfZGVmYXVsdCgpOwotKyAgZ19vYmplY3Rfc2V0KHNldHRpbmdzLCAiZ3RrLWFwcGxpY2F0 aW9uLXByZWZlci1kYXJrLXRoZW1lIiwgZGFyaywgbnVsbHB0cik7Ci0rICAvLyBPblRoZW1lQ2hh bmdlZCgpIHdpbGwgYmUgY2FsbGVkIHZpYSB0aGUKLSsgIC8vIG5vdGlmeTo6Z3RrLWFwcGxpY2F0 aW9uLXByZWZlci1kYXJrLXRoZW1lIGhhbmRsZXIgdG8gdXBkYXRlIHRoZSBuYXRpdmUKLSsgIC8v IHRoZW1lLgotK30KLSsKLSBib29sIEd0a1VpOjpBbmltYXRpb25zRW5hYmxlZCgpIGNvbnN0IHsK LSAgIGdib29sZWFuIGFuaW1hdGlvbnNfZW5hYmxlZCA9IGZhbHNlOwotICAgZ19vYmplY3RfZ2V0 KGd0a19zZXR0aW5nc19nZXRfZGVmYXVsdCgpLCAiZ3RrLWVuYWJsZS1hbmltYXRpb25zIiwKLWRp ZmYgLS1naXQgYS91aS9ndGsvZ3RrX3VpLmggYi91aS9ndGsvZ3RrX3VpLmgKLWluZGV4IDU3M2Vh NDA2Njg4MWIuLjUzYzAyYzUwZGFjNTMgMTAwNjQ0Ci0tLS0gYS91aS9ndGsvZ3RrX3VpLmgKLSsr KyBiL3VpL2d0ay9ndGtfdWkuaAotQEAgLTEwNiw2ICsxMDYsNyBAQCBjbGFzcyBHdGtVaSA6IHB1 YmxpYyB1aTo6TGludXhVaUFuZFRoZW1lIHsKLSAgIHZvaWQgR2V0SW5hY3RpdmVTZWxlY3Rpb25C Z0NvbG9yKFNrQ29sb3IqIGNvbG9yKSBjb25zdCBvdmVycmlkZTsKLSAgIHZvaWQgR2V0SW5hY3Rp dmVTZWxlY3Rpb25GZ0NvbG9yKFNrQ29sb3IqIGNvbG9yKSBjb25zdCBvdmVycmlkZTsKLSAgIGJv b2wgUHJlZmVyRGFya1RoZW1lKCkgY29uc3Qgb3ZlcnJpZGU7Ci0rICB2b2lkIFNldERhcmtUaGVt ZShib29sIGRhcmspIG92ZXJyaWRlOwotICAgc3RkOjp1bmlxdWVfcHRyPHVpOjpOYXZCdXR0b25Q cm92aWRlcj4gQ3JlYXRlTmF2QnV0dG9uUHJvdmlkZXIoKSBvdmVycmlkZTsKLSAgIHVpOjpXaW5k b3dGcmFtZVByb3ZpZGVyKiBHZXRXaW5kb3dGcmFtZVByb3ZpZGVyKGJvb2wgc29saWRfZnJhbWUp IG92ZXJyaWRlOwotIAotZGlmZiAtLWdpdCBhL3VpL2xpbnV4L2Zha2VfbGludXhfdWkuY2MgYi91 aS9saW51eC9mYWtlX2xpbnV4X3VpLmNjCi1pbmRleCBkMjM2YTA5MTlmNjZiLi44YjY3ZjA0YzI1 ZTdkIDEwMDY0NAotLS0tIGEvdWkvbGludXgvZmFrZV9saW51eF91aS5jYwotKysrIGIvdWkvbGlu dXgvZmFrZV9saW51eF91aS5jYwotQEAgLTkzLDYgKzkzLDggQEAgYm9vbCBGYWtlTGludXhVaTo6 UHJlZmVyRGFya1RoZW1lKCkgY29uc3QgewotICAgcmV0dXJuIGZhbHNlOwotIH0KLSAKLSt2b2lk IEZha2VMaW51eFVpOjpTZXREYXJrVGhlbWUoYm9vbCBkYXJrKSB7fQotKwotIGJvb2wgRmFrZUxp bnV4VWk6OkFuaW1hdGlvbnNFbmFibGVkKCkgY29uc3QgewotICAgcmV0dXJuIHRydWU7Ci0gfQot ZGlmZiAtLWdpdCBhL3VpL2xpbnV4L2Zha2VfbGludXhfdWkuaCBiL3VpL2xpbnV4L2Zha2VfbGlu dXhfdWkuaAotaW5kZXggODdhYTgyYzkzMGEzNS4uZGFiYTIwZDE5NmE3YyAxMDA2NDQKLS0tLSBh L3VpL2xpbnV4L2Zha2VfbGludXhfdWkuaAotKysrIGIvdWkvbGludXgvZmFrZV9saW51eF91aS5o Ci1AQCAtNjQsNiArNjQsNyBAQCBjbGFzcyBGYWtlTGludXhVaSA6IHB1YmxpYyBMaW51eFVpQW5k VGhlbWUgewotICAgdm9pZCBHZXRJbmFjdGl2ZVNlbGVjdGlvbkJnQ29sb3IoU2tDb2xvciogY29s b3IpIGNvbnN0IG92ZXJyaWRlOwotICAgdm9pZCBHZXRJbmFjdGl2ZVNlbGVjdGlvbkZnQ29sb3Io U2tDb2xvciogY29sb3IpIGNvbnN0IG92ZXJyaWRlOwotICAgYm9vbCBQcmVmZXJEYXJrVGhlbWUo KSBjb25zdCBvdmVycmlkZTsKLSsgIHZvaWQgU2V0RGFya1RoZW1lKGJvb2wgZGFyaykgb3ZlcnJp ZGU7Ci0gICBzdGQ6OnVuaXF1ZV9wdHI8dWk6Ok5hdkJ1dHRvblByb3ZpZGVyPiBDcmVhdGVOYXZC dXR0b25Qcm92aWRlcigpIG92ZXJyaWRlOwotICAgdWk6OldpbmRvd0ZyYW1lUHJvdmlkZXIqIEdl dFdpbmRvd0ZyYW1lUHJvdmlkZXIoYm9vbCBzb2xpZF9mcmFtZSkgb3ZlcnJpZGU7Ci0gfTsKLWRp ZmYgLS1naXQgYS91aS9saW51eC9mYWxsYmFja19saW51eF91aS5jYyBiL3VpL2xpbnV4L2ZhbGxi YWNrX2xpbnV4X3VpLmNjCi1pbmRleCBhYjExNmZkYTQyYjIyLi42ZDc3YmUwNDdlMjAyIDEwMDY0 NAotLS0tIGEvdWkvbGludXgvZmFsbGJhY2tfbGludXhfdWkuY2MKLSsrKyBiL3VpL2xpbnV4L2Zh bGxiYWNrX2xpbnV4X3VpLmNjCi1AQCAtMTEyLDcgKzExMiwxMSBAQCBMaW51eFVpOjpXaW5kb3dG cmFtZUFjdGlvbiBGYWxsYmFja0xpbnV4VWk6OkdldFdpbmRvd0ZyYW1lQWN0aW9uKAotIH0KLSAK LSBib29sIEZhbGxiYWNrTGludXhVaTo6UHJlZmVyRGFya1RoZW1lKCkgY29uc3QgewotLSAgcmV0 dXJuIGZhbHNlOwotKyAgcmV0dXJuIHRoZW1lX2lzX2RhcmtfOwotK30KLSsKLSt2b2lkIEZhbGxi YWNrTGludXhVaTo6U2V0RGFya1RoZW1lKGJvb2wgZGFyaykgewotKyAgdGhlbWVfaXNfZGFya18g PSBkYXJrOwotIH0KLSAKLSBib29sIEZhbGxiYWNrTGludXhVaTo6QW5pbWF0aW9uc0VuYWJsZWQo KSBjb25zdCB7Ci1kaWZmIC0tZ2l0IGEvdWkvbGludXgvZmFsbGJhY2tfbGludXhfdWkuaCBiL3Vp L2xpbnV4L2ZhbGxiYWNrX2xpbnV4X3VpLmgKLWluZGV4IDBkMGRmMjVlYzJjYWYuLjk5MDFkNDkz OTQwMGQgMTAwNjQ0Ci0tLS0gYS91aS9saW51eC9mYWxsYmFja19saW51eF91aS5oCi0rKysgYi91 aS9saW51eC9mYWxsYmFja19saW51eF91aS5oCi1AQCAtNjUsMTIgKzY1LDE0IEBAIGNsYXNzIEZh bGxiYWNrTGludXhVaSA6IHB1YmxpYyBMaW51eFVpQW5kVGhlbWUgewotICAgdm9pZCBHZXRJbmFj dGl2ZVNlbGVjdGlvbkJnQ29sb3IoU2tDb2xvciogY29sb3IpIGNvbnN0IG92ZXJyaWRlOwotICAg dm9pZCBHZXRJbmFjdGl2ZVNlbGVjdGlvbkZnQ29sb3IoU2tDb2xvciogY29sb3IpIGNvbnN0IG92 ZXJyaWRlOwotICAgYm9vbCBQcmVmZXJEYXJrVGhlbWUoKSBjb25zdCBvdmVycmlkZTsKLSsgIHZv aWQgU2V0RGFya1RoZW1lKGJvb2wgZGFyaykgb3ZlcnJpZGU7Ci0gICBzdGQ6OnVuaXF1ZV9wdHI8 dWk6Ok5hdkJ1dHRvblByb3ZpZGVyPiBDcmVhdGVOYXZCdXR0b25Qcm92aWRlcigpIG92ZXJyaWRl OwotICAgdWk6OldpbmRvd0ZyYW1lUHJvdmlkZXIqIEdldFdpbmRvd0ZyYW1lUHJvdmlkZXIoYm9v bCBzb2xpZF9mcmFtZSkgb3ZlcnJpZGU7Ci0gCi0gIHByaXZhdGU6Ci0gICBzdGQ6OnN0cmluZyBk ZWZhdWx0X2ZvbnRfZmFtaWx5XzsKLSAgIGdmeDo6Rm9udFJlbmRlclBhcmFtcyBkZWZhdWx0X2Zv bnRfcmVuZGVyX3BhcmFtc187Ci0rICBib29sIHRoZW1lX2lzX2RhcmtfID0gZmFsc2U7Ci0gfTsK LSAKLSB9ICAvLyBuYW1lc3BhY2UgdWkKLWRpZmYgLS1naXQgYS91aS9saW51eC9saW51eF91aS5o IGIvdWkvbGludXgvbGludXhfdWkuaAotaW5kZXggNDViMzZmYmVlYWJjNC4uYTQ3MTM0ZDdmYTY3 MiAxMDA2NDQKLS0tLSBhL3VpL2xpbnV4L2xpbnV4X3VpLmgKLSsrKyBiL3VpL2xpbnV4L2xpbnV4 X3VpLmgKLUBAIC0zMDAsNiArMzAwLDEwIEBAIGNsYXNzIENPTVBPTkVOVF9FWFBPUlQoTElOVVhf VUkpIExpbnV4VWlUaGVtZSB7Ci0gICAvLyBwcmVmZXJyZWQuCi0gICB2aXJ0dWFsIGJvb2wgUHJl ZmVyRGFya1RoZW1lKCkgY29uc3QgPSAwOwotIAotKyAgLy8gT3ZlcnJpZGUgdGhlIHRvb2xraXQn cyBkYXJrIG1vZGUgcHJlZmVyZW5jZS4gIFVzZWQgd2hlbiB0aGUgZGFyayBtb2RlCi0rICAvLyBz ZXR0aW5nIGlzIHByb3ZpZGVkIGJ5IG9yZy5mcmVlZGVza3RvcC5hcHBlYXJhbmNlIGluc3RlYWQg b2YgdGhlIHRvb2xraXQuCi0rICB2aXJ0dWFsIHZvaWQgU2V0RGFya1RoZW1lKGJvb2wgZGFyaykg PSAwOwotKwotICAgLy8gUmV0dXJucyBhIG5ldyBOYXZCdXR0b25Qcm92aWRlciwgb3IgbnVsbHB0 ciBpZiB0aGUgdW5kZXJseWluZwotICAgLy8gdG9vbGtpdCBkb2VzIG5vdCBzdXBwb3J0IGRyYXdp bmcgY2xpZW50LXNpZGUgbmF2aWdhdGlvbiBidXR0b25zLgotICAgdmlydHVhbCBzdGQ6OnVuaXF1 ZV9wdHI8TmF2QnV0dG9uUHJvdmlkZXI+IENyZWF0ZU5hdkJ1dHRvblByb3ZpZGVyKCkgPSAwOwot ZGlmZiAtLWdpdCBhL3VpL2xpbnV4L2xpbnV4X3VpX2ZhY3RvcnkuY2MgYi91aS9saW51eC9saW51 eF91aV9mYWN0b3J5LmNjCi1pbmRleCA1NTU1ZmYzYmYyMWY0Li4yMWJlMzU4ZDJhZjhlIDEwMDY0 NAotLS0tIGEvdWkvbGludXgvbGludXhfdWlfZmFjdG9yeS5jYwotKysrIGIvdWkvbGludXgvbGlu dXhfdWlfZmFjdG9yeS5jYwotQEAgLTEwLDYgKzEwLDcgQEAKLSAjaW5jbHVkZSAiYmFzZS9jb21t YW5kX2xpbmUuaCIKLSAjaW5jbHVkZSAiYmFzZS9lbnZpcm9ubWVudC5oIgotICNpbmNsdWRlICJi YXNlL25peC94ZGdfdXRpbC5oIgotKyNpbmNsdWRlICJiYXNlL25vX2Rlc3RydWN0b3IuaCIKLSAj aW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0cmluZ191dGlsLmgiCi0gI2luY2x1ZGUgImJ1aWxkL2No cm9tZWNhc3RfYnVpbGRmbGFncy5oIgotICNpbmNsdWRlICJ1aS9iYXNlL2J1aWxkZmxhZ3MuaCIK LUBAIC0zNSwxMCArMzYsMTYgQEAgbmFtZXNwYWNlIHsKLSAKLSBjb25zdCBjaGFyIGtVaVRvb2xr aXRGbGFnW10gPSAidWktdG9vbGtpdCI7Ci0gCi0rc3RkOjp2ZWN0b3I8TGludXhVaVRoZW1lKj4m IEdldExpbnV4VWlUaGVtZXNJbXBsKCkgewotKyAgc3RhdGljIGJhc2U6Ok5vRGVzdHJ1Y3Rvcjxz dGQ6OnZlY3RvcjxMaW51eFVpVGhlbWUqPj4gdGhlbWVzOwotKyAgcmV0dXJuICp0aGVtZXM7Ci0r fQotKwotIHN0ZDo6dW5pcXVlX3B0cjxMaW51eFVpQW5kVGhlbWU+IENyZWF0ZUd0a1VpKCkgewot ICNpZiBCVUlMREZMQUcoVVNFX0dUSykKLSAgIGF1dG8gZ3RrX3VpID0gQnVpbGRHdGtVaSgpOwot ICAgaWYgKGd0a191aS0+SW5pdGlhbGl6ZSgpKSB7Ci0rICAgIEdldExpbnV4VWlUaGVtZXNJbXBs KCkucHVzaF9iYWNrKGd0a191aS5nZXQoKSk7Ci0gICAgIHJldHVybiBndGtfdWk7Ci0gICB9Ci0g I2VuZGlmCi1AQCAtNjEsNiArNjgsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8TGludXhVaUFuZFRoZW1l PiBDcmVhdGVRdFVpKCkgewotICNpZiBCVUlMREZMQUcoVVNFX1FUKQotICAgYXV0byBxdF91aSA9 IHF0OjpDcmVhdGVRdFVpKEdldEd0a1VpKCkpOwotICAgaWYgKHF0X3VpLT5Jbml0aWFsaXplKCkp IHsKLSsgICAgR2V0TGludXhVaVRoZW1lc0ltcGwoKS5wdXNoX2JhY2socXRfdWkuZ2V0KCkpOwot ICAgICByZXR1cm4gcXRfdWk7Ci0gICB9Ci0gI2VuZGlmCi1AQCAtMTU2LDYgKzE2NCwxMCBAQCBM aW51eFVpVGhlbWUqIEdldExpbnV4VWlUaGVtZShTeXN0ZW1UaGVtZSBzeXN0ZW1fdGhlbWUpIHsK LSAgIH0KLSB9Ci0gCi0rY29uc3Qgc3RkOjp2ZWN0b3I8TGludXhVaVRoZW1lKj4mIEdldExpbnV4 VWlUaGVtZXMoKSB7Ci0rICByZXR1cm4gR2V0TGludXhVaVRoZW1lc0ltcGwoKTsKLSt9Ci0rCi0g U3lzdGVtVGhlbWUgR2V0RGVmYXVsdFN5c3RlbVRoZW1lKCkgewotICAgc3RkOjp1bmlxdWVfcHRy PGJhc2U6OkVudmlyb25tZW50PiBlbnYgPSBiYXNlOjpFbnZpcm9ubWVudDo6Q3JlYXRlKCk7Ci0g Ci1kaWZmIC0tZ2l0IGEvdWkvbGludXgvbGludXhfdWlfZmFjdG9yeS5oIGIvdWkvbGludXgvbGlu dXhfdWlfZmFjdG9yeS5oCi1pbmRleCA1ZDRmNGY0NzYxOTcyLi4yZjQ4MjBmMmM2MjQwIDEwMDY0 NAotLS0tIGEvdWkvbGludXgvbGludXhfdWlfZmFjdG9yeS5oCi0rKysgYi91aS9saW51eC9saW51 eF91aV9mYWN0b3J5LmgKLUBAIC0zMiw2ICszMiwxMCBAQCBMaW51eFVpVGhlbWUqIEdldERlZmF1 bHRMaW51eFVpVGhlbWUoKTsKLSBDT01QT05FTlRfRVhQT1JUKExJTlVYX1VJX0ZBQ1RPUlkpCi0g TGludXhVaVRoZW1lKiBHZXRMaW51eFVpVGhlbWUoU3lzdGVtVGhlbWUgc3lzdGVtX3RoZW1lKTsK LSAKLSsvLyBSZXR1cm5zIGFsbCBgTGludXhVaVRoZW1lYHMgdGhhdCBoYXZlIGJlZW4gY3JlYXRl ZC4KLStDT01QT05FTlRfRVhQT1JUKExJTlVYX1VJX0ZBQ1RPUlkpCi0rY29uc3Qgc3RkOjp2ZWN0 b3I8TGludXhVaVRoZW1lKj4mIEdldExpbnV4VWlUaGVtZXMoKTsKLSsKLSBDT01QT05FTlRfRVhQ T1JUKExJTlVYX1VJX0ZBQ1RPUlkpCi0gU3lzdGVtVGhlbWUgR2V0RGVmYXVsdFN5c3RlbVRoZW1l KCk7Ci0gCi1kaWZmIC0tZ2l0IGEvdWkvcXQvcXRfdWkuY2MgYi91aS9xdC9xdF91aS5jYwotaW5k ZXggY2QxMmM3MmEzY2FkNC4uMzdlMTY1ZDc2MzA1ZSAxMDA2NDQKLS0tLSBhL3VpL3F0L3F0X3Vp LmNjCi0rKysgYi91aS9xdC9xdF91aS5jYwotQEAgLTM1NSw2ICszNTUsMTEgQEAgYm9vbCBRdFVp OjpQcmVmZXJEYXJrVGhlbWUoKSBjb25zdCB7Ci0gICAgICAgc2hpbV8tPkdldENvbG9yKENvbG9y VHlwZTo6a1dpbmRvd0JnLCBDb2xvclN0YXRlOjprTm9ybWFsKSk7Ci0gfQotIAotK0RJU0FCTEVf Q0ZJX1ZDQUxMCi0rdm9pZCBRdFVpOjpTZXREYXJrVGhlbWUoYm9vbCBkYXJrKSB7Ci0rICAvLyBR dDo6Q29sb3JTY2hlbWUgaXMgb25seSBhdmFpbGFibGUgaW4gUVQgNi41IGFuZCBsYXRlci4KLSt9 Ci0rCi0gRElTQUJMRV9DRklfVkNBTEwKLSBib29sIFF0VWk6OkFuaW1hdGlvbnNFbmFibGVkKCkg Y29uc3QgewotICAgcmV0dXJuIHNoaW1fLT5HZXRBbmltYXRpb25EdXJhdGlvbk1zKCkgPiAwOwot ZGlmZiAtLWdpdCBhL3VpL3F0L3F0X3VpLmggYi91aS9xdC9xdF91aS5oCi1pbmRleCAzOGNlODcx OWVlMWQ4Li43ODdhOTU1NmIxMjY0IDEwMDY0NAotLS0tIGEvdWkvcXQvcXRfdWkuaAotKysrIGIv dWkvcXQvcXRfdWkuaAotQEAgLTgyLDYgKzgyLDcgQEAgY2xhc3MgUXRVaSA6IHB1YmxpYyB1aTo6 TGludXhVaUFuZFRoZW1lLCBRdEludGVyZmFjZTo6RGVsZWdhdGUgewotICAgdm9pZCBHZXRJbmFj dGl2ZVNlbGVjdGlvbkJnQ29sb3IoU2tDb2xvciogY29sb3IpIGNvbnN0IG92ZXJyaWRlOwotICAg dm9pZCBHZXRJbmFjdGl2ZVNlbGVjdGlvbkZnQ29sb3IoU2tDb2xvciogY29sb3IpIGNvbnN0IG92 ZXJyaWRlOwotICAgYm9vbCBQcmVmZXJEYXJrVGhlbWUoKSBjb25zdCBvdmVycmlkZTsKLSsgIHZv aWQgU2V0RGFya1RoZW1lKGJvb2wgZGFyaykgb3ZlcnJpZGU7Ci0gICBzdGQ6OnVuaXF1ZV9wdHI8 dWk6Ok5hdkJ1dHRvblByb3ZpZGVyPiBDcmVhdGVOYXZCdXR0b25Qcm92aWRlcigpIG92ZXJyaWRl OwotICAgdWk6OldpbmRvd0ZyYW1lUHJvdmlkZXIqIEdldFdpbmRvd0ZyYW1lUHJvdmlkZXIoYm9v bCBzb2xpZF9mcmFtZSkgb3ZlcnJpZGU7Ci0gCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE1LXB5 dGhvbi0zLjEyLWRlcHJlY2F0ZWQucGF0Y2ggYi9jaHJvbWl1bS0xMTUtcHl0aG9uLTMuMTItZGVw cmVjYXRlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjZmZTNhMi4uMDAw MDAwMAotLS0gYS9jaHJvbWl1bS0xMTUtcHl0aG9uLTMuMTItZGVwcmVjYXRlZC5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDE3MiArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41Nzkw LjEwMi9iYXNlL3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3 OTAuMTAyL2Jhc2Uvd3JpdGVfYnVpbGRfZGF0ZV9oZWFkZXIucHkKLS0tLSBjaHJvbWl1bS0xMTUu MC41NzkwLjEwMi9iYXNlL3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5Lm1lCTIwMjMtMDctMjIg MTQ6MjM6NDIuNjIwNjc5Mzk3ICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYmFz ZS93cml0ZV9idWlsZF9kYXRlX2hlYWRlci5weQkyMDIzLTA3LTIyIDE1OjI0OjQ2LjgzMzMxMDMx MCArMDIwMAotQEAgLTE3LDcgKzE3LDcgQEAgZGVmIG1haW4oKToKLSAgIGFyZ3MgPSBhcmd1bWVu dF9wYXJzZXIucGFyc2VfYXJncygpCi0gCi0gICBkYXRlX3ZhbCA9IGludChhcmdzLnRpbWVzdGFt cCkKLS0gIGRhdGUgPSBkYXRldGltZS5kYXRldGltZS51dGNmcm9tdGltZXN0YW1wKGRhdGVfdmFs KQotKyAgZGF0ZSA9ICBkYXRldGltZS5kYXRldGltZS5mcm9tdGltZXN0YW1wKGRhdGVfdmFsLCBk YXRldGltZS50aW1lem9uZS51dGMpCi0gICBvdXRwdXQgPSAoJy8vIEdlbmVyYXRlZCBieSAvL2Jh c2Uvd3JpdGVfYnVpbGRfZGF0ZV9oZWFkZXIucHlcbicKLSAgICAgICAgICAgICAnI2lmbmRlZiBC QVNFX0dFTkVSQVRFRF9CVUlMRF9EQVRFX1RJTUVTVEFNUCBcbicKLSAgICAgICAgICAgICBmJyNk ZWZpbmUgQkFTRV9HRU5FUkFURURfQlVJTERfREFURV9USU1FU1RBTVAge2RhdGVfdmFsfScKLWRp ZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2J1aWxkL3dyaXRlX2J1aWxkZmxhZ19oZWFk ZXIucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYnVpbGQvd3JpdGVfYnVpbGRmbGFnX2hl YWRlci5weQotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2J1aWxkL3dyaXRlX2J1aWxkZmxh Z19oZWFkZXIucHkubWUJMjAyMy0wNy0yMiAxNDoxNjoxNC4xOTY5NzU0NTEgKzAyMDAKLSsrKyBj aHJvbWl1bS0xMTUuMC41NzkwLjEwMi9idWlsZC93cml0ZV9idWlsZGZsYWdfaGVhZGVyLnB5CTIw MjMtMDctMjIgMTQ6MjA6MjQuOTc3MjM5OTk0ICswMjAwCi1AQCAtNDQsNyArNDQsNyBAQCBkZWYg R2V0T3B0aW9ucygpOgotICAgaGVhZGVyX2d1YXJkID0gY21kbGluZV9vcHRpb25zLm91dHB1dC51 cHBlcigpCi0gICBpZiBoZWFkZXJfZ3VhcmRbMF0uaXNkaWdpdCgpOgotICAgICBoZWFkZXJfZ3Vh cmQgPSAnXycgKyBoZWFkZXJfZ3VhcmQKLS0gIGhlYWRlcl9ndWFyZCA9IHJlLnN1YignW15cd10n LCAnXycsIGhlYWRlcl9ndWFyZCkKLSsgIGhlYWRlcl9ndWFyZCA9IHJlLnN1YihyJ1teXHddJywg J18nLCBoZWFkZXJfZ3VhcmQpCi0gICBoZWFkZXJfZ3VhcmQgKz0gJ18nCi0gCi0gICAjIFRoZSBh Y3R1YWwgb3V0cHV0IGZpbGUgaXMgaW5zaWRlIHRoZSBnZW4gZGlyLgotZGlmZiAtdXAgY2hyb21p dW0tMTE1LjAuNTc5MC4xMDIvY29tcG9uZW50cy9yZXNvdXJjZXMvcHJvdG9idWZzL2JpbmFyeV9w cm90b19nZW5lcmF0b3IucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvY29tcG9uZW50cy9y ZXNvdXJjZXMvcHJvdG9idWZzL2JpbmFyeV9wcm90b19nZW5lcmF0b3IucHkKLS0tLSBjaHJvbWl1 bS0xMTUuMC41NzkwLjEwMi9jb21wb25lbnRzL3Jlc291cmNlcy9wcm90b2J1ZnMvYmluYXJ5X3By b3RvX2dlbmVyYXRvci5weS5tZQkyMDIzLTA3LTIyIDE0OjQ3OjM0LjIzMDc2NDIxMCArMDIwMAot KysrIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2NvbXBvbmVudHMvcmVzb3VyY2VzL3Byb3RvYnVm cy9iaW5hcnlfcHJvdG9fZ2VuZXJhdG9yLnB5CTIwMjMtMDctMjIgMTU6MTE6NTAuMzYwOTgzMzgz ICswMjAwCi1AQCAtOSw3ICs5LDggQEAKLSAiIiIKLSBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHBy aW50X2Z1bmN0aW9uCi0gaW1wb3J0IGFiYwotLWltcG9ydCBpbXAKLStpbXBvcnQgdHlwZXMKLStp bXBvcnQgaW1wb3J0bGliCi0gaW1wb3J0IG9wdHBhcnNlCi0gaW1wb3J0IG9zCi0gaW1wb3J0IHJl Ci1AQCAtNDAsNiArNDEsMTIgQEAgY2xhc3MgR29vZ2xlUHJvdG9idWZNb2R1bGVJbXBvcnRlcjoK LSAgICAgICAgIHJldHVybiBmaWxlcGF0aAotICAgICByZXR1cm4gTm9uZQotIAotKyAgZGVmIGxv YWRfc291cmNlKG5hbWU6IHN0ciwgcGF0aDogc3RyKSAtPiB0eXBlcy5Nb2R1bGVUeXBlOgotKyAg ICBzcGVjID0gaW1wb3J0bGliLnV0aWwuc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24obmFtZSwgcGF0 aCkKLSsgICAgbW9kdWxlID0gaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQot KyAgICBzcGVjLmxvYWRlci5leGVjX21vZHVsZShtb2R1bGUpCi0rICAgIHJldHVybiBtb2R1bGUK LSsKLSAgIGRlZiBfbW9kdWxlX2V4aXN0cyhzZWxmLCBmdWxsbmFtZSk6Ci0gICAgIHJldHVybiBz ZWxmLl9mdWxsbmFtZV90b19maWxlcGF0aChmdWxsbmFtZSkgaXMgbm90IE5vbmUKLSAKLUBAIC02 OCw3ICs3NSw3IEBAIGNsYXNzIEdvb2dsZVByb3RvYnVmTW9kdWxlSW1wb3J0ZXI6Ci0gICAgICAg cmFpc2UgSW1wb3J0RXJyb3IoZnVsbG5hbWUpCi0gCi0gICAgIGZpbGVwYXRoID0gc2VsZi5fZnVs bG5hbWVfdG9fZmlsZXBhdGgoZnVsbG5hbWUpCi0tICAgIHJldHVybiBpbXAubG9hZF9zb3VyY2Uo ZnVsbG5hbWUsIGZpbGVwYXRoKQotKyAgICByZXR1cm4gbG9hZF9zb3VyY2UoZnVsbG5hbWUsIGZp bGVwYXRoKQotIAotIGNsYXNzIEJpbmFyeVByb3RvR2VuZXJhdG9yOgotIAotZGlmZiAtdXAgY2hy b21pdW0tMTE1LjAuNTc5MC4xMDIvbW9qby9wdWJsaWMvdG9vbHMvYmluZGluZ3MvY29uY2F0ZW5h dGVfYW5kX3JlcGxhY2VfY2xvc3VyZV9leHBvcnRzLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAu MTAyL21vam8vcHVibGljL3Rvb2xzL2JpbmRpbmdzL2NvbmNhdGVuYXRlX2FuZF9yZXBsYWNlX2Ns b3N1cmVfZXhwb3J0cy5weQotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL21vam8vcHVibGlj L3Rvb2xzL2JpbmRpbmdzL2NvbmNhdGVuYXRlX2FuZF9yZXBsYWNlX2Nsb3N1cmVfZXhwb3J0cy5w eS5tZQkyMDIzLTA3LTIyIDE1OjE3OjE5LjExNDI1ODgwMSArMDIwMAotKysrIGNocm9taXVtLTEx NS4wLjU3OTAuMTAyL21vam8vcHVibGljL3Rvb2xzL2JpbmRpbmdzL2NvbmNhdGVuYXRlX2FuZF9y ZXBsYWNlX2Nsb3N1cmVfZXhwb3J0cy5weQkyMDIzLTA3LTIyIDE1OjE3OjQzLjM2ODIwMDQ5MSAr MDIwMAotQEAgLTMyLDcgKzMyLDcgQEAgZGVmIEZpbHRlckxpbmUoZmlsZW5hbWUsIGxpbmUsIG91 dHB1dCk6Ci0gICAgIHJldHVybgotIAotICAgaWYgbGluZS5zdGFydHN3aXRoKCJnb29nLnByb3Zp ZGUiKToKLS0gICAgbWF0Y2ggPSByZS5tYXRjaCgiZ29vZy5wcm92aWRlXCgnKFteJ10rKSdcKTsi LCBsaW5lKQotKyAgICBtYXRjaCA9IHJlLm1hdGNoKHIiZ29vZy5wcm92aWRlXCgnKFteJ10rKSdc KTsiLCBsaW5lKQotICAgICBpZiBub3QgbWF0Y2g6Ci0gICAgICAgcHJpbnQoIkludmFsaWQgZ29v Zy5wcm92aWRlIGxpbmUgaW4gJXM6XG4lcyIgJSAoZmlsZW5hbWUsIGxpbmUpKQotICAgICAgIHN5 cy5leGl0KDEpCi1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9tb2pvL3B1YmxpYy90 b29scy9tb2pvbS9tb2pvbS9wYXJzZS9sZXhlci5weS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEw Mi9tb2pvL3B1YmxpYy90b29scy9tb2pvbS9tb2pvbS9wYXJzZS9sZXhlci5weQotLS0tIGNocm9t aXVtLTExNS4wLjU3OTAuMTAyL21vam8vcHVibGljL3Rvb2xzL21vam9tL21vam9tL3BhcnNlL2xl eGVyLnB5Lm1lCTIwMjMtMDctMjIgMTQ6MTA6NDAuMzcyOTc5MzY1ICswMjAwCi0rKysgY2hyb21p dW0tMTE1LjAuNTc5MC4xMDIvbW9qby9wdWJsaWMvdG9vbHMvbW9qb20vbW9qb20vcGFyc2UvbGV4 ZXIucHkJMjAyMy0wNy0yMiAxNDoxMzozMS4yMDA0NTM0NDIgKzAyMDAKLUBAIC0yLDcgKzIsNiBA QAotICMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg bGljZW5zZSB0aGF0IGNhbiBiZQotICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSAKLS1p bXBvcnQgaW1wCi0gaW1wb3J0IG9zLnBhdGgKLSBpbXBvcnQgc3lzCi0gCi1kaWZmIC11cCBjaHJv bWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2Fu aXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25fY29udHJvbGxlci5weS5tZSBjaHJvbWl1 bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXpl L3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25fY29udHJvbGxlci5weQotLS0tIGNocm9taXVt LTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUv cHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5Lm1lCTIwMjMtMDctMjIg MTU6MTI6NDEuODUwODk1MTc5ICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhp cmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvaHRtbF9n ZW5lcmF0aW9uX2NvbnRyb2xsZXIucHkJMjAyMy0wNy0yMiAxNToxMjo1NS44NDQ4NzEyMDcgKzAy MDAKLUBAIC0xOCw3ICsxOCw3IEBAIGNsYXNzIEhUTUxHZW5lcmF0aW9uQ29udHJvbGxlcihvYmpl Y3QpOgotIAotICAgZGVmIEdldEhUTUxGb3JJbmxpbmVTdHlsZXNoZWV0KHNlbGYsIGNvbnRlbnRz KToKLSAgICAgaWYgc2VsZi5jdXJyZW50X21vZHVsZSBpcyBOb25lOgotLSAgICAgIGlmIHJlLnNl YXJjaCgndXJsXCguK1wpJywgY29udGVudHMpOgotKyAgICAgIGlmIHJlLnNlYXJjaChyJ3VybFwo LitcKScsIGNvbnRlbnRzKToKLSAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigKLSAgICAgICAgICAg ICAnRGVmYXVsdCBIVE1MR2VuZXJhdGlvbkNvbnRyb2xsZXIgY2Fubm90IGhhbmRsZSBpbmxpbmUg c3R5bGUgdXJscycpCi0gICAgICAgcmV0dXJuIGNvbnRlbnRzCi1kaWZmIC11cCBjaHJvbWl1bS0x MTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5 X3Z1bGNhbml6ZS9qc191dGlscy5weS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9w YXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9qc191dGlscy5w eQotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1v bi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5Lm1lCTIwMjMtMDctMjIgMTU6 MTQ6MDYuOTIzNzE3OTEwICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRf cGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvanNfdXRpbHMu cHkJMjAyMy0wNy0yMiAxNToxODowMy43MDQxNTA2MTQgKzAyMDAKLUBAIC00LDQgKzQsNCBAQAot IAotIAotIGRlZiBFc2NhcGVKU0lmTmVlZGVkKGpzKToKLS0gIHJldHVybiBqcy5yZXBsYWNlKCc8 L3NjcmlwdD4nLCAnPFwvc2NyaXB0PicpCi0rICByZXR1cm4ganMucmVwbGFjZShyJzwvc2NyaXB0 PicsIHInPFwvc2NyaXB0PicpCi1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGly ZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9o dG1sX2RlcHMucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1 bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2VfaHRtbF9kZXBzLnB5Ci0t LS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5 X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2VfaHRtbF9kZXBzLnB5Lm1lCTIwMjMtMDctMjIg MTU6MTQ6MzAuMTA1NjYyNTMyICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhp cmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2Vf aHRtbF9kZXBzLnB5CTIwMjMtMDctMjIgMTU6MTQ6NTcuOTc3NTk1OTUwICswMjAwCi1AQCAtMjkz LDYgKzI5Myw2IEBAIGNsYXNzIEhUTUxNb2R1bGVQYXJzZXIoKToKLSAgICAgICBodG1sID0gJycK LSAgICAgZWxzZToKLSAgICAgICBpZiBodG1sLmZpbmQoJzwgL3NjcmlwdD4nKSAhPSAtMToKLS0g ICAgICAgIHJhaXNlIEV4Y2VwdGlvbignRXNjYXBlIHNjcmlwdCB0YWdzIHdpdGggPFwvc2NyaXB0 PicpCi0rICAgICAgICByYWlzZSBFeGNlcHRpb24ocidFc2NhcGUgc2NyaXB0IHRhZ3Mgd2l0aCA8 XC9zY3JpcHQ+JykKLSAKLSAgICAgcmV0dXJuIEhUTUxNb2R1bGVQYXJzZXJSZXN1bHRzKGh0bWwp Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9j b21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9zdHlsZV9zaGVldC5weS5tZSBjaHJvbWl1 bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXpl L3B5X3Z1bGNhbml6ZS9zdHlsZV9zaGVldC5weQotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAy L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3N0 eWxlX3NoZWV0LnB5Lm1lCTIwMjMtMDctMjIgMTU6MTM6MTIuMzE2ODQyOTkwICswMjAwCi0rKysg Y2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1 bGNhbml6ZS9weV92dWxjYW5pemUvc3R5bGVfc2hlZXQucHkJMjAyMy0wNy0yMiAxNToxMzo0OS42 ODQ3NTkwOTEgKzAyMDAKLUBAIC02MCw3ICs2MCw3IEBAIGNsYXNzIFBhcnNlZFN0eWxlU2hlZXQo b2JqZWN0KToKLSAgICAgICByZXR1cm4gJ3VybChkYXRhOmltYWdlLyVzO2Jhc2U2NCwlcyknICUg KGV4dFsxOl0sIGRhdGEuZGVjb2RlKCd1dGYtOCcpKQotIAotICAgICAjIEknbSBhc3N1bWluZyB3 ZSBvbmx5IGhhdmUgdXJsKCkncyBhc3NvY2lhdGVkIHdpdGggaW1hZ2VzCi0tICAgIHJldHVybiBy ZS5zdWIoJ3VybFwoKD9QPHF1b3RlPiJ8XCd8KSg/UDx1cmw+W14iXCcoKV0qKSg/UD1xdW90ZSlc KScsCi0rICAgIHJldHVybiByZS5zdWIocid1cmxcKCg/UDxxdW90ZT4ifFwnfCkoP1A8dXJsPlte IlwnKCldKikoP1A9cXVvdGUpXCknLAotICAgICAgICAgICAgICAgICAgIElubGluZVVybCwgc2Vs Zi5jb250ZW50cykKLSAKLSAgIGRlZiBBcHBlbmREaXJlY3RseURlcGVuZGVudEZpbGVuYW1lc1Rv KHNlbGYsIGRlcGVuZGVudF9maWxlbmFtZXMpOgotQEAgLTcyLDcgKzcyLDcgQEAgY2xhc3MgUGFy c2VkU3R5bGVTaGVldChvYmplY3QpOgotICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQGltcG9ydHMg YXJlIG5vdCBzdXBwb3J0ZWQnKQotIAotICAgICBtYXRjaGVzID0gcmUuZmluZGFsbCgKLS0gICAg ICAgICd1cmxcKCg/OlsifFwnXT8pKFteIlwnKCldKikoPzpbInxcJ10/KVwpJywKLSsgICAgICAg IHIndXJsXCgoPzpbInxcJ10/KShbXiJcJygpXSopKD86WyJ8XCddPylcKScsCi0gICAgICAgICBz ZWxmLmNvbnRlbnRzKQotIAotICAgICBkZWYgcmVzb2x2ZV91cmwodXJsKToKLWRpZmYgLXVwIGNo cm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Rhd24vZ2VuZXJhdG9yL2dlbmVyYXRv cl9saWIucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvZGF3bi9nZW5l cmF0b3IvZ2VuZXJhdG9yX2xpYi5weQotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJk X3BhcnR5L2Rhd24vZ2VuZXJhdG9yL2dlbmVyYXRvcl9saWIucHkubWUJMjAyMy0wNy0yMiAxNTox MTo1Ni44MjY5NzIzMDYgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9w YXJ0eS9kYXduL2dlbmVyYXRvci9nZW5lcmF0b3JfbGliLnB5CTIwMjMtMDctMjIgMTU6MTI6Mzcu NTUwOTAyNTQ1ICswMjAwCi1AQCAtMTE5LDggKzExOSw4IEBAIGNsYXNzIF9QcmVwcm9jZXNzaW5n TG9hZGVyKGppbmphMi5CYXNlTG8KLSAgICAgICAgICAgICBzb3VyY2UgPSBzZWxmLnByZXByb2Nl c3MoZi5yZWFkKCkpCi0gICAgICAgICByZXR1cm4gc291cmNlLCBwYXRoLCBsYW1iZGE6IG10aW1l ID09IG9zLnBhdGguZ2V0bXRpbWUocGF0aCkKLSAKLS0gICAgYmxvY2tzdGFydCA9IHJlLmNvbXBp bGUoJ3slLT9ccyooaWZ8ZWxpZnxlbHNlfGZvcnxibG9ja3xtYWNybylbXn1dKiV9JykKLS0gICAg YmxvY2tlbmQgPSByZS5jb21waWxlKCd7JS0/XHMqKGVuZChpZnxmb3J8YmxvY2t8bWFjcm8pfGVs aWZ8ZWxzZSlbXn1dKiV9JykKLSsgICAgYmxvY2tzdGFydCA9IHJlLmNvbXBpbGUocid7JS0/XHMq KGlmfGVsaWZ8ZWxzZXxmb3J8YmxvY2t8bWFjcm8pW159XSolfScpCi0rICAgIGJsb2NrZW5kID0g cmUuY29tcGlsZShyJ3slLT9ccyooZW5kKGlmfGZvcnxibG9ja3xtYWNybyl8ZWxpZnxlbHNlKVte fV0qJX0nKQotIAotICAgICBkZWYgcHJlcHJvY2VzcyhzZWxmLCBzb3VyY2UpOgotICAgICAgICAg bGluZXMgPSBzb3VyY2Uuc3BsaXQoJ1xuJykKLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAu MTAyL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi10b29scy9zcmMvYnVpbGQtZ24vZ2Vu ZXJhdGVfdnVsa2FuX2xheWVyc19qc29uLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3Ro aXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi10b29scy9zcmMvYnVpbGQtZ24vZ2VuZXJhdGVf dnVsa2FuX2xheWVyc19qc29uLnB5Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90 aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2J1aWxk LWduL2dlbmVyYXRlX3Z1bGthbl9sYXllcnNfanNvbi5weS5tZSBjaHJvbWl1bS0xMTUuMC41Nzkw LjEwMi90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3Jj L2J1aWxkLWduL2dlbmVyYXRlX3Z1bGthbl9sYXllcnNfanNvbi5weQotLS0tIGNocm9taXVtLTEx NS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxh eWVycy9zcmMvYnVpbGQtZ24vZ2VuZXJhdGVfdnVsa2FuX2xheWVyc19qc29uLnB5Lm1lCTIwMjMt MDctMjIgMTY6MDI6NDguMzMwMDUwMDg4ICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4x MDIvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9i dWlsZC1nbi9nZW5lcmF0ZV92dWxrYW5fbGF5ZXJzX2pzb24ucHkJMjAyMy0wNy0yMiAxNjowMzow Mi4zMjAwMjM2MTcgKzAyMDAKLUBAIC0yOCw3ICsyOCw2IEBAIGltcG9ydCBwbGF0Zm9ybQotIGlt cG9ydCBzeXMKLSAKLSBkZWYgZ2xvYl9zbGFzaChkaXJuYW1lKToKLS0gICAgIiIiTGlrZSByZWd1 bGFyIGdsb2IgYnV0IHJlcGxhY2VzIFwgd2l0aCAvIGluIHJldHVybmVkIHBhdGhzLiIiIgotICAg ICByZXR1cm4gW3MucmVwbGFjZSgnXFwnLCAnLycpIGZvciBzIGluIGdsb2IuZ2xvYihkaXJuYW1l KV0KLSAKLSBkZWYgbWFpbigpOgotZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvbW9q by9wdWJsaWMvdG9vbHMvbW9qb20vbW9qb20vZmlsZXV0aWwucHkucHl0aG9uLWltcC1kZXByZWNh dGVkIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL21vam8vcHVibGljL3Rvb2xzL21vam9tL21vam9t L2ZpbGV1dGlsLnB5Ci0tLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvbW9qby9wdWJsaWMvdG9v bHMvbW9qb20vbW9qb20vZmlsZXV0aWwucHkucHl0aG9uLWltcC1kZXByZWNhdGVkCTIwMjMtMDct MjEgMDU6NDE6MDIuMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIv bW9qby9wdWJsaWMvdG9vbHMvbW9qb20vbW9qb20vZmlsZXV0aWwucHkJMjAyMy0wNy0yMiAxNDo0 NToyMC40NDAxMjc1NDkgKzAyMDAKLUBAIC0zLDcgKzMsNiBAQAotICMgZm91bmQgaW4gdGhlIExJ Q0VOU0UgZmlsZS4KLSAKLSBpbXBvcnQgZXJybm8KLS1pbXBvcnQgaW1wCi0gaW1wb3J0IG9zLnBh dGgKLSBpbXBvcnQgc3lzCi0gCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE1LXdvcmthcm91bmRf Y2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaCBiL2Nocm9taXVtLTExNS13b3JrYXJv dW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGE3MGNkZDkuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTE1LXdvcmthcm91 bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDgxICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbWVkaWEvYmFzZS9j ZG1fcHJvbWlzZV9hZGFwdGVyLmNjLndvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmlu ZGluZyBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L21lZGlhL2Jhc2UvY2RtX3Byb21pc2VfYWRhcHRl ci5jYwotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9h ZGFwdGVyLmNjLndvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZwkyMDIzLTA2 LTA3IDIxOjQ4OjM3LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAuMjQv bWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjCTIwMjMtMDYtMTcgMTY6NTM6MjAuMjE2 NjI4NTU3ICswMjAwCi1AQCAtOTQsNyArOTQsOSBAQCB2b2lkIENkbVByb21pc2VBZGFwdGVyOjpS ZWplY3RQcm9taXNlKHVpCi0gdm9pZCBDZG1Qcm9taXNlQWRhcHRlcjo6Q2xlYXIoQ2xlYXJSZWFz b24gcmVhc29uKSB7Ci0gICAvLyBSZWplY3QgYWxsIG91dHN0YW5kaW5nIHByb21pc2VzLgotICAg RENIRUNLKHRocmVhZF9jaGVja2VyXy5DYWxsZWRPblZhbGlkVGhyZWFkKCkpOwotLSAgZm9yIChh dXRvJiBbcHJvbWlzZV9pZCwgcHJvbWlzZV0gOiBwcm9taXNlc18pIHsKLSsgIGZvciAoYXV0byYg W3BfaSwgcF9lXSA6IHByb21pc2VzXykgewotKyAgICBhdXRvJiBwcm9taXNlX2lkID0gcF9pOwot KyAgICBhdXRvJiBwcm9taXNlID0gcF9lOwotICAgICBUUkFDRV9FVkVOVF9ORVNUQUJMRV9BU1lO Q19FTkQxKAotICAgICAgICAgIm1lZGlhIiwgIkNkbVByb21pc2UiLCBUUkFDRV9JRF9XSVRIX1ND T1BFKCJDZG1Qcm9taXNlIiwgcHJvbWlzZV9pZCksCi0gICAgICAgICAic3RhdHVzIiwgImNsZWFy ZWQiKTsKLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2Mu d29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nIGNocm9taXVtLTExNS4wLjU3 OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19n cmlkX2xheW91dF9hbGdvcml0aG0uY2MKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlvdXRf YWxnb3JpdGhtLmNjLndvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZwkyMDIz LTA2LTA3IDIxOjQ4OjQxLjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAu MjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlk X2xheW91dF9hbGdvcml0aG0uY2MJMjAyMy0wNi0xNyAxODo0NzowNi4wMDE0MDM5NjYgKzAyMDAK LUBAIC0yMzgsNyArMjM4LDEwIEBAIGNvbnN0IE5HTGF5b3V0UmVzdWx0KiBOR0dyaWRMYXlvdXRB bGdvcmkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEJ1aWxkR3JpZFNpemluZ1Ry ZWUoJm9vZl9jaGlsZHJlbik7Ci0gCi0gICBMYXlvdXRVbml0IGludHJpbnNpY19ibG9ja19zaXpl OwotLSAgYXV0byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCB0cmVlX3NpemVdID0gZ3JpZF9z aXppbmdfdHJlZS5UcmVlUm9vdERhdGEoKTsKLSsgIGF1dG8mIFtnX2ksIGxfZCwgdF9zXSA9IGdy aWRfc2l6aW5nX3RyZWUuVHJlZVJvb3REYXRhKCk7Ci0rICBhdXRvJiBncmlkX2l0ZW1zID0gZ19p OwotKyAgYXV0byYgbGF5b3V0X2RhdGEgPSBsX2Q7Ci0rICBhdXRvJiB0cmVlX3NpemUgPSB0X3M7 Ci0gCi0gICBpZiAoSXNCcmVha0luc2lkZShCcmVha1Rva2VuKCkpKSB7Ci0gICAgIC8vIFRPRE8o bGF5b3V0LWRldik6IFdoZW4gd2Ugc3VwcG9ydCB2YXJpYWJsZSBpbmxpbmUtc2l6ZSBmcmFnbWVu dHMgd2UnbGwKLUBAIC02NTUsOCArNjU4LDEwIEBAIE5HR3JpZFNpemluZ1RyZWUgTkdHcmlkTGF5 b3V0QWxnb3JpdGhtOjoKLSAgIE5HR3JpZFNpemluZ1RyZWUgc2l6aW5nX3RyZWU7Ci0gCi0gICBp ZiAoY29uc3QgYXV0byogbGF5b3V0X3N1YnRyZWUgPSBDb25zdHJhaW50U3BhY2UoKS5HcmlkTGF5 b3V0U3VidHJlZSgpKSB7Ci0tICAgIGF1dG8mIFtncmlkX2l0ZW1zLCBsYXlvdXRfZGF0YSwgc3Vi dHJlZV9zaXplXSA9Ci0tICAgICAgICBzaXppbmdfdHJlZS5DcmVhdGVTaXppbmdEYXRhKCk7Ci0r ICAgIGF1dG8mIFtnX2ksIGxfZCwgc19zXSA9IHNpemluZ190cmVlLkNyZWF0ZVNpemluZ0RhdGEo KTsKLSsgICAgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsKLSsgICAgYXV0byYgbGF5b3V0X2RhdGEg PSBsX2Q7Ci0rICAgIGF1dG8mIHN1YnRyZWVfc2l6ZSA9IHNfczsKLSAKLSAgICAgY29uc3QgYXV0 byYgbm9kZSA9IE5vZGUoKTsKLSAgICAgZ3JpZF9pdGVtcyA9Ci1AQCAtMTc5OCw4ICsxODAzLDEw IEBAIHZvaWQgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjpDb21wbGV0ZVRyYWMKLSAgICAgYm9vbCog b3B0X25lZWRzX2FkZGl0aW9uYWxfcGFzcykgY29uc3QgewotICAgRENIRUNLKHNpemluZ19zdWJ0 cmVlKTsKLSAKLS0gIGF1dG8mIFtncmlkX2l0ZW1zLCBsYXlvdXRfZGF0YSwgc3VidHJlZV9zaXpl XSA9Ci0tICAgICAgc2l6aW5nX3N1YnRyZWUuU3VidHJlZVJvb3REYXRhKCk7Ci0rICBhdXRvJiBb Z19pLCBsX2QsIHNfc10gPSBzaXppbmdfc3VidHJlZS5TdWJ0cmVlUm9vdERhdGEoKTsKLSsgIGF1 dG8mIGdyaWRfaXRlbXMgPSBnX2k7Ci0rICBhdXRvJiBsYXlvdXRfZGF0YSA9IGxfZDsKLSsgIGF1 dG8mIHN1YnRyZWVfc2l6ZSA9IHNfczsKLSAKLSAgIGNvbnN0IGJvb2wgaXNfZm9yX2NvbHVtbnMg PSB0cmFja19kaXJlY3Rpb24gPT0ga0ZvckNvbHVtbnM7Ci0gICBjb25zdCBib29sIGhhc19ub25f ZGVmaW5pdGVfdHJhY2sgPQotQEAgLTE5MjQsOCArMTkzMSwxMCBAQCB0ZW1wbGF0ZSA8dHlwZW5h bWUgQ2FsbGJhY2tGdW5jPgotIHZvaWQgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjpGb3JFYWNoU3Vi Z3JpZCgKLSAgICAgY29uc3QgTkdHcmlkU2l6aW5nU3VidHJlZSYgc2l6aW5nX3N1YnRyZWUsCi0g ICAgIGNvbnN0IENhbGxiYWNrRnVuYyYgY2FsbGJhY2tfZnVuYykgY29uc3QgewotLSAgYXV0byYg W2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCBzdWJ0cmVlX3NpemVdID0KLS0gICAgICBzaXppbmdf c3VidHJlZS5TdWJ0cmVlUm9vdERhdGEoKTsKLSsgIGF1dG8mIFtnX2ksIGxfZCwgc19zXSA9IHNp emluZ19zdWJ0cmVlLlN1YnRyZWVSb290RGF0YSgpOwotKyAgYXV0byYgZ3JpZF9pdGVtcyA9IGdf aTsKLSsgIGF1dG8mIGxheW91dF9kYXRhID0gbF9kOwotKyAgYXV0byYgc3VidHJlZV9zaXplID0g c19zOwotIAotICAgLy8gSWYgd2Uga25vdyB0aGlzIHN1YnRyZWUgZG9lc24ndCBoYXZlIG5lc3Rl ZCBzdWJncmlkcyB3ZSBjYW4gZXhpdCBlYXJseQotICAgLy8gaW5zdGVhZCBvZiBpdGVyYXRpbmcg b3ZlciBldmVyeSBncmlkIGl0ZW0gbG9va2luZyBmb3IgdGhlbS4KLWRpZmYgLXVwIGNocm9taXVt LTExNS4wLjU3OTAuMzIvY29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vfd29y a2VyX2NvbnRleHRfd3JhcHBlci5jYy5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbnRlbnQv YnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250ZXh0X3dyYXBwZXIuY2MK LS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtl ci9zZXJ2aWNlX3dvcmtlcl9jb250ZXh0X3dyYXBwZXIuY2MubWUJMjAyMy0wNi0xOSAwODowNDow Mi4yODcwNzI3MjIgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbnRlbnQvYnJv d3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250ZXh0X3dyYXBwZXIuY2MJMjAy My0wNi0xOSAwODoxODoyNC41NzY4MTQ5NTAgKzAyMDAKLUBAIC0xMzkzLDcgKzEzOTMsOCBAQCB2 b2lkIFNlcnZpY2VXb3JrZXJDb250ZXh0V3JhcHBlcjo6TWF5YmVQCi0gICAgIHJldHVybjsKLSAg IH0KLSAKLS0gIGF1dG8gW2RvY3VtZW50X3VybCwga2V5LCBjYWxsYmFja10gPSBzdGQ6Om1vdmUo KnJlcXVlc3QpOwotKyAgYXV0byBbZF91LCBrZXksIGNhbGxiYWNrXSA9IHN0ZDo6bW92ZSgqcmVx dWVzdCk7Ci0rICBhdXRvIGRvY3VtZW50X3VybCA9IGRfdTsKLSAKLSAgIERDSEVDSyhkb2N1bWVu dF91cmwuaXNfdmFsaWQoKSk7Ci0gICBUUkFDRV9FVkVOVDEoIlNlcnZpY2VXb3JrZXIiLAoKZGlm ZiAtLWdpdCBhL2Nocm9taXVtLTExNi1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaCBiL2Nocm9t aXVtLTExNi1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMTQ5ODNkOS4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTYtbWlzc2luZy1oZWFk ZXItZmlsZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NzkgKzAsMCBAQAotZGlmZiAtdXAg Y2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaC5tZSBjaHJv bWl1bS0xMTAuMC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291bnRlZC5oCi0tLS0gY2hyb21p dW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaC5tZQkyMDIzLTAyLTIz IDEzOjM0OjMzLjE3NDgxNzI1NSAtMDUwMAotKysrIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jh c2UvbWVtb3J5L3JlZl9jb3VudGVkLmgJMjAyMy0wMi0yMyAxMzo0MjoyOC42NDYwNTI0NjkgLTA1 MDAKLUBAIC02LDYgKzYsNyBAQAotICNkZWZpbmUgQkFTRV9NRU1PUllfUkVGX0NPVU5URURfSF8K LSAKLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0rI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSAjaW5jbHVk ZSA8dXRpbGl0eT4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVj a19vcC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19vcC5oCi0tLS0gY2hy b21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgubWUJMjAyMy0wMS0xNyAxNzozOToy Ny42MjA4NzU4ODMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tf b3AuaAkyMDIzLTAxLTE3IDE3OjM5OjQyLjU0NjA2MDk1NyArMDEwMAotQEAgLTUsNiArNSw3IEBA Ci0gI2lmbmRlZiBCQVNFX0NIRUNLX09QX0hfCi0gI2RlZmluZSBCQVNFX0NIRUNLX09QX0hfCi0g Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPHN0 cmluZz4KLSAjaW5jbHVkZSA8dHlwZV90cmFpdHM+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jh c2UvZGVidWcvcHJvZmlsZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1 Zy9wcm9maWxlci5oLm1lCTIwMjMtMDEtMTcgMTY6Mjk6MjYuMzY4MDkwMDczICswMTAwCi0rKysg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgJMjAyMy0wMS0xNyAx Njo1OTo0MS4xOTA2Mjg2NzkgKzAxMDAKLUBAIC03LDYgKzcsNyBAQAotIAotICNpbmNsdWRlIDxz dGRkZWYuaD4KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAot ICNpbmNsdWRlICJiYXNlL2Jhc2VfZXhwb3J0LmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lCTIwMjMtMDEtMTcgMTk6MDY6 NTMuNTMwNjc1MTI5ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmln L2dwdV9mZWF0dXJlX2luZm8uaAkyMDIzLTAxLTE3IDE5OjA3OjA4Ljg3NDg0OTg3OSArMDEwMAot QEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBHUFVfQ09ORklHX0dQVV9GRUFUVVJFX0lORk9fSF8K LSAjZGVmaW5lIEdQVV9DT05GSUdfR1BVX0ZFQVRVUkVfSU5GT19IXwotIAotKyNpbmNsdWRlIDxj c3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSAKLWRpZmYg LXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oCi0tLS0gY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgubWUJMjAyMy0wMS0xNyAxODoxNjozNC4x MzM4NTQ2MTUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9l eHBvcnQuaAkyMDIzLTAxLTE3IDE4OjE2OjE1Ljk0NTYyMzE1MyArMDEwMAotQEAgLTUsNiArNSw4 IEBACi0gI2lmbmRlZiBORVRfQkFTRV9ORVRfRVhQT1JUX0hfCi0gI2RlZmluZSBORVRfQkFTRV9O RVRfRVhQT1JUX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gLy8gRGVmaW5lcyBORVRf RVhQT1JUIHNvIHRoYXQgZnVuY3Rpb25hbGl0eSBpbXBsZW1lbnRlZCBieSB0aGUgbmV0IG1vZHVs ZSBjYW4KLSAvLyBiZSBleHBvcnRlZCB0byBjb25zdW1lcnMsIGFuZCBORVRfRVhQT1JUX1BSSVZB VEUgdGhhdCBhbGxvd3MgdW5pdCB0ZXN0cyB0bwotIC8vIGFjY2VzcyBmZWF0dXJlcyBub3QgaW50 ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBieSByZWFsIGNvbnN1bWVycy4KLWRpZmYgLXVwIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf ZmlsZV9wZXJtaXNzaW9uLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xpbnV4 L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAotLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJt aXNzaW9uLmgubWUJMjAyMy0wMS0xNyAxNzoxMjozNC4xODQ2ODY1MTUgKzAxMDAKLSsrKyBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2Zp bGVfcGVybWlzc2lvbi5oCTIwMjMtMDEtMTcgMTc6MTM6MTYuNTM3MTYyNDIwICswMTAwCi1AQCAt NSw2ICs1LDcgQEAKLSAjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9LRVJfQlJPS0VS X0ZJTEVfUEVSTUlTU0lPTl9IXwotICNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVNDQUxMX0JST0tF Ul9CUk9LRVJfRklMRV9QRVJNSVNTSU9OX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2lu Y2x1ZGUgPGJpdHNldD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotZGlmZiAtdXAgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdf dmlldy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9h YnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZQkyMDIzLTAx LTE3IDE3OjMzOjIwLjg5NTcxNzMwNyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAkyMDIzLTAx LTE3IDE3OjM0OjAzLjQ1NjE4NTM2NSArMDEwMAotQEAgLTI3LDYgKzI3LDcgQEAKLSAjaWZuZGVm IEFCU0xfU1RSSU5HU19TVFJJTkdfVklFV19IXwotICNkZWZpbmUgQUJTTF9TVFJJTkdTX1NUUklO R19WSUVXX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGFsZ29yaXRobT4K LSAjaW5jbHVkZSA8Y2Fzc2VydD4KLSAjaW5jbHVkZSA8Y3N0ZGRlZj4KLWRpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1NoYWRl clZhcnMuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1 ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJk X3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUJMjAyMy0wMS0xNyAx NzozNjoxNS4wMTc2MTYyNTAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJk X3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgJMjAyMy0wMS0xNyAxNzoz Njo0OC45NjA5ODIxOTUgKzAxMDAKLUBAIC0xMCw2ICsxMCw3IEBACi0gI2lmbmRlZiBHTFNMQU5H X1NIQURFUlZBUlNfSF8KLSAjZGVmaW5lIEdMU0xBTkdfU0hBREVSVkFSU19IXwotIAotKyNpbmNs dWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0gI2luY2x1ZGUgPGFycmF5Pgot ICNpbmNsdWRlIDxzdHJpbmc+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJk X3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhfZGV2aWNl X2lkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMv Y29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCi0tLS0gY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93 ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oLm1lCTIwMjMtMDEtMTcgMTk6MTc6NDAuNDgwODc2MTcx ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJs aWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCTIwMjMtMDEtMTcg MTk6MTc6NDYuODAzOTU4MzIwICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFRISVJE X1BBUlRZX0JMSU5LX1BVQkxJQ19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVFVE9PVEhfREVWSUNF X0lEX0hfCi0gI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09NTU9OX0JMVUVUT09U SF9XRUJfQkxVRVRPT1RIX0RFVklDRV9JRF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNp bmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotZGlmZiAtdXAgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L3JlYWRlci9zcGlydi9uYW1l ci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9y ZWFkZXIvc3BpcnYvbmFtZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaC5tZQkyMDIzLTAxLTE3IDE4OjAy OjQ0LjY4MTUzODEwNyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaAkyMDIzLTAxLTE3IDE4OjAyOjU3 LjIwODY3OTE0MCArMDEwMAotQEAgLTE1LDYgKzE1LDcgQEAKLSAjaWZuZGVmIFNSQ19USU5UX1JF QURFUl9TUElSVl9OQU1FUl9IXwotICNkZWZpbmUgU1JDX1RJTlRfUkVBREVSX1NQSVJWX05BTUVS X0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVk ZSA8dW5vcmRlcmVkX21hcD4KLSAjaW5jbHVkZSA8dmVjdG9yPgotZGlmZiAtdXAgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2Qv cHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGly ZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRf cmVjb3JkLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3Jl ZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaC5tZQkyMDIz LTAxLTE4IDE1OjIyOjM4LjQ3Mjk0MDY0OCArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNf c2RfdHh0X3JlY29yZC5oCTIwMjMtMDEtMTggMTU6MjM6MDkuMzgwMjU1MTAxICswMTAwCi1AQCAt NSw2ICs1LDcgQEAKLSAjaWZuZGVmIERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NEX1RYVF9S RUNPUkRfSF8KLSAjZGVmaW5lIERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NEX1RYVF9SRUNP UkRfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSAj aW5jbHVkZSA8bWFwPgotICNpbmNsdWRlIDxzZXQ+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1l IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3Rl bS9MUlVDYWNoZS5ocHAKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3 aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1lCTIwMjMtMDEtMTcgMTU6Mzc6NDgu NTMwNjI2NTE2ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9z d2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcAkyMDIzLTAxLTE3IDE2OjU3OjQ2LjAy NTU0ODA5MiArMDEwMAotQEAgLTE3LDYgKzE3LDcgQEAKLSAKLSAjaW5jbHVkZSAiU3lzdGVtL0Rl YnVnLmhwcCIKLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8Y3N0ZGRlZj4KLSAj aW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSAjaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KLWRpZmYgLXVw IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0 b3IvaW5jbHVkZS92a19tZW1fYWxsb2MuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJk X3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgKLS0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2Nh dG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgubWUJMjAyMy0wMS0xNyAxNTo0MDoyMy44NTQzODYy MDYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9t ZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgJMjAyMy0wMS0xNyAxNjo1ODox OS4zOTc4NjI4ODUgKzAxMDAKLUBAIC0yMzg4LDYgKzIzODgsNyBAQCBWTUFfQ0FMTF9QUkUgdm9p ZCBWTUFfQ0FMTF9QT1NUIHZtYUZyZWVWCi0gI2lmZGVmIFZNQV9JTVBMRU1FTlRBVElPTg0KLSAj dW5kZWYgVk1BX0lNUExFTUVOVEFUSU9ODQotIA0KLSsjaW5jbHVkZSA8Y3N0ZGlvPg0KLSAjaW5j bHVkZSA8Y3N0ZGludD4NCi0gI2luY2x1ZGUgPGNzdGRsaWI+DQotICNpbmNsdWRlIDxjc3RyaW5n Pg0KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVh cl9ncmFkaWVudC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xp bmVhcl9ncmFkaWVudC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0 cnkvbGluZWFyX2dyYWRpZW50LmgubWUJMjAyMy0wMS0xNyAxODowODoyNS43NDU0OTEzNTMgKzAx MDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3Jh ZGllbnQuaAkyMDIzLTAxLTE3IDE4OjA4OjM1Ljc3NzY2NzYzMiArMDEwMAotQEAgLTUsNiArNSw3 IEBACi0gI2lmbmRlZiBVSV9HRlhfTElORUFSX0dSQURJRU5UX0hfCi0gI2RlZmluZSBVSV9HRlhf TElORUFSX0dSQURJRU5UX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGFy cmF5PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1l IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIv aW5zdHJ1bWVudGF0aW9uLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1lCTIwMjMtMDEtMTkgMTA6 MTA6MjEuMjg3ODc2NzM2ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaAkyMDIzLTAxLTE5IDEw OjExOjIxLjcxNDc3ODg5NiArMDEwMAotQEAgLTE3LDYgKzE3LDcgQEAgbGltaXRhdGlvbnMgdW5k ZXIgdGhlIExpY2Vuc2UuCi0gI2RlZmluZSBSVVlfUlVZX1BST0ZJTEVSX0lOU1RSVU1FTlRBVElP Tl9IXwotIAotICNpZmRlZiBSVVlfUFJPRklMRVIKLSsjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNs dWRlIDxjc3RkaW8+Ci0gI2luY2x1ZGUgPG11dGV4PgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29y Zmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaC5tZSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMv aW50ZXJuYWwvc3BlY3Ryb2dyYW0uaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJv Z3JhbS5oLm1lCTIwMjMtMDEtMTkgMTA6MzA6MjcuNTMzODYxOTg1ICswMTAwCi0rKysgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9r ZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgJMjAyMy0wMS0xOSAxMDozMToxMi41ODU1NTQx ODMgKzAxMDAKLUBAIC0zMSw2ICszMSw3IEBAIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNl LgotICNpZm5kZWYgVEVOU09SRkxPV19MSVRFX0tFUk5FTFNfSU5URVJOQUxfU1BFQ1RST0dSQU1f SF8KLSAjZGVmaW5lIFRFTlNPUkZMT1dfTElURV9LRVJORUxTX0lOVEVSTkFMX1NQRUNUUk9HUkFN X0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGNvbXBsZXg+Ci0gI2luY2x1 ZGUgPGRlcXVlPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaC5tZWUJMjAyMy0wMS0xOSAxMDo1OTo1Mi4yMTQ5 NTc3NzMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9m bGF0X21hcC5oCTIwMjMtMDEtMTkgMTE6MDA6MDYuNDE1MjE1MzA5ICswMTAwCi1AQCAtNSw2ICs1 LDcgQEAKLSAjaWZuZGVmIEJBU0VfQ09OVEFJTkVSU19GTEFUX01BUF9IXwotICNkZWZpbmUgQkFT RV9DT05UQUlORVJTX0ZMQVRfTUFQX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1 ZGUgPGZ1bmN0aW9uYWw+Ci0gI2luY2x1ZGUgPHR1cGxlPgotICNpbmNsdWRlIDx1dGlsaXR5Pgot ZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBw L2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBv bmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgKLS0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJf Y2xpZW50LmgubWVlCTIwMjMtMDEtMTkgMTA6MzY6NDAuNTcxNDIyODI2ICswMTAwCi0rKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9y dGVyX2NsaWVudC5oCTIwMjMtMDEtMTkgMTA6MzY6NDkuMzQzNTY1Mjk0ICswMTAwCi1AQCAtNSw2 ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfQ1JBU0hfQ09SRV9BUFBfQ1JBU0hfUkVQT1JU RVJfQ0xJRU5UX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX0NSQVNIX0NPUkVfQVBQX0NSQVNIX1JF UE9SVEVSX0NMSUVOVF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJp bmc+Ci0gCi0gI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgotZGlmZiAtdXAgY2hyb21p dW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oLm1lZSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmls dGVyLmgubWVlCTIwMjMtMDEtMTkgMTE6NDU6MTUuOTUzMTU5NzU1ICswMTAwCi0rKysgY2hyb21p dW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oCTIwMjMt MDEtMTkgMTE6NDU6MjIuMzIwMjQ2MjQxICswMTAwCi1AQCAtNSw2ICs1LDggQEAKLSAjaWZuZGVm IFVJX0JBU0VfUFJFRElDVElPTl9LQUxNQU5fRklMVEVSX0hfCi0gI2RlZmluZSBVSV9CQVNFX1BS RURJQ1RJT05fS0FMTUFOX0ZJTFRFUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotKwotICNp bmNsdWRlICJiYXNlL2NvbXBvbmVudF9leHBvcnQuaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L2dlb21l dHJ5L21hdHJpeDNfZi5oIgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21w b25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRf Z2VuZXJhdG9yLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3Jk X21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgKLS0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3Jl L2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaC5tZQkyMDIzLTAxLTE5IDE1 OjIwOjA3LjYyMDk4Nzk0OSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9u ZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dl bmVyYXRvci5oCTIwMjMtMDEtMTkgMTU6MjA6MTguMzI0MTczNzAyICswMTAwCi1AQCAtNSw2ICs1 LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfUEFTU1dPUkRfTUFOQUdFUl9DT1JFX0JST1dTRVJf R0VORVJBVElPTl9QQVNTV09SRF9HRU5FUkFUT1JfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfUEFT U1dPUkRfTUFOQUdFUl9DT1JFX0JST1dTRVJfR0VORVJBVElPTl9QQVNTV09SRF9HRU5FUkFUT1Jf SF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotIAotZGlm ZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVu dC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFn ZV92YWxpZGF0b3IuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0 dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZQkyMDIz LTAxLTE5IDE2OjAwOjE0LjM1MDE4NjUxNSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92 YWxpZGF0b3IuaAkyMDIzLTAxLTE5IDE2OjAwOjIxLjY0MzMwNzk5MyArMDEwMAotQEAgLTUsNiAr NSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9F VkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19GRUFUVVJFX0VO R0FHRU1FTlRfSU5URVJOQUxfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KLSAKLSsjaW5jbHVk ZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotIG5hbWVzcGFjZSBmZWF0dXJlX2Vu Z2FnZW1lbnQgewotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2Zl YXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5o Lm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQv aW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAotLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJf ZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZQkyMDIzLTAxLTE5IDE1OjU5OjE4LjIxMDIzOTQx NiArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2Vu Z2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTAx LTE5IDE1OjU5OjM0LjUxMzUxNTAzMCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBD T01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9ORVZFUl9FVkVOVF9TVE9SQUdF X1ZBTElEQVRPUl9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5U RVJOQUxfTkVWRVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0 ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotICNpbmNsdWRlICJjb21wb25lbnRzL2ZlYXR1 cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oIgotZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9w YXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2 bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYwotLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4w L2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYy5tZQkyMDIzLTAxLTE5IDE2OjA5OjI5 LjIxNjQ3NzE4MiArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv c3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9T aWduYWxzLmluYwkyMDIzLTAxLTE5IDE2OjEwOjA1LjY1NzA4OTIwOCArMDEwMAotQEAgLTQ1LDYg KzQ1LDcgQEAKLSAjaW5jbHVkZSAibGx2bS9TdXBwb3J0L1NhdmVBbmRSZXN0b3JlLmgiCi0gI2lu Y2x1ZGUgImxsdm0vU3VwcG9ydC9yYXdfb3N0cmVhbS5oIgotICNpbmNsdWRlIDxhbGdvcml0aG0+ Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8c3lz ZXhpdHMuaD4KLSAjaWZkZWYgSEFWRV9CQUNLVFJBQ0UKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFj ZV90cmFja2VyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9wcml2 YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaAotLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3Vy ZmFjZV90cmFja2VyLmgubWUJMjAyMy0wMS0xOSAxNjozMjowNS4zMzgxNjAxMzEgKzAxMDAKLSsr KyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2Vu Y291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oCTIwMjMtMDEtMTkgMTY6MzI6MTYuMjEzMzI2Nzk4 ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENIUk9NRV9CUk9XU0VSX1BSSVZBQ1lf QlVER0VUX0VOQ09VTlRFUkVEX1NVUkZBQ0VfVFJBQ0tFUl9IXwotICNkZWZpbmUgQ0hST01FX0JS T1dTRVJfUFJJVkFDWV9CVURHRVRfRU5DT1VOVEVSRURfU1VSRkFDRV9UUkFDS0VSX0hfCi0gCi0r I2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPG1hcD4KLSAKLSAjaW5jbHVkZSAiYmFzZS9j b250YWluZXJzL2ZsYXRfc2V0LmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5Lmgu bWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nl ci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j b21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5o Lm1lCTIwMjMtMDEtMTkgMTY6NDc6NTUuNTQ4NTcxMTAyICswMTAwCi0rKysgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxh dGlvbl9zdHVkeS5oCTIwMjMtMDEtMTkgMTY6NDg6MjkuMjE0MTQ2NTI5ICswMTAwCi1AQCAtNSw2 ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfQVVUT0ZJTExfQ09SRV9CUk9XU0VSX0FVVE9G SUxMX0FCTEFUSU9OX1NUVURZX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX0FVVE9GSUxMX0NPUkVf QlJPV1NFUl9BVVRPRklMTF9BQkxBVElPTl9TVFVEWV9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50 PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gY2xhc3MgR1VSTDsKLWRpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRf bW9kZWwuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93 c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgubWUJMjAyMy0w MS0xOSAxNjo1NzoyOS41MjUzNzI4MTQgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgJMjAyMy0w MS0xOSAxNjo1ODowMi42Njc5NzkyODggKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYg Q09NUE9ORU5UU19PTU5JQk9YX0JST1dTRVJfT05fREVWSUNFX0hFQURfTU9ERUxfSF8KLSAjZGVm aW5lIENPTVBPTkVOVFNfT01OSUJPWF9CUk9XU0VSX09OX0RFVklDRV9IRUFEX01PREVMX0hfCi0g Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dXRp bGl0eT4KLSAjaW5jbHVkZSA8dmVjdG9yPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIu aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91 dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j b21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaC5t ZQkyMDIzLTAxLTE5IDE3OjAyOjQ1LjI1ODU0NDY2NSArMDEwMAotKysrIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRf cGFyc2VyLmgJMjAyMy0wMS0xOSAxNzowMjo1Mi41Nzc2MTE3NTcgKzAxMDAKLUBAIC01LDYgKzUs NyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19QQVlNRU5UU19DT05URU5UX1VUSUxJVFlfRklOR0VS UFJJTlRfUEFSU0VSX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX1BBWU1FTlRTX0NPTlRFTlRfVVRJ TElUWV9GSU5HRVJQUklOVF9QQVJTRVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5j bHVkZSA8c3RkZGVmLmg+Ci0gCi0gI2luY2x1ZGUgPHN0cmluZz4KLWRpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oCi0tLS0gY2hyb21p dW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgubWUJMjAyMy0w MS0xOSAxNzoyODoyOC41NTIwNjM1MzQgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8uaAkyMDIzLTAxLTE5IDE3OjI4OjQ4LjA3MjM3 OTk1MyArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBQREZfRE9DVU1FTlRfQVRUQUNI TUVOVF9JTkZPX0hfCi0gI2RlZmluZSBQREZfRE9DVU1FTlRfQVRUQUNITUVOVF9JTkZPX0hfCi0g Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSAKLWRpZmYgLXVw IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5v dGF0aW9uX2ZsYWdzLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZp dW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgubWUJMjAy My0wMS0xOSAxODoyNTo0Ny42NDgxOTM3MTAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oCTIwMjMt MDEtMTkgMTg6MjY6MTEuNDg4NTkzNTU2ICswMTAwCi1AQCAtNSw2ICs1LDggQEAKLSAjaWZuZGVm IENPTlNUQU5UU19BTk5PVEFUSU9OX0ZMQUdTX0hfCi0gI2RlZmluZSBDT05TVEFOVFNfQU5OT1RB VElPTl9GTEFHU19IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotKwotIG5hbWVzcGFjZSBwZGZp dW0gewotIG5hbWVzcGFjZSBhbm5vdGF0aW9uX2ZsYWdzIHsKLSAKLWRpZmYgLXVwIGNocm9taXVt LTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24t bGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oLm1lIGNocm9taXVt LTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24t bGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCi0tLS0gY2hyb21p dW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlv bi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWUJMjAyMy0w NC0xNSAxNjo0NDo1NS4zNDQzMDU0MTIgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjI0 L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5 ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaAkyMDIzLTA0LTE1IDE2OjQ3OjA5LjAyODY2 Njk5NSArMDIwMAotQEAgLTI4NTQsNiArMjg1NCw3IEBAIHN0YXRpYyB2b2lkIHZtYV9hbGlnbmVk X2ZyZWUodm9pZCogVk1BX04KLSAKLSAvLyBEZWZpbmUgdGhpcyBtYWNybyB0byAxIHRvIGVuYWJs ZSBmdW5jdGlvbnM6IHZtYUJ1aWxkU3RhdHNTdHJpbmcsIHZtYUZyZWVTdGF0c1N0cmluZy4KLSAj aWYgVk1BX1NUQVRTX1NUUklOR19FTkFCTEVECi0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gICAgIHN0 YXRpYyBpbmxpbmUgdm9pZCBWbWFVaW50MzJUb1N0cihjaGFyKiBWTUFfTk9UX05VTEwgb3V0U3Ry LCBzaXplX3Qgc3RyTGVuLCB1aW50MzJfdCBudW0pCi0gICAgIHsKLSAgICAgICAgIHNucHJpbnRm KG91dFN0ciwgc3RyTGVuLCAiJXUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG51bSkpOwot ZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9h dXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3 Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9n X21vZGVsLmgKLS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1 dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5tZQkyMDIzLTA0LTE4IDE1 OjU1OjQ0Ljc3NDkxNjMxOSArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21l L2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oCTIw MjMtMDQtMTggMTU6NTU6NTQuNDQxMDg1ODgyICswMjAwCi1AQCAtOCw2ICs4LDcgQEAKLSAjaW5j bHVkZSA8bWVtb3J5PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSsj aW5jbHVkZSA8dmFyaWFudD4KLSAKLSAjaW5jbHVkZSAiYmFzZS9jb250YWluZXJzL3NwYW4uaCIK LSAjaW5jbHVkZSAiYmFzZS9mdW5jdGlvbmFsL2NhbGxiYWNrX2ZvcndhcmQuaCIKLWRpZmYgLXVw IGNocm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oLm1lIGNocm9taXVtLTEx My4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oCi0tLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4z Ny9naW4vdGltZV9jbGFtcGVyLmgubWUJMjAyMy0wNC0xOCAxNjozODo0MS4xODA0Mzc0NjcgKzAy MDAKLSsrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaAkyMDIzLTA0 LTE4IDE2OjM5OjQzLjg1NzA0OTQzMiArMDIwMAotQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgR0lO X0VYUE9SVCBUaW1lQ2xhbXBlciB7Ci0gICAgIGNvbnN0IGludDY0X3QgbWljcm9zID0gbm93X21p Y3JvcyAlIDEwMDA7Ci0gICAgIC8vIGFicygpIGlzIG5lY2Vzc2FyeSBmb3IgZGV2aWNlcyB3aXRo IHRpbWVzIGJlZm9yZSB1bml4LWVwb2NoIChtb3N0IGxpa2VseQotICAgICAvLyBjb25maWd1cmVk IGluY29ycmVjdGx5KS4KLS0gICAgaWYgKGFicyhtaWNyb3MpICsga1Jlc29sdXRpb25NaWNyb3Mg PCAxMDAwKSB7Ci0rICAgIGlmIChzdGQ6OmFicyhtaWNyb3MpICsga1Jlc29sdXRpb25NaWNyb3Mg PCAxMDAwKSB7Ci0gICAgICAgcmV0dXJuIG5vd19taWNyb3MgLyAxMDAwOwotICAgICB9Ci0gICAg IHJldHVybiBDbGFtcFRpbWVSZXNvbHV0aW9uKG5vd19taWNyb3MpIC8gMTAwMDsKLWRpZmYgLXVw IGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93 ZWJfdmlld19pbXBsLmNjLm1lIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hy b21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCi0tLS0gY2hyb21pdW0tMTEzLjAuNTY3 Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MubWUJ MjAyMy0wNC0yMSAwODowNzo1NS4zNjI3MTQ1NDQgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTMuMC41 NjcyLjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYwky MDIzLTA0LTIxIDA4OjE0OjM1LjQyNDE1ODY5MyArMDIwMAotQEAgLTEwLDYgKzEwLDcgQEAKLSAj aW5jbHVkZSA8cXVldWU+Ci0gI2luY2x1ZGUgPHV0aWxpdHk+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4K LSsjaW5jbHVkZSA8Y3N0cmluZz4KLSAKLSAjaW5jbHVkZSAiYmFzZS9jaGVjay5oIgotICNpbmNs dWRlICJiYXNlL2ZpbGVzL2ZpbGVfcGF0aC5oIgotZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0 NS41MC9jb21wb25lbnRzL2Jvb2ttYXJrcy9jb21tb24vdXJsX2xvYWRfc3RhdHMuaC5tZSBjaHJv bWl1bS0xMTYuMC41ODQ1LjUwL2NvbXBvbmVudHMvYm9va21hcmtzL2NvbW1vbi91cmxfbG9hZF9z dGF0cy5oCi0tLS0gY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jb21wb25lbnRzL2Jvb2ttYXJrcy9j b21tb24vdXJsX2xvYWRfc3RhdHMuaC5tZQkyMDIzLTA4LTAxIDE1OjA3OjA2Ljk0MDg4MTQzOSAr MDIwMAotKysrIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY29tcG9uZW50cy9ib29rbWFya3MvY29t bW9uL3VybF9sb2FkX3N0YXRzLmgJMjAyMy0wOC0wMSAxNTowOToyOS4zMDE1Mzc0NTAgKzAyMDAK LUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19CT09LTUFSS1NfQ09NTU9OX1VS TF9MT0FEX1NUQVRTX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX0JPT0tNQVJLU19DT01NT05fVVJM X0xPQURfU1RBVFNfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGRlZj4KLSAjaW5jbHVkZSA8Y3N0ZGlu dD4KLSAjaW5jbHVkZSA8dmVjdG9yPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41 MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L29iamVjdF9wYWludF9wcm9w ZXJ0aWVzX3NwYXJzZS5oLm1lIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9wYWludC9vYmplY3RfcGFpbnRfcHJvcGVydGllc19zcGFyc2UuaAot LS0tIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29y ZS9wYWludC9vYmplY3RfcGFpbnRfcHJvcGVydGllc19zcGFyc2UuaC5tZQkyMDIzLTA3LTMwIDE5 OjQ0OjU0LjcxODg0NjYwNiArMDIwMAotKysrIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9vYmplY3RfcGFpbnRfcHJvcGVydGllc19z cGFyc2UuaAkyMDIzLTA3LTMwIDE5OjQ1OjE0LjgyOTI0OTQ2NyArMDIwMAotQEAgLTgsNiArOCw3 IEBACi0gI2luY2x1ZGUgPGFycmF5PgotICNpbmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPHV0 aWxpdHk+Ci0rI2luY2x1ZGUgPHZhcmlhbnQ+Ci0gCi0gI2luY2x1ZGUgImJhc2UvZGNoZWNrX2lz X29uLmgiCi0gI2luY2x1ZGUgImJhc2UvbWVtb3J5L3B0cl91dGlsLmgiCi1kaWZmIC11cCBjaHJv bWl1bS0xMTYuMC41ODQ1LjUwL2Nocm9tZS9icm93c2VyL3VpL3Byb2ZpbGVfdmlld191dGlscy5o Lm1lIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY2hyb21lL2Jyb3dzZXIvdWkvcHJvZmlsZV92aWV3 X3V0aWxzLmgKLS0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2Nocm9tZS9icm93c2VyL3VpL3By b2ZpbGVfdmlld191dGlscy5oLm1lCTIwMjMtMDctMzEgMTM6NDA6MTguMTcxMTc1Mzg1ICswMjAw Ci0rKysgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jaHJvbWUvYnJvd3Nlci91aS9wcm9maWxlX3Zp ZXdfdXRpbHMuaAkyMDIzLTA3LTMxIDEzOjQzOjM4LjE4NTI0NDIzNCArMDIwMAotQEAgLTcsNiAr Nyw3IEBACi0gCi0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dXRpbGl0eT4KLSsjaW5j bHVkZSA8dmVjdG9yPgotIAotIGNsYXNzIFByb2ZpbGU7Ci0gY2xhc3MgUHJvZmlsZUF0dHJpYnV0 ZXNFbnRyeTsKLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9leHQvc2tjb2xv cnNwYWNlX3RyZm4uY2MubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9za2lhL2V4dC9za2NvbG9y c3BhY2VfdHJmbi5jYwotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9leHQvc2tjb2xv cnNwYWNlX3RyZm4uY2MubWUJMjAyMy0wNi0xOCAxMjozMzo1Mi4zODc0MTI3ODggKzAyMDAKLSsr KyBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjCTIw MjMtMDYtMTggMTI6MzU6MjguMjI5MTQ4OTM1ICswMjAwCi1AQCAtMyw2ICszLDcgQEAKLSAvLyBm b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotIAotICNpbmNsdWRlICJza2lhL2V4dC9za2NvbG9y c3BhY2VfdHJmbi5oIgotKyNpbmNsdWRlIDxjbWF0aD4KLSAKLSBuYW1lc3BhY2Ugc2tpYSB7Ci0g Ci1kaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1v bl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaC5taXNzaW5nLWNzdGRpbnQgY2hyb21pdW0tOTYuMC40 NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgK LS0tLSBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRl by9oMjY0L3Nwc19wYXJzZXIuaC5taXNzaW5nLWNzdGRpbnQJMjAyMS0xMS0xOSAxNzowNTozMS4z Nzk3NTAzNTAgLTA1MDAKLSsrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2Vi cnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaAkyMDIxLTExLTE5IDE3OjA3OjM1LjE5 MTUyMDEyNyAtMDUwMAotQEAgLTExLDYgKzExLDcgQEAKLSAjaWZuZGVmIENPTU1PTl9WSURFT19I MjY0X1NQU19QQVJTRVJfSF8KLSAjZGVmaW5lIENPTU1PTl9WSURFT19IMjY0X1NQU19QQVJTRVJf SF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSAiYWJzbC90eXBlcy9vcHRpb25h bC5oIgotICNpbmNsdWRlICJydGNfYmFzZS9iaXRzdHJlYW1fcmVhZGVyLmgiCi0gCi1kaWZmIC11 cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVk ZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oLm1pc3NpbmctY3N0ZGludCBjaHJvbWl1bS05 Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29t bW9uX3R5cGVzX3B1YmxpYy5oCi0tLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5 L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaC5taXNz aW5nLWNzdGRpbnQJMjAyMS0xMS0xMiAwNToyODoxMC4wMDAwMDAwMDAgLTA1MDAKLSsrKyBjaHJv bWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1 bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oCTIwMjEtMTEtMTkgMTc6MDU6MzEuMzc5NzUwMzUwIC0w NTAwCi1AQCAtMTEsNiArMTEsNyBAQAotICNpZm5kZWYgTU9EVUxFU19JTkNMVURFX01PRFVMRV9D T01NT05fVFlQRVNfUFVCTElDX0hfCi0gI2RlZmluZSBNT0RVTEVTX0lOQ0xVREVfTU9EVUxFX0NP TU1PTl9UWVBFU19QVUJMSUNfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8 bGltaXRzPgotIAotICNpbmNsdWRlICJhYnNsL3R5cGVzL29wdGlvbmFsLmgiCi1kaWZmIC11cCBj aHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgubWlzc2lu Zy1jc3RkaW50IGNocm9taXVtLTk2LjAuNDY2NC40NS91aS9nZngvbGludXgvZHJtX3V0aWxfbGlu dXguaAotLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS91aS9nZngvbGludXgvZHJtX3V0aWxfbGlu dXguaC5taXNzaW5nLWNzdGRpbnQJMjAyMS0xMS0xMiAwNToyNToyNC4wMDAwMDAwMDAgLTA1MDAK LSsrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgJ MjAyMS0xMS0xOSAxNzowNTozMS4zNzk3NTAzNTAgLTA1MDAKLUBAIC05LDYgKzksOCBAQAotIAot ICNpbmNsdWRlICJ1aS9nZngvYnVmZmVyX3R5cGVzLmgiCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+ Ci0rCi0gbmFtZXNwYWNlIHVpIHsKLSAKLSBpbnQgR2V0Rm91ckNDRm9ybWF0RnJvbUJ1ZmZlckZv cm1hdChnZng6OkJ1ZmZlckZvcm1hdCBmb3JtYXQpOwotZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40 NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2Mu bWlzc2luZy1jc3RyaW5nIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMv YXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjCi0tLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1 L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2MubWlzc2lu Zy1jc3RyaW5nCTIwMjEtMTEtMTIgMDU6Mjg6MDkuMDAwMDAwMDAwIC0wNTAwCi0rKysgY2hyb21p dW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxf bWl4ZXIuY2MJMjAyMS0xMS0xOSAxNzoxMDowMi45Mjc0Mzg2OTUgLTA1MDAKLUBAIC04LDYgKzgs OCBAQAotICAqICBiZSBmb3VuZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRo ZSBzb3VyY2UgdHJlZS4KLSAgKi8KLSAKLSsjaW5jbHVkZSA8Y3N0cmluZz4KLSsKLSAjaW5jbHVk ZSAiYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmgiCi0gCi0gI2luY2x1ZGUgImF1ZGlvL3V0 aWxpdHkvY2hhbm5lbF9taXhpbmdfbWF0cml4LmgiCi1kaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2 NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZm X2ZpbGVfcmVhZGVyLmNjLm1pc3NpbmctY3N0cmluZyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhp cmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVh ZGVyLmNjCi0tLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1 bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYy5taXNzaW5nLWNzdHJp bmcJMjAyMS0xMS0xMiAwNToyODoxMC4wMDAwMDAwMDAgLTA1MDAKLSsrKyBjaHJvbWl1bS05Ni4w LjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkv aXZmX2ZpbGVfcmVhZGVyLmNjCTIwMjEtMTEtMTkgMTc6MTA6MDIuOTI4NDM4NzAxIC0wNTAwCi1A QCAtMTAsNiArMTAsNyBAQAotIAotICNpbmNsdWRlICJtb2R1bGVzL3ZpZGVvX2NvZGluZy91dGls aXR5L2l2Zl9maWxlX3JlYWRlci5oIgotIAotKyNpbmNsdWRlIDxjc3RyaW5nPgotICNpbmNsdWRl IDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTExNi4w LjU4NDUuOTYvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL2RlYnVnZ2luZy9pbnRlcm5hbC9z dGFja3RyYWNlX2FhcmNoNjQtaW5sLmluYy5tZSBjaHJvbWl1bS0xMTYuMC41ODQ1Ljk2L3RoaXJk X3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9hYXJj aDY0LWlubC5pbmMKLS0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1Ljk2L3RoaXJkX3BhcnR5L2Fic2Vp bC1jcHAvYWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9hYXJjaDY0LWlubC5pbmMu bWUJMjAyMy0wOC0xNSAxMDo0Mjo1NC43MzI5ODQ0MjEgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTYu MC41ODQ1Ljk2L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwv c3RhY2t0cmFjZV9hYXJjaDY0LWlubC5pbmMJMjAyMy0wOC0xNSAxMDo0MzozMS4xMjU5NTA4OTcg KzAyMDAKLUBAIC0xMyw2ICsxMyw3IEBACi0gI2luY2x1ZGUgPGNhc3NlcnQ+Ci0gI2luY2x1ZGUg PGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGlvc3RyZWFtPgotKyNpbmNsdWRlIDxsaW1pdHM+Ci0gCi0g I2luY2x1ZGUgImFic2wvYmFzZS9hdHRyaWJ1dGVzLmgiCi0gI2luY2x1ZGUgImFic2wvZGVidWdn aW5nL2ludGVybmFsL2FkZHJlc3NfaXNfcmVhZGFibGUuaCIKCmRpZmYgLS1naXQgYS9jaHJvbWl1 bS0xMTYtdjRsMi1udW1fZGVsdGFfcG9jc19vZl9yZWZfcnBzX2lkeC5wYXRjaCBiL2Nocm9taXVt LTExNi12NGwyLW51bV9kZWx0YV9wb2NzX29mX3JlZl9ycHNfaWR4LnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBlYzkxYzNjLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExNi12 NGwyLW51bV9kZWx0YV9wb2NzX29mX3JlZl9ycHNfaWR4LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsNTAgKzAsMCBAQAotY29tbWl0IDk5MmYyYjgzN2Y3YzE1MGJlYmU0MGE4MTg2NDIwYzVjMDY1 YjcxZjgKLUF1dGhvcjogQ2hlbi1ZdSBUc2FpIDx3ZW5zdEBjaHJvbWl1bS5vcmc+Ci1EYXRlOiAg IE1vbiBKdWwgMzEgMDQ6NTA6MTEgMjAyMyArMDAwMAotCi0gICAgbWVkaWEvZ3B1L3Y0bDI6IE9u bHkgc2V0IEhFVkMgLm51bV9kZWx0YV9wb2NzX29mX3JlZl9ycHNfaWR4IG9uIENocm9tZU9TCi0g ICAgCi0gICAgVGhlIEhFVkMgZGVjb2RlIHBhcmFtZXRlciAubnVtX2RlbHRhX3BvY3Nfb2ZfcmVm X3Jwc19pZHggZmllbGQgd2FzCi0gICAgdmVyeSByZWNlbnRseSBhZGRlZCB0byBzdXBwb3J0IE1l ZGlhVGVrJ3Mgc3RhdGVsZXNzIEhFVkMgZGVjb2Rlci4gSXQKLSAgICB3YXMgYWNjZXB0ZWQgdXBz dHJlYW0sIGJ1dCBoYXNuJ3QgYmVlbiBwYXJ0IG9mIGEgcmVsZWFzZSB5ZXQsIGFuZCBzbwotICAg IGhhc24ndCB0cmlja2xlZCBkb3duIGludG8gYSBkaXN0cm8gcGFja2FnZSB0aGF0IGNhbiBiZSBp bmNsdWRlZCBpbiB0aGUKLSAgICBzeXNyb290cy4KLSAgICAKLSAgICBHdWFyZCB0aGUgZmllbGQg YXNzaWdubWVudCBmb3Igbm93IHNvIHRoYXQgdGhlIExpbnV4IGJ1aWxkcyBjYW4gcHJvY2VlZC4K LSAgICAKLSAgICBCdWc6IGI6MjU4MzMxMzEyLCBiOjI5MTE2OTY0NQotICAgIENxLUluY2x1ZGUt VHJ5Ym90czogbHVjaS5jaHJvbWl1bS50cnk6bGludXgtdjRsMi1jb2RlYy1yZWwKLSAgICBDaGFu Z2UtSWQ6IEkxNjI5YmUyMzczZTdkNjdlYTA2YTIwNjIyNmFkMDliY2U5MGMzNzUyCi0gICAgUmV2 aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJv bWl1bS9zcmMvKy80NzI4ODQ2Ci0gICAgUmV2aWV3ZWQtYnk6IE5hdGhhbiBIZWJlcnQgPG5oZWJl cnRAY2hyb21pdW0ub3JnPgotICAgIEF1dG8tU3VibWl0OiBDaGVuLVl1IFRzYWkgPHdlbnN0QGNo cm9taXVtLm9yZz4KLSAgICBDb21taXQtUXVldWU6IENoZW4tWXUgVHNhaSA8d2Vuc3RAY2hyb21p dW0ub3JnPgotICAgIENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTE3NzA5 M30KLQotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92NGwyL3Y0bDJfdmlkZW9fZGVjb2Rlcl9kZWxl Z2F0ZV9oMjY1LmNjIGIvbWVkaWEvZ3B1L3Y0bDIvdjRsMl92aWRlb19kZWNvZGVyX2RlbGVnYXRl X2gyNjUuY2MKLWluZGV4IGQ2ODNmYmI1NDA3YTQuLjBmMDJmMzk3NThmZTkgMTAwNjQ0Ci0tLS0g YS9tZWRpYS9ncHUvdjRsMi92NGwyX3ZpZGVvX2RlY29kZXJfZGVsZWdhdGVfaDI2NS5jYwotKysr IGIvbWVkaWEvZ3B1L3Y0bDIvdjRsMl92aWRlb19kZWNvZGVyX2RlbGVnYXRlX2gyNjUuY2MKLUBA IC0xMSw2ICsxMSw3IEBACi0gI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgotIAotICNpbmNsdWRlICJi YXNlL2xvZ2dpbmcuaCIKLSsjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCi0gI2luY2x1 ZGUgIm1lZGlhL2dwdS9tYWNyb3MuaCIKLSAjaW5jbHVkZSAibWVkaWEvZ3B1L3Y0bDIvdjRsMl9k ZWNvZGVfc3VyZmFjZS5oIgotICNpbmNsdWRlICJtZWRpYS9ncHUvdjRsMi92NGwyX2RlY29kZV9z dXJmYWNlX2hhbmRsZXIuaCIKLUBAIC00MTAsOCArNDExLDE0IEBAIFY0TDJWaWRlb0RlY29kZXJE ZWxlZ2F0ZUgyNjU6OlN1Ym1pdEZyYW1lTWV0YWRhdGEoCi0gICAgICAgLnBpY19vcmRlcl9jbnRf dmFsID0gcGljLT5waWNfb3JkZXJfY250X3ZhbF8sCi0gICAgICAgLnNob3J0X3Rlcm1fcmVmX3Bp Y19zZXRfc2l6ZSA9IHN0YXRpY19jYXN0PF9fdTE2PihzbGljZV9oZHItPnN0X3Jwc19iaXRzKSwK LSAgICAgICAubG9uZ190ZXJtX3JlZl9waWNfc2V0X3NpemUgPSBzdGF0aWNfY2FzdDxfX3UxNj4o c2xpY2VfaGRyLT5sdF9ycHNfYml0cyksCi0rI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPUykKLSsg ICAgICAvLyAubnVtX2RlbHRhX3BvY3Nfb2ZfcmVmX3Jwc19pZHggaXMgdXBzdHJlYW0gYnV0IG5v dCB5ZXQgcHVsbGVkCi0rICAgICAgLy8gaW50byBsaW51eCBidWlsZCBzeXNyb290LgotKyAgICAg IC8vIFRPRE8od2Vuc3QpOiBSZW1vdmUgb25jZSBsaW51eC1saWJjLWRldiBwYWNrYWdlIGlzIHVw ZGF0ZWQgdG8KLSsgICAgICAvLyBhdCBsZWFzdCB2Ni41IGluIHRoZSBzeXNyb290cy4KLSAgICAg ICAubnVtX2RlbHRhX3BvY3Nfb2ZfcmVmX3Jwc19pZHggPQotICAgICAgICAgICBzdGF0aWNfY2Fz dDxfX3U4PihzbGljZV9oZHItPnN0X3JlZl9waWNfc2V0LnJwc19pZHhfbnVtX2RlbHRhX3BvY3Mp LAotKyNlbmRpZgotICAgICAgIC5mbGFncyA9IHN0YXRpY19jYXN0PF9fdTY0PigKLSAgICAgICAg ICAgKHBpYy0+aXJhcF9waWNfID8gVjRMMl9IRVZDX0RFQ09ERV9QQVJBTV9GTEFHX0lSQVBfUElD IDogMCkgfAotICAgICAgICAgICAoKHBpYy0+bmFsX3VuaXRfdHlwZV8gPj0gSDI2NU5BTFU6OklE Ul9XX1JBREwgJiYKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTctbWlzc2luZy1oZWFkZXItZmls ZXMucGF0Y2ggYi9jaHJvbWl1bS0xMTctbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ4ZTFlNgotLS0gL2Rldi9udWxsCisrKyBi L2Nocm9taXVtLTExNy1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaApAQCAtMCwwICsxLDQ1NyBA QAorZGlmZiAtdXAgY2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50 ZWQuaC5tZSBjaHJvbWl1bS0xMTAuMC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291bnRlZC5o CistLS0gY2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaC5t ZQkyMDIzLTAyLTIzIDEzOjM0OjMzLjE3NDgxNzI1NSAtMDUwMAorKysrIGNocm9taXVtLTExMC4w LjU0ODEuMTc3L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVkLmgJMjAyMy0wMi0yMyAxMzo0MjoyOC42 NDYwNTI0NjkgLTA1MDAKK0BAIC02LDYgKzYsNyBAQAorICNkZWZpbmUgQkFTRV9NRU1PUllfUkVG X0NPVU5URURfSF8KKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisrI2luY2x1ZGUgPGxpbWl0cz4K KyAKKyAjaW5jbHVkZSA8dXRpbGl0eT4KKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvYmFzZS9jaGVja19vcC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19v cC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgubWUJMjAyMy0w MS0xNyAxNzozOToyNy42MjA4NzU4ODMgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2Jhc2UvY2hlY2tfb3AuaAkyMDIzLTAxLTE3IDE3OjM5OjQyLjU0NjA2MDk1NyArMDEwMAorQEAg LTUsNiArNSw3IEBACisgI2lmbmRlZiBCQVNFX0NIRUNLX09QX0hfCisgI2RlZmluZSBCQVNFX0NI RUNLX09QX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGNzdGRkZWY+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CitkaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oLm1lCTIwMjMtMDEtMTcgMTY6Mjk6MjYuMzY4MDkwMDcz ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgJ MjAyMy0wMS0xNyAxNjo1OTo0MS4xOTA2Mjg2NzkgKzAxMDAKK0BAIC03LDYgKzcsNyBAQAorIAor ICNpbmNsdWRlIDxzdGRkZWYuaD4KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8 c3RyaW5nPgorIAorICNpbmNsdWRlICJiYXNlL2Jhc2VfZXhwb3J0LmgiCitkaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgKKy0tLSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lCTIwMjMt MDEtMTcgMTk6MDY6NTMuNTMwNjc1MTI5ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaAkyMDIzLTAxLTE3IDE5OjA3OjA4Ljg3NDg0 OTg3OSArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBHUFVfQ09ORklHX0dQVV9GRUFU VVJFX0lORk9fSF8KKyAjZGVmaW5lIEdQVV9DT05GSUdfR1BVX0ZFQVRVUkVfSU5GT19IXworIAor KyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHZlY3Rv cj4KKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9y dC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oCistLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgubWUJMjAyMy0wMS0x NyAxODoxNjozNC4xMzM4NTQ2MTUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25l dC9iYXNlL25ldF9leHBvcnQuaAkyMDIzLTAxLTE3IDE4OjE2OjE1Ljk0NTYyMzE1MyArMDEwMAor QEAgLTUsNiArNSw4IEBACisgI2lmbmRlZiBORVRfQkFTRV9ORVRfRVhQT1JUX0hfCisgI2RlZmlu ZSBORVRfQkFTRV9ORVRfRVhQT1JUX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisrCisgLy8g RGVmaW5lcyBORVRfRVhQT1JUIHNvIHRoYXQgZnVuY3Rpb25hbGl0eSBpbXBsZW1lbnRlZCBieSB0 aGUgbmV0IG1vZHVsZSBjYW4KKyAvLyBiZSBleHBvcnRlZCB0byBjb25zdW1lcnMsIGFuZCBORVRf RVhQT1JUX1BSSVZBVEUgdGhhdCBhbGxvd3MgdW5pdCB0ZXN0cyB0bworIC8vIGFjY2VzcyBmZWF0 dXJlcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBieSByZWFsIGNvbnN1bWVycy4K K2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jy b2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9z YW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAorLS0t IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9r ZXJfZmlsZV9wZXJtaXNzaW9uLmgubWUJMjAyMy0wMS0xNyAxNzoxMjozNC4xODQ2ODY1MTUgKzAx MDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9r ZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oCTIwMjMtMDEtMTcgMTc6MTM6MTYuNTM3MTYyNDIw ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9C Uk9LRVJfQlJPS0VSX0ZJTEVfUEVSTUlTU0lPTl9IXworICNkZWZpbmUgU0FOREJPWF9MSU5VWF9T WVNDQUxMX0JST0tFUl9CUk9LRVJfRklMRV9QRVJNSVNTSU9OX0hfCisgCisrI2luY2x1ZGUgPGNz dGRpbnQ+CisgI2luY2x1ZGUgPGJpdHNldD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3Ry aW5ncy9zdHJpbmdfdmlldy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv YWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAorLS0tIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcu aC5tZQkyMDIzLTAxLTE3IDE3OjMzOjIwLjg5NTcxNzMwNyArMDEwMAorKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3Zp ZXcuaAkyMDIzLTAxLTE3IDE3OjM0OjAzLjQ1NjE4NTM2NSArMDEwMAorQEAgLTI3LDYgKzI3LDcg QEAKKyAjaWZuZGVmIEFCU0xfU1RSSU5HU19TVFJJTkdfVklFV19IXworICNkZWZpbmUgQUJTTF9T VFJJTkdTX1NUUklOR19WSUVXX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUg PGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8Y2Fzc2VydD4KKyAjaW5jbHVkZSA8Y3N0ZGRlZj4KK2Rp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9H TFNMQU5HL1NoYWRlclZhcnMuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUJ MjAyMy0wMS0xNyAxNzozNjoxNS4wMTc2MTYyNTAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgJMjAy My0wMS0xNyAxNzozNjo0OC45NjA5ODIxOTUgKzAxMDAKK0BAIC0xMCw2ICsxMCw3IEBACisgI2lm bmRlZiBHTFNMQU5HX1NIQURFUlZBUlNfSF8KKyAjZGVmaW5lIEdMU0xBTkdfU0hBREVSVkFSU19I XworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1 ZGUgPGFycmF5PgorICNpbmNsdWRlIDxzdHJpbmc+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVl dG9vdGhfZGV2aWNlX2lkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9i bGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCist LS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9u L2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oLm1lCTIwMjMtMDEtMTcgMTk6MTc6 NDAuNDgwODc2MTcxICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5o CTIwMjMtMDEtMTcgMTk6MTc6NDYuODAzOTU4MzIwICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAj aWZuZGVmIFRISVJEX1BBUlRZX0JMSU5LX1BVQkxJQ19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVF VE9PVEhfREVWSUNFX0lEX0hfCisgI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09N TU9OX0JMVUVUT09USF9XRUJfQkxVRVRPT1RIX0RFVklDRV9JRF9IXworIAorKyNpbmNsdWRlIDxj c3RkaW50PgorICNpbmNsdWRlIDxhcnJheT4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorZGlmZiAt dXAgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L2xhbmcv c3BpcnYvcmVhZGVyL2FzdF9wYXJzZXIvbmFtZXIuaC5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4 L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9zcGlydi9yZWFkZXIvYXN0X3BhcnNlci9u YW1lci5oCistLS0gY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9kYXduL3NyYy90 aW50L2xhbmcvc3BpcnYvcmVhZGVyL2FzdF9wYXJzZXIvbmFtZXIuaC5tZQkyMDIzLTAxLTE3IDE4 OjAyOjQ0LjY4MTUzODEwNyArMDEwMAorKysrIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRf cGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgJ MjAyMy0wMS0xNyAxODowMjo1Ny4yMDg2NzkxNDAgKzAxMDAKK0BAIC0xNSw2ICsxNSw3IEBACisg I2lmbmRlZiBTUkNfVElOVF9SRUFERVJfU1BJUlZfTkFNRVJfSF8KKyAjZGVmaW5lIFNSQ19USU5U X1JFQURFUl9TUElSVl9OQU1FUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRl IDxzdHJpbmc+CisgI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+CisgI2luY2x1ZGUgPHZlY3Rvcj4K K2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9z cmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3Nk L3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90 aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90 eHRfcmVjb3JkLmgubWUJMjAyMy0wMS0xOCAxNToyMjozOC40NzI5NDA2NDggKzAxMDAKKysrKyBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVy eS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAkyMDIzLTAxLTE4IDE1OjIzOjA5LjM4 MDI1NTEwMSArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBESVNDT1ZFUllfRE5TU0Rf UFVCTElDX0ROU19TRF9UWFRfUkVDT1JEX0hfCisgI2RlZmluZSBESVNDT1ZFUllfRE5TU0RfUFVC TElDX0ROU19TRF9UWFRfUkVDT1JEX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1 ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUgPG1hcD4KKyAjaW5jbHVkZSA8c2V0PgorZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lz dGVtL0xSVUNhY2hlLmhwcC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3 aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwCistLS0gY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcC5tZQky MDIzLTAxLTE3IDE1OjM3OjQ4LjUzMDYyNjUxNiArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAJMjAy My0wMS0xNyAxNjo1Nzo0Ni4wMjU1NDgwOTIgKzAxMDAKK0BAIC0xNyw2ICsxNyw3IEBACisgCisg I2luY2x1ZGUgIlN5c3RlbS9EZWJ1Zy5ocHAiCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2lu Y2x1ZGUgPGNzdGRkZWY+CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUgPHVub3Jk ZXJlZF9zZXQ+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1 bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRl L3ZrX21lbV9hbGxvYy5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92 dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5oLm1lCTIwMjMtMDEt MTcgMTU6NDA6MjMuODU0Mzg2MjA2ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90 aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5o CTIwMjMtMDEtMTcgMTY6NTg6MTkuMzk3ODYyODg1ICswMTAwCitAQCAtMjM4OCw2ICsyMzg4LDcg QEAgVk1BX0NBTExfUFJFIHZvaWQgVk1BX0NBTExfUE9TVCB2bWFGcmVlVgorICNpZmRlZiBWTUFf SU1QTEVNRU5UQVRJT04NCisgI3VuZGVmIFZNQV9JTVBMRU1FTlRBVElPTg0KKyANCisrI2luY2x1 ZGUgPGNzdGRpbz4NCisgI2luY2x1ZGUgPGNzdGRpbnQ+DQorICNpbmNsdWRlIDxjc3RkbGliPg0K KyAjaW5jbHVkZSA8Y3N0cmluZz4NCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Vp L2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1lCTIwMjMtMDEtMTcgMTg6 MDg6MjUuNzQ1NDkxMzUzICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngv Z2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgJMjAyMy0wMS0xNyAxODowODozNS43Nzc2Njc2MzIg KzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgVUlfR0ZYX0xJTkVBUl9HUkFESUVOVF9I XworICNkZWZpbmUgVUlfR0ZYX0xJTkVBUl9HUkFESUVOVF9IXworIAorKyNpbmNsdWRlIDxjc3Rk aW50PgorICNpbmNsdWRlIDxhcnJheT4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9p bnN0cnVtZW50YXRpb24uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1 eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oCistLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24u aC5tZQkyMDIzLTAxLTE5IDEwOjEwOjIxLjI4Nzg3NjczNiArMDEwMAorKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0 aW9uLmgJMjAyMy0wMS0xOSAxMDoxMToyMS43MTQ3Nzg4OTYgKzAxMDAKK0BAIC0xNyw2ICsxNyw3 IEBAIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICNkZWZpbmUgUlVZX1JVWV9QUk9G SUxFUl9JTlNUUlVNRU5UQVRJT05fSF8KKyAKKyAjaWZkZWYgUlVZX1BST0ZJTEVSCisrI2luY2x1 ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8Y3N0ZGlvPgorICNpbmNsdWRlIDxtdXRleD4KKyAjaW5j bHVkZSA8dmVjdG9yPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFt LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNv cmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgKKy0tLSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5l bHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaC5tZQkyMDIzLTAxLTE5IDEwOjMwOjI3LjUzMzg2MTk4 NSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3Ny Yy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oCTIwMjMtMDEt MTkgMTA6MzE6MTIuNTg1NTU0MTgzICswMTAwCitAQCAtMzEsNiArMzEsNyBAQCBsaW1pdGF0aW9u cyB1bmRlciB0aGUgTGljZW5zZS4KKyAjaWZuZGVmIFRFTlNPUkZMT1dfTElURV9LRVJORUxTX0lO VEVSTkFMX1NQRUNUUk9HUkFNX0hfCisgI2RlZmluZSBURU5TT1JGTE9XX0xJVEVfS0VSTkVMU19J TlRFUk5BTF9TUEVDVFJPR1JBTV9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRl IDxjb21wbGV4PgorICNpbmNsdWRlIDxkZXF1ZT4KKyAjaW5jbHVkZSA8dmVjdG9yPgorZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaC5tZWUg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaAorLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgubWVlCTIwMjMt MDEtMTkgMTA6NTk6NTIuMjE0OTU3NzczICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaAkyMDIzLTAxLTE5IDExOjAwOjA2LjQxNTIxNTMw OSArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBCQVNFX0NPTlRBSU5FUlNfRkxBVF9N QVBfSF8KKyAjZGVmaW5lIEJBU0VfQ09OVEFJTkVSU19GTEFUX01BUF9IXworIAorKyNpbmNsdWRl IDxjc3RkaW50PgorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorICNpbmNsdWRlIDx0dXBsZT4KKyAj aW5jbHVkZSA8dXRpbGl0eT4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9u ZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaC5tZWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2Ns aWVudC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUv YXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oLm1lZQkyMDIzLTAxLTE5IDEwOjM2OjQwLjU3MTQy MjgyNiArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9j b3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaAkyMDIzLTAxLTE5IDEwOjM2OjQ5LjM0MzU2 NTI5NCArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX0NSQVNIX0NP UkVfQVBQX0NSQVNIX1JFUE9SVEVSX0NMSUVOVF9IXworICNkZWZpbmUgQ09NUE9ORU5UU19DUkFT SF9DT1JFX0FQUF9DUkFTSF9SRVBPUlRFUl9DTElFTlRfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGlu dD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcu aCIKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2th bG1hbl9maWx0ZXIuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rp b24va2FsbWFuX2ZpbHRlci5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3By ZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oLm1lZQkyMDIzLTAxLTE5IDExOjQ1OjE1Ljk1MzE1OTc1 NSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2th bG1hbl9maWx0ZXIuaAkyMDIzLTAxLTE5IDExOjQ1OjIyLjMyMDI0NjI0MSArMDEwMAorQEAgLTUs NiArNSw4IEBACisgI2lmbmRlZiBVSV9CQVNFX1BSRURJQ1RJT05fS0FMTUFOX0ZJTFRFUl9IXwor ICNkZWZpbmUgVUlfQkFTRV9QUkVESUNUSU9OX0tBTE1BTl9GSUxURVJfSF8KKyAKKysjaW5jbHVk ZSA8Y3N0ZGludD4KKysKKyAjaW5jbHVkZSAiYmFzZS9jb21wb25lbnRfZXhwb3J0LmgiCisgI2lu Y2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9tYXRyaXgzX2YuaCIKKyAKK2RpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9n ZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv Y29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3 b3JkX2dlbmVyYXRvci5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bh c3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9y LmgubWUJMjAyMy0wMS0xOSAxNToyMDowNy42MjA5ODc5NDkgKzAxMDAKKysrKyBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2Vu ZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaAkyMDIzLTAxLTE5IDE1OjIwOjE4LjMyNDE3Mzcw MiArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX1BBU1NXT1JEX01B TkFHRVJfQ09SRV9CUk9XU0VSX0dFTkVSQVRJT05fUEFTU1dPUkRfR0VORVJBVE9SX0hfCisgI2Rl ZmluZSBDT01QT05FTlRTX1BBU1NXT1JEX01BTkFHRVJfQ09SRV9CUk9XU0VSX0dFTkVSQVRJT05f UEFTU1dPUkRfR0VORVJBVE9SX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUg PHN0cmluZz4KKyAKKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50 cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5t ZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2lu dGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2Vf dmFsaWRhdG9yLmgubWUJMjAyMy0wMS0xOSAxNjowMDoxNC4zNTAxODY1MTUgKzAxMDAKKysrKyBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVy bmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAyMy0wMS0xOSAxNjowMDoyMS42NDMzMDc5 OTMgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19GRUFUVVJFX0VO R0FHRU1FTlRfSU5URVJOQUxfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KKyAjZGVmaW5lIENP TVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX0VWRU5UX1NUT1JBR0VfVkFMSURB VE9SX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyBu YW1lc3BhY2UgZmVhdHVyZV9lbmdhZ2VtZW50IHsKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRf c3RvcmFnZV92YWxpZGF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMv ZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9y LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2Vt ZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUJMjAyMy0wMS0x OSAxNTo1OToxOC4yMTAyMzk0MTYgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2Vf dmFsaWRhdG9yLmgJMjAyMy0wMS0xOSAxNTo1OTozNC41MTM1MTUwMzAgKzAxMDAKK0BAIC01LDYg KzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxf TkVWRVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfRkVB VFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX05FVkVSX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hf CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAjaW5jbHVk ZSAiY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92 YWxpZGF0b3IuaCIKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv c3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9T aWduYWxzLmluYy5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hh ZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5p bmMKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3Ro aXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMubWUJ MjAyMy0wMS0xOSAxNjowOToyOS4yMTY0NzcxODIgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZt L2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMJMjAyMy0wMS0xOSAxNjoxMDowNS42NTcwODky MDggKzAxMDAKK0BAIC00NSw2ICs0NSw3IEBACisgI2luY2x1ZGUgImxsdm0vU3VwcG9ydC9TYXZl QW5kUmVzdG9yZS5oIgorICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvcmF3X29zdHJlYW0uaCIKKyAj aW5jbHVkZSA8YWxnb3JpdGhtPgorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJp bmc+CisgI2luY2x1ZGUgPHN5c2V4aXRzLmg+CisgI2lmZGVmIEhBVkVfQkFDS1RSQUNFCitkaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0 L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv Y2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2Vy LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVk Z2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lCTIwMjMtMDEtMTkgMTY6MzI6MDUu MzM4MTYwMTMxICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nl ci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaAkyMDIzLTAxLTE5 IDE2OjMyOjE2LjIxMzMyNjc5OCArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDSFJP TUVfQlJPV1NFUl9QUklWQUNZX0JVREdFVF9FTkNPVU5URVJFRF9TVVJGQUNFX1RSQUNLRVJfSF8K KyAjZGVmaW5lIENIUk9NRV9CUk9XU0VSX1BSSVZBQ1lfQlVER0VUX0VOQ09VTlRFUkVEX1NVUkZB Q0VfVFJBQ0tFUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxtYXA+Cisg CisgI2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9mbGF0X3NldC5oIgorZGlmZiAtdXAgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmls bF9hYmxhdGlvbl9zdHVkeS5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9h dXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAorLS0tIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2Zp bGxfYWJsYXRpb25fc3R1ZHkuaC5tZQkyMDIzLTAxLTE5IDE2OjQ3OjU1LjU0ODU3MTEwMiArMDEw MAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jy b3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAkyMDIzLTAxLTE5IDE2OjQ4OjI5LjIxNDE0 NjUyOSArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX0FVVE9GSUxM X0NPUkVfQlJPV1NFUl9BVVRPRklMTF9BQkxBVElPTl9TVFVEWV9IXworICNkZWZpbmUgQ09NUE9O RU5UU19BVVRPRklMTF9DT1JFX0JST1dTRVJfQVVUT0ZJTExfQUJMQVRJT05fU1RVRFlfSF8KKyAK KysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorIGNsYXNzIEdVUkw7 CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93 c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21w b25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCistLS0gY2hyb21p dW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVh ZF9tb2RlbC5oLm1lCTIwMjMtMDEtMTkgMTY6NTc6MjkuNTI1MzcyODE0ICswMTAwCisrKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2Vf aGVhZF9tb2RlbC5oCTIwMjMtMDEtMTkgMTY6NTg6MDIuNjY3OTc5Mjg4ICswMTAwCitAQCAtNSw2 ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfT01OSUJPWF9CUk9XU0VSX09OX0RFVklDRV9I RUFEX01PREVMX0hfCisgI2RlZmluZSBDT01QT05FTlRTX09NTklCT1hfQlJPV1NFUl9PTl9ERVZJ Q0VfSEVBRF9NT0RFTF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJp bmc+CisgI2luY2x1ZGUgPHV0aWxpdHk+CisgI2luY2x1ZGUgPHZlY3Rvcj4KK2RpZmYgLXVwIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkv ZmluZ2VycHJpbnRfcGFyc2VyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRz L3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAorLS0tIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmlu Z2VycHJpbnRfcGFyc2VyLmgubWUJMjAyMy0wMS0xOSAxNzowMjo0NS4yNTg1NDQ2NjUgKzAxMDAK KysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91 dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oCTIwMjMtMDEtMTkgMTc6MDI6NTIuNTc3NjExNzU3 ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfUEFZTUVOVFNfQ09O VEVOVF9VVElMSVRZX0ZJTkdFUlBSSU5UX1BBUlNFUl9IXworICNkZWZpbmUgQ09NUE9ORU5UU19Q QVlNRU5UU19DT05URU5UX1VUSUxJVFlfRklOR0VSUFJJTlRfUEFSU0VSX0hfCisgCisrI2luY2x1 ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0ZGRlZi5oPgorIAorICNpbmNsdWRlIDxzdHJpbmc+ CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50 X2luZm8uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50 X2luZm8uaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1l bnRfaW5mby5oLm1lCTIwMjMtMDEtMTkgMTc6Mjg6MjguNTUyMDYzNTM0ICswMTAwCisrKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgJMjAyMy0w MS0xOSAxNzoyODo0OC4wNzIzNzk5NTMgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYg UERGX0RPQ1VNRU5UX0FUVEFDSE1FTlRfSU5GT19IXworICNkZWZpbmUgUERGX0RPQ1VNRU5UX0FU VEFDSE1FTlRfSU5GT19IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJp bmc+CisgCisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Bk Zml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgKKy0tLSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3Rh dGlvbl9mbGFncy5oLm1lCTIwMjMtMDEtMTkgMTg6MjU6NDcuNjQ4MTkzNzEwICswMTAwCisrKysg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90 YXRpb25fZmxhZ3MuaAkyMDIzLTAxLTE5IDE4OjI2OjExLjQ4ODU5MzU1NiArMDEwMAorQEAgLTUs NiArNSw4IEBACisgI2lmbmRlZiBDT05TVEFOVFNfQU5OT1RBVElPTl9GTEFHU19IXworICNkZWZp bmUgQ09OU1RBTlRTX0FOTk9UQVRJT05fRkxBR1NfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4K KysKKyBuYW1lc3BhY2UgcGRmaXVtIHsKKyBuYW1lc3BhY2UgYW5ub3RhdGlvbl9mbGFncyB7Cisg CitkaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBz L3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1f YWxsb2MuaC5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBz L3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1f YWxsb2MuaAorLS0tIGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRl cHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21l bV9hbGxvYy5oLm1lCTIwMjMtMDQtMTUgMTY6NDQ6NTUuMzQ0MzA1NDEyICswMjAwCisrKysgY2hy b21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRh dGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgJMjAyMy0w NC0xNSAxNjo0NzowOS4wMjg2NjY5OTUgKzAyMDAKK0BAIC0yODU0LDYgKzI4NTQsNyBAQCBzdGF0 aWMgdm9pZCB2bWFfYWxpZ25lZF9mcmVlKHZvaWQqIFZNQV9OCisgCisgLy8gRGVmaW5lIHRoaXMg bWFjcm8gdG8gMSB0byBlbmFibGUgZnVuY3Rpb25zOiB2bWFCdWlsZFN0YXRzU3RyaW5nLCB2bWFG cmVlU3RhdHNTdHJpbmcuCisgI2lmIFZNQV9TVEFUU19TVFJJTkdfRU5BQkxFRAorKyNpbmNsdWRl IDxzdGRpby5oPgorICAgICBzdGF0aWMgaW5saW5lIHZvaWQgVm1hVWludDMyVG9TdHIoY2hhciog Vk1BX05PVF9OVUxMIG91dFN0ciwgc2l6ZV90IHN0ckxlbiwgdWludDMyX3QgbnVtKQorICAgICB7 CisgICAgICAgICBzbnByaW50ZihvdXRTdHIsIHN0ckxlbiwgIiV1Iiwgc3RhdGljX2Nhc3Q8dW5z aWduZWQgaW50PihudW0pKTsKK2RpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21l L2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1l IGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGlj YXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oCistLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9j aHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVs LmgubWUJMjAyMy0wNC0xOCAxNTo1NTo0NC43NzQ5MTYzMTkgKzAyMDAKKysrKyBjaHJvbWl1bS0x MTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVz dF9kaWFsb2dfbW9kZWwuaAkyMDIzLTA0LTE4IDE1OjU1OjU0LjQ0MTA4NTg4MiArMDIwMAorQEAg LTgsNiArOCw3IEBACisgI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNp bmNsdWRlIDx2ZWN0b3I+CisrI2luY2x1ZGUgPHZhcmlhbnQ+CisgCisgI2luY2x1ZGUgImJhc2Uv Y29udGFpbmVycy9zcGFuLmgiCisgI2luY2x1ZGUgImJhc2UvZnVuY3Rpb25hbC9jYWxsYmFja19m b3J3YXJkLmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1w ZXIuaC5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaAorLS0tIGNo cm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oLm1lCTIwMjMtMDQtMTggMTY6 Mzg6NDEuMTgwNDM3NDY3ICswMjAwCisrKysgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGlt ZV9jbGFtcGVyLmgJMjAyMy0wNC0xOCAxNjozOTo0My44NTcwNDk0MzIgKzAyMDAKK0BAIC00OCw3 ICs0OCw3IEBAIGNsYXNzIEdJTl9FWFBPUlQgVGltZUNsYW1wZXIgeworICAgICBjb25zdCBpbnQ2 NF90IG1pY3JvcyA9IG5vd19taWNyb3MgJSAxMDAwOworICAgICAvLyBhYnMoKSBpcyBuZWNlc3Nh cnkgZm9yIGRldmljZXMgd2l0aCB0aW1lcyBiZWZvcmUgdW5peC1lcG9jaCAobW9zdCBsaWtlbHkK KyAgICAgLy8gY29uZmlndXJlZCBpbmNvcnJlY3RseSkuCistICAgIGlmIChhYnMobWljcm9zKSAr IGtSZXNvbHV0aW9uTWljcm9zIDwgMTAwMCkgeworKyAgICBpZiAoc3RkOjphYnMobWljcm9zKSAr IGtSZXNvbHV0aW9uTWljcm9zIDwgMTAwMCkgeworICAgICAgIHJldHVybiBub3dfbWljcm9zIC8g MTAwMDsKKyAgICAgfQorICAgICByZXR1cm4gQ2xhbXBUaW1lUmVzb2x1dGlvbihub3dfbWljcm9z KSAvIDEwMDA7CitkaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0L2No cm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYy5tZSBjaHJvbWl1bS0xMTMuMC41Njcy LjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYworLS0t IGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93 ZWJfdmlld19pbXBsLmNjLm1lCTIwMjMtMDQtMjEgMDg6MDc6NTUuMzYyNzE0NTQ0ICswMjAwCisr KysgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21l L3dlYl92aWV3X2ltcGwuY2MJMjAyMy0wNC0yMSAwODoxNDozNS40MjQxNTg2OTMgKzAyMDAKK0BA IC0xMCw2ICsxMCw3IEBACisgI2luY2x1ZGUgPHF1ZXVlPgorICNpbmNsdWRlIDx1dGlsaXR5Pgor ICNpbmNsdWRlIDx2ZWN0b3I+CisrI2luY2x1ZGUgPGNzdHJpbmc+CisgCisgI2luY2x1ZGUgImJh c2UvY2hlY2suaCIKKyAjaW5jbHVkZSAiYmFzZS9maWxlcy9maWxlX3BhdGguaCIKK2RpZmYgLXVw IGNocm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MubWUg Y2hyb21pdW0tMTE1LjAuNTc5MC4zMi9za2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5jYworLS0t IGNocm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MubWUJ MjAyMy0wNi0xOCAxMjozMzo1Mi4zODc0MTI3ODggKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41 NzkwLjMyL3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjCTIwMjMtMDYtMTggMTI6MzU6Mjgu MjI5MTQ4OTM1ICswMjAwCitAQCAtMyw2ICszLDcgQEAKKyAvLyBmb3VuZCBpbiB0aGUgTElDRU5T RSBmaWxlLgorIAorICNpbmNsdWRlICJza2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5oIgorKyNp bmNsdWRlIDxjbWF0aD4KKyAKKyBuYW1lc3BhY2Ugc2tpYSB7CisgCitkaWZmIC11cCBjaHJvbWl1 bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19w YXJzZXIuaC5taXNzaW5nLWNzdGRpbnQgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5 L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgKKy0tLSBjaHJvbWl1bS05Ni4w LjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIu aC5taXNzaW5nLWNzdGRpbnQJMjAyMS0xMS0xOSAxNzowNTozMS4zNzk3NTAzNTAgLTA1MDAKKysr KyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9o MjY0L3Nwc19wYXJzZXIuaAkyMDIxLTExLTE5IDE3OjA3OjM1LjE5MTUyMDEyNyAtMDUwMAorQEAg LTExLDYgKzExLDcgQEAKKyAjaWZuZGVmIENPTU1PTl9WSURFT19IMjY0X1NQU19QQVJTRVJfSF8K KyAjZGVmaW5lIENPTU1PTl9WSURFT19IMjY0X1NQU19QQVJTRVJfSF8KKyAKKysjaW5jbHVkZSA8 Y3N0ZGludD4KKyAjaW5jbHVkZSAiYWJzbC90eXBlcy9vcHRpb25hbC5oIgorICNpbmNsdWRlICJy dGNfYmFzZS9iaXRzdHJlYW1fcmVhZGVyLmgiCisgCitkaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2 NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5 cGVzX3B1YmxpYy5oLm1pc3NpbmctY3N0ZGludCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRf cGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5o CistLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2lu Y2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaC5taXNzaW5nLWNzdGRpbnQJMjAyMS0x MS0xMiAwNToyODoxMC4wMDAwMDAwMDAgLTA1MDAKKysrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUv dGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1 YmxpYy5oCTIwMjEtMTEtMTkgMTc6MDU6MzEuMzc5NzUwMzUwIC0wNTAwCitAQCAtMTEsNiArMTEs NyBAQAorICNpZm5kZWYgTU9EVUxFU19JTkNMVURFX01PRFVMRV9DT01NT05fVFlQRVNfUFVCTElD X0hfCisgI2RlZmluZSBNT0RVTEVTX0lOQ0xVREVfTU9EVUxFX0NPTU1PTl9UWVBFU19QVUJMSUNf SF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8bGltaXRzPgorIAorICNpbmNs dWRlICJhYnNsL3R5cGVzL29wdGlvbmFsLmgiCitkaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQu NDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgubWlzc2luZy1jc3RkaW50IGNocm9taXVt LTk2LjAuNDY2NC40NS91aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaAorLS0tIGNocm9taXVt LTk2LjAuNDY2NC40NS91aS9nZngvbGludXgvZHJtX3V0aWxfbGludXguaC5taXNzaW5nLWNzdGRp bnQJMjAyMS0xMS0xMiAwNToyNToyNC4wMDAwMDAwMDAgLTA1MDAKKysrKyBjaHJvbWl1bS05Ni4w LjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgJMjAyMS0xMS0xOSAxNzowNToz MS4zNzk3NTAzNTAgLTA1MDAKK0BAIC05LDYgKzksOCBAQAorIAorICNpbmNsdWRlICJ1aS9nZngv YnVmZmVyX3R5cGVzLmgiCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisrCisgbmFtZXNwYWNlIHVp IHsKKyAKKyBpbnQgR2V0Rm91ckNDRm9ybWF0RnJvbUJ1ZmZlckZvcm1hdChnZng6OkJ1ZmZlckZv cm1hdCBmb3JtYXQpOworZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5 L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2MubWlzc2luZy1jc3RyaW5nIGNo cm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFu bmVsX21peGVyLmNjCistLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0 Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2MubWlzc2luZy1jc3RyaW5nCTIwMjEtMTEt MTIgMDU6Mjg6MDkuMDAwMDAwMDAwIC0wNTAwCisrKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3Ro aXJkX3BhcnR5L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2MJMjAyMS0xMS0x OSAxNzoxMDowMi45Mjc0Mzg2OTUgLTA1MDAKK0BAIC04LDYgKzgsOCBAQAorICAqICBiZSBmb3Vu ZCBpbiB0aGUgQVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KKyAg Ki8KKyAKKysjaW5jbHVkZSA8Y3N0cmluZz4KKysKKyAjaW5jbHVkZSAiYXVkaW8vdXRpbGl0eS9j aGFubmVsX21peGVyLmgiCisgCisgI2luY2x1ZGUgImF1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhp bmdfbWF0cml4LmgiCitkaWZmIC11cCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkv d2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmNjLm1p c3NpbmctY3N0cmluZyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL21v ZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmNjCistLS0gY2hyb21p dW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91 dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYy5taXNzaW5nLWNzdHJpbmcJMjAyMS0xMS0xMiAwNToy ODoxMC4wMDAwMDAwMDAgLTA1MDAKKysrKyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFy dHkvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmNj CTIwMjEtMTEtMTkgMTc6MTA6MDIuOTI4NDM4NzAxIC0wNTAwCitAQCAtMTAsNiArMTAsNyBAQAor IAorICNpbmNsdWRlICJtb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRl ci5oIgorIAorKyNpbmNsdWRlIDxjc3RyaW5nPgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1 ZGUgPHZlY3Rvcj4KKyAKK2RpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFy dHkvaXBjei9zcmMvaXBjei9yb3V0ZXJfbGluay5oLm1lIGNocm9taXVtLTExNy4wLjU5MzguNDgv dGhpcmRfcGFydHkvaXBjei9zcmMvaXBjei9yb3V0ZXJfbGluay5oCistLS0gY2hyb21pdW0tMTE3 LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgubWUJMjAy My0wOS0xMCAxNzo1MzowNC44MjYyOTgzNTEgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTcuMC41OTM4 LjQ4L3RoaXJkX3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91dGVyX2xpbmsuaAkyMDIzLTA5LTEwIDE3 OjUzOjIyLjIwMTc1Njg5NCArMDIwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBJUENaX1NS Q19JUENaX1JPVVRFUl9MSU5LX0hfCisgI2RlZmluZSBJUENaX1NSQ19JUENaX1JPVVRFUl9MSU5L X0hfCisgCisrI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8Y3N0ZGRlZj4KKyAjaW5jbHVk ZSA8ZnVuY3Rpb25hbD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorZGlmZiAtdXAgY2hyb21pdW0tMTE3 LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9w YWxldHRlcy90b25lcy5jYy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L21h dGVyaWFsX2NvbG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVzLmNjCistLS0gY2hy b21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMv c3JjL2NwcC9wYWxldHRlcy90b25lcy5jYy5tZQkyMDIzLTA5LTEwIDE3OjM2OjI3LjE5OTg0MTA1 MSArMDIwMAorKysrIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvbWF0ZXJpYWxf Y29sb3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMuY2MJMjAyMy0wOS0xMCAxNzo0 NDo1MS44NzA1NTQyMzMgKzAyMDAKK0BAIC0xNCw2ICsxNCw3IEBACisgICogbGltaXRhdGlvbnMg dW5kZXIgdGhlIExpY2Vuc2UuCisgICovCisgCisrI2luY2x1ZGUgPG1hdGguaD4KKyAjaW5jbHVk ZSAiY3BwL3BhbGV0dGVzL3RvbmVzLmgiCisgCisgI2luY2x1ZGUgImNwcC9jYW0vY2FtLmgiCgpk aWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE3LW1uZW1vbmljLWVycm9yLnBhdGNoIGIvY2hyb21pdW0t MTE3LW1uZW1vbmljLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjQ1NWIzZTUKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTctbW5lbW9uaWMtZXJy b3IucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC40 OC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL0JVSUxELmduLm1lIGNocm9taXVtLTEx Ny4wLjU5MzguNDgvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9CVUlMRC5nbgorLS0t IGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9C VUlMRC5nbi5tZQkyMDIzLTA5LTEwIDE2OjU0OjAwLjgwNDM4NTEzOSArMDIwMAorKysrIGNocm9t aXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9CVUlMRC5n bgkyMDIzLTA5LTEwIDE2OjU0OjEzLjU0MDYyNTA3NyArMDIwMAorQEAgLTE2OTQsOCArMTY5NCw2 IEBAIGFjdGlvbl9mb3JlYWNoKCJlbGVtZW50X2xvY2F0b3JfdGVzdF9wcm8KKyAgIHB5dGhvbl9w YXRoX3Jvb3QgPSAiJHtyb290X291dF9kaXJ9L3B5cHJvdG8iCisgICBweXRob25fcGF0aF9wcm90 byA9ICIke3B5dGhvbl9wYXRoX3Jvb3R9L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUv bGNwX2NyaXRpY2FsX3BhdGhfcHJlZGljdG9yIgorIAorLSAgbW5lbW9uaWMgPSAiRUxPQ19QUk9U TyIKKy0KKyAgIHNvdXJjZV9kaXIgPSAibGNwX2NyaXRpY2FsX3BhdGhfcHJlZGljdG9yL3Rlc3Rf cHJvdG8iCisgICBzb3VyY2VzID0gcmViYXNlX3BhdGgoWyAibGNwX2ltYWdlX2lkLmFzY2lpcGIi IF0sICIiLCBzb3VyY2VfZGlyKQorIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNy1weXRob24t My4xMi1kZXByZWNhdGVkLnBhdGNoIGIvY2hyb21pdW0tMTE3LXB5dGhvbi0zLjEyLWRlcHJlY2F0 ZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQwMmZjYgotLS0g L2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTExNy1weXRob24tMy4xMi1kZXByZWNhdGVkLnBhdGNo CkBAIC0wLDAgKzEsMTUwIEBACitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9iYXNl L3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2Jh c2Uvd3JpdGVfYnVpbGRfZGF0ZV9oZWFkZXIucHkKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjEw Mi9iYXNlL3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5Lm1lCTIwMjMtMDctMjIgMTQ6MjM6NDIu NjIwNjc5Mzk3ICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYmFzZS93cml0ZV9i dWlsZF9kYXRlX2hlYWRlci5weQkyMDIzLTA3LTIyIDE1OjI0OjQ2LjgzMzMxMDMxMCArMDIwMAor QEAgLTE3LDcgKzE3LDcgQEAgZGVmIG1haW4oKToKKyAgIGFyZ3MgPSBhcmd1bWVudF9wYXJzZXIu cGFyc2VfYXJncygpCisgCisgICBkYXRlX3ZhbCA9IGludChhcmdzLnRpbWVzdGFtcCkKKy0gIGRh dGUgPSBkYXRldGltZS5kYXRldGltZS51dGNmcm9tdGltZXN0YW1wKGRhdGVfdmFsKQorKyAgZGF0 ZSA9ICBkYXRldGltZS5kYXRldGltZS5mcm9tdGltZXN0YW1wKGRhdGVfdmFsLCBkYXRldGltZS50 aW1lem9uZS51dGMpCisgICBvdXRwdXQgPSAoJy8vIEdlbmVyYXRlZCBieSAvL2Jhc2Uvd3JpdGVf YnVpbGRfZGF0ZV9oZWFkZXIucHlcbicKKyAgICAgICAgICAgICAnI2lmbmRlZiBCQVNFX0dFTkVS QVRFRF9CVUlMRF9EQVRFX1RJTUVTVEFNUCBcbicKKyAgICAgICAgICAgICBmJyNkZWZpbmUgQkFT RV9HRU5FUkFURURfQlVJTERfREFURV9USU1FU1RBTVAge2RhdGVfdmFsfScKK2RpZmYgLXVwIGNo cm9taXVtLTExNS4wLjU3OTAuMTAyL2J1aWxkL3dyaXRlX2J1aWxkZmxhZ19oZWFkZXIucHkubWUg Y2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYnVpbGQvd3JpdGVfYnVpbGRmbGFnX2hlYWRlci5weQor LS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2J1aWxkL3dyaXRlX2J1aWxkZmxhZ19oZWFkZXIu cHkubWUJMjAyMy0wNy0yMiAxNDoxNjoxNC4xOTY5NzU0NTEgKzAyMDAKKysrKyBjaHJvbWl1bS0x MTUuMC41NzkwLjEwMi9idWlsZC93cml0ZV9idWlsZGZsYWdfaGVhZGVyLnB5CTIwMjMtMDctMjIg MTQ6MjA6MjQuOTc3MjM5OTk0ICswMjAwCitAQCAtNDQsNyArNDQsNyBAQCBkZWYgR2V0T3B0aW9u cygpOgorICAgaGVhZGVyX2d1YXJkID0gY21kbGluZV9vcHRpb25zLm91dHB1dC51cHBlcigpCisg ICBpZiBoZWFkZXJfZ3VhcmRbMF0uaXNkaWdpdCgpOgorICAgICBoZWFkZXJfZ3VhcmQgPSAnXycg KyBoZWFkZXJfZ3VhcmQKKy0gIGhlYWRlcl9ndWFyZCA9IHJlLnN1YignW15cd10nLCAnXycsIGhl YWRlcl9ndWFyZCkKKysgIGhlYWRlcl9ndWFyZCA9IHJlLnN1YihyJ1teXHddJywgJ18nLCBoZWFk ZXJfZ3VhcmQpCisgICBoZWFkZXJfZ3VhcmQgKz0gJ18nCisgCisgICAjIFRoZSBhY3R1YWwgb3V0 cHV0IGZpbGUgaXMgaW5zaWRlIHRoZSBnZW4gZGlyLgorZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAu NTc5MC4xMDIvY29tcG9uZW50cy9yZXNvdXJjZXMvcHJvdG9idWZzL2JpbmFyeV9wcm90b19nZW5l cmF0b3IucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvY29tcG9uZW50cy9yZXNvdXJjZXMv cHJvdG9idWZzL2JpbmFyeV9wcm90b19nZW5lcmF0b3IucHkKKy0tLSBjaHJvbWl1bS0xMTUuMC41 NzkwLjEwMi9jb21wb25lbnRzL3Jlc291cmNlcy9wcm90b2J1ZnMvYmluYXJ5X3Byb3RvX2dlbmVy YXRvci5weS5tZQkyMDIzLTA3LTIyIDE0OjQ3OjM0LjIzMDc2NDIxMCArMDIwMAorKysrIGNocm9t aXVtLTExNS4wLjU3OTAuMTAyL2NvbXBvbmVudHMvcmVzb3VyY2VzL3Byb3RvYnVmcy9iaW5hcnlf cHJvdG9fZ2VuZXJhdG9yLnB5CTIwMjMtMDctMjIgMTU6MTE6NTAuMzYwOTgzMzgzICswMjAwCitA QCAtOSw3ICs5LDggQEAKKyAiIiIKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0 aW9uCisgaW1wb3J0IGFiYworLWltcG9ydCBpbXAKKytpbXBvcnQgdHlwZXMKKytpbXBvcnQgaW1w b3J0bGliCisgaW1wb3J0IG9wdHBhcnNlCisgaW1wb3J0IG9zCisgaW1wb3J0IHJlCitAQCAtNDAs NiArNDEsMTIgQEAgY2xhc3MgR29vZ2xlUHJvdG9idWZNb2R1bGVJbXBvcnRlcjoKKyAgICAgICAg IHJldHVybiBmaWxlcGF0aAorICAgICByZXR1cm4gTm9uZQorIAorKyAgZGVmIGxvYWRfc291cmNl KG5hbWU6IHN0ciwgcGF0aDogc3RyKSAtPiB0eXBlcy5Nb2R1bGVUeXBlOgorKyAgICBzcGVjID0g aW1wb3J0bGliLnV0aWwuc3BlY19mcm9tX2ZpbGVfbG9jYXRpb24obmFtZSwgcGF0aCkKKysgICAg bW9kdWxlID0gaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zyb21fc3BlYyhzcGVjKQorKyAgICBzcGVj LmxvYWRlci5leGVjX21vZHVsZShtb2R1bGUpCisrICAgIHJldHVybiBtb2R1bGUKKysKKyAgIGRl ZiBfbW9kdWxlX2V4aXN0cyhzZWxmLCBmdWxsbmFtZSk6CisgICAgIHJldHVybiBzZWxmLl9mdWxs bmFtZV90b19maWxlcGF0aChmdWxsbmFtZSkgaXMgbm90IE5vbmUKKyAKK0BAIC02OCw3ICs3NSw3 IEBAIGNsYXNzIEdvb2dsZVByb3RvYnVmTW9kdWxlSW1wb3J0ZXI6CisgICAgICAgcmFpc2UgSW1w b3J0RXJyb3IoZnVsbG5hbWUpCisgCisgICAgIGZpbGVwYXRoID0gc2VsZi5fZnVsbG5hbWVfdG9f ZmlsZXBhdGgoZnVsbG5hbWUpCistICAgIHJldHVybiBpbXAubG9hZF9zb3VyY2UoZnVsbG5hbWUs IGZpbGVwYXRoKQorKyAgICByZXR1cm4gbG9hZF9zb3VyY2UoZnVsbG5hbWUsIGZpbGVwYXRoKQor IAorIGNsYXNzIEJpbmFyeVByb3RvR2VuZXJhdG9yOgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTE1 LjAuNTc5MC4xMDIvbW9qby9wdWJsaWMvdG9vbHMvYmluZGluZ3MvY29uY2F0ZW5hdGVfYW5kX3Jl cGxhY2VfY2xvc3VyZV9leHBvcnRzLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL21vam8v cHVibGljL3Rvb2xzL2JpbmRpbmdzL2NvbmNhdGVuYXRlX2FuZF9yZXBsYWNlX2Nsb3N1cmVfZXhw b3J0cy5weQorLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL21vam8vcHVibGljL3Rvb2xzL2Jp bmRpbmdzL2NvbmNhdGVuYXRlX2FuZF9yZXBsYWNlX2Nsb3N1cmVfZXhwb3J0cy5weS5tZQkyMDIz LTA3LTIyIDE1OjE3OjE5LjExNDI1ODgwMSArMDIwMAorKysrIGNocm9taXVtLTExNS4wLjU3OTAu MTAyL21vam8vcHVibGljL3Rvb2xzL2JpbmRpbmdzL2NvbmNhdGVuYXRlX2FuZF9yZXBsYWNlX2Ns b3N1cmVfZXhwb3J0cy5weQkyMDIzLTA3LTIyIDE1OjE3OjQzLjM2ODIwMDQ5MSArMDIwMAorQEAg LTMyLDcgKzMyLDcgQEAgZGVmIEZpbHRlckxpbmUoZmlsZW5hbWUsIGxpbmUsIG91dHB1dCk6Cisg ICAgIHJldHVybgorIAorICAgaWYgbGluZS5zdGFydHN3aXRoKCJnb29nLnByb3ZpZGUiKToKKy0g ICAgbWF0Y2ggPSByZS5tYXRjaCgiZ29vZy5wcm92aWRlXCgnKFteJ10rKSdcKTsiLCBsaW5lKQor KyAgICBtYXRjaCA9IHJlLm1hdGNoKHIiZ29vZy5wcm92aWRlXCgnKFteJ10rKSdcKTsiLCBsaW5l KQorICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgcHJpbnQoIkludmFsaWQgZ29vZy5wcm92aWRl IGxpbmUgaW4gJXM6XG4lcyIgJSAoZmlsZW5hbWUsIGxpbmUpKQorICAgICAgIHN5cy5leGl0KDEp CitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9j b21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25fY29udHJvbGxl ci5weS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21t b24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25fY29udHJvbGxlci5w eQorLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1v bi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5 Lm1lCTIwMjMtMDctMjIgMTU6MTI6NDEuODUwODk1MTc5ICswMjAwCisrKysgY2hyb21pdW0tMTE1 LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92 dWxjYW5pemUvaHRtbF9nZW5lcmF0aW9uX2NvbnRyb2xsZXIucHkJMjAyMy0wNy0yMiAxNToxMjo1 NS44NDQ4NzEyMDcgKzAyMDAKK0BAIC0xOCw3ICsxOCw3IEBAIGNsYXNzIEhUTUxHZW5lcmF0aW9u Q29udHJvbGxlcihvYmplY3QpOgorIAorICAgZGVmIEdldEhUTUxGb3JJbmxpbmVTdHlsZXNoZWV0 KHNlbGYsIGNvbnRlbnRzKToKKyAgICAgaWYgc2VsZi5jdXJyZW50X21vZHVsZSBpcyBOb25lOgor LSAgICAgIGlmIHJlLnNlYXJjaCgndXJsXCguK1wpJywgY29udGVudHMpOgorKyAgICAgIGlmIHJl LnNlYXJjaChyJ3VybFwoLitcKScsIGNvbnRlbnRzKToKKyAgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigKKyAgICAgICAgICAgICAnRGVmYXVsdCBIVE1MR2VuZXJhdGlvbkNvbnRyb2xsZXIgY2Fubm90 IGhhbmRsZSBpbmxpbmUgc3R5bGUgdXJscycpCisgICAgICAgcmV0dXJuIGNvbnRlbnRzCitkaWZm IC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24v cHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9qc191dGlscy5weS5tZSBjaHJvbWl1bS0xMTUuMC41 NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNh bml6ZS9qc191dGlscy5weQorLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5 L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5Lm1l CTIwMjMtMDctMjIgMTU6MTQ6MDYuOTIzNzE3OTEwICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAu NTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxj YW5pemUvanNfdXRpbHMucHkJMjAyMy0wNy0yMiAxNToxODowMy43MDQxNTA2MTQgKzAyMDAKK0BA IC00LDQgKzQsNCBAQAorIAorIAorIGRlZiBFc2NhcGVKU0lmTmVlZGVkKGpzKToKKy0gIHJldHVy biBqcy5yZXBsYWNlKCc8L3NjcmlwdD4nLCAnPFwvc2NyaXB0PicpCisrICByZXR1cm4ganMucmVw bGFjZShyJzwvc2NyaXB0PicsIHInPFwvc2NyaXB0PicpCitkaWZmIC11cCBjaHJvbWl1bS0xMTUu MC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1 bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhp cmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2Vf aHRtbF9kZXBzLnB5CistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0 YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2VfaHRtbF9kZXBzLnB5 Lm1lCTIwMjMtMDctMjIgMTU6MTQ6MzAuMTA1NjYyNTMyICswMjAwCisrKysgY2hyb21pdW0tMTE1 LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92 dWxjYW5pemUvcGFyc2VfaHRtbF9kZXBzLnB5CTIwMjMtMDctMjIgMTU6MTQ6NTcuOTc3NTk1OTUw ICswMjAwCitAQCAtMjkzLDYgKzI5Myw2IEBAIGNsYXNzIEhUTUxNb2R1bGVQYXJzZXIoKToKKyAg ICAgICBodG1sID0gJycKKyAgICAgZWxzZToKKyAgICAgICBpZiBodG1sLmZpbmQoJzwgL3Njcmlw dD4nKSAhPSAtMToKKy0gICAgICAgIHJhaXNlIEV4Y2VwdGlvbignRXNjYXBlIHNjcmlwdCB0YWdz IHdpdGggPFwvc2NyaXB0PicpCisrICAgICAgICByYWlzZSBFeGNlcHRpb24ocidFc2NhcGUgc2Ny aXB0IHRhZ3Mgd2l0aCA8XC9zY3JpcHQ+JykKKyAKKyAgICAgcmV0dXJuIEhUTUxNb2R1bGVQYXJz ZXJSZXN1bHRzKGh0bWwpCitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9w YXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9zdHlsZV9zaGVl dC5weS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21t b24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9zdHlsZV9zaGVldC5weQorLS0tIGNocm9taXVt LTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUv cHlfdnVsY2FuaXplL3N0eWxlX3NoZWV0LnB5Lm1lCTIwMjMtMDctMjIgMTU6MTM6MTIuMzE2ODQy OTkwICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1 bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvc3R5bGVfc2hlZXQucHkJMjAyMy0w Ny0yMiAxNToxMzo0OS42ODQ3NTkwOTEgKzAyMDAKK0BAIC02MCw3ICs2MCw3IEBAIGNsYXNzIFBh cnNlZFN0eWxlU2hlZXQob2JqZWN0KToKKyAgICAgICByZXR1cm4gJ3VybChkYXRhOmltYWdlLyVz O2Jhc2U2NCwlcyknICUgKGV4dFsxOl0sIGRhdGEuZGVjb2RlKCd1dGYtOCcpKQorIAorICAgICAj IEknbSBhc3N1bWluZyB3ZSBvbmx5IGhhdmUgdXJsKCkncyBhc3NvY2lhdGVkIHdpdGggaW1hZ2Vz CistICAgIHJldHVybiByZS5zdWIoJ3VybFwoKD9QPHF1b3RlPiJ8XCd8KSg/UDx1cmw+W14iXCco KV0qKSg/UD1xdW90ZSlcKScsCisrICAgIHJldHVybiByZS5zdWIocid1cmxcKCg/UDxxdW90ZT4i fFwnfCkoP1A8dXJsPlteIlwnKCldKikoP1A9cXVvdGUpXCknLAorICAgICAgICAgICAgICAgICAg IElubGluZVVybCwgc2VsZi5jb250ZW50cykKKyAKKyAgIGRlZiBBcHBlbmREaXJlY3RseURlcGVu ZGVudEZpbGVuYW1lc1RvKHNlbGYsIGRlcGVuZGVudF9maWxlbmFtZXMpOgorQEAgLTcyLDcgKzcy LDcgQEAgY2xhc3MgUGFyc2VkU3R5bGVTaGVldChvYmplY3QpOgorICAgICAgIHJhaXNlIEV4Y2Vw dGlvbignQGltcG9ydHMgYXJlIG5vdCBzdXBwb3J0ZWQnKQorIAorICAgICBtYXRjaGVzID0gcmUu ZmluZGFsbCgKKy0gICAgICAgICd1cmxcKCg/OlsifFwnXT8pKFteIlwnKCldKikoPzpbInxcJ10/ KVwpJywKKysgICAgICAgIHIndXJsXCgoPzpbInxcJ10/KShbXiJcJygpXSopKD86WyJ8XCddPylc KScsCisgICAgICAgICBzZWxmLmNvbnRlbnRzKQorIAorICAgICBkZWYgcmVzb2x2ZV91cmwodXJs KToKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Rhd24vZ2Vu ZXJhdG9yL2dlbmVyYXRvcl9saWIucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRf cGFydHkvZGF3bi9nZW5lcmF0b3IvZ2VuZXJhdG9yX2xpYi5weQorLS0tIGNocm9taXVtLTExNS4w LjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Rhd24vZ2VuZXJhdG9yL2dlbmVyYXRvcl9saWIucHkubWUJ MjAyMy0wNy0yMiAxNToxMTo1Ni44MjY5NzIzMDYgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41 NzkwLjEwMi90aGlyZF9wYXJ0eS9kYXduL2dlbmVyYXRvci9nZW5lcmF0b3JfbGliLnB5CTIwMjMt MDctMjIgMTU6MTI6MzcuNTUwOTAyNTQ1ICswMjAwCitAQCAtMTE5LDggKzExOSw4IEBAIGNsYXNz IF9QcmVwcm9jZXNzaW5nTG9hZGVyKGppbmphMi5CYXNlTG8KKyAgICAgICAgICAgICBzb3VyY2Ug PSBzZWxmLnByZXByb2Nlc3MoZi5yZWFkKCkpCisgICAgICAgICByZXR1cm4gc291cmNlLCBwYXRo LCBsYW1iZGE6IG10aW1lID09IG9zLnBhdGguZ2V0bXRpbWUocGF0aCkKKyAKKy0gICAgYmxvY2tz dGFydCA9IHJlLmNvbXBpbGUoJ3slLT9ccyooaWZ8ZWxpZnxlbHNlfGZvcnxibG9ja3xtYWNybylb Xn1dKiV9JykKKy0gICAgYmxvY2tlbmQgPSByZS5jb21waWxlKCd7JS0/XHMqKGVuZChpZnxmb3J8 YmxvY2t8bWFjcm8pfGVsaWZ8ZWxzZSlbXn1dKiV9JykKKysgICAgYmxvY2tzdGFydCA9IHJlLmNv bXBpbGUocid7JS0/XHMqKGlmfGVsaWZ8ZWxzZXxmb3J8YmxvY2t8bWFjcm8pW159XSolfScpCisr ICAgIGJsb2NrZW5kID0gcmUuY29tcGlsZShyJ3slLT9ccyooZW5kKGlmfGZvcnxibG9ja3xtYWNy byl8ZWxpZnxlbHNlKVtefV0qJX0nKQorIAorICAgICBkZWYgcHJlcHJvY2VzcyhzZWxmLCBzb3Vy Y2UpOgorICAgICAgICAgbGluZXMgPSBzb3VyY2Uuc3BsaXQoJ1xuJykKK2RpZmYgLXVwIGNocm9t aXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi10b29scy9z cmMvYnVpbGQtZ24vZ2VuZXJhdGVfdnVsa2FuX2xheWVyc19qc29uLnB5Lm1lIGNocm9taXVtLTEx NS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi10b29scy9zcmMvYnVp bGQtZ24vZ2VuZXJhdGVfdnVsa2FuX2xheWVyc19qc29uLnB5CitkaWZmIC11cCBjaHJvbWl1bS0x MTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1s YXllcnMvc3JjL2J1aWxkLWduL2dlbmVyYXRlX3Z1bGthbl9sYXllcnNfanNvbi5weS5tZSBjaHJv bWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRh dGlvbi1sYXllcnMvc3JjL2J1aWxkLWduL2dlbmVyYXRlX3Z1bGthbl9sYXllcnNfanNvbi5weQor LS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGth bi12YWxpZGF0aW9uLWxheWVycy9zcmMvYnVpbGQtZ24vZ2VuZXJhdGVfdnVsa2FuX2xheWVyc19q c29uLnB5Lm1lCTIwMjMtMDctMjIgMTY6MDI6NDguMzMwMDUwMDg4ICswMjAwCisrKysgY2hyb21p dW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRp b24tbGF5ZXJzL3NyYy9idWlsZC1nbi9nZW5lcmF0ZV92dWxrYW5fbGF5ZXJzX2pzb24ucHkJMjAy My0wNy0yMiAxNjowMzowMi4zMjAwMjM2MTcgKzAyMDAKK0BAIC0yOCw3ICsyOCw2IEBAIGltcG9y dCBwbGF0Zm9ybQorIGltcG9ydCBzeXMKKyAKKyBkZWYgZ2xvYl9zbGFzaChkaXJuYW1lKToKKy0g ICAgIiIiTGlrZSByZWd1bGFyIGdsb2IgYnV0IHJlcGxhY2VzIFwgd2l0aCAvIGluIHJldHVybmVk IHBhdGhzLiIiIgorICAgICByZXR1cm4gW3MucmVwbGFjZSgnXFwnLCAnLycpIGZvciBzIGluIGds b2IuZ2xvYihkaXJuYW1lKV0KKyAKKyBkZWYgbWFpbigpOgoKZGlmZiAtLWdpdCBhL2Nocm9taXVt LTExNy13aWRldmluZS1vdGhlci1sb2NhdGlvbnMucGF0Y2ggYi9jaHJvbWl1bS0xMTctd2lkZXZp bmUtb3RoZXItbG9jYXRpb25zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjM4ZjNhMjcKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTctd2lkZXZpbmUtb3Ro ZXItbG9jYXRpb25zLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK2RpZmYgLXVwIGNocm9taXVtLTEw OC4wLjUzNTkuMTI0L2Nocm9tZS9jb21tb24vY2hyb21lX3BhdGhzLmNjLndpZGV2aW5lLW90aGVy LWxvY2F0aW9ucyBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9jaHJvbWUvY29tbW9uL2Nocm9tZV9w YXRocy5jYworLS0tIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L2Nocm9tZS9jb21tb24vY2hyb21l X3BhdGhzLmNjLndpZGV2aW5lLW90aGVyLWxvY2F0aW9ucwkyMDIzLTAxLTAyIDExOjEwOjAzLjk1 MTMzMDMwNSArMDEwMAorKysrIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L2Nocm9tZS9jb21tb24v Y2hyb21lX3BhdGhzLmNjCTIwMjMtMDEtMDIgMTM6NDI6MjYuNzgxMDIyMTUwICswMTAwCitAQCAt MzE5LDYgKzMxOSwxNiBAQCBib29sIFBhdGhQcm92aWRlcihpbnQga2V5LCBiYXNlOjpGaWxlUGF0 CisgCisgI2lmIEJVSUxERkxBRyhFTkFCTEVfV0lERVZJTkUpCisgICAgIGNhc2UgY2hyb21lOjpE SVJfQlVORExFRF9XSURFVklORV9DRE06CisrICAgICAgYmFzZTo6UGF0aFNlcnZpY2U6OkdldChi YXNlOjpESVJfSE9NRSwgJmN1cik7CisrICAgICAgY3VyID0gY3VyLkFwcGVuZChGSUxFX1BBVEhf TElURVJBTCgiLmNvbmZpZy9jaHJvbWl1bS9XaWRldmluZUNkbSIpKTsKKysgICAgICBpZiAoYmFz ZTo6UGF0aEV4aXN0cyhjdXIpKSB7CisrICAgICAgICBicmVhazsKKysgICAgICB9CisrICAgICAg Ly8gWWVzLCB0aGlzIGhhcyBhbiBhcmNoIGhhcmRjb2RlZCBpbiB0aGUgcGF0aCwgYnV0IGF0IHRo aXMgdGltZSwgaXQgaXMgdGhlIG9ubHkgcGxhY2UgdG8gZmluZCBsaWJ3aWRldmluZWNkbS5zbwor KyAgICAgIGlmIChiYXNlOjpQYXRoRXhpc3RzKGJhc2U6OkZpbGVQYXRoKEZJTEVfUEFUSF9MSVRF UkFMKCIvb3B0L2dvb2dsZS9jaHJvbWUvV2lkZXZpbmVDZG0vX3BsYXRmb3JtX3NwZWNpZmljL2xp bnV4X3g2NC9saWJ3aWRldmluZWNkbS5zbyIpKSkpIHsKKysgICAgICAgIGN1ciA9IGJhc2U6OkZp bGVQYXRoKEZJTEVfUEFUSF9MSVRFUkFMKCIvb3B0L2dvb2dsZS9jaHJvbWUvV2lkZXZpbmVDZG0i KSk7CisrICAgICAgICBicmVhazsKKysgICAgICB9CisgICAgICAgaWYgKCFHZXRDb21wb25lbnRE aXJlY3RvcnkoJmN1cikpIHsKKyAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICB9CisgICAg ICAgY3VyID0gY3VyLkFwcGVuZEFTQ0lJKGtXaWRldmluZUNkbUJhc2VEaXJlY3RvcnkpOworZGlm ZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvdGhpcmRfcGFydHkvd2lkZXZpbmUvY2RtL0JV SUxELmduLndpZGV2aW5lLW90aGVyLWxvY2F0aW9ucyBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC90 aGlyZF9wYXJ0eS93aWRldmluZS9jZG0vQlVJTEQuZ24KKy0tLSBjaHJvbWl1bS0xMDguMC41MzU5 LjEyNC90aGlyZF9wYXJ0eS93aWRldmluZS9jZG0vQlVJTEQuZ24ud2lkZXZpbmUtb3RoZXItbG9j YXRpb25zCTIwMjMtMDEtMDIgMTE6MTA6NDUuOTUzMTE0MTUzICswMTAwCisrKysgY2hyb21pdW0t MTA4LjAuNTM1OS4xMjQvdGhpcmRfcGFydHkvd2lkZXZpbmUvY2RtL0JVSUxELmduCTIwMjMtMDEt MDIgMTE6MTA6NDUuOTUzMTE0MTUzICswMTAwCitAQCAtMjIsNyArMjIsNyBAQCBidWlsZGZsYWdf aGVhZGVyKCJidWlsZGZsYWdzIikgeworIAorICAgZmxhZ3MgPSBbCisgICAgICJFTkFCTEVfV0lE RVZJTkU9JGVuYWJsZV93aWRldmluZSIsCistICAgICJCVU5ETEVfV0lERVZJTkVfQ0RNPSRidW5k bGVfd2lkZXZpbmVfY2RtIiwKKysgICAgIkJVTkRMRV9XSURFVklORV9DRE09dHJ1ZSIsCisgICAg ICJFTkFCTEVfV0lERVZJTkVfQ0RNX0NPTVBPTkVOVD0kZW5hYmxlX3dpZGV2aW5lX2NkbV9jb21w b25lbnQiLAorICAgICAiRU5BQkxFX01FRElBX0ZPVU5EQVRJT05fV0lERVZJTkVfQ0RNPSRlbmFi bGVfbWVkaWFfZm91bmRhdGlvbl93aWRldmluZV9jZG0iLAorICAgXQoKZGlmZiAtLWdpdCBhL2No cm9taXVtLTExNy13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gg Yi9jaHJvbWl1bS0xMTctd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZGU4NjgKLS0tIC9kZXYv bnVsbAorKysgYi9jaHJvbWl1bS0xMTctd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9i aW5kaW5nLnBhdGNoCkBAIC0wLDAgKzEsNjkgQEAKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3 OTAuMjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjLndvcmthcm91bmRfY2xhbmdf YnVnLXN0cnVjdHVyZWRfYmluZGluZyBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L21lZGlhL2Jhc2Uv Y2RtX3Byb21pc2VfYWRhcHRlci5jYworLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbWVkaWEv YmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjLndvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVy ZWRfYmluZGluZwkyMDIzLTA2LTA3IDIxOjQ4OjM3LjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9t aXVtLTExNS4wLjU3OTAuMjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjCTIwMjMt MDYtMTcgMTY6NTM6MjAuMjE2NjI4NTU3ICswMjAwCitAQCAtOTQsNyArOTQsOSBAQCB2b2lkIENk bVByb21pc2VBZGFwdGVyOjpSZWplY3RQcm9taXNlKHVpCisgdm9pZCBDZG1Qcm9taXNlQWRhcHRl cjo6Q2xlYXIoQ2xlYXJSZWFzb24gcmVhc29uKSB7CisgICAvLyBSZWplY3QgYWxsIG91dHN0YW5k aW5nIHByb21pc2VzLgorICAgRENIRUNLKHRocmVhZF9jaGVja2VyXy5DYWxsZWRPblZhbGlkVGhy ZWFkKCkpOworLSAgZm9yIChhdXRvJiBbcHJvbWlzZV9pZCwgcHJvbWlzZV0gOiBwcm9taXNlc18p IHsKKysgIGZvciAoYXV0byYgW3BfaSwgcF9lXSA6IHByb21pc2VzXykgeworKyAgICBhdXRvJiBw cm9taXNlX2lkID0gcF9pOworKyAgICBhdXRvJiBwcm9taXNlID0gcF9lOworICAgICBUUkFDRV9F VkVOVF9ORVNUQUJMRV9BU1lOQ19FTkQxKAorICAgICAgICAgIm1lZGlhIiwgIkNkbVByb21pc2Ui LCBUUkFDRV9JRF9XSVRIX1NDT1BFKCJDZG1Qcm9taXNlIiwgcHJvbWlzZV9pZCksCisgICAgICAg ICAic3RhdHVzIiwgImNsZWFyZWQiKTsKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xh eW91dF9hbGdvcml0aG0uY2Mud29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5n IGNocm9taXVtLTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9s YXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2MKKy0tLSBjaHJvbWl1bS0x MTUuMC41NzkwLjI0L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L25nL2dy aWQvbmdfZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNjLndvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVj dHVyZWRfYmluZGluZwkyMDIzLTA2LTA3IDIxOjQ4OjQxLjAwMDAwMDAwMCArMDIwMAorKysrIGNo cm9taXVtLTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlv dXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2MJMjAyMy0wNi0xNyAxODo0Nzow Ni4wMDE0MDM5NjYgKzAyMDAKK0BAIC02NTUsOCArNjU4LDEwIEBAIE5HR3JpZFNpemluZ1RyZWUg TkdHcmlkTGF5b3V0QWxnb3JpdGhtOjoKKyAgIE5HR3JpZFNpemluZ1RyZWUgc2l6aW5nX3RyZWU7 CisgCisgICBpZiAoY29uc3QgYXV0byogbGF5b3V0X3N1YnRyZWUgPSBDb25zdHJhaW50U3BhY2Uo KS5HcmlkTGF5b3V0U3VidHJlZSgpKSB7CistICAgIGF1dG8mIFtncmlkX2l0ZW1zLCBsYXlvdXRf ZGF0YSwgc3VidHJlZV9zaXplXSA9CistICAgICAgICBzaXppbmdfdHJlZS5DcmVhdGVTaXppbmdE YXRhKCk7CisrICAgIGF1dG8mIFtnX2ksIGxfZCwgc19zXSA9IHNpemluZ190cmVlLkNyZWF0ZVNp emluZ0RhdGEoKTsKKysgICAgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsKKysgICAgYXV0byYgbGF5 b3V0X2RhdGEgPSBsX2Q7CisrICAgIGF1dG8mIHN1YnRyZWVfc2l6ZSA9IHNfczsKKyAKKyAgICAg Y29uc3QgYXV0byYgbm9kZSA9IE5vZGUoKTsKKyAgICAgZ3JpZF9pdGVtcyA9CitAQCAtMTc5OCw4 ICsxODAzLDEwIEBAIHZvaWQgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjpDb21wbGV0ZVRyYWMKKyAg ICAgYm9vbCogb3B0X25lZWRzX2FkZGl0aW9uYWxfcGFzcykgY29uc3QgeworICAgRENIRUNLKHNp emluZ19zdWJ0cmVlKTsKKyAKKy0gIGF1dG8mIFtncmlkX2l0ZW1zLCBsYXlvdXRfZGF0YSwgc3Vi dHJlZV9zaXplXSA9CistICAgICAgc2l6aW5nX3N1YnRyZWUuU3VidHJlZVJvb3REYXRhKCk7Cisr ICBhdXRvJiBbZ19pLCBsX2QsIHNfc10gPSBzaXppbmdfc3VidHJlZS5TdWJ0cmVlUm9vdERhdGEo KTsKKysgIGF1dG8mIGdyaWRfaXRlbXMgPSBnX2k7CisrICBhdXRvJiBsYXlvdXRfZGF0YSA9IGxf ZDsKKysgIGF1dG8mIHN1YnRyZWVfc2l6ZSA9IHNfczsKKyAKKyAgIGNvbnN0IGJvb2wgaXNfZm9y X2NvbHVtbnMgPSB0cmFja19kaXJlY3Rpb24gPT0ga0ZvckNvbHVtbnM7CisgICBjb25zdCBib29s IGhhc19ub25fZGVmaW5pdGVfdHJhY2sgPQorQEAgLTE5MjQsOCArMTkzMSwxMCBAQCB0ZW1wbGF0 ZSA8dHlwZW5hbWUgQ2FsbGJhY2tGdW5jPgorIHZvaWQgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjpG b3JFYWNoU3ViZ3JpZCgKKyAgICAgY29uc3QgTkdHcmlkU2l6aW5nU3VidHJlZSYgc2l6aW5nX3N1 YnRyZWUsCisgICAgIGNvbnN0IENhbGxiYWNrRnVuYyYgY2FsbGJhY2tfZnVuYykgY29uc3Qgewor LSAgYXV0byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCBzdWJ0cmVlX3NpemVdID0KKy0gICAg ICBzaXppbmdfc3VidHJlZS5TdWJ0cmVlUm9vdERhdGEoKTsKKysgIGF1dG8mIFtnX2ksIGxfZCwg c19zXSA9IHNpemluZ19zdWJ0cmVlLlN1YnRyZWVSb290RGF0YSgpOworKyAgYXV0byYgZ3JpZF9p dGVtcyA9IGdfaTsKKysgIGF1dG8mIGxheW91dF9kYXRhID0gbF9kOworKyAgYXV0byYgc3VidHJl ZV9zaXplID0gc19zOworIAorICAgLy8gSWYgd2Uga25vdyB0aGlzIHN1YnRyZWUgZG9lc24ndCBo YXZlIG5lc3RlZCBzdWJncmlkcyB3ZSBjYW4gZXhpdCBlYXJseQorICAgLy8gaW5zdGVhZCBvZiBp dGVyYXRpbmcgb3ZlciBldmVyeSBncmlkIGl0ZW0gbG9va2luZyBmb3IgdGhlbS4KK2RpZmYgLXVw IGNocm9taXVtLTExNS4wLjU3OTAuMzIvY29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3Nl cnZpY2Vfd29ya2VyX2NvbnRleHRfd3JhcHBlci5jYy5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjMy L2NvbnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250ZXh0X3dy YXBwZXIuY2MKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbnRlbnQvYnJvd3Nlci9zZXJ2 aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250ZXh0X3dyYXBwZXIuY2MubWUJMjAyMy0wNi0x OSAwODowNDowMi4yODcwNzI3MjIgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2Nv bnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250ZXh0X3dyYXBw ZXIuY2MJMjAyMy0wNi0xOSAwODoxODoyNC41NzY4MTQ5NTAgKzAyMDAKK0BAIC0xMzkzLDcgKzEz OTMsOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250ZXh0V3JhcHBlcjo6TWF5YmVQCisgICAgIHJl dHVybjsKKyAgIH0KKyAKKy0gIGF1dG8gW2RvY3VtZW50X3VybCwga2V5LCBjYWxsYmFja10gPSBz dGQ6Om1vdmUoKnJlcXVlc3QpOworKyAgYXV0byBbZF91LCBrZXksIGNhbGxiYWNrXSA9IHN0ZDo6 bW92ZSgqcmVxdWVzdCk7CisrICBhdXRvIGRvY3VtZW50X3VybCA9IGRfdTsKKyAKKyAgIERDSEVD Syhkb2N1bWVudF91cmwuaXNfdmFsaWQoKSk7CisgICBUUkFDRV9FVkVOVDEoIlNlcnZpY2VXb3Jr ZXIiLAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLnNwZWMgYi9jaHJvbWl1bS5zcGVjCmluZGV4IDVl OWQ5ZDguLjU4ODc3ODMgMTAwNjQ0Ci0tLSBhL2Nocm9taXVtLnNwZWMKKysrIGIvY2hyb21pdW0u c3BlYwpAQCAtNDEsNyArNDEsNyBAQAogJWdsb2JhbCBidWlsZF9yZW1vdGluZyAwCiAKICMgc2V0 IG5vZGVqc192ZXJzaW9uCi0lZ2xvYmFsIG5vZGVqc192ZXJzaW9uIHYxOS44LjEKKyVnbG9iYWwg bm9kZWpzX3ZlcnNpb24gdjIwLjYuMQogCiAjIHNldCB2ZXJzaW9uIGZvciBkZXZ0b29sc2V0IGFu ZCBnY2MtdG9vbHNldAogJWdsb2JhbCBkdHNfdmVyc2lvbiAxMgpAQCAtMjM1LDcgKzIzNSw3IEBA CiAlZW5kaWYKIAogTmFtZToJY2hyb21pdW0le2Nocm9taXVtX2NoYW5uZWx9Ci1WZXJzaW9uOiAx MTYuMC41ODQ1LjE4NworVmVyc2lvbjogMTE3LjAuNTkzOC42MgogUmVsZWFzZTogMSV7P2Rpc3R9 CiBTdW1tYXJ5OiBBIFdlYktpdCAoQmxpbmspIHBvd2VyZWQgd2ViIGJyb3dzZXIgdGhhdCBHb29n bGUgZG9lc24ndCB3YW50IHlvdSB0byB1c2UKIFVybDogaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcv SG9tZQpAQCAtMjU3LDcgKzI1Nyw3IEBAIFBhdGNoNTogY2hyb21pdW0tNzcuMC4zODY1Ljc1LW5v LXpsaWItbWFuZ2xlLnBhdGNoCiBQYXRjaDY6IGNocm9taXVtLTExNS1ub3Jhci5wYXRjaAogCiAj IFRyeSB0byBsb2FkIHdpZGV2aW5lIGZyb20gb3RoZXIgcGxhY2VzCi1QYXRjaDg6IGNocm9taXVt LTEwOC13aWRldmluZS1vdGhlci1sb2NhdGlvbnMucGF0Y2gKK1BhdGNoODogY2hyb21pdW0tMTE3 LXdpZGV2aW5lLW90aGVyLWxvY2F0aW9ucy5wYXRjaAogCiAjIFRlbGwgYm9vdHN0cmFwLnB5IHRv IGFsd2F5cyB1c2UgdGhlIHZlcnNpb24gb2YgUHl0aG9uIHdlIHNwZWNpZnkKIFBhdGNoMTE6IGNo cm9taXVtLTkzLjAuNDU3Ny42My1weTMtYm9vdHN0cmFwLnBhdGNoCkBAIC0zMzQsNyArMzM0LDcg QEAgUGF0Y2gxMTY6IGNocm9taXVtLTExMi1mZm1wZWctZmlyc3RfZHRzLnBhdGNoCiAjIHJldmVy dCBuZXctY2hhbm5lbC1sYXlvdXQtYXBpIG9uIGYzNiwgb2xkIGZmbXBlZy1mcmVlCiBQYXRjaDEx NzogY2hyb21pdW0tMTA4LWZmbXBlZy1yZXZlcnQtbmV3LWNoYW5uZWwtbGF5b3V0LWFwaS5wYXRj aAogCi0jIHJldmVydCBBVjEgVkEtQVBJIHZpZGVvIGVuY29kZSBkdWUgdG8gb2xkIGxpYnZhIG9u IGVsOQorIyByZXZlcnQgQVYxIFZBQVBJIHZpZGVvIGVuY29kZSBkdWUgdG8gb2xkIGxpYnZhIG9u IGVsOQogUGF0Y2gxMzA6IGNocm9taXVtLTExNC1yZXZlcnQtYXYxZW5jLWVsOS5wYXRjaAogCiAj IGNvbXBpbGVyIGJ1aWxkIGVycm9ycwpAQCAtMzQyLDEzICszNDIsMTMgQEAgUGF0Y2gzMDA6IGNo cm9taXVtLTExNi1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaAogUGF0Y2gzMDE6IGNocm9t aXVtLTExNS1jb21waWxlci1Ta0NvbG9yNGYucGF0Y2gKIAogIyB3b3JrYXJvdW5kIGZvciBjbGFu ZyBidWcsIGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9pc3N1ZXMvNTc4MjYK LVBhdGNoMzAyOiBjaHJvbWl1bS0xMTUtd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9i aW5kaW5nLnBhdGNoCitQYXRjaDMwMjogY2hyb21pdW0tMTE3LXdvcmthcm91bmRfY2xhbmdfYnVn LXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaAogCiAjIG1pc3NpbmcgdHlwZW5hbWUKIFBhdGNoMzAz OiBjaHJvbWl1bS0xMTYtdHlwZW5hbWUucGF0Y2gKIAogIyBtaXNzaW5nIGluY2x1ZGUgaGVhZGVy IGZpbGVzCi1QYXRjaDMwNDogY2hyb21pdW0tMTE2LW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNo CitQYXRjaDMwNDogY2hyb21pdW0tMTE3LW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCiAKICMg Y29tcGlsZXIgZXJyb3Igd2l0aCBjKysyMAogUGF0Y2gzMDY6IGNocm9taXVtLTExNi1lbXBsYWNl X2JhY2tfb25fdmVjdG9yLWMrKzIwLnBhdGNoCkBAIC0zNTgsMjkgKzM1OCwxNyBAQCBQYXRjaDMw NjogY2hyb21pdW0tMTE2LWVtcGxhY2VfYmFja19vbl92ZWN0b3ItYysrMjAucGF0Y2gKICMgZXJy b3I6IGZhdGFsIGVycm9yOiAnc3lzL2lmdW5jLmgnIGZpbGUgbm90IGZvdW5kCiBQYXRjaDMwNzog Y2hyb21pdW0tMTE2LWFybTY0LW1lbW9yeV90YWdnaW5nLnBhdGNoCiAKLSMgdXBzdHJlYW0sIGRv IG5vdCByZXN0cmljdCBuZXcgVjRMMiBkZWNvZGVycyB0byBBUk0gb3IgQ2hyb21lT1MgCi0jIGVy cm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdrVjRMMkZsYXRTdGF0ZWZ1bFZpZGVv RGVjb2RlcicKLSMgZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2tWNEwyRmxh dFN0YXRlbGVzc1ZpZGVvRGVjb2RlcicKLVBhdGNoMzA4OiBjaHJvbWl1bS0xMTUtZG9fbm90X3Jl c3RyaWN0X25ld19WNEwyX2RlY29kZXJzLnY0bDIucGFjaAotCi0jIHVwc3RyZWFtLCBpbmNsdWRl IGNvbnRhaW5zLmggaGVhZGVyIGZvciBWNEwyU3RhdGVmdWxWaWRlb0RlY29kZXIKLSMgZXJyb3I6 IG5vIG1lbWJlciBuYW1lZCAnQ29udGFpbnMnIGluIG5hbWVzcGFjZSAnYmFzZScKLVBhdGNoMzA5 OiBjaHJvbWl1bS0xMTUtaW5jbHVkZV9jb250YWluc19oX2hlYWRlcl9mb3JfVjRMMlN0YXRlZnVs VmlkZW9EZWNvZGVyLnBhdGNoCi0KICMgY2xhbmcgd2FybmluZ3MKIFBhdGNoMzExOiBjaHJvbWl1 bS0xMTUtY2xhbmctd2FybmluZ3MucGF0Y2gKIAogIyBpbXAgbW9kdWxlIGlzIHJlbW92ZWQgaW4g cHl0aG9uLTMuMTIKLVBhdGNoMzEyOiBjaHJvbWl1bS0xMTUtcHl0aG9uLTMuMTItZGVwcmVjYXRl ZC5wYXRjaAorUGF0Y2gzMTI6IGNocm9taXVtLTExNy1weXRob24tMy4xMi1kZXByZWNhdGVkLnBh dGNoCiAKLSMgdXBzdHJlYW0gcGF0Y2hlcwotIyBTZXQgdG9vbGtpdCBkYXJrIHByZWZlcmVuY2Ug YmFzZWQgb24gRkRPIGRhcmsgcHJlZmVyZW5jZQotUGF0Y2gzNTA6IGNocm9taXVtLTExNS1saW51 eF91aV9kYXJrbW9kZS5wYXRjaAogIyBUd2VhayBhYm91dDpncHUsIEFkZCBkYXJrIG1vZGUgc3Vw cG9ydAogUGF0Y2gzNTE6IGNocm9taXVtLTExNi10d2Vha19hYm91dF9ncHUucGF0Y2gKLSMgR3Vh cmQgdGhlIGZpZWxkIGFzc2lnbm1lbnQgbnVtX2RlbHRhX3BvY3Nfb2ZfcmVmX3Jwc19pZHggYXMg aXQgaXMgbm90IHN1cHBvcnRlZAotIyBpbiBmZWRvcmEgPCAzOQotUGF0Y2gzNTI6IGNocm9taXVt LTExNi12NGwyLW51bV9kZWx0YV9wb2NzX29mX3JlZl9ycHNfaWR4LnBhdGNoCisKKyMgYnVpbGQg ZXJyb3IKK1BhdGNoMzUyOiBjaHJvbWl1bS0xMTctbW5lbW9uaWMtZXJyb3IucGF0Y2gKIAogIyBV c2UgY2hyb21pdW0tbGF0ZXN0LnB5IHRvIGdlbmVyYXRlIGNsZWFuIHRhcmJhbGwgZnJvbSByZWxl YXNlZCBidWlsZCB0YXJiYWxscywgZm91bmQgaGVyZToKICMgaHR0cDovL2J1aWxkLmNocm9taXVt Lm9yZy9idWlsZGJvdC9vZmZpY2lhbC8KQEAgLTk3MywyNiArOTYxLDE2IEBAIHVkZXYuCiAlZW5k aWYKICVlbmRpZgogCi0lcGF0Y2ggLVAzMDggLXAxIC1iIC5kb19ub3RfcmVzdHJpY3RfbmV3X1Y0 TDJfZGVjb2RlcnMudjRsMgotJXBhdGNoIC1QMzA5IC1wMSAtYiAuaW5jbHVkZV9jb250YWluc19o X2hlYWRlcl9mb3JfVjRMMlN0YXRlZnVsVmlkZW9EZWNvZGVyCiAlcGF0Y2ggLVAzMTEgLXAxIC1i IC5jbGFuZy13YXJuaW5ncwogJXBhdGNoIC1QMzEyIC1wMSAtYiAucHl0aG9uLTMuMTItZGVwcmVj YXRlZAogCi0lcGF0Y2ggLVAzNTAgLXAxIC1iIC5saW51eF91aV9kYXJrbW9kZQogJXBhdGNoIC1Q MzUxIC1wMSAtYiAudHdlYWtfYWJvdXRfZ3B1Ci0KLSVpZmFyY2ggYWFyY2g2NAotJWlmIDAlez9m ZWRvcmF9IDwgMzkKLSVwYXRjaCAtUDM1MiAtcDEgLWIgLm51bV9kZWx0YV9wb2NzX29mX3JlZl9y cHNfaWR4Ci0lZW5kaWYgCi0lZW5kaWYKLQorJXBhdGNoIC1QMzUyIC1wMSAtYiAubW5lbW9uaWMt ZXJyb3IKIAogIyBDaGFuZ2Ugc2hlYmFuZyBpbiBhbGwgcmVsZXZhbnQgZmlsZXMgaW4gdGhpcyBk aXJlY3RvcnkgYW5kIGFsbCBzdWJkaXJlY3RvcmllcwogIyBTZWUgYG1hbiBmaW5kYCBmb3IgaG93 IHRoZSBgLWV4ZWMgY29tbWFuZCB7fSArYCBzeW50YXggd29ya3MKIGZpbmQgLXR5cGUgZiBcKCAt aW5hbWUgIioucHkiIFwpIC1leGVjIHNlZCAtaSAnMXM9XiMhICovdXNyL2Jpbi9cKHB5dGhvblx8 ZW52IHB5dGhvblwpWzIzXVw/PSMhJXtfX3B5dGhvbjN9PScge30gKwogCi0KICVpZiAwJXs/cmhl bH0gPT0gOAogICBwdXNoZCB0aGlyZF9wYXJ0eS9ub2RlL2xpbnV4CiAlaWZhcmNoIHg4Nl82NApA QCAtMTY2OCw2ICsxNjQ2LDkgQEAgZ2V0ZW50IGdyb3VwIGNocm9tZS1yZW1vdGUtZGVza3RvcCA+ L2Rldi9udWxsIHx8IGdyb3VwYWRkIC1yIGNocm9tZS1yZW1vdGUtZGVza3QKICV7Y2hyb21pdW1f cGF0aH0vY2hyb21lZHJpdmVyCiAKICVjaGFuZ2Vsb2cKKyogV2VkIFNlcCAxMyAyMDIzIFRoYW4g TmdvIDx0aGFuQHJlZGhhdC5jb20+IC0gMTE3LjAuNTkzOC42Mi0xCistIHVwZGF0ZSB0byAxMTcu MC41OTM4LjYyCisKICogVHVlIFNlcCAxMiAyMDIzIFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+ IC0gMTE2LjAuNTg0NS4xODctMQogLSB1cGRhdGUgdG8gMTE2LjAuNTg0NS4xODcKIAoKZGlmZiAt LWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDc0M2U2ZWYuLjVhYjkxNWMgMTAwNjQ0Ci0t LSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxLDMgQEAKLVNIQTUxMiAobm9kZS12 MTkuOC4xLWxpbnV4LWFybTY0LnRhci54eikgPSA4NmZmMTkwODU2NjllOTJjZTdhZmUyZmQ3ZDRk ZjBjNTQ0MWRmMmQ4OGMwMGYyOWQ1NDYzYjgwNWYzY2Y1NjI1NjI2ZGI4YWViZjk4MzQ5YzlhNDk1 Yjc3MmRhMWNlNmQ2ODI2MzczMDAxODIwN2VhOTg4MTUwNThhMWM4MTM5NwotU0hBNTEyIChub2Rl LXYxOS44LjEtbGludXgteDY0LnRhci54eikgPSA5MjVjMDAzN2M2YjcwNzRkMGIwMjQ1YmNlZDIw ZDBhMGQ5YjEzMDBmNTNiODA4MTA2ZjE2YjUwMThkNzYzZjVmNWIwMGJjMzIxYjMzZmExMDMzZDcz NmIxZTEwNzY2MDhkYTliN2ZjYWU2NmFlZDUzZDI3YjEwMGIxMTg2ZTJjNgotU0hBNTEyIChjaHJv bWl1bS0xMTYuMC41ODQ1LjE4Ny1jbGVhbi50YXIueHopID0gZjg0Y2ExZmY2N2ViMmE4YmM1ZDdi ZGRjZmVhYzMxYjlhNzRhNTY3YTM3MGIyZDFhNTdmZjYyYjBkMjkxOTFmNDMzOTllMGQ2MjY4NWVk OTBhOGI4MzAxMWM2NzdjMjM2ZGFkMjIzZmFlZDRhN2M2ZTQxMzdmZjQzZjE3ZTQyMmEKK1NIQTUx MiAoY2hyb21pdW0tMTE3LjAuNTkzOC42Mi1jbGVhbi50YXIueHopID0gYTcxNjU0NzMyNDQ5ZjEw MTUxOGMzNGU5MmRhMTEzNmZkNjhmYTJjNDI4ZDA0MmNmMDAxNjhjM2FhNjA5NmVhZjJmMjE5MDRk Mzk4ZTc1MmE3ZDQ4MmVkOWVkYTVlYTFlNzdlYmEwZjczNzg5MzczNDA3ZDJiYTNmOWU0ZmJhZTUK K1NIQTUxMiAobm9kZS12MjAuNi4xLWxpbnV4LWFybTY0LnRhci54eikgPSBhZGZjYWYyYzIyNjE0 Nzk3ZmQ2OWZiNDZkOTRjMWNiZjY0ZGVhMDIxM2NjODE3YzQ1ZDM5MDRiNjM0ZGJmMWY0ZTYyZTRl YmQ5NWJmYTRiYTBhOWM1NTk3NDdkNDIxMTU0MDZlZGM0NzFhZjI5NDMzNDE2MGJhNmUxMDNlMzFk MAorU0hBNTEyIChub2RlLXYyMC42LjEtbGludXgteDY0LnRhci54eikgPSA3ZTE1YzA1MDQxYTlh NTBmMDA0NjI2NmFhZGIyZTA5MmE1YWVmYmVjMTliZTFjN2M4MDk0NzFhZGQ1MjBjYjU3YzdkZjNj NDdkODhiMTg4OGIyOWJmMjk3OWRjYTNjOTJhZGRkZmQ5NjUzNzBmYTJhOWRhNGVhMDIxODY0NjRm ZAo=