From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26950 invoked from network); 20 Jan 2023 13:40:18 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 20 Jan 2023 13:40:18 -0000 Content-Type: multipart/mixed; boundary="===============2089131568837286672==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_transcode=3A_dead_URL_upstream=2E?= To: ml@inbox.vuxu.org From: zlice Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Fri, 20 Jan 2023 14:40:18 +0100 List-Id: Message-ID: <20230120134018.7O2_bksuuzAjgCx3duTiwBYzhwsv8BFUd58UGQkYshU@z> GitHub notification mails are now in MIME to allow UTF8. --===============2089131568837286672== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgemxpY2UgYWdhaW5zdCBtYXN0ZXIg b24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3psaWNl L3ZvaWQtcGFja2FnZXMgdHJhbnNjb2RlX2RlYWQKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQxMDE4Cgp0cmFuc2NvZGU6IGRlYWQgVVJMIHVwc3RyZWFt LgpUaGlzIHBhY2thZ2UgYXBwZWFycyB0byBoYXZlIHZhbmlzaGVkLiBPdGhlciBkaXN0cm9zIHBv aW50IHRvIGJpdGJ1Y2tldCAqKmZyYW5jZSoqIHdoaWxlIHZvaWQgcG9pbnRzIHRvICoqbW9qYXZl cyoqIGJ1dCBib3RoIGFyZSBub3Qgb24gYml0YnVja2V0Lg0KCgpBIHBhdGNoIGZpbGUgZnJvbSBo dHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDEwMTgucGF0 Y2ggaXMgYXR0YWNoZWQ= --===============2089131568837286672== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-transcode_dead-41018.patch" RnJvbSA5MzNmMTVjNTYwNzcxZjEyYmU3ZGRjMDRhZjBhMTNkZGY0OGU5NDRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDEzOjAwOjA4IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gdHJhbnNjb2RlOiBy ZW1vdmUgcGFja2FnZS4KCi0tLQogc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlICAg ICAgICAgICAgIHwgICAgMSArCiBzcmNwa2dzL3RyYW5zY29kZS9wYXRjaGVzL211c2wucGF0Y2gg ICAgICAgICAgfCAgIDIwIC0KIC4uLi9wYXRjaGVzL3RyYW5zY29kZS1jb25maWd1cmVfaW4ucGF0 Y2ggICAgICB8ICAgNDUgLQogLi4uL3RyYW5zY29kZS9wYXRjaGVzL3RyYW5zY29kZS1mZm1wZWcz LnBhdGNoIHwgMTI0MSAtLS0tLS0tLS0tLS0tLS0tLQogLi4uL3RyYW5zY29kZS9wYXRjaGVzL3Ry YW5zY29kZS1mZm1wZWc0LnBhdGNoIHwgIDQ5NyAtLS0tLS0tCiBzcmNwa2dzL3RyYW5zY29kZS90 ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDI0IC0KIDYgZmlsZXMgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDE4MjcgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy90cmFuc2NvZGUvcGF0Y2hlcy9tdXNsLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy90cmFuc2NvZGUvcGF0Y2hlcy90cmFuc2NvZGUtY29uZmlndXJlX2luLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFuc2NvZGUtZmZtcGVnMy5w YXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJhbnNj b2RlLWZmbXBlZzQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3RyYW5zY29kZS90 ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZSBi L3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQppbmRleCBkZjNmZGMzMzFjODQuLjlh ZWEyZGFhZDdkZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQpAQCAtNDg5LDYgKzQ4OSw3 IEBAIHJlcGxhY2VzPSIKICB0YWl6ZW48PTAuMC4wLjIwMTgwODA4XzQKICB0ZXJtaW5hbF9tYXJr ZG93bl92aWV3ZXI8PTEuNi4zXzQKICB0bHNkYXRlPD0wLjAuMTNfMTYKKyB0cmFuc2NvZGU8PTEu MS43XzQKICB0cmF2ZXJzbzw9MC40OS42XzIKICB0dHlsb2FkLWdpdDw9MjAxNDExMTdfNAogIHR1 eGM8PTEuMV8zCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RyYW5zY29kZS9wYXRjaGVzL211c2wucGF0 Y2ggYi9zcmNwa2dzL3RyYW5zY29kZS9wYXRjaGVzL211c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDg3NTYyN2U0NTAzZC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv dHJhbnNjb2RlL3BhdGNoZXMvbXVzbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAg QEAKLS0tLSBhL2F2aWxpYi9hdmlkdW1wLmMKLSsrKyBiL2F2aWxpYi9hdmlkdW1wLmMKLUBAIC0z MjAsNyArMzIwLDcgQEAKLSB7Ci0gICAgIHVpbnQzMl90IGksaix2YWwzMjsKLSAgICAgdWludDE2 X3QgdmFsMTY7Ci0tICAgIGxvZmZfdCB2YWw2NDsKLSsgICAgdWludDY0X3QgdmFsNjQ7Ci0gICAg IGNoYXIgdmFsODsKLSAKLSAgICAgZm9yIChpID0gMDsgbmFtZXNbaV0udHlwZSAhPSBFb0xTVDsg aSsrKSB7Ci1AQCAtNjA1LDcgKzYwNSw3IEBACi0gCi0gICAgIGNhc2UgaW5keHRhZzogewotIAl1 aW50MzJfdCBjaHVua3M9KmNodW5rc2l6ZS1zaXplb2YobmFtZXNfaW5keCkvc2l6ZW9mKGNoYXIq KTsKLS0JbG9mZl90IG9mZnNldDsKLSsJdWludDY0X3Qgb2Zmc2V0OwotIAl1aW50MzJfdCBzaXpl LCBkdXJhdGlvbjsKLSAJdWludDMyX3QgdT0wOwotIAlvZmZfdCBpbmR4ZW5kID0gZGF0YXBvcyAr IGNodW5rczsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJhbnNjb2Rl LWNvbmZpZ3VyZV9pbi5wYXRjaCBiL3NyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJhbnNjb2Rl LWNvbmZpZ3VyZV9pbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTA3ZmJi M2I2NGQ0Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFu c2NvZGUtY29uZmlndXJlX2luLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAot LS0tIGEvY29uZmlndXJlLmluCTIwMTgtMDYtMjIgMjA6NTc6MDguOTI1MDMzNjg1ICswMjAwCi0r KysgYi9jb25maWd1cmUuaW4JMjAxOC0wNi0yMiAyMDo1ODoxOS41NDQwMzczMjggKzAyMDAKLUBA IC03NzYsNDIgKzc3Niw2IEBACi0gICAgIExBTUVfQ0ZMQUdTPSIkbGFtZV9paSIKLSAgIGZpCi0g ICBDUFBGTEFHUz0iJHNhdmVfQ1BQRkxBR1MiCi0tCi0tICBBQ19NU0dfQ0hFQ0tJTkcoW2xhbWUg dmVyc2lvbl0pCi0tICBhY19zYXZlX0NGTEFHUz0iJENGTEFHUyIKLS0gIGFjX3NhdmVfTElCUz0i JExJQlMiCi0tICBDRkxBR1M9IiRDRkxBR1MgJExBTUVfQ0ZMQUdTIgotLSAgTElCUz0iJExJQlMg JExBTUVfTElCUyIKLS0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCi0tI2luY2x1 ZGUgPHN0ZGlvLmg+Ci0tCi0tI2lmZGVmIEhBVkVfTEFNRV9JTkMKLS0jaW5jbHVkZSA8bGFtZS9s YW1lLmg+Ci0tI2Vsc2UKLS0jaW5jbHVkZSA8bGFtZS5oPgotLSNlbmRpZgotLQotLWludCBtYWlu ICgpIHsKLS0gIGxhbWVfdmVyc2lvbl90IGx2OwotLSAgZ2V0X2xhbWVfdmVyc2lvbl9udW1lcmlj YWwoJmx2KTsKLS0gIGlmKGx2LmFscGhhIHx8IGx2LmJldGEpIGx2Lm1pbm9yLS07Ci0tICBwcmlu dGYoIiVkJWRcbiIsIGx2Lm1ham9yLCBsdi5taW5vcik7Ci0tICByZXR1cm4gMDsKLS19Ci0tXV0p XSwKLS0gICAgW2xhbWVfdmVyc2lvbj0iYC4vY29uZnRlc3QkYWNfZXhlZXh0YCJdLAotLSAgICBb QUNfTVNHX1JFU1VMVChbZmFpbGVkXSkKLS0gICAgIFRDX1BLR19FUlJPUihsYW1lLCBsYW1lLmgs IHllcywgbGFtZSwgW2h0dHA6Ly93d3cubXAzZGV2Lm9yZy9dLAotLSAgICAgIFtjYW5ub3QgY29t cGlsZSBhbmQgcnVuIGEgdGVzdCBwcm9ncmFtXSldLCwKLS0gICAgW0FDX01TR19SRVNVTFQoW2Ny b3NzIGNvbXBpbGluZzsgYXNzdW1lZCBPSy4uLl0pXSkKLS0gIENGTEFHUz0iJGFjX3NhdmVfQ0ZM QUdTIgotLSAgTElCUz0iJGFjX3NhdmVfTElCUyIKLS0KLS0gIGlmIHRlc3QgMzkzIC1nZSAiJGxh bWVfdmVyc2lvbiIgOyB0aGVuCi0tICAgIGhhdmVfbGFtZT0ibm8iCi0tICAgIFRDX1BLR19FUlJP UihsYW1lLCBsYW1lLmgsIHllcywgbGFtZSwgW2h0dHA6Ly93d3cubXAzZGV2Lm9yZy9dLAotLSAg ICAgIFtsYW1lIHZlcnNpb24gPCAzLjkzXSkKLS0gIGZpCi0gZmkKLSBUQ19QS0dfSEFWRShsYW1l LCBMQU1FKQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFuc2Nv ZGUtZmZtcGVnMy5wYXRjaCBiL3NyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJhbnNjb2RlLWZm bXBlZzMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2OWE5ZWI2M2NiMi4u MDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJhbnNjb2RlLWZm bXBlZzMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjQxICswLDAgQEAKLVN1Ym1pdHRlZCBC eTogICAgICAgICAgICBBcm1pb24gSy4gPGtyZWp6aSBhdCBlbWFpbCBkb3QgY29tPgotRGF0ZTog ICAgICAgICAgICAgICAgICAgIDIwMTYtMDUtMDYKLUluaXRpYWwgUGFja2FnZSBWZXJzaW9uOiAx LjEuNwotVXBzdHJlYW0gU3RhdHVzOiAgICAgICAgIFVua25vd24KLU9yaWdpbjogICAgICAgICAg ICAgICAgICBHZW50b28gYW5kIERlYmlhbgotRGVzY3JpcHRpb246ICAgICAgICAgICAgIEZpeGVz IGJ1aWxkaW5nIGFnYWluc3QgRkZtcGVnIHZlcnNpb24gPj0gMy4wLjAKLQotLS0tIGEvZW5jb2Rl L2VuY29kZV9sYXZjLmMJMjAxMS0xMS0xOSAxNzo1MDoyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBi L2VuY29kZS9lbmNvZGVfbGF2Yy5jCTIwMTYtMDItMTUgMTY6MDg6MzcuOTE0NDg4MTE2ICswMTAw Ci1AQCAtNzQsNiArNzQsOSBAQAotICAgICBpbnQgbG1pbjsKLSAgICAgaW50IGxtYXg7Ci0gICAg IGludCBtZV9tZXRob2Q7Ci0rICAgIGludCBsdW1hX2VsaW1fdGhyZXNob2xkOwotKyAgICBpbnQg Y2hyb21hX2VsaW1fdGhyZXNob2xkOwotKyAgICBpbnQgcXVhbnRpemVyX25vaXNlX3NoYXBpbmc7 Ci0gCi0gICAgIC8qIHNhbWUgYXMgYWJvdmUgZm9yIGZsYWdzICovCi0gICAgIHN0cnVjdCB7Ci1A QCAtMTE0LDYgKzExNyw3IEBACi0gCi0gICAgIEFWRnJhbWUgZmZfdmVuY19mcmFtZTsKLSAgICAg QVZDb2RlY0NvbnRleHQgZmZfdmNvbnRleHQ7Ci0rICAgIEFWRGljdGlvbmFyeSAqIGZmX29wdHM7 Ci0gCi0gICAgIEFWQ29kZWMgKmZmX3Zjb2RlYzsKLSAKLUBAIC0xNjQsNiArMTY4LDcgQEAKLSAg ICAgVENfQ09ERUNfRVJST1IKLSB9OwotIAotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFKT1Ig PCA1NQotIHN0YXRpYyBjb25zdCBlbnVtIENvZGVjSUQgdGNfbGF2Y19pbnRlcm5hbF9jb2RlY3Nb XSA9IHsKLSAgICAgQ09ERUNfSURfTVBFRzFWSURFTywgQ09ERUNfSURfTVBFRzJWSURFTywgQ09E RUNfSURfTVBFRzQsCi0gICAgIENPREVDX0lEX0gyNjNJLCBDT0RFQ19JRF9IMjYzUCwKLUBAIC0x NzYsNiArMTgxLDIwIEBACi0gICAgIENPREVDX0lEX01TTVBFRzRWMiwgQ09ERUNfSURfTVNNUEVH NFYzLAotICAgICBDT0RFQ19JRF9OT05FCi0gfTsKLSsjZWxzZQotK3N0YXRpYyBjb25zdCBlbnVt IEFWQ29kZWNJRCB0Y19sYXZjX2ludGVybmFsX2NvZGVjc1tdID0gewotKyAgICBBVl9DT0RFQ19J RF9NUEVHMVZJREVPLCBBVl9DT0RFQ19JRF9NUEVHMlZJREVPLCBBVl9DT0RFQ19JRF9NUEVHNCwK LSsgICAgQVZfQ09ERUNfSURfSDI2M0ksIEFWX0NPREVDX0lEX0gyNjNQLAotKyAgICBBVl9DT0RF Q19JRF9IMjY0LAotKyAgICBBVl9DT0RFQ19JRF9XTVYxLCBBVl9DT0RFQ19JRF9XTVYyLAotKyAg ICBBVl9DT0RFQ19JRF9SVjEwLAotKyAgICBBVl9DT0RFQ19JRF9IVUZGWVVWLCBBVl9DT0RFQ19J RF9GRlYxLAotKyAgICBBVl9DT0RFQ19JRF9EVlZJREVPLAotKyAgICBBVl9DT0RFQ19JRF9NSlBF RywgQVZfQ09ERUNfSURfTEpQRUcsCi0rICAgIEFWX0NPREVDX0lEX01TTVBFRzRWMiwgQVZfQ09E RUNfSURfTVNNUEVHNFYzLAotKyAgICBBVl9DT0RFQ19JRF9OT05FCi0rfTsKLSsjZW5kaWYKLSAK LSBzdGF0aWMgY29uc3QgVENGb3JtYXRJRCB0Y19sYXZjX2Zvcm1hdHNbXSA9IHsgVENfRk9STUFU X0VSUk9SIH07Ci0gCi1AQCAtMjE0LDcgKzIzMyw3IEBACi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZmcmFtZV9saXN0X3QgKnZmcmFtZSkKLSB7Ci0gICAgIGF2cGljdHVy ZV9maWxsKChBVlBpY3R1cmUgKikmcGQtPmZmX3ZlbmNfZnJhbWUsIHZmcmFtZS0+dmlkZW9fYnVm LAotLSAgICAgICAgICAgICAgICAgICAgUElYX0ZNVF9ZVVY0MjBQLAotKyAgICAgICAgICAgICAg ICAgICAgQVZfUElYX0ZNVF9ZVVY0MjBQLAotICAgICAgICAgICAgICAgICAgICAgcGQtPmZmX3Zj b250ZXh0LndpZHRoLCBwZC0+ZmZfdmNvbnRleHQuaGVpZ2h0KTsKLSB9Ci0gCi1AQCAtMjI4LDcg KzI0Nyw3IEBACi0gICAgICAgICAgICAgICAgICAgICBJTUdfWVVWX0RFRkFVTFQsCi0gICAgICAg ICAgICAgICAgICAgICBwZC0+ZmZfdmNvbnRleHQud2lkdGgsIHBkLT5mZl92Y29udGV4dC5oZWln aHQpOwotICAgICBhdnBpY3R1cmVfZmlsbCgoQVZQaWN0dXJlICopJnBkLT5mZl92ZW5jX2ZyYW1l LCBwZC0+dmZyYW1lX2J1Zi0+dmlkZW9fYnVmLAotLSAgICAgICAgICAgICAgICAgICBQSVhfRk1U X1lVVjQyMlAsCi0rICAgICAgICAgICAgICAgICAgIEFWX1BJWF9GTVRfWVVWNDIyUCwKLSAgICAg ICAgICAgICAgICAgICAgcGQtPmZmX3Zjb250ZXh0LndpZHRoLCBwZC0+ZmZfdmNvbnRleHQuaGVp Z2h0KTsKLSAgICAgYWNfaW1nY29udmVydChzcmMsIElNR19ZVVZfREVGQVVMVCwKLSAgICAgICAg ICAgICAgICAgICBwZC0+ZmZfdmVuY19mcmFtZS5kYXRhLCBJTUdfWVVWNDIyUCwKLUBAIC0yNDQs NyArMjYzLDcgQEAKLSAgICAgICAgICAgICAgICAgICAgIElNR19ZVVY0MjJQLAotICAgICAgICAg ICAgICAgICAgICAgcGQtPmZmX3Zjb250ZXh0LndpZHRoLCBwZC0+ZmZfdmNvbnRleHQuaGVpZ2h0 KTsKLSAgICAgYXZwaWN0dXJlX2ZpbGwoKEFWUGljdHVyZSAqKSZwZC0+ZmZfdmVuY19mcmFtZSwg cGQtPnZmcmFtZV9idWYtPnZpZGVvX2J1ZiwKLS0gICAgICAgICAgICAgICAgICAgUElYX0ZNVF9Z VVY0MjBQLAotKyAgICAgICAgICAgICAgICAgICBBVl9QSVhfRk1UX1lVVjQyMFAsCi0gICAgICAg ICAgICAgICAgICAgIHBkLT5mZl92Y29udGV4dC53aWR0aCwgcGQtPmZmX3Zjb250ZXh0LmhlaWdo dCk7Ci0gICAgIGFjX2ltZ2NvbnZlcnQoc3JjLCBJTUdfWVVWNDIyUCwKLSAgICAgICAgICAgICAg ICAgICBwZC0+ZmZfdmVuY19mcmFtZS5kYXRhLCBJTUdfWVVWNDIwUCwKLUBAIC0yNTYsNyArMjc1 LDcgQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZnJh bWVfbGlzdF90ICp2ZnJhbWUpCi0gewotICAgICBhdnBpY3R1cmVfZmlsbCgoQVZQaWN0dXJlICop JnBkLT5mZl92ZW5jX2ZyYW1lLCB2ZnJhbWUtPnZpZGVvX2J1ZiwKLS0gICAgICAgICAgICAgICAg ICAgUElYX0ZNVF9ZVVY0MjJQLAotKyAgICAgICAgICAgICAgICAgICBBVl9QSVhfRk1UX1lVVjQy MlAsCi0gICAgICAgICAgICAgICAgICAgIHBkLT5mZl92Y29udGV4dC53aWR0aCwgcGQtPmZmX3Zj b250ZXh0LmhlaWdodCk7Ci0gCi0gfQotQEAgLTI2Niw3ICsyODUsNyBAQAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdmZyYW1lX2xpc3RfdCAqdmZyYW1lKQotIHsKLSAgICAg YXZwaWN0dXJlX2ZpbGwoKEFWUGljdHVyZSAqKSZwZC0+ZmZfdmVuY19mcmFtZSwgcGQtPnZmcmFt ZV9idWYtPnZpZGVvX2J1ZiwKLS0gICAgICAgICAgICAgICAgICAgUElYX0ZNVF9ZVVY0MjBQLAot KyAgICAgICAgICAgICAgICAgICBBVl9QSVhfRk1UX1lVVjQyMFAsCi0gICAgICAgICAgICAgICAg ICAgIHBkLT5mZl92Y29udGV4dC53aWR0aCwgcGQtPmZmX3Zjb250ZXh0LmhlaWdodCk7Ci0gICAg IGFjX2ltZ2NvbnZlcnQoJnZmcmFtZS0+dmlkZW9fYnVmLCBJTUdfUkdCX0RFRkFVTFQsCi0gICAg ICAgICAgICAgICAgICAgcGQtPmZmX3ZlbmNfZnJhbWUuZGF0YSwgSU1HX1lVVjQyMFAsCi1AQCAt NTkxLDIxICs2MTAsMjEgQEAKLSAgICAgICBjYXNlIENPREVDX1lVVjoKLSAgICAgICAgIGlmIChU Q19WQ09ERUNfSUQocGQpID09IFRDX0NPREVDX0hVRkZZVVYpIHsKLSAgICAgICAgICAgICBwZC0+ dGNfcGl4X2ZtdCA9IFRDX0NPREVDX1lVVjQyMlA7Ci0tICAgICAgICAgICAgcGQtPmZmX3Zjb250 ZXh0LnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQyMlA7Ci0rICAgICAgICAgICAgcGQtPmZmX3Zjb250 ZXh0LnBpeF9mbXQgPSBBVl9QSVhfRk1UX1lVVjQyMlA7Ci0gICAgICAgICAgICAgcGQtPnByZV9l bmNvZGVfdmlkZW8gPSBwcmVfZW5jb2RlX3ZpZGVvX3l1djQyMHBfaHVmZnl1djsKLSAgICAgICAg IH0gZWxzZSB7Ci0gICAgICAgICAgICAgcGQtPnRjX3BpeF9mbXQgPSBUQ19DT0RFQ19ZVVY0MjBQ OwotICAgICAgICAgICAgIHBkLT5mZl92Y29udGV4dC5waXhfZm10ID0gKFRDX1ZDT0RFQ19JRChw ZCkgPT0gVENfQ09ERUNfTUpQRUcpIAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgID8gUElYX0ZNVF9ZVVZKNDIwUAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDogUElYX0ZNVF9ZVVY0MjBQOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgID8gQVZfUElYX0ZNVF9ZVVZKNDIwUAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDogQVZfUElYX0ZNVF9ZVVY0MjBQOwotICAgICAgICAgICAgIHBk LT5wcmVfZW5jb2RlX3ZpZGVvID0gcHJlX2VuY29kZV92aWRlb195dXY0MjBwOwotICAgICAgICAg fQotICAgICAgICAgYnJlYWs7Ci0gICAgICAgY2FzZSBDT0RFQ19ZVVY0MjI6Ci0gICAgICAgICBw ZC0+dGNfcGl4X2ZtdCA9IFRDX0NPREVDX1lVVjQyMlA7Ci0gICAgICAgICBwZC0+ZmZfdmNvbnRl eHQucGl4X2ZtdCA9IChUQ19WQ09ERUNfSUQocGQpID09IFRDX0NPREVDX01KUEVHKSAKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gUElYX0ZNVF9ZVVZKNDIyUAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBQSVhfRk1UX1lVVjQyMlA7Ci0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IEFWX1BJWF9GTVRfWVVWSjQyMlAKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogQVZfUElYX0ZNVF9ZVVY0MjJQOwotICAg ICAgICAgaWYgKFRDX1ZDT0RFQ19JRChwZCkgPT0gVENfQ09ERUNfSFVGRllVVikgewotICAgICAg ICAgICAgIHBkLT5wcmVfZW5jb2RlX3ZpZGVvID0gcHJlX2VuY29kZV92aWRlb195dXY0MjJwX2h1 ZmZ5dXY7Ci0gICAgICAgICB9IGVsc2UgewotQEAgLTYxNSwxMCArNjM0LDEwIEBACi0gICAgICAg Y2FzZSBDT0RFQ19SR0I6Ci0gICAgICAgICBwZC0+dGNfcGl4X2ZtdCA9IFRDX0NPREVDX1JHQjsK LSAgICAgICAgIHBkLT5mZl92Y29udGV4dC5waXhfZm10ID0gKFRDX1ZDT0RFQ19JRChwZCkgPT0g VENfQ09ERUNfSFVGRllVVikKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPyBQSVhfRk1UX1lVVjQyMlAKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPyBBVl9QSVhfRk1UX1lVVjQyMlAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOiAoVENfVkNPREVDX0lEKHBkKSA9PSBUQ19DT0RFQ19NSlBFRykgCi0tICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gUElYX0ZNVF9ZVVZKNDIw UAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFBJWF9GTVRf WVVWNDIwUDsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBB Vl9QSVhfRk1UX1lVVko0MjBQCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDogQVZfUElYX0ZNVF9ZVVY0MjBQOwotICAgICAgICAgcGQtPnByZV9lbmNvZGVfdmlk ZW8gPSBwcmVfZW5jb2RlX3ZpZGVvX3JnYjI0OwotICAgICAgICAgYnJlYWs7Ci0gICAgICAgZGVm YXVsdDoKLUBAIC05MzcsNyArOTU2LDExIEBACi0gc3RhdGljIHZvaWQgdGNfbGF2Y19jb25maWdf ZGVmYXVsdHMoVENMYXZjUHJpdmF0ZURhdGEgKnBkKQotIHsKLSAgICAgLyogZmlyc3Qgb2YgYWxs IHJlaW5pdGlhbGl6ZSBsYXZjIGRhdGEgKi8KLSsjaWYgTElCQVZDT0RFQ19WRVJTSU9OX01BSk9S IDwgNTUKLSAgICAgYXZjb2RlY19nZXRfY29udGV4dF9kZWZhdWx0cygmcGQtPmZmX3Zjb250ZXh0 KTsKLSsjZWxzZQotKyAgICBhdmNvZGVjX2dldF9jb250ZXh0X2RlZmF1bHRzMygmcGQtPmZmX3Zj b250ZXh0LCBOVUxMKTsKLSsjZW5kaWYKLSAKLSAgICAgcGQtPmNvbmZkYXRhLnRocmVhZF9jb3Vu dCA9IDE7Ci0gCi1AQCAtOTU1LDggKzk3OCw2IEBACi0gICAgIC8qIAotICAgICAgKiBjb250ZXh0 ICp0cmFuc2NvZGUqIChub3QgbGliYXZjb2RlYykgZGVmYXVsdHMKLSAgICAgICovCi0tICAgIHBk LT5mZl92Y29udGV4dC5tYl9xbWluICAgICAgICAgICAgICAgICA9IDI7Ci0tICAgIHBkLT5mZl92 Y29udGV4dC5tYl9xbWF4ICAgICAgICAgICAgICAgICA9IDMxOwotICAgICBwZC0+ZmZfdmNvbnRl eHQubWF4X3FkaWZmICAgICAgICAgICAgICAgPSAzOwotICAgICBwZC0+ZmZfdmNvbnRleHQubWF4 X2JfZnJhbWVzICAgICAgICAgICAgPSAwOwotICAgICBwZC0+ZmZfdmNvbnRleHQubWVfcmFuZ2Ug ICAgICAgICAgICAgICAgPSAwOwotQEAgLTk3Nyw4ICs5OTgsOCBAQAotICAgICBwZC0+ZmZfdmNv bnRleHQubXBlZ19xdWFudCAgICAgICAgICAgICAgPSAwOwotICAgICBwZC0+ZmZfdmNvbnRleHQu cmNfaW5pdGlhbF9jcGx4ICAgICAgICAgPSAwLjA7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5yY19x c3F1aXNoICAgICAgICAgICAgICA9IDEuMDsKLS0gICAgcGQtPmZmX3Zjb250ZXh0Lmx1bWFfZWxp bV90aHJlc2hvbGQgICAgID0gMDsKLS0gICAgcGQtPmZmX3Zjb250ZXh0LmNocm9tYV9lbGltX3Ro cmVzaG9sZCAgID0gMDsKLSsgICAgcGQtPmNvbmZkYXRhLmx1bWFfZWxpbV90aHJlc2hvbGQgICAg ID0gMDsKLSsgICAgcGQtPmNvbmZkYXRhLmNocm9tYV9lbGltX3RocmVzaG9sZCAgID0gMDsKLSAg ICAgcGQtPmZmX3Zjb250ZXh0LnN0cmljdF9zdGRfY29tcGxpYW5jZSAgID0gMDsKLSAgICAgcGQt PmZmX3Zjb250ZXh0LmRjdF9hbGdvICAgICAgICAgICAgICAgID0gRkZfRENUX0FVVE87Ci0gICAg IHBkLT5mZl92Y29udGV4dC5pZGN0X2FsZ28gICAgICAgICAgICAgICA9IEZGX0lEQ1RfQVVUTzsK LUBAIC0xMDAyLDcgKzEwMjMsNyBAQAotICAgICBwZC0+ZmZfdmNvbnRleHQuaW50cmFfcXVhbnRf YmlhcyAgICAgICAgPSBGRl9ERUZBVUxUX1FVQU5UX0JJQVM7Ci0gICAgIHBkLT5mZl92Y29udGV4 dC5pbnRlcl9xdWFudF9iaWFzICAgICAgICA9IEZGX0RFRkFVTFRfUVVBTlRfQklBUzsKLSAgICAg cGQtPmZmX3Zjb250ZXh0Lm5vaXNlX3JlZHVjdGlvbiAgICAgICAgID0gMDsKLS0gICAgcGQtPmZm X3Zjb250ZXh0LnF1YW50aXplcl9ub2lzZV9zaGFwaW5nID0gMDsKLSsgICAgcGQtPmNvbmZkYXRh LnF1YW50aXplcl9ub2lzZV9zaGFwaW5nID0gMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LmZsYWdz ICAgICAgICAgICAgICAgICAgID0gMDsKLSB9Ci0gCi1AQCAtMTAzMywxNyArMTA1NCwxMCBAQAot ICAgICBwZC0+ZmZfdmNvbnRleHQubWVfbWV0aG9kID0gTUVfWkVSTyArIHBkLT5jb25mZGF0YS5t ZV9tZXRob2Q7Ci0gCi0gICAgIHBkLT5mZl92Y29udGV4dC5mbGFncyA9IDA7Ci0tICAgIFNFVF9G TEFHKHBkLCBtdjApOwotLSAgICBTRVRfRkxBRyhwZCwgY2JwKTsKLSAgICAgU0VUX0ZMQUcocGQs IHFwZWwpOwotLSAgICBTRVRfRkxBRyhwZCwgYWx0KTsKLS0gICAgU0VUX0ZMQUcocGQsIHZkcGFy dCk7Ci0tICAgIFNFVF9GTEFHKHBkLCBuYXEpOwotICAgICBTRVRfRkxBRyhwZCwgaWxtZSk7Ci0g ICAgIFNFVF9GTEFHKHBkLCBpbGRjdCk7Ci0gICAgIFNFVF9GTEFHKHBkLCBhaWMpOwotLSAgICBT RVRfRkxBRyhwZCwgYWl2KTsKLS0gICAgU0VUX0ZMQUcocGQsIHVtdik7Ci0gICAgIFNFVF9GTEFH KHBkLCBwc25yKTsKLSAgICAgU0VUX0ZMQUcocGQsIHRyZWxsKTsKLSAgICAgU0VUX0ZMQUcocGQs IGdyYXkpOwotQEAgLTEwNjQsNiArMTA3OCwzNiBAQAotICAgICAgICAgcGQtPmZmX3Zjb250ZXh0 LmZsYWdzIHw9IENPREVDX0ZMQUdfSU5URVJMQUNFRF9EQ1Q7Ci0gICAgICAgICBwZC0+ZmZfdmNv bnRleHQuZmxhZ3MgfD0gQ09ERUNfRkxBR19JTlRFUkxBQ0VEX01FOwotICAgICB9Ci0rICAgIGlm IChwZC0+Y29uZmRhdGEuZmxhZ3MuYWx0KSB7Ci0rICAgICAgICBhdl9kaWN0X3NldCgmKHBkLT5m Zl9vcHRzKSwgImFsdGVybmF0ZV9zY2FuIiwgIjEiLCAwKTsKLSsgICAgfQotKyAgICBpZiAocGQt PmNvbmZkYXRhLmZsYWdzLnZkcGFydCkgewotKyAgICAgICAgYXZfZGljdF9zZXQoJihwZC0+ZmZf b3B0cyksICJkYXRhX3BhcnRpdGlvbmluZyIsICIxIiwgMCk7Ci0rICAgIH0KLSsgICAgaWYgKHBk LT5jb25mZGF0YS5mbGFncy51bXYpIHsKLSsgICAgICAgIGF2X2RpY3Rfc2V0KCYocGQtPmZmX29w dHMpLCAidW12IiwgIjEiLCAwKTsKLSsgICAgfQotKyAgICBpZiAocGQtPmNvbmZkYXRhLmZsYWdz LmFpdikgewotKyAgICAgICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyksICJhaXYiLCAiMSIs IDApOwotKyAgICB9Ci0rICAgIGlmIChwZC0+Y29uZmRhdGEuZmxhZ3MuY2JwKSB7Ci0rICAgIAlh dl9kaWN0X3NldCgmKHBkLT5mZl9vcHRzKSwgIm1wdl9mbGFncyIsICIrY2JwX3JkIiwgMCk7Ci0r ICAgIH0KLSsgICAgaWYgKHBkLT5jb25mZGF0YS5mbGFncy5tdjApIHsKLSsgICAgICAgIGF2X2Rp Y3Rfc2V0KCYocGQtPmZmX29wdHMpLCAibXB2X2ZsYWdzIiwgIittdjAiLCAwKTsKLSsgICAgfQot KyAgICBpZiAocGQtPmNvbmZkYXRhLmZsYWdzLm5hcSkgewotKyAgICAgICAgYXZfZGljdF9zZXQo JihwZC0+ZmZfb3B0cyksICJtcHZfZmxhZ3MiLCAiK25hcSIsIDApOwotKyAgICB9Ci0rCi0rICAg IGNoYXIgYnVmWzEwMjRdOwotKyNkZWZpbmUgc2V0X2RpY3Rfb3B0KHZhbCwgb3B0KSBcCi0rICAg IHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlaSIsIHBkLT5jb25mZGF0YS52YWwpO1wKLSsg ICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyksIG9wdCwgYnVmLCAwKQotKwotKyAgICBzZXRf ZGljdF9vcHQobHVtYV9lbGltX3RocmVzaG9sZCwgImx1bWFfZWxpbV90aHJlc2hvbGQiKTsKLSsg ICAgc2V0X2RpY3Rfb3B0KGNocm9tYV9lbGltX3RocmVzaG9sZCwgImNocm9tYV9lbGltX3RocmVz aG9sZCIpOwotKyAgICBzZXRfZGljdF9vcHQocXVhbnRpemVyX25vaXNlX3NoYXBpbmcsICJxdWFu dGl6ZXJfbm9pc2Vfc2hhcGluZyIpOwotIH0KLSAKLSAjdW5kZWYgU0VUX0ZMQUcKLUBAIC0xMTE2 LDEyICsxMTYwLDEwIEBACi0gICAgICAgICAvLyAgaGFuZGxlZCBieSB0cmFuc2NvZGUgY29yZQot ICAgICAgICAgLy8gIHsgInZxbWF4IiwgUENUWChxbWF4KSwgVENDT05GX1RZUEVfSU5ULCBUQ0NP TkZfRkxBR19SQU5HRSwgMSwgNjAgfSwKLSAgICAgICAgIC8vICBoYW5kbGVkIGJ5IHRyYW5zY29k ZSBjb3JlCi0tICAgICAgICB7ICJtYnFtaW4iLCBQQ1RYKG1iX3FtaW4pLCBUQ0NPTkZfVFlQRV9J TlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAxLCA2MCB9LAotLSAgICAgICAgeyAibWJxbWF4IiwgUENU WChtYl9xbWF4KSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgNjAgfSwK LSAgICAgICAgIHsgImxtaW4iLCBQQVVYKGxtaW4pLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05G X0ZMQUdfUkFOR0UsIDAuMDEsIDI1NS4wIH0sCi0gICAgICAgICB7ICJsbWF4IiwgUEFVWChsbWF4 KSwgVENDT05GX1RZUEVfRkxPQVQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLjAxLCAyNTUuMCB9LAot ICAgICAgICAgeyAidnFkaWZmIiwgUENUWChtYXhfcWRpZmYpLCBUQ0NPTkZfVFlQRV9JTlQsIFRD Q09ORl9GTEFHX1JBTkdFLCAxLCAzMSB9LAotLSAgICAgICAgeyAidm1heF9iX2ZyYW1lcyIsIFBD VFgobWF4X2JfZnJhbWVzKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwg RkZfTUFYX0JfRlJBTUVTIH0sCi0rICAgICAgICB7ICJ2bWF4X2JfZnJhbWVzIiwgUENUWChtYXhf Yl9mcmFtZXMpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCBJTlRfTUFY IH0sCi0gICAgICAgICB7ICJ2bWUiLCBQQVVYKG1lX21ldGhvZCksIFRDQ09ORl9UWVBFX0lOVCwg VENDT05GX0ZMQUdfUkFOR0UsIDAsIDE2LCB9LAotICAgICAgICAgeyAibWVfcmFuZ2UiLCBQQ1RY KG1lX3JhbmdlKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMTYwMDAg fSwKLSAgICAgICAgIHsgIm1iZCIsIFBDVFgobWJfZGVjaXNpb24pLCBUQ0NPTkZfVFlQRV9JTlQs IFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAzIH0sCi1AQCAtMTE1MCw4ICsxMTkyLDggQEAKLSAgICAg ICAgIHsgInZyY19pbml0X2NwbHgiLCBQQ1RYKHJjX2luaXRpYWxfY3BseCksIFRDQ09ORl9UWVBF X0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wLCA5OTk5OTk5LjAgfSwKLSAgICAgICAgIC8v ICB7ICJ2cmNfaW5pdF9vY2N1cGFuY3kiLCAgIH0sIC8vIG5vdCB5ZXQgc3VwcG9ydGVkCi0gICAg ICAgICB7ICJ2cXNxdWlzaCIsIFBDVFgocmNfcXNxdWlzaCksIFRDQ09ORl9UWVBFX0ZMT0FULCBU Q0NPTkZfRkxBR19SQU5HRSwgMC4wLCA5OS4wIH0sCi0tICAgICAgICB7ICJ2bGVsaW0iLCBQQ1RY KGx1bWFfZWxpbV90aHJlc2hvbGQpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdF LCAtOTksIDk5IH0sCi0tICAgICAgICB7ICJ2Y2VsaW0iLCBQQ1RYKGNocm9tYV9lbGltX3RocmVz aG9sZCksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC05OSwgOTkgfSwKLSsg ICAgICAgIHsgInZsZWxpbSIsIFBBVVgobHVtYV9lbGltX3RocmVzaG9sZCksIFRDQ09ORl9UWVBF X0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC05OSwgOTkgfSwKLSsgICAgICAgIHsgInZjZWxpbSIs IFBBVVgoY2hyb21hX2VsaW1fdGhyZXNob2xkKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxB R19SQU5HRSwgLTk5LCA5OSB9LAotICAgICAgICAgeyAidnN0cmljdCIsIFBDVFgoc3RyaWN0X3N0 ZF9jb21wbGlhbmNlKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTk5LCA5 OSB9LAotICAgICAgICAgeyAidnBzaXplIiwgUENUWChydHBfcGF5bG9hZF9zaXplKSwgVENDT05G X1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMTAwMDAwMDAwIH0sCi0gICAgICAgICB7 ICJkY3QiLCBQQ1RYKGRjdF9hbGdvKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5H RSwgMCwgMTAgfSwKLUBAIC0xMTc3LDI1ICsxMjE5LDI1IEBACi0gICAgICAgICB7ICJpYmlhcyIs IFBDVFgoaW50cmFfcXVhbnRfYmlhcyksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFO R0UsIC01MTIsIDUxMiB9LAotICAgICAgICAgeyAicGJpYXMiLCBQQ1RYKGludGVyX3F1YW50X2Jp YXMpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAtNTEyLCA1MTIgfSwKLSAg ICAgICAgIHsgIm5yIiwgUENUWChub2lzZV9yZWR1Y3Rpb24pLCBUQ0NPTkZfVFlQRV9JTlQsIFRD Q09ORl9GTEFHX1JBTkdFLCAwLCAxMDAwMDAwfSwKLS0gICAgICAgIHsgInFucyIsIFBDVFgocXVh bnRpemVyX25vaXNlX3NoYXBpbmcpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdF LCAwLCAzIH0sCi0rICAgICAgICB7ICJxbnMiLCBQQVVYKHF1YW50aXplcl9ub2lzZV9zaGFwaW5n KSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMyB9LAotICAgICAgICAg eyAiaW50ZXJfbWF0cml4X2ZpbGUiLCBpbnRlcl9tYXRyaXhfZmlsZSwgVENDT05GX1RZUEVfU1RS SU5HLCAwLCAwLCAwIH0sCi0gICAgICAgICB7ICJpbnRyYV9tYXRyaXhfZmlsZSIsIGludHJhX21h dHJpeF9maWxlLCBUQ0NPTkZfVFlQRV9TVFJJTkcsIDAsIDAsIDAgfSwKLSAgICAgCi0tICAgICAg ICB7ICJtdjAiLCBQQVVYKGZsYWdzLm12MCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVD X0ZMQUdfTVYwIH0sCi0tICAgICAgICB7ICJjYnAiLCBQQVVYKGZsYWdzLmNicCksIFRDQ09ORl9U WVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfQ0JQX1JEIH0sCi0rICAgICAgICB7ICJtdjAiLCBQ QVVYKGZsYWdzLm12MCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwKLSsgICAgICAgIHsg ImNicCIsIFBBVVgoZmxhZ3MuY2JwKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9LAotICAg ICAgICAgeyAicXBlbCIsIFBBVVgoZmxhZ3MucXBlbCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAs IENPREVDX0ZMQUdfUVBFTCB9LAotLSAgICAgICAgeyAiYWx0IiwgUEFVWChmbGFncy5hbHQpLCBU Q0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX0FMVF9TQ0FOIH0sCi0rICAgICAgICB7 ICJhbHQiLCBQQVVYKGZsYWdzLmFsdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwKLSAg ICAgICAgIHsgImlsbWUiLCBQQVVYKGZsYWdzLmlsbWUpLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAw LCBDT0RFQ19GTEFHX0lOVEVSTEFDRURfTUUgfSwKLSAgICAgICAgIHsgImlsZGN0IiwgUEFVWChm bGFncy5pbGRjdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfSU5URVJMQUNF RF9EQ1QgfSwKLS0gICAgICAgIHsgIm5hcSIsIFBBVVgoZmxhZ3MubmFxKSwgVENDT05GX1RZUEVf RkxBRywgMCwgMCwgQ09ERUNfRkxBR19OT1JNQUxJWkVfQVFQIH0sCi0tICAgICAgICB7ICJ2ZHBh cnQiLCBQQVVYKGZsYWdzLnZkcGFydCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZM QUdfUEFSVCB9LAotKyAgICAgICAgeyAibmFxIiwgUEFVWChmbGFncy5uYXEpLCBUQ0NPTkZfVFlQ RV9GTEFHLCAwLCAwLCAxIH0sCi0rICAgICAgICB7ICJ2ZHBhcnQiLCBQQVVYKGZsYWdzLnZkcGFy dCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwKLSAjaWYgTElCQVZDT0RFQ19WRVJTSU9O X0lOVCA8ICgoNTI8PDE2KSsoMDw8OCkrMCkKLSAgICAgICAgIHsgImFpYyIsIFBBVVgoZmxhZ3Mu YWljKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19IMjYzUF9BSUMgfSwKLSAj ZWxzZSAgICAgICAgCi0gICAgICAgICB7ICJhaWMiLCBQQVVYKGZsYWdzLmFpYyksIFRDQ09ORl9U WVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfQUNfUFJFRCB9LAotICNlbmRpZgotLSAgICAgICAg eyAiYWl2IiwgUEFVWChmbGFncy5haXYpLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19G TEFHX0gyNjNQX0FJViB9LAotLSAgICAgICAgeyAidW12IiwgUEFVWChmbGFncy51bXYpLCBUQ0NP TkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX0gyNjNQX1VNViB9LAotKyAgICAgICAgeyAi YWl2IiwgUEFVWChmbGFncy5haXYpLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAxIH0sCi0rICAg ICAgICB7ICJ1bXYiLCBQQVVYKGZsYWdzLnVtdiksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEg fSwKLSAgICAgICAgIHsgInBzbnIiLCBQQVVYKGZsYWdzLnBzbnIpLCBUQ0NPTkZfVFlQRV9GTEFH LCAwLCAwLCBDT0RFQ19GTEFHX1BTTlIgfSwKLSAjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8 ICgoNTI8PDE2KSsoMDw8OCkrMCkKLSAgICAgICAgIHsgInRyZWxsIiwgUEFVWChmbGFncy50cmVs bCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfVFJFTExJU19RVUFOVCB9LAot QEAgLTEzNDUsMTIgKzEzODcsMTQgQEAKLSAKLSAgICAgcGQgPSBzZWxmLT51c2VyZGF0YTsKLSAK LSsgICAgcGQtPmZmX29wdHMgPSBOVUxMOwotKwotICAgICBwZC0+Zmx1c2hfZmxhZyA9IHZvYi0+ ZW5jb2Rlcl9mbHVzaDsKLSAgICAgCi0gICAgIC8qIEZJWE1FOiBtb3ZlIGludG8gY29yZT8gKi8K LSAgICAgVENfSU5JVF9MSUJBVkNPREVDOwotIAotLSAgICBhdmNvZGVjX2dldF9mcmFtZV9kZWZh dWx0cygmcGQtPmZmX3ZlbmNfZnJhbWUpOwotKyAgICBhdl9mcmFtZV91bnJlZigmcGQtPmZmX3Zl bmNfZnJhbWUpOwotICAgICAvKgotICAgICAgKiBhdXhpbGlhcnkgY29uZmlnIGRhdGEgbmVlZHMg dG8gYmUgYmxhbmtlZCB0b28KLSAgICAgICogYmVmb3JlIGFueSBvdGhlciBvcGVyYXRpb24KLUBA IC0xMzg3LDcgKzE0MzEsNyBAQAotICAgICAgICAgICAgICAgICAgICAgcGQtPmNvbmZkYXRhLnRo cmVhZF9jb3VudCwKLSAgICAgICAgICAgICAgICAgICAgIChwZC0+Y29uZmRhdGEudGhyZWFkX2Nv dW50ID4gMSkgPyJzIiA6IiIpOwotICAgICB9Ci0tICAgIGF2Y29kZWNfdGhyZWFkX2luaXQoJnBk LT5mZl92Y29udGV4dCwgcGQtPmNvbmZkYXRhLnRocmVhZF9jb3VudCk7Ci0rICAgIHBkLT5mZl92 Y29udGV4dC50aHJlYWRfY291bnQgPSBwZC0+Y29uZmRhdGEudGhyZWFkX2NvdW50OwotIAotICAg ICBwZC0+ZmZfdmNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXIoRkZfVkNPREVDX0lEKHBkKSk7 Ci0gICAgIGlmIChwZC0+ZmZfdmNvZGVjID09IE5VTEwpIHsKLUBAIC0xMzk3LDExICsxNDQxLDEx IEBACi0gICAgIH0KLSAKLSAgICAgVENfTE9DS19MSUJBVkNPREVDOwotLSAgICByZXQgPSBhdmNv ZGVjX29wZW4oJnBkLT5mZl92Y29udGV4dCwgcGQtPmZmX3Zjb2RlYyk7Ci0rICAgIHJldCA9IGF2 Y29kZWNfb3BlbjIoJnBkLT5mZl92Y29udGV4dCwgcGQtPmZmX3Zjb2RlYywgJihwZC0+ZmZfb3B0 cykpOwotICAgICBUQ19VTkxPQ0tfTElCQVZDT0RFQzsKLSAKLSAgICAgaWYgKHJldCA8IDApIHsK LS0gICAgICAgIHRjX2xvZ19lcnJvcihNT0RfTkFNRSwgImF2Y29kZWNfb3BlbigpIGZhaWxlZCIp OwotKyAgICAgICAgdGNfbG9nX2Vycm9yKE1PRF9OQU1FLCAiYXZjb2RlY19vcGVuMigpIGZhaWxl ZCIpOwotICAgICAgICAgZ290byBmYWlsZWQ7Ci0gICAgIH0KLSAgICAgLyogZmluYWxseSwgcGFz cyB1cCB0aGUgZXh0cmFkYXRhLCBpZiBhbnkgKi8KLUBAIC0xNDgzLDYgKzE1MjcsOCBAQAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmZyYW1lX2xpc3RfdCAqb3V0ZnJhbWUpCi0g ewotICAgICBUQ0xhdmNQcml2YXRlRGF0YSAqcGQgPSBOVUxMOwotKyAgICBBVlBhY2tldCBwa3Q7 Ci0rICAgIGludCByZXQsIGdvdF9wYWNrZXQgPSAwOwotIAotICAgICBUQ19NT0RVTEVfU0VMRl9D SEVDSyhzZWxmLCAiZW5jb2RlX3ZpZGVvIik7Ci0gCi1AQCAtMTQ5NywxMiArMTU0MywxNSBAQAot IAotICAgICBwZC0+cHJlX2VuY29kZV92aWRlbyhwZCwgaW5mcmFtZSk7IAotIAotKyAgICBhdl9p bml0X3BhY2tldCgmcGt0KTsKLSsgICAgcGt0LmRhdGEgPSBvdXRmcmFtZS0+dmlkZW9fYnVmOwot KyAgICBwa3Quc2l6ZSA9IGluZnJhbWUtPnZpZGVvX3NpemU7Ci0rCi0gICAgIFRDX0xPQ0tfTElC QVZDT0RFQzsKLS0gICAgb3V0ZnJhbWUtPnZpZGVvX2xlbiA9IGF2Y29kZWNfZW5jb2RlX3ZpZGVv KCZwZC0+ZmZfdmNvbnRleHQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBvdXRmcmFtZS0+dmlkZW9fYnVmLAotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW5mcmFtZS0+dmlkZW9fc2l6ZSwKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwZC0+ZmZfdmVuY19mcmFtZSk7 Ci0rICAgIHJldCA9IGF2Y29kZWNfZW5jb2RlX3ZpZGVvMigmcGQtPmZmX3Zjb250ZXh0LCAgICZw a3QsCi0rICAgIAkJCQkmcGQtPmZmX3ZlbmNfZnJhbWUsICZnb3RfcGFja2V0KTsKLSAgICAgVENf VU5MT0NLX0xJQkFWQ09ERUM7Ci0rICAgIG91dGZyYW1lLT52aWRlb19sZW4gPSByZXQgPyByZXQg OiBwa3Quc2l6ZTsKLSAKLSAgICAgaWYgKG91dGZyYW1lLT52aWRlb19sZW4gPCAwKSB7Ci0gICAg ICAgICB0Y19sb2dfd2FybihNT0RfTkFNRSwgImVuY29kZXIgZXJyb3I6IHNpemUgKCVpKSIsCi0t LS0gYS9leHBvcnQvYXVkX2F1eC5jCTIwMTEtMTEtMTkgMTc6NTA6MjcuMDAwMDAwMDAwICswMTAw Ci0rKysgYi9leHBvcnQvYXVkX2F1eC5jCTIwMTYtMDItMTUgMTY6MDg6MzcuOTE0NDg4MTE2ICsw MTAwCi1AQCAtMzI2LDEwICszMjYsMTAgQEAKLSAKLSAgICAgc3dpdGNoIChvX2NvZGVjKSB7Ci0g ICAgICAgY2FzZSAgIDB4NTA6Ci0tICAgICAgICBjb2RlaWQgPSBDT0RFQ19JRF9NUDI7Ci0rICAg ICAgICBjb2RlaWQgPSBBVl9DT0RFQ19JRF9NUDI7Ci0gICAgICAgICBicmVhazsKLSAgICAgICBj YXNlIDB4MjAwMDoKLS0gICAgICAgIGNvZGVpZCA9IENPREVDX0lEX0FDMzsKLSsgICAgICAgIGNv ZGVpZCA9IEFWX0NPREVDX0lEX0FDMzsKLSAgICAgICAgIGJyZWFrOwotICAgICAgIGRlZmF1bHQ6 Ci0gICAgICAgICB0Y193YXJuKCJjYW5ub3QgaW5pdCBmZm1wZWcgd2l0aCAleCIsIG9fY29kZWMp OwotQEAgLTM0Niw3ICszNDYsNyBAQAotIAotICAgICAvLy0tIHNldCBwYXJhbWV0ZXJzIChiaXRy YXRlLCBjaGFubmVscyBhbmQgc2FtcGxlLXJhdGUpIC0tCi0gICAgIC8vLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gICAgYXZjb2RlY19n ZXRfY29udGV4dF9kZWZhdWx0cygmbXBhX2N0eCk7Ci0rICAgIGF2Y29kZWNfZ2V0X2NvbnRleHRf ZGVmYXVsdHMzKCZtcGFfY3R4LCBtcGFfY29kZWMpOwotICNpZiBMSUJBVkNPREVDX1ZFUlNJT05f TUFKT1IgPCA1MwotICAgICBtcGFfY3R4LmNvZGVjX3R5cGUgID0gQ09ERUNfVFlQRV9BVURJTzsK LSAjZWxzZQotQEAgLTM1OSwxMSArMzU5LDExIEBACi0gICAgIC8vLS0gb3BlbiBjb2RlYyAtLQot ICAgICAvLy0tLS0tLS0tLS0tLS0tLS0KLSAgICAgVENfTE9DS19MSUJBVkNPREVDOwotLSAgICBy ZXQgPSBhdmNvZGVjX29wZW4oJm1wYV9jdHgsIG1wYV9jb2RlYyk7Ci0rICAgIHJldCA9IGF2Y29k ZWNfb3BlbjIoJm1wYV9jdHgsIG1wYV9jb2RlYywgTlVMTCk7Ci0gICAgIFRDX1VOTE9DS19MSUJB VkNPREVDOwotICAgICBpZiAocmV0IDwgMCkgewotICAgICAgICAgdGNfd2FybigidGNfYXVkaW9f aW5pdF9mZm1wZWc6IGNvdWxkIG5vdCBvcGVuICVzIGNvZGVjICEiLAotLSAgICAgICAgICAgICAg ICAoY29kZWlkID09IENPREVDX0lEX01QMikgPyJtcGEiIDoiYWMzIik7Ci0rICAgICAgICAgICAg ICAgIChjb2RlaWQgPT0gQVZfQ09ERUNfSURfTVAyKSA/Im1wYSIgOiJhYzMiKTsKLSAgICAgICAg IHJldHVybihUQ19FWFBPUlRfRVJST1IpOwotICAgICB9Ci0gCi1AQCAtODQ2LDYgKzg0Niw5IEBA Ci0gI2lmZGVmIEhBVkVfRkZNUEVHCi0gICAgIGludCAgaW5fc2l6ZSwgb3V0X3NpemU7Ci0gICAg IGNoYXIgKmluX2J1ZjsKLSsgICAgaW50IGdvdF9wYWNrZXQ7Ci0rICAgIEFWUGFja2V0IGF2cGt0 ID0geyAwIH07Ci0rICAgIEFWRnJhbWUgKmZyYW1lID0gYXZfZnJhbWVfYWxsb2MoKTsKLSAKLSAg ICAgLy8tLSBpbnB1dCBidWZmZXIgYW5kIGFtb3VudCBvZiBieXRlcyAtLQotICAgICBpbl9zaXpl ID0gYXVkX3NpemU7Ci1AQCAtODY2LDEwICs4NjksMTQgQEAKLSAKLSAgICAgYWNfbWVtY3B5KCZt cGFfYnVmW21wYV9idWZfcHRyXSwgaW5fYnVmLCBieXRlc19uZWVkZWQpOwotIAotKyAgICBmcmFt ZS0+bmJfc2FtcGxlcyA9IG1wYV9jdHguZnJhbWVfc2l6ZTsKLSsgICAgYXZjb2RlY19maWxsX2F1 ZGlvX2ZyYW1lKGZyYW1lLCBtcGFfY3R4LmNoYW5uZWxzLCBtcGFfY3R4LnNhbXBsZV9mbXQsIChj b25zdCB1aW50OF90ICopbXBhX2J1ZiwgbXBhX2J5dGVzX3BmLCAxKTsKLSsgICAgYXZwa3QuZGF0 YSA9IG91dHB1dDsKLSsgICAgYXZwa3Quc2l6ZSA9IE9VVFBVVF9TSVpFOwotICAgICBUQ19MT0NL X0xJQkFWQ09ERUM7Ci0tICAgIG91dF9zaXplID0gYXZjb2RlY19lbmNvZGVfYXVkaW8oJm1wYV9j dHgsICh1bnNpZ25lZCBjaGFyICopb3V0cHV0LAotLSAgICAgICAgICAgICAgICAgICAgT1VUUFVU X1NJWkUsIChzaG9ydCAqKW1wYV9idWYpOwotKyAgICBvdXRfc2l6ZSA9IGF2Y29kZWNfZW5jb2Rl X2F1ZGlvMigmbXBhX2N0eCwgJmF2cGt0LCBmcmFtZSwgJmdvdF9wYWNrZXQpOwotICAgICBUQ19V TkxPQ0tfTElCQVZDT0RFQzsKLSsgICAgb3V0X3NpemUgPSBhdnBrdC5zaXplOwotICAgICB0Y19h dWRpb193cml0ZShvdXRwdXQsIG91dF9zaXplLCBhdmlmaWxlKTsKLSAKLSAgICAgICAgIGluX3Np emUgLT0gYnl0ZXNfbmVlZGVkOwotQEAgLTg4NCw2ICs4OTEsNyBAQAotIAotICAgICBhY19tZW1j cHkoJm1wYV9idWZbbXBhX2J1Zl9wdHJdLCBhdWRfYnVmZmVyLCBieXRlc19hdmFpbCk7Ci0gICAg ICAgICBtcGFfYnVmX3B0ciArPSBieXRlc19hdmFpbDsKLSsgICAgICAgIGF2X2ZyYW1lX2ZyZWUo JmZyYW1lKTsKLSAgICAgICAgIHJldHVybiAoMCk7Ci0gICAgICAgfQotICAgICB9IC8vYnl0ZXMg YXZhaWxhYmUgZnJvbSBsYXN0IGNhbGw/Ci1AQCAtODkzLDEwICs5MDEsMTUgQEAKLSAgICAgLy8t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gCi0g ICAgIHdoaWxlIChpbl9zaXplID49IG1wYV9ieXRlc19wZikgewotKyAgICAgIGF2X2ZyYW1lX3Vu cmVmKGZyYW1lKTsKLSsgICAgICBmcmFtZS0+bmJfc2FtcGxlcyA9IG1wYV9jdHguZnJhbWVfc2l6 ZTsKLSsgICAgICBhdmNvZGVjX2ZpbGxfYXVkaW9fZnJhbWUoZnJhbWUsIG1wYV9jdHguY2hhbm5l bHMsIG1wYV9jdHguc2FtcGxlX2ZtdCwgKGNvbnN0IHVpbnQ4X3QgKilpbl9idWYsIG1wYV9ieXRl c19wZiwgMSk7Ci0rICAgICAgYXZwa3QuZGF0YSA9IG91dHB1dDsKLSsgICAgICBhdnBrdC5zaXpl ID0gT1VUUFVUX1NJWkU7Ci0gICAgICAgVENfTE9DS19MSUJBVkNPREVDOwotLSAgICAgIG91dF9z aXplID0gYXZjb2RlY19lbmNvZGVfYXVkaW8oJm1wYV9jdHgsICh1bnNpZ25lZCBjaGFyICopb3V0 cHV0LAotLSAgICAgICAgICAgICAgICAgICAgICBPVVRQVVRfU0laRSwgKHNob3J0ICopaW5fYnVm KTsKLSsgICAgICBvdXRfc2l6ZSA9IGF2Y29kZWNfZW5jb2RlX2F1ZGlvMigmbXBhX2N0eCwgJmF2 cGt0LCBmcmFtZSwgJmdvdF9wYWNrZXQpOwotICAgICAgIFRDX1VOTE9DS19MSUJBVkNPREVDOwot KyAgICAgIG91dF9zaXplID0gYXZwa3Quc2l6ZTsKLSAKLSAgICAgICB0Y19hdWRpb193cml0ZShv dXRwdXQsIG91dF9zaXplLCBhdmlmaWxlKTsKLSAKLUBAIC05MDQsNiArOTE3LDggQEAKLSAgICAg ICBpbl9idWYgICs9IG1wYV9ieXRlc19wZjsKLSAgICAgfQotIAotKyAgICBhdl9mcmFtZV9mcmVl KCZmcmFtZSk7Ci0rCi0gICAgIC8vLS0gaG9sZCByZXN0IG9mIGJ5dGVzIGluIG1wYS1idWZmZXIg LS0KLSAgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICBp ZiAoaW5fc2l6ZSA+IDApIHsKLS0tLSBhL2V4cG9ydC9leHBvcnRfZmZtcGVnLmMJMjAxMS0xMS0x OSAxNzo1MDoyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBiL2V4cG9ydC9leHBvcnRfZmZtcGVnLmMJ MjAxNi0wMi0xNSAxNjowODozNy45MTU0ODgxMzkgKzAxMDAKLUBAIC0xMjIsNiArMTIyLDcgQEAK LSBzdGF0aWMgQVZGcmFtZSAgICAgICAgICAgICAqbGF2Y19jb252ZXJ0X2ZyYW1lID0gTlVMTDsK LSAKLSBzdGF0aWMgQVZDb2RlYyAgICAgICAgICAgICAqbGF2Y192ZW5jX2NvZGVjID0gTlVMTDsK LStzdGF0aWMgQVZEaWN0aW9uYXJ5ICAgICAgICAqbGF2Y192ZW5jX29wdHMgPSBOVUxMOwotIHN0 YXRpYyBBVkZyYW1lICAgICAgICAgICAgICpsYXZjX3ZlbmNfZnJhbWUgPSBOVUxMOwotIHN0YXRp YyBBVkNvZGVjQ29udGV4dCAgICAgICpsYXZjX3ZlbmNfY29udGV4dDsKLSBzdGF0aWMgYXZpX3Qg ICAgICAgICAgICAgICAqYXZpZmlsZSA9IE5VTEw7Ci1AQCAtMTgwLDcgKzE4MSw3IEBACi0gCi0g Ci0gLyogU1RBUlQ6IENPUElFRCBGUk9NIGZmbXBlZy0wLjVfcDIyODQ2KGZmbXBlZy5jLCBjbWR1 dGlscy5jKSAqLwotLSNpbmNsdWRlIDxsaWJhdmNvZGVjL29wdC5oPgotKyNpbmNsdWRlIDxsaWJh dnV0aWwvb3B0Lmg+Ci0gI2luY2x1ZGUgPGxpYmF2dXRpbC9hdnN0cmluZy5oPgotICNpbmNsdWRl IDxsaWJzd3NjYWxlL3N3c2NhbGUuaD4KLSAKLUBAIC0yNDksOSArMjUwLDkgQEAKLSAgICAgZm9y KHR5cGU9MDsgdHlwZTxBVk1FRElBX1RZUEVfTkIgJiYgcmV0Pj0gMDsgdHlwZSsrKXsKLSAJCS8q IEdMVUU6ICtpZiAqLwotIAkJaWYgKHR5cGUgPT0gQVZNRURJQV9UWVBFX1ZJREVPKSB7Ci0tICAg ICAgICBjb25zdCBBVk9wdGlvbiAqbzIgPSBhdl9maW5kX29wdChhdmNvZGVjX29wdHNbMF0sIG9w dCwgTlVMTCwgb3B0X3R5cGVzW3R5cGVdLCBvcHRfdHlwZXNbdHlwZV0pOwotLSAgICAgICAgaWYo bzIpCi0tICAgICAgICAgICAgcmV0ID0gYXZfc2V0X3N0cmluZzMoYXZjb2RlY19vcHRzW3R5cGVd LCBvcHQsIGFyZywgMSwgJm8pOwotKyAgICAgICAgbyA9IGF2X29wdF9maW5kKGF2Y29kZWNfb3B0 c1swXSwgb3B0LCBOVUxMLCBvcHRfdHlwZXNbdHlwZV0sIG9wdF90eXBlc1t0eXBlXSk7Ci0rICAg ICAgICBpZihvKQotKyAgICAgICAgICAgIHJldCA9IGF2X29wdF9zZXQoYXZjb2RlY19vcHRzW3R5 cGVdLCBvcHQsIGFyZywgMCk7Ci0gCQkvKiBHTFVFOiAraWYgKi8KLSAJCX0KLSAgICAgfQotQEAg LTI2Niw3ICsyNjcsMTAgQEAKLSAgICAgICAgIGlmKG9wdFswXSA9PSAnYScpCi0gICAgICAgICAg ICAgcmV0ID0gYXZfc2V0X3N0cmluZzMoYXZjb2RlY19vcHRzW0FWTUVESUFfVFlQRV9BVURJT10s IG9wdCsxLCBhcmcsIDEsICZvKTsKLSAgICAgICAgIGVsc2UgKi8gaWYob3B0WzBdID09ICd2JykK LS0gICAgICAgICAgICByZXQgPSBhdl9zZXRfc3RyaW5nMyhhdmNvZGVjX29wdHNbQVZNRURJQV9U WVBFX1ZJREVPXSwgb3B0KzEsIGFyZywgMSwgJm8pOwotKwl7Ci0rCSAgICBvID0gYXZfb3B0X2Zp bmQoYXZjb2RlY19vcHRzW0FWTUVESUFfVFlQRV9WSURFT10sIG9wdCsxLCBOVUxMLCAwLCAwKTsK LSsgICAgICAgICAgICByZXQgPSBhdl9vcHRfc2V0KGF2Y29kZWNfb3B0c1tBVk1FRElBX1RZUEVf VklERU9dLCBvcHQrMSwgYXJnLCAwKTsKLSsJfQotIAkJLyogR0xVRTogZGlzYWJsaW5nCi0gICAg ICAgICBlbHNlIGlmKG9wdFswXSA9PSAncycpCi0gICAgICAgICAgICAgcmV0ID0gYXZfc2V0X3N0 cmluZzMoYXZjb2RlY19vcHRzW0FWTUVESUFfVFlQRV9TVUJUSVRMRV0sIG9wdCsxLCBhcmcsIDEs ICZvKTsKLUBAIC00NzAsNyArNDc0LDYgQEAKLSAgICAgfQotIAotICAgICBUQ19MT0NLX0xJQkFW Q09ERUM7Ci0tICAgIGF2Y29kZWNfaW5pdCgpOwotICAgICBhdmNvZGVjX3JlZ2lzdGVyX2FsbCgp OwotICAgICBUQ19VTkxPQ0tfTElCQVZDT0RFQzsKLSAKLUBAIC00ODYsMTEgKzQ4OSwxMSBAQAot IAkJICAgICAgICAgICAgY29kZWMtPm5hbWUsIGNvZGVjLT5mb3VyQ0MsIGNvZGVjLT5jb21tZW50 cyk7Ci0gICAgIH0KLSAKLS0gICAgbGF2Y192ZW5jX2NvbnRleHQgPSBhdmNvZGVjX2FsbG9jX2Nv bnRleHQoKTsKLS0gICAgbGF2Y192ZW5jX2ZyYW1lICAgPSBhdmNvZGVjX2FsbG9jX2ZyYW1lKCk7 Ci0rICAgIGxhdmNfdmVuY19jb250ZXh0ID0gYXZjb2RlY19hbGxvY19jb250ZXh0MyhsYXZjX3Zl bmNfY29kZWMpOwotKyAgICBsYXZjX3ZlbmNfZnJhbWUgICA9IGF2X2ZyYW1lX2FsbG9jKCk7Ci0g Ci0tICAgIGxhdmNfY29udmVydF9mcmFtZT0gYXZjb2RlY19hbGxvY19mcmFtZSgpOwotLSAgICBz aXplID0gYXZwaWN0dXJlX2dldF9zaXplKFBJWF9GTVRfUkdCMjQsIHZvYi0+ZXhfdl93aWR0aCwg dm9iLT5leF92X2hlaWdodCk7Ci0rICAgIGxhdmNfY29udmVydF9mcmFtZT0gYXZfZnJhbWVfYWxs b2MoKTsKLSsgICAgc2l6ZSA9IGF2cGljdHVyZV9nZXRfc2l6ZShBVl9QSVhfRk1UX1JHQjI0LCB2 b2ItPmV4X3Zfd2lkdGgsIHZvYi0+ZXhfdl9oZWlnaHQpOwotICAgICBlbmNfYnVmZmVyID0gdGNf bWFsbG9jKHNpemUpOwotIAotICAgICBpZiAobGF2Y192ZW5jX2NvbnRleHQgPT0gTlVMTCB8fCAh ZW5jX2J1ZmZlciB8fCAhbGF2Y19jb252ZXJ0X2ZyYW1lKSB7Ci1AQCAtNjM0LDcgKzYzNyw3IEBA Ci0gICAgICAgICBsYXZjX3BhcmFtX3JjX21heF9yYXRlID0gMjUxNjsKLSAgICAgICAgIGxhdmNf cGFyYW1fcmNfYnVmZmVyX3NpemUgPSAyMjQgKiA4OwotICAgICAgICAgbGF2Y19wYXJhbV9yY19i dWZmZXJfYWdncmVzc2l2aXR5ID0gOTk7Ci0tICAgICAgICBsYXZjX3BhcmFtX3NjYW5fb2Zmc2V0 ID0gQ09ERUNfRkxBR19TVkNEX1NDQU5fT0ZGU0VUOwotKyAgICAgICAgbGF2Y19wYXJhbV9zY2Fu X29mZnNldCA9IDE7Ci0gCi0gICAgICAgICBicmVhazsKLSAKLUBAIC02NzQsNyArNjc3LDcgQEAK LSAKLSAgICAgICAgIGxhdmNfcGFyYW1fcmNfYnVmZmVyX3NpemUgPSAyMjQgKiA4OwotICAgICAg ICAgbGF2Y19wYXJhbV9yY19idWZmZXJfYWdncmVzc2l2aXR5ID0gOTk7Ci0tICAgICAgICBsYXZj X3BhcmFtX3NjYW5fb2Zmc2V0ID0gQ09ERUNfRkxBR19TVkNEX1NDQU5fT0ZGU0VUOwotKyAgICAg ICAgbGF2Y19wYXJhbV9zY2FuX29mZnNldCA9IDE7Ci0gCi0gICAgICAgICBicmVhazsKLSAKLUBA IC04MzgsOCArODQxLDEzIEBACi0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5yY19zdHJhdGVneSAg ICAgICAgPSBsYXZjX3BhcmFtX3ZyY19zdHJhdGVneTsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQt PmJfZnJhbWVfc3RyYXRlZ3kgICA9IGxhdmNfcGFyYW1fdmJfc3RyYXRlZ3k7Ci0gICAgIGxhdmNf dmVuY19jb250ZXh0LT5iX3F1YW50X29mZnNldCAgICAgPSBsYXZjX3BhcmFtX3ZiX3FvZmZzZXQ7 Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5sdW1hX2VsaW1fdGhyZXNob2xkPSBsYXZjX3BhcmFt X2x1bWFfZWxpbV90aHJlc2hvbGQ7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5jaHJvbWFfZWxp bV90aHJlc2hvbGQ9IGxhdmNfcGFyYW1fY2hyb21hX2VsaW1fdGhyZXNob2xkOwotKwotKyAgICBj aGFyIGJ1ZlsxMDI0XTsKLSsjZGVmaW5lIHNldF9kaWN0X29wdCh2YWwsIG9wdCkgXAotKwlzbnBy aW50ZihidWYsIHNpemVvZihidWYpLCAiJWkiLCB2YWwpOyBcCi0rCWF2X2RpY3Rfc2V0KCZsYXZj X3ZlbmNfb3B0cywgb3B0LCBidWYsIDApCi0rICAgIHNldF9kaWN0X29wdChsYXZjX3BhcmFtX2x1 bWFfZWxpbV90aHJlc2hvbGQsICJsdW1hX2VsaW1fdGhyZXNob2xkIik7Ci0rICAgIHNldF9kaWN0 X29wdChsYXZjX3BhcmFtX2Nocm9tYV9lbGltX3RocmVzaG9sZCwgImNocm9tYV9lbGltX3RocmVz aG9sZCIpOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+cnRwX3BheWxvYWRfc2l6ZSAgID0gbGF2 Y19wYXJhbV9wYWNrZXRfc2l6ZTsKLSAjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8ICgoNTI8 PDE2KSsoMDw8OCkrMCkgICAKLSAgICAgaWYgKGxhdmNfcGFyYW1fcGFja2V0X3NpemUpCi1AQCAt ODcwLDcgKzg3OCw3IEBACi0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5jb250ZXh0X21vZGVsICAg ICAgPSBsYXZjX3BhcmFtX2NvbnRleHQ7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5zY2VuZWNo YW5nZV90aHJlc2hvbGQ9IGxhdmNfcGFyYW1fc2NfdGhyZXNob2xkOwotICAgICBsYXZjX3ZlbmNf Y29udGV4dC0+bm9pc2VfcmVkdWN0aW9uICAgID0gbGF2Y19wYXJhbV9ub2lzZV9yZWR1Y3Rpb247 Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5pbnRlcl90aHJlc2hvbGQgICAgPSBsYXZjX3BhcmFt X2ludGVyX3RocmVzaG9sZDsKLSsgICAgc2V0X2RpY3Rfb3B0KGxhdmNfcGFyYW1faW50ZXJfdGhy ZXNob2xkLCAiaW50ZXJfdGhyZXNob2xkIik7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5pbnRy YV9kY19wcmVjaXNpb24gPSBsYXZjX3BhcmFtX2ludHJhX2RjX3ByZWNpc2lvbjsKLSAgICAgbGF2 Y192ZW5jX2NvbnRleHQtPnNraXBfdG9wICAgICAgICAgICA9IGxhdmNfcGFyYW1fc2tpcF90b3A7 Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5za2lwX2JvdHRvbSAgICAgICAgPSBsYXZjX3BhcmFt X3NraXBfYm90dG9tOwotQEAgLTg4Nyw3ICs4OTUsNyBAQAotIAkJICAgIGxhdmNfdmVuY19jb250 ZXh0LT50aHJlYWRfY291bnQpOwotICAgICB9Ci0gCi0tICAgIGF2Y29kZWNfdGhyZWFkX2luaXQo bGF2Y192ZW5jX2NvbnRleHQsIGxhdmNfcGFyYW1fdGhyZWFkcyk7Ci0rICAgIGxhdmNfdmVuY19j b250ZXh0LT50aHJlYWRfY291bnQgPSBsYXZjX3BhcmFtX3RocmVhZHM7Ci0gCi0gICAgIGlmIChs YXZjX3BhcmFtX2ludHJhX21hdHJpeCkgewotICAgICAgICAgY2hhciAqdG1wOwotQEAgLTEwNjEs MTkgKzEwNjksMTggQEAKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmlsZGN0X2NtcCAgPSBsYXZj X3BhcmFtX2lsZGN0X2NtcDsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmRpYV9zaXplICAgPSBs YXZjX3BhcmFtX2RpYV9zaXplOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2 Y19wYXJhbV9xcGVsOwotLSAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2Y19wYXJh bV9nbWM7Ci0rICAgIGlmKGxhdmNfcGFyYW1fZ21jKQotKyAgICAgICAgYXZfZGljdF9zZXQoJmxh dmNfdmVuY19vcHRzLCAiZ21jIiwgIjEiLCAwKTsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZs YWdzIHw9IGxhdmNfcGFyYW1fY2xvc2VkZ29wOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+Zmxh Z3MgfD0gbGF2Y19wYXJhbV90cnVuYzsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9 IGxhdmNfcGFyYW1fYWljOwotLSAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2Y19w YXJhbV91bXY7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBsYXZjX3BhcmFtX3Y0 bXY7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBsYXZjX3BhcmFtX2RhdGFfcGFy dGl0aW9uaW5nOwotLSAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2Y19wYXJhbV9j YnA7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBsYXZjX3BhcmFtX212MDsKLS0g ICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1fcXBfcmQ7Ci0tICAgIGxh dmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBsYXZjX3BhcmFtX3NjYW5fb2Zmc2V0OwotLSAgICBs YXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2Y19wYXJhbV9zczsKLS0gICAgbGF2Y192ZW5j X2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1fYWx0OwotKyAgICBpZihsYXZjX3BhcmFtX2Ni cCkKLSsgICAgCWF2X2RpY3Rfc2V0KCZsYXZjX3ZlbmNfb3B0cywgIm1wdl9mbGFncyIsICIrY2Jw X3JkIiwgMCk7Ci0rICAgIGlmKGxhdmNfcGFyYW1fbXYwKQotKyAgICAgICAgYXZfZGljdF9zZXQo JmxhdmNfdmVuY19vcHRzLCAibXB2X2ZsYWdzIiwgIittdjAiLCAwKTsKLSsgICAgaWYobGF2Y19w YXJhbV9xcF9yZCkKLSsgICAgCWF2X2RpY3Rfc2V0KCZsYXZjX3ZlbmNfb3B0cywgIm1wdl9mbGFn cyIsICIrcXBfcmQiLCAwKTsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNf cGFyYW1faWxtZTsKLSAjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8ICgoNTI8PDE2KSsoMDw8 OCkrMCkgICAKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1fdHJl bGw7Ci1AQCAtMTA4NCw3ICsxMDkxLDcgQEAKLSAgICAgaWYgKGxhdmNfcGFyYW1fZ3JheSkKLSAg ICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBDT0RFQ19GTEFHX0dSQVk7Ci0gICAg IGlmIChsYXZjX3BhcmFtX25vcm1hbGl6ZV9hcXApCi0tICAgICAgICBsYXZjX3ZlbmNfY29udGV4 dC0+ZmxhZ3MgfD0gQ09ERUNfRkxBR19OT1JNQUxJWkVfQVFQOwotKyAgICAgICAgYXZfZGljdF9z ZXQoJmxhdmNfdmVuY19vcHRzLCAibXB2X2ZsYWdzIiwgIituYXEiLCAwKTsKLSAKLSAgICAgc3dp dGNoKHZvYi0+ZW5jb2RlX2ZpZWxkcykgewotICAgICBjYXNlIFRDX0VOQ09ERV9GSUVMRFNfVE9Q X0ZJUlNUOgotQEAgLTExMTIsNyArMTExOSw3IEBACi0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5w cmVkaWN0aW9uX21ldGhvZCA9IGxhdmNfcGFyYW1fcHJlZGljdGlvbl9tZXRob2Q7Ci0gCi0gICAg IGlmKGlzX2h1ZmZ5dXYpCi0tICAgICAgICBsYXZjX3ZlbmNfY29udGV4dC0+cGl4X2ZtdCA9IFBJ WF9GTVRfWVVWNDIyUDsKLSsgICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5waXhfZm10ID0gQVZf UElYX0ZNVF9ZVVY0MjJQOwotICAgICBlbHNlCi0gICAgIHsKLSAgICAgICAgIHN3aXRjaChwaXhf Zm10KQotQEAgLTExMjEsMTggKzExMjgsMTggQEAKLSAgICAgICAgICAgICBjYXNlIENPREVDX1JH QjoKLSAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIGlmKGlzX21qcGVnKQotLSAgICAg ICAgICAgICAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lVVko0 MjBQOwotKyAgICAgICAgICAgICAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPnBpeF9mbXQgPSBB Vl9QSVhfRk1UX1lVVko0MjBQOwotICAgICAgICAgICAgICAgICBlbHNlCi0tICAgICAgICAgICAg ICAgICAgICBsYXZjX3ZlbmNfY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfWVVWNDIwUDsKLSsg ICAgICAgICAgICAgICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5waXhfZm10ID0gQVZfUElYX0ZN VF9ZVVY0MjBQOwotICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICB9Ci0gCi0g ICAgICAgICAgICAgY2FzZSBDT0RFQ19ZVVY0MjI6Ci0gICAgICAgICAgICAgewotICAgICAgICAg ICAgICAgICBpZihpc19tanBlZykKLS0gICAgICAgICAgICAgICAgICAgIGxhdmNfdmVuY19jb250 ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVZKNDIyUDsKLSsgICAgICAgICAgICAgICAgICAgIGxh dmNfdmVuY19jb250ZXh0LT5waXhfZm10ID0gQVZfUElYX0ZNVF9ZVVZKNDIyUDsKLSAgICAgICAg ICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPnBp eF9mbXQgPSBQSVhfRk1UX1lVVjQyMlA7Ci0rICAgICAgICAgICAgICAgICAgICBsYXZjX3ZlbmNf Y29udGV4dC0+cGl4X2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDIyUDsKLSAgICAgICAgICAgICAgICAg YnJlYWs7Ci0gICAgICAgICAgICAgfQotIAotQEAgLTEyMDMsOSArMTIxMCw4IEBACi0gCi0gICAg IGxhdmNfdmVuY19jb250ZXh0LT5tZV9tZXRob2QgPSBNRV9aRVJPICsgbGF2Y19wYXJhbV92bWU7 Ci0gCi0tCi0gCS8qIEZJWE1FOiB0cmFuc2NvZGUgaXRzZWxmIGNvbnRhaW5zICJicm9rZW4gZmZt cGVnIGRlZmF1bHQgc2V0dGluZ3MiLCB0aHVzIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlbSEgKi8K LS0JaWYgKGxhdmNfcGFyYW1fdmlkZW9fcHJlc2V0KSB7Ci0rCWlmIChsYXZjX3BhcmFtX3ZpZGVv X3ByZXNldCAmJiBzdHJjbXAobGF2Y19wYXJhbV92aWRlb19wcmVzZXQsICJub25lIikpIHsKLSAJ CWF2Y29kZWNfb3B0c1tBVk1FRElBX1RZUEVfVklERU9dID0gbGF2Y192ZW5jX2NvbnRleHQ7Ci0g CQl2aWRlb19jb2RlY19uYW1lID0gZmZtcGVnX2NvZGVjX25hbWUoY29kZWMtPm5hbWUpOwotIAot QEAgLTEyNDEsMjAgKzEyNDcsMzkgQEAKLSAJCX0KLSAJfQotIAotKyAgICBpZiAobGF2Y19wYXJh bV9zY2FuX29mZnNldCkgewotKyAgICAgIGF2X2RpY3Rfc2V0KCZsYXZjX3ZlbmNfb3B0cywgInNj YW5fb2Zmc2V0IiwgIjEiLCAwKTsKLSsgICAgfQotKwotKyAgICBpZiAobGF2Y19wYXJhbV9zcykg ewotKyAgICAgIGF2X2RpY3Rfc2V0KCZsYXZjX3ZlbmNfb3B0cywgInN0cnVjdHVyZWRfc2xpY2Vz IiwgIjEiLCAwKTsKLSsgICAgfQotKwotKyAgICBpZiAobGF2Y19wYXJhbV9hbHQpIHsKLSsgICAg ICBhdl9kaWN0X3NldCgmbGF2Y192ZW5jX29wdHMsICJhbHRlcm5hdGVfc2NhbiIsICIxIiwgMCk7 Ci0rICAgIH0KLSsKLSsgICAgaWYgKGxhdmNfcGFyYW1fdW12KSB7Ci0rICAgICAgYXZfZGljdF9z ZXQoJmxhdmNfdmVuY19vcHRzLCAidW12IiwgIjEiLCAwKTsKLSsgICAgfQotKwotKyAgICBpZiAo bGF2Y19wYXJhbV9kYXRhX3BhcnRpdGlvbmluZykgewotKyAgICAgIGF2X2RpY3Rfc2V0KCZsYXZj X3ZlbmNfb3B0cywgInZkcGFydCIsICIxIiwgMCk7Ci0rICAgIH0KLSAKLSAgICAgLy8tLSBvcGVu IGNvZGVjIC0tCi0gICAgIC8vLS0tLS0tLS0tLS0tLS0tLQotICAgICBUQ19MT0NLX0xJQkFWQ09E RUM7Ci0tICAgIHJldCA9IGF2Y29kZWNfb3BlbihsYXZjX3ZlbmNfY29udGV4dCwgbGF2Y192ZW5j X2NvZGVjKTsKLSsgICAgcmV0ID0gYXZjb2RlY19vcGVuMihsYXZjX3ZlbmNfY29udGV4dCwgbGF2 Y192ZW5jX2NvZGVjLCAmbGF2Y192ZW5jX29wdHMpOwotICAgICBUQ19VTkxPQ0tfTElCQVZDT0RF QzsKLSAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICB0Y19sb2dfd2FybihNT0RfTkFNRSwgImNv dWxkIG5vdCBvcGVuIEZGTVBFRyBjb2RlYyIpOwotICAgICAgIHJldHVybiBUQ19FWFBPUlRfRVJS T1I7Ci0gICAgIH0KLSAKLS0gICAgaWYgKGxhdmNfdmVuY19jb250ZXh0LT5jb2RlYy0+ZW5jb2Rl ID09IE5VTEwpIHsKLSsgICAgaWYgKGF2X2NvZGVjX2lzX2VuY29kZXIobGF2Y192ZW5jX2NvbnRl eHQtPmNvZGVjKSA9PSAwKSB7Ci0gICAgICAgdGNfbG9nX3dhcm4oTU9EX05BTUUsICJjb3VsZCBu b3Qgb3BlbiBGRk1QRUcgY29kZWMgIgotLSAgICAgICAgICAgICAgIihsYXZjX3ZlbmNfY29udGV4 dC0+Y29kZWMtPmVuY29kZSA9PSBOVUxMKSIpOwotKyAgICAgICAgICAgICAgIihhdl9jb2RlY19p c19lbmNvZGVyKGxhdmNfdmVuY19jb250ZXh0LT5jb2RlYykgPT0gMCkiKTsKLSAgICAgICByZXR1 cm4gVENfRVhQT1JUX0VSUk9SOwotICAgICB9Ci0gCi1AQCAtMTU3NCw2ICsxNTk5LDggQEAKLSAK LSAgIGludCBvdXRfc2l6ZTsKLSAgIGNvbnN0IGNoYXIgcGljdF90eXBlX2NoYXJbNV09IHsnPycs ICdJJywgJ1AnLCAnQicsICdTJ307Ci0rICBBVlBhY2tldCBwa3Q7Ci0rICBpbnQgcmV0LCBnb3Rf cGFja2V0ID0gMDsKLSAKLSAgIGlmIChwYXJhbS0+ZmxhZyA9PSBUQ19WSURFTykgewotIAotQEAg LTE1OTgsNyArMTYyNSw3IEBACi0gCSAgICAgICAgCVlVVl9JTklUX1BMQU5FUyhzcmMsIHBhcmFt LT5idWZmZXIsIElNR19ZVVZfREVGQVVMVCwKLSAJCQkgICAgICAgICAgICAgICAgCWxhdmNfdmVu Y19jb250ZXh0LT53aWR0aCwgbGF2Y192ZW5jX2NvbnRleHQtPmhlaWdodCk7Ci0gICAgICAgICAg ICAgICAgIGF2cGljdHVyZV9maWxsKChBVlBpY3R1cmUgKilsYXZjX3ZlbmNfZnJhbWUsIGltZ19i dWZmZXIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBJWF9GTVRfWVVWNDIyUCwg bGF2Y192ZW5jX2NvbnRleHQtPndpZHRoLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBVl9QSVhfRk1UX1lVVjQyMlAsIGxhdmNfdmVuY19jb250ZXh0LT53aWR0aCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmhlaWdodCk7Ci0gICAg ICAgICAJCS8qIEZJWE1FOiBjYW4ndCB1c2UgdGN2X2NvbnZlcnQgKHNlZSBkZWNvZGVfbGF2Yy5j KSAqLwotICAgICAgICAgICAgICAgICBhY19pbWdjb252ZXJ0KHNyYywgSU1HX1lVVl9ERUZBVUxU LAotQEAgLTE2MjgsNyArMTY1NSw3IEBACi0gCQkgICAgICAgICAgICAgICAgCQlsYXZjX3ZlbmNf Y29udGV4dC0+d2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXZjX3Zl bmNfY29udGV4dC0+aGVpZ2h0KTsKLSAgICAgICAgICAgICAgICAgYXZwaWN0dXJlX2ZpbGwoKEFW UGljdHVyZSAqKWxhdmNfdmVuY19mcmFtZSwgaW1nX2J1ZmZlciwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUElYX0ZNVF9ZVVY0MjBQLCBsYXZjX3ZlbmNfY29udGV4dC0+d2lkdGgs Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWX1BJWF9GTVRfWVVWNDIwUCwgbGF2 Y192ZW5jX2NvbnRleHQtPndpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs YXZjX3ZlbmNfY29udGV4dC0+aGVpZ2h0KTsKLSAgICAgICAgICAgICAgICAgYWNfaW1nY29udmVy dChzcmMsIElNR19ZVVY0MjJQLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhdmNf dmVuY19mcmFtZS0+ZGF0YSwgSU1HX1lVVjQyMFAsCi1AQCAtMTYzOSw3ICsxNjY2LDcgQEAKLSAK LSAgICAgICAgIGNhc2UgQ09ERUNfUkdCOgotICAgICAgICAgICAgIGF2cGljdHVyZV9maWxsKChB VlBpY3R1cmUgKilsYXZjX3ZlbmNfZnJhbWUsIGltZ19idWZmZXIsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgUElYX0ZNVF9ZVVY0MjBQLCBsYXZjX3ZlbmNfY29udGV4dC0+d2lkdGgsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfUElYX0ZNVF9ZVVY0MjBQLCBsYXZjX3ZlbmNf Y29udGV4dC0+d2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF2Y192ZW5jX2Nv bnRleHQtPmhlaWdodCk7Ci0gICAgIAkgICAgYWNfaW1nY29udmVydCgmcGFyYW0tPmJ1ZmZlciwg SU1HX1JHQl9ERUZBVUxULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhdmNfdmVu Y19mcmFtZS0+ZGF0YSwgSU1HX1lVVjQyMFAsCi1AQCAtMTY1MiwxMyArMTY3OSwxNyBAQAotICAg ICAgICAgICAgICAgcmV0dXJuIFRDX0VYUE9SVF9FUlJPUjsKLSAgICAgfQotIAotKyAgICBhdl9p bml0X3BhY2tldCgmcGt0KTsKLSsgICAgcGt0LmRhdGEgPSBlbmNfYnVmZmVyOwotKyAgICBwa3Qu c2l6ZSA9IHNpemU7Ci0gCi0gICAgIFRDX0xPQ0tfTElCQVZDT0RFQzsKLS0gICAgb3V0X3NpemUg PSBhdmNvZGVjX2VuY29kZV92aWRlbyhsYXZjX3ZlbmNfY29udGV4dCwKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlbmNfYnVmZmVyLCBzaXplLAotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxhdmNfdmVuY19mcmFtZSk7Ci0rICAgIHJldCA9IGF2Y29k ZWNfZW5jb2RlX3ZpZGVvMihsYXZjX3ZlbmNfY29udGV4dCwgJnBrdCwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsYXZjX3ZlbmNfZnJhbWUsICZnb3RfcGFja2V0KTsKLSAg ICAgVENfVU5MT0NLX0xJQkFWQ09ERUM7Ci0gCi0rICAgIG91dF9zaXplID0gcmV0ID8gcmV0IDog cGt0LnNpemU7Ci0rCi0gICAgIGlmIChvdXRfc2l6ZSA8IDApIHsKLSAgICAgICB0Y19sb2dfd2Fy bihNT0RfTkFNRSwgImVuY29kZXIgZXJyb3I6IHNpemUgKCVkKSIsIG91dF9zaXplKTsKLSAgICAg ICByZXR1cm4gVENfRVhQT1JUX0VSUk9SOwotLS0tIGEvZXhwb3J0L2ZmbXBlZ19jZmcuYwkyMDEx LTExLTE5IDE3OjUwOjI3LjAwMDAwMDAwMCArMDEwMAotKysrIGIvZXhwb3J0L2ZmbXBlZ19jZmcu YwkyMDE2LTAyLTE1IDE2OjA4OjM3LjkxNjQ4ODE2MSArMDEwMAotQEAgLTM0LDggKzM0LDYgQEAK LSAvL2ludCBsYXZjX3BhcmFtX3Zxc2NhbGUgPSAwOwotIC8vaW50IGxhdmNfcGFyYW1fdnFtaW4g PSAyOwotIC8vaW50IGxhdmNfcGFyYW1fdnFtYXggPSAzMTsKLS1pbnQgbGF2Y19wYXJhbV9tYl9x bWluID0gMjsKLS1pbnQgbGF2Y19wYXJhbV9tYl9xbWF4ID0gMzE7Ci0gaW50IGxhdmNfcGFyYW1f bG1pbiA9IDI7Ci0gaW50IGxhdmNfcGFyYW1fbG1heCA9IDMxOwotIGludCBsYXZjX3BhcmFtX3Zx ZGlmZiA9IDM7Ci1AQCAtMTI2LDcgKzEyNCw3IEBACi0gLy9pbnQgbGF2Y19wYXJhbV9hdGFnID0g MDsKLSAvL2ludCBsYXZjX3BhcmFtX2FiaXRyYXRlID0gMjI0OwotIAotLWNoYXIgKmxhdmNfcGFy YW1fdmlkZW9fcHJlc2V0ID0gIm1lZGl1bSI7Ci0rY2hhciAqbGF2Y19wYXJhbV92aWRlb19wcmVz ZXQgPSAibm9uZSI7Ci0gY2hhciAqbGF2Y19wYXJhbV9mZm1wZWdfZGF0YWRpciA9ICIvdXNyL3No YXJlL2ZmbXBlZyI7Ci0gCi0gVENDb25maWdFbnRyeSBsYXZjb3B0c19jb25mW109ewotQEAgLTE0 MywxNSArMTQxLDEzIEBACi0gLy8gICAgeyJ2cXNjYWxlIiwgJmxhdmNfcGFyYW1fdnFzY2FsZSwg VENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgMzF9LAotIC8vICAgIHsidnFt aW4iLCAmbGF2Y19wYXJhbV92cW1pbiwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5H RSwgMSwgMzF9LAotIC8vICAgIHsidnFtYXgiLCAmbGF2Y19wYXJhbV92cW1heCwgVENDT05GX1RZ UEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgMzF9LAotLSAgICB7Im1icW1pbiIsICZsYXZj X3BhcmFtX21iX3FtaW4sIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDEsIDMx fSwKLS0gICAgeyJtYnFtYXgiLCAmbGF2Y19wYXJhbV9tYl9xbWF4LCBUQ0NPTkZfVFlQRV9JTlQs IFRDQ09ORl9GTEFHX1JBTkdFLCAxLCAzMX0sCi0gICAgIHsibG1pbiIsICZsYXZjX3BhcmFtX2xt aW4sIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wMSwgMjU1LjB9LAot ICAgICB7ImxtYXgiLCAmbGF2Y19wYXJhbV9sbWF4LCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05G X0ZMQUdfUkFOR0UsIDAuMDEsIDI1NS4wfSwKLSAgICAgeyJ2cWRpZmYiLCAmbGF2Y19wYXJhbV92 cWRpZmYsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDEsIDMxfSwKLSAgICAg eyJ2cWNvbXAiLCAmbGF2Y19wYXJhbV92cWNvbXByZXNzLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVEND T05GX0ZMQUdfUkFOR0UsIDAuMCwgMS4wfSwKLSAgICAgeyJ2cWJsdXIiLCAmbGF2Y19wYXJhbV92 cWJsdXIsIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wLCAxLjB9LAot ICAgICB7InZiX3FmYWN0b3IiLCAmbGF2Y19wYXJhbV92Yl9xZmFjdG9yLCBUQ0NPTkZfVFlQRV9G TE9BVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0zMS4wLCAzMS4wfSwKLS0gICAgeyJ2bWF4X2JfZnJh bWVzIiwgJmxhdmNfcGFyYW1fdm1heF9iX2ZyYW1lcywgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZf RkxBR19SQU5HRSwgMCwgRkZfTUFYX0JfRlJBTUVTfSwKLSsgICAgeyJ2bWF4X2JfZnJhbWVzIiwg JmxhdmNfcGFyYW1fdm1heF9iX2ZyYW1lcywgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19S QU5HRSwgMCwgSU5UX01BWH0sCi0gLy8gICAgeyJ2cGFzcyIsICZsYXZjX3BhcmFtX3ZwYXNzLCBU Q0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAyfSwKLSAgICAgeyJ2cmNfc3Ry YXRlZ3kiLCAmbGF2Y19wYXJhbV92cmNfc3RyYXRlZ3ksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05G X0ZMQUdfUkFOR0UsIDAsIDJ9LAotICAgICB7InZiX3N0cmF0ZWd5IiwgJmxhdmNfcGFyYW1fdmJf c3RyYXRlZ3ksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDEwfSwKLUBA IC0xNjAsOSArMTU2LDkgQEAKLSAgICAgeyJ2Y2VsaW0iLCAmbGF2Y19wYXJhbV9jaHJvbWFfZWxp bV90aHJlc2hvbGQsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC05OSwgOTl9 LAotICAgICB7InZwc2l6ZSIsICZsYXZjX3BhcmFtX3BhY2tldF9zaXplLCBUQ0NPTkZfVFlQRV9J TlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMDAwMDAwMDB9LAotICAgICB7InZzdHJpY3QiLCAm bGF2Y19wYXJhbV9zdHJpY3QsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC05 OSwgOTl9LAotLSAgICB7InZkcGFydCIsICZsYXZjX3BhcmFtX2RhdGFfcGFydGl0aW9uaW5nLCBU Q0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX1BBUlR9LAotKyAgICB7InZkcGFydCIs ICZsYXZjX3BhcmFtX2RhdGFfcGFydGl0aW9uaW5nLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAx fSwKLSAvLyAgICB7ImtleWludCIsICZsYXZjX3BhcmFtX2tleWludCwgVENDT05GX1RZUEVfSU5U LCAwLCAwLCAwfSwKLS0gICAgeyJncmF5IiwgJmxhdmNfcGFyYW1fZ3JheSwgVENDT05GX1RZUEVf RkxBRywgMCwgMCwgQ09ERUNfRkxBR19QQVJUfSwKLSsgICAgeyJncmF5IiwgJmxhdmNfcGFyYW1f Z3JheSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19HUkFZfSwKLSAgICAgeyJt cGVnX3F1YW50IiwgJmxhdmNfcGFyYW1fbXBlZ19xdWFudCwgVENDT05GX1RZUEVfRkxBRywgMCwg MCwgMX0sCi0gICAgIHsidmlfcWZhY3RvciIsICZsYXZjX3BhcmFtX3ZpX3FmYWN0b3IsIFRDQ09O Rl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTMxLjAsIDMxLjB9LAotICAgICB7InZp X3FvZmZzZXQiLCAmbGF2Y19wYXJhbV92aV9xb2Zmc2V0LCBUQ0NPTkZfVFlQRV9GTE9BVCwgVEND T05GX0ZMQUdfUkFOR0UsIDAuMCwgMzEuMH0sCi1AQCAtMjExLDI2ICsyMDcsMjYgQEAKLSAjZWxz ZQotICAgICB7ImFpYyIsICZsYXZjX3BhcmFtX2FpYywgVENDT05GX1RZUEVfRkxBRywgMCwgMCwg Q09ERUNfRkxBR19BQ19QUkVEfSwKLSAjZW5kaWYgICAgCi0tICAgIHsidW12IiwgJmxhdmNfcGFy YW1fdW12LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX0gyNjNQX1VNVn0sCi0r ICAgIHsidW12IiwgJmxhdmNfcGFyYW1fdW12LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAxfSwK LSAgICAgeyJpYmlhcyIsICZsYXZjX3BhcmFtX2liaWFzLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09O Rl9GTEFHX1JBTkdFLCAtNTEyLCA1MTJ9LAotICAgICB7InBiaWFzIiwgJmxhdmNfcGFyYW1fcGJp YXMsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC01MTIsIDUxMn0sCi0gICAg IHsiY29kZXIiLCAmbGF2Y19wYXJhbV9jb2RlciwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxB R19SQU5HRSwgMCwgMTB9LAotICAgICB7ImNvbnRleHQiLCAmbGF2Y19wYXJhbV9jb250ZXh0LCBU Q0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMH0sCi0gICAgIHsiaW50cmFf bWF0cml4IiwgJmxhdmNfcGFyYW1faW50cmFfbWF0cml4LCBUQ0NPTkZfVFlQRV9TVFJJTkcsIDAs IDAsIDB9LAotICAgICB7ImludGVyX21hdHJpeCIsICZsYXZjX3BhcmFtX2ludGVyX21hdHJpeCwg VENDT05GX1RZUEVfU1RSSU5HLCAwLCAwLCAwfSwKLS0gICAgeyJjYnAiLCAmbGF2Y19wYXJhbV9j YnAsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfQ0JQX1JEfSwKLS0gICAgeyJt djAiLCAmbGF2Y19wYXJhbV9tdjAsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdf TVYwfSwKLSsgICAgeyJjYnAiLCAmbGF2Y19wYXJhbV9jYnAsIFRDQ09ORl9UWVBFX0ZMQUcsIDAs IDAsIDF9LAotKyAgICB7Im12MCIsICZsYXZjX3BhcmFtX212MCwgVENDT05GX1RZUEVfRkxBRywg MCwgMCwgMX0sCi0gICAgIHsibnIiLCAmbGF2Y19wYXJhbV9ub2lzZV9yZWR1Y3Rpb24sIFRDQ09O Rl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDEwMDAwMDB9LAotLSAgICB7InFwcmQi LCAmbGF2Y19wYXJhbV9xcF9yZCwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19R UF9SRH0sCi0rICAgIHsicXByZCIsICZsYXZjX3BhcmFtX3FwX3JkLCBUQ0NPTkZfVFlQRV9GTEFH LCAwLCAwLCAxfSwKLSAgICAgeyJ0aHJlYWRzIiwgJmxhdmNfcGFyYW1fdGhyZWFkcywgVENDT05G X1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgMTZ9LAotLSAgICB7InNzIiwgJmxhdmNf cGFyYW1fc3MsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfSDI2M1BfU0xJQ0Vf U1RSVUNUfSwKLS0gICAgeyJzdmNkX3NvZiIsICZsYXZjX3BhcmFtX3NjYW5fb2Zmc2V0LCBUQ0NP TkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX1NWQ0RfU0NBTl9PRkZTRVR9LAotLSAgICB7 ImFsdCIsICZsYXZjX3BhcmFtX2FsdCwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxB R19BTFRfU0NBTn0sCi0rICAgIHsic3MiLCAmbGF2Y19wYXJhbV9zcywgVENDT05GX1RZUEVfRkxB RywgMCwgMCwgMX0sCi0rICAgIHsic3ZjZF9zb2YiLCAmbGF2Y19wYXJhbV9zY2FuX29mZnNldCwg VENDT05GX1RZUEVfRkxBRywgMCwgMCwgMX0sCi0rICAgIHsiYWx0IiwgJmxhdmNfcGFyYW1fYWx0 LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAxfSwKLSAgICAgeyJpbG1lIiwgJmxhdmNfcGFyYW1f aWxtZSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19JTlRFUkxBQ0VEX01FfSwK LSAgICAgeyJpbnRlcl90aHJlc2hvbGQiLCAmbGF2Y19wYXJhbV9pbnRlcl90aHJlc2hvbGQsIFRD Q09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0xMDAwMDAwLCAxMDAwMDAwfSwKLSAg ICAgeyJzY190aHJlc2hvbGQiLCAmbGF2Y19wYXJhbV9zY190aHJlc2hvbGQsIFRDQ09ORl9UWVBF X0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0xMDAwMDAwLCAxMDAwMDAwfSwKLSAgICAgeyJ0b3Ai LCAmbGF2Y19wYXJhbV90b3AsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0x LCAxfSwKLS0gICAgeyJnbWMiLCAmbGF2Y19wYXJhbV9nbWMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAs IDAsIENPREVDX0ZMQUdfR01DfSwKLSsgICAgeyJnbWMiLCAmbGF2Y19wYXJhbV9nbWMsIFRDQ09O Rl9UWVBFX0ZMQUcsIDAsIDAsIDF9LAotICAgICB7InRydW5jIiwgJmxhdmNfcGFyYW1fdHJ1bmMs IFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfVFJVTkNBVEVEfSwKLSAgICAgeyJj bG9zZWRnb3AiLCAmbGF2Y19wYXJhbV9jbG9zZWRnb3AsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAs IENPREVDX0ZMQUdfQ0xPU0VEX0dPUH0sCi0gICAgIHsiaW50cmFfZGNfcHJlY2lzaW9uIiwgJmxh dmNfcGFyYW1faW50cmFfZGNfcHJlY2lzaW9uLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFH X1JBTkdFLCAwLCAxNn0sCi0tLS0gYS9leHBvcnQvZmZtcGVnX2NmZy5oCTIwMTEtMTEtMTkgMTc6 NTA6MjcuMDAwMDAwMDAwICswMTAwCi0rKysgYi9leHBvcnQvZmZtcGVnX2NmZy5oCTIwMTYtMDIt MTUgMTY6MDg6MzcuOTE2NDg4MTYxICswMTAwCi1AQCAtMTMsOCArMTMsNiBAQAotIC8vZXh0ZXJu IGludCBsYXZjX3BhcmFtX3Zxc2NhbGU7Ci0gLy9leHRlcm4gaW50IGxhdmNfcGFyYW1fdnFtaW47 Ci0gLy9leHRlcm4gaW50IGxhdmNfcGFyYW1fdnFtYXg7Ci0tZXh0ZXJuIGludCBsYXZjX3BhcmFt X21iX3FtaW47Ci0tZXh0ZXJuIGludCBsYXZjX3BhcmFtX21iX3FtYXg7Ci0gZXh0ZXJuIGludCBs YXZjX3BhcmFtX2xtaW47Ci0gZXh0ZXJuIGludCBsYXZjX3BhcmFtX2xtYXg7Ci0gZXh0ZXJuIGlu dCBsYXZjX3BhcmFtX3ZxZGlmZjsKLS0tLSBhL2ZpbHRlci9maWx0ZXJfcHAuYwkyMDExLTExLTE5 IDE3OjUwOjI3LjAwMDAwMDAwMCArMDEwMAotKysrIGIvZmlsdGVyL2ZpbHRlcl9wcC5jCTIwMTYt MDItMTUgMTY6MDg6MzcuOTE2NDg4MTYxICswMTAwCi1AQCAtMzgsOCArMzgsOCBAQAotIAotIC8q IEZJWE1FOiB0aGVzZSB1c2UgdGhlIGZpbHRlciBJRCBhcyBhbiBpbmRleC0tdGhlIElEIGNhbiBn cm93Ci0gICogYXJiaXRyYXJpbHkgbGFyZ2UsIHNvIHRoaXMgbmVlZHMgdG8gYmUgZml4ZWQgKi8K LS1zdGF0aWMgcHBfbW9kZV90ICptb2RlWzEwMF07Ci0tc3RhdGljIHBwX2NvbnRleHRfdCAqY29u dGV4dFsxMDBdOwotK3N0YXRpYyBwcF9tb2RlICptb2RlWzEwMF07Ci0rc3RhdGljIHBwX2NvbnRl eHQgKmNvbnRleHRbMTAwXTsKLSBzdGF0aWMgaW50IHdpZHRoWzEwMF0sIGhlaWdodFsxMDBdOwot IHN0YXRpYyBpbnQgcHJlWzEwMF07Ci0gCi0tLS0gYS9pbXBvcnQvZGVjb2RlX2xhdmMuYwkyMDEx LTExLTE5IDE3OjUwOjI3LjAwMDAwMDAwMCArMDEwMAotKysrIGIvaW1wb3J0L2RlY29kZV9sYXZj LmMJMjAxNi0wMi0xNSAxNjowOTowMC4yNTI5ODg4OTcgKzAxMDAKLUBAIC01OCwzNyArNTgsMzcg QEAKLSAKLSAvLyBmb3VyQ0MgdG8gSUQgbWFwcGluZyB0YWtlbiBmcm9tIE1QbGF5ZXIncyBjb2Rl Y3MuY29uZgotIHN0YXRpYyBzdHJ1Y3QgZmZtcGVnX2NvZGVjIGZmbXBlZ19jb2RlY3NbXSA9IHsK LS0gIHtDT0RFQ19JRF9NU01QRUc0VjEsIFRDX0NPREVDX0VSUk9SLCAibXA0MSIsCi0rICB7QVZf Q09ERUNfSURfTVNNUEVHNFYxLCBUQ19DT0RFQ19FUlJPUiwgIm1wNDEiLAotICAgICB7Ik1QNDEi LCAiRElWMSIsICIifX0sCi0tICB7Q09ERUNfSURfTVNNUEVHNFYyLCBUQ19DT0RFQ19NUDQyLCAi bXA0MiIsCi0rICB7QVZfQ09ERUNfSURfTVNNUEVHNFYyLCBUQ19DT0RFQ19NUDQyLCAibXA0MiIs Ci0gICAgIHsiTVA0MiIsICJESVYyIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9NU01QRUc0VjMsIFRD X0NPREVDX0RJVlgzLCAibXNtcGVnNCIsCi0rICB7QVZfQ09ERUNfSURfTVNNUEVHNFYzLCBUQ19D T0RFQ19ESVZYMywgIm1zbXBlZzQiLAotICAgICB7IkRJVjMiLCAiRElWNSIsICJBUDQxIiwgIk1Q RzMiLCAiTVA0MyIsICIifX0sCi0tICB7Q09ERUNfSURfTVBFRzQsIFRDX0NPREVDX0RJVlg0LCAi bXBlZzQiLAotKyAge0FWX0NPREVDX0lEX01QRUc0LCBUQ19DT0RFQ19ESVZYNCwgIm1wZWc0IiwK LSAgICAgeyJESVZYIiwgIlhWSUQiLCAiTVA0UyIsICJNNFMyIiwgIk1QNFYiLCAiVU1QNCIsICJE WDUwIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9NSlBFRywgVENfQ09ERUNfTUpQRUcsICJtanBlZyIs Ci0rICB7QVZfQ09ERUNfSURfTUpQRUcsIFRDX0NPREVDX01KUEVHLCAibWpwZWciLAotICAgICB7 Ik1KUEciLCAiQVZSTiIsICJBVkRKIiwgIkpQRUciLCAiTUpQQSIsICJKRklGIiwgIiJ9fSwKLS0g IHtDT0RFQ19JRF9NUEVHMVZJREVPLCBUQ19DT0RFQ19NUEVHMVZJREVPLCAibXBlZzF2aWRlbyIs Ci0rICB7QVZfQ09ERUNfSURfTVBFRzFWSURFTywgVENfQ09ERUNfTVBFRzFWSURFTywgIm1wZWcx dmlkZW8iLAotICAgICB7Ik1QRzEiLCAiIn19LAotLSAge0NPREVDX0lEX0RWVklERU8sIFRDX0NP REVDX0RWLCAiZHZ2aWRlbyIsCi0rICB7QVZfQ09ERUNfSURfRFZWSURFTywgVENfQ09ERUNfRFYs ICJkdnZpZGVvIiwKLSAgICAgeyJEVlNEIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9XTVYxLCBUQ19D T0RFQ19XTVYxLCAid212MSIsCi0rICB7QVZfQ09ERUNfSURfV01WMSwgVENfQ09ERUNfV01WMSwg IndtdjEiLAotICAgICB7IldNVjEiLCAiIn19LAotLSAge0NPREVDX0lEX1dNVjIsIFRDX0NPREVD X1dNVjIsICJ3bXYyIiwKLSsgIHtBVl9DT0RFQ19JRF9XTVYyLCBUQ19DT0RFQ19XTVYyLCAid212 MiIsCi0gICAgIHsiV01WMiIsICIifX0sCi0tICB7Q09ERUNfSURfSFVGRllVViwgVENfQ09ERUNf SFVGRllVViwgImhmeXUiLAotKyAge0FWX0NPREVDX0lEX0hVRkZZVVYsIFRDX0NPREVDX0hVRkZZ VVYsICJoZnl1IiwKLSAgICAgeyJIRllVIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9IMjYzSSwgVENf Q09ERUNfSDI2M0ksICJoMjYzaSIsCi0rICB7QVZfQ09ERUNfSURfSDI2M0ksIFRDX0NPREVDX0gy NjNJLCAiaDI2M2kiLAotICAgICB7IkkyNjMiLCAiIn19LAotLSAge0NPREVDX0lEX0gyNjNQLCBU Q19DT0RFQ19IMjYzUCwgImgyNjNwIiwKLSsgIHtBVl9DT0RFQ19JRF9IMjYzUCwgVENfQ09ERUNf SDI2M1AsICJoMjYzcCIsCi0gICAgIHsiSDI2MyIsICJVMjYzIiwgIlZJVjEiLCAiIn19LAotLSAg e0NPREVDX0lEX1JWMTAsIFRDX0NPREVDX1JWMTAsICJydjEwIiwKLSsgIHtBVl9DT0RFQ19JRF9S VjEwLCBUQ19DT0RFQ19SVjEwLCAicnYxMCIsCi0gICAgIHsiUlYxMCIsICJSVjEzIiwgIiJ9fSwK LS0gIHtDT0RFQ19JRF9TVlExLCBUQ19DT0RFQ19TVlExLCAic3ZxMSIsCi0rICB7QVZfQ09ERUNf SURfU1ZRMSwgVENfQ09ERUNfU1ZRMSwgInN2cTEiLAotICAgICB7IlNWUTEiLCAiIn19LAotLSAg e0NPREVDX0lEX1NWUTMsIFRDX0NPREVDX1NWUTMsICJzdnEzIiwKLSsgIHtBVl9DT0RFQ19JRF9T VlEzLCBUQ19DT0RFQ19TVlEzLCAic3ZxMyIsCi0gICAgIHsiU1ZRMyIsICIifX0sCi0tICB7Q09E RUNfSURfTVBFRzJWSURFTywgVENfQ09ERUNfTVBFRzIsICJtcGVnMnZpZGVvIiwKLSsgIHtBVl9D T0RFQ19JRF9NUEVHMlZJREVPLCBUQ19DT0RFQ19NUEVHMiwgIm1wZWcydmlkZW8iLAotICAgICB7 Ik1QRzIiLCAiIn19LAotICAgezAsIFRDX0NPREVDX1VOS05PV04sIE5VTEwsIHsiIn19fTsKLSAK LUBAIC0xNzAsNyArMTcwLDcgQEAKLSAKLSAgIC8vIFNldCB0aGVzZSB0byB0aGUgZXhwZWN0ZWQg dmFsdWVzIHNvIHRoYXQgZmZtcGVnJ3MgZGVjb2RlciBjYW4KLSAgIC8vIHByb3Blcmx5IGRldGVj dCBpbnRlcmxhY2VkIGlucHV0LgotLSAgbGF2Y19kZWNfY29udGV4dCA9IGF2Y29kZWNfYWxsb2Nf Y29udGV4dCgpOwotKyAgbGF2Y19kZWNfY29udGV4dCA9IGF2Y29kZWNfYWxsb2NfY29udGV4dDMo TlVMTCk7Ci0gICBpZiAobGF2Y19kZWNfY29udGV4dCA9PSBOVUxMKSB7Ci0gICAgICAgdGNfbG9n X2Vycm9yKF9fRklMRV9fLCAiQ291bGQgbm90IGFsbG9jYXRlIGVub3VnaCBtZW1vcnkuIik7Ci0g ICAgICAgZ290byBkZWNvZGVyX2Vycm9yOwotQEAgLTE4MSwxMiArMTgxLDEyIEBACi0gI2lmIExJ QkFWQ09ERUNfVkVSU0lPTl9JTlQgPCAoKDUyPDwxNikrKDA8PDgpKzApCi0gICBsYXZjX2RlY19j b250ZXh0LT5lcnJvcl9yZXNpbGllbmNlICA9IDI7Ci0gI2Vsc2UKLS0gIGxhdmNfZGVjX2NvbnRl eHQtPmVycm9yX3JlY29nbml0aW9uID0gMjsKLSsgIGxhdmNfZGVjX2NvbnRleHQtPmVycl9yZWNv Z25pdGlvbiA9IDI7Ci0gI2VuZGlmCi0gICBsYXZjX2RlY19jb250ZXh0LT5lcnJvcl9jb25jZWFs bWVudCA9IDM7Ci0gICBsYXZjX2RlY19jb250ZXh0LT53b3JrYXJvdW5kX2J1Z3MgPSBGRl9CVUdf QVVUT0RFVEVDVDsKLSAKLS0gIGlmIChhdmNvZGVjX29wZW4obGF2Y19kZWNfY29udGV4dCwgbGF2 Y19kZWNfY29kZWMpIDwgMCkgewotKyAgaWYgKGF2Y29kZWNfb3BlbjIobGF2Y19kZWNfY29udGV4 dCwgbGF2Y19kZWNfY29kZWMsIE5VTEwpIDwgMCkgewotICAgICAgIHRjX2xvZ19lcnJvcihfX0ZJ TEVfXywgIkNvdWxkIG5vdCBpbml0aWFsaXplIHRoZSAnJXMnIGNvZGVjLiIsCi0gCQkgICBjb2Rl Yy0+bmFtZSk7Ci0gICAgICAgZ290byBkZWNvZGVyX2Vycm9yOwotQEAgLTI5MCw4ICsyOTAsOCBA QAotIAotICAgICAgIC8vIENvbnZlcnQgYXZjb2RlYyBpbWFnZSB0byB0aGUgcmVxdWVzdGVkIFlV ViBvciBSR0IgZm9ybWF0Ci0gICAgICAgc3dpdGNoIChsYXZjX2RlY19jb250ZXh0LT5waXhfZm10 KSB7Ci0tCWNhc2UgUElYX0ZNVF9ZVVZKNDIwUDoKLS0JY2FzZSBQSVhfRk1UX1lVVjQyMFA6Ci0r CWNhc2UgQVZfUElYX0ZNVF9ZVVZKNDIwUDoKLSsJY2FzZSBBVl9QSVhfRk1UX1lVVjQyMFA6Ci0g CSAgICAvLyBSZW1vdmUgImRlYWQgc3BhY2UiIGF0IHJpZ2h0IGVkZ2Ugb2YgcGxhbmVzLCBpZiBh bnkKLSAJICAgIGlmIChwaWN0dXJlLmxpbmVzaXplWzBdICE9IGxhdmNfZGVjX2NvbnRleHQtPndp ZHRoKSB7Ci0gCQlpbnQgeTsKLUBAIC0zMTUsNyArMzE1LDcgQEAKLSAJCQkgIHBpeF9mbXQ9PVRD X0NPREVDX1lVVjQyMFAgPyBJTUdfWVVWNDIwUCA6IElNR19SR0JfREVGQVVMVCwKLSAJCQkgIGxh dmNfZGVjX2NvbnRleHQtPndpZHRoLCBsYXZjX2RlY19jb250ZXh0LT5oZWlnaHQpOwotIAkgICAg YnJlYWs7Ci0tCWNhc2UgUElYX0ZNVF9ZVVY0MTFQOgotKwljYXNlIEFWX1BJWF9GTVRfWVVWNDEx UDoKLSAJICAgIGlmIChwaWN0dXJlLmxpbmVzaXplWzBdICE9IGxhdmNfZGVjX2NvbnRleHQtPndp ZHRoKSB7Ci0gCQlpbnQgeTsKLSAJCWZvciAoeSA9IDA7IHkgPCBsYXZjX2RlY19jb250ZXh0LT5o ZWlnaHQ7IHkrKykgewotQEAgLTMzNCw4ICszMzQsOCBAQAotIAkJCSAgcGl4X2ZtdD09VENfQ09E RUNfWVVWNDIwUCA/IElNR19ZVVY0MjBQIDogSU1HX1JHQl9ERUZBVUxULAotIAkJCSAgbGF2Y19k ZWNfY29udGV4dC0+d2lkdGgsIGxhdmNfZGVjX2NvbnRleHQtPmhlaWdodCk7Ci0gCSAgICBicmVh azsKLS0JY2FzZSBQSVhfRk1UX1lVVko0MjJQOgotLQljYXNlIFBJWF9GTVRfWVVWNDIyUDoKLSsJ Y2FzZSBBVl9QSVhfRk1UX1lVVko0MjJQOgotKwljYXNlIEFWX1BJWF9GTVRfWVVWNDIyUDoKLSAJ ICAgIGlmIChwaWN0dXJlLmxpbmVzaXplWzBdICE9IGxhdmNfZGVjX2NvbnRleHQtPndpZHRoKSB7 Ci0gCQlpbnQgeTsKLSAJCWZvciAoeSA9IDA7IHkgPCBsYXZjX2RlY19jb250ZXh0LT5oZWlnaHQ7 IHkrKykgewotQEAgLTM1NCw4ICszNTQsOCBAQAotIAkJCSAgcGl4X2ZtdD09VENfQ09ERUNfWVVW NDIwUCA/IElNR19ZVVY0MjBQIDogSU1HX1JHQl9ERUZBVUxULAotIAkJCSAgbGF2Y19kZWNfY29u dGV4dC0+d2lkdGgsIGxhdmNfZGVjX2NvbnRleHQtPmhlaWdodCk7Ci0gCSAgICBicmVhazsKLS0J Y2FzZSBQSVhfRk1UX1lVVko0NDRQOgotLQljYXNlIFBJWF9GTVRfWVVWNDQ0UDoKLSsJY2FzZSBB Vl9QSVhfRk1UX1lVVko0NDRQOgotKwljYXNlIEFWX1BJWF9GTVRfWVVWNDQ0UDoKLSAJICAgIGlm IChwaWN0dXJlLmxpbmVzaXplWzBdICE9IGxhdmNfZGVjX2NvbnRleHQtPndpZHRoKSB7Ci0gCQlp bnQgeTsKLSAJCWZvciAoeSA9IDA7IHkgPCBsYXZjX2RlY19jb250ZXh0LT5oZWlnaHQ7IHkrKykg ewotLS0tIGEvaW1wb3J0L2ltcG9ydF9mZm1wZWcuYwkyMDExLTExLTE5IDE3OjUwOjI3LjAwMDAw MDAwMCArMDEwMAotKysrIGIvaW1wb3J0L2ltcG9ydF9mZm1wZWcuYwkyMDE2LTAyLTE1IDE2OjA4 OjQ4LjI2OTcyMDYyNyArMDEwMAotQEAgLTU5LDUxICs1OSw1MSBAQAotIAotIC8vIGZvdXJDQyB0 byBJRCBtYXBwaW5nIHRha2VuIGZyb20gTVBsYXllcidzIGNvZGVjcy5jb25mCi0gc3RhdGljIHN0 cnVjdCBmZm1wZWdfY29kZWMgZmZtcGVnX2NvZGVjc1tdID0gewotLSAge0NPREVDX0lEX01TTVBF RzRWMSwgVENfQ09ERUNfRVJST1IsICJtcDQxIiwKLSsgIHtBVl9DT0RFQ19JRF9NU01QRUc0VjEs IFRDX0NPREVDX0VSUk9SLCAibXA0MSIsCi0gICAgIHsiTVA0MSIsICJESVYxIiwgIiJ9fSwKLS0g IHtDT0RFQ19JRF9NU01QRUc0VjIsIFRDX0NPREVDX01QNDIsICJtcDQyIiwKLSsgIHtBVl9DT0RF Q19JRF9NU01QRUc0VjIsIFRDX0NPREVDX01QNDIsICJtcDQyIiwKLSAgICAgeyJNUDQyIiwgIkRJ VjIiLCAiIn19LAotLSAge0NPREVDX0lEX01TTVBFRzRWMywgVENfQ09ERUNfRElWWDMsICJtc21w ZWc0IiwKLSsgIHtBVl9DT0RFQ19JRF9NU01QRUc0VjMsIFRDX0NPREVDX0RJVlgzLCAibXNtcGVn NCIsCi0gICAgIHsiRElWMyIsICJESVY1IiwgIkFQNDEiLCAiTVBHMyIsICJNUDQzIiwgIiJ9fSwK LS0gIHtDT0RFQ19JRF9NUEVHNCwgVENfQ09ERUNfRElWWDQsICJtcGVnNCIsCi0rICB7QVZfQ09E RUNfSURfTVBFRzQsIFRDX0NPREVDX0RJVlg0LCAibXBlZzQiLAotICAgICB7IkRJVlgiLCAiWFZJ RCIsICJNUDRTIiwgIk00UzIiLCAiTVA0ViIsICJVTVA0IiwgIkRYNTAiLCAiIn19LAotLSAge0NP REVDX0lEX01KUEVHLCBUQ19DT0RFQ19NSlBFRywgIm1qcGVnIiwKLSsgIHtBVl9DT0RFQ19JRF9N SlBFRywgVENfQ09ERUNfTUpQRUcsICJtanBlZyIsCi0gICAgIHsiTUpQRyIsICJBVlJOIiwgIkFW REoiLCAiSlBFRyIsICJNSlBBIiwgIkpGSUYiLCAiIn19LAotLSAge0NPREVDX0lEX01QRUcxVklE RU8sIFRDX0NPREVDX01QRzEsICJtcGVnMXZpZGVvIiwKLSsgIHtBVl9DT0RFQ19JRF9NUEVHMVZJ REVPLCBUQ19DT0RFQ19NUEcxLCAibXBlZzF2aWRlbyIsCi0gICAgIHsiTVBHMSIsICIifX0sCi0t ICB7Q09ERUNfSURfRFZWSURFTywgVENfQ09ERUNfRFYsICJkdnZpZGVvIiwKLSsgIHtBVl9DT0RF Q19JRF9EVlZJREVPLCBUQ19DT0RFQ19EViwgImR2dmlkZW8iLAotICAgICB7IkRWU0QiLCAiIn19 LAotLSAge0NPREVDX0lEX1dNVjEsIFRDX0NPREVDX1dNVjEsICJ3bXYxIiwKLSsgIHtBVl9DT0RF Q19JRF9XTVYxLCBUQ19DT0RFQ19XTVYxLCAid212MSIsCi0gICAgIHsiV01WMSIsICIifX0sCi0t ICB7Q09ERUNfSURfV01WMiwgVENfQ09ERUNfV01WMiwgIndtdjIiLAotKyAge0FWX0NPREVDX0lE X1dNVjIsIFRDX0NPREVDX1dNVjIsICJ3bXYyIiwKLSAgICAgeyJXTVYyIiwgIiJ9fSwKLS0gIHtD T0RFQ19JRF9IVUZGWVVWLCBUQ19DT0RFQ19IVUZGWVVWLCAiaGZ5dSIsCi0rICB7QVZfQ09ERUNf SURfSFVGRllVViwgVENfQ09ERUNfSFVGRllVViwgImhmeXUiLAotICAgICB7IkhGWVUiLCAiIn19 LAotLSAge0NPREVDX0lEX0gyNjNJLCBUQ19DT0RFQ19IMjYzSSwgImgyNjNpIiwKLSsgIHtBVl9D T0RFQ19JRF9IMjYzSSwgVENfQ09ERUNfSDI2M0ksICJoMjYzaSIsCi0gICAgIHsiSTI2MyIsICIi fX0sCi0tICB7Q09ERUNfSURfSDI2M1AsIFRDX0NPREVDX0gyNjNQLCAiaDI2M3AiLAotKyAge0FW X0NPREVDX0lEX0gyNjNQLCBUQ19DT0RFQ19IMjYzUCwgImgyNjNwIiwKLSAgICAgeyJIMjYzIiwg IlUyNjMiLCAiVklWMSIsICIifX0sCi0tICB7Q09ERUNfSURfSDI2NCwgVENfQ09ERUNfSDI2NCwg ImgyNjQiLAotKyAge0FWX0NPREVDX0lEX0gyNjQsIFRDX0NPREVDX0gyNjQsICJoMjY0IiwKLSAg ICAgeyJIMjY0IiwgImgyNjQiLCAiWDI2NCIsICJ4MjY0IiwgImF2YzEiLCAiIn19LAotLSAge0NP REVDX0lEX1JWMTAsIFRDX0NPREVDX1JWMTAsICJydjEwIiwKLSsgIHtBVl9DT0RFQ19JRF9SVjEw LCBUQ19DT0RFQ19SVjEwLCAicnYxMCIsCi0gICAgIHsiUlYxMCIsICJSVjEzIiwgIiJ9fSwKLS0g IHtDT0RFQ19JRF9TVlExLCBUQ19DT0RFQ19TVlExLCAic3ZxMSIsCi0rICB7QVZfQ09ERUNfSURf U1ZRMSwgVENfQ09ERUNfU1ZRMSwgInN2cTEiLAotICAgICB7IlNWUTEiLCAiIn19LAotLSAge0NP REVDX0lEX1NWUTMsIFRDX0NPREVDX1NWUTMsICJzdnEzIiwKLSsgIHtBVl9DT0RFQ19JRF9TVlEz LCBUQ19DT0RFQ19TVlEzLCAic3ZxMyIsCi0gICAgIHsiU1ZRMyIsICIifX0sCi0tICB7Q09ERUNf SURfTVBFRzJWSURFTywgVENfQ09ERUNfTVBFRzIsICJtcGVnMnZpZGVvIiwKLSsgIHtBVl9DT0RF Q19JRF9NUEVHMlZJREVPLCBUQ19DT0RFQ19NUEVHMiwgIm1wZWcydmlkZW8iLAotICAgICB7Ik1Q RzIiLCAiIn19LAotLSAge0NPREVDX0lEX01QRUcyVklERU8sIFRDX0NPREVDX01QRUcsICJtcGVn MnZpZGVvIiwKLSsgIHtBVl9DT0RFQ19JRF9NUEVHMlZJREVPLCBUQ19DT0RFQ19NUEVHLCAibXBl ZzJ2aWRlbyIsCi0gICAgIHsiTVBHMiIsICIifX0sCi0tICB7Q09ERUNfSURfQVNWMSwgVENfQ09E RUNfQVNWMSwgImFzdjEiLAotKyAge0FWX0NPREVDX0lEX0FTVjEsIFRDX0NPREVDX0FTVjEsICJh c3YxIiwKLSAgICAgeyJBU1YxIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9BU1YyLCBUQ19DT0RFQ19B U1YyLCAiYXN2MiIsCi0rICB7QVZfQ09ERUNfSURfQVNWMiwgVENfQ09ERUNfQVNWMiwgImFzdjIi LAotICAgICB7IkFTVjIiLCAiIn19LAotLSAge0NPREVDX0lEX0ZGVjEsIFRDX0NPREVDX0ZGVjEs ICJmZnYxIiwKLSsgIHtBVl9DT0RFQ19JRF9GRlYxLCBUQ19DT0RFQ19GRlYxLCAiZmZ2MSIsCi0g ICAgIHsiRkZWMSIsICIifX0sCi0tICB7Q09ERUNfSURfUkFXVklERU8sIFRDX0NPREVDX1lVVjQy MFAsICJyYXciLAotKyAge0FWX0NPREVDX0lEX1JBV1ZJREVPLCBUQ19DT0RFQ19ZVVY0MjBQLCAi cmF3IiwKLSAgICAgeyJJNDIwIiwgIklZVVYiLCAiIn19LAotLSAge0NPREVDX0lEX1JBV1ZJREVP LCBUQ19DT0RFQ19ZVVY0MjJQLCAicmF3IiwKLSsgIHtBVl9DT0RFQ19JRF9SQVdWSURFTywgVENf Q09ERUNfWVVWNDIyUCwgInJhdyIsCi0gICAgIHsiWTQyQiIsICIifX0sCi0gICB7MCwgVENfQ09E RUNfVU5LTk9XTiwgTlVMTCwgeyIifX19OwotIAotQEAgLTMwMiw3ICszMDIsNyBAQAotIAotICAg ICAvLyBTZXQgdGhlc2UgdG8gdGhlIGV4cGVjdGVkIHZhbHVlcyBzbyB0aGF0IGZmbXBlZydzIGRl Y29kZXIgY2FuCi0gICAgIC8vIHByb3Blcmx5IGRldGVjdCBpbnRlcmxhY2VkIGlucHV0LgotLSAg ICBsYXZjX2RlY19jb250ZXh0ID0gYXZjb2RlY19hbGxvY19jb250ZXh0KCk7Ci0rICAgIGxhdmNf ZGVjX2NvbnRleHQgPSBhdmNvZGVjX2FsbG9jX2NvbnRleHQzKGxhdmNfZGVjX2NvZGVjKTsKLSAg ICAgaWYgKGxhdmNfZGVjX2NvbnRleHQgPT0gTlVMTCkgewotICAgICAgIHRjX2xvZ19lcnJvcihN T0RfTkFNRSwgIkNvdWxkIG5vdCBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5LiIpOwotICAgICAgIHJl dHVybiBUQ19JTVBPUlRfRVJST1I7Ci1AQCAtMzE0LDcgKzMxNCw3IEBACi0gI2lmIExJQkFWQ09E RUNfVkVSU0lPTl9JTlQgPCAoKDUyPDwxNikrKDA8PDgpKzApCi0gICAgIGxhdmNfZGVjX2NvbnRl eHQtPmVycm9yX3Jlc2lsaWVuY2UgID0gMjsKLSAjZWxzZQotLSAgICBsYXZjX2RlY19jb250ZXh0 LT5lcnJvcl9yZWNvZ25pdGlvbiA9IDI7Ci0rICAgIGxhdmNfZGVjX2NvbnRleHQtPmVycl9yZWNv Z25pdGlvbiA9IDI7Ci0gI2VuZGlmCi0gICAgIGxhdmNfZGVjX2NvbnRleHQtPmVycm9yX2NvbmNl YWxtZW50ID0gMzsKLSAgICAgbGF2Y19kZWNfY29udGV4dC0+d29ya2Fyb3VuZF9idWdzID0gRkZf QlVHX0FVVE9ERVRFQ1Q7Ci1AQCAtMzI0LDEzICszMjQsMTMgQEAKLSAgICAgLy8gWFhYOiBzb21l IGNvZGVjcyBuZWVkIGV4dHJhIGRhdGEKLSAgICAgc3dpdGNoIChjb2RlYy0+aWQpCi0gICAgIHsK LS0gICAgICBjYXNlIENPREVDX0lEX01KUEVHOiBleHRyYV9kYXRhX3NpemUgID0gMjg7IGJyZWFr OwotLSAgICAgIGNhc2UgQ09ERUNfSURfTEpQRUc6IGV4dHJhX2RhdGFfc2l6ZSAgPSAyODsgYnJl YWs7Ci0tICAgICAgY2FzZSBDT0RFQ19JRF9IVUZGWVVWOiBleHRyYV9kYXRhX3NpemUgPSAxMDAw OyBicmVhazsKLS0gICAgICBjYXNlIENPREVDX0lEX0FTVjE6IGV4dHJhX2RhdGFfc2l6ZSA9IDg7 IGJyZWFrOwotLSAgICAgIGNhc2UgQ09ERUNfSURfQVNWMjogZXh0cmFfZGF0YV9zaXplID0gODsg YnJlYWs7Ci0tICAgICAgY2FzZSBDT0RFQ19JRF9XTVYxOiBleHRyYV9kYXRhX3NpemUgPSA0OyBi cmVhazsKLS0gICAgICBjYXNlIENPREVDX0lEX1dNVjI6IGV4dHJhX2RhdGFfc2l6ZSA9IDQ7IGJy ZWFrOwotKyAgICAgIGNhc2UgQVZfQ09ERUNfSURfTUpQRUc6IGV4dHJhX2RhdGFfc2l6ZSAgPSAy ODsgYnJlYWs7Ci0rICAgICAgY2FzZSBBVl9DT0RFQ19JRF9MSlBFRzogZXh0cmFfZGF0YV9zaXpl ICA9IDI4OyBicmVhazsKLSsgICAgICBjYXNlIEFWX0NPREVDX0lEX0hVRkZZVVY6IGV4dHJhX2Rh dGFfc2l6ZSA9IDEwMDA7IGJyZWFrOwotKyAgICAgIGNhc2UgQVZfQ09ERUNfSURfQVNWMTogZXh0 cmFfZGF0YV9zaXplID0gODsgYnJlYWs7Ci0rICAgICAgY2FzZSBBVl9DT0RFQ19JRF9BU1YyOiBl eHRyYV9kYXRhX3NpemUgPSA4OyBicmVhazsKLSsgICAgICBjYXNlIEFWX0NPREVDX0lEX1dNVjE6 IGV4dHJhX2RhdGFfc2l6ZSA9IDQ7IGJyZWFrOwotKyAgICAgIGNhc2UgQVZfQ09ERUNfSURfV01W MjogZXh0cmFfZGF0YV9zaXplID0gNDsgYnJlYWs7Ci0gICAgICAgZGVmYXVsdDogZXh0cmFfZGF0 YV9zaXplID0gMDsgYnJlYWs7Ci0gICAgIH0KLSAKLUBAIC0zNDQsNyArMzQ0LDcgQEAKLSAgICAg fQotIAotICAgICBUQ19MT0NLX0xJQkFWQ09ERUM7Ci0tICAgIHJldCA9IGF2Y29kZWNfb3Blbihs YXZjX2RlY19jb250ZXh0LCBsYXZjX2RlY19jb2RlYyk7Ci0rICAgIHJldCA9IGF2Y29kZWNfb3Bl bjIobGF2Y19kZWNfY29udGV4dCwgbGF2Y19kZWNfY29kZWMsIE5VTEwpOwotICAgICBUQ19VTkxP Q0tfTElCQVZDT0RFQzsKLSAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICB0Y19sb2dfd2FybihN T0RfTkFNRSwgIkNvdWxkIG5vdCBpbml0aWFsaXplIHRoZSAnJXMnIGNvZGVjLiIsCi1AQCAtMzYw LDcgKzM2MCw3IEBACi0gICAgICAgICBmcmFtZV9zaXplID0geF9kaW0qeV9kaW0gKyAyKlVWX1BM QU5FX1NJWkUoSU1HX1lVVl9ERUZBVUxULHhfZGltLHlfZGltKTsKLSAKLSAJLy8gd2UgYWRhcHQg dGhlIGNvbG9yIHNwYWNlCi0tICAgICAgICBpZihjb2RlYy0+aWQgPT0gQ09ERUNfSURfTUpQRUcp IHsKLSsgICAgICAgIGlmKGNvZGVjLT5pZCA9PSBBVl9DT0RFQ19JRF9NSlBFRykgewotIAkgIGVu YWJsZV9sZXZlbHNfZmlsdGVyKCk7Ci0gICAgICAgICB9Ci0gICAgICAgICBicmVhazsKLUBAIC00 MzQsNyArNDM0LDcgQEAKLSAgICAgICB9Ci0gCi0gICAgICAgLy8gd2UgYWRhcHQgdGhlIGNvbG9y IHNwYWNlCi0tICAgICAgaWYoY29kZWMtPmlkID09IENPREVDX0lEX01KUEVHKSB7Ci0rICAgICAg aWYoY29kZWMtPmlkID09IEFWX0NPREVDX0lEX01KUEVHKSB7Ci0gICAgICAgICBlbmFibGVfbGV2 ZWxzX2ZpbHRlcigpOwotICAgICAgIH0KLSAKLUBAIC01MDQsMTMgKzUwNCwxMyBAQAotICAgICAg IGludCBia2V5ID0gMDsKLSAKLSAgICAgICAvLyBjaGVjayBmb3Iga2V5ZnJhbWVzCi0tICAgICAg aWYgKGNvZGVjLT5pZCA9PSBDT0RFQ19JRF9NU01QRUc0VjMpIHsKLSsgICAgICBpZiAoY29kZWMt PmlkID09IEFWX0NPREVDX0lEX01TTVBFRzRWMykgewotIAlpZiAoZGl2eDNfaXNfa2V5KGJ1ZmZl cikpIGJrZXkgPSAxOwotICAgICAgIH0KLS0gICAgICBlbHNlIGlmIChjb2RlYy0+aWQgPT0gQ09E RUNfSURfTVBFRzQpIHsKLSsgICAgICBlbHNlIGlmIChjb2RlYy0+aWQgPT0gQVZfQ09ERUNfSURf TVBFRzQpIHsKLSAJaWYgKG1wZWc0X2lzX2tleShidWZmZXIsIGJ5dGVzX3JlYWQpKSBia2V5ID0g MTsKLSAgICAgICB9Ci0tICAgICAgZWxzZSBpZiAoY29kZWMtPmlkID09IENPREVDX0lEX01KUEVH KSB7Ci0rICAgICAgZWxzZSBpZiAoY29kZWMtPmlkID09IEFWX0NPREVDX0lEX01KUEVHKSB7Ci0g CWJrZXkgPSAxOwotICAgICAgIH0KLSAKLUBAIC01ODAsOCArNTgwLDggQEAKLSAKLSAgICAgLy8g Q29udmVydCBhdmNvZGVjIGltYWdlIHRvIG91ciBpbnRlcm5hbCBZVVYgb3IgUkdCIGZvcm1hdAot ICAgICBzd2l0Y2ggKGxhdmNfZGVjX2NvbnRleHQtPnBpeF9mbXQpIHsKLS0gICAgICBjYXNlIFBJ WF9GTVRfWVVWSjQyMFA6Ci0tICAgICAgY2FzZSBQSVhfRk1UX1lVVjQyMFA6Ci0rICAgICAgY2Fz ZSBBVl9QSVhfRk1UX1lVVko0MjBQOgotKyAgICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjBQOgot ICAgICAgICAgc3JjX2ZtdCA9IElNR19ZVVY0MjBQOwotICAgICAgICAgWVVWX0lOSVRfUExBTkVT KHNyY19wbGFuZXMsIGZyYW1lLCBzcmNfZm10LAotICAgICAgICAgICAgICAgICAgICAgICAgIGxh dmNfZGVjX2NvbnRleHQtPndpZHRoLCBsYXZjX2RlY19jb250ZXh0LT5oZWlnaHQpOwotQEAgLTYx Miw3ICs2MTIsNyBAQAotIAl9Ci0gICAgICAgICBicmVhazsKLSAKLS0gICAgICBjYXNlIFBJWF9G TVRfWVVWNDExUDoKLSsgICAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDExUDoKLSAgICAgICAgIHNy Y19mbXQgPSBJTUdfWVVWNDExUDsKLSAgICAgICAgIFlVVl9JTklUX1BMQU5FUyhzcmNfcGxhbmVz LCBmcmFtZSwgc3JjX2ZtdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBsYXZjX2RlY19jb250 ZXh0LT53aWR0aCwgbGF2Y19kZWNfY29udGV4dC0+aGVpZ2h0KTsKLUBAIC02NDAsOCArNjQwLDgg QEAKLSAgICAgICAgIH0KLSAgICAgICAgIGJyZWFrOwotIAotLSAgICAgIGNhc2UgUElYX0ZNVF9Z VVZKNDIyUDoKLS0gICAgICBjYXNlIFBJWF9GTVRfWVVWNDIyUDoKLSsgICAgICBjYXNlIEFWX1BJ WF9GTVRfWVVWSjQyMlA6Ci0rICAgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQyMlA6Ci0gICAgICAg ICBzcmNfZm10ID0gSU1HX1lVVjQyMlA7Ci0gICAgICAgICBZVVZfSU5JVF9QTEFORVMoc3JjX3Bs YW5lcywgZnJhbWUsIHNyY19mbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGF2Y19kZWNf Y29udGV4dC0+d2lkdGgsIGxhdmNfZGVjX2NvbnRleHQtPmhlaWdodCk7Ci1AQCAtNjY5LDggKzY2 OSw4IEBACi0gICAgICAgICB9Ci0gCWJyZWFrOwotIAotLSAgICAgIGNhc2UgUElYX0ZNVF9ZVVZK NDQ0UDoKLS0gICAgICBjYXNlIFBJWF9GTVRfWVVWNDQ0UDoKLSsgICAgICBjYXNlIEFWX1BJWF9G TVRfWVVWSjQ0NFA6Ci0rICAgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQ0NFA6Ci0gICAgICAgICBz cmNfZm10ID0gSU1HX1lVVjQ0NFA7Ci0gICAgICAgICBZVVZfSU5JVF9QTEFORVMoc3JjX3BsYW5l cywgZnJhbWUsIHNyY19mbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGF2Y19kZWNfY29u dGV4dC0+d2lkdGgsIGxhdmNfZGVjX2NvbnRleHQtPmhlaWdodCk7Ci0tLS0gYS9pbXBvcnQvcHJv YmVfZmZtcGVnLmMJMjAxMS0xMS0xOSAxNzo1MDoyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBiL2lt cG9ydC9wcm9iZV9mZm1wZWcuYwkyMDE2LTAyLTE1IDE2OjA4OjM3LjkxNzQ4ODE4NCArMDEwMAot QEAgLTk5LDggKzk5LDggQEAKLSAKLSAgICAgVENfSU5JVF9MSUJBVkNPREVDOwotIAotLSAgICBy ZXQgPSBhdl9vcGVuX2lucHV0X2ZpbGUoJmxhdmZfZG14X2NvbnRleHQsIGlwaXBlLT5uYW1lLAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgTlVMTCk7Ci0rICAgIHJldCA9 IGF2Zm9ybWF0X29wZW5faW5wdXQoJmxhdmZfZG14X2NvbnRleHQsIGlwaXBlLT5uYW1lLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7Ci0gICAgIGlmIChyZXQgIT0g MCkgewotICAgICAgICAgdGNfbG9nX2Vycm9yKF9fRklMRV9fLCAidW5hYmxlIHRvIG9wZW4gJyVz JyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAobGliYXZmb3JtYXQgZmFpbHVy ZSkiLAotQEAgLTEwOSw3ICsxMDksNyBAQAotICAgICAgICAgcmV0dXJuOwotICAgICB9Ci0gCi0t ICAgIHJldCA9IGF2X2ZpbmRfc3RyZWFtX2luZm8obGF2Zl9kbXhfY29udGV4dCk7Ci0rICAgIHJl dCA9IGF2Zm9ybWF0X2ZpbmRfc3RyZWFtX2luZm8obGF2Zl9kbXhfY29udGV4dCwgTlVMTCk7Ci0g ICAgIGlmIChyZXQgPCAwKSB7Ci0gICAgICAgICB0Y19sb2dfZXJyb3IoX19GSUxFX18sICJ1bmFi bGUgdG8gZmV0Y2ggaW5mb3JtYXRpb25zIGZyb20gJyVzJyIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIiAobGliYXZmb3JtYXQgZmFpbHVyZSkiLAotQEAgLTEyMCw3ICsxMjAsMTEg QEAKLSAKLSAgICAgdHJhbnNsYXRlX2luZm8obGF2Zl9kbXhfY29udGV4dCwgaXBpcGUtPnByb2Jl X2luZm8pOwotIAotKyNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0lOVCA+IEFWX1ZFUlNJT05fSU5U KDUzLDI1LDApCi0rICAgIGF2Zm9ybWF0X2Nsb3NlX2lucHV0KCZsYXZmX2RteF9jb250ZXh0KTsK LSsjZWxzZQotICAgICBhdl9jbG9zZV9pbnB1dF9maWxlKGxhdmZfZG14X2NvbnRleHQpOwotKyNl bmRpZgotICAgICByZXR1cm47Ci0gfQotIAotLS0tIGEvbGlidGMvdGNhdmNvZGVjLmgJMjAxMS0x MS0xOSAxNzo1MDoyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBiL2xpYnRjL3RjYXZjb2RlYy5oCTIw MTYtMDItMTUgMTY6MDg6MzcuOTE3NDg4MTg0ICswMTAwCi1AQCAtNTMsNyArNTMsNiBAQAotIAot ICNkZWZpbmUgVENfSU5JVF9MSUJBVkNPREVDIGRvIHsgXAotICAgICBUQ19MT0NLX0xJQkFWQ09E RUM7IFwKLS0gICAgYXZjb2RlY19pbml0KCk7IFwKLSAgICAgYXZjb2RlY19yZWdpc3Rlcl9hbGwo KTsgXAotICAgICBUQ19VTkxPQ0tfTElCQVZDT0RFQzsgXAotIH0gd2hpbGUgKDApCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3RyYW5zY29kZS9wYXRjaGVzL3RyYW5zY29kZS1mZm1wZWc0LnBhdGNoIGIv c3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFuc2NvZGUtZmZtcGVnNC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzI1OTEzYTIxMDA4Li4wMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFuc2NvZGUtZmZtcGVnNC5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDQ5NyArMCwwIEBACi1zb3VyY2U6IGh0dHBzOi8vZ2l0LmFyY2hsaW51eC5v cmcvc3ZudG9naXQvY29tbXVuaXR5LmdpdC90cmVlL3RydW5rL3RyYW5zY29kZS1mZm1wZWc0LnBh dGNoP2g9cGFja2FnZXMvdHJhbnNjb2RlCi0KLS0tLSBhL2VuY29kZS9lbmNvZGVfbGF2Yy5jCi0r KysgYi9lbmNvZGUvZW5jb2RlX2xhdmMuYwotQEAgLTc3LDYgKzc3LDEzIEBAIHN0cnVjdCB0Y2xh dmNjb25maWdkYXRhXyB7Ci0gICAgIGludCBsdW1hX2VsaW1fdGhyZXNob2xkOwotICAgICBpbnQg Y2hyb21hX2VsaW1fdGhyZXNob2xkOwotICAgICBpbnQgcXVhbnRpemVyX25vaXNlX3NoYXBpbmc7 Ci0rICAgIGludCBpbnRlcl9xdWFudF9iaWFzOwotKyAgICBpbnQgaW50cmFfcXVhbnRfYmlhczsK LSsgICAgaW50IHNjZW5lY2hhbmdlX2ZhY3RvcjsKLSsgICAgaW50IHJjX3N0cmF0ZWd5OwotKyAg ICBmbG9hdCByY19pbml0aWFsX2NwbHg7Ci0rICAgIGZsb2F0IHJjX3FzcXVpc2g7Ci0rICAgIGZs b2F0IGJvcmRlcl9tYXNraW5nOwotIAotICAgICAvKiBzYW1lIGFzIGFib3ZlIGZvciBmbGFncyAq LwotICAgICBzdHJ1Y3QgewotQEAgLTY4NCw3ICs2OTEsNyBAQCBzdGF0aWMgaW50IHRjX2xhdmNf aW5pdF9tdWx0aXBhc3MoVENMYXZjCi0gICAgIHN3aXRjaCAodm9iLT5kaXZ4bXVsdGlwYXNzKSB7 Ci0gICAgICAgY2FzZSAxOgotICAgICAgICAgQ0FOX0RPX01VTFRJUEFTUyhtdWx0aXBhc3NfZmxh Zyk7Ci0tICAgICAgICBwZC0+ZmZfdmNvbnRleHQuZmxhZ3MgfD0gQ09ERUNfRkxBR19QQVNTMTsK LSsgICAgICAgIHBkLT5mZl92Y29udGV4dC5mbGFncyB8PSBBVl9DT0RFQ19GTEFHX1BBU1MxOwot ICAgICAgICAgcGQtPnN0YXRzX2ZpbGUgPSBmb3Blbih2b2ItPmRpdnhsb2dmaWxlLCAidyIpOwot ICAgICAgICAgaWYgKHBkLT5zdGF0c19maWxlID09IE5VTEwpIHsKLSAgICAgICAgICAgICB0Y19s b2dfZXJyb3IoTU9EX05BTUUsICJjb3VsZCBub3QgY3JlYXRlIDJwYXNzIGxvZyBmaWxlIgotQEAg LTY5NCw3ICs3MDEsNyBAQCBzdGF0aWMgaW50IHRjX2xhdmNfaW5pdF9tdWx0aXBhc3MoVENMYXZj Ci0gICAgICAgICBicmVhazsKLSAgICAgICBjYXNlIDI6Ci0gICAgICAgICBDQU5fRE9fTVVMVElQ QVNTKG11bHRpcGFzc19mbGFnKTsKLS0gICAgICAgIHBkLT5mZl92Y29udGV4dC5mbGFncyB8PSBD T0RFQ19GTEFHX1BBU1MyOwotKyAgICAgICAgcGQtPmZmX3Zjb250ZXh0LmZsYWdzIHw9IEFWX0NP REVDX0ZMQUdfUEFTUzI7Ci0gICAgICAgICBwZC0+c3RhdHNfZmlsZSA9IGZvcGVuKHZvYi0+ZGl2 eGxvZ2ZpbGUsICJyIik7Ci0gICAgICAgICBpZiAocGQtPnN0YXRzX2ZpbGUgPT0gTlVMTCl7Ci0g ICAgICAgICAgICAgdGNfbG9nX2Vycm9yKE1PRF9OQU1FLCAiY291bGQgbm90IG9wZW4gMnBhc3Mg bG9nIGZpbGUgXCIlc1wiIgotQEAgLTcyMyw3ICs3MzAsNyBAQCBzdGF0aWMgaW50IHRjX2xhdmNf aW5pdF9tdWx0aXBhc3MoVENMYXZjCi0gICAgICAgICBicmVhazsKLSAgICAgICBjYXNlIDM6Ci0g ICAgICAgICAvKiBmaXhlZCBxc2NhbGUgOnAgKi8KLS0gICAgICAgIHBkLT5mZl92Y29udGV4dC5m bGFncyB8PSBDT0RFQ19GTEFHX1FTQ0FMRTsKLSsgICAgICAgIHBkLT5mZl92Y29udGV4dC5mbGFn cyB8PSBBVl9DT0RFQ19GTEFHX1FTQ0FMRTsKLSAgICAgICAgIHBkLT5mZl92ZW5jX2ZyYW1lLnF1 YWxpdHkgPSB2b2ItPmRpdnhiaXRyYXRlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIH0KLUBAIC05 NzAsNyArOTc3LDcgQEAgc3RhdGljIHZvaWQgdGNfbGF2Y19jb25maWdfZGVmYXVsdHMoVENMYQot ICAgICBwZC0+Y29uZmRhdGEucmNfYnVmZmVyX3NpemUgID0gMDsKLSAgICAgcGQtPmNvbmZkYXRh LmxtaW4gICAgICAgICAgICA9IDI7Ci0gICAgIHBkLT5jb25mZGF0YS5sbWF4ICAgICAgICAgICAg PSAzMTsKLS0gICAgcGQtPmNvbmZkYXRhLm1lX21ldGhvZCAgICAgICA9IE1FX0VQWlM7Ci0rICAg IHBkLT5jb25mZGF0YS5tZV9tZXRob2QgICAgICAgPSAwOwotIAotICAgICBtZW1zZXQoJnBkLT5j b25mZGF0YS5mbGFncywgMCwgc2l6ZW9mKHBkLT5jb25mZGF0YS5mbGFncykpOwotICAgICBwZC0+ Y29uZmRhdGEudHVyYm9fc2V0dXAgPSAwOwotQEAgLTk4MywxMiArOTkwLDEyIEBAIHN0YXRpYyB2 b2lkIHRjX2xhdmNfY29uZmlnX2RlZmF1bHRzKFRDTGEKLSAgICAgcGQtPmZmX3Zjb250ZXh0Lm1l X3JhbmdlICAgICAgICAgICAgICAgID0gMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0Lm1iX2RlY2lz aW9uICAgICAgICAgICAgID0gMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LnNjZW5lY2hhbmdlX3Ro cmVzaG9sZCAgID0gMDsKLS0gICAgcGQtPmZmX3Zjb250ZXh0LnNjZW5lY2hhbmdlX2ZhY3RvciAg ICAgID0gMTsKLSsgICAgcGQtPmNvbmZkYXRhLnNjZW5lY2hhbmdlX2ZhY3RvciAgICAgICAgID0g MTsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LmJfZnJhbWVfc3RyYXRlZ3kgICAgICAgID0gMDsKLSAg ICAgcGQtPmZmX3Zjb250ZXh0LmJfc2Vuc2l0aXZpdHkgICAgICAgICAgID0gNDA7Ci0gICAgIHBk LT5mZl92Y29udGV4dC5icmRfc2NhbGUgICAgICAgICAgICAgICA9IDA7Ci0gICAgIHBkLT5mZl92 Y29udGV4dC5iaWRpcl9yZWZpbmUgICAgICAgICAgICA9IDA7Ci0tICAgIHBkLT5mZl92Y29udGV4 dC5yY19zdHJhdGVneSAgICAgICAgICAgICA9IDI7Ci0rICAgIHBkLT5jb25mZGF0YS5yY19zdHJh dGVneSAgICAgICAgICAgICAgICA9IDI7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5iX3F1YW50X2Zh Y3RvciAgICAgICAgICA9IDEuMjU7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5pX3F1YW50X2ZhY3Rv ciAgICAgICAgICA9IDAuODsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LmJfcXVhbnRfb2Zmc2V0ICAg ICAgICAgID0gMS4yNTsKLUBAIC05OTYsOCArMTAwMyw4IEBAIHN0YXRpYyB2b2lkIHRjX2xhdmNf Y29uZmlnX2RlZmF1bHRzKFRDTGEKLSAgICAgcGQtPmZmX3Zjb250ZXh0LnFibHVyICAgICAgICAg ICAgICAgICAgID0gMC41OwotICAgICBwZC0+ZmZfdmNvbnRleHQucWNvbXByZXNzICAgICAgICAg ICAgICAgPSAwLjU7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5tcGVnX3F1YW50ICAgICAgICAgICAg ICA9IDA7Ci0tICAgIHBkLT5mZl92Y29udGV4dC5yY19pbml0aWFsX2NwbHggICAgICAgICA9IDAu MDsKLS0gICAgcGQtPmZmX3Zjb250ZXh0LnJjX3FzcXVpc2ggICAgICAgICAgICAgID0gMS4wOwot KyAgICBwZC0+Y29uZmRhdGEucmNfaW5pdGlhbF9jcGx4ICAgICAgICAgICAgPSAwLjA7Ci0rICAg IHBkLT5jb25mZGF0YS5yY19xc3F1aXNoICAgICAgICAgICAgICA9IDEuMDsKLSAgICAgcGQtPmNv bmZkYXRhLmx1bWFfZWxpbV90aHJlc2hvbGQgICAgID0gMDsKLSAgICAgcGQtPmNvbmZkYXRhLmNo cm9tYV9lbGltX3RocmVzaG9sZCAgID0gMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LnN0cmljdF9z dGRfY29tcGxpYW5jZSAgID0gMDsKLUBAIC0xMDA4LDcgKzEwMTUsNyBAQCBzdGF0aWMgdm9pZCB0 Y19sYXZjX2NvbmZpZ19kZWZhdWx0cyhUQ0xhCi0gICAgIHBkLT5mZl92Y29udGV4dC50ZW1wb3Jh bF9jcGx4X21hc2tpbmcgICA9IDAuMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LnNwYXRpYWxfY3Bs eF9tYXNraW5nICAgID0gMC4wOwotICAgICBwZC0+ZmZfdmNvbnRleHQucF9tYXNraW5nICAgICAg ICAgICAgICAgPSAwLjA7Ci0tICAgIHBkLT5mZl92Y29udGV4dC5ib3JkZXJfbWFza2luZyAgICAg ICAgICA9IDAuMDsKLSsgICAgcGQtPmNvbmZkYXRhLmJvcmRlcl9tYXNraW5nICAgICAgICAgID0g MC4wOwotICAgICBwZC0+ZmZfdmNvbnRleHQubWVfcHJlX2NtcCAgICAgICAgICAgICAgPSAwOwot ICAgICBwZC0+ZmZfdmNvbnRleHQubWVfY21wICAgICAgICAgICAgICAgICAgPSAwOwotICAgICBw ZC0+ZmZfdmNvbnRleHQubWVfc3ViX2NtcCAgICAgICAgICAgICAgPSAwOwotQEAgLTEwMjAsOCAr MTAyNyw2IEBAIHN0YXRpYyB2b2lkIHRjX2xhdmNfY29uZmlnX2RlZmF1bHRzKFRDTGEKLSAgICAg cGQtPmZmX3Zjb250ZXh0LnByZV9tZSAgICAgICAgICAgICAgICAgID0gMTsKLSAgICAgcGQtPmZm X3Zjb250ZXh0Lm1lX3N1YnBlbF9xdWFsaXR5ICAgICAgID0gODsKLSAgICAgcGQtPmZmX3Zjb250 ZXh0LnJlZnMgICAgICAgICAgICAgICAgICAgID0gMTsKLS0gICAgcGQtPmZmX3Zjb250ZXh0Lmlu dHJhX3F1YW50X2JpYXMgICAgICAgID0gRkZfREVGQVVMVF9RVUFOVF9CSUFTOwotLSAgICBwZC0+ ZmZfdmNvbnRleHQuaW50ZXJfcXVhbnRfYmlhcyAgICAgICAgPSBGRl9ERUZBVUxUX1FVQU5UX0JJ QVM7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5ub2lzZV9yZWR1Y3Rpb24gICAgICAgICA9IDA7Ci0g ICAgIHBkLT5jb25mZGF0YS5xdWFudGl6ZXJfbm9pc2Vfc2hhcGluZyA9IDA7Ci0gICAgIHBkLT5m Zl92Y29udGV4dC5mbGFncyAgICAgICAgICAgICAgICAgICA9IDA7Ci1AQCAtMTA0NCwxNCArMTA0 OSwxNiBAQCBzdGF0aWMgdm9pZCB0Y19sYXZjX2NvbmZpZ19kZWZhdWx0cyhUQ0xhCi0gICovCi0g c3RhdGljIHZvaWQgdGNfbGF2Y19kaXNwYXRjaF9zZXR0aW5ncyhUQ0xhdmNQcml2YXRlRGF0YSAq cGQpCi0gewotKyAgICBjaGFyIGJ1ZlsxMDI0XTsKLSAgICAgLyogc29tZSB0cmFuc2xhdGlvbi4u LiAqLwotICAgICBwZC0+ZmZfdmNvbnRleHQuYml0X3JhdGVfdG9sZXJhbmNlID0gcGQtPmNvbmZk YXRhLnZyYXRlX3RvbGVyYW5jZSAqIDEwMDA7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5yY19taW5f cmF0ZSA9IHBkLT5jb25mZGF0YS5yY19taW5fcmF0ZSAqIDEwMDA7Ci0gICAgIHBkLT5mZl92Y29u dGV4dC5yY19tYXhfcmF0ZSA9IHBkLT5jb25mZGF0YS5yY19tYXhfcmF0ZSAqIDEwMDA7Ci0gICAg IHBkLT5mZl92Y29udGV4dC5yY19idWZmZXJfc2l6ZSA9IHBkLT5jb25mZGF0YS5yY19idWZmZXJf c2l6ZSAqIDEwMjQ7Ci0tICAgIHBkLT5mZl92Y29udGV4dC5sbWluID0gKGludCkoRkZfUVAyTEFN QkRBICogcGQtPmNvbmZkYXRhLmxtaW4gKyAwLjUpOwotLSAgICBwZC0+ZmZfdmNvbnRleHQubG1h eCA9IChpbnQpKEZGX1FQMkxBTUJEQSAqIHBkLT5jb25mZGF0YS5sbWF4ICsgMC41KTsKLS0gICAg cGQtPmZmX3Zjb250ZXh0Lm1lX21ldGhvZCA9IE1FX1pFUk8gKyBwZC0+Y29uZmRhdGEubWVfbWV0 aG9kOwotKyAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWkiLCAoaW50KShGRl9RUDJM QU1CREEgKiBwZC0+Y29uZmRhdGEubG1pbiArIDAuNSkpOwotKyAgICBhdl9kaWN0X3NldCgmKHBk LT5mZl9vcHRzKSwgImxtaW4iLCBidWYsIDApOwotKyAgICBzbnByaW50ZihidWYsIHNpemVvZihi dWYpLCAiJWkiLCAoaW50KShGRl9RUDJMQU1CREEgKiBwZC0+Y29uZmRhdGEubG1heCArIDAuNSkp OwotKyAgICBhdl9kaWN0X3NldCgmKHBkLT5mZl9vcHRzKSwgImxtYXgiLCBidWYsIDApOwotIAot ICAgICBwZC0+ZmZfdmNvbnRleHQuZmxhZ3MgPSAwOwotICAgICBTRVRfRkxBRyhwZCwgcXBlbCk7 Ci1AQCAtMTA3NSw4ICsxMDgwLDggQEAgc3RhdGljIHZvaWQgdGNfbGF2Y19kaXNwYXRjaF9zZXR0 aW5ncyhUQwotICAgICB9Ci0gICAgIGlmIChwZC0+aW50ZXJsYWNpbmcuYWN0aXZlKSB7Ci0gICAg ICAgICAvKiBlbmZvcmNlIGludGVybGFjaW5nICovCi0tICAgICAgICBwZC0+ZmZfdmNvbnRleHQu ZmxhZ3MgfD0gQ09ERUNfRkxBR19JTlRFUkxBQ0VEX0RDVDsKLS0gICAgICAgIHBkLT5mZl92Y29u dGV4dC5mbGFncyB8PSBDT0RFQ19GTEFHX0lOVEVSTEFDRURfTUU7Ci0rICAgICAgICBwZC0+ZmZf dmNvbnRleHQuZmxhZ3MgfD0gQVZfQ09ERUNfRkxBR19JTlRFUkxBQ0VEX0RDVDsKLSsgICAgICAg IHBkLT5mZl92Y29udGV4dC5mbGFncyB8PSBBVl9DT0RFQ19GTEFHX0lOVEVSTEFDRURfTUU7Ci0g ICAgIH0KLSAgICAgaWYgKHBkLT5jb25mZGF0YS5mbGFncy5hbHQpIHsKLSAgICAgICAgIGF2X2Rp Y3Rfc2V0KCYocGQtPmZmX29wdHMpLCAiYWx0ZXJuYXRlX3NjYW4iLCAiMSIsIDApOwotQEAgLTEx MDAsMTQgKzExMDUsMjQgQEAgc3RhdGljIHZvaWQgdGNfbGF2Y19kaXNwYXRjaF9zZXR0aW5ncyhU QwotICAgICAgICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyksICJtcHZfZmxhZ3MiLCAiK25h cSIsIDApOwotICAgICB9Ci0gCi0tICAgIGNoYXIgYnVmWzEwMjRdOwotICNkZWZpbmUgc2V0X2Rp Y3Rfb3B0KHZhbCwgb3B0KSBcCi0gICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlaSIs IHBkLT5jb25mZGF0YS52YWwpO1wKLSAgICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyksIG9w dCwgYnVmLCAwKQotKyNkZWZpbmUgc2V0X2RpY3RfZmxvYXRfb3B0KHZhbCwgb3B0KSBcCi0rICAg IHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZiIsIHBkLT5jb25mZGF0YS52YWwpO1wKLSsg ICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyksIG9wdCwgYnVmLCAwKQotIAotICAgICBzZXRf ZGljdF9vcHQobHVtYV9lbGltX3RocmVzaG9sZCwgImx1bWFfZWxpbV90aHJlc2hvbGQiKTsKLSAg ICAgc2V0X2RpY3Rfb3B0KGNocm9tYV9lbGltX3RocmVzaG9sZCwgImNocm9tYV9lbGltX3RocmVz aG9sZCIpOwotICAgICBzZXRfZGljdF9vcHQocXVhbnRpemVyX25vaXNlX3NoYXBpbmcsICJxdWFu dGl6ZXJfbm9pc2Vfc2hhcGluZyIpOwotKyAgICBzZXRfZGljdF9vcHQoaW50ZXJfcXVhbnRfYmlh cywgInBiaWFzIik7Ci0rICAgIHNldF9kaWN0X29wdChpbnRyYV9xdWFudF9iaWFzLCAiaWJpYXMi KTsKLSsgICAgc2V0X2RpY3Rfb3B0KG1lX21ldGhvZCwgIm1lX21ldGhvZCIpOwotKyAgICBzZXRf ZGljdF9vcHQoc2NlbmVjaGFuZ2VfZmFjdG9yLCAic2NfZmFjdG9yIik7Ci0rICAgIHNldF9kaWN0 X29wdChyY19zdHJhdGVneSwgInJjX3N0cmF0ZWd5Iik7Ci0rICAgIHNldF9kaWN0X2Zsb2F0X29w dChyY19pbml0aWFsX2NwbHgsICJyY19pbml0X2NwbHgiKTsKLSsgICAgc2V0X2RpY3RfZmxvYXRf b3B0KHJjX3FzcXVpc2gsICJxc3F1aXNoIik7Ci0rICAgIHNldF9kaWN0X2Zsb2F0X29wdChib3Jk ZXJfbWFza2luZywgImJvcmRlcl9tYXNrIik7Ci0gfQotIAotICN1bmRlZiBTRVRfRkxBRwotQEAg LTExNjgsNyArMTE4OSw3IEBAIHN0YXRpYyBpbnQgdGNfbGF2Y19yZWFkX2NvbmZpZyhUQ0xhdmNQ cmkKLSAgICAgICAgIHsgIm1lX3JhbmdlIiwgUENUWChtZV9yYW5nZSksIFRDQ09ORl9UWVBFX0lO VCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDE2MDAwIH0sCi0gICAgICAgICB7ICJtYmQiLCBQQ1RY KG1iX2RlY2lzaW9uKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMyB9 LAotICAgICAgICAgeyAic2NfdGhyZXNob2xkIiwgUENUWChzY2VuZWNoYW5nZV90aHJlc2hvbGQp LCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAtMTAwMDAwMCwgMTAwMDAwMCB9 LAotLSAgICAgICAgeyAic2NfZmFjdG9yIiwgUENUWChzY2VuZWNoYW5nZV9mYWN0b3IpLCBUQ0NP TkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAxLCAxNiB9LAotKyAgICAgICAgeyAic2Nf ZmFjdG9yIiwgUEFVWChzY2VuZWNoYW5nZV9mYWN0b3IpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09O Rl9GTEFHX1JBTkdFLCAxLCAxNiB9LAotICAgICAgICAgeyAidmJfc3RyYXRlZ3kiLCBQQ1RYKGJf ZnJhbWVfc3RyYXRlZ3kpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAx MCB9LAotICAgICAgICAgeyAiYl9zZW5zaXRpdml0eSIsIFBDVFgoYl9zZW5zaXRpdml0eSksIFRD Q09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDEsIDEwMCB9LAotICAgICAgICAgeyAi YnJkX3NjYWxlIiwgUENUWChicmRfc2NhbGUpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFH X1JBTkdFLCAwLCAxMCB9LAotQEAgLTExNzksNyArMTIwMCw3IEBAIHN0YXRpYyBpbnQgdGNfbGF2 Y19yZWFkX2NvbmZpZyhUQ0xhdmNQcmkKLSAgICAgICAgIHsgInZyY19tYXhyYXRlIiwgUEFVWChy Y19tYXhfcmF0ZSksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDI0MDAw MDAwIH0sCi0gICAgICAgICB7ICJ2cmNfbWlucmF0ZSIsIFBBVVgocmNfbWluX3JhdGUpLCBUQ0NP TkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAyNDAwMDAwMCB9LAotICAgICAgICAg eyAidnJjX2J1Zl9zaXplIiwgUEFVWChyY19idWZmZXJfc2l6ZSksIFRDQ09ORl9UWVBFX0lOVCwg VENDT05GX0ZMQUdfUkFOR0UsIDQsIDI0MDAwMDAwIH0sCi0tICAgICAgICB7ICJ2cmNfc3RyYXRl Z3kiLCBQQ1RYKHJjX3N0cmF0ZWd5KSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5H RSwgMCwgMiB9LAotKyAgICAgICAgeyAidnJjX3N0cmF0ZWd5IiwgUEFVWChyY19zdHJhdGVneSks IFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDIgfSwKLSAgICAgICAgIHsg InZiX3FmYWN0b3IiLCBQQ1RYKGJfcXVhbnRfZmFjdG9yKSwgVENDT05GX1RZUEVfRkxPQVQsIFRD Q09ORl9GTEFHX1JBTkdFLCAtMzEuMCwgMzEuMCB9LAotICAgICAgICAgeyAidmlfcWZhY3RvciIs IFBDVFgoaV9xdWFudF9mYWN0b3IpLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05GX0ZMQUdfUkFO R0UsIC0zMS4wLCAzMS4wIH0sCi0gICAgICAgICB7ICJ2Yl9xb2Zmc2V0IiwgUENUWChiX3F1YW50 X29mZnNldCksIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wLCAzMS4w IH0sCi1AQCAtMTE4OSw5ICsxMjEwLDkgQEAgc3RhdGljIGludCB0Y19sYXZjX3JlYWRfY29uZmln KFRDTGF2Y1ByaQotICAgICAgICAgeyAibXBlZ19xdWFudCIsIFBDVFgobXBlZ19xdWFudCksIFRD Q09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwKLSAgICAgICAgIC8vICB7ICJ2cmNfZXEiLCAgICAg fSwgLy8gbm90IHlldCBzdXBwb3J0ZWQKLSAgICAgICAgIHsgInZyY19vdmVycmlkZSIsIHJjX292 ZXJyaWRlX2J1ZiwgVENDT05GX1RZUEVfU1RSSU5HLCAwLCAwLCAwIH0sCi0tICAgICAgICB7ICJ2 cmNfaW5pdF9jcGx4IiwgUENUWChyY19pbml0aWFsX2NwbHgpLCBUQ0NPTkZfVFlQRV9GTE9BVCwg VENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgOTk5OTk5OS4wIH0sCi0rICAgICAgICB7ICJ2cmNfaW5p dF9jcGx4IiwgUEFVWChyY19pbml0aWFsX2NwbHgpLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05G X0ZMQUdfUkFOR0UsIDAuMCwgOTk5OTk5OS4wIH0sCi0gICAgICAgICAvLyAgeyAidnJjX2luaXRf b2NjdXBhbmN5IiwgICB9LCAvLyBub3QgeWV0IHN1cHBvcnRlZAotLSAgICAgICAgeyAidnFzcXVp c2giLCBQQ1RYKHJjX3FzcXVpc2gpLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05GX0ZMQUdfUkFO R0UsIDAuMCwgOTkuMCB9LAotKyAgICAgICAgeyAidnFzcXVpc2giLCBQQVVYKHJjX3FzcXVpc2gp LCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgOTkuMCB9LAotICAg ICAgICAgeyAidmxlbGltIiwgUEFVWChsdW1hX2VsaW1fdGhyZXNob2xkKSwgVENDT05GX1RZUEVf SU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTk5LCA5OSB9LAotICAgICAgICAgeyAidmNlbGltIiwg UEFVWChjaHJvbWFfZWxpbV90aHJlc2hvbGQpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFH X1JBTkdFLCAtOTksIDk5IH0sCi0gICAgICAgICB7ICJ2c3RyaWN0IiwgUENUWChzdHJpY3Rfc3Rk X2NvbXBsaWFuY2UpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAtOTksIDk5 IH0sCi1AQCAtMTIwMyw3ICsxMjI0LDcgQEAgc3RhdGljIGludCB0Y19sYXZjX3JlYWRfY29uZmln KFRDTGF2Y1ByaQotICAgICAgICAgeyAidGNwbHhfbWFzayIsIFBDVFgodGVtcG9yYWxfY3BseF9t YXNraW5nKSwgVENDT05GX1RZUEVfRkxPQVQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLjAsIDEuMCB9 LAotICAgICAgICAgeyAic2NwbHhfbWFzayIsIFBDVFgoc3BhdGlhbF9jcGx4X21hc2tpbmcpLCBU Q0NPTkZfVFlQRV9GTE9BVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgMS4wIH0sCi0gICAgICAg ICB7ICJwX21hc2siLCBQQ1RYKHBfbWFza2luZyksIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZf RkxBR19SQU5HRSwgMC4wLCAxLjAgfSwKLS0gICAgICAgIHsgImJvcmRlcl9tYXNrIiwgUENUWChi b3JkZXJfbWFza2luZyksIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4w LCAxLjAgfSwKLSsgICAgICAgIHsgImJvcmRlcl9tYXNrIiwgUEFVWChib3JkZXJfbWFza2luZyks IFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wLCAxLjAgfSwKLSAgICAg ICAgIHsgInByZWQiLCBQQ1RYKHByZWRpY3Rpb25fbWV0aG9kKSwgVENDT05GX1RZUEVfSU5ULCBU Q0NPTkZfRkxBR19SQU5HRSwgMCwgNCB9LAotICAgICAgICAgeyAicHJlY21wIiwgUENUWChtZV9w cmVfY21wKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMjAwMCB9LAot ICAgICAgICAgeyAiY21wIiwgUENUWChtZV9jbXApLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9G TEFHX1JBTkdFLCAwLCAyMDAwIH0sCi1AQCAtMTIxNiwzNyArMTIzNywzNyBAQCBzdGF0aWMgaW50 IHRjX2xhdmNfcmVhZF9jb25maWcoVENMYXZjUHJpCi0gICAgICAgICB7ICJwcmVfbWUiLCBQQ1RY KHByZV9tZSksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDIwMDB9LAot ICAgICAgICAgeyAic3VicSIsIFBDVFgobWVfc3VicGVsX3F1YWxpdHkpLCBUQ0NPTkZfVFlQRV9J TlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCA4IH0sCi0gICAgICAgICB7ICJyZWZzIiwgUENUWChy ZWZzKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgOCB9LAotLSAgICAg ICAgeyAiaWJpYXMiLCBQQ1RYKGludHJhX3F1YW50X2JpYXMpLCBUQ0NPTkZfVFlQRV9JTlQsIFRD Q09ORl9GTEFHX1JBTkdFLCAtNTEyLCA1MTIgfSwKLS0gICAgICAgIHsgInBiaWFzIiwgUENUWChp bnRlcl9xdWFudF9iaWFzKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTUx MiwgNTEyIH0sCi0rICAgICAgICB7ICJpYmlhcyIsIFBBVVgoaW50cmFfcXVhbnRfYmlhcyksIFRD Q09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC01MTIsIDUxMiB9LAotKyAgICAgICAg eyAicGJpYXMiLCBQQVVYKGludGVyX3F1YW50X2JpYXMpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09O Rl9GTEFHX1JBTkdFLCAtNTEyLCA1MTIgfSwKLSAgICAgICAgIHsgIm5yIiwgUENUWChub2lzZV9y ZWR1Y3Rpb24pLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMDAwMDAw fSwKLSAgICAgICAgIHsgInFucyIsIFBBVVgocXVhbnRpemVyX25vaXNlX3NoYXBpbmcpLCBUQ0NP TkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAzIH0sCi0gICAgICAgICB7ICJpbnRl cl9tYXRyaXhfZmlsZSIsIGludGVyX21hdHJpeF9maWxlLCBUQ0NPTkZfVFlQRV9TVFJJTkcsIDAs IDAsIDAgfSwKLSAgICAgICAgIHsgImludHJhX21hdHJpeF9maWxlIiwgaW50cmFfbWF0cml4X2Zp bGUsIFRDQ09ORl9UWVBFX1NUUklORywgMCwgMCwgMCB9LAotICAgICAKLSAgICAgICAgIHsgIm12 MCIsIFBBVVgoZmxhZ3MubXYwKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9LAotICAgICAg ICAgeyAiY2JwIiwgUEFVWChmbGFncy5jYnApLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAxIH0s Ci0tICAgICAgICB7ICJxcGVsIiwgUEFVWChmbGFncy5xcGVsKSwgVENDT05GX1RZUEVfRkxBRywg MCwgMCwgQ09ERUNfRkxBR19RUEVMIH0sCi0rICAgICAgICB7ICJxcGVsIiwgUEFVWChmbGFncy5x cGVsKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19RUEVMIH0sCi0gICAg ICAgICB7ICJhbHQiLCBQQVVYKGZsYWdzLmFsdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEg fSwKLS0gICAgICAgIHsgImlsbWUiLCBQQVVYKGZsYWdzLmlsbWUpLCBUQ0NPTkZfVFlQRV9GTEFH LCAwLCAwLCBDT0RFQ19GTEFHX0lOVEVSTEFDRURfTUUgfSwKLS0gICAgICAgIHsgImlsZGN0Iiwg UEFVWChmbGFncy5pbGRjdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfSU5U RVJMQUNFRF9EQ1QgfSwKLSsgICAgICAgIHsgImlsbWUiLCBQQVVYKGZsYWdzLmlsbWUpLCBUQ0NP TkZfVFlQRV9GTEFHLCAwLCAwLCBBVl9DT0RFQ19GTEFHX0lOVEVSTEFDRURfTUUgfSwKLSsgICAg ICAgIHsgImlsZGN0IiwgUEFVWChmbGFncy5pbGRjdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAs IEFWX0NPREVDX0ZMQUdfSU5URVJMQUNFRF9EQ1QgfSwKLSAgICAgICAgIHsgIm5hcSIsIFBBVVgo ZmxhZ3MubmFxKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9LAotICAgICAgICAgeyAidmRw YXJ0IiwgUEFVWChmbGFncy52ZHBhcnQpLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAxIH0sCi0g I2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCAoKDUyPDwxNikrKDA8PDgpKzApCi0gICAgICAg ICB7ICJhaWMiLCBQQVVYKGZsYWdzLmFpYyksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVD X0ZMQUdfSDI2M1BfQUlDIH0sCi0gI2Vsc2UgICAgICAgIAotLSAgICAgICAgeyAiYWljIiwgUEFV WChmbGFncy5haWMpLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX0FDX1BSRUQg fSwKLSsgICAgICAgIHsgImFpYyIsIFBBVVgoZmxhZ3MuYWljKSwgVENDT05GX1RZUEVfRkxBRywg MCwgMCwgQVZfQ09ERUNfRkxBR19BQ19QUkVEIH0sCi0gI2VuZGlmCi0gICAgICAgICB7ICJhaXYi LCBQQVVYKGZsYWdzLmFpdiksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwKLSAgICAgICAg IHsgInVtdiIsIFBBVVgoZmxhZ3MudW12KSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9LAot LSAgICAgICAgeyAicHNuciIsIFBBVVgoZmxhZ3MucHNuciksIFRDQ09ORl9UWVBFX0ZMQUcsIDAs IDAsIENPREVDX0ZMQUdfUFNOUiB9LAotKyAgICAgICAgeyAicHNuciIsIFBBVVgoZmxhZ3MucHNu ciksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFWX0NPREVDX0ZMQUdfUFNOUiB9LAotICNpZiBM SUJBVkNPREVDX1ZFUlNJT05fSU5UIDwgKCg1Mjw8MTYpKygwPDw4KSswKQotICAgICAgICAgeyAi dHJlbGwiLCBQQVVYKGZsYWdzLnRyZWxsKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNf RkxBR19UUkVMTElTX1FVQU5UIH0sCi0gI2Vsc2UKLSAgICAgICAgIHsgInRyZWxsIiwgUENUWCh0 cmVsbGlzKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9LAotICNlbmRpZgotLSAgICAgICAg eyAiZ3JheSIsIFBBVVgoZmxhZ3MuZ3JheSksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVD X0ZMQUdfR1JBWSB9LAotLSAgICAgICAgeyAidjRtdiIsIFBBVVgoZmxhZ3MudjRtdiksIFRDQ09O Rl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfNE1WIH0sCi0tICAgICAgICB7ICJjbG9zZWRn b3AiLCBQQVVYKGZsYWdzLmNsb3NlZGdvcCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVD X0ZMQUdfQ0xPU0VEX0dPUCB9LAotKyAgICAgICAgeyAiZ3JheSIsIFBBVVgoZmxhZ3MuZ3JheSks IFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFWX0NPREVDX0ZMQUdfR1JBWSB9LAotKyAgICAgICAg eyAidjRtdiIsIFBBVVgoZmxhZ3MudjRtdiksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFWX0NP REVDX0ZMQUdfNE1WIH0sCi0rICAgICAgICB7ICJjbG9zZWRnb3AiLCBQQVVYKGZsYWdzLmNsb3Nl ZGdvcCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFWX0NPREVDX0ZMQUdfQ0xPU0VEX0dPUCB9 LAotICAgICAKLSAgICAgICAgIC8vICB7ICJ0dXJibyIsIFBBVVgodHVyYm9fc2V0dXApLCBUQ0NP TkZfVFlQRV9GTEFHLCAwLCAwLCAxIH0sIC8vIG5vdCB5ZXQgIHN1cHBvcnRlZAotICAgICAgICAg LyogRW5kIG9mIHRoZSBjb25maWcgZmlsZSAqLwotLS0tIGEvZXhwb3J0L2V4cG9ydF9mZm1wZWcu YwotKysrIGIvZXhwb3J0L2V4cG9ydF9mZm1wZWcuYwotQEAgLTgzMSwxNCArODMxLDExIEBAIE1P RF9pbml0Ci0gCi0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5iaXRfcmF0ZSAgICAgICAgICAgPSB2 b2ItPmRpdnhiaXRyYXRlICogMTAwMDsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmJpdF9yYXRl X3RvbGVyYW5jZSA9IGxhdmNfcGFyYW1fdnJhdGVfdG9sZXJhbmNlICogMTAwMDsKLS0gICAgbGF2 Y192ZW5jX2NvbnRleHQtPmxtaW49IChpbnQpKEZGX1FQMkxBTUJEQSAqIGxhdmNfcGFyYW1fbG1p biArIDAuNSk7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5sbWF4PSAoaW50KShGRl9RUDJMQU1C REEgKiBsYXZjX3BhcmFtX2xtYXggKyAwLjUpOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+bWF4 X3FkaWZmICAgICAgICAgID0gbGF2Y19wYXJhbV92cWRpZmY7Ci0gICAgIGxhdmNfdmVuY19jb250 ZXh0LT5xY29tcHJlc3MgICAgICAgICAgPSBsYXZjX3BhcmFtX3ZxY29tcHJlc3M7Ci0gICAgIGxh dmNfdmVuY19jb250ZXh0LT5xYmx1ciAgICAgICAgICAgICAgPSBsYXZjX3BhcmFtX3ZxYmx1cjsK LSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPm1heF9iX2ZyYW1lcyAgICAgICA9IGxhdmNfcGFyYW1f dm1heF9iX2ZyYW1lczsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmJfcXVhbnRfZmFjdG9yICAg ICA9IGxhdmNfcGFyYW1fdmJfcWZhY3RvcjsKLS0gICAgbGF2Y192ZW5jX2NvbnRleHQtPnJjX3N0 cmF0ZWd5ICAgICAgICA9IGxhdmNfcGFyYW1fdnJjX3N0cmF0ZWd5OwotICAgICBsYXZjX3ZlbmNf Y29udGV4dC0+Yl9mcmFtZV9zdHJhdGVneSAgID0gbGF2Y19wYXJhbV92Yl9zdHJhdGVneTsKLSAg ICAgbGF2Y192ZW5jX2NvbnRleHQtPmJfcXVhbnRfb2Zmc2V0ICAgICA9IGxhdmNfcGFyYW1fdmJf cW9mZnNldDsKLSAKLUBAIC04NDYsOCArODQzLDIzIEBAIE1PRF9pbml0Ci0gI2RlZmluZSBzZXRf ZGljdF9vcHQodmFsLCBvcHQpIFwKLSAJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVpIiwg dmFsKTsgXAotIAlhdl9kaWN0X3NldCgmbGF2Y192ZW5jX29wdHMsIG9wdCwgYnVmLCAwKQotKyNk ZWZpbmUgc2V0X2RpY3RfZmxvYXRfb3B0KHZhbCwgb3B0KSBcCi0rCXNucHJpbnRmKGJ1Ziwgc2l6 ZW9mKGJ1ZiksICIlZiIsIHZhbCk7IFwKLSsJYXZfZGljdF9zZXQoJmxhdmNfdmVuY19vcHRzLCBv cHQsIGJ1ZiwgMCkKLSAgICAgc2V0X2RpY3Rfb3B0KGxhdmNfcGFyYW1fbHVtYV9lbGltX3RocmVz aG9sZCwgImx1bWFfZWxpbV90aHJlc2hvbGQiKTsKLSAgICAgc2V0X2RpY3Rfb3B0KGxhdmNfcGFy YW1fY2hyb21hX2VsaW1fdGhyZXNob2xkLCAiY2hyb21hX2VsaW1fdGhyZXNob2xkIik7Ci0rICAg IHNldF9kaWN0X29wdCgoaW50KShGRl9RUDJMQU1CREEgKiBsYXZjX3BhcmFtX2xtaW4gKyAwLjUp LCAibG1pbiIpOwotKyAgICBzZXRfZGljdF9vcHQoKGludCkoRkZfUVAyTEFNQkRBICogbGF2Y19w YXJhbV9sbWF4ICsgMC41KSwgImxtYXgiKTsKLSsgICAgc2V0X2RpY3Rfb3B0KGxhdmNfcGFyYW1f dnJjX3N0cmF0ZWd5LCAicmNfc3RyYXRlZ3kiKTsKLSsgICAgc2V0X2RpY3RfZmxvYXRfb3B0KGxh dmNfcGFyYW1fcmNfcXNxdWlzaCwgInFzcXVpc2giKTsKLSsgICAgc2V0X2RpY3RfZmxvYXRfb3B0 KGxhdmNfcGFyYW1fcmNfcW1vZF9hbXAsICJyY19xbW9kX2FtcCIpOwotKyAgICBzZXRfZGljdF9v cHQobGF2Y19wYXJhbV9yY19xbW9kX2ZyZXEsICJyY19xbW9kX2ZyZXEiKTsKLSsgICAgc2V0X2Rp Y3Rfb3B0KGxhdmNfcGFyYW1fcmNfZXEsICJyY19lcSIpOwotKyAgICBzZXRfZGljdF9vcHQobGF2 Y19wYXJhbV92bWUsICJtZV9tZXRob2QiKTsKLSsgICAgc2V0X2RpY3Rfb3B0KGxhdmNfcGFyYW1f aWJpYXMsICJpYmlhcyIpOwotKyAgICBzZXRfZGljdF9vcHQobGF2Y19wYXJhbV9wYmlhcywgInBi aWFzIik7Ci0rICAgIHNldF9kaWN0X2Zsb2F0X29wdChsYXZjX3BhcmFtX3JjX2J1ZmZlcl9hZ2dy ZXNzaXZpdHksICJyY19idWZfYWdncmVzc2l2aXR5Iik7Ci0rICAgIHNldF9kaWN0X2Zsb2F0X29w dChsYXZjX3BhcmFtX3JjX2luaXRpYWxfY3BseCwgInJjX2luaXRfY3BseCIpOwotICAgICBsYXZj X3ZlbmNfY29udGV4dC0+cnRwX3BheWxvYWRfc2l6ZSAgID0gbGF2Y19wYXJhbV9wYWNrZXRfc2l6 ZTsKLSAjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8ICgoNTI8PDE2KSsoMDw8OCkrMCkgICAK LSAgICAgaWYgKGxhdmNfcGFyYW1fcGFja2V0X3NpemUpCi1AQCAtODU2LDE1ICs4NjgsOSBAQCBN T0RfaW5pdAotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+c3RyaWN0X3N0ZF9jb21wbGlhbmNlPSBs YXZjX3BhcmFtX3N0cmljdDsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmlfcXVhbnRfZmFjdG9y ICAgICA9IGxhdmNfcGFyYW1fdmlfcWZhY3RvcjsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmlf cXVhbnRfb2Zmc2V0ICAgICA9IGxhdmNfcGFyYW1fdmlfcW9mZnNldDsKLS0gICAgbGF2Y192ZW5j X2NvbnRleHQtPnJjX3FzcXVpc2ggICAgICAgICA9IGxhdmNfcGFyYW1fcmNfcXNxdWlzaDsKLS0g ICAgbGF2Y192ZW5jX2NvbnRleHQtPnJjX3Ftb2RfYW1wICAgICAgICA9IGxhdmNfcGFyYW1fcmNf cW1vZF9hbXA7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5yY19xbW9kX2ZyZXEgICAgICAgPSBs YXZjX3BhcmFtX3JjX3Ftb2RfZnJlcTsKLS0gICAgbGF2Y192ZW5jX2NvbnRleHQtPnJjX2VxICAg ICAgICAgICAgICA9IGxhdmNfcGFyYW1fcmNfZXE7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5y Y19tYXhfcmF0ZSAgICAgICAgPSBsYXZjX3BhcmFtX3JjX21heF9yYXRlICogMTAwMDsKLSAgICAg bGF2Y192ZW5jX2NvbnRleHQtPnJjX21pbl9yYXRlICAgICAgICA9IGxhdmNfcGFyYW1fcmNfbWlu X3JhdGUgKiAxMDAwOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+cmNfYnVmZmVyX3NpemUgICAg ID0gbGF2Y19wYXJhbV9yY19idWZmZXJfc2l6ZSAqIDEwMjQ7Ci0tICAgIGxhdmNfdmVuY19jb250 ZXh0LT5yY19idWZmZXJfYWdncmVzc2l2aXR5PSBsYXZjX3BhcmFtX3JjX2J1ZmZlcl9hZ2dyZXNz aXZpdHk7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5yY19pbml0aWFsX2NwbHggICAgPSBsYXZj X3BhcmFtX3JjX2luaXRpYWxfY3BseDsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmRlYnVnICAg ICAgICAgICAgICA9IGxhdmNfcGFyYW1fZGVidWc7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5s YXN0X3ByZWRpY3Rvcl9jb3VudD0gbGF2Y19wYXJhbV9sYXN0X3ByZWQ7Ci0gICAgIGxhdmNfdmVu Y19jb250ZXh0LT5wcmVfbWUgICAgICAgICAgICAgPSBsYXZjX3BhcmFtX3ByZV9tZTsKLUBAIC04 NzIsOCArODc4LDYgQEAgTU9EX2luaXQKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPnByZV9kaWFf c2l6ZSAgICAgICA9IGxhdmNfcGFyYW1fcHJlX2RpYV9zaXplOwotICAgICBsYXZjX3ZlbmNfY29u dGV4dC0+bWVfc3VicGVsX3F1YWxpdHkgID0gbGF2Y19wYXJhbV9tZV9zdWJwZWxfcXVhbGl0eTsK LSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPm1lX3JhbmdlICAgICAgICAgICA9IGxhdmNfcGFyYW1f bWVfcmFuZ2U7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5pbnRyYV9xdWFudF9iaWFzICAgPSBs YXZjX3BhcmFtX2liaWFzOwotLSAgICBsYXZjX3ZlbmNfY29udGV4dC0+aW50ZXJfcXVhbnRfYmlh cyAgID0gbGF2Y19wYXJhbV9wYmlhczsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmNvZGVyX3R5 cGUgICAgICAgICA9IGxhdmNfcGFyYW1fY29kZXI7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5j b250ZXh0X21vZGVsICAgICAgPSBsYXZjX3BhcmFtX2NvbnRleHQ7Ci0gICAgIGxhdmNfdmVuY19j b250ZXh0LT5zY2VuZWNoYW5nZV90aHJlc2hvbGQ9IGxhdmNfcGFyYW1fc2NfdGhyZXNob2xkOwot QEAgLTEwODEsNiArMTA4NSw4IEBAIE1PRF9pbml0Ci0gICAgICAgICBhdl9kaWN0X3NldCgmbGF2 Y192ZW5jX29wdHMsICJtcHZfZmxhZ3MiLCAiK212MCIsIDApOwotICAgICBpZihsYXZjX3BhcmFt X3FwX3JkKQotICAgICAJYXZfZGljdF9zZXQoJmxhdmNfdmVuY19vcHRzLCAibXB2X2ZsYWdzIiwg IitxcF9yZCIsIDApOwotKyAgICBpZiAobGF2Y19wYXJhbV9ub3JtYWxpemVfYXFwKQotKyAgICAJ YXZfZGljdF9zZXQoJmxhdmNfdmVuY19vcHRzLCAibXB2X2ZsYWdzIiwgIituYXEiLCAwKTsKLSAg ICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1faWxtZTsKLSAjaWYgTElC QVZDT0RFQ19WRVJTSU9OX0lOVCA8ICgoNTI8PDE2KSsoMDw8OCkrMCkgICAKLSAgICAgbGF2Y192 ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1fdHJlbGw7Ci1AQCAtMTA4OSw5ICsxMDk1 LDcgQEAgTU9EX2luaXQKLSAjZW5kaWYKLSAKLSAgICAgaWYgKGxhdmNfcGFyYW1fZ3JheSkKLS0g ICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBDT0RFQ19GTEFHX0dSQVk7Ci0tICAg IGlmIChsYXZjX3BhcmFtX25vcm1hbGl6ZV9hcXApCi0tICAgICAgICBhdl9kaWN0X3NldCgmbGF2 Y192ZW5jX29wdHMsICJtcHZfZmxhZ3MiLCAiK25hcSIsIDApOwotKyAgICAgICAgbGF2Y192ZW5j X2NvbnRleHQtPmZsYWdzIHw9IEFWX0NPREVDX0ZMQUdfR1JBWTsKLSAKLSAgICAgc3dpdGNoKHZv Yi0+ZW5jb2RlX2ZpZWxkcykgewotICAgICBjYXNlIFRDX0VOQ09ERV9GSUVMRFNfVE9QX0ZJUlNU OgotQEAgLTExMDksOSArMTExMyw5IEBAIE1PRF9pbml0Ci0gICAgIH0KLSAKLSAgICAgbGF2Y192 ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGludGVybGFjaW5nX2FjdGl2ZSA/Ci0tICAgICAgICBDT0RF Q19GTEFHX0lOVEVSTEFDRURfRENUIDogMDsKLSsgICAgICAgIEFWX0NPREVDX0ZMQUdfSU5URVJM QUNFRF9EQ1QgOiAwOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gaW50ZXJsYWNp bmdfYWN0aXZlID8KLS0gICAgICAgIENPREVDX0ZMQUdfSU5URVJMQUNFRF9NRSA6IDA7Ci0rICAg ICAgICBBVl9DT0RFQ19GTEFHX0lOVEVSTEFDRURfTUUgOiAwOwotIAotICAgICBsYXZjX3ZlbmNf Y29udGV4dC0+ZmxhZ3MgfD0gbGF2Y19wYXJhbV9wc25yOwotICAgICBkb19wc25yID0gbGF2Y19w YXJhbV9wc25yOwotQEAgLTExNTgsNyArMTE2Miw3IEBAIE1PRF9pbml0Ci0gICAgICAgICAgICAg ICAgICAgImVuY29kaW5nLiIpOwotICAgICAgICAgICByZXR1cm4gVENfRVhQT1JUX0VSUk9SOwot ICAgICAgICAgfQotLSAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZM QUdfUEFTUzE7Ci0rICAgICAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gQVZfQ09ERUNf RkxBR19QQVNTMTsKLSAgICAgICAgIHN0YXRzX2ZpbGUgPSBmb3Blbih2b2ItPmRpdnhsb2dmaWxl LCAidyIpOwotICAgICAgICAgaWYgKHN0YXRzX2ZpbGUgPT0gTlVMTCl7Ci0gICAgICAgICAgIHRj X2xvZ193YXJuKE1PRF9OQU1FLCAiQ291bGQgbm90IGNyZWF0ZSAycGFzcyBsb2cgZmlsZSBcIiVz XCIuIiwKLUBAIC0xMTcyLDcgKzExNzYsNyBAQCBNT0RfaW5pdAotICAgICAgICAgICAgICAgICAg ICJlbmNvZGluZy4iKTsKLSAgICAgICAgICAgcmV0dXJuIFRDX0VYUE9SVF9FUlJPUjsKLSAgICAg ICAgIH0KLS0gICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBDT0RFQ19GTEFHX1BB U1MyOwotKyAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IEFWX0NPREVDX0ZMQUdf UEFTUzI7Ci0gICAgICAgICBzdGF0c19maWxlPSBmb3Blbih2b2ItPmRpdnhsb2dmaWxlLCAiciIp OwotICAgICAgICAgaWYgKHN0YXRzX2ZpbGU9PU5VTEwpewotICAgICAgICAgICB0Y19sb2dfd2Fy bihNT0RfTkFNRSwgIkNvdWxkIG5vdCBvcGVuIDJwYXNzIGxvZyBmaWxlIFwiJXNcIiBmb3IgIgot QEAgLTEyMDMsMTIgKzEyMDcsMTEgQEAgTU9EX2luaXQKLSAgICAgICAgIGJyZWFrOwotICAgICAg IGNhc2UgMzoKLSAgICAgICAgIC8qIGZpeGVkIHFzY2FsZSA6cCAqLwotLSAgICAgICAgbGF2Y192 ZW5jX2NvbnRleHQtPmZsYWdzICAgfD0gQ09ERUNfRkxBR19RU0NBTEU7Ci0rICAgICAgICBsYXZj X3ZlbmNfY29udGV4dC0+ZmxhZ3MgICB8PSBBVl9DT0RFQ19GTEFHX1FTQ0FMRTsKLSAgICAgICAg IGxhdmNfdmVuY19mcmFtZS0+cXVhbGl0eSAgPSB2b2ItPmRpdnhiaXRyYXRlOwotICAgICAgICAg YnJlYWs7Ci0gICAgIH0KLSAKLS0gICAgbGF2Y192ZW5jX2NvbnRleHQtPm1lX21ldGhvZCA9IE1F X1pFUk8gKyBsYXZjX3BhcmFtX3ZtZTsKLSAKLSAJLyogRklYTUU6IHRyYW5zY29kZSBpdHNlbGYg Y29udGFpbnMgImJyb2tlbiBmZm1wZWcgZGVmYXVsdCBzZXR0aW5ncyIsIHRodXMgd2UgbmVlZCB0 byBvdmVycmlkZSB0aGVtISAqLwotIAlpZiAobGF2Y19wYXJhbV92aWRlb19wcmVzZXQgJiYgc3Ry Y21wKGxhdmNfcGFyYW1fdmlkZW9fcHJlc2V0LCAibm9uZSIpKSB7Ci0tLS0gYS9leHBvcnQvZmZt cGVnX2NmZy5jCi0rKysgYi9leHBvcnQvZmZtcGVnX2NmZy5jCi1AQCAtOTMsOCArOTMsOCBAQCBp bnQgbGF2Y19wYXJhbV9sYXN0X3ByZWQ9IDA7Ci0gaW50IGxhdmNfcGFyYW1fcHJlX21lPSAxOwot IGludCBsYXZjX3BhcmFtX21lX3N1YnBlbF9xdWFsaXR5PSA4OwotIGludCBsYXZjX3BhcmFtX21l X3JhbmdlPTA7Ci0taW50IGxhdmNfcGFyYW1faWJpYXM9RkZfREVGQVVMVF9RVUFOVF9CSUFTOwot LWludCBsYXZjX3BhcmFtX3BiaWFzPUZGX0RFRkFVTFRfUVVBTlRfQklBUzsKLStpbnQgbGF2Y19w YXJhbV9pYmlhcz0wOwotK2ludCBsYXZjX3BhcmFtX3BiaWFzPTA7Ci0gaW50IGxhdmNfcGFyYW1f Y29kZXI9MDsKLSBpbnQgbGF2Y19wYXJhbV9jb250ZXh0PTA7Ci0gY2hhciAqbGF2Y19wYXJhbV9p bnRyYV9tYXRyaXggPSBOVUxMOwotQEAgLTEzNiw3ICsxMzYsNyBAQCBUQ0NvbmZpZ0VudHJ5IGxh dmNvcHRzX2NvbmZbXT17Ci0gICAgIHsidnJhdGV0b2wiLCAmbGF2Y19wYXJhbV92cmF0ZV90b2xl cmFuY2UsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDQsIDI0MDAwMDAwfSwK LSAgICAgeyJ2aHEiLCAmbGF2Y19wYXJhbV9tYl9kZWNpc2lvbiwgVENDT05GX1RZUEVfRkxBRywg MCwgMCwgMX0sCi0gICAgIHsibWJkIiwgJmxhdmNfcGFyYW1fbWJfZGVjaXNpb24sIFRDQ09ORl9U WVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDl9LAotLSAgICB7InY0bXYiLCAmbGF2Y19w YXJhbV92NG12LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHXzRNVn0sCi0rICAg IHsidjRtdiIsICZsYXZjX3BhcmFtX3Y0bXYsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFWX0NP REVDX0ZMQUdfNE1WfSwKLSAgICAgeyJ2bWUiLCAmbGF2Y19wYXJhbV92bWUsIFRDQ09ORl9UWVBF X0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDV9LAotIC8vICAgIHsidnFzY2FsZSIsICZsYXZj X3BhcmFtX3Zxc2NhbGUsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDEsIDMx fSwKLSAvLyAgICB7InZxbWluIiwgJmxhdmNfcGFyYW1fdnFtaW4sIFRDQ09ORl9UWVBFX0lOVCwg VENDT05GX0ZMQUdfUkFOR0UsIDEsIDMxfSwKLUBAIC0xNTgsNyArMTU4LDcgQEAgVENDb25maWdF bnRyeSBsYXZjb3B0c19jb25mW109ewotICAgICB7InZzdHJpY3QiLCAmbGF2Y19wYXJhbV9zdHJp Y3QsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC05OSwgOTl9LAotICAgICB7 InZkcGFydCIsICZsYXZjX3BhcmFtX2RhdGFfcGFydGl0aW9uaW5nLCBUQ0NPTkZfVFlQRV9GTEFH LCAwLCAwLCAxfSwKLSAvLyAgICB7ImtleWludCIsICZsYXZjX3BhcmFtX2tleWludCwgVENDT05G X1RZUEVfSU5ULCAwLCAwLCAwfSwKLS0gICAgeyJncmF5IiwgJmxhdmNfcGFyYW1fZ3JheSwgVEND T05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19HUkFZfSwKLSsgICAgeyJncmF5IiwgJmxh dmNfcGFyYW1fZ3JheSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19HUkFZ fSwKLSAgICAgeyJtcGVnX3F1YW50IiwgJmxhdmNfcGFyYW1fbXBlZ19xdWFudCwgVENDT05GX1RZ UEVfRkxBRywgMCwgMCwgMX0sCi0gICAgIHsidmlfcWZhY3RvciIsICZsYXZjX3BhcmFtX3ZpX3Fm YWN0b3IsIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTMxLjAsIDMxLjB9 LAotICAgICB7InZpX3FvZmZzZXQiLCAmbGF2Y19wYXJhbV92aV9xb2Zmc2V0LCBUQ0NPTkZfVFlQ RV9GTE9BVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgMzEuMH0sCi1AQCAtMTg0LDcgKzE4NCw3 IEBAIFRDQ29uZmlnRW50cnkgbGF2Y29wdHNfY29uZltdPXsKLSAgICAgeyJwcmVkIiwgJmxhdmNf cGFyYW1fcHJlZGljdGlvbl9tZXRob2QsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFO R0UsIDAsIDIwfSwKLSAgICAgeyJmb3JtYXQiLCAmbGF2Y19wYXJhbV9mb3JtYXQsIFRDQ09ORl9U WVBFX1NUUklORywgMCwgMCwgMH0sCi0gICAgIHsiZGVidWciLCAmbGF2Y19wYXJhbV9kZWJ1Zywg VENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMTAwMDAwMDAwfSwKLS0gICAg eyJwc25yIiwgJmxhdmNfcGFyYW1fcHNuciwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNf RkxBR19QU05SfSwKLSsgICAgeyJwc25yIiwgJmxhdmNfcGFyYW1fcHNuciwgVENDT05GX1RZUEVf RkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19QU05SfSwKLSAgICAgeyJwcmVjbXAiLCAmbGF2Y19w YXJhbV9tZV9wcmVfY21wLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAy MDAwfSwKLSAgICAgeyJjbXAiLCAmbGF2Y19wYXJhbV9tZV9jbXAsIFRDQ09ORl9UWVBFX0lOVCwg VENDT05GX0ZMQUdfUkFOR0UsIDAsIDIwMDB9LAotICAgICB7InN1YmNtcCIsICZsYXZjX3BhcmFt X21lX3N1Yl9jbXAsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDIwMDB9 LAotQEAgLTE5Miw5ICsxOTIsOSBAQCBUQ0NvbmZpZ0VudHJ5IGxhdmNvcHRzX2NvbmZbXT17Ci0g ICAgIHsiaWxkY3RjbXAiLCAmbGF2Y19wYXJhbV9pbGRjdF9jbXAsIFRDQ09ORl9UWVBFX0lOVCwg VENDT05GX0ZMQUdfUkFOR0UsIDAsIDIwMDB9LAotICAgICB7InByZWRpYSIsICZsYXZjX3BhcmFt X3ByZV9kaWFfc2l6ZSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTIwMDAs IDIwMDB9LAotICAgICB7ImRpYSIsICZsYXZjX3BhcmFtX2RpYV9zaXplLCBUQ0NPTkZfVFlQRV9J TlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAtMjAwMCwgMjAwMH0sCi0tICAgIHsicXBlbCIsICZsYXZj X3BhcmFtX3FwZWwsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfUVBFTH0sCi0r ICAgIHsicXBlbCIsICZsYXZjX3BhcmFtX3FwZWwsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFW X0NPREVDX0ZMQUdfUVBFTH0sCi0gI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCAoKDUyPDwx NikrKDA8PDgpKzApICAgCi0tICAgIHsidHJlbGwiLCAmbGF2Y19wYXJhbV90cmVsbCwgVENDT05G X1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19UUkVMTElTX1FVQU5UfSwKLSsgICAgeyJ0cmVs bCIsICZsYXZjX3BhcmFtX3RyZWxsLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBBVl9DT0RFQ19G TEFHX1RSRUxMSVNfUVVBTlR9LAotICNlbHNlCi0gICAgIHsidHJlbGwiLCAmbGF2Y19wYXJhbV90 cmVsbCwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMX0sCi0gI2VuZGlmCi1AQCAtMjAzLDkgKzIw Myw5IEBAIFRDQ29uZmlnRW50cnkgbGF2Y29wdHNfY29uZltdPXsKLSAgICAgeyJzdWJxIiwgJmxh dmNfcGFyYW1fbWVfc3VicGVsX3F1YWxpdHksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdf UkFOR0UsIDAsIDh9LAotICAgICB7Im1lX3JhbmdlIiwgJmxhdmNfcGFyYW1fbWVfcmFuZ2UsIFRD Q09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDE2MDAwfSwKLSAjaWYgTElCQVZD T0RFQ19WRVJTSU9OX0lOVCA8ICgoNTI8PDE2KSsoMDw8OCkrMCkgICAKLS0gICAgeyJhaWMiLCAm bGF2Y19wYXJhbV9haWMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfSDI2M1Bf QUlDfSwKLSsgICAgeyJhaWMiLCAmbGF2Y19wYXJhbV9haWMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAs IDAsIEFWX0NPREVDX0ZMQUdfSDI2M1BfQUlDfSwKLSAjZWxzZQotLSAgICB7ImFpYyIsICZsYXZj X3BhcmFtX2FpYywgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19BQ19QUkVEfSwK LSsgICAgeyJhaWMiLCAmbGF2Y19wYXJhbV9haWMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFW X0NPREVDX0ZMQUdfQUNfUFJFRH0sCi0gI2VuZGlmICAgIAotICAgICB7InVtdiIsICZsYXZjX3Bh cmFtX3VtdiwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMX0sCi0gICAgIHsiaWJpYXMiLCAmbGF2 Y19wYXJhbV9pYmlhcywgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTUxMiwg NTEyfSwKLUBAIC0yMjIsMTMgKzIyMiwxMyBAQCBUQ0NvbmZpZ0VudHJ5IGxhdmNvcHRzX2NvbmZb XT17Ci0gICAgIHsic3MiLCAmbGF2Y19wYXJhbV9zcywgVENDT05GX1RZUEVfRkxBRywgMCwgMCwg MX0sCi0gICAgIHsic3ZjZF9zb2YiLCAmbGF2Y19wYXJhbV9zY2FuX29mZnNldCwgVENDT05GX1RZ UEVfRkxBRywgMCwgMCwgMX0sCi0gICAgIHsiYWx0IiwgJmxhdmNfcGFyYW1fYWx0LCBUQ0NPTkZf VFlQRV9GTEFHLCAwLCAwLCAxfSwKLS0gICAgeyJpbG1lIiwgJmxhdmNfcGFyYW1faWxtZSwgVEND T05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19JTlRFUkxBQ0VEX01FfSwKLSsgICAgeyJp bG1lIiwgJmxhdmNfcGFyYW1faWxtZSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQVZfQ09ERUNf RkxBR19JTlRFUkxBQ0VEX01FfSwKLSAgICAgeyJpbnRlcl90aHJlc2hvbGQiLCAmbGF2Y19wYXJh bV9pbnRlcl90aHJlc2hvbGQsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0x MDAwMDAwLCAxMDAwMDAwfSwKLSAgICAgeyJzY190aHJlc2hvbGQiLCAmbGF2Y19wYXJhbV9zY190 aHJlc2hvbGQsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0xMDAwMDAwLCAx MDAwMDAwfSwKLSAgICAgeyJ0b3AiLCAmbGF2Y19wYXJhbV90b3AsIFRDQ09ORl9UWVBFX0lOVCwg VENDT05GX0ZMQUdfUkFOR0UsIC0xLCAxfSwKLSAgICAgeyJnbWMiLCAmbGF2Y19wYXJhbV9nbWMs IFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDF9LAotLSAgICB7InRydW5jIiwgJmxhdmNfcGFyYW1f dHJ1bmMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfVFJVTkNBVEVEfSwKLS0g ICAgeyJjbG9zZWRnb3AiLCAmbGF2Y19wYXJhbV9jbG9zZWRnb3AsIFRDQ09ORl9UWVBFX0ZMQUcs IDAsIDAsIENPREVDX0ZMQUdfQ0xPU0VEX0dPUH0sCi0rICAgIHsidHJ1bmMiLCAmbGF2Y19wYXJh bV90cnVuYywgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19UUlVOQ0FURUR9 LAotKyAgICB7ImNsb3NlZGdvcCIsICZsYXZjX3BhcmFtX2Nsb3NlZGdvcCwgVENDT05GX1RZUEVf RkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19DTE9TRURfR09QfSwKLSAgICAgeyJpbnRyYV9kY19w cmVjaXNpb24iLCAmbGF2Y19wYXJhbV9pbnRyYV9kY19wcmVjaXNpb24sIFRDQ09ORl9UWVBFX0lO VCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDE2fSwKLSAgICAgeyJza2lwX3RvcCIsICZsYXZjX3Bh cmFtX3NraXBfdG9wLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMDAw fSwKLSAgICAgeyJza2lwX2JvdHRvbSIsICZsYXZjX3BhcmFtX3NraXBfYm90dG9tLCBUQ0NPTkZf VFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMDAwfSwKLS0tLSBhL2ltcG9ydC9pbXBv cnRfZmZtcGVnLmMKLSsrKyBiL2ltcG9ydC9pbXBvcnRfZmZtcGVnLmMKLUBAIC0zMTAsNyArMzEw LDcgQEAgZG9fYXZpOgotICAgICBsYXZjX2RlY19jb250ZXh0LT53aWR0aCAgPSB4X2RpbTsKLSAg ICAgbGF2Y19kZWNfY29udGV4dC0+aGVpZ2h0ID0geV9kaW07Ci0gCi0tICAgIGlmICh2b2ItPmRl Y29sb3IpIGxhdmNfZGVjX2NvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZMQUdfR1JBWTsKLSsgICAg aWYgKHZvYi0+ZGVjb2xvcikgbGF2Y19kZWNfY29udGV4dC0+ZmxhZ3MgfD0gQVZfQ09ERUNfRkxB R19HUkFZOwotICNpZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UIDwgKCg1Mjw8MTYpKygwPDw4KSsw KQotICAgICBsYXZjX2RlY19jb250ZXh0LT5lcnJvcl9yZXNpbGllbmNlICA9IDI7Ci0gI2Vsc2UK LS0tLSBhL2ZpbHRlci9maWx0ZXJfcmVzYW1wbGUuYwotKysrIGIvZmlsdGVyL2ZpbHRlcl9yZXNh bXBsZS5jCi1AQCAtMzcsNiArMzcsNyBAQAotICNpbmNsdWRlICJsaWJ0Yy9vcHRzdHIuaCIKLSAj aW5jbHVkZSAibGlidGMvdGNhdmNvZGVjLmgiCi0gI2luY2x1ZGUgImxpYnRjL3RjbW9kdWxlLXBs dWdpbi5oIgotKyNpbmNsdWRlIDxsaWJhdnJlc2FtcGxlL2F2cmVzYW1wbGUuaD4KLSAKLSAKLSB0 eXBlZGVmIHN0cnVjdCB7Ci1AQCAtNDUsNyArNDYsNyBAQCB0eXBlZGVmIHN0cnVjdCB7Ci0gCi0g ICAgIGludCBieXRlc19wZXJfc2FtcGxlOwotIAotLSAgICBSZVNhbXBsZUNvbnRleHQgKnJlc2Ft cGxlX2N0eDsKLSsgICAgQVZBdWRpb1Jlc2FtcGxlQ29udGV4dCAqcmVzYW1wbGVfY3R4OwotIH0g UmVzYW1wbGVQcml2YXRlRGF0YTsKLSAKLSBzdGF0aWMgY29uc3QgY2hhciByZXNhbXBsZV9oZWxw W10gPSAiIgotLS0tIGEvaW1wb3J0L3Byb2JlX2ZmbXBlZy5jCi0rKysgYi9pbXBvcnQvcHJvYmVf ZmZtcGVnLmMKLUBAIC01MSw4ICs1MSw4IEBAIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZV9pbmZvKGNv bnN0IEFWRm9ybWF0Q29udGV4dCAqY3R4LCBQcm9iZUluZm8gKmluZm8pCi0gICAgICAgICAgICAg aW5mby0+Yml0cmF0ZSA9IHN0LT5jb2RlYy0+Yml0X3JhdGUgLyAxMDAwOwotICAgICAgICAgICAg IGluZm8tPndpZHRoID0gc3QtPmNvZGVjLT53aWR0aDsKLSAgICAgICAgICAgICBpbmZvLT5oZWln aHQgPSBzdC0+Y29kZWMtPmhlaWdodDsKLS0gICAgICAgICAgICBpZiAoc3QtPnJfZnJhbWVfcmF0 ZS5udW0gPiAwICYmIHN0LT5yX2ZyYW1lX3JhdGUuZGVuID4gMCkgewotLSAgICAgICAgICAgICAg ICBpbmZvLT5mcHMgPSBhdl9xMmQoc3QtPnJfZnJhbWVfcmF0ZSk7Ci0rICAgICAgICAgICAgaWYg KHN0LT5hdmdfZnJhbWVfcmF0ZS5udW0gPiAwICYmIHN0LT5hdmdfZnJhbWVfcmF0ZS5kZW4gPiAw KSB7Ci0rICAgICAgICAgICAgICAgIGluZm8tPmZwcyA9IGF2X3EyZChzdC0+YXZnX2ZyYW1lX3Jh dGUpOwotICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgIC8qIHdhdGNoIG91 dCBoZXJlICovCi0gICAgICAgICAgICAgICAgIGluZm8tPmZwcyA9IDEuMC9hdl9xMmQoc3QtPmNv ZGVjLT50aW1lX2Jhc2UpOwotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RyYW5zY29kZS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvdHJhbnNjb2RlL3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBlZmIxMTdlMzg3MjIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3RyYW5zY29kZS90 ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBm b3IgJ3RyYW5zY29kZScKLXBrZ25hbWU9dHJhbnNjb2RlCi12ZXJzaW9uPTEuMS43Ci1yZXZpc2lv bj00Ci1idWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCi1ob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtl IGxpYnRvb2wgcGtnLWNvbmZpZyIKLW1ha2VkZXBlbmRzPSJmYWFjLWRldmVsIGZmbXBlZy1kZXZl bCBmcmVldHlwZS1kZXZlbCBsYW1lLWRldmVsCi0gbGliZHZkcmVhZC1kZXZlbCBsaWJqcGVnLXR1 cmJvLWRldmVsIGxpYm1wZWcyLWRldmVsIGxpYnRoZW9yYS1kZXZlbAotIGxpYlhhdy1kZXZlbCBs aWJ4bWwyLWRldmVsIGxpYlh2LWRldmVsIGx6by1kZXZlbCBTREwyLWRldmVsCi0geHZpZGNvcmUt ZGV2ZWwiCi1zaG9ydF9kZXNjPSJNb2R1bGFyIHV0aWxpdHkgZm9yIHZpZGVvIHN0cmVhbSBwcm9j ZXNzaW5nIgotbWFpbnRhaW5lcj0iQW5kcmV3IEJlbnNvbiA8YWJlbnNvbit2b2lkQGdtYWlsLmNv bT4iCi1saWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgotaG9tZXBhZ2U9Imh0dHBzOi8vYml0YnVj a2V0Lm9yZy9tb2phdmVzL3RyYW5zY29kZS10Y2ZvcmdlIgotZGlzdGZpbGVzPSJodHRwczovL2Jp dGJ1Y2tldC5vcmcvbW9qYXZlcy90cmFuc2NvZGUtdGNmb3JnZS9nZXQvcmVsZWFzZS0xXzFfNy50 YXIuYnoyIgotY2hlY2tzdW09NDY5M2UzZjQyMjZmNDhmYjM3YzhhZTk2MDk2MDE3MjRlOGEyNzZj YTA5Zjg2ODZkZGI0M2Y4YTI1NWQ5OTRmZQotCi1DRkxBR1M9Ii1mY29tbW9uIgotCi1wcmVfY29u ZmlndXJlKCkgewotCW1rZGlyIC1wIG00Ci0JbXYgY29uZmlndXJlLntpbixhY30KLQlhdXRvcmVj b25mIC1maQotfQo= --===============2089131568837286672==--