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: Andrew Burgess To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Back-port upstream commits to fix non-consistent gdb-index creation Date: Sun, 28 Jun 2026 00:01:25 GMT Message-ID: <178260488517.1.16543732860083292566.rpms-gdb-c26c6b70cb66@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: c26c6b70cb66136db7b4cbfb4899fc595889ea85 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogYzI2YzZiNzBjYjY2MTM2ZGI3YjRjYmZiNDg5OWZjNTk1ODg5 ZWE4NQogICAgICAgICAgICBBdXRob3IgOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0 LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAyMy0xMS0yOFQxNToyMDoyNyswMDowMAogICAg ICAgICAgICBTdGF0cyAgOiArOTMyLy0xIGluIDkgZmlsZShzKQogICAgICAgICAgICBVUkwgICAg OiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jL2MyNmM2YjcwY2I2NjEz NmRiN2I0Y2JmYjQ4OTlmYzU5NTg4OWVhODU/YnJhbmNoPWdkYi0xNy4yLXJlYmFzZS1mNDQKCiAg ICAgICAgICAgIExvZzoKICAgICAgICAgICAgQmFjay1wb3J0IHVwc3RyZWFtIGNvbW1pdHMgdG8g Zml4IG5vbi1jb25zaXN0ZW50IGdkYi1pbmRleCBjcmVhdGlvbgoKQmFja3BvcnQgdXBzdHJlYW0g Y29tbWl0cyAxZjBmYWI3ZmY4NiwgYWExOWJjMWQyNTksIGFjYzExN2I1N2Y3LAphZmYyNTAxNDVh ZiwgYW5kIDM2NDRmNDFkYzgwLiAgVGhlc2UgY29tbWl0cyByZWR1Y2UgdGhlIHNpemUgb2YgdGhl CmdlbmVyYXRlZCBnZGItaW5kZXggZmlsZSwgYW5kIGFsc28gZW5zdXJlIHRoYXQgdGhlIGdkYi1p bmRleCBhbmQKZHdhcmYtNSBpbmRleCBhcmUgZ2VuZXJhdGVkIGNvbnNpc3RlbnRseSBldmVuIGFz IHRoZSBudW1iZXIgb2Ygd29ya2VyCnRocmVhZHMgdGhhdCBHREIgdXNlcyBjaGFuZ2VzIChSSEJa IDIyMzIwODYpLgoKVGhlIGZpcnN0IGFuZCB0aGlyZCBvZiB0aGVzZSBwYXRjaGVzIGFyZSByZWZh Y3RvcmluZywgYnV0IGFyZSByZXF1aXJlZApieSB0aGUgb3RoZXIgcGF0Y2hlcyBpbiB0aGlzIHNl cmllcy4KClRoZSBzZWNvbmQgcGF0Y2ggZml4ZXMgYSBidWcgdGhhdCBjYXVzZXMgdGhlIGdkYi1p bmRleCBmaWxlcyB0bwpiZSAoc29tZXRpbWVzKSBiaWdnZXIgdGhhbiBuZWVkZWQuCgpUaGUgZm91 cnRoIGFuZCBmaWZ0aCBwYXRjaGVzIGVuc3VyZSB0aGF0IHRoZSBnZGItaW5kZXggYW5kIGR3YXJm LTUKaW5kZXggKHJlc3BlY3RpdmVseSkgYXJlIGdlbmVyYXRlZCB0aGUgc2FtZSAoZm9yIHRoZSBz YW1lIGlucHV0CmJpbmFyeSksIHJlZ2FyZGxlc3Mgb2YgaG93IG1hbnkgd29ya2VyIHRocmVhZHMg dGhhdCBHREIgdXNlcy4KCi0tLQpkaWZmIC0tZ2l0IGEvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUg Yi9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZQppbmRleCBjNWIwNDY4Li5mZTZiNGQxIDEwMDY0NAot LS0gYS9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZQorKysgYi9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVk ZQpAQCAtMjA3LDMgKzIwNywyMyBAQCBQYXRjaDA0NzogZ2RiLXJoYnoyMjMzOTY1LW1lbW9yeS1s ZWFrLnBhdGNoCiAjIGdlbmVyYXRpbmcgYSBnZGItaW5kZXggZmlsZSAoUkggQlogMTc3MzY1MSku CiBQYXRjaDA0ODogZ2RiLXJoYnoxNzczNjUxLWdkYi1pbmRleC1pbnRlcm5hbC1lcnJvci5wYXRj aAogCisjIEJhY2stcG9ydCB1cHN0cmVhbSBjb21taXQgMWYwZmFiN2ZmODYgYXMgcGFydCBvZiBh IGZpeCBmb3IKKyMgbm9uLWRldGVybWluaXN0aWMgZ2RiLWluZGV4IGdlbmVyYXRpb24gKFJIIEJa IDIyMzIwODYpLgorUGF0Y2gwNDk6IGdkYi1yaGJ6MjIzMjA4Ni1yZWZhY3Rvci1zZWxmdGVzdC1z dXBwb3J0LnBhdGNoCisKKyMgQmFjay1wb3J0IHVwc3RyZWFtIGNvbW1pdCBhYTE5YmMxZDI1OSBh cyBwYXJ0IG9mIGEgZml4IGZvcgorIyBub24tZGV0ZXJtaW5pc3RpYyBnZGItaW5kZXggZ2VuZXJh dGlvbiAoUkggQlogMjIzMjA4NikuCitQYXRjaDA1MDogZ2RiLXJoYnotMjIzMjA4Ni1yZWR1Y2Ut c2l6ZS1vZi1nZGItaW5kZXgucGF0Y2gKKworIyBCYWNrLXBvcnQgdXBzdHJlYW0gY29tbWl0IGFj YzExN2I1N2Y3IGFzIHBhcnQgb2YgYSBmaXggZm9yCisjIG5vbi1kZXRlcm1pbmlzdGljIGdkYi1p bmRleCBnZW5lcmF0aW9uIChSSCBCWiAyMjMyMDg2KS4KK1BhdGNoMDUxOiBnZGItcmhiei0yMjMy MDg2LWNwcC1pZnktbWFwcGVkLXN5bXRhYi5wYXRjaAorCisjIEJhY2stcG9ydCB1cHN0cmVhbSBj b21taXQgYWZmMjUwMTQ1YWYgYXMgcGFydCBvZiBhIGZpeCBmb3IKKyMgbm9uLWRldGVybWluaXN0 aWMgZ2RiLWluZGV4IGdlbmVyYXRpb24gKFJIIEJaIDIyMzIwODYpLgorUGF0Y2gwNTI6IGdkYi1y aGJ6LTIyMzIwODYtZ2VuZXJhdGUtZ2RiLWluZGV4LWNvbnNpc3RlbnRseS5wYXRjaAorCisjIEJh Y2stcG9ydCB1cHN0cmVhbSBjb21taXQgMzY0NGY0MWRjODAgYXMgcGFydCBvZiBhIGZpeCBmb3IK KyMgbm9uLWRldGVybWluaXN0aWMgZ2RiLWluZGV4IGdlbmVyYXRpb24gKFJIIEJaIDIyMzIwODYp LgorUGF0Y2gwNTM6IGdkYi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZHdhcmYtNS1pbmRleC1jb25z aXN0ZW50bHkucGF0Y2gKKwoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlIGIv X2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKaW5kZXggZWY1NWRkMC4uOGVjMTNlOSAxMDA2NDQKLS0t IGEvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUK QEAgLTQ2LDMgKzQ2LDggQEAKICVwYXRjaCAtcDEgLVAwNDYKICVwYXRjaCAtcDEgLVAwNDcKICVw YXRjaCAtcDEgLVAwNDgKKyVwYXRjaCAtcDEgLVAwNDkKKyVwYXRjaCAtcDEgLVAwNTAKKyVwYXRj aCAtcDEgLVAwNTEKKyVwYXRjaCAtcDEgLVAwNTIKKyVwYXRjaCAtcDEgLVAwNTMKCmRpZmYgLS1n aXQgYS9fcGF0Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggZTVmNWIzNi4uNzEzZjg1MCAx MDA2NDQKLS0tIGEvX3BhdGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtNDYsMyArNDYs OCBAQCBnZGItYnoyMjM3MzkyLWR3YXJmLW9ic3RhY2stYWxsb2NhdGlvbi5wYXRjaAogZ2RiLXJo YnoyMjMzOTYxLUNWRS0yMDIyLTQ4MDYucGF0Y2gKIGdkYi1yaGJ6MjIzMzk2NS1tZW1vcnktbGVh ay5wYXRjaAogZ2RiLXJoYnoxNzczNjUxLWdkYi1pbmRleC1pbnRlcm5hbC1lcnJvci5wYXRjaAor Z2RiLXJoYnoyMjMyMDg2LXJlZmFjdG9yLXNlbGZ0ZXN0LXN1cHBvcnQucGF0Y2gKK2dkYi1yaGJ6 LTIyMzIwODYtcmVkdWNlLXNpemUtb2YtZ2RiLWluZGV4LnBhdGNoCitnZGItcmhiei0yMjMyMDg2 LWNwcC1pZnktbWFwcGVkLXN5bXRhYi5wYXRjaAorZ2RiLXJoYnotMjIzMjA4Ni1nZW5lcmF0ZS1n ZGItaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCitnZGItcmhiei0yMjMyMDg2LWdlbmVyYXRlLWR3 YXJmLTUtaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnotMjIz MjA4Ni1jcHAtaWZ5LW1hcHBlZC1zeW10YWIucGF0Y2ggYi9nZGItcmhiei0yMjMyMDg2LWNwcC1p ZnktbWFwcGVkLXN5bXRhYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li40YWNjY2E2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2RiLXJoYnotMjIzMjA4Ni1jcHAtaWZ5LW1h cHBlZC1zeW10YWIucGF0Y2gKQEAgLTAsMCArMSwyNjQgQEAKK0Zyb20gRkVET1JBX1BBVENIRVMg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NA cmVkaGF0LmNvbT4KK0RhdGU6IFNhdCwgMjUgTm92IDIwMjMgMTA6MzU6MzcgKzAwMDAKK1N1Ympl Y3Q6IGdkYi1yaGJ6LTIyMzIwODYtY3BwLWlmeS1tYXBwZWQtc3ltdGFiLnBhdGNoCisKKzs7IEJh Y2stcG9ydCB1cHN0cmVhbSBjb21taXQgYWNjMTE3YjU3ZjcgYXMgcGFydCBvZiBhIGZpeCBmb3IK Kzs7IG5vbi1kZXRlcm1pbmlzdGljIGdkYi1pbmRleCBnZW5lcmF0aW9uIChSSCBCWiAyMjMyMDg2 KS4KKworZ2RiOiBDKystaWZ5IG1hcHBlZF9zeW10YWIgZnJvbSBkd2FyZjIvaW5kZXgtd3JpdGUu YworCitNYWtlIHN0YXRpYyB0aGUgZnVuY3Rpb25zIGFkZF9pbmRleF9lbnRyeSwgZmluZF9zbG90 LCBhbmQgaGFzaF9leHBhbmQsCittZW1iZXIgZnVuY3Rpb25zIG9mIHRoZSBtYXBwZWRfc3ltdGFi IGNsYXNzLgorCitGb2xkIGFuIGFkZGl0aW9uYWwgc25pcHBldCBvZiBjb2RlIGZyb20gd3JpdGVf Z2RiaW5kZXggaW50bworbWFwcGVkX3N5bXRhYjo6bWluaW1pemUsIHRoaXMgY29kZSByZWxhdGVz IHRvIG1pbmltaXNhdGlvbiwgc28gdGhpcworc2VlbXMgbGlrZSBhIGdvb2QgaG9tZSBmb3IgaXQu CisKK01ha2UgdGhlIG5fZWxlbWVudHMsIGRhdGEsIGFuZCBtX3N0cmluZ19vYnN0YWNrIG1lbWJl ciB2YXJpYWJsZXMgb2YKK21hcHBlZF9zeW10YWIgcHJpdmF0ZS4gIFByb3ZpZGUgYSBuZXcgb2Jz dGFjaygpIG1lbWJlciBmdW5jdGlvbiB0bworcHJvdmlkZSBhY2Nlc3MgdG8gdGhlIG9ic3RhY2sg d2hlbiBuZWVkZWQsIGFuZCBhbHNvIGFkZCBtZW1iZXIKK2Z1bmN0aW9ucyBiZWdpbigpLCBlbmQo KSwgY2JlZ2luKCksIGFuZCBjZW5kKCkgc28gdGhhdCB0aGUKK21hcHBlZF9zeW10YWIgY2xhc3Mg Y2FuIGJlIHRyZWF0ZWQgbGlrZSBhIGNvbnRhaW5lZCBhbmQgaXRlcmF0ZWQKK292ZXIuCisKK0kn dmUgYWxzbyB0YWtlbiB0aGlzIG9wcG9ydHVuaXR5IHRvIHNwbGl0IG91dCB0aGUgbG9naWMgZm9y IHdoZXRoZXIKK3RoZSBoYXNoIHRhYmxlIChtX2RhdGEpIG5lZWRzIGV4cGFuZGluZywgdGhpcyBp cyB0aGUgbmV3IGZ1bmN0aW9uCitoYXNoX25lZWRzX2V4cGFuZGluZy4gIFRoaXMgd2lsbCBiZSB1 c2VmdWwgaW4gYSBsYXRlciBjb21taXQuCisKK1RoZXJlIHNob3VsZCBiZSBubyB1c2VyIHZpc2li bGUgY2hhbmdlcyBhZnRlciB0aGlzIGNvbW1pdC4KKworQXBwcm92ZWQtQnk6IFRvbSBUcm9tZXkg PHRvbUB0cm9tZXkuY29tPgorCitkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5j IGIvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jCistLS0gYS9nZGIvZHdhcmYyL2luZGV4LXdyaXRl LmMKKysrKyBiL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYworQEAgLTE4Nyw4NiArMTg3LDEzNSBA QCBzdHJ1Y3QgbWFwcGVkX3N5bXRhYgorIHsKKyAgIG1hcHBlZF9zeW10YWIgKCkKKyAgIHsKKy0g ICAgZGF0YS5yZXNpemUgKDEwMjQpOworKyAgICBtX2RhdGEucmVzaXplICgxMDI0KTsKKyAgIH0K KyAKKy0gIC8qIE1pbmltaXplIGVhY2ggZW50cnkgaW4gdGhlIHN5bWJvbCB0YWJsZSwgcmVtb3Zp bmcgZHVwbGljYXRlcy4gICovCisrICAvKiBJZiB0aGVyZSBhcmUgbm8gZWxlbWVudHMgaW4gdGhl IHN5bWJvbCB0YWJsZSwgdGhlbiByZWR1Y2UgdGhlIHRhYmxlCisrICAgICBzaXplIHRvIHplcm8u ICBPdGhlcndpc2UgY2FsbCBzeW10YWJfaW5kZXhfZW50cnk6Om1pbmltaXplIGVhY2ggZW50cnkK KysgICAgIGluIHRoZSBzeW1ib2wgdGFibGUuICAqLworKworICAgdm9pZCBtaW5pbWl6ZSAoKQor ICAgeworLSAgICBmb3IgKHN5bXRhYl9pbmRleF9lbnRyeSAmaXRlbSA6IGRhdGEpCisrICAgIGlm IChtX2VsZW1lbnRfY291bnQgPT0gMCkKKysgICAgICBtX2RhdGEucmVzaXplICgwKTsKKysKKysg ICAgZm9yIChzeW10YWJfaW5kZXhfZW50cnkgJml0ZW0gOiBtX2RhdGEpCisgICAgICAgaXRlbS5t aW5pbWl6ZSAoKTsKKyAgIH0KKyAKKy0gIG9mZnNldF90eXBlIG5fZWxlbWVudHMgPSAwOworLSAg c3RkOjp2ZWN0b3I8c3ltdGFiX2luZGV4X2VudHJ5PiBkYXRhOworKyAgLyogQWRkIGFuIGVudHJ5 IHRvIFNZTVRBQi4gIE5BTUUgaXMgdGhlIG5hbWUgb2YgdGhlIHN5bWJvbC4gIENVX0lOREVYIGlz CisrICAgICB0aGUgaW5kZXggb2YgdGhlIENVIGluIHdoaWNoIHRoZSBzeW1ib2wgYXBwZWFycy4g IElTX1NUQVRJQyBpcyBvbmUgaWYKKysgICAgIHRoZSBzeW1ib2wgaXMgc3RhdGljLCBvdGhlcndp c2UgemVybyAoZ2xvYmFsKS4gICovCisrCisrICB2b2lkIGFkZF9pbmRleF9lbnRyeSAoY29uc3Qg Y2hhciAqbmFtZSwgaW50IGlzX3N0YXRpYywKKysJCQlnZGJfaW5kZXhfc3ltYm9sX2tpbmQga2lu ZCwgb2Zmc2V0X3R5cGUgY3VfaW5kZXgpOworKworKyAgLyogQWNjZXNzIHRoZSBvYnN0YWNrLiAg Ki8KKysgIHN0cnVjdCBvYnN0YWNrICpvYnN0YWNrICgpCisrICB7IHJldHVybiAmbV9zdHJpbmdf b2JzdGFjazsgfQorKworK3ByaXZhdGU6CisrCisrICAvKiBGaW5kIGEgc2xvdCBpbiBTWU1UQUIg Zm9yIHRoZSBzeW1ib2wgTkFNRS4gIFJldHVybnMgYSByZWZlcmVuY2UgdG8KKysgICAgIHRoZSBz bG90LgorKworKyAgICAgRnVuY3Rpb24gaXMgdXNlZCBvbmx5IGR1cmluZyB3cml0ZV9oYXNoX3Rh YmxlIHNvIG5vIGluZGV4IGZvcm1hdAorKyAgICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpcyBu ZWVkZWQuICAqLworKworKyAgc3ltdGFiX2luZGV4X2VudHJ5ICZmaW5kX3Nsb3QgKGNvbnN0IGNo YXIgKm5hbWUpOworKworKyAgLyogRXhwYW5kIFNZTVRBQidzIGhhc2ggdGFibGUuICAqLworKwor KyAgdm9pZCBoYXNoX2V4cGFuZCAoKTsKKysKKysgIC8qIFJldHVybiB0cnVlIGlmIHRoZSBoYXNo IHRhYmxlIGluIGRhdGEgbmVlZHMgdG8gZ3Jvdy4gICovCisrCisrICBib29sIGhhc2hfbmVlZHNf ZXhwYW5kaW5nICgpIGNvbnN0CisrICB7IHJldHVybiA0ICogbV9lbGVtZW50X2NvdW50IC8gMyA+ PSBtX2RhdGEuc2l6ZSAoKTsgfQorKworKyAgLyogQSB2ZWN0b3IgdGhhdCBpcyB1c2VkIGFzIGEg aGFzaCB0YWJsZS4gICovCisrICBzdGQ6OnZlY3RvcjxzeW10YWJfaW5kZXhfZW50cnk+IG1fZGF0 YTsKKysKKysgIC8qIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgc3RvcmVkIGluIHRoZSBtX2RhdGEg aGFzaC4gICovCisrICBvZmZzZXRfdHlwZSBtX2VsZW1lbnRfY291bnQgPSAwOworIAorICAgLyog VGVtcG9yYXJ5IHN0b3JhZ2UgZm9yIG5hbWVzLiAgKi8KKyAgIGF1dG9fb2JzdGFjayBtX3N0cmlu Z19vYnN0YWNrOworLX07CisgCistLyogRmluZCBhIHNsb3QgaW4gU1lNVEFCIGZvciB0aGUgc3lt Ym9sIE5BTUUuICBSZXR1cm5zIGEgcmVmZXJlbmNlIHRvCistICAgdGhlIHNsb3QuCisrcHVibGlj OgorKyAgdXNpbmcgaXRlcmF0b3IgPSBkZWNsdHlwZSAobV9kYXRhKTo6aXRlcmF0b3I7CisrICB1 c2luZyBjb25zdF9pdGVyYXRvciA9IGRlY2x0eXBlIChtX2RhdGEpOjpjb25zdF9pdGVyYXRvcjsK KyAKKy0gICBGdW5jdGlvbiBpcyB1c2VkIG9ubHkgZHVyaW5nIHdyaXRlX2hhc2hfdGFibGUgc28g bm8gaW5kZXggZm9ybWF0IGJhY2t3YXJkCistICAgY29tcGF0aWJpbGl0eSBpcyBuZWVkZWQuICAq LworKyAgaXRlcmF0b3IgYmVnaW4gKCkKKysgIHsgcmV0dXJuIG1fZGF0YS5iZWdpbiAoKTsgfQor IAorLXN0YXRpYyBzeW10YWJfaW5kZXhfZW50cnkgJgorLWZpbmRfc2xvdCAoc3RydWN0IG1hcHBl ZF9zeW10YWIgKnN5bXRhYiwgY29uc3QgY2hhciAqbmFtZSkKKysgIGl0ZXJhdG9yIGVuZCAoKQor KyAgeyByZXR1cm4gbV9kYXRhLmVuZCAoKTsgfQorKworKyAgY29uc3RfaXRlcmF0b3IgY2JlZ2lu ICgpCisrICB7IHJldHVybiBtX2RhdGEuY2JlZ2luICgpOyB9CisrCisrICBjb25zdF9pdGVyYXRv ciBjZW5kICgpCisrICB7IHJldHVybiBtX2RhdGEuY2VuZCAoKTsgfQorK307CisrCisrLyogU2Vl IGNsYXNzIGRlZmluaXRpb24uICAqLworKworK3N5bXRhYl9pbmRleF9lbnRyeSAmCisrbWFwcGVk X3N5bXRhYjo6ZmluZF9zbG90IChjb25zdCBjaGFyICpuYW1lKQorIHsKKyAgIG9mZnNldF90eXBl IGluZGV4LCBzdGVwLCBoYXNoID0gbWFwcGVkX2luZGV4X3N0cmluZ19oYXNoIChJTlRfTUFYLCBu YW1lKTsKKyAKKy0gIGluZGV4ID0gaGFzaCAmIChzeW10YWItPmRhdGEuc2l6ZSAoKSAtIDEpOwor LSAgc3RlcCA9ICgoaGFzaCAqIDE3KSAmIChzeW10YWItPmRhdGEuc2l6ZSAoKSAtIDEpKSB8IDE7 CisrICBpbmRleCA9IGhhc2ggJiAobV9kYXRhLnNpemUgKCkgLSAxKTsKKysgIHN0ZXAgPSAoKGhh c2ggKiAxNykgJiAobV9kYXRhLnNpemUgKCkgLSAxKSkgfCAxOworIAorICAgZm9yICg7OykKKyAg ICAgeworLSAgICAgIGlmIChzeW10YWItPmRhdGFbaW5kZXhdLm5hbWUgPT0gTlVMTAorLQkgIHx8 IHN0cmNtcCAobmFtZSwgc3ltdGFiLT5kYXRhW2luZGV4XS5uYW1lKSA9PSAwKQorLQlyZXR1cm4g c3ltdGFiLT5kYXRhW2luZGV4XTsKKy0gICAgICBpbmRleCA9IChpbmRleCArIHN0ZXApICYgKHN5 bXRhYi0+ZGF0YS5zaXplICgpIC0gMSk7CisrICAgICAgaWYgKG1fZGF0YVtpbmRleF0ubmFtZSA9 PSBOVUxMCisrCSAgfHwgc3RyY21wIChuYW1lLCBtX2RhdGFbaW5kZXhdLm5hbWUpID09IDApCisr CXJldHVybiBtX2RhdGFbaW5kZXhdOworKyAgICAgIGluZGV4ID0gKGluZGV4ICsgc3RlcCkgJiAo bV9kYXRhLnNpemUgKCkgLSAxKTsKKyAgICAgfQorIH0KKyAKKy0vKiBFeHBhbmQgU1lNVEFCJ3Mg aGFzaCB0YWJsZS4gICovCisrLyogU2VlIGNsYXNzIGRlZmluaXRpb24uICAqLworIAorLXN0YXRp YyB2b2lkCistaGFzaF9leHBhbmQgKHN0cnVjdCBtYXBwZWRfc3ltdGFiICpzeW10YWIpCisrdm9p ZAorK21hcHBlZF9zeW10YWI6Omhhc2hfZXhwYW5kICgpCisgeworLSAgYXV0byBvbGRfZW50cmll cyA9IHN0ZDo6bW92ZSAoc3ltdGFiLT5kYXRhKTsKKysgIGF1dG8gb2xkX2VudHJpZXMgPSBzdGQ6 Om1vdmUgKG1fZGF0YSk7CisgCistICBzeW10YWItPmRhdGEuY2xlYXIgKCk7CistICBzeW10YWIt PmRhdGEucmVzaXplIChvbGRfZW50cmllcy5zaXplICgpICogMik7CisrICBnZGJfYXNzZXJ0ICht X2RhdGEuc2l6ZSAoKSA9PSAwKTsKKysgIG1fZGF0YS5yZXNpemUgKG9sZF9lbnRyaWVzLnNpemUg KCkgKiAyKTsKKyAKKyAgIGZvciAoYXV0byAmaXQgOiBvbGRfZW50cmllcykKKyAgICAgaWYgKGl0 Lm5hbWUgIT0gTlVMTCkKKyAgICAgICB7CistCWF1dG8gJnJlZiA9IGZpbmRfc2xvdCAoc3ltdGFi LCBpdC5uYW1lKTsKKysJYXV0byAmcmVmID0gdGhpcy0+ZmluZF9zbG90IChpdC5uYW1lKTsKKyAJ cmVmID0gc3RkOjptb3ZlIChpdCk7CisgICAgICAgfQorIH0KKyAKKy0vKiBBZGQgYW4gZW50cnkg dG8gU1lNVEFCLiAgTkFNRSBpcyB0aGUgbmFtZSBvZiB0aGUgc3ltYm9sLgorLSAgIENVX0lOREVY IGlzIHRoZSBpbmRleCBvZiB0aGUgQ1UgaW4gd2hpY2ggdGhlIHN5bWJvbCBhcHBlYXJzLgorLSAg IElTX1NUQVRJQyBpcyBvbmUgaWYgdGhlIHN5bWJvbCBpcyBzdGF0aWMsIG90aGVyd2lzZSB6ZXJv IChnbG9iYWwpLiAgKi8KKysvKiBTZWUgY2xhc3MgZGVmaW5pdGlvbi4gICovCisgCistc3RhdGlj IHZvaWQKKy1hZGRfaW5kZXhfZW50cnkgKHN0cnVjdCBtYXBwZWRfc3ltdGFiICpzeW10YWIsIGNv bnN0IGNoYXIgKm5hbWUsCistCQkgaW50IGlzX3N0YXRpYywgZ2RiX2luZGV4X3N5bWJvbF9raW5k IGtpbmQsCistCQkgb2Zmc2V0X3R5cGUgY3VfaW5kZXgpCisrdm9pZAorK21hcHBlZF9zeW10YWI6 OmFkZF9pbmRleF9lbnRyeSAoY29uc3QgY2hhciAqbmFtZSwgaW50IGlzX3N0YXRpYywKKysJCQkJ Z2RiX2luZGV4X3N5bWJvbF9raW5kIGtpbmQsCisrCQkJCW9mZnNldF90eXBlIGN1X2luZGV4KQor IHsKKy0gIHN5bXRhYl9pbmRleF9lbnRyeSAqc2xvdCA9ICZmaW5kX3Nsb3QgKHN5bXRhYiwgbmFt ZSk7CisrICBzeW10YWJfaW5kZXhfZW50cnkgKnNsb3QgPSAmdGhpcy0+ZmluZF9zbG90IChuYW1l KTsKKyAgIGlmIChzbG90LT5uYW1lID09IE5VTEwpCisgICAgIHsKKyAgICAgICAvKiBUaGlzIGlz IGEgbmV3IGVsZW1lbnQgaW4gdGhlIGhhc2ggdGFibGUuICAqLworLSAgICAgICsrc3ltdGFiLT5u X2VsZW1lbnRzOworKyAgICAgICsrdGhpcy0+bV9lbGVtZW50X2NvdW50OworIAorICAgICAgIC8q IFdlIG1pZ2h0IG5lZWQgdG8gZ3JvdyB0aGUgaGFzaCB0YWJsZS4gICovCistICAgICAgaWYgKDQg KiBzeW10YWItPm5fZWxlbWVudHMgLyAzID49IHN5bXRhYi0+ZGF0YS5zaXplICgpKQorKyAgICAg IGlmICh0aGlzLT5oYXNoX25lZWRzX2V4cGFuZGluZyAoKSkKKyAJeworLQkgIGhhc2hfZXhwYW5k IChzeW10YWIpOworKwkgIHRoaXMtPmhhc2hfZXhwYW5kICgpOworIAorIAkgIC8qIFRoaXMgZWxl bWVudCB3aWxsIGhhdmUgYSBkaWZmZXJlbnQgc2xvdCBpbiB0aGUgbmV3IHRhYmxlLiAgKi8KKy0J ICBzbG90ID0gJmZpbmRfc2xvdCAoc3ltdGFiLCBuYW1lKTsKKysJICBzbG90ID0gJnRoaXMtPmZp bmRfc2xvdCAobmFtZSk7CisgCisgCSAgLyogQnV0IGl0IHNob3VsZCBzdGlsbCBiZSBhIG5ldyBl bGVtZW50IGluIHRoZSBoYXNoIHRhYmxlLiAgKi8KKyAJICBnZGJfYXNzZXJ0IChzbG90LT5uYW1l ID09IG51bGxwdHIpOworQEAgLTM4OCw3ICs0MzcsNyBAQCB3cml0ZV9oYXNoX3RhYmxlIChtYXBw ZWRfc3ltdGFiICpzeW10YWIsIGRhdGFfYnVmICZvdXRwdXQsIGRhdGFfYnVmICZjcG9vbCkKKyAK KyAgICAgLyogV2UgYWRkIGFsbCB0aGUgaW5kZXggdmVjdG9ycyB0byB0aGUgY29uc3RhbnQgcG9v bCBmaXJzdCwgdG8KKyAgICAgICAgZW5zdXJlIGFsaWdubWVudCBpcyBvay4gICovCistICAgIGZv ciAoc3ltdGFiX2luZGV4X2VudHJ5ICZlbnRyeSA6IHN5bXRhYi0+ZGF0YSkKKysgICAgZm9yIChz eW10YWJfaW5kZXhfZW50cnkgJmVudHJ5IDogKnN5bXRhYikKKyAgICAgICB7CisgCWlmIChlbnRy eS5uYW1lID09IE5VTEwpCisgCSAgY29udGludWU7CitAQCAtNDE3LDcgKzQ2Niw3IEBAIHdyaXRl X2hhc2hfdGFibGUgKG1hcHBlZF9zeW10YWIgKnN5bXRhYiwgZGF0YV9idWYgJm91dHB1dCwgZGF0 YV9idWYgJmNwb29sKQorIAorICAgLyogTm93IHdyaXRlIG91dCB0aGUgaGFzaCB0YWJsZS4gICov CisgICBzdGQ6OnVub3JkZXJlZF9tYXA8Y19zdHJfdmlldywgb2Zmc2V0X3R5cGUsIGNfc3RyX3Zp ZXdfaGFzaGVyPiBzdHJfdGFibGU7CistICBmb3IgKGNvbnN0IGF1dG8gJmVudHJ5IDogc3ltdGFi LT5kYXRhKQorKyAgZm9yIChjb25zdCBhdXRvICZlbnRyeSA6ICpzeW10YWIpCisgICAgIHsKKyAg ICAgICBvZmZzZXRfdHlwZSBzdHJfb2ZmLCB2ZWNfb2ZmOworIAorQEAgLTExNDksNyArMTE5OCw3 IEBAIHdyaXRlX2Nvb2tlZF9pbmRleCAoY29va2VkX2luZGV4X3ZlY3RvciAqdGFibGUsCisgICAg ICAgY29uc3QgYXV0byBpdCA9IGN1X2luZGV4X2h0YWIuZmluZCAoZW50cnktPnBlcl9jdSk7Cisg ICAgICAgZ2RiX2Fzc2VydCAoaXQgIT0gY3VfaW5kZXhfaHRhYi5jZW5kICgpKTsKKyAKKy0gICAg ICBjb25zdCBjaGFyICpuYW1lID0gZW50cnktPmZ1bGxfbmFtZSAoJnN5bXRhYi0+bV9zdHJpbmdf b2JzdGFjayk7CisrICAgICAgY29uc3QgY2hhciAqbmFtZSA9IGVudHJ5LT5mdWxsX25hbWUgKHN5 bXRhYi0+b2JzdGFjayAoKSk7CisgCisgICAgICAgaWYgKGVudHJ5LT5wZXJfY3UtPmxhbmcgKCkg PT0gbGFuZ3VhZ2VfYWRhKQorIAl7CitAQCAtMTE2OSw3ICsxMjE4LDcgQEAgd3JpdGVfY29va2Vk X2luZGV4IChjb29rZWRfaW5kZXhfdmVjdG9yICp0YWJsZSwKKyAJCSBnZGIsIGl0IGhhcyB0byB1 c2UgdGhlIGVuY29kZWQgbmFtZSwgd2l0aCBhbnkKKyAJCSBzdWZmaXhlcyBzdHJpcHBlZC4gICov CisgCSAgICAgIHN0ZDo6c3RyaW5nIGVuY29kZWQgPSBhZGFfZW5jb2RlIChuYW1lLCBmYWxzZSk7 CistCSAgICAgIG5hbWUgPSBvYnN0YWNrX3N0cmR1cCAoJnN5bXRhYi0+bV9zdHJpbmdfb2JzdGFj aywKKysJICAgICAgbmFtZSA9IG9ic3RhY2tfc3RyZHVwIChzeW10YWItPm9ic3RhY2sgKCksCisg CQkJCSAgICAgZW5jb2RlZC5jX3N0ciAoKSk7CisgCSAgICB9CisgCX0KK0BAIC0xMjAyLDggKzEy NTEsOCBAQCB3cml0ZV9jb29rZWRfaW5kZXggKGNvb2tlZF9pbmRleF92ZWN0b3IgKnRhYmxlLAor ICAgICAgIGVsc2UKKyAJa2luZCA9IEdEQl9JTkRFWF9TWU1CT0xfS0lORF9UWVBFOworIAorLSAg ICAgIGFkZF9pbmRleF9lbnRyeSAoc3ltdGFiLCBuYW1lLCAoZW50cnktPmZsYWdzICYgSVNfU1RB VElDKSAhPSAwLAorLQkJICAgICAgIGtpbmQsIGl0LT5zZWNvbmQpOworKyAgICAgIHN5bXRhYi0+ YWRkX2luZGV4X2VudHJ5IChuYW1lLCAoZW50cnktPmZsYWdzICYgSVNfU1RBVElDKSAhPSAwLAor KwkJCSAgICAgICBraW5kLCBpdC0+c2Vjb25kKTsKKyAgICAgfQorIH0KKyAKK0BAIC0xMjgxLDgg KzEzMzAsNiBAQCB3cml0ZV9nZGJpbmRleCAoZHdhcmYyX3Blcl9vYmpmaWxlICpwZXJfb2JqZmls ZSwKKyAgIHN5bXRhYi5taW5pbWl6ZSAoKTsKKyAKKyAgIGRhdGFfYnVmIHN5bXRhYl92ZWMsIGNv bnN0YW50X3Bvb2w7CistICBpZiAoc3ltdGFiLm5fZWxlbWVudHMgPT0gMCkKKy0gICAgc3ltdGFi LmRhdGEucmVzaXplICgwKTsKKyAKKyAgIHdyaXRlX2hhc2hfdGFibGUgKCZzeW10YWIsIHN5bXRh Yl92ZWMsIGNvbnN0YW50X3Bvb2wpOworIAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6LTIyMzIwODYt Z2VuZXJhdGUtZHdhcmYtNS1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2ggYi9nZGItcmhiei0yMjMy MDg2LWdlbmVyYXRlLWR3YXJmLTUtaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMjFjMTQKLS0tIC9kZXYvbnVsbAorKysgYi9nZGIt cmhiei0yMjMyMDg2LWdlbmVyYXRlLWR3YXJmLTUtaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCkBA IC0wLDAgKzEsMTAxIEBACitGcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogQW5kcmV3IEJ1cmdlc3MgPGFidXJnZXNzQHJlZGhhdC5jb20+CitEYXRlOiBN b24sIDI3IE5vdiAyMDIzIDEzOjE5OjM5ICswMDAwCitTdWJqZWN0OiBnZGItcmhiei0yMjMyMDg2 LWdlbmVyYXRlLWR3YXJmLTUtaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCisKKzs7IEJhY2stcG9y dCB1cHN0cmVhbSBjb21taXQgMzY0NGY0MWRjODAgYXMgcGFydCBvZiBhIGZpeCBmb3IKKzs7IG5v bi1kZXRlcm1pbmlzdGljIGdkYi1pbmRleCBnZW5lcmF0aW9uIChSSCBCWiAyMjMyMDg2KS4KKwor Z2RiOiBnZW5lcmF0ZSBkd2FyZi01IGluZGV4IGlkZW50aWNhbGx5IGFzIHdvcmtlci10aHJlYWQg Y291bnQgY2hhbmdlcworCitTaW1pbGFyIHRvIHRoZSBwcmV2aW91cyBjb21taXQsIHRoaXMgY29t bWl0IGVuc3VyZXMgdGhhdCB0aGUgZHdhcmYtNQoraW5kZXggZmlsZXMgYXJlIGdlbmVyYXRlZCBp ZGVudGljYWxseSBhcyB0aGUgbnVtYmVyIG9mIHdvcmtlci10aHJlYWRzCitjaGFuZ2VzLgorCitC dWlsZGluZyB0aGUgZHdhcmYtNSBpbmRleCBtYWtlcyB1c2Ugb2YgYSBjbG9zZWQgaGFzaCB0YWJs ZSwgdGhlCitidWNrZXRfaGFzaCBsb2NhbCB3aXRoaW4gZGVidWdfbmFtZXM6OmJ1aWxkKCkuICBF bnRyaWVzIGFyZSBhZGRlZCB0bworYnVja2V0X2hhc2ggZnJvbSBtX25hbWVfdG9fdmFsdWVfc2V0 LCB3aGljaCwgaW4gdHVybiwgaXMgcG9wdWxhdGVkCitieSBjYWxscyB0byBkZWJ1Z19uYW1lczo6 aW5zZXJ0KCkgaW4gd3JpdGVfZGVidWdfbmFtZXMuICBUaGUgaW5zZXJ0CitjYWxscyBhcmUgb3Jk ZXJlZCBiYXNlZCBvbiB0aGUgZW50cmllcyB3aXRoaW4gdGhlIGNvb2tlZF9pbmRleCwgYW5kCit0 aGUgb3JkZXJpbmcgd2l0aGluIGNvb2tlZF9pbmRleCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2Yg d29ya2VyCit0aHJlYWRzIHRoYXQgR0RCIGlzIHVzaW5nLgorCitNeSBwcm9wb3NhbCBpcyB0byBz b3J0IGVhY2ggY2hhaW4gd2l0aGluIHRoZSBidWNrZXRfaGFzaCBjbG9zZWQgaGFzaAordGFibGUg cHJpb3IgdG8gdXNpbmcgdGhpcyB0byBidWlsZCB0aGUgZHdhcmYtNSBpbmRleC4KKworVGhlIGJ1 Y2tldHMgd2l0aGluIGJ1Y2tldF9oYXNoIHdpbGwgYWx3YXlzIGhhdmUgdGhlIHNhbWUgb3JkZXJp bmcgKGZvcgorYSBnaXZlbiBHREIgYnVpbGQgd2l0aCBhIGdpdmVuIGV4ZWN1dGFibGUpLCBhbmQg Ynkgc29ydGluZyB0aGUgY2hhaW5zCit3aXRoaW4gZWFjaCBidWNrZXQsIHdlIGNhbiBiZSBzdXJl IHRoYXQgR0RCIHdpbGwgc2VlIGVhY2ggZW50cnkgaW4gYQorZGV0ZXJtaW5pc3RpYyBvcmRlci4K KworSSd2ZSBleHRlbmRlZCB0aGUgaW5kZXggY3JlYXRpb24gdGVzdCB0byBjb3ZlciB0aGlzIGNh c2UuCisKK0FwcHJvdmVkLUJ5OiBUb20gVHJvbWV5IDx0b21AdHJvbWV5LmNvbT4KKworZGlmZiAt LWdpdCBhL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUu YworLS0tIGEvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jCisrKysgYi9nZGIvZHdhcmYyL2luZGV4 LXdyaXRlLmMKK0BAIC00NTMsNiArNDUzLDExIEBAIGNsYXNzIGNfc3RyX3ZpZXcKKyAgICAgcmV0 dXJuIHN0cmNtcCAobV9jc3RyLCBvdGhlci5tX2NzdHIpID09IDA7CisgICB9CisgCisrICBib29s IG9wZXJhdG9yPCAoY29uc3QgY19zdHJfdmlldyAmb3RoZXIpIGNvbnN0CisrICB7CisrICAgIHJl dHVybiBzdHJjbXAgKG1fY3N0ciwgb3RoZXIubV9jc3RyKSA8IDA7CisrICB9CisrCisgICAvKiBS ZXR1cm4gdGhlIHVuZGVybHlpbmcgQyBzdHJpbmcuICBOb3RlLCB0aGUgcmV0dXJuZWQgc3RyaW5n IGlzCisgICAgICBvbmx5IGEgcmVmZXJlbmNlIHdpdGggbGlmZXRpbWUgb2YgdGhpcyBvYmplY3Qu ICAqLworICAgY29uc3QgY2hhciAqY19zdHIgKCkgY29uc3QKK0BAIC03NzAsMTAgKzc3NSwxOCBA QCBjbGFzcyBkZWJ1Z19uYW1lcworICAgICAgIH0KKyAgICAgZm9yIChzaXplX3QgYnVja2V0X2l4 ID0gMDsgYnVja2V0X2l4IDwgYnVja2V0X2hhc2guc2l6ZSAoKTsgKytidWNrZXRfaXgpCisgICAg ICAgeworLQljb25zdCBzdGQ6OmZvcndhcmRfbGlzdDxoYXNoX2l0X3BhaXI+ICZoYXNoaXRsaXN0 CistCSAgPSBidWNrZXRfaGFzaFtidWNrZXRfaXhdOworKwlzdGQ6OmZvcndhcmRfbGlzdDxoYXNo X2l0X3BhaXI+ICZoYXNoaXRsaXN0ID0gYnVja2V0X2hhc2hbYnVja2V0X2l4XTsKKyAJaWYgKGhh c2hpdGxpc3QuZW1wdHkgKCkpCisgCSAgY29udGludWU7CisrCisrCS8qIFNvcnQgdGhlIGl0ZW1z IHdpdGhpbiBlYWNoIGJ1Y2tldC4gIFRoaXMgZW5zdXJlcyB0aGF0IHRoZQorKwkgICBnZW5lcmF0 ZWQgaW5kZXggZmlsZXMgd2lsbCBiZSB0aGUgc2FtZSBubyBtYXR0ZXIgdGhlIG9yZGVyIGluCisr CSAgIHdoaWNoIHN5bWJvbHMgd2VyZSBhZGRlZCBpbnRvIHRoZSBpbmRleC4gICovCisrCWhhc2hp dGxpc3Quc29ydCAoW10gKGNvbnN0IGhhc2hfaXRfcGFpciAmYSwgY29uc3QgaGFzaF9pdF9wYWly ICZiKQorKwl7CisrCSAgcmV0dXJuIGEuaXQtPmZpcnN0IDwgYi5pdC0+Zmlyc3Q7CisrCX0pOwor KworIAl1aW50MzJfdCAmYnVja2V0X3Nsb3QgPSBtX2J1Y2tldF90YWJsZVtidWNrZXRfaXhdOwor IAkvKiBUaGUgaGFzaGVzIGFycmF5IGlzIGluZGV4ZWQgc3RhcnRpbmcgYXQgMS4gICovCisgCXN0 b3JlX3Vuc2lnbmVkX2ludGVnZXIgKHJlaW50ZXJwcmV0X2Nhc3Q8Z2RiX2J5dGUgKj4gKCZidWNr ZXRfc2xvdCksCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL2luZGV4LWZpbGUu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL2luZGV4LWZpbGUuZXhwCistLS0gYS9nZGIvdGVz dHN1aXRlL2dkYi5nZGIvaW5kZXgtZmlsZS5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmdk Yi9pbmRleC1maWxlLmV4cAorQEAgLTQ3LDYgKzQ3LDkgQEAgcmVtb3RlX2V4ZWMgaG9zdCAibWtk aXIgLXAgJHtkaXIxfSIKKyB3aXRoX3RpbWVvdXRfZmFjdG9yICR0aW1lb3V0X2ZhY3RvciB7Cisg ICAgIGdkYl90ZXN0X25vX291dHB1dCAic2F2ZSBnZGItaW5kZXggJGRpcjEiIFwKKyAJImNyZWF0 ZSBnZGItaW5kZXggZmlsZSIKKysKKysgICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzYXZlIGdkYi1p bmRleCAtZHdhcmYtNSAkZGlyMSIgXAorKwkiY3JlYXRlIGR3YXJmLWluZGV4IGZpbGVzIgorIH0K KyAKKyAjIENsb3NlIEdEQi4KK0BAIC0xNDMsMTMgKzE0NiwxNiBAQCBpZiB7ICR3b3JrZXJfdGhy ZWFkcyA+IDEgfSB7CisgICAgIHdpdGhfdGltZW91dF9mYWN0b3IgJHRpbWVvdXRfZmFjdG9yIHsK KyAJZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzYXZlIGdkYi1pbmRleCAkZGlyMiIgXAorIAkgICAgImNy ZWF0ZSBzZWNvbmQgZ2RiLWluZGV4IGZpbGUiCisrCisrCWdkYl90ZXN0X25vX291dHB1dCAic2F2 ZSBnZGItaW5kZXggLWR3YXJmLTUgJGRpcjIiIFwKKysJICAgICJjcmVhdGUgc2Vjb25kIGR3YXJm LWluZGV4IGZpbGVzIgorICAgICB9CisgCisgICAgICMgQ2xvc2UgR0RCLgorICAgICBnZGJfZXhp dAorIAorICAgICAjIE5vdyBjaGVjayB0aGF0IHRoZSBpbmRleCBmaWxlcyBhcmUgaWRlbnRpY2Fs LgorLSAgICBmb3JlYWNoIHN1ZmZpeCB7IGdkYi1pbmRleCAgfSB7CisrICAgIGZvcmVhY2ggc3Vm Zml4IHsgZ2RiLWluZGV4IGRlYnVnX25hbWVzIGRlYnVnX3N0ciB9IHsKKyAJc2V0IHJlc3VsdCBc CisgCSAgICBbcmVtb3RlX2V4ZWMgaG9zdCBcCisgCQkgImNtcCAtcyBcIiRkaXIxLyR7aW5kZXhf ZmlsZW5hbWVfYmFzZX0uJHtzdWZmaXh9XCIgXCIkZGlyMi8ke2luZGV4X2ZpbGVuYW1lX2Jhc2V9 LiR7c3VmZml4fVwiIl0KCmRpZmYgLS1naXQgYS9nZGItcmhiei0yMjMyMDg2LWdlbmVyYXRlLWdk Yi1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2ggYi9nZGItcmhiei0yMjMyMDg2LWdlbmVyYXRlLWdk Yi1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uZDBlNWM5NQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1yaGJ6LTIyMzIwODYtZ2VuZXJh dGUtZ2RiLWluZGV4LWNvbnNpc3RlbnRseS5wYXRjaApAQCAtMCwwICsxLDIzMCBAQAorRnJvbSBG RURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJldyBCdXJn ZXNzIDxhYnVyZ2Vzc0ByZWRoYXQuY29tPgorRGF0ZTogRnJpLCAyNCBOb3YgMjAyMyAxMjowNDoz NiArMDAwMAorU3ViamVjdDogZ2RiLXJoYnotMjIzMjA4Ni1nZW5lcmF0ZS1nZGItaW5kZXgtY29u c2lzdGVudGx5LnBhdGNoCisKKzs7IEJhY2stcG9ydCB1cHN0cmVhbSBjb21taXQgYWZmMjUwMTQ1 YWYgYXMgcGFydCBvZiBhIGZpeCBmb3IKKzs7IG5vbi1kZXRlcm1pbmlzdGljIGdkYi1pbmRleCBn ZW5lcmF0aW9uIChSSCBCWiAyMjMyMDg2KS4KKworZ2RiOiBnZW5lcmF0ZSBnZGItaW5kZXggaWRl bnRpY2FsbHkgcmVnYXJkbGVzcyBvZiB3b3JrIHRocmVhZCBjb3VudAorCitJdCB3YXMgb2JzZXJ2 ZWQgdGhhdCBjaGFuZ2luZyB0aGUgbnVtYmVyIG9mIHdvcmtlciB0aHJlYWRzIHRoYXQgR0RCCit1 c2VzIChtYWludGVuYW5jZSBzZXQgd29ya2VyLXRocmVhZHMgTlVNKSB3b3VsZCBoYXZlIGFuIGlt cGFjdCBvbiB0aGUKK2xheW91dCBvZiB0aGUgZ2VuZXJhdGVkIGdkYi1pbmRleC4KKworVGhlIGNh dXNlIHNlZW1zIHRvIGJlIGhvdyB0aGUgQ1UgYXJlIGRpc3RyaWJ1dGVkIGJldHdlZW4gdGhyZWFk cywgYW5kCit0aGVuIHN5bWJvbHMgdGhhdCBhcHBlYXIgaW4gbXVsdGlwbGUgQ1UgY2FuIGJlIGVu Y291bnRlcmVkIGVhcmxpZXIgb3IKK2xhdGVyIGRlcGVuZGluZyBvbiB3aGV0aGVyIGEgcGFydGlj dWxhciBDVSBtb3ZlcyBiZXR3ZWVuIHRocmVhZHMuCisKK0kgY2VydGFpbmx5IGZvdW5kIHRoaXMg YmVoYXZpb3VyIHdhcyByZXByb2R1Y2libGUgd2hlbiBnZW5lcmF0aW5nIGFuCitpbmRleCBmb3Ig R0RCIGl0c2VsZiwgbGlrZToKKworICBnZGIgLXEgLW54IC1uaCAtYmF0Y2ggXAorICAgICAgLWVp ZXggJ21haW50IHNldCB3b3JrZXItdGhyZWFkcyBOVU0nIFwKKyAgICAgIC1leCAnc2F2ZSBnZGIt aW5kZXggL3RtcC8nCisKK0FuZCB0aGVuIHNldHRpbmcgZGlmZmVyZW50IHZhbHVlcyBmb3IgTlVN IHdpbGwgY2hhbmdlIHRoZSBnZW5lcmF0ZWQKK2luZGV4LgorCitOb3csIHRoZSBxdWVzdGlvbiBp czogZG9lcyB0aGlzIG1hdHRlcj8KKworSSB3b3VsZCBsaWtlIHRvIHN1Z2dlc3QgdGhhdCB5ZXMs IHRoaXMgZG9lcyBtYXR0ZXIuICBBdCBSZWQgSGF0IHdlCitnZW5lcmF0ZSBhIGdkYi1pbmRleCBh cyBwYXJ0IG9mIHRoZSBidWlsZCBwcm9jZXNzLCBhbmQgd2Ugd291bGQKK2lkZWFsbHkgbGlrZSB0 byBoYXZlIHJlcHJvZHVjaWJsZSBidWlsZHM6IGZvciB0aGUgc2FtZSBzb3VyY2UsCitjb21waWxl ZCB3aXRoIHRoZSBzYW1lIHRvb2wtY2hhaW4sIHdlIHNob3VsZCBnZXQgdGhlIGV4YWN0IHNhbWUg b3V0cHV0CitiaW5hcnkuICBBbmQgd2UgZG8gLi4uLiBleGNlcHQgZm9yIHRoZSBpbmRleC4KKwor Tm93IHdlIGNvdWxkIHNpbXBseSBmb3JjZSBHREIgdG8gb25seSB1c2UgYSBzaW5nbGUgd29ya2Vy IHRocmVhZCB3aGVuCit3ZSBidWlsZCB0aGUgaW5kZXgsIGJ1dCwgSSBkb24ndCB0aGluayB0aGUg aWRlYSBvZiByZXByb2R1Y2libGUgYnVpbGRzCitpcyB0aGF0IHN0cmFuZ2UsIHNvIEkgdGhpbmsg d2Ugc2hvdWxkIGVuc3VyZSB0aGF0IG91ciBnZW5lcmF0ZWQKK2luZGV4ZXMgYXJlIGFsd2F5cyBy ZXByb2R1Y2libGUuCisKK1RvIGFjaGlldmUgdGhpcywgSSBwcm9wb3NlIHRoYXQgd2UgYWRkIGFu IGV4dHJhIHN0ZXAgd2hlbiBidWlsZGluZyB0aGUKK2dkYi1pbmRleCBmaWxlLiAgQWZ0ZXIgY29u c3RydWN0aW5nIHRoZSBpbml0aWFsIHN5bWJvbCBoYXNoIHRhYmxlCitjb250ZW50cywgd2Ugd2ls bCBwdWxsIGFsbCB0aGUgc3ltYm9scyBvdXQgb2YgdGhlIGhhc2gsIHNvcnQgdGhlbSwKK3RoZW4g cmUtaW5zZXJ0IHRoZW0gaW4gc29ydGVkIG9yZGVyLiAgVGhpcyB3aWxsIGVuc3VyZSB0aGF0IHRo ZQorc3RydWN0dXJlIG9mIHRoZSBnZW5lcmF0ZWQgaGFzaCB3aWxsIHJlbWFpbiBjb25zaXN0ZW50 IChnaXZlbiB0aGUgc2FtZQorc2V0IG9mIHN5bWJvbHMpLgorCitJJ3ZlIGV4dGVuZGVkIHRoZSBl eGlzdGluZyBpbmRleC1maWxlIHRlc3QgdG8gY2hlY2sgdGhhdCB0aGUgZ2VuZXJhdGVkCitpbmRl eCBkb2Vzbid0IGNoYW5nZSBpZiB3ZSBhZGp1c3QgdGhlIG51bWJlciBvZiB3b3JrZXIgdGhyZWFk cyB1c2VkLgorR2l2ZW4gdGhhdCB0aGlzIHRlc3QgaXMgYWxyZWFkeSByYXRoZXIgc2xvdywgSSd2 ZSBvbmx5IG1hZGUgb25lIGNoYW5nZQordG8gdGhlIHdvcmtlci10aHJlYWQgY291bnQuICBNYXli ZSB0aGlzIHRlc3Qgc2hvdWxkIGJlIGNoYW5nZWQgdG8gdXNlCithIHNtYWxsZXIgYmluYXJ5LCB3 aGljaCBpcyBxdWlja2VyIHRvIGxvYWQsIGFuZCBmb3Igd2hpY2ggd2UgY291bGQKK3RoZW4gdHJ5 IG1hbnkgZGlmZmVyZW50IHdvcmtlciB0aHJlYWQgY291bnRzLgorCitBcHByb3ZlZC1CeTogVG9t IFRyb21leSA8dG9tQHRyb21leS5jb20+CisKK2RpZmYgLS1naXQgYS9nZGIvZHdhcmYyL2luZGV4 LXdyaXRlLmMgYi9nZGIvZHdhcmYyL2luZGV4LXdyaXRlLmMKKy0tLSBhL2dkYi9kd2FyZjIvaW5k ZXgtd3JpdGUuYworKysrIGIvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jCitAQCAtMjEwLDYgKzIx MCwxMyBAQCBzdHJ1Y3QgbWFwcGVkX3N5bXRhYgorICAgdm9pZCBhZGRfaW5kZXhfZW50cnkgKGNv bnN0IGNoYXIgKm5hbWUsIGludCBpc19zdGF0aWMsCisgCQkJZ2RiX2luZGV4X3N5bWJvbF9raW5k IGtpbmQsIG9mZnNldF90eXBlIGN1X2luZGV4KTsKKyAKKysgIC8qIFdoZW4gZW50cmllcyBhcmUg b3JpZ2luYWxseSBhZGRlZCBpbnRvIHRoZSBkYXRhIGhhc2ggdGhlIG9yZGVyIHdpbGwKKysgICAg IHZhcnkgYmFzZWQgb24gdGhlIG51bWJlciBvZiB3b3JrZXIgdGhyZWFkcyBHREIgaXMgY29uZmln dXJlZCB0byB1c2UuCisrICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVidWlsZCB0aGUgaGFzaCBz dWNoIHRoYXQgdGhlIGZpbmFsIGxheW91dCB3aWxsIGJlCisrICAgICBkZXRlcm1pbmlzdGljIHJl Z2FyZGxlc3Mgb2YgdGhlIG51bWJlciBvZiB3b3JrZXIgdGhyZWFkcyB1c2VkLiAgKi8KKysKKysg IHZvaWQgc29ydCAoKTsKKysKKyAgIC8qIEFjY2VzcyB0aGUgb2JzdGFjay4gICovCisgICBzdHJ1 Y3Qgb2JzdGFjayAqb2JzdGFjayAoKQorICAgeyByZXR1cm4gJm1fc3RyaW5nX29ic3RhY2s7IH0K K0BAIC0yOTYsNiArMzAzLDY1IEBAIG1hcHBlZF9zeW10YWI6Omhhc2hfZXhwYW5kICgpCisgICAg ICAgfQorIH0KKyAKKysvKiBTZWUgbWFwcGVkX3N5bXRhYiBjbGFzcyBkZWNsYXJhdGlvbi4gICov CisrCisrdm9pZCBtYXBwZWRfc3ltdGFiOjpzb3J0ICgpCisreworKyAgLyogTW92ZSBjb250ZW50 cyBvdXQgb2YgdGhpcy0+ZGF0YSB2ZWN0b3IuICAqLworKyAgc3RkOjp2ZWN0b3I8c3ltdGFiX2lu ZGV4X2VudHJ5PiBvcmlnaW5hbF9kYXRhID0gc3RkOjptb3ZlIChtX2RhdGEpOworKworKyAgLyog UmVzdG9yZSB0aGUgc2l6ZSBvZiBtX2RhdGEsIHRoaXMgd2lsbCBhdm9pZCBoYXZpbmcgdG8gZXhw YW5kIHRoZSBoYXNoCisrICAgICB0YWJsZSAoYW5kIHJlaGFzaCBhbGwgZWxlbWVudHMpIHdoZW4g d2UgcmVpbnNlcnQgYWZ0ZXIgc29ydGluZy4KKysgICAgIEhvd2V2ZXIsIHdlIGRvIHJlc2V0IHRo ZSBlbGVtZW50IGNvdW50LCB0aGlzIGFsbG93cyBmb3Igc29tZSBzYW5pdHkKKysgICAgIGNoZWNr aW5nIGFzc2VydHMgZHVyaW5nIHRoZSByZWluc2VydCBwaGFzZS4gICovCisrICBnZGJfYXNzZXJ0 IChtX2RhdGEuc2l6ZSAoKSA9PSAwKTsKKysgIG1fZGF0YS5yZXNpemUgKG9yaWdpbmFsX2RhdGEu c2l6ZSAoKSk7CisrICBtX2VsZW1lbnRfY291bnQgPSAwOworKworKyAgLyogUmVtb3ZlIGVtcHR5 IGVudHJpZXMgZnJvbSBPUklHSU5BTF9EQVRBLCB0aGlzIG1ha2VzIHNvcnRpbmcgcXVpY2tlci4g ICovCisrICBhdXRvIGl0ID0gc3RkOjpyZW1vdmVfaWYgKG9yaWdpbmFsX2RhdGEuYmVnaW4gKCks IG9yaWdpbmFsX2RhdGEuZW5kICgpLAorKwkJCSAgICBbXSAoY29uc3Qgc3ltdGFiX2luZGV4X2Vu dHJ5ICZlbnRyeSkgLT4gYm9vbAorKwkJCSAgICB7CisrCQkJICAgICAgcmV0dXJuIGVudHJ5Lm5h bWUgPT0gbnVsbHB0cjsKKysJCQkgICAgfSk7CisrICBvcmlnaW5hbF9kYXRhLmVyYXNlIChpdCwg b3JpZ2luYWxfZGF0YS5lbmQgKCkpOworKworKyAgLyogU29ydCB0aGUgZXhpc3RpbmcgY29udGVu dHMuICAqLworKyAgc3RkOjpzb3J0IChvcmlnaW5hbF9kYXRhLmJlZ2luICgpLCBvcmlnaW5hbF9k YXRhLmVuZCAoKSwKKysJICAgICBbXSAoY29uc3Qgc3ltdGFiX2luZGV4X2VudHJ5ICZhLAorKwkJ IGNvbnN0IHN5bXRhYl9pbmRleF9lbnRyeSAmYikgLT4gYm9vbAorKwkgICAgIHsKKysJICAgICAg IC8qIFJldHVybiB0cnVlIGlmIEEgaXMgYmVmb3JlIEIuICAqLworKwkgICAgICAgZ2RiX2Fzc2Vy dCAoYS5uYW1lICE9IG51bGxwdHIpOworKwkgICAgICAgZ2RiX2Fzc2VydCAoYi5uYW1lICE9IG51 bGxwdHIpOworKworKwkgICAgICAgcmV0dXJuIHN0cmNtcCAoYS5uYW1lLCBiLm5hbWUpIDwgMDsK KysJICAgICB9KTsKKysKKysgIC8qIFJlLWluc2VydCBlYWNoIGl0ZW0gZnJvbSB0aGUgc29ydGVk IGxpc3QuICAqLworKyAgZm9yIChhdXRvICZlbnRyeSA6IG9yaWdpbmFsX2RhdGEpCisrICAgIHsK KysgICAgICAvKiBXZSBrbm93IHRoYXQgT1JJR0lOQUxfREFUQSBjb250YWlucyBubyBkdXBsaWNh dGVzLCB0aGlzIGRhdGEgd2FzCisrCSB0YWtlbiBmcm9tIGEgaGFzaCB0YWJsZSB0aGF0IGRlLWR1 cGxpY2F0ZWQgZW50cmllcyBmb3IgdXMsIHNvCisrCSBjb3VudCB0aGlzIGFzIGEgbmV3IGl0ZW0u CisrCisrCSBBcyB3ZSByZXRhaW5lZCB0aGUgb3JpZ2luYWwgc2l6ZSBvZiBtX2RhdGEgKHNlZSBh Ym92ZSkgdGhlbiB3ZQorKwkgc2hvdWxkIG5ldmVyIG5lZWQgdG8gZ3JvdyBtX2RhdGFfIGR1cmlu ZyB0aGlzIHJlLWluc2VydGlvbiBwaGFzZSwKKysJIGFzc2VydCB0aGF0IG5vdy4gICovCisrICAg ICAgKyttX2VsZW1lbnRfY291bnQ7CisrICAgICAgZ2RiX2Fzc2VydCAoIXRoaXMtPmhhc2hfbmVl ZHNfZXhwYW5kaW5nICgpKTsKKysKKysgICAgICAvKiBMb29rdXAgYSBzbG90LiAgKi8KKysgICAg ICBzeW10YWJfaW5kZXhfZW50cnkgJnNsb3QgPSB0aGlzLT5maW5kX3Nsb3QgKGVudHJ5Lm5hbWUp OworKworKyAgICAgIC8qIEFzIGRpc2N1c3NlZCBhYm92ZSwgd2Ugc2hvdWxkIG5vdCBmaW5kIGR1 cGxpY2F0ZXMuICAqLworKyAgICAgIGdkYl9hc3NlcnQgKHNsb3QubmFtZSA9PSBudWxscHRyKTsK KysKKysgICAgICAvKiBNb3ZlIHRoaXMgaXRlbSBpbnRvIHRoZSBzbG90IHdlIGZvdW5kLiAgKi8K KysgICAgICBzbG90ID0gc3RkOjptb3ZlIChlbnRyeSk7CisrICAgIH0KKyt9CisrCisgLyogU2Vl IGNsYXNzIGRlZmluaXRpb24uICAqLworIAorIHZvaWQKK0BAIC0xMzI1LDYgKzEzOTEsOSBAQCB3 cml0ZV9nZGJpbmRleCAoZHdhcmYyX3Blcl9vYmpmaWxlICpwZXJfb2JqZmlsZSwKKyAgIGZvciAo YXV0byBtYXAgOiB0YWJsZS0+Z2V0X2FkZHJtYXBzICgpKQorICAgICB3cml0ZV9hZGRyZXNzX21h cCAobWFwLCBhZGRyX3ZlYywgY3VfaW5kZXhfaHRhYik7CisgCisrICAvKiBFbnN1cmUgc3ltYm9s IGhhc2ggaXMgYnVpbHQgZG9tZXN0aWNhbGx5LiAgKi8KKysgIHN5bXRhYi5zb3J0ICgpOworKwor ICAgLyogTm93IHRoYXQgd2UndmUgcHJvY2Vzc2VkIGFsbCBzeW1ib2xzIHdlIGNhbiBzaHJpbmsg dGhlaXIgY3VfaW5kaWNlcworICAgICAgbGlzdHMuICAqLworICAgc3ltdGFiLm1pbmltaXplICgp OworZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmdkYi9pbmRleC1maWxlLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmdkYi9pbmRleC1maWxlLmV4cAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZ2RiL2luZGV4LWZpbGUuZXhwCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvaW5kZXgt ZmlsZS5leHAKK0BAIC0zOCw2ICszOCw5IEBAIHdpdGhfdGltZW91dF9mYWN0b3IgJHRpbWVvdXRf ZmFjdG9yIHsKKyAgICAgY2xlYW5fcmVzdGFydCAkZmlsZW5hbWUKKyB9CisgCisrIyBSZWNvcmQg aG93IG1hbnkgd29ya2VyIHRocmVhZHMgR0RCIGlzIHVzaW5nLgorK3NldCB3b3JrZXJfdGhyZWFk cyBbZ2RiX2dldF93b3JrZXJfdGhyZWFkc10KKysKKyAjIEdlbmVyYXRlIGFuIGluZGV4IGZpbGUu Cisgc2V0IGRpcjEgW3N0YW5kYXJkX291dHB1dF9maWxlICJpbmRleF8xIl0KKyByZW1vdGVfZXhl YyBob3N0ICJta2RpciAtcCAke2RpcjF9IgorQEAgLTExNiwzICsxMTksNDEgQEAgcHJvYyBjaGVj a19zeW1ib2xfdGFibGVfdXNhZ2UgeyBmaWxlbmFtZSB9IHsKKyAKKyBzZXQgaW5kZXhfZmlsZW5h bWVfYmFzZSBbZmlsZSB0YWlsICRmaWxlbmFtZV0KKyBjaGVja19zeW1ib2xfdGFibGVfdXNhZ2Ug IiRkaXIxLyR7aW5kZXhfZmlsZW5hbWVfYmFzZX0uZ2RiLWluZGV4IgorKworKyMgSWYgR0RCIGlz IHVzaW5nIG1vcmUgdGhhbiAxIHdvcmtlciB0aHJlYWQgdGhlbiByZWR1Y2UgdGhlIG51bWJlciBv ZgorKyMgd29ya2VyIHRocmVhZHMsIHJlZ2VuZXJhdGUgdGhlIGluZGV4LCBhbmQgY2hlY2sgdGhh dCB3ZSBnZXQgdGhlIHNhbWUKKysjIGluZGV4IGZpbGUgYmFjay4gIEF0IG9uZSBwb2ludCB0aGUg bGF5b3V0IG9mIHRoZSBpbmRleCB3b3VsZCB2YXJ5CisrIyBiYXNlZCBvbiB0aGUgbnVtYmVyIG9m IHdvcmtlciB0aHJlYWRzIHVzZWQuCisraWYgeyAkd29ya2VyX3RocmVhZHMgPiAxIH0geworKyAg ICAjIFN0YXJ0IEdEQiwgYnV0IGRvbid0IGxvYWQgYSBmaWxlIHlldC4KKysgICAgY2xlYW5fcmVz dGFydAorKworKyAgICAjIEFkanVzdCB0aGUgbnVtYmVyIG9mIHRocmVhZHMgdG8gdXNlLgorKyAg ICBzZXQgcmVkdWNlZF90aHJlYWRzIFtleHByICR3b3JrZXJfdGhyZWFkcyAvIDJdCisrICAgIGdk Yl90ZXN0X25vX291dHB1dCAibWFpbnQgc2V0IHdvcmtlci10aHJlYWRzICRyZWR1Y2VkX3RocmVh ZHMiCisrCisrICAgIHdpdGhfdGltZW91dF9mYWN0b3IgJHRpbWVvdXRfZmFjdG9yIHsKKysJIyBO b3cgbG9hZCB0aGUgdGVzdCBiaW5hcnkuCisrCWdkYl9maWxlX2NtZCAkZmlsZW5hbWUKKysgICAg fQorKworKyAgICAjIEdlbmVyYXRlIGFuIGluZGV4IGZpbGUuCisrICAgIHNldCBkaXIyIFtzdGFu ZGFyZF9vdXRwdXRfZmlsZSAiaW5kZXhfMiJdCisrICAgIHJlbW90ZV9leGVjIGhvc3QgIm1rZGly IC1wICR7ZGlyMn0iCisrICAgIHdpdGhfdGltZW91dF9mYWN0b3IgJHRpbWVvdXRfZmFjdG9yIHsK KysJZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzYXZlIGdkYi1pbmRleCAkZGlyMiIgXAorKwkgICAgImNy ZWF0ZSBzZWNvbmQgZ2RiLWluZGV4IGZpbGUiCisrICAgIH0KKysKKysgICAgIyBDbG9zZSBHREIu CisrICAgIGdkYl9leGl0CisrCisrICAgICMgTm93IGNoZWNrIHRoYXQgdGhlIGluZGV4IGZpbGVz IGFyZSBpZGVudGljYWwuCisrICAgIGZvcmVhY2ggc3VmZml4IHsgZ2RiLWluZGV4ICB9IHsKKysJ c2V0IHJlc3VsdCBcCisrCSAgICBbcmVtb3RlX2V4ZWMgaG9zdCBcCisrCQkgImNtcCAtcyBcIiRk aXIxLyR7aW5kZXhfZmlsZW5hbWVfYmFzZX0uJHtzdWZmaXh9XCIgXCIkZGlyMi8ke2luZGV4X2Zp bGVuYW1lX2Jhc2V9LiR7c3VmZml4fVwiIl0KKysJZ2RiX2Fzc2VydCB7IFtsaW5kZXggJHJlc3Vs dCAwXSA9PSAwIH0gXAorKwkgICAgIiRzdWZmaXggZmlsZXMgYXJlIGlkZW50aWNhbCIKKysgICAg fQorK30KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorKysrIGIv Z2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorQEAgLTkyNzQsNiArOTI3NCwyMSBAQCBwcm9jIGdk Yl9zdGVwX3VudGlsIHsgcmVnZXhwIHt0ZXN0X25hbWUgIiJ9IHttYXhfc3RlcHMgMTB9IH0gewor ICAgICB9CisgfQorIAorKyMgUmV0dXJuIHRoZSBudW1iZXIgb2Ygd29ya2VyIHRocmVhZHMgdGhh dCBHREIgaXMgY3VycmVudGx5IHVzaW5nLgorKworK3Byb2MgZ2RiX2dldF93b3JrZXJfdGhyZWFk cyB7IHt0ZXN0bmFtZSAiIn0gfSB7CisrICAgIHNldCB3b3JrZXJfdGhyZWFkcyAiVU5LTk9XTiIK KysgICAgZ2RiX3Rlc3RfbXVsdGlwbGUgIm1haW50ZW5hbmNlIHNob3cgd29ya2VyLXRocmVhZHMi ICR0ZXN0bmFtZSB7CisrCS13cmFwIC1yZSAiVGhlIG51bWJlciBvZiB3b3JrZXIgdGhyZWFkcyBH REIgY2FuIHVzZSBpcyB1bmxpbWl0ZWQgXFwoY3VycmVudGx5ICgkOjpkZWNpbWFsKVxcKVxcLiIg eworKwkgICAgc2V0IHdvcmtlcl90aHJlYWRzICRleHBlY3Rfb3V0KDEsc3RyaW5nKQorKwl9Cisr CS13cmFwIC1yZSAiVGhlIG51bWJlciBvZiB3b3JrZXIgdGhyZWFkcyBHREIgY2FuIHVzZSBpcyAo JDo6ZGVjaW1hbClcXC4iIHsKKysJICAgIHNldCB3b3JrZXJfdGhyZWFkcyAkZXhwZWN0X291dCgx LHN0cmluZykKKysJfQorKyAgICB9CisrICAgIHJldHVybiAkd29ya2VyX3RocmVhZHMKKyt9Cisr CisgIyBDaGVjayBpZiB0aGUgY29tcGlsZXIgZW1pdHMgZXBpbG9ndWUgaW5mb3JtYXRpb24gYXNz b2NpYXRlZAorICMgd2l0aCB0aGUgY2xvc2luZyBicmFjZSBvciB3aXRoIHRoZSBsYXN0IHN0YXRl bWVudCBsaW5lLgorICMKCmRpZmYgLS1naXQgYS9nZGItcmhiei0yMjMyMDg2LXJlZHVjZS1zaXpl LW9mLWdkYi1pbmRleC5wYXRjaCBiL2dkYi1yaGJ6LTIyMzIwODYtcmVkdWNlLXNpemUtb2YtZ2Ri LWluZGV4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllYWY2MTUK LS0tIC9kZXYvbnVsbAorKysgYi9nZGItcmhiei0yMjMyMDg2LXJlZHVjZS1zaXplLW9mLWdkYi1p bmRleC5wYXRjaApAQCAtMCwwICsxLDIyMiBAQAorRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJldyBCdXJnZXNzIDxhYnVyZ2Vzc0ByZWRoYXQu Y29tPgorRGF0ZTogRnJpLCAyNCBOb3YgMjAyMyAxMTo1MDozNSArMDAwMAorU3ViamVjdDogZ2Ri LXJoYnotMjIzMjA4Ni1yZWR1Y2Utc2l6ZS1vZi1nZGItaW5kZXgucGF0Y2gKKworOzsgQmFjay1w b3J0IHVwc3RyZWFtIGNvbW1pdCBhYTE5YmMxZDI1OSBhcyBwYXJ0IG9mIGEgZml4IGZvcgorOzsg bm9uLWRldGVybWluaXN0aWMgZ2RiLWluZGV4IGdlbmVyYXRpb24gKFJIIEJaIDIyMzIwODYpLgor CitnZGI6IHJlZHVjZSBzaXplIG9mIGdlbmVyYXRlZCBnZGItaW5kZXggZmlsZQorCitJIG5vdGlj ZWQgaW4gcGFzc2luZyB0aGF0IG91dCBhbGdvcml0aG0gZm9yIGdlbmVyYXRpbmcgdGhlIGdkYi1p bmRleAorZmlsZSBpcyBpbmNvcnJlY3QuICBXaGVuIGJ1aWxkaW5nIHRoZSBoYXNoIHRhYmxlIGlu IGFkZF9pbmRleF9lbnRyeSB3ZQorY291bnQgZXZlcnkgaW5jb21pbmcgZW50cnkgcmVoYXNoIHdo ZW4gdGhlIG51bWJlciBvZiBlbnRyaWVzIGdldHMgdG9vCitsYXJnZS4gIEhvd2V2ZXIsIHNvbWUg b2YgdGhlIGluY29taW5nIGVudHJpZXMgd2lsbCBiZSBkdXBsaWNhdGVzLAord2hpY2ggZG9uJ3Qg YWN0dWFsbHkgcmVzdWx0IGluIG5ldyBpdGVtcyBiZWluZyBhZGRlZCB0byB0aGUgaGFzaAordGFi bGUuCisKK0FzIGEgcmVzdWx0LCB3ZSBncm93IHRoZSBnZGItaW5kZXggaGFzaCB0YWJsZSBmYXIg dG9vIG9mdGVuLgorCitXaXRoIGFuIHVubW9kaWZpZWQgR0RCLCBnZW5lcmF0aW5nIGEgZ2RiLWlu ZGV4IGZvciBHREIsIEkgc2VlIGEgZmlsZQorc2l6ZSBvZiA5ME0sIHdpdGggYSBoYXNoIHVzYWdl IChpbiB0aGUgZ2VuZXJhdGVkIGluZGV4IGZpbGUpIG9mIGp1c3QKKzIuNiUuCisKK1dpdGggYSBw YXRjaGVkIEdEQiwgZ2VuZXJhdGluZyBhIGdkYi1pbmRleCBmb3IgdGhlIF9zYW1lXyBHREIgYmlu YXJ5LAorSSBub3cgc2VlIGEgZ2RiLWluZGV4IGZpbGUgc2l6ZSBvZiAzME0sIHdpdGggYSBoYXNo IHVzYWdlIG9mIDQxLjklLgorCitUaGlzIGlzIGEgNjclIHJlZHVjdGlvbiBpbiBnZGItaW5kZXgg ZmlsZSBzaXplLgorCitPYnZpb3VzbHksIG5vdCBldmVyeSBnZGItaW5kZXggZmlsZSBpcyBnb2lu ZyB0byBzZWUgc3VjaCBiaWcgc2F2aW5ncywKK2hvd2V2ZXIsIHRoZSBsYXJnZXIgYSBwcm9ncmFt LCBhbmQgdGhlIG1vcmUgc3ltYm9scyB0aGF0IGFyZQorZHVwbGljYXRlZCBiZXR3ZWVuIGNvbXBp bGF0aW9uIHVuaXRzLCB0aGUgbW9yZSBHREIgd291bGQgb3ZlciBjb3VudCwKK2FuZCBzbywgb3Zl ci1ncm93IHRoZSBpbmRleC4KKworVGhlIGdkYi1pbmRleCBoYXNoIHRhYmxlIHdlIGNyZWF0ZSBo YXMgYSBtaW5pbXVtIHNpemUgb2YgMTAyNCwgYW5kCit0aGVuIHdlIGdyb3cgdGhlIGhhc2ggd2hl biBpdCBpcyA3NSUgZnVsbCwgZG91YmxpbmcgdGhlIGhhc2ggdGFibGUgYXQKK3RoYXQgdGltZS4g IEdpdmVuIHRoaXMsIHRoZW4gd2UgZXhwZWN0IHRoYXQgZWl0aGVyOgorCisgIGEuIFRoZSBoYXNo IHRhYmxlIGlzIHNpemUgMTAyNCwgYW5kIGxlc3MgdGhhbiA3NSUgZnVsbCwgb3IKKyAgYi4gVGhl IGhhc2ggdGFibGUgaXMgYmV0d2VlbiAzNy41JSBhbmQgNzUlIGZ1bGwuCisKK0kndmUgaW5jbHVk ZSBhIHRlc3QgdGhhdCBjaGVja3Mgc29tZSBvZiB0aGVzZSBjb25zdHJhaW50cyAtLSBJJ3ZlIG5v dAorYm90aGVyZWQgdG8gY2hlY2sgdGhlIHVwcGVyIGxpbWl0LCBhbmQgb3ZlciBmdWxsIGhhc2gg dGFibGUgaXNuJ3QKK3JlYWxseSBhIHByb2JsZW0gaGVyZSwgYnV0IGlmIHRoZSBmaWxsIHBlcmNl bnRhZ2UgaXMgbGVzcyB0aGFuIDM3LjUlCit0aGVuIHRoaXMgaW5kaWNhdGVzIHRoYXQgd2UndmUg ZG9uZSBzb21ldGhpbmcgd3JvbmcgKG9idmlvdXNseSwgSSBhbHNvCitjaGVjayBmb3IgdGhlIDEw MjQgbWluaW11bSBzaXplKS4KKworQXBwcm92ZWQtQnk6IFRvbSBUcm9tZXkgPHRvbUB0cm9tZXku Y29tPgorCitkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jIGIvZ2RiL2R3YXJm Mi9pbmRleC13cml0ZS5jCistLS0gYS9nZGIvZHdhcmYyL2luZGV4LXdyaXRlLmMKKysrKyBiL2dk Yi9kd2FyZjIvaW5kZXgtd3JpdGUuYworQEAgLTI1NCwyMCArMjU0LDI5IEBAIGFkZF9pbmRleF9l bnRyeSAoc3RydWN0IG1hcHBlZF9zeW10YWIgKnN5bXRhYiwgY29uc3QgY2hhciAqbmFtZSwKKyAJ CSBpbnQgaXNfc3RhdGljLCBnZGJfaW5kZXhfc3ltYm9sX2tpbmQga2luZCwKKyAJCSBvZmZzZXRf dHlwZSBjdV9pbmRleCkKKyB7CistICBvZmZzZXRfdHlwZSBjdV9pbmRleF9hbmRfYXR0cnM7Cisr ICBzeW10YWJfaW5kZXhfZW50cnkgKnNsb3QgPSAmZmluZF9zbG90IChzeW10YWIsIG5hbWUpOwor KyAgaWYgKHNsb3QtPm5hbWUgPT0gTlVMTCkKKysgICAgeworKyAgICAgIC8qIFRoaXMgaXMgYSBu ZXcgZWxlbWVudCBpbiB0aGUgaGFzaCB0YWJsZS4gICovCisrICAgICAgKytzeW10YWItPm5fZWxl bWVudHM7CisgCistICArK3N5bXRhYi0+bl9lbGVtZW50czsKKy0gIGlmICg0ICogc3ltdGFiLT5u X2VsZW1lbnRzIC8gMyA+PSBzeW10YWItPmRhdGEuc2l6ZSAoKSkKKy0gICAgaGFzaF9leHBhbmQg KHN5bXRhYik7CisrICAgICAgLyogV2UgbWlnaHQgbmVlZCB0byBncm93IHRoZSBoYXNoIHRhYmxl LiAgKi8KKysgICAgICBpZiAoNCAqIHN5bXRhYi0+bl9lbGVtZW50cyAvIDMgPj0gc3ltdGFiLT5k YXRhLnNpemUgKCkpCisrCXsKKysJICBoYXNoX2V4cGFuZCAoc3ltdGFiKTsKKyAKKy0gIHN5bXRh Yl9pbmRleF9lbnRyeSAmc2xvdCA9IGZpbmRfc2xvdCAoc3ltdGFiLCBuYW1lKTsKKy0gIGlmIChz bG90Lm5hbWUgPT0gTlVMTCkKKy0gICAgeworLSAgICAgIHNsb3QubmFtZSA9IG5hbWU7CisrCSAg LyogVGhpcyBlbGVtZW50IHdpbGwgaGF2ZSBhIGRpZmZlcmVudCBzbG90IGluIHRoZSBuZXcgdGFi bGUuICAqLworKwkgIHNsb3QgPSAmZmluZF9zbG90IChzeW10YWIsIG5hbWUpOworKworKwkgIC8q IEJ1dCBpdCBzaG91bGQgc3RpbGwgYmUgYSBuZXcgZWxlbWVudCBpbiB0aGUgaGFzaCB0YWJsZS4g ICovCisrCSAgZ2RiX2Fzc2VydCAoc2xvdC0+bmFtZSA9PSBudWxscHRyKTsKKysJfQorKworKyAg ICAgIHNsb3QtPm5hbWUgPSBuYW1lOworICAgICAgIC8qIGluZGV4X29mZnNldCBpcyBzZXQgbGF0 ZXIuICAqLworICAgICB9CisgCistICBjdV9pbmRleF9hbmRfYXR0cnMgPSAwOworKyAgb2Zmc2V0 X3R5cGUgY3VfaW5kZXhfYW5kX2F0dHJzID0gMDsKKyAgIERXMl9HREJfSU5ERVhfQ1VfU0VUX1ZB TFVFIChjdV9pbmRleF9hbmRfYXR0cnMsIGN1X2luZGV4KTsKKyAgIERXMl9HREJfSU5ERVhfU1lN Qk9MX1NUQVRJQ19TRVRfVkFMVUUgKGN1X2luZGV4X2FuZF9hdHRycywgaXNfc3RhdGljKTsKKyAg IERXMl9HREJfSU5ERVhfU1lNQk9MX0tJTkRfU0VUX1ZBTFVFIChjdV9pbmRleF9hbmRfYXR0cnMs IGtpbmQpOworQEAgLTI3OSw3ICsyODgsNyBAQCBhZGRfaW5kZXhfZW50cnkgKHN0cnVjdCBtYXBw ZWRfc3ltdGFiICpzeW10YWIsIGNvbnN0IGNoYXIgKm5hbWUsCisgICAgICB0aGUgbGFzdCBlbnRy eSBwdXNoZWQpLCBidXQgYSBzeW1ib2wgY291bGQgaGF2ZSBtdWx0aXBsZSBraW5kcyBpbiBvbmUg Q1UuCisgICAgICBUbyBrZWVwIHRoaW5ncyBzaW1wbGUgd2UgZG9uJ3Qgd29ycnkgYWJvdXQgdGhl IGR1cGxpY2F0aW9uIGhlcmUgYW5kCisgICAgICBzb3J0IGFuZCB1bmlxdWlmeSB0aGUgbGlzdCBh ZnRlciB3ZSd2ZSBwcm9jZXNzZWQgYWxsIHN5bWJvbHMuICAqLworLSAgc2xvdC5jdV9pbmRpY2Vz LnB1c2hfYmFjayAoY3VfaW5kZXhfYW5kX2F0dHJzKTsKKysgIHNsb3QtPmN1X2luZGljZXMucHVz aF9iYWNrIChjdV9pbmRleF9hbmRfYXR0cnMpOworIH0KKyAKKyAvKiBTZWUgc3ltdGFiX2luZGV4 X2VudHJ5LiAgKi8KK2RpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvaW5kZXgtZmls ZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvaW5kZXgtZmlsZS5leHAKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CistLS0gL2Rldi9udWxsCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvaW5k ZXgtZmlsZS5leHAKK0BAIC0wLDAgKzEsMTE4IEBACisrIyBDb3B5cmlnaHQgMjAyMyBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisr IworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4u CisrCisrIyBMb2FkIHRoZSBHREIgZXhlY3V0YWJsZSwgYW5kIHRoZW4gJ3NhdmUgZ2RiLWluZGV4 JywgYW5kIG1ha2Ugc29tZQorKyMgY2hlY2tzIG9mIHRoZSBnZW5lcmF0ZWQgaW5kZXggZmlsZS4K KysKKytsb2FkX2xpYiBzZWxmdGVzdC1zdXBwb3J0LmV4cAorKworKyMgQ2FuJ3Qgc2F2ZSBhbiBp bmRleCB3aXRoIHJlYWRub3cuCisraWYge1tyZWFkbm93XX0geworKyAgICB1bnRlc3RlZCAiY2Fu bm90IGNyZWF0ZSBhbiBpbmRleCB3aGVuIHJlYWRub3cgaXMgaW4gdXNlIgorKyAgICByZXR1cm4g LTEKKyt9CisrCisrIyBBIG11bHRpcGxpZXIgdXNlZCB0byBlbnN1cmUgc2xvdyB0YXNrcyBhcmUg bGVzcyBsaWtlbHkgdG8gdGltZW91dC4KKytzZXQgdGltZW91dF9mYWN0b3IgMjAKKysKKytzZXQg ZmlsZW5hbWUgW3NlbGZ0ZXN0X3ByZXBhcmVdCisraWYgeyAkZmlsZW5hbWUgZXEgIiIgfSB7Cisr ICAgIHVuc3VwcG9ydGVkICIke2dkYl90ZXN0X2ZpbGVfbmFtZX0uZXhwIgorKyAgICByZXR1cm4g LTEKKyt9CisrCisrd2l0aF90aW1lb3V0X2ZhY3RvciAkdGltZW91dF9mYWN0b3IgeworKyAgICAj IFN0YXJ0IEdEQiwgbG9hZCBGSUxFTkFNRS4KKysgICAgY2xlYW5fcmVzdGFydCAkZmlsZW5hbWUK Kyt9CisrCisrIyBHZW5lcmF0ZSBhbiBpbmRleCBmaWxlLgorK3NldCBkaXIxIFtzdGFuZGFyZF9v dXRwdXRfZmlsZSAiaW5kZXhfMSJdCisrcmVtb3RlX2V4ZWMgaG9zdCAibWtkaXIgLXAgJHtkaXIx fSIKKyt3aXRoX3RpbWVvdXRfZmFjdG9yICR0aW1lb3V0X2ZhY3RvciB7CisrICAgIGdkYl90ZXN0 X25vX291dHB1dCAic2F2ZSBnZGItaW5kZXggJGRpcjEiIFwKKysJImNyZWF0ZSBnZGItaW5kZXgg ZmlsZSIKKyt9CisrCisrIyBDbG9zZSBHREIuCisrZ2RiX2V4aXQKKysKKysjIFZhbGlkYXRlIHRo YXQgdGhlIGluZGV4LWZpbGUgRklMRU5BTUUgaGFzIG1hZGUgZWZmaWNpZW50IHVzZSBvZiBpdHMK KysjIHN5bWJvbCBoYXNoIHRhYmxlLiAgQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2Ygc3ltYm9scyBp biB0aGUgaGFzaAorKyMgdGFibGUgYW5kIHRoZSB0b3RhbCBoYXNoIHRhYmxlIHNpemUuICBUaGUg aGFzaCB0YWJsZSBzdGFydHMgd2l0aAorKyMgMTAyNCBlbnRyaWVzLCBhbmQgdGhlbiBkb3VibGVz IGVhY2ggdGltZSBpdCBpcyBmaWxsZWQgdG8gNzUlLiAgQXQKKysjIDc1JSBmaWxsZWQsIGRvdWJs aW5nIHRoZSBzaXplIHRha2VzIGl0IHRvIDM3LjUlIGZpbGxlZC4KKysjCisrIyBUaHVzLCB0aGUg aGFzaCB0YWJsZSBpcyBjb3JyZWN0bHkgZmlsbGVkIGlmOgorKyMgIDEuIEl0cyBzaXplIGlzIDEw MjQgKGkuZS4gaXQgaGFzIG5vdCB5ZXQgaGFkIGl0cyBmaXJzdCBkb3VibGluZyksIG9yCisrIyAg Mi4gSXRzIGZpbGxlZCBwZXJjZW50YWdlIGlzIG92ZXIgMzclCisrIworKyMgV2UgY291bGQgY2hl Y2sgdGhhdCBpdCBpcyBub3Qgb3ZlciBmaWxsZWQsIGJ1dCBJIGRvbid0IGFzIHRoYXQncyBub3QK KysjIHJlYWxseSBhbiBpc3N1ZS4gIEJ1dCB3ZSBkaWQgb25jZSBoYXZlIGEgYnVnIHdoZXJlIHRo ZSB0YWJsZSB3YXMKKysjIGRvdWJsZWQgaW5jb3JyZWN0bHksIGluIHdoaWNoIGNhc2Ugd2UnZCBz ZWUgYSBmaWxsZWQgcGVyY2VudGFnZSBvZgorKyMgYXJvdW5kIDIlIGluIHNvbWUgY2FzZXMsIHdo aWNoIGlzIGEgaHVnZSB3YXN0ZSBvZiBkaXNrIHNwYWNlLgorK3Byb2MgY2hlY2tfc3ltYm9sX3Rh YmxlX3VzYWdlIHsgZmlsZW5hbWUgfSB7CisrICAgICMgT3BlbiB0aGUgZmlsZSBpbiBiaW5hcnkg bW9kZSBhbmQgcmVhZC1vbmx5IG1vZGUuCisrICAgIHNldCBmcCBbb3BlbiAkZmlsZW5hbWUgcmJd CisrCisrICAgICMgQ29uZmlndXJlIHRoZSBjaGFubmVsIHRvIHVzZSBiaW5hcnkgdHJhbnNsYXRp b24uCisrICAgIGZjb25maWd1cmUgJGZwIC10cmFuc2xhdGlvbiBiaW5hcnkKKysKKysgICAgIyBS ZWFkIHRoZSBmaXJzdCA4IGJ5dGVzIG9mIHRoZSBmaWxlLCB3aGljaCBjb250YWluIHRoZSBoZWFk ZXIgb2YKKysgICAgIyB0aGUgaW5kZXggc2VjdGlvbi4KKysgICAgc2V0IGhlYWRlciBbcmVhZCAk ZnAgW2V4cHIgNyAqIDRdXQorKworKyAgICAjIFNjYW4gdGhlIGhlYWRlciB0byBnZXQgdGhlIHZl cnNpb24sIHRoZSBDVSBsaXN0IG9mZnNldCwgYW5kIHRoZQorKyAgICAjIHR5cGVzIENVIGxpc3Qg b2Zmc2V0LgorKyAgICBiaW5hcnkgc2NhbiAkaGVhZGVyIGlpaWlpaSB2ZXJzaW9uIFwKKysJXyBf IF8gc3ltYm9sX3RhYmxlX29mZnNldCBzaG9ydGN1dF9vZmZzZXQKKysKKysgICAgIyBUaGUgbGVu Z3RoIG9mIHRoZSBzeW1ib2wgaGFzaCB0YWJsZSAoaW4gZW50cmllcykuCisrICAgIHNldCBsZW4g W2V4cHIgKCRzaG9ydGN1dF9vZmZzZXQgLSAkc3ltYm9sX3RhYmxlX29mZnNldCkgLyA4XQorKwor KyAgICAjIE5vdyB3YWxrIHRoZSBoYXNoIHRhYmxlIGFuZCBjb3VudCBob3cgbWFueSBlbnRyaWVz IGFyZSBpbiB1c2UuCisrICAgIHNldCBvZmZzZXQgJHN5bWJvbF90YWJsZV9vZmZzZXQKKysgICAg c2V0IGNvdW50IDAKKysgICAgd2hpbGUgeyAkb2Zmc2V0IDwgJHNob3J0Y3V0X29mZnNldCB9IHsK KysJc2VlayAkZnAgJG9mZnNldAorKwlzZXQgZW50cnkgW3JlYWQgJGZwIDhdCisrCWJpbmFyeSBz Y2FuICRlbnRyeSBpaSBuYW1lX3B0ciBmbGFncworKwlpZiB7ICRuYW1lX3B0ciAhPSAwIH0gewor KwkgICAgaW5jciBjb3VudAorKwl9CisrCisrCWluY3Igb2Zmc2V0IDgKKysgICAgfQorKworKyAg ICAjIENsb3NlIHRoZSBmaWxlLgorKyAgICBjbG9zZSAkZnAKKysKKysgICAgIyBDYWxjdWxhdGUg aG93IGZ1bGwgdGhlIGNhY2hlIGlzLgorKyAgICBzZXQgcGN0IFtleHByICgxMDAgKiBkb3VibGUo JGNvdW50KSkgLyAkbGVuXQorKworKyAgICAjIFdyaXRlIG91ciByZXN1bHRzIG91dCB0byB0aGUg Z2RiLmxvZy4KKysgICAgdmVyYm9zZSAtbG9nICJIYXNoIHRhYmxlIHNpemU6ICRsZW4iCisrICAg IHZlcmJvc2UgLWxvZyAiSGFzaCB0YWJsZSBlbnRyaWVzOiAkY291bnQiCisrICAgIHZlcmJvc2Ug LWxvZyAiUGVyY2VudGFnZSB1c2FnZTogJHBjdCUiCisrCisrICAgICMgVGhlIG1pbmltdW0gZmls bCBwZXJjZW50YWdlIGlzIGFjdHVhbGx5IDM3LjUlLCBidXQgd2UgZ2l2ZSBUQ0wgYQorKyAgICAj IGxpdHRsZSBmbGV4aWJpbGl0eSBpbiBjYXNlIHRoZSBGUCBtYXRocyBnaXZlIGEgcmVzdWx0IGEg bGl0dGxlCisrICAgICMgb2ZmLgorKyAgICBnZGJfYXNzZXJ0IHsgJGxlbiA9PSAxMDI0IHx8ICRw Y3QgPiAzNyB9IFwKKysJInN5bWJvbCBoYXNoIHRhYmxlIHVzYWdlIgorK30KKysKKytzZXQgaW5k ZXhfZmlsZW5hbWVfYmFzZSBbZmlsZSB0YWlsICRmaWxlbmFtZV0KKytjaGVja19zeW1ib2xfdGFi bGVfdXNhZ2UgIiRkaXIxLyR7aW5kZXhfZmlsZW5hbWVfYmFzZX0uZ2RiLWluZGV4IgoKZGlmZiAt LWdpdCBhL2dkYi1yaGJ6MjIzMjA4Ni1yZWZhY3Rvci1zZWxmdGVzdC1zdXBwb3J0LnBhdGNoIGIv Z2RiLXJoYnoyMjMyMDg2LXJlZmFjdG9yLXNlbGZ0ZXN0LXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlmZWJmNwotLS0gL2Rldi9udWxsCisrKyBiL2dk Yi1yaGJ6MjIzMjA4Ni1yZWZhY3Rvci1zZWxmdGVzdC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEs NzcgQEAKK0Zyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBBbmRyZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0LmNvbT4KK0RhdGU6IEZyaSwgMjQgTm92 IDIwMjMgMTE6MTA6MDggKzAwMDAKK1N1YmplY3Q6IGdkYi1yaGJ6MjIzMjA4Ni1yZWZhY3Rvci1z ZWxmdGVzdC1zdXBwb3J0LnBhdGNoCisKKzs7IEJhY2stcG9ydCB1cHN0cmVhbSBjb21taXQgMWYw ZmFiN2ZmODYgYXMgcGFydCBvZiBhIGZpeCBmb3IKKzs7IG5vbi1kZXRlcm1pbmlzdGljIGdkYi1p bmRleCBnZW5lcmF0aW9uIChSSCBCWiAyMjMyMDg2KS4KKworZ2RiL3Rlc3RzdWl0ZTogc21hbGwg cmVmYWN0b3IgaW4gc2VsZnRlc3Qtc3VwcG9ydC5leHAKKworU3BsaXQgb3V0IHRoZSBjb2RlIHRo YXQgbWFrZXMgYSBjb3B5IG9mIHRoZSBHREIgZXhlY3V0YWJsZSByZWFkeSBmb3IKK3NlbGYgdGVz dGluZyBpbnRvIGEgbmV3IHByb2MuICBBIGxhdGVyIGNvbW1pdCBpbiB0aGlzIHNlcmllcyB3YW50 cyB0bworbG9hZCB0aGUgR0RCIGV4ZWN1dGFibGUgaW50byBHREIgKGZvciBjcmVhdGluZyBhbiBv bi1kaXNrIGRlYnVnCitpbmRleCksIGJ1dCBkb2Vzbid0IG5lZWQgdG8gbWFrZSB1c2Ugb2YgdGhl IGZ1bGwgZG9fc2VsZl90ZXN0cyBwcm9jLgorCitUaGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlcyBp biB3aGF0IGlzIHRlc3RlZCBhZnRlciB0aGlzIGNvbW1pdC4KKworQXBwcm92ZWQtQnk6IFRvbSBU cm9tZXkgPHRvbUB0cm9tZXkuY29tPgorCitkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIv c2VsZnRlc3Qtc3VwcG9ydC5leHAgYi9nZGIvdGVzdHN1aXRlL2xpYi9zZWxmdGVzdC1zdXBwb3J0 LmV4cAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvc2VsZnRlc3Qtc3VwcG9ydC5leHAKKysrKyBi L2dkYi90ZXN0c3VpdGUvbGliL3NlbGZ0ZXN0LXN1cHBvcnQuZXhwCitAQCAtOTIsMTEgKzkyLDEz IEBAIHByb2Mgc2VsZnRlc3Rfc2V0dXAgeyBleGVjdXRhYmxlIGZ1bmN0aW9uIH0geworICAgICBy ZXR1cm4gMAorIH0KKyAKKy0jIEEgc2ltcGxlIHdheSB0byBydW4gc29tZSBzZWxmLXRlc3RzLgor LQorLXByb2MgZG9fc2VsZl90ZXN0cyB7ZnVuY3Rpb24gYm9keX0geworLSAgICBnbG9iYWwgR0RC IHRvb2wKKy0KKysjIFByZXBhcmUgZm9yIHJ1bm5pbmcgYSBzZWxmLXRlc3QgYnkgbW92aW5nIHRo ZSBHREIgZXhlY3V0YWJsZSB0byBhCisrIyBsb2NhdGlvbiB3aGVyZSB3ZSBjYW4gdXNlIGl0IGFz IHRoZSBpbmZlcmlvci4gIFJldHVybiB0aGUgZmlsZW5hbWUKKysjIG9mIHRoZSBuZXcgbG9jYXRp b24uCisrIworKyMgSWYgdGhlIGN1cnJlbnQgdGVzdGluZyBzZXR1cCBpcyBub3Qgc3VpdGFibGUg Zm9yIHJ1bm5pbmcgYQorKyMgc2VsZi10ZXN0LCB0aGVuIHJldHVybiBhbiBlbXB0eSBzdHJpbmcu CisrcHJvYyBzZWxmdGVzdF9wcmVwYXJlIHt9IHsKKyAgICAgIyBBcmUgd2UgdGVzdGluZyB3aXRo IGEgcmVtb3RlIGJvYXJkPyAgSW4gdGhhdCBjYXNlLCB0aGUgdGFyZ2V0CisgICAgICMgd29uJ3Qg aGF2ZSBhY2Nlc3MgdG8gdGhlIEdEQidzIGF1eGlsbGlhcnkgZGF0YSBmaWxlcworICAgICAjIChk YXRhLWRpcmVjdG9yeSwgZXRjLikuICBJdCdzIHNpbXBsZXIgdG8ganVzdCBza2lwLgorQEAgLTEy MCwxOSArMTIyLDMxIEBAIHByb2MgZG9fc2VsZl90ZXN0cyB7ZnVuY3Rpb24gYm9keX0geworICAg ICAjIFJ1biB0aGUgdGVzdCB3aXRoIHNlbGYuICBDb3B5IHRoZSBmaWxlIGV4ZWN1dGFibGUgZmls ZSBpbiBjYXNlCisgICAgICMgdGhpcyBPUyBkb2Vzbid0IGxpa2UgdG8gZWRpdCBpdHMgb3duIHRl eHQgc3BhY2UuCisgCistICAgIHNldCBHREJfRlVMTFBBVEggW2ZpbmRfZ2RiICRHREJdCisrICAg IHNldCBnZGJfZnVsbHBhdGggW2ZpbmRfZ2RiICQ6OkdEQl0KKyAKKyAgICAgaWYge1tpc19yZW1v dGUgaG9zdF19IHsKKy0Jc2V0IHhnZGIgeCR0b29sCisrCXNldCB4Z2RiIHgkOjp0b29sCisgICAg IH0gZWxzZSB7CistCXNldCB4Z2RiIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSB4JHRvb2xdCisrCXNl dCB4Z2RiIFtzdGFuZGFyZF9vdXRwdXRfZmlsZSB4JDo6dG9vbF0KKyAgICAgfQorIAorICAgICAj IFJlbW92ZSBhbnkgb2xkIGNvcHkgbHlpbmcgYXJvdW5kLgorICAgICByZW1vdGVfZmlsZSBob3N0 IGRlbGV0ZSAkeGdkYgorIAorKyAgICBzZXQgZmlsZW5hbWUgW3JlbW90ZV9kb3dubG9hZCBob3N0 ICRnZGJfZnVsbHBhdGggJHhnZGJdCisrCisrICAgIHJldHVybiAkZmlsZW5hbWUKKyt9CisrCisr IyBBIHNpbXBsZSB3YXkgdG8gcnVuIHNvbWUgc2VsZi10ZXN0cy4KKysKKytwcm9jIGRvX3NlbGZf dGVzdHMge2Z1bmN0aW9uIGJvZHl9IHsKKysgICAgc2V0IGZpbGUgW3NlbGZ0ZXN0X3ByZXBhcmVd CisrICAgIGlmIHsgJGZpbGUgZXEgIiIgfSB7CisrCXJldHVybgorKyAgICB9CisrCisgICAgIGdk Yl9zdGFydAorLSAgICBzZXQgZmlsZSBbcmVtb3RlX2Rvd25sb2FkIGhvc3QgJEdEQl9GVUxMUEFU SCAkeGdkYl0KKyAKKyAgICAgIyBXaGVuIGRlYnVnZ2luZyBHREIgd2l0aCBHREIsIHNvbWUgb3Bl cmF0aW9ucyBjYW4gdGFrZSBhIHJlbGF0aXZlbHkgbG9uZworICAgICAjIHRpbWUsIGVzcGVjaWFs bHkgaWYgdGhlIGJ1aWxkIGlzIG5vbi1vcHRpbWl6ZWQuICBCdW1wIHRoZSB0aW1lb3V0IGZvciB0 aGUKCmRpZmYgLS1naXQgYS9nZGIuc3BlYyBiL2dkYi5zcGVjCmluZGV4IGZiOTliZGQuLjdlODE0 MWYgMTAwNjQ0Ci0tLSBhL2dkYi5zcGVjCisrKyBiL2dkYi5zcGVjCkBAIC01Nyw3ICs1Nyw3IEBA IFZlcnNpb246IDEzLjIKIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5n IHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBw YXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBm b3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiAxMSV7P2Rpc3R9CitSZWxlYXNlOiAxMiV7P2Rpc3R9 CiAKIExpY2Vuc2U6IEdQTC0zLjAtb3ItbGF0ZXIgQU5EIEJTRC0zLWNsYXVzZSBBTkQgRlNGQVAg QU5EIExHUEwtMi4xLW9yLWxhdGVyIEFORCBHUEwtMi4wLW9yLWxhdGVyIEFORCBMR1BMLTIuMC1v ci1sYXRlciBBTkQgTGljZW5zZVJlZi1GZWRvcmEtUHVibGljLURvbWFpbiBBTkQgR0ZETC0xLjMt b3ItbGF0ZXIgQU5EIExHUEwtMi4wLW9yLWxhdGVyIFdJVEggR0NDLWV4Y2VwdGlvbi0yLjAgQU5E IEdQTC0zLjAtb3ItbGF0ZXIgV0lUSCBHQ0MtZXhjZXB0aW9uLTMuMSBBTkQgR1BMLTIuMC1vci1s YXRlciBXSVRIIEdOVS1jb21waWxlci1leGNlcHRpb24KICMgRG8gbm90IHByb3ZpZGUgVVJMIGZv ciBzbmFwc2hvdHMgYXMgdGhlIGZpbGUgbGFzdHMgdGhlcmUgb25seSBmb3IgMiBkYXlzLgpAQCAt MTI1Miw2ICsxMjUyLDEzIEBAIGZpCiAlZW5kaWYKIAogJWNoYW5nZWxvZworKiBUdWUgTm92IDI4 IDIwMjMgQW5kcmV3IEJ1cmdlc3MgPGFidXJnZXNzQHJlZGhhdC5jb20+CistIEJhY2twb3J0IHVw c3RyZWFtIGNvbW1pdHMgMWYwZmFiN2ZmODYsIGFhMTliYzFkMjU5LCBhY2MxMTdiNTdmNywKKyAg YWZmMjUwMTQ1YWYsIGFuZCAzNjQ0ZjQxZGM4MC4gIFRoZXNlIGNvbW1pdHMgcmVkdWNlIHRoZSBz aXplIG9mIHRoZQorICBnZW5lcmF0ZWQgZ2RiLWluZGV4IGZpbGUsIGFuZCBhbHNvIGVuc3VyZSB0 aGF0IHRoZSBnZGItaW5kZXggYW5kCisgIGR3YXJmLTUgaW5kZXggYXJlIGdlbmVyYXRlZCBjb25z aXN0ZW50bHkgZXZlbiBhcyB0aGUgbnVtYmVyIG9mCisgIHdvcmtlciB0aHJlYWRzIHRoYXQgR0RC IHVzZXMgY2hhbmdlcyAoUkhCWiAyMjMyMDg2KS4KKwogKiBUaHUgT2N0IDE5IDIwMjMgQWxleGFu ZHJhIEjDoWprb3bDoSA8YWhhamtvdmFAcmVkaGF0LmNvbT4KIC0gUmVtb3ZlIGdkYi02LjUtaWE2 NC1saWJ1bndpbmQtbGVhay10ZXN0LnBhdGNoLgogICBUaGUgcGF0Y2ggZG9lc24ndCBpbmNsdWRl IGFueSBhY3R1YWwgZml4ZXMsIHRoZSBhcmNoaXRlY3R1cmUK