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: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Delete upstreamed ibus-HEAD.patch Date: Sun, 31 May 2026 02:07:48 GMT Message-ID: <178019326807.1.144125565354538121.rpms-ibus-0829fa055cbb@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 0829fa055cbb2f3b69cfe8350b7c9a923c84c04f QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiAwODI5ZmEwNTVjYmIyZjNiNjljZmU4MzUwYjdjOWE5MjNjODRj MDRmCkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDIyLTAzLTE0VDE0OjQwOjI4KzA5OjAwClN0YXRzICA6ICswLy0yNjc2IGluIDEgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2lidXMvYy8wODI5 ZmEwNTVjYmIyZjNiNjljZmU4MzUwYjdjOWE5MjNjODRjMDRmP2JyYW5jaD1hdXRvdG9vbAoKTG9n OgpEZWxldGUgdXBzdHJlYW1lZCBpYnVzLUhFQUQucGF0Y2gKCi0tLQpkaWZmIC0tZ2l0IGEvaWJ1 cy1IRUFELnBhdGNoIGIvaWJ1cy1IRUFELnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAzNmQ1ZjZkLi4wMDAwMDAwCi0tLSBhL2lidXMtSEVBRC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDI2NzYgKzAsMCBAQAotRnJvbSA1NzFlM2I2ZTRmMzg2YWJmMTJkM2RiNzBiOTQ2OGUw OTJjOGQ3MmJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWx5bnggWmhvdSA8YWx5 bnguemhvdUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDI0IEF1ZyAyMDIxIDEwOjEyOjUyICswODAw Ci1TdWJqZWN0OiBbUEFUQ0hdIGNsaWVudC9ndGsyL2lidXNpbWNvbnRleHQ6IEZpeCB3cm9uZyBj dXJzb3IgbG9jYXRpb24gaW4gZ3RrMwotIGFwcHMKLQotSWYgeW91IGFwcGx5IHRoaXMgcGF0Y2gg aW4geW91ciB0YXJiYWxsLCBwbGVhc2UgYWxzbyBhcHBseSB0aGlzIHRvCi1jbGllbnQvZ3RrMy9p YnVzaW1jb250ZXh0LmMgYmVzaWRlcyBjbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMgLgotCi1C VUc9aHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9pc3N1ZXMvMjMzNwotLS0tCi0gY2xpZW50 L2d0azIvaWJ1c2ltY29udGV4dC5jIHwgNSArKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NsaWVudC9ndGsyL2lidXNp bWNvbnRleHQuYyBiL2NsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYwotaW5kZXggZGE5YTQwMmYu LmIxY2NlZGU5IDEwMDY0NAotLS0tIGEvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCi0rKysg Yi9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMKLUBAIC0xNDk3LDcgKzE0OTcsMTAgQEAgX3Nl dF9jdXJzb3JfbG9jYXRpb25faW50ZXJuYWwgKElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQp Ci0gCi0gI2lmIEdUS19DSEVDS19WRVJTSU9OICgzLCA5OCwgNCkKLSAjZWxpZiBHVEtfQ0hFQ0tf VkVSU0lPTiAoMiwgOTEsIDApCi0tICAgIGFyZWEueSArPSBnZGtfd2luZG93X2dldF9oZWlnaHQg KGlidXNpbWNvbnRleHQtPmNsaWVudF93aW5kb3cpOwotKyAgICBpZiAoYXJlYS54ID09IC0xICYm IGFyZWEueSA9PSAtMSAmJiBhcmVhLndpZHRoID09IDAgJiYgYXJlYS5oZWlnaHQgPT0gMCkgewot KyAgICAgICAgYXJlYS54ID0gMDsKLSsgICAgICAgIGFyZWEueSArPSBnZGtfd2luZG93X2dldF9o ZWlnaHQgKGlidXNpbWNvbnRleHQtPmNsaWVudF93aW5kb3cpOwotKyAgICB9Ci0gI2Vsc2UKLSAg ICAgaWYgKGFyZWEueCA9PSAtMSAmJiBhcmVhLnkgPT0gLTEgJiYgYXJlYS53aWR0aCA9PSAwICYm IGFyZWEuaGVpZ2h0ID09IDApIHsKLSAgICAgICAgIGdpbnQgdywgaDsKLS0tIAotMi4zMS4xCi0K LUZyb20gNTQ4N2E2YmFhNGIyMjYwNWJhODE5N2NhMWEwZmE0M2M5MWQ1Nzc4NiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KLURhdGU6IE1vbiwgNiBTZXAgMjAyMSAyMDoyMzo1OSArMDkwMAotU3ViamVjdDogW1BBVENI XSBjbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0OiBJbXBsZW1lbnQgY2xlYXIgcHJlZWRpdCBmb3Ig R1RLNAotCi1JQnVzIElNIG1vZHVsZSB1c2VzIHN5bmNob3JuaXplZCBrZXkgcHJvY2Vzc2VzIGZv ciBHVEs0IGFuZCB0aGUgdGltaW5nCi1vZiB0aGUgR1RLIHJlc2V0IHNpZ2luYWwgbWF5IHdvcmsg d2l0aCBmb2N1cy1pbi9vdXQgYmV0d2VlbiB3aW5kb3dzLgotKEkgZG9uJ3QgdGVzdCBHVEs0IGZp cmVmb3ggYW5kIHRlcm1pbmFsIHlldCBhbmQgdGhlIHZlcmlmaWNhdGlvbiBpcyBub3QKLWNvbXBs ZXRlZC4pCi1TbyBpYnVzX2ltX2NvbnRleHRfY2xlYXJfcHJlZWRpdF90ZXh0KCkgaXMgbm93IGNh bGxlZCB3aXRoIHRoZSBHVEs0IHJlc2V0Ci1zaWdpbmFsLgotaWJ1c19pbV9jb250ZXh0X2NsZWFy X3ByZWVkaXRfdGV4dCgpIHdvcmtzIHdpdGggaWJ1cy1zZXR1cC1hbnRoeSAtPgotIkNvbnZlcnNp b24iIHRhYiAtPiAiQmVoYXZpb3Igb24gRm9jdXMgT3V0IiBwdWxsIGRvd24gbWVudS4KLQotQlVH PWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvaXNzdWVzLzIzMzQKLS0tLQotIGNsaWVudC9n dGsyL2lidXNpbWNvbnRleHQuYyB8IDkgKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NsaWVudC9ndGsyL2li dXNpbWNvbnRleHQuYyBiL2NsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYwotaW5kZXggYjFjY2Vk ZTkuLmUxMmJlNDVkIDEwMDY0NAotLS0tIGEvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCi0r KysgYi9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMKLUBAIC0xMjcwLDYgKzEyNzAsOCBAQCBp YnVzX2ltX2NvbnRleHRfcmVzZXQgKEd0a0lNQ29udGV4dCAqY29udGV4dCkKLSAgICAgICAgICAq IElCdXMgdXNlcyBidXR0b24tcHJlc3MtZXZlbnQgaW5zdGVhZCB1bnRpbCBHVEsgaXMgZml4ZWQu Ci0gICAgICAgICAgKiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ3RrL2lzc3Vlcy8x NTM0Ci0gICAgICAgICAgKi8KLSsgICAgICAgIGlmIChfdXNlX3N5bmNfbW9kZSkKLSsgICAgICAg ICAgICBpYnVzX2ltX2NvbnRleHRfY2xlYXJfcHJlZWRpdF90ZXh0IChpYnVzaW1jb250ZXh0KTsK LSAgICAgICAgIGlidXNfaW5wdXRfY29udGV4dF9yZXNldCAoaWJ1c2ltY29udGV4dC0+aWJ1c2Nv bnRleHQpOwotICAgICB9Ci0gICAgIGd0a19pbV9jb250ZXh0X3Jlc2V0IChpYnVzaW1jb250ZXh0 LT5zbGF2ZSk7Ci1AQCAtMTM4Myw3ICsxMzg1LDcgQEAgaWJ1c19pbV9jb250ZXh0X3NldF9jbGll bnRfd2luZG93IChHdGtJTUNvbnRleHQgKmNvbnRleHQsCi0gCi0gICAgIGlmIChpYnVzaW1jb250 ZXh0LT5jbGllbnRfd2luZG93KSB7Ci0gI2lmICFHVEtfQ0hFQ0tfVkVSU0lPTiAoMywgOTgsIDQp Ci0tICAgICAgICBpZiAoaWJ1c2ltY29udGV4dC0+dXNlX2J1dHRvbl9wcmVzc19ldmVudCkKLSsg ICAgICAgIGlmIChpYnVzaW1jb250ZXh0LT51c2VfYnV0dG9uX3ByZXNzX2V2ZW50ICYmICFfdXNl X3N5bmNfbW9kZSkKLSAgICAgICAgICAgICBfY29ubmVjdF9idXR0b25fcHJlc3NfZXZlbnQgKGli dXNpbWNvbnRleHQsIEZBTFNFKTsKLSAjZW5kaWYKLSAgICAgICAgIGdfb2JqZWN0X3VucmVmIChp YnVzaW1jb250ZXh0LT5jbGllbnRfd2luZG93KTsKLUBAIC0xMzkzLDcgKzEzOTUsNyBAQCBpYnVz X2ltX2NvbnRleHRfc2V0X2NsaWVudF93aW5kb3cgKEd0a0lNQ29udGV4dCAqY29udGV4dCwKLSAg ICAgaWYgKGNsaWVudCAhPSBOVUxMKSB7Ci0gICAgICAgICBpYnVzaW1jb250ZXh0LT5jbGllbnRf d2luZG93ID0gZ19vYmplY3RfcmVmIChjbGllbnQpOwotICNpZiAhR1RLX0NIRUNLX1ZFUlNJT04g KDMsIDk4LCA0KQotLSAgICAgICAgaWYgKCFpYnVzaW1jb250ZXh0LT51c2VfYnV0dG9uX3ByZXNz X2V2ZW50KQotKyAgICAgICAgaWYgKCFpYnVzaW1jb250ZXh0LT51c2VfYnV0dG9uX3ByZXNzX2V2 ZW50ICYmICFfdXNlX3N5bmNfbW9kZSkKLSAgICAgICAgICAgICBfY29ubmVjdF9idXR0b25fcHJl c3NfZXZlbnQgKGlidXNpbWNvbnRleHQsIFRSVUUpOwotICNlbmRpZgotICAgICB9Ci1AQCAtMTk5 NCw3ICsxOTk2LDggQEAgX2lidXNfY29udGV4dF91cGRhdGVfcHJlZWRpdF90ZXh0X2NiIChJQnVz SW5wdXRDb250ZXh0ICAqaWJ1c2NvbnRleHQsCi0gCi0gI2lmICFHVEtfQ0hFQ0tfVkVSU0lPTiAo MywgOTgsIDQpCi0gICAgIGlmICghaWJ1c2ltY29udGV4dC0+dXNlX2J1dHRvbl9wcmVzc19ldmVu dCAmJgotLSAgICAgICAgbW9kZSA9PSBJQlVTX0VOR0lORV9QUkVFRElUX0NPTU1JVCkgewotKyAg ICAgICAgbW9kZSA9PSBJQlVTX0VOR0lORV9QUkVFRElUX0NPTU1JVCAmJgotKyAgICAgICAgIV91 c2Vfc3luY19tb2RlKSB7Ci0gICAgICAgICBpZiAoaWJ1c2ltY29udGV4dC0+Y2xpZW50X3dpbmRv dykgewotICAgICAgICAgICAgIF9jb25uZWN0X2J1dHRvbl9wcmVzc19ldmVudCAoaWJ1c2ltY29u dGV4dCwgVFJVRSk7Ci0gICAgICAgICB9Ci0tLSAKLTIuMjguMAotCi1Gcm9tIDQ5NTdkMTQ2OGRi NGZjNWVkMzBjM2FlMWYyYWZhYzllNTFiMzI5ZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDYg U2VwIDIwMjEgMjA6MjU6NTIgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gY2xpZW50L2d0azIvaWJ1 c2ltY29udGV4dDogQ2FsY3VsYXRlIGtleWNvZGUgZnJvbSBrZXlzeW0gaW4KLSBHVEszIGZvcndh cmQta2V5LWV2ZW50Ci0KLUlCdXMgR1RLMyBtb2RlIGFsc28gY2FsY3VsYXRlcyBrZXljb2RlIGZy b20ga2V5c3ltIGlmIGtleWNvZGUgPT0gMAotd2l0aCBmb3J3YXJkLWtleS1ldmVudCBzaWduYWwg dG8gZm9sbG93IEdUSzQuCi0tLS0KLSBjbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMgfCAyMiAr KysrKysrKysrKysrKysrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0 LmMgYi9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMKLWluZGV4IGUxMmJlNDVkLi5iMTQyNGU4 NyAxMDA2NDQKLS0tLSBhL2NsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYwotKysrIGIvY2xpZW50 L2d0azIvaWJ1c2ltY29udGV4dC5jCi1AQCAtMTkzOSwxMyArMTkzOSwxNiBAQCBfaWJ1c19jb250 ZXh0X2ZvcndhcmRfa2V5X2V2ZW50X2NiIChJQnVzSW5wdXRDb250ZXh0ICAqaWJ1c2NvbnRleHQs Ci0gICAgIGludCBncm91cCA9IDA7Ci0gICAgIGdfcmV0dXJuX2lmX2ZhaWwgKEdUS19JU19JTV9D T05URVhUIChpYnVzaW1jb250ZXh0KSk7Ci0gICAgIGlmIChrZXljb2RlID09IDAgJiYgaWJ1c2lt Y29udGV4dC0+Y2xpZW50X3dpbmRvdykgewotLSAgICAgICAgR2RrRGlzcGxheSAqZGlzcGxheSA9 IGd0a193aWRnZXRfZ2V0X2Rpc3BsYXkgKGlidXNpbWNvbnRleHQtPmNsaWVudF93aW5kb3cpOwot KyAgICAgICAgR2RrRGlzcGxheSAqZGlzcGxheSA9Ci0rICAgICAgICAgICAgICAgIGd0a193aWRn ZXRfZ2V0X2Rpc3BsYXkgKGlidXNpbWNvbnRleHQtPmNsaWVudF93aW5kb3cpOwotICAgICAgICAg R2RrS2V5bWFwS2V5ICprZXlzID0gTlVMTDsKLSAgICAgICAgIGdpbnQgbl9rZXlzID0gMDsKLS0g ICAgICAgIGlmICghZ2RrX2Rpc3BsYXlfbWFwX2tleXZhbCAoZGlzcGxheSwga2V5dmFsLCAma2V5 cywgJm5fa2V5cykpCi0rICAgICAgICBpZiAoZ2RrX2Rpc3BsYXlfbWFwX2tleXZhbCAoZGlzcGxh eSwga2V5dmFsLCAma2V5cywgJm5fa2V5cykpIHsKLSsgICAgICAgICAgICBrZXljb2RlID0ga2V5 cy0+a2V5Y29kZTsKLSsgICAgICAgICAgICBncm91cCA9IGtleXMtPmdyb3VwOwotKyAgICAgICAg fSBlbHNlIHsKLSAgICAgICAgICAgICBnX3dhcm5pbmcgKCJGYWlsZWQgdG8gcGFyc2Uga2V5Y29k ZSBmcm9tIGtleXZhbCAleCIsIGtleXZhbCk7Ci0tICAgICAgIGtleWNvZGUgPSBrZXlzLT5rZXlj b2RlOwotLSAgICAgICBncm91cCA9IGtleXMtPmdyb3VwOwotKyAgICAgICAgfQotICAgICB9Ci0g ICAgIGd0a19pbV9jb250ZXh0X2ZpbHRlcl9rZXkgKAotICAgICAgICAgR1RLX0lNX0NPTlRFWFQg KGlidXNpbWNvbnRleHQpLAotQEAgLTE5NTcsNiArMTk2MCwxNyBAQCBfaWJ1c19jb250ZXh0X2Zv cndhcmRfa2V5X2V2ZW50X2NiIChJQnVzSW5wdXRDb250ZXh0ICAqaWJ1c2NvbnRleHQsCi0gICAg ICAgICAoR2RrTW9kaWZpZXJUeXBlKXN0YXRlLAotICAgICAgICAgZ3JvdXApOwotICNlbHNlCi0r ICAgIGlmIChrZXljb2RlID09IDAgJiYgaWJ1c2ltY29udGV4dC0+Y2xpZW50X3dpbmRvdykgewot KyAgICAgICAgR2RrRGlzcGxheSAqZGlzcGxheSA9Ci0rICAgICAgICAgICAgICAgIGdka193aW5k b3dfZ2V0X2Rpc3BsYXkgKGlidXNpbWNvbnRleHQtPmNsaWVudF93aW5kb3cpOwotKyAgICAgICAg R2RrS2V5bWFwICprZXltYXAgPSBnZGtfa2V5bWFwX2dldF9mb3JfZGlzcGxheSAoZGlzcGxheSk7 Ci0rICAgICAgICBHZGtLZXltYXBLZXkgKmtleXMgPSBOVUxMOwotKyAgICAgICAgZ2ludCBuX2tl eXMgPSAwOwotKyAgICAgICAgaWYgKGdka19rZXltYXBfZ2V0X2VudHJpZXNfZm9yX2tleXZhbCAo a2V5bWFwLCBrZXl2YWwsICZrZXlzLCAmbl9rZXlzKSkKLSsgICAgICAgICAgICBrZXljb2RlID0g a2V5cy0+a2V5Y29kZTsKLSsgICAgICAgIGVsc2UKLSsgICAgICAgICAgICBnX3dhcm5pbmcgKCJG YWlsZWQgdG8gcGFyc2Uga2V5Y29kZSBmcm9tIGtleXZhbCAleCIsIGtleXZhbCk7Ci0rICAgIH0K LSAgICAgR2RrRXZlbnRLZXkgKmV2ZW50ID0gX2NyZWF0ZV9nZGtfZXZlbnQgKGlidXNpbWNvbnRl eHQsIGtleXZhbCwga2V5Y29kZSwgc3RhdGUpOwotICAgICBnZGtfZXZlbnRfcHV0ICgoR2RrRXZl bnQgKilldmVudCk7Ci0gICAgIGdka19ldmVudF9mcmVlICgoR2RrRXZlbnQgKilldmVudCk7Ci0t LSAKLTIuMjguMAotCi1Gcm9tIGZiZWE1NDQxZmM1M2FlMWQ1NTMzYmVkMWVlNTMwMDkxNDFjZjkw NWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3 YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDEwIFNlcCAyMDIxIDAwOjA5OjI2ICswOTAwCi1T dWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCBlcnJvcnMgaW4gVWJ1bnR1IGZvY2FsCi0KLS0gVWJ1 bnR1IGZvY2FsIHVzZXMgZ2xpYiAyLjY0LjYgd2hpY2ggZG9lcyBub3QgaW5jbHVkZSBlcnJuby5o Ci0gIHNvIGNvbmZpZy5oIGluY2x1ZGVzIGVycm5vLmggYXMgdGhlIHdvcmthcm91bmQuCi0tIG1h a2UgYXV0b2dlbi5zaCBub3QgdG8gZGVsZXRlIGRpc3QgZmlsZXMgaW4gVHJhdmlzCi0tIENhbGwg JChQWVRIT04pIGZvciBnZW5zaW1wbGUucHkgZm9yIFVidW50dSBweXRob24zCi0tIEFkZCBhIGNv ZGUgcmV2aWV3IGluIHNyYy9pYnVzY29tcG9zZXRhYmxlLmMKLQotQlVHPWh0dHBzOi8vZ2l0aHVi LmNvbS9pYnVzL2lidXMvcHVsbC8yMzQ4Ci0tLS0KLSBhdXRvZ2VuLnNoICAgICAgICAgICAgIHwg MiArLQotIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgfCA5ICsrKysrKysrKwotIGVuZ2luZS9NYWtl ZmlsZS5hbSAgICAgfCAyICstCi0gc3JjL2lidXNjb21wb3NldGFibGUuYyB8IDQgKysrKwotIHNy Yy9pYnVzcmVnaXN0cnkuYyAgICAgfCA0ICsrKysKLSBzcmMvaWJ1c3NoYXJlLmMgICAgICAgIHwg MyArKysKLSA2IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p Ci0KLWRpZmYgLS1naXQgYS9hdXRvZ2VuLnNoIGIvYXV0b2dlbi5zaAotaW5kZXggNjkzYTI3NDAu LmVhNjMzZTA2IDEwMDc1NQotLS0tIGEvYXV0b2dlbi5zaAotKysrIGIvYXV0b2dlbi5zaAotQEAg LTUzLDQgKzUzLDQgQEAgQUNMT0NBTF9GTEFHUz0iJEFDTE9DQUxfRkxBR1MgLUkgbTQiIFJFUVVJ UkVEX0FVVE9NQUtFX1ZFUlNJT049MS4xMSBDRkxBR1M9IiRDRkwKLSAgICAgICAgIGVjaG8gInJt ICRmIgotICAgICAgICAgcm0gJGYKLSAgICAgZG9uZQotLX0KLSt9IHx8IDoKLWRpZmYgLS1naXQg YS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDI5ZjhiM2RiLi5jZTA5NmFkMyAx MDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTYyLDYg KzE2MiwxNSBAQCBQS0dfQ0hFQ0tfTU9EVUxFUyhHSU8yLCBbCi0gUEtHX0NIRUNLX01PRFVMRVMo R1RIUkVBRDIsIFsKLSAgICAgZ3RocmVhZC0yLjAgPj0gZ2xpYl9yZXF1aXJlZF92ZXJzaW9uCi0g XSkKLStQS0dfQ0hFQ0tfRVhJU1RTKAotKyAgICBbZ2xpYi0yLjAgPj0gMi42NS4wXSwKLSsgICAg W0FDX0RFRklORShHTElCMl9FTUJFRF9FUlJOT19ILCBUUlVFLCBbZ2xpYjIgaW5jbHVkZSBlcnJu by5oXSldCi0rKQotK0FIX0JPVFRPTShbCi0rI2lmbmRlZiBHTElCMl9FTUJFRF9FUlJOT19ICi0r IyAgaW5jbHVkZSA8ZXJybm8uaD4KLSsjZW5kaWYKLStdKQotIAotICMgLS1kaXNhYmxlLXRlc3Rz IG9wdGlvbi4KLSBBQ19BUkdfRU5BQkxFKHRlc3RzLAotZGlmZiAtLWdpdCBhL2VuZ2luZS9NYWtl ZmlsZS5hbSBiL2VuZ2luZS9NYWtlZmlsZS5hbQotaW5kZXggODRiYzdmNmMuLjAzODY3ZjUyIDEw MDY0NAotLS0tIGEvZW5naW5lL01ha2VmaWxlLmFtCi0rKysgYi9lbmdpbmUvTWFrZWZpbGUuYW0K LUBAIC05OSw3ICs5OSw3IEBAIHNpbXBsZS54bWw6IHNpbXBsZS54bWwuaW4KLSAJICAgIG12ICRA LnRtcCAkQAotIAotIHNpbXBsZS54bWwuaW46Ci0tCSQoc3JjZGlyKS9nZW5zaW1wbGUucHkgXAot KwkkKFBZVEhPTikgJChzcmNkaXIpL2dlbnNpbXBsZS5weSBcCi0gCSAgICAtLWlucHV0PSQoWEtC Q09ORklHX0JBU0UpL3J1bGVzL2V2ZGV2LnhtbCBcCi0gCSAgICAtLW91dHB1dD0kQCBcCi0gCSAg ICAtLXZlcnNpb249JChWRVJTSU9OKS5gZGF0ZSAnKyVZJW0lZCdgIFwKLWRpZmYgLS1naXQgYS9z cmMvaWJ1c2NvbXBvc2V0YWJsZS5jIGIvc3JjL2lidXNjb21wb3NldGFibGUuYwotaW5kZXggZDQx ODRkMzAuLmI3NjQ2NGJjIDEwMDY0NAotLS0tIGEvc3JjL2lidXNjb21wb3NldGFibGUuYwotKysr IGIvc3JjL2lidXNjb21wb3NldGFibGUuYwotQEAgLTE4LDYgKzE4LDkgQEAKLSAgKiBGb3VuZGF0 aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAw MjExMC0xMzAxCi0gICogVVNBCi0gICovCi0rI2lmZGVmIEhBVkVfQ09ORklHX0gKLSsjaW5jbHVk ZSA8Y29uZmlnLmg+Ci0rI2VuZGlmCi0gCi0gI2luY2x1ZGUgPGdsaWIuaD4KLSAjaW5jbHVkZSA8 Z2xpYi9nc3RkaW8uaD4KLUBAIC0xNjA2LDYgKzE2MDksNyBAQCBpYnVzX2NvbXBvc2VfdGFibGVf Y29tcGFjdF9jaGVjayAoY29uc3QgSUJ1c0NvbXBvc2VUYWJsZUNvbXBhY3RFeAotICAgICAgICAg ICAgIHJvd19zdHJpZGUgPSBpICsgMTsKLSAKLSAgICAgICAgICAgICBpZiAoc2VxX2luZGV4W2kg KyAxXSAtIHNlcV9pbmRleFtpXSA+IDApIHsKLSsgICAgICAgICAgICAgICAgZ19hc3NlcnQgKHJv d19zdHJpZGUpOwotICAgICAgICAgICAgICAgICBzZXEgPSBic2VhcmNoIChjb21wb3NlX2J1ZmZl ciArIDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlLT5kYXRhICsgc2Vx X2luZGV4W2ldLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VxX2luZGV4W2kg KyAxXSAtIHNlcV9pbmRleFtpXSkgLyByb3dfc3RyaWRlLAotZGlmZiAtLWdpdCBhL3NyYy9pYnVz cmVnaXN0cnkuYyBiL3NyYy9pYnVzcmVnaXN0cnkuYwotaW5kZXggMjNjNWNhMWIuLjk2MmFmYjIw IDEwMDY0NAotLS0tIGEvc3JjL2lidXNyZWdpc3RyeS5jCi0rKysgYi9zcmMvaWJ1c3JlZ2lzdHJ5 LmMKLUBAIC0yMCw2ICsyMCwxMCBAQAotICAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEKLSAgKiBVU0EKLSAg Ki8KLSsjaWZkZWYgSEFWRV9DT05GSUdfSAotKyNpbmNsdWRlIDxjb25maWcuaD4KLSsjZW5kaWYK LSsKLSAjaW5jbHVkZSA8Z2lvL2dpby5oPgotICNpbmNsdWRlIDxnbGliL2dzdGRpby5oPgotICNp bmNsdWRlIDxzdHJpbmcuaD4KLWRpZmYgLS1naXQgYS9zcmMvaWJ1c3NoYXJlLmMgYi9zcmMvaWJ1 c3NoYXJlLmMKLWluZGV4IDg5NzQ1MTFhLi4wYzBiZGExMCAxMDA2NDQKLS0tLSBhL3NyYy9pYnVz c2hhcmUuYwotKysrIGIvc3JjL2lidXNzaGFyZS5jCi1AQCAtMjAsNiArMjAsOSBAQAotICAqIEZv dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg TUEgIDAyMTEwLTEzMDEKLSAgKiBVU0EKLSAgKi8KLSsjaWZkZWYgSEFWRV9DT05GSUdfSAotKyNp bmNsdWRlIDxjb25maWcuaD4KLSsjZW5kaWYKLSAKLSAjaW5jbHVkZSAiaWJ1c3NoYXJlLmgiCi0g I2luY2x1ZGUgPGdsaWIuaD4KLS0tIAotMi4zMy4xCi0KLUZyb20gOTQzZDM3NDQ0ZDljYzA4ODFj YjVmZmY4N2JkZDRiOWVmZDVhYmRiNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1 aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgOSBBdWcgMjAy MSAxMjo0OToxNSArMDkwMAotU3ViamVjdDogW1BBVENIXSBjbGllbnQvZ3RrMi9pYnVzaW1jb250 ZXh0OiBGaXggYSBrZXkgZXZlbnQgbG9vcCB3aXRoCi0gZm9yd2FyZGluZyBrZXlzLgotCi1faWJ1 c19jb250ZXh0X2ZvcndhcmRfa2V5X2V2ZW50X2NiKCkgY2F1c2VkIGEga2V5IGV2ZW50IGxvb3Ag aW4KLV9rZXlfc25vb3Blcl9jYigpIHdpdGgga2V5IHJlbGVhc2UgZXZlbnRzLgotLS0tCi0gY2xp ZW50L2d0azIvaWJ1c2ltY29udGV4dC5jIHwgMTEgKysrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdl ZCwgOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY2xpZW50 L2d0azIvaWJ1c2ltY29udGV4dC5jIGIvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCi1pbmRl eCBkYTlhNDAyZi4uZTY2MTI1ZGYgMTAwNjQ0Ci0tLS0gYS9jbGllbnQvZ3RrMi9pYnVzaW1jb250 ZXh0LmMKLSsrKyBiL2NsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYwotQEAgLTM2Niw2ICszNjYs MTAgQEAgaWJ1c19pbV9jb250ZXh0X2NvbW1pdF9ldmVudCAoSUJ1c0lNQ29udGV4dCAqaWJ1c2lt Y29udGV4dCwKLSAgICAgICAgIGdfc2lnbmFsX2VtaXQgKGlidXNpbWNvbnRleHQsIF9zaWduYWxf Y29tbWl0X2lkLCAwLCB0ZXh0LT50ZXh0KTsKLSAgICAgICAgIGdfb2JqZWN0X3VucmVmICh0ZXh0 KTsKLSAgICAgICAgIF9yZXF1ZXN0X3N1cnJvdW5kaW5nX3RleHQgKGlidXNpbWNvbnRleHQpOwot KyNpZiAhR1RLX0NIRUNLX1ZFUlNJT04gKDMsIDk4LCA0KQotKyAgICAgICAgLyogQXZvaWQgYSBs b29wIHdpdGggX2lidXNfY29udGV4dF9mb3J3YXJkX2tleV9ldmVudF9jYigpICovCi0rICAgICAg ICBldmVudC0+c3RhdGUgfD0gSUJVU19IQU5ETEVEX01BU0s7Ci0rI2VuZGlmCi0gICAgICAgICBy ZXR1cm4gVFJVRTsKLSAgICAgfQotICAgIHJldHVybiBGQUxTRTsKLUBAIC02NDMsMTIgKzY0Nywx NSBAQCBfa2V5X3Nub29wZXJfY2IgKEd0a1dpZGdldCAgICp3aWRnZXQsCi0gCi0gICAgIH0gd2hp bGUgKDApOwotIAotLSAgICBpZiAoaWJ1c2ltY29udGV4dCAhPSBOVUxMKSB7Ci0rICAgIGlmIChp YnVzaW1jb250ZXh0ICE9IE5VTEwgJiYgZXZlbnQtPnR5cGUgPT0gR0RLX0tFWV9QUkVTUykgewot ICAgICAgICAgLyogInJldHJpZXZlLXN1cnJvdW5kaW5nIiBzaWduYWwgc29tZXRpbWVzIGNhbGxz IHVucmVmIGJ5Ci0gICAgICAgICAgKiBndGtfaW1fbXVsdGljb250ZXh0X2dldF9zbGF2ZSgpIGJl Y2F1c2UgcHJpdi0+Y29udGV4dF9pZCBpcyBub3QKLSAgICAgICAgICAqIHRoZSBsYXRlc3QgdGhh biBnbG9iYWxfY29udGV4dF9pZCBpbiBHdGtJTU11bHRpY29udGV4dC4KLSAgICAgICAgICAqIFNp bmNlIF9mb2N1c19pbV9jb250ZXh0IGlzIGdvdHRlbiBieSB0aGUgZm9jdXNfaW4gZXZlbnQsCi0g ICAgICAgICAgKiBpdCB3b3VsZCBiZSBnb29kIHRvIGNhbGwgcmVmIGhlcmUuCi0rICAgICAgICAg KgotKyAgICAgICAgICogTW9zdCByZWxlYXNlIGtleSBldmVudHMgd291bGQgYmUgcmVkdW5kYW50 IGZyb20KLSsgICAgICAgICAqIF9pYnVzX2NvbnRleHRfZm9yd2FyZF9rZXlfZXZlbnRfY2IgKCku Ci0gICAgICAgICAgKi8KLSAgICAgICAgIGdfb2JqZWN0X3JlZiAoaWJ1c2ltY29udGV4dCk7Ci0g ICAgICAgICBfcmVxdWVzdF9zdXJyb3VuZGluZ190ZXh0IChpYnVzaW1jb250ZXh0KTsKLUBAIC02 NTcsNyArNjY0LDcgQEAgX2tleV9zbm9vcGVyX2NiIChHdGtXaWRnZXQgICAqd2lkZ2V0LAotIAot ICAgICByZXR2YWwgPSBfcHJvY2Vzc19rZXlfZXZlbnQgKGlidXNjb250ZXh0LCBldmVudCwgaWJ1 c2ltY29udGV4dCk7Ci0gCi0tICAgIGlmIChpYnVzaW1jb250ZXh0ICE9IE5VTEwpIHsKLSsgICAg aWYgKGlidXNpbWNvbnRleHQgIT0gTlVMTCAmJiBldmVudC0+dHlwZSA9PSBHREtfS0VZX1BSRVNT KSB7Ci0gICAgICAgICAvKiB1bnJlZiBpYnVzaW1jb250ZXh0IGNvdWxkIGNhbGwgaWJ1c19pbV9j b250ZXh0X2ZpbmFsaXplIGhlcmUKLSAgICAgICAgICAqIGJlY2F1c2UgInJldHJpZXZlLXN1cnJv dW5kaW5nIiBzaWduYWwgY291bGQgY2FsbCB1bnJlZi4KLSAgICAgICAgICAqLwotLS0gCi0yLjI4 LjAKLQotRnJvbSAxNzllYmRkZjRkYmRlMWNlZjFjZWEyZGY0ZTY1OWNmNDk0MGQxYTMwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21h aWwuY29tPgotRGF0ZTogRnJpLCAyNyBBdWcgMjAyMSAyMDowNTowMiArMDkwMAotU3ViamVjdDog W1BBVENIXSBzcmMvdGVzdHM6IEFkZCAtLXNjcmVlbmR1bXAgb3B0aW9uIGluCi0gaWJ1cy1kZXNr dG9wLXRlc3RpbmctcnVubmVyCi0KLVRoZSBzY3JlZW5kdW1wIGlzIHVzZWZ1bCBpbiBDSSB0byBp ZiBjaGVjayBnbm9tZS1zaGVsbC1leHRlbnNpb24tbm8tb3ZlcnZpZXcKLXdvcmtzLgotQWxzbyBh ZGQgaWJ1cy1kZXNrdG9wLXRlc3RpbmctYXV0b3N0YXJ0IHRvIGdldCB0aGUgZGVidWcgaW5mbyBp biBDSS4KLVlvdSBjYW4gY29weSBpYnVzLWRlc2t0b3AtdGVzdGluZy5kZXNrdG9wIHRvICRIT01F Ly5jb25maWcvYXV0b3N0YXJ0Ci1pZiBDSSBmYWlscy4KLS0tLQotIHNyYy90ZXN0cy9NYWtlZmls ZS5hbSAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrKysKLSBzcmMvdGVzdHMvaWJ1cy1kZXNr dG9wLXRlc3RpbmctYXV0b3N0YXJ0ICB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrCi0gc3Jj L3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5pbiAgfCAyMCArKysrKysrLS0KLSBz cmMvdGVzdHMvaWJ1cy1kZXNrdG9wLXRlc3RpbmcuZGVza3RvcC5pbiB8IDExICsrKysrCi0gNCBm aWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBt b2RlIDEwMDc1NSBzcmMvdGVzdHMvaWJ1cy1kZXNrdG9wLXRlc3RpbmctYXV0b3N0YXJ0Ci0gY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0cy9pYnVzLWRlc2t0b3AtdGVzdGluZy5kZXNrdG9wLmlu Ci0KLWRpZmYgLS1naXQgYS9zcmMvdGVzdHMvTWFrZWZpbGUuYW0gYi9zcmMvdGVzdHMvTWFrZWZp bGUuYW0KLWluZGV4IDEzYzA2ZWI0Li43ZDAwZjIzNiAxMDA2NDQKLS0tLSBhL3NyYy90ZXN0cy9N YWtlZmlsZS5hbQotKysrIGIvc3JjL3Rlc3RzL01ha2VmaWxlLmFtCi1AQCAtOTYsNiArOTYsNyBA QCB0ZXN0X3NvdXJjZXNkaXIgPSAkKGRhdGFkaXIpL2luc3RhbGxlZC10ZXN0cy9pYnVzCi0gQ0xF QU5GSUxFUyArPSBcCi0gICAgICQodGVzdF9tZXRhcykgXAotICAgICBpYnVzLWRlc2t0b3AtdGVz dGluZy1ydW5uZXIgXAotKyAgICBvcmcuZnJlZWRlc2t0b3AuSUJ1cy5EZXNrdG9wLlRlc3Rpbmcu ZGVza3RvcCBcCi0gICAgICQoTlVMTCkKLSAKLSB0ZXN0X2V4ZWNzX1BST0dSQU1TID0gJChURVNU UykKLUBAIC0xMDYsNiArMTA3LDE0IEBAIENMRUFORklMRVMgKz0gXAotICAgICAkKE5VTEwpCi0g ZW5kaWYKLSB0ZXN0X2V4ZWNzZGlyID0gJChsaWJleGVjZGlyKS9pbnN0YWxsZWQtdGVzdHMvaWJ1 cwotK2xpYmV4ZWNfU0NSSVBUUyA9IGlidXMtZGVza3RvcC10ZXN0aW5nLWF1dG9zdGFydAotKwot K3Rlc3RfZnJhbWVfREFUQSA9IG9yZy5mcmVlZGVza3RvcC5JQnVzLkRlc2t0b3AuVGVzdGluZy5k ZXNrdG9wCi0rdGVzdF9mcmFtZWRpciA9ICQocGtnZGF0YWRpcikvdGVzdHMKLStvcmcuZnJlZWRl c2t0b3AuSUJ1cy5EZXNrdG9wLlRlc3RpbmcuZGVza3RvcDogaWJ1cy1kZXNrdG9wLXRlc3Rpbmcu ZGVza3RvcC5pbgotKwkkKEFNX1ZfR0VOKSBzZWQgLWUgInN8XEBsaWJleGVjZGlyXEB8JChsaWJl eGVjZGlyKXxnIiBcCi0rCSQ8ID4gJEAudG1wICYmIFwKLSsJbXYgJEAudG1wICRACi0gZW5kaWYK LSAKLSAkKHRlc3RfbWV0YXMpOiAkKHRlc3RfbWV0YXNfaW4pICQodGVzdF9wcm9ncmFtcykKLUBA IC0xMzMsNiArMTQyLDggQEAgRVhUUkFfRElTVCA9IFwKLSAgICAgaWJ1cy1jb21wb3NlLmVtb2pp IFwKLSAgICAgaWJ1cy1jb21wb3NlLmVudiBcCi0gICAgIGlidXMtY29tcG9zZS1sb2NhbGVzLmlu IFwKLSsgICAgaWJ1cy1kZXNrdG9wLXRlc3RpbmcuZGVza3RvcC5pbiBcCi0rICAgIGlidXMtZGVz a3RvcC10ZXN0aW5nLWF1dG9zdGFydCBcCi0gICAgIGlidXMtZGVza3RvcC10ZXN0aW5nLXJ1bm5l ci5pbiBcCi0gICAgICQoTlVMTCkKLSAKLWRpZmYgLS1naXQgYS9zcmMvdGVzdHMvaWJ1cy1kZXNr dG9wLXRlc3RpbmctYXV0b3N0YXJ0IGIvc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLWF1 dG9zdGFydAotbmV3IGZpbGUgbW9kZSAxMDA3NTUKLWluZGV4IDAwMDAwMDAwLi5kYTIyYjY0ZQot LS0tIC9kZXYvbnVsbAotKysrIGIvc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLWF1dG9z dGFydAotQEAgLTAsMCArMSw1NSBAQAotKyMhL2Jpbi9zaAotKyMgLSotIG1vZGU6IEM7IGMtYmFz aWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IC0qLQotKyMgdmltOnNldCBub2V0 IHRzPTQ6Ci0rIwotKyMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKLSsjCi0rIyBDb3B5cmlnaHQgKGMp IDIwMjEgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci0rIyBDb3B5 cmlnaHQgKGMpIDIwMjEgUmVkIEhhdCwgSW5jLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQotKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZiB0aGUgTGljZW5zZSwgb3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCi0rIwotKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZwotKyMg d2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiwKLSsjIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rv biwgTUEgMDIxMTAtMTMwMSBVU0EuCi0rCi0rVEVTVF9MT0c9Ci0rQ09NTUFORFM9JwotK2lkCi0r ZWNobyAkRElTUExBWQotK3B3ZAotK3BzdHJlZSAtYXNwICQkCi0rZ3NldHRpbmdzIGxpc3QtcmVj dXJzaXZlbHkgb3JnLmdub21lLnNoZWxsCi0rcnBtIC1xIGdub21lLXNoZWxsLWV4dGVuc2lvbi1u by1vdmVydmlldyBnbm9tZS1zaGVsbCBnbm9tZS1zZXNzaW9uCi0rJwotKwotK2lmIFsgJCMgLWd0 IDAgXSA7IHRoZW4KLSsgICAgVEVTVF9MT0c9JDEKLStmaQotKwotK3J1bl90ZXN0KCkKLSt7Ci0r d2hpbGUgcmVhZCBjbWQgOyBkbwotKyAgICBpZiBbIHgiJGNtZCIgPSB4IF0gOyB0aGVuCi0rICAg ICAgICBjb250aW51ZQotKyAgICBmaQotKyAgICBlY2hvICIjICRjbWQiCi0rICAgIGV2YWwgIiRj bWQiCi0rZG9uZSA8PCBFT0ZfQ09NTUFORFMKLStgZWNobyAiJENPTU1BTkRTImAKLStFT0ZfQ09N TUFORFMKLSt9Ci0rCi0raWYgWyB4IiRURVNUX0xPRyIgPSB4IF0gOyB0aGVuCi0rICAgIHJ1bl90 ZXN0Ci0rZWxzZQotKyAgICBydW5fdGVzdCAyPj4kVEVTVF9MT0cgMT4+JFRFU1RfTE9HCi0rZmkK LWRpZmYgLS1naXQgYS9zcmMvdGVzdHMvaWJ1cy1kZXNrdG9wLXRlc3RpbmctcnVubmVyLmluIGIv c3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5pbgotaW5kZXggYzEwMTY3MDMu LjQ4NTI4MzI2IDEwMDc1NQotLS0tIGEvc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLXJ1 bm5lci5pbgotKysrIGIvc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5pbgot QEAgLTM2LDEzICszNiwxNCBAQAotIAotIAotIFBST0dOQU1FPWBiYXNlbmFtZSAkMGAKLS1WRVJT SU9OPTAuMgotK1ZFUlNJT049MC4zCi0gRElTUExBWT06OTkuMAotIEJVSUxERElSPSIuIgotIFNS Q0RJUj0iLiIKLSBURVNUX0xPRz0idGVzdC1zdWl0ZS5sb2ciCi0gVEVTVF9MT0dfU1RET1VUPTAK LSBSRVNVTFRfTE9HPSIiCi0rU0NSRUVOX0xPRz0iIgotIEhBVkVfR1JBUEhJQ1M9MQotIERFU0tU T1BfQ09NTUFORD0iZGJ1cy1sYXVuY2ggLS1leGl0LXdpdGgtc2Vzc2lvbiBnbm9tZS1zZXNzaW9u IgotIFBJRF9YT1JHPTAKLUBAIC05MCwxNCArOTEsMTUgQEAgdXNhZ2UoKQotICItVCwgLS10aW1l b3V0PVRJTUVPVVQgICAgICAgICAgICBTZXQgdGltZW91dCAoZGVmYXVsdCBUSU1FT1VUIGlzIDMw MCBzZWMpLlxuIiBcCi0gIi1vLCAtLW91dHB1dD1PVVRQVVRfRklMRSAgICAgICAgIE9VdHB1dCB0 aGUgbG9nIHRvIE9VVFBVVF9GSUxFXG4iICAgICAgICAgICAgIFwKLSAiLU8sIC0tcmVzdWx0PVJF U1VMVF9GSUxFICAgICAgICAgT1V0cHV0IHRoZSByZXN1bHQgdG8gUkVTVUxUX0ZJTEVcbiIgICAg ICAgICAgXAotKyItUywgLS1zY3JlZW5kdW1wPURVTVBfRklMRSAgICAgICBPVXRwdXQgdGhlIHNj cmVlbiB0byBEVU1QX0ZJTEUgKCdTVERPVVQnIGNhbiBiZSBzdGRvdXQpXG4iIFwKLSAiIgotIH0K LSAKLSBwYXJzZV9hcmdzKCkKLSB7Ci0gICAgICMgVGhpcyBpcyBHTlUgZ2V0b3B0LiAic3VkbyBw b3J0IGdldG9wdCIgaW4gQlNEPwotLSAgICBBUkdTPWBnZXRvcHQgLW8gaHZiOnM6Y2Q6dDpyOlQ6 bzpPOiAtLWxvbmcgXAotLSAgICAgICAgICBoZWxwLHZlcnNpb24sYnVpbGRkaXI6LHNyY2Rpcjos bm8tZ3JhcGhpY3MsZGVza3RvcDosdGVzdHM6LHJ1bm5lcjosdGltZW91dDosb3V0cHV0OixyZXN1 bHQ6XAotKyAgICBBUkdTPWBnZXRvcHQgLW8gaHZiOnM6Y2Q6dDpyOlQ6bzpPOlM6IC0tbG9uZyBc Ci0rICAgICAgICAgIGhlbHAsdmVyc2lvbixidWlsZGRpcjosc3JjZGlyOixuby1ncmFwaGljcyxk ZXNrdG9wOix0ZXN0czoscnVubmVyOix0aW1lb3V0OixvdXRwdXQ6LHJlc3VsdDosc2NyZWVuZHVt cDpcCi0gICAgICAgICAtLSAiJEAiYDsKLSAgICAgZXZhbCBzZXQgLS0gIiRBUkdTIgotICAgICB3 aGlsZSBbIDEgXSA7IGRvCi1AQCAtMTEzLDYgKzExNSw3IEBAIHBhcnNlX2FyZ3MoKQotICAgICAg ICAgLVQgfCAtLXRpbWVvdXQgKSAgICAgVElNRU9VVD0iJDIiOyBzaGlmdCAyOzsKLSAgICAgICAg IC1vIHwgLS1vdXRwdXQgKSAgICAgIFRFU1RfTE9HPSIkMiI7IHNoaWZ0IDI7OwotICAgICAgICAg LU8gfCAtLXJlc3VsdCApICAgICAgUkVTVUxUX0xPRz0iJDIiOyBzaGlmdCAyOzsKLSsgICAgICAg IC1TIHwgLS1zY3JlZW5kdW1wICkgIFNDUkVFTl9MT0c9IiQyIjsgc2hpZnQgMjs7Ci0gICAgICAg ICAtLSApICAgICAgICAgICAgICAgICBzaGlmdDsgYnJlYWs7OwotICAgICAgICAgKiApICAgICAg ICAgICAgICAgICAgdXNhZ2U7IGV4aXQgMTs7Ci0gICAgICAgICBlc2FjCi1AQCAtMjU5LDYgKzI2 Miw3IEBAIHJ1bl9kZXNrdG9wKCkKLSB7Ci0gICAgIGVjaG8gIiRERVNLVE9QX0NPTU1BTkQiIHwg Z3JlcCBnbm9tZS1zZXNzaW9uID4gL2Rldi9udWxsCi0gICAgIEhBU19HTk9NRT0kPwotKyAgICBl eHBvcnQgRElTUExBWT0kRElTUExBWQotICAgICBpZiB0ZXN0ICRIQVZFX0dSQVBISUNTIC1lcSAx IDsgdGhlbgotICAgICAgICAgL3Vzci9saWJleGVjL1hvcmcud3JhcCAtbm9yZXNldCArZXh0ZW5z aW9uIEdMWCArZXh0ZW5zaW9uIFJBTkRSICtleHRlbnNpb24gUkVOREVSIC1sb2dmaWxlIC4veG9y Zy5sb2cgLWNvbmZpZyAuL3hvcmcuY29uZiAtY29uZmlnZGlyIC4gJERJU1BMQVkgJgotICAgICBl bHNlCi1AQCAtMjY2LDcgKzI3MCw2IEBAIHJ1bl9kZXNrdG9wKCkKLSAgICAgZmkKLSAgICAgUElE X1hPUkc9JCEKLSAgICAgc2xlZXAgMQotLSAgICBleHBvcnQgRElTUExBWT0kRElTUExBWQotICAg ICAjIGluaXRfZ25vbWUgbmVlZCB0byBiZSBjYWxsZWQgd2l0aCAkRElTUExBWSBiZWZvcmUgZ25v bWUtc2Vzc2lvbiBpcyBjYWxsZWQKLSAgICAgaWYgWyAgJEhBU19HTk9NRSAtZXEgMCBdIDsgdGhl bgotICAgICAgICAgaW5pdF9nbm9tZQotQEAgLTQ1NCw2ICs0NTcsMTUgQEAgbWFpbigpCi0gICAg IGluaXRfZGVza3RvcAotICAgICBydW5fZGJ1c19kYWVtb24gMj4+JFRFU1RfTE9HIDE+PiRURVNU X0xPRwotICAgICBydW5fZGVza3RvcCAyPj4kVEVTVF9MT0cgMT4+JFRFU1RfTE9HCi0rICAgIGlm IFsgeCIkU0NSRUVOX0xPRyIgIT0geCBdIDsgdGhlbgotKyAgICAgICAgU0NSRUVOX1BORz0iYGRh dGUgJyslWSVtJWQlSCVNJVMnYC5wbmciCi0rICAgICAgICBnbm9tZS1zY3JlZW5zaG90IC0tZmls ZT0kU0NSRUVOX1BORwotKyAgICAgICAgaWYgWyB4IiRTQ1JFRU5fTE9HIiA9IHhTVERPVVQgXSA7 IHRoZW4KLSsgICAgICAgICAgICBiYXNlNjQgJFNDUkVFTl9QTkcKLSsgICAgICAgIGVsc2UKLSsg ICAgICAgICAgICBiYXNlNjQgJFNDUkVFTl9QTkcgPiAkU0NSRUVOX0xPRwotKyAgICAgICAgZmkK LSsgICAgZmkKLSAgICAgcnVuX3Rlc3Rfc3VpdGUKLSAgICAgZmluaXQKLSB9Ci1kaWZmIC0tZ2l0 IGEvc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLmRlc2t0b3AuaW4gYi9zcmMvdGVzdHMv aWJ1cy1kZXNrdG9wLXRlc3RpbmcuZGVza3RvcC5pbgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWlu ZGV4IDAwMDAwMDAwLi5mYTBjOWI0MAotLS0tIC9kZXYvbnVsbAotKysrIGIvc3JjL3Rlc3RzL2li dXMtZGVza3RvcC10ZXN0aW5nLmRlc2t0b3AuaW4KLUBAIC0wLDAgKzEsMTEgQEAKLStbRGVza3Rv cCBFbnRyeV0KLStOYW1lPUlCdXMgRGVza3RvcCBUZXN0aW5nIFJ1bm5lcgotK0dlbmVyaWNOYW1l PUlucHV0IE1ldGhvZCBEZXNrdG9wIFRlc3RpbmcgUnVubmVyCi0rQ29tbWVudD1UZXN0IHBsdWdp biBmb3IgSUJ1cyBEZXNrdG9wIFRlc3RpbmcKLStFeGVjPUBpYmV4ZWNkaXJAL2lidXMtZGVza3Rv cC10ZXN0aW5nLWF1dG9zdGFydCAvdmFyL3RtcC9pYnVzLWNpLWF1dG9zdGFydC5sb2cKLStUZXJt aW5hbD1mYWxzZQotK1R5cGU9QXBwbGljYXRpb24KLStFbmNvZGluZz1VVEYtOAotK0ljb249aWJ1 cwotK0NhdGVnb3JpZXM9U3lzdGVtCi0rS2V5d29yZHM9aW07Ci0tLSAKLTIuMjguMAotCi1Gcm9t IGFjYzU1NzA1MTE2OThjN2I1Y2MwMzdlYjgxYmUyYzRiZTUyYTgyNGYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1E YXRlOiBGcmksIDI5IE9jdCAyMDIxIDEyOjU2OjQ5ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHVp L2d0azM6IEVyYXNlIEVtb2ppZXIgcHJlZWRpdC9sb29rdXAgcG9wdXAgYmV0d2VlbgotIGFwcGxp Y2F0aW9ucwotCi1JdCB3b3VsZCBiZSBiZXR0ZXIgdG8gZXJhc2UgRW1vamllciBwb3B1cCB3aW5k b3cgd2hlbiB1c2VycyBjaGFuZ2UKLXRoZSBpbnB1dCBmb2N1cyBiZXR3ZWVuIGFwcGxpY2F0aW9u cy4gQnV0IGl0IGhhc24ndCBiZWVuIGltcGxlbWVudGVkCi1iZWNhdXNlIHRoZSBmb2N1cy1vdXQv aW4gZXZlbnRzIGFsc28gaGFwcGVuIHdoZW4gdGhlIEVtb2ppZXIgcG9wdXAgd2luZG93Ci1pcyBs YXVuY2hpbmcgb3IgcmVidWlsZGluZyB0byB0aGUgY2F0ZWdvcnkgbGlzdCBpbiBHTk9NRSBXYXls YW5kLgotVGhlIGZvY3VzLW91dC9pbiBldmVudHMgZG8gbm90IGhhcHBlbiBpbiBYb3JnIGRlc2t0 b3BzIHdpdGggdGhlIHJlYnVpbGRpbmcKLUdVSSBiZWNhdXNlIEdUSyBwb3B1cCB3aW5kb3cgY2F1 c2VzIGZvY3VzLWluL291dCBldm5ldHMgaW4gV2F5bGFuZC4KLQotTm93IEknbSBjb252aW5jZWQg d2l0aCBzZXZlcmFsIGlzc3VlcyBhbmQgYWRkZWQgYSBsaXR0bGUgY29tcGxpY2F0ZWQgbG9naWMK LXRvIGVyYXNlIEVtb2ppZXIgcG9wdXAgd2luZG93IHdpdGggdGhlIGZvY3VzIGNoYW5nZXMgYmV0 d2VlbiBpbnB1dCBjb250ZXh0cwotdG8gaGFuZGxlIGZvY3VzLWluL291dCBldmVudHMgaW4gV2F5 bGFuZC4KLQotQlVHPXJoYnojMTk0Mjk3MAotLS0tCi0gdWkvZ3RrMy9lbW9qaWVyLnZhbGEgICAg ICB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQotIHVpL2d0azMv ZW1vamllcmFwcC52YWxhICAgfCAxMiArKysrKy0tCi0gdWkvZ3RrMy9wYW5lbGJpbmRpbmcudmFs YSB8IDIxICsrKysrKysrKystLQotIDMgZmlsZXMgY2hhbmdlZCwgOTQgaW5zZXJ0aW9ucygrKSwg OCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3VpL2d0azMvZW1vamllci52YWxhIGIvdWkv Z3RrMy9lbW9qaWVyLnZhbGEKLWluZGV4IDllNmU5MjYzLi42OWZiOGFiZSAxMDA2NDQKLS0tLSBh L3VpL2d0azMvZW1vamllci52YWxhCi0rKysgYi91aS9ndGszL2Vtb2ppZXIudmFsYQotQEAgLTIs NyArMiw3IEBACi0gICoKLSAgKiBpYnVzIC0gVGhlIElucHV0IEJ1cwotICAqCi0tICogQ29weXJp Z2h0IChjKSAyMDE3LTIwMTkgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5j b20+Ci0rICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMjEgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1 aml3YXJhMUBnbWFpbC5jb20+Ci0gICoKLSAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotQEAgLTIyNyw2ICsyMjcs OCBAQCBwdWJsaWMgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsuQXBwbGljYXRpb25XaW5kb3cgewot ICAgICAgICAgQkFDS1dBUkQsCi0gICAgIH0KLSAKLSsgICAgcHVibGljIGJvb2wgaXNfd2F5bGFu ZCB7IGdldDsgc2V0OyB9Ci0rCi0gICAgIHB1YmxpYyBjb25zdCB1aW50IEJVVFRPTl9DTE9TRV9C VVRUT04gPSAxMDAwOwotIAotICAgICBwcml2YXRlIGNvbnN0IHVpbnQgRU1PSklfR1JJRF9QQUdF ID0gMTA7Ci1AQCAtMzE3LDE1ICszMTksMTggQEAgcHVibGljIGNsYXNzIElCdXNFbW9qaWVyIDog R3RrLkFwcGxpY2F0aW9uV2luZG93IHsKLSAgICAgcHJpdmF0ZSBHZGsuUmVjdGFuZ2xlIG1fY3Vy c29yX2xvY2F0aW9uOwotICAgICBwcml2YXRlIGJvb2wgbV9pc191cF9zaWRlX2Rvd24gPSBmYWxz ZTsKLSAgICAgcHJpdmF0ZSB1aW50IG1fcmVkcmF3X3dpbmRvd19pZDsKLSsgICAgcHJpdmF0ZSBi b29sIG1fcmVidWlsZGluZ19ndWkgPSBmYWxzZTsKLSsgICAgcHJpdmF0ZSB1aW50IG1fcmVidWls ZGluZ19ndWlfdGltZW91dF9pZDsKLSAKLSAgICAgcHVibGljIHNpZ25hbCB2b2lkIGNhbmRpZGF0 ZV9jbGlja2VkKHVpbnQgaW5kZXgsIHVpbnQgYnV0dG9uLCB1aW50IHN0YXRlKTsKLSAgICAgcHVi bGljIHNpZ25hbCB2b2lkIGNvbW1pdF90ZXh0KHN0cmluZyB0ZXh0KTsKLSAgICAgcHVibGljIHNp Z25hbCB2b2lkIGNhbmNlbCgpOwotIAotLSAgICBwdWJsaWMgSUJ1c0Vtb2ppZXIoKSB7Ci0rICAg IHB1YmxpYyBJQnVzRW1vamllcihib29sIGlzX3dheWxhbmQpIHsKLSAgICAgICAgIEdMaWIuT2Jq ZWN0KAotICAgICAgICAgICAgIHR5cGUgOiBHdGsuV2luZG93VHlwZS5QT1BVUAotICAgICAgICAg KTsKLSsgICAgICAgIHRoaXMuaXNfd2F5bGFuZCA9IGlzX3dheWxhbmQ7Ci0gCi0gICAgICAgICAv LyBHTGliLkFjdGlvbkVudHJ5IGFjY2VwdHMgY29uc3QgdmFyaWFibGVzIG9ubHkuCi0gICAgICAg ICB2YXIgYWN0aW9uID0gbmV3IEdMaWIuU2ltcGxlQWN0aW9uLnN0YXRlZnVsKAotQEAgLTEwMDIs NiArMTAwNyw3IEBAIHB1YmxpYyBjbGFzcyBJQnVzRW1vamllciA6IEd0ay5BcHBsaWNhdGlvbldp bmRvdyB7Ci0gICAgICAgICBidXR0b24uYnV0dG9uX3ByZXNzX2V2ZW50LmNvbm5lY3QoKHcsIGUp ID0+IHsKLSAgICAgICAgICAgICBtX2NhdGVnb3J5X2FjdGl2ZV9pbmRleCA9IC0xOwotICAgICAg ICAgICAgIG1fc2hvd191bmljb2RlID0gZmFsc2U7Ci0rICAgICAgICAgICAgc3RhcnRfcmVidWls ZF9ndWkoZmFsc2UpOwotICAgICAgICAgICAgIGhpZGVfY2FuZGlkYXRlX3BhbmVsKCk7Ci0gICAg ICAgICAgICAgc2hvd19hbGwoKTsKLSAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLUBAIC0xNDU4 LDYgKzE0NjQsNyBAQCBwdWJsaWMgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsuQXBwbGljYXRpb25X aW5kb3cgewotICAgICAgICAgICAgICAgICAgICAgc2hvd19lbW9qaV9mb3JfY2F0ZWdvcnkobV9i YWNrd2FyZCk7Ci0gICAgICAgICAgICAgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgpOwot ICAgICAgICAgICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgICAgICAgICAgc3RhcnRfcmVi dWlsZF9ndWkoZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICAgaGlkZV9jYW5kaWRhdGVfcGFu ZWwoKTsKLSAgICAgICAgICAgICAgICAgICAgIHNob3dfYWxsKCk7Ci0gICAgICAgICAgICAgICAg IH0KLUBAIC0xNzc4LDYgKzE3ODUsMzQgQEAgcHVibGljIGNsYXNzIElCdXNFbW9qaWVyIDogR3Rr LkFwcGxpY2F0aW9uV2luZG93IHsKLSAgICAgfQotIAotIAotKyAgICBwcml2YXRlIHZvaWQgc3Rh cnRfcmVidWlsZF9ndWkoYm9vbCBpbml0aWFsX2xhdW5jaGluZykgewotKyAgICAgICAgaWYgKCF0 aGlzLmlzX3dheWxhbmQpCi0rICAgICAgICAgICAgcmV0dXJuOwotKyAgICAgICAgaWYgKCFpbml0 aWFsX2xhdW5jaGluZyAmJiAhYmFzZS5nZXRfdmlzaWJsZSgpKQotKyAgICAgICAgICAgIHJldHVy bjsKLSsgICAgICAgIGlmIChpbml0aWFsX2xhdW5jaGluZyAmJiBiYXNlLmdldF92aXNpYmxlKCkp Ci0rICAgICAgICAgICAgcmV0dXJuOwotKyAgICAgICAgaWYgKG1fcmVidWlsZGluZ19ndWlfdGlt ZW91dF9pZCAhPSAwKSB7Ci0rICAgICAgICAgICAgR0xpYi5Tb3VyY2UucmVtb3ZlKG1fcmVidWls ZGluZ19ndWlfdGltZW91dF9pZCk7Ci0rICAgICAgICAgICAgbV9yZWJ1aWxkaW5nX2d1aV90aW1l b3V0X2lkID0gMDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIG1fcmVidWlsZGluZ19ndWkgPSB0 cnVlOwotKyAgICAgICAgbV9yZWJ1aWxkaW5nX2d1aV90aW1lb3V0X2lkID0KLSsgICAgICAgICAg ICAgICAgR0xpYi5UaW1lb3V0LmFkZF9zZWNvbmRzKDEwLCAoKSA9PiB7Ci0rICAgICAgICAgICAg ICAgICAgICBpZiAoIW1fcmVidWlsZGluZ19ndWkpIHsKLSsgICAgICAgICAgICAgICAgICAgICAg ICBtX3JlYnVpbGRpbmdfZ3VpX3RpbWVvdXRfaWQgPSAwOwotKyAgICAgICAgICAgICAgICAgICAg ICAgIHJldHVybiBmYWxzZTsKLSsgICAgICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAg ICAgICAgIHdhcm5pbmcoIlJlYnVpbGRpbmcgR1VJIGlzIHRpbWUgb3V0LiIpOwotKyAgICAgICAg ICAgICAgICAgICAgbV9yZWJ1aWxkaW5nX2d1aSA9IGZhbHNlOwotKyAgICAgICAgICAgICAgICAg ICAgbV9yZWJ1aWxkaW5nX2d1aV90aW1lb3V0X2lkID0gMDsKLSsgICAgICAgICAgICAgICAgICAg IHJldHVybiBmYWxzZTsKLSsgICAgICAgICAgICAgICAgfSwKLSsgICAgICAgICAgICAgICAgR0xp Yi5Qcmlvcml0eS5ERUZBVUxUX0lETEUpOwotKyAgICB9Ci0rCi0rCi0gICAgIHB1YmxpYyBib29s IGhhc192YXJpYW50cyh1aW50IGluZGV4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9vbCBuZWVkX2NvbW1pdF9zaWduYWwpIHsKLSAgICAgICAgIGlmIChpbmRleCA+PSBtX2xvb2t1 cF90YWJsZS5nZXRfbnVtYmVyX29mX2NhbmRpZGF0ZXMoKSkKLUBAIC0xODgwLDEyICsxOTE1LDE3 IEBAIHB1YmxpYyBjbGFzcyBJQnVzRW1vamllciA6IEd0ay5BcHBsaWNhdGlvbldpbmRvdyB7Ci0g ICAgICAgICAgICAgICAgIG1fc2hvd191bmljb2RlID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAg IG1fY2F0ZWdvcnlfYWN0aXZlX2luZGV4ID0gLTE7Ci0gICAgICAgICAgICAgfQotKyAgICAgICAg ICAgIHN0YXJ0X3JlYnVpbGRfZ3VpKGZhbHNlKTsKLSAgICAgICAgICAgICBoaWRlX2NhbmRpZGF0 ZV9wYW5lbCgpOwotICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgfSBlbHNlIGlm IChtX2JhY2t3YXJkX2luZGV4ID49IDAgJiYgbV9iYWNrd2FyZCAhPSBudWxsKSB7Ci0rICAgICAg ICAgICAgLy8gRXNjYXBlIG9uIEVtb2ppIHZhcmlhbnRzIHdpbmRvdyBkb2VzIG5vdCBjYWxsIGZv Y3VzLW91dCBldmVudHMKLSsgICAgICAgICAgICAvLyBiZWNhdXNlIGhpZGUoKSBpcyBub3QgY2Fs bGVkIGhlcmUgc28gc3RhcnRfcmVidWlsZF9ndWkoKQotKyAgICAgICAgICAgIC8vIGlzIG5vdCBj YWxsZWQuCi0gICAgICAgICAgICAgc2hvd19lbW9qaV9mb3JfY2F0ZWdvcnkobV9iYWNrd2FyZCk7 Ci0gICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICB9IGVsc2UgaWYgKG1fY2FuZGlk YXRlX3BhbmVsX2lzX3Zpc2libGUgJiYgbV9iYWNrd2FyZCAhPSBudWxsKSB7Ci0rICAgICAgICAg ICAgc3RhcnRfcmVidWlsZF9ndWkoZmFsc2UpOwotICAgICAgICAgICAgIGhpZGVfY2FuZGlkYXRl X3BhbmVsKCk7Ci0gICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICB9Ci1AQCAtMjIx OCw3ICsyMjU4LDcgQEAgcHVibGljIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLkFwcGxpY2F0aW9u V2luZG93IHsKLSAKLSAgICAgICAgIC8qIFNvbWUgd2luZG93IG1hbmFnZXJzLCBlLmcuIE1BVEUs IEdOT01FLCBQbGFzbWEgZGVza3RvcHMsCi0gICAgICAgICAgKiBkb2VzIG5vdCBnaXZlIHRoZSBr ZXlib2FyZCBmb2N1cyB3aGVuIEVtb2ppZXIgaXMgbGF1Y2hlZAotLSAgICAgICAgICogdHdpY2Ug d2l0aCBDdHJsLVNoaWZ0LWUgdmlhIFhJRXZlbnQsIGlmIHByZXNlbnRfd2l0aF90aW1lKCkKLSsg ICAgICAgICAqIHR3aWNlIHdpdGggQ3RybC1wZXJpb2QgdmlhIFhJRXZlbnQsIGlmIHByZXNlbnRf d2l0aF90aW1lKCkKLSAgICAgICAgICAqIGlzIG5vdCBhcHBsaWVkLgotICAgICAgICAgICogQnV0 IFhGQ0U0IGRlc2t0b3AgZG9lcyBub3QgZWZmZWN0IHRoaXMgYnVnLgotICAgICAgICAgICogU2Vl bXMgdGhpcyBpcyBjYXVzZWQgYnkgdGhlIHdpbmRvdyBtYW5hZ2VyJ3MgZm9jdXMgc3RlYWxpbmcK LUBAIC0yMjY1LDggKzIzMDUsMTAgQEAgcHVibGljIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLkFw cGxpY2F0aW9uV2luZG93IHsKLSAjZW5kaWYKLSAKLSAKLS0gICAgLyogb3ZlcnJpZGUgdmlydHVh bCBmdW5jdGlvbnMgKi8KLSsgICAgLy8gb3ZlcnJpZGUgdmlydHVhbCBmdW5jdGlvbnMKLSAgICAg cHVibGljIG92ZXJyaWRlIHZvaWQgc2hvd19hbGwoKSB7Ci0rICAgICAgICAvLyBDdHJsLXBlcmlv ZCwgc3BhY2Uga2V5cyBjYXVzZXMgZm9jdXMtb3V0L2luIGV2ZW50cyBpbiBHTk9NRSBXYXlsYW5k LgotKyAgICAgICAgc3RhcnRfcmVidWlsZF9ndWkodHJ1ZSk7Ci0gICAgICAgICBiYXNlLnNob3df YWxsKCk7Ci0gICAgICAgICBpZiAobV9jYW5kaWRhdGVfcGFuZWxfbW9kZSkKLSAgICAgICAgICAg ICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgpOwotQEAgLTI0MTYsNiArMjQ1OCwxNyBAQCBwdWJsaWMg Y2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsuQXBwbGljYXRpb25XaW5kb3cgewotICAgICB9Ci0gCi0g Ci0rICAgIHB1YmxpYyBvdmVycmlkZSBib29sIGZvY3VzX2luX2V2ZW50KEdkay5FdmVudEZvY3Vz IGV2ZW50KSB7Ci0rICAgICAgICBtX3JlYnVpbGRpbmdfZ3VpID0gZmFsc2U7Ci0rICAgICAgICBy ZXR1cm4gYmFzZS5mb2N1c19pbl9ldmVudChldmVudCk7Ci0rICAgIH0KLSsKLSsKLSsgICAgcHVi bGljIG92ZXJyaWRlIGJvb2wgZm9jdXNfb3V0X2V2ZW50KEdkay5FdmVudEZvY3VzIGV2ZW50KSB7 Ci0rICAgICAgICByZXR1cm4gYmFzZS5mb2N1c19vdXRfZXZlbnQoZXZlbnQpOwotKyAgICB9Ci0r Ci0rCi0gICAgIHB1YmxpYyBib29sIGlzX3J1bm5pbmcoKSB7Ci0gICAgICAgICByZXR1cm4gbV9p c19ydW5uaW5nOwotICAgICB9Ci1AQCAtMjUxMSw2ICsyNTY0LDE0IEBAIHB1YmxpYyBjbGFzcyBJ QnVzRW1vamllciA6IEd0ay5BcHBsaWNhdGlvbldpbmRvdyB7Ci0gICAgIH0KLSAKLSAKLSsgICAg cHVibGljIGJvb2wgaXNfcmVidWlsZGluZ19ndWkoKSB7Ci0rICAgICAgICAvKiBUaGUgY2FuZGlk YXRlIHdpbmRvdyBhbmQgcHJlZWRpdCB0ZXh0IHNob3VsZCBub3QgYmUgY2xvc2VkCi0rICAgICAg ICAgKiB3aGVuIHRoZSBHVUkgaXMgcmVidWlsZGluZy4KLSsgICAgICAgICAqLwotKyAgICAgICAg cmV0dXJuIG1fcmVidWlsZGluZ19ndWk7Ci0rICAgIH0KLSsKLSsKLSAgICAgcHVibGljIHN0YXRp YyBib29sIGhhc19sb2FkZWRfZW1vamlfZGljdCgpIHsKLSAgICAgICAgIGlmIChtX2Vtb2ppX3Rv X2RhdGFfZGljdCA9PSBudWxsKQotICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLWRpZmYgLS1n aXQgYS91aS9ndGszL2Vtb2ppZXJhcHAudmFsYSBiL3VpL2d0azMvZW1vamllcmFwcC52YWxhCi1p bmRleCA3ODNjNjExYy4uODEyMzU2ZjAgMTAwNjQ0Ci0tLS0gYS91aS9ndGszL2Vtb2ppZXJhcHAu dmFsYQotKysrIGIvdWkvZ3RrMy9lbW9qaWVyYXBwLnZhbGEKLUBAIC0zLDcgKzMsNyBAQAotICAq IGlidXMgLSBUaGUgSW5wdXQgQnVzCi0gICoKLSAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgUGVuZyBX dSA8YWxleGVwaWNvQGdtYWlsLmNvbT4KLS0gKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAxOSBUYWth byBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmlnaHQgKGMp IDIwMTctMjAyMSBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLSAg KgotICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IKLSAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz c2VyIEdlbmVyYWwgUHVibGljCi1AQCAtMjA4LDcgKzIwOCwxNSBAQCBwdWJsaWMgY2xhc3MgRW1v amlBcHBsaWNhdGlvbiA6IEd0ay5BcHBsaWNhdGlvbiB7Ci0gICAgICAgICBJQnVzRW1vamllci5s b2FkX3VuaWNvZGVfZGljdCgpOwotIAotICAgICAgICAgaWYgKG1fZW1vamllciA9PSBudWxsKSB7 Ci0tICAgICAgICAgICAgbV9lbW9qaWVyID0gbmV3IElCdXNFbW9qaWVyKCk7Ci0rICAgICAgICAg ICAgYm9vbCBpc193YXlsYW5kID0gZmFsc2U7Ci0rI2lmIFVTRV9HREtfV0FZTEFORAotKyAgICAg ICAgICAgIFR5cGUgaW5zdGFuY2VfdHlwZSA9IEdkay5EaXNwbGF5LmdldF9kZWZhdWx0KCkuZ2V0 X3R5cGUoKTsKLSsgICAgICAgICAgICBUeXBlIHdheWxhbmRfdHlwZSA9IHR5cGVvZihHZGtXYXls YW5kLkRpc3BsYXkpOwotKyAgICAgICAgICAgIGlzX3dheWxhbmQgPSBpbnN0YW5jZV90eXBlLmlz X2Eod2F5bGFuZF90eXBlKTsKLSsjZWxzZQotKyAgICAgICAgICAgIHdhcm5pbmcoIkNoZWNraW5n IFdheWxhbmQgaXMgZGlzYWJsZWQiKTsKLSsjZW5kaWYKLSsgICAgICAgICAgICBtX2Vtb2ppZXIg PSBuZXcgSUJ1c0Vtb2ppZXIoaXNfd2F5bGFuZCk7Ci0gICAgICAgICAgICAgLy8gRm9yIHRpdGxl IGhhbmRsaW5nIGluIGdub21lLXNoZWxsCi0gICAgICAgICAgICAgYWRkX3dpbmRvdyhtX2Vtb2pp ZXIpOwotICAgICAgICAgICAgIG1fZW1vamllci5jYW5kaWRhdGVfY2xpY2tlZC5jb25uZWN0KChp LCBiLCBzKSA9PiB7Ci1kaWZmIC0tZ2l0IGEvdWkvZ3RrMy9wYW5lbGJpbmRpbmcudmFsYSBiL3Vp L2d0azMvcGFuZWxiaW5kaW5nLnZhbGEKLWluZGV4IDg2MTI1NWIxLi5lNjNkOTNmMiAxMDA2NDQK LS0tLSBhL3VpL2d0azMvcGFuZWxiaW5kaW5nLnZhbGEKLSsrKyBiL3VpL2d0azMvcGFuZWxiaW5k aW5nLnZhbGEKLUBAIC0zLDcgKzMsNyBAQAotICAqIGlidXMgLSBUaGUgSW5wdXQgQnVzCi0gICoK LSAgKiBDb3B5cmlnaHQoYykgMjAxOCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNv bT4KLS0gKiBDb3B5cmlnaHQoYykgMjAxOC0yMDIwIFRha2FvIEZ1andpYXJhIDx0YWthby5mdWpp d2FyYTFAZ21haWwuY29tPgotKyAqIENvcHlyaWdodChjKSAyMDE4LTIwMjEgVGFrYW8gRnVqd2lh cmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci0gICoKLSAgKiBUaGlzIGxpYnJhcnkgaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICogbW9kaWZ5 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotQEAg LTc5OSw2ICs3OTksMjMgQEAgY2xhc3MgUGFuZWxCaW5kaW5nIDogSUJ1cy5QYW5lbFNlcnZpY2Ug ewotIAotICAgICBwdWJsaWMgb3ZlcnJpZGUgdm9pZCBmb2N1c19vdXQoc3RyaW5nIGlucHV0X2Nv bnRleHRfcGF0aCkgewotICAgICAgICAgbV9jdXJyZW50X2NvbnRleHRfcGF0aCA9ICIiOwotKyAg ICAgICAgLyogQ2xvc2UgZW1vamkgdHlwaW5nIHdoZW4gdGhlIGZvY3VzIG91dCBoYXBwZW5zIGJ1 dCBpdCdzIG5vdCBhCi0rICAgICAgICAgKiByZWJ1aWxkaW5nIEdVSS4KLSsgICAgICAgICAqIEVt b2ppZXIgcmVidWlsZGluZyBHVUkgaGFwcGVucyB3aGVuIEVzY2FwZSBrZXkgaXMgcHJlc3NlZCBv bgotKyAgICAgICAgICogRW1vamllciBjYW5kaWRhdGUgbGlzdCBhbmQgdGhlIHJlYnVpbGRpbmcg YWxzbyBjYXVzZXMgZm9jdXMtb3V0L2luCi0rICAgICAgICAgKiBldmVudHMgaW4gR05PTUUgV2F5 bGFuZCBidXQgbm90IFhvcmcgZGVza3RvcHMuCi0rICAgICAgICAgKiBUaGUgcmVidWlsZGluZyBH VUkgY2FuIGJlIGNoZWNrZWQgd2l0aCBtX2Vtb2ppZXIuaXNfcmVidWlsZGluZ19ndWkoKQotKyAg ICAgICAgICogaW4gV2F5bGFuZC4KLSsgICAgICAgICAqIG1fZW1vamllci5pc19yZWJ1aWxkaW5n X2d1aSgpIGFsd2F5cyByZXR1cm5zIGZhbHNlIGluIFhvcmcgZGVza3RvcHMKLSsgICAgICAgICAq IHNpbmNlIGZvY3VzLW91dC9pbiBldmVudHMgZG9lcyBub3QgaGFwcGVuLgotKyAgICAgICAgICov Ci0rICAgICAgICBpZiAobV9lbW9qaWVyICE9IG51bGwgJiYgIW1fZW1vamllci5pc19yZWJ1aWxk aW5nX2d1aSgpKSB7Ci0rICAgICAgICAgICAgbV9wcmVlZGl0LnJlc2V0KCk7Ci0rICAgICAgICAg ICAgbV9lbW9qaWVyLnNldF9hbm5vdGF0aW9uKCIiKTsKLSsgICAgICAgICAgICBpZiAobV93YXls YW5kX2xvb2t1cF90YWJsZV9pc192aXNpYmxlKQotKyAgICAgICAgICAgICAgICBoaWRlX3dheWxh bmRfbG9va3VwX3RhYmxlKCk7Ci0rICAgICAgICAgICAga2V5X3ByZXNzX2VzY2FwZSgpOwotKyAg ICAgICAgfQotICAgICB9Ci0gCi0gCi1AQCAtODIyLDcgKzgzOSw3IEBAIGNsYXNzIFBhbmVsQmlu ZGluZyA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKLSAgICAgICAgICAgICBtX2xvYWRlZF91bmljb2Rl ID0gdHJ1ZTsKLSAgICAgICAgIH0KLSAgICAgICAgIGlmIChtX2Vtb2ppZXIgPT0gbnVsbCkgewot LSAgICAgICAgICAgIG1fZW1vamllciA9IG5ldyBJQnVzRW1vamllcigpOwotKyAgICAgICAgICAg IG1fZW1vamllciA9IG5ldyBJQnVzRW1vamllcihtX2lzX3dheWxhbmQpOwotICAgICAgICAgICAg IC8vIEZvciB0aXRsZSBoYW5kbGluZyBpbiBnbm9tZS1zaGVsbAotICAgICAgICAgICAgIG1fYXBw bGljYXRpb24uYWRkX3dpbmRvdyhtX2Vtb2ppZXIpOwotICAgICAgICAgICAgIG1fZW1vamllci5j YW5kaWRhdGVfY2xpY2tlZC5jb25uZWN0KChpLCBiLCBzKSA9PiB7Ci0tLSAKLTIuMjguMAotCi1G cm9tIDI4YWNmZDQzM2IzZGYxNjczYjdjNzE3NzkxNWMwMjdjZTQ4YzA2MWUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+ Ci1EYXRlOiBGcmksIDUgTm92IDIwMjEgMDc6MjI6MzQgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0g dWkvZ3RrMjogRGVwcmVjYXRlIGdldHRleHQuYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQoKQotIHNp bmNlIFB5dGhvbiAzLjgKLQotc2V0dXAvaTE4bi5weSBpcyBhIHN5bWxpbmsgb2YgdWkvZ3RrMi9p MThuLnB5Ci1lbnYgUFlUSE9OV0FSTklOR1M9J2QnIGlidXMtc2V0dXAKLQotQlVHPWh0dHBzOi8v Z2l0aHViLmNvbS9pYnVzL2lidXMvaXNzdWVzLzIyNzYKLS0tLQotIHNldHVwL2kxOG4ucHkgfCA4 ICsrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQotCi1kaWZmIC0tZ2l0IGEvc2V0dXAvaTE4bi5weSBiL3NldHVwL2kxOG4ucHkKLWluZGV4IDk3 NmQxYWVlLi5hZjE0ZWZjNiAxMDA2NDQKLS0tLSBhL3NldHVwL2kxOG4ucHkKLSsrKyBiL3NldHVw L2kxOG4ucHkKLUBAIC0zLDcgKzMsOSBAQAotICMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKLSAjCi0g IyBDb3B5cmlnaHQoYykgMjAwNy0yMDE1IFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwu Y29tPgotKyMgQ29weXJpZ2h0KGMpIDIwMTItMjAyMSBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVq aXdhcmExQGdtYWlsLmNvbT4KLSAjIENvcHlyaWdodChjKSAyMDA3LTIwMTUgR29vZ2xlLCBJbmMu Ci0rIyBDb3B5cmlnaHQoYykgMjAxMi0yMDIxIFJlZCBIYXQsIEluYy4KLSAjCi0gIyBUaGlzIGxp YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g IyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi bGljCi1AQCAtMjMsMTIgKzI1LDE0IEBACi0gaW1wb3J0IGxvY2FsZQotIGltcG9ydCBnZXR0ZXh0 Ci0gaW1wb3J0IG9zCi0raW1wb3J0IHN5cwotIAotIERPTUFJTk5BTUUgPSAiaWJ1czEwIgotIAot IF8gPSBsYW1iZGEgYTogZ2V0dGV4dC5kZ2V0dGV4dChET01BSU5OQU1FLCBhKQotIE5fID0gbGFt YmRhIGE6IGEKLSAKLStQWTNLID0gc3lzLnZlcnNpb25faW5mbyA+PSAoMywgMCkKLSBMT0NBTEVE SVIgPSBvcy5nZXRlbnYoIklCVVNfTE9DQUxFRElSIikKLSAKLSBkZWYgaW5pdF90ZXh0ZG9tYWlu KGRvbWFpbm5hbWUpOgotQEAgLTQyLDcgKzQ2LDkgQEAgZGVmIGluaXRfdGV4dGRvbWFpbihkb21h aW5uYW1lKToKLSAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgcGFzcwotICAg ICBnZXR0ZXh0LmJpbmR0ZXh0ZG9tYWluKGRvbWFpbm5hbWUsIExPQ0FMRURJUikKLS0gICAgZ2V0 dGV4dC5iaW5kX3RleHRkb21haW5fY29kZXNldChkb21haW5uYW1lLCAnVVRGLTgnKQotKyAgICAj IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9nZXR0ZXh0Lmh0bWwjZ2V0dGV4dC5s Z2V0dGV4dAotKyAgICBpZiBub3QgUFkzSzoKLSsgICAgICAgIGdldHRleHQuYmluZF90ZXh0ZG9t YWluX2NvZGVzZXQoZG9tYWlubmFtZSwgJ1VURi04JykKLSAKLSBkZWYgZ2V0dGV4dF9lbmdpbmVf bG9uZ25hbWUoZW5naW5lKToKLSAgICAgbmFtZSA9IGVuZ2luZS5nZXRfbmFtZSgpCi0tLSAKLTIu MzMuMQotCi1Gcm9tIGNmY2M2ZjE5NGNmYzk1YWIwY2YxYjNiNzE5ZDc3MzIxYzI0OWE4M2IgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/TmE9QzM9QUZtPTIwRmF2aWVy Pz0gPG5AbW9uYWRlLmxpPgotRGF0ZTogVHVlLCAxNiBOb3YgMjAyMSAwMDozMzozNyArMDEwMAot U3ViamVjdDogW1BBVENIXSBzcmMvaWJ1c2NvbXBvc2V0YWJsZTogaW52YWxpZGF0ZSBjYWNoZSBi YXNlZCBvbiBzeW1saW5rCi0gbXRpbWUgdG9vCi0KLVdoZW4gdGhlIGNvbXBvc2UgZmlsZSBpcyBh IHN5bWJvbGljIGxpbmssIHRha2UgdGhlIGxpbmsgaXRzZWxmJ3MKLW1vZGlmaWNhdGlvbiB0aW1l IGludG8gYWNjb3VudCAoaW4gYWRkaXRpb24gdG8gaXRzIHRhcmdldCdzKSBpbgotZGV0ZXJtaW5p bmcgd2hldGhlciB0byBpbnZhbGlkYXRlIHRoZSBjb21wb3NlIGNhY2hlLgotCi1UaGlzIGlzIHVz ZWZ1bCBlLmcuIG9uIE5peE9TIHN5c3RlbXMgd2hlcmUgdGhlIGNvbXBvc2UgZmlsZSBtaWdodCBw b2ludAotdG8gYSBzdG9yZSBwYXRoIHdpdGggYW4gaXJyZWxldmFudCBtb2RpZmljYXRpb24gdGlt ZSwgYW5kIHdlIHdhbnQgdGhlCi1jYWNoZSB0byBleHBpcmUgd2hlbiB0aGUgc3ltbGluayBpdHNl bGYgY2hhbmdlcy4KLQotQlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvcHVsbC8yMzYy Ci0tLS0KLSBzcmMvaWJ1c2NvbXBvc2V0YWJsZS5jIHwgOCArKysrKystLQotIDEgZmlsZSBjaGFu Z2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMv aWJ1c2NvbXBvc2V0YWJsZS5jIGIvc3JjL2lidXNjb21wb3NldGFibGUuYwotaW5kZXggYjc2NDY0 YmMuLjI1MGUwMTM5IDEwMDY0NAotLS0tIGEvc3JjL2lidXNjb21wb3NldGFibGUuYwotKysrIGIv c3JjL2lidXNjb21wb3NldGFibGUuYwotQEAgLTEwNDAsMTAgKzEwNDAsMTQgQEAgaWJ1c19jb21w b3NlX3RhYmxlX2xvYWRfY2FjaGUgKGNvbnN0IGdjaGFyICpjb21wb3NlX2ZpbGUpCi0gICAgICAg ICBpZiAoIWdfZmlsZV90ZXN0IChwYXRoLCBHX0ZJTEVfVEVTVF9FWElTVFMpKQotICAgICAgICAg ICAgIGJyZWFrOwotIAotLSAgICAgICAgaWYgKGdfc3RhdCAoY29tcG9zZV9maWxlLCAmb3JpZ2lu YWxfYnVmKSkKLS0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGlmIChnX3N0YXQgKHBhdGgs ICZjYWNoZV9idWYpKQotICAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgaWYgKGdfbHN0YXQg KGNvbXBvc2VfZmlsZSwgJm9yaWdpbmFsX2J1ZikpCi0rICAgICAgICAgICAgYnJlYWs7Ci0rICAg ICAgICBpZiAob3JpZ2luYWxfYnVmLnN0X210aW1lID4gY2FjaGVfYnVmLnN0X210aW1lKQotKyAg ICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgaWYgKGdfc3RhdCAoY29tcG9zZV9maWxlLCAmb3Jp Z2luYWxfYnVmKSkKLSsgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGlmIChvcmlnaW5hbF9i dWYuc3RfbXRpbWUgPiBjYWNoZV9idWYuc3RfbXRpbWUpCi0gICAgICAgICAgICAgYnJlYWs7Ci0g ICAgICAgICBpZiAoIWdfZmlsZV9nZXRfY29udGVudHMgKHBhdGgsICZjb250ZW50cywgJmxlbmd0 aCwgJmVycm9yKSkgewotLS0gCi0yLjMzLjEKLQotRnJvbSAyYmM0N2YwOTgzMjA3M2M4N2NjZGYx MDYwYmQ5M2ZmOTU4Nzg2ODVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogZnVqaXdh cmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogVGh1LCAyIERlYyAyMDIxIDIz OjUyOjM2ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGF1dG9nZW46IERlbGV0ZSBnbm9tZS1hdXRv Z2VuIGRlcGVuZGVuY3kKLQotWW91IG1heSBsaWtlIHRvIGNhbGwgLi9hdXRvZ2VuLnNoIC0tZW5h YmxlLWd0ay1kb2Mgd2l0aCB5b3VyIGN1c3RvbQotY29uZmlndXJlIG9wdGlvbnMuCi1BbHNvIHNl dCBTQVZFX0RJU1RfRklMRT0xIGJ5IGRlZmF1bHQKLS0tLQotIGF1dG9nZW4uc2ggICAgICB8IDk2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KLSBzcmMv TWFrZWZpbGUuYW0gfCAxOCArKysrKystLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRp b25zKCspLCA0MSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2F1dG9nZW4uc2ggYi9hdXRv Z2VuLnNoCi1pbmRleCBlYTYzM2UwNi4uMWFjYmY3MDUgMTAwNzU1Ci0tLS0gYS9hdXRvZ2VuLnNo Ci0rKysgYi9hdXRvZ2VuLnNoCi1AQCAtMSwyMiArMSw0NyBAQAotICMhL2Jpbi9zaAotICMgUnVu IHRoaXMgdG8gZ2VuZXJhdGUgYWxsIHRoZSBpbml0aWFsIG1ha2VmaWxlcywgZXRjLgotIAotLXNy Y2Rpcj1gZGlybmFtZSAkMGAKLS10ZXN0IC16ICIkc3JjZGlyIiAmJiBzcmNkaXI9LgotLQotLVBL R19OQU1FPSJpYnVzIgotLURJU1RfRklMRVM9IgotLWVuZ2luZS9zaW1wbGUueG1sLmluCi0tc3Jj L2lidXNlbW9qaWdlbi5oCi0tc3JjL2lidXN1bmljb2RlZ2VuLmgKLS0iCi0rOiAke3NyY2Rpcj0k KGRpcm5hbWUgJDApfQotKzogJHtzcmNkaXI6PS59Ci0rOiAke1NBVkVfRElTVF9GSUxFUzo9MH0K LSsKLStvbGRkaXI9JChwd2QpCi0rIyBzaGVsbGNoZWNrIGRpc2FibGU9U0MyMDE2Ci0rUEtHX05B TUU9JChhdXRvY29uZiAtLXRyYWNlICdBQ19JTklUOiQxJyBjb25maWd1cmUuYWMpCi0rV0FOVF9H VEtfRE9DPTAKLStHQ0NfVkVSU0lPTj0kKGdjYyAtLXZlcnNpb24gfCBoZWFkIC0xIHwgYXdrICd7 cHJpbnQgJDN9JykKLStHQ0NfTUFKT1JfVkVSU0lPTj0kKGVjaG8gIiRHQ0NfVkVSU0lPTiIgfCBh d2sgLUYuICd7cHJpbnQgJDF9JykKLSBGRURPUkFfUEtHMT0nYXV0b2NvbmYgYXV0b21ha2UgbGli dG9vbCBnZXR0ZXh0LWRldmVsJwotIEZFRE9SQV9QS0cyPSdnbGliMi1kZXZlbCBndGsyLWRldmVs IGd0azMtZGV2ZWwKLSAgd2F5bGFuZC1kZXZlbCcKLSBGRURPUkFfUEtHMz0nY2xkci1lbW9qaS1h bm5vdGF0aW9uIGlzby1jb2Rlcy1kZXZlbCB1bmljb2RlLWVtb2ppIHVuaWNvZGUtdWNkCi0gIHhr ZXlib2FyZC1jb25maWctZGV2ZWwnCi0gCi0tKHRlc3QgLXogIiRESVNBQkxFX0lOU1RBTExfUEtH UyIpICYmIHsKLStDRkxBR1M9JHtDRkxBR1MtIi1XYWxsIC1XZm9ybWF0IC1XZXJyb3I9Zm9ybWF0 LXNlY3VyaXR5In0KLSsodGVzdCAkR0NDX01BSk9SX1ZFUlNJT04gLWdlIDEwKSAmJiB7Ci0rICAg IENGTEFHUz0iJENGTEFHUyAtZmFuYWx5emVyIC1mc2FuaXRpemU9YWRkcmVzcyAtZnNhbml0aXpl PWxlYWsiCi0rICAgIEZFRE9SQV9QS0cxPSIkRkVET1JBX1BLRzEgbGliYXNhbiIKLSt9Ci0rCi0r Y2QgIiRzcmNkaXIiCi0rCi0rKHRlc3QgLWYgY29uZmlndXJlLmFjIFwKLSsgICYmIHRlc3QgLWYg UkVBRE1FICkgfHwgewotKyAgICBlY2hvIC1uICIqKkVycm9yKio6IERpcmVjdG9yeSAiXGAkc3Jj ZGlyXCciIGRvZXMgbm90IGxvb2sgbGlrZSB0aGUiCi0rICAgIGVjaG8gIiB0b3AtbGV2ZWwgJFBL R19OQU1FIGRpcmVjdG9yeSIKLSsgICAgZXhpdCAxCi0rfQotKwotKyh0ZXN0ICQoZ3JlcCAtcSAi XkdUS19ET0NfQ0hFQ0siIGNvbmZpZ3VyZS5hYykpIHx8IHsKLSsgICAgV0FOVF9HVEtfRE9DPTEK LSsgICAgRkVET1JBX1BLRzI9IiRGRURPUkFfUEtHMiBndGstZG9jIgotK30KLSsKLSsodGVzdCAt ZiBDaGFuZ2VMb2cpIHx8IHsKLSsgICAgdG91Y2ggQ2hhbmdlTG9nCi0rfQotKwotKyh0ZXN0ICJ4 JERJU0FCTEVfSU5TVEFMTF9QS0dTIiA9ICJ4IikgJiYgewotICAgICAodGVzdCAtZiAvZXRjL2Zl ZG9yYS1yZWxlYXNlICkgJiYgewotICAgICAgICAgcnBtIC1xICRGRURPUkFfUEtHMSB8fCBleGl0 IDEKLSAgICAgICAgIHJwbSAtcSAkRkVET1JBX1BLRzIgfHwgZXhpdCAxCi1AQCAtMjcsMzAgKzUy LDM5IEBAIEZFRE9SQV9QS0czPSdjbGRyLWVtb2ppLWFubm90YXRpb24gaXNvLWNvZGVzLWRldmVs IHVuaWNvZGUtZW1vamkgdW5pY29kZS11Y2QKLSAgICAgfQotIH0KLSAKLS0odGVzdCAtZiAkc3Jj ZGlyL2NvbmZpZ3VyZS5hYyBcCi0tICAmJiB0ZXN0IC1mICRzcmNkaXIvUkVBRE1FICkgfHwgewot LSAgICBlY2hvIC1uICIqKkVycm9yKio6IERpcmVjdG9yeSAiXGAkc3JjZGlyXCciIGRvZXMgbm90 IGxvb2sgbGlrZSB0aGUiCi0tICAgIGVjaG8gIiB0b3AtbGV2ZWwgJFBLR19OQU1FIGRpcmVjdG9y eSIKLS0gICAgZXhpdCAxCi0tfQotLQotLXdoaWNoIGdub21lLWF1dG9nZW4uc2ggfHwgewotLSAg ICBlY2hvICJOb3QgZm91bmQgZ25vbWUtYXV0b2dlbi5zaC4gWW91IG1heSBuZWVkIHRvIGluc3Rh bGwgZ25vbWUtY29tbW9uIgotLSAgICBleGl0IDEKLStDT05GSUdGTEFHUz0iJEAiCi0rKHRlc3Qg IiQjIiA9IDAgLWEgIngkTk9DT05GSUdVUkUiID0gIngiICkgJiYgewotKyAgICBlY2hvICIqKiog V0FSTklORzogSSBhbSBnb2luZyB0byBydW4gJ2NvbmZpZ3VyZScgd2l0aCBubyBhcmd1bWVudHMu IiA+JjIKLSsgICAgZWNobyAiKioqIElmIHlvdSB3aXNoIHRvIHBhc3MgYW55IHRvIGl0LCBwbGVh c2Ugc3BlY2lmeSB0aGVtIG9uIHRoZSIgPiYyCi0rICAgIGVjaG8gIioqKiAnJDAnIGNvbW1hbmQg bGluZS4iID4mMgotKyAgICBlY2hvICIiID4mMgotKyAgICAodGVzdCAkV0FOVF9HVEtfRE9DIC1l cSAxKSAmJiBDT05GSUdGTEFHUz0iLS1lbmFibGUtZ3RrLWRvYyAkQCIKLSB9Ci0gCi0tKHRlc3Qg LWYgJHNyY2Rpci9DaGFuZ2VMb2cpIHx8IHsKLS0gICAgdG91Y2ggJHNyY2Rpci9DaGFuZ2VMb2cK LS19Ci0rKHRlc3QgJFdBTlRfR1RLX0RPQyAtZXEgMSkgJiYgZ3RrZG9jaXplIC0tY29weQotIAot LUNGTEFHUz0ke0NGTEFHUy0iLVdhbGwgLVdmb3JtYXQgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHki fQotK0FDTE9DQUxfRkxBR1M9IiRBQ0xPQ0FMX0ZMQUdTIC1JIG00IiBSRVFVSVJFRF9BVVRPTUFL RV9WRVJTSU9OPTEuMTEgXAotK2F1dG9yZWNvbmYgLS12ZXJib3NlIC0tZm9yY2UgLS1pbnN0YWxs IHx8IGV4aXQgMQotIAotLSMgbmVlZCAtLWVuYWJsZS1ndGstZG9jIGZvciBnbm9tZS1hdXRvZ2Vu LnNoIHRvIG1ha2UgZGlzdAotLUFDTE9DQUxfRkxBR1M9IiRBQ0xPQ0FMX0ZMQUdTIC1JIG00IiBS RVFVSVJFRF9BVVRPTUFLRV9WRVJTSU9OPTEuMTEgQ0ZMQUdTPSIkQ0ZMQUdTIiAuIGdub21lLWF1 dG9nZW4uc2ggIiRAIgotK2NkICIkb2xkZGlyIgotKyh0ZXN0ICJ4JE5PQ09ORklHVVJFIiA9ICJ4 IiApICYmIHsKLSsgICAgZWNobyAiJHNyY2Rpci9jb25maWd1cmUgJENPTkZJR0ZMQUdTIgotKyAg ICAkc3JjZGlyL2NvbmZpZ3VyZSAkQ09ORklHRkxBR1MgfHwgZXhpdCAxCi0rICAgICh0ZXN0ICIk MSIgPSAiLS1oZWxwIiApICYmIHsKLSsgICAgICAgIGV4aXQgMAotKyAgICB9IHx8IHsKLSsgICAg ICAgIGVjaG8gIk5vdyB0eXBlICdtYWtlJyB0byBjb21waWxlICRQS0dfTkFNRSIgfHwgZXhpdCAx Ci0rICAgIH0KLSt9IHx8IHsKLSsgICAgZWNobyAiU2tpcHBpbmcgY29uZmlndXJlIHByb2Nlc3Mu IgotK30KLSAKLS0odGVzdCAteiAiJFNBVkVfRElTVF9GSUxFUyIpICYmIHsKLS0gICAgZm9yIGYg aW4gJERJU1RfRklMRVMgOyBkbwotLSAgICAgICAgZWNobyAicm0gJGYiCi0tICAgICAgICBybSAk ZgotLSAgICBkb25lCi0rY2QgIiRzcmNkaXIiCi0rKHRlc3QgIngkU0FWRV9ESVNUX0ZJTEVTIiA9 ICJ4MCIgKSAmJiB7Ci0rICAgICMgcm0gZW5naW5lL3NpbXBsZS54bWwuaW4gc3JjL2lidXNlbW9q aWdlbi5oIHNyYy9pYnVzdW5pY29kZWdlbi5oCi0rICAgIGZvciBkIGluIGVuZ2luZSBzcmM7IGRv Ci0rICAgICAgICBlY2hvICJtYWtlIC1DICRkIG1haW50YWluZXItY2xlYW4tZ2VuZXJpYyIKLSsg ICAgICAgIG1ha2UgLUMgJGQgbWFpbnRhaW5lci1jbGVhbi1nZW5lcmljCi0rICAgZG9uZQotIH0g fHwgOgotK2NkICIkb2xkZGlyIgotZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9N YWtlZmlsZS5hbQotaW5kZXggNzQyZWU3ZDcuLjU3ODY5NGI1IDEwMDY0NAotLS0tIGEvc3JjL01h a2VmaWxlLmFtCi0rKysgYi9zcmMvTWFrZWZpbGUuYW0KLUBAIC0zLDcgKzMsNyBAQAotICMgaWJ1 cyAtIFRoZSBJbnB1dCBCdXMKLSAjCi0gIyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxNSBQZW5nIEh1 YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLS0jIENvcHlyaWdodCAoYykgMjAxNS0yMDIw IFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotKyMgQ29weXJpZ2h0 IChjKSAyMDE1LTIwMjEgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+ Ci0gIyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxNyBSZWQgSGF0LCBJbmMuCi0gIwotICMgVGhpcyBs aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot QEAgLTI5Niw4ICsyOTYsOCBAQCBkaWN0cy9lbW9qaS0lLmRpY3Q6IGVtb2ppLXBhcnNlcgotIAkg ICAgZWNobyAiU2tpcCAkJHBsdXNfY29tbWVudCAkQCI7IFwKLSAJZmk7Ci0gCi0taWJ1c2Vtb2pp Z2VuLmg6IGRpY3RzL2Vtb2ppLWVuLmRpY3QKLS0JJChOVUxMKQotK2lidXNlbW9qaWdlbi5oOgot KwkkKE1BS0UpICQoQU1fTUFLRUZMQUdTKSBkaWN0cy9lbW9qaS1lbi5kaWN0Ci0gCi0gIyBXZSBw dXQgZGljdHMvZW1vamktJS5kaWN0IGFzIHRoZSBtYWtlIHRhcmdldCBmb3IgdGhlIHBhcmFsbGVs IGJ1aWxkCi0gIyBhbmQgdGhlIG1ha2UgdGFyZ2V0IGhhcyB0byBiZSBnZW5hcmF0ZWQgZXZlbiBp ZiB0aGUgZmlsZSBzaXplIGlzIHplcm8uCi1AQCAtMzY0LDggKzM2NCw4IEBAIGRpY3RzL3VuaWNv ZGUtYmxvY2tzLmRpY3Q6IHVuaWNvZGUtcGFyc2VyCi0gCSAgICBlY2hvICJHZW5lcmF0ZWQgJEAi OyBcCi0gCWZpOwotIAotLWlidXN1bmljb2RlZ2VuLmg6IGRpY3RzL3VuaWNvZGUtYmxvY2tzLmRp Y3QKLS0JJChOVUxMKQotK2lidXN1bmljb2RlZ2VuLmg6Ci0rCSQoTUFLRSkgJChBTV9NQUtFRkxB R1MpIGRpY3RzL3VuaWNvZGUtYmxvY2tzLmRpY3QKLSAKLSB1bmljb2RlX3BhcnNlcl9TT1VSQ0VT ID0gICAgICAgIFwKLSAgICAgdW5pY29kZS1wYXJzZXIuYyAgICAgICAgICAgIFwKLUBAIC0zOTgs OSArMzk4LDE1IEBAIENMRUFORklMRVMgKz0gICAgICAgICAgICAgICAgICAgXAotICAgICBzdGFt cC1pYnVzZW51bXR5cGVzLmggICAgICAgXAotICAgICAkKE5VTEwpCi0gCi0tRElTVENMRUFORklM RVMgPSAgICAgICAgICAgICAgICBcCi0rTUFJTlRBSU5FUkNMRUFORklMRVMgPSAgICAgICAgICBc Ci0gICAgIGlidXNlbW9qaWdlbi5oICAgICAgICAgICAgICBcCi0gICAgIGlidXN1bmljb2RlZ2Vu LmggICAgICAgICAgICBcCi0rICAgIGRpY3RzL2Vtb2ppLWVuLmRpY3QgICAgICAgICBcCi0rICAg IGRpY3RzL3VuaWNvZGUtYmxvY2tzLmRpY3QgICBcCi0rICAgICQoTlVMTCkKLSsKLStESVNUQ0xF QU5GSUxFUyA9ICAgICAgICAgICAgICAgIFwKLSsgICAgJChNQUlOVEFJTkVSQ0xFQU5GSUxFUykg ICAgIFwKLSAgICAgaWJ1c3ZlcnNpb24uaCAgICAgICAgICAgICAgIFwKLSAgICAgJChOVUxMKQot IAotLS0gCi0yLjMzLjEKLQotRnJvbSAxMDQxNDhiY2RhZGExZjhmMjJlZjkwNWM5MzBmOTk0NGYz ZTk5YTYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogZnVqaXdhcmF0IDx0YWthby5m dWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogVGh1LCAyIERlYyAyMDIxIDIzOjUzOjI4ICswOTAw Ci1TdWJqZWN0OiBbUEFUQ0hdIHNyYzogRGlzYWJsZSBlbW9qaSBzaG9ydGN1dCBrZXkgd2l0aCBu by1lbW9qaSBoaW50Ci0KLUJVRz1odHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ3RrLy0v aXNzdWVzLzQzMzcKLS0tLQotIHNyYy9pYnVzZW5naW5lLmMgfCA4ICsrKysrKy0tCi0gMSBmaWxl IGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBh L3NyYy9pYnVzZW5naW5lLmMgYi9zcmMvaWJ1c2VuZ2luZS5jCi1pbmRleCA5YWVhZmJmOS4uN2U4 NDQ4MzggMTAwNjQ0Ci0tLS0gYS9zcmMvaWJ1c2VuZ2luZS5jCi0rKysgYi9zcmMvaWJ1c2VuZ2lu ZS5jCi1AQCAtMiw4ICsyLDggQEAKLSAvKiB2aW06c2V0IGV0IHN0cz00OiAqLwotIC8qIGlidXMg LSBUaGUgSW5wdXQgQnVzCi0gICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTMgUGVuZyBIdWFuZyA8 c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0tICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMTkgVGFr YW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci0tICogQ29weXJpZ2h0IChD KSAyMDA4LTIwMTkgUmVkIEhhdCwgSW5jLgotKyAqIENvcHlyaWdodCAoQykgMjAxOC0yMDIxIFRh a2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotKyAqIENvcHlyaWdodCAo QykgMjAwOC0yMDIxIFJlZCBIYXQsIEluYy4KLSAgKgotICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgKiBtb2RpZnkgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi1AQCAtOTU0 LDYgKzk1NCwxMCBAQCBpYnVzX2VuZ2luZV9maWx0ZXJfa2V5X2V2ZW50IChJQnVzRW5naW5lICpl bmdpbmUsCi0gICAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgIGZvciAobiA9IG5hbWVzOyBuOyBu ID0gbi0+bmV4dCkgewotICAgICAgICAgY29uc3QgZ2NoYXIgKm5hbWUgPSAoY29uc3QgZ2NoYXIg KiluLT5kYXRhOwotKyAgICAgICAgaWYgKCFnX3N0cmNtcDAgKG5hbWUsICJlbW9qaSIpICYmCi0r ICAgICAgICAgICAgKGVuZ2luZS0+cHJpdi0+Y29udGVudF9oaW50cyAmIElCVVNfSU5QVVRfSElO VF9OT19FTU9KSSkpIHsKLSsgICAgICAgICAgICBjb250aW51ZTsKLSsgICAgICAgIH0KLSAgICAg ICAgIGtleXMgPSBnX2hhc2hfdGFibGVfbG9va3VwIChwcml2LT5leHRlbnNpb25fa2V5YmluZGlu Z3MsIG5hbWUpOwotICAgICAgICAgZm9yICg7IGtleXM7IGtleXMrKykgewotICAgICAgICAgICAg IGlmIChrZXlzLT5rZXl2YWwgPT0gMCAmJiBrZXlzLT5rZXljb2RlID09IDAgJiYga2V5cy0+c3Rh dGUgPT0gMCkKLS0tIAotMi4zMy4xCi0KLUZyb20gZjU3NTdhZGE1NGVkYWE3ZDJlM2VhOTQ4ZDM0 MGNkZjQ4MDY0ZTMwYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8 dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgNiBKYW4gMjAyMiAxMToyMDoy NiArMDkwMAotU3ViamVjdDogW1BBVENIXSBpYnVzZW5naW5lc2ltcGxlOiBGaXggdG8gc2VuZCBj aGFyIHBvc2l0aW9uIGF0Ci0gdXBkYXRlX3ByZWVkaXRfdGV4dAotCi1pYnVzX2VuZ2luZV91cGRh dGVfcHJlZWRpdF90ZXh0KCkgc2hvdWxkIHNlbmQgdGhlIGNoYXJhY3RlciBwb3NpdGlvbgotaW5z dGVhZCBvZiB0aGUgYnl0ZSBwb3NpdGlvbi4KLQotQlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVz L2lidXMvaXNzdWVzLzIzNjgKLS0tLQotIHNyYy9pYnVzZW5naW5lc2ltcGxlLmMgfCA0ICsrLS0K LSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvc3JjL2lidXNlbmdpbmVzaW1wbGUuYyBiL3NyYy9pYnVzZW5naW5lc2ltcGxlLmMK LWluZGV4IDgzYjA0ZWJjLi5hODBlNDFhNSAxMDA2NDQKLS0tLSBhL3NyYy9pYnVzZW5naW5lc2lt cGxlLmMKLSsrKyBiL3NyYy9pYnVzZW5naW5lc2ltcGxlLmMKLUBAIC0yLDcgKzIsNyBAQAotIC8q IHZpbTpzZXQgZXQgc3RzPTQ6ICovCi0gLyogaWJ1cyAtIFRoZSBJbnB1dCBCdXMKLSAgKiBDb3B5 cmlnaHQgKEMpIDIwMTQgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0tICog Q29weXJpZ2h0IChDKSAyMDE1LTIwMjEgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBn bWFpbC5jb20+Ci0rICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjIgVGFrYW8gRnVqaXdhcmEgPHRh a2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci0gICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTcgUmVk IEhhdCwgSW5jLgotICAqCi0gICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotQEAgLTM4Niw3ICszODYsNyBAQCBpYnVzX2VuZ2lu ZV9zaW1wbGVfdXBkYXRlX3ByZWVkaXRfdGV4dCAoSUJ1c0VuZ2luZVNpbXBsZSAqc2ltcGxlKQot ICAgICB9IGVsc2UgaWYgKHMtPmxlbiA+PSBHX01BWElOVCkgewotICAgICAgICAgZ193YXJuaW5n ICgiJXMgaXMgdG9vIGxvbmcgY29tcG9zZSBsZW5ndGg6ICVsdSIsIHMtPnN0ciwgcy0+bGVuKTsK LSAgICAgfSBlbHNlIHsKLS0gICAgICAgIGludCBsZW4gPSAoaW50KXMtPmxlbjsKLSsgICAgICAg IGd1aW50IGxlbiA9IChndWludClnX3V0Zjhfc3RybGVuIChzLT5zdHIsIC0xKTsKLSAgICAgICAg IElCdXNUZXh0ICp0ZXh0ID0gaWJ1c190ZXh0X25ld19mcm9tX3N0cmluZyAocy0+c3RyKTsKLSAg ICAgICAgIGlidXNfdGV4dF9hcHBlbmRfYXR0cmlidXRlICh0ZXh0LAotICAgICAgICAgICAgICAg ICBJQlVTX0FUVFJfVFlQRV9VTkRFUkxJTkUsIElCVVNfQVRUUl9VTkRFUkxJTkVfU0lOR0xFLCAw LCBsZW4pOwotLS0gCi0yLjMzLjEKLQotRnJvbSAwZTExOGU3ZTU3Y2FhYTI5OGUzNjdlZDk5ZjIw NTFiYTQ3YTM1ZjgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogZnVqaXdhcmF0IDx0 YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogVGh1LCAyMCBKYW4gMjAyMiAxNjozMzox MSArMDkwMAotU3ViamVjdDogW1BBVENIXSBkYXRhL2Rjb25mOiBDaGFuZ2UgWEtCIGxheW91dCBz dHJpbmcgY29sb3IgaW4gcGFuZWwKLQotUmVwbGFjZSAnIzQxNTA5OScgd2l0aCAnIzUxYTJkYScg aW4gWEtCIGxheW91dCBzdHJpbmcgY29sb3IKLQotQlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVz L2lidXMvaXNzdWVzLzIzNjQKLS0tLQotIGRhdGEvZGNvbmYvb3JnLmZyZWVkZXNrdG9wLmlidXMu Z3NjaGVtYS54bWwgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9kYXRhL2Rjb25mL29yZy5mcmVlZGVza3RvcC5pYnVz LmdzY2hlbWEueG1sIGIvZGF0YS9kY29uZi9vcmcuZnJlZWRlc2t0b3AuaWJ1cy5nc2NoZW1hLnht bAotaW5kZXggMDk5YjljNjAuLmU5MGVlNWFiIDEwMDY0NAotLS0tIGEvZGF0YS9kY29uZi9vcmcu ZnJlZWRlc2t0b3AuaWJ1cy5nc2NoZW1hLnhtbAotKysrIGIvZGF0YS9kY29uZi9vcmcuZnJlZWRl c2t0b3AuaWJ1cy5nc2NoZW1hLnhtbAotQEAgLTE0Niw3ICsxNDYsNyBAQAotICAgICAgIDxkZXNj cmlwdGlvbj5TaG93IGlucHV0IG1ldGhvZCBuYW1lIG9uIGxhbmd1YWdlIGJhcjwvZGVzY3JpcHRp b24+Ci0gICAgIDwva2V5PgotICAgICA8a2V5IG5hbWU9InhrYi1pY29uLXJnYmEiIHR5cGU9InMi PgotLSAgICAgIDxkZWZhdWx0PicjNDE1MDk5JzwvZGVmYXVsdD4KLSsgICAgICA8ZGVmYXVsdD4n IzUxYTJkYSc8L2RlZmF1bHQ+Ci0gICAgICAgPHN1bW1hcnk+UkdCQSB2YWx1ZSBvZiBYS0IgaWNv bjwvc3VtbWFyeT4KLSAgICAgICA8ZGVzY3JpcHRpb24+WEtCIGljb24gc2hvd3MgdGhlIGxheW91 dCBzdHJpbmcgYW5kIHRoZSBzdHJpbmcgaXMgcmVuZGVyZWQgd2l0aCB0aGUgUkdCQSB2YWx1ZS4g VGhlIFJHQkEgdmFsdWUgY2FuIGJlIDEuIGEgY29sb3IgbmFtZSBmcm9tIFgxMSwgMi4gYSBoZXgg dmFsdWUgaW4gZm9ybSAnI3JyZ2diYicgd2hlcmUgJ3InLCAnZycgYW5kICdiJyBhcmUgaGV4IGRp Z2l0cyBvZiB0aGUgcmVkLCBncmVlbiwgYW5kIGJsdWUsIDMuIGEgUkdCIGNvbG9yIGluIGZvcm0g J3JnYihyLGcsYiknIG9yIDQuIGEgUkdCQSBjb2xvciBpbiBmb3JtICdyZ2JhKHIsZyxiLGEpJyB3 aGVyZSAncicsICdnJywgYW5kICdiJyBhcmUgZWl0aGVyIGludGVnZXJzIGluIHRoZSByYW5nZSAw IHRvIDI1NSBvciBwZXJjZW50YWdlIHZhbHVlcyBpbiB0aGUgcmFuZ2UgMCUgdG8gMTAwJSwgYW5k ICdhJyBpcyBhIGZsb2F0aW5nIHBvaW50IHZhbHVlIGluIHRoZSByYW5nZSAwIHRvIDEgb2YgdGhl IGFscGhhLjwvZGVzY3JpcHRpb24+Ci0gICAgIDwva2V5PgotLS0gCi0yLjMzLjEKLQotRnJvbSBk OWZmMmJiNmIwNGE3Y2Y3ZDk5ZjRlOTgzMmI0Yjg5MDU4NTgxNzhjIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0 ZTogVGh1LCAyMCBKYW4gMjAyMiAxNjo0MTozNyArMDkwMAotU3ViamVjdDogW1BBVENIXSBkYXRh L2Rjb25mOiBBZGQgQ3RybC1zZW1pY29sb24gdG8gRW1vamkgc2hvcnRjdXQga2V5Ci0KLXBlcmlv ZCBrZXkgaXMgbmVlZGVkIFNoaWZ0IGtleSBpbiBGcmVuY2gga2V5Ym9hcmQgYW5kIEN0cmwtcGVy aW9kIGRvZXMKLW5vdCB3b3JrLgotQWRkIEN0cmwtc2VtaWNvbG9uIGluIG9yZy5mcmVlZGVza3Rv cC5pYnVzLnBhbmVsLmVtb2ppLmhvdGtleSB0byBmaXgKLXRoZSBwcm9ibGVtLgotCi1CVUc9aHR0 cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9pc3N1ZXMvMjM2MAotLS0tCi0gZGF0YS9kY29uZi9v cmcuZnJlZWRlc2t0b3AuaWJ1cy5nc2NoZW1hLnhtbCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2RhdGEvZGNvbmYv b3JnLmZyZWVkZXNrdG9wLmlidXMuZ3NjaGVtYS54bWwgYi9kYXRhL2Rjb25mL29yZy5mcmVlZGVz a3RvcC5pYnVzLmdzY2hlbWEueG1sCi1pbmRleCBlOTBlZTVhYi4uNTE2Zjc1MjAgMTAwNjQ0Ci0t LS0gYS9kYXRhL2Rjb25mL29yZy5mcmVlZGVza3RvcC5pYnVzLmdzY2hlbWEueG1sCi0rKysgYi9k YXRhL2Rjb25mL29yZy5mcmVlZGVza3RvcC5pYnVzLmdzY2hlbWEueG1sCi1AQCAtMTgzLDcgKzE4 Myw3IEBACi0gICAgICAgPGRlc2NyaXB0aW9uPlRoZSBzaG9ydGN1dCBrZXlzIGZvciB0dXJuaW5n IFVuaWNvZGUgdHlwaW5nIG9uIG9yIG9mZjwvZGVzY3JpcHRpb24+Ci0gICAgIDwva2V5PgotICAg ICA8a2V5IG5hbWU9ImhvdGtleSIgdHlwZT0iYXMiPgotLSAgICAgIDxkZWZhdWx0PlsgJyZsdDtD b250cm9sJmd0O3BlcmlvZCcgXTwvZGVmYXVsdD4KLSsgICAgICA8ZGVmYXVsdD5bICcmbHQ7Q29u dHJvbCZndDtwZXJpb2QnLCAnJmx0O0NvbnRyb2wmZ3Q7c2VtaWNvbG9uJyBdPC9kZWZhdWx0Pgot ICAgICAgIDxzdW1tYXJ5PkVtb2ppIHNob3J0Y3V0IGtleXMgZm9yIGd0a19hY2NlbGVyYXRvcl9w YXJzZTwvc3VtbWFyeT4KLSAgICAgICA8ZGVzY3JpcHRpb24+VGhlIHNob3J0Y3V0IGtleXMgZm9y IHR1cm5pbmcgZW1vamkgdHlwaW5nIG9uIG9yIG9mZjwvZGVzY3JpcHRpb24+Ci0gICAgIDwva2V5 PgotLS0gCi0yLjMzLjEKLQotRnJvbSA1YTQ1NWIxZWFkNWQ3MjQ4Mzk1MjM1NmRkZmUyNWI5ZTNi NjM3ZTZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRWJlcmhhcmQgQmVpbGhhcnog PGViMUBzaWwub3JnPgotRGF0ZTogV2VkLCAxMyBPY3QgMjAyMSAxOTowMDo0NyArMDIwMAotU3Vi amVjdDogW1BBVENIXSBGaXggdW5yZWYgcHJvYmxlbXMgd2l0aCBmbG9hdGluZyByZWZlcmVuY2Vz Ci0KLVdoZW4gcnVubmluZyB3aXRoIGRlYnVnLWVuYWJsZWQgR0xJQiB0aGVyZSBhcmUgc2V2ZXJh bCBjcml0aWNhbAotZXJyb3JzIG91dHB1dDogIkEgZmxvYXRpbmcgb2JqZWN0IC4uLiB3YXMgZmlu YWxpemVkLiBUaGlzIG1lYW5zCi10aGF0IHNvbWVvbmUgY2FsbGVkIGdfb2JqZWN0X3VucmVmKCkg b24gYW4gb2JqZWN0IHRoYXQgaGFkIG9ubHkKLWEgZmxvYXRpbmcgcmVmZXJlbmNlOyB0aGUgaW5p dGlhbCBmbG9hdGluZyByZWZlcmVuY2UgaXMgbm90Ci1vd25lZCBieSBhbnlvbmUgYW5kIG11c3Qg YmUgcmVtb3ZlZCB3aXRoIGdfb2JqZWN0X3JlZl9zaW5rKCkuIgotCi1UaGlzIGNoYW5nZSBmaXhl cyB0aGlzIGJ5IGNhbGxpbmcgYGdfb2JqZWN0X3JlZl9zaW5rKClgIGJlZm9yZQotYGdfb2JqZWN0 X3VucmVmKClgIGlmIHdlIGhhdmUgYSBmbG9hdGluZyByZWZlcmVuY2UuCi0KLUl0IGFsc28gZml4 ZXMgYW5vdGhlciByZWxhdGVkIHByb2JsZW0gd2hlcmUgd2UgY2FsbGVkCi1gZ19vYmplY3RfdW5y ZWYoKWAgb24gYSBzdGF0aWMgSUJ1c1RleHQgc3RyaW5nIChjcmVhdGVkIHdpdGgKLWBpYnVzX3Rl eHRfbmV3X2Zyb21fc3RhdGljX3N0cmluZygpYCkgZm9yIHdoaWNoIHRoZSBBUEkgZG9jdW1lbnRh dGlvbgotc2F5cyBub3QgdG8gZnJlZS4KLQotQlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2li dXMvcHVsbC8yMzU5Ci0tLS0KLSBzcmMvaWJ1c2lucHV0Y29udGV4dC5jIHwgMjEgKysrKysrKysr KysrKystLS0tLS0tCi0gc3JjL2lidXNwcm9wZXJ0eS5jICAgICB8IDMyICsrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAy MyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9pYnVzaW5wdXRjb250ZXh0LmMgYi9z cmMvaWJ1c2lucHV0Y29udGV4dC5jCi1pbmRleCAyYjE0MzhmYy4uNGIyNzU1MWIgMTAwNjQ0Ci0t LS0gYS9zcmMvaWJ1c2lucHV0Y29udGV4dC5jCi0rKysgYi9zcmMvaWJ1c2lucHV0Y29udGV4dC5j Ci1AQCAtNTUwLDcgKzU1MCw4IEBAIGlidXNfaW5wdXRfY29udGV4dF9nX3NpZ25hbCAoR0RCdXNQ cm94eSAgKnByb3h5LAotICAgICAgICAgZ19zaWduYWxfZW1pdCAoY29udGV4dCwgY29udGV4dF9z aWduYWxzW0NPTU1JVF9URVhUXSwgMCwgdGV4dCk7Ci0gCi0gICAgICAgICBpZiAoZ19vYmplY3Rf aXNfZmxvYXRpbmcgKHRleHQpKQotLSAgICAgICAgICAgIGdfb2JqZWN0X3VucmVmICh0ZXh0KTsK LSsgICAgICAgICAgICBnX29iamVjdF9yZWZfc2luayAodGV4dCk7Ci0rICAgICAgICBnX29iamVj dF91bnJlZiAodGV4dCk7Ci0gICAgICAgICByZXR1cm47Ci0gICAgIH0KLSAgICAgaWYgKGdfc3Ry Y21wMCAoc2lnbmFsX25hbWUsICJVcGRhdGVQcmVlZGl0VGV4dCIpID09IDApIHsKLUBAIC01Njks NyArNTcwLDggQEAgaWJ1c19pbnB1dF9jb250ZXh0X2dfc2lnbmFsIChHREJ1c1Byb3h5ICAqcHJv eHksCi0gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlKTsKLSAKLSAgICAgICAgIGlmIChn X29iamVjdF9pc19mbG9hdGluZyAodGV4dCkpCi0tICAgICAgICAgICAgZ19vYmplY3RfdW5yZWYg KHRleHQpOwotKyAgICAgICAgICAgIGdfb2JqZWN0X3JlZl9zaW5rICh0ZXh0KTsKLSsgICAgICAg IGdfb2JqZWN0X3VucmVmICh0ZXh0KTsKLSAgICAgICAgIHJldHVybjsKLSAgICAgfQotICAgICBp ZiAoZ19zdHJjbXAwIChzaWduYWxfbmFtZSwgIlVwZGF0ZVByZWVkaXRUZXh0V2l0aE1vZGUiKSA9 PSAwKSB7Ci1AQCAtNTkxLDcgKzU5Myw4IEBAIGlidXNfaW5wdXRfY29udGV4dF9nX3NpZ25hbCAo R0RCdXNQcm94eSAgKnByb3h5LAotICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSk7Ci0gCi0g ICAgICAgICBpZiAoZ19vYmplY3RfaXNfZmxvYXRpbmcgKHRleHQpKQotLSAgICAgICAgICAgIGdf b2JqZWN0X3VucmVmICh0ZXh0KTsKLSsgICAgICAgICAgICBnX29iamVjdF9yZWZfc2luayAodGV4 dCk7Ci0rICAgICAgICBnX29iamVjdF91bnJlZiAodGV4dCk7Ci0gICAgICAgICByZXR1cm47Ci0g ICAgIH0KLSAKLUBAIC02MTksNyArNjIyLDggQEAgaWJ1c19pbnB1dF9jb250ZXh0X2dfc2lnbmFs IChHREJ1c1Byb3h5ICAqcHJveHksCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LAotICAg ICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZSk7Ci0gICAgICAgICBpZiAoZ19vYmplY3RfaXNf ZmxvYXRpbmcgKHRleHQpKQotLSAgICAgICAgICAgIGdfb2JqZWN0X3VucmVmICh0ZXh0KTsKLSsg ICAgICAgICAgICBnX29iamVjdF9yZWZfc2luayAodGV4dCk7Ci0rICAgICAgICBnX29iamVjdF91 bnJlZiAodGV4dCk7Ci0gICAgICAgICByZXR1cm47Ci0gICAgIH0KLSAKLUBAIC02MzcsNyArNjQx LDggQEAgaWJ1c19pbnB1dF9jb250ZXh0X2dfc2lnbmFsIChHREJ1c1Byb3h5ICAqcHJveHksCi0g ICAgICAgICAgICAgICAgICAgICAgICB0YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHZp c2libGUpOwotICAgICAgICAgaWYgKGdfb2JqZWN0X2lzX2Zsb2F0aW5nICh0YWJsZSkpCi0tICAg ICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHRhYmxlKTsKLSsgICAgICAgICAgICBnX29iamVjdF9y ZWZfc2luayAodGFibGUpOwotKyAgICAgICAgZ19vYmplY3RfdW5yZWYgKHRhYmxlKTsKLSAgICAg ICAgIHJldHVybjsKLSAKLSAgICAgfQotQEAgLTY1NSw3ICs2NjAsOCBAQCBpYnVzX2lucHV0X2Nv bnRleHRfZ19zaWduYWwgKEdEQnVzUHJveHkgICpwcm94eSwKLSAgICAgICAgICAgICAgICAgICAg ICAgIHByb3BfbGlzdCk7Ci0gCi0gICAgICAgICBpZiAoZ19vYmplY3RfaXNfZmxvYXRpbmcgKHBy b3BfbGlzdCkpCi0tICAgICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHByb3BfbGlzdCk7Ci0rICAg ICAgICAgICAgZ19vYmplY3RfcmVmX3NpbmsgKHByb3BfbGlzdCk7Ci0rICAgICAgICBnX29iamVj dF91bnJlZiAocHJvcF9saXN0KTsKLSAgICAgICAgIHJldHVybjsKLSAgICAgfQotIAotQEAgLTY2 OCw3ICs2NzQsOCBAQCBpYnVzX2lucHV0X2NvbnRleHRfZ19zaWduYWwgKEdEQnVzUHJveHkgICpw cm94eSwKLSAgICAgICAgIGdfc2lnbmFsX2VtaXQgKGNvbnRleHQsIGNvbnRleHRfc2lnbmFsc1tV UERBVEVfUFJPUEVSVFldLCAwLCBwcm9wKTsKLSAKLSAgICAgICAgIGlmIChnX29iamVjdF9pc19m bG9hdGluZyAocHJvcCkpCi0tICAgICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHByb3ApOwotKyAg ICAgICAgICAgIGdfb2JqZWN0X3JlZl9zaW5rIChwcm9wKTsKLSsgICAgICAgIGdfb2JqZWN0X3Vu cmVmIChwcm9wKTsKLSAgICAgICAgIHJldHVybjsKLSAgICAgfQotIAotZGlmZiAtLWdpdCBhL3Ny Yy9pYnVzcHJvcGVydHkuYyBiL3NyYy9pYnVzcHJvcGVydHkuYwotaW5kZXggZTg3ZDI2YjYuLjZk NGVkMDg4IDEwMDY0NAotLS0tIGEvc3JjL2lidXNwcm9wZXJ0eS5jCi0rKysgYi9zcmMvaWJ1c3By b3BlcnR5LmMKLUBAIC0zMzYsMTcgKzMzNiwyMCBAQCBpYnVzX3Byb3BlcnR5X2Rlc3Ryb3kgKElC dXNQcm9wZXJ0eSAqcHJvcCkKLSAgICAgcHJvcC0+cHJpdi0+aWNvbiA9IE5VTEw7Ci0gCi0gICAg IGlmIChwcm9wLT5wcml2LT5sYWJlbCkgewotLSAgICAgICAgZ19vYmplY3RfdW5yZWYgKHByb3At PnByaXYtPmxhYmVsKTsKLSsgICAgICAgIGlmICghaWJ1c190ZXh0X2dldF9pc19zdGF0aWMgKHBy b3AtPnByaXYtPmxhYmVsKSkKLSsgICAgICAgICAgICBnX29iamVjdF91bnJlZiAocHJvcC0+cHJp di0+bGFiZWwpOwotICAgICAgICAgcHJvcC0+cHJpdi0+bGFiZWwgPSBOVUxMOwotICAgICB9Ci0g Ci0gICAgIGlmIChwcm9wLT5wcml2LT5zeW1ib2wpIHsKLS0gICAgICAgIGdfb2JqZWN0X3VucmVm IChwcm9wLT5wcml2LT5zeW1ib2wpOwotKyAgICAgICAgaWYgKCFpYnVzX3RleHRfZ2V0X2lzX3N0 YXRpYyAocHJvcC0+cHJpdi0+c3ltYm9sKSkKLSsgICAgICAgICAgICBnX29iamVjdF91bnJlZiAo cHJvcC0+cHJpdi0+c3ltYm9sKTsKLSAgICAgICAgIHByb3AtPnByaXYtPnN5bWJvbCA9IE5VTEw7 Ci0gICAgIH0KLSAKLSAgICAgaWYgKHByb3AtPnByaXYtPnRvb2x0aXApIHsKLS0gICAgICAgIGdf b2JqZWN0X3VucmVmIChwcm9wLT5wcml2LT50b29sdGlwKTsKLSsgICAgICAgIGlmICghaWJ1c190 ZXh0X2dldF9pc19zdGF0aWMgKHByb3AtPnByaXYtPnRvb2x0aXApKQotKyAgICAgICAgICAgIGdf b2JqZWN0X3VucmVmIChwcm9wLT5wcml2LT50b29sdGlwKTsKLSAgICAgICAgIHByb3AtPnByaXYt PnRvb2x0aXAgPSBOVUxMOwotICAgICB9Ci0gCi1AQCAtNDAxLDcgKzQwNCw3IEBAIGlidXNfcHJv cGVydHlfZGVzZXJpYWxpemUgKElCdXNQcm9wZXJ0eSAqcHJvcCwKLSAgICAgZ192YXJpYW50X2dl dF9jaGlsZCAodmFyaWFudCwgcmV0dmFsKyssICJ1IiwgJnByb3AtPnByaXYtPnR5cGUpOwotIAot ICAgICBHVmFyaWFudCAqc3VidmFyID0gZ192YXJpYW50X2dldF9jaGlsZF92YWx1ZSAodmFyaWFu dCwgcmV0dmFsKyspOwotLSAgICBpZiAocHJvcC0+cHJpdi0+bGFiZWwgIT0gTlVMTCkgewotKyAg ICBpZiAocHJvcC0+cHJpdi0+bGFiZWwgJiYgIWlidXNfdGV4dF9nZXRfaXNfc3RhdGljIChwcm9w LT5wcml2LT5sYWJlbCkpIHsKLSAgICAgICAgIGdfb2JqZWN0X3VucmVmIChwcm9wLT5wcml2LT5s YWJlbCk7Ci0gICAgIH0KLSAgICAgcHJvcC0+cHJpdi0+bGFiZWwgPSBJQlVTX1RFWFQgKGlidXNf c2VyaWFsaXphYmxlX2Rlc2VyaWFsaXplIChzdWJ2YXIpKTsKLUBAIC00MTEsNyArNDE0LDcgQEAg aWJ1c19wcm9wZXJ0eV9kZXNlcmlhbGl6ZSAoSUJ1c1Byb3BlcnR5ICpwcm9wLAotICAgICBpYnVz X2dfdmFyaWFudF9nZXRfY2hpbGRfc3RyaW5nICh2YXJpYW50LCByZXR2YWwrKywgJnByb3AtPnBy aXYtPmljb24pOwotIAotICAgICBzdWJ2YXIgPSBnX3ZhcmlhbnRfZ2V0X2NoaWxkX3ZhbHVlICh2 YXJpYW50LCByZXR2YWwrKyk7Ci0tICAgIGlmIChwcm9wLT5wcml2LT50b29sdGlwICE9IE5VTEwp IHsKLSsgICAgaWYgKHByb3AtPnByaXYtPnRvb2x0aXAgJiYgIWlidXNfdGV4dF9nZXRfaXNfc3Rh dGljIChwcm9wLT5wcml2LT50b29sdGlwKSkgewotICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHBy b3AtPnByaXYtPnRvb2x0aXApOwotICAgICB9Ci0gICAgIHByb3AtPnByaXYtPnRvb2x0aXAgPSBJ QlVTX1RFWFQgKGlidXNfc2VyaWFsaXphYmxlX2Rlc2VyaWFsaXplIChzdWJ2YXIpKTsKLUBAIC00 MzIsNyArNDM1LDcgQEAgaWJ1c19wcm9wZXJ0eV9kZXNlcmlhbGl6ZSAoSUJ1c1Byb3BlcnR5ICpw cm9wLAotIAotICAgICAvKiBLZWVwIHRoZSBzZXJpYWxpemVkIG9yZGVyIGZvciB0aGUgY29tcGF0 aWJpbGl0eSB3aGVuIGFkZCBuZXcgbWVtYmVycy4gKi8KLSAgICAgc3VidmFyID0gZ192YXJpYW50 X2dldF9jaGlsZF92YWx1ZSAodmFyaWFudCwgcmV0dmFsKyspOwotLSAgICBpZiAocHJvcC0+cHJp di0+c3ltYm9sICE9IE5VTEwpIHsKLSsgICAgaWYgKHByb3AtPnByaXYtPnN5bWJvbCAmJiAhaWJ1 c190ZXh0X2dldF9pc19zdGF0aWMgKHByb3AtPnByaXYtPnN5bWJvbCkpIHsKLSAgICAgICAgIGdf b2JqZWN0X3VucmVmIChwcm9wLT5wcml2LT5zeW1ib2wpOwotICAgICB9Ci0gICAgIHByb3AtPnBy aXYtPnN5bWJvbCA9IElCVVNfVEVYVCAoaWJ1c19zZXJpYWxpemFibGVfZGVzZXJpYWxpemUgKHN1 YnZhcikpOwotQEAgLTU2NCw3ICs1NjcsNyBAQCBpYnVzX3Byb3BlcnR5X3NldF9sYWJlbCAoSUJ1 c1Byb3BlcnR5ICpwcm9wLAotICAgICBnX2Fzc2VydCAoSUJVU19JU19QUk9QRVJUWSAocHJvcCkp OwotICAgICBnX3JldHVybl9pZl9mYWlsIChsYWJlbCA9PSBOVUxMIHx8IElCVVNfSVNfVEVYVCAo bGFiZWwpKTsKLSAKLS0gICAgaWYgKHByb3AtPnByaXYtPmxhYmVsKSB7Ci0rICAgIGlmIChwcm9w LT5wcml2LT5sYWJlbCAmJiAhaWJ1c190ZXh0X2dldF9pc19zdGF0aWMgKHByb3AtPnByaXYtPmxh YmVsKSkgewotICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHByb3AtPnByaXYtPmxhYmVsKTsKLSAg ICAgfQotIAotQEAgLTU4Myw3ICs1ODYsNyBAQCBpYnVzX3Byb3BlcnR5X3NldF9zeW1ib2wgKElC dXNQcm9wZXJ0eSAqcHJvcCwKLSAgICAgZ19hc3NlcnQgKElCVVNfSVNfUFJPUEVSVFkgKHByb3Ap KTsKLSAgICAgZ19yZXR1cm5faWZfZmFpbCAoc3ltYm9sID09IE5VTEwgfHwgSUJVU19JU19URVhU IChzeW1ib2wpKTsKLSAKLS0gICAgaWYgKHByb3AtPnByaXYtPnN5bWJvbCkgewotKyAgICBpZiAo cHJvcC0+cHJpdi0+c3ltYm9sICYmICFpYnVzX3RleHRfZ2V0X2lzX3N0YXRpYyAocHJvcC0+cHJp di0+c3ltYm9sKSkgewotICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHByb3AtPnByaXYtPnN5bWJv bCk7Ci0gICAgIH0KLSAKLUBAIC02MTIsMTkgKzYxNSwxNiBAQCBpYnVzX3Byb3BlcnR5X3NldF90 b29sdGlwIChJQnVzUHJvcGVydHkgKnByb3AsCi0gICAgIGdfYXNzZXJ0IChJQlVTX0lTX1BST1BF UlRZIChwcm9wKSk7Ci0gICAgIGdfYXNzZXJ0ICh0b29sdGlwID09IE5VTEwgfHwgSUJVU19JU19U RVhUICh0b29sdGlwKSk7Ci0gCi0tICAgIElCdXNQcm9wZXJ0eVByaXZhdGUgKnByaXYgPSBwcm9w LT5wcml2OwotLQotLSAgICBpZiAocHJpdi0+dG9vbHRpcCkgewotLSAgICAgICAgZ19vYmplY3Rf dW5yZWYgKHByaXYtPnRvb2x0aXApOwotKyAgICBpZiAocHJvcC0+cHJpdi0+dG9vbHRpcCAmJiAh aWJ1c190ZXh0X2dldF9pc19zdGF0aWMgKHByb3AtPnByaXYtPnRvb2x0aXApKSB7Ci0rICAgICAg ICBnX29iamVjdF91bnJlZiAocHJvcC0+cHJpdi0+dG9vbHRpcCk7Ci0gICAgIH0KLSAKLSAgICAg aWYgKHRvb2x0aXAgPT0gTlVMTCkgewotLSAgICAgICAgcHJpdi0+dG9vbHRpcCA9IGlidXNfdGV4 dF9uZXdfZnJvbV9zdGF0aWNfc3RyaW5nICgiIik7Ci0tICAgICAgICBnX29iamVjdF9yZWZfc2lu ayAocHJpdi0+dG9vbHRpcCk7Ci0rICAgICAgICBwcm9wLT5wcml2LT50b29sdGlwID0gaWJ1c190 ZXh0X25ld19mcm9tX3N0YXRpY19zdHJpbmcgKCIiKTsKLSAgICAgfQotICAgICBlbHNlIHsKLS0g ICAgICAgIHByaXYtPnRvb2x0aXAgPSB0b29sdGlwOwotLSAgICAgICAgZ19vYmplY3RfcmVmX3Np bmsgKHByaXYtPnRvb2x0aXApOwotKyAgICAgICAgcHJvcC0+cHJpdi0+dG9vbHRpcCA9IHRvb2x0 aXA7Ci0rICAgICAgICBnX29iamVjdF9yZWZfc2luayAocHJvcC0+cHJpdi0+dG9vbHRpcCk7Ci0g ICAgIH0KLSB9Ci0gCi0tLSAKLTIuMzMuMQotCi1Gcm9tIGFkOTUwMTVkYzQxMWY4NGRkOWI4ODY5 ZTU5NmU0NzA3Y2QyY2NkMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTaWJvIERv bmcgPDQ2NTEyMjExK2RvbmdzaWJvQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KLURhdGU6IFdl ZCwgMiBGZWIgMjAyMiAxOToxODowMiArMDkwMAotU3ViamVjdDogW1BBVENIXSB1aS9ndGszOiBV cGRhdGUgbWFuIHBhZ2UgZm9yIEVtb2ppIHNob3J0Y3V0IGtleQotCi1UaGUgZGVmYXVsdCBFbW9q aSBzaG9ydGN1dCBrZXkgd2FzIGNoYW5nZWQgYnV0IG5vdCB1cGRhdGVkIGluCi10aGUgaWJ1cy1l bW9qaS43IG1hbiBwYWdlLgotCi1CVUc9aHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9wdWxs LzIzNTMKLS0tLQotIHVpL2d0azMvaWJ1cy1lbW9qaS43LmluIHwgNiArKystLS0KLSAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv dWkvZ3RrMy9pYnVzLWVtb2ppLjcuaW4gYi91aS9ndGszL2lidXMtZW1vamkuNy5pbgotaW5kZXgg OWM2ZDNjNmYuLmI0ZDk0MWVjIDEwMDY0NAotLS0tIGEvdWkvZ3RrMy9pYnVzLWVtb2ppLjcuaW4K LSsrKyBiL3VpL2d0azMvaWJ1cy1lbW9qaS43LmluCi1AQCAtMSw4ICsxLDggQEAKLSAuXCIgVGhp cyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGlidXMK LSAuXCIgcGFja2FnZS4KLS0uXCIgQ29weXJpZ2h0IChDKSBUYWthbyBGdWppd2FyYSA8dGFrYW8u ZnVqaXdhcmExQGdtYWlsLmNvbT4sIDIwMTctMjAxOC4KLSsuXCIgQ29weXJpZ2h0IChDKSBUYWth byBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4sIDIwMTctMjAyMi4KLSAuXCIK LS0uVEggIklCVVMgRU1PSkkiIDcgIkF1Z3VzdCAyMDE4IiAiQFZFUlNJT05AIiAiVXNlciBDb21t YW5kcyIKLSsuVEggIklCVVMgRU1PSkkiIDcgIkZlYnJ1YXJ5IDIwMjIiICJAVkVSU0lPTkAiICJV c2VyIENvbW1hbmRzIgotIC5TSCBOQU1FCi0gLkIgaWJ1cy1lbW9qaQotIFwtIENhbGwgdGhlIElC dXMgZW1vamkgdXRpbGl0eSBieQotQEAgLTUxLDcgKzUxLDcgQEAgRS5nLiAiTm90byBDb2xvciBF bW9qaSIsICJBbmRyb2lkIEVtb2ppIiBmb250LgotIAotIC5TSCAiS0VZQk9BUkQgT1BFUkFUSU9O UyIKLSAuVFAKLS1cZkJDb250cm9sLVNoaWZ0LWVcZlIKLStcZkJDb250cm9sLVBlcmlvZCBvciBD b250cm9sLVNlbWljb2xvblxmUgotIExhdW5jaCBJQnVzIEVtb2ppZXIuIFRoZSBzaG9ydGN1dCBr ZXkgY2FuIGJlIGN1c3RvbWl6ZWQgYnkKLSAuQiBpYnVzXC1zZXR1cCAoMSkuCi0gLlRQCi0tLSAK LTIuMzMuMQotCi1Gcm9tIDBmMTQ4NWJmYTY4NzM4NmYyNmVmNTkwOWMxMjNlMGFlMmUzZTExYjkg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDMgRmViIDIwMjIgMTQ6MDM6MzAgKzA5MDAKLVN1Ympl Y3Q6IFtQQVRDSF0gc3JjOiBBZGQgSUJVU19JTlBVVF9ISU5UX1BSSVZBVEUgZm9yIGJyb3dzZXIg cHJpdmF0ZSBtb2RlCi0KLUdUSzQgYWRkZWQgR1RLX0lOUFVUX0hJTlRfUFJJVkFURSByZWNlbnRs eSBmb3IgV2ViIGJyb3dlcgotcHJpdmF0ZSBvciBndWVzdCBtb2RlLgotCi1CVUc9aHR0cHM6Ly9n aXRodWIuY29tL2lidXMvaWJ1cy9pc3N1ZXMvMjMxNQotLS0tCi0gc3JjL2lidXN0eXBlcy5oIHwg OCArKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvaWJ1c3R5cGVzLmggYi9zcmMvaWJ1c3R5cGVzLmgKLWlu ZGV4IDc5OGFkMDRkLi45OTA2NTlhYyAxMDA2NDQKLS0tLSBhL3NyYy9pYnVzdHlwZXMuaAotKysr IGIvc3JjL2lidXN0eXBlcy5oCi1AQCAtMiw3ICsyLDggQEAKLSAvKiB2aW06c2V0IGV0IHN0cz00 OiAqLwotIC8qIGlidXMgLSBUaGUgSW5wdXQgQnVzCi0gICogQ29weXJpZ2h0IChDKSAyMDA4LTIw MTMgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0tICogQ29weXJpZ2h0IChD KSAyMDA4LTIwMjAgUmVkIEhhdCwgSW5jLgotKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDIyIFRh a2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotKyAqIENvcHlyaWdodCAo QykgMjAwOC0yMDIyIFJlZCBIYXQsIEluYy4KLSAgKgotICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgKiBtb2RpZnkgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi1AQCAtMzAw LDYgKzMwMSw4IEBAIHR5cGVkZWYgZW51bQotICAqIEBJQlVTX0lOUFVUX0hJTlRfVkVSVElDQUxf V1JJVElORzogVGhlIHRleHQgaXMgdmVydGljYWwuIFNpbmNlIDEuNS4xMQotICAqIEBJQlVTX0lO UFVUX0hJTlRfRU1PSkk6IFN1Z2dlc3Qgb2ZmZXJpbmcgRW1vamkgc3VwcG9ydC4gU2luY2UgMS41 LjI0Ci0gICogQElCVVNfSU5QVVRfSElOVF9OT19FTU9KSTogU3VnZ2VzdCBub3Qgb2ZmZXJpbmcg RW1vamkgc3VwcG9ydC4gU2luY2UgMS41LjI0Ci0rICogQElCVVNfSU5QVVRfSElOVF9QUklWQVRF OiBSZXF1ZXN0IHRoYXQgdGhlIGlucHV0IG1ldGhvZCBzaG91bGQgbm90Ci0rICogICAgIHVwZGF0 ZSBwZXJzb25hbGl6ZWQgZGF0YSAobGlrZSB0eXBpbmcgaGlzdG9yeSkuIFNpbmNlIDEuNS4yNgot ICAqCi0gICogRGVzY3JpYmVzIGhpbnRzIHRoYXQgbWlnaHQgYmUgdGFrZW4gaW50byBhY2NvdW50 IGJ5IGVuZ2luZXMuICBOb3RlCi0gICogdGhhdCBlbmdpbmVzIG1heSBhbHJlYWR5IHRhaWxvciB0 aGVpciBiZWhhdmlvdXIgYWNjb3JkaW5nIHRvIHRoZQotQEAgLTMyNiw3ICszMjksOCBAQCB0eXBl ZGVmIGVudW0KLSAgICAgSUJVU19JTlBVVF9ISU5UX0lOSElCSVRfT1NLICAgICAgICAgPSAxIDw8 IDcsCi0gICAgIElCVVNfSU5QVVRfSElOVF9WRVJUSUNBTF9XUklUSU5HICAgID0gMSA8PCA4LAot ICAgICBJQlVTX0lOUFVUX0hJTlRfRU1PSkkgICAgICAgICAgICAgICA9IDEgPDwgOSwKLS0gICAg SUJVU19JTlBVVF9ISU5UX05PX0VNT0pJICAgICAgICAgICAgPSAxIDw8IDEwCi0rICAgIElCVVNf SU5QVVRfSElOVF9OT19FTU9KSSAgICAgICAgICAgID0gMSA8PCAxMCwKLSsgICAgSUJVU19JTlBV VF9ISU5UX1BSSVZBVEUgICAgICAgICAgICAgPSAxIDw8IDExCi0gfSBJQnVzSW5wdXRIaW50czsK LSAKLSAjZW5kaWYKLS0tIAotMi4zMy4xCi0KLUZyb20gNzg3YjU2NDk4MmQxNzAxN2NiMzVhYjg3 YjcxYjZhMTZkNzQ0MDM4NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJh dCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMyBGZWIgMjAyMiAxNDoz NDozNCArMDkwMAotU3ViamVjdDogW1BBVENIXSBidXM6IG1rZGlyIHNvY2tldCBkaXJzIGluc3Rl YWQgb2Ygc29ja2V0IHBhdGhzCi0KLUlCdXMgcmFuIG1rZGlyIGZvciBzb2NrZXQgcGF0aHMgZm9y IC0tYWRkcmVzcz11bml4OnBhdGgKLWJ1dCBzaG91bGQgZG9lcyB0aGUgc29ja2V0IGRpcmVjdG9y aWVzIGluc3RlYWQuCi0KLUJVRz1odHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lzc3Vlcy8y MzYzCi0tLS0KLSBidXMvc2VydmVyLmMgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9idXMvc2VydmVyLmMgYi9idXMvc2VydmVyLmMKLWluZGV4 IGU4ZDBjZTJiLi42YWJmODQyNyAxMDA2NDQKLS0tLSBhL2J1cy9zZXJ2ZXIuYwotKysrIGIvYnVz L3NlcnZlci5jCi1AQCAtMiw3ICsyLDcgQEAKLSAvKiB2aW06c2V0IGV0IHN0cz00OiAqLwotIC8q IGJ1cyAtIFRoZSBJbnB1dCBCdXMKLSAgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxMCBQZW5nIEh1 YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLS0gKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAy MSBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmln aHQgKEMpIDIwMTEtMjAyMiBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KLSAgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAyMSBSZWQgSGF0LCBJbmMuCi0gICoKLSAgKiBU aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCi1AQCAtMzgsMTQgKzM4LDE0IEBAIHN0YXRpYyBHREJ1c1NlcnZlciAqc2VydmVyID0gTlVM TDsKLSBzdGF0aWMgR01haW5Mb29wICptYWlubG9vcCA9IE5VTEw7Ci0gc3RhdGljIEJ1c0RCdXNJ bXBsICpkYnVzID0gTlVMTDsKLSBzdGF0aWMgQnVzSUJ1c0ltcGwgKmlidXMgPSBOVUxMOwotLXN0 YXRpYyBnY2hhciAqYWRkcmVzcyA9IE5VTEw7Ci0rc3RhdGljIGNoYXIgKmFkZHJlc3MgPSBOVUxM OwotIHN0YXRpYyBnYm9vbGVhbiBfcmVzdGFydCA9IEZBTFNFOwotIAotIHN0YXRpYyB2b2lkCi0g X3Jlc3RhcnRfc2VydmVyICh2b2lkKQotIHsKLS0gICAgZ2NoYXIgKmV4ZTsKLS0gICAgZ2ludCBm ZDsKLSsgICAgY2hhciAqZXhlOwotKyAgICBpbnQgZmQ7Ci0gICAgIHNzaXplX3QgcjsKLSAgICAg aW50IE1BWFNJWkUgPSAweEZGRjsKLSAgICAgY2hhciBwcm9jbG5rW01BWFNJWkVdOwotQEAgLTIw MSwxMSArMjAxLDExIEBAIGJ1c19hY3F1aXJlZF9oYW5kbGVyIChHREJ1c0Nvbm5lY3Rpb24gICAg ICAgKmNvbm5lY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwotIH0K LSAKLS1zdGF0aWMgZ2NoYXIgKgotK3N0YXRpYyBjaGFyICoKLSBfYnVzX2V4dHJhY3RfYWRkcmVz cyAodm9pZCkKLSB7Ci0tICAgIGdjaGFyICpzb2NrZXRfYWRkcmVzcyA9IGdfc3RyZHVwIChnX2Fk ZHJlc3MpOwotLSAgICBnY2hhciAqcDsKLSsgICAgY2hhciAqc29ja2V0X2FkZHJlc3MgPSBnX3N0 cmR1cCAoZ19hZGRyZXNzKTsKLSsgICAgY2hhciAqcDsKLSAKLSAjZGVmaW5lIElGX1JFUExBQ0Vf VkFSSUFCTEVfV0lUSF9GVU5DKHZhcmlhYmxlLCBmdW5jLCBmb3JtYXQpICAgICAgICAgICBcCi0g ICAgIGlmICgocCA9IGdfc3Ryc3RyX2xlbiAoc29ja2V0X2FkZHJlc3MsIC0xLCAodmFyaWFibGUp KSkpIHsgICAgICAgICAgXAotQEAgLTI0MiwxMiArMjQyLDEyIEBAIGJ1c19zZXJ2ZXJfaW5pdCAo dm9pZCkKLSAjZGVmaW5lIElCVVNfVU5JWF9BQlNUUkFDVCAgICAgICJ1bml4OmFic3RyYWN0PSIK LSAjZGVmaW5lIElCVVNfVU5JWF9ESVIgICAgICAgICAgICJ1bml4OmRpcj0iCi0gCi0tICAgIGdj aGFyICpzb2NrZXRfYWRkcmVzczsKLSsgICAgY2hhciAqc29ja2V0X2FkZHJlc3M7Ci0gICAgIEdE QnVzU2VydmVyRmxhZ3MgZmxhZ3MgPSBHX0RCVVNfU0VSVkVSX0ZMQUdTX05PTkU7Ci0tICAgIGdj aGFyICpndWlkOwotKyAgICBjaGFyICpndWlkOwotICAgICBHREJ1c0F1dGhPYnNlcnZlciAqb2Jz ZXJ2ZXI7Ci0gICAgIEdFcnJvciAqZXJyb3IgPSBOVUxMOwotLSAgICBnY2hhciAqdW5peF9kaXIg PSBOVUxMOwotKyAgICBjaGFyICp1bml4X2RpciA9IE5VTEw7Ci0gCi0gICAgIGRidXMgPSBidXNf ZGJ1c19pbXBsX2dldF9kZWZhdWx0ICgpOwotICAgICBpYnVzID0gYnVzX2lidXNfaW1wbF9nZXRf ZGVmYXVsdCAoKTsKLUBAIC0yNTYsMTggKzI1NiwyNCBAQCBidXNfc2VydmVyX2luaXQgKHZvaWQp Ci0gICAgIC8qIGluaXQgc2VydmVyICovCi0gICAgIHNvY2tldF9hZGRyZXNzID0gX2J1c19leHRy YWN0X2FkZHJlc3MgKCk7Ci0gCi0tI2RlZmluZSBJRl9HRVRfVU5JWF9ESVIocHJlZml4KSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyNkZWZpbmUgSUZfR0VUX1VO SVhfRElSX0ZST01fRElSKHByZWZpeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LSAgICAgaWYgKGdfc3RyX2hhc19wcmVmaXggKHNvY2tldF9hZGRyZXNzLCAocHJlZml4KSkpIHsg ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICB1bml4X2RpciA9IGdfc3RyZHVwIChzb2NrZXRf YWRkcmVzcyArIHN0cmxlbiAocHJlZml4KSk7ICAgICAgICAgXAotICAgICB9Ci0rI2RlZmluZSBJ Rl9HRVRfVU5JWF9ESVJfRlJPTV9QQVRIKHByZWZpeCkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAotKyAgICBpZiAoZ19zdHJfaGFzX3ByZWZpeCAoc29ja2V0X2FkZHJlc3MsIChwcmVm aXgpKSkgeyAgICAgICAgICAgICAgICAgIFwKLSsgICAgICAgIGNvbnN0IGNoYXIgKnVuaXhfcGF0 aCA9IHNvY2tldF9hZGRyZXNzICsgc3RybGVuIChwcmVmaXgpOyAgICAgICBcCi0rICAgICAgICB1 bml4X2RpciA9IGdfcGF0aF9nZXRfZGlybmFtZSAodW5peF9wYXRoKTsgICAgICAgICAgICAgICAg ICAgICAgXAotKyAgICB9Ci0rCi0gCi0tICAgIElGX0dFVF9VTklYX0RJUiAoSUJVU19VTklYX1RN UERJUikKLSsgICAgSUZfR0VUX1VOSVhfRElSX0ZST01fRElSIChJQlVTX1VOSVhfVE1QRElSKQot ICAgICBlbHNlCi0tICAgIElGX0dFVF9VTklYX0RJUiAoSUJVU19VTklYX1BBVEgpCi0rICAgIElG X0dFVF9VTklYX0RJUl9GUk9NX1BBVEggKElCVVNfVU5JWF9QQVRIKQotICAgICBlbHNlCi0tICAg IElGX0dFVF9VTklYX0RJUiAoSUJVU19VTklYX0FCU1RSQUNUKQotKyAgICBJRl9HRVRfVU5JWF9E SVJfRlJPTV9QQVRIIChJQlVTX1VOSVhfQUJTVFJBQ1QpCi0gICAgIGVsc2UKLS0gICAgSUZfR0VU X1VOSVhfRElSIChJQlVTX1VOSVhfRElSKQotKyAgICBJRl9HRVRfVU5JWF9ESVJfRlJPTV9ESVIg KElCVVNfVU5JWF9ESVIpCi0gICAgIGVsc2UgewotICAgICAgICAgZ19lcnJvciAoIllvdXIgc29j a2V0IGFkZHJlc3MgXCIlc1wiIGRvZXMgbm90IGNvcnJlc3BvbmQgd2l0aCAiCi0gICAgICAgICAg ICAgICAgICAib25lIG9mIHRoZSBmb2xsb3dpbmcgZm9ybWF0czsgIgotQEAgLTMyOSw3ICszMzUs OCBAQCBidXNfc2VydmVyX2luaXQgKHZvaWQpCi0gICAgICAgICAgICAgICAgICAgICBidXNfYWNx dWlyZWRfaGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsIE5VTEwsIE5V TEwpOwotIAotLSN1bmRlZiBJRl9HRVRfVU5JWF9ESVIKLSsjdW5kZWYgSUZfR0VUX1VOSVhfRElS X0ZST01fRElSCi0rI3VuZGVmIElGX0dFVF9VTklYX0RJUl9GUk9NX1BBVEgKLSAjdW5kZWYgSUJV U19VTklYX1RNUERJUgotICN1bmRlZiBJQlVTX1VOSVhfUEFUSAotICN1bmRlZiBJQlVTX1VOSVhf QUJTVFJBQ1QKLS0tIAotMi4zMy4xCi0KLUZyb20gZGZkM2ZiZjI2ZmE0YjVmZjIwNTEyYjE2NmE4 ZGQzMjFhZmMxMDM0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8 dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMyBGZWIgMjAyMiAxNzozMTow OCArMDkwMAotU3ViamVjdDogW1BBVENIXSBidXM6IERvIG5vdCBta2RpciBhYnN0cmFjdCB1bml4 IHNvY2tldAotCi1JQnVzIHJhbiBta2RpciBmb3IgdW5peCBhYnN0cmFjdCBzb2NrZXRzIGZvciAt LWFkZHJlc3M9dW5peDphYnN0cmFjdAotYnV0IHNob3VsZCBub3QgbmVlZCB0byBta2Rpci4KLQot QlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvaXNzdWVzLzIzNjMKLS0tLQotIGJ1cy9z ZXJ2ZXIuYyB8IDggKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYnVzL3NlcnZlci5jIGIvYnVzL3NlcnZlci5j Ci1pbmRleCA2YWJmODQyNy4uOTY4ZDUzNDYgMTAwNjQ0Ci0tLS0gYS9idXMvc2VydmVyLmMKLSsr KyBiL2J1cy9zZXJ2ZXIuYwotQEAgLTI2NSwxMyArMjY1LDE1IEBAIGJ1c19zZXJ2ZXJfaW5pdCAo dm9pZCkKLSAgICAgICAgIGNvbnN0IGNoYXIgKnVuaXhfcGF0aCA9IHNvY2tldF9hZGRyZXNzICsg c3RybGVuIChwcmVmaXgpOyAgICAgICBcCi0gICAgICAgICB1bml4X2RpciA9IGdfcGF0aF9nZXRf ZGlybmFtZSAodW5peF9wYXRoKTsgICAgICAgICAgICAgICAgICAgICAgXAotICAgICB9Ci0rI2Rl ZmluZSBJRl9HRVRfVU5JWF9ESVJfRlJPTV9BQlNUUkFDVChwcmVmaXgpICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAotKyAgICBpZiAoZ19zdHJfaGFzX3ByZWZpeCAoc29ja2V0X2FkZHJlc3Ms IChwcmVmaXgpKSkge30KLSAKLSAKLSAgICAgSUZfR0VUX1VOSVhfRElSX0ZST01fRElSIChJQlVT X1VOSVhfVE1QRElSKQotICAgICBlbHNlCi0gICAgIElGX0dFVF9VTklYX0RJUl9GUk9NX1BBVEgg KElCVVNfVU5JWF9QQVRIKQotICAgICBlbHNlCi0tICAgIElGX0dFVF9VTklYX0RJUl9GUk9NX1BB VEggKElCVVNfVU5JWF9BQlNUUkFDVCkKLSsgICAgSUZfR0VUX1VOSVhfRElSX0ZST01fQUJTVFJB Q1QgKElCVVNfVU5JWF9BQlNUUkFDVCkKLSAgICAgZWxzZQotICAgICBJRl9HRVRfVU5JWF9ESVJf RlJPTV9ESVIgKElCVVNfVU5JWF9ESVIpCi0gICAgIGVsc2UgewotQEAgLTI4MSw3ICsyODMsOCBA QCBidXNfc2VydmVyX2luaXQgKHZvaWQpCi0gICAgICAgICAgICAgICAgICBJQlVTX1VOSVhfQUJT VFJBQ1QgIkZJTEUsICIgSUJVU19VTklYX0RJUiAiRElSLiIsCi0gICAgICAgICAgICAgICAgICBz b2NrZXRfYWRkcmVzcyk7Ci0gICAgIH0KLS0gICAgaWYgKCFnX2ZpbGVfdGVzdCAodW5peF9kaXIs IEdfRklMRV9URVNUX0VYSVNUUyB8IEdfRklMRV9URVNUX0lTX0RJUikpIHsKLSsgICAgaWYgKHVu aXhfZGlyICYmCi0rICAgICAgICAhZ19maWxlX3Rlc3QgKHVuaXhfZGlyLCBHX0ZJTEVfVEVTVF9F WElTVFMgfCBHX0ZJTEVfVEVTVF9JU19ESVIpKSB7Ci0gICAgICAgICAvKiBSZXF1aXJlIG1rZGly IGZvciBCU0Qgc3lzdGVtLgotICAgICAgICAgICogVGhlIG1vZGUgMDcwMCBjYW4gZWxpbWluYXRl IG1hbGljaW91cyB1c2VycyBjaGFuZ2UgdGhlIG1vZGUuCi0gICAgICAgICAgKiBgY2htb2RgIHJ1 bnMgZm9yIHRoZSBsYXN0IGRpcmVjdG9yeSBvbmx5IG5vdCB0byBjaGFuZ2UgdGhlIG1vZGVzCi1A QCAtMzM3LDYgKzM0MCw3IEBAIGJ1c19zZXJ2ZXJfaW5pdCAodm9pZCkKLSAKLSAjdW5kZWYgSUZf R0VUX1VOSVhfRElSX0ZST01fRElSCi0gI3VuZGVmIElGX0dFVF9VTklYX0RJUl9GUk9NX1BBVEgK LSsjdW5kZWYgSUZfR0VUX1VOSVhfRElSX0ZST01fQUJTVFJBQ1QKLSAjdW5kZWYgSUJVU19VTklY X1RNUERJUgotICN1bmRlZiBJQlVTX1VOSVhfUEFUSAotICN1bmRlZiBJQlVTX1VOSVhfQUJTVFJB Q1QKLS0tIAotMi4zMy4xCi0KLUZyb20gYzY5YjYxYWE2NjIzOWUxYjEzYzk3NjRiMmQzYmY2ZjAy ZDA4Njc4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8u ZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgNCBGZWIgMjAyMiAxNTowODozNiArMDkw MAotU3ViamVjdDogW1BBVENIXSBzcmM6IEZpeCBpYnVzX2tleV9ldmVudF9mcm9tX3N0cmluZyBm b3IKLSBnb2JqZWN0LWludHJvc3BlY3Rpb24KLQotQlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVz L2lidXMvaXNzdWVzLzIzMzAKLS0tLQotIHNyYy9pYnVzc2hhcmUuaCB8IDggKysrKy0tLS0KLSAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvc3JjL2lidXNzaGFyZS5oIGIvc3JjL2lidXNzaGFyZS5oCi1pbmRleCBkNzBhZjI5Zi4u ZDczOWUyZmYgMTAwNjQ0Ci0tLS0gYS9zcmMvaWJ1c3NoYXJlLmgKLSsrKyBiL3NyYy9pYnVzc2hh cmUuaAotQEAgLTIsOCArMiw4IEBACi0gLyogdmltOnNldCBldCBzdHM9NDogKi8KLSAvKiBpYnVz IC0gVGhlIElucHV0IEJ1cwotICAqIENvcHlyaWdodCAoQykgMjAwOC0yMDEzIFBlbmcgSHVhbmcg PHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgotLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE4IFRh a2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotLSAqIENvcHlyaWdodCAo QykgMjAwOC0yMDE4IFJlZCBIYXQsIEluYy4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMiBU YWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmlnaHQg KEMpIDIwMDgtMjAyMiBSZWQgSGF0LCBJbmMuCi0gICoKLSAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICogbW9kaWZ5IGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotQEAgLTMz Myw4ICszMzMsOCBAQCBnY2hhciAgICAgICAgICAgKmlidXNfa2V5X2V2ZW50X3RvX3N0cmluZwot IC8qKgotICAqIGlidXNfa2V5X2V2ZW50X2Zyb21fc3RyaW5nOgotICAqIEBzdHJpbmc6IEtleSBl dmVudCBzdHJpbmcuCi0tICogQGtleXZhbDogVmFyaWFibGUgdGhhdCBob2xkIGtleSBzeW1ib2wg cmVzdWx0LgotLSAqIEBtb2RpZmllcnM6IFZhcmlhYmxlIHRoYXQgaG9sZCBtb2RpZmllcnMgcmVz dWx0LgotKyAqIEBrZXl2YWw6IChvdXQpOiBWYXJpYWJsZSB0aGF0IGhvbGQga2V5IHN5bWJvbCBy ZXN1bHQuCi0rICogQG1vZGlmaWVyczogKG91dCk6IFZhcmlhYmxlIHRoYXQgaG9sZCBtb2RpZmll cnMgcmVzdWx0LgotICAqCi0gICogUGFyc2Uga2V5IGV2ZW50IHN0cmluZyBhbmQgcmV0dXJuIGtl eSBzeW1ib2wgYW5kIG1vZGlmaWVycy4KLSAgKgotLS0gCi0yLjMzLjEKLQotRnJvbSBhMDc2YjM4 OGQ4NTZhZWI0YzhmODMxN2RkNmNkOWRkNmQ2MWZlOWFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogQ2FybG9zIEdhcm5hY2hvIDxjYXJsb3NnQGdub21lLm9yZz4KLURhdGU6IFdlZCwg NCBOb3YgMjAyMCAxMDo0ODo0NSArMDEwMAotU3ViamVjdDogW1BBVENIXSBzcmMsIGNsaWVudC94 MTE6IEFkZCBzeXN0ZW1kIHVuaXQgZmlsZQotCi1UaGlzIHNvIGZhciBkZXBlbmRzIG9uIEdOT01F IHRhcmdldHMsIGFuZCBpcyB0aHVzIGp1c3QgdXNhYmxlIHRoZXJlLgotT3RoZXIgREVzIHdpc2hp bmcgdG8gdXNlIHN5c3RlbWQgYW5kIGlidXMgd2lsbCBuZWVkIHRvIGFkZCB0aGUKLW5lY2Vzc2Fy eSBkZXBlbmRlbmNpZXMgd2hlcmUgYXBwbGljYWJsZS4KLQotVGhlcmUgYXJlIDIgc2NlbmFyaW9z IGhlcmU6Ci0tIE9uIFgxMSBzZXNzaW9ucywgaWJ1cy1kYWVtb24gd2lsbCBiZSBsYXVuY2hlZCB3 aXRoIC0teGltIHBhcmFtZXRlciwKLSAgc28gaWJ1cy14MTEgaXMgc3RhcnRlZCB3aXRoIGl0Lgot LSBPbiBXYXlsYW5kIHNlc3Npb25zLCBpYnVzLWRhZW1vbiB3aWxsIGJlIHN0YXJ0ZWQgd2l0aG91 dCBYSU0gc3VwcG9ydCwKLSAgaWJ1cy14MTEgd2lsbCBiZSBsYXVuY2hlZCBhbmQgdGVhciBkb3du IHRvZ2V0aGVyIHdpdGggYWxsIG90aGVyCi0gIHNlc3Npb24gWDExIHNlcnZpY2VzIHdoaWxlIFh3 YXlsYW5kIGlzIHJ1bm5pbmcuCi0KLUZvciB0aGUgc2Vjb25kIHBhcnQgb2YgdGhlIHNlY29uZCBz aXR1YXRpb24sIGFkZGl0aW9uYWxseSBpbnN0YWxsCi1hIHNjcmlwdCBhdCAvZXRjL3hkZy9Yd2F5 bGFuZC1zZXNzaW9uLmQsIHdoaWNoIHRha2VzIGNhcmUgb2YgWDExCi1zZXJ2aWNlIGluaXRpYWxp emF0aW9uIHRvZ2V0aGVyIHdpdGggdGhlIFh3YXlsYW5kIGluc3RhbmNlLgotCi1CVUc9aHR0cHM6 Ly9naXRodWIuY29tL2lidXMvaWJ1cy9wdWxsLzIzNzcKLS0tLQotIGNsaWVudC94MTEvMTAtaWJ1 cy14MTEuaW4gICAgICAgICAgICAgICAgICAgICB8ICAyICsrCi0gY2xpZW50L3gxMS9NYWtlZmls ZS5hbSAgICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrCi0gY29uZmlndXJl LmFjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTcgKysrKysrKysrKysKLSBz cmMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNiArKysrKysr KysrKwotIC4uLi5mcmVlZGVza3RvcC5JQnVzLnNlc3Npb24uR05PTUUuc2VydmljZS5pbiB8IDI4 ICsrKysrKysrKysrKysrKysrKysKLSA1IGZpbGVzIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKykK LSBjcmVhdGUgbW9kZSAxMDA3NTUgY2xpZW50L3gxMS8xMC1pYnVzLXgxMS5pbgotIGNyZWF0ZSBt b2RlIDEwMDY0NCBidXMvc2VydmljZXMvb3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5HTk9N RS5zZXJ2aWNlLmluCi0KLWRpZmYgLS1naXQgYS9jbGllbnQveDExLzEwLWlidXMteDExLmluIGIv Y2xpZW50L3gxMS8xMC1pYnVzLXgxMS5pbgotbmV3IGZpbGUgbW9kZSAxMDA3NTUKLWluZGV4IDAw MDAwMDAwLi45NzNjYmI2ZgotLS0tIC9kZXYvbnVsbAotKysrIGIvY2xpZW50L3gxMS8xMC1pYnVz LXgxMS5pbgotQEAgLTAsMCArMSwyIEBACi0rIyEvYmluL3NoCi0rQGxpYmV4ZWNkaXJAL2lidXMt eDExICYKLWRpZmYgLS1naXQgYS9jbGllbnQveDExL01ha2VmaWxlLmFtIGIvY2xpZW50L3gxMS9N YWtlZmlsZS5hbQotaW5kZXggMTJkZTZlYTguLjkwNDU0YmNmIDEwMDY0NAotLS0tIGEvY2xpZW50 L3gxMS9NYWtlZmlsZS5hbQotKysrIGIvY2xpZW50L3gxMS9NYWtlZmlsZS5hbQotQEAgLTY3LDYg KzY3LDE2IEBAIG5vaW5zdF9IRUFERVJTID0gXAotIAlsb2NhbGVzLmggXAotIAkkKE5VTEwpCi0g Ci0reHdheWxhbmRzZXNzaW9uZF9pbl9maWxlcyA9IDEwLWlidXMteDExLmluCi0reHdheWxhbmRz ZXNzaW9uZF9EQVRBID0gJCh4d2F5bGFuZHNlc3Npb25kX2luX2ZpbGVzOi5pbj0pCi0reHdheWxh bmRzZXNzaW9uZGRpcj0kKHN5c2NvbmZkaXIpL3hkZy9Yd2F5bGFuZC1zZXNzaW9uLmQKLSsKLSsx MC1pYnVzLXgxMTogMTAtaWJ1cy14MTEuaW4KLSsJJChBTV9WX0dFTikgc2VkIC1lICJzfFxAbGli ZXhlY2RpclxAfCQobGliZXhlY2Rpcil8IiAgJDwgPiAkQC50bXAgJiYgbXYgJEAudG1wICRACi0r Ci0raW5zdGFsbC1kYXRhLWhvb2s6Ci0rCWNobW9kIDc1NSAkKERFU1RESVIpJCh4d2F5bGFuZHNl c3Npb25kZGlyKS8xMC1pYnVzLXgxMQotKwotICQobGliSU1ka2l0KToKLSAJKGNkICQodG9wX2J1 aWxkZGlyKS91dGlsL0lNZGtpdDsgbWFrZSkKLSAKLUBAIC04MSw0ICs5MSwxMiBAQCBsb2NhbGVz Lmg6Ci0gCQl4YXJncyBweXRob24gLWMgJ2ltcG9ydCBzeXM7cHJpbnQgIiNkZWZpbmUgTE9DQUxF U19TVFJJTkcgXCIlc1wiIiAlICIsIi5qb2luKHN5cy5hcmd2WzE6XSknIFwKLSAJICkgPiAkQAot IAotK0NMRUFORklMRVMgPSAgICAgICAgICAgICAgICAgICAgXAotKyAgICAkKHh3YXlsYW5kc2Vz c2lvbmRfREFUQSkgICAgXAotKyAgICAkKE5VTEwpCi0rCi0rRVhUUkFfRElTVCA9ICAgICAgICAg ICAgICAgICAgICBcCi0rICAgIDEwLWlidXMteDExLmluICAgICAgICAgICAgICBcCi0rICAgICQo TlVMTCkKLSsKLSAtaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2dpdC5tawotZGlmZiAtLWdpdCBhL2Nv bmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggY2UwOTZhZDMuLjczYzVlNDI5IDEwMDY0 NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0zOTMsNiArMzkz LDIyIEBAIGlmIHRlc3QgeCIkZW5hYmxlX2Rjb25mIiA9IHgieWVzIjsgdGhlbgotICAgICBlbmFi bGVfZGNvbmY9InllcyAoZW5hYmxlZCwgdXNlIC0tZGlzYWJsZS1kY29uZiB0byBkaXNhYmxlKSIK LSBmaQotIAotK0FDX0FSR19FTkFCTEUoc3lzdGVtZC1zZXJ2aWNlcywKLSsgICAgQVNfSEVMUF9T VFJJTkcoWy0tZGlzYWJsZS1zeXN0ZW1kLXNlcnZpY2VzXSwKLSsgICAgICAgICAgICAgICAgICAg W0Rpc2FibGUgc3lzdGVtZCBzZXJ2aWNlcyBpbnN0YWxsYXRpb25dKSwKLSsgICAgW2VuYWJsZV9z eXN0ZW1kPSRlbmFibGV2YWxdLAotKyAgICBbZW5hYmxlX3N5c3RlbWQ9eWVzXQotKykKLStBTV9D T05ESVRJT05BTChbRU5BQkxFX1NZU1RFTURdLCBbdGVzdCB4IiRlbmFibGVfc3lzdGVtZCIgPSB4 InllcyJdKQotKwotK2lmIHRlc3QgeCIkZW5hYmxlX3N5c3RlbWQiID0geCJ5ZXMiOyB0aGVuCi0r ICAgIFBLR19DSEVDS19NT0RVTEVTKFNZU1RFTUQsIFsKLSsgICAgICAgIHN5c3RlbWQgPj0gMC43 LjUKLSsgICAgXSkKLSsgICAgQUNfU1VCU1QoW1NZU1RFTURfVVNFUl9VTklUX0RJUl0sIFtgJFBL R19DT05GSUcgLS12YXJpYWJsZSBzeXN0ZW1kdXNlcnVuaXRkaXIgc3lzdGVtZGBdKQotKyAgICBl bmFibGVfc3lzdGVtZD0ieWVzIChlbmFibGVkLCB1c2UgLS1kaXNhYmxlLXN5c3RlbWQtc2Vydmlj ZXMgdG8gZGlzYWJsZSkiCi0rZmkKLSsKLSAjIENoZWNrIGVudi4KLSBBQ19QQVRIX1BST0coRU5W X0lCVVNfVEVTVCwgZW52KQotIEFDX1NVQlNUKEVOVl9JQlVTX1RFU1QpCi1AQCAtODYwLDYgKzg3 Niw3IEBAIEJ1aWxkIG9wdGlvbnM6Ci0gICBVQ0QgZGlyZWN0b3J5ICAgICAgICAgICAgICAgICAk VUNEX0RJUgotICAgU29ja2V0IGRpcmVjdG9yeSAgICAgICAgICAgICAgIiRJQlVTX1NPQ0tFVF9E SVIiCi0gICBYRml4ZXMgY2xpZW50IGRpc2Nvbm5lY3QgICAgICAkaGF2ZV94Zml4ZXMKLSsgIElu c3RhbGwgc3lzdGVtZCBzZXJ2aWNlICAgICAgICRlbmFibGVfc3lzdGVtZAotICAgUnVuIHRlc3Qg Y2FzZXMgICAgICAgICAgICAgICAgJGVuYWJsZV90ZXN0cwotICAgSW5zdGFsbCB0ZXN0cyAgICAg ICAgICAgICAgICAgJGVuYWJsZV9pbnN0YWxsX3Rlc3RzCi0gXSkKLWRpZmYgLS1naXQgYS9zcmMv TWFrZWZpbGUuYW0gYi9zcmMvTWFrZWZpbGUuYW0KLWluZGV4IDU3ODY5NGI1Li5iYmFhNmM5MCAx MDA2NDQKLS0tLSBhL3NyYy9NYWtlZmlsZS5hbQotKysrIGIvc3JjL01ha2VmaWxlLmFtCi1AQCAt MzE3LDYgKzMxNywxMSBAQCBpbnN0YWxsLWRhdGEtaG9vazoKLSAJICAgICAgICBybSAiJChERVNU RElSKSQoZGljdGRpcikvJCRmaWxlIiB8fCBleGl0ICQkPzsgXAotIAkgICAgZmk7IFwKLSAJZG9u ZQotKwkkKE1LRElSX1ApICIkKERFU1RESVIpJChTWVNURU1EX1VTRVJfVU5JVF9ESVIpL2dub21l LXNlc3Npb24udGFyZ2V0LndhbnRzLyIKLSsJKCBcCi0rCQljZCAiJChERVNURElSKSQoU1lTVEVN RF9VU0VSX1VOSVRfRElSKS9nbm9tZS1zZXNzaW9uLnRhcmdldC53YW50cyIgOyBcCi0rCQkkKExO X1MpIC1mICIuLi9vcmcuZnJlZWRlc2t0b3AuSUJ1cy5zZXNzaW9uLkdOT01FLnNlcnZpY2UiIC47 IFwKLSsJKQotIAotIGVtb2ppX3BhcnNlcl9TT1VSQ0VTID0gICAgICAgICAgXAotICAgICBlbW9q aS1wYXJzZXIuYyAgICAgICAgICAgICAgXAotQEAgLTM4Myw3ICszODgsMTcgQEAgY2xlYW4tbG9j YWw6Ci0gCSQoTlVMTCkKLSBlbmRpZgotIAotK2lmIEVOQUJMRV9TWVNURU1ECi0rc3lzdGVtZHNl cnZpY2VfaW5fZmlsZXMgPSBvcmcuZnJlZWRlc2t0b3AuSUJ1cy5zZXNzaW9uLkdOT01FLnNlcnZp Y2UuaW4KLStzeXN0ZW1kc2VydmljZV9EQVRBID0gJChzeXN0ZW1kc2VydmljZV9pbl9maWxlczou c2VydmljZS5pbj0uc2VydmljZSkKLStzeXN0ZW1kc2VydmljZWRpcj0kKFNZU1RFTURfVVNFUl9V TklUX0RJUikKLSsKLStvcmcuZnJlZWRlc2t0b3AuSUJ1cy5zZXNzaW9uLkdOT01FLnNlcnZpY2U6 IG9yZy5mcmVlZGVza3RvcC5JQnVzLnNlc3Npb24uR05PTUUuc2VydmljZS5pbgotKwkkKEFNX1Zf R0VOKSBzZWQgLWUgInN8XEBiaW5kaXJcQHwkKGJpbmRpcil8IiAgJDwgPiAkQC50bXAgJiYgbXYg JEAudG1wICRACi0rZW5kaWYKLSsKLSBFWFRSQV9ESVNUID0gICAgICAgICAgICAgICAgICAgIFwK LSsgICAgb3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5HTk9NRS5zZXJ2aWNlLmluIFwKLSAg ICAgZW1vamktcGFyc2VyLmMgICAgICAgICAgICAgIFwKLSAgICAgaWJ1c3ZlcnNpb24uaC5pbiAg ICAgICAgICAgIFwKLSAgICAgaWJ1c21hcnNoYWxlcnMubGlzdCAgICAgICAgIFwKLUBAIC0zOTMs NiArNDA4LDcgQEAgRVhUUkFfRElTVCA9ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICQoTlVM TCkKLSAKLSBDTEVBTkZJTEVTICs9ICAgICAgICAgICAgICAgICAgIFwKLSsgICAgJChzeXN0ZW1k c2VydmljZV9EQVRBKSAgICAgIFwKLSAgICAgJChCVUlMVF9TT1VSQ0VTKSAgICAgICAgICAgIFwK LSAgICAgc3RhbXAtaWJ1c21hcnNoYWxlcnMuaCAgICAgIFwKLSAgICAgc3RhbXAtaWJ1c2VudW10 eXBlcy5oICAgICAgIFwKLWRpZmYgLS1naXQgYS9idXMvc2VydmljZXMvb3JnLmZyZWVkZXNrdG9w LklCdXMuc2Vzc2lvbi5HTk9NRS5zZXJ2aWNlLmluIGIvYnVzL3NlcnZpY2VzL29yZy5mcmVlZGVz a3RvcC5JQnVzLnNlc3Npb24uR05PTUUuc2VydmljZS5pbgotbmV3IGZpbGUgbW9kZSAxMDA2NDQK LWluZGV4IDAwMDAwMDAwLi43NjQ0NGRiZAotLS0tIC9kZXYvbnVsbAotKysrIGIvYnVzL3NlcnZp Y2VzL29yZy5mcmVlZGVza3RvcC5JQnVzLnNlc3Npb24uR05PTUUuc2VydmljZS5pbgotQEAgLTAs MCArMSwyOCBAQAotK1tVbml0XQotK0Rlc2NyaXB0aW9uPUlCdXMgRGFlbW9uCi0rQ29sbGVjdE1v ZGU9aW5hY3RpdmUtb3ItZmFpbGVkCi0rCi0rIyBSZXF1aXJlIEdOT01FIHNlc3Npb24gYW5kIHNw ZWNpZnkgc3RhcnR1cCBvcmRlcmluZwotK1JlcXVpc2l0ZT1nbm9tZS1zZXNzaW9uLWluaXRpYWxp emVkLnRhcmdldAotK0FmdGVyPWdub21lLXNlc3Npb24taW5pdGlhbGl6ZWQudGFyZ2V0Ci0rUGFy dE9mPWdub21lLXNlc3Npb24taW5pdGlhbGl6ZWQudGFyZ2V0Ci0rQmVmb3JlPWdub21lLXNlc3Np b24udGFyZ2V0Ci0rCi0rIyBOZWVkcyB0byBydW4gd2hlbiBESVNQTEFZL1dBWUxBTkRfRElTUExB WSBpcyBzZXQKLStBZnRlcj1nbm9tZS1zZXNzaW9uLWluaXRpYWxpemVkLnRhcmdldAotK1BhcnRP Zj1nbm9tZS1zZXNzaW9uLWluaXRpYWxpemVkLnRhcmdldAotKwotKyMgTmV2ZXIgcnVuIGluIEdE TQotK0NvbmZsaWN0cz1nbm9tZS1zZXNzaW9uQGdub21lLWxvZ2luLnRhcmdldAotKwotK1tTZXJ2 aWNlXQotK1R5cGU9ZGJ1cwotKyMgT25seSBwdWxsIC0teGltIGluIFgxMSBzZXNzaW9uLCBpdCBp cyBkb25lIHZpYSBYd2F5bGFuZC1zZXNzaW9uLmQgb24gV2F5bGFuZAotK0V4ZWNTdGFydD1zaCAt YyAnQGJpbmRpckAvaWJ1cy1kYWVtb24gLS1wYW5lbCBkaXNhYmxlICQoW1sgJFhER19TRVNTSU9O X1RZUEUgPT0gIngxMSIgXV0gJiYgZWNobyAiLS14aW0iKScKLStSZXN0YXJ0PW9uLWFibm9ybWFs Ci0rQnVzTmFtZT1vcmcuZnJlZWRlc2t0b3AuSUJ1cwotK1RpbWVvdXRTdG9wU2VjPTUKLStTbGlj ZT1zZXNzaW9uLnNsaWNlCi0rCi0rW0luc3RhbGxdCi0rV2FudGVkQnk9Z25vbWUtc2Vzc2lvbi50 YXJnZXQKLS0tIAotMi4zMy4xCi0KLUZyb20gYjU0MjNmMGNmZjc4ZTYyN2ZlYzEyMzc4YmZjYzcw ZWZhNzllOTM3OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFr YW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMTcgRmViIDIwMjIgMjA6MTU6Mzgg KzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gc3JjL3NlcnZpY2VzOiBBZGQgb3JnLmZyZWVkZXNrdG9w LklCdXMuc2Vzc2lvbi5nZW5lcmljLnNlcnZpY2UKLQotTW92ZSBidXMvKi5zZXJ2aWNlLmluICYg c3JjLyouc2VydmljZS5pbiBpbnRvIGJ1cy9zZXJ2aWNlcwotCi1CVUc9aHR0cHM6Ly9naXRodWIu Y29tL2lidXMvaWJ1cy9wdWxsLzIzODEKLS0tLQotIGJ1cy9NYWtlZmlsZS5hbSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IDE2ICstLS0tCi0gYnVzL3NlcnZpY2VzL01ha2VmaWxlLmFt ICAgICAgICAgICAgICAgICAgICAgIHwgNjggKysrKysrKysrKysrKysrKysrKwotIC4uLi9vcmcu ZnJlZWRlc2t0b3AuSUJ1cy5zZXJ2aWNlLmluICAgICAgICAgICB8ICAwCi0gLi4uLmZyZWVkZXNr dG9wLklCdXMuc2Vzc2lvbi5HTk9NRS5zZXJ2aWNlLmluIHwgIDIgKy0KLSAuLi5yZWVkZXNrdG9w LklCdXMuc2Vzc2lvbi5nZW5lcmljLnNlcnZpY2UuaW4gfCAxNSArKysrCi0gY29uZmlndXJlLmFj ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDggKysrKysrLS0tLS0tLQotIHNy Yy9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE2IC0tLS0tCi0g NyBmaWxlcyBjaGFuZ2VkLCAxMTIgaW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCi0gY3Jl YXRlIG1vZGUgMTAwNjQ0IGJ1cy9zZXJ2aWNlcy9NYWtlZmlsZS5hbQotIGNyZWF0ZSBtb2RlIDEw MDY0NCBidXMvc2VydmljZXMvb3JnLmZyZWVkZXNrdG9wLklCdXMuc2VydmljZS5pbgotIGNyZWF0 ZSBtb2RlIDEwMDY0NCBidXMvc2VydmljZXMvb3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5n ZW5lcmljLnNlcnZpY2UuaW4KLQotZGlmZiAtLWdpdCBhL2J1cy9NYWtlZmlsZS5hbSBiL2J1cy9N YWtlZmlsZS5hbQotaW5kZXggNDM4M2E4NzQuLmUxNzNlZTI1IDEwMDY0NAotLS0tIGEvYnVzL01h a2VmaWxlLmFtCi0rKysgYi9idXMvTWFrZWZpbGUuYW0KLUBAIC0zLDggKzMsOCBAQAotICMgaWJ1 cyAtIFRoZSBJbnB1dCBCdXMKLSAjCi0gIyBDb3B5cmlnaHQgKGMpIDIwMDctMjAxMyBQZW5nIEh1 YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLS0jIENvcHlyaWdodCAoYykgMjAxMy0yMDE4 IFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotLSMgQ29weXJpZ2h0 IChjKSAyMDA3LTIwMTggUmVkIEhhdCwgSW5jLgotKyMgQ29weXJpZ2h0IChjKSAyMDEzLTIwMjIg VGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci0rIyBDb3B5cmlnaHQg KGMpIDIwMDctMjAyMiBSZWQgSGF0LCBJbmMuCi0gIwotICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICMgbW9kaWZ5IGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotQEAgLTIyLDYg KzIyLDcgQEAKLSAjIFVTQQotIAotIE5VTEwgPQotK1NVQkRJUlMgPSAuIHNlcnZpY2VzCi0gCi0g bGliaWJ1cyA9ICQodG9wX2J1aWxkZGlyKS9zcmMvbGliaWJ1cy1ASUJVU19BUElfVkVSU0lPTkAu bGEKLSAKLUBAIC0xOTAsMTUgKzE5MSw0IEBAIG1hbl9vbmVkaXIgPSAkKG1hbmRpcikvbWFuMQot ICUuMS5nejogJS4xCi0gCSQoQU1fVl9HRU4pIGd6aXAgLWMgJDwgPiAkQC50bXAgJiYgbXYgJEAu dG1wICRACi0gCi0tCi0tZGJ1c3NlcnZpY2VfaW5fZmlsZXMgPSBvcmcuZnJlZWRlc2t0b3AuSUJ1 cy5zZXJ2aWNlLmluCi0tZGJ1c3NlcnZpY2VfREFUQSA9ICQoZGJ1c3NlcnZpY2VfaW5fZmlsZXM6 LnNlcnZpY2UuaW49LnNlcnZpY2UpCi0tZGJ1c3NlcnZpY2VkaXI9JHtkYXRhZGlyfS9kYnVzLTEv c2VydmljZXMKLS0KLS1vcmcuZnJlZWRlc2t0b3AuSUJ1cy5zZXJ2aWNlOiBvcmcuZnJlZWRlc2t0 b3AuSUJ1cy5zZXJ2aWNlLmluCi0tCSQoQU1fVl9HRU4pIHNlZCAtZSAic3xcQGJpbmRpclxAfCQo YmluZGlyKXwiIC1lICJzfFxAeGltX2NsaV9hcmdcQHwkKFhJTV9DTElfQVJHKXwiICQ8ID4gJEAu dG1wICYmIG12ICRALnRtcCAkQAotLQotLUVYVFJBX0RJU1QgKz0gJChkYnVzc2VydmljZV9pbl9m aWxlcykKLS1DTEVBTkZJTEVTICs9ICQoZGJ1c3NlcnZpY2VfREFUQSkKLS0KLSAtaW5jbHVkZSAk KHRvcF9zcmNkaXIpL2dpdC5tawotZGlmZiAtLWdpdCBhL2J1cy9zZXJ2aWNlcy9NYWtlZmlsZS5h bSBiL2J1cy9zZXJ2aWNlcy9NYWtlZmlsZS5hbQotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4 IDAwMDAwMDAwLi45Y2M0MjE1MwotLS0tIC9kZXYvbnVsbAotKysrIGIvYnVzL3NlcnZpY2VzL01h a2VmaWxlLmFtCi1AQCAtMCwwICsxLDY4IEBACi0rIyB2aW06c2V0IG5vZXQgdHM9NDoKLSsjCi0r IyBpYnVzIC0gVGhlIElucHV0IEJ1cwotKyMKLSsjIENvcHlyaWdodCAoYykgMjAyMiBUYWthbyBG dWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLSsjIENvcHlyaWdodCAoYykgMjAy MiBSZWQgSGF0LCBJbmMuCi0rIwotKyMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0rIyB2ZXJzaW9uIDIu MSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K LSsjCi0rIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotKyMgTGVzc2VyIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0rIyBMaWNl bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv ZnR3YXJlCi0rIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxCi0rIyBVU0EKLSsKLStOVUxMID0KLSsKLSsjIE9y aWdpbmFsbHkgdGhpcyBELUJ1cyBzZXJ2aWNlIGZpbGUgd2FzIGFkZGVkIGZvciBHTk9NRSBidXQg c2VlbXMgbm90IHRvCi0rIyBiZSB1c2VkIGF0IHByZXNlbnQuCi0rIwotKyMgVE9ETzogQ2hlY2sg aWYgZmxhdHBhY2sgdXNlcyB0aGlzIGZpbGUgYW5kIHdlIGNvdWxkIGRlbGV0ZQotKyMgb3JnLmZy ZWVkZXNrdG9wLklCdXMuc2VydmljZSBmaWxlIGluIHRoZSBmdXR1cmUuCi0rZGJ1c3NlcnZpY2Vf aW5fZmlsZXMgPSBvcmcuZnJlZWRlc2t0b3AuSUJ1cy5zZXJ2aWNlLmluCi0rZGJ1c3NlcnZpY2Vf REFUQSA9ICQoZGJ1c3NlcnZpY2VfaW5fZmlsZXM6LnNlcnZpY2UuaW49LnNlcnZpY2UpCi0rZGJ1 c3NlcnZpY2VkaXI9JHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMKLSsKLStzeXN0ZW1kc2Vydmlj ZV9pbl9maWxlcyA9IFwKLSsgICAgb3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5nZW5lcmlj LnNlcnZpY2UuaW4gXAotKyAgICBvcmcuZnJlZWRlc2t0b3AuSUJ1cy5zZXNzaW9uLkdOT01FLnNl cnZpY2UuaW4gXAotKyAgICAkKE5VTEwpCi0rCi0rJS5zZXJ2aWNlOiAlLnNlcnZpY2UuaW4KLSsJ JChBTV9WX0dFTikgc2VkIC1lICJzfFxAYmluZGlyXEB8JChiaW5kaXIpfCIgXAotKwkgICAgICAg ICAgICAgICAgLWUgInN8XEB4aW1fY2xpX2FyZ1xAfCQoWElNX0NMSV9BUkcpfCIgJDwgPiAkQC50 bXAgJiYgXAotKwkgICAgICAgICAgICBtdiAkQC50bXAgJEAKLSsKLStpZiBFTkFCTEVfU1lTVEVN RAotK3N5c3RlbWRzZXJ2aWNlX0RBVEEgPSAkKHN5c3RlbWRzZXJ2aWNlX2luX2ZpbGVzOi5zZXJ2 aWNlLmluPS5zZXJ2aWNlKQotK3N5c3RlbWRzZXJ2aWNlZGlyID0gJChTWVNURU1EX1VTRVJfVU5J VF9ESVIpCi0rCi0rIyBpbiBpbnN0YWxsLWRhdGEtaG9vay4KLStpbnN0YWxsLWRhdGEtaG9vazoK LSsJJChNS0RJUl9QKSAiJChERVNURElSKSQoU1lTVEVNRF9VU0VSX1VOSVRfRElSKS9nbm9tZS1z ZXNzaW9uLnRhcmdldC53YW50cy8iCi0rCSggXAotKwkJY2QgIiQoREVTVERJUikkKFNZU1RFTURf VVNFUl9VTklUX0RJUikvZ25vbWUtc2Vzc2lvbi50YXJnZXQud2FudHMiIDsgXAotKwkJJChMTl9T KSAtZiAiLi4vb3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5HTk9NRS5zZXJ2aWNlIiAuOyBc Ci0rCSkKLSsJJChOVUxMKQotK2VuZGlmCi0rCi0rRVhUUkFfRElTVCA9ICAgICAgICAgICAgICAg ICAgICBcCi0rICAgICQoZGJ1c3NlcnZpY2VfaW5fZmlsZXMpICAgICBcCi0rICAgICQoc3lzdGVt ZHNlcnZpY2VfaW5fZmlsZXMpICBcCi0rICAgICQoTlVMTCkKLSsKLStDTEVBTkZJTEVTID0gICAg ICAgICAgICAgICAgICAgIFwKLSsgICAgJChkYnVzc2VydmljZV9EQVRBKSAgICAgICAgIFwKLSsg ICAgJChzeXN0ZW1kc2VydmljZV9EQVRBKSAgICAgIFwKLSsgICAgJChOVUxMKQotKwotKy1pbmNs dWRlICQodG9wX3NyY2RpcikvZ2l0Lm1rCi1kaWZmIC0tZ2l0IGEvYnVzL29yZy5mcmVlZGVza3Rv cC5JQnVzLnNlcnZpY2UuaW4gYi9idXMvc2VydmljZXMvb3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vy dmljZS5pbgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwLi45ZDQ5MzE1OQot LS0tIC9kZXYvbnVsbAotKysrIGIvYnVzL3NlcnZpY2VzL29yZy5mcmVlZGVza3RvcC5JQnVzLnNl cnZpY2UuaW4KLUBAIC0wLDAgKzEsMyBAQAotK1tELUJVUyBTZXJ2aWNlXQotK05hbWU9b3JnLmZy ZWVkZXNrdG9wLklCdXMKLStFeGVjPUBiaW5kaXJAL2lidXMtZGFlbW9uIC0tcmVwbGFjZSAtLXBh bmVsIGRpc2FibGUgQHhpbV9jbGlfYXJnQAotZGlmZiAtLWdpdCBhL2J1cy9zZXJ2aWNlcy9vcmcu ZnJlZWRlc2t0b3AuSUJ1cy5zZXNzaW9uLkdOT01FLnNlcnZpY2UuaW4gYi9idXMvc2VydmljZXMv b3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5HTk9NRS5zZXJ2aWNlLmluCi1pbmRleCA3NjQ0 NGRiZC4uYTk5MzcwZmEgMTAwNjQ0Ci0tLS0gYS9idXMvc2VydmljZXMvb3JnLmZyZWVkZXNrdG9w LklCdXMuc2Vzc2lvbi5HTk9NRS5zZXJ2aWNlLmluCi0rKysgYi9idXMvc2VydmljZXMvb3JnLmZy ZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5HTk9NRS5zZXJ2aWNlLmluCi1AQCAtMSw1ICsxLDUgQEAK LSBbVW5pdF0KLS1EZXNjcmlwdGlvbj1JQnVzIERhZW1vbgotK0Rlc2NyaXB0aW9uPUlCdXMgRGFl bW9uIGZvciBHTk9NRQotIENvbGxlY3RNb2RlPWluYWN0aXZlLW9yLWZhaWxlZAotIAotICMgUmVx dWlyZSBHTk9NRSBzZXNzaW9uIGFuZCBzcGVjaWZ5IHN0YXJ0dXAgb3JkZXJpbmcKLWRpZmYgLS1n aXQgYS9idXMvc2VydmljZXMvb3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5nZW5lcmljLnNl cnZpY2UuaW4gYi9idXMvc2VydmljZXMvb3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5nZW5l cmljLnNlcnZpY2UuaW4KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMC4uOWQ0 OTMxNTkKLS0tLSAvZGV2L251bGwKLSsrKyBiL2J1cy9zZXJ2aWNlcy9vcmcuZnJlZWRlc2t0b3Au SUJ1cy5zZXNzaW9uLmdlbmVyaWMuc2VydmljZS5pbgotQEAgLTAsMCArMSwxNSBAQAotK1tVbml0 XQotK0Rlc2NyaXB0aW9uPUlCdXMgRGFlbW9uIGZvciBnZW5lcmljIHNlc3Npb25zCi0rQ29sbGVj dE1vZGU9aW5hY3RpdmUtb3ItZmFpbGVkCi0rCi0rIyBOZXZlciBydW4gaW4gR05PTUUKLStDb25m bGljdHM9Z25vbWUtc2Vzc2lvbi1pbml0aWFsaXplZC50YXJnZXQKLSsKLStbU2VydmljZV0KLStU eXBlPWRidXMKLSsjIE9ubHkgcHVsbCAtLXhpbSBpbiBYMTEgc2Vzc2lvbiwgaXQgaXMgZG9uZSB2 aWEgWHdheWxhbmQtc2Vzc2lvbi5kIG9uIFdheWxhbmQKLStFeGVjU3RhcnQ9c2ggLWMgJ0BiaW5k aXJAL2lidXMtZGFlbW9uICRJQlVTX0RBRU1PTl9BUkdTJwotK1Jlc3RhcnQ9b24tYWJub3JtYWwK LStCdXNOYW1lPW9yZy5mcmVlZGVza3RvcC5JQnVzCi0rVGltZW91dFN0b3BTZWM9NQotK1NsaWNl PXNlc3Npb24uc2xpY2UKLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMK LWluZGV4IDczYzVlNDI5Li40MTM3ZTZjYyAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysr IGIvY29uZmlndXJlLmFjCi1AQCAtMyw4ICszLDggQEAKLSAjIGlidXMgLSBUaGUgSW5wdXQgQnVz Ci0gIwotICMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTYgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFu Z0BnbWFpbC5jb20+Ci0tIyBDb3B5cmlnaHQgKGMpIDIwMTUtMjAyMSBUYWthbyBGdWppd2FyYSA8 dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLS0jIENvcHlyaWdodCAoYykgMjAwNy0yMDIxIFJl ZCBIYXQsIEluYy4KLSsjIENvcHlyaWdodCAoYykgMjAxNS0yMDIyIFRha2FvIEZ1aml3YXJhIDx0 YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotKyMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMjIgUmVk IEhhdCwgSW5jLgotICMKLSAjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLUBAIC03OTEsMjQgKzc5MSwyMiBAQCBBQ19T VUJTVChYS0JDT05GSUdfQkFTRSkKLSBBQ19TVUJTVChbR0RCVVNfQ09ERUdFTl0sIFtgJFBLR19D T05GSUcgLS12YXJpYWJsZSBnZGJ1c19jb2RlZ2VuIGdpby0yLjBgXSkKLSAKLSAjIE9VVFBVVCBm aWxlcwotLUFDX0NPTkZJR19GSUxFUyhbIHBvL01ha2VmaWxlLmluCi0tTWFrZWZpbGUKLS1pYnVz LTEuMC5wYwotLWlidXMuc3BlYwotK0FDX0NPTkZJR19GSUxFUyhbCi0rcG8vTWFrZWZpbGUuaW4K LStiaW5kaW5ncy9NYWtlZmlsZQotK2JpbmRpbmdzL3B5Z29iamVjdC9NYWtlZmlsZQotK2JpbmRp bmdzL3ZhbGEvTWFrZWZpbGUKLStidXMvTWFrZWZpbGUKLStidXMvc2VydmljZXMvTWFrZWZpbGUK LSBjbGllbnQvTWFrZWZpbGUKLSBjbGllbnQvZ3RrMi9NYWtlZmlsZQotIGNsaWVudC9ndGszL01h a2VmaWxlCi0gY2xpZW50L2d0azQvTWFrZWZpbGUKLSBjbGllbnQveDExL01ha2VmaWxlCi0gY2xp ZW50L3dheWxhbmQvTWFrZWZpbGUKLS1zcmMvTWFrZWZpbGUKLS1zcmMvaWJ1c3ZlcnNpb24uaAot LXNyYy90ZXN0cy9NYWtlZmlsZQotLWJ1cy9NYWtlZmlsZQotLXBvcnRhbC9NYWtlZmlsZQotLWVu Z2luZS9NYWtlZmlsZQotLXV0aWwvTWFrZWZpbGUKLS11dGlsL0lNZGtpdC9NYWtlZmlsZQotK2Nv bmYvTWFrZWZpbGUKLStjb25mL2Rjb25mL01ha2VmaWxlCi0rY29uZi9tZW1jb25mL01ha2VmaWxl Ci0gZGF0YS9NYWtlZmlsZQotIGRhdGEvYW5ub3RhdGlvbnMvTWFrZWZpbGUKLSBkYXRhL2ljb25z L01ha2VmaWxlCi1AQCAtODE5LDIwICs4MTcsMjQgQEAgZG9jcy9NYWtlZmlsZQotIGRvY3MvcmVm ZXJlbmNlL01ha2VmaWxlCi0gZG9jcy9yZWZlcmVuY2UvaWJ1cy9pYnVzLWRvY3Muc2dtbAotIGRv Y3MvcmVmZXJlbmNlL2lidXMvTWFrZWZpbGUKLS1tNC9NYWtlZmlsZQotK2VuZ2luZS9NYWtlZmls ZQotIGlidXMvX2NvbmZpZy5weQotIGlidXMvTWFrZWZpbGUKLSBpYnVzL2ludGVyZmFjZS9NYWtl ZmlsZQotLXVpL01ha2VmaWxlCi0tdWkvZ3RrMy9NYWtlZmlsZQotK200L01ha2VmaWxlCi0rcG9y dGFsL01ha2VmaWxlCi0gc2V0dXAvTWFrZWZpbGUKLS1iaW5kaW5ncy9NYWtlZmlsZQotLWJpbmRp bmdzL3B5Z29iamVjdC9NYWtlZmlsZQotLWJpbmRpbmdzL3ZhbGEvTWFrZWZpbGUKLS1jb25mL01h a2VmaWxlCi0tY29uZi9kY29uZi9NYWtlZmlsZQotLWNvbmYvbWVtY29uZi9NYWtlZmlsZQotK3Ny Yy9NYWtlZmlsZQotK3NyYy9pYnVzdmVyc2lvbi5oCi0rc3JjL3Rlc3RzL01ha2VmaWxlCi0gdG9v bHMvTWFrZWZpbGUKLSt1aS9NYWtlZmlsZQotK3VpL2d0azMvTWFrZWZpbGUKLSt1dGlsL01ha2Vm aWxlCi0rdXRpbC9JTWRraXQvTWFrZWZpbGUKLStNYWtlZmlsZQotK2lidXMtMS4wLnBjCi0raWJ1 cy5zcGVjCi0gXSkKLSAKLSBBQ19PVVRQVVQKLWRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUuYW0g Yi9zcmMvTWFrZWZpbGUuYW0KLWluZGV4IGJiYWE2YzkwLi41Nzg2OTRiNSAxMDA2NDQKLS0tLSBh L3NyYy9NYWtlZmlsZS5hbQotKysrIGIvc3JjL01ha2VmaWxlLmFtCi1AQCAtMzE3LDExICszMTcs NiBAQCBpbnN0YWxsLWRhdGEtaG9vazoKLSAJICAgICAgICBybSAiJChERVNURElSKSQoZGljdGRp cikvJCRmaWxlIiB8fCBleGl0ICQkPzsgXAotIAkgICAgZmk7IFwKLSAJZG9uZQotLQkkKE1LRElS X1ApICIkKERFU1RESVIpJChTWVNURU1EX1VTRVJfVU5JVF9ESVIpL2dub21lLXNlc3Npb24udGFy Z2V0LndhbnRzLyIKLS0JKCBcCi0tCQljZCAiJChERVNURElSKSQoU1lTVEVNRF9VU0VSX1VOSVRf RElSKS9nbm9tZS1zZXNzaW9uLnRhcmdldC53YW50cyIgOyBcCi0tCQkkKExOX1MpIC1mICIuLi9v cmcuZnJlZWRlc2t0b3AuSUJ1cy5zZXNzaW9uLkdOT01FLnNlcnZpY2UiIC47IFwKLS0JKQotIAot IGVtb2ppX3BhcnNlcl9TT1VSQ0VTID0gICAgICAgICAgXAotICAgICBlbW9qaS1wYXJzZXIuYyAg ICAgICAgICAgICAgXAotQEAgLTM4OCwxNyArMzgzLDcgQEAgY2xlYW4tbG9jYWw6Ci0gCSQoTlVM TCkKLSBlbmRpZgotIAotLWlmIEVOQUJMRV9TWVNURU1ECi0tc3lzdGVtZHNlcnZpY2VfaW5fZmls ZXMgPSBvcmcuZnJlZWRlc2t0b3AuSUJ1cy5zZXNzaW9uLkdOT01FLnNlcnZpY2UuaW4KLS1zeXN0 ZW1kc2VydmljZV9EQVRBID0gJChzeXN0ZW1kc2VydmljZV9pbl9maWxlczouc2VydmljZS5pbj0u c2VydmljZSkKLS1zeXN0ZW1kc2VydmljZWRpcj0kKFNZU1RFTURfVVNFUl9VTklUX0RJUikKLS0K LS1vcmcuZnJlZWRlc2t0b3AuSUJ1cy5zZXNzaW9uLkdOT01FLnNlcnZpY2U6IG9yZy5mcmVlZGVz a3RvcC5JQnVzLnNlc3Npb24uR05PTUUuc2VydmljZS5pbgotLQkkKEFNX1ZfR0VOKSBzZWQgLWUg InN8XEBiaW5kaXJcQHwkKGJpbmRpcil8IiAgJDwgPiAkQC50bXAgJiYgbXYgJEAudG1wICRACi0t ZW5kaWYKLS0KLSBFWFRSQV9ESVNUID0gICAgICAgICAgICAgICAgICAgIFwKLS0gICAgb3JnLmZy ZWVkZXNrdG9wLklCdXMuc2Vzc2lvbi5HTk9NRS5zZXJ2aWNlLmluIFwKLSAgICAgZW1vamktcGFy c2VyLmMgICAgICAgICAgICAgIFwKLSAgICAgaWJ1c3ZlcnNpb24uaC5pbiAgICAgICAgICAgIFwK LSAgICAgaWJ1c21hcnNoYWxlcnMubGlzdCAgICAgICAgIFwKLUBAIC00MDgsNyArMzkzLDYgQEAg RVhUUkFfRElTVCA9ICAgICAgICAgICAgICAgICAgICBcCi0gICAgICQoTlVMTCkKLSAKLSBDTEVB TkZJTEVTICs9ICAgICAgICAgICAgICAgICAgIFwKLS0gICAgJChzeXN0ZW1kc2VydmljZV9EQVRB KSAgICAgIFwKLSAgICAgJChCVUlMVF9TT1VSQ0VTKSAgICAgICAgICAgIFwKLSAgICAgc3RhbXAt aWJ1c21hcnNoYWxlcnMuaCAgICAgIFwKLSAgICAgc3RhbXAtaWJ1c2VudW10eXBlcy5oICAgICAg IFwKLS0tIAotMi4zMy4xCi0KLUZyb20gNWNmZTgzODcxNTA5N2Q2MWI1MGRhNTVmODBiY2ZmMmM2 OThjYTg4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5nd29vIFJ5dSA8Y3dy eXVAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgMTggRmViIDIwMjIgMDk6MDc6MDIgKzA5MDAKLVN1 YmplY3Q6IFtQQVRDSF0gY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dDogRml4IGZvcndhcmQga2V5 IGtleWNvZGUgZm9yIEdUSzQKLQotV2hlbiBhIGtleWNvZGUgaXMgcHJvdmlkZWQgKCE9IDApIGZv ciBhIGZvcndhcmRlZCBrZXkgZXZlbnQsIGNvbnZlcnQgaXQgdG8gYQotR1RLIGtleWNvZGUgYmVm b3JlIHBhc3NpbmcgaXQgdG8gZ3RrX2ltX2NvbnRleHRfZmlsdGVyX2tleSgpLgotCi1BbHNvIGZy ZWUgR2RrS2V5bWFwS2V5IGFmdGVyIGdka19kaXNwbGF5X21hcF9rZXl2YWwoKSBpcyBjYWxsZWQu Ci0KLUJVRz1odHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lzc3Vlcy8yMzgwCi1CVUc9aHR0 cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9pc3N1ZXMvMjM4MgotLS0tCi0gY2xpZW50L2d0azIv aWJ1c2ltY29udGV4dC5jIHwgNSArKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NsaWVudC9ndGsyL2lidXNpbWNvbnRl eHQuYyBiL2NsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYwotaW5kZXggYzJkZjNhODcuLmE1ZTVl NzkyIDEwMDY0NAotLS0tIGEvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCi0rKysgYi9jbGll bnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMKLUBAIC0xOTQ1LDcgKzE5NDUsOSBAQCBfaWJ1c19jb250 ZXh0X2ZvcndhcmRfa2V5X2V2ZW50X2NiIChJQnVzSW5wdXRDb250ZXh0ICAqaWJ1c2NvbnRleHQs Ci0gI2lmIEdUS19DSEVDS19WRVJTSU9OICgzLCA5OCwgNCkKLSAgICAgaW50IGdyb3VwID0gMDsK LSAgICAgZ19yZXR1cm5faWZfZmFpbCAoR1RLX0lTX0lNX0NPTlRFWFQgKGlidXNpbWNvbnRleHQp KTsKLS0gICAgaWYgKGtleWNvZGUgPT0gMCAmJiBpYnVzaW1jb250ZXh0LT5jbGllbnRfd2luZG93 KSB7Ci0rICAgIGlmIChrZXljb2RlICE9IDApIHsKLSsgICAgICAgIGtleWNvZGUgKz0gODsgLy8g dG8gR1RLIGtleWNvZGUKLSsgICAgfSBlbHNlIGlmIChpYnVzaW1jb250ZXh0LT5jbGllbnRfd2lu ZG93KSB7Ci0gICAgICAgICBHZGtEaXNwbGF5ICpkaXNwbGF5ID0KLSAgICAgICAgICAgICAgICAg Z3RrX3dpZGdldF9nZXRfZGlzcGxheSAoaWJ1c2ltY29udGV4dC0+Y2xpZW50X3dpbmRvdyk7Ci0g ICAgICAgICBHZGtLZXltYXBLZXkgKmtleXMgPSBOVUxMOwotQEAgLTE5NTMsNiArMTk1NSw3IEBA IF9pYnVzX2NvbnRleHRfZm9yd2FyZF9rZXlfZXZlbnRfY2IgKElCdXNJbnB1dENvbnRleHQgICpp YnVzY29udGV4dCwKLSAgICAgICAgIGlmIChnZGtfZGlzcGxheV9tYXBfa2V5dmFsIChkaXNwbGF5 LCBrZXl2YWwsICZrZXlzLCAmbl9rZXlzKSkgewotICAgICAgICAgICAgIGtleWNvZGUgPSBrZXlz LT5rZXljb2RlOwotICAgICAgICAgICAgIGdyb3VwID0ga2V5cy0+Z3JvdXA7Ci0rICAgICAgICAg ICAgZ19mcmVlIChrZXlzKTsKLSAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgZ193YXJu aW5nICgiRmFpbGVkIHRvIHBhcnNlIGtleWNvZGUgZnJvbSBrZXl2YWwgJXgiLCBrZXl2YWwpOwot ICAgICAgICAgfQotLS0gCi0yLjMzLjEKLQotRnJvbSBhODJiZGE1OGE0NTQ3MGM0YmUwZjNkYjIx ZWFkZGM3M2EyMzA4MDdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogZnVqaXdhcmF0 IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxOCBGZWIgMjAyMiAxMjow NDowOSArMDkwMAotU3ViamVjdDogW1BBVENIXSBzcmMvdGVzdHM6IEZpeCB0eXBvcwotCi0tIHRl c3RfbWV0YXNfaW4gbG9jYXRpb24KLS0gQ2hlY2sgaWJ1cyBwcm9jZXNzZXMgaW4gQ0kKLS0gRml4 IGxpYmV4ZWMgcGF0aAotLS0tCi0gc3JjL3Rlc3RzL01ha2VmaWxlLmFtICAgICAgICAgICAgICAg ICAgICAgfCA4ICsrKystLS0tCi0gc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLWF1dG9z dGFydCAgfCAyICsrCi0gc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLmRlc2t0b3AuaW4g fCAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0p Ci0KLWRpZmYgLS1naXQgYS9zcmMvdGVzdHMvTWFrZWZpbGUuYW0gYi9zcmMvdGVzdHMvTWFrZWZp bGUuYW0KLWluZGV4IDdkMDBmMjM2Li5mOTMyZjE4ZiAxMDA2NDQKLS0tLSBhL3NyYy90ZXN0cy9N YWtlZmlsZS5hbQotKysrIGIvc3JjL3Rlc3RzL01ha2VmaWxlLmFtCi1AQCAtMyw3ICszLDcgQEAK LSAjIGlidXMgLSBUaGUgSW5wdXQgQnVzCi0gIwotICMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTUg UGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0tIyBDb3B5cmlnaHQgKGMpIDIw MTUtMjAyMSBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLSsjIENv cHlyaWdodCAoYykgMjAxNS0yMDIyIFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21h aWwuY29tPgotICMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTggUmVkIEhhdCwgSW5jLgotICMKLSAj IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKLUBAIC0xMTcsMTEgKzExNywxMSBAQCBvcmcuZnJlZWRlc2t0b3AuSUJ1cy5EZXNrdG9w LlRlc3RpbmcuZGVza3RvcDogaWJ1cy1kZXNrdG9wLXRlc3RpbmcuZGVza3RvcC5pbgotIAltdiAk QC50bXAgJEAKLSBlbmRpZgotIAotLSQodGVzdF9tZXRhcyk6ICQodGVzdF9tZXRhc19pbikgJCh0 ZXN0X3Byb2dyYW1zKQotKyQodGVzdF9tZXRhcyk6ICQodGVzdF9tZXRhc19pbikKLSAJZj1gZWNo byAkQCB8IHNlZCAtZSAncy9cLnRlc3QvLydgOyBcCi0gCVRFU1RfRVhFQz0kKHRlc3RfZXhlY3Nk aXIpLyQkZjsgXAotLQlzZWQgLWUgInN8QFRFU1RfRVhFQ1tAXXwkJFRFU1RfRVhFQ3xnIiAkKHRl c3RfbWV0YXNfaW4pID4gJEAudG1wOyBcCi0tCW12ICRALnRtcCAkQDsgXAotKwlzZWQgLWUgInN8 QFRFU1RfRVhFQ1tAXXwkJFRFU1RfRVhFQ3xnIiAkKHNyY2RpcikvJCh0ZXN0X21ldGFzX2luKSBc Ci0rCSAgICA+ICRALnRtcCAmJiBtdiAkQC50bXAgJEA7IFwKLSAJJChOVUxMKQotIAotIGlidXMt Y29tcG9zZS1sb2NhbGVzOiBpYnVzLWNvbXBvc2UtbG9jYWxlcy5pbgotZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0cy9pYnVzLWRlc2t0b3AtdGVzdGluZy1hdXRvc3RhcnQgYi9zcmMvdGVzdHMvaWJ1cy1k ZXNrdG9wLXRlc3RpbmctYXV0b3N0YXJ0Ci1pbmRleCBkYTIyYjY0ZS4uMWUxZWIxODAgMTAwNzU1 Ci0tLS0gYS9zcmMvdGVzdHMvaWJ1cy1kZXNrdG9wLXRlc3RpbmctYXV0b3N0YXJ0Ci0rKysgYi9z cmMvdGVzdHMvaWJ1cy1kZXNrdG9wLXRlc3RpbmctYXV0b3N0YXJ0Ci1AQCAtMjksNiArMjksOCBA QCBwd2QKLSBwc3RyZWUgLWFzcCAkJAotIGdzZXR0aW5ncyBsaXN0LXJlY3Vyc2l2ZWx5IG9yZy5n bm9tZS5zaGVsbAotIHJwbSAtcSBnbm9tZS1zaGVsbC1leHRlbnNpb24tbm8tb3ZlcnZpZXcgZ25v bWUtc2hlbGwgZ25vbWUtc2Vzc2lvbgotK3BzIC1lZiB8IGdyZXAgaWJ1cyB8IGdyZXAgLXYgZ3Jl cAotK2lidXMgYWRkcmVzcwotICcKLSAKLSBpZiBbICQjIC1ndCAwIF0gOyB0aGVuCi1kaWZmIC0t Z2l0IGEvc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLmRlc2t0b3AuaW4gYi9zcmMvdGVz dHMvaWJ1cy1kZXNrdG9wLXRlc3RpbmcuZGVza3RvcC5pbgotaW5kZXggZmEwYzliNDAuLjFiODE1 MzQ1IDEwMDY0NAotLS0tIGEvc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLmRlc2t0b3Au aW4KLSsrKyBiL3NyYy90ZXN0cy9pYnVzLWRlc2t0b3AtdGVzdGluZy5kZXNrdG9wLmluCi1AQCAt Miw3ICsyLDcgQEAKLSBOYW1lPUlCdXMgRGVza3RvcCBUZXN0aW5nIFJ1bm5lcgotIEdlbmVyaWNO YW1lPUlucHV0IE1ldGhvZCBEZXNrdG9wIFRlc3RpbmcgUnVubmVyCi0gQ29tbWVudD1UZXN0IHBs dWdpbiBmb3IgSUJ1cyBEZXNrdG9wIFRlc3RpbmcKLS1FeGVjPUBpYmV4ZWNkaXJAL2lidXMtZGVz a3RvcC10ZXN0aW5nLWF1dG9zdGFydCAvdmFyL3RtcC9pYnVzLWNpLWF1dG9zdGFydC5sb2cKLStF eGVjPUBsaWJleGVjZGlyQC9pYnVzLWRlc2t0b3AtdGVzdGluZy1hdXRvc3RhcnQgL3Zhci90bXAv aWJ1cy1jaS1hdXRvc3RhcnQubG9nCi0gVGVybWluYWw9ZmFsc2UKLSBUeXBlPUFwcGxpY2F0aW9u Ci0gRW5jb2Rpbmc9VVRGLTgKLS0tIAotMi4zMy4xCi0KLUZyb20gMTkzNzdhZDIyZDgxNDVlYTQz MWU1ZGU1MWYwNDcwNjFjOThmOGQyMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1 aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMSBNYXIgMjAy MiAxODoyNjoyMSArMDkwMAotU3ViamVjdDogW1BBVENIXSBzcmMvaWJ1c2NvbXBvc2U6IENoZWNr IGFsZ29yaXRobSBkZWFkIGtleSBieSA5IGxlbmd0aAotCi1UaGlzIGNoYW5nZSBmaXhlcyB0aGUg RC1CdXMgdGltZW91dCBieSBhIGxvbmcgY29tcG9zZSBwcmVlZGl0IHRleHQuCi1jaGVja19ub3Jt YWxpemVfbmZjKCkgY2FsY3VsYXRlcyB0aGUgZmFjdG9yaWNhbCBvZiB0aGUgY29tcHNlIHByZWVk aXQKLWxlbmd0aCBhbmQgYXNzaWduZSB0aGUgdmFsdWUgdG8gYW4gSU5UIHZhcmlhYmxlIGFuZCBp dCBjb3VsZCBleGNjZWVkCi10aGUgTUFYX0lOVC4KLVByb2JhYmx5IEkgdGhpbmsgdGhlIGxlbmd0 aCBvZiB0aGUgY29tcG9zZSBhbGdvcml6aG0gZGVhZCBrZXkgd291bGQgYmUKLWVub3VnaCA5LiBJ LmUuIDkhID09IDQ2MzIwIDw9IFNIUlRfTUFYID09IDMyNzY3Ci0KLUJVRz1odHRwczovL2dpdGh1 Yi5jb20vaWJ1cy9pYnVzL2lzc3Vlcy8yMzg1Ci0tLS0KLSBzcmMvaWJ1c2NvbXBvc2V0YWJsZS5j IHwgMzUgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdl ZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMv aWJ1c2NvbXBvc2V0YWJsZS5jIGIvc3JjL2lidXNjb21wb3NldGFibGUuYwotaW5kZXggMjUwZTAx MzkuLjM4N2EyNGE4IDEwMDY0NAotLS0tIGEvc3JjL2lidXNjb21wb3NldGFibGUuYwotKysrIGIv c3JjL2lidXNjb21wb3NldGFibGUuYwotQEAgLTEsNyArMSw3IEBACi0gLyogLSotIG1vZGU6IEM7 IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7IC0qLSAqLwotIC8qIGli dXMgLSBUaGUgSW5wdXQgQnVzCi0gICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTQgUGVuZyBIdWFu ZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0tICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMjEg VGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci0rICogQ29weXJpZ2h0 IChDKSAyMDEzLTIwMjIgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+ Ci0gICoKLSAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCi0gICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IExlc3NlciBHZW5lcmFsIFB1YmxpYwotQEAgLTQ2LDYgKzQ2LDcgQEAKLSAjZGVmaW5lIElCVVNf Q09NUE9TRV9UQUJMRV9NQUdJQyAiSUJ1c0NvbXBvc2VUYWJsZSIKLSAjZGVmaW5lIElCVVNfQ09N UE9TRV9UQUJMRV9WRVJTSU9OICg0KQotICNkZWZpbmUgWDExX0RBVEFESVIgWDExX0RBVEFfUFJF RklYICIvc2hhcmUvWDExL2xvY2FsZSIKLSsjZGVmaW5lIElCVVNfTUFYX0NPTVBPU0VfQUxHT1JJ VEhNX0xFTiA5Ci0gCi0gdHlwZWRlZiBzdHJ1Y3QgewotICAgZ3VuaWNoYXIgICAgICpzZXF1ZW5j ZTsKLUBAIC0xNjU5LDcgKzE2NjAsNyBAQCBpYnVzX2NvbXBvc2VfdGFibGVfY29tcGFjdF9jaGVj ayAoY29uc3QgSUJ1c0NvbXBvc2VUYWJsZUNvbXBhY3RFeAotIHN0YXRpYyBnYm9vbGVhbgotIGNo ZWNrX25vcm1hbGl6ZV9uZmMgKGd1bmljaGFyKiBjb21iaW5hdGlvbl9idWZmZXIsIGludCBuX2Nv bXBvc2UpCi0gewotLSAgICBndW5pY2hhciBjb21iaW5hdGlvbl9idWZmZXJfdGVtcFtJQlVTX01B WF9DT01QT1NFX0xFTl07Ci0rICAgIGd1bmljaGFyIGNvbWJpbmF0aW9uX2J1ZmZlcl90ZW1wW0lC VVNfTUFYX0NPTVBPU0VfQUxHT1JJVEhNX0xFTiArIDFdOwotICAgICBjaGFyICpjb21iaW5hdGlv bl91dGY4X3RlbXAgPSBOVUxMOwotICAgICBjaGFyICpuZmNfdGVtcCA9IE5VTEw7Ci0gICAgIGlu dCBuX2NvbWJpbmF0aW9uczsKLUBAIC0xNjgyLDcgKzE2ODMsNyBAQCBjaGVja19ub3JtYWxpemVf bmZjIChndW5pY2hhciogY29tYmluYXRpb25fYnVmZmVyLCBpbnQgbl9jb21wb3NlKQotIAotICAg ICBtZW1jcHkgKGNvbWJpbmF0aW9uX2J1ZmZlcl90ZW1wLAotICAgICAgICAgICAgIGNvbWJpbmF0 aW9uX2J1ZmZlciwKLS0gICAgICAgICAgICBJQlVTX01BWF9DT01QT1NFX0xFTiAqIHNpemVvZiAo Z3VuaWNoYXIpICk7Ci0rICAgICAgICAgICAgSUJVU19NQVhfQ09NUE9TRV9BTEdPUklUSE1fTEVO ICogc2l6ZW9mIChndW5pY2hhcikgKTsKLSAKLSAgICAgZm9yIChpID0gMDsgaSA8IG5fY29tYmlu YXRpb25zOyBpKysgKSB7Ci0gICAgICAgICBnX3VuaWNvZGVfY2Fub25pY2FsX29yZGVyaW5nIChj b21iaW5hdGlvbl9idWZmZXJfdGVtcCwgbl9jb21wb3NlKTsKLUBAIC0xNjk0LDcgKzE2OTUsNyBA QCBjaGVja19ub3JtYWxpemVfbmZjIChndW5pY2hhciogY29tYmluYXRpb25fYnVmZmVyLCBpbnQg bl9jb21wb3NlKQotICAgICAgICAgaWYgKGdfdXRmOF9zdHJsZW4gKG5mY190ZW1wLCAtMSkgPT0g MSkgewotICAgICAgICAgICAgIG1lbWNweSAoY29tYmluYXRpb25fYnVmZmVyLAotICAgICAgICAg ICAgICAgICAgICAgY29tYmluYXRpb25fYnVmZmVyX3RlbXAsCi0tICAgICAgICAgICAgICAgICAg ICBJQlVTX01BWF9DT01QT1NFX0xFTiAqIHNpemVvZiAoZ3VuaWNoYXIpICk7Ci0rICAgICAgICAg ICAgICAgICAgICBJQlVTX01BWF9DT01QT1NFX0FMR09SSVRITV9MRU4gKiBzaXplb2YgKGd1bmlj aGFyKSApOwotIAotICAgICAgICAgICAgIGdfZnJlZSAoY29tYmluYXRpb25fdXRmOF90ZW1wKTsK LSAgICAgICAgICAgICBnX2ZyZWUgKG5mY190ZW1wKTsKLUBAIC0xNzA4LDE0ICsxNzA5LDE0IEBA IGNoZWNrX25vcm1hbGl6ZV9uZmMgKGd1bmljaGFyKiBjb21iaW5hdGlvbl9idWZmZXIsIGludCBu X2NvbXBvc2UpCi0gICAgICAgICBpZiAobl9jb21wb3NlID4gMikgewotICAgICAgICAgICAgIGlu dCBqID0gaSAlIChuX2NvbXBvc2UgLSAxKSArIDE7Ci0gICAgICAgICAgICAgaW50IGsgPSAoaSsx KSAlIChuX2NvbXBvc2UgLSAxKSArIDE7Ci0tICAgICAgICAgICAgaWYgKGogPj0gSUJVU19NQVhf Q09NUE9TRV9MRU4pIHsKLS0gICAgICAgICAgICAgICAgZ193YXJuaW5nICgiaiA+PSBJQlVTX01B WF9DT01QT1NFX0xFTiBmb3IgIiBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbWJp bmF0aW9uX2J1ZmZlcl90ZW1wIik7Ci0rICAgICAgICAgICAgaWYgKGogPj0gSUJVU19NQVhfQ09N UE9TRV9BTEdPUklUSE1fTEVOKSB7Ci0rICAgICAgICAgICAgICAgIGdfd2FybmluZyAoImogPj0g JWQgZm9yIGNvbWJpbmF0aW9uX2J1ZmZlcl90ZW1wIiwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICBJQlVTX01BWF9DT01QT1NFX0FMR09SSVRITV9MRU4pOwotICAgICAgICAgICAgICAgICBi cmVhazsKLSAgICAgICAgICAgICB9Ci0tICAgICAgICAgICAgaWYgKGsgPj0gSUJVU19NQVhfQ09N UE9TRV9MRU4pIHsKLS0gICAgICAgICAgICAgICAgZ193YXJuaW5nICgiayA+PSBJQlVTX01BWF9D T01QT1NFX0xFTiBmb3IgIiBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbWJpbmF0 aW9uX2J1ZmZlcl90ZW1wIik7Ci0rICAgICAgICAgICAgaWYgKGsgPj0gSUJVU19NQVhfQ09NUE9T RV9BTEdPUklUSE1fTEVOKSB7Ci0rICAgICAgICAgICAgICAgIGdfd2FybmluZyAoImsgPj0gJWQg Zm9yIGNvbWJpbmF0aW9uX2J1ZmZlcl90ZW1wIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICBJQlVTX01BWF9DT01QT1NFX0FMR09SSVRITV9MRU4pOwotICAgICAgICAgICAgICAgICBicmVh azsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgdGVtcF9zd2FwID0gY29tYmluYXRpb25f YnVmZmVyX3RlbXBbal07Ci1AQCAtMTczNywxMyArMTczOCwyMyBAQCBpYnVzX2NoZWNrX2FsZ29y aXRobWljYWxseSAoY29uc3QgZ3VpbnQxNiAqY29tcG9zZV9idWZmZXIsCi0gCi0gewotICAgICBp bnQgaTsKLS0gICAgZ3VuaWNoYXIgY29tYmluYXRpb25fYnVmZmVyW0lCVVNfTUFYX0NPTVBPU0Vf TEVOXTsKLSsgICAgZ3VuaWNoYXIgY29tYmluYXRpb25fYnVmZmVyW0lCVVNfTUFYX0NPTVBPU0Vf QUxHT1JJVEhNX0xFTiArIDFdOwotICAgICBjaGFyICpjb21iaW5hdGlvbl91dGY4LCAqbmZjOwot IAotICAgICBpZiAob3V0cHV0X2NoYXIpCi0gICAgICAgICAqb3V0cHV0X2NoYXIgPSAwOwotIAot LSAgICBpZiAobl9jb21wb3NlID49IElCVVNfTUFYX0NPTVBPU0VfTEVOKQotKyAgICAvKiBDaGVj ayB0aGUgSUJVU19NQVhfQ09NUE9TRV9BTEdPUklUSE1fTEVOIGxlbmd0aCBvbmx5IGhlcmUgaW5z dGVhZCBvZgotKyAgICAgKiBJQlVTX01BWF9DT01QT1NFX0xFTiBsZW5ndGguCi0rICAgICAqIEJl Y2F1c2UgdGhpcyBBUEkgY2FsbHMgY2hlY2tfbm9ybWFsaXplX25mYygpIHdoaWNoIGNhbGN1bGF0 ZXMgdGhlIGZhY3RvcmlhbAotKyAgICAgKiBvZiBgbl9jb21wb3NlYCBhbmQgYXNzaWducyB0aGUg dmFsdWUgdG8gYG5fY29tYmluYXRpb25zYC4KLSsgICAgICogSS5lLiA5ISA9PSA0MDMyMCA8PSBT SFJUX01BWCA9PSAzMjc2NwotKyAgICAgKiBUaGUgZmFjdG9yaWFsIG9mIGV4Y2VlZGluZyBJTlRf TUFYIHNwZW5kcyBhIGxvbmcgdGltZSBpbiBjaGVja19ub3JtYWxpemVfbmZjKCkKLSsgICAgICog YW5kIGNhdXNlcyBhIEQtQnVzIHRpbWVvdXQgYmV0d2VlbiBHVEsgY2xpZW50cyBhbmQgSUJ1c0Vu Z2luZVNpbXBsZS4KLSsgICAgICogQ3VycmVubHR5IElCVVNfTUFYX0NPTVBPU0VfTEVOIGlzIG11 Y2ggbGFyZ2VyIGFuZCBzdXBwb3J0cyB0aGUgbG9uZyBjb21wb3NlCi0rICAgICAqIHNlcXVlbmNl IGhvd2V2ZXIgdGhlIG1heCA5IHdvdWxkIGJlIGVub3VnaCBmb3IgdGhpcyBtZWNoYW5pY2FsIGNv bXBvc2UuCi0rICAgICAqLwotKyAgICBpZiAobl9jb21wb3NlID4gSUJVU19NQVhfQ09NUE9TRV9B TEdPUklUSE1fTEVOKQotICAgICAgICAgcmV0dXJuIEZBTFNFOwotIAotICAgICBmb3IgKGkgPSAw OyBpIDwgbl9jb21wb3NlICYmIElTX0RFQURfS0VZIChjb21wb3NlX2J1ZmZlcltpXSk7IGkrKykK LS0tIAotMi4zNC4xCi0KLUZyb20gZGY2NjRiMWYxOGE5YzYzMGNjZDg4NGY4ZmY2OThhYmY2Y2Ji MTU3OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVq aXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMSBNYXIgMjAyMiAxOToyMzoyNSArMDkwMAot U3ViamVjdDogW1BBVENIXSBzcmMvaWJ1c2VuZ2luZXNpbXBsZTogU3VwcG9ydCBHVEs0IGNvb21w b3NlIGZpbGUKLQotTG9hZCAkWERHX0NPTkZJR19IT01FL2d0ay00LjAvQ29tcG9zZQotLS0tCi0g c3JjL2lidXNlbmdpbmVzaW1wbGUuYyB8IDI3ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQot IDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL3NyYy9pYnVzZW5naW5lc2ltcGxlLmMgYi9zcmMvaWJ1c2VuZ2luZXNpbXBsZS5j Ci1pbmRleCBhODBlNDFhNS4uYzU3YTNlYTUgMTAwNjQ0Ci0tLS0gYS9zcmMvaWJ1c2VuZ2luZXNp bXBsZS5jCi0rKysgYi9zcmMvaWJ1c2VuZ2luZXNpbXBsZS5jCi1AQCAtMTQ0OCw4ICsxNDQ4LDE2 IEBAIGlidXNfZW5naW5lX3NpbXBsZV9hZGRfdGFibGVfYnlfbG9jYWxlIChJQnVzRW5naW5lU2lt cGxlICpzaW1wbGUsCi0gICAgICAgICAgICAgZ19mcmVlIChwYXRoKTsKLSAgICAgICAgICAgICBy ZXR1cm4gcmV0dmFsOwotICAgICAgICAgfQotLSAgICAgICAgZ19mcmVlIChwYXRoKTsKLS0gICAg ICAgIHBhdGggPSBOVUxMOwotKyAgICAgICAgZ19jbGVhcl9wb2ludGVyKCZwYXRoLCBnX2ZyZWUp OwotKwotKyAgICAgICAgcGF0aCA9IGdfYnVpbGRfZmlsZW5hbWUgKGdfZ2V0X3VzZXJfY29uZmln X2RpciAoKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3RrLTQuMCIsICJD b21wb3NlIiwgTlVMTCk7Ci0rICAgICAgICBpZiAoZ19maWxlX3Rlc3QgKHBhdGgsIEdfRklMRV9U RVNUX0VYSVNUUykpIHsKLSsgICAgICAgICAgICBpYnVzX2VuZ2luZV9zaW1wbGVfYWRkX2NvbXBv c2VfZmlsZSAoc2ltcGxlLCBwYXRoKTsKLSsgICAgICAgICAgICBnX2ZyZWUgKHBhdGgpOwotKyAg ICAgICAgICAgIHJldHVybiByZXR2YWw7Ci0rICAgICAgICB9Ci0rICAgICAgICBnX2NsZWFyX3Bv aW50ZXIoJnBhdGgsIGdfZnJlZSk7Ci0gCi0gICAgICAgICBwYXRoID0gZ19idWlsZF9maWxlbmFt ZSAoZ19nZXRfdXNlcl9jb25maWdfZGlyICgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJndGstMy4wIiwgIkNvbXBvc2UiLCBOVUxMKTsKLUBAIC0xNDU4LDggKzE0NjYsNyBA QCBpYnVzX2VuZ2luZV9zaW1wbGVfYWRkX3RhYmxlX2J5X2xvY2FsZSAoSUJ1c0VuZ2luZVNpbXBs ZSAqc2ltcGxlLAotICAgICAgICAgICAgIGdfZnJlZSAocGF0aCk7Ci0gICAgICAgICAgICAgcmV0 dXJuIHJldHZhbDsKLSAgICAgICAgIH0KLS0gICAgICAgIGdfZnJlZSAocGF0aCk7Ci0tICAgICAg ICBwYXRoID0gTlVMTDsKLSsgICAgICAgIGdfY2xlYXJfcG9pbnRlcigmcGF0aCwgZ19mcmVlKTsK LSAKLSAgICAgICAgIGhvbWUgPSBnX2dldF9ob21lX2RpciAoKTsKLSAgICAgICAgIGlmIChob21l ID09IE5VTEwpCi1AQCAtMTQ3MSw4ICsxNDc4LDcgQEAgaWJ1c19lbmdpbmVfc2ltcGxlX2FkZF90 YWJsZV9ieV9sb2NhbGUgKElCdXNFbmdpbmVTaW1wbGUgKnNpbXBsZSwKLSAgICAgICAgICAgICBn X2ZyZWUgKHBhdGgpOwotICAgICAgICAgICAgIHJldHVybiByZXR2YWw7Ci0gICAgICAgICB9Ci0t ICAgICAgICBnX2ZyZWUgKHBhdGgpOwotLSAgICAgICAgcGF0aCA9IE5VTEw7Ci0rICAgICAgICBn X2NsZWFyX3BvaW50ZXIoJnBhdGgsIGdfZnJlZSk7Ci0gCi0gI2lmIEdMSUJfQ0hFQ0tfVkVSU0lP TiAoMiwgNTgsIDApCi0gICAgICAgICBsYW5ncyA9IGdfZ2V0X2xhbmd1YWdlX25hbWVzX3dpdGhf Y2F0ZWdvcnkgKCJMQ19DVFlQRSIpOwotQEAgLTE1MDgsOCArMTUxNCw3IEBAIGlidXNfZW5naW5l X3NpbXBsZV9hZGRfdGFibGVfYnlfbG9jYWxlIChJQnVzRW5naW5lU2ltcGxlICpzaW1wbGUsCi0g Ci0gICAgICAgICAgICAgaWYgKGdfZmlsZV90ZXN0IChwYXRoLCBHX0ZJTEVfVEVTVF9FWElTVFMp KQotICAgICAgICAgICAgICAgICBicmVhazsKLS0gICAgICAgICAgICBnX2ZyZWUgKHBhdGgpOwot LSAgICAgICAgICAgIHBhdGggPSBOVUxMOwotKyAgICAgICAgICAgIGdfY2xlYXJfcG9pbnRlcigm cGF0aCwgZ19mcmVlKTsKLSAgICAgICAgIH0KLSAKLSAjaWYgIUdMSUJfQ0hFQ0tfVkVSU0lPTiAo MiwgNTgsIDApCi1AQCAtMTUxOCwxNSArMTUyMywxMyBAQCBpYnVzX2VuZ2luZV9zaW1wbGVfYWRk X3RhYmxlX2J5X2xvY2FsZSAoSUJ1c0VuZ2luZVNpbXBsZSAqc2ltcGxlLAotIAotICAgICAgICAg aWYgKHBhdGggIT0gTlVMTCkKLSAgICAgICAgICAgICBpYnVzX2VuZ2luZV9zaW1wbGVfYWRkX2Nv bXBvc2VfZmlsZSAoc2ltcGxlLCBwYXRoKTsKLS0gICAgICAgIGdfZnJlZSAocGF0aCk7Ci0tICAg ICAgICBwYXRoID0gTlVMTDsKLSsgICAgICAgIGdfY2xlYXJfcG9pbnRlcigmcGF0aCwgZ19mcmVl KTsKLSAgICAgfSBlbHNlIHsKLSAgICAgICAgIHBhdGggPSBnX2J1aWxkX2ZpbGVuYW1lIChYMTFf REFUQURJUiwgbG9jYWxlLCAiQ29tcG9zZSIsIE5VTEwpOwotICAgICAgICAgZG8gewotICAgICAg ICAgICAgIGlmIChnX2ZpbGVfdGVzdCAocGF0aCwgR19GSUxFX1RFU1RfRVhJU1RTKSkKLSAgICAg ICAgICAgICAgICAgYnJlYWs7Ci0tICAgICAgICAgICAgZ19mcmVlIChwYXRoKTsKLS0gICAgICAg ICAgICBwYXRoID0gTlVMTDsKLSsgICAgICAgICAgICBnX2NsZWFyX3BvaW50ZXIoJnBhdGgsIGdf ZnJlZSk7Ci0gICAgICAgICB9IHdoaWxlICgwKTsKLSAgICAgICAgIGlmIChwYXRoID09IE5VTEwp Ci0gICAgICAgICAgICAgcmV0dXJuIHJldHZhbDsKLS0tIAotMi4zNC4xCi0KLUZyb20gNWFkM2Q4 ZDUyOTZjZDMzN2QzYjQxNzMwNDA2NjgwZWI5YjI1MGY4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IEZy aSwgNCBNYXIgMjAyMiAyMDo1MDowOCArMDkwMAotU3ViamVjdDogW1BBVENIXSB1aS9ndGszOiBV c2UgWERHX1NFU1NJT05fREVTS1RPUCBmb3IgUGxhc21hIGRlc2t0b3AKLQotSWYgaWJ1cy1kYW1l b24gaXMgbGF1bmNoZWQgZnJvbSBzeXN0ZW1kLCBYREdfQ1VSUkVOVF9ERVNLVE9QCi1lbnZpcm9u bWVudCB2YXJpYWJsZSBjb3VsZCBiZSBzZXQgYWZ0ZXIgaWJ1cy1kYW1lb24gd291bGQgYmUKLWxh dW5jaGVkIGFuZCBYREdfQ1VSUkVOVF9ERVNLVE9QIGNvdWxkIGJlICIobnVsbCkiLgotQnV0IFhE R19TRVNTSU9OX0RFU0tUT1AgY2FuIGJlIHNldCB3aXRoIHN5c3RlbWQncyBQQU0uCi0tLS0KLSB1 aS9ndGszL3BhbmVsLnZhbGEgfCAxOSArKysrKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5n ZWQsIDE3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS91aS9n dGszL3BhbmVsLnZhbGEgYi91aS9ndGszL3BhbmVsLnZhbGEKLWluZGV4IGFiMjAwNWQ3Li5iZmQ2 ZWY1NiAxMDA2NDQKLS0tLSBhL3VpL2d0azMvcGFuZWwudmFsYQotKysrIGIvdWkvZ3RrMy9wYW5l bC52YWxhCi1AQCAtMyw3ICszLDcgQEAKLSAgKiBpYnVzIC0gVGhlIElucHV0IEJ1cwotICAqCi0g ICogQ29weXJpZ2h0KGMpIDIwMTEtMjAxNCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWls LmNvbT4KLS0gKiBDb3B5cmlnaHQoYykgMjAxNS0yMDIwIFRha2FvIEZ1andpYXJhIDx0YWthby5m dWppd2FyYTFAZ21haWwuY29tPgotKyAqIENvcHlyaWdodChjKSAyMDE1LTIwMjIgVGFrYW8gRnVq d2lhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci0gICoKLSAgKiBUaGlzIGxpYnJhcnkg aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwot QEAgLTI2MCw4ICsyNjAsMjMgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7Ci0g Ci0gI2lmIElORElDQVRPUgotICAgICBwcml2YXRlIHN0YXRpYyBib29sIGlzX2tkZSgpIHsKLS0g ICAgICAgIGlmIChFbnZpcm9ubWVudC5nZXRfdmFyaWFibGUoIlhER19DVVJSRU5UX0RFU0tUT1Ai KSA9PSAiS0RFIikKLSsgICAgICAgIHVub3duZWQgc3RyaW5nPyBkZXNrdG9wID0KLSsgICAgICAg ICAgICBFbnZpcm9ubWVudC5nZXRfdmFyaWFibGUoIlhER19DVVJSRU5UX0RFU0tUT1AiKTsKLSsg ICAgICAgIGlmIChkZXNrdG9wID09ICJLREUiKQotICAgICAgICAgICAgIHJldHVybiB0cnVlOwot KyAgICAgICAgLyogSWYgaWJ1cy1kYW1lb24gaXMgbGF1bmNoZWQgZnJvbSBzeXN0ZW1kLCBYREdf Q1VSUkVOVF9ERVNLVE9QCi0rICAgICAgICAgKiBlbnZpcm9ubWVudCB2YXJpYWJsZSBjb3VsZCBi ZSBzZXQgYWZ0ZXIgaWJ1cy1kYW1lb24gd291bGQgYmUKLSsgICAgICAgICAqIGxhdW5jaGVkIGFu ZCBYREdfQ1VSUkVOVF9ERVNLVE9QIGNvdWxkIGJlICIobnVsbCkiLgotKyAgICAgICAgICogQnV0 IFhER19TRVNTSU9OX0RFU0tUT1AgY2FuIGJlIHNldCB3aXRoIHN5c3RlbWQncyBQQU0uCi0rICAg ICAgICAgKi8KLSsgICAgICAgIGlmIChkZXNrdG9wID09IG51bGwgfHwgZGVza3RvcCA9PSAiKG51 bGwpIikKLSsgICAgICAgICAgICBkZXNrdG9wID0gRW52aXJvbm1lbnQuZ2V0X3ZhcmlhYmxlKCJY REdfU0VTU0lPTl9ERVNLVE9QIik7Ci0rICAgICAgICBpZiAoZGVza3RvcCA9PSAicGxhc21hIikK LSsgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSsgICAgICAgIGlmIChkZXNrdG9wID09IG51bGwp IHsKLSsgICAgICAgICAgICB3YXJuaW5nICgiWERHX0NVUlJFTlRfREVTS1RPUCBpcyBub3QgZXhw b3J0ZWQgaW4geW91ciBkZXNrdG9wICIgKwotKyAgICAgICAgICAgICAgICAgICAgICJzZXNzaW9u LiIpOwotKyAgICAgICAgfQotICAgICAgICAgd2FybmluZyAoIklmIHlvdSBsYXVuY2ggS0RFNSBv biB4dGVybSwgIiArCi0gICAgICAgICAgICAgICAgICAiZXhwb3J0IFhER19DVVJSRU5UX0RFU0tU T1A9S0RFIGJlZm9yZSBsYXVuY2ggS0RFNS4iKTsKLSAgICAgICAgIHJldHVybiBmYWxzZTsKLS0t IAotMi4zNC4xCi0KLUZyb20gZmFmOWYwYmJiNmVkZjZlZDcxYmJhOWRjYjMxNDQ5M2Y2YjAyNzZl YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdh cmExQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMSBNYXIgMjAyMiAxOTo0NDoxNyArMDkwMAotU3Vi amVjdDogW1BBVENIXSBjbGllbnQvZ3RrMjogUmV2ZXJ0IENDZWRpbGxhIGNoYW5nZSBmb3IgcHQt QlIKLQotZ3RrX2ltX2NvbnRleHRfc2ltcGxlX2FkZF90YWJsZSgpIGlzIGRlcHJlY2F0ZWQgaW4g R1RLNC4KLUkgZGVjaWRlIHRvIGRlbGV0ZSBndGtfaW1fY29udGV4dF9zaW1wbGVfYWRkX3RhYmxl KCkgaGVyZSBiZWNhdXNlCi10aGUgY2hhbmdlIDAzYzllNTkxNDMwYzYyMzU0YmJmMjZlZjdiZDRh MmU2YWNmYjdjOGYgaXMgbm8gbG9uZ2VyIG5lZWRlZAotYmVjYXVzZSBJQnVzRW5naW5lU2ltcGxl IGhhcyBpbXBsZW1lbnRlZCB0byBsb2FkIHB0X2JyIGNvbXBvc2Uga2V5Ci1ieSBsb2NhbGUKLQot QlVHPWNocm9taXVtLW9zOjExNDIxCi1CVUc9aHR0cDovL2NvZGVyZXZpZXcuYXBwc3BvdC5jb20v Mzk4OTA2MAotLS0tCi0gY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jIHwgMzMgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAzMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NsaWVudC9ndGsyL2lidXNpbWNvbnRl eHQuYyBiL2NsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYwotaW5kZXggYTVlNWU3OTIuLmUzMTRh ZTk4IDEwMDY0NAotLS0tIGEvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCi0rKysgYi9jbGll bnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMKLUBAIC0yLDcgKzIsNyBAQAotIC8qIHZpbTpzZXQgZXQg c3RzPTQ6ICovCi0gLyogaWJ1cyAtIFRoZSBJbnB1dCBCdXMKLSAgKiBDb3B5cmlnaHQgKEMpIDIw MDgtMjAxMyBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLS0gKiBDb3B5cmln aHQgKEMpIDIwMTUtMjAyMSBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMiBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVq aXdhcmExQGdtYWlsLmNvbT4KLSAgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAyMSBSZWQgSGF0LCBJ bmMuCi0gICoKLSAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCi1AQCAtODc0LDMzICs4NzQsNiBAQCBpYnVzX2ltX2NvbnRleHRf Y2xhc3NfZmluaSAoSUJ1c0lNQ29udGV4dENsYXNzICpjbGFzcykKLSAgICAgZ19idXNfdW53YXRj aF9uYW1lIChfZGFlbW9uX25hbWVfd2F0Y2hfaWQpOwotIH0KLSAKLS0vKiBDb3BpZWQgZnJvbSBn dGsrMi4wLTIuMjAuMS9tb2R1bGVzL2lucHV0L2ltY2VkaWxsYS5jIHRvIGZpeCBjcm9zYnVnLmNv bS8xMTQyMS4KLS0gKiBPdmVyd3JpdGUgdGhlIG9yaWdpbmFsIEd0aysncyBjb21wb3NlIHRhYmxl IGluIGd0aystMi54LnkvZ3RrL2d0a2ltY29udGV4dHNpbXBsZS5jLiAqLwotLQotLS8qIFRoZSBk aWZmZXJlbmNlIGJldHdlZW4gdGhpcyBhbmQgdGhlIGRlZmF1bHQgaW5wdXQgbWV0aG9kIGlzIHRo ZSBoYW5kbGluZwotLSAqIG9mIEMrYWN1dGUgLSB0aGlzIG1ldGhvZCBwcm9kdWNlcyBDIFdJVEgg Q0VESUxMQSByYXRoZXIgdGhhbiBDIFdJVEggQUNVVEUuCi0tICogRm9yIGxhbmd1YWdlcyB0aGF0 IHVzZSBDQ2VkaWxsYSBhbmQgbm90IGFjdXRlLCB0aGlzIGlzIHRoZSBwcmVmZXJyZWQgbWFwcGlu ZywKLS0gKiBhbmQgaXMgcGFydGljdWxhcmx5IGltcG9ydGFudCBmb3IgcHRfQlIsIHdoZXJlIHRo ZSB1cy1pbnRsIGtleWJvYXJkIGlzCi0tICogdXNlZCBleHRlbnNpdmVseS4KLS0gKi8KLS1zdGF0 aWMgZ3VpbnQxNiBjZWRpbGxhX2NvbXBvc2Vfc2Vxc1tdID0gewotLSNpZmRlZiBERVBSRUNBVEVE X0dES19LRVlTWU1TCi0tICBHREtfZGVhZF9hY3V0ZSwJR0RLX0MsCTAsCTAsCTAsCTB4MDBDNywJ LyogTEFUSU5fQ0FQSVRBTF9MRVRURVJfQ19XSVRIX0NFRElMTEEgKi8KLS0gIEdES19kZWFkX2Fj dXRlLAlHREtfYywJMCwJMCwJMCwJMHgwMEU3LAkvKiBMQVRJTl9TTUFMTF9MRVRURVJfQ19XSVRI X0NFRElMTEEgKi8KLS0gIEdES19NdWx0aV9rZXksCUdES19hcG9zdHJvcGhlLAlHREtfQywgIDAs ICAgICAgMCwgICAgICAweDAwQzcsIC8qIExBVElOX0NBUElUQUxfTEVUVEVSX0NfV0lUSF9DRURJ TExBICovCi0tICBHREtfTXVsdGlfa2V5LAlHREtfYXBvc3Ryb3BoZSwJR0RLX2MsICAwLCAgICAg IDAsICAgICAgMHgwMEU3LCAvKiBMQVRJTl9TTUFMTF9MRVRURVJfQ19XSVRIX0NFRElMTEEgKi8K LS0gIEdES19NdWx0aV9rZXksCUdES19DLCAgR0RLX2Fwb3N0cm9waGUsCTAsICAgICAgMCwgICAg ICAweDAwQzcsIC8qIExBVElOX0NBUElUQUxfTEVUVEVSX0NfV0lUSF9DRURJTExBICovCi0tICBH REtfTXVsdGlfa2V5LAlHREtfYywgIEdES19hcG9zdHJvcGhlLAkwLCAgICAgIDAsICAgICAgMHgw MEU3LCAvKiBMQVRJTl9TTUFMTF9MRVRURVJfQ19XSVRIX0NFRElMTEEgKi8KLS0jZWxzZQotLSAg R0RLX0tFWV9kZWFkX2FjdXRlLAlHREtfS0VZX0MsCTAsCTAsCTAsCTB4MDBDNywJLyogTEFUSU5f Q0FQSVRBTF9MRVRURVJfQ19XSVRIX0NFRElMTEEgKi8KLS0gIEdES19LRVlfZGVhZF9hY3V0ZSwJ R0RLX0tFWV9jLAkwLAkwLAkwLAkweDAwRTcsCS8qIExBVElOX1NNQUxMX0xFVFRFUl9DX1dJVEhf Q0VESUxMQSAqLwotLSAgR0RLX0tFWV9NdWx0aV9rZXksCUdES19LRVlfYXBvc3Ryb3BoZSwJR0RL X0tFWV9DLCAgMCwgICAgICAwLCAgICAgIDB4MDBDNywgLyogTEFUSU5fQ0FQSVRBTF9MRVRURVJf Q19XSVRIX0NFRElMTEEgKi8KLS0gIEdES19LRVlfTXVsdGlfa2V5LAlHREtfS0VZX2Fwb3N0cm9w aGUsCUdES19LRVlfYywgIDAsICAgICAgMCwgICAgICAweDAwRTcsIC8qIExBVElOX1NNQUxMX0xF VFRFUl9DX1dJVEhfQ0VESUxMQSAqLwotLSAgR0RLX0tFWV9NdWx0aV9rZXksCUdES19LRVlfQywg IEdES19LRVlfYXBvc3Ryb3BoZSwJMCwgICAgICAwLCAgICAgIDB4MDBDNywgLyogTEFUSU5fQ0FQ SVRBTF9MRVRURVJfQ19XSVRIX0NFRElMTEEgKi8KLS0gIEdES19LRVlfTXVsdGlfa2V5LAlHREtf S0VZX2MsICBHREtfS0VZX2Fwb3N0cm9waGUsCTAsICAgICAgMCwgICAgICAweDAwRTcsIC8qIExB VElOX1NNQUxMX0xFVFRFUl9DX1dJVEhfQ0VESUxMQSAqLwotLSNlbmRpZgotLX07Ci0tCi0gc3Rh dGljIHZvaWQKLSBpYnVzX2ltX2NvbnRleHRfaW5pdCAoR09iamVjdCAqb2JqKQotIHsKLUBAIC05 MzYsMTAgKzkwOSw2IEBAIGlidXNfaW1fY29udGV4dF9pbml0IChHT2JqZWN0ICpvYmopCi0gCi0g ICAgIC8vIENyZWF0ZSBzbGF2ZSBpbSBjb250ZXh0Ci0gICAgIGlidXNpbWNvbnRleHQtPnNsYXZl ID0gZ3RrX2ltX2NvbnRleHRfc2ltcGxlX25ldyAoKTsKLS0gICAgZ3RrX2ltX2NvbnRleHRfc2lt cGxlX2FkZF90YWJsZSAoR1RLX0lNX0NPTlRFWFRfU0lNUExFIChpYnVzaW1jb250ZXh0LT5zbGF2 ZSksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlZGlsbGFfY29tcG9z ZV9zZXFzLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0LAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX05fRUxFTUVOVFMgKGNlZGlsbGFfY29t cG9zZV9zZXFzKSAvICg0ICsgMikpOwotIAotICAgICBnX3NpZ25hbF9jb25uZWN0IChpYnVzaW1j b250ZXh0LT5zbGF2ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgImNvbW1pdCIsCi0tLSAKLTIu MzQuMQotCg==