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: Yaakov Selkowitz To: git-commits@fedoraproject.org Subject: [rpms/vlc] epel9-next: Port to ffmpeg 7.0 Date: Mon, 20 Jul 2026 18:05:59 GMT Message-ID: <178457075949.1.12559629847408928436.rpms-vlc-6b4e045a54fd@fedoraproject.org> List-ID: X-Git-Repo: rpms/vlc X-Git-Branch: epel9-next X-Git-Rev: 6b4e045a54fd73d342e3087f66959f64662fb05b ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvdmxjCiAgICAgICAgICAgIEJyYW5jaCA6IGVwZWw5LW5leHQKICAgICAgICAg ICAgQ29tbWl0IDogNmI0ZTA0NWE1NGZkNzNkMzQyZTMwODdmNjY5NTlmNjQ2NjJmYjA1YgogICAg ICAgICAgICBBdXRob3IgOiBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aUByZWRoYXQuY29tPgog ICAgICAgICAgICBEYXRlICAgOiAyMDI0LTA5LTI5VDE4OjU0OjI4LTA0OjAwCiAgICAgICAgICAg IFN0YXRzICA6ICs4NTUvLTAgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBz Oi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvdmxjL2MvNmI0ZTA0NWE1NGZkNzNkMzQyZTMw ODdmNjY5NTlmNjQ2NjJmYjA1Yj9icmFuY2g9ZXBlbDktbmV4dAoKICAgICAgICAgICAgTG9nOgog ICAgICAgICAgICBQb3J0IHRvIGZmbXBlZyA3LjAKCmh0dHBzOi8vY29kZS52aWRlb2xhbi5vcmcv dmlkZW9sYW4vdmxjLy0vbWVyZ2VfcmVxdWVzdHMvNTU3NApodHRwczovL3NhbHNhLmRlYmlhbi5v cmcvbXVsdGltZWRpYS10ZWFtL3ZsYy8tL2Jsb2IvbWFzdGVyL2RlYmlhbi9wYXRjaGVzLzAwMTMt bXV4LWF2Zm9ybWF0LWZpeC1hdmlvLWNhbGxiYWNrcy1zaWduYXR1cmUtd2l0aC1mZm1wZS5wYXRj aAoKLS0tCmRpZmYgLS1naXQgYS81NTc0LnBhdGNoIGIvNTU3NC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjBjMzk1Ci0tLSAvZGV2L251bGwKKysrIGIvNTU3NC5w YXRjaApAQCAtMCwwICsxLDg1MyBAQAorRnJvbSBhNDY0NWI1NzdjNzFlNThkYjA5ZWU2ODg4ZjI3 MGZiM2QwY2ZkNjFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1I9 QzM9QTltaT0yMERlbmlzLUNvdXJtb250Pz0gPHJlbWlAcmVtbGFiLm5ldD4KK0RhdGU6IFNhdCwg NSBNYXkgMjAxOCAxNToyODoxNSArMDMwMAorU3ViamVjdDogW1BBVENIIDAxLzExXSBhdmNvZGVj OiBhdm9pZCBzaWduZWRuZXNzIG1pc21hdGNoIHdhcm5pbmcKKworQml0bWFzayBzaG91bGQgYmUg dW5zaWduZWQsIGJ1dCBmZm1wZWcgc2VlbXMgY29uZnVzZWQgd2l0aCBpdHNlbGYuCisKKyhjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IDg1NDQyMzNlN2ZkZTI5NjU0MzVlMzJhNDQ1NDk0ODk4NDQw ZWNjMzApCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8IDQgKystLQorIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy9hdWRpby5jCitpbmRleCA1MGE3NmM3YTE4ZTEuLmU1YWYwY2E1ZjJmOCAxMDA2NDQKKy0tLSBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvYXVkaW8uYworQEAgLTU5Myw5ICs1OTMsOSBAQCBzdGF0aWMgdm9pZCBTZXR1cE91dHB1dEZv cm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBiX3RydXN0ICkKKyAgICAgdWludDMyX3QgcGlf b3JkZXJfc3JjW2lfb3JkZXJfbWF4XTsKKyAKKyAgICAgaW50IGlfY2hhbm5lbHNfc3JjID0gMDsK Ky0gICAgaW50NjRfdCBjaGFubmVsX2xheW91dCA9CisrICAgIHVpbnQ2NF90IGNoYW5uZWxfbGF5 b3V0ID0KKyAgICAgICAgIHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0ID8gcF9zeXMt PnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgOgorLSAgICAgICAgYXZfZ2V0X2RlZmF1bHRfY2hh bm5lbF9sYXlvdXQoIHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzICk7CisrICAgICAgICAodWlu dDY0X3QpYXZfZ2V0X2RlZmF1bHRfY2hhbm5lbF9sYXlvdXQoIHBfc3lzLT5wX2NvbnRleHQtPmNo YW5uZWxzICk7CisgCisgICAgIGlmKCBjaGFubmVsX2xheW91dCApCisgICAgIHsKKy0tIAorR2l0 TGFiCisKKworRnJvbSAyZDUxMjkzYzNmOGUwYmZhMmI3MzExMmFjZjRkYWNiNjJiNDBhYzU3IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSWxra2EgT2xsYWtrYSA8aWxlb29AdmlkZW9s YW4ub3JnPgorRGF0ZTogV2VkLCA1IEp1bCAyMDIzIDEyOjUxOjM0ICswMzAwCitTdWJqZWN0OiBb UEFUQ0ggMDIvMTFdIGF2Y29kZWM6IHVzZSBwX2RlYy0+Zm10X291dCBpbnN0ZWFkIG9mIGNvbnRl eHQgY2hhbm5lbHMKKyBvbiBhdWRpbyBjaGFubmVsLWNvdW50CisKK3JlZHVjZXMgdGhlIG5lZWQg b2YgaWZkZWZzIHdoZW4gYWRkaW5nIGNoX2xheW91dCBzdXBwb3J0CisKKyhjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IGJkZGY1YmExOTExMWQxY2M0NDYzZDk4NzZjNGJjNGJhNzVmODJkN2YpCist LS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8IDE0ICsrKysrKystLS0tLS0tCisg MSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2F1ZGlvLmMKK2luZGV4IGU1YWYwY2E1ZjJmOC4uMjYxNjZjMDg0ZTUxIDEwMDY0NAorLS0t IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZj b2RlYy9hdWRpby5jCitAQCAtNDg0LDE1ICs0ODQsMTUgQEAgc3RhdGljIGJsb2NrX3QgKiBDb252 ZXJ0QVZGcmFtZSggZGVjb2Rlcl90ICpwX2RlYywgQVZGcmFtZSAqZnJhbWUgKQorICAgICAvKiBJ bnRlcmxlYXZlIGF1ZGlvIGlmIHJlcXVpcmVkICovCisgICAgIGlmKCBhdl9zYW1wbGVfZm10X2lz X3BsYW5hciggY3R4LT5zYW1wbGVfZm10ICkgKQorICAgICB7CistICAgICAgICBwX2Jsb2NrID0g YmxvY2tfQWxsb2MoZnJhbWUtPmxpbmVzaXplWzBdICogY3R4LT5jaGFubmVscyk7CisrICAgICAg ICBwX2Jsb2NrID0gYmxvY2tfQWxsb2MoZnJhbWUtPmxpbmVzaXplWzBdICogcF9kZWMtPmZtdF9v dXQuYXVkaW8uaV9jaGFubmVscyApOworICAgICAgICAgaWYgKCBsaWtlbHkocF9ibG9jaykgKQor ICAgICAgICAgeworLSAgICAgICAgICAgIGNvbnN0IHZvaWQgKnBsYW5lc1tjdHgtPmNoYW5uZWxz XTsKKy0gICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGN0eC0+Y2hhbm5lbHM7IGkrKykK KysgICAgICAgICAgICBjb25zdCB2b2lkICpwbGFuZXNbcF9kZWMtPmZtdF9vdXQuYXVkaW8uaV9j aGFubmVsc107CisrICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwX2RlYy0+Zm10X291 dC5hdWRpby5pX2NoYW5uZWxzOyBpKyspCisgICAgICAgICAgICAgICAgIHBsYW5lc1tpXSA9IGZy YW1lLT5leHRlbmRlZF9kYXRhW2ldOworIAorICAgICAgICAgICAgIGFvdXRfSW50ZXJsZWF2ZShw X2Jsb2NrLT5wX2J1ZmZlciwgcGxhbmVzLCBmcmFtZS0+bmJfc2FtcGxlcywKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3R4LT5jaGFubmVscywgcF9kZWMtPmZtdF9vdXQuYXVkaW8uaV9m b3JtYXQpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX2RlYy0+Zm10X291dC5hdWRp by5pX2NoYW5uZWxzLCBwX2RlYy0+Zm10X291dC5hdWRpby5pX2Zvcm1hdCk7CisgICAgICAgICAg ICAgcF9ibG9jay0+aV9uYl9zYW1wbGVzID0gZnJhbWUtPm5iX3NhbXBsZXM7CisgICAgICAgICB9 CisgICAgICAgICBhdl9mcmFtZV9mcmVlKCZmcmFtZSk7CitAQCAtNTExLDcgKzUxMSw3IEBAIHN0 YXRpYyBibG9ja190ICogQ29udmVydEFWRnJhbWUoIGRlY29kZXJfdCAqcF9kZWMsIEFWRnJhbWUg KmZyYW1lICkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBhb3V0X0NoYW5uZWxFeHRyYWN0KCBw X2J1ZmZlci0+cF9idWZmZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcF9k ZWMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscywKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwX2Jsb2NrLT5wX2J1ZmZlciwgY3R4LT5jaGFubmVscywKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwX2Jsb2NrLT5wX2J1ZmZlciwgcF9kZWMtPmZtdF9vdXQuYXVk aW8uaV9jaGFubmVscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX2Jsb2Nr LT5pX25iX3NhbXBsZXMsIHBfc3lzLT5waV9leHRyYWN0aW9uLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfYml0c3BlcnNhbXBsZSApOwor ICAgICAgICAgICAgIHBfYnVmZmVyLT5pX25iX3NhbXBsZXMgPSBwX2Jsb2NrLT5pX25iX3NhbXBs ZXM7CitAQCAtNjAwLDEzICs2MDAsMTMgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQo IGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgICAgIGlmKCBjaGFubmVsX2xheW91 dCApCisgICAgIHsKKyAgICAgICAgIGZvciggdW5zaWduZWQgaSA9IDA7IGkgPCBpX29yZGVyX21h eAorLSAgICAgICAgICYmIGlfY2hhbm5lbHNfc3JjIDwgcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5l bHM7IGkrKyApCisrICAgICAgICAgJiYgaV9jaGFubmVsc19zcmMgPCBwX2RlYy0+Zm10X291dC5h dWRpby5pX2NoYW5uZWxzOyBpKysgKQorICAgICAgICAgeworICAgICAgICAgICAgIGlmKCBjaGFu bmVsX2xheW91dCAmIHBpX2NoYW5uZWxzX21hcFtpXVswXSApCisgICAgICAgICAgICAgICAgIHBp X29yZGVyX3NyY1tpX2NoYW5uZWxzX3NyYysrXSA9IHBpX2NoYW5uZWxzX21hcFtpXVsxXTsKKyAg ICAgICAgIH0KKyAKKy0gICAgICAgIGlmKCBpX2NoYW5uZWxzX3NyYyAhPSBwX3N5cy0+cF9jb250 ZXh0LT5jaGFubmVscyAmJiBiX3RydXN0ICkKKysgICAgICAgIGlmKCBpX2NoYW5uZWxzX3NyYyAh PSBwX2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzICYmIGJfdHJ1c3QgKQorICAgICAgICAg ICAgIG1zZ19FcnIoIHBfZGVjLCAiQ2hhbm5lbCBsYXlvdXQgbm90IHVuZGVyc3Rvb2QiICk7Cisg CisgICAgICAgICAvKiBEZXRlY3Qgc3BlY2lhbCBkdWFsIG1vbm8gY2FzZSAqLworLS0gCitHaXRM YWIKKworCitGcm9tIDFlNWJkOGE2ZjVmYmYyYzA3MDcxY2VmYjFiMjRhY2VmZjA1ODc2MGQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBJbGtrYSBPbGxha2thIDxpbGVvb0B2aWRlb2xh bi5vcmc+CitEYXRlOiBXZWQsIDUgSnVsIDIwMjMgMTM6MzM6MDkgKzAzMDAKK1N1YmplY3Q6IFtQ QVRDSCAwMy8xMV0gYXZjb2RlYzogYXVkaW8gZGVjb2RlciB0byB1c2UgY2hfbGF5b3V0CisKKyhj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQ5NmYwZjJhNjU5YzEzMzlkMWUzNzMzMGQ0NDZlOWI2 Y2U5NmU3NmIpCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8IDQyICsrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDM0IGluc2Vy dGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitpbmRleCAyNjE2 NmMwODRlNTEuLmFkOGE0MGFiNGVkNiAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy9hdWRpby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworQEAgLTEzOSw3 ICsxMzksMTEgQEAgc3RhdGljIGludCBPcGVuQXVkaW9Db2RlYyggZGVjb2Rlcl90ICpwX2RlYyAp CisgICAgIH0KKyAKKyAgICAgY3R4LT5zYW1wbGVfcmF0ZSA9IHBfZGVjLT5mbXRfaW4uYXVkaW8u aV9yYXRlOworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwg MTAwKQorKyAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmY3R4LT5jaF9sYXlvdXQsIHBf ZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVscyApOworKyNlbHNlCisgICAgIGN0eC0+Y2hhbm5l bHMgPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHM7CisrI2VuZGlmCisgICAgIGN0eC0+ YmxvY2tfYWxpZ24gPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfYmxvY2thbGlnbjsKKyAgICAgY3R4 LT5iaXRfcmF0ZSA9IHBfZGVjLT5mbXRfaW4uaV9iaXRyYXRlOworICAgICBjdHgtPmJpdHNfcGVy X2NvZGVkX3NhbXBsZSA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9iaXRzcGVyc2FtcGxlOworQEAg LTM5NSwxMiArMzk5LDE3IEBAIHN0YXRpYyBpbnQgRGVjb2RlQmxvY2soIGRlY29kZXJfdCAqcF9k ZWMsIGJsb2NrX3QgKipwcF9ibG9jayApCisgICAgICAgICByZXQgPSBhdmNvZGVjX3JlY2VpdmVf ZnJhbWUoIGN0eCwgZnJhbWUgKTsKKyAgICAgICAgIGlmKCByZXQgPT0gMCApCisgICAgICAgICB7 CisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisr ICAgICAgICAgICAgaW50IGNoYW5uZWxzID0gZnJhbWUtPmNoX2xheW91dC5uYl9jaGFubmVsczsK KysjZWxzZQorKyAgICAgICAgICAgIGludCBjaGFubmVscyA9IGN0eC0+Y2hhbm5lbHM7CisrI2Vu ZGlmCisgICAgICAgICAgICAgLyogY2hlY2tzIGFuZCBpbml0IGZyb20gZmlyc3QgZGVjb2RlZCBm cmFtZSAqLworLSAgICAgICAgICAgIGlmKCBjdHgtPmNoYW5uZWxzIDw9IDAgfHwgY3R4LT5jaGFu bmVscyA+IElOUFVUX0NIQU5fTUFYCisrICAgICAgICAgICAgaWYoIGNoYW5uZWxzIDw9IDAgfHwg Y2hhbm5lbHMgPiBJTlBVVF9DSEFOX01BWAorICAgICAgICAgICAgICB8fCBjdHgtPnNhbXBsZV9y YXRlIDw9IDAgKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgbXNnX1dhcm4oIHBf ZGVjLCAiaW52YWxpZCBhdWRpbyBwcm9wZXJ0aWVzIGNoYW5uZWxzIGNvdW50ICVkLCBzYW1wbGUg cmF0ZSAlZCIsCistICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPmNoYW5uZWxzLCBjdHgt PnNhbXBsZV9yYXRlICk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVscywgY3R4 LT5zYW1wbGVfcmF0ZSApOworICAgICAgICAgICAgICAgICBnb3RvIGRyb3A7CisgICAgICAgICAg ICAgfQorICAgICAgICAgICAgIGVsc2UgaWYoIHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfcmF0ZSAh PSAodW5zaWduZWQgaW50KWN0eC0+c2FtcGxlX3JhdGUgKQorQEAgLTU4MCw2ICs1ODksMTYgQEAg c3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90 cnVzdCApCisgICAgIHBfZGVjLT5mbXRfb3V0LmF1ZGlvLmlfcmF0ZSA9IHBfc3lzLT5wX2NvbnRl eHQtPnNhbXBsZV9yYXRlOworIAorICAgICAvKiAqLworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05f Q0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorKyAgICBpZiggcF9zeXMtPmlfcHJldmlvdXNf Y2hhbm5lbHMgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzICYmCisr ICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19sYXlvdXQgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hf bGF5b3V0LnUubWFzayApCisrICAgICAgICByZXR1cm47CisrICAgIGlmKCBiX3RydXN0ICkKKysg ICAgeworKyAgICAgICAgcF9zeXMtPmlfcHJldmlvdXNfY2hhbm5lbHMgPSBwX3N5cy0+cF9jb250 ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7CisrICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19s YXlvdXQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOworKyAgICB9CisrI2Vs c2UKKyAgICAgaWYoIHBfc3lzLT5pX3ByZXZpb3VzX2NoYW5uZWxzID09IHBfc3lzLT5wX2NvbnRl eHQtPmNoYW5uZWxzICYmCisgICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19sYXlvdXQgPT0gcF9z eXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgKQorICAgICAgICAgcmV0dXJuOworQEAgLTU4 OCwyNSArNjA3LDMyIEBAIHN0YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3Qg KnBfZGVjLCBib29sIGJfdHJ1c3QgKQorICAgICAgICAgcF9zeXMtPmlfcHJldmlvdXNfY2hhbm5l bHMgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsczsKKyAgICAgICAgIHBfc3lzLT5pX3ByZXZp b3VzX2xheW91dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0OworICAgICB9Cisr I2VuZGlmCisgCisgICAgIGNvbnN0IHVuc2lnbmVkIGlfb3JkZXJfbWF4ID0gc2l6ZW9mKHBpX2No YW5uZWxzX21hcCkvc2l6ZW9mKCpwaV9jaGFubmVsc19tYXApOworICAgICB1aW50MzJfdCBwaV9v cmRlcl9zcmNbaV9vcmRlcl9tYXhdOworIAorICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwOwor LSAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dCA9CisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9D SEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisrICAgIHVpbnQ2NF90IGNoYW5uZWxfbGF5b3V0 X21hc2sgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrOworKyAgICBpbnQgY2hh bm5lbF9jb3VudCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVsczsKKysj ZWxzZQorKyAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNrID0KKyAgICAgICAgIHBfc3lz LT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0ID8gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9s YXlvdXQgOgorICAgICAgICAgKHVpbnQ2NF90KWF2X2dldF9kZWZhdWx0X2NoYW5uZWxfbGF5b3V0 KCBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVscyApOworKyAgICBpbnQgY2hhbm5lbF9jb3VudCA9 IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzOworKyNlbmRpZgorIAorLSAgICBpZiggY2hhbm5l bF9sYXlvdXQgKQorKyAgICBpZiggY2hhbm5lbF9sYXlvdXRfbWFzayApCisgICAgIHsKKyAgICAg ICAgIGZvciggdW5zaWduZWQgaSA9IDA7IGkgPCBpX29yZGVyX21heAorLSAgICAgICAgICYmIGlf Y2hhbm5lbHNfc3JjIDwgcF9kZWMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVsczsgaSsrICkKKysg ICAgICAgICAmJiBpX2NoYW5uZWxzX3NyYyA8IGNoYW5uZWxfY291bnQ7IGkrKyApCisgICAgICAg ICB7CistICAgICAgICAgICAgaWYoIGNoYW5uZWxfbGF5b3V0ICYgcGlfY2hhbm5lbHNfbWFwW2ld WzBdICkKKysgICAgICAgICAgICBpZiggY2hhbm5lbF9sYXlvdXRfbWFzayAmIHBpX2NoYW5uZWxz X21hcFtpXVswXSApCisgICAgICAgICAgICAgICAgIHBpX29yZGVyX3NyY1tpX2NoYW5uZWxzX3Ny YysrXSA9IHBpX2NoYW5uZWxzX21hcFtpXVsxXTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGlm KCBpX2NoYW5uZWxzX3NyYyAhPSBwX2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzICYmIGJf dHJ1c3QgKQorKyAgICAgICAgaWYoIGlfY2hhbm5lbHNfc3JjICE9IGNoYW5uZWxfY291bnQgJiYg Yl90cnVzdCApCisgICAgICAgICAgICAgbXNnX0VyciggcF9kZWMsICJDaGFubmVsIGxheW91dCBu b3QgdW5kZXJzdG9vZCIgKTsKKyAKKyAgICAgICAgIC8qIERldGVjdCBzcGVjaWFsIGR1YWwgbW9u byBjYXNlICovCitAQCAtNjM4LDcgKzY2NCw3IEBAIHN0YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9y bWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBib29sIGJfdHJ1c3QgKQorICAgICB7CisgICAgICAgICBt c2dfV2FybiggcF9kZWMsICJubyBjaGFubmVsIGxheW91dCBmb3VuZCIpOworICAgICAgICAgcF9k ZWMtPmZtdF9vdXQuYXVkaW8uaV9waHlzaWNhbF9jaGFubmVscyA9IDA7CistICAgICAgICBwX2Rl Yy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHM7 CisrICAgICAgICBwX2RlYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzID0gY2hhbm5lbF9jb3Vu dDsKKyAgICAgfQorIAorICAgICBhb3V0X0Zvcm1hdFByZXBhcmUoICZwX2RlYy0+Zm10X291dC5h dWRpbyApOworLS0gCitHaXRMYWIKKworCitGcm9tIDFmYmYzZjAyOGNmZmVkODdjYjI1N2E0NTY2 ODc2MDM3MGRiMjY3Y2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBJbGtrYSBPbGxh a2thIDxpbGVvb0B2aWRlb2xhbi5vcmc+CitEYXRlOiBUdWUsIDQgSnVsIDIwMjMgMTY6NTI6Mzgg KzAzMDAKK1N1YmplY3Q6IFtQQVRDSCAwNC8xMV0gYXZjb2RlYzogdXNlIHBfZW5jIGF1ZGlvIGNo YW5uZWxzIGluc3RlYWQgb2YgY29udGV4dAorIGNoYW5uZWxzIGluIGVuY29kZXIKKworQWxsb3dz IHRvIGhhdmUgbGVzcyBjb25kaXRpb25zIGluIGNvZGUgd2hlbiBhZGRpbmcgbmV3IGNoX2xheW91 dCB1c2UKKworKGNoZXJyeS1waWNrZWQgZnJvbSBjb21taXQgMjk3NDdhOGFiYjk4YmE1M2E2NGFh Njc2MTk4Mzg5MWVlZWQyZTBlNCkKKy0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVy LmMgfCAyNCArKysrKysrKysrKystLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5z ZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvZW5jb2Rlci5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworaW5k ZXggNDkxOWNjZjBlMGU0Li41Mjg0OGRlMDY1ODcgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvZW5jb2Rlci5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5j CitAQCAtNzkwLDcgKzc5MCw3IEBAIGludCBJbml0VmlkZW9FbmMoIHZsY19vYmplY3RfdCAqcF90 aGlzICkKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKy0g ICAgICAgIGlmKCBpX2NoYW5uZWxzX3NyYyAhPSBwX2NvbnRleHQtPmNoYW5uZWxzICkKKysgICAg ICAgIGlmKCBpX2NoYW5uZWxzX3NyYyAhPSBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxz ICkKKyAgICAgICAgICAgICBtc2dfRXJyKCBwX2VuYywgIkNoYW5uZWwgbGF5b3V0IG5vdCB1bmRl cnN0b29kIiApOworIAorICAgICAgICAgcF9zeXMtPmlfY2hhbm5lbHNfdG9fcmVvcmRlciA9CitA QCAtODk3LDcgKzg5Nyw3IEBAIGludCBJbml0VmlkZW9FbmMoIHZsY19vYmplY3RfdCAqcF90aGlz ICkKKyAgICAgaWYoIHJldCApCisgICAgIHsKKyAgICAgICAgIGlmKCBwX2VuYy0+Zm10X2luLmlf Y2F0ICE9IEFVRElPX0VTIHx8CistICAgICAgICAgICAgICAgIChwX2NvbnRleHQtPmNoYW5uZWxz IDw9IDIgJiYgaV9jb2RlY19pZCAhPSBBVl9DT0RFQ19JRF9NUDIKKysgICAgICAgICAgICAgICAg KHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMgPD0gMiAmJiBpX2NvZGVjX2lkICE9IEFW X0NPREVDX0lEX01QMgorICAgICAgICAgICAgICAgICAgJiYgaV9jb2RlY19pZCAhPSBBVl9DT0RF Q19JRF9NUDMpICkKKyBlcnJtc2c6CisgICAgICAgICB7CitAQCAtOTIyLDcgKzkyMiw3IEBAIGVy cm1zZzoKKyAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgfQorIAorLSAgICAgICAg aWYoIHBfY29udGV4dC0+Y2hhbm5lbHMgPiAyICkKKysgICAgICAgIGlmKCBwX2VuYy0+Zm10X291 dC5hdWRpby5pX2NoYW5uZWxzID4gMiApCisgICAgICAgICB7CisgICAgICAgICAgICAgcF9jb250 ZXh0LT5jaGFubmVscyA9IDI7CisgICAgICAgICAgICAgcF9jb250ZXh0LT5jaGFubmVsX2xheW91 dCA9IGNoYW5uZWxfbWFza1twX2NvbnRleHQtPmNoYW5uZWxzXVsxXTsKK0BAIC0xMDI4LDcgKzEw MjgsNyBAQCBlcnJtc2c6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcF9j b250ZXh0LT5mcmFtZV9zaXplIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBVl9JTlBVVF9CVUZGRVJfTUlOX1NJWkU7CisgICAgICAgICBwX3N5cy0+aV9idWZmZXJfb3V0 ID0gYXZfc2FtcGxlc19nZXRfYnVmZmVyX3NpemUoTlVMTCwKKy0gICAgICAgICAgICAgICAgcF9z eXMtPnBfY29udGV4dC0+Y2hhbm5lbHMsIHBfc3lzLT5pX2ZyYW1lX3NpemUsCisrICAgICAgICAg ICAgICAgIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMsIHBfc3lzLT5pX2ZyYW1lX3Np emUsCisgICAgICAgICAgICAgICAgIHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9mbXQsIERFRkFV TFRfQUxJR04pOworICAgICAgICAgcF9zeXMtPnBfYnVmZmVyID0gYXZfbWFsbG9jKCBwX3N5cy0+ aV9idWZmZXJfb3V0ICk7CisgICAgICAgICBpZiAoIHVubGlrZWx5KCBwX3N5cy0+cF9idWZmZXIg PT0gTlVMTCApICkKK0BAIC0xMjc4LDcgKzEyNzgsNyBAQCBzdGF0aWMgYmxvY2tfdCAqaGFuZGxl X2RlbGF5X2J1ZmZlciggZW5jb2Rlcl90ICpwX2VuYywgZW5jb2Rlcl9zeXNfdCAqcF9zeXMsIHVu cworIHsKKyAgICAgYmxvY2tfdCAqcF9ibG9jayA9IE5VTEw7CisgICAgIC8vSG93IG11Y2ggd2Ug bmVlZCB0byBjb3B5IGZyb20gbmV3IHBhY2tldAorLSAgICBjb25zdCBzaXplX3QgbGVmdG92ZXIg PSBsZWZ0b3Zlcl9zYW1wbGVzICogcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHMgKiBwX3N5cy0+ aV9zYW1wbGVfYnl0ZXM7CisrICAgIGNvbnN0IHNpemVfdCBsZWZ0b3ZlciA9IGxlZnRvdmVyX3Nh bXBsZXMgKiBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzICogcF9zeXMtPmlfc2FtcGxl X2J5dGVzOworIAorICAgICBhdl9mcmFtZV91bnJlZiggcF9zeXMtPmZyYW1lICk7CisgICAgIHBf c3lzLT5mcmFtZS0+Zm9ybWF0ICAgICA9IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9mbXQ7CitA QCAtMTMwMSw3ICsxMzAxLDcgQEAgc3RhdGljIGJsb2NrX3QgKmhhbmRsZV9kZWxheV9idWZmZXIo IGVuY29kZXJfdCAqcF9lbmMsIGVuY29kZXJfc3lzX3QgKnBfc3lzLCB1bnMKKyAgICAgICAgIC8v IFdlIG5lZWQgdG8gZGVpbnRlcmxlYXZlIGZyb20gcF9hb3V0X2J1ZiB0byBwX2J1ZmZlciB0aGUg bGVmdG92ZXIgYnl0ZXMKKyAgICAgICAgIGlmKCBwX3N5cy0+Yl9wbGFuYXIgKQorICAgICAgICAg ICAgIGFvdXRfRGVpbnRlcmxlYXZlKCBwX3N5cy0+cF9pbnRlcmxlYXZlX2J1ZiwgcF9zeXMtPnBf YnVmZmVyLAorLSAgICAgICAgICAgICAgICBwX3N5cy0+aV9mcmFtZV9zaXplLCBwX3N5cy0+cF9j b250ZXh0LT5jaGFubmVscywgcF9lbmMtPmZtdF9pbi5pX2NvZGVjICk7CisrICAgICAgICAgICAg ICAgIHBfc3lzLT5pX2ZyYW1lX3NpemUsIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMs IHBfZW5jLT5mbXRfaW4uaV9jb2RlYyApOworICAgICAgICAgZWxzZQorICAgICAgICAgICAgIG1l bWNweSggcF9zeXMtPnBfYnVmZmVyICsgYnVmZmVyX2RlbGF5LCBwX2FvdXRfYnVmLT5wX2J1ZmZl ciwgbGVmdG92ZXIpOworIAorQEAgLTEzMTksNyArMTMxOSw3IEBAIHN0YXRpYyBibG9ja190ICpo YW5kbGVfZGVsYXlfYnVmZmVyKCBlbmNvZGVyX3QgKnBfZW5jLCBlbmNvZGVyX3N5c190ICpwX3N5 cywgdW5zCisgICAgICAgICBtZW1zZXQoIHBfc3lzLT5wX2J1ZmZlciArIChsZWZ0b3ZlcitidWZm ZXJfZGVsYXkpLCAwLCBwYWRkaW5nX3NpemUgKTsKKyAgICAgICAgIGJ1ZmZlcl9kZWxheSArPSBw YWRkaW5nX3NpemU7CisgICAgIH0KKy0gICAgaWYoIGF2Y29kZWNfZmlsbF9hdWRpb19mcmFtZSgg cF9zeXMtPmZyYW1lLCBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVscywKKysgICAgaWYoIGF2Y29k ZWNfZmlsbF9hdWRpb19mcmFtZSggcF9zeXMtPmZyYW1lLCBwX2VuYy0+Zm10X291dC5hdWRpby5p X2NoYW5uZWxzLAorICAgICAgICAgICAgIHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9mbXQsIHBf c3lzLT5iX3BsYW5hciA/IHBfc3lzLT5wX2ludGVybGVhdmVfYnVmIDogcF9zeXMtPnBfYnVmZmVy LAorICAgICAgICAgICAgIHBfc3lzLT5pX2J1ZmZlcl9vdXQsCisgICAgICAgICAgICAgREVGQVVM VF9BTElHTikgPCAwICkKK0BAIC0xMzQ5LDcgKzEzNDksNyBAQCBzdGF0aWMgYmxvY2tfdCAqRW5j b2RlQXVkaW8oIGVuY29kZXJfdCAqcF9lbmMsIGJsb2NrX3QgKnBfYW91dF9idWYgKQorIAorICAg ICAvL2lfYnl0ZXNfbGVmdCBpcyBhbW91bnQgb2YgYnl0ZXMgd2UgZ2V0CisgICAgIGlfc2FtcGxl c19sZWZ0ID0gcF9hb3V0X2J1ZiA/IHBfYW91dF9idWYtPmlfbmJfc2FtcGxlcyA6IDA7CistICAg IGJ1ZmZlcl9kZWxheSA9IHBfc3lzLT5pX3NhbXBsZXNfZGVsYXkgKiBwX3N5cy0+aV9zYW1wbGVf Ynl0ZXMgKiBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsczsKKysgICAgYnVmZmVyX2RlbGF5ID0g cF9zeXMtPmlfc2FtcGxlc19kZWxheSAqIHBfc3lzLT5pX3NhbXBsZV9ieXRlcyAqIHBfZW5jLT5m bXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHM7CisgCisgICAgIC8vcF9zeXMtPmlfYnVmZmVyX291dCA9 IHBfc3lzLT5pX2ZyYW1lX3NpemUgKiBjaGFuICogcF9zeXMtPmlfc2FtcGxlX2J5dGVzCisgICAg IC8vQ2FsY3VsYXRlIGhvdyBtYW55IGJ5dGVzIHdlIHdvdWxkIG5lZWQgZnJvbSBjdXJyZW50IGJ1 ZmZlciB0byBmaWxsIGZyYW1lCitAQCAtMTQxOCwxMiArMTQxOCwxMiBAQCBzdGF0aWMgYmxvY2tf dCAqRW5jb2RlQXVkaW8oIGVuY29kZXJfdCAqcF9lbmMsIGJsb2NrX3QgKnBfYW91dF9idWYgKQor ICAgICAgICAgcF9zeXMtPmZyYW1lLT5jaGFubmVscyA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5u ZWxzOworIAorICAgICAgICAgY29uc3QgaW50IGluX2J5dGVzID0gcF9zeXMtPmZyYW1lLT5uYl9z YW1wbGVzICoKKy0gICAgICAgICAgICBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVscyAqIHBfc3lz LT5pX3NhbXBsZV9ieXRlczsKKysgICAgICAgICAgICBwX2VuYy0+Zm10X291dC5hdWRpby5pX2No YW5uZWxzKiBwX3N5cy0+aV9zYW1wbGVfYnl0ZXM7CisgCisgICAgICAgICBpZiggcF9zeXMtPmJf cGxhbmFyICkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBhb3V0X0RlaW50ZXJsZWF2ZSggcF9z eXMtPnBfYnVmZmVyLCBwX2FvdXRfYnVmLT5wX2J1ZmZlciwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcF9zeXMtPmZyYW1lLT5uYl9zYW1wbGVzLCBwX3N5cy0+cF9jb250ZXh0LT5j aGFubmVscywgcF9lbmMtPmZtdF9pbi5pX2NvZGVjICk7CisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBfc3lzLT5mcmFtZS0+bmJfc2FtcGxlcywgcF9lbmMtPmZtdF9vdXQuYXVkaW8u aV9jaGFubmVscywgcF9lbmMtPmZtdF9pbi5pX2NvZGVjICk7CisgCisgICAgICAgICB9CisgICAg ICAgICBlbHNlCitAQCAtMTQzMSw3ICsxNDMxLDcgQEAgc3RhdGljIGJsb2NrX3QgKkVuY29kZUF1 ZGlvKCBlbmNvZGVyX3QgKnBfZW5jLCBibG9ja190ICpwX2FvdXRfYnVmICkKKyAgICAgICAgICAg ICBtZW1jcHkocF9zeXMtPnBfYnVmZmVyLCBwX2FvdXRfYnVmLT5wX2J1ZmZlciwgaW5fYnl0ZXMp OworICAgICAgICAgfQorIAorLSAgICAgICAgaWYoIGF2Y29kZWNfZmlsbF9hdWRpb19mcmFtZSgg cF9zeXMtPmZyYW1lLCBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVscywKKysgICAgICAgIGlmKCBh dmNvZGVjX2ZpbGxfYXVkaW9fZnJhbWUoIHBfc3lzLT5mcmFtZSwgcF9lbmMtPmZtdF9vdXQuYXVk aW8uaV9jaGFubmVscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX3N5 cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBfc3lzLT5wX2J1ZmZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwX3N5cy0+aV9idWZmZXJfb3V0LAorQEAgLTE0NTcsNyArMTQ1Nyw3IEBAIHN0YXRpYyBi bG9ja190ICpFbmNvZGVBdWRpbyggZW5jb2Rlcl90ICpwX2VuYywgYmxvY2tfdCAqcF9hb3V0X2J1 ZiApCisgICAgIGlmKCBwX2FvdXRfYnVmLT5pX25iX3NhbXBsZXMgPiAwICkKKyAgICAgeworICAg ICAgICBtZW1jcHkoIHBfc3lzLT5wX2J1ZmZlciArIGJ1ZmZlcl9kZWxheSwgcF9hb3V0X2J1Zi0+ cF9idWZmZXIsCistICAgICAgICAgICAgICAgcF9hb3V0X2J1Zi0+aV9uYl9zYW1wbGVzICogcF9z eXMtPmlfc2FtcGxlX2J5dGVzICogcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHMpOworKyAgICAg ICAgICAgICAgIHBfYW91dF9idWYtPmlfbmJfc2FtcGxlcyAqIHBfc3lzLT5pX3NhbXBsZV9ieXRl cyAqIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMpOworICAgICAgICBwX3N5cy0+aV9z YW1wbGVzX2RlbGF5ICs9IHBfYW91dF9idWYtPmlfbmJfc2FtcGxlczsKKyAgICAgfQorIAorLS0g CitHaXRMYWIKKworCitGcm9tIGExYTNlZGQ0ZWFjYzgxM2U1YjRjM2E2ZjM1M2I5MmY0MDY5ZmJj MWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/RnJhbj1DMz1BN29p cz0yMENhcnRlZ25pZT89IDxmY3ZsY2RldkBmcmVlLmZyPgorRGF0ZTogVHVlLCAyMyBBcHIgMjAy NCAxMzoxMzozMCArMDcwMAorU3ViamVjdDogW1BBVENIIDA1LzExXSBjb2RlYzogYXZjb2RlYzog bWFwIEFZVVYgYXMgUkFXVklERU8gd2l0aCBmZm1wZWcgNi4wCisKKyhjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDk1NWVmOTM5NDY3YTYyOGViOGRhMDhlMGQ1ZWFlZmM5YTM0ODRjYmEpCistLS0K KyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMgfCA2ICsrKysrLQorIDEgZmlsZSBjaGFu Z2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9mb3VyY2MuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9mb3VyY2Mu YworaW5kZXggMzNjNmNhZTA5YWJjLi45N2YzMTg4MjExZDMgMTAwNjQ0CistLS0gYS9tb2R1bGVz L2NvZGVjL2F2Y29kZWMvZm91cmNjLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9mb3Vy Y2MuYworQEAgLTE4Miw4ICsxODIsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2bGNfYXZjb2Rl Y19mb3VyY2MgdmlkZW9fY29kZWNzW10gPQorICAgICAvKiBBVl9DT0RFQ19JRF9WMjEwWCAqLwor ICAgICB7IFZMQ19DT0RFQ19UTVYsIEFWX0NPREVDX0lEX1RNViB9LAorICAgICB7IFZMQ19DT0RF Q19WMjEwLCBBVl9DT0RFQ19JRF9WMjEwIH0sCistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQg Pj0gQVZfVkVSU0lPTl9JTlQoIDU0LCA1MCwgMTAwICkgJiYgTElCQVZDT0RFQ19WRVJTSU9OX01J Q1JPID49IDEwMAorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUlDUk8gPj0gMTAwCisrIyBpZiBM SUJBVkNPREVDX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1OSwgNDIsIDEwMiApCisr ICAgIHsgVkxDX0NPREVDX1ZVWUEsIEFWX0NPREVDX0lEX1JBV1ZJREVPIH0sCisrIyBlbGlmIExJ QkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU0LCA1MCwgMTAwICkKKyAg ICAgeyBWTENfQ09ERUNfVlVZQSwgQVZfQ09ERUNfSURfQVlVViB9LAorKyMgZW5kaWYKKyAjZW5k aWYKKyAgICAgLyogQVZfQ09ERUNfSURfRFBYICovCisgICAgIHsgVkxDX0NPREVDX01BRCwgQVZf Q09ERUNfSURfTUFEIH0sCistLSAKK0dpdExhYgorCisKK0Zyb20gZGE2ZjY3NTg4ZGFjZjYwYzc1 NjNmZDcyMGNjNzVlMTkxMjIxNWE0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZy YW5jb2lzIENhcnRlZ25pZSA8ZmN2bGNkZXZAZnJlZS5mcj4KK0RhdGU6IFRodSwgMTMgSnVuIDIw MjQgMTI6MjE6NTggKzA3MDAKK1N1YmplY3Q6IFtQQVRDSCAwNi8xMV0gYXZjb2RlYzogZW5jb2Rl cjogZml4IGNoYW5uZWxfbGF5b3V0IGNvbmRpdGlvbmFscworCistLS0KKyBtb2R1bGVzL2NvZGVj L2F2Y29kZWMvZW5jb2Rlci5jIHwgMTEgKysrKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgOCBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2VuY29kZXIuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKK2lu ZGV4IDUyODQ4ZGUwNjU4Ny4uNmJkNThmNTA3MWQyIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2VuY29kZXIuYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIu YworQEAgLTQzLDEyICs0MywxMyBAQAorICNpbmNsdWRlIDx2bGNfY3B1Lmg+CisgCisgI2luY2x1 ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgorLSNpbmNsdWRlIDxsaWJhdnV0aWwvY2hhbm5lbF9s YXlvdXQuaD4KKyAKKyAjaW5jbHVkZSAiYXZjb2RlYy5oIgorICNpbmNsdWRlICJhdmNvbW1vbi5o IgorIAorLSNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyggNTIsMiw2LDAsMCApCisrI2RlZmlu ZSBBUElfQ0hBTk5FTF9MQVlPVVQgKExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1MiwgMiwgNiwg MCwgMTAwKSkKKysKKysjaWYgQVBJX0NIQU5ORUxfTEFZT1VUCisgIyBpbmNsdWRlIDxsaWJhdnV0 aWwvY2hhbm5lbF9sYXlvdXQuaD4KKyAjZW5kaWYKKyAKK0BAIC0xNTcsNiArMTU4LDcgQEAgc3Ry dWN0IGVuY29kZXJfc3lzX3QKKyAKKyAKKyAvKiBUYWtlbiBmcm9tIGF1ZGlvLmMqLworKyNpZiBB UElfQ0hBTk5FTF9MQVlPVVQKKyBzdGF0aWMgY29uc3QgdWludDY0X3QgcGlfY2hhbm5lbHNfbWFw W11bMl0gPQorIHsKKyAgICAgeyBBVl9DSF9GUk9OVF9MRUZULCAgICAgICAgQU9VVF9DSEFOX0xF RlQgfSwKK0BAIC0xOTMsNiArMTk1LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IGNoYW5uZWxf bWFza1tdWzJdID0geworICAgICB7QU9VVF9DSEFOU183XzEsIEFWX0NIX0xBWU9VVF83UE9JTlQx fSwKKyAgICAge0FPVVRfQ0hBTlNfOF8xLCBBVl9DSF9MQVlPVVRfT0NUQUdPTkFMfSwKKyB9Owor KyNlbmRpZgorIAorIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBwcHN6X2VuY19vcHRpb25zW10g PSB7CisgICAgICJrZXlpbnQiLCAiYmZyYW1lcyIsICJ2dCIsICJxbWluIiwgInFtYXgiLCAiY29k ZWMiLCAiaHEiLAorQEAgLTc0Niw3ICs3NDksNyBAQCBpbnQgSW5pdFZpZGVvRW5jKCB2bGNfb2Jq ZWN0X3QgKnBfdGhpcyApCisgICAgICAgICBwX2NvbnRleHQtPnRpbWVfYmFzZS5udW0gPSAxOwor ICAgICAgICAgcF9jb250ZXh0LT50aW1lX2Jhc2UuZGVuID0gcF9jb250ZXh0LT5zYW1wbGVfcmF0 ZTsKKyAgICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbHMgICAgICA9IHBfZW5jLT5mbXRfb3V0LmF1 ZGlvLmlfY2hhbm5lbHM7CistI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1MiwgMiwgNiwg MCwgMCkKKysjaWYgQVBJX0NIQU5ORUxfTEFZT1VUCisgICAgICAgICBwX2NvbnRleHQtPmNoYW5u ZWxfbGF5b3V0ID0gY2hhbm5lbF9tYXNrW3BfY29udGV4dC0+Y2hhbm5lbHNdWzFdOworIAorICAg ICAgICAgLyogU2V0dXAgQ2hhbm5lbCBvcmRlcmluZyBmb3IgbXVsdGljaGFubmVsIGF1ZGlvCitA QCAtOTI1LDcgKzkyOCw5IEBAIGVycm1zZzoKKyAgICAgICAgIGlmKCBwX2VuYy0+Zm10X291dC5h dWRpby5pX2NoYW5uZWxzID4gMiApCisgICAgICAgICB7CisgICAgICAgICAgICAgcF9jb250ZXh0 LT5jaGFubmVscyA9IDI7CisrI2lmIEFQSV9DSEFOTkVMX0xBWU9VVAorICAgICAgICAgICAgIHBf Y29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgPSBjaGFubmVsX21hc2tbcF9jb250ZXh0LT5jaGFubmVs c11bMV07CisrI2VuZGlmCisgCisgICAgICAgICAgICAgLyogQ2hhbmdlIGZtdF9pbiBpbiBvcmRl ciB0byBhc2sgZm9yIGEgY2hhbm5lbHMgY29udmVyc2lvbiAqLworICAgICAgICAgICAgIHBfZW5j LT5mbXRfaW4uYXVkaW8uaV9jaGFubmVscyA9CistLSAKK0dpdExhYgorCisKK0Zyb20gOGUyZDIw OWQwODk3MTM4YmExMzM3MmFiNDljMGVlN2NlZjdjMzE2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IEZyYW5jb2lzIENhcnRlZ25pZSA8ZmN2bGNkZXZAZnJlZS5mcj4KK0RhdGU6IFNh dCwgMTcgQXVnIDIwMjQgMTE6MjI6MzMgKzA3MDAKK1N1YmplY3Q6IFtQQVRDSCAwNy8xMV0gY29k ZWM6IGF2Y29kZWM6IGZpeCBhdWRpbyBjaGFubmVsX2xheW91dCBjb25kaXRpb25hbHMKKworLS0t CisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgfCAyMyArKysrKysrKysrKysrKystLS0t LS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgYi9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXVkaW8uYworaW5kZXggYWQ4YTQwYWI0ZWQ2Li5jNzQ3NTdjNzZhZTUgMTAw NjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworKysrIGIvbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2F1ZGlvLmMKK0BAIC00MSw4ICs0MSwxMSBAQAorICNpbmNsdWRlIDxsaWJh dmNvZGVjL2F2Y29kZWMuaD4KKyAjaW5jbHVkZSA8bGliYXZ1dGlsL21lbS5oPgorIAorLSNpbmNs dWRlIDxsaWJhdnV0aWwvY2hhbm5lbF9sYXlvdXQuaD4KKysjZGVmaW5lIEFQSV9DSEFOTkVMX0xB WU9VVCAoTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDUyLCAyLCA2LCAwLCAxMDApKQorIAorKyNp ZiBBUElfQ0hBTk5FTF9MQVlPVVQKKysjIGluY2x1ZGUgPGxpYmF2dXRpbC9jaGFubmVsX2xheW91 dC5oPgorKyNlbmRpZgorIAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIGRlY29kZXJfc3lz X3QgOiBkZWNvZGVyIGRlc2NyaXB0b3IKK0BAIC01OTgsNyArNjAxLDcgQEAgc3RhdGljIHZvaWQg U2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgICAg ICAgICBwX3N5cy0+aV9wcmV2aW91c19jaGFubmVscyA9IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xh eW91dC5uYl9jaGFubmVsczsKKyAgICAgICAgIHBfc3lzLT5pX3ByZXZpb3VzX2xheW91dCA9IHBf c3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC51Lm1hc2s7CisgICAgIH0KKy0jZWxzZQorKyNlbGlm IEFQSV9DSEFOTkVMX0xBWU9VVAorICAgICBpZiggcF9zeXMtPmlfcHJldmlvdXNfY2hhbm5lbHMg PT0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHMgJiYKKyAgICAgICAgIHBfc3lzLT5pX3ByZXZp b3VzX2xheW91dCA9PSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsX2xheW91dCApCisgICAgICAg ICByZXR1cm47CitAQCAtNjEyLDE1ICs2MTUsMTkgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRG b3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgICAgIGNvbnN0IHVuc2ln bmVkIGlfb3JkZXJfbWF4ID0gc2l6ZW9mKHBpX2NoYW5uZWxzX21hcCkvc2l6ZW9mKCpwaV9jaGFu bmVsc19tYXApOworICAgICB1aW50MzJfdCBwaV9vcmRlcl9zcmNbaV9vcmRlcl9tYXhdOworIAor LSAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwOworKyAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAw LCBjaGFubmVsX2NvdW50OworKyAgICB1aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNrOworICNp ZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorLSAgICB1 aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNrID0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0 LnUubWFzazsKKy0gICAgaW50IGNoYW5uZWxfY291bnQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9s YXlvdXQubmJfY2hhbm5lbHM7CistI2Vsc2UKKy0gICAgdWludDY0X3QgY2hhbm5lbF9sYXlvdXRf bWFzayA9CisrICAgIGNoYW5uZWxfbGF5b3V0X21hc2sgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9s YXlvdXQudS5tYXNrOworKyAgICBjaGFubmVsX2NvdW50ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hf bGF5b3V0Lm5iX2NoYW5uZWxzOworKyNlbGlmIEFQSV9DSEFOTkVMX0xBWU9VVAorKyAgICBjaGFu bmVsX2xheW91dF9tYXNrID0KKyAgICAgICAgIHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5 b3V0ID8gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgOgorICAgICAgICAgKHVpbnQ2 NF90KWF2X2dldF9kZWZhdWx0X2NoYW5uZWxfbGF5b3V0KCBwX3N5cy0+cF9jb250ZXh0LT5jaGFu bmVscyApOworLSAgICBpbnQgY2hhbm5lbF9jb3VudCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5u ZWxzOworKyAgICBjaGFubmVsX2NvdW50ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHM7Cisr I2Vsc2UKKysgICAgY2hhbm5lbF9sYXlvdXRfbWFzayA9IE5VTEw7CisrICAgIGNoYW5uZWxfY291 bnQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsczsKKyAjZW5kaWYKKyAKKyAgICAgaWYoIGNo YW5uZWxfbGF5b3V0X21hc2sgKQorLS0gCitHaXRMYWIKKworCitGcm9tIGNjNTMwNmY5YjRlYWFj MWI2ODQ3NDdkNjVjMDQ5MDEwMDg0MjNmNjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiA9P1VURi04P3E/RnJhbj1DMz1BN29pcz0yMENhcnRlZ25pZT89IDxmY3ZsY2RldkBmcmVlLmZy PgorRGF0ZTogVHVlLCAyMyBBcHIgMjAyNCAxMzoxNDo1MyArMDcwMAorU3ViamVjdDogW1BBVENI IDA4LzExXSBkZW11eC9tdXg6IGF2Zm9ybWF0OiB1c2UgY2hfbGF5b3V0IGZyb20gZmZtcGVnIDUu MQorCittZXJnZXIgcGljayBmcm9tIGNvbW1pdCBhNTVlYzMyYWIzNzYwZDllZGI2ZjA1NDgxY2Qz YTk4MWFhNDI4NzhkCithbmQgZml4dXAgMTk1ZjBjOTg1OTliNTU5NTBjNDlhNjJmOThkOWQzNDk1 YmUzMTBkZgorLS0tCisgbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jIHwgNCArKysrCisg bW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyAgIHwgNCArKysrCisgMiBmaWxlcyBjaGFuZ2Vk LCA4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQv ZGVtdXguYyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYworaW5kZXggM2IzNTViYjNm YWVjLi44MzBkYzAxNTdlMmIgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2Rl bXV4LmMKKysrKyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYworQEAgLTQwMSw3ICs0 MDEsMTEgQEAgaW50IGF2Zm9ybWF0X09wZW5EZW11eCggdmxjX29iamVjdF90ICpwX3RoaXMgKQor ICAgICAgICAgICAgIGVzX2Zvcm1hdF9Jbml0KCAmZXNfZm10LCBBVURJT19FUywgZmNjICk7Cisg ICAgICAgICAgICAgZXNfZm10Lmlfb3JpZ2luYWxfZm91cmNjID0gQ29kZWNUYWdUb0ZvdXJjYygg Y3AtPmNvZGVjX3RhZyApOworICAgICAgICAgICAgIGVzX2ZtdC5pX2JpdHJhdGUgPSBjcC0+Yml0 X3JhdGU7CisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU5 LCAyNCwgMTAwICkgJiYgTElCQVZDT0RFQ19WRVJTSU9OX01JQ1JPID49IDEwMAorKyAgICAgICAg ICAgIGVzX2ZtdC5hdWRpby5pX2NoYW5uZWxzID0gY3AtPmNoX2xheW91dC5uYl9jaGFubmVsczsK KysjZWxzZQorICAgICAgICAgICAgIGVzX2ZtdC5hdWRpby5pX2NoYW5uZWxzID0gY3AtPmNoYW5u ZWxzOworKyNlbmRpZgorICAgICAgICAgICAgIGVzX2ZtdC5hdWRpby5pX3JhdGUgPSBjcC0+c2Ft cGxlX3JhdGU7CisgICAgICAgICAgICAgZXNfZm10LmF1ZGlvLmlfYml0c3BlcnNhbXBsZSA9IGNw LT5iaXRzX3Blcl9jb2RlZF9zYW1wbGU7CisgICAgICAgICAgICAgZXNfZm10LmF1ZGlvLmlfYmxv Y2thbGlnbiA9IGNwLT5ibG9ja19hbGlnbjsKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2RlbXV4L2F2 Zm9ybWF0L211eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworaW5kZXggYzcwODI3 Njk1NGNlLi44YmY4NzM1ODg1ZjUgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0 L211eC5jCisrKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCitAQCAtMjY3LDcgKzI2 NywxMSBAQCBzdGF0aWMgaW50IEFkZFN0cmVhbSggc291dF9tdXhfdCAqcF9tdXgsIHNvdXRfaW5w dXRfdCAqcF9pbnB1dCApCisgICAgIHsKKyAgICAgY2FzZSBBVURJT19FUzoKKyAgICAgICAgIGNv ZGVjcGFyLT5jb2RlY190eXBlID0gQVZNRURJQV9UWVBFX0FVRElPOworKyNpZiBMSUJBVkNPREVD X1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1OSwgMjQsIDEwMCApICYmIExJQkFWQ09E RUNfVkVSU0lPTl9NSUNSTyA+PSAxMDAKKysgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1 bHQoICZjb2RlY3Bhci0+Y2hfbGF5b3V0LCBmbXQtPmF1ZGlvLmlfY2hhbm5lbHMgKTsKKysjZWxz ZQorICAgICAgICAgY29kZWNwYXItPmNoYW5uZWxzID0gZm10LT5hdWRpby5pX2NoYW5uZWxzOwor KyNlbmRpZgorICAgICAgICAgY29kZWNwYXItPnNhbXBsZV9yYXRlID0gZm10LT5hdWRpby5pX3Jh dGU7CisgICAgICAgICBzdHJlYW0tPnRpbWVfYmFzZSA9IChBVlJhdGlvbmFsKXsxLCBjb2RlY3Bh ci0+c2FtcGxlX3JhdGV9OworICAgICAgICAgaWYgKGZtdC0+aV9iaXRyYXRlID09IDApIHsKKy0t IAorR2l0TGFiCisKKworRnJvbSBhZDQxM2FiOWMwZDg1MjJjYjc5ZjdkZjM2NDAyNDk5OTg5MDJi NmNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSWxra2EgT2xsYWtrYSA8aWxlb29A dmlkZW9sYW4ub3JnPgorRGF0ZTogVHVlLCA0IEp1bCAyMDIzIDE2OjUzOjQzICswMzAwCitTdWJq ZWN0OiBbUEFUQ0ggMDkvMTFdIGF2Y29kZWM6IGFkZCBoYW5kbGluZyBvZiBuZXcgY2hfbGF5b3V0 IGluIGF1ZGlvIGVuY29kZXIKKworY29uZGl0aW9uZWQgdG8gYXZjb2RlYyB2ZXJzaW9uIHdoZXJl IGlzIGl0IGFkZGVkCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGM0MzAyY2E1OWRkNzll ZmQ3MjA4YTQ1YTNmY2RjNDQzODhmZDAzYTgpCistLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMv ZW5jb2Rlci5jIHwgMTUgKysrKysrKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDEzIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvZW5jb2Rlci5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworaW5kZXgg NmJkNThmNTA3MWQyLi43NTdmOTNiNDY4NDUgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvZW5jb2Rlci5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCitA QCAtOTI3LDExICs5MjcsMTQgQEAgZXJybXNnOgorIAorICAgICAgICAgaWYoIHBfZW5jLT5mbXRf b3V0LmF1ZGlvLmlfY2hhbm5lbHMgPiAyICkKKyAgICAgICAgIHsKKysjaWYgTElCQVZDT0RFQ19W RVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysgICAgICAgICAgICBhdl9jaGFu bmVsX2xheW91dF9kZWZhdWx0KCAmcF9jb250ZXh0LT5jaF9sYXlvdXQsIDIgKTsKKysjZWxzZQor ICAgICAgICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbHMgPSAyOworLSNpZiBBUElfQ0hBTk5FTF9M QVlPVVQKKysjIGlmIEFQSV9DSEFOTkVMX0xBWU9VVAorICAgICAgICAgICAgIHBfY29udGV4dC0+ Y2hhbm5lbF9sYXlvdXQgPSBjaGFubmVsX21hc2tbcF9jb250ZXh0LT5jaGFubmVsc11bMV07Cisr IyBlbmRpZgorICNlbmRpZgorLQorICAgICAgICAgICAgIC8qIENoYW5nZSBmbXRfaW4gaW4gb3Jk ZXIgdG8gYXNrIGZvciBhIGNoYW5uZWxzIGNvbnZlcnNpb24gKi8KKyAgICAgICAgICAgICBwX2Vu Yy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHMgPQorICAgICAgICAgICAgIHBfZW5jLT5mbXRfb3V0 LmF1ZGlvLmlfY2hhbm5lbHMgPSAyOworQEAgLTEyODgsOCArMTI5MSwxMiBAQCBzdGF0aWMgYmxv Y2tfdCAqaGFuZGxlX2RlbGF5X2J1ZmZlciggZW5jb2Rlcl90ICpwX2VuYywgZW5jb2Rlcl9zeXNf dCAqcF9zeXMsIHVucworICAgICBhdl9mcmFtZV91bnJlZiggcF9zeXMtPmZyYW1lICk7CisgICAg IHBfc3lzLT5mcmFtZS0+Zm9ybWF0ICAgICA9IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9mbXQ7 CisgICAgIHBfc3lzLT5mcmFtZS0+bmJfc2FtcGxlcyA9IGxlZnRvdmVyX3NhbXBsZXMgKyBwX3N5 cy0+aV9zYW1wbGVzX2RlbGF5OworKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5 OSwgOTk5LCAyNCwgMTAwKQorKyAgICBhdl9jaGFubmVsX2xheW91dF9jb3B5KCZwX3N5cy0+ZnJh bWUtPmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dCk7CisrI2Vsc2UKKyAg ICAgcF9zeXMtPmZyYW1lLT5jaGFubmVsX2xheW91dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5u ZWxfbGF5b3V0OworICAgICBwX3N5cy0+ZnJhbWUtPmNoYW5uZWxzID0gcF9zeXMtPnBfY29udGV4 dC0+Y2hhbm5lbHM7CisrI2VuZGlmCisgCisgICAgIHBfc3lzLT5mcmFtZS0+cHRzICAgICAgICA9 IGRhdGVfR2V0KCAmcF9zeXMtPmJ1ZmZlcl9kYXRlICkgKiBwX3N5cy0+cF9jb250ZXh0LT50aW1l X2Jhc2UuZGVuIC8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMT0NLX0ZSRVEg LyBwX3N5cy0+cF9jb250ZXh0LT50aW1lX2Jhc2UubnVtOworQEAgLTE0MTksOCArMTQyNiwxMiBA QCBzdGF0aWMgYmxvY2tfdCAqRW5jb2RlQXVkaW8oIGVuY29kZXJfdCAqcF9lbmMsIGJsb2NrX3Qg KnBfYW91dF9idWYgKQorICAgICAgICAgcF9zeXMtPmZyYW1lLT5wdHMgICAgICAgID0gZGF0ZV9H ZXQoICZwX3N5cy0+YnVmZmVyX2RhdGUgKSAqIHBfc3lzLT5wX2NvbnRleHQtPnRpbWVfYmFzZS5k ZW4gLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMT0NLX0ZSRVEgLyBw X3N5cy0+cF9jb250ZXh0LT50aW1lX2Jhc2UubnVtOworIAorKyNpZiBMSUJBVkNPREVDX1ZFUlNJ T05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorKyAgICAgICAgYXZfY2hhbm5lbF9sYXlv dXRfY29weSgmcF9zeXMtPmZyYW1lLT5jaF9sYXlvdXQsICZwX3N5cy0+cF9jb250ZXh0LT5jaF9s YXlvdXQpOworKyNlbHNlCisgICAgICAgICBwX3N5cy0+ZnJhbWUtPmNoYW5uZWxfbGF5b3V0ID0g cF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQ7CisgICAgICAgICBwX3N5cy0+ZnJhbWUt PmNoYW5uZWxzID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbHM7CisrI2VuZGlmCisgCisgICAg ICAgICBjb25zdCBpbnQgaW5fYnl0ZXMgPSBwX3N5cy0+ZnJhbWUtPm5iX3NhbXBsZXMgKgorICAg ICAgICAgICAgIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMqIHBfc3lzLT5pX3NhbXBs ZV9ieXRlczsKKy0tIAorR2l0TGFiCisKKworRnJvbSA0MTZlZWNhNjhiZmI2N2IyNDQ4MjdhNDVh NDM5MmJkZGI4Y2MwY2U4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSWxra2EgT2xs YWtrYSA8aWxlb29AdmlkZW9sYW4ub3JnPgorRGF0ZTogVHVlLCA0IEp1bCAyMDIzIDE2OjU1OjI4 ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggMTAvMTFdIGF2Y29kZWM6IHVzZSBjaF9sYXlvdXQgZm9y IGNoYW5uZWwgbGF5b3V0IGluIGF1ZGlvCisgZW5jb2RlcgorCitjaGFubmVscyBhbmQgY2hhbm5l bF9sYXlvdXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBGRk1QRUcgNS4xIGFuZCB3aWxsIGJlIHJl bW92ZWQgZXZlbnR1YWxseQorCithbHNvIGFsd2F5cyBjcmVhdGUgdGhlIG1hcHBpbmcsIGFzIGNo X2xheW91dCBpcyBhbHdheXMgdGhlcmUKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYjcz ZGM4ODQxZDk5OWM2YmU5ZGU3MThjZDJjZDNhZWIxMzI3OTc5MikKKy0tLQorIG1vZHVsZXMvY29k ZWMvYXZjb2RlYy9lbmNvZGVyLmMgfCA1MyArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jIGIvbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2VuY29kZXIuYworaW5kZXggNzU3ZjkzYjQ2ODQ1Li5hZTc0NmM5OWZjODkg MTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCisrKysgYi9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCitAQCAtMTgzLDYgKzE4Myw3IEBAIHN0YXRpYyBj b25zdCB1aW50NjRfdCBwaV9jaGFubmVsc19tYXBbXVsyXSA9CisgICAgIHsgQVZfQ0hfU1RFUkVP X1JJR0hULCAgICAgIDAgfSwKKyB9OworIAorKyMgaWYgIUxJQkFWQ09ERUNfVkVSU0lPTl9DSEVD Syg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisgc3RhdGljIGNvbnN0IHVpbnQzMl90IGNoYW5uZWxf bWFza1tdWzJdID0geworICAgICB7MCwwfSwKKyAgICAge0FPVVRfQ0hBTl9DRU5URVIsIEFWX0NI X0xBWU9VVF9NT05PfSwKK0BAIC0xOTUsNiArMTk2LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90 IGNoYW5uZWxfbWFza1tdWzJdID0geworICAgICB7QU9VVF9DSEFOU183XzEsIEFWX0NIX0xBWU9V VF83UE9JTlQxfSwKKyAgICAge0FPVVRfQ0hBTlNfOF8xLCBBVl9DSF9MQVlPVVRfT0NUQUdPTkFM fSwKKyB9OworKyMgZW5kaWYKKyAjZW5kaWYKKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qg cHBzel9lbmNfb3B0aW9uc1tdID0geworQEAgLTc0OCw0OSArNzUwLDM2IEBAIGludCBJbml0Vmlk ZW9FbmMoIHZsY19vYmplY3RfdCAqcF90aGlzICkKKyAgICAgICAgIGRhdGVfU2V0KCAmcF9zeXMt PmJ1ZmZlcl9kYXRlLCBBVl9OT1BUU19WQUxVRSApOworICAgICAgICAgcF9jb250ZXh0LT50aW1l X2Jhc2UubnVtID0gMTsKKyAgICAgICAgIHBfY29udGV4dC0+dGltZV9iYXNlLmRlbiA9IHBfY29u dGV4dC0+c2FtcGxlX3JhdGU7CistICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxzICAgICAgPSBw X2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzOworLSNpZiBBUElfQ0hBTk5FTF9MQVlPVVQK Ky0gICAgICAgIHBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgPSBjaGFubmVsX21hc2tbcF9jb250 ZXh0LT5jaGFubmVsc11bMV07CisgCistICAgICAgICAvKiBTZXR1cCBDaGFubmVsIG9yZGVyaW5n IGZvciBtdWx0aWNoYW5uZWwgYXVkaW8KKysgICAgICAgIC8qIFNldHVwIENoYW5uZWwgb3JkZXJp bmcgZm9yIGF1ZGlvCisgICAgICAgICAgKiBhcyBWTEMgY2hhbm5lbCBvcmRlciBpc24ndCBzYW1l IGFzIGxpYmF2Y29kZWMgZXhwZWN0cworICAgICAgICAgICovCisgCisgICAgICAgICBwX3N5cy0+ aV9jaGFubmVsc190b19yZW9yZGVyID0gMDsKKyAKKy0gICAgICAgIC8qIFNwZWNpZmllZCBvcmRl cgorKyAgICAgICAgLyogQ3JlYXRlIGNoYW5uZWwgbGF5b3V0IGZvciBhdmNvZGVjCisgICAgICAg ICAgKiBDb3BpZWQgZnJvbSBhdWRpby5jCisgICAgICAgICAgKi8KKy0gICAgICAgIGNvbnN0IHVu c2lnbmVkIGlfb3JkZXJfbWF4ID0gOCAqIHNpemVvZihwX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0 KTsKKy0gICAgICAgIHVpbnQzMl90IHBpX29yZGVyX2RzdFtBT1VUX0NIQU5fTUFYXSA9IHsgfTsK KysjaWYgQVBJX0NIQU5ORUxfTEFZT1VUCisrICAgICAgICB1aW50MzJfdCBwaV9vcmRlcl9kc3Rb QU9VVF9DSEFOX01BWF0gPSB7IDAgfTsKKyAgICAgICAgIHVpbnQzMl90IG9yZGVyX21hc2sgPSAw OworICAgICAgICAgaW50IGlfY2hhbm5lbHNfc3JjID0gMDsKKy0KKy0gICAgICAgIGlmKCBwX2Nv bnRleHQtPmNoYW5uZWxfbGF5b3V0ICkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBtc2dfRGJn KCBwX2VuYywgIkNyZWF0aW5nIGNoYW5uZWwgb3JkZXIgZm9yIHJlb3JkZXJpbmciKTsKKy0gICAg ICAgICAgICBmb3IoIHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZW9mKHBpX2NoYW5uZWxzX21hcCkv c2l6ZW9mKCpwaV9jaGFubmVsc19tYXApOyBpKysgKQorLSAgICAgICAgICAgIHsKKy0gICAgICAg ICAgICAgICAgaWYoIHBfY29udGV4dC0+Y2hhbm5lbF9sYXlvdXQgJiBwaV9jaGFubmVsc19tYXBb aV1bMF0gKQorLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICBtc2dfRGJn KCBwX2VuYywgIiVkICUiUFJJeDY0IiBtYXBwZWQgdG8gJSJQUkl4NjQiIiwgaV9jaGFubmVsc19z cmMsIHBpX2NoYW5uZWxzX21hcFtpXVswXSwgcGlfY2hhbm5lbHNfbWFwW2ldWzFdKTsKKy0gICAg ICAgICAgICAgICAgICAgIHBpX29yZGVyX2RzdFtpX2NoYW5uZWxzX3NyYysrXSA9IHBpX2NoYW5u ZWxzX21hcFtpXVsxXTsKKy0gICAgICAgICAgICAgICAgICAgIG9yZGVyX21hc2sgfD0gcGlfY2hh bm5lbHNfbWFwW2ldWzFdOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgfQorLSAg ICAgICAgfQorLSAgICAgICAgZWxzZQorKyAgICAgICAgbXNnX0RiZyggcF9lbmMsICJDcmVhdGlu ZyBjaGFubmVsIG9yZGVyIGZvciByZW9yZGVyaW5nIik7CisrIyBpZiBMSUJBVkNPREVDX1ZFUlNJ T05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorKyAgICAgICAgYXZfY2hhbm5lbF9sYXlv dXRfZGVmYXVsdCggJnBfY29udGV4dC0+Y2hfbGF5b3V0LCBwX2VuYy0+Zm10X291dC5hdWRpby5p X2NoYW5uZWxzICk7CisrICAgICAgICB1aW50NjRfdCBjaGFubmVsX21hc2sgPSBwX2NvbnRleHQt PmNoX2xheW91dC51Lm1hc2s7CisrIyBlbHNlCisrICAgICAgICBwX2NvbnRleHQtPmNoYW5uZWxz ID0gcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVsczsKKysgICAgICAgIHBfY29udGV4dC0+ Y2hhbm5lbF9sYXlvdXQgPSBjaGFubmVsX21hc2tbcF9jb250ZXh0LT5jaGFubmVsc11bMV07Cisr ICAgICAgICB1aW50NjRfdCBjaGFubmVsX21hc2sgPSBwX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0 OworKyMgZW5kaWYKKysgICAgICAgIGZvciggdW5zaWduZWQgaSA9IDA7IGkgPCBzaXplb2YocGlf Y2hhbm5lbHNfbWFwKS9zaXplb2YoKnBpX2NoYW5uZWxzX21hcCk7IGkrKyApCisgICAgICAgICB7 CistICAgICAgICAgICAgbXNnX0RiZyggcF9lbmMsICJDcmVhdGluZyBkZWZhdWx0IGNoYW5uZWwg b3JkZXIgZm9yIHJlb3JkZXJpbmciKTsKKy0gICAgICAgICAgICAvKiBDcmVhdGUgZGVmYXVsdCBv cmRlciAgKi8KKy0gICAgICAgICAgICBmb3IoIHVuc2lnbmVkIGludCBpID0gMDsgaSA8IF9fTUlO KCBpX29yZGVyX21heCwgKHVuc2lnbmVkKXBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxzICk7IGkr KyApCisrICAgICAgICAgICAgaWYoIGNoYW5uZWxfbWFzayAmIHBpX2NoYW5uZWxzX21hcFtpXVsw XSApCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBpZiggaSA8IHNpemVvZihwaV9j aGFubmVsc19tYXApL3NpemVvZigqcGlfY2hhbm5lbHNfbWFwKSApCistICAgICAgICAgICAgICAg IHsKKy0gICAgICAgICAgICAgICAgICAgIG1zZ19EYmcoIHBfZW5jLCAiJWQgY2hhbm5lbCBpcyAl IlBSSXg2NCIiLCBpX2NoYW5uZWxzX3NyYywgcGlfY2hhbm5lbHNfbWFwW2ldWzFdKTsKKy0gICAg ICAgICAgICAgICAgICAgIHBpX29yZGVyX2RzdFtpX2NoYW5uZWxzX3NyYysrXSA9IHBpX2NoYW5u ZWxzX21hcFtpXVsxXTsKKy0gICAgICAgICAgICAgICAgICAgIG9yZGVyX21hc2sgfD0gcGlfY2hh bm5lbHNfbWFwW2ldWzFdOworLSAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIG1z Z19EYmcoIHBfZW5jLCAiJWQgJSJQUkl4NjQiIG1hcHBlZCB0byAlIlBSSXg2NCIiLCBpX2NoYW5u ZWxzX3NyYywgcGlfY2hhbm5lbHNfbWFwW2ldWzBdLCBwaV9jaGFubmVsc19tYXBbaV1bMV0pOwor KyAgICAgICAgICAgICAgICBwaV9vcmRlcl9kc3RbaV9jaGFubmVsc19zcmMrK10gPSBwaV9jaGFu bmVsc19tYXBbaV1bMV07CisrICAgICAgICAgICAgICAgIG9yZGVyX21hc2sgfD0gcGlfY2hhbm5l bHNfbWFwW2ldWzFdOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAgICAgIGlmKCBp X2NoYW5uZWxzX3NyYyAhPSBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzICkKK0BAIC03 OTksNiArNzg4LDggQEAgaW50IEluaXRWaWRlb0VuYyggdmxjX29iamVjdF90ICpwX3RoaXMgKQor ICAgICAgICAgcF9zeXMtPmlfY2hhbm5lbHNfdG9fcmVvcmRlciA9CisgICAgICAgICAgICAgYW91 dF9DaGVja0NoYW5uZWxSZW9yZGVyKCBOVUxMLCBwaV9vcmRlcl9kc3QsIG9yZGVyX21hc2ssCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX3N5cy0+cGlfcmVvcmRlcl9s YXlvdXQgKTsKKysjZWxzZQorKyAgICAgICAgcF9jb250ZXh0LT5jaGFubmVscyA9IHBfZW5jLT5m bXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHM7CisgI2VuZGlmCisgCisgICAgICAgICBpZiAoIHBfZW5j LT5mbXRfb3V0LmlfY29kZWMgPT0gVkxDX0NPREVDX01QNEEgKQorLS0gCitHaXRMYWIKKworCitG cm9tIGM0OTNlYzE4YzVmM2QxMGJhNWE5NjdlODFiODBkMDNlNzlmMmQ4YjcgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/RnJhbj1DMz1BN29pcz0yMENhcnRlZ25pZT89 IDxmY3ZsY2RldkBmcmVlLmZyPgorRGF0ZTogTW9uLCAxMiBBdWcgMjAyNCAxOTozMjo0MiArMDcw MAorU3ViamVjdDogW1BBVENIIDExLzExXSBjb2RlYzogYXZjb2RlYzogYnlwYXNzIHJlbW92ZWQg ZGVmaW5lIGZvciBJbnRlbAorIHdvcmthcm91bmRzCisKK2FkYXB0ZWQgZnJvbSBjaGVycnkgcGlj a2VkIGNvbW1pdCAxMjgwNzI4YWQzMDVmMDBjZWJhMzQ5MWNlMTFiZjY2MTA3MDE3YTZjCistLS0K KyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvZDNkMTF2YS5jIHwgNCArKysrCisgbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2R4dmEyLmMgICB8IDQgKysrKworIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRp b25zKCspCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZDNkMTF2YS5jIGIv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2QzZDExdmEuYworaW5kZXggZTE1NjBhOTMxMmNjLi41MjYw NjI4MzY0ZjAgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZDNkMTF2YS5jCisr KysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZDNkMTF2YS5jCitAQCAtNTUsNiArNTUsMTAgQEAK KyAjZGVmaW5lIEQzRF9EZWNvZGVyU3VyZmFjZSAgSUQzRDExVmlkZW9EZWNvZGVyT3V0cHV0Vmll dworICNpbmNsdWRlICJkaXJlY3R4X3ZhLmgiCisgCisrI2lmbmRlZiBGRl9EWFZBMl9XT1JLQVJP VU5EX0lOVEVMX0NMRUFSVklERU8KKysjIGRlZmluZSBGRl9EWFZBMl9XT1JLQVJPVU5EX0lOVEVM X0NMRUFSVklERU8gMiAvLyBtb3ZlZCB0byBsaWJhdmNvZGVjL2R4dmEyX2ludGVybmFsLmggOi8K KysjZW5kaWYKKysKKyBzdGF0aWMgaW50IE9wZW4odmxjX3ZhX3QgKiwgQVZDb2RlY0NvbnRleHQg KiwgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICosIGVudW0gUGl4ZWxGb3JtYXQsCisgICAgICAg ICAgICAgICAgIGNvbnN0IGVzX2Zvcm1hdF90ICosIHBpY3R1cmVfc3lzX3QgKnBfc3lzKTsKKyBz dGF0aWMgdm9pZCBDbG9zZSh2bGNfdmFfdCAqLCB2b2lkICoqKTsKK2RpZmYgLS1naXQgYS9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvZHh2YTIuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9keHZhMi5j CitpbmRleCAyZTY4MDlhMDU0MTAuLjAzN2FkN2Q0NDg4NyAxMDA2NDQKKy0tLSBhL21vZHVsZXMv Y29kZWMvYXZjb2RlYy9keHZhMi5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZHh2YTIu YworQEAgLTQzLDYgKzQzLDEwIEBACisgI2RlZmluZSBEM0RfRGVjb2RlclN1cmZhY2UgIElEaXJl Y3QzRFN1cmZhY2U5CisgI2luY2x1ZGUgImRpcmVjdHhfdmEuaCIKKyAKKysjaWZuZGVmIEZGX0RY VkEyX1dPUktBUk9VTkRfSU5URUxfQ0xFQVJWSURFTworKyMgZGVmaW5lIEZGX0RYVkEyX1dPUktB Uk9VTkRfSU5URUxfQ0xFQVJWSURFTyAyIC8vIG1vdmVkIHRvIGxpYmF2Y29kZWMvZHh2YTJfaW50 ZXJuYWwuaCA6LworKyNlbmRpZgorKworIHN0YXRpYyBpbnQgT3Blbih2bGNfdmFfdCAqLCBBVkNv ZGVjQ29udGV4dCAqLCBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKiwgZW51bSBQaXhlbEZvcm1h dCwKKyAgICAgICAgICAgICAgICAgY29uc3QgZXNfZm9ybWF0X3QgKiwgcGljdHVyZV9zeXNfdCAq cF9zeXMpOworIHN0YXRpYyB2b2lkIENsb3NlKHZsY192YV90ICosIHZvaWQgKiopOworLS0gCitH aXRMYWIKKworCitGcm9tOiA9P3V0Zi04P3E/RnJhbj1DMz1BN29pc19DYXJ0ZWduaWU/PSA8ZmN2 bGNkZXZAZnJlZS5mcj4KK0RhdGU6IFRodSwgMTUgQXVnIDIwMjQgMTI6MDk6NTYgKzAyMDAKK1N1 YmplY3Q6IG11eDogYXZmb3JtYXQ6IGZpeCBhdmlvIGNhbGxiYWNrcyBzaWduYXR1cmUgd2l0aCBm Zm1wZWcgNi4xCisKK0FQSSBzaWduYXR1cmUgY2hhbmdlcyBpbnRyb2R1Y2VkIGRlcGVuZGluZyBv biBhIHBvc2l0aXZlIGRlZmluZSwKK3RoZW4gcmVtb3ZlZCBsYXRlciwgbWFraW5nIGl0IGJyZWFr IHByaW9yIG9yIHBvc3QgcmVtb3ZhbC4uLgorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2 Y29tbW9uX2NvbXBhdC5oIHwgIDMgKysrCisgbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyAg ICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKystLQorIDIgZmlsZXMgY2hhbmdlZCwgMjAg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNv bW1vbl9jb21wYXQuaAoraW5kZXggOWQxNmIzZC4uNTYxYWQ4MyAxMDA2NDQKKy0tLSBhL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAorKysrIGIvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCitAQCAtNzcsNiArNzcsOSBAQAorICNpZm5kZWYgIEZG X01BWF9CX0ZSQU1FUworICMgZGVmaW5lICBGRl9NQVhfQl9GUkFNRVMgMTYgLy8gRklYTUU6IHJl bW92ZSB0aGlzCisgI2VuZGlmCisrI2lmbmRlZiBGRl9BUElfQVZJT19XUklURV9OT05DT05TVCAv LyByZW1vdmVkIGluIGZmbXBlZyA3CisrIyBkZWZpbmUgRkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09O U1QgKExJQkFWRk9STUFUX1ZFUlNJT05fTUFKT1IgPCA2MSkKKysjZW5kaWYKKyAKKyAjZW5kaWYg LyogSEFWRV9MSUJBVkNPREVDX0FWQ09ERUNfSCAqLworIAorZGlmZiAtLWdpdCBhL21vZHVsZXMv ZGVtdXgvYXZmb3JtYXQvbXV4LmMgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCitpbmRl eCA4YmY4NzM1Li40OTk0NjQ3IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9t dXguYworKysrIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworQEAgLTc0LDEyICs3NCwx OCBAQCBzdGF0aWMgaW50IEFkZFN0cmVhbSggc291dF9tdXhfdCAqLCBzb3V0X2lucHV0X3QgKiAp OworIHN0YXRpYyB2b2lkIERlbFN0cmVhbSggc291dF9tdXhfdCAqLCBzb3V0X2lucHV0X3QgKiAp OworIHN0YXRpYyBpbnQgTXV4ICAgICAgKCBzb3V0X211eF90ICogKTsKKyAKKysjaWYgRkZfQVBJ X0FWSU9fV1JJVEVfTk9OQ09OU1QKKyBzdGF0aWMgaW50IElPV3JpdGUoIHZvaWQgKm9wYXF1ZSwg dWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUgKTsKKy1zdGF0aWMgaW50NjRfdCBJT1NlZWsoIHZv aWQgKm9wYXF1ZSwgaW50NjRfdCBvZmZzZXQsIGludCB3aGVuY2UgKTsKKyAjaWYgTElCQVZGT1JN QVRfVkVSU0lPTl9DSEVDSyggNTcsIDcsIDAsIDQwLCAxMDAgKQorIHN0YXRpYyBpbnQgSU9Xcml0 ZVR5cGVkKHZvaWQgKm9wYXF1ZSwgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlwZSwgaW50 NjRfdCB0aW1lKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEFWSU9EYXRhTWFya2Vy VHlwZSB0eXBlLCBpbnQ2NF90IHRpbWUpOworKyNlbmRpZgorKyNlbHNlCisrc3RhdGljIGludCBJ T1dyaXRlKCB2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplICk7 CisraW50IElPV3JpdGVUeXBlZCh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50 IGJ1Zl9zaXplLAorKyAgICAgICAgICAgICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlw ZSwgaW50NjRfdCB0aW1lKTsKKyAjZW5kaWYKKytzdGF0aWMgaW50NjRfdCBJT1NlZWsoIHZvaWQg Km9wYXF1ZSwgaW50NjRfdCBvZmZzZXQsIGludCB3aGVuY2UgKTsKKyAKKyAvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKKyAgKiBPcGVuCitAQCAtNDExLDggKzQxNywxMyBAQCBzdGF0aWMgaW50IE11eEJs b2NrKCBzb3V0X211eF90ICpwX211eCwgc291dF9pbnB1dF90ICpwX2lucHV0ICkKKyB9CisgCisg I2lmIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3LCA3LCAwLCA0MCwgMTAwICkKKysjaWYg RkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09OU1QKKyBpbnQgSU9Xcml0ZVR5cGVkKHZvaWQgKm9wYXF1 ZSwgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlwZSwgaW50NjRfdCB0aW1lKQorKyNlbHNl CisraW50IElPV3JpdGVUeXBlZCh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50 IGJ1Zl9zaXplLAorKyAgICAgICAgICAgICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlw ZSwgaW50NjRfdCB0aW1lKQorKyNlbmRpZgorIHsKKyAgICAgVkxDX1VOVVNFRCh0aW1lKTsKKyAK K0BAIC01MTIsNyArNTIzLDExIEBAIHN0YXRpYyBpbnQgQ29udHJvbCggc291dF9tdXhfdCAqcF9t dXgsIGludCBpX3F1ZXJ5LCB2YV9saXN0IGFyZ3MgKQorIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgor ICAqIEkvTyB3cmFwcGVycyBmb3IgbGliYXZmb3JtYXQKKyAgKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov CisrI2lmIEZGX0FQSV9BVklPX1dSSVRFX05PTkNPTlNUCisgc3RhdGljIGludCBJT1dyaXRlKCB2 b2lkICpvcGFxdWUsIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplICkKKysjZWxzZQorK3N0YXRp YyBpbnQgSU9Xcml0ZSggdm9pZCAqb3BhcXVlLCBjb25zdCB1aW50OF90ICpidWYsIGludCBidWZf c2l6ZSApCisrI2VuZGlmCisgeworICAgICBzb3V0X211eF90ICpwX211eCA9IG9wYXF1ZTsKKyAg ICAgc291dF9tdXhfc3lzX3QgKnBfc3lzID0gcF9tdXgtPnBfc3lzOworCgpkaWZmIC0tZ2l0IGEv dmxjLnNwZWMgYi92bGMuc3BlYwppbmRleCA1NzkwNGNjLi4zNTk2MjViIDEwMDY0NAotLS0gYS92 bGMuc3BlYworKysgYi92bGMuc3BlYwpAQCAtMzksNiArMzksOCBAQCBTb3VyY2U6CQltYWNyb3Mu dmxjCiBQYXRjaDoJCWh0dHBzOi8vY29kZS52aWRlb2xhbi5vcmcvdmlkZW9sYW4vdmxjLy0vbWVy Z2VfcmVxdWVzdHMvNTU5MC5wYXRjaAogCiAjIyB1cHN0cmVhbWFibGUgcGF0Y2hlcworIyBhZGQg c3VwcG9ydCBmb3IgZmZtcGVnIDcuMAorUGF0Y2g6CQlodHRwczovL2NvZGUudmlkZW9sYW4ub3Jn L3ZpZGVvbGFuL3ZsYy8tL21lcmdlX3JlcXVlc3RzLzU1NzQucGF0Y2gKIAogIyMgZG93bnN0cmVh bSBwYXRjaGVzCiAjIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9DaGFuZ2VzL0NyeXB0 b1BvbGljeQo=