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: Kevin Buettner To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Backport upstream fix and test case for a dprintf bug (RHBZ 2022177) Date: Thu, 23 Jul 2026 18:34:35 GMT Message-ID: <178483167572.1.8602395543615313989.rpms-gdb-8fedf35634d9@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 8fedf35634d9ff55eb52bb6ed586e9ee9f5901ca QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogOGZlZGYzNTYzNGQ5ZmY1NWViNTJiYjZlZDU4NmU5ZWU5 ZjU5MDFjYQpBdXRob3IgOiBLZXZpbiBCdWV0dG5lciA8a2V2aW5iQHJlZGhhdC5jb20+CkRhdGUg ICA6IDIwMjEtMTEtMTBUMTk6MTM6NTItMDc6MDAKU3RhdHMgIDogKzUyNC8tMSBpbiA2IGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nZGIvYy84ZmVk ZjM1NjM0ZDlmZjU1ZWI1MmJiNmVkNTg2ZTllZTlmNTkwMWNhP2JyYW5jaD1maXgtZHVwLXBhdGNo CgpMb2c6CkJhY2twb3J0IHVwc3RyZWFtIGZpeCBhbmQgdGVzdCBjYXNlIGZvciBhIGRwcmludGYg YnVnIChSSEJaIDIwMjIxNzcpCgotLS0KZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5QYXRjaC5pbmNs dWRlIGIvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKaW5kZXggMjU1OTRiMi4uNDg4NGYwNiAxMDA2 NDQKLS0tIGEvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLlBhdGNoLmlu Y2x1ZGUKQEAgLTMyOCwzICszMjgsOSBAQCBQYXRjaDA3ODogZ2RiLXJoYnoyMDEyOTc2LXBhcGVy LW92ZXItZm9ydHJhbi1sZXgtcHJvYmxlbXMucGF0Y2gKICMgQmFja3BvcnQgbWFucGFnZSB1cGRh dGUKIFBhdGNoMDc5OiBnZGItcmhiei04NTMwNzEtdXBkYXRlLW1hbnBhZ2VzLnBhdGNoCiAKKyMg QmFja3BvcnQgZml4IGZvciBkcHJpbnRmIGJ1ZyAoUkggQlogMjAyMjE3NykuCitQYXRjaDA4MDog Z2RiLXJoYnoyMDIyMTc3LWRwcmludGYtMS5wYXRjaAorCisjIEJhY2twb3J0IHRlc3QgY2FzZSBm b3IgZHByaW50ZiBidWcgKFJIIEJaIDIwMjIxNzcpLgorUGF0Y2gwODE6IGdkYi1yaGJ6MjAyMjE3 Ny1kcHJpbnRmLTIucGF0Y2gKKwoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRl IGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKaW5kZXggMGUzMmYxNC4uOGE4YWNjOCAxMDA2NDQK LS0tIGEvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1 ZGUKQEAgLTc3LDMgKzc3LDUgQEAKICVwYXRjaDA3NyAtcDEKICVwYXRjaDA3OCAtcDEKICVwYXRj aDA3OSAtcDEKKyVwYXRjaDA4MCAtcDEKKyVwYXRjaDA4MSAtcDEKCmRpZmYgLS1naXQgYS9fcGF0 Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggNmE3ZjE2Ni4uODYzZWU3MSAxMDA2NDQKLS0t IGEvX3BhdGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtNzcsMyArNzcsNSBAQCBnZGIt cmhiejE5NzY4ODctZmllbGQtbG9jYXRpb24ta2luZC5wYXRjaAogZ2RiLXRlc3QtZm9yLXJoYnox OTc2ODg3LnBhdGNoCiBnZGItcmhiejIwMTI5NzYtcGFwZXItb3Zlci1mb3J0cmFuLWxleC1wcm9i bGVtcy5wYXRjaAogZ2RiLXJoYnotODUzMDcxLXVwZGF0ZS1tYW5wYWdlcy5wYXRjaAorZ2RiLXJo YnoyMDIyMTc3LWRwcmludGYtMS5wYXRjaAorZ2RiLXJoYnoyMDIyMTc3LWRwcmludGYtMi5wYXRj aAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MjAyMjE3Ny1kcHJpbnRmLTEucGF0Y2ggYi9nZGItcmhi ejIwMjIxNzctZHByaW50Zi0xLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmQ5MTIyODkKLS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmhiejIwMjIxNzctZHByaW50Zi0x LnBhdGNoCkBAIC0wLDAgKzEsMzE1IEBACitGcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgor RGF0ZTogV2VkLCAxMCBOb3YgMjAyMSAxODo1MjoyMiAtMDcwMAorU3ViamVjdDogZ2RiLXJoYnoy MDIyMTc3LWRwcmludGYtMS5wYXRjaAorCis7OyBCYWNrcG9ydCBmaXggZm9yIGRwcmludGYgYnVn IChSSCBCWiAyMDIyMTc3KS4KKworRml4IFBSIDI4MzA4IC0gZHByaW50ZiBicmVha3BvaW50cyBu b3Qgd29ya2luZyB3aGVuIHJ1biBmcm9tIHNjcmlwdAorCitUaGlzIGNvbW1pdCBmaXhlcyBCdWcg MjgzMDgsIHRpdGxlZCAiU3RyYW5nZSBpbnRlcmFjdGlvbnMgd2l0aAorZHByaW50ZiBhbmQgYnJl YWsvY29tbWFuZHMiOgorCitCdWc6IGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTI4MzA4CisKK1NpbmNlIGNyZWF0aW5nIHRoYXQgYnVnIHJlcG9ydCwgSSd2 ZSBmb3VuZCBhIHNvbWV3aGF0IHNpbXBsZXIgd2F5IG9mCityZXByb2R1Y2luZyB0aGUgcHJvYmxl bS4gIEkndmUgZW5jYXBzdWxhdGVkIGl0IGludG8gdGhlIEdEQiB0ZXN0IGNhc2UKK3doaWNoIEkn dmUgY3JlYXRlZCBhbG9uZyB3aXRoIHRoaXMgYnVnIGZpeC4gIFRoZSBuYW1lIG9mIHRoZSBuZXcg dGVzdAoraXMgZ2RiLmJhc2UvZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQuZXhwLCBJJ2xsIGRl bW9uc3RyYXRlIHRoZQorcHJvYmxlbSB1c2luZyB0aGlzIHRlc3QgY2FzZSwgdGhvdWdoIGZvciBi cmV2aXR5LCBJJ3ZlIHBsYWNlZCBhbGwKK3JlbGV2YW50IGZpbGVzIGluIHRoZSBzYW1lIGRpcmVj dG9yeSBhbmQgaGF2ZSByZW5hbWVkIHRoZSBmaWxlcyB0byBhbGwKK3N0YXJ0IHdpdGggJ2RwLWJ1 ZycgaW5zdGVhZCBvZiAnZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQnLgorCitUaGUgc2NyaXB0 IGZpbGUsIG5hbWVkIGRwLWJ1Zy5nZGIsIGNvbnNpc3RzIG9mIHRoZSBmb2xsb3dpbmcgY29tbWFu ZHM6CisKK2RwcmludGYgaW5jcmVtZW50LCAiZHByaW50ZiBpbiBpbmNyZW1lbnQoKSwgdmk9JWRc biIsIHZpCiticmVhayBpbmNfdmkKK2NvbW1hbmRzCisgIGNvbnRpbnVlCitlbmQKK3J1bgorCitO b3RlIHRoYXQgdGhlIGZpbmFsIGNvbW1hbmQgaW4gdGhpcyBzY3JpcHQgaXMgJ3J1bicuICBXaGVu ICdydW4nIGlzCitpbnN0ZWFkIGlzc3VlZCBpbnRlcmFjdGl2ZWx5LCB0aGUgIGJ1ZyBkb2VzIG5v dCBvY2N1ci4gIFNvLCBsZXQncyBsb29rCithdCB0aGUgaW50ZXJhY3RpdmUgY2FzZSBmaXJzdCBp biBvcmRlciB0byBzZWUgdGhlIGNvcnJlY3QvZXhwZWN0ZWQKK291dHB1dDoKKworJCBnZGIgLXEg LXggZHAtYnVnLmdkYiBkcC1idWcKKy4uLiBlbGlkaW5nIGJ1Z2d5IG91dHB1dCB3aGljaCBJJ2xs IGRpc2N1c3MgbGF0ZXIgLi4uCisoZ2RiKSBydW4KK1N0YXJ0aW5nIHByb2dyYW06IC9tZXNxdWl0 ZTIvc291cmNld2FyZS1naXQvZjM0LW1hc3Rlci9ibGQvZ2RiL3RtcC9kcC1idWcKK3ZpPTAKK2Rw cmludGYgaW4gaW5jcmVtZW50KCksIHZpPTAKKworQnJlYWtwb2ludCAyLCBpbmNfdmkgKCkgYXQg ZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQuYzoyNgorMjYJaW4gZHByaW50Zi1leGVjdXRpb24t eC1zY3JpcHQuYwordmk9MQorZHByaW50ZiBpbiBpbmNyZW1lbnQoKSwgdmk9MQorCitCcmVha3Bv aW50IDIsIGluY192aSAoKSBhdCBkcHJpbnRmLWV4ZWN1dGlvbi14LXNjcmlwdC5jOjI2CisyNglp biBkcHJpbnRmLWV4ZWN1dGlvbi14LXNjcmlwdC5jCit2aT0yCitkcHJpbnRmIGluIGluY3JlbWVu dCgpLCB2aT0yCisKK0JyZWFrcG9pbnQgMiwgaW5jX3ZpICgpIGF0IGRwcmludGYtZXhlY3V0aW9u LXgtc2NyaXB0LmM6MjYKKzI2CWluIGRwcmludGYtZXhlY3V0aW9uLXgtc2NyaXB0LmMKK3ZpPTMK K1tJbmZlcmlvciAxIChwcm9jZXNzIDE1MzkyMTApIGV4aXRlZCBub3JtYWxseV0KKworSW4gdGhp cyBydW4sIGluIHdoaWNoICdydW4nIHdhcyBpc3N1ZWQgZnJvbSB0aGUgZ2RiIHByb21wdCAoaW5z dGVhZAorb2YgYXQgdGhlIGVuZCBvZiB0aGUgc2NyaXB0KSwgdGhlcmUgYXJlIHRocmVlIGRwcmlu dGYgbWVzc2FnZXMgYWxvbmcKK3dpdGggdGhyZWUgJ0JyZWFrcG9pbnQgMicgbWVzc2FnZXMuICBU aGlzIGlzIHRoZSBjb3JyZWN0IG91dHB1dC4KKworTm93IGxldCdzIGxvb2sgYXQgdGhlIG91dHB1 dCB0aGF0IEkgc25pcHBlZCBhYm92ZTsgdGhpcyBpcyB0aGUgb3V0cHV0Cit3aGVuICdydW4nIGlz IGlzc3VlZCBmcm9tIHRoZSBzY3JpcHQgbG9hZGVkIHZpYSBHREIncyAteCBzd2l0Y2g6CisKKyQg Z2RiIC1xIC14IGRwLWJ1Zy5nZGIgZHAtYnVnCitSZWFkaW5nIHN5bWJvbHMgZnJvbSBkcC1idWcu Li4KK0RwcmludGYgMSBhdCAweDQwMTE2ZTogZmlsZSBkcHJpbnRmLWV4ZWN1dGlvbi14LXNjcmlw dC5jLCBsaW5lIDM4LgorQnJlYWtwb2ludCAyIGF0IDB4NDAxMTNhOiBmaWxlIGRwcmludGYtZXhl Y3V0aW9uLXgtc2NyaXB0LmMsIGxpbmUgMjYuCit2aT0wCitkcHJpbnRmIGluIGluY3JlbWVudCgp LCB2aT0wCisKK0JyZWFrcG9pbnQgMiwgaW5jX3ZpICgpIGF0IGRwcmludGYtZXhlY3V0aW9uLXgt c2NyaXB0LmM6MjYKKzI2CWRwcmludGYtZXhlY3V0aW9uLXgtc2NyaXB0LmM6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkuCit2aT0xCisKK0JyZWFrcG9pbnQgMiwgaW5jX3ZpICgpIGF0IGRwcmlu dGYtZXhlY3V0aW9uLXgtc2NyaXB0LmM6MjYKKzI2CWluIGRwcmludGYtZXhlY3V0aW9uLXgtc2Ny aXB0LmMKK3ZpPTIKKworQnJlYWtwb2ludCAyLCBpbmNfdmkgKCkgYXQgZHByaW50Zi1leGVjdXRp b24teC1zY3JpcHQuYzoyNgorMjYJaW4gZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQuYwordmk9 MworW0luZmVyaW9yIDEgKHByb2Nlc3MgMTUzOTE3NSkgZXhpdGVkIG5vcm1hbGx5XQorCitJbiB0 aGUgb3V0cHV0IHNob3duIGFib3ZlLCBvbmx5IHRoZSBmaXJzdCBkcHJpbnRmIG1lc3NhZ2UgaXMg cHJpbnRlZC4KK1RoZSAybmQgYW5kIDNyZCBkcHJpbnRmIG1lc3NhZ2VzIGFyZSBtaXNzaW5nISAg SG93ZXZlciwgYWxsIHRocmVlCisnQnJlYWtwb2ludCAyLi4uJyBtZXNzYWdlcyBhcmUgc3RpbGwg cHJpbnRlZC4KKworV2h5IGRvZXMgdGhpcyBoYXBwZW4/CisKK2Jwc3RhdF9kb19hY3Rpb25zXzEo KSBpbiBnZGIvYnJlYWtwb2ludC5jIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcKK2NvbW1lbnQgYW5k IGNvZGUgbmVhciB0aGUgc3RhcnQgb2YgdGhlIGZ1bmN0aW9uOgorCisgIC8qIEF2b2lkIGVuZGxl c3MgcmVjdXJzaW9uIGlmIGEgYHNvdXJjZScgY29tbWFuZCBpcyBjb250YWluZWQKKyAgICAgaW4g YnMtPmNvbW1hbmRzLiAgKi8KKyAgaWYgKGV4ZWN1dGluZ19icmVha3BvaW50X2NvbW1hbmRzKQor ICAgIHJldHVybiAwOworCisgIHNjb3BlZF9yZXN0b3JlIHNhdmVfZXhlY3V0aW5nCisgICAgPSBt YWtlX3Njb3BlZF9yZXN0b3JlICgmZXhlY3V0aW5nX2JyZWFrcG9pbnRfY29tbWFuZHMsIDEpOwor CitBbHNvLCBhcyBkZXNjcmliZWQgYnkgdGhpcyBjb21tZW50IHByaW9yIHRvIHRoZSAnYXN5bmMn IGZpZWxkCitpbiAnc3RydWN0IHVpJyBpbiB0b3AuaCwgdGhlIG1haW4gVUkgc3RhcnRzIG9mZiBp biBzeW5jIG1vZGUKK3doZW4gcHJvY2Vzc2luZyBjb21tYW5kIGxpbmUgYXJndW1lbnRzOgorCisg IC8qIFRydWUgaWYgdGhlIFVJIGlzIGluIGFzeW5jIG1vZGUsIGZhbHNlIGlmIGluIHN5bmMgbW9k ZS4gIElmIGluCisgICAgIHN5bmMgbW9kZSwgYSBzeW5jaHJvbm91cyBleGVjdXRpb24gY29tbWFu ZCAoZS5nLCAibmV4dCIpIGRvZXMgbm90CisgICAgIHJldHVybiB1bnRpbCB0aGUgY29tbWFuZCBp cyBmaW5pc2hlZC4gIElmIGluIGFzeW5jIG1vZGUsIHRoZW4KKyAgICAgcnVubmluZyBhIHN5bmNo cm9ub3VzIGNvbW1hbmQgcmV0dXJucyByaWdodCBhZnRlciByZXN1bWluZyB0aGUKKyAgICAgdGFy Z2V0LiAgV2FpdGluZyBmb3IgdGhlIGNvbW1hbmQncyBjb21wbGV0aW9uIGlzIGxhdGVyIGRvbmUg b24KKyAgICAgdGhlIHRvcCBldmVudCBsb29wLiAgRm9yIHRoZSBtYWluIFVJLCB0aGlzIHN0YXJ0 cyBvdXQgZGlzYWJsZWQsCisgICAgIHVudGlsIGFsbCB0aGUgZXhwbGljaXQgY29tbWFuZCBsaW5l IGFyZ3VtZW50cyAoZS5nLiwgYGdkYiAtZXgKKyAgICAgInN0YXJ0IiAtZXggIm5leHQiJykgYXJl IHByb2Nlc3NlZC4gICovCisKK1RoaXMgY29tYmluYXRpb24gb2YgdGhpbmdzLCB0aGUgc3RhdGUg b2YgdGhlIHN0YXRpYyBnbG9iYWwKKydleGVjdXRpbmdfYnJlYWtwb2ludF9jb21tYW5kcycgcGx1 cyB0aGUgc3RhdGUgb2YgdGhlIGFzeW5jCitmaWVsZCBpbiB0aGUgbWFpbiBVSSBjYXVzZXMgdGhp cyBiZWhhdmlvci4KKworVGhpcyBpcyBhIGJhY2t0cmFjZSBhZnRlciBoaXR0aW5nIHRoZSBkcHJp bnRmIGJyZWFrcG9pbnQgZm9yCit0aGUgc2Vjb25kIHRpbWUgd2hlbiBkb2luZyAncnVuJyBmcm9t IHRoZSBzY3JpcHQgZmlsZSwgaS5lLgorbm9uLWludGVyYWN0aXZlbHk6CisKK1RocmVhZCAxICJn ZGIiIGhpdCBCcmVha3BvaW50IDMsIGJwc3RhdF9kb19hY3Rpb25zXzEgKGJzcD0weDdmZmZmZmZm YzJiOCkKKyAgICBhdCAvaXJvbndvb2QxL3NvdXJjZXdhcmUtZ2l0L2YzNC1tYXN0ZXIvYmxkLy4u Ly4uL3dvcmt0cmVlLW1hc3Rlci9nZGIvYnJlYWtwb2ludC5jOjQ0MzEKKzQ0MzEJICBpZiAoZXhl Y3V0aW5nX2JyZWFrcG9pbnRfY29tbWFuZHMpCisKKyAjMCAgYnBzdGF0X2RvX2FjdGlvbnNfMSAo YnNwPTB4N2ZmZmZmZmZjMmI4KQorICAgICBhdCBnZGIvYnJlYWtwb2ludC5jOjQ0MzEKKyAjMSAg MHgwMDAwMDAwMDAwNGQ4YmM2IGluIGRwcmludGZfYWZ0ZXJfY29uZGl0aW9uX3RydWUgKGJzPTB4 MTUzODA5MCkKKyAgICAgYXQgZ2RiL2JyZWFrcG9pbnQuYzoxMzA0OAorICMyICAweDAwMDAwMDAw MDA0YzVjYWEgaW4gYnBzdGF0X3N0b3Bfc3RhdHVzIChhc3BhY2U9MHgxMTZkYmMwLCBicF9hZGRy PTB4NDAxMTZlLCB0aHJlYWQ9MHgxMzdmNDUwLCB3cz0weDdmZmZmZmZmYzcxOCwKKyAgICAgc3Rv cF9jaGFpbj0weDE1MzgwOTApIGF0IGdkYi9icmVha3BvaW50LmM6NTQ5OAorICMzICAweDAwMDAw MDAwMDA3NjhkOTggaW4gaGFuZGxlX3NpZ25hbF9zdG9wIChlY3M9MHg3ZmZmZmZmZmM2ZjApCisg ICAgIGF0IGdkYi9pbmZydW4uYzo2MTcyCisgIzQgIDB4MDAwMDAwMDAwMDc2NzhkMyBpbiBoYW5k bGVfaW5mZXJpb3JfZXZlbnQgKGVjcz0weDdmZmZmZmZmYzZmMCkKKyAgICAgYXQgZ2RiL2luZnJ1 bi5jOjU2NjIKKyAjNSAgMHgwMDAwMDAwMDAwNzYzY2Q1IGluIGZldGNoX2luZmVyaW9yX2V2ZW50 ICgpCisgICAgIGF0IGdkYi9pbmZydW4uYzo0MDYwCisgIzYgIDB4MDAwMDAwMDAwMDc0NmQ3ZCBp biBpbmZlcmlvcl9ldmVudF9oYW5kbGVyIChldmVudF90eXBlPUlORl9SRUdfRVZFTlQpCisgICAg IGF0IGdkYi9pbmYtbG9vcC5jOjQxCisgIzcgIDB4MDAwMDAwMDAwMDdhNzAyZiBpbiBoYW5kbGVf dGFyZ2V0X2V2ZW50IChlcnJvcj0wLCBjbGllbnRfZGF0YT0weDApCisgICAgIGF0IGdkYi9saW51 eC1uYXQuYzo0MjA3CisgIzggIDB4MDAwMDAwMDAwMGI4Y2Q2ZSBpbiBnZGJfd2FpdF9mb3JfZXZl bnQgKGJsb2NrPWJsb2NrQGVudHJ5PTApCisgICAgIGF0IGdkYnN1cHBvcnQvZXZlbnQtbG9vcC5j Yzo3MDEKKyAjOSAgMHgwMDAwMDAwMDAwYjhkMDMyIGluIGdkYl93YWl0X2Zvcl9ldmVudCAoYmxv Y2s9MCkKKyAgICAgYXQgZ2Ric3VwcG9ydC9ldmVudC1sb29wLmNjOjU5NworICMxMCBnZGJfZG9f b25lX2V2ZW50ICgpIGF0IGdkYnN1cHBvcnQvZXZlbnQtbG9vcC5jYzoyMTIKKyAjMTEgMHgwMDAw MDAwMDAwOWQxOWI2IGluIHdhaXRfc3luY19jb21tYW5kX2RvbmUgKCkKKyAgICAgYXQgZ2RiL3Rv cC5jOjUyOAorICMxMiAweDAwMDAwMDAwMDA5ZDFhM2YgaW4gbWF5YmVfd2FpdF9zeW5jX2NvbW1h bmRfZG9uZSAod2FzX3N5bmM9MCkKKyAgICAgYXQgZ2RiL3RvcC5jOjU0NQorICMxMyAweDAwMDAw MDAwMDA5ZDIwMzMgaW4gZXhlY3V0ZV9jb21tYW5kIChwPTB4N2ZmZmZmZmZjYjE4ICIiLCBmcm9t X3R0eT0wKQorICAgICBhdCBnZGIvdG9wLmM6Njc2CisgIzE0IDB4MDAwMDAwMDAwMDU2MGQ1YiBp biBleGVjdXRlX2NvbnRyb2xfY29tbWFuZF8xIChjbWQ9MHgxM2I5YmIwLCBmcm9tX3R0eT0wKQor ICAgICBhdCBnZGIvY2xpL2NsaS1zY3JpcHQuYzo1NDcKKyAjMTUgMHgwMDAwMDAwMDAwNTYxMzRh IGluIGV4ZWN1dGVfY29udHJvbF9jb21tYW5kIChjbWQ9MHgxM2I5YmIwLCBmcm9tX3R0eT0wKQor ICAgICBhdCBnZGIvY2xpL2NsaS1zY3JpcHQuYzo3MTcKKyAjMTYgMHgwMDAwMDAwMDAwNGMzYmJl IGluIGJwc3RhdF9kb19hY3Rpb25zXzEgKGJzcD0weDEzN2Y1MzApCisgICAgIGF0IGdkYi9icmVh a3BvaW50LmM6NDQ2OQorICMxNyAweDAwMDAwMDAwMDA0YzNkNDAgaW4gYnBzdGF0X2RvX2FjdGlv bnMgKCkKKyAgICAgYXQgZ2RiL2JyZWFrcG9pbnQuYzo0NTMzCisgIzE4IDB4MDAwMDAwMDAwMDZh NDczYSBpbiBjb21tYW5kX2hhbmRsZXIgKGNvbW1hbmQ9MHgxMzk5YWQwICJydW4iKQorICAgICBh dCBnZGIvZXZlbnQtdG9wLmM6NjI0CisgIzE5IDB4MDAwMDAwMDAwMDlkMTgyZSBpbiByZWFkX2Nv bW1hbmRfZmlsZSAoc3RyZWFtPTB4MTEzZTU0MCkKKyAgICAgYXQgZ2RiL3RvcC5jOjQ0MworICMy MCAweDAwMDAwMDAwMDA1NjM2OTcgaW4gc2NyaXB0X2Zyb21fZmlsZSAoc3RyZWFtPTB4MTEzZTU0 MCwgZmlsZT0weDEzYmIwYjAgImRwLWJ1Zy5nZGIiKQorICAgICBhdCBnZGIvY2xpL2NsaS1zY3Jp cHQuYzoxNjQyCisgIzIxIDB4MDAwMDAwMDAwMDZhYmQ2MyBpbiBzb3VyY2VfZ2RiX3NjcmlwdCAo ZXh0bGFuZz0weGM0NGU4MCA8ZXh0ZW5zaW9uX2xhbmd1YWdlX2dkYj4sIHN0cmVhbT0weDExM2U1 NDAsCisgICAgIGZpbGU9MHgxM2JiMGIwICJkcC1idWcuZ2RiIikgYXQgZ2RiL2V4dGVuc2lvbi5j OjE4OAorICMyMiAweDAwMDAwMDAwMDA1NDQ0MDAgaW4gc291cmNlX3NjcmlwdF9mcm9tX3N0cmVh bSAoc3RyZWFtPTB4MTEzZTU0MCwgZmlsZT0weDdmZmZmZmZmZDkxYSAiZHAtYnVnLmdkYiIsCisg ICAgIGZpbGVfdG9fb3Blbj0weDEzYmIwYjAgImRwLWJ1Zy5nZGIiKQorICAgICBhdCBnZGIvY2xp L2NsaS1jbWRzLmM6NjkyCisgIzIzIDB4MDAwMDAwMDAwMDU0NDU1NyBpbiBzb3VyY2Vfc2NyaXB0 X3dpdGhfc2VhcmNoIChmaWxlPTB4N2ZmZmZmZmZkOTFhICJkcC1idWcuZ2RiIiwgZnJvbV90dHk9 MSwgc2VhcmNoX3BhdGg9MCkKKyAgICAgYXQgZ2RiL2NsaS9jbGktY21kcy5jOjc1MAorICMyNCAw eDAwMDAwMDAwMDA1NDQ1Y2YgaW4gc291cmNlX3NjcmlwdCAoZmlsZT0weDdmZmZmZmZmZDkxYSAi ZHAtYnVnLmdkYiIsIGZyb21fdHR5PTEpCisgICAgIGF0IGdkYi9jbGkvY2xpLWNtZHMuYzo3NTkK KyAjMjUgMHgwMDAwMDAwMDAwN2NmNmQ5IGluIGNhdGNoX2NvbW1hbmRfZXJyb3JzIChjb21tYW5k PTB4NTQ0NWFhIDxzb3VyY2Vfc2NyaXB0KGNoYXIgY29uc3QqLCBpbnQpPiwKKyAgICAgYXJnPTB4 N2ZmZmZmZmZkOTFhICJkcC1idWcuZ2RiIiwgZnJvbV90dHk9MSwgZG9fYnBfYWN0aW9ucz1mYWxz ZSkKKyAgICAgYXQgZ2RiL21haW4uYzo1MjMKKyAjMjYgMHgwMDAwMDAwMDAwN2NmODVkIGluIGV4 ZWN1dGVfY21kYXJncyAoY21kYXJnX3ZlYz0weDdmZmZmZmZmZDFiMCwgZmlsZV90eXBlPUNNREFS R19GSUxFLCBjbWRfdHlwZT1DTURBUkdfQ09NTUFORCwKKyAgICAgcmV0PTB4N2ZmZmZmZmZkMThj KSBhdCBnZGIvbWFpbi5jOjYxNQorICMyNyAweDAwMDAwMDAwMDA3ZDBjOGUgaW4gY2FwdHVyZWRf bWFpbl8xIChjb250ZXh0PTB4N2ZmZmZmZmZkM2YwKQorICAgICBhdCBnZGIvbWFpbi5jOjEzMjIK KyAjMjggMHgwMDAwMDAwMDAwN2QwZWJhIGluIGNhcHR1cmVkX21haW4gKGRhdGE9MHg3ZmZmZmZm ZmQzZjApCisgICAgIGF0IGdkYi9tYWluLmM6MTM0MworICMyOSAweDAwMDAwMDAwMDA3ZDBmMjUg aW4gZ2RiX21haW4gKGFyZ3M9MHg3ZmZmZmZmZmQzZjApCisgICAgIGF0IGdkYi9tYWluLmM6MTM2 OAorICMzMCAweDAwMDAwMDAwMDA0MTg2ZGQgaW4gbWFpbiAoYXJnYz01LCBhcmd2PTB4N2ZmZmZm ZmZkNTA4KQorICAgICBhdCBnZGIvZ2RiLmM6MzIKKworVGhlcmUgYXJlIHR3byBmcmFtZXMgZm9y IGJwc3RhdF9kb19hY3Rpb25zXzEoKSwgb25lIGF0IGZyYW1lICMxNiBhbmQKK3RoZSBvdGhlciBh dCBmcmFtZSAjMC4gIFRoZSBvbmUgYXQgZnJhbWUgIzE2IGlzIHByb2Nlc3NpbmcgdGhlIGFjdGlv bnMKK2ZvciBCcmVha3BvaW50IDIsIHdoaWNoIGlzIGEgJ2NvbnRpbnVlJy4gIFRoZSBvbmUgYXQg ZnJhbWUgIzAgaXMgYXR0ZW1wdGluZwordG8gcHJvY2VzcyB0aGUgZHByaW50ZiBicmVha3BvaW50 IGFjdGlvbi4gIEhvd2V2ZXIsIGF0IHRoaXMgcG9pbnQsCit0aGUgdmFsdWUgb2YgJ2V4ZWN1dGlu Z19icmVha3BvaW50X2NvbW1hbmRzJyBpcyAxLCBmb3JjaW5nIGFuIGVhcmx5CityZXR1cm4sIGku ZS4gcHJpb3IgdG8gZXhlY3V0aW5nIHRoZSBjb21tYW5kKHMpIGFzc29jaWF0ZWQgd2l0aCB0aGUg ZHByaW50ZgorYnJlYWtwb2ludC4KKworRm9yIHRoZSBzYWtlIG9mIGNvbXBhcmlzb24sIHRoaXMg aXMgd2hhdCB0aGUgc3RhY2sgbG9va3MgbGlrZSB3aGVuIGhpdHRpbmcKK3RoZSBkcHJpbnRmIGJy ZWFrcG9pbnQgZm9yIHRoZSBzZWNvbmQgdGltZSB3aGVuIGlzc3VpbmcgdGhlICdydW4nCitjb21t YW5kIGZyb20gdGhlIEdEQiBwcm9tcHQuCisKK1RocmVhZCAxICJnZGIiIGhpdCBCcmVha3BvaW50 IDMsIGJwc3RhdF9kb19hY3Rpb25zXzEgKGJzcD0weDdmZmZmZmZmY2NkOCkKKyAgICBhdCAvaXJv bndvb2QxL3NvdXJjZXdhcmUtZ2l0L2YzNC1tYXN0ZXIvYmxkLy4uLy4uL3dvcmt0cmVlLW1hc3Rl ci9nZGIvYnJlYWtwb2ludC5jOjQ0MzEKKzQ0MzEJICBpZiAoZXhlY3V0aW5nX2JyZWFrcG9pbnRf Y29tbWFuZHMpCisKKyAjMCAgYnBzdGF0X2RvX2FjdGlvbnNfMSAoYnNwPTB4N2ZmZmZmZmZjY2Q4 KQorICAgICBhdCBnZGIvYnJlYWtwb2ludC5jOjQ0MzEKKyAjMSAgMHgwMDAwMDAwMDAwNGQ4YmM2 IGluIGRwcmludGZfYWZ0ZXJfY29uZGl0aW9uX3RydWUgKGJzPTB4MTZiMDI5MCkKKyAgICAgYXQg Z2RiL2JyZWFrcG9pbnQuYzoxMzA0OAorICMyICAweDAwMDAwMDAwMDA0YzVjYWEgaW4gYnBzdGF0 X3N0b3Bfc3RhdHVzIChhc3BhY2U9MHgxMTZkYmMwLCBicF9hZGRyPTB4NDAxMTZlLCB0aHJlYWQ9 MHgxM2YwZTYwLCB3cz0weDdmZmZmZmZmZDEzOCwKKyAgICAgc3RvcF9jaGFpbj0weDE2YjAyOTAp IGF0IGdkYi9icmVha3BvaW50LmM6NTQ5OAorICMzICAweDAwMDAwMDAwMDA3NjhkOTggaW4gaGFu ZGxlX3NpZ25hbF9zdG9wIChlY3M9MHg3ZmZmZmZmZmQxMTApCisgICAgIGF0IGdkYi9pbmZydW4u Yzo2MTcyCisgIzQgIDB4MDAwMDAwMDAwMDc2NzhkMyBpbiBoYW5kbGVfaW5mZXJpb3JfZXZlbnQg KGVjcz0weDdmZmZmZmZmZDExMCkKKyAgICAgYXQgZ2RiL2luZnJ1bi5jOjU2NjIKKyAjNSAgMHgw MDAwMDAwMDAwNzYzY2Q1IGluIGZldGNoX2luZmVyaW9yX2V2ZW50ICgpCisgICAgIGF0IGdkYi9p bmZydW4uYzo0MDYwCisgIzYgIDB4MDAwMDAwMDAwMDc0NmQ3ZCBpbiBpbmZlcmlvcl9ldmVudF9o YW5kbGVyIChldmVudF90eXBlPUlORl9SRUdfRVZFTlQpCisgICAgIGF0IGdkYi9pbmYtbG9vcC5j OjQxCisgIzcgIDB4MDAwMDAwMDAwMDdhNzAyZiBpbiBoYW5kbGVfdGFyZ2V0X2V2ZW50IChlcnJv cj0wLCBjbGllbnRfZGF0YT0weDApCisgICAgIGF0IGdkYi9saW51eC1uYXQuYzo0MjA3CisgIzgg IDB4MDAwMDAwMDAwMGI4Y2Q2ZSBpbiBnZGJfd2FpdF9mb3JfZXZlbnQgKGJsb2NrPWJsb2NrQGVu dHJ5PTApCisgICAgIGF0IGdkYnN1cHBvcnQvZXZlbnQtbG9vcC5jYzo3MDEKKyAjOSAgMHgwMDAw MDAwMDAwYjhkMDMyIGluIGdkYl93YWl0X2Zvcl9ldmVudCAoYmxvY2s9MCkKKyAgICAgYXQgZ2Ri c3VwcG9ydC9ldmVudC1sb29wLmNjOjU5NworICMxMCBnZGJfZG9fb25lX2V2ZW50ICgpIGF0IGdk YnN1cHBvcnQvZXZlbnQtbG9vcC5jYzoyMTIKKyAjMTEgMHgwMDAwMDAwMDAwN2NmNTEyIGluIHN0 YXJ0X2V2ZW50X2xvb3AgKCkKKyAgICAgYXQgZ2RiL21haW4uYzo0MjEKKyAjMTIgMHgwMDAwMDAw MDAwN2NmNjMxIGluIGNhcHR1cmVkX2NvbW1hbmRfbG9vcCAoKQorICAgICBhdCBnZGIvbWFpbi5j OjQ4MQorICMxMyAweDAwMDAwMDAwMDA3ZDBlYmYgaW4gY2FwdHVyZWRfbWFpbiAoZGF0YT0weDdm ZmZmZmZmZDNmMCkKKyAgICAgYXQgZ2RiL21haW4uYzoxMzUzCisgIzE0IDB4MDAwMDAwMDAwMDdk MGYyNSBpbiBnZGJfbWFpbiAoYXJncz0weDdmZmZmZmZmZDNmMCkKKyAgICAgYXQgZ2RiL21haW4u YzoxMzY4CisgIzE1IDB4MDAwMDAwMDAwMDQxODZkZCBpbiBtYWluIChhcmdjPTUsIGFyZ3Y9MHg3 ZmZmZmZmZmQ1MDgpCisgICAgIGF0IGdkYi9nZGIuYzozMgorCitUaGlzIHJlbGF0aXZlbHkgc2hv cnQgYmFja3RyYWNlIGlzIGR1ZSB0byB0aGUgY3VycmVudCBVSSdzIGFzeW5jIGZpZWxkCitiZWlu ZyBzZXQgdG8gMS4KKworWWV0IGFub3RoZXIgdGhpbmcgdG8gYmUgYXdhcmUgb2YgcmVnYXJkaW5n IHRoaXMgcHJvYmxlbSBpcyB0aGUKK2RpZmZlcmVuY2UgaW4gdGhlIHdheSB0aGF0IGNvbW1hbmRz IGFzc29jaWF0ZWQgdG8gZHByaW50ZiBicmVha3BvaW50cwordmVyc3VzIHJlZ3VsYXIgYnJlYWtw b2ludHMgYXJlIGhhbmRsZWQuICBXaGlsZSB0aGV5IGJvdGggdXNlIGEgY29tbWFuZAorbGlzdCBh c3NvY2lhdGVkIHdpdGggdGhlIGJyZWFrcG9pbnQsIHJlZ3VsYXIgYnJlYWtwb2ludHMgd2lsbCBw bGFjZQordGhlIGNvbW1hbmRzIHRvIGJlIHJ1biBvbiB0aGUgYnBzdGF0IGNoYWluIGNvbnN0cnVj dGVkIGluCiticF9zdG9wX3N0YXR1cygpLiAgVGhlc2UgY29tbWFuZHMgYXJlIHJ1biBsYXRlciBv bi4gIEZvciBkcHJpbnRmCiticmVha3BvaW50cywgY29tbWFuZHMgYXJlIHJ1biB2aWEgdGhlICdh ZnRlcl9jb25kaXRpb25fdHJ1ZScgZnVuY3Rpb24KK3BvaW50ZXIgZGlyZWN0bHkgZnJvbSBicHN0 YXRfc3RvcF9zdGF0dXMoKS4gIChUaGUgJ2NvbW1hbmRzJyBmaWVsZCBpbgordGhlIGJwc3RhdCBp cyBjbGVhcmVkIGluIGRwcmludGZfYWZ0ZXJfY29uZGl0aW9uX3RydWUoKS4gIFRoaXMKK3ByZXZl bnRzIHRoZSBkcHJpbnRmIGNvbW1hbmRzIGZyb20gYmVpbmcgcnVuIGFnYWluIGxhdGVyIG9uIHdo ZW4gb3RoZXIKK2NvbW1hbmRzIG9uIHRoZSBicHN0YXQgY2hhaW4gYXJlIHByb2Nlc3NlZC4pCisK K0Fub3RoZXIgdGhpbmcgdGhhdCBJIG5vdGljZWQgaXMgdGhhdCBkcHJpbnRmIGJyZWFrcG9pbnRz IGFyZSB0aGUgb25seQordHlwZSBvZiBicmVha3BvaW50IHdoaWNoIHVzZSAnYWZ0ZXJfY29uZGl0 aW9uX3RydWUnLiAgVGhpcyBzdWdnZXN0cwordGhhdCBvbmUgcG9zc2libGUgd2F5IG9mIGZpeGlu ZyB0aGlzIHByb2JsZW0sIHRoYXQgb2YgbWFraW5nIGRwcmludGYKK2JyZWFrcG9pbnRzIHdvcmsg bW9yZSBsaWtlIHJlZ3VsYXIgYnJlYWtwb2ludHMsIHByb2JhYmx5IHdvbid0IHdvcmsuCisoSSBt dXN0IGFkbWl0LCBob3dldmVyLCB0aGF0IG15IHVuZGVyc3RhbmRpbmcgb2YgdGhpcyBjb2RlIGlz bid0Citjb21wbGV0ZSBlbm91Z2ggdG8gc2F5IHdoeS4gIEknbGwgdHJ1c3QgdGhhdCB3aG9ldmVy IGltcGxlbWVudGVkIGl0CitoYWQgYSBnb29kIHJlYXNvbiBmb3IgZG9pbmcgaXQgdGhpcyB3YXku KQorCitUaGUgY29tbWVudCByZWZlcmVuY2VkIGVhcmxpZXIgcmVnYXJkaW5nICdleGVjdXRpbmdf YnJlYWtwb2ludF9jb21tYW5kcycKK3N0YXRlcyB0aGF0IHRoZSByZWFzb24gZm9yIGNoZWNraW5n IHRoaXMgdmFyaWFibGUgaXMgdG8gYXZvaWQKK3BvdGVudGlhbCBlbmRsZXNzIHJlY3Vyc2lvbiB3 aGVuIGEgJ3NvdXJjZScgY29tbWFuZCBhcHBlYXJzIGluCiticy0+Y29tbWFuZHMuICBXZSBrbm93 IHRoYXQgYSBkcHJpbnRmIGNvbW1hbmQgaXMgY29uc3RyYWluZWQgdG8gZWl0aGVyCisxKSBleGVj dXRpb24gb2YgYSBHREIgcHJpbnRmIGNvbW1hbmQsIDIpIGFuIGluZmVyaW9yIGZ1bmN0aW9uIGNh bGwgb2YKK2EgcHJpbnRmLWxpa2UgZnVuY3Rpb24sIG9yIDMpIGV4ZWN1dGlvbiBvZiBhbiBhZ2Vu dC1wcmludGYgY29tbWFuZC4KK1RoZXJlZm9yZSwgaW5maW5pdGUgcmVjdXJzaW9uIGR1ZSB0byBh ICdzb3VyY2UnIGNvbW1hbmQgY2Fubm90IGhhcHBlbgord2hlbiBleGVjdXRpbmcgY29tbWFuZHMg dXBvbiBoaXR0aW5nIGEgZHByaW50ZiBicmVha3BvaW50LgorCitJIGNob3NlIHRvIGZpeCB0aGlz IHByb2JsZW0gYnkgaGF2aW5nIGRwcmludGZfYWZ0ZXJfY29uZGl0aW9uX3RydWUoKQorZGlyZWN0 bHkgY2FsbCBleGVjdXRlX2NvbnRyb2xfY29tbWFuZHMoKS4gIFRoaXMgbWVhbnMgdGhhdCBpdCBu bworbG9uZ2VyIGF0dGVtcHRzIHRvIGdvIHRocm91Z2ggYnBzdGF0X2RvX2FjdGlvbnNfMSgpIGF2 b2lkaW5nIHRoZQoraW5maW5pdGUgcmVjdXJzaW9uIGNoZWNrIGZvciBwb3RlbnRpYWwgJ3NvdXJj ZScgY29tbWFuZHMgb24gdGhlCitjb21tYW5kIGNoYWluLiAgSSB0aGluayBpdCBzaW1wbGlmaWVz IHRoaXMgY29kZSBhIGxpdHRsZSBiaXQgdG9vLCBhCitkZWZpbml0ZSBib251cy4KKworU3VtbWFy eToKKworCSogYnJlYWtwb2ludC5jIChkcHJpbnRmX2FmdGVyX2NvbmRpdGlvbl90cnVlKTogRG9u J3QgY2FsbAorCWJwc3RhdF9kb19hY3Rpb25zXzEoKS4gIENhbGwgZXhlY3V0ZV9jb250cm9sX2Nv bW1hbmRzKCkKKwlpbnN0ZWFkLgorCitkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dk Yi9icmVha3BvaW50LmMKKy0tLSBhL2dkYi9icmVha3BvaW50LmMKKysrKyBiL2dkYi9icmVha3Bv aW50LmMKK0BAIC0xMzA0Myw5ICsxMzA0Myw2IEBAIGRwcmludGZfcHJpbnRfcmVjcmVhdGUgKHN0 cnVjdCBicmVha3BvaW50ICp0cCwgc3RydWN0IHVpX2ZpbGUgKmZwKQorIHN0YXRpYyB2b2lkCisg ZHByaW50Zl9hZnRlcl9jb25kaXRpb25fdHJ1ZSAoc3RydWN0IGJwc3RhdHMgKmJzKQorIHsKKy0g IHN0cnVjdCBicHN0YXRzIHRtcF9iczsKKy0gIHN0cnVjdCBicHN0YXRzICp0bXBfYnNfcCA9ICZ0 bXBfYnM7CistCisgICAvKiBkcHJpbnRmJ3MgbmV2ZXIgY2F1c2UgYSBzdG9wLiAgVGhpcyB3YXNu J3Qgc2V0IGluIHRoZQorICAgICAgY2hlY2tfc3RhdHVzIGhvb2sgaW5zdGVhZCBiZWNhdXNlIHRo YXQgd291bGQgbWFrZSB0aGUgZHByaW50ZidzCisgICAgICBjb25kaXRpb24gbm90IGJlIGV2YWx1 YXRlZC4gICovCitAQCAtMTMwNTYsMTQgKzEzMDUzLDkgQEAgZHByaW50Zl9hZnRlcl9jb25kaXRp b25fdHJ1ZSAoc3RydWN0IGJwc3RhdHMgKmJzKQorICAgICAgYnBzdGF0X2RvX2FjdGlvbnMsIGlm IGEgYnJlYWtwb2ludCB0aGF0IGNhdXNlcyBhIHN0b3AgaGFwcGVucyB0bworICAgICAgYmUgc2V0 IGF0IHNhbWUgYWRkcmVzcyBhcyB0aGlzIGRwcmludGYsIG9yIGV2ZW4gaWYgcnVubmluZyB0aGUK KyAgICAgIGNvbW1hbmRzIGhlcmUgdGhyb3dzLiAgKi8KKy0gIHRtcF9icy5jb21tYW5kcyA9IGJz LT5jb21tYW5kczsKKy0gIGJzLT5jb21tYW5kcyA9IE5VTEw7CistCistICBicHN0YXRfZG9fYWN0 aW9uc18xICgmdG1wX2JzX3ApOworLQorLSAgLyogJ3RtcF9icy5jb21tYW5kcycgd2lsbCB1c3Vh bGx5IGJlIE5VTEwgYnkgbm93LCBidXQKKy0gICAgIGJwc3RhdF9kb19hY3Rpb25zXzEgbWF5IHJl dHVybiBlYXJseSB3aXRob3V0IHByb2Nlc3NpbmcgdGhlIHdob2xlCistICAgICBsaXN0LiAgKi8K KysgIGNvdW50ZWRfY29tbWFuZF9saW5lIGNtZHMgPSBzdGQ6Om1vdmUgKGJzLT5jb21tYW5kcyk7 CisrICBnZGJfYXNzZXJ0IChjbWRzICE9IG51bGxwdHIpOworKyAgZXhlY3V0ZV9jb250cm9sX2Nv bW1hbmRzIChjbWRzLmdldCAoKSwgMCk7CisgfQorIAorIC8qIFRoZSBicmVha3BvaW50X29wcyBz dHJ1Y3R1cmUgdG8gYmUgdXNlZCBvbiBzdGF0aWMgdHJhY2Vwb2ludHMgd2l0aAoKZGlmZiAtLWdp dCBhL2dkYi1yaGJ6MjAyMjE3Ny1kcHJpbnRmLTIucGF0Y2ggYi9nZGItcmhiejIwMjIxNzctZHBy aW50Zi0yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0YmNkODcK LS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmhiejIwMjIxNzctZHByaW50Zi0yLnBhdGNoCkBAIC0w LDAgKzEsMTk0IEBACitGcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgorRGF0ZTogV2VkLCAx MCBOb3YgMjAyMSAxODo1NTo0MyAtMDcwMAorU3ViamVjdDogZ2RiLXJoYnoyMDIyMTc3LWRwcmlu dGYtMi5wYXRjaAorCis7OyBCYWNrcG9ydCB0ZXN0IGNhc2UgZm9yIGRwcmludGYgYnVnIChSSCBC WiAyMDIyMTc3KS4KKworVGVzdCBjYXNlIGZvciBCdWcgMjgzMDgKKworVGhlIHB1cnBvc2Ugb2Yg dGhpcyB0ZXN0IGlzIGRlc2NyaWJlZCBpbiB0aGUgY29tbWVudHMgaW4KK2RwcmludGYtZXhlY3V0 aW9uLXgtc2NyaXB0LmV4cC4KKworQnVnOiBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxh L3Nob3dfYnVnLmNnaT9pZD0yODMwOAorCitUaGUgbmFtZSBvZiB0aGlzIG5ldyB0ZXN0IHdhcyBi YXNlZCBvbiB0aGF0IG9mIGFuIGV4aXN0aW5nIHRlc3QsCiticC1jbWRzLWV4ZWN1dGlvbi14LXNj cmlwdC5leHAuICBJIHN0YXJ0ZWQgb2ZmIGJ5IGNvcHlpbmcgdGhhdCB0ZXN0LAorYWRkaW5nIHRv IGl0LCBhbmQgdGhlbiByZXdyaXRpbmcgYWxtb3N0IGFsbCBvZiBpdC4gIEl0J3MgZGlmZmVyZW50 Citlbm91Z2ggdGhhdCBJIGRlY2lkZWQgdGhhdCBsaXN0aW5nIHRoZSBjb3B5cmlnaHQgeWVhciBh cyAyMDIxCit3YXMgc3VmZmljaWVudC4KKworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQuYyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZHByaW50Zi1leGVjdXRpb24teC1zY3JpcHQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZHByaW50Zi1leGVjdXRp b24teC1zY3JpcHQuYworQEAgLTAsMCArMSw1MyBAQAorKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFy dCBvZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisrCisrICAgQ29weXJpZ2h0IDIwMjEgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCisrICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICAgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uICAqLworKworKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysjaW5jbHVkZSA8c3RkaW8u aD4KKysKKyt2b2xhdGlsZSBpbnQgdmkgPSAwOworKworK3ZvaWQKKytpbmNfdmkgKCkKKyt7Cisr ICB2aSsrOworK30KKysKKyt2b2lkCisrcHJpbnRfdmkgKCkKKyt7CisrICBwcmludGYgKCJ2aT0l ZFxuIiwgdmkpOworK30KKysKKyt2b2lkCisraW5jcmVtZW50ICgpCisreworKyAgaW5jX3ZpICgp OworK30KKysKKytpbnQKKyttYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisreworKyAgcHJp bnRfdmkgKCk7CisrICBpbmNyZW1lbnQgKCk7CisrICBwcmludF92aSAoKTsKKysgIGluY3JlbWVu dCAoKTsKKysgIHByaW50X3ZpICgpOworKyAgaW5jcmVtZW50ICgpOworKyAgcHJpbnRfdmkgKCk7 CisrCisrICBleGl0ICgwKTsKKyt9CitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9kcHJpbnRmLWV4ZWN1dGlvbi14LXNjcmlwdC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2RwcmludGYtZXhlY3V0aW9uLXgtc2NyaXB0LmV4cAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKKy0t LSAvZGV2L251bGwKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZHByaW50Zi1leGVjdXRp b24teC1zY3JpcHQuZXhwCitAQCAtMCwwICsxLDg1IEBACisrIyBDb3B5cmlnaHQgMjAyMSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uICAqLworKworKyMgVGVzdCB0aGF0IGNvbW1hbmRzIGluIGEgR0RCIHNjcmlwdCBmaWxlIHJ1 biB2aWEgR0RCJ3MgLXggZmxhZyB3b3JrCisrIyBhcyBleHBlY3RlZC4gIFNwZWNpZmljYWxseSwg dGhlIHNjcmlwdCBjcmVhdGVzIGEgZHByaW50ZiBicmVha3BvaW50CisrIyBhcyB3ZWxsIGFzIGEg bm9ybWFsIGJyZWFrcG9pbnQgdGhhdCBoYXMgImNvbnRpbnVlIiBpbiBpdHMgY29tbWFuZAorKyMg bGlzdCwgYW5kIHRoZW4gZG9lcyAicnVuIi4gIENvcnJlY3Qgb3V0cHV0IGZyb20gR0RCIGlzIGNo ZWNrZWQgYXMKKysjIHBhcnQgb2YgdGhpcyB0ZXN0LgorKworKyMgQmFpbCBvdXQgaWYgdGhlIHRh cmdldCBjYW4ndCB1c2UgdGhlICdydW4nIGNvbW1hbmQuCisraWYgIVt0YXJnZXRfY2FuX3VzZV9y dW5fY21kXSB7CisrICAgIHJldHVybiAwCisrfQorKworK3N0YW5kYXJkX3Rlc3RmaWxlCisrCisr aWYge1tidWlsZF9leGVjdXRhYmxlICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNm aWxlIGRlYnVnXX0geworKyAgICByZXR1cm4gLTEKKyt9CisrCisrIyBUaGlzIGlzIHRoZSBuYW1l IG9mIHRoZSBHREIgc2NyaXB0IHRvIGxvYWQuCisrc2V0IHhfZmlsZSAke3NyY2Rpcn0vJHtzdWJk aXJ9LyR0ZXN0ZmlsZS5nZGIKKysKKysjIENyZWF0ZSBjb250ZXh0IGluIHdoaWNoIHRoZSBnbG9i YWwsIEdEQkZMQUdTLCB3aWxsIGJlIHJlc3RvcmVkIGF0CisrIyB0aGUgZW5kIG9mIHRoZSBibG9j ay4gIEFsbCBjb21tYW5kcyBydW4gd2l0aGluIHRoZSBibG9jayBhcmUKKysjIGFjdHVhbGx5IHJ1 biBpbiB0aGUgb3V0ZXIgY29udGV4dC4gIChUaGlzIGlzIHdoeSAncmVzJyBpcyBhdmFpbGFibGUK KysjIG91dHNpZGUgb2YgdGhlIHNhdmVfdmFycyBibG9jay4pCisrc2F2ZV92YXJzIHsgR0RCRkxB R1MgfSB7CisrICAgICMgU2V0IGZsYWdzIHdpdGggd2hpY2ggdG8gc3RhcnQgR0RCLgorKyAgICBh cHBlbmQgR0RCRkxBR1MgIiAtZXggXCJzZXQgaGVpZ2h0IHVubGltaXRlZFwiIgorKyAgICBhcHBl bmQgR0RCRkxBR1MgIiAteCBcIiR4X2ZpbGVcIiIKKysgICAgYXBwZW5kIEdEQkZMQUdTICIgLS1h cmdzIFwiJGJpbmZpbGVcIiIKKysKKysgICAgIyBTdGFydCBHREIgd2l0aCBhYm92ZSBmbGFncy4K KysgICAgc2V0IHJlcyBbZ2RiX3NwYXduXQorK30KKysKKytzZXQgdGVzdCAibG9hZCBhbmQgcnVu IHNjcmlwdCB3aXRoIC14IgorK2lmIHsgJHJlcyAhPSAwfSB7CisrICAgIGZhaWwgJHRlc3QKKysg ICAgcmV0dXJuIC0xCisrfQorKworKyMgVGhlIHNjcmlwdCBsb2FkZWQgdmlhIC14IGNvbnRhaW5z IGEgcnVuIGNvbW1hbmQ7IHdoaWxlIHJ1bm5pbmcsIEdEQgorKyMgaXMgZXhwZWN0ZWQgdG8gcHJp bnQgdGhyZWUgbWVzc2FnZXMgZnJvbSBkcHJpbnRmIGJyZWFrcG9pbnRzIGFsb25nCisrIyB3aXRo IHRocmVlIGludGVyc3BlcnNlZCBtZXNzYWdlcyBmcm9tIGFuIG9yZGluYXJ5IGJyZWFrcG9pbnQg KHdoaWNoCisrIyB3YXMgc2V0IHVwIHdpdGggYSBjb250aW51ZSBjb21tYW5kKS4gIFNldCB1cCBw YXR0ZXJuIEQgdG8gbWF0Y2gKKysjIG91dHB1dCBmcm9tIGhpdHRpbmcgdGhlIGRwcmludGYgYnJl YWtwb2ludCBhbmQgQiBmb3IgdGhlIG9yZGluYXJ5CisrIyBicmVha3BvaW50LiAgVGhlbiBzZXQg UEFUIHRvIGNvbnRhaW4gdGhlIGVudGlyZSBwYXR0ZXJuIG9mIGV4cGVjdGVkCisrIyBvdXRwdXQg ZnJvbSB0aGUgaW50ZXJzcGVyc2VkIGRwcmludGYgYW5kIG9yZGluYXJ5IGJyZWFrcG9pbnRzIGFs b25nCisrIyB3aXRoIHNvbWUgKGFkZGl0aW9uYWwpIGV4cGVjdGVkIG91dHB1dCBmcm9tIHRoZSBk cHJpbnRmIGJyZWFrcG9pbnRzLAorKyMgaS5lLiAwLCAxLCBhbmQgMi4KKytzZXQgZCAiZHByaW50 ZiBpbiBpbmNyZW1lbnQuLiwgdmk9IgorK3NldCBiICJCcmVha3BvaW50IC4sIGluY192aSIKKytz ZXQgcGF0ICIke2R9MC4qPyRiLio/JHtkfTEuKj8kYi4qPyR7ZH0yLio/JGIuKj8iCisrCisrcHJv YyBkb190ZXN0IHtjbWQgdGVzdH0geworKyAgICBnZGJfdGVzdCAkY21kICIkOjpwYXQkOjppbmZl cmlvcl9leGl0ZWRfcmUgbm9ybWFsbHkuKiIgJHRlc3QKKyt9CisrCisrIyBDaGVjayBvdXRwdXQg ZnJvbSBydW5uaW5nIHNjcmlwdCB3aXRoIC14CisrZG9fdGVzdCAiIiAkdGVzdAorKworKyMgUmVz dGFydCBHREIgYW5kICdzb3VyY2UnIHRoZSBzY3JpcHQ7IHRoaXMgd2lsbCAoc3RpbGwpIHJ1biB0 aGUgcHJvZ3JhbQorKyMgZHVlIHRvIHRoZSAncnVuJyBjb21tYW5kIGluIHRoZSBzY3JpcHQuCisr Y2xlYW5fcmVzdGFydCAkYmluZmlsZQorK2RvX3Rlc3QgInNvdXJjZSAkeF9maWxlIiAibG9hZCBh bmQgcnVuIHNjcmlwdCB1c2luZyBzb3VyY2UgY29tbWFuZCIKKysKKysjIFRoaXMgc2hvdWxkIGxl YXZlIHVzIGF0IHRoZSBnZGIgcHJvbXB0OyBSdW4gcHJvZ3JhbSBhZ2FpbiB1c2luZworKyMgYWxy ZWFkeSBlc3RhYmxpc2hlZCBicmVha3BvaW50cywgaS5lLiB0aG9zZSBsb2FkZWQgZnJvbSB0aGUK KysjIHNjcmlwdC4gIFByaW9yIHRvIGZpeGluZyBQUiAyODMwOCwgdGhpcyB3YXMgdGhlIG9ubHkg dGVzdCB0aGF0CisrIyB3b3VsZCBwYXNzLgorK2RvX3Rlc3QgInJ1biIgInJ1biBhZ2FpbiIKK2Rp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RwcmludGYtZXhlY3V0aW9uLXgtc2Ny aXB0LmdkYiBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZHByaW50Zi1leGVjdXRpb24teC1zY3Jp cHQuZ2RiCituZXcgZmlsZSBtb2RlIDEwMDY0NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9kcHJpbnRmLWV4ZWN1dGlvbi14LXNjcmlwdC5nZGIKK0BAIC0wLDAg KzEsMjEgQEAKKysjIENvcHlyaWdodCAyMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorKworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrZHByaW50ZiBpbmNy ZW1lbnQsICJkcHJpbnRmIGluIGluY3JlbWVudCgpLCB2aT0lZFxuIiwgdmkKKyticmVhayBpbmNf dmkKKytjb21tYW5kcworKyAgY29udGludWUKKytlbmQKKytydW4KCmRpZmYgLS1naXQgYS9nZGIu c3BlYyBiL2dkYi5zcGVjCmluZGV4IGIyYWMyMGYuLmU1NjAxNWYgMTAwNjQ0Ci0tLSBhL2dkYi5z cGVjCisrKyBiL2dkYi5zcGVjCkBAIC0zNyw3ICszNyw3IEBAIFZlcnNpb246IDExLjEKIAogIyBU aGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3Rh cnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5 IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxl YXNlOiA0JXs/ZGlzdH0KK1JlbGVhc2U6IDUlez9kaXN0fQogCiBMaWNlbnNlOiBHUEx2MysgYW5k IEdQTHYzKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTHYyKyBhbmQgR1BMdjIrIHdpdGggZXhjZXB0 aW9ucyBhbmQgR1BMKyBhbmQgTEdQTHYyKyBhbmQgTEdQTHYzKyBhbmQgQlNEIGFuZCBQdWJsaWMg RG9tYWluIGFuZCBHRkRMCiAjIERvIG5vdCBwcm92aWRlIFVSTCBmb3Igc25hcHNob3RzIGFzIHRo ZSBmaWxlIGxhc3RzIHRoZXJlIG9ubHkgZm9yIDIgZGF5cy4KQEAgLTExNDMsNiArMTE0MywxMCBA QCBmaQogJWVuZGlmCiAKICVjaGFuZ2Vsb2cKKyogV2VkIE5vdiAxMCAyMDIxIEtldmluIEJ1ZXR0 bmVyIC0gMTEuMS01CistIEJhY2twb3J0IHVwc3RyZWFtIGZpeCBhbmQgdGVzdCBjYXNlIGZvciBh IGRwcmludGYgYnVnIChSSEJaIDIwMjIxNzcsIEtldmluCisgIEJ1ZXR0bmVyKS4KKwogKiBUdWUg Tm92IDkgMjAyMSBCcnVubyBMYXJzZW4gLSAxMS4xLTQKIC0gQmFja3BvcnQgbWFucGFnZSB1cGRh dGUgdG8gYmUgY2xvc2VyIHRvIC1oZWxwIChSSEJaIDg1MzA3MSkKIAo=