From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1755AC433EF for ; Sun, 6 Feb 2022 09:24:17 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 94418402D0; Sun, 6 Feb 2022 09:24:16 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LSSbOaJvBVYT; Sun, 6 Feb 2022 09:24:14 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp2.osuosl.org (Postfix) with ESMTP id DBC7240120; Sun, 6 Feb 2022 09:24:12 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 915B51BF83C for ; Sun, 6 Feb 2022 09:24:11 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 8065240120 for ; Sun, 6 Feb 2022 09:24:11 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EZ6QDxN0kZ-j for ; Sun, 6 Feb 2022 09:24:08 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) by smtp2.osuosl.org (Postfix) with ESMTPS id 01D27400A8 for ; Sun, 6 Feb 2022 09:24:07 +0000 (UTC) Received: by mail-ej1-x633.google.com with SMTP id m4so33419423ejb.9 for ; Sun, 06 Feb 2022 01:24:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=F0jcFa8PRwKJ7s6vRuVHEInXsZ/pbuI1Qs8+cV/noZM=; b=GoXhjgPfYIjgT9j6u6CUVsr4MM1S430Y+35mwMlpMhvg932o+UGZecBPWndlNZonHA IEZDLAJ404fYso3aWV4fWxVdTYo/RfAxm9n2J9u9911T5Q0jBzM2ytwFrpOZkikG9D0w gp/8WL1+GBOp9HkmnEbO6e0sxMx2y4lircNUeCKkChVdCvKwRz1JMAg9hxvdWV53HFwK V5X+6RYms+0/j7QLpw3JZyNtXMcwQXWfXgvOxA8YGt3AyZ14TUBK+XcdnE+9zmUMD7aZ nPTh6pAYEoHC+r2EM4GB4rIroFY41QsnjczjzA8EADnIRGRwySNPYbRwgcEa/S5TaHn9 KW4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=F0jcFa8PRwKJ7s6vRuVHEInXsZ/pbuI1Qs8+cV/noZM=; b=CAZQwMeJbiLhotru1u+FDUb0nOt/e08isceML0OuqfUoTblZvROdnmxdrfvtqphk7H Kbps+VP3Wg/n3ptm9EdtzzHypB/ysKJuDG8eu3p4u1PWahETfun/GBr76un4Hlac77ui 9QTzHjztBdPM2LCIP1tnUkbpstn7PcSgYRtyKZlI8E2ANRlu8Fct9Tv3SpCOTMjDubrg Gj9BnzVctZuah7pRKkqOmochxdy71bUfIi9ggUwLpxiEtcS+CyGP0OMYCogZovKR4wb0 chrQAyLGRg+Dzaw3VZPJw7uSJbCRlIscLSlSORNsdvWUiTKZn1qDSYUGTfvAaPkXcOjP OlWg== X-Gm-Message-State: AOAM5311Whn1lVE3oQw1X9c8KFBWQSfzJLL3vHtohKNF1uiblmUnYjap z6kc0rHUaA1/kqi8UbrZNHy9lfYvmdHwxA== X-Google-Smtp-Source: ABdhPJzoce25wRqXQgt1QOm6LNpghK062qqoj0dydIbW4V2LRnpIXdttvkDMQ+gvMGxJGxB1elxGug== X-Received: by 2002:a17:907:6088:: with SMTP id ht8mr5444453ejc.619.1644139444965; Sun, 06 Feb 2022 01:24:04 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:eb68:2f00:592d:6564:eb6c:4579]) by smtp.googlemail.com with ESMTPSA id y2sm971147edt.54.2022.02.06.01.24.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 06 Feb 2022 01:24:04 -0800 (PST) From: Thomas Devoogdt To: buildroot@buildroot.org Date: Sun, 6 Feb 2022 10:23:57 +0100 Message-Id: <20220206092357.19286-1-thomas.devoogdt@gmail.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Subject: [Buildroot] [PATCH] package/bluez5_utils: fix build with libglib2 >= 2.69 X-BeenThere: buildroot@buildroot.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Devoogdt , Marcin Bis Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" Rml4IHRoZSBmb2xsb3dpbmcgYnVpbGQgZmFpbHVyZSByYWlzZWQgc2luY2UgYnVtcCBvZiBsaWJn bGliMiB0byB2ZXJzaW9uCjIuNzAgaW4gY29tbWl0IDA3OTkyM2Q6Cgpwcm9maWxlcy9iYXR0ZXJ5 L2JhdHRlcnkuYzoxNjI6Mjogd2FybmluZzogJ2dfbWVtZHVwJyBpcyBkZXByZWNhdGVkIChkZWNs YXJlZCBhdCAvaG9tZS9idWlsZHJvb3QvYXV0b2J1aWxkL2luc3RhbmNlLTAvb3V0cHV0LTEvaG9z dC9iaW4vLi4vYXJtLWJ1aWxkcm9vdC1saW51eC1nbnVlYWJpL3N5c3Jvb3QvdXNyL2luY2x1ZGUv Z2xpYi0yLjAvZ2xpYi9nc3RyZnVuY3MuaDoyNTcpOiBVc2UgJ2dfbWVtZHVwMicgaW5zdGVhZCBb LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICBiYXR0LT5pbml0aWFsX3ZhbHVlID0gZ19tZW1k dXAodmFsdWUsIGxlbmd0aCk7CgpGaXhlczoKIC0gaHR0cDovL2F1dG9idWlsZC5idWlsZHJvb3Qu b3JnL3Jlc3VsdHMvNmI4LzZiODg3MGQxMmUwODA0ZDYxNTQyMzBhNzMyMmM0OTQxNmMxZGMwZTIv YnVpbGQtZW5kLmxvZwoKU291cmNlczoKIC0gaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2Nt L2JsdWV0b290aC9ibHVlei5naXQvY29tbWl0Lz9pZD03MTAyMjBmODYxYjEwMDg1NjcxMWEwYTRk NGE4NTI4NzQyMjhhNTdhCiAtIGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9ibHVldG9v dGgvYmx1ZXouZ2l0L2NvbW1pdC8/aWQ9OWYwOWU2OWVjYjA3NzA4MjMwMWRhZmI3NDU4NTZlMWYz NzMxYWFhNwogLSBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vYmx1ZXRvb3RoL2JsdWV6 LmdpdC9jb21taXQvP2lkPWNmYWI1Njk0ODRiMTg0MDdmYzExN2JiOTY2MzQ1MjVjYzc2ZWExZjUK ClNpZ25lZC1vZmYtYnk6IFRob21hcyBEZXZvb2dkdCA8dGhvbWFzLmRldm9vZ2R0QGdtYWlsLmNv bT4KLS0tClt1cGRhdGVdIHJlbW92ZWQgcGF0Y2ggbnVtYmVycyAmIHJlbXZlIGNoYW5nZSB0byAw MDAxLXRvb2xzLW1lc2gtY2ZndGVzdC1pbmNsdWRlLWxpbWl0cy5oCgogLi4udGlsLVJlbmFtZS1i dGRfbWFsbG9jLXRvLXV0aWxfbWFsbG9jLnBhdGNoIHwgICA2NyArCiAuLi4vMDAwMy1zaGFyZWQt dXRpbC1BZGQtdXRpbF9tZW1kdXAucGF0Y2ggICAgfCAgIDU3ICsKIC4uLmFjZS11c2Utb2YtZ19t ZW1kdXAtd2l0aC11dGlsX21lbWR1cC5wYXRjaCB8IDE0MTEgKysrKysrKysrKysrKysrKysKIDMg ZmlsZXMgY2hhbmdlZCwgMTUzNSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGFj a2FnZS9ibHVlejVfdXRpbHMvMDAwMi1zaGFyZWQtdXRpbC1SZW5hbWUtYnRkX21hbGxvYy10by11 dGlsX21hbGxvYy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhY2thZ2UvYmx1ZXo1X3V0aWxz LzAwMDMtc2hhcmVkLXV0aWwtQWRkLXV0aWxfbWVtZHVwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgcGFja2FnZS9ibHVlejVfdXRpbHMvMDAwNC1idWlsZC1SZXBsYWNlLXVzZS1vZi1nX21lbWR1 cC13aXRoLXV0aWxfbWVtZHVwLnBhdGNoCgpkaWZmIC0tZ2l0IGEvcGFja2FnZS9ibHVlejVfdXRp bHMvMDAwMi1zaGFyZWQtdXRpbC1SZW5hbWUtYnRkX21hbGxvYy10by11dGlsX21hbGxvYy5wYXRj aCBiL3BhY2thZ2UvYmx1ZXo1X3V0aWxzLzAwMDItc2hhcmVkLXV0aWwtUmVuYW1lLWJ0ZF9tYWxs b2MtdG8tdXRpbF9tYWxsb2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMC4uZjhkNzQ1MjhkOAotLS0gL2Rldi9udWxsCisrKyBiL3BhY2thZ2UvYmx1ZXo1X3V0aWxz LzAwMDItc2hhcmVkLXV0aWwtUmVuYW1lLWJ0ZF9tYWxsb2MtdG8tdXRpbF9tYWxsb2MucGF0Y2gK QEAgLTAsMCArMSw2NyBAQAorRnJvbSBmMzI2M2ZlZDI4YmY1MTBhMTIyNTY2MWZlMmI1ZjU5ODMw MGMxMWNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBE ZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorRGF0ZTogV2VkLCA1IEphbiAyMDIyIDE1 OjUzOjM1IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHNoYXJlZC91dGlsOiBSZW5hbWUgYnRkX21h bGxvYyB0byB1dGlsX21hbGxvYworCit1dGlsIGZ1bmN0aW9ucyBhcmUgbm90IGxpbWl0ZWQgdG8g ZGFlbW9uIG9ubHkgd2hpY2ggaXMgbm9ybWFsbHkgdGhlIGNhc2UKK3doZW4gdXNpbmcgYnRkIHBy ZWZpeC4KKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNzEwMjIwZjg2MWIxMDA4NTY3MTFh MGE0ZDRhODUyODc0MjI4YTU3YSkKK1NpZ25lZC1vZmYtYnk6IFRob21hcyBEZXZvb2dkdCA8dGhv bWFzLmRldm9vZ2R0QGdtYWlsLmNvbT4KKy0tLQorIHByb2ZpbGVzL2F1ZGlvL2F2ZHRwLmMgfCAy ICstCisgc3JjL3NoYXJlZC91dGlsLmMgICAgICB8IDIgKy0KKyBzcmMvc2hhcmVkL3V0aWwuaCAg ICAgIHwgNCArKy0tCisgMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9wcm9maWxlcy9hdWRpby9hdmR0cC5jIGIvcHJvZmlsZXMv YXVkaW8vYXZkdHAuYworaW5kZXggZDNkZmJmOTZkLi5mMmI0NjEzMzAgMTAwNjQ0CistLS0gYS9w cm9maWxlcy9hdWRpby9hdmR0cC5jCisrKysgYi9wcm9maWxlcy9hdWRpby9hdmR0cC5jCitAQCAt MTMzMyw3ICsxMzMzLDcgQEAgc3RhdGljIEdTTGlzdCAqY2Fwc190b19saXN0KHVpbnQ4X3QgKmRh dGEsIHNpemVfdCBzaXplLAorIAkJCWJyZWFrOworIAkJfQorIAorLQkJY3B5ID0gYnRkX21hbGxv YyhzaXplb2YoKmNweSkgKyBjYXAtPmxlbmd0aCk7CisrCQljcHkgPSB1dGlsX21hbGxvYyhzaXpl b2YoKmNweSkgKyBjYXAtPmxlbmd0aCk7CisgCQltZW1jcHkoY3B5LCBjYXAsIHNpemVvZigqY2Fw KSArIGNhcC0+bGVuZ3RoKTsKKyAKKyAJCXNpemUgLT0gc2l6ZW9mKCpjYXApICsgY2FwLT5sZW5n dGg7CitkaWZmIC0tZ2l0IGEvc3JjL3NoYXJlZC91dGlsLmMgYi9zcmMvc2hhcmVkL3V0aWwuYwor aW5kZXggODFiMjBkODZmLi45MzExMDA0N2IgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL3V0aWwu YworKysrIGIvc3JjL3NoYXJlZC91dGlsLmMKK0BAIC0yNSw3ICsyNSw3IEBACisgCisgI2luY2x1 ZGUgInNyYy9zaGFyZWQvdXRpbC5oIgorIAorLXZvaWQgKmJ0ZF9tYWxsb2Moc2l6ZV90IHNpemUp Cisrdm9pZCAqdXRpbF9tYWxsb2Moc2l6ZV90IHNpemUpCisgeworIAlpZiAoX19idWlsdGluX2V4 cGVjdCghIXNpemUsIDEpKSB7CisgCQl2b2lkICpwdHI7CitkaWZmIC0tZ2l0IGEvc3JjL3NoYXJl ZC91dGlsLmggYi9zcmMvc2hhcmVkL3V0aWwuaAoraW5kZXggYWM3MDExN2NhLi4xMWQwOTk3OWQg MTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL3V0aWwuaAorKysrIGIvc3JjL3NoYXJlZC91dGlsLmgK K0BAIC03NSw3ICs3NSw3IEBAIGRvIHsJCQkJCQlcCisgCQlzaXplX3QgX19uID0gKHNpemVfdCkg KGNvdW50KTsJXAorIAkJc2l6ZV90IF9fcyA9IHNpemVvZih0eXBlKTsJXAorIAkJdm9pZCAqX19w OwkJCVwKKy0JCV9fcCA9IGJ0ZF9tYWxsb2MoX19uICogX19zKTsJXAorKwkJX19wID0gdXRpbF9t YWxsb2MoX19uICogX19zKTsJXAorIAkJbWVtc2V0KF9fcCwgMCwgX19uICogX19zKTsJXAorIAkJ X19wOwkJCQlcCisgCX0pKQorQEAgLTg2LDcgKzg2LDcgQEAgZG8gewkJCQkJCVwKKyBjaGFyICpz dHJkZWxpbWl0KGNoYXIgKnN0ciwgY2hhciAqZGVsLCBjaGFyIGMpOworIGludCBzdHJzdWZmaXgo Y29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpzdWZmaXgpOworIAorLXZvaWQgKmJ0ZF9tYWxs b2Moc2l6ZV90IHNpemUpOworK3ZvaWQgKnV0aWxfbWFsbG9jKHNpemVfdCBzaXplKTsKKyAKKyB0 eXBlZGVmIHZvaWQgKCp1dGlsX2RlYnVnX2Z1bmNfdCkoY29uc3QgY2hhciAqc3RyLCB2b2lkICp1 c2VyX2RhdGEpOworIAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcGFja2FnZS9ibHVlejVf dXRpbHMvMDAwMy1zaGFyZWQtdXRpbC1BZGQtdXRpbF9tZW1kdXAucGF0Y2ggYi9wYWNrYWdlL2Js dWV6NV91dGlscy8wMDAzLXNoYXJlZC11dGlsLUFkZC11dGlsX21lbWR1cC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5kNWMzMWEyNjE0Ci0tLSAvZGV2L251bGwK KysrIGIvcGFja2FnZS9ibHVlejVfdXRpbHMvMDAwMy1zaGFyZWQtdXRpbC1BZGQtdXRpbF9tZW1k dXAucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbSAyOGYxYzE0MDM3NGQxZWNkYTY1ZTNkNTlj Y2E3MjM1MmMzYTA3Nzc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTHVpeiBBdWd1 c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorRGF0ZTogVGh1LCA2IEph biAyMDIyIDExOjQ1OjEyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHNoYXJlZC91dGlsOiBBZGQg dXRpbF9tZW1kdXAKKworVGhpcyBhZGRzIHV0aWxfbWVtZHVwIHdoaWNoIGlzIGludGVuZGVkIHRv IHJlcGxhY2UgZ19tZW1kdXAgc2luY2UKK3JlcGxhY2luZyB0aGF0IHdpdGggZ19tZW1kdXAyIHJl cXVpcmVzIGJ1bXBpbmcgdGhlIGdsaWIgdmVyc2lvbi4KKworKGNoZXJyeSBwaWNrZWQgZnJvbSBj b21taXQgOWYwOWU2OWVjYjA3NzA4MjMwMWRhZmI3NDU4NTZlMWYzNzMxYWFhNykKK1NpZ25lZC1v ZmYtYnk6IFRob21hcyBEZXZvb2dkdCA8dGhvbWFzLmRldm9vZ2R0QGdtYWlsLmNvbT4KKy0tLQor IHNyYy9zaGFyZWQvdXRpbC5jIHwgMTYgKysrKysrKysrKysrKysrKworIHNyYy9zaGFyZWQvdXRp bC5oIHwgIDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0t Z2l0IGEvc3JjL3NoYXJlZC91dGlsLmMgYi9zcmMvc2hhcmVkL3V0aWwuYworaW5kZXggOTMxMTAw NDdiLi42ZTFjODMwNTcgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL3V0aWwuYworKysrIGIvc3Jj L3NoYXJlZC91dGlsLmMKK0BAIC00MSw2ICs0MSwyMiBAQCB2b2lkICp1dGlsX21hbGxvYyhzaXpl X3Qgc2l6ZSkKKyAJcmV0dXJuIE5VTEw7CisgfQorIAorK3ZvaWQgKnV0aWxfbWVtZHVwKGNvbnN0 IHZvaWQgKnNyYywgc2l6ZV90IHNpemUpCisreworKwl2b2lkICpjcHk7CisrCisrCWlmICghc3Jj IHx8ICFzaXplKQorKwkJcmV0dXJuIE5VTEw7CisrCisrCWNweSA9IHV0aWxfbWFsbG9jKHNpemUp OworKwlpZiAoIWNweSkKKysJCXJldHVybiBOVUxMOworKworKwltZW1jcHkoY3B5LCBzcmMsIHNp emUpOworKworKwlyZXR1cm4gY3B5OworK30KKysKKyB2b2lkIHV0aWxfZGVidWdfdmEodXRpbF9k ZWJ1Z19mdW5jX3QgZnVuY3Rpb24sIHZvaWQgKnVzZXJfZGF0YSwKKyAJCQkJY29uc3QgY2hhciAq Zm9ybWF0LCB2YV9saXN0IHZhKQorIHsKK2RpZmYgLS1naXQgYS9zcmMvc2hhcmVkL3V0aWwuaCBi L3NyYy9zaGFyZWQvdXRpbC5oCitpbmRleCAxMWQwOTk3OWQuLjhlZjYxMzJjNCAxMDA2NDQKKy0t LSBhL3NyYy9zaGFyZWQvdXRpbC5oCisrKysgYi9zcmMvc2hhcmVkL3V0aWwuaAorQEAgLTg3LDYg Kzg3LDcgQEAgY2hhciAqc3RyZGVsaW1pdChjaGFyICpzdHIsIGNoYXIgKmRlbCwgY2hhciBjKTsK KyBpbnQgc3Ryc3VmZml4KGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqc3VmZml4KTsKKyAK KyB2b2lkICp1dGlsX21hbGxvYyhzaXplX3Qgc2l6ZSk7Cisrdm9pZCAqdXRpbF9tZW1kdXAoY29u c3Qgdm9pZCAqc3JjLCBzaXplX3Qgc2l6ZSk7CisgCisgdHlwZWRlZiB2b2lkICgqdXRpbF9kZWJ1 Z19mdW5jX3QpKGNvbnN0IGNoYXIgKnN0ciwgdm9pZCAqdXNlcl9kYXRhKTsKKyAKKy0tIAorMi4x Ny4xCisKZGlmZiAtLWdpdCBhL3BhY2thZ2UvYmx1ZXo1X3V0aWxzLzAwMDQtYnVpbGQtUmVwbGFj ZS11c2Utb2YtZ19tZW1kdXAtd2l0aC11dGlsX21lbWR1cC5wYXRjaCBiL3BhY2thZ2UvYmx1ZXo1 X3V0aWxzLzAwMDQtYnVpbGQtUmVwbGFjZS11c2Utb2YtZ19tZW1kdXAtd2l0aC11dGlsX21lbWR1 cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi45ZTEwNDdjOTU3 Ci0tLSAvZGV2L251bGwKKysrIGIvcGFja2FnZS9ibHVlejVfdXRpbHMvMDAwNC1idWlsZC1SZXBs YWNlLXVzZS1vZi1nX21lbWR1cC13aXRoLXV0aWxfbWVtZHVwLnBhdGNoCkBAIC0wLDAgKzEsMTQx MSBAQAorRnJvbSA3ZWI3NDE4MGNmNmZkNmNlYmM2MWJiNzE5ZDQ1OGNiZjVkN2Y0Y2E3IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52 b24uZGVudHpAaW50ZWwuY29tPgorRGF0ZTogVGh1LCA2IEphbiAyMDIyIDEyOjUwOjMzIC0wODAw CitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkOiBSZXBsYWNlIHVzZSBvZiBnX21lbWR1cCB3aXRoIHV0 aWxfbWVtZHVwCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1RoaXMgcmVw bGFjZXMgdGhlIHVzZXMgb2YgZ19tZW1kdXAgd2l0aCB1dGlsX21lbWR1cCBzaW5jZSB0aGUgZm9y bWVyIGhhcworYmVlbiBkZXByZWNhdGVkOgorCisgIHdhcm5pbmc6IOKAmGdfbWVtZHVw4oCZIGlz IGRlcHJlY2F0ZWQ6IFVzZSAnZ19tZW1kdXAyJyBpbnN0ZWFkCisgIFstV2RlcHJlY2F0ZWQtZGVj bGFyYXRpb25zXQorCitnX21lbWR1cDIgcmVxdWlyZXMgYnVtcGluZyBnbGliIHZlcnNpb24gd2hp Y2ggd291bGQgbGlrZWx5IGhhdmUgaXRzCitvd24gcHJvYmxlbXMgdGh1cyB3aHkgdXRpbF9tZW1k dXAgd2FzIGludHJvZHVjZWQuCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGNmYWI1Njk0 ODRiMTg0MDdmYzExN2JiOTY2MzQ1MjVjYzc2ZWExZjUpCitTaWduZWQtb2ZmLWJ5OiBUaG9tYXMg RGV2b29nZHQgPHRob21hcy5kZXZvb2dkdEBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5hbSAg ICAgICAgICAgICAgICB8IDEwICsrLS0tCisgTWFrZWZpbGUub2JleGQgICAgICAgICAgICAgfCAg MSArCisgTWFrZWZpbGUudG9vbHMgICAgICAgICAgICAgfCAxMSArKysrLS0KKyBhbmRyb2lkL2Ey ZHAuYyAgICAgICAgICAgICB8ICA5ICsrKy0tCisgYW5kcm9pZC9hdmN0cC5jICAgICAgICAgICAg fCAgNSArKy0KKyBhbmRyb2lkL2F2cmNwLWxpYi5jICAgICAgICB8ICAyICstCisgYW5kcm9pZC9n YXR0LmMgICAgICAgICAgICAgfCAgNSArKy0KKyBhbmRyb2lkL2hpZGhvc3QuYyAgICAgICAgICB8 ICAzICstCisgYW5kcm9pZC90ZXN0ZXItbWFpbi5jICAgICAgfCA3NyArKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLQorIGF0dHJpYi9nYXR0LmMgICAgICAgICAgICAgIHwgMTIg KysrLS0tCisgY2xpZW50L2dhdHQuYyAgICAgICAgICAgICAgfCAgMiArLQorIGdvYmV4L2dvYmV4 LWhlYWRlci5jICAgICAgIHwgIDcgKystLQorIGdvYmV4L2dvYmV4LXBhY2tldC5jICAgICAgIHwg IDUgKystCisgb2JleGQvc3JjL29iZXguYyAgICAgICAgICAgfCAgNSArKy0KKyBwbHVnaW5zL25l YXJkLmMgICAgICAgICAgICB8ICA5ICsrKy0tCisgcGx1Z2lucy9wb2xpY3kuYyAgICAgICAgICAg fCAgNyArKy0tCisgcHJvZmlsZXMvYXVkaW8vYXZjdHAuYyAgICAgfCAgOSArKystLQorIHByb2Zp bGVzL2F1ZGlvL2F2cmNwLmMgICAgIHwgMTAgKystLS0KKyBwcm9maWxlcy9iYXR0ZXJ5L2Jhcy5j ICAgICB8ICA0ICstCisgcHJvZmlsZXMvYmF0dGVyeS9iYXR0ZXJ5LmMgfCAgNCArLQorIHByb2Zp bGVzL2RldmljZWluZm8vZGlzLmMgIHwgIDQgKy0KKyBwcm9maWxlcy9pbnB1dC9ob2ctbGliLmMg ICB8IDEyICsrKy0tLQorIHByb2ZpbGVzL3NjYW5wYXJhbS9zY3BwLmMgIHwgIDQgKy0KKyBzcmMv ZWlyLmMgICAgICAgICAgICAgICAgICB8ICA4ICsrLS0KKyB0b29scy9nYXR0LXNlcnZpY2UuYyAg ICAgICB8IDE1ICsrKystLS0tCisgdG9vbHMvbWVzaC1nYXR0L2dhdHQuYyAgICAgfCAgNSArKy0K KyB1bml0L3Rlc3QtYXZjdHAuYyAgICAgICAgICB8ICA0ICstCisgdW5pdC90ZXN0LWF2ZHRwLmMg ICAgICAgICAgfCAgNiArLS0KKyB1bml0L3Rlc3QtYXZyY3AuYyAgICAgICAgICB8IDEwICsrLS0t CisgdW5pdC90ZXN0LWdhdHQuYyAgICAgICAgICAgfCAgNCArLQorIHVuaXQvdGVzdC1oZnAuYyAg ICAgICAgICAgIHwgMTEgKysrLS0tCisgdW5pdC90ZXN0LWhvZy5jICAgICAgICAgICAgfCAyNiAr KysrKystLS0tLS0tCisgdW5pdC90ZXN0LXNkcC5jICAgICAgICAgICAgfCAxMCArKystLQorIHVu aXQvdGVzdC11aGlkLmMgICAgICAgICAgIHwgIDIgKy0KKyAzNCBmaWxlcyBjaGFuZ2VkLCAxNzIg aW5zZXJ0aW9ucygrKSwgMTQ2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUu YW0gYi9NYWtlZmlsZS5hbQoraW5kZXggMzA4ZjEzYzUwLi45YjVlMTQwYjggMTAwNjQ0CistLS0g YS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC01MDgsMjMgKzUwOCwyMyBAQCB1 bml0X3Rlc3RzICs9IHVuaXQvdGVzdC1nb2JleC1oZWFkZXIgdW5pdC90ZXN0LWdvYmV4LXBhY2tl dCB1bml0L3Rlc3QtZ29iZXggXAorIAorIHVuaXRfdGVzdF9nb2JleF9TT1VSQ0VTID0gJChnb2Jl eF9zb3VyY2VzKSB1bml0L3V0aWwuYyB1bml0L3V0aWwuaCBcCisgCQkJCQkJdW5pdC90ZXN0LWdv YmV4LmMKKy11bml0X3Rlc3RfZ29iZXhfTERBREQgPSAkKEdMSUJfTElCUykKKyt1bml0X3Rlc3Rf Z29iZXhfTERBREQgPSBzcmMvbGlic2hhcmVkLWdsaWIubGEgJChHTElCX0xJQlMpCisgCisgdW5p dF90ZXN0X2dvYmV4X3BhY2tldF9TT1VSQ0VTID0gJChnb2JleF9zb3VyY2VzKSB1bml0L3V0aWwu YyB1bml0L3V0aWwuaCBcCisgCQkJCQkJdW5pdC90ZXN0LWdvYmV4LXBhY2tldC5jCistdW5pdF90 ZXN0X2dvYmV4X3BhY2tldF9MREFERCA9ICQoR0xJQl9MSUJTKQorK3VuaXRfdGVzdF9nb2JleF9w YWNrZXRfTERBREQgPSBzcmMvbGlic2hhcmVkLWdsaWIubGEgJChHTElCX0xJQlMpCisgCisgdW5p dF90ZXN0X2dvYmV4X2hlYWRlcl9TT1VSQ0VTID0gJChnb2JleF9zb3VyY2VzKSB1bml0L3V0aWwu YyB1bml0L3V0aWwuaCBcCisgCQkJCQkJdW5pdC90ZXN0LWdvYmV4LWhlYWRlci5jCistdW5pdF90 ZXN0X2dvYmV4X2hlYWRlcl9MREFERCA9ICQoR0xJQl9MSUJTKQorK3VuaXRfdGVzdF9nb2JleF9o ZWFkZXJfTERBREQgPSBzcmMvbGlic2hhcmVkLWdsaWIubGEgJChHTElCX0xJQlMpCisgCisgdW5p dF90ZXN0X2dvYmV4X3RyYW5zZmVyX1NPVVJDRVMgPSAkKGdvYmV4X3NvdXJjZXMpIHVuaXQvdXRp bC5jIHVuaXQvdXRpbC5oIFwKKyAJCQkJCQl1bml0L3Rlc3QtZ29iZXgtdHJhbnNmZXIuYworLXVu aXRfdGVzdF9nb2JleF90cmFuc2Zlcl9MREFERCA9ICQoR0xJQl9MSUJTKQorK3VuaXRfdGVzdF9n b2JleF90cmFuc2Zlcl9MREFERCA9IHNyYy9saWJzaGFyZWQtZ2xpYi5sYSAkKEdMSUJfTElCUykK KyAKKyB1bml0X3Rlc3RfZ29iZXhfYXBwYXJhbV9TT1VSQ0VTID0gJChnb2JleF9zb3VyY2VzKSB1 bml0L3V0aWwuYyB1bml0L3V0aWwuaCBcCisgCQkJCQkJdW5pdC90ZXN0LWdvYmV4LWFwcGFyYW0u YworLXVuaXRfdGVzdF9nb2JleF9hcHBhcmFtX0xEQUREID0gJChHTElCX0xJQlMpCisrdW5pdF90 ZXN0X2dvYmV4X2FwcGFyYW1fTERBREQgPSBzcmMvbGlic2hhcmVkLWdsaWIubGEgJChHTElCX0xJ QlMpCisgZW5kaWYKKyAKKyB1bml0X3Rlc3RzICs9IHVuaXQvdGVzdC1saWIKK2RpZmYgLS1naXQg YS9NYWtlZmlsZS5vYmV4ZCBiL01ha2VmaWxlLm9iZXhkCitpbmRleCAzN2ExMzM0NTUuLjVkMWE0 ZmY2NSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLm9iZXhkCisrKysgYi9NYWtlZmlsZS5vYmV4ZAor QEAgLTgyLDYgKzgyLDcgQEAgb2JleGRfc3JjX29iZXhkX1NPVVJDRVMgPSAkKGJ0aW9fc291cmNl cykgJChnb2JleF9zb3VyY2VzKSBcCisgCQkJb2JleGQvc3JjL21hcF9hcC5oCisgb2JleGRfc3Jj X29iZXhkX0xEQUREID0gbGliL2xpYmJsdWV0b290aC1pbnRlcm5hbC5sYSBcCisgCQkJZ2RidXMv bGliZ2RidXMtaW50ZXJuYWwubGEgXAorKwkJCXNyYy9saWJzaGFyZWQtZ2xpYi5sYSBcCisgCQkJ JChJQ0FMX0xJQlMpICQoREJVU19MSUJTKSAkKExJQkVCT09LX0xJQlMpIFwKKyAJCQkkKExJQkVE QVRBU0VSVkVSX0xJQlMpICQoR0xJQl9MSUJTKSAtbGRsCisgCitkaWZmIC0tZ2l0IGEvTWFrZWZp bGUudG9vbHMgYi9NYWtlZmlsZS50b29scworaW5kZXggYzdiZGZmODNmLi4zNWIwMDIxZWEgMTAw NjQ0CistLS0gYS9NYWtlZmlsZS50b29scworKysrIGIvTWFrZWZpbGUudG9vbHMKK0BAIC0zMDIs NyArMzAyLDggQEAgdG9vbHNfbXByaXNfcHJveHlfU09VUkNFUyA9IHRvb2xzL21wcmlzLXByb3h5 LmMKKyB0b29sc19tcHJpc19wcm94eV9MREFERCA9IGdkYnVzL2xpYmdkYnVzLWludGVybmFsLmxh ICQoR0xJQl9MSUJTKSAkKERCVVNfTElCUykKKyAKKyB0b29sc19nYXR0X3NlcnZpY2VfU09VUkNF UyA9IHRvb2xzL2dhdHQtc2VydmljZS5jCistdG9vbHNfZ2F0dF9zZXJ2aWNlX0xEQUREID0gJChH TElCX0xJQlMpICQoREJVU19MSUJTKSBnZGJ1cy9saWJnZGJ1cy1pbnRlcm5hbC5sYQorK3Rvb2xz X2dhdHRfc2VydmljZV9MREFERCA9IGdkYnVzL2xpYmdkYnVzLWludGVybmFsLmxhIFwKKysJCQkg ICBzcmMvbGlic2hhcmVkLW1haW5sb29wLmxhICQoR0xJQl9MSUJTKSAkKERCVVNfTElCUykKKyAK KyBwcm9maWxlc19pYXBfaWFwZF9TT1VSQ0VTID0gcHJvZmlsZXMvaWFwL21haW4uYworIHByb2Zp bGVzX2lhcF9pYXBkX0xEQUREID0gZ2RidXMvbGliZ2RidXMtaW50ZXJuYWwubGEgJChHTElCX0xJ QlMpICQoREJVU19MSUJTKQorQEAgLTQ0OCwxMSArNDQ5LDEyIEBAIG5vaW5zdF9QUk9HUkFNUyAr PSB0b29scy9idG1nbXQgdG9vbHMvb2JleC1jbGllbnQtdG9vbCB0b29scy9vYmV4LXNlcnZlci10 b29sIFwKKyB0b29sc19vYmV4X2NsaWVudF90b29sX1NPVVJDRVMgPSAkKGdvYmV4X3NvdXJjZXMp ICQoYnRpb19zb3VyY2VzKSBcCisgCQkJCQkJdG9vbHMvb2JleC1jbGllbnQtdG9vbC5jCisgdG9v bHNfb2JleF9jbGllbnRfdG9vbF9MREFERCA9IGxpYi9saWJibHVldG9vdGgtaW50ZXJuYWwubGEg XAorLQkJCQkJCSQoR0xJQl9MSUJTKSAtbHJlYWRsaW5lCisrCQkJICAgICAgIHNyYy9saWJzaGFy ZWQtZ2xpYi5sYSAkKEdMSUJfTElCUykgLWxyZWFkbGluZQorIAorIHRvb2xzX29iZXhfc2VydmVy X3Rvb2xfU09VUkNFUyA9ICQoZ29iZXhfc291cmNlcykgJChidGlvX3NvdXJjZXMpIFwKKyAJCQkJ CQl0b29scy9vYmV4LXNlcnZlci10b29sLmMKKy10b29sc19vYmV4X3NlcnZlcl90b29sX0xEQURE ID0gbGliL2xpYmJsdWV0b290aC1pbnRlcm5hbC5sYSAkKEdMSUJfTElCUykKKyt0b29sc19vYmV4 X3NlcnZlcl90b29sX0xEQUREID0gbGliL2xpYmJsdWV0b290aC1pbnRlcm5hbC5sYSBcCisrCQkJ ICAgICAgIHNyYy9saWJzaGFyZWQtZ2xpYi5sYSAkKEdMSUJfTElCUykKKyAKKyB0b29sc19ibHVl dG9vdGhfcGxheWVyX1NPVVJDRVMgPSB0b29scy9ibHVldG9vdGgtcGxheWVyLmMKKyB0b29sc19i bHVldG9vdGhfcGxheWVyX0xEQUREID0gZ2RidXMvbGliZ2RidXMtaW50ZXJuYWwubGEgXAorQEAg LTQ2MSw3ICs0NjMsOCBAQCB0b29sc19ibHVldG9vdGhfcGxheWVyX0xEQUREID0gZ2RidXMvbGli Z2RidXMtaW50ZXJuYWwubGEgXAorIAorIHRvb2xzX29iZXhjdGxfU09VUkNFUyA9IHRvb2xzL29i ZXhjdGwuYworIHRvb2xzX29iZXhjdGxfTERBREQgPSBnZGJ1cy9saWJnZGJ1cy1pbnRlcm5hbC5s YSBzcmMvbGlic2hhcmVkLWdsaWIubGEgXAorLQkJCQkkKEdMSUJfTElCUykgJChEQlVTX0xJQlMp IC1scmVhZGxpbmUKKysJCQlzcmMvbGlic2hhcmVkLWdsaWIubGEgJChHTElCX0xJQlMpICQoREJV U19MSUJTKSBcCisrCQkJLWxyZWFkbGluZQorIAorIHRvb2xzX2J0bWdtdF9TT1VSQ0VTID0gdG9v bHMvYnRtZ210LmMgc3JjL3V1aWQtaGVscGVyLmMgY2xpZW50L2Rpc3BsYXkuYworIHRvb2xzX2J0 bWdtdF9MREFERCA9IGxpYi9saWJibHVldG9vdGgtaW50ZXJuYWwubGEgc3JjL2xpYnNoYXJlZC1t YWlubG9vcC5sYSBcCitkaWZmIC0tZ2l0IGEvYW5kcm9pZC9hMmRwLmMgYi9hbmRyb2lkL2EyZHAu YworaW5kZXggMDI5MTA3Y2Y1Li5lZTYwN2EzMmQgMTAwNjQ0CistLS0gYS9hbmRyb2lkL2EyZHAu YworKysrIGIvYW5kcm9pZC9hMmRwLmMKK0BAIC0yNiw2ICsyNiw3IEBACisgI2luY2x1ZGUgImxp Yi9zZHBfbGliLmgiCisgI2luY2x1ZGUgInByb2ZpbGVzL2F1ZGlvL2EyZHAtY29kZWNzLmgiCisg I2luY2x1ZGUgInNyYy9zaGFyZWQvcXVldWUuaCIKKysjaW5jbHVkZSAic3JjL3NoYXJlZC91dGls LmgiCisgI2luY2x1ZGUgInNyYy9sb2cuaCIKKyAjaW5jbHVkZSAiaGFsLW1zZy5oIgorICNpbmNs dWRlICJpcGMtY29tbW9uLmgiCitAQCAtNDI4LDcgKzQyOSw3IEBAIHN0YXRpYyBzdHJ1Y3QgYTJk cF9wcmVzZXQgKnNiY19zZWxlY3RfcmFuZ2Uodm9pZCAqY2FwcywgdWludDhfdCBjYXBzX2xlbiwK KyAKKyAJcCA9IGdfbmV3MChzdHJ1Y3QgYTJkcF9wcmVzZXQsIDEpOworIAlwLT5sZW4gPSBjb25m X2xlbjsKKy0JcC0+ZGF0YSA9IGdfbWVtZHVwKGNvbmYsIHAtPmxlbik7CisrCXAtPmRhdGEgPSB1 dGlsX21lbWR1cChjb25mLCBwLT5sZW4pOworIAorIAlyZXR1cm4gcDsKKyB9CitAQCAtNDQ4LDcg KzQ0OSw3IEBAIHN0YXRpYyBzdHJ1Y3QgYTJkcF9wcmVzZXQgKmFhY19zZWxlY3RfcmFuZ2Uodm9p ZCAqY2FwcywgdWludDhfdCBjYXBzX2xlbiwKKyAKKyAJcCA9IGdfbmV3MChzdHJ1Y3QgYTJkcF9w cmVzZXQsIDEpOworIAlwLT5sZW4gPSBjb25mX2xlbjsKKy0JcC0+ZGF0YSA9IGdfbWVtZHVwKGNv bmYsIHAtPmxlbik7CisrCXAtPmRhdGEgPSB1dGlsX21lbWR1cChjb25mLCBwLT5sZW4pOworIAor IAlyZXR1cm4gcDsKKyB9CitAQCAtMTAzNiw3ICsxMDM3LDcgQEAgc3RhdGljIGdib29sZWFuIHNl cF9zZXRjb25mX2luZChzdHJ1Y3QgYXZkdHAgKnNlc3Npb24sCisgCisgCQlwcmVzZXQgPSBnX25l dzAoc3RydWN0IGEyZHBfcHJlc2V0LCAxKTsKKyAJCXByZXNldC0+bGVuID0gY2FwLT5sZW5ndGgg LSBzaXplb2YoKmNvZGVjKTsKKy0JCXByZXNldC0+ZGF0YSA9IGdfbWVtZHVwKGNvZGVjLT5kYXRh LCBwcmVzZXQtPmxlbik7CisrCQlwcmVzZXQtPmRhdGEgPSB1dGlsX21lbWR1cChjb2RlYy0+ZGF0 YSwgcHJlc2V0LT5sZW4pOworIAorIAkJaWYgKGNoZWNrX2NvbmZpZyhlbmRwb2ludCwgcHJlc2V0 KSA8IDApIHsKKyAJCQlwcmVzZXRfZnJlZShwcmVzZXQpOworQEAgLTEzNjUsNyArMTM2Niw3IEBA IHN0YXRpYyBHU0xpc3QgKnBhcnNlX3ByZXNldHMoY29uc3Qgc3RydWN0IGF1ZGlvX3ByZXNldCAq cCwgdWludDhfdCBjb3VudCwKKyAKKyAJCXByZXNldCA9IGdfbmV3MChzdHJ1Y3QgYTJkcF9wcmVz ZXQsIDEpOworIAkJcHJlc2V0LT5sZW4gPSBwLT5sZW47CistCQlwcmVzZXQtPmRhdGEgPSBnX21l bWR1cChwLT5kYXRhLCBwcmVzZXQtPmxlbik7CisrCQlwcmVzZXQtPmRhdGEgPSB1dGlsX21lbWR1 cChwLT5kYXRhLCBwcmVzZXQtPmxlbik7CisgCQlsID0gZ19zbGlzdF9hcHBlbmQobCwgcHJlc2V0 KTsKKyAKKyAJCWxlbiAtPSBwcmVzZXQtPmxlbjsKK2RpZmYgLS1naXQgYS9hbmRyb2lkL2F2Y3Rw LmMgYi9hbmRyb2lkL2F2Y3RwLmMKK2luZGV4IDE0ZWJiYzM5MS4uMzdiNGNlYzRmIDEwMDY0NAor LS0tIGEvYW5kcm9pZC9hdmN0cC5jCisrKysgYi9hbmRyb2lkL2F2Y3RwLmMKK0BAIC0zMSw2ICsz MSw3IEBACisgI2luY2x1ZGUgPGdsaWIuaD4KKyAKKyAjaW5jbHVkZSAibGliL3NkcC5oIgorKyNp bmNsdWRlICJzcmMvc2hhcmVkL3V0aWwuaCIKKyAjaW5jbHVkZSAic3JjL2xvZy5oIgorICNpbmNs dWRlICJhdmN0cC5oIgorIAorQEAgLTExNzcsNyArMTE3OCw3IEBAIHN0YXRpYyBpbnQgYXZjdHBf c2VuZF9yZXEoc3RydWN0IGF2Y3RwICpzZXNzaW9uLCB1aW50OF90IGNvZGUsIHVpbnQ4X3Qgc3Vi dW5pdCwKKyAKKyAJZm9yIChpID0gMDsgaSA8IGlvdl9jbnQ7IGkrKykgeworIAkJcGR1W2ldLmlv dl9sZW4gPSBpb3ZbaV0uaW92X2xlbjsKKy0JCXBkdVtpXS5pb3ZfYmFzZSA9IGdfbWVtZHVwKGlv dltpXS5pb3ZfYmFzZSwgaW92W2ldLmlvdl9sZW4pOworKwkJcGR1W2ldLmlvdl9iYXNlID0gdXRp bF9tZW1kdXAoaW92W2ldLmlvdl9iYXNlLCBpb3ZbaV0uaW92X2xlbik7CisgCX0KKyAKKyAJcmVx ID0gZ19uZXcwKHN0cnVjdCBhdmN0cF9jb250cm9sX3JlcSwgMSk7CitAQCAtMTIxOCw3ICsxMjE5 LDcgQEAgaW50IGF2Y3RwX3NlbmRfYnJvd3NpbmdfcmVxKHN0cnVjdCBhdmN0cCAqc2Vzc2lvbiwK KyAKKyAJZm9yIChpID0gMDsgaSA8IGlvdl9jbnQ7IGkrKykgeworIAkJcGR1W2ldLmlvdl9sZW4g PSBpb3ZbaV0uaW92X2xlbjsKKy0JCXBkdVtpXS5pb3ZfYmFzZSA9IGdfbWVtZHVwKGlvdltpXS5p b3ZfYmFzZSwgaW92W2ldLmlvdl9sZW4pOworKwkJcGR1W2ldLmlvdl9iYXNlID0gdXRpbF9tZW1k dXAoaW92W2ldLmlvdl9iYXNlLCBpb3ZbaV0uaW92X2xlbik7CisgCX0KKyAKKyAJcmVxID0gZ19u ZXcwKHN0cnVjdCBhdmN0cF9icm93c2luZ19yZXEsIDEpOworZGlmZiAtLWdpdCBhL2FuZHJvaWQv YXZyY3AtbGliLmMgYi9hbmRyb2lkL2F2cmNwLWxpYi5jCitpbmRleCAyMDA3ZDA5ZDIuLmIzNDI2 OTJjYiAxMDA2NDQKKy0tLSBhL2FuZHJvaWQvYXZyY3AtbGliLmMKKysrKyBiL2FuZHJvaWQvYXZy Y3AtbGliLmMKK0BAIC0yNjIwLDcgKzI2MjAsNyBAQCBzdGF0aWMgY2hhciAqcGFyc2VfZm9sZGVy X2xpc3QodWludDhfdCAqcGFyYW1zLCB1aW50MTZfdCBwYXJhbXNfbGVuLAorIAkJCXJldHVybiBO VUxMOworIAkJfQorIAorLQkJZm9sZGVyc1tjb3VudF0gPSBnX21lbWR1cCgmcGFyYW1zW2ldLCBs ZW4pOworKwkJZm9sZGVyc1tjb3VudF0gPSB1dGlsX21lbWR1cCgmcGFyYW1zW2ldLCBsZW4pOwor IAkJaSArPSBsZW47CisgCX0KKyAKK2RpZmYgLS1naXQgYS9hbmRyb2lkL2dhdHQuYyBiL2FuZHJv aWQvZ2F0dC5jCitpbmRleCBhOGEwYzQ4OGIuLmU4YmE1YWFiYiAxMDA2NDQKKy0tLSBhL2FuZHJv aWQvZ2F0dC5jCisrKysgYi9hbmRyb2lkL2dhdHQuYworQEAgLTEzMzgsNyArMTMzOCw4IEBAIHN0 YXRpYyB2b2lkIGRpc2NvdmVyX3ByaW1hcnlfY2IodWludDhfdCBzdGF0dXMsIEdTTGlzdCAqc2Vy dmljZXMsCisgCQl9CisgCisgCQlidF91dWlkX3RvX3V1aWQxMjgoJnV1aWQsICZ1MTI4KTsKKy0J CW5ld191dWlkID0gZ19tZW1kdXAoJnUxMjgudmFsdWUudTEyOCwgc2l6ZW9mKHUxMjgudmFsdWUu dTEyOCkpOworKwkJbmV3X3V1aWQgPSB1dGlsX21lbWR1cCgmdTEyOC52YWx1ZS51MTI4LAorKwkJ CQkJc2l6ZW9mKHUxMjgudmFsdWUudTEyOCkpOworIAorIAkJdXVpZHMgPSBnX3NsaXN0X3ByZXBl bmQodXVpZHMsIG5ld191dWlkKTsKKyAJfQorQEAgLTY2MzMsNyArNjYzNCw3IEBAIHN0YXRpYyB1 aW50OF90IHdyaXRlX3ByZXBfcmVxdWVzdChjb25zdCB1aW50OF90ICpjbWQsIHVpbnQxNl90IGNt ZF9sZW4sCisgCisgCXF1ZXVlX3B1c2hfdGFpbChkZXYtPnBlbmRpbmdfcmVxdWVzdHMsIGRhdGEp OworIAorLQlkYXRhLT52YWx1ZSA9IGdfbWVtZHVwKHZhbHVlLCB2bGVuKTsKKysJZGF0YS0+dmFs dWUgPSB1dGlsX21lbWR1cCh2YWx1ZSwgdmxlbik7CisgCWRhdGEtPmxlbmd0aCA9IHZsZW47Cisg CisgCWlmICghZ2F0dF9kYl9hdHRyaWJ1dGVfd3JpdGUoYXR0cmliLCBvZmZzZXQsIHZhbHVlLCB2 bGVuLCBjbWRbMF0sCitkaWZmIC0tZ2l0IGEvYW5kcm9pZC9oaWRob3N0LmMgYi9hbmRyb2lkL2hp ZGhvc3QuYworaW5kZXggMDE2MzgyZTE3Li5iNGU1YzUyN2YgMTAwNjQ0CistLS0gYS9hbmRyb2lk L2hpZGhvc3QuYworKysrIGIvYW5kcm9pZC9oaWRob3N0LmMKK0BAIC02ODksNyArNjg5LDggQEAg c3RhdGljIHZvaWQgaGlkX3NkcF9zZWFyY2hfY2Ioc2RwX2xpc3RfdCAqcmVjcywgaW50IGVyciwg Z3BvaW50ZXIgZGF0YSkKKyAJCQkJZ290byBmYWlsOworIAorIAkJCWRldi0+cmRfc2l6ZSA9IGRh dGEtPnVuaXRTaXplOworLQkJCWRldi0+cmRfZGF0YSA9IGdfbWVtZHVwKGRhdGEtPnZhbC5zdHIs IGRhdGEtPnVuaXRTaXplKTsKKysJCQlkZXYtPnJkX2RhdGEgPSB1dGlsX21lbWR1cChkYXRhLT52 YWwuc3RyLAorKwkJCQkJCQlkYXRhLT51bml0U2l6ZSk7CisgCQl9CisgCX0KKyAKK2RpZmYgLS1n aXQgYS9hbmRyb2lkL3Rlc3Rlci1tYWluLmMgYi9hbmRyb2lkL3Rlc3Rlci1tYWluLmMKK2luZGV4 IGZmNWVjZGY4My4uMzE3YzFkZTA2IDEwMDY0NAorLS0tIGEvYW5kcm9pZC90ZXN0ZXItbWFpbi5j CisrKysgYi9hbmRyb2lkL3Rlc3Rlci1tYWluLmMKK0BAIC0xMjUzLDcgKzEyNTMsOCBAQCBzdGF0 aWMgYnRfcHJvcGVydHlfdCAqY29weV9wcm9wZXJ0aWVzKGludCBudW1fcHJvcGVydGllcywKKyAJ Zm9yIChpID0gMDsgaSA8IG51bV9wcm9wZXJ0aWVzOyBpKyspIHsKKyAJCXByb3BzW2ldLnR5cGUg PSBwcm9wZXJ0aWVzW2ldLnR5cGU7CisgCQlwcm9wc1tpXS5sZW4gPSBwcm9wZXJ0aWVzW2ldLmxl bjsKKy0JCXByb3BzW2ldLnZhbCA9IGdfbWVtZHVwKHByb3BlcnRpZXNbaV0udmFsLCBwcm9wZXJ0 aWVzW2ldLmxlbik7CisrCQlwcm9wc1tpXS52YWwgPSB1dGlsX21lbWR1cChwcm9wZXJ0aWVzW2ld LnZhbCwKKysJCQkJCQlwcm9wZXJ0aWVzW2ldLmxlbik7CisgCX0KKyAKKyAJcmV0dXJuIHByb3Bz OworQEAgLTEyNjgsNyArMTI2OSw4IEBAIHN0YXRpYyBidF9wcm9wZXJ0eV90ICpyZXBhY2tfcHJv cGVydGllcyhpbnQgbnVtX3Byb3BlcnRpZXMsCisgCWZvciAoaSA9IDA7IGkgPCBudW1fcHJvcGVy dGllczsgaSsrKSB7CisgCQlwcm9wc1tpXS50eXBlID0gcHJvcGVydGllc1tpXS0+dHlwZTsKKyAJ CXByb3BzW2ldLmxlbiA9IHByb3BlcnRpZXNbaV0tPmxlbjsKKy0JCXByb3BzW2ldLnZhbCA9IGdf bWVtZHVwKHByb3BlcnRpZXNbaV0tPnZhbCwgcHJvcGVydGllc1tpXS0+bGVuKTsKKysJCXByb3Bz W2ldLnZhbCA9IHV0aWxfbWVtZHVwKHByb3BlcnRpZXNbaV0tPnZhbCwKKysJCQkJCQlwcm9wZXJ0 aWVzW2ldLT5sZW4pOworIAl9CisgCisgCXJldHVybiBwcm9wczsKK0BAIC0xMjgxLDcgKzEyODMs NyBAQCBzdGF0aWMgYnRfcHJvcGVydHlfdCAqY3JlYXRlX3Byb3BlcnR5KGJ0X3Byb3BlcnR5X3R5 cGVfdCB0eXBlLCB2b2lkICp2YWwsCisgCisgCXByb3AtPnR5cGUgPSB0eXBlOworIAlwcm9wLT5s ZW4gPSBsZW47CistCXByb3AtPnZhbCA9IGdfbWVtZHVwKHZhbCwgbGVuKTsKKysJcHJvcC0+dmFs ID0gdXRpbF9tZW1kdXAodmFsLCBsZW4pOworIAorIAlyZXR1cm4gcHJvcDsKKyB9CitAQCAtMTYx NSw3ICsxNjE3LDcgQEAgc3RhdGljIHZvaWQgZ2F0dGNfc2VhcmNoX3Jlc3VsdF9jYihpbnQgY29u bl9pZCwgYnRnYXR0X3NydmNfaWRfdCAqc3J2Y19pZCkKKyAKKyAJc3RlcC0+Y2FsbGJhY2sgPSBD Ql9HQVRUQ19TRUFSQ0hfUkVTVUxUOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuY29ubl9pZCA9 IGNvbm5faWQ7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zZXJ2aWNlID0gZ19tZW1kdXAoc3J2 Y19pZCwgc2l6ZW9mKCpzcnZjX2lkKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zZXJ2aWNl ID0gdXRpbF9tZW1kdXAoc3J2Y19pZCwgc2l6ZW9mKCpzcnZjX2lkKSk7CisgCisgCXNjaGVkdWxl X2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsKKyB9CitAQCAtMTYzOSw4ICsxNjQxLDggQEAg c3RhdGljIHZvaWQgZ2F0dGNfZ2V0X2NoYXJhY3RlcmlzdGljX2NiKGludCBjb25uX2lkLCBpbnQg c3RhdHVzLAorIAlzdGVwLT5jYWxsYmFjayA9IENCX0dBVFRDX0dFVF9DSEFSQUNURVJJU1RJQzsK KyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnN0YXR1cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJh Y2tfcmVzdWx0LmNvbm5faWQgPSBjb25uX2lkOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuc2Vy dmljZSA9IGdfbWVtZHVwKHNydmNfaWQsIHNpemVvZigqc3J2Y19pZCkpOworLQlzdGVwLT5jYWxs YmFja19yZXN1bHQuY2hhcmFjdGVyaXN0aWMgPSBnX21lbWR1cChjaGFyX2lkLAorKwlzdGVwLT5j YWxsYmFja19yZXN1bHQuc2VydmljZSA9IHV0aWxfbWVtZHVwKHNydmNfaWQsIHNpemVvZigqc3J2 Y19pZCkpOworKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuY2hhcmFjdGVyaXN0aWMgPSB1dGlsX21l bWR1cChjaGFyX2lkLAorIAkJCQkJCQlzaXplb2YoKmNoYXJfaWQpKTsKKyAJc3RlcC0+Y2FsbGJh Y2tfcmVzdWx0LmNoYXJfcHJvcCA9IGNoYXJfcHJvcDsKKyAKK0BAIC0xNjU2LDEwICsxNjU4LDEw IEBAIHN0YXRpYyB2b2lkIGdhdHRjX2dldF9kZXNjcmlwdG9yX2NiKGludCBjb25uX2lkLCBpbnQg c3RhdHVzLAorIAlzdGVwLT5jYWxsYmFjayA9IENCX0dBVFRDX0dFVF9ERVNDUklQVE9SOworIAlz dGVwLT5jYWxsYmFja19yZXN1bHQuc3RhdHVzID0gc3RhdHVzOworIAlzdGVwLT5jYWxsYmFja19y ZXN1bHQuY29ubl9pZCA9IGNvbm5faWQ7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zZXJ2aWNl ID0gZ19tZW1kdXAoc3J2Y19pZCwgc2l6ZW9mKCpzcnZjX2lkKSk7CistCXN0ZXAtPmNhbGxiYWNr X3Jlc3VsdC5jaGFyYWN0ZXJpc3RpYyA9IGdfbWVtZHVwKGNoYXJfaWQsCisrCXN0ZXAtPmNhbGxi YWNrX3Jlc3VsdC5zZXJ2aWNlID0gdXRpbF9tZW1kdXAoc3J2Y19pZCwgc2l6ZW9mKCpzcnZjX2lk KSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5jaGFyYWN0ZXJpc3RpYyA9IHV0aWxfbWVtZHVw KGNoYXJfaWQsCisgCQkJCQkJCXNpemVvZigqY2hhcl9pZCkpOworLQlzdGVwLT5jYWxsYmFja19y ZXN1bHQuZGVzY3JpcHRvciA9IGdfbWVtZHVwKGRlc2NyX2lkLAorKwlzdGVwLT5jYWxsYmFja19y ZXN1bHQuZGVzY3JpcHRvciA9IHV0aWxfbWVtZHVwKGRlc2NyX2lkLAorIAkJCQkJCQlzaXplb2Yo KmRlc2NyX2lkKSk7CisgCisgCXNjaGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsK K0BAIC0xNjczLDggKzE2NzUsOCBAQCBzdGF0aWMgdm9pZCBnYXR0Y19nZXRfaW5jbHVkZWRfc2Vy dmljZV9jYihpbnQgY29ubl9pZCwgaW50IHN0YXR1cywKKyAJc3RlcC0+Y2FsbGJhY2sgPSBDQl9H QVRUQ19HRVRfSU5DTFVERURfU0VSVklDRTsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnN0YXR1 cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmNvbm5faWQgPSBjb25uX2lkOwor LQlzdGVwLT5jYWxsYmFja19yZXN1bHQuc2VydmljZSA9IGdfbWVtZHVwKHNydmNfaWQsIHNpemVv Zigqc3J2Y19pZCkpOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuaW5jbHVkZWQgPSBnX21lbWR1 cChpbmNsX3NydmNfaWQsCisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zZXJ2aWNlID0gdXRpbF9t ZW1kdXAoc3J2Y19pZCwgc2l6ZW9mKCpzcnZjX2lkKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3Vs dC5pbmNsdWRlZCA9IHV0aWxfbWVtZHVwKGluY2xfc3J2Y19pZCwKKyAJCQkJCQkJc2l6ZW9mKCpz cnZjX2lkKSk7CisgCisgCXNjaGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsKK0BA IC0xNjg4LDcgKzE2OTAsOCBAQCBzdGF0aWMgdm9pZCBnYXR0Y19yZWFkX2NoYXJhY3RlcmlzdGlj X2NiKGludCBjb25uX2lkLCBpbnQgc3RhdHVzLAorIAlzdGVwLT5jYWxsYmFjayA9IENCX0dBVFRD X1JFQURfQ0hBUkFDVEVSSVNUSUM7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zdGF0dXMgPSBz dGF0dXM7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5jb25uX2lkID0gY29ubl9pZDsKKy0Jc3Rl cC0+Y2FsbGJhY2tfcmVzdWx0LnJlYWRfcGFyYW1zID0gZ19tZW1kdXAocF9kYXRhLCBzaXplb2Yo KnBfZGF0YSkpOworKwlzdGVwLT5jYWxsYmFja19yZXN1bHQucmVhZF9wYXJhbXMgPSB1dGlsX21l bWR1cChwX2RhdGEsCisrCQkJCQkJCXNpemVvZigqcF9kYXRhKSk7CisgCisgCXNjaGVkdWxlX2Nh bGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsKKyB9CitAQCAtMTcwMSw3ICsxNzA0LDggQEAgc3Rh dGljIHZvaWQgZ2F0dGNfcmVhZF9kZXNjcmlwdG9yX2NiKGludCBjb25uX2lkLCBpbnQgc3RhdHVz LAorIAlzdGVwLT5jYWxsYmFjayA9IENCX0dBVFRDX1JFQURfREVTQ1JJUFRPUjsKKyAJc3RlcC0+ Y2FsbGJhY2tfcmVzdWx0LnN0YXR1cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0 LmNvbm5faWQgPSBjb25uX2lkOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQucmVhZF9wYXJhbXMg PSBnX21lbWR1cChwX2RhdGEsIHNpemVvZigqcF9kYXRhKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jl c3VsdC5yZWFkX3BhcmFtcyA9IHV0aWxfbWVtZHVwKHBfZGF0YSwKKysJCQkJCQkJc2l6ZW9mKCpw X2RhdGEpKTsKKyAKKyAJc2NoZWR1bGVfY2FsbGJhY2tfdmVyaWZpY2F0aW9uKHN0ZXApOworIH0K K0BAIC0xNzE0LDcgKzE3MTgsOCBAQCBzdGF0aWMgdm9pZCBnYXR0Y193cml0ZV9jaGFyYWN0ZXJp c3RpY19jYihpbnQgY29ubl9pZCwgaW50IHN0YXR1cywKKyAJc3RlcC0+Y2FsbGJhY2sgPSBDQl9H QVRUQ19XUklURV9DSEFSQUNURVJJU1RJQzsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnN0YXR1 cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmNvbm5faWQgPSBjb25uX2lkOwor LQlzdGVwLT5jYWxsYmFja19yZXN1bHQud3JpdGVfcGFyYW1zID0gZ19tZW1kdXAocF9kYXRhLCBz aXplb2YoKnBfZGF0YSkpOworKwlzdGVwLT5jYWxsYmFja19yZXN1bHQud3JpdGVfcGFyYW1zID0g dXRpbF9tZW1kdXAocF9kYXRhLAorKwkJCQkJCQlzaXplb2YoKnBfZGF0YSkpOworIAorIAlzY2hl ZHVsZV9jYWxsYmFja192ZXJpZmljYXRpb24oc3RlcCk7CisgfQorQEAgLTE3MjcsNyArMTczMiw4 IEBAIHN0YXRpYyB2b2lkIGdhdHRjX3dyaXRlX2Rlc2NyaXB0b3JfY2IoaW50IGNvbm5faWQsIGlu dCBzdGF0dXMsCisgCXN0ZXAtPmNhbGxiYWNrID0gQ0JfR0FUVENfV1JJVEVfREVTQ1JJUFRPUjsK KyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnN0YXR1cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJh Y2tfcmVzdWx0LmNvbm5faWQgPSBjb25uX2lkOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQud3Jp dGVfcGFyYW1zID0gZ19tZW1kdXAocF9kYXRhLCBzaXplb2YoKnBfZGF0YSkpOworKwlzdGVwLT5j YWxsYmFja19yZXN1bHQud3JpdGVfcGFyYW1zID0gdXRpbF9tZW1kdXAocF9kYXRhLAorKwkJCQkJ CQlzaXplb2YoKnBfZGF0YSkpOworIAorIAlzY2hlZHVsZV9jYWxsYmFja192ZXJpZmljYXRpb24o c3RlcCk7CisgfQorQEAgLTE3NDIsOCArMTc0OCw4IEBAIHN0YXRpYyB2b2lkIGdhdHRjX3JlZ2lz dGVyX2Zvcl9ub3RpZmljYXRpb25fY2IoaW50IGNvbm5faWQsIGludCByZWdpc3RlcmVkLAorIAlz dGVwLT5jYWxsYmFjayA9IENCX0dBVFRDX1JFR0lTVEVSX0ZPUl9OT1RJRklDQVRJT047CisgCXN0 ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zdGF0dXMgPSBzdGF0dXM7CisgCXN0ZXAtPmNhbGxiYWNrX3Jl c3VsdC5jb25uX2lkID0gY29ubl9pZDsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNlcnZpY2Ug PSBnX21lbWR1cChzcnZjX2lkLCBzaXplb2YoKnNydmNfaWQpKTsKKy0Jc3RlcC0+Y2FsbGJhY2tf cmVzdWx0LmNoYXJhY3RlcmlzdGljID0gZ19tZW1kdXAoY2hhcl9pZCwKKysJc3RlcC0+Y2FsbGJh Y2tfcmVzdWx0LnNlcnZpY2UgPSB1dGlsX21lbWR1cChzcnZjX2lkLCBzaXplb2YoKnNydmNfaWQp KTsKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmNoYXJhY3RlcmlzdGljID0gdXRpbF9tZW1kdXAo Y2hhcl9pZCwKKyAJCQkJCQkJc2l6ZW9mKCpjaGFyX2lkKSk7CisgCXN0ZXAtPmNhbGxiYWNrX3Jl c3VsdC5ub3RpZmljYXRpb25fcmVnaXN0ZXJlZCA9IHJlZ2lzdGVyZWQ7CisgCitAQCAtMTc1Niw3 ICsxNzYyLDggQEAgc3RhdGljIHZvaWQgZ2F0dGNfbm90aWZfY2IoaW50IGNvbm5faWQsIGJ0Z2F0 dF9ub3RpZnlfcGFyYW1zX3QgKnBfZGF0YSkKKyAKKyAJc3RlcC0+Y2FsbGJhY2sgPSBDQl9HQVRU Q19OT1RJRlk7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5jb25uX2lkID0gY29ubl9pZDsKKy0J c3RlcC0+Y2FsbGJhY2tfcmVzdWx0Lm5vdGlmeV9wYXJhbXMgPSBnX21lbWR1cChwX2RhdGEsIHNp emVvZigqcF9kYXRhKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5ub3RpZnlfcGFyYW1zID0g dXRpbF9tZW1kdXAocF9kYXRhLAorKwkJCQkJCQlzaXplb2YoKnBfZGF0YSkpOworIAorIAlzY2hl ZHVsZV9jYWxsYmFja192ZXJpZmljYXRpb24oc3RlcCk7CisgfQorQEAgLTE4MjcsOCArMTgzNCw4 IEBAIHN0YXRpYyB2b2lkIGdhdHRzX3NlcnZpY2VfYWRkZWRfY2IoaW50IHN0YXR1cywgaW50IHNl cnZlcl9pZiwKKyAKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnN0YXR1cyA9IHN0YXR1czsKKyAJ c3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmdhdHRfYXBwX2lkID0gc2VydmVyX2lmOworLQlzdGVwLT5j YWxsYmFja19yZXN1bHQuc2VydmljZSA9IGdfbWVtZHVwKHNydmNfaWQsIHNpemVvZigqc3J2Y19p ZCkpOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2Y19oYW5kbGUgPSBnX21lbWR1cCgmc3J2 Y19oYW5kbGUsCisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zZXJ2aWNlID0gdXRpbF9tZW1kdXAo c3J2Y19pZCwgc2l6ZW9mKCpzcnZjX2lkKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zcnZj X2hhbmRsZSA9IHV0aWxfbWVtZHVwKCZzcnZjX2hhbmRsZSwKKyAJCQkJCQkJc2l6ZW9mKHNydmNf aGFuZGxlKSk7CisgCisgCXNjaGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsKK0BA IC0xODQ0LDkgKzE4NTEsOSBAQCBzdGF0aWMgdm9pZCBnYXR0c19pbmNsdWRlZF9zZXJ2aWNlX2Fk ZGVkX2NiKGludCBzdGF0dXMsIGludCBzZXJ2ZXJfaWYsCisgCisgCXN0ZXAtPmNhbGxiYWNrX3Jl c3VsdC5zdGF0dXMgPSBzdGF0dXM7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5nYXR0X2FwcF9p ZCA9IHNlcnZlcl9pZjsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNydmNfaGFuZGxlID0gZ19t ZW1kdXAoJnNydmNfaGFuZGxlLAorKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2Y19oYW5kbGUg PSB1dGlsX21lbWR1cCgmc3J2Y19oYW5kbGUsCisgCQkJCQkJCXNpemVvZihzcnZjX2hhbmRsZSkp OworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuaW5jX3NydmNfaGFuZGxlID0gZ19tZW1kdXAoJmlu Y19zcnZjX2hhbmRsZSwKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmluY19zcnZjX2hhbmRsZSA9 IHV0aWxfbWVtZHVwKCZpbmNfc3J2Y19oYW5kbGUsCisgCQkJCQkJc2l6ZW9mKGluY19zcnZjX2hh bmRsZSkpOworIAorIAlzY2hlZHVsZV9jYWxsYmFja192ZXJpZmljYXRpb24oc3RlcCk7CitAQCAt MTg2MywxMCArMTg3MCwxMCBAQCBzdGF0aWMgdm9pZCBnYXR0c19jaGFyYWN0ZXJpc3RpY19hZGRl ZF9jYihpbnQgc3RhdHVzLCBpbnQgc2VydmVyX2lmLAorIAorIAlzdGVwLT5jYWxsYmFja19yZXN1 bHQuc3RhdHVzID0gc3RhdHVzOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuZ2F0dF9hcHBfaWQg PSBzZXJ2ZXJfaWY7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zcnZjX2hhbmRsZSA9IGdfbWVt ZHVwKCZzcnZjX2hhbmRsZSwKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNydmNfaGFuZGxlID0g dXRpbF9tZW1kdXAoJnNydmNfaGFuZGxlLAorIAkJCQkJCQlzaXplb2Yoc3J2Y19oYW5kbGUpKTsK Ky0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnV1aWQgPSBnX21lbWR1cCh1dWlkLCBzaXplb2YoKnV1 aWQpKTsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmNoYXJfaGFuZGxlID0gZ19tZW1kdXAoJmNo YXJfaGFuZGxlLAorKwlzdGVwLT5jYWxsYmFja19yZXN1bHQudXVpZCA9IHV0aWxfbWVtZHVwKHV1 aWQsIHNpemVvZigqdXVpZCkpOworKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuY2hhcl9oYW5kbGUg PSB1dGlsX21lbWR1cCgmY2hhcl9oYW5kbGUsCisgCQkJCQkJCXNpemVvZihjaGFyX2hhbmRsZSkp OworIAorIAlzY2hlZHVsZV9jYWxsYmFja192ZXJpZmljYXRpb24oc3RlcCk7CitAQCAtMTg4Mywx MCArMTg5MCwxMCBAQCBzdGF0aWMgdm9pZCBnYXR0c19kZXNjcmlwdG9yX2FkZGVkX2NiKGludCBz dGF0dXMsIGludCBzZXJ2ZXJfaWYsCisgCisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zdGF0dXMg PSBzdGF0dXM7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5nYXR0X2FwcF9pZCA9IHNlcnZlcl9p ZjsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNydmNfaGFuZGxlID0gZ19tZW1kdXAoJnNydmNf aGFuZGxlLAorKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2Y19oYW5kbGUgPSB1dGlsX21lbWR1 cCgmc3J2Y19oYW5kbGUsCisgCQkJCQkJCXNpemVvZihzcnZjX2hhbmRsZSkpOworLQlzdGVwLT5j YWxsYmFja19yZXN1bHQudXVpZCA9IGdfbWVtZHVwKHV1aWQsIHNpemVvZigqdXVpZCkpOworLQlz dGVwLT5jYWxsYmFja19yZXN1bHQuZGVzY19oYW5kbGUgPSBnX21lbWR1cCgmZGVzY19oYW5kbGUs CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC51dWlkID0gdXRpbF9tZW1kdXAodXVpZCwgc2l6ZW9m KCp1dWlkKSk7CisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5kZXNjX2hhbmRsZSA9IHV0aWxfbWVt ZHVwKCZkZXNjX2hhbmRsZSwKKyAJCQkJCQkJc2l6ZW9mKGRlc2NfaGFuZGxlKSk7CisgCisgCXNj aGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsKK0BAIC0xOTAwLDcgKzE5MDcsNyBA QCBzdGF0aWMgdm9pZCBnYXR0c19zZXJ2aWNlX3N0YXJ0ZWRfY2IoaW50IHN0YXR1cywgaW50IHNl cnZlcl9pZiwgaW50IHNydmNfaGFuZGxlKQorIAorIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3Rh dHVzID0gc3RhdHVzOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQuZ2F0dF9hcHBfaWQgPSBzZXJ2 ZXJfaWY7CistCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zcnZjX2hhbmRsZSA9IGdfbWVtZHVwKCZz cnZjX2hhbmRsZSwKKysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNydmNfaGFuZGxlID0gdXRpbF9t ZW1kdXAoJnNydmNfaGFuZGxlLAorIAkJCQkJCQlzaXplb2Yoc3J2Y19oYW5kbGUpKTsKKyAKKyAJ c2NoZWR1bGVfY2FsbGJhY2tfdmVyaWZpY2F0aW9uKHN0ZXApOworQEAgLTE5MTQsNyArMTkyMSw3 IEBAIHN0YXRpYyB2b2lkIGdhdHRzX3NlcnZpY2Vfc3RvcHBlZF9jYihpbnQgc3RhdHVzLCBpbnQg c2VydmVyX2lmLCBpbnQgc3J2Y19oYW5kbGUpCisgCisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5z dGF0dXMgPSBzdGF0dXM7CisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5nYXR0X2FwcF9pZCA9IHNl cnZlcl9pZjsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnNydmNfaGFuZGxlID0gZ19tZW1kdXAo JnNydmNfaGFuZGxlLAorKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2Y19oYW5kbGUgPSB1dGls X21lbWR1cCgmc3J2Y19oYW5kbGUsCisgCQkJCQkJCXNpemVvZihzcnZjX2hhbmRsZSkpOworIAor IAlzY2hlZHVsZV9jYWxsYmFja192ZXJpZmljYXRpb24oc3RlcCk7CitAQCAtMTkyOCw3ICsxOTM1 LDcgQEAgc3RhdGljIHZvaWQgZ2F0dHNfc2VydmljZV9kZWxldGVkX2NiKGludCBzdGF0dXMsIGlu dCBzZXJ2ZXJfaWYsIGludCBzcnZjX2hhbmRsZSkKKyAKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0 LnN0YXR1cyA9IHN0YXR1czsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmdhdHRfYXBwX2lkID0g c2VydmVyX2lmOworLQlzdGVwLT5jYWxsYmFja19yZXN1bHQuc3J2Y19oYW5kbGUgPSBnX21lbWR1 cCgmc3J2Y19oYW5kbGUsCisrCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5zcnZjX2hhbmRsZSA9IHV0 aWxfbWVtZHVwKCZzcnZjX2hhbmRsZSwKKyAJCQkJCQkJc2l6ZW9mKHNydmNfaGFuZGxlKSk7Cisg CisgCXNjaGVkdWxlX2NhbGxiYWNrX3ZlcmlmaWNhdGlvbihzdGVwKTsKK0BAIC0xOTQ1LDcgKzE5 NTIsNyBAQCBzdGF0aWMgdm9pZCBnYXR0c19yZXF1ZXN0X3JlYWRfY2IoaW50IGNvbm5faWQsIGlu dCB0cmFuc19pZCwgYnRfYmRhZGRyX3QgKmJkYSwKKyAKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0 LmNvbm5faWQgPSBjb25uX2lkOworIAlzdGVwLT5jYWxsYmFja19yZXN1bHQudHJhbnNfaWQgPSB0 cmFuc19pZDsKKy0Jc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmF0dHJfaGFuZGxlID0gZ19tZW1kdXAo JmF0dHJfaGFuZGxlLAorKwlzdGVwLT5jYWxsYmFja19yZXN1bHQuYXR0cl9oYW5kbGUgPSB1dGls X21lbWR1cCgmYXR0cl9oYW5kbGUsCisgCQkJCQkJCXNpemVvZihhdHRyX2hhbmRsZSkpOworIAlz dGVwLT5jYWxsYmFja19yZXN1bHQub2Zmc2V0ID0gb2Zmc2V0OworIAlzdGVwLT5jYWxsYmFja19y ZXN1bHQuaXNfbG9uZyA9IGlzX2xvbmc7CitAQCAtMTk3NCwxMyArMTk4MSwxMyBAQCBzdGF0aWMg dm9pZCBnYXR0c19yZXF1ZXN0X3dyaXRlX2NiKGludCBjb25uX2lkLCBpbnQgdHJhbnNfaWQsIGJ0 X2JkYWRkcl90ICpiZGEsCisgCisgCXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5jb25uX2lkID0gY29u bl9pZDsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LnRyYW5zX2lkID0gdHJhbnNfaWQ7CistCXN0 ZXAtPmNhbGxiYWNrX3Jlc3VsdC5hdHRyX2hhbmRsZSA9IGdfbWVtZHVwKCZhdHRyX2hhbmRsZSwK KysJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0LmF0dHJfaGFuZGxlID0gdXRpbF9tZW1kdXAoJmF0dHJf aGFuZGxlLAorIAkJCQkJCQlzaXplb2YoYXR0cl9oYW5kbGUpKTsKKyAJc3RlcC0+Y2FsbGJhY2tf cmVzdWx0Lm9mZnNldCA9IG9mZnNldDsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0Lmxlbmd0aCA9 IGxlbmd0aDsKKyAJc3RlcC0+Y2FsbGJhY2tfcmVzdWx0Lm5lZWRfcnNwID0gbmVlZF9yc3A7Cisg CXN0ZXAtPmNhbGxiYWNrX3Jlc3VsdC5pc19wcmVwID0gaXNfcHJlcDsKKy0Jc3RlcC0+Y2FsbGJh Y2tfcmVzdWx0LnZhbHVlID0gZ19tZW1kdXAoJnZhbHVlLCBsZW5ndGgpOworKwlzdGVwLT5jYWxs YmFja19yZXN1bHQudmFsdWUgPSB1dGlsX21lbWR1cCgmdmFsdWUsIGxlbmd0aCk7CisgCisgCS8q IFV0aWxpemUgcHJvcGVydHkgdmVyaWZpY2F0aW9uIG1lY2hhbmlzbSBmb3IgYmRhZGRyICovCisg CXByb3BzWzBdID0gY3JlYXRlX3Byb3BlcnR5KEJUX1BST1BFUlRZX0JEQUREUiwgYmRhLCBzaXpl b2YoKmJkYSkpOworQEAgLTIxNjksNyArMjE3Niw3IEBAIHN0YXRpYyBidG1jZV9tYXNfaW5zdGFu Y2VfdCAqY29weV9tYXNfaW5zdGFuY2VzKGludCBudW1faW5zdGFuY2VzLAorIAkJaW5zdFtpXS5p ZCA9IGluc3RhbmNlc1tpXS5pZDsKKyAJCWluc3RbaV0uc2NuID0gaW5zdGFuY2VzW2ldLnNjbjsK KyAJCWluc3RbaV0ubXNnX3R5cGVzID0gaW5zdGFuY2VzW2ldLm1zZ190eXBlczsKKy0JCWluc3Rb aV0ucF9uYW1lID0gZ19tZW1kdXAoaW5zdGFuY2VzW2ldLnBfbmFtZSwKKysJCWluc3RbaV0ucF9u YW1lID0gdXRpbF9tZW1kdXAoaW5zdGFuY2VzW2ldLnBfbmFtZSwKKyAJCQkJCQlzdHJsZW4oaW5z dGFuY2VzW2ldLnBfbmFtZSkpOworIAl9CisgCitkaWZmIC0tZ2l0IGEvYXR0cmliL2dhdHQuYyBi L2F0dHJpYi9nYXR0LmMKK2luZGV4IDQ2YjJjYTM4MS4uYjQ5NmRkMWViIDEwMDY0NAorLS0tIGEv YXR0cmliL2dhdHQuYworKysrIGIvYXR0cmliL2dhdHQuYworQEAgLTEzNSw3ICsxMzUsNyBAQCBz dGF0aWMgdm9pZCBkaXNjb3Zlcl9jaGFyX3VucmVmKHZvaWQgKmRhdGEpCisgCisgCWdfc2xpc3Rf ZnJlZV9mdWxsKGRjLT5jaGFyYWN0ZXJpc3RpY3MsIGdfZnJlZSk7CisgCWdfYXR0cmliX3VucmVm KGRjLT5hdHRyaWIpOworLQlnX2ZyZWUoZGMtPnV1aWQpOworKwlmcmVlKGRjLT51dWlkKTsKKyAJ Z19mcmVlKGRjKTsKKyB9CisgCitAQCAtMTU3LDcgKzE1Nyw3IEBAIHN0YXRpYyB2b2lkIGRpc2Nv dmVyX2Rlc2NfdW5yZWYodm9pZCAqZGF0YSkKKyAKKyAJZ19zbGlzdF9mcmVlX2Z1bGwoZGQtPmRl c2NyaXB0b3JzLCBnX2ZyZWUpOworIAlnX2F0dHJpYl91bnJlZihkZC0+YXR0cmliKTsKKy0JZ19m cmVlKGRkLT51dWlkKTsKKysJZnJlZShkZC0+dXVpZCk7CisgCWdfZnJlZShkZCk7CisgfQorIAor QEAgLTY5Niw3ICs2OTYsNyBAQCBndWludCBnYXR0X2Rpc2NvdmVyX2NoYXIoR0F0dHJpYiAqYXR0 cmliLCB1aW50MTZfdCBzdGFydCwgdWludDE2X3QgZW5kLAorIAlkYy0+dXNlcl9kYXRhID0gdXNl cl9kYXRhOworIAlkYy0+ZW5kID0gZW5kOworIAlkYy0+c3RhcnQgPSBzdGFydDsKKy0JZGMtPnV1 aWQgPSBnX21lbWR1cCh1dWlkLCBzaXplb2YoYnRfdXVpZF90KSk7CisrCWRjLT51dWlkID0gdXRp bF9tZW1kdXAodXVpZCwgc2l6ZW9mKGJ0X3V1aWRfdCkpOworIAorIAlkYy0+aWQgPSBnX2F0dHJp Yl9zZW5kKGF0dHJpYiwgMCwgYnVmLCBwbGVuLCBjaGFyX2Rpc2NvdmVyZWRfY2IsCisgCQkJCWRp c2NvdmVyX2NoYXJfcmVmKGRjKSwgZGlzY292ZXJfY2hhcl91bnJlZik7CitAQCAtOTA1LDcgKzkw NSw3IEBAIHN0YXRpYyB2b2lkIHByZXBhcmVfd3JpdGVfY2IoZ3VpbnQ4IHN0YXR1cywgY29uc3Qg Z3VpbnQ4ICpycGR1LCBndWludDE2IHJsZW4sCisgCWlmIChsb25nX3dyaXRlLT5vZmZzZXQgPT0g bG9uZ193cml0ZS0+dmxlbikgeworIAkJZXhlY3V0ZV93cml0ZShsb25nX3dyaXRlLT5hdHRyaWIs IEFUVF9XUklURV9BTExfUFJFUF9XUklURVMsCisgCQkJCWxvbmdfd3JpdGUtPmZ1bmMsIGxvbmdf d3JpdGUtPnVzZXJfZGF0YSk7CistCQlnX2ZyZWUobG9uZ193cml0ZS0+dmFsdWUpOworKwkJZnJl ZShsb25nX3dyaXRlLT52YWx1ZSk7CisgCQlnX2ZyZWUobG9uZ193cml0ZSk7CisgCisgCQlyZXR1 cm47CitAQCAtOTY0LDcgKzk2NCw3IEBAIGd1aW50IGdhdHRfd3JpdGVfY2hhcihHQXR0cmliICph dHRyaWIsIHVpbnQxNl90IGhhbmRsZSwgY29uc3QgdWludDhfdCAqdmFsdWUsCisgCWxvbmdfd3Jp dGUtPmZ1bmMgPSBmdW5jOworIAlsb25nX3dyaXRlLT51c2VyX2RhdGEgPSB1c2VyX2RhdGE7Cisg CWxvbmdfd3JpdGUtPmhhbmRsZSA9IGhhbmRsZTsKKy0JbG9uZ193cml0ZS0+dmFsdWUgPSBnX21l bWR1cCh2YWx1ZSwgdmxlbik7CisrCWxvbmdfd3JpdGUtPnZhbHVlID0gdXRpbF9tZW1kdXAodmFs dWUsIHZsZW4pOworIAlsb25nX3dyaXRlLT52bGVuID0gdmxlbjsKKyAKKyAJcmV0dXJuIHByZXBh cmVfd3JpdGUobG9uZ193cml0ZSk7CitAQCAtMTEzMCw3ICsxMTMwLDcgQEAgZ3VpbnQgZ2F0dF9k aXNjb3Zlcl9kZXNjKEdBdHRyaWIgKmF0dHJpYiwgdWludDE2X3Qgc3RhcnQsIHVpbnQxNl90IGVu ZCwKKyAJZGQtPnVzZXJfZGF0YSA9IHVzZXJfZGF0YTsKKyAJZGQtPnN0YXJ0ID0gc3RhcnQ7Cisg CWRkLT5lbmQgPSBlbmQ7CistCWRkLT51dWlkID0gZ19tZW1kdXAodXVpZCwgc2l6ZW9mKGJ0X3V1 aWRfdCkpOworKwlkZC0+dXVpZCA9IHV0aWxfbWVtZHVwKHV1aWQsIHNpemVvZihidF91dWlkX3Qp KTsKKyAKKyAJZGQtPmlkID0gZ19hdHRyaWJfc2VuZChhdHRyaWIsIDAsIGJ1ZiwgcGxlbiwgZGVz Y19kaXNjb3ZlcmVkX2NiLAorIAkJCQlkaXNjb3Zlcl9kZXNjX3JlZihkZCksIGRpc2NvdmVyX2Rl c2NfdW5yZWYpOworZGlmZiAtLWdpdCBhL2NsaWVudC9nYXR0LmMgYi9jbGllbnQvZ2F0dC5jCitp bmRleCAxMWY3MGRjNGYuLjEzODcyYzc5NCAxMDA2NDQKKy0tLSBhL2NsaWVudC9nYXR0LmMKKysr KyBiL2NsaWVudC9nYXR0LmMKK0BAIC04MTEsNyArODExLDcgQEAgc3RhdGljIHVpbnQ4X3QgKnN0 cjJieXRlYXJyYXkoY2hhciAqYXJnLCBzaXplX3QgKnZhbF9sZW4pCisgCisgCSp2YWxfbGVuID0g aTsKKyAKKy0JcmV0dXJuIGdfbWVtZHVwKHZhbHVlLCBpKTsKKysJcmV0dXJuIHV0aWxfbWVtZHVw KHZhbHVlLCBpKTsKKyB9CisgCisgdm9pZCBnYXR0X3dyaXRlX2F0dHJpYnV0ZShHREJ1c1Byb3h5 ICpwcm94eSwgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK2RpZmYgLS1naXQgYS9nb2JleC9nb2Jl eC1oZWFkZXIuYyBiL2dvYmV4L2dvYmV4LWhlYWRlci5jCitpbmRleCAwMTFkMzNkMWEuLjAwMmJh ODg2MSAxMDA2NDQKKy0tLSBhL2dvYmV4L2dvYmV4LWhlYWRlci5jCisrKysgYi9nb2JleC9nb2Jl eC1oZWFkZXIuYworQEAgLTE1LDYgKzE1LDcgQEAKKyAKKyAjaW5jbHVkZSAiZ29iZXgtaGVhZGVy LmgiCisgI2luY2x1ZGUgImdvYmV4LWRlYnVnLmgiCisrI2luY2x1ZGUgInNyYy9zaGFyZWQvdXRp bC5oIgorIAorIC8qIEhlYWRlciB0eXBlcyAqLworICNkZWZpbmUgR19PQkVYX0hEUl9FTkNfVU5J Q09ERQkoMCA8PCA2KQorQEAgLTIyMiw3ICsyMjMsNyBAQCBHT2JleEhlYWRlciAqZ19vYmV4X2hl YWRlcl9kZWNvZGUoY29uc3Qgdm9pZCAqZGF0YSwgZ3NpemUgbGVuLAorIAorIAkJc3dpdGNoIChk YXRhX3BvbGljeSkgeworIAkJY2FzZSBHX09CRVhfREFUQV9DT1BZOgorLQkJCWhlYWRlci0+di5k YXRhID0gZ19tZW1kdXAocHRyLCBoZWFkZXItPnZsZW4pOworKwkJCWhlYWRlci0+di5kYXRhID0g dXRpbF9tZW1kdXAocHRyLCBoZWFkZXItPnZsZW4pOworIAkJCWJyZWFrOworIAkJY2FzZSBHX09C RVhfREFUQV9SRUY6CisgCQkJaGVhZGVyLT5leHRkYXRhID0gVFJVRTsKK0BAIC0yODIsNyArMjgz LDcgQEAgdm9pZCBnX29iZXhfaGVhZGVyX2ZyZWUoR09iZXhIZWFkZXIgKmhlYWRlcikKKyAJCWJy ZWFrOworIAljYXNlIEdfT0JFWF9IRFJfRU5DX0JZVEVTOgorIAkJaWYgKCFoZWFkZXItPmV4dGRh dGEpCistCQkJZ19mcmVlKGhlYWRlci0+di5kYXRhKTsKKysJCQlmcmVlKGhlYWRlci0+di5kYXRh KTsKKyAJCWJyZWFrOworIAljYXNlIEdfT0JFWF9IRFJfRU5DX1VJTlQ4OgorIAljYXNlIEdfT0JF WF9IRFJfRU5DX1VJTlQzMjoKK0BAIC00MTAsNyArNDExLDcgQEAgR09iZXhIZWFkZXIgKmdfb2Jl eF9oZWFkZXJfbmV3X2J5dGVzKGd1aW50OCBpZCwgY29uc3Qgdm9pZCAqZGF0YSwgZ3NpemUgbGVu KQorIAloZWFkZXItPmlkID0gaWQ7CisgCWhlYWRlci0+dmxlbiA9IGxlbjsKKyAJaGVhZGVyLT5o bGVuID0gbGVuICsgMzsKKy0JaGVhZGVyLT52LmRhdGEgPSBnX21lbWR1cChkYXRhLCBsZW4pOwor KwloZWFkZXItPnYuZGF0YSA9IHV0aWxfbWVtZHVwKGRhdGEsIGxlbik7CisgCisgCXJldHVybiBo ZWFkZXI7CisgfQorZGlmZiAtLWdpdCBhL2dvYmV4L2dvYmV4LXBhY2tldC5jIGIvZ29iZXgvZ29i ZXgtcGFja2V0LmMKK2luZGV4IDExOTM3YTVhNS4uOGFlNzhiMGY2IDEwMDY0NAorLS0tIGEvZ29i ZXgvZ29iZXgtcGFja2V0LmMKKysrKyBiL2dvYmV4L2dvYmV4LXBhY2tldC5jCitAQCAtMTcsNiAr MTcsNyBAQAorICNpbmNsdWRlICJnb2JleC1kZWZzLmgiCisgI2luY2x1ZGUgImdvYmV4LXBhY2tl dC5oIgorICNpbmNsdWRlICJnb2JleC1kZWJ1Zy5oIgorKyNpbmNsdWRlICJzcmMvc2hhcmVkL3V0 aWwuaCIKKyAKKyAjZGVmaW5lIEZJTkFMX0JJVCAweDgwCisgCitAQCAtMjAxLDcgKzIwMiw3IEBA IGdib29sZWFuIGdfb2JleF9wYWNrZXRfc2V0X2RhdGEoR09iZXhQYWNrZXQgKnBrdCwgY29uc3Qg dm9pZCAqZGF0YSwgZ3NpemUgbGVuLAorIAorIAlzd2l0Y2ggKGRhdGFfcG9saWN5KSB7CisgCWNh c2UgR19PQkVYX0RBVEFfQ09QWToKKy0JCXBrdC0+ZGF0YS5idWYgPSBnX21lbWR1cChkYXRhLCBs ZW4pOworKwkJcGt0LT5kYXRhLmJ1ZiA9IHV0aWxfbWVtZHVwKGRhdGEsIGxlbik7CisgCQlicmVh azsKKyAJY2FzZSBHX09CRVhfREFUQV9SRUY6CisgCQlwa3QtPmRhdGEuYnVmX3JlZiA9IGRhdGE7 CitAQCAtMjU5LDcgKzI2MCw3IEBAIHZvaWQgZ19vYmV4X3BhY2tldF9mcmVlKEdPYmV4UGFja2V0 ICpwa3QpCisgCXN3aXRjaCAocGt0LT5kYXRhX3BvbGljeSkgeworIAljYXNlIEdfT0JFWF9EQVRB X0lOSEVSSVQ6CisgCWNhc2UgR19PQkVYX0RBVEFfQ09QWToKKy0JCWdfZnJlZShwa3QtPmRhdGEu YnVmKTsKKysJCWZyZWUocGt0LT5kYXRhLmJ1Zik7CisgCQlicmVhazsKKyAJY2FzZSBHX09CRVhf REFUQV9SRUY6CisgCQlicmVhazsKK2RpZmYgLS1naXQgYS9vYmV4ZC9zcmMvb2JleC5jIGIvb2Jl eGQvc3JjL29iZXguYworaW5kZXggOWY5OTJlYzE4Li4zYTY4ZmQ2NmMgMTAwNjQ0CistLS0gYS9v YmV4ZC9zcmMvb2JleC5jCisrKysgYi9vYmV4ZC9zcmMvb2JleC5jCitAQCAtNDAsNiArNDAsNyBA QAorICNpbmNsdWRlICJtaW1ldHlwZS5oIgorICNpbmNsdWRlICJzZXJ2aWNlLmgiCisgI2luY2x1 ZGUgInRyYW5zcG9ydC5oIgorKyNpbmNsdWRlICJzcmMvc2hhcmVkL3V0aWwuaCIKKyAKKyB0eXBl ZGVmIHN0cnVjdCB7CisgCXVpbnQ4X3QgIHZlcnNpb247CitAQCAtMTQ1LDcgKzE0Niw3IEBAIHN0 YXRpYyB2b2lkIG9zX3Jlc2V0X3Nlc3Npb24oc3RydWN0IG9iZXhfc2Vzc2lvbiAqb3MpCisgCQlv cy0+cGF0aCA9IE5VTEw7CisgCX0KKyAJaWYgKG9zLT5hcHBhcmFtKSB7CistCQlnX2ZyZWUob3Mt PmFwcGFyYW0pOworKwkJZnJlZShvcy0+YXBwYXJhbSk7CisgCQlvcy0+YXBwYXJhbSA9IE5VTEw7 CisgCQlvcy0+YXBwYXJhbV9sZW4gPSAwOworIAl9CitAQCAtNTk0LDcgKzU5NSw3IEBAIHN0YXRp YyB2b2lkIHBhcnNlX2FwcGFyYW0oc3RydWN0IG9iZXhfc2Vzc2lvbiAqb3MsIEdPYmV4UGFja2V0 ICpyZXEpCisgCWlmICghZ19vYmV4X2hlYWRlcl9nZXRfYnl0ZXMoaGRyLCAmYXBwYXJhbSwgJmxl bikpCisgCQlyZXR1cm47CisgCistCW9zLT5hcHBhcmFtID0gZ19tZW1kdXAoYXBwYXJhbSwgbGVu KTsKKysJb3MtPmFwcGFyYW0gPSB1dGlsX21lbWR1cChhcHBhcmFtLCBsZW4pOworIAlvcy0+YXBw YXJhbV9sZW4gPSBsZW47CisgCURCRygiQVBQQVJBTSIpOworIH0KK2RpZmYgLS1naXQgYS9wbHVn aW5zL25lYXJkLmMgYi9wbHVnaW5zL25lYXJkLmMKK2luZGV4IGUwN2I1MTEwNi4uYTc1NTI3MTQ4 IDEwMDY0NAorLS0tIGEvcGx1Z2lucy9uZWFyZC5jCisrKysgYi9wbHVnaW5zL25lYXJkLmMKK0BA IC0zMCw2ICszMCw3IEBACisgI2luY2x1ZGUgInNyYy9laXIuaCIKKyAjaW5jbHVkZSAic3JjL2Fn ZW50LmgiCisgI2luY2x1ZGUgInNyYy9idGQuaCIKKysjaW5jbHVkZSAic3JjL3NoYXJlZC91dGls LmgiCisgCisgI2RlZmluZSBORUFSRF9OQU1FICJvcmcubmVhcmQiCisgI2RlZmluZSBORUFSRF9Q QVRIICIvIgorQEAgLTcxLDcgKzcyLDcgQEAgc3RhdGljIHZvaWQgZnJlZV9vb2JfcGFyYW1zKHN0 cnVjdCBvb2JfcGFyYW1zICpwYXJhbXMpCisgCWdfZnJlZShwYXJhbXMtPm5hbWUpOworIAlnX2Zy ZWUocGFyYW1zLT5oYXNoKTsKKyAJZ19mcmVlKHBhcmFtcy0+cmFuZG9taXplcik7CistCWdfZnJl ZShwYXJhbXMtPnBpbik7CisrCWZyZWUocGFyYW1zLT5waW4pOworIH0KKyAKKyBzdGF0aWMgREJ1 c01lc3NhZ2UgKmVycm9yX3JlcGx5KERCdXNNZXNzYWdlICptc2csIGludCBlcnJvcikKK0BAIC00 MDcsMTAgKzQwOCwxMCBAQCBzdGF0aWMgaW50IHByb2Nlc3Nfbm9raWFfbG9uZyAodm9pZCAqZGF0 YSwgc2l6ZV90IHNpemUsIHVpbnQ4X3QgbWFya2VyLAorIAkJcmVtb3RlLT5uYW1lID0gZ19zdHJu ZHVwKChjaGFyICopbi0+bmFtZSwgbi0+bmFtZV9sZW4pOworIAorIAlpZiAobWFya2VyID09IDB4 MDEpIHsKKy0JCXJlbW90ZS0+cGluID0gZ19tZW1kdXAobi0+YXV0aGVudGljYXRpb24sIDQpOwor KwkJcmVtb3RlLT5waW4gPSB1dGlsX21lbWR1cChuLT5hdXRoZW50aWNhdGlvbiwgNCk7CisgCQly ZW1vdGUtPnBpbl9sZW4gPSA0OworIAl9IGVsc2UgaWYgKG1hcmtlciA9PSAweDAyKSB7CistCQly ZW1vdGUtPnBpbiA9IGdfbWVtZHVwKG4tPmF1dGhlbnRpY2F0aW9uLCAxNik7CisrCQlyZW1vdGUt PnBpbiA9IHV0aWxfbWVtZHVwKG4tPmF1dGhlbnRpY2F0aW9uLCAxNik7CisgCQlyZW1vdGUtPnBp bl9sZW4gPSAxNjsKKyAJfQorIAorQEAgLTQzOSw3ICs0NDAsNyBAQCBzdGF0aWMgaW50IHByb2Nl c3Nfbm9raWFfc2hvcnQgKHZvaWQgKmRhdGEsIHNpemVfdCBzaXplLAorIAlpZiAobi0+bmFtZV9s ZW4gPiAwKQorIAkJcmVtb3RlLT5uYW1lID0gZ19zdHJuZHVwKChjaGFyICopbi0+bmFtZSwgbi0+ bmFtZV9sZW4pOworIAorLQlyZW1vdGUtPnBpbiA9IGdfbWVtZHVwKG4tPmF1dGhlbnRpY2F0aW9u LCA0KTsKKysJcmVtb3RlLT5waW4gPSB1dGlsX21lbWR1cChuLT5hdXRoZW50aWNhdGlvbiwgNCk7 CisgCXJlbW90ZS0+cGluX2xlbiA9IDQ7CisgCisgCXJldHVybiAwOworZGlmZiAtLWdpdCBhL3Bs dWdpbnMvcG9saWN5LmMgYi9wbHVnaW5zL3BvbGljeS5jCitpbmRleCAwNTFkYjgyZTEuLjQ4ZjVk YjdkMyAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvcG9saWN5LmMKKysrKyBiL3BsdWdpbnMvcG9saWN5 LmMKK0BAIC0zMiw2ICszMiw3IEBACisgI2luY2x1ZGUgInNyYy9wcm9maWxlLmgiCisgI2luY2x1 ZGUgInNyYy9idGQuaCIKKyAjaW5jbHVkZSAic3JjL3NoYXJlZC90aW1lb3V0LmgiCisrI2luY2x1 ZGUgInNyYy9zaGFyZWQvdXRpbC5oIgorIAorICNkZWZpbmUgQ09OVFJPTF9DT05ORUNUX1RJTUVP VVQgMgorICNkZWZpbmUgU09VUkNFX1JFVFJZX1RJTUVPVVQgMgorQEAgLTg1NSw3ICs4NTYsNyBA QCBzdGF0aWMgaW50IHBvbGljeV9pbml0KHZvaWQpCisgCQlyZWNvbm5lY3RfYXR0ZW1wdHMgPSBk ZWZhdWx0X2F0dGVtcHRzOworIAkJcmVjb25uZWN0X2ludGVydmFsc19sZW4gPSBzaXplb2YoZGVm YXVsdF9pbnRlcnZhbHMpIC8KKyAJCQkJCQlzaXplb2YoKnJlY29ubmVjdF9pbnRlcnZhbHMpOwor LQkJcmVjb25uZWN0X2ludGVydmFscyA9IGdfbWVtZHVwKGRlZmF1bHRfaW50ZXJ2YWxzLAorKwkJ cmVjb25uZWN0X2ludGVydmFscyA9IHV0aWxfbWVtZHVwKGRlZmF1bHRfaW50ZXJ2YWxzLAorIAkJ CQkJCXNpemVvZihkZWZhdWx0X2ludGVydmFscykpOworIAkJZ290byBkb25lOworIAl9CitAQCAt ODg2LDcgKzg4Nyw3IEBAIHN0YXRpYyBpbnQgcG9saWN5X2luaXQodm9pZCkKKyAJCWdfY2xlYXJf ZXJyb3IoJmdlcnIpOworIAkJcmVjb25uZWN0X2ludGVydmFsc19sZW4gPSBzaXplb2YoZGVmYXVs dF9pbnRlcnZhbHMpIC8KKyAJCQkJCQlzaXplb2YoKnJlY29ubmVjdF9pbnRlcnZhbHMpOworLQkJ cmVjb25uZWN0X2ludGVydmFscyA9IGdfbWVtZHVwKGRlZmF1bHRfaW50ZXJ2YWxzLAorKwkJcmVj b25uZWN0X2ludGVydmFscyA9IHV0aWxfbWVtZHVwKGRlZmF1bHRfaW50ZXJ2YWxzLAorIAkJCQkJ CXNpemVvZihkZWZhdWx0X2ludGVydmFscykpOworIAl9CisgCitAQCAtOTE5LDcgKzkyMCw3IEBA IHN0YXRpYyB2b2lkIHBvbGljeV9leGl0KHZvaWQpCisgCWlmIChyZWNvbm5lY3RfdXVpZHMpCisg CQlnX3N0cmZyZWV2KHJlY29ubmVjdF91dWlkcyk7CisgCistCWdfZnJlZShyZWNvbm5lY3RfaW50 ZXJ2YWxzKTsKKysJZnJlZShyZWNvbm5lY3RfaW50ZXJ2YWxzKTsKKyAKKyAJZ19zbGlzdF9mcmVl X2Z1bGwocmVjb25uZWN0cywgcmVjb25uZWN0X2Rlc3Ryb3kpOworIAorZGlmZiAtLWdpdCBhL3By b2ZpbGVzL2F1ZGlvL2F2Y3RwLmMgYi9wcm9maWxlcy9hdWRpby9hdmN0cC5jCitpbmRleCA2NGQx YTg1MDQuLjZmNjRmMTYyYiAxMDA2NDQKKy0tLSBhL3Byb2ZpbGVzL2F1ZGlvL2F2Y3RwLmMKKysr KyBiL3Byb2ZpbGVzL2F1ZGlvL2F2Y3RwLmMKK0BAIC00MCw2ICs0MCw3IEBACisgI2luY2x1ZGUg InNyYy9sb2cuaCIKKyAjaW5jbHVkZSAic3JjL2Vycm9yLmgiCisgI2luY2x1ZGUgInNyYy9zaGFy ZWQvdGltZW91dC5oIgorKyNpbmNsdWRlICJzcmMvc2hhcmVkL3V0aWwuaCIKKyAKKyAjaW5jbHVk ZSAiYXZjdHAuaCIKKyAjaW5jbHVkZSAiYXZyY3AuaCIKK0BAIC03NjAsNyArNzYxLDcgQEAgc3Rh dGljIHZvaWQgY29udHJvbF9yZXFfZGVzdHJveSh2b2lkICpkYXRhKQorIAkJCQkJCU5VTEwsIDAs IHJlcS0+dXNlcl9kYXRhKTsKKyAKKyBkb25lOgorLQlnX2ZyZWUocmVxLT5vcGVyYW5kcyk7Cisr CWZyZWUocmVxLT5vcGVyYW5kcyk7CisgCWdfZnJlZShyZXEpOworIH0KKyAKK0BAIC03NzYsNyAr Nzc3LDcgQEAgc3RhdGljIHZvaWQgYnJvd3NpbmdfcmVxX2Rlc3Ryb3kodm9pZCAqZGF0YSkKKyAJ cmVxLT5mdW5jKHNlc3Npb24sIE5VTEwsIDAsIHJlcS0+dXNlcl9kYXRhKTsKKyAKKyBkb25lOgor LQlnX2ZyZWUocmVxLT5vcGVyYW5kcyk7CisrCWZyZWUocmVxLT5vcGVyYW5kcyk7CisgCWdfZnJl ZShyZXEpOworIH0KKyAKK0BAIC0xNzI3LDcgKzE3MjgsNyBAQCBzdGF0aWMgaW50IGF2Y3RwX3Nl bmRfcmVxKHN0cnVjdCBhdmN0cCAqc2Vzc2lvbiwgdWludDhfdCBjb2RlLAorIAlyZXEtPnN1YnVu aXQgPSBzdWJ1bml0OworIAlyZXEtPm9wID0gb3Bjb2RlOworIAlyZXEtPmZ1bmMgPSBmdW5jOwor LQlyZXEtPm9wZXJhbmRzID0gZ19tZW1kdXAob3BlcmFuZHMsIG9wZXJhbmRfY291bnQpOworKwly ZXEtPm9wZXJhbmRzID0gdXRpbF9tZW1kdXAob3BlcmFuZHMsIG9wZXJhbmRfY291bnQpOworIAly ZXEtPm9wZXJhbmRfY291bnQgPSBvcGVyYW5kX2NvdW50OworIAlyZXEtPnVzZXJfZGF0YSA9IHVz ZXJfZGF0YTsKKyAKK0BAIC0xNzY1LDcgKzE3NjYsNyBAQCBpbnQgYXZjdHBfc2VuZF9icm93c2lu Z19yZXEoc3RydWN0IGF2Y3RwICpzZXNzaW9uLAorIAorIAlyZXEgPSBnX25ldzAoc3RydWN0IGF2 Y3RwX2Jyb3dzaW5nX3JlcSwgMSk7CisgCXJlcS0+ZnVuYyA9IGZ1bmM7CistCXJlcS0+b3BlcmFu ZHMgPSBnX21lbWR1cChvcGVyYW5kcywgb3BlcmFuZF9jb3VudCk7CisrCXJlcS0+b3BlcmFuZHMg PSB1dGlsX21lbWR1cChvcGVyYW5kcywgb3BlcmFuZF9jb3VudCk7CisgCXJlcS0+b3BlcmFuZF9j b3VudCA9IG9wZXJhbmRfY291bnQ7CisgCXJlcS0+dXNlcl9kYXRhID0gdXNlcl9kYXRhOworIAor ZGlmZiAtLWdpdCBhL3Byb2ZpbGVzL2F1ZGlvL2F2cmNwLmMgYi9wcm9maWxlcy9hdWRpby9hdnJj cC5jCitpbmRleCA3YzI4MDIwM2MuLmQ0ZTE5ZmZjMCAxMDA2NDQKKy0tLSBhL3Byb2ZpbGVzL2F1 ZGlvL2F2cmNwLmMKKysrKyBiL3Byb2ZpbGVzL2F1ZGlvL2F2cmNwLmMKK0BAIC0xMjk4LDcgKzEy OTgsNyBAQCBzdGF0aWMgdWludDhfdCBhdnJjcF9oYW5kbGVfZ2V0X2N1cnJlbnRfcGxheWVyX3Zh bHVlKHN0cnVjdCBhdnJjcCAqc2Vzc2lvbiwKKyAJICogU2F2ZSBhIGNvcHkgb2YgcmVxdWVzdGVk IHNldHRpbmdzIGJlY2F1c2Ugd2UgY2FuIG92ZXJyaWRlIHRoZW0KKyAJICogd2hpbGUgcmVzcG9u ZGluZworIAkgKi8KKy0Jc2V0dGluZ3MgPSBnX21lbWR1cCgmcGR1LT5wYXJhbXNbMV0sIHBkdS0+ cGFyYW1zWzBdKTsKKysJc2V0dGluZ3MgPSB1dGlsX21lbWR1cCgmcGR1LT5wYXJhbXNbMV0sIHBk dS0+cGFyYW1zWzBdKTsKKyAJbGVuID0gMDsKKyAKKyAJLyoKK0BAIC0xMzIzLDcgKzEzMjMsNyBA QCBzdGF0aWMgdWludDhfdCBhdnJjcF9oYW5kbGVfZ2V0X2N1cnJlbnRfcGxheWVyX3ZhbHVlKHN0 cnVjdCBhdnJjcCAqc2Vzc2lvbiwKKyAJCXBkdS0+cGFyYW1zWysrbGVuXSA9IHZhbDsKKyAJfQor IAorLQlnX2ZyZWUoc2V0dGluZ3MpOworKwlmcmVlKHNldHRpbmdzKTsKKyAKKyAJaWYgKGxlbikg eworIAkJcGR1LT5wYXJhbXNbMF0gPSBsZW4gLyAyOworQEAgLTI4MDEsNyArMjgwMSw3IEBAIHN0 YXRpYyBnYm9vbGVhbiBhdnJjcF9zZXRfYnJvd3NlZF9wbGF5ZXJfcnNwKHN0cnVjdCBhdmN0cCAq Y29ubiwKKyAJCQlicmVhazsKKyAJCX0KKyAKKy0JCWZvbGRlcnNbY291bnRdID0gZ19tZW1kdXAo JnBkdS0+cGFyYW1zW2ldLCBsZW4pOworKwkJZm9sZGVyc1tjb3VudF0gPSB1dGlsX21lbWR1cCgm cGR1LT5wYXJhbXNbaV0sIGxlbik7CisgCQlpICs9IGxlbjsKKyAJfQorIAorQEAgLTI4ODgsNyAr Mjg4OCw3IEBAIHN0YXRpYyB2b2lkIGF2cmNwX3BsYXllcl9wYXJzZV9mZWF0dXJlcyhzdHJ1Y3Qg YXZyY3BfcGxheWVyICpwbGF5ZXIsCisgeworIAlzdHJ1Y3QgbWVkaWFfcGxheWVyICptcCA9IHBs YXllci0+dXNlcl9kYXRhOworIAorLQlwbGF5ZXItPmZlYXR1cmVzID0gZ19tZW1kdXAoZmVhdHVy ZXMsIDE2KTsKKysJcGxheWVyLT5mZWF0dXJlcyA9IHV0aWxfbWVtZHVwKGZlYXR1cmVzLCAxNik7 CisgCisgCWlmIChmZWF0dXJlc1s3XSAmIDB4MDgpIHsKKyAJCW1lZGlhX3BsYXllcl9zZXRfYnJv d3NhYmxlKG1wLCB0cnVlKTsKK0BAIC0zNjIyLDcgKzM2MjIsNyBAQCBzdGF0aWMgdm9pZCBwbGF5 ZXJfZGVzdHJveShncG9pbnRlciBkYXRhKQorIAlnX3NsaXN0X2ZyZWUocGxheWVyLT5zZXNzaW9u cyk7CisgCWdfZnJlZShwbGF5ZXItPnBhdGgpOworIAlnX2ZyZWUocGxheWVyLT5jaGFuZ2VfcGF0 aCk7CistCWdfZnJlZShwbGF5ZXItPmZlYXR1cmVzKTsKKysJZnJlZShwbGF5ZXItPmZlYXR1cmVz KTsKKyAJZ19mcmVlKHBsYXllcik7CisgfQorIAorZGlmZiAtLWdpdCBhL3Byb2ZpbGVzL2JhdHRl cnkvYmFzLmMgYi9wcm9maWxlcy9iYXR0ZXJ5L2Jhcy5jCitpbmRleCAzYzYxNzNiNjEuLjE2ZmYy MmUxOSAxMDA2NDQKKy0tLSBhL3Byb2ZpbGVzL2JhdHRlcnkvYmFzLmMKKysrKyBiL3Byb2ZpbGVz L2JhdHRlcnkvYmFzLmMKK0BAIC02Miw3ICs2Miw3IEBAIHN0YXRpYyB2b2lkIGJhc19mcmVlKHN0 cnVjdCBidF9iYXMgKmJhcykKKyB7CisgCWJ0X2Jhc19kZXRhY2goYmFzKTsKKyAKKy0JZ19mcmVl KGJhcy0+cHJpbWFyeSk7CisrCWZyZWUoYmFzLT5wcmltYXJ5KTsKKyAJcXVldWVfZGVzdHJveShi YXMtPmdhdHRfb3AsICh2b2lkICopIGRlc3Ryb3lfZ2F0dF9yZXEpOworIAlmcmVlKGJhcyk7Cisg fQorQEAgLTc1LDcgKzc1LDcgQEAgc3RydWN0IGJ0X2JhcyAqYnRfYmFzX25ldyh2b2lkICpwcmlt YXJ5KQorIAliYXMtPmdhdHRfb3AgPSBxdWV1ZV9uZXcoKTsKKyAKKyAJaWYgKHByaW1hcnkpCist CQliYXMtPnByaW1hcnkgPSBnX21lbWR1cChwcmltYXJ5LCBzaXplb2YoKmJhcy0+cHJpbWFyeSkp OworKwkJYmFzLT5wcmltYXJ5ID0gdXRpbF9tZW1kdXAocHJpbWFyeSwgc2l6ZW9mKCpiYXMtPnBy aW1hcnkpKTsKKyAKKyAJcmV0dXJuIGJ0X2Jhc19yZWYoYmFzKTsKKyB9CitkaWZmIC0tZ2l0IGEv cHJvZmlsZXMvYmF0dGVyeS9iYXR0ZXJ5LmMgYi9wcm9maWxlcy9iYXR0ZXJ5L2JhdHRlcnkuYwor aW5kZXggMTc2ZDEyN2Y2Li4wMmQwMjRkOTIgMTAwNjQ0CistLS0gYS9wcm9maWxlcy9iYXR0ZXJ5 L2JhdHRlcnkuYworKysrIGIvcHJvZmlsZXMvYmF0dGVyeS9iYXR0ZXJ5LmMKK0BAIC02Niw3ICs2 Niw3IEBAIHN0YXRpYyB2b2lkIGJhdHRfZnJlZShzdHJ1Y3QgYmF0dCAqYmF0dCkKKyAJZ2F0dF9k Yl91bnJlZihiYXR0LT5kYik7CisgCWJ0X2dhdHRfY2xpZW50X3VucmVmKGJhdHQtPmNsaWVudCk7 CisgCWJ0ZF9kZXZpY2VfdW5yZWYoYmF0dC0+ZGV2aWNlKTsKKy0JZ19mcmVlIChiYXR0LT5pbml0 aWFsX3ZhbHVlKTsKKysJZnJlZShiYXR0LT5pbml0aWFsX3ZhbHVlKTsKKyAJaWYgKGJhdHQtPmJh dHRlcnkpCisgCQlidGRfYmF0dGVyeV91bnJlZ2lzdGVyKGJhdHQtPmJhdHRlcnkpOworIAlnX2Zy ZWUoYmF0dCk7CitAQCAtMTU5LDcgKzE1OSw3IEBAIHN0YXRpYyB2b2lkIHJlYWRfaW5pdGlhbF9i YXR0ZXJ5X2xldmVsX2NiKGJvb2wgc3VjY2VzcywKKyAJaWYgKCFsZW5ndGgpCisgCQlyZXR1cm47 CisgCistCWJhdHQtPmluaXRpYWxfdmFsdWUgPSBnX21lbWR1cCh2YWx1ZSwgbGVuZ3RoKTsKKysJ YmF0dC0+aW5pdGlhbF92YWx1ZSA9IHV0aWxfbWVtZHVwKHZhbHVlLCBsZW5ndGgpOworIAorIAkv KiByZXF1ZXN0IG5vdGlmeSAqLworIAliYXR0LT5iYXR0X2xldmVsX2NiX2lkID0KK2RpZmYgLS1n aXQgYS9wcm9maWxlcy9kZXZpY2VpbmZvL2Rpcy5jIGIvcHJvZmlsZXMvZGV2aWNlaW5mby9kaXMu YworaW5kZXggODdmYTYzMzA2Li5mNjYwMTc5ZWQgMTAwNjQ0CistLS0gYS9wcm9maWxlcy9kZXZp Y2VpbmZvL2Rpcy5jCisrKysgYi9wcm9maWxlcy9kZXZpY2VpbmZvL2Rpcy5jCitAQCAtNzIsNyAr NzIsNyBAQCBzdGF0aWMgdm9pZCBkaXNfZnJlZShzdHJ1Y3QgYnRfZGlzICpkaXMpCisgeworIAli dF9kaXNfZGV0YWNoKGRpcyk7CisgCistCWdfZnJlZShkaXMtPnByaW1hcnkpOworKwlmcmVlKGRp cy0+cHJpbWFyeSk7CisgCXF1ZXVlX2Rlc3Ryb3koZGlzLT5nYXR0X29wLCAodm9pZCAqKSBkZXN0 cm95X2dhdHRfcmVxKTsKKyAJZ19mcmVlKGRpcyk7CisgfQorQEAgLTE0Myw3ICsxNDMsNyBAQCBz dHJ1Y3QgYnRfZGlzICpidF9kaXNfbmV3X3ByaW1hcnkodm9pZCAqcHJpbWFyeSkKKyAJZGlzLT5n YXR0X29wID0gcXVldWVfbmV3KCk7CisgCisgCWlmIChwcmltYXJ5KQorLQkJZGlzLT5wcmltYXJ5 ID0gZ19tZW1kdXAocHJpbWFyeSwgc2l6ZW9mKCpkaXMtPnByaW1hcnkpKTsKKysJCWRpcy0+cHJp bWFyeSA9IHV0aWxfbWVtZHVwKHByaW1hcnksIHNpemVvZigqZGlzLT5wcmltYXJ5KSk7CisgCisg CXJldHVybiBidF9kaXNfcmVmKGRpcyk7CisgfQorZGlmZiAtLWdpdCBhL3Byb2ZpbGVzL2lucHV0 L2hvZy1saWIuYyBiL3Byb2ZpbGVzL2lucHV0L2hvZy1saWIuYworaW5kZXggM2JiZTQyMzcwLi5k MzdjYWExZjEgMTAwNjQ0CistLS0gYS9wcm9maWxlcy9pbnB1dC9ob2ctbGliLmMKKysrKyBiL3By b2ZpbGVzL2lucHV0L2hvZy1saWIuYworQEAgLTUyNyw5ICs1MjcsOSBAQCBzdGF0aWMgdm9pZCBy ZXBvcnRfcmVhZF9jYihndWludDggc3RhdHVzLCBjb25zdCBndWludDggKnBkdSwgZ3VpbnQxNiBs ZW4sCisgCX0KKyAKKyAJaWYgKHJlcG9ydC0+dmFsdWUpCistCQlnX2ZyZWUocmVwb3J0LT52YWx1 ZSk7CisrCQlmcmVlKHJlcG9ydC0+dmFsdWUpOworIAorLQlyZXBvcnQtPnZhbHVlID0gZ19tZW1k dXAocGR1LCBsZW4pOworKwlyZXBvcnQtPnZhbHVlID0gdXRpbF9tZW1kdXAocGR1LCBsZW4pOwor IAlyZXBvcnQtPmxlbiA9IGxlbjsKKyB9CisgCitAQCAtMTIxNyw3ICsxMjE3LDcgQEAgc3RhdGlj IHZvaWQgcmVwb3J0X2ZyZWUodm9pZCAqZGF0YSkKKyB7CisgCXN0cnVjdCByZXBvcnQgKnJlcG9y dCA9IGRhdGE7CisgCistCWdfZnJlZShyZXBvcnQtPnZhbHVlKTsKKysJZnJlZShyZXBvcnQtPnZh bHVlKTsKKyAJZ19mcmVlKHJlcG9ydCk7CisgfQorIAorQEAgLTEyNDEsNyArMTI0MSw3IEBAIHN0 YXRpYyB2b2lkIGhvZ19mcmVlKHZvaWQgKmRhdGEpCisgCWJ0X3VoaWRfdW5yZWYoaG9nLT51aGlk KTsKKyAJZ19zbGlzdF9mcmVlX2Z1bGwoaG9nLT5yZXBvcnRzLCByZXBvcnRfZnJlZSk7CisgCWdf ZnJlZShob2ctPm5hbWUpOworLQlnX2ZyZWUoaG9nLT5wcmltYXJ5KTsKKysJZnJlZShob2ctPnBy aW1hcnkpOworIAlxdWV1ZV9kZXN0cm95KGhvZy0+Z2F0dF9vcCwgKHZvaWQgKikgZGVzdHJveV9n YXR0X3JlcSk7CisgCWlmIChob2ctPmdhdHRfZGIpCisgCQlnYXR0X2RiX3VucmVmKGhvZy0+Z2F0 dF9kYik7CitAQCAtMTYwOSw3ICsxNjA5LDcgQEAgc3RhdGljIHZvaWQgaG9nX2F0dGFjaF9ob2co c3RydWN0IGJ0X2hvZyAqaG9nLCBzdHJ1Y3QgZ2F0dF9wcmltYXJ5ICpwcmltYXJ5KQorIAlzdHJ1 Y3QgYnRfaG9nICppbnN0YW5jZTsKKyAKKyAJaWYgKCFob2ctPnByaW1hcnkpIHsKKy0JCWhvZy0+ cHJpbWFyeSA9IGdfbWVtZHVwKHByaW1hcnksIHNpemVvZigqcHJpbWFyeSkpOworKwkJaG9nLT5w cmltYXJ5ID0gdXRpbF9tZW1kdXAocHJpbWFyeSwgc2l6ZW9mKCpwcmltYXJ5KSk7CisgCQlkaXNj b3Zlcl9jaGFyKGhvZywgaG9nLT5hdHRyaWIsIHByaW1hcnktPnJhbmdlLnN0YXJ0LAorIAkJCQkJ CXByaW1hcnktPnJhbmdlLmVuZCwgTlVMTCwKKyAJCQkJCQljaGFyX2Rpc2NvdmVyZWRfY2IsIGhv Zyk7CitAQCAtMTYyMyw3ICsxNjIzLDcgQEAgc3RhdGljIHZvaWQgaG9nX2F0dGFjaF9ob2coc3Ry dWN0IGJ0X2hvZyAqaG9nLCBzdHJ1Y3QgZ2F0dF9wcmltYXJ5ICpwcmltYXJ5KQorIAlpZiAoIWlu c3RhbmNlKQorIAkJcmV0dXJuOworIAorLQlpbnN0YW5jZS0+cHJpbWFyeSA9IGdfbWVtZHVwKHBy aW1hcnksIHNpemVvZigqcHJpbWFyeSkpOworKwlpbnN0YW5jZS0+cHJpbWFyeSA9IHV0aWxfbWVt ZHVwKHByaW1hcnksIHNpemVvZigqcHJpbWFyeSkpOworIAlmaW5kX2luY2x1ZGVkKGluc3RhbmNl LCBob2ctPmF0dHJpYiwgcHJpbWFyeS0+cmFuZ2Uuc3RhcnQsCisgCQkJcHJpbWFyeS0+cmFuZ2Uu ZW5kLCBmaW5kX2luY2x1ZGVkX2NiLCBpbnN0YW5jZSk7CisgCitkaWZmIC0tZ2l0IGEvcHJvZmls ZXMvc2NhbnBhcmFtL3NjcHAuYyBiL3Byb2ZpbGVzL3NjYW5wYXJhbS9zY3BwLmMKK2luZGV4IGRh MzhhNmFhYS4uNGJlOGIyNmNjIDEwMDY0NAorLS0tIGEvcHJvZmlsZXMvc2NhbnBhcmFtL3NjcHAu YworKysrIGIvcHJvZmlsZXMvc2NhbnBhcmFtL3NjcHAuYworQEAgLTkxLDcgKzkxLDcgQEAgc3Rh dGljIHZvaWQgc2NwcF9mcmVlKHN0cnVjdCBidF9zY3BwICpzY2FuKQorIHsKKyAJYnRfc2NwcF9k ZXRhY2goc2Nhbik7CisgCistCWdfZnJlZShzY2FuLT5wcmltYXJ5KTsKKysJZnJlZShzY2FuLT5w cmltYXJ5KTsKKyAJcXVldWVfZGVzdHJveShzY2FuLT5nYXR0X29wLCBOVUxMKTsgLyogY2xlYXJl ZCBpbiBidF9zY3BwX2RldGFjaCAqLworIAlnX2ZyZWUoc2Nhbik7CisgfQorQEAgLTExMCw3ICsx MTAsNyBAQCBzdHJ1Y3QgYnRfc2NwcCAqYnRfc2NwcF9uZXcodm9pZCAqcHJpbWFyeSkKKyAJc2Nh bi0+Z2F0dF9vcCA9IHF1ZXVlX25ldygpOworIAorIAlpZiAocHJpbWFyeSkKKy0JCXNjYW4tPnBy aW1hcnkgPSBnX21lbWR1cChwcmltYXJ5LCBzaXplb2YoKnNjYW4tPnByaW1hcnkpKTsKKysJCXNj YW4tPnByaW1hcnkgPSB1dGlsX21lbWR1cChwcmltYXJ5LCBzaXplb2YoKnNjYW4tPnByaW1hcnkp KTsKKyAKKyAJcmV0dXJuIGJ0X3NjcHBfcmVmKHNjYW4pOworIH0KK2RpZmYgLS1naXQgYS9zcmMv ZWlyLmMgYi9zcmMvZWlyLmMKK2luZGV4IDBmNWQxNGZjZC4uMmY5ZWUwMzZmIDEwMDY0NAorLS0t IGEvc3JjL2Vpci5jCisrKysgYi9zcmMvZWlyLmMKK0BAIC01Myw5ICs1Myw5IEBAIHZvaWQgZWly X2RhdGFfZnJlZShzdHJ1Y3QgZWlyX2RhdGEgKmVpcikKKyAJZWlyLT5zZXJ2aWNlcyA9IE5VTEw7 CisgCWdfZnJlZShlaXItPm5hbWUpOworIAllaXItPm5hbWUgPSBOVUxMOworLQlnX2ZyZWUoZWly LT5oYXNoKTsKKysJZnJlZShlaXItPmhhc2gpOworIAllaXItPmhhc2ggPSBOVUxMOworLQlnX2Zy ZWUoZWlyLT5yYW5kb21pemVyKTsKKysJZnJlZShlaXItPnJhbmRvbWl6ZXIpOworIAllaXItPnJh bmRvbWl6ZXIgPSBOVUxMOworIAlnX3NsaXN0X2ZyZWVfZnVsbChlaXItPm1zZF9saXN0LCBnX2Zy ZWUpOworIAllaXItPm1zZF9saXN0ID0gTlVMTDsKK0BAIC0zMjMsMTMgKzMyMywxMyBAQCB2b2lk IGVpcl9wYXJzZShzdHJ1Y3QgZWlyX2RhdGEgKmVpciwgY29uc3QgdWludDhfdCAqZWlyX2RhdGEs IHVpbnQ4X3QgZWlyX2xlbikKKyAJCWNhc2UgRUlSX1NTUF9IQVNIOgorIAkJCWlmIChkYXRhX2xl biA8IDE2KQorIAkJCQlicmVhazsKKy0JCQllaXItPmhhc2ggPSBnX21lbWR1cChkYXRhLCAxNik7 CisrCQkJZWlyLT5oYXNoID0gdXRpbF9tZW1kdXAoZGF0YSwgMTYpOworIAkJCWJyZWFrOworIAor IAkJY2FzZSBFSVJfU1NQX1JBTkRPTUlaRVI6CisgCQkJaWYgKGRhdGFfbGVuIDwgMTYpCisgCQkJ CWJyZWFrOworLQkJCWVpci0+cmFuZG9taXplciA9IGdfbWVtZHVwKGRhdGEsIDE2KTsKKysJCQll aXItPnJhbmRvbWl6ZXIgPSB1dGlsX21lbWR1cChkYXRhLCAxNik7CisgCQkJYnJlYWs7CisgCisg CQljYXNlIEVJUl9ERVZJQ0VfSUQ6CitkaWZmIC0tZ2l0IGEvdG9vbHMvZ2F0dC1zZXJ2aWNlLmMg Yi90b29scy9nYXR0LXNlcnZpY2UuYworaW5kZXggNjMxYzRmMjQ5Li5lZDZiMDZmMWUgMTAwNjQ0 CistLS0gYS90b29scy9nYXR0LXNlcnZpY2UuYworKysrIGIvdG9vbHMvZ2F0dC1zZXJ2aWNlLmMK K0BAIC0yNiw2ICsyNiw3IEBACisgI2luY2x1ZGUgImdkYnVzL2dkYnVzLmgiCisgCisgI2luY2x1 ZGUgInNyYy9lcnJvci5oIgorKyNpbmNsdWRlICJzcmMvc2hhcmVkL3V0aWwuaCIKKyAKKyAjZGVm aW5lIEdBVFRfTUdSX0lGQUNFCQkJIm9yZy5ibHVlei5HYXR0TWFuYWdlcjEiCisgI2RlZmluZSBH QVRUX1NFUlZJQ0VfSUZBQ0UJCSJvcmcuYmx1ZXouR2F0dFNlcnZpY2UxIgorQEAgLTEyNiw4ICsx MjcsOCBAQCBzdGF0aWMgZ2Jvb2xlYW4gZGVzY19nZXRfdmFsdWUoY29uc3QgR0RCdXNQcm9wZXJ0 eVRhYmxlICpwcm9wZXJ0eSwKKyAKKyBzdGF0aWMgdm9pZCBkZXNjX3dyaXRlKHN0cnVjdCBkZXNj cmlwdG9yICpkZXNjLCBjb25zdCB1aW50OF90ICp2YWx1ZSwgaW50IGxlbikKKyB7CistCWdfZnJl ZShkZXNjLT52YWx1ZSk7CistCWRlc2MtPnZhbHVlID0gZ19tZW1kdXAodmFsdWUsIGxlbik7Cisr CWZyZWUoZGVzYy0+dmFsdWUpOworKwlkZXNjLT52YWx1ZSA9IHV0aWxfbWVtZHVwKHZhbHVlLCBs ZW4pOworIAlkZXNjLT52bGVuID0gbGVuOworIAorIAlnX2RidXNfZW1pdF9wcm9wZXJ0eV9jaGFu Z2VkKGNvbm5lY3Rpb24sIGRlc2MtPnBhdGgsCitAQCAtMjY0LDggKzI2NSw4IEBAIHN0YXRpYyBn Ym9vbGVhbiBjaHJfZ2V0X3Byb3BzKGNvbnN0IEdEQnVzUHJvcGVydHlUYWJsZSAqcHJvcGVydHks CisgCisgc3RhdGljIHZvaWQgY2hyX3dyaXRlKHN0cnVjdCBjaGFyYWN0ZXJpc3RpYyAqY2hyLCBj b25zdCB1aW50OF90ICp2YWx1ZSwgaW50IGxlbikKKyB7CistCWdfZnJlZShjaHItPnZhbHVlKTsK Ky0JY2hyLT52YWx1ZSA9IGdfbWVtZHVwKHZhbHVlLCBsZW4pOworKwlmcmVlKGNoci0+dmFsdWUp OworKwljaHItPnZhbHVlID0gdXRpbF9tZW1kdXAodmFsdWUsIGxlbik7CisgCWNoci0+dmxlbiA9 IGxlbjsKKyAKKyAJZ19kYnVzX2VtaXRfcHJvcGVydHlfY2hhbmdlZChjb25uZWN0aW9uLCBjaHIt PnBhdGgsIEdBVFRfQ0hSX0lGQUNFLAorQEAgLTM4OCw3ICszODksNyBAQCBzdGF0aWMgdm9pZCBj aHJfaWZhY2VfZGVzdHJveShncG9pbnRlciB1c2VyX2RhdGEpCisgCisgCWdfZnJlZShjaHItPnV1 aWQpOworIAlnX2ZyZWUoY2hyLT5zZXJ2aWNlKTsKKy0JZ19mcmVlKGNoci0+dmFsdWUpOworKwlm cmVlKGNoci0+dmFsdWUpOworIAlnX2ZyZWUoY2hyLT5wYXRoKTsKKyAJZ19mcmVlKGNocik7Cisg fQorQEAgLTM5OCw3ICszOTksNyBAQCBzdGF0aWMgdm9pZCBkZXNjX2lmYWNlX2Rlc3Ryb3koZ3Bv aW50ZXIgdXNlcl9kYXRhKQorIAlzdHJ1Y3QgZGVzY3JpcHRvciAqZGVzYyA9IHVzZXJfZGF0YTsK KyAKKyAJZ19mcmVlKGRlc2MtPnV1aWQpOworLQlnX2ZyZWUoZGVzYy0+dmFsdWUpOworKwlmcmVl KGRlc2MtPnZhbHVlKTsKKyAJZ19mcmVlKGRlc2MtPnBhdGgpOworIAlnX2ZyZWUoZGVzYyk7Cisg fQorQEAgLTU5Miw3ICs1OTMsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gcmVnaXN0ZXJfY2hhcmFjdGVy aXN0aWMoY29uc3QgY2hhciAqY2hyX3V1aWQsCisgCisgCWNociA9IGdfbmV3MChzdHJ1Y3QgY2hh cmFjdGVyaXN0aWMsIDEpOworIAljaHItPnV1aWQgPSBnX3N0cmR1cChjaHJfdXVpZCk7CistCWNo ci0+dmFsdWUgPSBnX21lbWR1cCh2YWx1ZSwgdmxlbik7CisrCWNoci0+dmFsdWUgPSB1dGlsX21l bWR1cCh2YWx1ZSwgdmxlbik7CisgCWNoci0+dmxlbiA9IHZsZW47CisgCWNoci0+cHJvcHMgPSBw cm9wczsKKyAJY2hyLT5zZXJ2aWNlID0gZ19zdHJkdXAoc2VydmljZV9wYXRoKTsKK2RpZmYgLS1n aXQgYS90b29scy9tZXNoLWdhdHQvZ2F0dC5jIGIvdG9vbHMvbWVzaC1nYXR0L2dhdHQuYworaW5k ZXggYzhhODEyM2ZiLi5hYjk3NDNjZDEgMTAwNjQ0CistLS0gYS90b29scy9tZXNoLWdhdHQvZ2F0 dC5jCisrKysgYi90b29scy9tZXNoLWdhdHQvZ2F0dC5jCitAQCAtMjQsNiArMjQsNyBAQAorIAor ICNpbmNsdWRlICJzcmMvc2hhcmVkL2lvLmgiCisgI2luY2x1ZGUgInNyYy9zaGFyZWQvc2hlbGwu aCIKKysjaW5jbHVkZSAic3JjL3NoYXJlZC91dGlsLmgiCisgI2luY2x1ZGUgImdkYnVzL2dkYnVz LmgiCisgI2luY2x1ZGUgImxpYi9ibHVldG9vdGguaCIKKyAjaW5jbHVkZSAibGliL3V1aWQuaCIK K0BAIC04Niw3ICs4Nyw3IEBAIHN0YXRpYyB2b2lkIHdyaXRlX2RhdGFfZnJlZSh2b2lkICp1c2Vy X2RhdGEpCisgeworIAlzdHJ1Y3Qgd3JpdGVfZGF0YSAqZGF0YSA9IHVzZXJfZGF0YTsKKyAKKy0J Z19mcmVlKGRhdGEtPmdhdHRfZGF0YSk7CisrCWZyZWUoZGF0YS0+Z2F0dF9kYXRhKTsKKyAJZnJl ZShkYXRhKTsKKyB9CisgCitAQCAtMzM4LDcgKzMzOSw3IEBAIGJvb2wgbWVzaF9nYXR0X3dyaXRl KEdEQnVzUHJveHkgKnByb3h5LCB1aW50OF90ICpidWYsIHVpbnQxNl90IGxlbiwKKyAJLyogVE9E Tzogc2hvdWxkIGtlZXAgaW4gcXVldWUgaW4gY2FzZSB3ZSBuZWVkIHRvIGNhbmNlbCB3cml0ZT8g Ki8KKyAKKyAJZGF0YS0+Z2F0dF9sZW4gPSBsZW47CistCWRhdGEtPmdhdHRfZGF0YSA9IGdfbWVt ZHVwKGJ1ZiwgbGVuKTsKKysJZGF0YS0+Z2F0dF9kYXRhID0gdXRpbF9tZW1kdXAoYnVmLCBsZW4p OworIAlkYXRhLT5nYXR0X2RhdGFbMF0gJj0gR0FUVF9UWVBFX01BU0s7CisgCWRhdGEtPmlvdi5p b3ZfYmFzZSA9IGRhdGEtPmdhdHRfZGF0YTsKKyAJZGF0YS0+aW92Lmlvdl9sZW4gPSBsZW47Citk aWZmIC0tZ2l0IGEvdW5pdC90ZXN0LWF2Y3RwLmMgYi91bml0L3Rlc3QtYXZjdHAuYworaW5kZXgg ZmE3ZGI1OWM4Li4yNWZkM2FiYzIgMTAwNjQ0CistLS0gYS91bml0L3Rlc3QtYXZjdHAuYworKysr IGIvdW5pdC90ZXN0LWF2Y3RwLmMKK0BAIC01Myw3ICs1Myw3IEBAIHN0cnVjdCBjb250ZXh0IHsK KyAjZGVmaW5lIHJhd19wZHUoYXJncy4uLikJCQkJCVwKKyAJewkJCQkJCQlcCisgCQkudmFsaWQg PSB0cnVlLAkJCQkJXAorLQkJLmRhdGEgPSBnX21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0 YShhcmdzKSkpLCBcCisrCQkuZGF0YSA9IHV0aWxfbWVtZHVwKGRhdGEoYXJncyksIHNpemVvZihk YXRhKGFyZ3MpKSksIFwKKyAJCS5zaXplID0gc2l6ZW9mKGRhdGEoYXJncykpLAkJCVwKKyAJfQor IAorQEAgLTY0LDcgKzY0LDcgQEAgc3RydWN0IGNvbnRleHQgeworIAkJfTsJCQkJCQkJXAorIAkJ c3RhdGljIHN0cnVjdCB0ZXN0X2RhdGEgZGF0YTsJCQkJXAorIAkJZGF0YS50ZXN0X25hbWUgPSBn X3N0cmR1cChuYW1lKTsJCQlcCistCQlkYXRhLnBkdV9saXN0ID0gZ19tZW1kdXAocGR1cywgc2l6 ZW9mKHBkdXMpKTsJCVwKKysJCWRhdGEucGR1X2xpc3QgPSB1dGlsX21lbWR1cChwZHVzLCBzaXpl b2YocGR1cykpOwlcCisgCQl0ZXN0ZXJfYWRkKG5hbWUsICZkYXRhLCBOVUxMLCBmdW5jdGlvbiwg TlVMTCk7CQlcCisgCX0gd2hpbGUgKDApCisgCitkaWZmIC0tZ2l0IGEvdW5pdC90ZXN0LWF2ZHRw LmMgYi91bml0L3Rlc3QtYXZkdHAuYworaW5kZXggNGU4YTY4YzZiLi4yZTQ5ZGVmNDMgMTAwNjQ0 CistLS0gYS91bml0L3Rlc3QtYXZkdHAuYworKysrIGIvdW5pdC90ZXN0LWF2ZHRwLmMKK0BAIC00 OCw3ICs0OCw3IEBAIHN0cnVjdCB0ZXN0X2RhdGEgeworICNkZWZpbmUgcmF3X3BkdShhcmdzLi4u KSBcCisgCXsJCQkJCQkJXAorIAkJLnZhbGlkID0gdHJ1ZSwJCQkJCVwKKy0JCS5kYXRhID0gZ19t ZW1kdXAoZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwgXAorKwkJLmRhdGEgPSB1dGls X21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisgCQkuc2l6ZSA9IHNp emVvZihkYXRhKGFyZ3MpKSwJCQlcCisgCX0KKyAKK0BAIC01Niw3ICs1Niw3IEBAIHN0cnVjdCB0 ZXN0X2RhdGEgeworIAl7CQkJCQkJCVwKKyAJCS52YWxpZCA9IHRydWUsCQkJCQlcCisgCQkuZnJh Z21lbnRlZCA9IHRydWUsCQkJCVwKKy0JCS5kYXRhID0gZ19tZW1kdXAoZGF0YShhcmdzKSwgc2l6 ZW9mKGRhdGEoYXJncykpKSwgXAorKwkJLmRhdGEgPSB1dGlsX21lbWR1cChkYXRhKGFyZ3MpLCBz aXplb2YoZGF0YShhcmdzKSkpLCBcCisgCQkuc2l6ZSA9IHNpemVvZihkYXRhKGFyZ3MpKSwJCQlc CisgCX0KKyAKK0BAIC02Nyw3ICs2Nyw3IEBAIHN0cnVjdCB0ZXN0X2RhdGEgeworIAkJfTsJCQkJ CQkJXAorIAkJc3RhdGljIHN0cnVjdCB0ZXN0X2RhdGEgZGF0YTsJCQkJXAorIAkJZGF0YS50ZXN0 X25hbWUgPSBnX3N0cmR1cChuYW1lKTsJCQlcCistCQlkYXRhLnBkdV9saXN0ID0gZ19tZW1kdXAo cGR1cywgc2l6ZW9mKHBkdXMpKTsJCVwKKysJCWRhdGEucGR1X2xpc3QgPSB1dGlsX21lbWR1cChw ZHVzLCBzaXplb2YocGR1cykpOwlcCisgCQl0ZXN0ZXJfYWRkKG5hbWUsICZkYXRhLCBOVUxMLCBm dW5jdGlvbiwgTlVMTCk7CVwKKyAJfSB3aGlsZSAoMCkKKyAKK2RpZmYgLS1naXQgYS91bml0L3Rl c3QtYXZyY3AuYyBiL3VuaXQvdGVzdC1hdnJjcC5jCitpbmRleCAzNGE3MDM3N2QuLmI2MzdhOGEx YiAxMDA2NDQKKy0tLSBhL3VuaXQvdGVzdC1hdnJjcC5jCisrKysgYi91bml0L3Rlc3QtYXZyY3Au YworQEAgLTYxLDcgKzYxLDcgQEAgc3RydWN0IGNvbnRleHQgeworICNkZWZpbmUgcmF3X3BkdShh cmdzLi4uKQkJCQkJXAorIAl7CQkJCQkJCVwKKyAJCS52YWxpZCA9IHRydWUsCQkJCQlcCistCQku ZGF0YSA9IGdfbWVtZHVwKGRhdGEoYXJncyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKysJCS5k YXRhID0gdXRpbF9tZW1kdXAoZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwgXAorIAkJ LnNpemUgPSBzaXplb2YoZGF0YShhcmdzKSksCQkJXAorIAl9CisgCitAQCAtNjksNyArNjksNyBA QCBzdHJ1Y3QgY29udGV4dCB7CisgCXsJCQkJCQkJXAorIAkJLnZhbGlkID0gdHJ1ZSwJCQkJCVwK KyAJCS5icm93c2UgPSB0cnVlLAkJCQkJXAorLQkJLmRhdGEgPSBnX21lbWR1cChkYXRhKGFyZ3Mp LCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisrCQkuZGF0YSA9IHV0aWxfbWVtZHVwKGRhdGEoYXJn cyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKyAJCS5zaXplID0gc2l6ZW9mKGRhdGEoYXJncykp LAkJCVwKKyAJfQorIAorQEAgLTc3LDcgKzc3LDcgQEAgc3RydWN0IGNvbnRleHQgeworIAl7CQkJ CQkJCVwKKyAJCS52YWxpZCA9IHRydWUsCQkJCQlcCisgCQkuZnJhZ21lbnRlZCA9IHRydWUsCQkJ CVwKKy0JCS5kYXRhID0gZ19tZW1kdXAoZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwg XAorKwkJLmRhdGEgPSB1dGlsX21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdzKSkp LCBcCisgCQkuc2l6ZSA9IHNpemVvZihkYXRhKGFyZ3MpKSwJCQlcCisgCX0KKyAKK0BAIC04NSw3 ICs4NSw3IEBAIHN0cnVjdCBjb250ZXh0IHsKKyAJewkJCQkJCQlcCisgCQkudmFsaWQgPSB0cnVl LAkJCQkJXAorIAkJLmNvbnRpbnVpbmcgPSB0cnVlLAkJCQlcCistCQkuZGF0YSA9IGdfbWVtZHVw KGRhdGEoYXJncyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKysJCS5kYXRhID0gdXRpbF9tZW1k dXAoZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwgXAorIAkJLnNpemUgPSBzaXplb2Yo ZGF0YShhcmdzKSksCQkJXAorIAl9CisgCitAQCAtOTYsNyArOTYsNyBAQCBzdHJ1Y3QgY29udGV4 dCB7CisgCQl9OwkJCQkJCQlcCisgCQlzdGF0aWMgc3RydWN0IHRlc3RfZGF0YSBkYXRhOwkJCQlc CisgCQlkYXRhLnRlc3RfbmFtZSA9IGdfc3RyZHVwKG5hbWUpOwkJCVwKKy0JCWRhdGEucGR1X2xp c3QgPSBnX21lbWR1cChwZHVzLCBzaXplb2YocGR1cykpOwkJXAorKwkJZGF0YS5wZHVfbGlzdCA9 IHV0aWxfbWVtZHVwKHBkdXMsIHNpemVvZihwZHVzKSk7CVwKKyAJCXRlc3Rlcl9hZGQobmFtZSwg JmRhdGEsIE5VTEwsIGZ1bmN0aW9uLCBOVUxMKTsJCVwKKyAJfSB3aGlsZSAoMCkKKyAKK2RpZmYg LS1naXQgYS91bml0L3Rlc3QtZ2F0dC5jIGIvdW5pdC90ZXN0LWdhdHQuYworaW5kZXggNmE0NzI2 OGU2Li5mOTJkODYwYzQgMTAwNjQ0CistLS0gYS91bml0L3Rlc3QtZ2F0dC5jCisrKysgYi91bml0 L3Rlc3QtZ2F0dC5jCitAQCAtNzMsNyArNzMsNyBAQCBzdHJ1Y3QgY29udGV4dCB7CisgI2RlZmlu ZSByYXdfcGR1KGFyZ3MuLi4pCQkJCQlcCisgCXsJCQkJCQkJXAorIAkJLnZhbGlkID0gdHJ1ZSwJ CQkJCVwKKy0JCS5kYXRhID0gZ19tZW1kdXAoZGF0YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykp KSwgXAorKwkJLmRhdGEgPSB1dGlsX21lbWR1cChkYXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdz KSkpLCBcCisgCQkuc2l6ZSA9IHNpemVvZihkYXRhKGFyZ3MpKSwJCQlcCisgCX0KKyAKK0BAIC05 NCw3ICs5NCw3IEBAIHN0cnVjdCBjb250ZXh0IHsKKyAJCWRhdGEudXVpZCA9IGJ0X3V1aWQ7CQkJ CQlcCisgCQlkYXRhLnN0ZXAgPSB0ZXN0X3N0ZXA7CQkJCQlcCisgCQlkYXRhLnNvdXJjZV9kYiA9 IGRiOwkJCQkJXAorLQkJZGF0YS5wZHVfbGlzdCA9IGdfbWVtZHVwKHBkdXMsIHNpemVvZihwZHVz KSk7CQlcCisrCQlkYXRhLnBkdV9saXN0ID0gdXRpbF9tZW1kdXAocGR1cywgc2l6ZW9mKHBkdXMp KTsJXAorIAkJdGVzdGVyX2FkZChuYW1lLCAmZGF0YSwgTlVMTCwgZnVuY3Rpb24sIE5VTEwpOwkJ XAorIAl9IHdoaWxlICgwKQorIAorZGlmZiAtLWdpdCBhL3VuaXQvdGVzdC1oZnAuYyBiL3VuaXQv dGVzdC1oZnAuYworaW5kZXggZjUwNDcyNGQ3Li5iNGFmOTlkNTMgMTAwNjQ0CistLS0gYS91bml0 L3Rlc3QtaGZwLmMKKysrKyBiL3VuaXQvdGVzdC1oZnAuYworQEAgLTE3LDYgKzE3LDcgQEAKKyAj aW5jbHVkZSA8Z2xpYi5oPgorICNpbmNsdWRlICJzcmMvc2hhcmVkL2hmcC5oIgorICNpbmNsdWRl ICJzcmMvc2hhcmVkL3Rlc3Rlci5oIgorKyNpbmNsdWRlICJzcmMvc2hhcmVkL3V0aWwuaCIKKyAK KyBzdHJ1Y3QgY29udGV4dCB7CisgCWd1aW50IHdhdGNoX2lkOworQEAgLTUwLDcgKzUxLDcgQEAg c3RydWN0IHRlc3RfZGF0YSB7CisgI2RlZmluZSByYXdfcGR1KGFyZ3MuLi4pCQkJCQlcCisgCXsJ CQkJCQkJXAorIAkJLnZhbGlkID0gdHJ1ZSwJCQkJCVwKKy0JCS5kYXRhID0gZ19tZW1kdXAoZGF0 YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwgXAorKwkJLmRhdGEgPSB1dGlsX21lbWR1cChk YXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisgCQkuc2l6ZSA9IHNpemVvZihkYXRh KGFyZ3MpKSwJCQlcCisgCX0KKyAKK0BAIC02Miw3ICs2Myw3IEBAIHN0cnVjdCB0ZXN0X2RhdGEg eworICNkZWZpbmUgdHlwZV9wZHUoY21kX3R5cGUsIGFyZ3MuLi4pCQkJCVwKKyAJewkJCQkJCQlc CisgCQkudmFsaWQgPSB0cnVlLAkJCQkJXAorLQkJLmRhdGEgPSBnX21lbWR1cChkYXRhKGFyZ3Mp LCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisrCQkuZGF0YSA9IHV0aWxfbWVtZHVwKGRhdGEoYXJn cyksIHNpemVvZihkYXRhKGFyZ3MpKSksIFwKKyAJCS5zaXplID0gc2l6ZW9mKGRhdGEoYXJncykp LAkJCVwKKyAJCS50eXBlID0gY21kX3R5cGUsCQkJCVwKKyAJfQorQEAgLTcwLDcgKzcxLDcgQEAg c3RydWN0IHRlc3RfZGF0YSB7CisgI2RlZmluZSBmcmdfcGR1KGFyZ3MuLi4pCQkJCQlcCisgCXsJ CQkJCQkJXAorIAkJLnZhbGlkID0gdHJ1ZSwJCQkJCVwKKy0JCS5kYXRhID0gZ19tZW1kdXAoZGF0 YShhcmdzKSwgc2l6ZW9mKGRhdGEoYXJncykpKSwgXAorKwkJLmRhdGEgPSB1dGlsX21lbWR1cChk YXRhKGFyZ3MpLCBzaXplb2YoZGF0YShhcmdzKSkpLCBcCisgCQkuc2l6ZSA9IHNpemVvZihkYXRh KGFyZ3MpKSwJCQlcCisgCQkuZnJhZ21lbnRlZCA9IHRydWUsCQkJCVwKKyAJfQorQEAgLTgyLDcg KzgzLDcgQEAgc3RydWN0IHRlc3RfZGF0YSB7CisgCQl9OwkJCQkJCQlcCisgCQlzdGF0aWMgc3Ry dWN0IHRlc3RfZGF0YSBkYXRhOwkJCQlcCisgCQlkYXRhLnRlc3RfbmFtZSA9IGdfc3RyZHVwKG5h bWUpOwkJCVwKKy0JCWRhdGEucGR1X2xpc3QgPSBnX21lbWR1cChwZHVzLCBzaXplb2YocGR1cykp OwkJXAorKwkJZGF0YS5wZHVfbGlzdCA9IHV0aWxfbWVtZHVwKHBkdXMsIHNpemVvZihwZHVzKSk7 CVwKKyAJCWRhdGEucmVzdWx0X2Z1bmMgPSByZXN1bHRfZnVuY3Rpb247CQkJXAorIAkJdGVzdGVy X2FkZChuYW1lLCAmZGF0YSwgTlVMTCwgZnVuY3Rpb24sIE5VTEwpOwkJXAorIAkJZGF0YS50ZXN0 X2hhbmRsZXIgPSB0ZXN0X2hhbmRsZXI7CQkJXAorQEAgLTk2LDcgKzk3LDcgQEAgc3RydWN0IHRl c3RfZGF0YSB7CisgCQl9OwkJCQkJCQlcCisgCQlzdGF0aWMgc3RydWN0IHRlc3RfZGF0YSBkYXRh OwkJCQlcCisgCQlkYXRhLnRlc3RfbmFtZSA9IGdfc3RyZHVwKG5hbWUpOwkJCVwKKy0JCWRhdGEu cGR1X2xpc3QgPSBnX21lbWR1cChwZHVzLCBzaXplb2YocGR1cykpOwkJXAorKwkJZGF0YS5wZHVf bGlzdCA9IHV0aWxfbWVtZHVwKHBkdXMsIHNpemVvZihwZHVzKSk7CVwKKyAJCWRhdGEuaGZfcmVz dWx0X2Z1bmMgPSByZXN1bHRfZnVuYzsJCQlcCisgCQlkYXRhLnJlc3BvbnNlX2Z1bmMgPSByZXNw b25zZV9mdW5jdGlvbjsJCQlcCisgCQl0ZXN0ZXJfYWRkKG5hbWUsICZkYXRhLCBOVUxMLCBmdW5j dGlvbiwgTlVMTCk7CQlcCitkaWZmIC0tZ2l0IGEvdW5pdC90ZXN0LWhvZy5jIGIvdW5pdC90ZXN0 LWhvZy5jCitpbmRleCAxMTZhNWNiMDcuLjA2NzQ5N2RlNCAxMDA2NDQKKy0tLSBhL3VuaXQvdGVz dC1ob2cuYworKysrIGIvdW5pdC90ZXN0LWhvZy5jCitAQCAtNTksMjQgKzU5LDI0IEBAIHN0cnVj dCBjb250ZXh0IHsKKyAjZGVmaW5lIHJhd19wZHUoYXJncy4uLikJCQkJCVwKKyB7CQkJCQkJCQlc CisgCS52YWxpZCA9IHRydWUsCQkJCQkJXAorLQkuZGF0YSA9IGdfbWVtZHVwKGRhdGEoYXJncyks IHNpemVvZihkYXRhKGFyZ3MpKSksCVwKKysJLmRhdGEgPSB1dGlsX21lbWR1cChkYXRhKGFyZ3Mp LCBzaXplb2YoZGF0YShhcmdzKSkpLAlcCisgCS5zaXplID0gc2l6ZW9mKGRhdGEoYXJncykpLAkJ CQlcCisgfQorIAorLSNkZWZpbmUgZmFsc2VfcGR1KCkJXAorLXsJCQkJCQlcCistCQkudmFsaWQg PSBmYWxzZSwgXAorKyNkZWZpbmUgZmFsc2VfcGR1KCkJCQkJCQlcCisrewkJCQkJCQkJXAorKwkJ LnZhbGlkID0gZmFsc2UsCQkJCQlcCisgfQorIAorLSNkZWZpbmUgZGVmaW5lX3Rlc3QobmFtZSwg ZnVuY3Rpb24sIGFyZ3MuLi4pICAgICAgXAorLQlkbyB7ICAgIFwKKy0JCWNvbnN0IHN0cnVjdCB0 ZXN0X3BkdSBwZHVzW10gPSB7CQkJXAorLQkJCWFyZ3MsIHsgfQkJCQkJXAorLQkJfTsJCVwKKy0J CXN0YXRpYyBzdHJ1Y3QgdGVzdF9kYXRhIGRhdGE7ICAgICAgXAorLQkJZGF0YS50ZXN0X25hbWUg PSBnX3N0cmR1cChuYW1lKTsgICBcCistCQlkYXRhLnBkdV9saXN0ID0gZ19tZW1kdXAocGR1cywg c2l6ZW9mKHBkdXMpKTsJCVwKKy0JCXRlc3Rlcl9hZGQobmFtZSwgJmRhdGEsIE5VTEwsIGZ1bmN0 aW9uLCBOVUxMKTsgICAgIFwKKysjZGVmaW5lIGRlZmluZV90ZXN0KG5hbWUsIGZ1bmN0aW9uLCBh cmdzLi4uKQkJCVwKKysJZG8gewkJCQkJCQlcCisrCQljb25zdCBzdHJ1Y3QgdGVzdF9wZHUgcGR1 c1tdID0gewkJXAorKwkJCWFyZ3MsIHsgfQkJCQlcCisrCQl9OwkJCQkJCVwKKysJCXN0YXRpYyBz dHJ1Y3QgdGVzdF9kYXRhIGRhdGE7CQkJXAorKwkJZGF0YS50ZXN0X25hbWUgPSBnX3N0cmR1cChu YW1lKTsJCVwKKysJCWRhdGEucGR1X2xpc3QgPSB1dGlsX21lbWR1cChwZHVzLCBzaXplb2YocGR1 cykpO1wKKysJCXRlc3Rlcl9hZGQobmFtZSwgJmRhdGEsIE5VTEwsIGZ1bmN0aW9uLCBOVUxMKTsJ XAorIAl9IHdoaWxlICgwKQorIAorIHN0YXRpYyBnYm9vbGVhbiBjb250ZXh0X3F1aXQoZ3BvaW50 ZXIgdXNlcl9kYXRhKQorZGlmZiAtLWdpdCBhL3VuaXQvdGVzdC1zZHAuYyBiL3VuaXQvdGVzdC1z ZHAuYworaW5kZXggOGY5NWZjYjcxLi41YzA0YTcxZWIgMTAwNjQ0CistLS0gYS91bml0L3Rlc3Qt c2RwLmMKKysrKyBiL3VuaXQvdGVzdC1zZHAuYworQEAgLTQ3LDE0ICs0NywxNiBAQCBzdHJ1Y3Qg dGVzdF9kYXRhIHsKKyAjZGVmaW5lIHJhd19wZHUoYXJncy4uLikgXAorIAl7CQkJCQkJCVwKKyAJ CS52YWxpZCA9IHRydWUsCQkJCQlcCistCQkucmF3X2RhdGEgPSBnX21lbWR1cChyYXdfZGF0YShh cmdzKSwgc2l6ZW9mKHJhd19kYXRhKGFyZ3MpKSksIFwKKysJCS5yYXdfZGF0YSA9IHV0aWxfbWVt ZHVwKHJhd19kYXRhKGFyZ3MpLAkJXAorKwkJCQkJc2l6ZW9mKHJhd19kYXRhKGFyZ3MpKSksIFwK KyAJCS5yYXdfc2l6ZSA9IHNpemVvZihyYXdfZGF0YShhcmdzKSksCQlcCisgCX0KKyAKKyAjZGVm aW5lIHJhd19wZHVfY29udChjb250LCBhcmdzLi4uKSBcCisgCXsJCQkJCQkJXAorIAkJLnZhbGlk ID0gdHJ1ZSwJCQkJCVwKKy0JCS5yYXdfZGF0YSA9IGdfbWVtZHVwKHJhd19kYXRhKGFyZ3MpLCBz aXplb2YocmF3X2RhdGEoYXJncykpKSwgXAorKwkJLnJhd19kYXRhID0gdXRpbF9tZW1kdXAocmF3 X2RhdGEoYXJncyksCQlcCisrCQkJCQlzaXplb2YocmF3X2RhdGEoYXJncykpKSwgXAorIAkJLnJh d19zaXplID0gc2l6ZW9mKHJhd19kYXRhKGFyZ3MpKSwJCVwKKyAJCS5jb250X2xlbiA9IGNvbnQs CQkJCVwKKyAJfQorQEAgLTY2LDcgKzY4LDcgQEAgc3RydWN0IHRlc3RfZGF0YSB7CisgCQl9OwkJ CQkJCQlcCisgCQlzdGF0aWMgc3RydWN0IHRlc3RfZGF0YSBkYXRhOwkJCQlcCisgCQlkYXRhLm10 dSA9IF9tdHU7CQkJCQlcCistCQlkYXRhLnBkdV9saXN0ID0gZ19tZW1kdXAocGR1cywgc2l6ZW9m KHBkdXMpKTsJCVwKKysJCWRhdGEucGR1X2xpc3QgPSB1dGlsX21lbWR1cChwZHVzLCBzaXplb2Yo cGR1cykpOwlcCisgCQl0ZXN0ZXJfYWRkKG5hbWUsICZkYXRhLCBOVUxMLCB0ZXN0X3NkcCwgTlVM TCk7CQlcCisgCX0gd2hpbGUgKDApCisgCitAQCAtOTIsNyArOTQsNyBAQCBzdHJ1Y3QgdGVzdF9k YXRhX2RlIHsKKyAjZGVmaW5lIGRlZmluZV90ZXN0X2RlX2F0dHIobmFtZSwgaW5wdXQsIGV4cCkg XAorIAlkbyB7CQkJCQkJCQlcCisgCQlzdGF0aWMgc3RydWN0IHRlc3RfZGF0YV9kZSBkYXRhOwkJ CVwKKy0JCWRhdGEuaW5wdXRfZGF0YSA9IGdfbWVtZHVwKGlucHV0LCBzaXplb2YoaW5wdXQpKTsJ XAorKwkJZGF0YS5pbnB1dF9kYXRhID0gdXRpbF9tZW1kdXAoaW5wdXQsIHNpemVvZihpbnB1dCkp OwlcCisgCQlkYXRhLmlucHV0X3NpemUgPSBzaXplb2YoaW5wdXQpOwkJCVwKKyAJCWRhdGEuZXhw ZWN0ZWQgPSBleHA7CQkJCQlcCisgCQl0ZXN0ZXJfYWRkKCIvc2RwL0RFL0FUVFIvIiBuYW1lLCAm ZGF0YSwJTlVMTCwJCVwKK2RpZmYgLS1naXQgYS91bml0L3Rlc3QtdWhpZC5jIGIvdW5pdC90ZXN0 LXVoaWQuYworaW5kZXggMDAxZDM5YTNkLi44YThlZWY4NTUgMTAwNjQ0CistLS0gYS91bml0L3Rl c3QtdWhpZC5jCisrKysgYi91bml0L3Rlc3QtdWhpZC5jCitAQCAtNjEsNyArNjEsNyBAQCBzdHJ1 Y3QgY29udGV4dCB7CisgCQl9OwkJCQkJCQlcCisgCQlzdGF0aWMgc3RydWN0IHRlc3RfZGF0YSBk YXRhOwkJCQlcCisgCQlkYXRhLnRlc3RfbmFtZSA9IGdfc3RyZHVwKG5hbWUpOwkJCVwKKy0JCWRh dGEucGR1X2xpc3QgPSBnX21lbWR1cChwZHVzLCBzaXplb2YocGR1cykpOwkJXAorKwkJZGF0YS5w ZHVfbGlzdCA9IHV0aWxfbWVtZHVwKHBkdXMsIHNpemVvZihwZHVzKSk7CVwKKyAJCXRlc3Rlcl9h ZGQobmFtZSwgJmRhdGEsIE5VTEwsIGZ1bmN0aW9uLCBOVUxMKTsJCVwKKyAJfSB3aGlsZSAoMCkK KyAKKy0tIAorMi4xNy4xCisKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KYnVpbGRyb290IG1haWxpbmcgbGlzdApidWlsZHJvb3RAYnVp bGRyb290Lm9yZwpodHRwczovL2xpc3RzLmJ1aWxkcm9vdC5vcmcvbWFpbG1hbi9saXN0aW5mby9i dWlsZHJvb3QK