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: Rex Dieter To: git-commits@fedoraproject.org Subject: [rpms/amarok] epel10: - BR: taglib-devel >= 1.6, taglib-extras-devel >= 1.0 Date: Mon, 06 Jul 2026 18:04:17 GMT Message-ID: <178336105793.1.16247636045539713237.rpms-amarok-ff7fee362e11@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10 X-Git-Rev: ff7fee362e11405e9618f9e4812639b380da2d07 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMApDb21taXQgOiBmZjdmZWUzNjJlMTE0MDVlOTYxOGY5ZTQ4MTI2MzliMzgwZGEy ZDA3CkF1dGhvciA6IFJleCBEaWV0ZXIgPHJkaWV0ZXJAZmVkb3JhcHJvamVjdC5vcmc+CkRhdGUg ICA6IDIwMDktMDktMTdUMTk6MDM6MzcrMDA6MDAKU3RhdHMgIDogKzY4Mi8tMyBpbiAyIGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9hbWFyb2svYy9m ZjdmZWUzNjJlMTE0MDVlOTYxOGY5ZTQ4MTI2MzliMzgwZGEyZDA3P2JyYW5jaD1lcGVsMTAKCkxv ZzoKLSBCUjogdGFnbGliLWRldmVsID49IDEuNiwgdGFnbGliLWV4dHJhcy1kZXZlbCA+PSAxLjAK Ci0tLQpkaWZmIC0tZ2l0IGEvYW1hcm9rLXRhZ2xpYi5wYXRjaCBiL2FtYXJvay10YWdsaWIucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU1OTZkNQotLS0gL2Rldi9u dWxsCisrKyBiL2FtYXJvay10YWdsaWIucGF0Y2gKQEAgLTAsMCArMSw2NzMgQEAKKyMgZ2l0IGRp ZmYgM2VlMGVmNzBjMGM5ZDVkZTk4MjA5MWUzNTM4MDRjOTkwYzM1ZWE0ZQorZGlmZiAtLWdpdCBh L0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDgyMTliYzYuLmU0YjZiOTQg MTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0x MywxMCArMTMsMTAgQEAgb3B0aW9uKFdJVEhfSVBPRCAiRW5hYmxlIGlQb2Qgc3VwcG9ydCBpbiBB bWFyb2siIE9OKQorIGluY2x1ZGUoQ2hlY2tMaWJyYXJ5RXhpc3RzKQorIGNoZWNrX2xpYnJhcnlf ZXhpc3RzKGRsIGRsb3BlbiAiIiBMSUJETF9GT1VORCkKKyAKKy1zZXQoVEFHTElCX01JTl9WRVJT SU9OICIxLjUiKQorK3NldChUQUdMSUJfTUlOX1ZFUlNJT04gIjEuNiIpCisgZmluZF9wYWNrYWdl KFRhZ2xpYiBSRVFVSVJFRCkKKyAKKy1maW5kX3BhY2thZ2UoVGFnbGliLUV4dHJhcyAwLjEgUkVR VUlSRUQpCisrZmluZF9wYWNrYWdlKFRhZ2xpYi1FeHRyYXMgMS4wIFJFUVVJUkVEKQorIGlmKCBU QUdMSUItRVhUUkFTX0ZPVU5EICkKKyAgICAgYWRkX2RlZmluaXRpb25zKCAtRFRBR0xJQl9FWFRS QVNfRk9VTkQgKQorIGVuZGlmKCBUQUdMSUItRVhUUkFTX0ZPVU5EICkKK2RpZmYgLS1naXQgYS9z aGFyZWQvTWV0YVJlcGxheUdhaW4uY3BwIGIvc2hhcmVkL01ldGFSZXBsYXlHYWluLmNwcAoraW5k ZXggZDZlZGQ5NS4uOTcwNzNkNSAxMDA2NDQKKy0tLSBhL3NoYXJlZC9NZXRhUmVwbGF5R2Fpbi5j cHAKKysrKyBiL3NoYXJlZC9NZXRhUmVwbGF5R2Fpbi5jcHAKK0BAIC0zOCwxMCArMzgsOCBAQAor ICNpbmNsdWRlIDx0cnVlYXVkaW9maWxlLmg+CisgI2luY2x1ZGUgPHZvcmJpc2ZpbGUuaD4KKyAj aW5jbHVkZSA8d2F2cGFja2ZpbGUuaD4KKy0jaWZkZWYgVEFHTElCX0VYVFJBU19GT1VORAorICNp bmNsdWRlIDxhc2ZmaWxlLmg+CisgI2luY2x1ZGUgPG1wNGZpbGUuaD4KKy0jZW5kaWYKKyAKKyAv LyBjb252ZXJ0cyBhIHBlYWsgdmFsdWUgZnJvbSB0aGUgbm9ybWFsIGRpZ2l0YWwgc2NhbGUgZm9y bSB0byB0aGUgbW9yZSB1c2VmdWwgZGVjaWJlbCBmb3JtCisgLy8gZGVjaWJlbHMgYXJlIHJlbGF0 aXZlIHRvIHRoZSAvYWRqdXN0ZWQvIHdhdmVmb3JtCitAQCAtMjI5LDcgKzIyNyw2IEBAIHN0YXRp YyBNZXRhOjpSZXBsYXlHYWluVGFnTWFwIHJlYWRYaXBoVGFncyggVGFnTGliOjpPZ2c6OlhpcGhD b21tZW50ICp0YWcgKQorICAgICByZXR1cm4gb3V0cHV0TWFwOworIH0KKyAKKy0jaWZkZWYgVEFH TElCX0VYVFJBU19GT1VORAorIHN0YXRpYyBNZXRhOjpSZXBsYXlHYWluVGFnTWFwIHJlYWRBU0ZU YWdzKCBUYWdMaWI6OkFTRjo6VGFnICp0YWcgKQorIHsKKyAgICAgY29uc3QgVGFnTGliOjpBU0Y6 OkF0dHJpYnV0ZUxpc3RNYXAgJnRhZ01hcCA9IHRhZy0+YXR0cmlidXRlTGlzdE1hcCgpOworQEAg LTI1MSw3ICsyNDgsNiBAQCBzdGF0aWMgTWV0YTo6UmVwbGF5R2FpblRhZ01hcCByZWFkQVNGVGFn cyggVGFnTGliOjpBU0Y6OlRhZyAqdGFnICkKKyAKKyAgICAgcmV0dXJuIG91dHB1dE1hcDsKKyB9 CistI2VuZGlmCisgLy8gQmFkIG5ld3M6IFJlcGxheUdhaW4gaW4gTVA0IGlzIG5vdCBhY3R1YWxs eSBzdGFuZGFyZGl6ZWQgaW4gYW55IHdheS4gIE1heWJlIHJlaW1wbGVtZW50IGF0IHNvbWUgcG9p bnQuLi5tYXliZS4gIFNlZQorIC8vIGh0dHA6Ly93d3cuaHlkcm9nZW5hdWRpby5vcmcvZm9ydW1z L2xvZml2ZXJzaW9uL2luZGV4LnBocC90MTQzMjIuaHRtbAorICNpZmRlZiBET19OT1RfVVNFX1RI SVNfVU5USUxfRklYRUQKK0BAIC0zMzIsMTMgKzMyOCwxMSBAQCBNZXRhOjpyZWFkUmVwbGF5R2Fp blRhZ3MoIFRhZ0xpYjo6RmlsZVJlZiBmaWxlcmVmICkKKyAgICAgICAgIGlmICggZmlsZS0+QVBF VGFnKCkgKQorICAgICAgICAgICAgIG1hcCA9IHJlYWRBUEVUYWdzKCBmaWxlLT5BUEVUYWcoKSAp OworICAgICB9CistI2lmZGVmIFRBR0xJQl9FWFRSQVNfRk9VTkQKKyAgICAgZWxzZSBpZiAoIFRh Z0xpYjo6QVNGOjpGaWxlICpmaWxlID0gZHluYW1pY19jYXN0PFRhZ0xpYjo6QVNGOjpGaWxlICo+ KCBmaWxlcmVmLmZpbGUoKSApICkKKyAgICAgeworICAgICAgICAgaWYgKCBmaWxlLT50YWcoKSAp CisgICAgICAgICAgICAgbWFwID0gcmVhZEFTRlRhZ3MoIGZpbGUtPnRhZygpICk7CisgICAgIH0K Ky0jZW5kaWYKKyAvLyBTZWUgY29tbWVudCBhYm92ZQorICNpZmRlZiBET19OT1RfVVNFX1RISVNf VU5USUxfRklYRUQKKyAgICAgZWxzZSBpZiAoIFRhZ0xpYjo6TVA0OjpGaWxlICpmaWxlID0gZHlu YW1pY19jYXN0PFRhZ0xpYjo6TVA0OjpGaWxlICo+KCBmaWxlcmVmLmZpbGUoKSApICkKK2RpZmYg LS1naXQgYS9zcmMvQXBwLmNwcCBiL3NyYy9BcHAuY3BwCitpbmRleCBiZDAxNTE3Li42MzdhMGFk IDEwMDY0NAorLS0tIGEvc3JjL0FwcC5jcHAKKysrKyBiL3NyYy9BcHAuY3BwCitAQCAtNzAsMTAg KzcwLDcgQEAKKyAKKyAjaWZkZWYgVEFHTElCX0VYVFJBU19GT1VORAorICNpbmNsdWRlIDxhdWRp YmxlZmlsZXR5cGVyZXNvbHZlci5oPgorLSNpbmNsdWRlIDxhc2ZmaWxldHlwZXJlc29sdmVyLmg+ CistI2luY2x1ZGUgPHdhdmZpbGV0eXBlcmVzb2x2ZXIuaD4KKyAjaW5jbHVkZSA8cmVhbG1lZGlh ZmlsZXR5cGVyZXNvbHZlci5oPgorLSNpbmNsdWRlIDxtcDRmaWxldHlwZXJlc29sdmVyLmg+Cisg I2VuZGlmCisgCisgUU11dGV4IERlYnVnOjptdXRleDsKK0BAIC0xNDMsMTEgKzE0MCw4IEBAIEFw cDo6QXBwKCkKKyAKKyAjaWZkZWYgVEFHTElCX0VYVFJBU19GT1VORAorICAgICBQRVJGX0xPRygg IlJlZ2lzdGVyaW5nIHRhZ2xpYiBwbHVnaW5zIiApCistICAgIFRhZ0xpYjo6RmlsZVJlZjo6YWRk RmlsZVR5cGVSZXNvbHZlcihuZXcgTVA0RmlsZVR5cGVSZXNvbHZlcik7CistICAgIFRhZ0xpYjo6 RmlsZVJlZjo6YWRkRmlsZVR5cGVSZXNvbHZlcihuZXcgQVNGRmlsZVR5cGVSZXNvbHZlcik7Cisg ICAgIFRhZ0xpYjo6RmlsZVJlZjo6YWRkRmlsZVR5cGVSZXNvbHZlcihuZXcgUmVhbE1lZGlhRmls ZVR5cGVSZXNvbHZlcik7CisgICAgIFRhZ0xpYjo6RmlsZVJlZjo6YWRkRmlsZVR5cGVSZXNvbHZl cihuZXcgQXVkaWJsZUZpbGVUeXBlUmVzb2x2ZXIpOworLSAgICBUYWdMaWI6OkZpbGVSZWY6OmFk ZEZpbGVUeXBlUmVzb2x2ZXIobmV3IFdhdkZpbGVUeXBlUmVzb2x2ZXIpOworICAgICBQRVJGX0xP RyggIkRvbmUgUmVnaXN0ZXJpbmcgdGFnbGliIHBsdWdpbnMiICkKKyAjZW5kaWYKKyAKK2RpZmYg LS1naXQgYS9zcmMvbWV0YS9NZXRhVXRpbGl0eS5jcHAgYi9zcmMvbWV0YS9NZXRhVXRpbGl0eS5j cHAKK2luZGV4IGI3OGVmOTIuLjMxNGRiNTcgMTAwNjQ0CistLS0gYS9zcmMvbWV0YS9NZXRhVXRp bGl0eS5jcHAKKysrKyBiL3NyYy9tZXRhL01ldGFVdGlsaXR5LmNwcAorQEAgLTQxLDEyICs0MSwx MCBAQAorICNpbmNsdWRlIDx2b3JiaXNmaWxlLmg+CisgI2luY2x1ZGUgPHRleHRpZGVudGlmaWNh dGlvbmZyYW1lLmg+CisgI2luY2x1ZGUgPHhpcGhjb21tZW50Lmg+CistI2lmZGVmIFRBR0xJQl9F WFRSQVNfRk9VTkQKKyAjaW5jbHVkZSA8bXA0ZmlsZS5oPgorICNpbmNsdWRlIDxtcDRpdGVtLmg+ CisgI2luY2x1ZGUgPG1wNHRhZy5oPgorICNpbmNsdWRlIDxhc2Z0YWcuaD4KKy0jZW5kaWYKKyAK KyAgICAgICAgIHN0YXRpYyBjb25zdCBRU3RyaW5nIFhFU0FNX0FMQlVNICAgICAgICAgID0gImh0 dHA6Ly9mcmVlZGVza3RvcC5vcmcvc3RhbmRhcmRzL3hlc2FtLzEuMC9jb3JlI2FsYnVtIjsKKyAg ICAgICAgIHN0YXRpYyBjb25zdCBRU3RyaW5nIFhFU0FNX0FSVElTVCAgICAgICAgID0gImh0dHA6 Ly9mcmVlZGVza3RvcC5vcmcvc3RhbmRhcmRzL3hlc2FtLzEuMC9jb3JlI2FydGlzdCI7CitAQCAt MzIwLDcgKzMxOCw2IEBAIE1ldGE6OkZpZWxkOjp3cml0ZUZpZWxkcyggVGFnTGliOjpGaWxlUmVm IGZpbGVyZWYsIGNvbnN0IFFWYXJpYW50TWFwICZjaGFuZ2VzICkKKyAgICAgICAgICAgICBmaWxl LT54aXBoQ29tbWVudCgpLT5hZGRGaWVsZCgiRElTQ05VTUJFUiIsIGRpc2MpOworICAgICAgICAg fQorICAgICB9CistI2lmZGVmIFRBR0xJQl9FWFRSQVNfRk9VTkQKKyAgICAgZWxzZSBpZiAoIFRh Z0xpYjo6TVA0OjpGaWxlICpmaWxlID0gZHluYW1pY19jYXN0PFRhZ0xpYjo6TVA0OjpGaWxlICo+ KCBmaWxlcmVmLmZpbGUoKSApICkKKyAgICAgeworICAgICAgICAgaWYoIGNoYW5nZXMuY29udGFp bnMoIE1ldGE6OkZpZWxkOjpDT01QT1NFUiApICkKK0BAIC0zMzgsNyArMzM1LDYgQEAgTWV0YTo6 RmllbGQ6OndyaXRlRmllbGRzKCBUYWdMaWI6OkZpbGVSZWYgZmlsZXJlZiwgY29uc3QgUVZhcmlh bnRNYXAgJmNoYW5nZXMgKQorICAgICAgICAgICAgIG1wNHRhZy0+aXRlbUxpc3RNYXAoKVsiZGlz ayJdID0gVGFnTGliOjpNUDQ6Okl0ZW0oIGRpc2NudW1iZXIsIDAgKTsKKyAgICAgICAgIH0KKyAg ICAgfQorLSNlbmRpZgorICAgICBpZiggc2hvdWxkU2F2ZSApCisgICAgICAgICBmaWxlcmVmLnNh dmUoKTsKKyB9CitkaWZmIC0tZ2l0IGEvc3JjL21ldGEvZmlsZS9GaWxlX3AuaCBiL3NyYy9tZXRh L2ZpbGUvRmlsZV9wLmgKK2luZGV4IDU3YzUxOTUuLmY5ZTlkYWYgMTAwNjQ0CistLS0gYS9zcmMv bWV0YS9maWxlL0ZpbGVfcC5oCisrKysgYi9zcmMvbWV0YS9maWxlL0ZpbGVfcC5oCitAQCAtNTAs MTAgKzUwLDcgQEAKKyAjaW5jbHVkZSA8dGxpc3QuaD4KKyAjaW5jbHVkZSA8dHN0cmluZy5oPgor ICNpbmNsdWRlIDx2b3JiaXNmaWxlLmg+CistCistI2lmZGVmIFRBR0xJQl9FWFRSQVNfRk9VTkQK KyAjaW5jbHVkZSA8bXA0ZmlsZS5oPgorLSNlbmRpZgorIAorIG5hbWVzcGFjZSBNZXRhRmlsZQor IHsKK0BAIC0yODMsNyArMjgwLDYgQEAgdm9pZCBUcmFjazo6UHJpdmF0ZTo6cmVhZE1ldGFEYXRh KCkKKyAgICAgICAgICAgICAgICAgZGlzYyA9IHN0cmlwKCBmbG1bICJESVNDTlVNQkVSIiBdLmZy b250KCkgKTsKKyAgICAgICAgIH0KKyAgICAgfQorLSNpZmRlZiBUQUdMSUJfRVhUUkFTX0ZPVU5E CisgICAgIGVsc2UgaWYoIFRhZ0xpYjo6TVA0OjpGaWxlICpmaWxlID0gZHluYW1pY19jYXN0PFRh Z0xpYjo6TVA0OjpGaWxlICo+KCBmaWxlUmVmLmZpbGUoKSApICkKKyAgICAgeworICAgICAgICAg VGFnTGliOjpNUDQ6OlRhZyAqbXA0dGFnID0gZHluYW1pY19jYXN0PCBUYWdMaWI6Ok1QNDo6VGFn ICo+KCBmaWxlLT50YWcoKSApOworQEAgLTI5Niw3ICsyOTIsNiBAQCB2b2lkIFRyYWNrOjpQcml2 YXRlOjpyZWFkTWV0YURhdGEoKQorICAgICAgICAgICAgICAgICBkaXNjID0gUVN0cmluZzo6bnVt YmVyKCBtcDR0YWctPml0ZW1MaXN0TWFwKClbImRpc2siXS50b0ludFBhaXIoKS5maXJzdCApOwor ICAgICAgICAgfQorICAgICB9CistI2VuZGlmCisgICAgIGlmKCAhZGlzYy5pc0VtcHR5KCkgKQor ICAgICB7CisgICAgICAgICBpbnQgaSA9IGRpc2MuaW5kZXhPZiggJy8nICk7CitkaWZmIC0tZ2l0 IGEvc3JjL3BvZGNhc3RzL3NxbC9TcWxQb2RjYXN0TWV0YS5jcHAgYi9zcmMvcG9kY2FzdHMvc3Fs L1NxbFBvZGNhc3RNZXRhLmNwcAoraW5kZXggOGI1YTk2Yi4uNGY4MmViMCAxMDA2NDQKKy0tLSBh L3NyYy9wb2RjYXN0cy9zcWwvU3FsUG9kY2FzdE1ldGEuY3BwCisrKysgYi9zcmMvcG9kY2FzdHMv c3FsL1NxbFBvZGNhc3RNZXRhLmNwcAorQEAgLTQyLDEwICs0Miw3IEBACisgI2luY2x1ZGUgPHRs aXN0Lmg+CisgI2luY2x1ZGUgPHRzdHJpbmcuaD4KKyAjaW5jbHVkZSA8dm9yYmlzZmlsZS5oPgor LQorLSNpZmRlZiBUQUdMSUJfRVhUUkFTX0ZPVU5ECisgI2luY2x1ZGUgPG1wNGZpbGUuaD4KKy0j ZW5kaWYKKyAKKyBjbGFzcyBUaW1lY29kZVdyaXRlQ2FwYWJpbGl0eVBvZGNhc3RJbXBsIDogcHVi bGljIE1ldGE6OlRpbWVjb2RlV3JpdGVDYXBhYmlsaXR5CisgeworZGlmZiAtLWdpdCBhL3V0aWxp dGllcy9jb2xsZWN0aW9uc2Nhbm5lci9BRlRVdGlsaXR5LmNwcCBiL3V0aWxpdGllcy9jb2xsZWN0 aW9uc2Nhbm5lci9BRlRVdGlsaXR5LmNwcAoraW5kZXggOTg1NTJjNS4uM2RjMDA5YiAxMDA2NDQK Ky0tLSBhL3V0aWxpdGllcy9jb2xsZWN0aW9uc2Nhbm5lci9BRlRVdGlsaXR5LmNwcAorKysrIGIv dXRpbGl0aWVzL2NvbGxlY3Rpb25zY2FubmVyL0FGVFV0aWxpdHkuY3BwCitAQCAtMjYsNiArMjYs OSBAQAorICNpbmNsdWRlIDxpZDN2MnRhZy5oPgorICNpbmNsdWRlIDxtcGNmaWxlLmg+CisgI2lu Y2x1ZGUgPG1wZWdmaWxlLmg+CisrI2luY2x1ZGUgPG1wNGl0ZW0uaD4KKysjaW5jbHVkZSA8bXA0 ZmlsZS5oPgorKyNpbmNsdWRlIDxtcDR0YWcuaD4KKyAjaW5jbHVkZSA8b2dnZmlsZS5oPgorICNp bmNsdWRlIDxvZ2dmbGFjZmlsZS5oPgorICNpbmNsdWRlIDxzcGVleGZpbGUuaD4KK0BAIC0zNSwx NyArMzgsNiBAQAorICNpbmNsdWRlIDx2b3JiaXNmaWxlLmg+CisgI2luY2x1ZGUgPHhpcGhjb21t ZW50Lmg+CisgCistI2lmZGVmIFRBR0xJQl9FWFRSQVNfRk9VTkQKKy0jaW5jbHVkZSA8bXA0Zmls ZS5oPgorLSNpbmNsdWRlIDxtcDR0YWcuaD4KKy0jaW5jbHVkZSA8bXA0aXRlbS5oPgorLSNpbmNs dWRlIDxhdWRpYmxlZmlsZXR5cGVyZXNvbHZlci5oPgorLSNpbmNsdWRlIDxhc2ZmaWxldHlwZXJl c29sdmVyLmg+CistI2luY2x1ZGUgPHdhdmZpbGV0eXBlcmVzb2x2ZXIuaD4KKy0jaW5jbHVkZSA8 cmVhbG1lZGlhZmlsZXR5cGVyZXNvbHZlci5oPgorLSNpbmNsdWRlIDxtcDRmaWxldHlwZXJlc29s dmVyLmg+CistI2VuZGlmCistCisgI2luY2x1ZGUgPFFGaWxlPgorICNpbmNsdWRlIDxRVGltZT4K KyAKK2RpZmYgLS1naXQgYS91dGlsaXRpZXMvY29sbGVjdGlvbnNjYW5uZXIvQ29sbGVjdGlvblNj YW5uZXIuY3BwIGIvdXRpbGl0aWVzL2NvbGxlY3Rpb25zY2FubmVyL0NvbGxlY3Rpb25TY2FubmVy LmNwcAoraW5kZXggNjczYmUxYy4uYzNkOTYxZSAxMDA2NDQKKy0tLSBhL3V0aWxpdGllcy9jb2xs ZWN0aW9uc2Nhbm5lci9Db2xsZWN0aW9uU2Nhbm5lci5jcHAKKysrKyBiL3V0aWxpdGllcy9jb2xs ZWN0aW9uc2Nhbm5lci9Db2xsZWN0aW9uU2Nhbm5lci5jcHAKK0BAIC00OSw2ICs0OSw5IEBACisg I2luY2x1ZGUgPGZsYWNmaWxlLmg+CisgI2luY2x1ZGUgPGlkM3YxdGFnLmg+CisgI2luY2x1ZGUg PGlkM3YydGFnLmg+CisrI2luY2x1ZGUgPG1wNGZpbGUuaD4KKysjaW5jbHVkZSA8bXA0dGFnLmg+ CisrI2luY2x1ZGUgPG1wNGl0ZW0uaD4KKyAjaW5jbHVkZSA8bXBjZmlsZS5oPgorICNpbmNsdWRl IDxtcGVnZmlsZS5oPgorICNpbmNsdWRlIDxvZ2dmaWxlLmg+CitAQCAtNTksMTQgKzYyLDggQEAK KyAjaW5jbHVkZSA8dm9yYmlzZmlsZS5oPgorIAorICNpZmRlZiBUQUdMSUJfRVhUUkFTX0ZPVU5E CistI2luY2x1ZGUgPG1wNGZpbGUuaD4KKy0jaW5jbHVkZSA8bXA0dGFnLmg+CistI2luY2x1ZGUg PG1wNGl0ZW0uaD4KKyAjaW5jbHVkZSA8YXVkaWJsZWZpbGV0eXBlcmVzb2x2ZXIuaD4KKy0jaW5j bHVkZSA8YXNmZmlsZXR5cGVyZXNvbHZlci5oPgorLSNpbmNsdWRlIDx3YXZmaWxldHlwZXJlc29s dmVyLmg+CisgI2luY2x1ZGUgPHJlYWxtZWRpYWZpbGV0eXBlcmVzb2x2ZXIuaD4KKy0jaW5jbHVk ZSA8bXA0ZmlsZXR5cGVyZXNvbHZlci5oPgorICNlbmRpZgorIAorICNpbmNsdWRlIDx0ZXh0aWRl bnRpZmljYXRpb25mcmFtZS5oPgorQEAgLTEwMSwxMSArOTgsOCBAQCBDb2xsZWN0aW9uU2Nhbm5l cjo6Q29sbGVjdGlvblNjYW5uZXIoIGludCAmYXJnYywgY2hhciAqKmFyZ3YgKQorICAgICByZWFk QXJncygpOworIAorICNpZmRlZiBUQUdMSUJfRVhUUkFTX0ZPVU5ECistICAgIFRhZ0xpYjo6Rmls ZVJlZjo6YWRkRmlsZVR5cGVSZXNvbHZlcihuZXcgTVA0RmlsZVR5cGVSZXNvbHZlcik7CistICAg IFRhZ0xpYjo6RmlsZVJlZjo6YWRkRmlsZVR5cGVSZXNvbHZlcihuZXcgQVNGRmlsZVR5cGVSZXNv bHZlcik7CisgICAgIFRhZ0xpYjo6RmlsZVJlZjo6YWRkRmlsZVR5cGVSZXNvbHZlcihuZXcgUmVh bE1lZGlhRmlsZVR5cGVSZXNvbHZlcik7CisgICAgIFRhZ0xpYjo6RmlsZVJlZjo6YWRkRmlsZVR5 cGVSZXNvbHZlcihuZXcgQXVkaWJsZUZpbGVUeXBlUmVzb2x2ZXIpOworLSAgICBUYWdMaWI6OkZp bGVSZWY6OmFkZEZpbGVUeXBlUmVzb2x2ZXIobmV3IFdhdkZpbGVUeXBlUmVzb2x2ZXIpOworICNl bmRpZgorIAorICAgICBtX2xvZ2ZpbGUgPSAoIG1fYmF0Y2ggPyAoIG1faW5jcmVtZW50YWwgPyAi YW1hcm9rY29sbGVjdGlvbnNjYW5uZXJfYmF0Y2hpbmNyZW1lbnRhbHNjYW4ubG9nIiA6ICJhbWFy b2tjb2xsZWN0aW9uc2Nhbm5lcl9iYXRjaGZ1bGxzY2FuLmxvZyIgKQorQEAgLTY0NCw3ICs2Mzgs NiBAQCBDb2xsZWN0aW9uU2Nhbm5lcjo6cmVhZFRhZ3MoIGNvbnN0IFFTdHJpbmcgJnBhdGgsIFRh Z0xpYjo6QXVkaW9Qcm9wZXJ0aWVzOjpSZWFkUworIC8vICAgICAgICAgICAgIGlmICggaW1hZ2Vz ICYmIGZpbGUtPklEM3YyVGFnKCkgKQorIC8vICAgICAgICAgICAgICAgICBsb2FkSW1hZ2VzRnJv bVRhZyggKmZpbGUtPklEM3YyVGFnKCksICppbWFnZXMgKTsKKyAgICAgICAgIH0KKy0jaWZkZWYg VEFHTElCX0VYVFJBU19GT1VORAorICAgICAgICAgZWxzZSBpZiAoIFRhZ0xpYjo6TVA0OjpGaWxl ICpmaWxlID0gZHluYW1pY19jYXN0PFRhZ0xpYjo6TVA0OjpGaWxlICo+KCBmaWxlcmVmLmZpbGUo KSApICkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBmaWxlVHlwZSA9IG1wNDsKK0BAIC02Njcs NyArNjYwLDYgQEAgQ29sbGVjdGlvblNjYW5uZXI6OnJlYWRUYWdzKCBjb25zdCBRU3RyaW5nICZw YXRoLCBUYWdMaWI6OkF1ZGlvUHJvcGVydGllczo6UmVhZFMKKyAvLyAgICAgICAgICAgICAgICAg ICAgIGltYWdlcy0+cHVzaF9iYWNrKCBFbWJlZGRlZEltYWdlKCBtcDR0YWctPmNvdmVyKCksICIi ICkgKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CistI2VuZGlmCisgCisgICAgICAgICBp ZiAoICFkaXNjLmlzRW1wdHkoKSApCisgICAgICAgICB7CitkaWZmIC0tZ2l0IGEvdXRpbGl0aWVz L2NvbGxlY3Rpb25zY2FubmVyL01ldGFSZXBsYXlHYWluLmNwcCBiL3V0aWxpdGllcy9jb2xsZWN0 aW9uc2Nhbm5lci9NZXRhUmVwbGF5R2Fpbi5jcHAKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggOGU3ODljZi4uMDAwMDAwMAorLS0tIGEvdXRpbGl0aWVzL2NvbGxlY3Rpb25zY2FubmVy L01ldGFSZXBsYXlHYWluLmNwcAorKysrIC9kZXYvbnVsbAorQEAgLTEsMzU0ICswLDAgQEAKKy0v KgorLSAgIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1lcnJ5IDxhbGV4Lm1lcnJ5QGtkZW1haWwu bmV0PgorLQorLSAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKKy0gICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSAgIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCistICAgb2YgdGhlIExpY2Vuc2Us IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCistCistICAgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCist ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKy0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCistICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKy0KKy0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCistICAgRm91bmRhdGlvbiwgSW5j LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMw MSwgVVNBCistKi8KKy0KKy0vLyBOT1RFOiB0aGlzIGZpbGUgaXMgdXNlZCBieSBhbWFyb2tjb2xs ZWN0aW9uc2Nhbm5lciBhbmQgQ0FOTk9UIHVzZSBhbnkgYW1hcm9rbGliCistLy8gICAgICAgY29k ZSBbdGhpcyBpbmNsdWRlcyBkZWJ1ZygpXQorLQorLSNpbmNsdWRlICJNZXRhUmVwbGF5R2Fpbi5o IgorLQorLSNpbmNsdWRlIDxRU3RyaW5nPgorLSNpbmNsdWRlIDxjbWF0aD4KKy0KKy0vLyBUYWds aWIKKy0jaW5jbHVkZSA8dGFnLmg+CistI2luY2x1ZGUgPHRsaXN0Lmg+CistI2luY2x1ZGUgPHRz dHJpbmcuaD4KKy0jaW5jbHVkZSA8dGV4dGlkZW50aWZpY2F0aW9uZnJhbWUuaD4KKy0jaW5jbHVk ZSA8YXBldGFnLmg+CistI2luY2x1ZGUgPGZsYWNmaWxlLmg+CistI2luY2x1ZGUgPGlkM3YydGFn Lmg+CistI2luY2x1ZGUgPG1wY2ZpbGUuaD4KKy0jaW5jbHVkZSA8bXBlZ2ZpbGUuaD4KKy0jaW5j bHVkZSA8b2dnZmlsZS5oPgorLSNpbmNsdWRlIDxvZ2dmbGFjZmlsZS5oPgorLSNpbmNsdWRlIDxz cGVleGZpbGUuaD4KKy0jaW5jbHVkZSA8dHJ1ZWF1ZGlvZmlsZS5oPgorLSNpbmNsdWRlIDx2b3Ji aXNmaWxlLmg+CistI2luY2x1ZGUgPHdhdnBhY2tmaWxlLmg+CistI2lmZGVmIFRBR0xJQl9FWFRS QVNfRk9VTkQKKy0jaW5jbHVkZSA8YXNmZmlsZS5oPgorLSNpbmNsdWRlIDxtcDRmaWxlLmg+Cist I2VuZGlmCistCistLy8gY29udmVydHMgYSBwZWFrIHZhbHVlIGZyb20gdGhlIG5vcm1hbCBkaWdp dGFsIHNjYWxlIGZvcm0gdG8gdGhlIG1vcmUgdXNlZnVsIGRlY2liZWwgZm9ybQorLS8vIGRlY2li ZWxzIGFyZSByZWxhdGl2ZSB0byB0aGUgL2FkanVzdGVkLyB3YXZlZm9ybQorLXN0YXRpYyBxcmVh bCBwZWFrVG9EZWNpYmVscyggcXJlYWwgc2NhbGVWYWwgKQorLXsKKy0gICAgaWYgKCBzY2FsZVZh bCA+IDAgKQorLSAgICAgICAgcmV0dXJuIDIwICogbG9nMTAoIHNjYWxlVmFsICk7CistICAgIGVs c2UKKy0gICAgICAgIHJldHVybiAwOworLX0KKy0KKy0vLyBOT1RFOiByZXByZXNlbnRhdGlvbiBp cyB0YWtlbiB0byBiZSBhIGJpbmFyeSB2YWx1ZSB3aXRoIHVuaXRzIGluIHRoZSBmaXJzdCBjb2x1 bW4sCistLy8gICAgICAgMS8yIGluIHRoZSBzZWNvbmQgYW5kIHNvIG9uLgorLXN0YXRpYyBxcmVh bCByZWFkUlZBMlBlYWtWYWx1ZSggY29uc3QgVGFnTGliOjpCeXRlVmVjdG9yICZkYXRhLCBpbnQg Yml0cywgYm9vbCAqb2sgKQorLXsKKy0gICAgcXJlYWwgcGVhayA9IDAuMDsKKy0gICAgLy8gZGlz Y2FyZGluZyBkaWdpdHMgYXQgdGhlIGVuZCByZWR1Y2VzIHByZWNpc2lvbiwgYnV0IGRvZXNuJ3Qg b3RoZXJ3aXNlIGNoYW5nZSB0aGUgdmFsdWUKKy0gICAgaWYgKCBiaXRzID4gMzIgKQorLSAgICAg ICAgYml0cyA9IDMyOworLSAgICAvLyB0aGUgKzcgbWFrZXMgc3VyZSB3ZSByb3VuZCB1cCB3aGVu IHdlIGRpdmlkZSBieSA4CistICAgIHVuc2lnbmVkIGludCBieXRlcyA9IChiaXRzICsgNykgLyA4 OworLQorLSAgICAvLyBub3JtYWxpemUgYXBwZWFycyBub3QgdG8gd3JpdGUgYSBwZWFrIGF0IGFs bCwgYW5kIGhlbmNlIHNldHMgYml0cyB0byAwCistICAgIGlmICggYml0cyA9PSAwICkKKy0gICAg eworLSAgICAgICAgaWYgKCBvayApCistICAgICAgICAgICAgKm9rID0gdHJ1ZTsKKy0gICAgfQor LSAgICBlbHNlIGlmICggYml0cyA+PSA0ICYmIGRhdGEuc2l6ZSgpID49IGJ5dGVzICkgLy8gZmV3 ZXIgdGhhbiA0IGJpdHMgd291bGQganVzdCBiZSBkYWZ0CistICAgIHsKKy0gICAgICAgIC8vIGV4 Y2Vzc0JpdHMgaXMgdGhlIG51bWJlciBvZiBiaXRzIHdlIGhhdmUgdG8gZGlzY2FyZCBhdCB0aGUg ZW5kCistICAgICAgICB1bnNpZ25lZCBpbnQgZXhjZXNzQml0cyA9ICg4ICogYnl0ZXMpIC0gYml0 czsKKy0gICAgICAgIC8vIG1hc2sgaGFzIDFzIGV2ZXJ5d2hlcmUgYnV0IHRoZSBsYXN0IC9leGNl c3NCaXRzLyBiaXRzCistICAgICAgICBxdWludDMyIG1hc2sgPSAweGZmZmZmZmZmIDw8IGV4Y2Vz c0JpdHM7CistICAgICAgICBxdWludDMyIHJhd1ZhbHVlID0gMDsKKy0gICAgICAgIGZvciAoIHVu c2lnbmVkIGludCBpID0gMDsgaSA8IGJ5dGVzOyArK2kgKQorLSAgICAgICAgeworLSAgICAgICAg ICAgIHJhd1ZhbHVlIDw8PSA4OworLSAgICAgICAgICAgIHJhd1ZhbHVlICs9ICh1bnNpZ25lZCBj aGFyKWRhdGFbaV07CistICAgICAgICB9CistICAgICAgICByYXdWYWx1ZSAmPSBtYXNrOworLSAg ICAgICAgcGVhayA9IHJhd1ZhbHVlOworLSAgICAgICAgLy8gYW1vdW50IHdlIG5lZWQgdG8gInNo aWZ0IiB0aGUgdmFsdWUgcmlnaHQgdG8gbWFrZSB0aGUgZmlyc3QgZGlnaXQgdGhlIHVuaXQgY29s dW1uCistICAgICAgICB1bnNpZ25lZCBpbnQgcmlnaHRTaGlmdCA9ICg4ICogYnl0ZXMpIC0gMTsK Ky0gICAgICAgIHBlYWsgLz0gKHFyZWFsKSgxIDw8IHJpZ2h0U2hpZnQpOworLSAgICAgICAgaWYg KCBvayApCistICAgICAgICAgICAgKm9rID0gdHJ1ZTsKKy0gICAgfQorLSAgICBlbHNlCistICAg IHsKKy0gICAgICAgIGlmICggb2sgKQorLSAgICAgICAgICAgICpvayA9IGZhbHNlOworLSAgICB9 CistICAgIHJldHVybiBwZWFrOworLX0KKy0KKy0vLyBhZGRzIHRoZSBjb252ZXJ0ZWQgdmVyc2lv biBvZiB0aGUgc2NhbGUgdmFsdWUgaWYgaXQgaXMgYSB2YWxpZCwgbm9uLW5lZ2F0aXZlIGZsb2F0 Cistc3RhdGljIHZvaWQgbWF5YmVBZGRQZWFrKCBjb25zdCBUYWdMaWI6OlN0cmluZyAmc2NhbGVW YWwsIE1ldGE6OlJlcGxheUdhaW5UYWcga2V5LCBNZXRhOjpSZXBsYXlHYWluVGFnTWFwICptYXAg KQorLXsKKy0gICAgLy8gc2NhbGUgdmFsdWUgaXMgPj0gMCwgYW5kIHR5cGljYWxseSBub3QgbXVj aCBiaWdnZXIgdGhhbiAxCistICAgIFFTdHJpbmcgdmFsdWUgPSBUU3RyaW5nVG9RU3RyaW5nKCBz Y2FsZVZhbCApOworLSAgICBib29sIG9rID0gZmFsc2U7CistICAgIHFyZWFsIHBlYWsgPSB2YWx1 ZS50b0Zsb2F0KCAmb2sgKTsKKy0gICAgaWYgKCBvayAmJiBwZWFrID49IDAgKQorLSAgICAgICAg KCptYXApW2tleV0gPSBwZWFrVG9EZWNpYmVscyggcGVhayApOworLX0KKy0KKy1zdGF0aWMgdm9p ZCBtYXliZUFkZEdhaW4oIGNvbnN0IFRhZ0xpYjo6U3RyaW5nICZpbnB1dCwgTWV0YTo6UmVwbGF5 R2FpblRhZyBrZXksIE1ldGE6OlJlcGxheUdhaW5UYWdNYXAgKm1hcCApCisteworLSAgICBRU3Ry aW5nIHZhbHVlID0gVFN0cmluZ1RvUVN0cmluZyggaW5wdXQgKS5yZW1vdmUoICIgZEIiICk7Cist ICAgIGJvb2wgb2sgPSBmYWxzZTsKKy0gICAgcXJlYWwgZ2FpbiA9IHZhbHVlLnRvRmxvYXQoICZv ayApOworLSAgICBpZiAob2spCistICAgICAgICAoKm1hcClba2V5XSA9IGdhaW47CistfQorLQor LXN0YXRpYyBNZXRhOjpSZXBsYXlHYWluVGFnTWFwIHJlYWRJRDN2MlRhZ3MoIFRhZ0xpYjo6SUQz djI6OlRhZyAqdGFnICkKKy17CistICAgIE1ldGE6OlJlcGxheUdhaW5UYWdNYXAgbWFwOworLSAg ICB7ICAgLy8gSUQzdjIuNC4wIG5hdGl2ZSByZXBsYXkgZ2FpbiB0YWcgc3VwcG9ydCAoYXMgd3Jp dHRlbiBieSBRdW9kIExpYmV0LCBmb3IgZXhhbXBsZSkuCistICAgICAgICBUYWdMaWI6OklEM3Yy OjpGcmFtZUxpc3QgZnJhbWVzID0gdGFnLT5mcmFtZUxpc3RNYXAoKVsiUlZBMiJdOworLSAgICAg ICAgZnJhbWVzLmFwcGVuZCh0YWctPmZyYW1lTGlzdE1hcCgpWyJYUlZBIl0pOworLSAgICAgICAg aWYgKCAhZnJhbWVzLmlzRW1wdHkoKSApCistICAgICAgICB7CistICAgICAgICAgICAgZm9yICgg dW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZnJhbWVzLnNpemUoKTsgKytpICkKKy0gICAgICAgICAg ICB7CistICAgICAgICAgICAgICAgIC8vIHdlIGhhdmUgdG8gcGFyc2UgdGhpcyBmcmFtZSBvdXJz ZWx2ZXMKKy0gICAgICAgICAgICAgICAgLy8gSUQzdjIgZnJhbWUgaGVhZGVyIGlzIDEwIGJ5dGVz LCBzbyBza2lwIHRoYXQKKy0gICAgICAgICAgICAgICAgVGFnTGliOjpCeXRlVmVjdG9yIGRhdGEg PSBmcmFtZXNbaV0tPnJlbmRlcigpLm1pZCggMTAgKTsKKy0gICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IG9mZnNldCA9IDA7CistICAgICAgICAgICAgICAgIFFTdHJpbmcgZGVzYyggZGF0YS5k YXRhKCkgKTsKKy0gICAgICAgICAgICAgICAgb2Zmc2V0ICs9IGRlc2MuY291bnQoKSArIDE7Cist ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjaGFubmVsID0gZGF0YS5taWQoIG9mZnNldCwg MSApLnRvVUludCggdHJ1ZSApOworLSAgICAgICAgICAgICAgICAvLyBjaGFubmVsIDEgaXMgdGhl IG1haW4gdm9sdW1lIC0gdGhlIG9ubHkgb25lIHdlIGNhcmUgYWJvdXQKKy0gICAgICAgICAgICAg ICAgaWYgKCBjaGFubmVsID09IDEgKQorLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAg ICAgICAgICArK29mZnNldDsKKy0gICAgICAgICAgICAgICAgICAgIHFpbnQxNiBhZGp1c3RtZW50 NTEyID0gZGF0YS5taWQoIG9mZnNldCwgMiApLnRvU2hvcnQoIHRydWUgKTsKKy0gICAgICAgICAg ICAgICAgICAgIHFyZWFsIGFkanVzdG1lbnQgPSAoIChxcmVhbClhZGp1c3RtZW50NTEyICkgLyA1 MTIuMDsKKy0gICAgICAgICAgICAgICAgICAgIG9mZnNldCArPSAyOworLSAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IHBlYWtCaXRzID0gZGF0YS5taWQoIG9mZnNldCwgMSApLnRvVUlu dCggdHJ1ZSApOworLSAgICAgICAgICAgICAgICAgICAgKytvZmZzZXQ7CistICAgICAgICAgICAg ICAgICAgICBib29sIG9rID0gZmFsc2U7CistICAgICAgICAgICAgICAgICAgICBxcmVhbCBwZWFr ID0gcmVhZFJWQTJQZWFrVmFsdWUoIGRhdGEubWlkKCBvZmZzZXQgKSwgcGVha0JpdHMsICZvayAp OworLSAgICAgICAgICAgICAgICAgICAgaWYgKCBvayApCistICAgICAgICAgICAgICAgICAgICB7 CistICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkZXNjLnRvTG93ZXIoKSA9PSAiYWxidW0i ICkKKy0gICAgICAgICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1hcFtNZXRhOjpSZXBsYXlHYWluX0FsYnVtX0dhaW5dID0gYWRqdXN0bWVudDsKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFwW01ldGE6OlJlcGxheUdhaW5fQWxidW1fUGVha10g PSBwZWFrVG9EZWNpYmVscyggcGVhayApOworLSAgICAgICAgICAgICAgICAgICAgICAgIH0KKy0g ICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICggZGVzYy50b0xvd2VyKCkgPT0gInRyYWNr IiB8fCAhbWFwLmNvbnRhaW5zKCBNZXRhOjpSZXBsYXlHYWluX1RyYWNrX0dhaW4gKSApCistICAg ICAgICAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBb TWV0YTo6UmVwbGF5R2Fpbl9UcmFja19HYWluXSA9IGFkanVzdG1lbnQ7CistICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hcFtNZXRhOjpSZXBsYXlHYWluX1RyYWNrX1BlYWtdID0gcGVha1Rv RGVjaWJlbHMoIHBlYWsgKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB9CistICAgICAgICAg ICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB9CistICAgICAg ICAgICAgaWYgKCAhbWFwLmlzRW1wdHkoKSApCistICAgICAgICAgICAgICAgIHJldHVybiBtYXA7 CistICAgICAgICB9CistICAgIH0KKy0KKy0gICAgeyAgIC8vIEZvb2JhcjIwMDAtc3R5bGUgSUQz djIuMy4wIHRhZ3MKKy0gICAgICAgIFRhZ0xpYjo6SUQzdjI6OkZyYW1lTGlzdCBmcmFtZXMgPSB0 YWctPmZyYW1lTGlzdE1hcCgpWyJUWFhYIl07CistICAgICAgICBmb3IgKCBUYWdMaWI6OklEM3Yy OjpGcmFtZUxpc3Q6Okl0ZXJhdG9yIGl0ID0gZnJhbWVzLmJlZ2luKCk7IGl0ICE9IGZyYW1lcy5l bmQoKTsgKytpdCApIHsKKy0gICAgICAgICAgICBUYWdMaWI6OklEM3YyOjpVc2VyVGV4dElkZW50 aWZpY2F0aW9uRnJhbWUqIGZyYW1lID0KKy0gICAgICAgICAgICAgICAgZHluYW1pY19jYXN0PFRh Z0xpYjo6SUQzdjI6OlVzZXJUZXh0SWRlbnRpZmljYXRpb25GcmFtZSo+KCAqaXQgKTsKKy0gICAg ICAgICAgICBpZiAoIGZyYW1lICYmIGZyYW1lLT5maWVsZExpc3QoKS5zaXplKCkgPj0gMiApCist ICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBRU3RyaW5nIGRlc2MgPSBUU3RyaW5nVG9R U3RyaW5nKCBmcmFtZS0+ZGVzY3JpcHRpb24oKSApLnRvTG93ZXIoKTsKKy0gICAgICAgICAgICAg ICAgaWYgKCBkZXNjID09ICJyZXBsYXlnYWluX2FsYnVtX2dhaW4iICkKKy0gICAgICAgICAgICAg ICAgICAgIG1heWJlQWRkR2FpbiggZnJhbWUtPmZpZWxkTGlzdCgpWzFdLCBNZXRhOjpSZXBsYXlH YWluX0FsYnVtX0dhaW4sICZtYXAgKTsKKy0gICAgICAgICAgICAgICAgaWYgKCBkZXNjID09ICJy ZXBsYXlnYWluX2FsYnVtX3BlYWsiICkKKy0gICAgICAgICAgICAgICAgICAgIG1heWJlQWRkUGVh ayggZnJhbWUtPmZpZWxkTGlzdCgpWzFdLCBNZXRhOjpSZXBsYXlHYWluX0FsYnVtX1BlYWssICZt YXAgKTsKKy0gICAgICAgICAgICAgICAgaWYgKCBkZXNjID09ICJyZXBsYXlnYWluX3RyYWNrX2dh aW4iICkKKy0gICAgICAgICAgICAgICAgICAgIG1heWJlQWRkR2FpbiggZnJhbWUtPmZpZWxkTGlz dCgpWzFdLCBNZXRhOjpSZXBsYXlHYWluX1RyYWNrX0dhaW4sICZtYXAgKTsKKy0gICAgICAgICAg ICAgICAgaWYgKCBkZXNjID09ICJyZXBsYXlnYWluX3RyYWNrX3BlYWsiICkKKy0gICAgICAgICAg ICAgICAgICAgIG1heWJlQWRkUGVhayggZnJhbWUtPmZpZWxkTGlzdCgpWzFdLCBNZXRhOjpSZXBs YXlHYWluX1RyYWNrX1BlYWssICZtYXAgKTsKKy0gICAgICAgICAgICB9CistICAgICAgICB9Cist ICAgIH0KKy0gICAgcmV0dXJuIG1hcDsKKy19CistCistc3RhdGljIE1ldGE6OlJlcGxheUdhaW5U YWdNYXAgcmVhZEFQRVRhZ3MoIFRhZ0xpYjo6QVBFOjpUYWcgKnRhZyApCisteworLSAgICBNZXRh OjpSZXBsYXlHYWluVGFnTWFwIG1hcDsKKy0gICAgY29uc3QgVGFnTGliOjpBUEU6Okl0ZW1MaXN0 TWFwICZpdGVtcyA9IHRhZy0+aXRlbUxpc3RNYXAoKTsKKy0gICAgaWYgKCBpdGVtcy5jb250YWlu cygiUkVQTEFZR0FJTl9UUkFDS19HQUlOIikgKQorLSAgICB7CistICAgICAgICBtYXliZUFkZEdh aW4oIGl0ZW1zWyJSRVBMQVlHQUlOX1RSQUNLX0dBSU4iXS52YWx1ZXMoKVswXSwgTWV0YTo6UmVw bGF5R2Fpbl9UcmFja19HYWluLCAmbWFwICk7CistICAgICAgICBpZiAoIGl0ZW1zLmNvbnRhaW5z KCJSRVBMQVlHQUlOX1RSQUNLX1BFQUsiKSApCistICAgICAgICAgICAgbWF5YmVBZGRQZWFrKCBp dGVtc1siUkVQTEFZR0FJTl9UUkFDS19QRUFLIl0udmFsdWVzKClbMF0sIE1ldGE6OlJlcGxheUdh aW5fVHJhY2tfUGVhaywgJm1hcCApOworLSAgICB9CistICAgIGlmICggaXRlbXMuY29udGFpbnMo IlJFUExBWUdBSU5fQUxCVU1fR0FJTiIpICkKKy0gICAgeworLSAgICAgICAgbWF5YmVBZGRHYWlu KCBpdGVtc1siUkVQTEFZR0FJTl9BTEJVTV9HQUlOIl0udmFsdWVzKClbMF0sIE1ldGE6OlJlcGxh eUdhaW5fQWxidW1fR2FpbiwgJm1hcCApOworLSAgICAgICAgaWYgKCBpdGVtcy5jb250YWlucygi UkVQTEFZR0FJTl9BTEJVTV9QRUFLIikgKQorLSAgICAgICAgICAgIG1heWJlQWRkUGVhayggaXRl bXNbIlJFUExBWUdBSU5fQUxCVU1fUEVBSyJdLnZhbHVlcygpWzBdLCBNZXRhOjpSZXBsYXlHYWlu X0FsYnVtX1BlYWssICZtYXAgKTsKKy0gICAgfQorLSAgICByZXR1cm4gbWFwOworLX0KKy0KKy1z dGF0aWMgTWV0YTo6UmVwbGF5R2FpblRhZ01hcCByZWFkWGlwaFRhZ3MoIFRhZ0xpYjo6T2dnOjpY aXBoQ29tbWVudCAqdGFnICkKKy17CistICAgIGNvbnN0IFRhZ0xpYjo6T2dnOjpGaWVsZExpc3RN YXAgJnRhZ01hcCA9IHRhZy0+ZmllbGRMaXN0TWFwKCk7CistICAgIE1ldGE6OlJlcGxheUdhaW5U YWdNYXAgb3V0cHV0TWFwOworLQorLSAgICBpZiAoICF0YWdNYXBbIlJFUExBWUdBSU5fVFJBQ0tf R0FJTiJdLmlzRW1wdHkoKSApCistICAgIHsKKy0gICAgICAgIG1heWJlQWRkR2FpbiggdGFnTWFw WyJSRVBMQVlHQUlOX1RSQUNLX0dBSU4iXS5mcm9udCgpLCBNZXRhOjpSZXBsYXlHYWluX1RyYWNr X0dhaW4sICZvdXRwdXRNYXAgKTsKKy0gICAgICAgIGlmICggIXRhZ01hcFsiUkVQTEFZR0FJTl9U UkFDS19QRUFLIl0uaXNFbXB0eSgpICkKKy0gICAgICAgICAgICBtYXliZUFkZFBlYWsoIHRhZ01h cFsiUkVQTEFZR0FJTl9UUkFDS19QRUFLIl0uZnJvbnQoKSwgTWV0YTo6UmVwbGF5R2Fpbl9UcmFj a19QZWFrLCAmb3V0cHV0TWFwICk7CistICAgIH0KKy0KKy0gICAgaWYgKCAhdGFnTWFwWyJSRVBM QVlHQUlOX0FMQlVNX0dBSU4iXS5pc0VtcHR5KCkgKQorLSAgICB7CistICAgICAgICBtYXliZUFk ZEdhaW4oIHRhZ01hcFsiUkVQTEFZR0FJTl9BTEJVTV9HQUlOIl0uZnJvbnQoKSwgTWV0YTo6UmVw bGF5R2Fpbl9BbGJ1bV9HYWluLCAmb3V0cHV0TWFwICk7CistICAgICAgICBpZiAoICF0YWdNYXBb IlJFUExBWUdBSU5fQUxCVU1fUEVBSyJdLmlzRW1wdHkoKSApCistICAgICAgICAgICAgbWF5YmVB ZGRQZWFrKCB0YWdNYXBbIlJFUExBWUdBSU5fQUxCVU1fUEVBSyJdLmZyb250KCksIE1ldGE6OlJl cGxheUdhaW5fQWxidW1fUGVhaywgJm91dHB1dE1hcCApOworLSAgICB9CistCistICAgIHJldHVy biBvdXRwdXRNYXA7CistfQorLQorLSNpZmRlZiBUQUdMSUJfRVhUUkFTX0ZPVU5ECistc3RhdGlj IE1ldGE6OlJlcGxheUdhaW5UYWdNYXAgcmVhZEFTRlRhZ3MoIFRhZ0xpYjo6QVNGOjpUYWcgKnRh ZyApCisteworLSAgICBjb25zdCBUYWdMaWI6OkFTRjo6QXR0cmlidXRlTGlzdE1hcCAmdGFnTWFw ID0gdGFnLT5hdHRyaWJ1dGVMaXN0TWFwKCk7CistICAgIE1ldGE6OlJlcGxheUdhaW5UYWdNYXAg b3V0cHV0TWFwOworLQorLSAgICBpZiAoICF0YWdNYXBbIlJFUExBWUdBSU5fVFJBQ0tfR0FJTiJd LmlzRW1wdHkoKSApCistICAgIHsKKy0gICAgICAgIG1heWJlQWRkR2FpbiggdGFnTWFwWyJSRVBM QVlHQUlOX1RSQUNLX0dBSU4iXS5mcm9udCgpLnRvU3RyaW5nKCksIE1ldGE6OlJlcGxheUdhaW5f VHJhY2tfR2FpbiwgJm91dHB1dE1hcCApOworLSAgICAgICAgaWYgKCAhdGFnTWFwWyJSRVBMQVlH QUlOX1RSQUNLX1BFQUsiXS5pc0VtcHR5KCkgKQorLSAgICAgICAgICAgIG1heWJlQWRkUGVhaygg dGFnTWFwWyJSRVBMQVlHQUlOX1RSQUNLX1BFQUsiXS5mcm9udCgpLnRvU3RyaW5nKCksIE1ldGE6 OlJlcGxheUdhaW5fVHJhY2tfUGVhaywgJm91dHB1dE1hcCApOworLSAgICB9CistCistICAgIGlm ICggIXRhZ01hcFsiUkVQTEFZR0FJTl9BTEJVTV9HQUlOIl0uaXNFbXB0eSgpICkKKy0gICAgewor LSAgICAgICAgbWF5YmVBZGRHYWluKCB0YWdNYXBbIlJFUExBWUdBSU5fQUxCVU1fR0FJTiJdLmZy b250KCkudG9TdHJpbmcoKSwgTWV0YTo6UmVwbGF5R2Fpbl9BbGJ1bV9HYWluLCAmb3V0cHV0TWFw ICk7CistICAgICAgICBpZiAoICF0YWdNYXBbIlJFUExBWUdBSU5fQUxCVU1fUEVBSyJdLmlzRW1w dHkoKSApCistICAgICAgICAgICAgbWF5YmVBZGRQZWFrKCB0YWdNYXBbIlJFUExBWUdBSU5fQUxC VU1fUEVBSyJdLmZyb250KCkudG9TdHJpbmcoKSwgTWV0YTo6UmVwbGF5R2Fpbl9BbGJ1bV9QZWFr LCAmb3V0cHV0TWFwICk7CistICAgIH0KKy0KKy0gICAgcmV0dXJuIG91dHB1dE1hcDsKKy19Cist I2VuZGlmCistLy8gQmFkIG5ld3M6IFJlcGxheUdhaW4gaW4gTVA0IGlzIG5vdCBhY3R1YWxseSBz dGFuZGFyZGl6ZWQgaW4gYW55IHdheS4gIE1heWJlIHJlaW1wbGVtZW50IGF0IHNvbWUgcG9pbnQu Li5tYXliZS4gIFNlZQorLS8vIGh0dHA6Ly93d3cuaHlkcm9nZW5hdWRpby5vcmcvZm9ydW1zL2xv Zml2ZXJzaW9uL2luZGV4LnBocC90MTQzMjIuaHRtbAorLSNpZmRlZiBET19OT1RfVVNFX1RISVNf VU5USUxfRklYRUQKKy1zdGF0aWMgTWV0YTo6UmVwbGF5R2FpblRhZ01hcCByZWFkTVA0VGFncygg VGFnTGliOjpNUDQ6OlRhZyAqdGFnICkKKy17CistICAgIE1ldGE6OlJlcGxheUdhaW5UYWdNYXAg b3V0cHV0TWFwOworLQorLSAgICBpZiAoICF0YWctPnRyYWNrUmVwbGF5R2FpbigpLmlzTnVsbCgp ICkgeworLSAgICAgICAgbWF5YmVBZGRHYWluKCB0YWctPnRyYWNrUmVwbGF5R2FpbigpLCBNZXRh OjpSZXBsYXlHYWluX1RyYWNrX0dhaW4sICZvdXRwdXRNYXAgKTsKKy0gICAgICAgIGlmICggIXRh Zy0+dHJhY2tSZXBsYXlHYWluUGVhaygpLmlzTnVsbCgpICkKKy0gICAgICAgICAgICBtYXliZUFk ZFBlYWsoIHRhZy0+dHJhY2tSZXBsYXlHYWluUGVhaygpLCBNZXRhOjpSZXBsYXlHYWluX1RyYWNr X1BlYWssICZvdXRwdXRNYXAgKTsKKy0gICAgfQorLQorLSAgICBpZiAoICF0YWctPmFsYnVtUmVw bGF5R2FpbigpLmlzTnVsbCgpICkgeworLSAgICAgICAgbWF5YmVBZGRHYWluKCB0YWctPmFsYnVt UmVwbGF5R2FpbigpLCBNZXRhOjpSZXBsYXlHYWluX0FsYnVtX0dhaW4sICZvdXRwdXRNYXAgKTsK Ky0gICAgICAgIGlmICggIXRhZy0+YWxidW1SZXBsYXlHYWluUGVhaygpLmlzTnVsbCgpICkKKy0g ICAgICAgICAgICBtYXliZUFkZFBlYWsoIHRhZy0+YWxidW1SZXBsYXlHYWluUGVhaygpLCBNZXRh OjpSZXBsYXlHYWluX0FsYnVtX1BlYWssICZvdXRwdXRNYXAgKTsKKy0gICAgfQorLQorLSAgICBy ZXR1cm4gb3V0cHV0TWFwOworLX0KKy0jZW5kaWYgCistCistTWV0YTo6UmVwbGF5R2FpblRhZ01h cAorLU1ldGE6OnJlYWRSZXBsYXlHYWluVGFncyggVGFnTGliOjpGaWxlUmVmIGZpbGVyZWYgKQor LXsKKy0gICAgTWV0YTo6UmVwbGF5R2FpblRhZ01hcCBtYXA7CistICAgIC8vIE5COiB3ZSBjYW4n dCBnZXQgcmVwbGF5IGdhaW4gaW5mbyBmcm9tIE1QQyBmaWxlcywgc2luY2UgaXQncyBzdG9yZWQg aW4gc29tZSBtYWdpYyBwbGFjZQorLSAgICAvLyAgICAgYW5kIG5vdCBpbiB0aGUgQVBFIHRhZ3Ms IGFuZCB0YWdsaWIgZG9lc24ndCBsZXQgdXMgYWNjZXNzIHRoZSBpbmZvcm1hdGlvbiAodW5sZXNz CistICAgIC8vICAgICB3ZSB3YW50IHRvIHBhcnNlIHRoZSBmaWxlIG91cnNlbHZlcykuCistICAg IC8vIEZJWE1FOiBzaG91bGQgd2UgdHJ5IGdldHRpbmcgdGhlIGluZm8gZnJvbSB0aGUgTVBDIEFQ RSB0YWcganVzdCBpbiBjYXNlPworLQorLSAgICBpZiAoIFRhZ0xpYjo6TVBFRzo6RmlsZSAqZmls ZSA9IGR5bmFtaWNfY2FzdDxUYWdMaWI6Ok1QRUc6OkZpbGUgKj4oIGZpbGVyZWYuZmlsZSgpICkg KQorLSAgICB7CistICAgICAgICBpZiAoIGZpbGUtPklEM3YyVGFnKCkgKQorLSAgICAgICAgICAg IG1hcCA9IHJlYWRJRDN2MlRhZ3MoIGZpbGUtPklEM3YyVGFnKCkgKTsKKy0gICAgICAgIGlmICgg bWFwLmlzRW1wdHkoKSAmJiBmaWxlLT5BUEVUYWcoKSApCistICAgICAgICAgICAgbWFwID0gcmVh ZEFQRVRhZ3MoIGZpbGUtPkFQRVRhZygpICk7CistICAgIH0KKy0gICAgZWxzZSBpZiAoIFRhZ0xp Yjo6T2dnOjpWb3JiaXM6OkZpbGUgKmZpbGUgPSBkeW5hbWljX2Nhc3Q8VGFnTGliOjpPZ2c6OlZv cmJpczo6RmlsZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCistICAgIHsKKy0gICAgICAgIGlmICgg ZmlsZS0+dGFnKCkgKQorLSAgICAgICAgICAgIG1hcCA9IHJlYWRYaXBoVGFncyggZmlsZS0+dGFn KCkgKTsKKy0gICAgfQorLSAgICBlbHNlIGlmICggVGFnTGliOjpGTEFDOjpGaWxlICpmaWxlID0g ZHluYW1pY19jYXN0PFRhZ0xpYjo6RkxBQzo6RmlsZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCist ICAgIHsKKy0gICAgICAgIGlmICggZmlsZS0+eGlwaENvbW1lbnQoKSApCistICAgICAgICAgICAg bWFwID0gcmVhZFhpcGhUYWdzKCBmaWxlLT54aXBoQ29tbWVudCgpICk7CistICAgICAgICBpZiAo IG1hcC5pc0VtcHR5KCkgJiYgZmlsZS0+SUQzdjJUYWcoKSApCistICAgICAgICAgICAgbWFwID0g cmVhZElEM3YyVGFncyggZmlsZS0+SUQzdjJUYWcoKSApOworLSAgICB9CistICAgIGVsc2UgaWYg KCBUYWdMaWI6Ok9nZzo6RkxBQzo6RmlsZSAqZmlsZSA9IGR5bmFtaWNfY2FzdDxUYWdMaWI6Ok9n Zzo6RkxBQzo6RmlsZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCistICAgIHsKKy0gICAgICAgIGlm ICggZmlsZS0+dGFnKCkgKQorLSAgICAgICAgICAgIG1hcCA9IHJlYWRYaXBoVGFncyggZmlsZS0+ dGFnKCkgKTsKKy0gICAgfQorLSAgICBlbHNlIGlmICggVGFnTGliOjpXYXZQYWNrOjpGaWxlICpm aWxlID0gZHluYW1pY19jYXN0PFRhZ0xpYjo6V2F2UGFjazo6RmlsZSAqPiggZmlsZXJlZi5maWxl KCkgKSApCistICAgIHsKKy0gICAgICAgIGlmICggZmlsZS0+QVBFVGFnKCkgKQorLSAgICAgICAg ICAgIG1hcCA9IHJlYWRBUEVUYWdzKCBmaWxlLT5BUEVUYWcoKSApOworLSAgICB9CistICAgIGVs c2UgaWYgKCBUYWdMaWI6OlRydWVBdWRpbzo6RmlsZSAqZmlsZSA9IGR5bmFtaWNfY2FzdDxUYWdM aWI6OlRydWVBdWRpbzo6RmlsZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCistICAgIHsKKy0gICAg ICAgIGlmICggZmlsZS0+SUQzdjJUYWcoKSApCistICAgICAgICAgICAgbWFwID0gcmVhZElEM3Yy VGFncyggZmlsZS0+SUQzdjJUYWcoKSApOworLSAgICB9CistICAgIGVsc2UgaWYgKCBUYWdMaWI6 Ok9nZzo6U3BlZXg6OkZpbGUgKmZpbGUgPSBkeW5hbWljX2Nhc3Q8VGFnTGliOjpPZ2c6OlNwZWV4 OjpGaWxlICo+KCBmaWxlcmVmLmZpbGUoKSApICkKKy0gICAgeworLSAgICAgICAgaWYgKCBmaWxl LT50YWcoKSApCistICAgICAgICAgICAgbWFwID0gcmVhZFhpcGhUYWdzKCBmaWxlLT50YWcoKSAp OworLSAgICB9CistICAgIGVsc2UgaWYgKCBUYWdMaWI6Ok1QQzo6RmlsZSAqZmlsZSA9IGR5bmFt aWNfY2FzdDxUYWdMaWI6Ok1QQzo6RmlsZSAqPiggZmlsZXJlZi5maWxlKCkgKSApCistICAgIHsK Ky0gICAgICAgIC8vIFRoaXMgaXMgTk9UIHRoZSBjb3JyZWN0IHdheSB0byBnZXQgcmVwbGF5IGdh aW4gdGFncyBmcm9tIE1QQyBmaWxlcywgYnV0CistICAgICAgICAvLyB0YWdsaWIgZG9lc24ndCBh bGxvdyB1cyBhY2Nlc3MgdG8gdGhlIHJlYWwgaW5mb3JtYXRpb24uCistICAgICAgICAvLyBUaGlz IGFsbG93cyBwZW9wbGUgdG8gd29yayBhcm91bmQgdGhpcyBpc3N1ZSBieSBjb3B5aW5nIHRoZWly IHJlcGxheSBnYWluCistICAgICAgICAvLyBpbmZvcm1hdGlvbiB0byB0aGUgQVBFIHRhZy4KKy0g ICAgICAgIGlmICggZmlsZS0+QVBFVGFnKCkgKQorLSAgICAgICAgICAgIG1hcCA9IHJlYWRBUEVU YWdzKCBmaWxlLT5BUEVUYWcoKSApOworLSAgICB9CistI2lmZGVmIFRBR0xJQl9FWFRSQVNfRk9V TkQKKy0gICAgZWxzZSBpZiAoIFRhZ0xpYjo6QVNGOjpGaWxlICpmaWxlID0gZHluYW1pY19jYXN0 PFRhZ0xpYjo6QVNGOjpGaWxlICo+KCBmaWxlcmVmLmZpbGUoKSApICkKKy0gICAgeworLSAgICAg ICAgaWYgKCBmaWxlLT50YWcoKSApCistICAgICAgICAgICAgbWFwID0gcmVhZEFTRlRhZ3MoIGZp bGUtPnRhZygpICk7CistICAgIH0KKy0jZW5kaWYKKy0vLyBTZWUgY29tbWVudCBhYm92ZQorLSNp ZmRlZiBET19OT1RfVVNFX1RISVNfVU5USUxfRklYRUQKKy0gICAgZWxzZSBpZiAoIFRhZ0xpYjo6 TVA0OjpGaWxlICpmaWxlID0gZHluYW1pY19jYXN0PFRhZ0xpYjo6TVA0OjpGaWxlICo+KCBmaWxl cmVmLmZpbGUoKSApICkKKy0gICAgeworLSAgICAgICAgaWYgKCBmaWxlLT50YWcoKSApCistICAg ICAgICAgICAgbWFwID0gcmVhZE1QNFRhZ3MoIGZpbGUtPmdldE1QNFRhZygpICk7CistICAgIH0K Ky0jZW5kaWYKKy0gICAgcmV0dXJuIG1hcDsKKy19CistCitkaWZmIC0tZ2l0IGEvdXRpbGl0aWVz L2NvbGxlY3Rpb25zY2FubmVyL01ldGFSZXBsYXlHYWluLmggYi91dGlsaXRpZXMvY29sbGVjdGlv bnNjYW5uZXIvTWV0YVJlcGxheUdhaW4uaAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCBlYmE4NjBhLi4wMDAwMDAwCistLS0gYS91dGlsaXRpZXMvY29sbGVjdGlvbnNjYW5uZXIvTWV0 YVJlcGxheUdhaW4uaAorKysrIC9kZXYvbnVsbAorQEAgLTEsNDkgKzAsMCBAQAorLS8qCistICAg Q29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWVycnkgPGFsZXgubWVycnlAa2RlbWFpbC5uZXQ+Cist CistICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vcgorLSAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCistICAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKy0gICBvZiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy0KKy0gICBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy0gICBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorLSAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKy0gICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorLQorLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5v dCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy0gICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EK Ky0qLworLQorLSNpZm5kZWYgQU1BUk9LX01FVEFSRVBMQVlHQUlOX0gKKy0jZGVmaW5lIEFNQVJP S19NRVRBUkVQTEFZR0FJTl9ICistCistI2luY2x1ZGUgPFFNYXA+CistCistLy8gVGFnbGliCist I2luY2x1ZGUgPGZpbGVyZWYuaD4KKy0KKy0vKiBUaGlzIGZpbGUgZXhpc3RzIChyYXRoZXIgdGhh biBwdXR0aW5nIHRoZSBtZXRob2QgaW4gTWV0YVV0aWxpdHkuaCBhbmQKKy0gKiBNZXRhVXRpbGl0 eS5jcHApIGJlY2F1c2Ugd2UgbmVlZCB0byBzaGFyZSB0aGUgaW1wbGVtZW50YXRpb24gYmV0d2Vl bgorLSAqIGFtYXJva2xpYiBhbmQgYW1hcm9rY29sbGVjdGlvbnNjYW5uZXIgKHdoaWNoIGRvZXNu J3QgbGluayB0byBhbWFyb2tsaWIpLgorLSAqLworLW5hbWVzcGFjZSBNZXRhCisteworLSAgICBl bnVtIFJlcGxheUdhaW5UYWcKKy0gICAgeworLSAgICAgICAgUmVwbGF5R2Fpbl9UcmFja19HYWlu LAorLSAgICAgICAgUmVwbGF5R2Fpbl9UcmFja19QZWFrLAorLSAgICAgICAgUmVwbGF5R2Fpbl9B bGJ1bV9HYWluLAorLSAgICAgICAgUmVwbGF5R2Fpbl9BbGJ1bV9QZWFrCistICAgIH07CistCist ICAgIHR5cGVkZWYgUU1hcDxSZXBsYXlHYWluVGFnLCBxcmVhbD4gUmVwbGF5R2FpblRhZ01hcDsK Ky0KKy0gICAgLyoqCistICAgICAqIFJlYWRzIHRoZSByZXBsYXkgZ2FpbiB0YWdzIGZyb20gYSB0 YWdsaWIgZmlsZS4KKy0gICAgICovCistICAgIFJlcGxheUdhaW5UYWdNYXAgcmVhZFJlcGxheUdh aW5UYWdzKCBUYWdMaWI6OkZpbGVSZWYgZmlsZXJlZiApOworLX0KKy0KKy0jZW5kaWYgLy8gQU1B Uk9LX01FVEFSRVBMQVlHQUlOX0gKCmRpZmYgLS1naXQgYS9hbWFyb2suc3BlYyBiL2FtYXJvay5z cGVjCmluZGV4IGU0MTE1ZGMuLjcxNmUxMzQgMTAwNjQ0Ci0tLSBhL2FtYXJvay5zcGVjCisrKyBi L2FtYXJvay5zcGVjCkBAIC0yLDcgKzIsNyBAQAogTmFtZTogICAgYW1hcm9rCiBTdW1tYXJ5OiBN ZWRpYSBwbGF5ZXIKIFZlcnNpb246IDIuMS44NQotUmVsZWFzZTogMSV7P2Rpc3R9CitSZWxlYXNl OiAyJXs/ZGlzdH0KIAogR3JvdXA6IAkgQXBwbGljYXRpb25zL011bHRpbWVkaWEKIExpY2Vuc2U6 IEdQTHYyKwpAQCAtMTMsNiArMTMsNyBAQCBCdWlsZFJvb3Q6ICV7X3RtcHBhdGh9LyV7bmFtZX0t JXt2ZXJzaW9ufS0le3JlbGVhc2V9LXJvb3QtJSgle19faWRfdX0gLW4pCiBQYXRjaDUwOiBhbWFy b2stMi4wLjkwLXF0c2NyaXB0X25vdF9yZXF1aXJlZC5wYXRjaAogCiAjIyB1cHN0cmVhbSBwYXRj aGVzCitQYXRjaDEwMDogYW1hcm9rLXRhZ2xpYi5wYXRjaAogCiBCdWlsZFJlcXVpcmVzOiBjdXJs LWRldmVsCiBCdWlsZFJlcXVpcmVzOiBkZXNrdG9wLWZpbGUtdXRpbHMKQEAgLTMxLDggKzMyLDgg QEAgQnVpbGRSZXF1aXJlczogbGlieG1sMi1kZXZlbAogQnVpbGRSZXF1aXJlczogbG91ZG1vdXRo LWRldmVsCiBCdWlsZFJlcXVpcmVzOiBteXNxbC1lbWJlZGRlZC1kZXZlbAogQnVpbGRSZXF1aXJl czogc29wcmFuby1kZXZlbAotQnVpbGRSZXF1aXJlczogdGFnbGliLWRldmVsCi1CdWlsZFJlcXVp cmVzOiB0YWdsaWItZXh0cmFzLWRldmVsCitCdWlsZFJlcXVpcmVzOiB0YWdsaWItZGV2ZWwgPj0g MS42CitCdWlsZFJlcXVpcmVzOiB0YWdsaWItZXh0cmFzLWRldmVsID49IDEuMC4wCiAKICVnbG9i YWwga2RlbGliczRfdmVyc2lvbiAlKChrZGU0LWNvbmZpZyAtLXZlcnNpb24gMj4vZGV2L251bGwg fHwgZWNobyBLREUgNC4yLjApIHwgZ3JlcCAnXktERScgfCBjdXQgLWQnICcgLWYyIHwgY3V0IC1k Jy0nIC1mMSkKICV7P19xdDRfdmVyc2lvbjpSZXF1aXJlczogcXQ0JXs/X2lzYX0gPj0gJXtfcXQ0 X3ZlcnNpb259fQpAQCAtNzgsNiArNzksOCBAQCBPYnNvbGV0ZXM6IGFtYXJvay11dGlsaXRpZXMg PCAyLjAuOTYKIAogJXBhdGNoNTAgLXAxIC1iIC5xdHNjcmlwdF9ub3RfcmVxdWlyZWQKIAorJXBh dGNoMTAwIC1wMSAtYiAudGFnbGliCisKIAogJWJ1aWxkCiBta2RpciAtcCAle190YXJnZXRfcGxh dGZvcm19CkBAIC0xNjgsNiArMTcxLDkgQEAgZmkKIAogCiAlY2hhbmdlbG9nCisqIFRodSBTZXAg MTcgMjAwOSBSZXggRGlldGVyIDxyZGlldGVyQGZlZG9yYXByb2plY3Qub3JnPiAyLjEuODUtMgor LSBCUjogdGFnbGliLWRldmVsID49IDEuNiwgdGFnbGliLWV4dHJhcy1kZXZlbCA+PSAxLjAKKwog KiBNb24gU2VwIDE0IDIwMDkgUmV4IERpZXRlciA8cmRpZXRlckBmZWRvcmFwcm9qZWN0Lm9yZz4g Mi4xLjg1LTEKIC0gYW1hcm9rLTIuMS44NSAoMi4yYmV0YTIpCiAK