From: Jon Olav Hauglid Date: August 24 2010 9:15am Subject: bzr commit into mysql-5.5-bugfixing branch (jon.hauglid:3117) List-Archive: http://lists.mysql.com/commits/116591 Message-Id: <201008240915.o7O3UEaC014984@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8624204827655749870==" --===============8624204827655749870== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline I0F0IGZpbGU6Ly8vZXhwb3J0L2hvbWUveC9teXNxbC01LjUtcnVudGltZS10ZXN0LyBiYXNlZCBv biByZXZpZDpqb24uaGF1Z2xpZEBvcmFjbGUuY29tLTIwMTAwODIwMTAxNjU5LTdkM21rM3kzM21t N29nYmsKCiAzMTE3IEpvbiBPbGF2IEhhdWdsaWQJMjAxMC0wOC0yNCBbbWVyZ2VdCiAgICAgIE1l cmdlIGZyb20gbXlzcWwtNS41LWJ1Z2ZpeGluZyB0byBteXNxbC01LjUtcnVudGltZS4KCiAgICBh ZGRlZDoKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9wYXJ0cy9yL3BhcnRfY3R5cGVfdXRmMzIucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcGFydHMvdC9wYXJ0X2N0eXBlX3V0ZjMyLnRlc3QK ICAgIG1vZGlmaWVkOgogICAgICBjbGllbnQvbXlzcWwuY2MKICAgICAgbXlzcWwtdGVzdC9DTWFr ZUxpc3RzLnR4dAogICAgICBteXNxbC10ZXN0L3IvY3R5cGVfdXRmMzIucmVzdWx0CiAgICAgIG15 c3FsLXRlc3Qvci9kZWxheWVkLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvZnVuY19zdHIucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvci9sb2NhbGUucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9t eXNxbC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3BhcnRpdGlvbl9pbm5vZGIucmVzdWx0CiAg ICAgIG15c3FsLXRlc3QvdC9jdHlwZV91dGYzMi50ZXN0CiAgICAgIG15c3FsLXRlc3QvdC9kZWxh eWVkLnRlc3QKICAgICAgbXlzcWwtdGVzdC90L2Rpc2FibGVkLmRlZgogICAgICBteXNxbC10ZXN0 L3QvZnVuY19zdHIudGVzdAogICAgICBteXNxbC10ZXN0L3QvbXlzcWwudGVzdAogICAgICBteXNx bC10ZXN0L3QvcGFydGl0aW9uX2lubm9kYi50ZXN0CiAgICAgIG15c3lzL215X3Rocl9pbml0LmMK ICAgICAgc2NyaXB0cy9DTWFrZUxpc3RzLnR4dAogICAgICBzY3JpcHRzL215c3FsYWNjZXNzLmNv bmYqCiAgICAgIHNxbC9maWVsZC5jYwogICAgICBzcWwvaXRlbV9zdHJmdW5jLmNjCiAgICAgIHNx bC9pdGVtX3N0cmZ1bmMuaAogICAgICBzcWwvc3FsX2F1ZGl0LmNjCiAgICAgIHNxbC9zcWxfYXVk aXQuaAogICAgICBzcWwvc3FsX2luc2VydC5jYwogICAgICBzcWwvc3FsX3BhcnRpdGlvbi5jYwog ICAgICBzcWwvc3FsX3BsdWdpbi5jYwogICAgICBzcWwvc3FsX3RhYmxlLmNjCiAgICAgIHNxbC9z cWxfdGFibGUuaAogICAgICBzdG9yYWdlL3BlcmZzY2hlbWEvcGZzLmNjCj09PSBtb2RpZmllZCBm aWxlICdjbGllbnQvbXlzcWwuY2MnCi0tLSBhL2NsaWVudC9teXNxbC5jYwkyMDEwLTA3LTI5IDEy OjMyOjExICswMDAwCisrKyBiL2NsaWVudC9teXNxbC5jYwkyMDEwLTA4LTE5IDExOjM1OjQ3ICsw MDAwCkBAIC05Myw2ICs5Myw3IEBAIGV4dGVybiAiQyIgewogI2Vsc2UKICNpbmNsdWRlIDxyZWFk bGluZS9yZWFkbGluZS5oPgogI2RlZmluZSBIQVZFX1JFQURMSU5FCisjZGVmaW5lIFVTRV9QT1BF TgogI2VuZGlmCiAgIC8vaW50IHZpZGF0dHIobG9uZyB1bnNpZ25lZCBpbnQgYXR0cnMpOwkvLyBX YXMgbWlzc2luZyBpbiBzdW4gY3Vyc2VzCiB9CkBAIC0xMDgsMTAgKzEwOSw2IEBAIGV4dGVybiAi QyIgewogI2RlZmluZSBjbXBfZGF0YWJhc2UoY3MsQSxCKSBzdHJjbXAoKEEpLChCKSkKICNlbmRp ZgogCi0jaWYgIWRlZmluZWQoX19XSU5fXykgJiYgIWRlZmluZWQoVEhSRUFEKQotI2RlZmluZSBV U0VfUE9QRU4KLSNlbmRpZgotCiAjaW5jbHVkZSAiY29tcGxldGlvbl9oYXNoLmgiCiAKICNkZWZp bmUgUFJPTVBUX0NIQVIgJ1xcJwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvQ01ha2VM aXN0cy50eHQnCi0tLSBhL215c3FsLXRlc3QvQ01ha2VMaXN0cy50eHQJMjAxMC0wOC0xMiAxNTox OTo1NyArMDAwMAorKysgYi9teXNxbC10ZXN0L0NNYWtlTGlzdHMudHh0CTIwMTAtMDgtMTkgMTI6 MTE6MzEgKzAwMDAKQEAgLTE2LDYgKzE2LDcgQEAKIElOU1RBTEwoCiAgRElSRUNUT1JZIC4KICBE RVNUSU5BVElPTiAke0lOU1RBTExfTVlTUUxURVNURElSfQorIFVTRV9TT1VSQ0VfUEVSTUlTU0lP TlMKICBDT01QT05FTlQgVGVzdAogIFBBVFRFUk4gInZhci8iIEVYQ0xVREUKICBQQVRURVJOICJs aWIvTXkvU2FmZVByb2Nlc3MiIEVYQ0xVREUKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0 L3IvY3R5cGVfdXRmMzIucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvY3R5cGVfdXRmMzIucmVz dWx0CTIwMTAtMDgtMTggMTI6MDg6NTkgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL2N0eXBlX3V0 ZjMyLnJlc3VsdAkyMDEwLTA4LTIwIDExOjE0OjExICswMDAwCkBAIC0xMTAwLDUgKzExMDAsMTkg QEAgbXlfY29sCiAwMAogRFJPUCBUQUJMRSB0MTsKICMKKyMgQnVnIzU1OTEyIEZPUk1BVCB3aXRo IGxvY2FsZSBzZXQgZmFpbHMgZm9yIG51bWJlcnMgPCAxMDAwCisjCitTRVQgY29sbGF0aW9uX2Nv bm5lY3Rpb249dXRmMzJfZ2VuZXJhbF9jaTsKK0NSRUFURSBUQUJMRSB0MSBBUyBTRUxFQ1QgZm9y bWF0KDEyMywyLCdub19OTycpOworU0hPVyBDUkVBVEUgVEFCTEUgdDE7CitUYWJsZQlDcmVhdGUg VGFibGUKK3QxCUNSRUFURSBUQUJMRSBgdDFgICgKKyAgYGZvcm1hdCgxMjMsMiwnbm9fTk8nKWAg dmFyY2hhcigzNykgQ0hBUkFDVEVSIFNFVCB1dGYzMiBOT1QgTlVMTCBERUZBVUxUICcnCispIEVO R0lORT1NeUlTQU0gREVGQVVMVCBDSEFSU0VUPWxhdGluMQorU0VMRUNUICogRlJPTSB0MTsKK2Zv cm1hdCgxMjMsMiwnbm9fTk8nKQorMTIzLDAwCitEUk9QIFRBQkxFIHQxOworIwogIyBFbmQgb2Yg NS41IHRlc3RzCiAjCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2RlbGF5ZWQucmVz dWx0JwotLS0gYS9teXNxbC10ZXN0L3IvZGVsYXllZC5yZXN1bHQJMjAwOS0xMi0xMSAwOTozOToz OCArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvZGVsYXllZC5yZXN1bHQJMjAxMC0wOC0yMyAxNTo0 Mjo1MyArMDAwMApAQCAtMzQ1LDMgKzM0NSw3OCBAQCBDUkVBVEUgVEFCTEUgdDEgTElLRSB0MjsK IEVSUk9SIDQyUzAxOiBUYWJsZSAndDEnIGFscmVhZHkgZXhpc3RzCiBEUk9QIFRBQkxFIHQyOwog RFJPUCBUQUJMRSB0MTsKKyMKKyMgQnVnIzU0MzMyIERlYWRsb2NrIHdpdGggdHdvIGNvbm5lY3Rp b25zIGRvaW5nIExPQ0sgVEFCTEUrSU5TRVJUIERFTEFZRUQKKyMKK0RST1AgVEFCTEUgSUYgRVhJ U1RTIHQxLCB0MjsKK0NSRUFURSBUQUJMRSB0MSAoYSBJTlQpOworQ1JFQVRFIFRBQkxFIHQyIChh IElOVCk7CitDUkVBVEUgVEFCTEUgdDMgKGEgSU5UKTsKKyMgVGVzdCAxOiBVc2luZyBMT0NLIFRB QkxFCisjIENvbm5lY3Rpb24gY29uMQorTE9DSyBUQUJMRSB0MSBXUklURTsKKyMgQ29ubmVjdGlv biBkZWZhdWx0CitMT0NLIFRBQkxFIHQyIFdSSVRFOworIyBTZW5kaW5nOgorSU5TRVJUIERFTEFZ RUQgSU5UTyB0MSBWQUxVRVMgKDEpOworIyBDb25uZWN0aW9uIGNvbjEKKyMgV2FpdCB1bnRpbCBJ TlNFUlQgREVMQVlFRCBpcyBibG9ja2VkIG9uIHRhYmxlICd0MScuCitJTlNFUlQgREVMQVlFRCBJ TlRPIHQyIFZBTFVFUyAoMSk7CitFUlJPUiA0MDAwMTogRGVhZGxvY2sgZm91bmQgd2hlbiB0cnlp bmcgdG8gZ2V0IGxvY2s7IHRyeSByZXN0YXJ0aW5nIHRyYW5zYWN0aW9uCitVTkxPQ0sgVEFCTEVT OworIyBDb25uZWN0aW9uIGRlZmF1bHQKKyMgUmVhcGluZzogSU5TRVJUIERFTEFZRUQgSU5UTyB0 MSBWQUxVRVMgKDEpCitVTkxPQ0sgVEFCTEVTOworIyBUZXN0IDI6IFVzaW5nIEFMVEVSIFRBQkxF CitTVEFSVCBUUkFOU0FDVElPTjsKK1NFTEVDVCAqIEZST00gdDEgV0hFUkUgYT0wOworYQorIyBD b25uZWN0aW9uIGNvbjEKKyMgU2VuZGluZzoKK0FMVEVSIFRBQkxFIHQxIENPTU1FTlQgJ3Rlc3Qn OworIyBDb25uZWN0aW9uIGRlZmF1bHQKKyMgV2FpdCB1bnRpbCBBTFRFUiBUQUJMRSBpcyBibG9j a2VkIG9uIHRhYmxlICd0MScuCitJTlNFUlQgREVMQVlFRCBJTlRPIHQxIFZBTFVFUyAoMyk7CitF UlJPUiA0MDAwMTogRGVhZGxvY2sgZm91bmQgd2hlbiB0cnlpbmcgdG8gZ2V0IGxvY2s7IHRyeSBy ZXN0YXJ0aW5nIHRyYW5zYWN0aW9uCitDT01NSVQ7CisjIENvbm5lY3Rpb24gY29uMQorIyBSZWFw aW5nOiBBTFRFUiBUQUJMRSB0MSBDT01NRU5UICd0ZXN0JworIyBUZXN0IDM6IFVzaW5nIFJFTkFN RSBUQUJMRQorIyBDb25uZWN0aW9uIGRlZmF1bHQKK1NUQVJUIFRSQU5TQUNUSU9OOworSU5TRVJU IElOVE8gdDIgVkFMVUVTICgxKTsKKyMgQ29ubmVjdGlvbiBjb24xCisjIFNlbmRpbmc6CitSRU5B TUUgVEFCTEUgdDEgdG8gdDUsIHQyIHRvIHQ0OworIyBDb25uZWN0aW9uIGRlZmF1bHQKKyMgV2Fp dCB1bnRpbCBSRU5BTUUgVEFCTEUgaXMgYmxvY2tlZCBvbiB0YWJsZSAndDEnLgorSU5TRVJUIERF TEFZRUQgSU5UTyB0MSBWQUxVRVMgKDQpOworRVJST1IgNDAwMDE6IERlYWRsb2NrIGZvdW5kIHdo ZW4gdHJ5aW5nIHRvIGdldCBsb2NrOyB0cnkgcmVzdGFydGluZyB0cmFuc2FjdGlvbgorQ09NTUlU OworIyBDb25uZWN0aW9uIGNvbjEKKyMgUmVhcGluZzogUkVOQU1FIFRBQkxFIHQxIHRvIHQ1LCB0 MiB0byB0NAorIyBDb25uZWN0aW9uIGRlZmF1bHQKKyMgUmV2ZXJ0aW5nIHRoZSByZW5hbWVzCitS RU5BTUUgVEFCTEUgdDUgdG8gdDEsIHQ0IHRvIHQyOworIyBUZXN0IDQ6IFR3byBJTlNFUlQgREVM QVlFRCBvbiB0aGUgc2FtZSB0YWJsZQorU1RBUlQgVFJBTlNBQ1RJT047CitJTlNFUlQgSU5UTyB0 MiBWQUxVRVMgKDEpOworIyBDb25uZWN0aW9uIGNvbjIKK0xPQ0sgVEFCTEUgdDEgV1JJVEUsIHQy IFdSSVRFOworIyBDb25uZWN0aW9uIGNvbjEKKyMgV2FpdCB1bnRpbCBMT0NLIFRBQkxFIGlzIGJs b2NrZWQgb24gdGFibGUgJ3QyJy4KK0lOU0VSVCBERUxBWUVEIElOVE8gdDEgVkFMVUVTICg1KTsK KyMgQ29ubmVjdGlvbiBkZWZhdWx0CisjIFdhaXQgdW50aWwgSU5TRVJUIERFTEFZRUQgaXMgYmxv Y2tlZCBvbiB0YWJsZSAndDEnLgorSU5TRVJUIERFTEFZRUQgSU5UTyB0MSBWQUxVRVMgKDYpOwor RVJST1IgNDAwMDE6IERlYWRsb2NrIGZvdW5kIHdoZW4gdHJ5aW5nIHRvIGdldCBsb2NrOyB0cnkg cmVzdGFydGluZyB0cmFuc2FjdGlvbgorQ09NTUlUOworIyBDb25uZWN0aW9uIGNvbjIKKyMgUmVh cGluZzogTE9DSyBUQUJMRSB0MSBXUklURSwgdDIgV1JJVEUKK1VOTE9DSyBUQUJMRVM7CisjIENv bm5lY3Rpb24gY29uMQorIyBSZWFwaW5nOiBJTlNFUlQgREVMQVlFRCBJTlRPIHQxIFZBTFVFUyAo NSkKKyMgQ29ubmVjdGlvbiBjb24yCisjIENvbm5lY3Rpb24gY29uMQorIyBDb25uZWN0aW9uIGRl ZmF1bHQKK0RST1AgVEFCTEUgdDEsIHQyLCB0MzsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10 ZXN0L3IvZnVuY19zdHIucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvZnVuY19zdHIucmVzdWx0 CTIwMTAtMDQtMjcgMDk6NTg6MjEgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL2Z1bmNfc3RyLnJl c3VsdAkyMDEwLTA4LTIwIDExOjE0OjExICswMDAwCkBAIC0yNzM0LDMgKzI3MzQsMjggQEAgZm9y bWF0KDEyMywgMSwgJ05vbi1leGlzdGVudC1sb2NhbGUnKQogV2FybmluZ3M6CiBXYXJuaW5nCTE2 NDkJVW5rbm93biBsb2NhbGU6ICdOb24tZXhpc3RlbnQtbG9jYWxlJwogRW5kIG9mIDUuNCB0ZXN0 cworIworIyBTdGFydCBvZiA1LjUgdGVzdHMKKyMKKyMKKyMgQnVnIzU1OTEyIEZPUk1BVCB3aXRo IGxvY2FsZSBzZXQgZmFpbHMgZm9yIG51bWJlcnMgPCAxMDAwCisjCitTRUxFQ1QgRk9STUFUKDEy My4zMywgMiwgJ25vX05PJyksIEZPUk1BVCgxMTIzLjMzLCAyLCAnbm9fTk8nKTsKK0ZPUk1BVCgx MjMuMzMsIDIsICdub19OTycpCUZPUk1BVCgxMTIzLjMzLCAyLCAnbm9fTk8nKQorMTIzLDMzCTEu MTIzLDMzCitTRUxFQ1QgRk9STUFUKDEyMzMzZS0yLCAyLCAnbm9fTk8nKSwgRk9STUFUKDExMjMz M2UtMiwgMiwgJ25vX05PJyk7CitGT1JNQVQoMTIzMzNlLTIsIDIsICdub19OTycpCUZPUk1BVCgx MTIzMzNlLTIsIDIsICdub19OTycpCisxMjMsMzMJMS4xMjMsMzMKK0NSRUFURSBUQUJMRSB0MSBB UyBTRUxFQ1QgZm9ybWF0KDEyMywyLCdub19OTycpOworU0hPVyBDUkVBVEUgVEFCTEUgdDE7CitU YWJsZQlDcmVhdGUgVGFibGUKK3QxCUNSRUFURSBUQUJMRSBgdDFgICgKKyAgYGZvcm1hdCgxMjMs Miwnbm9fTk8nKWAgdmFyY2hhcigzNykgTk9UIE5VTEwgREVGQVVMVCAnJworKSBFTkdJTkU9TXlJ U0FNIERFRkFVTFQgQ0hBUlNFVD1sYXRpbjEKK1NFTEVDVCAqIEZST00gdDE7Citmb3JtYXQoMTIz LDIsJ25vX05PJykKKzEyMywwMAorRFJPUCBUQUJMRSB0MTsKKyMKKyMgRW5kIG9mIDUuNSB0ZXN0 cworIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9sb2NhbGUucmVzdWx0JwotLS0g YS9teXNxbC10ZXN0L3IvbG9jYWxlLnJlc3VsdAkyMDEwLTAyLTI0IDEzOjUyOjI3ICswMDAwCisr KyBiL215c3FsLXRlc3Qvci9sb2NhbGUucmVzdWx0CTIwMTAtMDgtMjQgMDY6MTU6NDMgKzAwMDAK QEAgLTQ0LDcgKzQ0LDcgQEAgYQlhYm1vbgltb24KIDIwMDYtMTItMDEJzpTOtc66Cc6UzrXOus6t zrzOss+BzrnOv8+CCiBTRUxFQ1QgZm9ybWF0KDEyMzQ1Ni43ODksIDMsICdlbF9HUicpOwogZm9y bWF0KDEyMzQ1Ni43ODksIDMsICdlbF9HUicpCi0xMjM0NTYuNzg5CisxMjM0NTYsNzg5CiBEUk9Q IFRBQkxFIHQxOwogIwogIyBCdWcjNDY2MzMgT2Jzb2xldGUgU2VyYmlhbiBsb2NhbGUgbmFtZQoK PT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9teXNxbC5yZXN1bHQnCi0tLSBhL215c3Fs LXRlc3Qvci9teXNxbC5yZXN1bHQJMjAxMC0wMS0xOCAyMDoxOToxOSArMDAwMAorKysgYi9teXNx bC10ZXN0L3IvbXlzcWwucmVzdWx0CTIwMTAtMDgtMTkgMTE6MzU6NDcgKzAwMDAKQEAgLTQzMiw1 ICs0MzIsOCBAQCBCdWcgIzQ3MTQ3OiBteXNxbCBjbGllbnQgb3B0aW9uIC0tc2tpcC1jCiAKICoq KioqKioqKioqKioqKioqKioqKioqKioqKiAxLiByb3cgKioqKioqKioqKioqKioqKioqKioqKioq KioqCiAxCitCdWcgIzU0NDY2IGNsaWVudCA1LjUgYnVpbHQgZnJvbSBzb3VyY2UgbGFja3MgInBh Z2VyIiBzdXBwb3J0CithCisxCiAKIEVuZCBvZiB0ZXN0cwoKPT09IG1vZGlmaWVkIGZpbGUgJ215 c3FsLXRlc3Qvci9wYXJ0aXRpb25faW5ub2RiLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3Bh cnRpdGlvbl9pbm5vZGIucmVzdWx0CTIwMTAtMDgtMTMgMDc6NTA6MjUgKzAwMDAKKysrIGIvbXlz cWwtdGVzdC9yL3BhcnRpdGlvbl9pbm5vZGIucmVzdWx0CTIwMTAtMDgtMjAgMTc6MTU6NDggKzAw MDAKQEAgLTEsNSArMSw0MSBAQAogZHJvcCB0YWJsZSBpZiBleGlzdHMgdDEsIHQyOwogIworIyBC dWcjNTQ3NDc6IERlYWRsb2NrIGJldHdlZW4gUkVPUkdBTklaRSBQQVJUSVRJT04gYW5kCisjICAg ICAgICAgICAgU0VMRUNUIGlzIG5vdCBkZXRlY3RlZAorIworU0VUIEBvbGRfaW5ub2RiX3RocmVh ZF9jb25jdXJyZW5jeTo9IEBAaW5ub2RiX3RocmVhZF9jb25jdXJyZW5jeTsKK1NFVCBHTE9CQUwg aW5ub2RiX3RocmVhZF9jb25jdXJyZW5jeSA9IDE7CitDUkVBVEUgVEFCTEUgdDEKKyh1c2VyX251 bSBCSUdJTlQsCitob3VycyBTTUFMTElOVCwKK0tFWSB1c2VyX251bSAodXNlcl9udW0pKQorRU5H SU5FID0gSW5ub0RCICAgCitQQVJUSVRJT04gQlkgUkFOR0UgQ09MVU1OUyAoaG91cnMpCisoUEFS VElUSU9OIGhvdXJfMDAzIFZBTFVFUyBMRVNTIFRIQU4gKDMpLAorUEFSVElUSU9OIGhvdXJfMDA0 IFZBTFVFUyBMRVNTIFRIQU4gKDQpLAorUEFSVElUSU9OIGhvdXJfMDA1IFZBTFVFUyBMRVNTIFRI QU4gKDUpLAorUEFSVElUSU9OIGhvdXJfbGFzdCBWQUxVRVMgTEVTUyBUSEFOIChNQVhWQUxVRSkp OworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgxLCAxKSwgKDIsIDIpLCAoMywgMyksICg0LCA0KSwg KDUsIDUpOworQkVHSU47CitTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MTsKK0NPVU5UKCopCis1Cisj IGNvbjEKKyMgU0VORCBhIEFMVEVSIFBBUlRJVElPTiB3aGljaCB3YWl0cyBvbiB0aGUgb25nb2lu ZyB0cmFuc2FjdGlvbi4KK0FMVEVSIFRBQkxFIHQxCitSRU9SR0FOSVpFIFBBUlRJVElPTiBob3Vy XzAwMywgaG91cl8wMDQgSU5UTworKFBBUlRJVElPTiBvbGRlc3QgVkFMVUVTIExFU1MgVEhBTiAo NCkpOworIyBDb25uZWN0aW9uIGRlZmF1bHQgd2FpdCB1bnRpbCB0aGUgQUxURVIgaXMgaW4gJ3dh aXRpbmcgZm9yIHRhYmxlLi4uJworIyBzdGF0ZSBhbmQgdGhlbiBjb250aW51ZSB0aGUgdHJhbnNh Y3Rpb24gYnkgdHJ5aW5nIGEgU0VMRUNUCitTRUxFQ1QgQ09VTlQoKikgRlJPTSB0MTsKK0NPVU5U KCopCis1CitDT01NSVQ7CisjIGNvbjEsIHJlYXBpbmcgQUxURVIuCisjIERpc2Nvbm5lY3Rpbmcg Y29uMSBhbmQgc3dpdGNoaW5nIHRvIGRlZmF1bHQuIENsZWFuaW5nIHVwLgorU0VUIEdMT0JBTCBp bm5vZGJfdGhyZWFkX2NvbmN1cnJlbmN5ID0gQG9sZF9pbm5vZGJfdGhyZWFkX2NvbmN1cnJlbmN5 OworRFJPUCBUQUJMRSB0MTsKKyMKICMgQnVnIzUwNDE4OiBEUk9QIFBBUlRJVElPTiBkb2VzIG5v dCBpbnRlcmFjdCB3aXRoIHRyYW5zYWN0aW9ucwogIwogQ1JFQVRFIFRBQkxFIHQxICgKCj09PSBh ZGRlZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3BhcnRzL3IvcGFydF9jdHlwZV91dGYzMi5yZXN1 bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcGFydHMvci9wYXJ0X2N0eXBlX3V0ZjMyLnJlc3Vs dAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvcGFydHMv ci9wYXJ0X2N0eXBlX3V0ZjMyLnJlc3VsdAkyMDEwLTA4LTIzIDA5OjU2OjIxICswMDAwCkBAIC0w LDAgKzEsMTQgQEAKKyMKKyMgQnVnIzUyMTIxIHBhcnRpdGlvbiBieSBrZXkgb24gdXRmMzIgZW51 bSBmaWVsZCBjYXVzZSBkZWJ1ZyBhc3NlcnRpb246IChsZW5ndGggJSA0KSA9PSAwCisjCitEUk9Q IFRBQkxFIElGIEVYSVNUUyB0MTsKK1dhcm5pbmdzOgorTm90ZQkxMDUxCVVua25vd24gdGFibGUg J3QxJworQ1JFQVRFIFRBQkxFIHQxICgKK2EgZW51bSgnYScpIENIQVJBQ1RFUiBTRVQgdXRmMzIg Q09MTEFURSB1dGYzMl9zcGFuaXNoMl9jaQorKSBFTkdJTkU9TVlJU0FNIFBBUlRJVElPTiBCWSBL RVkoYSkgUEFSVElUSU9OUyAyOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgnYScpOworU0VMRUNU ICogRlJPTSB0MTsKK2EKK2EKK0RST1AgVEFCTEUgdDE7Cgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwt dGVzdC9zdWl0ZS9wYXJ0cy90L3BhcnRfY3R5cGVfdXRmMzIudGVzdCcKLS0tIGEvbXlzcWwtdGVz dC9zdWl0ZS9wYXJ0cy90L3BhcnRfY3R5cGVfdXRmMzIudGVzdAkxOTcwLTAxLTAxIDAwOjAwOjAw ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvcGFydHMvdC9wYXJ0X2N0eXBlX3V0ZjMyLnRl c3QJMjAxMC0wOC0yMyAwOTo1NjoyMSArMDAwMApAQCAtMCwwICsxLDI4IEBACisjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworIyB0L3BhcnRpdGlvbl9jdHlwZV91dGYzMi50ZXN0ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKKyMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjCisjIFB1cnBvc2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIworIyAgVGVzdHMgZm9yIHBhcnRpdGlvbnMg KyBVVEYzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMK KyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIworIyBPcmln aW5hbCBBdXRob3I6IEFsZXhhbmRlciBCYXJrb3YgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICMKKyMgT3JpZ2luYWwgRGF0ZTogMjAxMC0wOC0wNSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCisjIENoYW5nZSBBdXRo b3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIworIyBDaGFuZ2UgRGF0ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMKKyMgQ2hhbmdlOiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCistLXNvdXJjZSBpbmNsdWRlL2hhdmVfcGFy dGl0aW9uLmluYworLS1zb3VyY2UgaW5jbHVkZS9oYXZlX3V0ZjMyLmluYworCistLWVjaG8gIwor LS1lY2hvICMgQnVnIzUyMTIxIHBhcnRpdGlvbiBieSBrZXkgb24gdXRmMzIgZW51bSBmaWVsZCBj YXVzZSBkZWJ1ZyBhc3NlcnRpb246IChsZW5ndGggJSA0KSA9PSAwCistLWVjaG8gIworCitEUk9Q IFRBQkxFIElGIEVYSVNUUyB0MTsKK0NSRUFURSBUQUJMRSB0MSAoCisgYSBlbnVtKCdhJykgQ0hB UkFDVEVSIFNFVCB1dGYzMiBDT0xMQVRFIHV0ZjMyX3NwYW5pc2gyX2NpCispIEVOR0lORT1NWUlT QU0gUEFSVElUSU9OIEJZIEtFWShhKSBQQVJUSVRJT05TIDI7CitJTlNFUlQgSU5UTyB0MSBWQUxV RVMgKCdhJyk7CitTRUxFQ1QgKiBGUk9NIHQxOworRFJPUCBUQUJMRSB0MTsKCj09PSBtb2RpZmll ZCBmaWxlICdteXNxbC10ZXN0L3QvY3R5cGVfdXRmMzIudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90 L2N0eXBlX3V0ZjMyLnRlc3QJMjAxMC0wOC0xOCAxMjowODo1OSArMDAwMAorKysgYi9teXNxbC10 ZXN0L3QvY3R5cGVfdXRmMzIudGVzdAkyMDEwLTA4LTIwIDExOjE0OjExICswMDAwCkBAIC04MTAs NSArODEwLDE0IEBAIFNFTEVDVCAqIEZST00gdDE7CiBEUk9QIFRBQkxFIHQxOwogCiAtLWVjaG8g IworLS1lY2hvICMgQnVnIzU1OTEyIEZPUk1BVCB3aXRoIGxvY2FsZSBzZXQgZmFpbHMgZm9yIG51 bWJlcnMgPCAxMDAwCistLWVjaG8gIworU0VUIGNvbGxhdGlvbl9jb25uZWN0aW9uPXV0ZjMyX2dl bmVyYWxfY2k7CitDUkVBVEUgVEFCTEUgdDEgQVMgU0VMRUNUIGZvcm1hdCgxMjMsMiwnbm9fTk8n KTsKK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOworU0VMRUNUICogRlJPTSB0MTsKK0RST1AgVEFCTEUg dDE7CisKKy0tZWNobyAjCiAtLWVjaG8gIyBFbmQgb2YgNS41IHRlc3RzCiAtLWVjaG8gIwoKPT09 IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9kZWxheWVkLnRlc3QnCi0tLSBhL215c3FsLXRl c3QvdC9kZWxheWVkLnRlc3QJMjAxMC0wOC0wNiAxMToyOTozNyArMDAwMAorKysgYi9teXNxbC10 ZXN0L3QvZGVsYXllZC50ZXN0CTIwMTAtMDgtMjMgMTU6NDI6NTMgKzAwMDAKQEAgLTM4OCwzICsz ODgsMTYyIEBAIENSRUFURSBUQUJMRSB0MSBMSUtFIHQyOwogCiBEUk9QIFRBQkxFIHQyOwogRFJP UCBUQUJMRSB0MTsKKworCistLWVjaG8gIworLS1lY2hvICMgQnVnIzU0MzMyIERlYWRsb2NrIHdp dGggdHdvIGNvbm5lY3Rpb25zIGRvaW5nIExPQ0sgVEFCTEUrSU5TRVJUIERFTEFZRUQKKy0tZWNo byAjCisKKy0tZGlzYWJsZV93YXJuaW5ncworRFJPUCBUQUJMRSBJRiBFWElTVFMgdDEsIHQyOwor LS1lbmFibGVfd2FybmluZ3MKKworQ1JFQVRFIFRBQkxFIHQxIChhIElOVCk7CitDUkVBVEUgVEFC TEUgdDIgKGEgSU5UKTsKK0NSRUFURSBUQUJMRSB0MyAoYSBJTlQpOworCistLWVjaG8gIyBUZXN0 IDE6IFVzaW5nIExPQ0sgVEFCTEUKKworLS1lY2hvICMgQ29ubmVjdGlvbiBjb24xCitjb25uZWN0 IChjb24xLCBsb2NhbGhvc3QsIHJvb3QpOworTE9DSyBUQUJMRSB0MSBXUklURTsKKworLS1lY2hv ICMgQ29ubmVjdGlvbiBkZWZhdWx0Citjb25uZWN0aW9uIGRlZmF1bHQ7CitMT0NLIFRBQkxFIHQy IFdSSVRFOworLS1lY2hvICMgU2VuZGluZzoKKy0tc2VuZCBJTlNFUlQgREVMQVlFRCBJTlRPIHQx IFZBTFVFUyAoMSkKKworLS1lY2hvICMgQ29ubmVjdGlvbiBjb24xCitjb25uZWN0aW9uIGNvbjE7 CistLWVjaG8gIyBXYWl0IHVudGlsIElOU0VSVCBERUxBWUVEIGlzIGJsb2NrZWQgb24gdGFibGUg J3QxJy4KK2xldCAkd2FpdF9jb25kaXRpb249CisgIFNFTEVDVCBDT1VOVCgqKSA9IDEgRlJPTSBp bmZvcm1hdGlvbl9zY2hlbWEucHJvY2Vzc2xpc3QKKyAgV0hFUkUgc3RhdGUgPSAiV2FpdGluZyBm b3IgdGFibGUgbWV0YWRhdGEgbG9jayIKKyAgQU5EIGluZm8gPSAiSU5TRVJUIERFTEFZRUQgSU5U TyB0MSBWQUxVRVMgKDEpIjsKKy0tc291cmNlIGluY2x1ZGUvd2FpdF9jb25kaXRpb24uaW5jCist LWVycm9yIEVSX0xPQ0tfREVBRExPQ0sKK0lOU0VSVCBERUxBWUVEIElOVE8gdDIgVkFMVUVTICgx KTsKK1VOTE9DSyBUQUJMRVM7CisKKy0tZWNobyAjIENvbm5lY3Rpb24gZGVmYXVsdAorY29ubmVj dGlvbiBkZWZhdWx0OworLS1lY2hvICMgUmVhcGluZzogSU5TRVJUIERFTEFZRUQgSU5UTyB0MSBW QUxVRVMgKDEpCistLXJlYXAKK1VOTE9DSyBUQUJMRVM7CisKKy0tZWNobyAjIFRlc3QgMjogVXNp bmcgQUxURVIgVEFCTEUKKworU1RBUlQgVFJBTlNBQ1RJT047CitTRUxFQ1QgKiBGUk9NIHQxIFdI RVJFIGE9MDsKKworLS1lY2hvICMgQ29ubmVjdGlvbiBjb24xCitjb25uZWN0aW9uIGNvbjE7Cist LWVjaG8gIyBTZW5kaW5nOgorLS1zZW5kIEFMVEVSIFRBQkxFIHQxIENPTU1FTlQgJ3Rlc3QnCisK Ky0tZWNobyAjIENvbm5lY3Rpb24gZGVmYXVsdAorY29ubmVjdGlvbiBkZWZhdWx0OworLS1lY2hv ICMgV2FpdCB1bnRpbCBBTFRFUiBUQUJMRSBpcyBibG9ja2VkIG9uIHRhYmxlICd0MScuCitsZXQg JHdhaXRfY29uZGl0aW9uPQorICBTRUxFQ1QgQ09VTlQoKikgPSAxIEZST00gaW5mb3JtYXRpb25f c2NoZW1hLnByb2Nlc3NsaXN0CisgIFdIRVJFIHN0YXRlID0gIldhaXRpbmcgZm9yIHRhYmxlIG1l dGFkYXRhIGxvY2siCisgIEFORCBpbmZvID0gIkFMVEVSIFRBQkxFIHQxIENPTU1FTlQgJ3Rlc3Qn IjsKKy0tc291cmNlIGluY2x1ZGUvd2FpdF9jb25kaXRpb24uaW5jCistLWVycm9yIEVSX0xPQ0tf REVBRExPQ0sKK0lOU0VSVCBERUxBWUVEIElOVE8gdDEgVkFMVUVTICgzKTsKK0NPTU1JVDsKKwor LS1lY2hvICMgQ29ubmVjdGlvbiBjb24xCitjb25uZWN0aW9uIGNvbjE7CistLWVjaG8gIyBSZWFw aW5nOiBBTFRFUiBUQUJMRSB0MSBDT01NRU5UICd0ZXN0JworLS1yZWFwCisKKy0tZWNobyAjIFRl c3QgMzogVXNpbmcgUkVOQU1FIFRBQkxFCisKKy0tZWNobyAjIENvbm5lY3Rpb24gZGVmYXVsdAor Y29ubmVjdGlvbiBkZWZhdWx0OworU1RBUlQgVFJBTlNBQ1RJT047CitJTlNFUlQgSU5UTyB0MiBW QUxVRVMgKDEpOworCistLWVjaG8gIyBDb25uZWN0aW9uIGNvbjEKK2Nvbm5lY3Rpb24gY29uMTsK Ky0tZWNobyAjIFNlbmRpbmc6CistLXNlbmQgUkVOQU1FIFRBQkxFIHQxIHRvIHQ1LCB0MiB0byB0 NAorCistLWVjaG8gIyBDb25uZWN0aW9uIGRlZmF1bHQKK2Nvbm5lY3Rpb24gZGVmYXVsdDsKKy0t ZWNobyAjIFdhaXQgdW50aWwgUkVOQU1FIFRBQkxFIGlzIGJsb2NrZWQgb24gdGFibGUgJ3QxJy4K K2xldCAkd2FpdF9jb25kaXRpb249CisgIFNFTEVDVCBDT1VOVCgqKSA9IDEgRlJPTSBpbmZvcm1h dGlvbl9zY2hlbWEucHJvY2Vzc2xpc3QKKyAgV0hFUkUgc3RhdGUgPSAiV2FpdGluZyBmb3IgdGFi bGUgbWV0YWRhdGEgbG9jayIKKyAgQU5EIGluZm8gPSAiUkVOQU1FIFRBQkxFIHQxIHRvIHQ1LCB0 MiB0byB0NCI7CistLXNvdXJjZSBpbmNsdWRlL3dhaXRfY29uZGl0aW9uLmluYworLS1lcnJvciBF Ul9MT0NLX0RFQURMT0NLCitJTlNFUlQgREVMQVlFRCBJTlRPIHQxIFZBTFVFUyAoNCk7CitDT01N SVQ7CisKKy0tZWNobyAjIENvbm5lY3Rpb24gY29uMQorY29ubmVjdGlvbiBjb24xOworLS1lY2hv ICMgUmVhcGluZzogUkVOQU1FIFRBQkxFIHQxIHRvIHQ1LCB0MiB0byB0NAorLS1yZWFwCisKKy0t ZWNobyAjIENvbm5lY3Rpb24gZGVmYXVsdAorY29ubmVjdGlvbiBkZWZhdWx0OworLS1lY2hvICMg UmV2ZXJ0aW5nIHRoZSByZW5hbWVzCitSRU5BTUUgVEFCTEUgdDUgdG8gdDEsIHQ0IHRvIHQyOwor CistLWVjaG8gIyBUZXN0IDQ6IFR3byBJTlNFUlQgREVMQVlFRCBvbiB0aGUgc2FtZSB0YWJsZQor CitTVEFSVCBUUkFOU0FDVElPTjsKK0lOU0VSVCBJTlRPIHQyIFZBTFVFUyAoMSk7CisKKy0tZWNo byAjIENvbm5lY3Rpb24gY29uMgorY29ubmVjdCAoY29uMiwgbG9jYWxob3N0LCByb290KTsKKy0t c2VuZCBMT0NLIFRBQkxFIHQxIFdSSVRFLCB0MiBXUklURQorCistLWVjaG8gIyBDb25uZWN0aW9u IGNvbjEKK2Nvbm5lY3Rpb24gY29uMTsKKy0tZWNobyAjIFdhaXQgdW50aWwgTE9DSyBUQUJMRSBp cyBibG9ja2VkIG9uIHRhYmxlICd0MicuCitsZXQgJHdhaXRfY29uZGl0aW9uPQorICBTRUxFQ1Qg Q09VTlQoKikgPSAxIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnByb2Nlc3NsaXN0CisgIFdIRVJF IHN0YXRlID0gIldhaXRpbmcgZm9yIHRhYmxlIG1ldGFkYXRhIGxvY2siCisgIEFORCBpbmZvID0g IkxPQ0sgVEFCTEUgdDEgV1JJVEUsIHQyIFdSSVRFIjsKKy0tc291cmNlIGluY2x1ZGUvd2FpdF9j b25kaXRpb24uaW5jCistLXNlbmQgSU5TRVJUIERFTEFZRUQgSU5UTyB0MSBWQUxVRVMgKDUpCisK Ky0tZWNobyAjIENvbm5lY3Rpb24gZGVmYXVsdAorY29ubmVjdGlvbiBkZWZhdWx0OworLS1lY2hv ICMgV2FpdCB1bnRpbCBJTlNFUlQgREVMQVlFRCBpcyBibG9ja2VkIG9uIHRhYmxlICd0MScuCits ZXQgJHdhaXRfY29uZGl0aW9uPQorICBTRUxFQ1QgQ09VTlQoKikgPSAxIEZST00gaW5mb3JtYXRp b25fc2NoZW1hLnByb2Nlc3NsaXN0CisgIFdIRVJFIHN0YXRlID0gIldhaXRpbmcgZm9yIHRhYmxl IG1ldGFkYXRhIGxvY2siCisgIEFORCBpbmZvID0gIklOU0VSVCBERUxBWUVEIElOVE8gdDEgVkFM VUVTICg1KSI7CistLXNvdXJjZSBpbmNsdWRlL3dhaXRfY29uZGl0aW9uLmluYworLS1lcnJvciBF Ul9MT0NLX0RFQURMT0NLCitJTlNFUlQgREVMQVlFRCBJTlRPIHQxIFZBTFVFUyAoNik7CitDT01N SVQ7CisKKy0tZWNobyAjIENvbm5lY3Rpb24gY29uMgorY29ubmVjdGlvbiBjb24yOworLS1lY2hv ICMgUmVhcGluZzogTE9DSyBUQUJMRSB0MSBXUklURSwgdDIgV1JJVEUKKy0tcmVhcAorVU5MT0NL IFRBQkxFUzsKKworLS1lY2hvICMgQ29ubmVjdGlvbiBjb24xCitjb25uZWN0aW9uIGNvbjE7Cist LWVjaG8gIyBSZWFwaW5nOiBJTlNFUlQgREVMQVlFRCBJTlRPIHQxIFZBTFVFUyAoNSkKKy0tcmVh cAorCistLWVjaG8gIyBDb25uZWN0aW9uIGNvbjIKK2Nvbm5lY3Rpb24gY29uMjsKK2Rpc2Nvbm5l Y3QgY29uMjsKKy0tc291cmNlIGluY2x1ZGUvd2FpdF91bnRpbF9kaXNjb25uZWN0ZWQuaW5jCist LWVjaG8gIyBDb25uZWN0aW9uIGNvbjEKK2Nvbm5lY3Rpb24gY29uMTsKK2Rpc2Nvbm5lY3QgY29u MTsKKy0tc291cmNlIGluY2x1ZGUvd2FpdF91bnRpbF9kaXNjb25uZWN0ZWQuaW5jCisKKy0tZWNo byAjIENvbm5lY3Rpb24gZGVmYXVsdAorY29ubmVjdGlvbiBkZWZhdWx0OworRFJPUCBUQUJMRSB0 MSwgdDIsIHQzOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9kaXNhYmxlZC5kZWYn Ci0tLSBhL215c3FsLXRlc3QvdC9kaXNhYmxlZC5kZWYJMjAxMC0wOC0xOCAxMToyOTowNCArMDAw MAorKysgYi9teXNxbC10ZXN0L3QvZGlzYWJsZWQuZGVmCTIwMTAtMDgtMTkgMTI6MTE6MzEgKzAw MDAKQEAgLTExLDggKzExLDYgQEAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoga2lsbCAgICAgICAg ICAgICAgICAgICAgIDogQnVnIzM3NzgwIDIwMDgtMTItMDMgSEh1bmdlciBuZWVkIHNvbWUgY2hh bmdlcyB0byBiZSByb2J1c3QgZW5vdWdoIGZvciBwdXNoYnVpbGQuCiBsb3dlcmNhc2VfdGFibGUz ICAgICAgICAgOiBCdWcjNTQ4NDUgMjAxMC0wNi0zMCBhbGlrIG1haW4ubG93ZXJjYXNlX3RhYmxl MyBvbiBNYWMgT1NYCi1teXNxbGhvdGNvcHlfbXlpc2FtICAgICAgOiBidWcjNTQxMjkgMjAxMC0w Ni0wNCBIb3JzdAotbXlzcWxob3Rjb3B5X2FyY2hpdmUgICAgIDogYnVnIzU0MTI5IDIwMTAtMDYt MDQgSG9yc3QKIHBhcnRpdGlvbl9pbm5vZGJfcGx1Z2luICA6IEJ1ZyM1MzMwNyAyMDEwLTA0LTMw IFZhc2lsRGltb3YgdmFsZ3JpbmQgd2FybmluZ3MKIHBsdWdpbiAgICAgICAgICAgICAgICAgICA6 IEJ1ZyM1NTk2NiAyMDEwLTA4LTEzIGFsaWsgInBsdWdpbiIgdGVzdHMgZmFpbCBpbiA1LjUKIHBs dWdpbl9sb2FkICAgICAgICAgICAgICA6IEJ1ZyM1NTk2NiAyMDEwLTA4LTEzIGFsaWsgInBsdWdp biIgdGVzdHMgZmFpbCBpbiA1LjUKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvZnVu Y19zdHIudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L2Z1bmNfc3RyLnRlc3QJMjAxMC0wNC0wMiAx NToxNzo0MyArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvZnVuY19zdHIudGVzdAkyMDEwLTA4LTIw IDExOjE0OjExICswMDAwCkBAIC0xNDA0LDMgKzE0MDQsMjAgQEAgU0VMRUNUIGZvcm1hdCgxMjMs IDEsICdOb24tZXhpc3RlbnQtbG9jYQogCiAtLWVjaG8gRW5kIG9mIDUuNCB0ZXN0cwogCistLWVj aG8gIworLS1lY2hvICMgU3RhcnQgb2YgNS41IHRlc3RzCistLWVjaG8gIworCistLWVjaG8gIwor LS1lY2hvICMgQnVnIzU1OTEyIEZPUk1BVCB3aXRoIGxvY2FsZSBzZXQgZmFpbHMgZm9yIG51bWJl cnMgPCAxMDAwCistLWVjaG8gIworU0VMRUNUIEZPUk1BVCgxMjMuMzMsIDIsICdub19OTycpLCBG T1JNQVQoMTEyMy4zMywgMiwgJ25vX05PJyk7CitTRUxFQ1QgRk9STUFUKDEyMzMzZS0yLCAyLCAn bm9fTk8nKSwgRk9STUFUKDExMjMzM2UtMiwgMiwgJ25vX05PJyk7CitDUkVBVEUgVEFCTEUgdDEg QVMgU0VMRUNUIGZvcm1hdCgxMjMsMiwnbm9fTk8nKTsKK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOwor U0VMRUNUICogRlJPTSB0MTsKK0RST1AgVEFCTEUgdDE7CisKKy0tZWNobyAjCistLWVjaG8gIyBF bmQgb2YgNS41IHRlc3RzCistLWVjaG8gIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv dC9teXNxbC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvbXlzcWwudGVzdAkyMDA5LTEyLTI0IDA3 OjU2OjEzICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9teXNxbC50ZXN0CTIwMTAtMDgtMTkgMTE6 MzU6NDcgKzAwMDAKQEAgLTQyNSw1ICs0MjUsMTEgQEAgZHJvcCB0YWJsZSB0MTsKIC0tZWNobwog LS1leGVjICRNWVNRTCAtLXNraXAtY29sdW1uLW5hbWVzIC0tdmVydGljYWwgdGVzdCAtZSAic2Vs ZWN0IDEgYXMgYSIKIAorIworIyBCdWcgIzU0NDY2IGNsaWVudCA1LjUgYnVpbHQgZnJvbSBzb3Vy Y2UgbGFja3MgInBhZ2VyIiBzdXBwb3J0CisjIAorLS1lY2hvIEJ1ZyAjNTQ0NjYgY2xpZW50IDUu NSBidWlsdCBmcm9tIHNvdXJjZSBsYWNrcyAicGFnZXIiIHN1cHBvcnQKKy0tZXhlYyAkTVlTUUwg LS1wYWdlciB0ZXN0IC1lICJzZWxlY3QgMSBhcyBhIgorCiAtLWVjaG8KIC0tZWNobyBFbmQgb2Yg dGVzdHMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvcGFydGl0aW9uX2lubm9kYi50 ZXN0JwotLS0gYS9teXNxbC10ZXN0L3QvcGFydGl0aW9uX2lubm9kYi50ZXN0CTIwMTAtMDgtMTMg MDc6NTA6MjUgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC90L3BhcnRpdGlvbl9pbm5vZGIudGVzdAky MDEwLTA4LTIwIDE3OjE1OjQ4ICswMDAwCkBAIC05LDYgKzksNjMgQEAgZHJvcCB0YWJsZSBpZiBl eGlzdHMgdDEsIHQyOwogbGV0ICRNWVNRTERfREFUQURJUj0gYFNFTEVDVCBAQGRhdGFkaXJgOwog CiAtLWVjaG8gIworLS1lY2hvICMgQnVnIzU0NzQ3OiBEZWFkbG9jayBiZXR3ZWVuIFJFT1JHQU5J WkUgUEFSVElUSU9OIGFuZAorLS1lY2hvICMgICAgICAgICAgICBTRUxFQ1QgaXMgbm90IGRldGVj dGVkCistLWVjaG8gIworCitTRVQgQG9sZF9pbm5vZGJfdGhyZWFkX2NvbmN1cnJlbmN5Oj0gQEBp bm5vZGJfdGhyZWFkX2NvbmN1cnJlbmN5OworU0VUIEdMT0JBTCBpbm5vZGJfdGhyZWFkX2NvbmN1 cnJlbmN5ID0gMTsKKworQ1JFQVRFIFRBQkxFIHQxCisodXNlcl9udW0gQklHSU5ULAorIGhvdXJz IFNNQUxMSU5ULAorIEtFWSB1c2VyX251bSAodXNlcl9udW0pKQorRU5HSU5FID0gSW5ub0RCICAg CitQQVJUSVRJT04gQlkgUkFOR0UgQ09MVU1OUyAoaG91cnMpCisoUEFSVElUSU9OIGhvdXJfMDAz IFZBTFVFUyBMRVNTIFRIQU4gKDMpLAorIFBBUlRJVElPTiBob3VyXzAwNCBWQUxVRVMgTEVTUyBU SEFOICg0KSwKKyBQQVJUSVRJT04gaG91cl8wMDUgVkFMVUVTIExFU1MgVEhBTiAoNSksCisgUEFS VElUSU9OIGhvdXJfbGFzdCBWQUxVRVMgTEVTUyBUSEFOIChNQVhWQUxVRSkpOworCitJTlNFUlQg SU5UTyB0MSBWQUxVRVMgKDEsIDEpLCAoMiwgMiksICgzLCAzKSwgKDQsIDQpLCAoNSwgNSk7CisK K0JFR0lOOworU0VMRUNUIENPVU5UKCopIEZST00gdDE7CisKKy0tZWNobyAjIGNvbjEKKy0tY29u bmVjdCAoY29uMSxsb2NhbGhvc3Qscm9vdCwsKQorLS1lY2hvICMgU0VORCBhIEFMVEVSIFBBUlRJ VElPTiB3aGljaCB3YWl0cyBvbiB0aGUgb25nb2luZyB0cmFuc2FjdGlvbi4KKy0tc2VuZAorQUxU RVIgVEFCTEUgdDEKK1JFT1JHQU5JWkUgUEFSVElUSU9OIGhvdXJfMDAzLCBob3VyXzAwNCBJTlRP CisoUEFSVElUSU9OIG9sZGVzdCBWQUxVRVMgTEVTUyBUSEFOICg0KSk7CisKKy0tZWNobyAjIENv bm5lY3Rpb24gZGVmYXVsdCB3YWl0IHVudGlsIHRoZSBBTFRFUiBpcyBpbiAnd2FpdGluZyBmb3Ig dGFibGUuLi4nCistLWVjaG8gIyBzdGF0ZSBhbmQgdGhlbiBjb250aW51ZSB0aGUgdHJhbnNhY3Rp b24gYnkgdHJ5aW5nIGEgU0VMRUNUCistLWNvbm5lY3Rpb24gZGVmYXVsdAorbGV0ICR3YWl0X2Nv bmRpdGlvbiA9CitTRUxFQ1QgQ09VTlQoKikgPSAxCitGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5w cm9jZXNzbGlzdAorV0hFUkUgSU5GTyBsaWtlICdBTFRFUiBUQUJMRSB0MSVSRU9SR0FOSVpFIFBB UlRJVElPTiBob3VyXzAwMywgaG91cl8wMDQlJworQU5EIFNUQVRFID0gJ1dhaXRpbmcgZm9yIHRh YmxlIG1ldGFkYXRhIGxvY2snOworLS1zb3VyY2UgaW5jbHVkZS93YWl0X2NvbmRpdGlvbi5pbmMK K1NFTEVDVCBDT1VOVCgqKSBGUk9NIHQxOworQ09NTUlUOworCistLWVjaG8gIyBjb24xLCByZWFw aW5nIEFMVEVSLgorLS1jb25uZWN0aW9uIGNvbjEKKy0tcmVhcAorCistLWVjaG8gIyBEaXNjb25u ZWN0aW5nIGNvbjEgYW5kIHN3aXRjaGluZyB0byBkZWZhdWx0LiBDbGVhbmluZyB1cC4KKy0tZGlz Y29ubmVjdCBjb24xCisKKy0tY29ubmVjdGlvbiBkZWZhdWx0CisKK1NFVCBHTE9CQUwgaW5ub2Ri X3RocmVhZF9jb25jdXJyZW5jeSA9IEBvbGRfaW5ub2RiX3RocmVhZF9jb25jdXJyZW5jeTsKK0RS T1AgVEFCTEUgdDE7CisKKworLS1lY2hvICMKIC0tZWNobyAjIEJ1ZyM1MDQxODogRFJPUCBQQVJU SVRJT04gZG9lcyBub3QgaW50ZXJhY3Qgd2l0aCB0cmFuc2FjdGlvbnMKIC0tZWNobyAjCiBDUkVB VEUgVEFCTEUgdDEgKAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3lzL215X3Rocl9pbml0LmMnCi0t LSBhL215c3lzL215X3Rocl9pbml0LmMJMjAxMC0wMi0xMyAxNjowMTozMiArMDAwMAorKysgYi9t eXN5cy9teV90aHJfaW5pdC5jCTIwMTAtMDgtMjMgMDE6NDE6NDIgKzAwMDAKQEAgLTMwMiw2ICsz MDIsOCBAQCB2b2lkIG15X3RocmVhZF9nbG9iYWxfZW5kKHZvaWQpCiAjaWZuZGVmIEhBVkVfR0VU SE9TVEJZTkFNRV9SCiAgIG15c3FsX211dGV4X2Rlc3Ryb3koJkxPQ0tfZ2V0aG9zdGJ5bmFtZV9y KTsKICNlbmRpZgorCisgIG15X3RocmVhZF9iYXNpY19nbG9iYWxfaW5pdF9kb25lPSAwOwogfQog CiBzdGF0aWMgbXlfdGhyZWFkX2lkIHRocmVhZF9pZD0gMDsKCj09PSBtb2RpZmllZCBmaWxlICdz Y3JpcHRzL0NNYWtlTGlzdHMudHh0JwotLS0gYS9zY3JpcHRzL0NNYWtlTGlzdHMudHh0CTIwMTAt MDgtMTIgMTU6MTk6NTcgKzAwMDAKKysrIGIvc2NyaXB0cy9DTWFrZUxpc3RzLnR4dAkyMDEwLTA4 LTE5IDEyOjExOjMxICswMDAwCkBAIC0zNDQsNiArMzQ0LDcgQEAgRUxTRSgpCiAgICAgICBNRVNT QUdFKEZBVEFMX0VSUk9SICJDYW4gbm90IGZpbmQgJHtmaWxlfS5zaCBvciAke2ZpbGV9IGluICIK ICAgICAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfSIgKQogICAgIEVORElGKCkKKyAg ICBFWEVDVVRFX1BST0NFU1MoQ09NTUFORCBjaG1vZCAreCAke0NNQUtFX0NVUlJFTlRfQklOQVJZ X0RJUn0vJHtmaWxlfSkKICAgICBJRihOT1QgJHtmaWxlfV9DT01QT05FTlQpCiAgICAgICBTRVQo JHtmaWxlfV9DT01QT05FTlQgU2VydmVyKQogICAgIEVORElGKCkKCj09PSBtb2RpZmllZCBmaWxl ICdzY3JpcHRzL215c3FsYWNjZXNzLmNvbmYnIChwcm9wZXJ0aWVzIGNoYW5nZWQ6IC14IHRvICt4 KQo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2ZpZWxkLmNjJwotLS0gYS9zcWwvZmllbGQuY2MJMjAx MC0wNy0yOSAxMjozMjoxMSArMDAwMAorKysgYi9zcWwvZmllbGQuY2MJMjAxMC0wOC0yMyAwOTo1 NjoyMSArMDAwMApAQCAtMTMyOSw3ICsxMzI5LDcgQEAgdm9pZCBGaWVsZDo6aGFzaCh1bG9uZyAq bnIsIHVsb25nICpucjIpCiAgIGVsc2UKICAgewogICAgIHVpbnQgbGVuPSBwYWNrX2xlbmd0aCgp OwotICAgIENIQVJTRVRfSU5GTyAqY3M9IGNoYXJzZXQoKTsKKyAgICBDSEFSU0VUX0lORk8gKmNz PSBzb3J0X2NoYXJzZXQoKTsKICAgICBjcy0+Y29sbC0+aGFzaF9zb3J0KGNzLCBwdHIsIGxlbiwg bnIsIG5yMik7CiAgIH0KIH0KCj09PSBtb2RpZmllZCBmaWxlICdzcWwvaXRlbV9zdHJmdW5jLmNj JwotLS0gYS9zcWwvaXRlbV9zdHJmdW5jLmNjCTIwMTAtMDgtMTkgMTE6NTU6MzUgKzAwMDAKKysr IGIvc3FsL2l0ZW1fc3RyZnVuYy5jYwkyMDEwLTA4LTIwIDExOjE0OjExICswMDAwCkBAIC0yMjE3 LDcgKzIyMTcsNyBAQCBjb25zdCBpbnQgRk9STUFUX01BWF9ERUNJTUFMUz0gMzA7CiBNWV9MT0NB TEUgKkl0ZW1fZnVuY19mb3JtYXQ6OmdldF9sb2NhbGUoSXRlbSAqaXRlbSkKIHsKICAgREJVR19B U1NFUlQoYXJnX2NvdW50ID09IDMpOwotICBTdHJpbmcgdG1wLCAqbG9jYWxlX25hbWU9IGFyZ3Nb Ml0tPnZhbF9zdHIoJnRtcCk7CisgIFN0cmluZyB0bXAsICpsb2NhbGVfbmFtZT0gYXJnc1syXS0+ dmFsX3N0cl9hc2NpaSgmdG1wKTsKICAgTVlfTE9DQUxFICpsYzsKICAgaWYgKCFsb2NhbGVfbmFt ZSB8fAogICAgICAgIShsYz0gbXlfbG9jYWxlX2J5X25hbWUobG9jYWxlX25hbWUtPmNfcHRyX3Nh ZmUoKSkpKQpAQCAtMjI1MCw3ICsyMjUwLDcgQEAgdm9pZCBJdGVtX2Z1bmNfZm9ybWF0OjpmaXhf bGVuZ3RoX2FuZF9kZQogICBhcmUgc3RvcmVkIGluIG1vcmUgdGhhbiBvbmUgYnl0ZQogKi8KIAot U3RyaW5nICpJdGVtX2Z1bmNfZm9ybWF0Ojp2YWxfc3RyKFN0cmluZyAqc3RyKQorU3RyaW5nICpJ dGVtX2Z1bmNfZm9ybWF0Ojp2YWxfc3RyX2FzY2lpKFN0cmluZyAqc3RyKQogewogICB1aW50MzIg c3RyX2xlbmd0aDsKICAgLyogTnVtYmVyIG9mIGRlY2ltYWwgZGlnaXRzICovCkBAIC0yMjkwLDgg KzIyOTAsNyBAQCBTdHJpbmcgKkl0ZW1fZnVuY19mb3JtYXQ6OnZhbF9zdHIoU3RyaW5nCiAgICAg aWYgKChudWxsX3ZhbHVlPWFyZ3NbMF0tPm51bGxfdmFsdWUpKQogICAgICAgcmV0dXJuIDA7IC8q IHB1cmVjb3Y6IGluc3BlY3RlZCAqLwogICAgIG5yPSBteV9kb3VibGVfcm91bmQobnIsIChsb25n bG9uZykgZGVjLCBGQUxTRSwgRkFMU0UpOwotICAgIC8qIEhlcmUgZGVmYXVsdF9jaGFyc2V0KCkg aXMgcmlnaHQgYXMgdGhpcyBpcyBub3QgYW4gYXV0b21hdGljIGNvbnZlcnNpb24gKi8KLSAgICBz dHItPnNldF9yZWFsKG5yLCBkZWMsIGRlZmF1bHRfY2hhcnNldCgpKTsKKyAgICBzdHItPnNldF9y ZWFsKG5yLCBkZWMsICZteV9jaGFyc2V0X251bWVyaWMpOwogICAgIGlmIChpc25hbihucikpCiAg ICAgICByZXR1cm4gc3RyOwogICAgIHN0cl9sZW5ndGg9c3RyLT5sZW5ndGgoKTsKQEAgLTIzNDEs NiArMjM0MCwxNCBAQCBTdHJpbmcgKkl0ZW1fZnVuY19mb3JtYXQ6OnZhbF9zdHIoU3RyaW5nCiAg ICAgLyogUHV0IHRoZSByZXN0IG9mIHRoZSBpbnRlZ2VyIHBhcnQgd2l0aG91dCBncm91cGluZyAq LwogICAgIHN0ci0+Y29weShkc3QsIGJ1ZiArIHNpemVvZihidWYpIC0gZHN0LCAmbXlfY2hhcnNl dF9sYXRpbjEpOwogICB9CisgIGVsc2UgaWYgKGRlY19sZW5ndGggJiYgbGMtPmRlY2ltYWxfcG9p bnQgIT0gJy4nKQorICB7CisgICAgLyoKKyAgICAgIEZvciBzaG9ydCB2YWx1ZXMgd2l0aG91dCB0 aG91c2FuZHMgKDwxMDAwKQorICAgICAgcmVwbGFjZSBkZWNpbWFsIHBvaW50IHRvIGxvY2FsaXpl ZCB2YWx1ZS4KKyAgICAqLworICAgICgoY2hhciopIHN0ci0+cHRyKCkpW3N0cl9sZW5ndGggLSBk ZWNfbGVuZ3RoXT0gbGMtPmRlY2ltYWxfcG9pbnQ7CisgIH0KICAgcmV0dXJuIHN0cjsKIH0KIAoK PT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9pdGVtX3N0cmZ1bmMuaCcKLS0tIGEvc3FsL2l0ZW1fc3Ry ZnVuYy5oCTIwMTAtMDgtMTggMTI6MDg6NTkgKzAwMDAKKysrIGIvc3FsL2l0ZW1fc3RyZnVuYy5o CTIwMTAtMDgtMjAgMTE6MTQ6MTEgKzAwMDAKQEAgLTUzOSwxNyArNTM5LDE3IEBAIHB1YmxpYzoK IH07CiAKIAotY2xhc3MgSXRlbV9mdW5jX2Zvcm1hdCA6cHVibGljIEl0ZW1fc3RyX2Z1bmMKK2Ns YXNzIEl0ZW1fZnVuY19mb3JtYXQgOnB1YmxpYyBJdGVtX3N0cl9hc2NpaV9mdW5jCiB7CiAgIFN0 cmluZyB0bXBfc3RyOwogICBNWV9MT0NBTEUgKmxvY2FsZTsKIHB1YmxpYzoKLSAgSXRlbV9mdW5j X2Zvcm1hdChJdGVtICpvcmcsIEl0ZW0gKmRlYyk6IEl0ZW1fc3RyX2Z1bmMob3JnLCBkZWMpIHt9 CisgIEl0ZW1fZnVuY19mb3JtYXQoSXRlbSAqb3JnLCBJdGVtICpkZWMpOiBJdGVtX3N0cl9hc2Np aV9mdW5jKG9yZywgZGVjKSB7fQogICBJdGVtX2Z1bmNfZm9ybWF0KEl0ZW0gKm9yZywgSXRlbSAq ZGVjLCBJdGVtICpsYW5nKToKLSAgSXRlbV9zdHJfZnVuYyhvcmcsIGRlYywgbGFuZykge30KKyAg SXRlbV9zdHJfYXNjaWlfZnVuYyhvcmcsIGRlYywgbGFuZykge30KICAgCiAgIE1ZX0xPQ0FMRSAq Z2V0X2xvY2FsZShJdGVtICppdGVtKTsKLSAgU3RyaW5nICp2YWxfc3RyKFN0cmluZyAqKTsKKyAg U3RyaW5nICp2YWxfc3RyX2FzY2lpKFN0cmluZyAqKTsKICAgdm9pZCBmaXhfbGVuZ3RoX2FuZF9k ZWMoKTsKICAgY29uc3QgY2hhciAqZnVuY19uYW1lKCkgY29uc3QgeyByZXR1cm4gImZvcm1hdCI7 IH0KICAgdmlydHVhbCB2b2lkIHByaW50KFN0cmluZyAqc3RyLCBlbnVtX3F1ZXJ5X3R5cGUgcXVl cnlfdHlwZSk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9hdWRpdC5jYycKLS0tIGEvc3Fs L3NxbF9hdWRpdC5jYwkyMDEwLTA0LTE1IDA5OjM2OjM2ICswMDAwCisrKyBiL3NxbC9zcWxfYXVk aXQuY2MJMjAxMC0wOC0yMCAwOTo1ODoyOCArMDAwMApAQCAtMTM4LDYgKzEzOCwzMCBAQCBzdGF0 aWMgbXlfYm9vbCBhY3F1aXJlX3BsdWdpbnMoVEhEICp0aGQsCiAKIAogLyoqCisgIEBicmllZiBB Y3F1aXJlIGF1ZGl0IHBsdWdpbnMKKworICBAcGFyYW1baW5dICAgdGhkICAgICAgICAgICAgICBN eVNRTCB0aHJlYWQgaGFuZGxlCisgIEBwYXJhbVtpbl0gICBldmVudF9jbGFzcyAgICAgIEF1ZGl0 IGV2ZW50IGNsYXNzCisKKyAgQGRldGFpbHMgRW5zdXJlIHRoYXQgYXVkaXQgcGx1Z2lucyBpbnRl cmVzdGVkIGluIGdpdmVuIGV2ZW50CisgIGNsYXNzIGFyZSBsb2NrZWQgYnkgY3VycmVudCB0aHJl YWQuCisqLwordm9pZCBteXNxbF9hdWRpdF9hY3F1aXJlX3BsdWdpbnMoVEhEICp0aGQsIHVpbnQg ZXZlbnRfY2xhc3MpCit7CisgIHVuc2lnbmVkIGxvbmcgZXZlbnRfY2xhc3NfbWFza1tNWVNRTF9B VURJVF9DTEFTU19NQVNLX1NJWkVdOworICBEQlVHX0VOVEVSKCJteXNxbF9hdWRpdF9hY3F1aXJl X3BsdWdpbnMiKTsKKyAgc2V0X2F1ZGl0X21hc2soZXZlbnRfY2xhc3NfbWFzaywgZXZlbnRfY2xh c3MpOworICBpZiAodGhkICYmICFjaGVja19hdWRpdF9tYXNrKG15c3FsX2dsb2JhbF9hdWRpdF9t YXNrLCBldmVudF9jbGFzc19tYXNrKSAmJgorICAgICAgY2hlY2tfYXVkaXRfbWFzayh0aGQtPmF1 ZGl0X2NsYXNzX21hc2ssIGV2ZW50X2NsYXNzX21hc2spKQorICB7CisgICAgcGx1Z2luX2ZvcmVh Y2godGhkLCBhY3F1aXJlX3BsdWdpbnMsIE1ZU1FMX0FVRElUX1BMVUdJTiwgJmV2ZW50X2NsYXNz KTsKKyAgICBhZGRfYXVkaXRfbWFzayh0aGQtPmF1ZGl0X2NsYXNzX21hc2ssIGV2ZW50X2NsYXNz X21hc2spOworICB9CisgIERCVUdfVk9JRF9SRVRVUk47Cit9CisgCisKKy8qKgogICBOb3RpZnkg dGhlIGF1ZGl0IHN5c3RlbSBvZiBhbiBldmVudAogICAKICAgQHBhcmFtW2luXSB0aGQKQEAgLTE1 MSwyMSArMTc1LDggQEAgdm9pZCBteXNxbF9hdWRpdF9ub3RpZnkoVEhEICp0aGQsIHVpbnQgZQog ewogICB2YV9saXN0IGFwOwogICBhdWRpdF9oYW5kbGVyX3QgKmhhbmRsZXJzPSBhdWRpdF9oYW5k bGVycyArIGV2ZW50X2NsYXNzOwotICB1bnNpZ25lZCBsb25nIGV2ZW50X2NsYXNzX21hc2tbTVlT UUxfQVVESVRfQ0xBU1NfTUFTS19TSVpFXTsKLSAgCiAgIERCVUdfQVNTRVJUKGV2ZW50X2NsYXNz IDwgYXVkaXRfaGFuZGxlcnNfY291bnQpOwotCi0gIHNldF9hdWRpdF9tYXNrKGV2ZW50X2NsYXNz X21hc2ssIGV2ZW50X2NsYXNzKTsKLSAgLyoKLSAgICBDaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBh Y3F1aXJlZCB0aGUgYXVkaXQgcGx1Z2lucyBmb3IgdGhlCi0gICAgcmVxdWlyZWQgYXVkaXQgZXZl bnQgY2xhc3Nlcy4KLSAgKi8KLSAgaWYgKHRoZCAmJiBjaGVja19hdWRpdF9tYXNrKHRoZC0+YXVk aXRfY2xhc3NfbWFzaywgZXZlbnRfY2xhc3NfbWFzaykpCi0gIHsKLSAgICBwbHVnaW5fZm9yZWFj aCh0aGQsIGFjcXVpcmVfcGx1Z2lucywgTVlTUUxfQVVESVRfUExVR0lOLCAmZXZlbnRfY2xhc3Mp OwotICAgIGFkZF9hdWRpdF9tYXNrKHRoZC0+YXVkaXRfY2xhc3NfbWFzaywgZXZlbnRfY2xhc3Nf bWFzayk7Ci0gIH0KLQorICBteXNxbF9hdWRpdF9hY3F1aXJlX3BsdWdpbnModGhkLCBldmVudF9j bGFzcyk7CiAgIHZhX3N0YXJ0KGFwLCBldmVudF9zdWJ0eXBlKTsgIAogICAoKmhhbmRsZXJzKSh0 aGQsIGV2ZW50X3N1YnR5cGUsIGFwKTsKICAgdmFfZW5kKGFwKTsKQEAgLTQ0OCw2ICs0NTksMTEg QEAgc3RhdGljIHZvaWQgZXZlbnRfY2xhc3NfZGlzcGF0Y2goVEhEICp0aAogI2Vsc2UgLyogRU1C RURERURfTElCUkFSWSAqLwogCiAKK3ZvaWQgbXlzcWxfYXVkaXRfYWNxdWlyZV9wbHVnaW5zKFRI RCAqdGhkLCB1aW50IGV2ZW50X2NsYXNzKQoreworfQorCisKIHZvaWQgbXlzcWxfYXVkaXRfaW5p dGlhbGl6ZSgpCiB7CiB9Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9hdWRpdC5oJwotLS0g YS9zcWwvc3FsX2F1ZGl0LmgJMjAxMC0wMy0zMSAxNDowNTozMyArMDAwMAorKysgYi9zcWwvc3Fs X2F1ZGl0LmgJMjAxMC0wOC0yMCAwOTo1ODoyOCArMDAwMApAQCAtMjksNiArMjksNyBAQCBleHRl cm4gdm9pZCBteXNxbF9hdWRpdF9maW5hbGl6ZSgpOwogCiBleHRlcm4gdm9pZCBteXNxbF9hdWRp dF9pbml0X3RoZChUSEQgKnRoZCk7CiBleHRlcm4gdm9pZCBteXNxbF9hdWRpdF9mcmVlX3RoZChU SEQgKnRoZCk7CitleHRlcm4gdm9pZCBteXNxbF9hdWRpdF9hY3F1aXJlX3BsdWdpbnMoVEhEICp0 aGQsIHVpbnQgZXZlbnRfY2xhc3MpOwogCiAKIGV4dGVybiB2b2lkIG15c3FsX2F1ZGl0X25vdGlm eShUSEQgKnRoZCwgdWludCBldmVudF9jbGFzcywKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3Fs X2luc2VydC5jYycKLS0tIGEvc3FsL3NxbF9pbnNlcnQuY2MJMjAxMC0wOC0yMCAwODoyNDozMiAr MDAwMAorKysgYi9zcWwvc3FsX2luc2VydC5jYwkyMDEwLTA4LTIzIDE1OjQyOjUzICswMDAwCkBA IC01NDgsMTAgKzU0OCwzNCBAQCBib29sIG9wZW5fYW5kX2xvY2tfZm9yX2luc2VydF9kZWxheWVk KFRICiAgICAgREJVR19SRVRVUk4oVFJVRSk7CiAgIH0KIAotICBpZiAoZGVsYXllZF9nZXRfdGFi bGUodGhkLCB0YWJsZV9saXN0KSkKKyAgLyoKKyAgICBJbiBvcmRlciBmb3IgdGhlIGRlYWRsb2Nr IGRldGVjdG9yIHRvIGJlIGFibGUgdG8gZmluZCBhbnkgZGVhZGxvY2tzCisgICAgY2F1c2VkIGJ5 IHRoZSBoYW5kbGVyIHRocmVhZCBsb2NraW5nIHRoaXMgdGFibGUsIHdlIHRha2UgdGhlIG1ldGFk YXRhCisgICAgbG9jayBpbnNpZGUgdGhlIGNvbm5lY3Rpb24gdGhyZWFkLiBJZiB0aGlzIGdvZXMg b2ssIHRoZSB0aWNrZXQgaXMgY2xvbmVkCisgICAgYW5kIGFkZGVkIHRvIHRoZSBsaXN0IG9mIGdy YW50ZWQgbG9ja3MgaGVsZCBieSB0aGUgaGFuZGxlciB0aHJlYWQuCisgICovCisgIE1ETF90aWNr ZXQgKm1kbF9zYXZlcG9pbnQ9IHRoZC0+bWRsX2NvbnRleHQubWRsX3NhdmVwb2ludCgpOworICBp ZiAodGhkLT5tZGxfY29udGV4dC5hY3F1aXJlX2xvY2soJnRhYmxlX2xpc3QtPm1kbF9yZXF1ZXN0 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhkLT52YXJpYWJsZXMubG9j a193YWl0X3RpbWVvdXQpKQorICAgIC8qCisgICAgICBJZiBhIGxvY2sgY2FuJ3QgYmUgYWNxdWly ZWQsIGl0IG1ha2VzIG5vIHNlbnNlIHRvIHRyeSBub3JtYWwgaW5zZXJ0LgorICAgICAgVGhlcmVm b3JlIHdlIGp1c3QgYWJvcnQgdGhlIHN0YXRlbWVudC4KKyAgICAqLwogICAgIERCVUdfUkVUVVJO KFRSVUUpOwogCi0gIGlmICh0YWJsZV9saXN0LT50YWJsZSkKKyAgLyoKKyAgICBJZiBhIGxvY2sg d2FzIGFjcXVpcmVkIGFib3ZlLCB3ZSBzaG91bGQgcmVsZWFzZSBpdCBhZnRlciBkZWxheWVkX2dl dF90YWJsZSgpCisgICAgaGFzIGNsb25lZCB0aGUgdGlja2V0IGZvciB0aGUgaGFuZGxlciB0aHJl YWQuIE5vdGUgdGhhdCBhY3F1aXJlX2xvY2soKSBjYW4KKyAgICBzdWNjZWVkIGJlY2F1c2Ugb2Yg YSBsb2NrIGFscmVhZHkgaGVsZCBieSB0aGUgY29ubmVjdGlvbi4gSW4gdGhpcyBjYXNlIHdlCisg ICAgc2hvdWxkIG5vdCByZWxlYXNlIGl0IGhlcmUuCisgICovCisgIE1ETF90aWNrZXQgKnRhYmxl X3RpY2tldCA9IG1kbF9zYXZlcG9pbnQgPT0gdGhkLT5tZGxfY29udGV4dC5tZGxfc2F2ZXBvaW50 KCkgPworICAgIE5VTEw6IHRoZC0+bWRsX2NvbnRleHQubWRsX3NhdmVwb2ludCgpOworCisgIGJv b2wgZXJyb3I9IEZBTFNFOworICBpZiAoZGVsYXllZF9nZXRfdGFibGUodGhkLCB0YWJsZV9saXN0 KSkKKyAgICBlcnJvcj0gVFJVRTsKKyAgZWxzZSBpZiAodGFibGVfbGlzdC0+dGFibGUpCiAgIHsK ICAgICAvKgogICAgICAgT3BlbiB0YWJsZXMgdXNlZCBmb3Igc3ViLXNlbGVjdHMgb3IgaW4gc3Rv cmVkIGZ1bmN0aW9ucywgd2lsbCBhbHNvCkBAIC01NjAsMTYgKzU4NCwzMCBAQCBib29sIG9wZW5f YW5kX2xvY2tfZm9yX2luc2VydF9kZWxheWVkKFRICiAgICAgaWYgKG9wZW5fYW5kX2xvY2tfdGFi bGVzKHRoZCwgdGFibGVfbGlzdC0+bmV4dF9nbG9iYWwsIFRSVUUsIDApKQogICAgIHsKICAgICAg IGVuZF9kZWxheWVkX2luc2VydCh0aGQpOwotICAgICAgREJVR19SRVRVUk4oVFJVRSk7CisgICAg ICBlcnJvcj0gVFJVRTsKKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgIC8qCisgICAgICAg IEZpcnN0IHRhYmxlIHdhcyBub3QgcHJvY2Vzc2VkIGJ5IG9wZW5fYW5kX2xvY2tfdGFibGVzKCks CisgICAgICAgIHdlIG5lZWQgdG8gc2V0IHVwZGF0YWJpbGl0eSBmbGFnICJieSBoYW5kIi4KKyAg ICAgICovCisgICAgICBpZiAoIXRhYmxlX2xpc3QtPmRlcml2ZWQgJiYgIXRhYmxlX2xpc3QtPnZp ZXcpCisgICAgICAgIHRhYmxlX2xpc3QtPnVwZGF0YWJsZT0gMTsgIC8vIHVzdWFsIHRhYmxlCiAg ICAgfQotICAgIC8qCi0gICAgICBGaXJzdCB0YWJsZSB3YXMgbm90IHByb2Nlc3NlZCBieSBvcGVu X2FuZF9sb2NrX3RhYmxlcygpLAotICAgICAgd2UgbmVlZCB0byBzZXQgdXBkYXRhYmlsaXR5IGZs YWcgImJ5IGhhbmQiLgotICAgICovCi0gICAgaWYgKCF0YWJsZV9saXN0LT5kZXJpdmVkICYmICF0 YWJsZV9saXN0LT52aWV3KQotICAgICAgdGFibGVfbGlzdC0+dXBkYXRhYmxlPSAxOyAgLy8gdXN1 YWwgdGFibGUKLSAgICBEQlVHX1JFVFVSTihGQUxTRSk7CiAgIH0KKworICBpZiAodGFibGVfdGlj a2V0KQorICAgIHRoZC0+bWRsX2NvbnRleHQucmVsZWFzZV9sb2NrKHRhYmxlX3RpY2tldCk7Cisg IC8qCisgICAgQ2xvbmVfdGlja2V0KCkgaW4gZGVsYXllZF9nZXRfdGFibGUoKSBjYXVzZXMgVEFC TEVfTElTVDo6TURMX1JFUVVFU1Q6OnRpY2tldAorICAgIHRvIGJlIG92ZXJ3cml0dGVuIHdpdGgg dGhlIGNsb25lZCB0aWNrZXQuIFJlc2V0IHRoZSB0aWNrZXQgaGVyZSBpbiBjYXNlCisgICAgd2Ug ZW5kIHVwIGhhdmluZyB0byB1c2Ugbm9ybWFsIGluc2VydC4KKyAgKi8KKyAgdGFibGVfbGlzdC0+ bWRsX3JlcXVlc3QudGlja2V0PSBOVUxMOworCisgIGlmIChlcnJvciB8fCB0YWJsZV9saXN0LT50 YWJsZSkKKyAgICBEQlVHX1JFVFVSTihlcnJvcik7CiAjZW5kaWYKICAgLyoKICAgICAqIFRoaXMg aXMgZW1iZWRkZWQgbGlicmFyeSBhbmQgd2UgZG9uJ3QgaGF2ZSBhdXhpbGlhcnkKQEAgLTIwMjUs NiArMjA2MywyMCBAQCBib29sIGRlbGF5ZWRfZ2V0X3RhYmxlKFRIRCAqdGhkLCBUQUJMRV9MCiAg ICAgICAvKiBSZXBsYWNlIHZvbGF0aWxlIHN0cmluZ3Mgd2l0aCBsb2NhbCBjb3BpZXMgKi8KICAg ICAgIGRpLT50YWJsZV9saXN0LmFsaWFzPSBkaS0+dGFibGVfbGlzdC50YWJsZV9uYW1lPSBkaS0+ dGhkLnF1ZXJ5KCk7CiAgICAgICBkaS0+dGFibGVfbGlzdC5kYj0gZGktPnRoZC5kYjsKKworICAg ICAgLyoKKyAgICAgICAgQ2xvbmUgdGhlIHRpY2tldCByZXByZXNlbnRpbmcgdGhlIGxvY2sgb24g dGhlIHRhcmdldCB0YWJsZSBmb3IKKyAgICAgICAgdGhlIGluc2VydCBhbmQgYWRkIGl0IHRvIHRo ZSBsaXN0IG9mIGdyYW50ZWQgbWV0YWRhdGEgbG9ja3MgaGVsZCBieQorICAgICAgICB0aGUgaGFu ZGxlciB0aHJlYWQuIFRoaXMgaXMgc2FmZSBzaW5jZSB0aGUgaGFuZGxlciB0aHJlYWQgaXMKKyAg ICAgICAgbm90IGhvbGRpbmcgbm9yIHdhaXRpbmcgb24gYW55IG1ldGFkYXRhIGxvY2tzLgorICAg ICAgKi8KKyAgICAgIGlmIChkaS0+dGhkLm1kbF9jb250ZXh0LmNsb25lX3RpY2tldCgmdGFibGVf bGlzdC0+bWRsX3JlcXVlc3QpKQorICAgICAgeworICAgICAgICBkZWxldGUgZGk7CisgICAgICAg IG15X2Vycm9yKEVSX09VVF9PRl9SRVNPVVJDRVMsIE1ZRihNRV9GQVRBTEVSUk9SKSk7CisgICAg ICAgIGdvdG8gZW5kX2NyZWF0ZTsKKyAgICAgIH0KKwogICAgICAgZGktPmxvY2soKTsKICAgICAg IG15c3FsX211dGV4X2xvY2soJmRpLT5tdXRleCk7CiAgICAgICBpZiAoKGVycm9yPSBteXNxbF90 aHJlYWRfY3JlYXRlKGtleV90aHJlYWRfZGVsYXllZF9pbnNlcnQsCkBAIC0yMDM2LDYgKzIwODgs NyBAQCBib29sIGRlbGF5ZWRfZ2V0X3RhYmxlKFRIRCAqdGhkLCBUQUJMRV9MCiAJCSAgICBlcnJv cikpOwogICAgICAgICBteXNxbF9tdXRleF91bmxvY2soJmRpLT5tdXRleCk7CiAJZGktPnVubG9j aygpOworICAgICAgICBkaS0+dGhkLm1kbF9jb250ZXh0LnJlbGVhc2VfbG9jayh0YWJsZV9saXN0 LT5tZGxfcmVxdWVzdC50aWNrZXQpOwogCWRlbGV0ZSBkaTsKIAlteV9lcnJvcihFUl9DQU5UX0NS RUFURV9USFJFQUQsIE1ZRihNRV9GQVRBTEVSUk9SKSwgZXJyb3IpOwogICAgICAgICBnb3RvIGVu ZF9jcmVhdGU7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9wYXJ0aXRpb24uY2MnCi0tLSBh L3NxbC9zcWxfcGFydGl0aW9uLmNjCTIwMTAtMDgtMTggMTE6Mjk6MDQgKzAwMDAKKysrIGIvc3Fs L3NxbF9wYXJ0aXRpb24uY2MJMjAxMC0wOC0yMCAxNzoxNTo0OCArMDAwMApAQCAtNjMsNiArNjMs NyBAQAogI2luY2x1ZGUgInNxbF90YWJsZS5oIiAgICAgICAgICAgICAgICAgIC8vIGJ1aWxkX3Rh YmxlX2ZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IGJ1aWxkX3RhYmxlX3NoYWRvd19maWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvLyB0YWJsZV90b19maWxlbmFtZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIG15c3FsXypfYWx0ZXJfY29weV9kYXRhCiAjaW5jbHVkZSAi b3B0X3JhbmdlLmgiICAgICAgICAgICAgICAgICAgLy8gc3RvcmVfa2V5X2ltYWdlX3RvX3JlYwog I2luY2x1ZGUgInNxbF9hbmFseXNlLmgiICAgICAgICAgICAgICAgIC8vIGFwcGVuZF9lc2NhcGVk CiAKQEAgLTQzNzcsNyArNDM3OCw2IEBAIHN0YXRpYyBpbnQgZmFzdF9lbmRfcGFydGl0aW9uKFRI RCAqdGhkLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFMVEVSX1BBUlRJVElPTl9Q QVJBTV9UWVBFICpscHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHdyaXR0 ZW5fYmluX2xvZykKIHsKLSAgaW50IGVycm9yOwogICBjaGFyIHRtcF9uYW1lWzgwXTsKICAgREJV R19FTlRFUigiZmFzdF9lbmRfcGFydGl0aW9uIik7CiAKQEAgLTQzODYsMTMgKzQzODYsNiBAQCBz dGF0aWMgaW50IGZhc3RfZW5kX3BhcnRpdGlvbihUSEQgKnRoZCwgCiAgIGlmICghaXNfZW1wdHkp CiAgICAgcXVlcnlfY2FjaGVfaW52YWxpZGF0ZTModGhkLCB0YWJsZV9saXN0LCAwKTsKIAotICBl cnJvcj0gdHJhbnNfY29tbWl0X3N0bXQodGhkKTsKLSAgaWYgKHRyYW5zX2NvbW1pdF9pbXBsaWNp dCh0aGQpKQotICAgIGVycm9yPSAxOwotCi0gIGlmIChlcnJvcikKLSAgICBEQlVHX1JFVFVSTihU UlVFKTsgICAgICAgICAgICAgICAgICAgICAgLyogVGhlIGVycm9yIGhhcyBiZWVuIHJlcG9ydGVk ICovCi0KICAgaWYgKCghaXNfZW1wdHkpICYmICghd3JpdHRlbl9iaW5fbG9nKSAmJgogICAgICAg KCF0aGQtPmxleC0+bm9fd3JpdGVfdG9fYmlubG9nKSAmJgogICAgIHdyaXRlX2Jpbl9sb2codGhk LCBGQUxTRSwgdGhkLT5xdWVyeSgpLCB0aGQtPnF1ZXJ5X2xlbmd0aCgpKSkKQEAgLTU1MzUsMTcg KzU1MjgsMjUgQEAgc3RhdGljIGJvb2wgbXlzcWxfY2hhbmdlX3BhcnRpdGlvbnMoQUxURQogICBj aGFyIHBhdGhbRk5fUkVGTEVOKzFdOwogICBpbnQgZXJyb3I7CiAgIGhhbmRsZXIgKmZpbGU9IGxw dC0+dGFibGUtPmZpbGU7CisgIFRIRCAqdGhkPSBscHQtPnRoZDsKICAgREJVR19FTlRFUigibXlz cWxfY2hhbmdlX3BhcnRpdGlvbnMiKTsKIAogICBidWlsZF90YWJsZV9maWxlbmFtZShwYXRoLCBz aXplb2YocGF0aCkgLSAxLCBscHQtPmRiLCBscHQtPnRhYmxlX25hbWUsICIiLCAwKTsKKworICBp ZihteXNxbF90cmFuc19wcmVwYXJlX2FsdGVyX2NvcHlfZGF0YSh0aGQpKQorICAgIERCVUdfUkVU VVJOKFRSVUUpOworCiAgIGlmICgoZXJyb3I9IGZpbGUtPmhhX2NoYW5nZV9wYXJ0aXRpb25zKGxw dC0+Y3JlYXRlX2luZm8sIHBhdGgsICZscHQtPmNvcGllZCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmxwdC0+ZGVsZXRlZCwgbHB0LT5wYWNrX2ZybV9kYXRhLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBscHQtPnBhY2tfZnJtX2xl bikpKQogICB7CiAgICAgZmlsZS0+cHJpbnRfZXJyb3IoZXJyb3IsIE1ZRihlcnJvciAhPSBFUl9P VVRPRk1FTU9SWSA/IDAgOiBNRV9GQVRBTEVSUk9SKSk7Ci0gICAgREJVR19SRVRVUk4oVFJVRSk7 CiAgIH0KLSAgREJVR19SRVRVUk4oRkFMU0UpOworCisgIGlmIChteXNxbF90cmFuc19jb21taXRf YWx0ZXJfY29weV9kYXRhKHRoZCkpCisgICAgREJVR19SRVRVUk4oVFJVRSk7ICAgICAgICAgICAg ICAgICAgICAgIC8qIFRoZSBlcnJvciBoYXMgYmVlbiByZXBvcnRlZCAqLworCisgIERCVUdfUkVU VVJOKHRlc3QoZXJyb3IpKTsKIH0KIAogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9wbHVn aW4uY2MnCi0tLSBhL3NxbC9zcWxfcGx1Z2luLmNjCTIwMTAtMDgtMTkgMDk6MzM6MzcgKzAwMDAK KysrIGIvc3FsL3NxbF9wbHVnaW4uY2MJMjAxMC0wOC0yMyAwOTozODoxMCArMDAwMApAQCAtMjks NyArMjksNyBAQAogI2luY2x1ZGUgInJlY29yZHMuaCIgICAgICAgICAgLy8gaW5pdF9yZWFkX3Jl Y29yZCwgZW5kX3JlYWRfcmVjb3JkCiAjaW5jbHVkZSA8bXlfcHRocmVhZC5oPgogI2luY2x1ZGUg PG15X2dldG9wdC5oPgotI2luY2x1ZGUgPG15c3FsL3BsdWdpbl9hdWRpdC5oPgorI2luY2x1ZGUg InNxbF9hdWRpdC5oIgogI2luY2x1ZGUgImxvY2suaCIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLy8gTVlTUUxfTE9DS19JR05PUkVfVElNRU9VVAogI2RlZmluZSBSRVBPUlRfVE9fTE9H ICAxCiAjZGVmaW5lIFJFUE9SVF9UT19VU0VSIDIKQEAgLTE3MDksNiArMTcwOSwyNyBAQCBib29s IG15c3FsX2luc3RhbGxfcGx1Z2luKFRIRCAqdGhkLCBjb25zCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1ZU1FMX0xPQ0tfSUdOT1JFX1RJTUVPVVQpKSkKICAgICBEQlVHX1JFVFVSTihU UlVFKTsKIAorICAvKgorICAgIFByZS1hY3F1aXJlIGF1ZGl0IHBsdWdpbnMgZm9yIGV2ZW50cyB0 aGF0IG1heSBwb3RlbnRpYWxseSBvY2N1cgorICAgIGR1cmluZyBbVU5dSU5TVEFMTCBQTFVHSU4u CisKKyAgICBXaGVuIGF1ZGl0IGV2ZW50IGlzIHRyaWdnZXJlZCwgYXVkaXQgc3Vic3lzdGVtIGFj cXVpcmVzIGludGVyZXN0ZWQKKyAgICBwbHVnaW5zIGJ5IHdhbGtpbmcgdGhyb3VnaCBwbHVnaW4g bGlzdC4gRXZpZGVudGx5IHBsdWdpbiBsaXN0CisgICAgaXRlcmF0b3IgcHJvdGVjdHMgcGx1Z2lu IGxpc3QgYnkgYWNxdWlyaW5nIExPQ0tfcGx1Z2luLCBzZWUKKyAgICBwbHVnaW5fZm9yZWFjaF93 aXRoX21hc2soKS4KKworICAgIE9uIHRoZSBvdGhlciBoYW5kIFtVTl1JTlNUQUxMIFBMVUdJTiBp cyBhY3F1aXJpbmcgTE9DS19wbHVnaW4KKyAgICByYXRoZXIgZm9yIGEgbG9uZyB0aW1lLgorCisg ICAgV2hlbiBhdWRpdCBldmVudCBpcyB0cmlnZ2VyZWQgZHVyaW5nIFtVTl1JTlNUQUxMIFBMVUdJ TiwgcGx1Z2luCisgICAgbGlzdCBpdGVyYXRvciBhY3F1aXJlcyB0aGUgc2FtZSBsb2NrICh3aXRo aW4gdGhlIHNhbWUgdGhyZWFkKQorICAgIHNlY29uZCB0aW1lLgorCisgICAgVGhpcyBoYWNrIHNo b3VsZCBiZSByZW1vdmVkIHdoZW4gTE9DS19wbHVnaW4gaXMgZml4ZWQgc28gaXQKKyAgICBwcm90 ZWN0cyBvbmx5IHdoYXQgaXQgc3VwcG9zZWQgdG8gcHJvdGVjdC4KKyAgKi8KKyAgbXlzcWxfYXVk aXRfYWNxdWlyZV9wbHVnaW5zKHRoZCwgTVlTUUxfQVVESVRfR0VORVJBTF9DTEFTUyk7CisKICAg bXlzcWxfbXV0ZXhfbG9jaygmTE9DS19wbHVnaW4pOwogICBteXNxbF9yd2xvY2tfd3Jsb2NrKCZM T0NLX3N5c3RlbV92YXJpYWJsZXNfaGFzaCk7CiAKQEAgLTE3ODksNiArMTgxMCwyNyBAQCBib29s IG15c3FsX3VuaW5zdGFsbF9wbHVnaW4oVEhEICp0aGQsIGNvCiAgIGlmICghICh0YWJsZT0gb3Bl bl9sdGFibGUodGhkLCAmdGFibGVzLCBUTF9XUklURSwgTVlTUUxfTE9DS19JR05PUkVfVElNRU9V VCkpKQogICAgIERCVUdfUkVUVVJOKFRSVUUpOwogCisgIC8qCisgICAgUHJlLWFjcXVpcmUgYXVk aXQgcGx1Z2lucyBmb3IgZXZlbnRzIHRoYXQgbWF5IHBvdGVudGlhbGx5IG9jY3VyCisgICAgZHVy aW5nIFtVTl1JTlNUQUxMIFBMVUdJTi4KKworICAgIFdoZW4gYXVkaXQgZXZlbnQgaXMgdHJpZ2dl cmVkLCBhdWRpdCBzdWJzeXN0ZW0gYWNxdWlyZXMgaW50ZXJlc3RlZAorICAgIHBsdWdpbnMgYnkg d2Fsa2luZyB0aHJvdWdoIHBsdWdpbiBsaXN0LiBFdmlkZW50bHkgcGx1Z2luIGxpc3QKKyAgICBp dGVyYXRvciBwcm90ZWN0cyBwbHVnaW4gbGlzdCBieSBhY3F1aXJpbmcgTE9DS19wbHVnaW4sIHNl ZQorICAgIHBsdWdpbl9mb3JlYWNoX3dpdGhfbWFzaygpLgorCisgICAgT24gdGhlIG90aGVyIGhh bmQgW1VOXUlOU1RBTEwgUExVR0lOIGlzIGFjcXVpcmluZyBMT0NLX3BsdWdpbgorICAgIHJhdGhl ciBmb3IgYSBsb25nIHRpbWUuCisKKyAgICBXaGVuIGF1ZGl0IGV2ZW50IGlzIHRyaWdnZXJlZCBk dXJpbmcgW1VOXUlOU1RBTEwgUExVR0lOLCBwbHVnaW4KKyAgICBsaXN0IGl0ZXJhdG9yIGFjcXVp cmVzIHRoZSBzYW1lIGxvY2sgKHdpdGhpbiB0aGUgc2FtZSB0aHJlYWQpCisgICAgc2Vjb25kIHRp bWUuCisKKyAgICBUaGlzIGhhY2sgc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiBMT0NLX3BsdWdpbiBp cyBmaXhlZCBzbyBpdAorICAgIHByb3RlY3RzIG9ubHkgd2hhdCBpdCBzdXBwb3NlZCB0byBwcm90 ZWN0LgorICAqLworICBteXNxbF9hdWRpdF9hY3F1aXJlX3BsdWdpbnModGhkLCBNWVNRTF9BVURJ VF9HRU5FUkFMX0NMQVNTKTsKKwogICBteXNxbF9tdXRleF9sb2NrKCZMT0NLX3BsdWdpbik7CiAg IGlmICghKHBsdWdpbj0gcGx1Z2luX2ZpbmRfaW50ZXJuYWwobmFtZSwgTVlTUUxfQU5ZX1BMVUdJ TikpKQogICB7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF90YWJsZS5jYycKLS0tIGEvc3Fs L3NxbF90YWJsZS5jYwkyMDEwLTA4LTIwIDA4OjI0OjMyICswMDAwCisrKyBiL3NxbC9zcWxfdGFi bGUuY2MJMjAxMC0wOC0yMCAxNzoxNTo0OCArMDAwMApAQCAtNjc0MCw2ICs2NzQwLDU0IEBAIGVy cl93aXRoX21kbDoKIH0KIC8qIG15c3FsX2FsdGVyX3RhYmxlICovCiAKKworCisvKioKKyAgUHJl cGFyZSB0aGUgdHJhbnNhY3Rpb24gZm9yIHRoZSBhbHRlciB0YWJsZSdzIGNvcHkgcGhhc2UuCisq LworCitib29sIG15c3FsX3RyYW5zX3ByZXBhcmVfYWx0ZXJfY29weV9kYXRhKFRIRCAqdGhkKQor eworICBEQlVHX0VOVEVSKCJteXNxbF9wcmVwYXJlX2FsdGVyX2NvcHlfZGF0YSIpOworICAvKgor ICAgIFR1cm4gb2ZmIHJlY292ZXJ5IGxvZ2dpbmcgc2luY2Ugcm9sbGJhY2sgb2YgYW4gYWx0ZXIg dGFibGUgaXMgdG8KKyAgICBkZWxldGUgdGhlIG5ldyB0YWJsZSBzbyB0aGVyZSBpcyBubyBuZWVk IHRvIGxvZyB0aGUgY2hhbmdlcyB0byBpdC4KKyAgICAKKyAgICBUaGlzIG5lZWRzIHRvIGJlIGRv bmUgYmVmb3JlIGV4dGVybmFsX2xvY2suCisgICovCisgIGlmIChoYV9lbmFibGVfdHJhbnNhY3Rp b24odGhkLCBGQUxTRSkpCisgICAgREJVR19SRVRVUk4oVFJVRSk7CisgIERCVUdfUkVUVVJOKEZB TFNFKTsKK30KKworCisvKioKKyAgQ29tbWl0IHRoZSBjb3B5IHBoYXNlIG9mIHRoZSBhbHRlciB0 YWJsZS4KKyovCisKK2Jvb2wgbXlzcWxfdHJhbnNfY29tbWl0X2FsdGVyX2NvcHlfZGF0YShUSEQg KnRoZCkKK3sKKyAgYm9vbCBlcnJvcj0gRkFMU0U7CisgIERCVUdfRU5URVIoIm15c3FsX2NvbW1p dF9hbHRlcl9jb3B5X2RhdGEiKTsKKworICBpZiAoaGFfZW5hYmxlX3RyYW5zYWN0aW9uKHRoZCwg VFJVRSkpCisgICAgREJVR19SRVRVUk4oVFJVRSk7CisgIAorICAvKgorICAgIEVuc3VyZSB0aGF0 IHRoZSBuZXcgdGFibGUgaXMgc2F2ZWQgcHJvcGVybHkgdG8gZGlzayBiZWZvcmUgaW5zdGFsbGlu ZworICAgIHRoZSBuZXcgLmZybS4KKyAgICBBbmQgdGhhdCBJbm5vREIncyBpbnRlcm5hbCBsYXRj aGVzIGFyZSByZWxlYXNlZCwgdG8gYXZvaWQgZGVhZGxvY2sKKyAgICB3aGVuIHdhaXRpbmcgb24g b3RoZXIgaW5zdGFuY2VzIG9mIHRoZSB0YWJsZSBiZWZvcmUgcmVuYW1lIChCdWcjNTQ3NDcpLgor ICAqLworICBpZiAodHJhbnNfY29tbWl0X3N0bXQodGhkKSkKKyAgICBlcnJvcj0gVFJVRTsKKyAg aWYgKHRyYW5zX2NvbW1pdF9pbXBsaWNpdCh0aGQpKQorICAgIGVycm9yPSBUUlVFOworCisgIERC VUdfUkVUVVJOKGVycm9yKTsKK30KKworCiBzdGF0aWMgaW50CiBjb3B5X2RhdGFfYmV0d2Vlbl90 YWJsZXMoVEFCTEUgKmZyb20sVEFCTEUgKnRvLAogCQkJIExpc3Q8Q3JlYXRlX2ZpZWxkPiAmY3Jl YXRlLApAQCAtNjc2NiwxNCArNjgxNCw3IEBAIGNvcHlfZGF0YV9iZXR3ZWVuX3RhYmxlcyhUQUJM RSAqZnJvbSxUQUIKICAgdWxvbmdsb25nIHByZXZfaW5zZXJ0X2lkOwogICBEQlVHX0VOVEVSKCJj b3B5X2RhdGFfYmV0d2Vlbl90YWJsZXMiKTsKIAotICAvKgotICAgIFR1cm4gb2ZmIHJlY292ZXJ5 IGxvZ2dpbmcgc2luY2Ugcm9sbGJhY2sgb2YgYW4gYWx0ZXIgdGFibGUgaXMgdG8KLSAgICBkZWxl dGUgdGhlIG5ldyB0YWJsZSBzbyB0aGVyZSBpcyBubyBuZWVkIHRvIGxvZyB0aGUgY2hhbmdlcyB0 byBpdC4KLSAgICAKLSAgICBUaGlzIG5lZWRzIHRvIGJlIGRvbmUgYmVmb3JlIGV4dGVybmFsX2xv Y2sKLSAgKi8KLSAgZXJyb3I9IGhhX2VuYWJsZV90cmFuc2FjdGlvbih0aGQsIEZBTFNFKTsKLSAg aWYgKGVycm9yKQorICBpZiAobXlzcWxfdHJhbnNfcHJlcGFyZV9hbHRlcl9jb3B5X2RhdGEodGhk KSkKICAgICBEQlVHX1JFVFVSTigtMSk7CiAgIAogICBpZiAoIShjb3B5PSBuZXcgQ29weV9maWVs ZFt0by0+cy0+ZmllbGRzXSkpCkBAIC02OTMyLDIwICs2OTczLDggQEAgY29weV9kYXRhX2JldHdl ZW5fdGFibGVzKFRBQkxFICpmcm9tLFRBQgogICB9CiAgIHRvLT5maWxlLT5leHRyYShIQV9FWFRS QV9OT19JR05PUkVfRFVQX0tFWSk7CiAKLSAgaWYgKGhhX2VuYWJsZV90cmFuc2FjdGlvbih0aGQs IFRSVUUpKQotICB7CisgIGlmIChteXNxbF90cmFuc19jb21taXRfYWx0ZXJfY29weV9kYXRhKHRo ZCkpCiAgICAgZXJyb3I9IDE7Ci0gICAgZ290byBlcnI7Ci0gIH0KLSAgCi0gIC8qCi0gICAgRW5z dXJlIHRoYXQgdGhlIG5ldyB0YWJsZSBpcyBzYXZlZCBwcm9wZXJseSB0byBkaXNrIHNvIHRoYXQg d2UKLSAgICBjYW4gZG8gYSByZW5hbWUKLSAgKi8KLSAgaWYgKHRyYW5zX2NvbW1pdF9zdG10KHRo ZCkpCi0gICAgZXJyb3I9MTsKLSAgaWYgKHRyYW5zX2NvbW1pdF9pbXBsaWNpdCh0aGQpKQotICAg IGVycm9yPTE7CiAKICBlcnI6CiAgIHRoZC0+dmFyaWFibGVzLnNxbF9tb2RlPSBzYXZlX3NxbF9t b2RlOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfdGFibGUuaCcKLS0tIGEvc3FsL3NxbF90 YWJsZS5oCTIwMTAtMDgtMjAgMDI6NTk6NTggKzAwMDAKKysrIGIvc3FsL3NxbF90YWJsZS5oCTIw MTAtMDgtMjAgMTc6MTU6NDggKzAwMDAKQEAgLTE0Myw2ICsxNDMsOCBAQCBib29sIG15c3FsX2Ny ZWF0ZV90YWJsZV9ub19sb2NrKFRIRCAqdGhkCiBib29sIG15c3FsX3ByZXBhcmVfYWx0ZXJfdGFi bGUoVEhEICp0aGQsIFRBQkxFICp0YWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBIQV9DUkVBVEVfSU5GTyAqY3JlYXRlX2luZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQWx0ZXJfaW5mbyAqYWx0ZXJfaW5mbyk7Citib29sIG15c3FsX3RyYW5zX3ByZXBhcmVf YWx0ZXJfY29weV9kYXRhKFRIRCAqdGhkKTsKK2Jvb2wgbXlzcWxfdHJhbnNfY29tbWl0X2FsdGVy X2NvcHlfZGF0YShUSEQgKnRoZCk7CiBib29sIG15c3FsX2FsdGVyX3RhYmxlKFRIRCAqdGhkLCBj aGFyICpuZXdfZGIsIGNoYXIgKm5ld19uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICBIQV9D UkVBVEVfSU5GTyAqY3JlYXRlX2luZm8sCiAgICAgICAgICAgICAgICAgICAgICAgIFRBQkxFX0xJ U1QgKnRhYmxlX2xpc3QsCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9wZXJmc2NoZW1hL3Bm cy5jYycKLS0tIGEvc3RvcmFnZS9wZXJmc2NoZW1hL3Bmcy5jYwkyMDEwLTA4LTEyIDA5OjUxOjU4 ICswMDAwCisrKyBiL3N0b3JhZ2UvcGVyZnNjaGVtYS9wZnMuY2MJMjAxMC0wOC0xOSAyMjoyNDow NyArMDAwMApAQCAtMTYyNSw3ICsxNjI1LDcgQEAgc3RhdGljIHZvaWQgZW5kX211dGV4X3dhaXRf djEoUFNJX211dGV4XwogICBpZiAoZmxhZ19ldmVudHNfd2FpdHNfaGlzdG9yeV9sb25nKQogICAg IGluc2VydF9ldmVudHNfd2FpdHNfaGlzdG9yeV9sb25nKHdhaXQpOwogCi0gIGlmIChyYyA9PSAw KQorICBpZiAocmMgPT0gMCAmJiB3YWl0LT5tX3RpbWVyX3N0YXRlID09IFRJTUVSX1NUQVRFX1RJ TUVEKQogICB7CiAgICAgLyogVGhyZWFkIHNhZmU6IHdlIGFyZSBwcm90ZWN0ZWQgYnkgdGhlIGlu c3RydW1lbnRlZCBtdXRleCAqLwogICAgIFBGU19zaW5nbGVfc3RhdF9jaGFpbiAqc3RhdDsKQEAg LTE2MzUsOSArMTYzNSw4IEBAIHN0YXRpYyB2b2lkIGVuZF9tdXRleF93YWl0X3YxKFBTSV9tdXRl eF8KIAogICAgIHVsb25nbG9uZyB3YWl0X3RpbWU9IHdhaXQtPm1fdGltZXJfZW5kIC0gd2FpdC0+ bV90aW1lcl9zdGFydDsKICAgICBhZ2dyZWdhdGVfc2luZ2xlX3N0YXRfY2hhaW4oJm11dGV4LT5t X3dhaXRfc3RhdCwgd2FpdF90aW1lKTsKLSAgICBzdGF0PSBmaW5kX3Blcl90aHJlYWRfbXV0ZXhf Y2xhc3Nfd2FpdF9zdGF0KHdhaXQtPm1fdGhyZWFkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbXV0ZXgtPm1fY2xhc3MpOwotICAgYWdncmVnYXRlX3Np bmdsZV9zdGF0X2NoYWluKHN0YXQsIHdhaXRfdGltZSk7CisgICAgc3RhdD0gZmluZF9wZXJfdGhy ZWFkX211dGV4X2NsYXNzX3dhaXRfc3RhdCh3YWl0LT5tX3RocmVhZCwgbXV0ZXgtPm1fY2xhc3Mp OworICAgIGFnZ3JlZ2F0ZV9zaW5nbGVfc3RhdF9jaGFpbihzdGF0LCB3YWl0X3RpbWUpOwogICB9 CiAgIHdhaXQtPm1fdGhyZWFkLT5tX3dhaXRfbG9ja2VyX2NvdW50LS07CiB9CkBAIC0xNjkwLDEx ICsxNjg5LDEzIEBAIHN0YXRpYyB2b2lkIGVuZF9yd2xvY2tfcmR3YWl0X3YxKFBTSV9yd2wKICAg ICByd2xvY2stPm1fd3JpdGVyPSBOVUxMOwogICAgIHJ3bG9jay0+bV9yZWFkZXJzKys7CiAKLSAg ICB1bG9uZ2xvbmcgd2FpdF90aW1lPSB3YWl0LT5tX3RpbWVyX2VuZCAtIHdhaXQtPm1fdGltZXJf c3RhcnQ7Ci0gICAgYWdncmVnYXRlX3NpbmdsZV9zdGF0X2NoYWluKCZyd2xvY2stPm1fd2FpdF9z dGF0LCB3YWl0X3RpbWUpOwotICAgIHN0YXQ9IGZpbmRfcGVyX3RocmVhZF9yd2xvY2tfY2xhc3Nf d2FpdF9zdGF0KHdhaXQtPm1fdGhyZWFkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcndsb2NrLT5tX2NsYXNzKTsKLSAgICBhZ2dyZWdhdGVfc2lu Z2xlX3N0YXRfY2hhaW4oc3RhdCwgd2FpdF90aW1lKTsKKyAgICBpZiAod2FpdC0+bV90aW1lcl9z dGF0ZSA9PSBUSU1FUl9TVEFURV9USU1FRCkKKyAgICB7CisgICAgICB1bG9uZ2xvbmcgd2FpdF90 aW1lPSB3YWl0LT5tX3RpbWVyX2VuZCAtIHdhaXQtPm1fdGltZXJfc3RhcnQ7CisgICAgICBhZ2dy ZWdhdGVfc2luZ2xlX3N0YXRfY2hhaW4oJnJ3bG9jay0+bV93YWl0X3N0YXQsIHdhaXRfdGltZSk7 CisgICAgICBzdGF0PSBmaW5kX3Blcl90aHJlYWRfcndsb2NrX2NsYXNzX3dhaXRfc3RhdCh3YWl0 LT5tX3RocmVhZCwgcndsb2NrLT5tX2NsYXNzKTsKKyAgICAgIGFnZ3JlZ2F0ZV9zaW5nbGVfc3Rh dF9jaGFpbihzdGF0LCB3YWl0X3RpbWUpOworICAgIH0KICAgfQogICB3YWl0LT5tX3RocmVhZC0+ bV93YWl0X2xvY2tlcl9jb3VudC0tOwogfQpAQCAtMTc0MiwxMSArMTc0MywxMyBAQCBzdGF0aWMg dm9pZCBlbmRfcndsb2NrX3dyd2FpdF92MShQU0lfcndsCiAgICAgcndsb2NrLT5tX3JlYWRlcnM9 IDA7CiAgICAgcndsb2NrLT5tX2xhc3RfcmVhZD0gMDsKIAotICAgIHVsb25nbG9uZyB3YWl0X3Rp bWU9IHdhaXQtPm1fdGltZXJfZW5kIC0gd2FpdC0+bV90aW1lcl9zdGFydDsKLSAgICBhZ2dyZWdh dGVfc2luZ2xlX3N0YXRfY2hhaW4oJnJ3bG9jay0+bV93YWl0X3N0YXQsIHdhaXRfdGltZSk7Ci0g ICAgc3RhdD0gZmluZF9wZXJfdGhyZWFkX3J3bG9ja19jbGFzc193YWl0X3N0YXQod2FpdC0+bV90 aHJlYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cndsb2NrLT5tX2NsYXNzKTsKLSAgICBhZ2dyZWdhdGVfc2luZ2xlX3N0YXRfY2hhaW4oc3RhdCwg d2FpdF90aW1lKTsKKyAgICBpZiAod2FpdC0+bV90aW1lcl9zdGF0ZSA9PSBUSU1FUl9TVEFURV9U SU1FRCkKKyAgICB7CisgICAgICB1bG9uZ2xvbmcgd2FpdF90aW1lPSB3YWl0LT5tX3RpbWVyX2Vu ZCAtIHdhaXQtPm1fdGltZXJfc3RhcnQ7CisgICAgICBhZ2dyZWdhdGVfc2luZ2xlX3N0YXRfY2hh aW4oJnJ3bG9jay0+bV93YWl0X3N0YXQsIHdhaXRfdGltZSk7CisgICAgICBzdGF0PSBmaW5kX3Bl cl90aHJlYWRfcndsb2NrX2NsYXNzX3dhaXRfc3RhdCh3YWl0LT5tX3RocmVhZCwgcndsb2NrLT5t X2NsYXNzKTsKKyAgICAgIGFnZ3JlZ2F0ZV9zaW5nbGVfc3RhdF9jaGFpbihzdGF0LCB3YWl0X3Rp bWUpOworICAgIH0KICAgfQogICB3YWl0LT5tX3RocmVhZC0+bV93YWl0X2xvY2tlcl9jb3VudC0t OwogfQpAQCAtMTgwMywxMSArMTgwNiwxMyBAQCBzdGF0aWMgdm9pZCBlbmRfY29uZF93YWl0X3Yx KFBTSV9jb25kX2xvCiAgICAgUEZTX3NpbmdsZV9zdGF0X2NoYWluICpzdGF0OwogICAgIFBGU19j b25kICpjb25kPSBwZnNfbG9ja2VyLT5tX3RhcmdldC5tX2NvbmQ7CiAKLSAgICB1bG9uZ2xvbmcg d2FpdF90aW1lPSB3YWl0LT5tX3RpbWVyX2VuZCAtIHdhaXQtPm1fdGltZXJfc3RhcnQ7Ci0gICAg YWdncmVnYXRlX3NpbmdsZV9zdGF0X2NoYWluKCZjb25kLT5tX3dhaXRfc3RhdCwgd2FpdF90aW1l KTsKLSAgICBzdGF0PSBmaW5kX3Blcl90aHJlYWRfY29uZF9jbGFzc193YWl0X3N0YXQod2FpdC0+ bV90aHJlYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbmQtPm1fY2xhc3MpOwotICAgIGFnZ3JlZ2F0ZV9zaW5nbGVfc3RhdF9jaGFpbihzdGF0LCB3 YWl0X3RpbWUpOworICAgIGlmICh3YWl0LT5tX3RpbWVyX3N0YXRlID09IFRJTUVSX1NUQVRFX1RJ TUVEKQorICAgIHsKKyAgICAgIHVsb25nbG9uZyB3YWl0X3RpbWU9IHdhaXQtPm1fdGltZXJfZW5k IC0gd2FpdC0+bV90aW1lcl9zdGFydDsKKyAgICAgIGFnZ3JlZ2F0ZV9zaW5nbGVfc3RhdF9jaGFp bigmY29uZC0+bV93YWl0X3N0YXQsIHdhaXRfdGltZSk7CisgICAgICBzdGF0PSBmaW5kX3Blcl90 aHJlYWRfY29uZF9jbGFzc193YWl0X3N0YXQod2FpdC0+bV90aHJlYWQsIGNvbmQtPm1fY2xhc3Mp OworICAgICAgYWdncmVnYXRlX3NpbmdsZV9zdGF0X2NoYWluKHN0YXQsIHdhaXRfdGltZSk7Cisg ICAgfQogICB9CiAgIHdhaXQtPm1fdGhyZWFkLT5tX3dhaXRfbG9ja2VyX2NvdW50LS07CiB9CkBA IC0xODUwLDkgKzE4NTUsMTIgQEAgc3RhdGljIHZvaWQgZW5kX3RhYmxlX3dhaXRfdjEoUFNJX3Rh YmxlXwogICBpZiAoZmxhZ19ldmVudHNfd2FpdHNfaGlzdG9yeV9sb25nKQogICAgIGluc2VydF9l dmVudHNfd2FpdHNfaGlzdG9yeV9sb25nKHdhaXQpOwogCi0gIFBGU190YWJsZSAqdGFibGU9IHBm c19sb2NrZXItPm1fdGFyZ2V0Lm1fdGFibGU7Ci0gIHVsb25nbG9uZyB3YWl0X3RpbWU9IHdhaXQt Pm1fdGltZXJfZW5kIC0gd2FpdC0+bV90aW1lcl9zdGFydDsKLSAgYWdncmVnYXRlX3NpbmdsZV9z dGF0X2NoYWluKCZ0YWJsZS0+bV93YWl0X3N0YXQsIHdhaXRfdGltZSk7CisgIGlmICh3YWl0LT5t X3RpbWVyX3N0YXRlID09IFRJTUVSX1NUQVRFX1RJTUVEKQorICB7CisgICAgUEZTX3RhYmxlICp0 YWJsZT0gcGZzX2xvY2tlci0+bV90YXJnZXQubV90YWJsZTsKKyAgICB1bG9uZ2xvbmcgd2FpdF90 aW1lPSB3YWl0LT5tX3RpbWVyX2VuZCAtIHdhaXQtPm1fdGltZXJfc3RhcnQ7CisgICAgYWdncmVn YXRlX3NpbmdsZV9zdGF0X2NoYWluKCZ0YWJsZS0+bV93YWl0X3N0YXQsIHdhaXRfdGltZSk7Cisg IH0KIAogICAvKgogICAgIFRoZXJlIGlzIGN1cnJlbnRseSBubyBwZXIgdGFibGUgYW5kIHBlciB0 aHJlYWQgYWdncmVnYXRpb24uCgo= --===============8624204827655749870== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/jon.hauglid@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: jon.hauglid@stripped # target_branch: file:///export/home/x/mysql-5.5-runtime-test/ # testament_sha1: 53f195c9c2090ec5445d99d4c2e073e7143aea77 # timestamp: 2010-08-24 11:15:16 +0200 # source_branch: file:///export/home/x/mysql-5.5-bugfixing/ # base_revision_id: jon.hauglid@stripped\ # 7d3mk3y33mm7ogbk # # Begin bundle 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 z/L/sXckU4UJCUABAjA= --===============8624204827655749870==--