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 X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94005C04AAF for ; Tue, 21 May 2019 06:37:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3A20921743 for ; Tue, 21 May 2019 06:37:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726389AbfEUGht (ORCPT ); Tue, 21 May 2019 02:37:49 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:34882 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725790AbfEUGht (ORCPT ); Tue, 21 May 2019 02:37:49 -0400 Received: from localhost (unknown [IPv6:2601:601:9f80:35cd::3d8]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id CEB9614C859F0 for ; Mon, 20 May 2019 23:37:47 -0700 (PDT) Date: Mon, 20 May 2019 23:37:45 -0700 (PDT) Message-Id: <20190520.233745.1944769860995696408.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Mon_May_20_23_37_45_2019_586)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Mon, 20 May 2019 23:37:48 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Mon_May_20_23_37_45_2019_586)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v5.0 and v5.1 -stable, respectively. Thank you! ----Next_Part(Mon_May_20_23_37_45_2019_586)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_50.mbox" RnJvbSAyMWRhODgwZDMwMWQyODkyYWZkNzc4N2Y1ZmIwYzUwOTY1YjdiM2QxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXZWkgV2FuZyA8d2Vpd2FuQGdvb2dsZS5jb20+CkRhdGU6IFRo dSwgMTYgTWF5IDIwMTkgMTM6MzA6NTQgLTA3MDAKU3ViamVjdDogW1BBVENIIDAxLzE4XSBpcHY2 OiBmaXggc3JjIGFkZHIgcm91dGluZyB3aXRoIHRoZSBleGNlcHRpb24gdGFibGUKClsgVXBzdHJl YW0gY29tbWl0IDUxMGUyY2VkYTAzMWVlZDk3YTdhMGY5YWFkNjVkMjcxYTU4YjQ2MGQgXQoKV2hl biBpbnNlcnRpbmcgcm91dGUgY2FjaGUgaW50byB0aGUgZXhjZXB0aW9uIHRhYmxlLCB0aGUga2V5 IGlzCmdlbmVyYXRlZCB3aXRoIGJvdGggc3JjX2FkZHIgYW5kIGRlc3RfYWRkciB3aXRoIHNyYyBh ZGRyIHJvdXRpbmcuCkhvd2V2ZXIsIGN1cnJlbnQgbG9naWMgYWx3YXlzIGFzc3VtZXMgdGhlIHNy Y19hZGRyIHVzZWQgdG8gZ2VuZXJhdGUgdGhlCmtleSBpcyBhIC8xMjggaG9zdCBhZGRyZXNzLiBU aGlzIGlzIG5vdCB0cnVlIGluIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW9zOgoxLiBXaGVuIHRoZSBy b3V0ZSBpcyBhIGdhdGV3YXkgcm91dGUgb3IgZG9lcyBub3QgaGF2ZSBuZXh0IGhvcC4KICAgKHJ0 Nl9pc19nd19vcl9ub25leHRob3AoKSA9PSBmYWxzZSkKMi4gV2hlbiBjYWxsaW5nIGlwNl9ydF9j YWNoZV9hbGxvYygpLCBzYWRkciBpcyBwYXNzZWQgaW4gYXMgTlVMTC4KVGhpcyBtZWFucywgd2hl biBsb29raW5nIGZvciBhIHJvdXRlIGNhY2hlIGluIHRoZSBleGNlcHRpb24gdGFibGUsIHdlCmhh dmUgdG8gZG8gdGhlIGxvb2t1cCB0d2ljZTogZmlyc3QgdGltZSB3aXRoIHRoZSBwYXNzZWQgaW4g LzEyOCBob3N0CmFkZHJlc3MsIHNlY29uZCB0aW1lIHdpdGggdGhlIHNyY19hZGRyIHN0b3JlZCBp biBmaWI2X2luZm8uCgpUaGlzIHNvbHZlcyB0aGUgcG10dSBkaXNjb3ZlcnkgaXNzdWUgcmVwb3J0 ZWQgYnkgTWlrYWVsIE1hZ251c3NvbiB3aGVyZQphIHJvdXRlIGNhY2hlIHdpdGggYSBsb3dlciBt dHUgaW5mbyBpcyBjcmVhdGVkIGZvciBhIGdhdGV3YXkgcm91dGUgd2l0aApzcmMgYWRkci4gSG93 ZXZlciwgdGhlIGxvb2t1cCBjb2RlIGlzIG5vdCBhYmxlIHRvIGZpbmQgdGhpcyByb3V0ZSBjYWNo ZS4KCkZpeGVzOiAyYjc2MGZjZjVjZmIgKCJpcHY2OiBob29rIHVwIGV4Y2VwdGlvbiB0YWJsZSB0 byBzdG9yZSBkc3QgY2FjaGUiKQpSZXBvcnRlZC1ieTogTWlrYWVsIE1hZ251c3NvbiA8bWlrYWVs Lmtlcm5lbEBsaXN0cy5tN24uc2U+CkJpc2VjdGVkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBn bWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IFdlaSBXYW5nIDx3ZWl3YW5AZ29vZ2xlLmNvbT4KQ2M6 IE1hcnRpbiBMYXUgPGthZmFpQGZiLmNvbT4KQ2M6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KQWNrZWQtYnk6IE1hcnRpbiBLYUZhaSBMYXUgPGthZmFpQGZiLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9p cHY2L3JvdXRlLmMgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9yb3V0ZS5jIGIvbmV0L2lwdjYvcm91dGUuYwppbmRl eCA1OWM5MGJiYTA0OGMuLjdhYjk4ODlmY2VkMyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvcm91dGUu YworKysgYi9uZXQvaXB2Ni9yb3V0ZS5jCkBAIC0xMTAsOCArMTEwLDggQEAgc3RhdGljIGludCBy dDZfZmlsbF9ub2RlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCSBp bnQgaWlmLCBpbnQgdHlwZSwgdTMyIHBvcnRpZCwgdTMyIHNlcSwKIAkJCSB1bnNpZ25lZCBpbnQg ZmxhZ3MpOwogc3RhdGljIHN0cnVjdCBydDZfaW5mbyAqcnQ2X2ZpbmRfY2FjaGVkX3J0KHN0cnVj dCBmaWI2X2luZm8gKnJ0LAotCQkJCQkgICBzdHJ1Y3QgaW42X2FkZHIgKmRhZGRyLAotCQkJCQkg ICBzdHJ1Y3QgaW42X2FkZHIgKnNhZGRyKTsKKwkJCQkJICAgY29uc3Qgc3RydWN0IGluNl9hZGRy ICpkYWRkciwKKwkJCQkJICAgY29uc3Qgc3RydWN0IGluNl9hZGRyICpzYWRkcik7CiAKICNpZmRl ZiBDT05GSUdfSVBWNl9ST1VURV9JTkZPCiBzdGF0aWMgc3RydWN0IGZpYjZfaW5mbyAqcnQ2X2Fk ZF9yb3V0ZV9pbmZvKHN0cnVjdCBuZXQgKm5ldCwKQEAgLTE1MjksMzEgKzE1MjksNDQgQEAgdm9p ZCBydDZfZmx1c2hfZXhjZXB0aW9ucyhzdHJ1Y3QgZmliNl9pbmZvICpydCkKICAqIENhbGxlciBo YXMgdG8gaG9sZCByY3VfcmVhZF9sb2NrKCkKICAqLwogc3RhdGljIHN0cnVjdCBydDZfaW5mbyAq cnQ2X2ZpbmRfY2FjaGVkX3J0KHN0cnVjdCBmaWI2X2luZm8gKnJ0LAotCQkJCQkgICBzdHJ1Y3Qg aW42X2FkZHIgKmRhZGRyLAotCQkJCQkgICBzdHJ1Y3QgaW42X2FkZHIgKnNhZGRyKQorCQkJCQkg ICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmRhZGRyLAorCQkJCQkgICBjb25zdCBzdHJ1Y3QgaW42 X2FkZHIgKnNhZGRyKQogeworCWNvbnN0IHN0cnVjdCBpbjZfYWRkciAqc3JjX2tleSA9IE5VTEw7 CiAJc3RydWN0IHJ0Nl9leGNlcHRpb25fYnVja2V0ICpidWNrZXQ7Ci0Jc3RydWN0IGluNl9hZGRy ICpzcmNfa2V5ID0gTlVMTDsKIAlzdHJ1Y3QgcnQ2X2V4Y2VwdGlvbiAqcnQ2X2V4OwogCXN0cnVj dCBydDZfaW5mbyAqcmVzID0gTlVMTDsKIAotCWJ1Y2tldCA9IHJjdV9kZXJlZmVyZW5jZShydC0+ cnQ2aV9leGNlcHRpb25fYnVja2V0KTsKLQogI2lmZGVmIENPTkZJR19JUFY2X1NVQlRSRUVTCiAJ LyogcnQ2aV9zcmMucGxlbiAhPSAwIGluZGljYXRlcyBydCBpcyBpbiBzdWJ0cmVlCiAJICogYW5k IGV4Y2VwdGlvbiB0YWJsZSBpcyBpbmRleGVkIGJ5IGEgaGFzaCBvZgogCSAqIGJvdGggcnQ2aV9k c3QgYW5kIHJ0Nmlfc3JjLgotCSAqIE90aGVyd2lzZSwgdGhlIGV4Y2VwdGlvbiB0YWJsZSBpcyBp bmRleGVkIGJ5Ci0JICogYSBoYXNoIG9mIG9ubHkgcnQ2aV9kc3QuCisJICogSG93ZXZlciwgdGhl IHNyYyBhZGRyIHVzZWQgdG8gY3JlYXRlIHRoZSBoYXNoCisJICogbWlnaHQgbm90IGJlIGV4YWN0 bHkgdGhlIHBhc3NlZCBpbiBzYWRkciB3aGljaAorCSAqIGlzIGEgLzEyOCBhZGRyIGZyb20gdGhl IGZsb3cuCisJICogU28gd2UgbmVlZCB0byB1c2UgZjZpLT5maWI2X3NyYyB0byByZWRvIGxvb2t1 cAorCSAqIGlmIHRoZSBwYXNzZWQgaW4gc2FkZHIgZG9lcyBub3QgZmluZCBhbnl0aGluZy4KKwkg KiAoU2VlIHRoZSBsb2dpYyBpbiBpcDZfcnRfY2FjaGVfYWxsb2MoKSBvbiBob3cKKwkgKiBydC0+ cnQ2aV9zcmMgaXMgdXBkYXRlZC4pCiAJICovCiAJaWYgKHJ0LT5maWI2X3NyYy5wbGVuKQogCQlz cmNfa2V5ID0gc2FkZHI7CitmaW5kX2V4OgogI2VuZGlmCisJYnVja2V0ID0gcmN1X2RlcmVmZXJl bmNlKHJ0LT5ydDZpX2V4Y2VwdGlvbl9idWNrZXQpOwogCXJ0Nl9leCA9IF9fcnQ2X2ZpbmRfZXhj ZXB0aW9uX3JjdSgmYnVja2V0LCBkYWRkciwgc3JjX2tleSk7CiAKIAlpZiAocnQ2X2V4ICYmICFy dDZfY2hlY2tfZXhwaXJlZChydDZfZXgtPnJ0NmkpKQogCQlyZXMgPSBydDZfZXgtPnJ0Nmk7CiAK KyNpZmRlZiBDT05GSUdfSVBWNl9TVUJUUkVFUworCS8qIFVzZSBmaWI2X3NyYyBhcyBzcmNfa2V5 IGFuZCByZWRvIGxvb2t1cCAqLworCWlmICghcmVzICYmIHNyY19rZXkgJiYgc3JjX2tleSAhPSAm cnQtPmZpYjZfc3JjLmFkZHIpIHsKKwkJc3JjX2tleSA9ICZydC0+ZmliNl9zcmMuYWRkcjsKKwkJ Z290byBmaW5kX2V4OworCX0KKyNlbmRpZgorCiAJcmV0dXJuIHJlczsKIH0KIApAQCAtMjYxNCwx MCArMjYyNyw4IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaXA2X210dShjb25zdCBzdHJ1Y3QgZHN0 X2VudHJ5ICpkc3QpCiB1MzIgaXA2X210dV9mcm9tX2ZpYjYoc3RydWN0IGZpYjZfaW5mbyAqZjZp LCBzdHJ1Y3QgaW42X2FkZHIgKmRhZGRyLAogCQkgICAgICBzdHJ1Y3QgaW42X2FkZHIgKnNhZGRy KQogewotCXN0cnVjdCBydDZfZXhjZXB0aW9uX2J1Y2tldCAqYnVja2V0OwotCXN0cnVjdCBydDZf ZXhjZXB0aW9uICpydDZfZXg7Ci0Jc3RydWN0IGluNl9hZGRyICpzcmNfa2V5OwogCXN0cnVjdCBp bmV0Nl9kZXYgKmlkZXY7CisJc3RydWN0IHJ0Nl9pbmZvICpydDsKIAl1MzIgbXR1ID0gMDsKIAog CWlmICh1bmxpa2VseShmaWI2X21ldHJpY19sb2NrZWQoZjZpLCBSVEFYX01UVSkpKSB7CkBAIC0y NjI2LDE4ICsyNjM3LDEwIEBAIHUzMiBpcDZfbXR1X2Zyb21fZmliNihzdHJ1Y3QgZmliNl9pbmZv ICpmNmksIHN0cnVjdCBpbjZfYWRkciAqZGFkZHIsCiAJCQlnb3RvIG91dDsKIAl9CiAKLQlzcmNf a2V5ID0gTlVMTDsKLSNpZmRlZiBDT05GSUdfSVBWNl9TVUJUUkVFUwotCWlmIChmNmktPmZpYjZf c3JjLnBsZW4pCi0JCXNyY19rZXkgPSBzYWRkcjsKLSNlbmRpZgotCi0JYnVja2V0ID0gcmN1X2Rl cmVmZXJlbmNlKGY2aS0+cnQ2aV9leGNlcHRpb25fYnVja2V0KTsKLQlydDZfZXggPSBfX3J0Nl9m aW5kX2V4Y2VwdGlvbl9yY3UoJmJ1Y2tldCwgZGFkZHIsIHNyY19rZXkpOwotCWlmIChydDZfZXgg JiYgIXJ0Nl9jaGVja19leHBpcmVkKHJ0Nl9leC0+cnQ2aSkpCi0JCW10dSA9IGRzdF9tZXRyaWNf cmF3KCZydDZfZXgtPnJ0NmktPmRzdCwgUlRBWF9NVFUpOwotCi0JaWYgKGxpa2VseSghbXR1KSkg eworCXJ0ID0gcnQ2X2ZpbmRfY2FjaGVkX3J0KGY2aSwgZGFkZHIsIHNhZGRyKTsKKwlpZiAodW5s aWtlbHkocnQpKSB7CisJCW10dSA9IGRzdF9tZXRyaWNfcmF3KCZydC0+ZHN0LCBSVEFYX01UVSk7 CisJfSBlbHNlIHsKIAkJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IGZpYjZfaW5mb19uaF9kZXYo ZjZpKTsKIAogCQltdHUgPSBJUFY2X01JTl9NVFU7Ci0tIAoyLjIwLjEKCgpGcm9tIDcxNTdmYTJm MzQ3YWJjZGJlZDAxOTc4OGE5MjQ1NDUzMjM5NzE0Y2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCAxNSBN YXkgMjAxOSAxOTozOTo1MiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMThdIGlwdjY6IHByZXZl bnQgcG9zc2libGUgZmliNiBsZWFrcwoKWyBVcHN0cmVhbSBjb21taXQgNjFmYjBkMDE2ODA3NzFm NzJjYzlkMzk3ODNmYjJjMTIyYWFhZDUxZSBdCgpBdCBpcHY2IHJvdXRlIGRpc21hbnRsZSwgZmli Nl9kcm9wX3BjcHVfZnJvbSgpIGlzIHJlc3BvbnNpYmxlCmZvciBmaW5kaW5nIGFsbCBwZXJjcHUg cm91dGVzIGFuZCBzZXQgdGhlaXIgLT5mcm9tIHBvaW50ZXIKdG8gTlVMTCwgc28gdGhhdCBmaWI2 X3JlZiBjYW4gcmVhY2ggaXRzIGV4cGVjdGVkIHZhbHVlICgxKS4KClRoZSBwcm9ibGVtIHJpZ2h0 IG5vdyBpcyB0aGF0IG90aGVyIGNwdXMgY2FuIHN0aWxsIGNhdGNoIHRoZQpyb3V0ZSBiZWluZyBk ZWxldGVkLCBzaW5jZSB0aGVyZSBpcyBubyByY3UgZ3JhY2UgcGVyaW9kCmJldHdlZW4gdGhlIHJv dXRlIGRlbGV0aW9uIGFuZCBjYWxsIHRvIGZpYjZfZHJvcF9wY3B1X2Zyb20oKQoKVGhpcyBjYW4g bGVhayB0aGUgZmliNiBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMsIHNpbmNlIG5vCm5vdGlmaWVy IHdpbGwgdGFrZSBjYXJlIG9mIHJlbW92aW5nIHRoZSBsYXN0IHJlZmVyZW5jZShzKS4KCkkgZGVj aWRlZCB0byBhZGQgYW5vdGhlciBib29sZWFuIChmaWI2X2Rlc3Ryb3lpbmcpIGluc3RlYWQKb2Yg cmV1c2luZy9yZW5hbWluZyBleGNlcHRpb25fYnVja2V0X2ZsdXNoZWQgdG8gZWFzZSBzdGFibGUg YmFja3BvcnRzLAphbmQgcHJvcGVybHkgZG9jdW1lbnQgdGhlIG1lbW9yeSBiYXJyaWVycyB1c2Vk IHRvIGltcGxlbWVudCB0aGlzIGZpeC4KClRoaXMgcGF0Y2ggaGFzIGJlZW4gY28tZGV2ZWxvcHBl ZCB3aXRoIFdlaSBXYW5nLgoKRml4ZXM6IDkzNTMxYzY3NDMxNSAoIm5ldC9pcHY2OiBzZXBhcmF0 ZSBoYW5kbGluZyBvZiBGSUIgZW50cmllcyBmcm9tIGRzdCBiYXNlZCByb3V0ZXMiKQpTaWduZWQt b2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBz eXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpDYzogV2VpIFdhbmcgPHdlaXdhbkBn b29nbGUuY29tPgpDYzogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpDYzogTWFydGlu IExhdSA8a2FmYWlAZmIuY29tPgpBY2tlZC1ieTogV2VpIFdhbmcgPHdlaXdhbkBnb29nbGUuY29t PgpBY2tlZC1ieTogTWFydGluIEthRmFpIExhdSA8a2FmYWlAZmIuY29tPgpSZXZpZXdlZC1ieTog RGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvaXA2X2ZpYi5oIHwg IDMgKystCiBuZXQvaXB2Ni9pcDZfZmliLmMgICAgfCAxMiArKysrKysrKystLS0KIG5ldC9pcHY2 L3JvdXRlLmMgICAgICB8ICA3ICsrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9pcDZfZmliLmgg Yi9pbmNsdWRlL25ldC9pcDZfZmliLmgKaW5kZXggODQwOTcwMTAyMzdjLi5iNWUzYWRkOTBlOTkg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L2lwNl9maWIuaAorKysgYi9pbmNsdWRlL25ldC9pcDZf ZmliLmgKQEAgLTE3MSw3ICsxNzEsOCBAQCBzdHJ1Y3QgZmliNl9pbmZvIHsKIAkJCQkJZHN0X25v Y291bnQ6MSwKIAkJCQkJZHN0X25vcG9saWN5OjEsCiAJCQkJCWRzdF9ob3N0OjEsCi0JCQkJCXVu dXNlZDozOworCQkJCQlmaWI2X2Rlc3Ryb3lpbmc6MSwKKwkJCQkJdW51c2VkOjI7CiAKIAlzdHJ1 Y3QgZmliNl9uaAkJCWZpYjZfbmg7CiAJc3RydWN0IHJjdV9oZWFkCQkJcmN1OwpkaWZmIC0tZ2l0 IGEvbmV0L2lwdjYvaXA2X2ZpYi5jIGIvbmV0L2lwdjYvaXA2X2ZpYi5jCmluZGV4IDkxMjQ3YTZm YzY3Zi4uOTkxNWY2NGIzOGEwIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfZmliLmMKKysrIGIv bmV0L2lwdjYvaXA2X2ZpYi5jCkBAIC05MDksNiArOTA5LDEyIEBAIHN0YXRpYyB2b2lkIGZpYjZf ZHJvcF9wY3B1X2Zyb20oc3RydWN0IGZpYjZfaW5mbyAqZjZpLAogewogCWludCBjcHU7CiAKKwkv KiBNYWtlIHN1cmUgcnQ2X21ha2VfcGNwdV9yb3V0ZSgpIHdvbnQgYWRkIG90aGVyIHBlcmNwdSBy b3V0ZXMKKwkgKiB3aGlsZSB3ZSBhcmUgY2xlYW5pbmcgdGhlbSBoZXJlLgorCSAqLworCWY2aS0+ ZmliNl9kZXN0cm95aW5nID0gMTsKKwltYigpOyAvKiBwYWlyZWQgd2l0aCB0aGUgY21weGNoZygp IGluIHJ0Nl9tYWtlX3BjcHVfcm91dGUoKSAqLworCiAJLyogcmVsZWFzZSB0aGUgcmVmZXJlbmNl IHRvIHRoaXMgZmliIGVudHJ5IGZyb20KIAkgKiBhbGwgb2YgaXRzIGNhY2hlZCBwY3B1IHJvdXRl cwogCSAqLwpAQCAtOTMyLDYgKzkzOCw5IEBAIHN0YXRpYyB2b2lkIGZpYjZfcHVyZ2VfcnQoc3Ry dWN0IGZpYjZfaW5mbyAqcnQsIHN0cnVjdCBmaWI2X25vZGUgKmZuLAogewogCXN0cnVjdCBmaWI2 X3RhYmxlICp0YWJsZSA9IHJ0LT5maWI2X3RhYmxlOwogCisJaWYgKHJ0LT5ydDZpX3BjcHUpCisJ CWZpYjZfZHJvcF9wY3B1X2Zyb20ocnQsIHRhYmxlKTsKKwogCWlmIChhdG9taWNfcmVhZCgmcnQt PmZpYjZfcmVmKSAhPSAxKSB7CiAJCS8qIFRoaXMgcm91dGUgaXMgdXNlZCBhcyBkdW1teSBhZGRy ZXNzIGhvbGRlciBpbiBzb21lIHNwbGl0CiAJCSAqIG5vZGVzLiBJdCBpcyBub3QgbGVha2VkLCBi dXQgaXQgc3RpbGwgaG9sZHMgb3RoZXIgcmVzb3VyY2VzLApAQCAtOTUzLDkgKzk2Miw2IEBAIHN0 YXRpYyB2b2lkIGZpYjZfcHVyZ2VfcnQoc3RydWN0IGZpYjZfaW5mbyAqcnQsIHN0cnVjdCBmaWI2 X25vZGUgKmZuLAogCQkJZm4gPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKGZuLT5wYXJlbnQs CiAJCQkJICAgIGxvY2tkZXBfaXNfaGVsZCgmdGFibGUtPnRiNl9sb2NrKSk7CiAJCX0KLQotCQlp ZiAocnQtPnJ0NmlfcGNwdSkKLQkJCWZpYjZfZHJvcF9wY3B1X2Zyb20ocnQsIHRhYmxlKTsKIAl9 CiB9CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3JvdXRlLmMgYi9uZXQvaXB2Ni9yb3V0ZS5jCmlu ZGV4IDdhYjk4ODlmY2VkMy4uYjQ3MWFmY2UxMzMwIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9yb3V0 ZS5jCisrKyBiL25ldC9pcHY2L3JvdXRlLmMKQEAgLTEyNjAsNiArMTI2MCwxMyBAQCBzdGF0aWMg c3RydWN0IHJ0Nl9pbmZvICpydDZfbWFrZV9wY3B1X3JvdXRlKHN0cnVjdCBuZXQgKm5ldCwKIAlw cmV2ID0gY21weGNoZyhwLCBOVUxMLCBwY3B1X3J0KTsKIAlCVUdfT04ocHJldik7CiAKKwlpZiAo cnQtPmZpYjZfZGVzdHJveWluZykgeworCQlzdHJ1Y3QgZmliNl9pbmZvICpmcm9tOworCisJCWZy b20gPSB4Y2hnKChfX2ZvcmNlIHN0cnVjdCBmaWI2X2luZm8gKiopJnBjcHVfcnQtPmZyb20sIE5V TEwpOworCQlmaWI2X2luZm9fcmVsZWFzZShmcm9tKTsKKwl9CisKIAlyZXR1cm4gcGNwdV9ydDsK IH0KIAotLSAKMi4yMC4xCgoKRnJvbSAyZDg2YTY1MGJjNzEzZTkzZjJlMWQ3MjliOGQ3ZDMxZjQw NWRlOWE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGbG9yaWFuIEZhaW5lbGxpIDxm LmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAxMyBNYXkgMjAxOSAxNDowNjoyNCAtMDcw MApTdWJqZWN0OiBbUEFUQ0ggMDMvMThdIG5ldDogQWx3YXlzIGRlc2NlbmQgaW50byBkc2EvCgpb IFVwc3RyZWFtIGNvbW1pdCAwZmU5ZjE3M2Q2Y2RhOTU4NzRlZGViNDEzYjFmYTk5MDdiNWFlODMw IF0KCkppcmkgcmVwb3J0ZWQgdGhhdCB3aXRoIGEga2VybmVsIGJ1aWx0IHdpdGggQ09ORklHX0ZJ WEVEX1BIWT15LApDT05GSUdfTkVUX0RTQT1tIGFuZCBDT05GSUdfTkVUX0RTQV9MT09QPW0sIHdl IHdvdWxkIG5vdCBnZXQgdG8gYQpmdW5jdGlvbmFsIHN0YXRlIHdoZXJlIHRoZSBtb2NrLXVwIGRy aXZlciBpcyByZWdpc3RlcmVkLiBUdXJucyBvdXQgdGhhdAp3ZSBhcmUgbm90IGRlc2NlbmRpbmcg aW50byBkcml2ZXJzL25ldC9kc2EvIHVuY29uZGl0aW9uYWxseSwgYW5kIHdlCndvbid0IGJlIGFi bGUgdG8gbGluay1pbiBkc2FfbG9vcF9iZGluZm8ubyB3aGljaCBkb2VzIHRoZSBhY3R1YWwgbW9j ay11cAptZGlvIGRldmljZSByZWdpc3RyYXRpb24uCgpSZXBvcnRlZC1ieTogSmlyaSBQaXJrbyA8 amlyaUByZXNudWxsaS51cz4KRml4ZXM6IDQwMDEzZmYyMGIxYiAoIm5ldDogZHNhOiBGaXggZnVu Y3Rpb25hbCBkc2EtbG9vcCBkZXBlbmRlbmN5IG9uIEZJWEVEX1BIWSIpClNpZ25lZC1vZmYtYnk6 IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogVml2 aWVuIERpZGVsb3QgPHZpdmllbi5kaWRlbG90QGdtYWlsLmNvbT4KVGVzdGVkLWJ5OiBKaXJpIFBp cmtvIDxqaXJpQHJlc251bGxpLnVzPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvTWFrZWZpbGUgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9NYWtlZmlsZSBiL2RyaXZlcnMvbmV0L01ha2VmaWxlCmluZGV4IDIxY2RlN2U3 ODYyMS4uMGQzYmEwNTZjZGEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9NYWtlZmlsZQorKysg Yi9kcml2ZXJzL25ldC9NYWtlZmlsZQpAQCAtNDAsNyArNDAsNyBAQCBvYmotJChDT05GSUdfQVJD TkVUKSArPSBhcmNuZXQvCiBvYmotJChDT05GSUdfREVWX0FQUExFVEFMSykgKz0gYXBwbGV0YWxr Lwogb2JqLSQoQ09ORklHX0NBSUYpICs9IGNhaWYvCiBvYmotJChDT05GSUdfQ0FOKSArPSBjYW4v Ci1vYmotJChDT05GSUdfTkVUX0RTQSkgKz0gZHNhLworb2JqLXkgKz0gZHNhLwogb2JqLSQoQ09O RklHX0VUSEVSTkVUKSArPSBldGhlcm5ldC8KIG9iai0kKENPTkZJR19GRERJKSArPSBmZGRpLwog b2JqLSQoQ09ORklHX0hJUFBJKSArPSBoaXBwaS8KLS0gCjIuMjAuMQoKCkZyb20gNjc0MjljOTI5 NjQ5YzBmOGNhMGNjMzljMWM4YTZkMjRkYmZhYjk4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBUaHUsIDE2IE1h eSAyMDE5IDA4OjA5OjU3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNC8xOF0gbmV0OiBhdm9pZCB3 ZWlyZCBlbWVyZ2VuY3kgbWVzc2FnZQoKWyBVcHN0cmVhbSBjb21taXQgZDdjMDRiMDVjOWNhMTRj NTUzMDllYjEzOTQzMDI4M2E0NWM0YzI1ZiBdCgpXaGVuIGhvc3QgaXMgdW5kZXIgaGlnaCBzdHJl c3MsIGl0IGlzIHZlcnkgcG9zc2libGUgdGhyZWFkCnJ1bm5pbmcgbmV0ZGV2X3dhaXRfYWxscmVm cygpIHJldHVybnMgZnJvbSBtc2xlZXAoMjUwKQoxMCBzZWNvbmRzIGxhdGUuCgpUaGlzIGxlYWRz IHRvIHRoZXNlIG1lc3NhZ2VzIGluIHRoZSBzeXNsb2cgOgoKWy4uLl0gdW5yZWdpc3Rlcl9uZXRk ZXZpY2U6IHdhaXRpbmcgZm9yIHN5el90dW4gdG8gYmVjb21lIGZyZWUuIFVzYWdlIGNvdW50ID0g MAoKSWYgdGhlIGRldmljZSByZWZjb3VudCBpcyB6ZXJvLCB0aGUgd2FpdCBpcyBvdmVyLgoKU2ln bmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1i eTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3JlL2Rldi5jIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L2NvcmUvZGV2LmMgYi9uZXQvY29yZS9kZXYuYwppbmRleCA3Mjc3ZGQzOTNj MDAuLmM4ZTY3MmFjMzJjYiAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrIGIvbmV0L2Nv cmUvZGV2LmMKQEAgLTg4MjksNyArODgyOSw3IEBAIHN0YXRpYyB2b2lkIG5ldGRldl93YWl0X2Fs bHJlZnMoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAogCQlyZWZjbnQgPSBuZXRkZXZfcmVmY250 X3JlYWQoZGV2KTsKIAotCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCB3YXJuaW5nX3RpbWUgKyAx MCAqIEhaKSkgeworCQlpZiAocmVmY250ICYmIHRpbWVfYWZ0ZXIoamlmZmllcywgd2FybmluZ190 aW1lICsgMTAgKiBIWikpIHsKIAkJCXByX2VtZXJnKCJ1bnJlZ2lzdGVyX25ldGRldmljZTogd2Fp dGluZyBmb3IgJXMgdG8gYmVjb21lIGZyZWUuIFVzYWdlIGNvdW50ID0gJWRcbiIsCiAJCQkJIGRl di0+bmFtZSwgcmVmY250KTsKIAkJCXdhcm5pbmdfdGltZSA9IGppZmZpZXM7Ci0tIAoyLjIwLjEK CgpGcm9tIDQ2MmM2ODBkYTkyNjU1MjQ3YjAwYjFmYWYwYTg3MWIyYmYwOGQ2ZjEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFl1bmppYW4gV2FuZyA8d2FuZ3l1bmppYW5AaHVhd2VpLmNv bT4KRGF0ZTogVHVlLCAxNCBNYXkgMjAxOSAxOTowMzoxOSArMDgwMApTdWJqZWN0OiBbUEFUQ0gg MDUvMThdIG5ldC9tbHg0X2NvcmU6IENoYW5nZSB0aGUgZXJyb3IgcHJpbnQgdG8gaW5mbyBwcmlu dAoKWyBVcHN0cmVhbSBjb21taXQgMDBmOWZlYzQ4MTU3ZjM3MzRlNTIxMzBhMTE5ODQ2ZTY3YTEy MzE0YiBdCgpUaGUgZXJyb3IgcHJpbnQgd2l0aGluIG1seDRfZmxvd19zdGVlcl9wcm9taXNjX2Fk ZCgpIHNob3VsZApiZSBhIGluZm8gcHJpbnQuCgpGaXhlczogNTkyZTQ5ZGRhODEyICgnbmV0L21s eDQ6IEltcGxlbWVudCBwcm9taXNjdW91cyBtb2RlIHdpdGggZGV2aWNlIG1hbmFnZWQgZmxvdy1z dGVlcmluZycpClNpZ25lZC1vZmYtYnk6IFl1bmppYW4gV2FuZyA8d2FuZ3l1bmppYW5AaHVhd2Vp LmNvbT4KUmV2aWV3ZWQtYnk6IFRhcmlxIFRvdWthbiA8dGFyaXF0QG1lbGxhbm94LmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvbWNnLmMgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L21jZy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NC9tY2cuYwppbmRleCBmZmVkMmQ0Yzk0MDMuLjljNDgxODIzYjNlOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9tY2cuYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L21jZy5jCkBAIC0xNDkyLDcgKzE0OTIs NyBAQCBpbnQgbWx4NF9mbG93X3N0ZWVyX3Byb21pc2NfYWRkKHN0cnVjdCBtbHg0X2RldiAqZGV2 LCB1OCBwb3J0LAogCXJ1bGUucG9ydCA9IHBvcnQ7CiAJcnVsZS5xcG4gPSBxcG47CiAJSU5JVF9M SVNUX0hFQUQoJnJ1bGUubGlzdCk7Ci0JbWx4NF9lcnIoZGV2LCAiZ29pbmcgcHJvbWlzYyBvbiAl eFxuIiwgcG9ydCk7CisJbWx4NF9pbmZvKGRldiwgImdvaW5nIHByb21pc2Mgb24gJXhcbiIsIHBv cnQpOwogCiAJcmV0dXJuICBtbHg0X2Zsb3dfYXR0YWNoKGRldiwgJnJ1bGUsIHJlZ2lkX3ApOwog fQotLSAKMi4yMC4xCgoKRnJvbSBmMTNmZGYwNWVjYjhiMDFmMjU1OTM2MTQ5YjA3MDg0MGM0OTdh ZmEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxs ZW1iQGdvb2dsZS5jb20+CkRhdGU6IFdlZCwgMTUgTWF5IDIwMTkgMTM6Mjk6MTYgLTA0MDAKU3Vi amVjdDogW1BBVENIIDA2LzE4XSBuZXQ6IHRlc3Qgbm91YXJnIGJlZm9yZSBkZXJlZmVyZW5jaW5n IHplcm9jb3B5IHBvaW50ZXJzCgpbIFVwc3RyZWFtIGNvbW1pdCAxODVjZTVjMzhlYTc2ZjI5YjZi ZDljN2M4YzdhNWU1NDA4ODM0OTIwIF0KClplcm9jb3B5IHNrYnMgd2l0aG91dCBjb21wbGV0aW9u IG5vdGlmaWNhdGlvbiB3ZXJlIGFkZGVkIGZvciBwYWNrZXQKc29ja2V0cyB3aXRoIFBBQ0tFVF9U WF9SSU5HIHVzZXIgYnVmZmVycy4gVGhvc2Ugc2lnbmFsIGNvbXBsZXRpb24KdGhyb3VnaCB0aGUg VFBfU1RBVFVTX1VTRVIgYml0IGluIHRoZSByaW5nLiBaZXJvY29weSBhbm5vdGF0aW9uIHdhcwph ZGRlZCBvbmx5IHRvIGF2b2lkIHByZW1hdHVyZSBub3RpZmljYXRpb24gYWZ0ZXIgY2xvbmUgb3Ig b3JwaGFuLCBieQp0cmlnZ2VyaW5nIGEgY29weSBvbiB0aGVzZSBwYXRocyBmb3IgdGhlc2UgcGFj a2V0cy4KClRoZSBtZWNoYW5pc20gaGFkIHRvIGRlZmluZSBhIHNwZWNpYWwgIm5vLXVhcmciIG1v ZGUgYmVjYXVzZSBwYWNrZXQKc29ja2V0cyBhbHJlYWR5IHVzZSBza2JfdWFyZyhza2IpID09IHNr Yl9zaGluZm8oc2tiKS0+ZGVzdHJ1Y3Rvcl9hcmcKZm9yIGEgZGlmZmVyZW50IHBvaW50ZXIuCgpC ZWZvcmUgZGVmZXJlbmNpbmcgc2tiX3Vhcmcoc2tiKSwgdmVyaWZ5IHRoYXQgaXQgaXMgYSByZWFs IHBvaW50ZXIuCgpGaXhlczogNWNkOGQ0NmVhMTU2MiAoInBhY2tldDogY29weSB1c2VyIGJ1ZmZl cnMgYmVmb3JlIG9ycGhhbiBvciBjbG9uZSIpClNpZ25lZC1vZmYtYnk6IFdpbGxlbSBkZSBCcnVp am4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGludXgvc2tidWZmLmggfCA5ICsrKysr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oIGIvaW5jbHVkZS9saW51eC9za2J1ZmYu aAppbmRleCBiODY3OWRjYmE5NmYuLjNiMWE4ZjM4YTFlZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9s aW51eC9za2J1ZmYuaAorKysgYi9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCkBAIC0xMzY2LDEwICsx MzY2LDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBza2JfemNvcHlfY2xlYXIoc3RydWN0IHNrX2J1 ZmYgKnNrYiwgYm9vbCB6ZXJvY29weSkKIAlzdHJ1Y3QgdWJ1Zl9pbmZvICp1YXJnID0gc2tiX3pj b3B5KHNrYik7CiAKIAlpZiAodWFyZykgewotCQlpZiAodWFyZy0+Y2FsbGJhY2sgPT0gc29ja196 ZXJvY29weV9jYWxsYmFjaykgeworCQlpZiAoc2tiX3pjb3B5X2lzX25vdWFyZyhza2IpKSB7CisJ CQkvKiBubyBub3RpZmljYXRpb24gY2FsbGJhY2sgKi8KKwkJfSBlbHNlIGlmICh1YXJnLT5jYWxs YmFjayA9PSBzb2NrX3plcm9jb3B5X2NhbGxiYWNrKSB7CiAJCQl1YXJnLT56ZXJvY29weSA9IHVh cmctPnplcm9jb3B5ICYmIHplcm9jb3B5OwogCQkJc29ja196ZXJvY29weV9wdXQodWFyZyk7Ci0J CX0gZWxzZSBpZiAoIXNrYl96Y29weV9pc19ub3Vhcmcoc2tiKSkgeworCQl9IGVsc2UgewogCQkJ dWFyZy0+Y2FsbGJhY2sodWFyZywgemVyb2NvcHkpOwogCQl9CiAKQEAgLTI2MjcsNyArMjYyOSw4 IEBAIHN0YXRpYyBpbmxpbmUgaW50IHNrYl9vcnBoYW5fZnJhZ3Moc3RydWN0IHNrX2J1ZmYgKnNr YiwgZ2ZwX3QgZ2ZwX21hc2spCiB7CiAJaWYgKGxpa2VseSghc2tiX3pjb3B5KHNrYikpKQogCQly ZXR1cm4gMDsKLQlpZiAoc2tiX3Vhcmcoc2tiKS0+Y2FsbGJhY2sgPT0gc29ja196ZXJvY29weV9j YWxsYmFjaykKKwlpZiAoIXNrYl96Y29weV9pc19ub3Vhcmcoc2tiKSAmJgorCSAgICBza2JfdWFy Zyhza2IpLT5jYWxsYmFjayA9PSBzb2NrX3plcm9jb3B5X2NhbGxiYWNrKQogCQlyZXR1cm4gMDsK IAlyZXR1cm4gc2tiX2NvcHlfdWJ1ZnMoc2tiLCBnZnBfbWFzayk7CiB9Ci0tIAoyLjIwLjEKCgpG cm9tIGZhODRhZWFmOTI4MzM0MDhjMTdkYmQxMjNhODBiMmIwMGM2MjQzNTEgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IERhbmllbGUgUGFsbWFzIDxkbmxwbG1AZ21haWwuY29tPgpEYXRl OiBXZWQsIDE1IE1heSAyMDE5IDE3OjI5OjQzICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNy8xOF0g bmV0OiB1c2I6IHFtaV93d2FuOiBhZGQgVGVsaXQgMHgxMjYwIGFuZCAweDEyNjEKIGNvbXBvc2l0 aW9ucwpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQg YjRlNDY3YzgyZjhjMTJhZjc4YjZmNmZhNTczMGNiN2RlYTdhZjFiNCBdCgpBZGRlZCBzdXBwb3J0 IGZvciBUZWxpdCBMRTkxMEN4IDB4MTI2MCBhbmQgMHgxMjYxIGNvbXBvc2l0aW9ucy4KClNpZ25l ZC1vZmYtYnk6IERhbmllbGUgUGFsbWFzIDxkbmxwbG1AZ21haWwuY29tPgpBY2tlZC1ieTogQmrD uHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYyB8IDIg KysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC91c2IvcW1pX3d3YW4uYyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCmluZGV4IDkx OTVmMzQ3NmIxZC4uOTQzODljODRlZGU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvcW1p X3d3YW4uYworKysgYi9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYwpAQCAtMTI0MCw2ICsxMjQw LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHByb2R1Y3RzW10gPSB7CiAJ e1FNSV9GSVhFRF9JTlRGKDB4MWJjNywgMHgxMTAxLCAzKX0sCS8qIFRlbGl0IE1FOTEwIGR1YWwg bW9kZW0gKi8KIAl7UU1JX0ZJWEVEX0lOVEYoMHgxYmM3LCAweDEyMDAsIDUpfSwJLyogVGVsaXQg TEU5MjAgKi8KIAl7UU1JX1FVSVJLX1NFVF9EVFIoMHgxYmM3LCAweDEyMDEsIDIpfSwJLyogVGVs aXQgTEU5MjAsIExFOTIwQTQgKi8KKwl7UU1JX1FVSVJLX1NFVF9EVFIoMHgxYmM3LCAweDEyNjAs IDIpfSwJLyogVGVsaXQgTEU5MTBDeCAqLworCXtRTUlfUVVJUktfU0VUX0RUUigweDFiYzcsIDB4 MTI2MSwgMil9LAkvKiBUZWxpdCBMRTkxMEN4ICovCiAJe1FNSV9RVUlSS19TRVRfRFRSKDB4MWJj NywgMHgxOTAwLCAxKX0sCS8qIFRlbGl0IExOOTQwIHNlcmllcyAqLwogCXtRTUlfRklYRURfSU5U RigweDFjOWUsIDB4OTgwMSwgMyl9LAkvKiBUZWxld2VsbCBUVy0zRyBIU1BBKyAqLwogCXtRTUlf RklYRURfSU5URigweDFjOWUsIDB4OTgwMywgNCl9LAkvKiBUZWxld2VsbCBUVy0zRyBIU1BBKyAq LwotLSAKMi4yMC4xCgoKRnJvbSAyOWM3NTU1ZGViNWVjNTRkMzRkMDg0Y2E1NzdmMWE0OGIzZjQ2 OGJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQaWV0ZXIgSmFuc2VuIHZhbiBWdXVy ZW4gPHBpZXRlci5qYW5zZW52YW52dXVyZW5AbmV0cm9ub21lLmNvbT4KRGF0ZTogVHVlLCAxNCBN YXkgMjAxOSAxNDoyODoxOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMThdIG5mcDogZmxvd2Vy OiBhZGQgcmN1IGxvY2tzIHdoZW4gYWNjZXNzaW5nIG5ldGRldiBmb3IKIHR1bm5lbHMKClsgVXBz dHJlYW0gY29tbWl0IGNiMDdkOTE1YmYyNzhhN2EzOTM4Yjk4M2JiY2I0OTIxMzY2YjVlZmYgXQoK QWRkIHJjdSBsb2NrcyB3aGVuIGFjY2Vzc2luZyBuZXRkZXYgd2hlbiBwcm9jZXNzaW5nIHJvdXRl IHJlcXVlc3QKYW5kIHR1bm5lbCBrZWVwIGFsaXZlIG1lc3NhZ2VzIHJlY2VpdmVkIGZyb20gaGFy ZHdhcmUuCgpGaXhlczogOGU2YTkwNDZiNjZhICgibmZwOiBmbG93ZXIgdnhsYW4gbmVpZ2hib3Vy IG9mZmxvYWQiKQpGaXhlczogODU2ZjViMTM1NzU4ICgibmZwOiBmbG93ZXIgdnhsYW4gbmVpZ2hi b3VyIGtlZXAtYWxpdmUiKQpTaWduZWQtb2ZmLWJ5OiBQaWV0ZXIgSmFuc2VuIHZhbiBWdXVyZW4g PHBpZXRlci5qYW5zZW52YW52dXVyZW5AbmV0cm9ub21lLmNvbT4KUmV2aWV3ZWQtYnk6IEpha3Vi IEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgpSZXZpZXdlZC1ieTogSm9o biBIdXJsZXkgPGpvaG4uaHVybGV5QG5ldHJvbm9tZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiAuLi4vZXRoZXJuZXQvbmV0cm9u b21lL25mcC9mbG93ZXIvdHVubmVsX2NvbmYuYyB8IDE3ICsrKysrKysrKysrLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9uZXRyb25vbWUvbmZwL2Zsb3dlci90dW5uZWxfY29uZi5j IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvdHVubmVsX2NvbmYu YwppbmRleCAyZDlmMjZhNzI1YzIuLjM3YmQyZGJjZDIwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvdHVubmVsX2NvbmYuYworKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9uZXRyb25vbWUvbmZwL2Zsb3dlci90dW5uZWxfY29uZi5jCkBAIC0x NjQsNiArMTY0LDcgQEAgdm9pZCBuZnBfdHVubmVsX2tlZXBfYWxpdmUoc3RydWN0IG5mcF9hcHAg KmFwcCwgc3RydWN0IHNrX2J1ZmYgKnNrYikKIAkJcmV0dXJuOwogCX0KIAorCXJjdV9yZWFkX2xv Y2soKTsKIAlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogCQlpcHY0X2FkZHIgPSBwYXls b2FkLT50dW5faW5mb1tpXS5pcHY0OwogCQlwb3J0ID0gYmUzMl90b19jcHUocGF5bG9hZC0+dHVu X2luZm9baV0uZWdyZXNzX3BvcnQpOwpAQCAtMTc5LDYgKzE4MCw3IEBAIHZvaWQgbmZwX3R1bm5l bF9rZWVwX2FsaXZlKHN0cnVjdCBuZnBfYXBwICphcHAsIHN0cnVjdCBza19idWZmICpza2IpCiAJ CW5laWdoX2V2ZW50X3NlbmQobiwgTlVMTCk7CiAJCW5laWdoX3JlbGVhc2Uobik7CiAJfQorCXJj dV9yZWFkX3VubG9jaygpOwogfQogCiBzdGF0aWMgaW50CkBAIC0zNjIsOSArMzY0LDEwIEBAIHZv aWQgbmZwX3R1bm5lbF9yZXF1ZXN0X3JvdXRlKHN0cnVjdCBuZnBfYXBwICphcHAsIHN0cnVjdCBz a19idWZmICpza2IpCiAKIAlwYXlsb2FkID0gbmZwX2Zsb3dlcl9jbXNnX2dldF9kYXRhKHNrYik7 CiAKKwlyY3VfcmVhZF9sb2NrKCk7CiAJbmV0ZGV2ID0gbmZwX2FwcF9yZXByX2dldChhcHAsIGJl MzJfdG9fY3B1KHBheWxvYWQtPmluZ3Jlc3NfcG9ydCkpOwogCWlmICghbmV0ZGV2KQotCQlnb3Rv IHJvdXRlX2ZhaWxfd2FybmluZzsKKwkJZ290byBmYWlsX3JjdV91bmxvY2s7CiAKIAlmbG93LmRh ZGRyID0gcGF5bG9hZC0+aXB2NF9hZGRyOwogCWZsb3cuZmxvd2k0X3Byb3RvID0gSVBQUk9UT19V RFA7CkBAIC0zNzQsMjEgKzM3NywyMyBAQCB2b2lkIG5mcF90dW5uZWxfcmVxdWVzdF9yb3V0ZShz dHJ1Y3QgbmZwX2FwcCAqYXBwLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCXJ0ID0gaXBfcm91dGVf b3V0cHV0X2tleShkZXZfbmV0KG5ldGRldiksICZmbG93KTsKIAllcnIgPSBQVFJfRVJSX09SX1pF Uk8ocnQpOwogCWlmIChlcnIpCi0JCWdvdG8gcm91dGVfZmFpbF93YXJuaW5nOworCQlnb3RvIGZh aWxfcmN1X3VubG9jazsKICNlbHNlCi0JZ290byByb3V0ZV9mYWlsX3dhcm5pbmc7CisJZ290byBm YWlsX3JjdV91bmxvY2s7CiAjZW5kaWYKIAogCS8qIEdldCB0aGUgbmVpZ2hib3VyIGVudHJ5IGZv ciB0aGUgbG9va3VwICovCiAJbiA9IGRzdF9uZWlnaF9sb29rdXAoJnJ0LT5kc3QsICZmbG93LmRh ZGRyKTsKIAlpcF9ydF9wdXQocnQpOwogCWlmICghbikKLQkJZ290byByb3V0ZV9mYWlsX3dhcm5p bmc7Ci0JbmZwX3R1bl93cml0ZV9uZWlnaChuLT5kZXYsIGFwcCwgJmZsb3csIG4sIEdGUF9LRVJO RUwpOworCQlnb3RvIGZhaWxfcmN1X3VubG9jazsKKwluZnBfdHVuX3dyaXRlX25laWdoKG4tPmRl diwgYXBwLCAmZmxvdywgbiwgR0ZQX0FUT01JQyk7CiAJbmVpZ2hfcmVsZWFzZShuKTsKKwlyY3Vf cmVhZF91bmxvY2soKTsKIAlyZXR1cm47CiAKLXJvdXRlX2ZhaWxfd2FybmluZzoKK2ZhaWxfcmN1 X3VubG9jazoKKwlyY3VfcmVhZF91bmxvY2soKTsKIAluZnBfZmxvd2VyX2Ntc2dfd2FybihhcHAs ICJSZXF1ZXN0ZWQgcm91dGUgbm90IGZvdW5kLlxuIik7CiB9CiAKLS0gCjIuMjAuMQoKCkZyb20g ZDYzYWQ2M2JmMTVmZTEzYWYxNzczNWI0YTMxZTQ4Y2M0MjdlOTRhYiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogWXVlSGFpYmluZyA8eXVlaGFpYmluZ0BodWF3ZWkuY29tPgpEYXRlOiBU dWUsIDE0IE1heSAyMDE5IDIyOjU1OjMyICswODAwClN1YmplY3Q6IFtQQVRDSCAwOS8xOF0gcHBw OiBkZWZsYXRlOiBGaXggcG9zc2libGUgY3Jhc2ggaW4gZGVmbGF0ZV9pbml0CgpbIFVwc3RyZWFt IGNvbW1pdCAzZWJlMWJjYTU4Yzg1MzI1Yzk3YTIyZDRmYzNmNWI1NDIwNzUyZTZmIF0KCkJVRzog dW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgZmZmZmZmZmZhMDE4ZjAw MApQR0QgMzI3MDA2NyBQNEQgMzI3MDA2NyBQVUQgMzI3MTA2MyBQTUQgMjMwN2ViMDY3IFBURSAw Ck9vcHM6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUApDUFU6IDAgUElEOiA0MTM4IENvbW06IG1vZHBy b2JlIE5vdCB0YWludGVkIDUuMS4wLXJjNysgIzEKSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFy ZCBQQyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MKcmVsLTEuOS4zLTAtZ2UyZmM0MWUtcHJl YnVpbHQucWVtdS1wcm9qZWN0Lm9yZyAwNC8wMS8yMDE0ClJJUDogMDAxMDpwcHBfcmVnaXN0ZXJf Y29tcHJlc3NvcisweDNlLzB4ZDAgW3BwcF9nZW5lcmljXQpDb2RlOiA5OCA0YSAzZiBlMiA0OCA4 YiAxNSBjMSA2NyAwMCAwMCA0MSA4YiAwYyAyNCA0OCA4MSBmYSA0MCBmMCAxOSBhMAo3NSAwZSBl YiAzNSA0OCA4YiAxMiA0OCA4MSBmYSA0MCBmMCAxOSBhMCA3NApSU1A6IDAwMTg6ZmZmZmM5MDAw MGQ5M2M2OCBFRkxBR1M6IDAwMDEwMjg3ClJBWDogZmZmZmZmZmZhMDE4ZjAwMCBSQlg6IGZmZmZm ZmZmYTAxYTMwMDAgUkNYOiAwMDAwMDAwMDAwMDAwMDFhClJEWDogZmZmZjg4ODIzMGM3NTBhMCBS U0k6IDAwMDAwMDAwMDAwMDAwMDAgUkRJOiBmZmZmZmZmZmEwMTlmMDAwClJCUDogZmZmZmM5MDAw MGQ5M2M4MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClIxMDog MDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAwMDAgUjEyOiBmZmZmZmZmZmEwMTk0 MDgwClIxMzogZmZmZjg4ODIyZWUxYTcwMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiBmZmZm YzkwMDAwZDkzZTc4CkZTOiAgMDAwMDdmMjMzOTU1NzU0MCgwMDAwKSBHUzpmZmZmODg4MjM3YTAw MDAwKDAwMDApCmtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAw MDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IGZmZmZmZmZmYTAxOGYwMDAgQ1IzOiAwMDAw MDAwMjJiZGU0MDAwIENSNDogMDAwMDAwMDAwMDAwMDZmMApDYWxsIFRyYWNlOgogPyAweGZmZmZm ZmZmYTAxYTMwMDAKIGRlZmxhdGVfaW5pdCsweDExLzB4MTAwMCBbcHBwX2RlZmxhdGVdCiA/IDB4 ZmZmZmZmZmZhMDFhMzAwMAogZG9fb25lX2luaXRjYWxsKzB4NmMvMHgzY2MKID8ga21lbV9jYWNo ZV9hbGxvY190cmFjZSsweDI0OC8weDNiMAogZG9faW5pdF9tb2R1bGUrMHg1Yi8weDFmMQogbG9h ZF9tb2R1bGUrMHgxZGIxLzB4MjY5MAogPyBtX3Nob3crMHgxZDAvMHgxZDAKIF9fZG9fc3lzX2Zp bml0X21vZHVsZSsweGM1LzB4ZDAKIF9feDY0X3N5c19maW5pdF9tb2R1bGUrMHgxNS8weDIwCiBk b19zeXNjYWxsXzY0KzB4NmIvMHgxZDAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsw eDQ5LzB4YmUKCklmIHBwcF9kZWZsYXRlIGZhaWxzIHRvIHJlZ2lzdGVyIGluIGRlZmxhdGVfaW5p dCwKbW9kdWxlIGluaXRpYWxpemF0aW9uIGZhaWxlZCBvdXQsIGhvd2V2ZXIKcHBwX2RlZmxhdGVf ZHJhZnQgbWF5IGhhcyBiZWVuIHJlZ2llc3RyZWQgYW5kIG5vdAp1bnJlZ2lzdGVyZWQgYmVmb3Jl IHJldHVybi4KVGhlbiB0aGUgc2Vjb25lZCBtb2Rwcm9iZSB3aWxsIHRyaWdnZXIgY3Jhc2ggbGlr ZSB0aGlzLgoKUmVwb3J0ZWQtYnk6IEh1bGsgUm9ib3QgPGh1bGtjaUBodWF3ZWkuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBZdWVIYWliaW5nIDx5dWVoYWliaW5nQGh1YXdlaS5jb20+CkFja2VkLWJ5OiBH dWlsbGF1bWUgTmF1bHQgPGduYXVsdEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcHBwL3BwcF9k ZWZsYXRlLmMgfCAyMCArKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE0IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBw L3BwcF9kZWZsYXRlLmMgYi9kcml2ZXJzL25ldC9wcHAvcHBwX2RlZmxhdGUuYwppbmRleCBiNWVk YzdmOTZhMzkuLjY4NWU4NzVmNTE2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcHBwL3BwcF9k ZWZsYXRlLmMKKysrIGIvZHJpdmVycy9uZXQvcHBwL3BwcF9kZWZsYXRlLmMKQEAgLTYxMCwxMiAr NjEwLDIwIEBAIHN0YXRpYyBzdHJ1Y3QgY29tcHJlc3NvciBwcHBfZGVmbGF0ZV9kcmFmdCA9IHsK IAogc3RhdGljIGludCBfX2luaXQgZGVmbGF0ZV9pbml0KHZvaWQpCiB7Ci0gICAgICAgIGludCBh bnN3ZXIgPSBwcHBfcmVnaXN0ZXJfY29tcHJlc3NvcigmcHBwX2RlZmxhdGUpOwotICAgICAgICBp ZiAoYW5zd2VyID09IDApCi0gICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTwotCQkgICAg ICAgIlBQUCBEZWZsYXRlIENvbXByZXNzaW9uIG1vZHVsZSByZWdpc3RlcmVkXG4iKTsKLQlwcHBf cmVnaXN0ZXJfY29tcHJlc3NvcigmcHBwX2RlZmxhdGVfZHJhZnQpOwotICAgICAgICByZXR1cm4g YW5zd2VyOworCWludCByYzsKKworCXJjID0gcHBwX3JlZ2lzdGVyX2NvbXByZXNzb3IoJnBwcF9k ZWZsYXRlKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXJjID0gcHBwX3JlZ2lzdGVyX2Nv bXByZXNzb3IoJnBwcF9kZWZsYXRlX2RyYWZ0KTsKKwlpZiAocmMpIHsKKwkJcHBwX3VucmVnaXN0 ZXJfY29tcHJlc3NvcigmcHBwX2RlZmxhdGUpOworCQlyZXR1cm4gcmM7CisJfQorCisJcHJfaW5m bygiUFBQIERlZmxhdGUgQ29tcHJlc3Npb24gbW9kdWxlIHJlZ2lzdGVyZWRcbiIpOworCXJldHVy biAwOwogfQogCiBzdGF0aWMgdm9pZCBfX2V4aXQgZGVmbGF0ZV9jbGVhbnVwKHZvaWQpCi0tIAoy LjIwLjEKCgpGcm9tIDlkNzExMGQ2NDNiNTcxNmJjYTVkMjc3Y2I1NzBlNmRmMDJjMGVhZDQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25h aWwubmV0PgpEYXRlOiBUdWUsIDE0IE1heSAyMDE5IDE1OjEyOjE5ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxMC8xOF0gcnRuZXRsaW5rOiBhbHdheXMgcHV0IElGTEFfTElOSyBmb3IgbGlua3Mgd2l0 aCBhCiBsaW5rLW5ldG5zaWQKClsgVXBzdHJlYW0gY29tbWl0IGZlYWRjNGI2Y2Y0MmE1M2E4YTkz YzkxOGE1NjlhMGI3ZTYyYmQzNTAgXQoKQ3VycmVudGx5LCBubGFfcHV0X2lmbGluaygpIGRvZXNu J3QgcHV0IHRoZSBJRkxBX0xJTksgYXR0cmlidXRlIHdoZW4KaWZsaW5rID09IGlmaW5kZXguCgpJ biBzb21lIGNhc2VzLCBhIGRldmljZSBjYW4gYmUgY3JlYXRlZCBpbiBhIGRpZmZlcmVudCBuZXRu cyB3aXRoIHRoZQpzYW1lIGlmaW5kZXggYXMgaXRzIHBhcmVudC4gVGhhdCBkZXZpY2Ugd2lsbCBu b3QgZHVtcCBpdHMgSUZMQV9MSU5LCmF0dHJpYnV0ZSwgd2hpY2ggY2FuIGNvbmZ1c2Ugc29tZSB1 c2Vyc3BhY2Ugc29mdHdhcmUgdGhhdCBleHBlY3RzIGl0LgpGb3IgZXhhbXBsZSwgaWYgdGhlIGxh c3QgaWZpbmRleCBjcmVhdGVkIGluIGluaXRfbmV0IGFuZCBmb28gYXJlIGJvdGgKOCwgdGhlc2Ug Y29tbWFuZHMgd2lsbCB0cmlnZ2VyIHRoZSBpc3N1ZToKCiAgICBpcCBsaW5rIGFkZCBwYXJlbnQg dHlwZSBkdW1teSAgICAgICAgICAgICAgICAgICAjIGlmaW5kZXggOQogICAgaXAgbGluayBhZGQg bGluayBwYXJlbnQgbmV0bnMgZm9vIHR5cGUgbWFjdmxhbiAgIyBpZmluZGV4IDkgaW4gbnMgZm9v CgpTbywgaW4gY2FzZSBhIGRldmljZSBwdXRzIHRoZSBJRkxBX0xJTktfTkVUTlNJRCBhdHRyaWJ1 dGUgaW4gYSBkdW1wLAphbHdheXMgcHV0IHRoZSBJRkxBX0xJTksgYXR0cmlidXRlIGFzIHdlbGwu CgpUaGFua3MgdG8gRGFuIFdpbnNoaXAgZm9yIGFuYWx5emluZyB0aGUgb3JpZ2luYWwgT3BlblNo aWZ0IGJ1ZyBkb3duIHRvCnRoZSBtaXNzaW5nIG5ldGxpbmsgYXR0cmlidXRlLgoKdjI6IGNoYW5n ZSBGaXhlcyB0YWcsIGl0J3MgYmVlbiBoZXJlIGZvcmV2ZXIsIGFzIE5pY29sYXMgRGljaHRlbCBz YWlkCiAgICBhZGQgTmljb2xhcycgYWNrCnYzOiBjaGFuZ2UgRml4ZXMgdGFnCiAgICBmaXggc3Vi amVjdCB0eXBvLCBzcG90dGVkIGJ5IEVkd2FyZCBDcmVlCgpBbmFseXplZC1ieTogRGFuIFdpbnNo aXAgPGRhbndAcmVkaGF0LmNvbT4KRml4ZXM6IGQ4YTVlYzY3Mjc2OCAoIltORVRdOiBuZXRsaW5r IHN1cHBvcnQgZm9yIG1vdmluZyBkZXZpY2VzIGJldHdlZW4gbmV0d29yayBuYW1lc3BhY2VzLiIp ClNpZ25lZC1vZmYtYnk6IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpBY2tl ZC1ieTogTmljb2xhcyBEaWNodGVsIDxuaWNvbGFzLmRpY2h0ZWxANndpbmQuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2Nv cmUvcnRuZXRsaW5rLmMgfCAxNiArKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAg aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9ydG5l dGxpbmsuYyBiL25ldC9jb3JlL3J0bmV0bGluay5jCmluZGV4IDVlYTFiZWQwOGVkZS4uZmQ0NDkw MTdjNTVlIDEwMDY0NAotLS0gYS9uZXQvY29yZS9ydG5ldGxpbmsuYworKysgYi9uZXQvY29yZS9y dG5ldGxpbmsuYwpAQCAtMTUwMiwxNCArMTUwMiwxNSBAQCBzdGF0aWMgaW50IHB1dF9tYXN0ZXJf aWZpbmRleChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCXJl dHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgbmxhX3B1dF9pZmxpbmsoc3RydWN0IHNrX2J1ZmYg KnNrYiwgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2UgKmRldikKK3N0YXRpYyBpbnQgbmxhX3B1dF9p Zmxpbmsoc3RydWN0IHNrX2J1ZmYgKnNrYiwgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwK KwkJCSAgYm9vbCBmb3JjZSkKIHsKIAlpbnQgaWZpbmRleCA9IGRldl9nZXRfaWZsaW5rKGRldik7 CiAKLQlpZiAoZGV2LT5pZmluZGV4ID09IGlmaW5kZXgpCi0JCXJldHVybiAwOworCWlmIChmb3Jj ZSB8fCBkZXYtPmlmaW5kZXggIT0gaWZpbmRleCkKKwkJcmV0dXJuIG5sYV9wdXRfdTMyKHNrYiwg SUZMQV9MSU5LLCBpZmluZGV4KTsKIAotCXJldHVybiBubGFfcHV0X3UzMihza2IsIElGTEFfTElO SywgaWZpbmRleCk7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBub2lubGluZV9mb3Jfc3RhY2sg aW50IG5sYV9wdXRfaWZhbGlhcyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLApAQCAtMTUyNiw2ICsxNTI3 LDggQEAgc3RhdGljIGludCBydG5sX2ZpbGxfbGlua19uZXRuc2lkKHN0cnVjdCBza19idWZmICpz a2IsCiAJCQkJICBjb25zdCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCQkJCSAgc3RydWN0IG5l dCAqc3JjX25ldCkKIHsKKwlib29sIHB1dF9pZmxpbmsgPSBmYWxzZTsKKwogCWlmIChkZXYtPnJ0 bmxfbGlua19vcHMgJiYgZGV2LT5ydG5sX2xpbmtfb3BzLT5nZXRfbGlua19uZXQpIHsKIAkJc3Ry dWN0IG5ldCAqbGlua19uZXQgPSBkZXYtPnJ0bmxfbGlua19vcHMtPmdldF9saW5rX25ldChkZXYp OwogCkBAIC0xNTM0LDEwICsxNTM3LDEyIEBAIHN0YXRpYyBpbnQgcnRubF9maWxsX2xpbmtfbmV0 bnNpZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCiAJCQlpZiAobmxhX3B1dF9zMzIoc2tiLCBJRkxB X0xJTktfTkVUTlNJRCwgaWQpKQogCQkJCXJldHVybiAtRU1TR1NJWkU7CisKKwkJCXB1dF9pZmxp bmsgPSB0cnVlOwogCQl9CiAJfQogCi0JcmV0dXJuIDA7CisJcmV0dXJuIG5sYV9wdXRfaWZsaW5r KHNrYiwgZGV2LCBwdXRfaWZsaW5rKTsKIH0KIAogc3RhdGljIGludCBydG5sX2ZpbGxfbGlua19h ZihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLApAQCAtMTYyMyw3ICsxNjI4LDYgQEAgc3RhdGljIGludCBy dG5sX2ZpbGxfaWZpbmZvKHN0cnVjdCBza19idWZmICpza2IsCiAjaWZkZWYgQ09ORklHX1JQUwog CSAgICBubGFfcHV0X3UzMihza2IsIElGTEFfTlVNX1JYX1FVRVVFUywgZGV2LT5udW1fcnhfcXVl dWVzKSB8fAogI2VuZGlmCi0JICAgIG5sYV9wdXRfaWZsaW5rKHNrYiwgZGV2KSB8fAogCSAgICBw dXRfbWFzdGVyX2lmaW5kZXgoc2tiLCBkZXYpIHx8CiAJICAgIG5sYV9wdXRfdTgoc2tiLCBJRkxB X0NBUlJJRVIsIG5ldGlmX2NhcnJpZXJfb2soZGV2KSkgfHwKIAkgICAgKGRldi0+cWRpc2MgJiYK LS0gCjIuMjAuMQoKCkZyb20gMzYyNDFhYWVlOGRiYzQwMWM2MDk2ZjA0ZjQxZWViNjk5NjliOGE5 MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSnVud2VpIEh1IDxodWp1bndlaTRAaHVh d2VpLmNvbT4KRGF0ZTogVGh1LCAxNiBNYXkgMjAxOSAxMDo1MToxNSArMDgwMApTdWJqZWN0OiBb UEFUQ0ggMTEvMThdIHRpcGM6IHN3aXRjaCBvcmRlciBvZiBkZXZpY2UgcmVnaXN0cmF0aW9uIHRv IGZpeCBhCiBjcmFzaAoKWyBVcHN0cmVhbSBjb21taXQgN2UyN2U4ZDYxMzBjNWU4OGZhYzlkZGVj NDI0OWY3ZjIzMzdmZTdmOCBdCgpXaGVuIHRpcGMgaXMgbG9hZGVkIHdoaWxlIG1hbnkgcHJvY2Vz c2VzIHRyeSB0byBjcmVhdGUgYSBUSVBDIHNvY2tldCwKYSBjcmFzaCBvY2N1cnM6CiBQQU5JQzog VW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgdmlydHVhbAogYWRkcmVz cyAiZGZmZjIwMDAwMDAwMDIxZCIKIHBjIDogdGlwY19za19jcmVhdGUrMHgzNzQvMHgxMTgwIFt0 aXBjXQogbHIgOiB0aXBjX3NrX2NyZWF0ZSsweDM3NC8weDExODAgW3RpcGNdCiAgIEV4Y2VwdGlv biBjbGFzcyA9IERBQlQgKGN1cnJlbnQgRUwpLCBJTCA9IDMyIGJpdHMKIENhbGwgdHJhY2U6CiAg dGlwY19za19jcmVhdGUrMHgzNzQvMHgxMTgwIFt0aXBjXQogIF9fc29ja19jcmVhdGUrMHgxY2Mv MHg0MDgKICBfX3N5c19zb2NrZXQrMHhlYy8weDFmMAogIF9fYXJtNjRfc3lzX3NvY2tldCsweDc0 LzB4YTgKIC4uLgoKVGhpcyBpcyBkdWUgdG8gcmFjZSBiZXR3ZWVuIHNvY2tfY3JlYXRlIGFuZCB1 bmZpbmlzaGVkCnJlZ2lzdGVyX3Blcm5ldF9kZXZpY2UuIHRpcGNfc2tfaW5zZXJ0IHRyaWVzIHRv IGRvCiJuZXRfZ2VuZXJpYyhuZXQsIHRpcGNfbmV0X2lkKSIuCmJ1dCB0aXBjX25ldF9pZCBpcyBu b3QgaW5pdGlhbGl6ZWQgeWV0LgoKU28gc3dpdGNoIHRoZSBvcmRlciBvZiB0aGUgdHdvIHRvIGNs b3NlIHRoZSByYWNlLgoKVGhpcyBjYW4gYmUgcmVwcm9kdWNlZCB3aXRoIG11bHRpcGxlIHByb2Nl c3NlcyBkb2luZyBzb2NrZXQoQUZfVElQQywgLi4uKQphbmQgb25lIHByb2Nlc3MgZG9pbmcgbW9k dWxlIHJlbW92YWwuCgpGaXhlczogYTYyZmJjY2VjZDYyICgidGlwYzogbWFrZSBzdWJzY3JpYmVy IHNlcnZlciBzdXBwb3J0IG5ldCBuYW1lc3BhY2UiKQpTaWduZWQtb2ZmLWJ5OiBKdW53ZWkgSHUg PGh1anVud2VpNEBodWF3ZWkuY29tPgpSZXBvcnRlZC1ieTogV2FuZyBXYW5nIDx3YW5nd2FuZzJA aHVhd2VpLmNvbT4KUmV2aWV3ZWQtYnk6IFhpYW9nYW5nIFdhbmcgPHdhbmd4aWFvZ2FuZzNAaHVh d2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC90aXBjL2NvcmUuYyB8IDE0ICsrKysrKystLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC90 aXBjL2NvcmUuYyBiL25ldC90aXBjL2NvcmUuYwppbmRleCA1YjM4ZjUxNjQyODEuLmRiZmMxZThi Mjg2NiAxMDA2NDQKLS0tIGEvbmV0L3RpcGMvY29yZS5jCisrKyBiL25ldC90aXBjL2NvcmUuYwpA QCAtMTI5LDEwICsxMjksNiBAQCBzdGF0aWMgaW50IF9faW5pdCB0aXBjX2luaXQodm9pZCkKIAlp ZiAoZXJyKQogCQlnb3RvIG91dF9uZXRsaW5rX2NvbXBhdDsKIAotCWVyciA9IHRpcGNfc29ja2V0 X2luaXQoKTsKLQlpZiAoZXJyKQotCQlnb3RvIG91dF9zb2NrZXQ7Ci0KIAllcnIgPSB0aXBjX3Jl Z2lzdGVyX3N5c2N0bCgpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3N5c2N0bDsKQEAgLTE0MSw2 ICsxMzcsMTAgQEAgc3RhdGljIGludCBfX2luaXQgdGlwY19pbml0KHZvaWQpCiAJaWYgKGVycikK IAkJZ290byBvdXRfcGVybmV0OwogCisJZXJyID0gdGlwY19zb2NrZXRfaW5pdCgpOworCWlmIChl cnIpCisJCWdvdG8gb3V0X3NvY2tldDsKKwogCWVyciA9IHRpcGNfYmVhcmVyX3NldHVwKCk7CiAJ aWYgKGVycikKIAkJZ290byBvdXRfYmVhcmVyOwpAQCAtMTQ4LDEyICsxNDgsMTIgQEAgc3RhdGlj IGludCBfX2luaXQgdGlwY19pbml0KHZvaWQpCiAJcHJfaW5mbygiU3RhcnRlZCBpbiBzaW5nbGUg bm9kZSBtb2RlXG4iKTsKIAlyZXR1cm4gMDsKIG91dF9iZWFyZXI6CisJdGlwY19zb2NrZXRfc3Rv cCgpOworb3V0X3NvY2tldDoKIAl1bnJlZ2lzdGVyX3Blcm5ldF9zdWJzeXMoJnRpcGNfbmV0X29w cyk7CiBvdXRfcGVybmV0OgogCXRpcGNfdW5yZWdpc3Rlcl9zeXNjdGwoKTsKIG91dF9zeXNjdGw6 Ci0JdGlwY19zb2NrZXRfc3RvcCgpOwotb3V0X3NvY2tldDoKIAl0aXBjX25ldGxpbmtfY29tcGF0 X3N0b3AoKTsKIG91dF9uZXRsaW5rX2NvbXBhdDoKIAl0aXBjX25ldGxpbmtfc3RvcCgpOwpAQCAt MTY1LDEwICsxNjUsMTAgQEAgc3RhdGljIGludCBfX2luaXQgdGlwY19pbml0KHZvaWQpCiBzdGF0 aWMgdm9pZCBfX2V4aXQgdGlwY19leGl0KHZvaWQpCiB7CiAJdGlwY19iZWFyZXJfY2xlYW51cCgp OworCXRpcGNfc29ja2V0X3N0b3AoKTsKIAl1bnJlZ2lzdGVyX3Blcm5ldF9zdWJzeXMoJnRpcGNf bmV0X29wcyk7CiAJdGlwY19uZXRsaW5rX3N0b3AoKTsKIAl0aXBjX25ldGxpbmtfY29tcGF0X3N0 b3AoKTsKLQl0aXBjX3NvY2tldF9zdG9wKCk7CiAJdGlwY191bnJlZ2lzdGVyX3N5c2N0bCgpOwog CiAJcHJfaW5mbygiRGVhY3RpdmF0ZWRcbiIpOwotLSAKMi4yMC4xCgoKRnJvbSA0ZjFmYzY2ZDMy NDkxODQ5Yjg4ZjVlYTJiNzliMmMxMThiOGE0N2Y1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBTdGVmYW5vIEdhcnphcmVsbGEgPHNnYXJ6YXJlQHJlZGhhdC5jb20+CkRhdGU6IEZyaSwg MTcgTWF5IDIwMTkgMTY6NDU6NDMgKzAyMDAKU3ViamVjdDogW1BBVENIIDEyLzE4XSB2c29jay92 aXJ0aW86IGZyZWUgcGFja2V0cyBkdXJpbmcgdGhlIHNvY2tldCByZWxlYXNlCgpbIFVwc3RyZWFt IGNvbW1pdCBhYzAzMDQ2ZWNlMmIxNThlYmQyMDRkZmM0ODk2ZmQ5ZjM5ZjBlNmM4IF0KCldoZW4g dGhlIHNvY2tldCBpcyByZWxlYXNlZCwgd2Ugc2hvdWxkIGZyZWUgYWxsIHBhY2tldHMKcXVldWVk IGluIHRoZSBwZXItc29ja2V0IGxpc3QgaW4gb3JkZXIgdG8gYXZvaWQgYSBtZW1vcnkKbGVhay4K ClNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gR2FyemFyZWxsYSA8c2dhcnphcmVAcmVkaGF0LmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9ydF9jb21tb24uYyB8IDcgKysrKysrKwogMSBm aWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC92bXdfdnNvY2sv dmlydGlvX3RyYW5zcG9ydF9jb21tb24uYyBiL25ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9y dF9jb21tb24uYwppbmRleCA2MDI3MTVmYzlhNzUuLmYzZjNkMDZjYjZkOCAxMDA2NDQKLS0tIGEv bmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbi5jCisrKyBiL25ldC92bXdfdnNv Y2svdmlydGlvX3RyYW5zcG9ydF9jb21tb24uYwpAQCAtNzg2LDEyICs3ODYsMTkgQEAgc3RhdGlj IGJvb2wgdmlydGlvX3RyYW5zcG9ydF9jbG9zZShzdHJ1Y3QgdnNvY2tfc29jayAqdnNrKQogCiB2 b2lkIHZpcnRpb190cmFuc3BvcnRfcmVsZWFzZShzdHJ1Y3QgdnNvY2tfc29jayAqdnNrKQogewor CXN0cnVjdCB2aXJ0aW9fdnNvY2tfc29jayAqdnZzID0gdnNrLT50cmFuczsKKwlzdHJ1Y3Qgdmly dGlvX3Zzb2NrX3BrdCAqcGt0LCAqdG1wOwogCXN0cnVjdCBzb2NrICpzayA9ICZ2c2stPnNrOwog CWJvb2wgcmVtb3ZlX3NvY2sgPSB0cnVlOwogCiAJbG9ja19zb2NrKHNrKTsKIAlpZiAoc2stPnNr X3R5cGUgPT0gU09DS19TVFJFQU0pCiAJCXJlbW92ZV9zb2NrID0gdmlydGlvX3RyYW5zcG9ydF9j bG9zZSh2c2spOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBrdCwgdG1wLCAmdnZzLT5y eF9xdWV1ZSwgbGlzdCkgeworCQlsaXN0X2RlbCgmcGt0LT5saXN0KTsKKwkJdmlydGlvX3RyYW5z cG9ydF9mcmVlX3BrdChwa3QpOworCX0KIAlyZWxlYXNlX3NvY2soc2spOwogCiAJaWYgKHJlbW92 ZV9zb2NrKQotLSAKMi4yMC4xCgoKRnJvbSA3N2M1NmI4OWYwN2EyNzI3ZjY4M2MwMDg3ZGNjZmFj ODcxMjRiYmYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdW53ZWkgSHUgPGh1anVu d2VpNEBodWF3ZWkuY29tPgpEYXRlOiBGcmksIDE3IE1heSAyMDE5IDE5OjI3OjM0ICswODAwClN1 YmplY3Q6IFtQQVRDSCAxMy8xOF0gdGlwYzogZml4IG1vZHByb2JlIHRpcGMgZmFpbGVkIGFmdGVy IHN3aXRjaCBvcmRlciBvZgogZGV2aWNlIHJlZ2lzdHJhdGlvbgoKWyBVcHN0cmVhbSBjb21taXQg NTMyYjBmN2VjZTRjYjJmZmQyNGRjNzIzZGRmNTUyNDJkMTE4OGU1ZSBdCgpFcnJvciBtZXNzYWdl IHByaW50ZWQ6Cm1vZHByb2JlOiBFUlJPUjogY291bGQgbm90IGluc2VydCAndGlwYyc6IEFkZHJl c3MgZmFtaWx5IG5vdApzdXBwb3J0ZWQgYnkgcHJvdG9jb2wuCndoZW4gbW9kcHJvYmUgdGlwYyBh ZnRlciB0aGUgZm9sbG93aW5nIHBhdGNoOiBzd2l0Y2ggb3JkZXIgb2YKZGV2aWNlIHJlZ2lzdHJh dGlvbiwgY29tbWl0IDdlMjdlOGQ2MTMwYwooInRpcGM6IHN3aXRjaCBvcmRlciBvZiBkZXZpY2Ug cmVnaXN0cmF0aW9uIHRvIGZpeCBhIGNyYXNoIikKCkJlY2F1c2Ugc29ja19jcmVhdGVfa2Vybihu ZXQsIEFGX1RJUEMsIC4uLikgaXMgY2FsbGVkIGJ5CnRpcGNfdG9wc3J2X2NyZWF0ZV9saXN0ZW5l cigpIGluIHRoZSBpbml0aWFsaXphdGlvbiBwcm9jZXNzCm9mIHRpcGNfbmV0X29wcywgdGlwY19z b2NrZXRfaW5pdCgpIG11c3QgYmUgZXhlY3V0ZSBiZWZvcmUgdGhhdC4KCkkgbW92ZSB0aXBjX3Nv Y2tldF9pbml0KCkgaW50byBmdW5jdGlvbiB0aXBjX2luaXRfbmV0KCkuCgpGaXhlczogN2UyN2U4 ZDYxMzBjCigidGlwYzogc3dpdGNoIG9yZGVyIG9mIGRldmljZSByZWdpc3RyYXRpb24gdG8gZml4 IGEgY3Jhc2giKQpTaWduZWQtb2ZmLWJ5OiBKdW53ZWkgSHUgPGh1anVud2VpNEBodWF3ZWkuY29t PgpSZXBvcnRlZC1ieTogV2FuZyBXYW5nIDx3YW5nd2FuZzJAaHVhd2VpLmNvbT4KUmV2aWV3ZWQt Ynk6IEthbmcgWmhvdSA8emhvdWthbmc3QGh1YXdlaS5jb20+ClJldmlld2VkLWJ5OiBTdWFubWlu ZyBNb3UgPG1vdXN1YW5taW5nQGh1YXdlaS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdGlwYy9jb3JlLmMgfCAxNCArKysr KysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9uZXQvdGlwYy9jb3JlLmMgYi9uZXQvdGlwYy9jb3JlLmMKaW5kZXgg ZGJmYzFlOGIyODY2Li5kN2IwNjg4Yzk4ZGQgMTAwNjQ0Ci0tLSBhL25ldC90aXBjL2NvcmUuYwor KysgYi9uZXQvdGlwYy9jb3JlLmMKQEAgLTY2LDYgKzY2LDEwIEBAIHN0YXRpYyBpbnQgX19uZXRf aW5pdCB0aXBjX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIAlJTklUX0xJU1RfSEVBRCgmdG4t Pm5vZGVfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJnRuLT5ub2RlX2xpc3RfbG9jayk7CiAKKwll cnIgPSB0aXBjX3NvY2tldF9pbml0KCk7CisJaWYgKGVycikKKwkJZ290byBvdXRfc29ja2V0Owor CiAJZXJyID0gdGlwY19za19yaHRfaW5pdChuZXQpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3Nr X3JodDsKQEAgLTkyLDYgKzk2LDggQEAgc3RhdGljIGludCBfX25ldF9pbml0IHRpcGNfaW5pdF9u ZXQoc3RydWN0IG5ldCAqbmV0KQogb3V0X25hbWV0Ymw6CiAJdGlwY19za19yaHRfZGVzdHJveShu ZXQpOwogb3V0X3NrX3JodDoKKwl0aXBjX3NvY2tldF9zdG9wKCk7CitvdXRfc29ja2V0OgogCXJl dHVybiBlcnI7CiB9CiAKQEAgLTEwMiw2ICsxMDgsNyBAQCBzdGF0aWMgdm9pZCBfX25ldF9leGl0 IHRpcGNfZXhpdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogCXRpcGNfYmNhc3Rfc3RvcChuZXQpOwog CXRpcGNfbmFtZXRibF9zdG9wKG5ldCk7CiAJdGlwY19za19yaHRfZGVzdHJveShuZXQpOworCXRp cGNfc29ja2V0X3N0b3AoKTsKIH0KIAogc3RhdGljIHN0cnVjdCBwZXJuZXRfb3BlcmF0aW9ucyB0 aXBjX25ldF9vcHMgPSB7CkBAIC0xMzcsMTAgKzE0NCw2IEBAIHN0YXRpYyBpbnQgX19pbml0IHRp cGNfaW5pdCh2b2lkKQogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3Blcm5ldDsKIAotCWVyciA9IHRp cGNfc29ja2V0X2luaXQoKTsKLQlpZiAoZXJyKQotCQlnb3RvIG91dF9zb2NrZXQ7Ci0KIAllcnIg PSB0aXBjX2JlYXJlcl9zZXR1cCgpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X2JlYXJlcjsKQEAg LTE0OCw4ICsxNTEsNiBAQCBzdGF0aWMgaW50IF9faW5pdCB0aXBjX2luaXQodm9pZCkKIAlwcl9p bmZvKCJTdGFydGVkIGluIHNpbmdsZSBub2RlIG1vZGVcbiIpOwogCXJldHVybiAwOwogb3V0X2Jl YXJlcjoKLQl0aXBjX3NvY2tldF9zdG9wKCk7Ci1vdXRfc29ja2V0OgogCXVucmVnaXN0ZXJfcGVy bmV0X3N1YnN5cygmdGlwY19uZXRfb3BzKTsKIG91dF9wZXJuZXQ6CiAJdGlwY191bnJlZ2lzdGVy X3N5c2N0bCgpOwpAQCAtMTY1LDcgKzE2Niw2IEBAIHN0YXRpYyBpbnQgX19pbml0IHRpcGNfaW5p dCh2b2lkKQogc3RhdGljIHZvaWQgX19leGl0IHRpcGNfZXhpdCh2b2lkKQogewogCXRpcGNfYmVh cmVyX2NsZWFudXAoKTsKLQl0aXBjX3NvY2tldF9zdG9wKCk7CiAJdW5yZWdpc3Rlcl9wZXJuZXRf c3Vic3lzKCZ0aXBjX25ldF9vcHMpOwogCXRpcGNfbmV0bGlua19zdG9wKCk7CiAJdGlwY19uZXRs aW5rX2NvbXBhdF9zdG9wKCk7Ci0tIAoyLjIwLjEKCgpGcm9tIGY0NDk5MWNiMmZmN2I0ZTA3MTgz ZGRjMTk3Yjc1MDkyNWIxYTk4ZWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJKb3Jn ZSBFLiBNb3JlaXJhIiA8amVtb3JlaXJhQGdvb2dsZS5jb20+CkRhdGU6IFRodSwgMTYgTWF5IDIw MTkgMTM6NTE6MDcgLTA3MDAKU3ViamVjdDogW1BBVENIIDE0LzE4XSB2c29jay92aXJ0aW86IElu aXRpYWxpemUgY29yZSB2aXJ0aW8gdnNvY2sgYmVmb3JlCiByZWdpc3RlcmluZyB0aGUgZHJpdmVy CgpbIFVwc3RyZWFtIGNvbW1pdCBiYTk1ZTVkZmQzNjY0NzYyMmQ4ODk3YTJhMDQ3MGRkZTYwZTU5 ZmZkIF0KCkF2b2lkIGEgcmFjZSBpbiB3aGljaCBzdGF0aWMgdmFyaWFibGVzIGluIG5ldC92bXdf dnNvY2svYWZfdnNvY2suYyBhcmUKYWNjZXNzZWQgKHdoaWxlIGhhbmRsaW5nIGludGVycnVwdHMp IGJlZm9yZSB0aGV5IGFyZSBpbml0aWFsaXplZC4KClsgICAgNC4yMDE0MTBdIEJVRzogdW5hYmxl IHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgZmZmZmZmZmZmZmZmZmZlOApbICAg IDQuMjA3ODI5XSBJUDogdnNvY2tfYWRkcl9lcXVhbHNfYWRkcisweDMvMHgyMApbICAgIDQuMjEx Mzc5XSBQR0QgMjgyMTAwNjcgUDREIDI4MjEwMDY3IFBVRCAyODIxMjA2NyBQTUQgMApbICAgIDQu MjExMzc5XSBPb3BzOiAwMDAwIFsjMV0gUFJFRU1QVCBTTVAgUFRJClsgICAgNC4yMTEzNzldIE1v ZHVsZXMgbGlua2VkIGluOgpbICAgIDQuMjExMzc5XSBDUFU6IDEgUElEOiAzMCBDb21tOiBrd29y a2VyLzE6MSBOb3QgdGFpbnRlZCA0LjE0LjEwNi00MTkyOTctZ2Q3ZTI4Y2MxZjI0MSAjMQpbICAg IDQuMjExMzc5XSBIYXJkd2FyZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChpNDQwRlggKyBQSUlY LCAxOTk2KSwgQklPUyAxLjEwLjItMSAwNC8wMS8yMDE0ClsgICAgNC4yMTEzNzldIFdvcmtxdWV1 ZTogdmlydGlvX3Zzb2NrIHZpcnRpb190cmFuc3BvcnRfcnhfd29yawpbICAgIDQuMjExMzc5XSB0 YXNrOiBmZmZmYTMyNzNkMTc1MjgwIHRhc2suc3RhY2s6IGZmZmZhZWExODAwZTgwMDAKWyAgICA0 LjIxMTM3OV0gUklQOiAwMDEwOnZzb2NrX2FkZHJfZXF1YWxzX2FkZHIrMHgzLzB4MjAKWyAgICA0 LjIxMTM3OV0gUlNQOiAwMDAwOmZmZmZhZWExODAwZWJkMjggRUZMQUdTOiAwMDAxMDI4NgpbICAg IDQuMjExMzc5XSBSQVg6IDAwMDAwMDAwMDAwMDAwMDIgUkJYOiAwMDAwMDAwMDAwMDAwMDAwIFJD WDogZmZmZmZmZmZiOTRlNDJmMApbICAgIDQuMjExMzc5XSBSRFg6IDAwMDAwMDAwMDAwMDA0MDAg UlNJOiBmZmZmZmZmZmZmZmZmZmUwIFJESTogZmZmZmFlYTE4MDBlYmRkMApbICAgIDQuMjExMzc5 XSBSQlA6IGZmZmZhZWExODAwZWJkNTggUjA4OiAwMDAwMDAwMDAwMDAwMDAxIFIwOTogMDAwMDAw MDAwMDAwMDAwMQpbICAgIDQuMjExMzc5XSBSMTA6IDAwMDAwMDAwMDAwMDAwMDAgUjExOiBmZmZm ZmZmZmI4OWQ1ZDYwIFIxMjogZmZmZmFlYTE4MDBlYmRkMApbICAgIDQuMjExMzc5XSBSMTM6IDAw MDAwMDAwODI4Y2JmYmYgUjE0OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogZmZmZmFlYTE4MDBlYmRj MApbICAgIDQuMjExMzc5XSBGUzogIDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZmEzMjcz ZmQwMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwClsgICAgNC4yMTEzNzldIENTOiAg MDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKWyAgICA0LjIxMTM3 OV0gQ1IyOiBmZmZmZmZmZmZmZmZmZmU4IENSMzogMDAwMDAwMDAyODIwZTAwMSBDUjQ6IDAwMDAw MDAwMDAxNjA2ZTAKWyAgICA0LjIxMTM3OV0gRFIwOiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAw MDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKWyAgICA0LjIxMTM3OV0gRFIzOiAw MDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0 MDAKWyAgICA0LjIxMTM3OV0gQ2FsbCBUcmFjZToKWyAgICA0LjIxMTM3OV0gID8gdnNvY2tfZmlu ZF9jb25uZWN0ZWRfc29ja2V0KzB4NmMvMHhlMApbICAgIDQuMjExMzc5XSAgdmlydGlvX3RyYW5z cG9ydF9yZWN2X3BrdCsweDE1Zi8weDc0MApbICAgIDQuMjExMzc5XSAgPyBkZXRhY2hfYnVmKzB4 MWI1LzB4MjEwClsgICAgNC4yMTEzNzldICB2aXJ0aW9fdHJhbnNwb3J0X3J4X3dvcmsrMHhiNy8w eDE0MApbICAgIDQuMjExMzc5XSAgcHJvY2Vzc19vbmVfd29yaysweDFlZi8weDQ4MApbICAgIDQu MjExMzc5XSAgd29ya2VyX3RocmVhZCsweDMxMi8weDQ2MApbICAgIDQuMjExMzc5XSAga3RocmVh ZCsweDEzMi8weDE0MApbICAgIDQuMjExMzc5XSAgPyBwcm9jZXNzX29uZV93b3JrKzB4NDgwLzB4 NDgwClsgICAgNC4yMTEzNzldICA/IGt0aHJlYWRfZGVzdHJveV93b3JrZXIrMHhkMC8weGQwClsg ICAgNC4yMTEzNzldICByZXRfZnJvbV9mb3JrKzB4MzUvMHg0MApbICAgIDQuMjExMzc5XSBDb2Rl OiBjNyA0NyAwOCAwMCAwMCAwMCAwMCA2NiBjNyAwNyAyOCAwMCBjNyA0NyAwOCBmZiBmZiBmZiBm ZiBjNyA0NyAwNCBmZiBmZiBmZiBmZiBjMyAwZiAxZiAwMCA2NiAyZSAwZiAxZiA4NCAwMCAwMCAw MCAwMCAwMCA4YiA0NyAwOCA8M2I+IDQ2IDA4IDc1IDBhIDhiIDQ3IDA0IDNiIDQ2IDA0IDBmIDk0 IGMwIGMzIDMxIGMwIGMzIDkwIDY2IDJlClsgICAgNC4yMTEzNzldIFJJUDogdnNvY2tfYWRkcl9l cXVhbHNfYWRkcisweDMvMHgyMCBSU1A6IGZmZmZhZWExODAwZWJkMjgKWyAgICA0LjIxMTM3OV0g Q1IyOiBmZmZmZmZmZmZmZmZmZmU4ClsgICAgNC4yMTEzNzldIC0tLVsgZW5kIHRyYWNlIGYzMWNj NGEyZTZkZjM2ODkgXS0tLQpbICAgIDQuMjExMzc5XSBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2lu ZzogRmF0YWwgZXhjZXB0aW9uIGluIGludGVycnVwdApbICAgIDQuMjExMzc5XSBLZXJuZWwgT2Zm c2V0OiAweDM3MDAwMDAwIGZyb20gMHhmZmZmZmZmZjgxMDAwMDAwIChyZWxvY2F0aW9uIHJhbmdl OiAweGZmZmZmZmZmODAwMDAwMDAtMHhmZmZmZmZmZmJmZmZmZmZmKQpbICAgIDQuMjExMzc5XSBS ZWJvb3RpbmcgaW4gNSBzZWNvbmRzLi4KCkZpeGVzOiAyMmI1YzBiNjNmMzIgKCJ2c29jay92aXJ0 aW86IGZpeCBrZXJuZWwgcGFuaWMgYWZ0ZXIgZGV2aWNlIGhvdC11bnBsdWciKQpDYzogU3RlZmFu IEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgpDYzogU3RlZmFubyBHYXJ6YXJlbGxhIDxz Z2FyemFyZUByZWRoYXQuY29tPgpDYzogIkRhdmlkIFMuIE1pbGxlciIgPGRhdmVtQGRhdmVtbG9m dC5uZXQ+CkNjOiBrdm1Admdlci5rZXJuZWwub3JnCkNjOiB2aXJ0dWFsaXphdGlvbkBsaXN0cy5s aW51eC1mb3VuZGF0aW9uLm9yZwpDYzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZwpDYzoga2VybmVs LXRlYW1AYW5kcm9pZC5jb20KQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcgWzQuOStdClNpZ25l ZC1vZmYtYnk6IEpvcmdlIEUuIE1vcmVpcmEgPGplbW9yZWlyYUBnb29nbGUuY29tPgpSZXZpZXdl ZC1ieTogU3RlZmFubyBHYXJ6YXJlbGxhIDxzZ2FyemFyZUByZWRoYXQuY29tPgpSZXZpZXdlZC1i eTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgpBY2tlZC1ieTogU3RlZmFu IEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Ztd192c29jay92aXJ0aW9fdHJh bnNwb3J0LmMgfCAxMyArKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25z KCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC92bXdfdnNvY2svdmlydGlvX3Ry YW5zcG9ydC5jIGIvbmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0LmMKaW5kZXggMTVlYjVk M2Q0NzUwLi45NmFiMzQ0ZjE3YmIgMTAwNjQ0Ci0tLSBhL25ldC92bXdfdnNvY2svdmlydGlvX3Ry YW5zcG9ydC5jCisrKyBiL25ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9ydC5jCkBAIC03MDIs MjggKzcwMiwyNyBAQCBzdGF0aWMgaW50IF9faW5pdCB2aXJ0aW9fdnNvY2tfaW5pdCh2b2lkKQog CWlmICghdmlydGlvX3Zzb2NrX3dvcmtxdWV1ZSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlyZXQg PSByZWdpc3Rlcl92aXJ0aW9fZHJpdmVyKCZ2aXJ0aW9fdnNvY2tfZHJpdmVyKTsKKwlyZXQgPSB2 c29ja19jb3JlX2luaXQoJnZpcnRpb190cmFuc3BvcnQudHJhbnNwb3J0KTsKIAlpZiAocmV0KQog CQlnb3RvIG91dF93cTsKIAotCXJldCA9IHZzb2NrX2NvcmVfaW5pdCgmdmlydGlvX3RyYW5zcG9y dC50cmFuc3BvcnQpOworCXJldCA9IHJlZ2lzdGVyX3ZpcnRpb19kcml2ZXIoJnZpcnRpb192c29j a19kcml2ZXIpOwogCWlmIChyZXQpCi0JCWdvdG8gb3V0X3ZkcjsKKwkJZ290byBvdXRfdmNpOwog CiAJcmV0dXJuIDA7CiAKLW91dF92ZHI6Ci0JdW5yZWdpc3Rlcl92aXJ0aW9fZHJpdmVyKCZ2aXJ0 aW9fdnNvY2tfZHJpdmVyKTsKK291dF92Y2k6CisJdnNvY2tfY29yZV9leGl0KCk7CiBvdXRfd3E6 CiAJZGVzdHJveV93b3JrcXVldWUodmlydGlvX3Zzb2NrX3dvcmtxdWV1ZSk7CiAJcmV0dXJuIHJl dDsKLQogfQogCiBzdGF0aWMgdm9pZCBfX2V4aXQgdmlydGlvX3Zzb2NrX2V4aXQodm9pZCkKIHsK LQl2c29ja19jb3JlX2V4aXQoKTsKIAl1bnJlZ2lzdGVyX3ZpcnRpb19kcml2ZXIoJnZpcnRpb192 c29ja19kcml2ZXIpOworCXZzb2NrX2NvcmVfZXhpdCgpOwogCWRlc3Ryb3lfd29ya3F1ZXVlKHZp cnRpb192c29ja193b3JrcXVldWUpOwogfQogCi0tIAoyLjIwLjEKCgpGcm9tIGQ4YWRkMzUzZTk5 MzRmY2QwM2U1ZWZlMWZmODBjNDMwODVhNWNkNjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IERteXRybyBMaW5raW4gPGRtaXRyb2xpbkBtZWxsYW5veC5jb20+CkRhdGU6IFRodSwgMjUg QXByIDIwMTkgMDg6NTI6MDIgKzAwMDAKU3ViamVjdDogW1BBVENIIDE1LzE4XSBuZXQvbWx4NWU6 IEFkZCBtaXNzaW5nIGV0aHRvb2wgZHJpdmVyIGluZm8gZm9yCiByZXByZXNlbnRvcnMKClsgVXBz dHJlYW0gY29tbWl0IGNmODNjOGZkY2Q0NzU2NjQ0NTk1NTIxZjQ4NzQ4ZWMyMmY3ZWZlZGUgXQoK Rm9yIGFsbCByZXByZXNlbnRvcnMgYWRkZWQgZmlybXdhcmUgdmVyc2lvbiBpbmZvIHRvIHNob3cg aW4KZXRodG9vbCBkcml2ZXIgaW5mby4KRm9yIHVwbGluayByZXByZXNlbnRvciwgYmVjYXVzZSBv bmx5IGl0IGlzIHRpZWQgdG8gdGhlIHBjaSBkZXZpY2UKc3lzZnMsIGFkZGVkIHBjaSBidXMgaW5m by4KCkZpeGVzOiBmZjliODVkZTVkNWQgKCJuZXQvbWx4NWU6IEFkZCBzb21lIGV0aHRvb2wgcG9y dCBjb250cm9sIGVudHJpZXMgdG8gdGhlIHVwbGluayByZXAgbmV0ZGV2IikKU2lnbmVkLW9mZi1i eTogRG15dHJvIExpbmtpbiA8ZG1pdHJvbGluQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IEdh dmkgVGVpdHogPGdhdmlAbWVsbGFub3guY29tPgpSZXZpZXdlZC1ieTogUm9pIERheWFuIDxyb2lk QG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxs YW5veC5jb20+Ci0tLQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcmVw LmMgIHwgMTkgKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZW5fcmVwLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZW5fcmVwLmMKaW5kZXggZWY5ZTQ3MmRhZmZiLi4zOTc3Zjc2M2I2ZWQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yZXAu YworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcmVwLmMK QEAgLTY0LDkgKzY0LDI2IEBAIHN0YXRpYyB2b2lkIG1seDVlX3JlcF9pbmRyX3VucmVnaXN0ZXJf YmxvY2soc3RydWN0IG1seDVlX3JlcF9wcml2ICpycHJpdiwKIHN0YXRpYyB2b2lkIG1seDVlX3Jl cF9nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCQkJCSAgc3RydWN0IGV0aHRv b2xfZHJ2aW5mbyAqZHJ2aW5mbykKIHsKKwlzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiA9IG5ldGRl dl9wcml2KGRldik7CisJc3RydWN0IG1seDVfY29yZV9kZXYgKm1kZXYgPSBwcml2LT5tZGV2Owor CiAJc3RybGNweShkcnZpbmZvLT5kcml2ZXIsIG1seDVlX3JlcF9kcml2ZXJfbmFtZSwKIAkJc2l6 ZW9mKGRydmluZm8tPmRyaXZlcikpOwogCXN0cmxjcHkoZHJ2aW5mby0+dmVyc2lvbiwgVVRTX1JF TEVBU0UsIHNpemVvZihkcnZpbmZvLT52ZXJzaW9uKSk7CisJc25wcmludGYoZHJ2aW5mby0+Zndf dmVyc2lvbiwgc2l6ZW9mKGRydmluZm8tPmZ3X3ZlcnNpb24pLAorCQkgIiVkLiVkLiUwNGQgKCUu MTZzKSIsCisJCSBmd19yZXZfbWFqKG1kZXYpLCBmd19yZXZfbWluKG1kZXYpLAorCQkgZndfcmV2 X3N1YihtZGV2KSwgbWRldi0+Ym9hcmRfaWQpOworfQorCitzdGF0aWMgdm9pZCBtbHg1ZV91cGxp bmtfcmVwX2dldF9kcnZpbmZvKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCisJCQkJCSBzdHJ1Y3Qg ZXRodG9vbF9kcnZpbmZvICpkcnZpbmZvKQoreworCXN0cnVjdCBtbHg1ZV9wcml2ICpwcml2ID0g bmV0ZGV2X3ByaXYoZGV2KTsKKworCW1seDVlX3JlcF9nZXRfZHJ2aW5mbyhkZXYsIGRydmluZm8p OworCXN0cmxjcHkoZHJ2aW5mby0+YnVzX2luZm8sIHBjaV9uYW1lKHByaXYtPm1kZXYtPnBkZXYp LAorCQlzaXplb2YoZHJ2aW5mby0+YnVzX2luZm8pKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVj dCBjb3VudGVyX2Rlc2Mgc3dfcmVwX3N0YXRzX2Rlc2NbXSA9IHsKQEAgLTM3NCw3ICszOTEsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGV0aHRvb2xfb3BzIG1seDVlX3ZmX3JlcF9ldGh0b29sX29w cyA9IHsKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgbWx4NWVfdXBsaW5r X3JlcF9ldGh0b29sX29wcyA9IHsKLQkuZ2V0X2RydmluZm8JICAgPSBtbHg1ZV9yZXBfZ2V0X2Ry dmluZm8sCisJLmdldF9kcnZpbmZvCSAgID0gbWx4NWVfdXBsaW5rX3JlcF9nZXRfZHJ2aW5mbywK IAkuZ2V0X2xpbmsJICAgPSBldGh0b29sX29wX2dldF9saW5rLAogCS5nZXRfc3RyaW5ncyAgICAg ICA9IG1seDVlX3JlcF9nZXRfc3RyaW5ncywKIAkuZ2V0X3NzZXRfY291bnQgICAgPSBtbHg1ZV9y ZXBfZ2V0X3NzZXRfY291bnQsCi0tIAoyLjIwLjEKCgpGcm9tIDljMGUzNzM5MWQ3MmI0YmIyZjhj ZDQwMTA5Nzc3ODliYzA3OWFjZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERteXRy byBMaW5raW4gPGRtaXRyb2xpbkBtZWxsYW5veC5jb20+CkRhdGU6IFRodSwgMiBNYXkgMjAxOSAx NToyMTozOCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggMTYvMThdIG5ldC9tbHg1ZTogQWRkaXRpb25h bCBjaGVjayBmb3IgZmxvdyBkZXN0aW5hdGlvbgogY29tcGFyaXNvbgoKWyBVcHN0cmVhbSBjb21t aXQgYzk3OWM0NDVhODhlMWM5ZGQ3ZDhmOTA4MzhjMTA0NTZhZTRlY2QwOSBdCgpGbG93IGRlc3Rp bmF0aW9uIGNvbXBhcmlzb24gaGFzIGFuIGluYWNjdXJhY3k6IGNvZGUgc2VlIG5vCmRpZmZlcmVu Y2UgYmV0d2VlbiBzYW1lIHZmIHBvcnRzLCB3aGljaCBiZWxvbmcgdG8gZGlmZmVyZW50IHBmcy4K CkV4YW1wbGU6IElmIHN0YXJ0IHBpbmcgZnJvbSBWRjAgKFBGMSkgdG8gVkYxIChQRjEpIGFuZCBt aXJyb3IKYWxsIHRyYWZmaWMgdG8gVkYwIChQRjIpLCBpY21wIHJlcGx5IHRvIFZGMCAoUEYxKSBh bmQgbWlycm9yZWQKZmxvdyB0byBWRjAgKFBGMikgd291bGQgYmUgZGV0ZXJtaW5lZCBhcyBzYW1l IGRlc3RpbmF0aW9uLiBJdCBsZWFkCnRvIGNyZWF0aW5nIGZsb3cgaGFuZGxlciB3aXRoIHJ1bGUg bm9kZXMsIHdoaWNoIG5vdCBhZGRlZCB0byBub2RlCnRyZWUuIFdoZW4gbGF0ZXIgZHJpdmVyIHRy eSB0byBkZWxldGUgdGhpcyBmbG93IHJ1bGVzIHdlIGdvdAprZXJuZWwgY3Jhc2guCgpBZGQgY29t cGFyaXNvbiBvZiB2aGNhX2lkIGZpZWxkIHRvIGF2b2lkIHRoaXMuCgpGaXhlczogMTIyOGU5MTJj OTM0ICgibmV0L21seDU6IENvbnNpZGVyIGVuY2Fwc3VsYXRpb24gcHJvcGVydGllcyB3aGVuIGNv bXBhcmluZyBkZXN0aW5hdGlvbnMiKQpTaWduZWQtb2ZmLWJ5OiBEbXl0cm8gTGlua2luIDxkbWl0 cm9saW5AbWVsbGFub3guY29tPgpSZXZpZXdlZC1ieTogUm9pIERheWFuIDxyb2lkQG1lbGxhbm94 LmNvbT4KUmV2aWV3ZWQtYnk6IFZsYWQgQnVzbG92IDx2bGFkYnVAbWVsbGFub3guY29tPgpTaWdu ZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jIHwgMiArKwogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jCmluZGV4IDc5ZjEyMmI0NWRlZi4uYWJiZGQ0 OTA2OTg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvZnNfY29yZS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9mc19jb3JlLmMKQEAgLTEzNzUsNiArMTM3NSw4IEBAIHN0YXRpYyBib29sIG1seDVfZmxvd19k ZXN0c19jbXAoc3RydWN0IG1seDVfZmxvd19kZXN0aW5hdGlvbiAqZDEsCiAJCWlmICgoZDEtPnR5 cGUgPT0gTUxYNV9GTE9XX0RFU1RJTkFUSU9OX1RZUEVfVlBPUlQgJiYKIAkJICAgICBkMS0+dnBv cnQubnVtID09IGQyLT52cG9ydC5udW0gJiYKIAkJICAgICBkMS0+dnBvcnQuZmxhZ3MgPT0gZDIt PnZwb3J0LmZsYWdzICYmCisJCSAgICAgKChkMS0+dnBvcnQuZmxhZ3MgJiBNTFg1X0ZMT1dfREVT VF9WUE9SVF9WSENBX0lEKSA/CisJCSAgICAgIChkMS0+dnBvcnQudmhjYV9pZCA9PSBkMi0+dnBv cnQudmhjYV9pZCkgOiB0cnVlKSAmJgogCQkgICAgICgoZDEtPnZwb3J0LmZsYWdzICYgTUxYNV9G TE9XX0RFU1RfVlBPUlRfUkVGT1JNQVRfSUQpID8KIAkJICAgICAgKGQxLT52cG9ydC5yZWZvcm1h dF9pZCA9PSBkMi0+dnBvcnQucmVmb3JtYXRfaWQpIDogdHJ1ZSkpIHx8CiAJCSAgICAoZDEtPnR5 cGUgPT0gTUxYNV9GTE9XX0RFU1RJTkFUSU9OX1RZUEVfRkxPV19UQUJMRSAmJgotLSAKMi4yMC4x CgoKRnJvbSA0YmVmMDFmYWQ3YWYyMDE3YzRjN2I3ZjliZTNlMGIwMDE5YWQ3ZjhlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNv bT4KRGF0ZTogVHVlLCA3IE1heSAyMDE5IDEzOjE1OjIwIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAx Ny8xOF0gbmV0L21seDU6IEltcGx5IE1MWEZXIGluIG1seDVfY29yZQoKWyBVcHN0cmVhbSBjb21t aXQgYmFkODYxZjMxYmIxNWE5OWJlY2VmMzFhYWI1OTY0MGVhZWIyNDdlMiBdCgptbHhmdyBjYW4g YmUgY29tcGlsZWQgYXMgZXh0ZXJuYWwgbW9kdWxlIHdoaWxlIG1seDVfY29yZSBjYW4gYmUKYnVp bHRpbiwgaW4gc3VjaCBjYXNlIG1seDUgd2lsbCBhY3QgbGlrZSBtbHhmdyBpcyBkaXNhYmxlZC4K ClNpbmNlIG1seGZ3IGlzIGp1c3QgYSBzZXJ2aWNlIGxpYnJhcnkgZm9yIG1seCogZHJpdmVycywK aW1wbHkgaXQgaW4gbWx4NV9jb3JlIHRvIG1ha2UgaXQgYWx3YXlzIHJlYWNoYWJsZSBpZiBpdCB3 YXMgZW5hYmxlZC4KCkZpeGVzOiAzZmZhYWJlY2QxYTEgKCJuZXQvbWx4NWU6IFN1cHBvcnQgdGhl IGZsYXNoIGRldmljZSBldGh0b29sIGNhbGxiYWNrIikKU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFo YW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL0tjb25maWcgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9LY29uZmlnIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL0tjb25m aWcKaW5kZXggMzdhNTUxNDM2ZTRhLi5iN2UzYjg5MDJlN2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9LY29uZmlnCisrKyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9LY29uZmlnCkBAIC04LDYgKzgsNyBAQCBjb25m aWcgTUxYNV9DT1JFCiAJZGVwZW5kcyBvbiBQQ0kKIAlpbXBseSBQVFBfMTU4OF9DTE9DSwogCWlt cGx5IFZYTEFOCisJaW1wbHkgTUxYRlcKIAlkZWZhdWx0IG4KIAktLS1oZWxwLS0tCiAJICBDb3Jl IGRyaXZlciBmb3IgbG93IGxldmVsIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIENvbm5lY3RYLTQgYW5k Ci0tIAoyLjIwLjEKCgpGcm9tIGUwMDBlZTRmNTZhZmIzMGUzOWNkM2UxYjhlOWJlYjliZGZmMmUy M2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1A bWVsbGFub3guY29tPgpEYXRlOiBUdWUsIDcgTWF5IDIwMTkgMTI6NTk6MzggLTA3MDAKU3ViamVj dDogW1BBVENIIDE4LzE4XSBuZXQvbWx4NWU6IEZpeCBldGh0b29sIHJ4ZmggY29tbWFuZHMgd2hl bgogQ09ORklHX01MWDVfRU5fUlhORkMgaXMgZGlzYWJsZWQKClsgVXBzdHJlYW0gY29tbWl0IDhm MDkxNmM2ZGM1Y2Q1ZTNiYzUyNDE2ZmEyYTlmZjQwNzUwODAxODAgXQoKZXRodG9vbCB1c2VyIHNw YWNlcyBuZWVkcyB0byBrbm93IHJpbmcgY291bnQgdmlhIEVUSFRPT0xfR1JYUklOR1Mgd2hlbgpl eGVjdXRpbmcgKGV0aHRvb2wgLXgpIHdoaWNoIGlzIHJldHJpZXZlZCB2aWEgZXRodG9vbCBnZXRf cnhuZmMgY2FsbGJhY2ssCmluIG1seDUgdGhpcyBjYWxsYmFjayBpcyBkaXNhYmxlZCB3aGVuIENP TkZJR19NTFg1X0VOX1JYTkZDPW4uCgpUaGlzIHBhdGNoIGFsbG93cyBvbmx5IEVUSFRPT0xfR1JY UklOR1MgY29tbWFuZCBvbiBtbHg1ZV9nZXRfcnhuZmMoKSB3aGVuCkNPTkZJR19NTFg1X0VOX1JY TkZDIGlzIGRpc2FibGVkLCBzbyBldGh0b29sIC14IHdpbGwgY29udGludWUgd29ya2luZy4KCkZp eGVzOiBmZTZkODZiM2MzMTYgKCJuZXQvbWx4NWU6IEFkZCBDT05GSUdfTUxYNV9FTl9SWE5GQyBm b3IgZXRodG9vbCByeCBuZmMiKQpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRt QG1lbGxhbm94LmNvbT4KLS0tCiAuLi4vZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX2V0 aHRvb2wuYyAgIHwgMTggKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTcgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9lbl9ldGh0b29sLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fZXRodG9vbC5jCmluZGV4IDI1MzQ5NmM0YTNkYi4uYTkw OGUyOWRkYjdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvZW5fZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9lbl9ldGh0b29sLmMKQEAgLTE4MDIsNiArMTgwMiwyMiBAQCBzdGF0aWMgaW50IG1s eDVlX2ZsYXNoX2RldmljZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCXJldHVybiBtbHg1ZV9l dGh0b29sX2ZsYXNoX2RldmljZShwcml2LCBmbGFzaCk7CiB9CiAKKyNpZm5kZWYgQ09ORklHX01M WDVfRU5fUlhORkMKKy8qIFdoZW4gQ09ORklHX01MWDVfRU5fUlhORkM9biB3ZSBvbmx5IHN1cHBv cnQgRVRIVE9PTF9HUlhSSU5HUworICogb3RoZXJ3aXNlIHRoaXMgZnVuY3Rpb24gd2lsbCBiZSBk ZWZpbmVkIGZyb20gZW5fZnNfZXRodG9vbC5jCisgKi8KK3N0YXRpYyBpbnQgbWx4NWVfZ2V0X3J4 bmZjKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBldGh0b29sX3J4bmZjICppbmZvLCB1 MzIgKnJ1bGVfbG9jcykKK3sKKwlzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2 KGRldik7CisKKwlpZiAoaW5mby0+Y21kICE9IEVUSFRPT0xfR1JYUklOR1MpCisJCXJldHVybiAt RU9QTk9UU1VQUDsKKwkvKiByaW5nX2NvdW50IGlzIG5lZWRlZCBieSBldGh0b29sIC14ICovCisJ aW5mby0+ZGF0YSA9IHByaXYtPmNoYW5uZWxzLnBhcmFtcy5udW1fY2hhbm5lbHM7CisJcmV0dXJu IDA7Cit9CisjZW5kaWYKKwogY29uc3Qgc3RydWN0IGV0aHRvb2xfb3BzIG1seDVlX2V0aHRvb2xf b3BzID0gewogCS5nZXRfZHJ2aW5mbyAgICAgICA9IG1seDVlX2dldF9kcnZpbmZvLAogCS5nZXRf bGluayAgICAgICAgICA9IGV0aHRvb2xfb3BfZ2V0X2xpbmssCkBAIC0xODIwLDggKzE4MzYsOCBA QCBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgbWx4NWVfZXRodG9vbF9vcHMgPSB7CiAJLmdldF9y eGZoX2luZGlyX3NpemUgPSBtbHg1ZV9nZXRfcnhmaF9pbmRpcl9zaXplLAogCS5nZXRfcnhmaCAg ICAgICAgICA9IG1seDVlX2dldF9yeGZoLAogCS5zZXRfcnhmaCAgICAgICAgICA9IG1seDVlX3Nl dF9yeGZoLAotI2lmZGVmIENPTkZJR19NTFg1X0VOX1JYTkZDCiAJLmdldF9yeG5mYyAgICAgICAg ID0gbWx4NWVfZ2V0X3J4bmZjLAorI2lmZGVmIENPTkZJR19NTFg1X0VOX1JYTkZDCiAJLnNldF9y eG5mYyAgICAgICAgID0gbWx4NWVfc2V0X3J4bmZjLAogI2VuZGlmCiAJLmZsYXNoX2RldmljZSAg ICAgID0gbWx4NWVfZmxhc2hfZGV2aWNlLAotLSAKMi4yMC4xCgo= ----Next_Part(Mon_May_20_23_37_45_2019_586)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_51.mbox" RnJvbSAzY2E2Y2RjODBkMDI1NjBlYzE1Yzk1MGVjZGRiOGRmNWE3Zjk0ZjRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXZWkgV2FuZyA8d2Vpd2FuQGdvb2dsZS5jb20+CkRhdGU6IFRo dSwgMTYgTWF5IDIwMTkgMTM6MzA6NTQgLTA3MDAKU3ViamVjdDogW1BBVENIIDAxLzIzXSBpcHY2 OiBmaXggc3JjIGFkZHIgcm91dGluZyB3aXRoIHRoZSBleGNlcHRpb24gdGFibGUKClsgVXBzdHJl YW0gY29tbWl0IDUxMGUyY2VkYTAzMWVlZDk3YTdhMGY5YWFkNjVkMjcxYTU4YjQ2MGQgXQoKV2hl biBpbnNlcnRpbmcgcm91dGUgY2FjaGUgaW50byB0aGUgZXhjZXB0aW9uIHRhYmxlLCB0aGUga2V5 IGlzCmdlbmVyYXRlZCB3aXRoIGJvdGggc3JjX2FkZHIgYW5kIGRlc3RfYWRkciB3aXRoIHNyYyBh ZGRyIHJvdXRpbmcuCkhvd2V2ZXIsIGN1cnJlbnQgbG9naWMgYWx3YXlzIGFzc3VtZXMgdGhlIHNy Y19hZGRyIHVzZWQgdG8gZ2VuZXJhdGUgdGhlCmtleSBpcyBhIC8xMjggaG9zdCBhZGRyZXNzLiBU aGlzIGlzIG5vdCB0cnVlIGluIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW9zOgoxLiBXaGVuIHRoZSBy b3V0ZSBpcyBhIGdhdGV3YXkgcm91dGUgb3IgZG9lcyBub3QgaGF2ZSBuZXh0IGhvcC4KICAgKHJ0 Nl9pc19nd19vcl9ub25leHRob3AoKSA9PSBmYWxzZSkKMi4gV2hlbiBjYWxsaW5nIGlwNl9ydF9j YWNoZV9hbGxvYygpLCBzYWRkciBpcyBwYXNzZWQgaW4gYXMgTlVMTC4KVGhpcyBtZWFucywgd2hl biBsb29raW5nIGZvciBhIHJvdXRlIGNhY2hlIGluIHRoZSBleGNlcHRpb24gdGFibGUsIHdlCmhh dmUgdG8gZG8gdGhlIGxvb2t1cCB0d2ljZTogZmlyc3QgdGltZSB3aXRoIHRoZSBwYXNzZWQgaW4g LzEyOCBob3N0CmFkZHJlc3MsIHNlY29uZCB0aW1lIHdpdGggdGhlIHNyY19hZGRyIHN0b3JlZCBp biBmaWI2X2luZm8uCgpUaGlzIHNvbHZlcyB0aGUgcG10dSBkaXNjb3ZlcnkgaXNzdWUgcmVwb3J0 ZWQgYnkgTWlrYWVsIE1hZ251c3NvbiB3aGVyZQphIHJvdXRlIGNhY2hlIHdpdGggYSBsb3dlciBt dHUgaW5mbyBpcyBjcmVhdGVkIGZvciBhIGdhdGV3YXkgcm91dGUgd2l0aApzcmMgYWRkci4gSG93 ZXZlciwgdGhlIGxvb2t1cCBjb2RlIGlzIG5vdCBhYmxlIHRvIGZpbmQgdGhpcyByb3V0ZSBjYWNo ZS4KCkZpeGVzOiAyYjc2MGZjZjVjZmIgKCJpcHY2OiBob29rIHVwIGV4Y2VwdGlvbiB0YWJsZSB0 byBzdG9yZSBkc3QgY2FjaGUiKQpSZXBvcnRlZC1ieTogTWlrYWVsIE1hZ251c3NvbiA8bWlrYWVs Lmtlcm5lbEBsaXN0cy5tN24uc2U+CkJpc2VjdGVkLWJ5OiBEYXZpZCBBaGVybiA8ZHNhaGVybkBn bWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IFdlaSBXYW5nIDx3ZWl3YW5AZ29vZ2xlLmNvbT4KQ2M6 IE1hcnRpbiBMYXUgPGthZmFpQGZiLmNvbT4KQ2M6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KQWNrZWQtYnk6IE1hcnRpbiBLYUZhaSBMYXUgPGthZmFpQGZiLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9p cHY2L3JvdXRlLmMgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9yb3V0ZS5jIGIvbmV0L2lwdjYvcm91dGUuYwppbmRl eCAwNTIwYWNhMzM1NGIuLjRlZGU3OTAxODQ4MSAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvcm91dGUu YworKysgYi9uZXQvaXB2Ni9yb3V0ZS5jCkBAIC0xMTAsOCArMTEwLDggQEAgc3RhdGljIGludCBy dDZfZmlsbF9ub2RlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCSBp bnQgaWlmLCBpbnQgdHlwZSwgdTMyIHBvcnRpZCwgdTMyIHNlcSwKIAkJCSB1bnNpZ25lZCBpbnQg ZmxhZ3MpOwogc3RhdGljIHN0cnVjdCBydDZfaW5mbyAqcnQ2X2ZpbmRfY2FjaGVkX3J0KHN0cnVj dCBmaWI2X2luZm8gKnJ0LAotCQkJCQkgICBzdHJ1Y3QgaW42X2FkZHIgKmRhZGRyLAotCQkJCQkg ICBzdHJ1Y3QgaW42X2FkZHIgKnNhZGRyKTsKKwkJCQkJICAgY29uc3Qgc3RydWN0IGluNl9hZGRy ICpkYWRkciwKKwkJCQkJICAgY29uc3Qgc3RydWN0IGluNl9hZGRyICpzYWRkcik7CiAKICNpZmRl ZiBDT05GSUdfSVBWNl9ST1VURV9JTkZPCiBzdGF0aWMgc3RydWN0IGZpYjZfaW5mbyAqcnQ2X2Fk ZF9yb3V0ZV9pbmZvKHN0cnVjdCBuZXQgKm5ldCwKQEAgLTE1MjksMzEgKzE1MjksNDQgQEAgdm9p ZCBydDZfZmx1c2hfZXhjZXB0aW9ucyhzdHJ1Y3QgZmliNl9pbmZvICpydCkKICAqIENhbGxlciBo YXMgdG8gaG9sZCByY3VfcmVhZF9sb2NrKCkKICAqLwogc3RhdGljIHN0cnVjdCBydDZfaW5mbyAq cnQ2X2ZpbmRfY2FjaGVkX3J0KHN0cnVjdCBmaWI2X2luZm8gKnJ0LAotCQkJCQkgICBzdHJ1Y3Qg aW42X2FkZHIgKmRhZGRyLAotCQkJCQkgICBzdHJ1Y3QgaW42X2FkZHIgKnNhZGRyKQorCQkJCQkg ICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmRhZGRyLAorCQkJCQkgICBjb25zdCBzdHJ1Y3QgaW42 X2FkZHIgKnNhZGRyKQogeworCWNvbnN0IHN0cnVjdCBpbjZfYWRkciAqc3JjX2tleSA9IE5VTEw7 CiAJc3RydWN0IHJ0Nl9leGNlcHRpb25fYnVja2V0ICpidWNrZXQ7Ci0Jc3RydWN0IGluNl9hZGRy ICpzcmNfa2V5ID0gTlVMTDsKIAlzdHJ1Y3QgcnQ2X2V4Y2VwdGlvbiAqcnQ2X2V4OwogCXN0cnVj dCBydDZfaW5mbyAqcmVzID0gTlVMTDsKIAotCWJ1Y2tldCA9IHJjdV9kZXJlZmVyZW5jZShydC0+ cnQ2aV9leGNlcHRpb25fYnVja2V0KTsKLQogI2lmZGVmIENPTkZJR19JUFY2X1NVQlRSRUVTCiAJ LyogcnQ2aV9zcmMucGxlbiAhPSAwIGluZGljYXRlcyBydCBpcyBpbiBzdWJ0cmVlCiAJICogYW5k IGV4Y2VwdGlvbiB0YWJsZSBpcyBpbmRleGVkIGJ5IGEgaGFzaCBvZgogCSAqIGJvdGggcnQ2aV9k c3QgYW5kIHJ0Nmlfc3JjLgotCSAqIE90aGVyd2lzZSwgdGhlIGV4Y2VwdGlvbiB0YWJsZSBpcyBp bmRleGVkIGJ5Ci0JICogYSBoYXNoIG9mIG9ubHkgcnQ2aV9kc3QuCisJICogSG93ZXZlciwgdGhl IHNyYyBhZGRyIHVzZWQgdG8gY3JlYXRlIHRoZSBoYXNoCisJICogbWlnaHQgbm90IGJlIGV4YWN0 bHkgdGhlIHBhc3NlZCBpbiBzYWRkciB3aGljaAorCSAqIGlzIGEgLzEyOCBhZGRyIGZyb20gdGhl IGZsb3cuCisJICogU28gd2UgbmVlZCB0byB1c2UgZjZpLT5maWI2X3NyYyB0byByZWRvIGxvb2t1 cAorCSAqIGlmIHRoZSBwYXNzZWQgaW4gc2FkZHIgZG9lcyBub3QgZmluZCBhbnl0aGluZy4KKwkg KiAoU2VlIHRoZSBsb2dpYyBpbiBpcDZfcnRfY2FjaGVfYWxsb2MoKSBvbiBob3cKKwkgKiBydC0+ cnQ2aV9zcmMgaXMgdXBkYXRlZC4pCiAJICovCiAJaWYgKHJ0LT5maWI2X3NyYy5wbGVuKQogCQlz cmNfa2V5ID0gc2FkZHI7CitmaW5kX2V4OgogI2VuZGlmCisJYnVja2V0ID0gcmN1X2RlcmVmZXJl bmNlKHJ0LT5ydDZpX2V4Y2VwdGlvbl9idWNrZXQpOwogCXJ0Nl9leCA9IF9fcnQ2X2ZpbmRfZXhj ZXB0aW9uX3JjdSgmYnVja2V0LCBkYWRkciwgc3JjX2tleSk7CiAKIAlpZiAocnQ2X2V4ICYmICFy dDZfY2hlY2tfZXhwaXJlZChydDZfZXgtPnJ0NmkpKQogCQlyZXMgPSBydDZfZXgtPnJ0Nmk7CiAK KyNpZmRlZiBDT05GSUdfSVBWNl9TVUJUUkVFUworCS8qIFVzZSBmaWI2X3NyYyBhcyBzcmNfa2V5 IGFuZCByZWRvIGxvb2t1cCAqLworCWlmICghcmVzICYmIHNyY19rZXkgJiYgc3JjX2tleSAhPSAm cnQtPmZpYjZfc3JjLmFkZHIpIHsKKwkJc3JjX2tleSA9ICZydC0+ZmliNl9zcmMuYWRkcjsKKwkJ Z290byBmaW5kX2V4OworCX0KKyNlbmRpZgorCiAJcmV0dXJuIHJlczsKIH0KIApAQCAtMjYwOCwx MCArMjYyMSw4IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaXA2X210dShjb25zdCBzdHJ1Y3QgZHN0 X2VudHJ5ICpkc3QpCiB1MzIgaXA2X210dV9mcm9tX2ZpYjYoc3RydWN0IGZpYjZfaW5mbyAqZjZp LCBzdHJ1Y3QgaW42X2FkZHIgKmRhZGRyLAogCQkgICAgICBzdHJ1Y3QgaW42X2FkZHIgKnNhZGRy KQogewotCXN0cnVjdCBydDZfZXhjZXB0aW9uX2J1Y2tldCAqYnVja2V0OwotCXN0cnVjdCBydDZf ZXhjZXB0aW9uICpydDZfZXg7Ci0Jc3RydWN0IGluNl9hZGRyICpzcmNfa2V5OwogCXN0cnVjdCBp bmV0Nl9kZXYgKmlkZXY7CisJc3RydWN0IHJ0Nl9pbmZvICpydDsKIAl1MzIgbXR1ID0gMDsKIAog CWlmICh1bmxpa2VseShmaWI2X21ldHJpY19sb2NrZWQoZjZpLCBSVEFYX01UVSkpKSB7CkBAIC0y NjIwLDE4ICsyNjMxLDEwIEBAIHUzMiBpcDZfbXR1X2Zyb21fZmliNihzdHJ1Y3QgZmliNl9pbmZv ICpmNmksIHN0cnVjdCBpbjZfYWRkciAqZGFkZHIsCiAJCQlnb3RvIG91dDsKIAl9CiAKLQlzcmNf a2V5ID0gTlVMTDsKLSNpZmRlZiBDT05GSUdfSVBWNl9TVUJUUkVFUwotCWlmIChmNmktPmZpYjZf c3JjLnBsZW4pCi0JCXNyY19rZXkgPSBzYWRkcjsKLSNlbmRpZgotCi0JYnVja2V0ID0gcmN1X2Rl cmVmZXJlbmNlKGY2aS0+cnQ2aV9leGNlcHRpb25fYnVja2V0KTsKLQlydDZfZXggPSBfX3J0Nl9m aW5kX2V4Y2VwdGlvbl9yY3UoJmJ1Y2tldCwgZGFkZHIsIHNyY19rZXkpOwotCWlmIChydDZfZXgg JiYgIXJ0Nl9jaGVja19leHBpcmVkKHJ0Nl9leC0+cnQ2aSkpCi0JCW10dSA9IGRzdF9tZXRyaWNf cmF3KCZydDZfZXgtPnJ0NmktPmRzdCwgUlRBWF9NVFUpOwotCi0JaWYgKGxpa2VseSghbXR1KSkg eworCXJ0ID0gcnQ2X2ZpbmRfY2FjaGVkX3J0KGY2aSwgZGFkZHIsIHNhZGRyKTsKKwlpZiAodW5s aWtlbHkocnQpKSB7CisJCW10dSA9IGRzdF9tZXRyaWNfcmF3KCZydC0+ZHN0LCBSVEFYX01UVSk7 CisJfSBlbHNlIHsKIAkJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IGZpYjZfaW5mb19uaF9kZXYo ZjZpKTsKIAogCQltdHUgPSBJUFY2X01JTl9NVFU7Ci0tIAoyLjIwLjEKCgpGcm9tIDg5MDk1MzJk ZjMwZDQ2OGY4YjBmMmVkMWI0NWY4NGIxYzcyYjFjZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCAxNSBN YXkgMjAxOSAxOTozOTo1MiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMjNdIGlwdjY6IHByZXZl bnQgcG9zc2libGUgZmliNiBsZWFrcwoKWyBVcHN0cmVhbSBjb21taXQgNjFmYjBkMDE2ODA3NzFm NzJjYzlkMzk3ODNmYjJjMTIyYWFhZDUxZSBdCgpBdCBpcHY2IHJvdXRlIGRpc21hbnRsZSwgZmli Nl9kcm9wX3BjcHVfZnJvbSgpIGlzIHJlc3BvbnNpYmxlCmZvciBmaW5kaW5nIGFsbCBwZXJjcHUg cm91dGVzIGFuZCBzZXQgdGhlaXIgLT5mcm9tIHBvaW50ZXIKdG8gTlVMTCwgc28gdGhhdCBmaWI2 X3JlZiBjYW4gcmVhY2ggaXRzIGV4cGVjdGVkIHZhbHVlICgxKS4KClRoZSBwcm9ibGVtIHJpZ2h0 IG5vdyBpcyB0aGF0IG90aGVyIGNwdXMgY2FuIHN0aWxsIGNhdGNoIHRoZQpyb3V0ZSBiZWluZyBk ZWxldGVkLCBzaW5jZSB0aGVyZSBpcyBubyByY3UgZ3JhY2UgcGVyaW9kCmJldHdlZW4gdGhlIHJv dXRlIGRlbGV0aW9uIGFuZCBjYWxsIHRvIGZpYjZfZHJvcF9wY3B1X2Zyb20oKQoKVGhpcyBjYW4g bGVhayB0aGUgZmliNiBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMsIHNpbmNlIG5vCm5vdGlmaWVy IHdpbGwgdGFrZSBjYXJlIG9mIHJlbW92aW5nIHRoZSBsYXN0IHJlZmVyZW5jZShzKS4KCkkgZGVj aWRlZCB0byBhZGQgYW5vdGhlciBib29sZWFuIChmaWI2X2Rlc3Ryb3lpbmcpIGluc3RlYWQKb2Yg cmV1c2luZy9yZW5hbWluZyBleGNlcHRpb25fYnVja2V0X2ZsdXNoZWQgdG8gZWFzZSBzdGFibGUg YmFja3BvcnRzLAphbmQgcHJvcGVybHkgZG9jdW1lbnQgdGhlIG1lbW9yeSBiYXJyaWVycyB1c2Vk IHRvIGltcGxlbWVudCB0aGlzIGZpeC4KClRoaXMgcGF0Y2ggaGFzIGJlZW4gY28tZGV2ZWxvcHBl ZCB3aXRoIFdlaSBXYW5nLgoKRml4ZXM6IDkzNTMxYzY3NDMxNSAoIm5ldC9pcHY2OiBzZXBhcmF0 ZSBoYW5kbGluZyBvZiBGSUIgZW50cmllcyBmcm9tIGRzdCBiYXNlZCByb3V0ZXMiKQpTaWduZWQt b2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClJlcG9ydGVkLWJ5OiBz eXpib3QgPHN5emthbGxlckBnb29nbGVncm91cHMuY29tPgpDYzogV2VpIFdhbmcgPHdlaXdhbkBn b29nbGUuY29tPgpDYzogRGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpDYzogTWFydGlu IExhdSA8a2FmYWlAZmIuY29tPgpBY2tlZC1ieTogV2VpIFdhbmcgPHdlaXdhbkBnb29nbGUuY29t PgpBY2tlZC1ieTogTWFydGluIEthRmFpIExhdSA8a2FmYWlAZmIuY29tPgpSZXZpZXdlZC1ieTog RGF2aWQgQWhlcm4gPGRzYWhlcm5AZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9uZXQvaXA2X2ZpYi5oIHwg IDMgKystCiBuZXQvaXB2Ni9pcDZfZmliLmMgICAgfCAxMiArKysrKysrKystLS0KIG5ldC9pcHY2 L3JvdXRlLmMgICAgICB8ICA3ICsrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9pcDZfZmliLmgg Yi9pbmNsdWRlL25ldC9pcDZfZmliLmgKaW5kZXggODQwOTcwMTAyMzdjLi5iNWUzYWRkOTBlOTkg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L2lwNl9maWIuaAorKysgYi9pbmNsdWRlL25ldC9pcDZf ZmliLmgKQEAgLTE3MSw3ICsxNzEsOCBAQCBzdHJ1Y3QgZmliNl9pbmZvIHsKIAkJCQkJZHN0X25v Y291bnQ6MSwKIAkJCQkJZHN0X25vcG9saWN5OjEsCiAJCQkJCWRzdF9ob3N0OjEsCi0JCQkJCXVu dXNlZDozOworCQkJCQlmaWI2X2Rlc3Ryb3lpbmc6MSwKKwkJCQkJdW51c2VkOjI7CiAKIAlzdHJ1 Y3QgZmliNl9uaAkJCWZpYjZfbmg7CiAJc3RydWN0IHJjdV9oZWFkCQkJcmN1OwpkaWZmIC0tZ2l0 IGEvbmV0L2lwdjYvaXA2X2ZpYi5jIGIvbmV0L2lwdjYvaXA2X2ZpYi5jCmluZGV4IDkxMjQ3YTZm YzY3Zi4uOTkxNWY2NGIzOGEwIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfZmliLmMKKysrIGIv bmV0L2lwdjYvaXA2X2ZpYi5jCkBAIC05MDksNiArOTA5LDEyIEBAIHN0YXRpYyB2b2lkIGZpYjZf ZHJvcF9wY3B1X2Zyb20oc3RydWN0IGZpYjZfaW5mbyAqZjZpLAogewogCWludCBjcHU7CiAKKwkv KiBNYWtlIHN1cmUgcnQ2X21ha2VfcGNwdV9yb3V0ZSgpIHdvbnQgYWRkIG90aGVyIHBlcmNwdSBy b3V0ZXMKKwkgKiB3aGlsZSB3ZSBhcmUgY2xlYW5pbmcgdGhlbSBoZXJlLgorCSAqLworCWY2aS0+ ZmliNl9kZXN0cm95aW5nID0gMTsKKwltYigpOyAvKiBwYWlyZWQgd2l0aCB0aGUgY21weGNoZygp IGluIHJ0Nl9tYWtlX3BjcHVfcm91dGUoKSAqLworCiAJLyogcmVsZWFzZSB0aGUgcmVmZXJlbmNl IHRvIHRoaXMgZmliIGVudHJ5IGZyb20KIAkgKiBhbGwgb2YgaXRzIGNhY2hlZCBwY3B1IHJvdXRl cwogCSAqLwpAQCAtOTMyLDYgKzkzOCw5IEBAIHN0YXRpYyB2b2lkIGZpYjZfcHVyZ2VfcnQoc3Ry dWN0IGZpYjZfaW5mbyAqcnQsIHN0cnVjdCBmaWI2X25vZGUgKmZuLAogewogCXN0cnVjdCBmaWI2 X3RhYmxlICp0YWJsZSA9IHJ0LT5maWI2X3RhYmxlOwogCisJaWYgKHJ0LT5ydDZpX3BjcHUpCisJ CWZpYjZfZHJvcF9wY3B1X2Zyb20ocnQsIHRhYmxlKTsKKwogCWlmIChhdG9taWNfcmVhZCgmcnQt PmZpYjZfcmVmKSAhPSAxKSB7CiAJCS8qIFRoaXMgcm91dGUgaXMgdXNlZCBhcyBkdW1teSBhZGRy ZXNzIGhvbGRlciBpbiBzb21lIHNwbGl0CiAJCSAqIG5vZGVzLiBJdCBpcyBub3QgbGVha2VkLCBi dXQgaXQgc3RpbGwgaG9sZHMgb3RoZXIgcmVzb3VyY2VzLApAQCAtOTUzLDkgKzk2Miw2IEBAIHN0 YXRpYyB2b2lkIGZpYjZfcHVyZ2VfcnQoc3RydWN0IGZpYjZfaW5mbyAqcnQsIHN0cnVjdCBmaWI2 X25vZGUgKmZuLAogCQkJZm4gPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKGZuLT5wYXJlbnQs CiAJCQkJICAgIGxvY2tkZXBfaXNfaGVsZCgmdGFibGUtPnRiNl9sb2NrKSk7CiAJCX0KLQotCQlp ZiAocnQtPnJ0NmlfcGNwdSkKLQkJCWZpYjZfZHJvcF9wY3B1X2Zyb20ocnQsIHRhYmxlKTsKIAl9 CiB9CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3JvdXRlLmMgYi9uZXQvaXB2Ni9yb3V0ZS5jCmlu ZGV4IDRlZGU3OTAxODQ4MS4uZTQ3MDU4OWZiOTNiIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9yb3V0 ZS5jCisrKyBiL25ldC9pcHY2L3JvdXRlLmMKQEAgLTEyNjAsNiArMTI2MCwxMyBAQCBzdGF0aWMg c3RydWN0IHJ0Nl9pbmZvICpydDZfbWFrZV9wY3B1X3JvdXRlKHN0cnVjdCBuZXQgKm5ldCwKIAlw cmV2ID0gY21weGNoZyhwLCBOVUxMLCBwY3B1X3J0KTsKIAlCVUdfT04ocHJldik7CiAKKwlpZiAo cnQtPmZpYjZfZGVzdHJveWluZykgeworCQlzdHJ1Y3QgZmliNl9pbmZvICpmcm9tOworCisJCWZy b20gPSB4Y2hnKChfX2ZvcmNlIHN0cnVjdCBmaWI2X2luZm8gKiopJnBjcHVfcnQtPmZyb20sIE5V TEwpOworCQlmaWI2X2luZm9fcmVsZWFzZShmcm9tKTsKKwl9CisKIAlyZXR1cm4gcGNwdV9ydDsK IH0KIAotLSAKMi4yMC4xCgoKRnJvbSA1ZWE0Zjg5NzQxZDhmNzM0YjhiZmY0NGEwOTcwNmNhZGVh YWFiYzFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGbG9yaWFuIEZhaW5lbGxpIDxm LmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAxMyBNYXkgMjAxOSAxNDowNjoyNCAtMDcw MApTdWJqZWN0OiBbUEFUQ0ggMDMvMjNdIG5ldDogQWx3YXlzIGRlc2NlbmQgaW50byBkc2EvCgpb IFVwc3RyZWFtIGNvbW1pdCAwZmU5ZjE3M2Q2Y2RhOTU4NzRlZGViNDEzYjFmYTk5MDdiNWFlODMw IF0KCkppcmkgcmVwb3J0ZWQgdGhhdCB3aXRoIGEga2VybmVsIGJ1aWx0IHdpdGggQ09ORklHX0ZJ WEVEX1BIWT15LApDT05GSUdfTkVUX0RTQT1tIGFuZCBDT05GSUdfTkVUX0RTQV9MT09QPW0sIHdl IHdvdWxkIG5vdCBnZXQgdG8gYQpmdW5jdGlvbmFsIHN0YXRlIHdoZXJlIHRoZSBtb2NrLXVwIGRy aXZlciBpcyByZWdpc3RlcmVkLiBUdXJucyBvdXQgdGhhdAp3ZSBhcmUgbm90IGRlc2NlbmRpbmcg aW50byBkcml2ZXJzL25ldC9kc2EvIHVuY29uZGl0aW9uYWxseSwgYW5kIHdlCndvbid0IGJlIGFi bGUgdG8gbGluay1pbiBkc2FfbG9vcF9iZGluZm8ubyB3aGljaCBkb2VzIHRoZSBhY3R1YWwgbW9j ay11cAptZGlvIGRldmljZSByZWdpc3RyYXRpb24uCgpSZXBvcnRlZC1ieTogSmlyaSBQaXJrbyA8 amlyaUByZXNudWxsaS51cz4KRml4ZXM6IDQwMDEzZmYyMGIxYiAoIm5ldDogZHNhOiBGaXggZnVu Y3Rpb25hbCBkc2EtbG9vcCBkZXBlbmRlbmN5IG9uIEZJWEVEX1BIWSIpClNpZ25lZC1vZmYtYnk6 IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogVml2 aWVuIERpZGVsb3QgPHZpdmllbi5kaWRlbG90QGdtYWlsLmNvbT4KVGVzdGVkLWJ5OiBKaXJpIFBp cmtvIDxqaXJpQHJlc251bGxpLnVzPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRh dmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvTWFrZWZpbGUgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9NYWtlZmlsZSBiL2RyaXZlcnMvbmV0L01ha2VmaWxlCmluZGV4IDIxY2RlN2U3 ODYyMS4uMGQzYmEwNTZjZGEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9NYWtlZmlsZQorKysg Yi9kcml2ZXJzL25ldC9NYWtlZmlsZQpAQCAtNDAsNyArNDAsNyBAQCBvYmotJChDT05GSUdfQVJD TkVUKSArPSBhcmNuZXQvCiBvYmotJChDT05GSUdfREVWX0FQUExFVEFMSykgKz0gYXBwbGV0YWxr Lwogb2JqLSQoQ09ORklHX0NBSUYpICs9IGNhaWYvCiBvYmotJChDT05GSUdfQ0FOKSArPSBjYW4v Ci1vYmotJChDT05GSUdfTkVUX0RTQSkgKz0gZHNhLworb2JqLXkgKz0gZHNhLwogb2JqLSQoQ09O RklHX0VUSEVSTkVUKSArPSBldGhlcm5ldC8KIG9iai0kKENPTkZJR19GRERJKSArPSBmZGRpLwog b2JqLSQoQ09ORklHX0hJUFBJKSArPSBoaXBwaS8KLS0gCjIuMjAuMQoKCkZyb20gYzBhMGMyOGU3 NWQxMTkwYTk4MDUyOTM3OGU0YmE5MjZkMzU3OTYyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpEYXRlOiBUaHUsIDE2IE1h eSAyMDE5IDA4OjA5OjU3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNC8yM10gbmV0OiBhdm9pZCB3 ZWlyZCBlbWVyZ2VuY3kgbWVzc2FnZQoKWyBVcHN0cmVhbSBjb21taXQgZDdjMDRiMDVjOWNhMTRj NTUzMDllYjEzOTQzMDI4M2E0NWM0YzI1ZiBdCgpXaGVuIGhvc3QgaXMgdW5kZXIgaGlnaCBzdHJl c3MsIGl0IGlzIHZlcnkgcG9zc2libGUgdGhyZWFkCnJ1bm5pbmcgbmV0ZGV2X3dhaXRfYWxscmVm cygpIHJldHVybnMgZnJvbSBtc2xlZXAoMjUwKQoxMCBzZWNvbmRzIGxhdGUuCgpUaGlzIGxlYWRz IHRvIHRoZXNlIG1lc3NhZ2VzIGluIHRoZSBzeXNsb2cgOgoKWy4uLl0gdW5yZWdpc3Rlcl9uZXRk ZXZpY2U6IHdhaXRpbmcgZm9yIHN5el90dW4gdG8gYmVjb21lIGZyZWUuIFVzYWdlIGNvdW50ID0g MAoKSWYgdGhlIGRldmljZSByZWZjb3VudCBpcyB6ZXJvLCB0aGUgd2FpdCBpcyBvdmVyLgoKU2ln bmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpSZXBvcnRlZC1i eTogc3l6Ym90IDxzeXprYWxsZXJAZ29vZ2xlZ3JvdXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3JlL2Rldi5jIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvbmV0L2NvcmUvZGV2LmMgYi9uZXQvY29yZS9kZXYuYwppbmRleCBmNDA5NDA2MjU0 ZGQuLjI1NWY5OWNiN2M0OCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrIGIvbmV0L2Nv cmUvZGV2LmMKQEAgLTg5MTEsNyArODkxMSw3IEBAIHN0YXRpYyB2b2lkIG5ldGRldl93YWl0X2Fs bHJlZnMoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAogCQlyZWZjbnQgPSBuZXRkZXZfcmVmY250 X3JlYWQoZGV2KTsKIAotCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCB3YXJuaW5nX3RpbWUgKyAx MCAqIEhaKSkgeworCQlpZiAocmVmY250ICYmIHRpbWVfYWZ0ZXIoamlmZmllcywgd2FybmluZ190 aW1lICsgMTAgKiBIWikpIHsKIAkJCXByX2VtZXJnKCJ1bnJlZ2lzdGVyX25ldGRldmljZTogd2Fp dGluZyBmb3IgJXMgdG8gYmVjb21lIGZyZWUuIFVzYWdlIGNvdW50ID0gJWRcbiIsCiAJCQkJIGRl di0+bmFtZSwgcmVmY250KTsKIAkJCXdhcm5pbmdfdGltZSA9IGppZmZpZXM7Ci0tIAoyLjIwLjEK CgpGcm9tIGZmYTYwODRlZDRkMjYwMDU3ZmUyOGQ2NmJkOWRlYzhiNzk1NzRkYWYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFl1bmppYW4gV2FuZyA8d2FuZ3l1bmppYW5AaHVhd2VpLmNv bT4KRGF0ZTogVHVlLCAxNCBNYXkgMjAxOSAxOTowMzoxOSArMDgwMApTdWJqZWN0OiBbUEFUQ0gg MDUvMjNdIG5ldC9tbHg0X2NvcmU6IENoYW5nZSB0aGUgZXJyb3IgcHJpbnQgdG8gaW5mbyBwcmlu dAoKWyBVcHN0cmVhbSBjb21taXQgMDBmOWZlYzQ4MTU3ZjM3MzRlNTIxMzBhMTE5ODQ2ZTY3YTEy MzE0YiBdCgpUaGUgZXJyb3IgcHJpbnQgd2l0aGluIG1seDRfZmxvd19zdGVlcl9wcm9taXNjX2Fk ZCgpIHNob3VsZApiZSBhIGluZm8gcHJpbnQuCgpGaXhlczogNTkyZTQ5ZGRhODEyICgnbmV0L21s eDQ6IEltcGxlbWVudCBwcm9taXNjdW91cyBtb2RlIHdpdGggZGV2aWNlIG1hbmFnZWQgZmxvdy1z dGVlcmluZycpClNpZ25lZC1vZmYtYnk6IFl1bmppYW4gV2FuZyA8d2FuZ3l1bmppYW5AaHVhd2Vp LmNvbT4KUmV2aWV3ZWQtYnk6IFRhcmlxIFRvdWthbiA8dGFyaXF0QG1lbGxhbm94LmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQvbWNnLmMgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L21jZy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NC9tY2cuYwppbmRleCBmZmVkMmQ0Yzk0MDMuLjljNDgxODIzYjNlOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9tY2cuYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L21jZy5jCkBAIC0xNDkyLDcgKzE0OTIs NyBAQCBpbnQgbWx4NF9mbG93X3N0ZWVyX3Byb21pc2NfYWRkKHN0cnVjdCBtbHg0X2RldiAqZGV2 LCB1OCBwb3J0LAogCXJ1bGUucG9ydCA9IHBvcnQ7CiAJcnVsZS5xcG4gPSBxcG47CiAJSU5JVF9M SVNUX0hFQUQoJnJ1bGUubGlzdCk7Ci0JbWx4NF9lcnIoZGV2LCAiZ29pbmcgcHJvbWlzYyBvbiAl eFxuIiwgcG9ydCk7CisJbWx4NF9pbmZvKGRldiwgImdvaW5nIHByb21pc2Mgb24gJXhcbiIsIHBv cnQpOwogCiAJcmV0dXJuICBtbHg0X2Zsb3dfYXR0YWNoKGRldiwgJnJ1bGUsIHJlZ2lkX3ApOwog fQotLSAKMi4yMC4xCgoKRnJvbSA4MTAxMDE4ZWM4YTk5ODE2MTkzZWVlMzE2ODRjYzk1ZmE5MTc5 ZTU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxs ZW1iQGdvb2dsZS5jb20+CkRhdGU6IFdlZCwgMTUgTWF5IDIwMTkgMTM6Mjk6MTYgLTA0MDAKU3Vi amVjdDogW1BBVENIIDA2LzIzXSBuZXQ6IHRlc3Qgbm91YXJnIGJlZm9yZSBkZXJlZmVyZW5jaW5n IHplcm9jb3B5IHBvaW50ZXJzCgpbIFVwc3RyZWFtIGNvbW1pdCAxODVjZTVjMzhlYTc2ZjI5YjZi ZDljN2M4YzdhNWU1NDA4ODM0OTIwIF0KClplcm9jb3B5IHNrYnMgd2l0aG91dCBjb21wbGV0aW9u IG5vdGlmaWNhdGlvbiB3ZXJlIGFkZGVkIGZvciBwYWNrZXQKc29ja2V0cyB3aXRoIFBBQ0tFVF9U WF9SSU5HIHVzZXIgYnVmZmVycy4gVGhvc2Ugc2lnbmFsIGNvbXBsZXRpb24KdGhyb3VnaCB0aGUg VFBfU1RBVFVTX1VTRVIgYml0IGluIHRoZSByaW5nLiBaZXJvY29weSBhbm5vdGF0aW9uIHdhcwph ZGRlZCBvbmx5IHRvIGF2b2lkIHByZW1hdHVyZSBub3RpZmljYXRpb24gYWZ0ZXIgY2xvbmUgb3Ig b3JwaGFuLCBieQp0cmlnZ2VyaW5nIGEgY29weSBvbiB0aGVzZSBwYXRocyBmb3IgdGhlc2UgcGFj a2V0cy4KClRoZSBtZWNoYW5pc20gaGFkIHRvIGRlZmluZSBhIHNwZWNpYWwgIm5vLXVhcmciIG1v ZGUgYmVjYXVzZSBwYWNrZXQKc29ja2V0cyBhbHJlYWR5IHVzZSBza2JfdWFyZyhza2IpID09IHNr Yl9zaGluZm8oc2tiKS0+ZGVzdHJ1Y3Rvcl9hcmcKZm9yIGEgZGlmZmVyZW50IHBvaW50ZXIuCgpC ZWZvcmUgZGVmZXJlbmNpbmcgc2tiX3Vhcmcoc2tiKSwgdmVyaWZ5IHRoYXQgaXQgaXMgYSByZWFs IHBvaW50ZXIuCgpGaXhlczogNWNkOGQ0NmVhMTU2MiAoInBhY2tldDogY29weSB1c2VyIGJ1ZmZl cnMgYmVmb3JlIG9ycGhhbiBvciBjbG9uZSIpClNpZ25lZC1vZmYtYnk6IFdpbGxlbSBkZSBCcnVp am4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxk YXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbGludXgvc2tidWZmLmggfCA5ICsrKysr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oIGIvaW5jbHVkZS9saW51eC9za2J1ZmYu aAppbmRleCA5MDI3YThjNDIxOWYuLjIwYTRjMjI4MDMwOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9s aW51eC9za2J1ZmYuaAorKysgYi9pbmNsdWRlL2xpbnV4L3NrYnVmZi5oCkBAIC0xNDI1LDEwICsx NDI1LDEyIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBza2JfemNvcHlfY2xlYXIoc3RydWN0IHNrX2J1 ZmYgKnNrYiwgYm9vbCB6ZXJvY29weSkKIAlzdHJ1Y3QgdWJ1Zl9pbmZvICp1YXJnID0gc2tiX3pj b3B5KHNrYik7CiAKIAlpZiAodWFyZykgewotCQlpZiAodWFyZy0+Y2FsbGJhY2sgPT0gc29ja196 ZXJvY29weV9jYWxsYmFjaykgeworCQlpZiAoc2tiX3pjb3B5X2lzX25vdWFyZyhza2IpKSB7CisJ CQkvKiBubyBub3RpZmljYXRpb24gY2FsbGJhY2sgKi8KKwkJfSBlbHNlIGlmICh1YXJnLT5jYWxs YmFjayA9PSBzb2NrX3plcm9jb3B5X2NhbGxiYWNrKSB7CiAJCQl1YXJnLT56ZXJvY29weSA9IHVh cmctPnplcm9jb3B5ICYmIHplcm9jb3B5OwogCQkJc29ja196ZXJvY29weV9wdXQodWFyZyk7Ci0J CX0gZWxzZSBpZiAoIXNrYl96Y29weV9pc19ub3Vhcmcoc2tiKSkgeworCQl9IGVsc2UgewogCQkJ dWFyZy0+Y2FsbGJhY2sodWFyZywgemVyb2NvcHkpOwogCQl9CiAKQEAgLTI2ODMsNyArMjY4NSw4 IEBAIHN0YXRpYyBpbmxpbmUgaW50IHNrYl9vcnBoYW5fZnJhZ3Moc3RydWN0IHNrX2J1ZmYgKnNr YiwgZ2ZwX3QgZ2ZwX21hc2spCiB7CiAJaWYgKGxpa2VseSghc2tiX3pjb3B5KHNrYikpKQogCQly ZXR1cm4gMDsKLQlpZiAoc2tiX3Vhcmcoc2tiKS0+Y2FsbGJhY2sgPT0gc29ja196ZXJvY29weV9j YWxsYmFjaykKKwlpZiAoIXNrYl96Y29weV9pc19ub3Vhcmcoc2tiKSAmJgorCSAgICBza2JfdWFy Zyhza2IpLT5jYWxsYmFjayA9PSBzb2NrX3plcm9jb3B5X2NhbGxiYWNrKQogCQlyZXR1cm4gMDsK IAlyZXR1cm4gc2tiX2NvcHlfdWJ1ZnMoc2tiLCBnZnBfbWFzayk7CiB9Ci0tIAoyLjIwLjEKCgpG cm9tIGQ1YTRjOWYxMTAxYTFhYmM1ZWVhMTcyZjkwMDZiNWZjNGYzOTVmYmYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IERhbmllbGUgUGFsbWFzIDxkbmxwbG1AZ21haWwuY29tPgpEYXRl OiBXZWQsIDE1IE1heSAyMDE5IDE3OjI5OjQzICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNy8yM10g bmV0OiB1c2I6IHFtaV93d2FuOiBhZGQgVGVsaXQgMHgxMjYwIGFuZCAweDEyNjEKIGNvbXBvc2l0 aW9ucwpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQg YjRlNDY3YzgyZjhjMTJhZjc4YjZmNmZhNTczMGNiN2RlYTdhZjFiNCBdCgpBZGRlZCBzdXBwb3J0 IGZvciBUZWxpdCBMRTkxMEN4IDB4MTI2MCBhbmQgMHgxMjYxIGNvbXBvc2l0aW9ucy4KClNpZ25l ZC1vZmYtYnk6IERhbmllbGUgUGFsbWFzIDxkbmxwbG1AZ21haWwuY29tPgpBY2tlZC1ieTogQmrD uHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8 ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYyB8IDIg KysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC91c2IvcW1pX3d3YW4uYyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCmluZGV4IDY3 OWU0MDRhNTIyNC4uMzY2MjE3MjYzZDcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvcW1p X3d3YW4uYworKysgYi9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYwpAQCAtMTI1MCw2ICsxMjUw LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkIHByb2R1Y3RzW10gPSB7CiAJ e1FNSV9GSVhFRF9JTlRGKDB4MWJjNywgMHgxMTAxLCAzKX0sCS8qIFRlbGl0IE1FOTEwIGR1YWwg bW9kZW0gKi8KIAl7UU1JX0ZJWEVEX0lOVEYoMHgxYmM3LCAweDEyMDAsIDUpfSwJLyogVGVsaXQg TEU5MjAgKi8KIAl7UU1JX1FVSVJLX1NFVF9EVFIoMHgxYmM3LCAweDEyMDEsIDIpfSwJLyogVGVs aXQgTEU5MjAsIExFOTIwQTQgKi8KKwl7UU1JX1FVSVJLX1NFVF9EVFIoMHgxYmM3LCAweDEyNjAs IDIpfSwJLyogVGVsaXQgTEU5MTBDeCAqLworCXtRTUlfUVVJUktfU0VUX0RUUigweDFiYzcsIDB4 MTI2MSwgMil9LAkvKiBUZWxpdCBMRTkxMEN4ICovCiAJe1FNSV9RVUlSS19TRVRfRFRSKDB4MWJj NywgMHgxOTAwLCAxKX0sCS8qIFRlbGl0IExOOTQwIHNlcmllcyAqLwogCXtRTUlfRklYRURfSU5U RigweDFjOWUsIDB4OTgwMSwgMyl9LAkvKiBUZWxld2VsbCBUVy0zRyBIU1BBKyAqLwogCXtRTUlf RklYRURfSU5URigweDFjOWUsIDB4OTgwMywgNCl9LAkvKiBUZWxld2VsbCBUVy0zRyBIU1BBKyAq LwotLSAKMi4yMC4xCgoKRnJvbSAwMDkyNzRmOTYyOTI1MjAzOTJkMjkyNTRkMGYxOGJjMzcwYmY0 ZGQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQaWV0ZXIgSmFuc2VuIHZhbiBWdXVy ZW4gPHBpZXRlci5qYW5zZW52YW52dXVyZW5AbmV0cm9ub21lLmNvbT4KRGF0ZTogVHVlLCAxNCBN YXkgMjAxOSAxNDoyODoxOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMjNdIG5mcDogZmxvd2Vy OiBhZGQgcmN1IGxvY2tzIHdoZW4gYWNjZXNzaW5nIG5ldGRldiBmb3IKIHR1bm5lbHMKClsgVXBz dHJlYW0gY29tbWl0IGNiMDdkOTE1YmYyNzhhN2EzOTM4Yjk4M2JiY2I0OTIxMzY2YjVlZmYgXQoK QWRkIHJjdSBsb2NrcyB3aGVuIGFjY2Vzc2luZyBuZXRkZXYgd2hlbiBwcm9jZXNzaW5nIHJvdXRl IHJlcXVlc3QKYW5kIHR1bm5lbCBrZWVwIGFsaXZlIG1lc3NhZ2VzIHJlY2VpdmVkIGZyb20gaGFy ZHdhcmUuCgpGaXhlczogOGU2YTkwNDZiNjZhICgibmZwOiBmbG93ZXIgdnhsYW4gbmVpZ2hib3Vy IG9mZmxvYWQiKQpGaXhlczogODU2ZjViMTM1NzU4ICgibmZwOiBmbG93ZXIgdnhsYW4gbmVpZ2hi b3VyIGtlZXAtYWxpdmUiKQpTaWduZWQtb2ZmLWJ5OiBQaWV0ZXIgSmFuc2VuIHZhbiBWdXVyZW4g PHBpZXRlci5qYW5zZW52YW52dXVyZW5AbmV0cm9ub21lLmNvbT4KUmV2aWV3ZWQtYnk6IEpha3Vi IEtpY2luc2tpIDxqYWt1Yi5raWNpbnNraUBuZXRyb25vbWUuY29tPgpSZXZpZXdlZC1ieTogSm9o biBIdXJsZXkgPGpvaG4uaHVybGV5QG5ldHJvbm9tZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlk IFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiAuLi4vZXRoZXJuZXQvbmV0cm9u b21lL25mcC9mbG93ZXIvdHVubmVsX2NvbmYuYyB8IDE3ICsrKysrKysrKysrLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9uZXRyb25vbWUvbmZwL2Zsb3dlci90dW5uZWxfY29uZi5j IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvdHVubmVsX2NvbmYu YwppbmRleCA0ZDc4YmU0ZWM0ZTkuLjg0M2RkZjU0OGYyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbmV0cm9ub21lL25mcC9mbG93ZXIvdHVubmVsX2NvbmYuYworKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9uZXRyb25vbWUvbmZwL2Zsb3dlci90dW5uZWxfY29uZi5jCkBAIC0x NjgsNiArMTY4LDcgQEAgdm9pZCBuZnBfdHVubmVsX2tlZXBfYWxpdmUoc3RydWN0IG5mcF9hcHAg KmFwcCwgc3RydWN0IHNrX2J1ZmYgKnNrYikKIAkJcmV0dXJuOwogCX0KIAorCXJjdV9yZWFkX2xv Y2soKTsKIAlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogCQlpcHY0X2FkZHIgPSBwYXls b2FkLT50dW5faW5mb1tpXS5pcHY0OwogCQlwb3J0ID0gYmUzMl90b19jcHUocGF5bG9hZC0+dHVu X2luZm9baV0uZWdyZXNzX3BvcnQpOwpAQCAtMTgzLDYgKzE4NCw3IEBAIHZvaWQgbmZwX3R1bm5l bF9rZWVwX2FsaXZlKHN0cnVjdCBuZnBfYXBwICphcHAsIHN0cnVjdCBza19idWZmICpza2IpCiAJ CW5laWdoX2V2ZW50X3NlbmQobiwgTlVMTCk7CiAJCW5laWdoX3JlbGVhc2Uobik7CiAJfQorCXJj dV9yZWFkX3VubG9jaygpOwogfQogCiBzdGF0aWMgaW50CkBAIC0zNjYsOSArMzY4LDEwIEBAIHZv aWQgbmZwX3R1bm5lbF9yZXF1ZXN0X3JvdXRlKHN0cnVjdCBuZnBfYXBwICphcHAsIHN0cnVjdCBz a19idWZmICpza2IpCiAKIAlwYXlsb2FkID0gbmZwX2Zsb3dlcl9jbXNnX2dldF9kYXRhKHNrYik7 CiAKKwlyY3VfcmVhZF9sb2NrKCk7CiAJbmV0ZGV2ID0gbmZwX2FwcF9yZXByX2dldChhcHAsIGJl MzJfdG9fY3B1KHBheWxvYWQtPmluZ3Jlc3NfcG9ydCkpOwogCWlmICghbmV0ZGV2KQotCQlnb3Rv IHJvdXRlX2ZhaWxfd2FybmluZzsKKwkJZ290byBmYWlsX3JjdV91bmxvY2s7CiAKIAlmbG93LmRh ZGRyID0gcGF5bG9hZC0+aXB2NF9hZGRyOwogCWZsb3cuZmxvd2k0X3Byb3RvID0gSVBQUk9UT19V RFA7CkBAIC0zNzgsMjEgKzM4MSwyMyBAQCB2b2lkIG5mcF90dW5uZWxfcmVxdWVzdF9yb3V0ZShz dHJ1Y3QgbmZwX2FwcCAqYXBwLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCXJ0ID0gaXBfcm91dGVf b3V0cHV0X2tleShkZXZfbmV0KG5ldGRldiksICZmbG93KTsKIAllcnIgPSBQVFJfRVJSX09SX1pF Uk8ocnQpOwogCWlmIChlcnIpCi0JCWdvdG8gcm91dGVfZmFpbF93YXJuaW5nOworCQlnb3RvIGZh aWxfcmN1X3VubG9jazsKICNlbHNlCi0JZ290byByb3V0ZV9mYWlsX3dhcm5pbmc7CisJZ290byBm YWlsX3JjdV91bmxvY2s7CiAjZW5kaWYKIAogCS8qIEdldCB0aGUgbmVpZ2hib3VyIGVudHJ5IGZv ciB0aGUgbG9va3VwICovCiAJbiA9IGRzdF9uZWlnaF9sb29rdXAoJnJ0LT5kc3QsICZmbG93LmRh ZGRyKTsKIAlpcF9ydF9wdXQocnQpOwogCWlmICghbikKLQkJZ290byByb3V0ZV9mYWlsX3dhcm5p bmc7Ci0JbmZwX3R1bl93cml0ZV9uZWlnaChuLT5kZXYsIGFwcCwgJmZsb3csIG4sIEdGUF9LRVJO RUwpOworCQlnb3RvIGZhaWxfcmN1X3VubG9jazsKKwluZnBfdHVuX3dyaXRlX25laWdoKG4tPmRl diwgYXBwLCAmZmxvdywgbiwgR0ZQX0FUT01JQyk7CiAJbmVpZ2hfcmVsZWFzZShuKTsKKwlyY3Vf cmVhZF91bmxvY2soKTsKIAlyZXR1cm47CiAKLXJvdXRlX2ZhaWxfd2FybmluZzoKK2ZhaWxfcmN1 X3VubG9jazoKKwlyY3VfcmVhZF91bmxvY2soKTsKIAluZnBfZmxvd2VyX2Ntc2dfd2FybihhcHAs ICJSZXF1ZXN0ZWQgcm91dGUgbm90IGZvdW5kLlxuIik7CiB9CiAKLS0gCjIuMjAuMQoKCkZyb20g ZWU0MGFkYzRhOTQwMWJmZTdmZDg2MDUyYWQ3ZWIzZjY3MzExMjAyYyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogWXVlSGFpYmluZyA8eXVlaGFpYmluZ0BodWF3ZWkuY29tPgpEYXRlOiBU dWUsIDE0IE1heSAyMDE5IDIyOjU1OjMyICswODAwClN1YmplY3Q6IFtQQVRDSCAwOS8yM10gcHBw OiBkZWZsYXRlOiBGaXggcG9zc2libGUgY3Jhc2ggaW4gZGVmbGF0ZV9pbml0CgpbIFVwc3RyZWFt IGNvbW1pdCAzZWJlMWJjYTU4Yzg1MzI1Yzk3YTIyZDRmYzNmNWI1NDIwNzUyZTZmIF0KCkJVRzog dW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgZmZmZmZmZmZhMDE4ZjAw MApQR0QgMzI3MDA2NyBQNEQgMzI3MDA2NyBQVUQgMzI3MTA2MyBQTUQgMjMwN2ViMDY3IFBURSAw Ck9vcHM6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUApDUFU6IDAgUElEOiA0MTM4IENvbW06IG1vZHBy b2JlIE5vdCB0YWludGVkIDUuMS4wLXJjNysgIzEKSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFy ZCBQQyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MKcmVsLTEuOS4zLTAtZ2UyZmM0MWUtcHJl YnVpbHQucWVtdS1wcm9qZWN0Lm9yZyAwNC8wMS8yMDE0ClJJUDogMDAxMDpwcHBfcmVnaXN0ZXJf Y29tcHJlc3NvcisweDNlLzB4ZDAgW3BwcF9nZW5lcmljXQpDb2RlOiA5OCA0YSAzZiBlMiA0OCA4 YiAxNSBjMSA2NyAwMCAwMCA0MSA4YiAwYyAyNCA0OCA4MSBmYSA0MCBmMCAxOSBhMAo3NSAwZSBl YiAzNSA0OCA4YiAxMiA0OCA4MSBmYSA0MCBmMCAxOSBhMCA3NApSU1A6IDAwMTg6ZmZmZmM5MDAw MGQ5M2M2OCBFRkxBR1M6IDAwMDEwMjg3ClJBWDogZmZmZmZmZmZhMDE4ZjAwMCBSQlg6IGZmZmZm ZmZmYTAxYTMwMDAgUkNYOiAwMDAwMDAwMDAwMDAwMDFhClJEWDogZmZmZjg4ODIzMGM3NTBhMCBS U0k6IDAwMDAwMDAwMDAwMDAwMDAgUkRJOiBmZmZmZmZmZmEwMTlmMDAwClJCUDogZmZmZmM5MDAw MGQ5M2M4MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClIxMDog MDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAwMDAgUjEyOiBmZmZmZmZmZmEwMTk0 MDgwClIxMzogZmZmZjg4ODIyZWUxYTcwMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMDAgUjE1OiBmZmZm YzkwMDAwZDkzZTc4CkZTOiAgMDAwMDdmMjMzOTU1NzU0MCgwMDAwKSBHUzpmZmZmODg4MjM3YTAw MDAwKDAwMDApCmtubEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAw MDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpDUjI6IGZmZmZmZmZmYTAxOGYwMDAgQ1IzOiAwMDAw MDAwMjJiZGU0MDAwIENSNDogMDAwMDAwMDAwMDAwMDZmMApDYWxsIFRyYWNlOgogPyAweGZmZmZm ZmZmYTAxYTMwMDAKIGRlZmxhdGVfaW5pdCsweDExLzB4MTAwMCBbcHBwX2RlZmxhdGVdCiA/IDB4 ZmZmZmZmZmZhMDFhMzAwMAogZG9fb25lX2luaXRjYWxsKzB4NmMvMHgzY2MKID8ga21lbV9jYWNo ZV9hbGxvY190cmFjZSsweDI0OC8weDNiMAogZG9faW5pdF9tb2R1bGUrMHg1Yi8weDFmMQogbG9h ZF9tb2R1bGUrMHgxZGIxLzB4MjY5MAogPyBtX3Nob3crMHgxZDAvMHgxZDAKIF9fZG9fc3lzX2Zp bml0X21vZHVsZSsweGM1LzB4ZDAKIF9feDY0X3N5c19maW5pdF9tb2R1bGUrMHgxNS8weDIwCiBk b19zeXNjYWxsXzY0KzB4NmIvMHgxZDAKIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsw eDQ5LzB4YmUKCklmIHBwcF9kZWZsYXRlIGZhaWxzIHRvIHJlZ2lzdGVyIGluIGRlZmxhdGVfaW5p dCwKbW9kdWxlIGluaXRpYWxpemF0aW9uIGZhaWxlZCBvdXQsIGhvd2V2ZXIKcHBwX2RlZmxhdGVf ZHJhZnQgbWF5IGhhcyBiZWVuIHJlZ2llc3RyZWQgYW5kIG5vdAp1bnJlZ2lzdGVyZWQgYmVmb3Jl IHJldHVybi4KVGhlbiB0aGUgc2Vjb25lZCBtb2Rwcm9iZSB3aWxsIHRyaWdnZXIgY3Jhc2ggbGlr ZSB0aGlzLgoKUmVwb3J0ZWQtYnk6IEh1bGsgUm9ib3QgPGh1bGtjaUBodWF3ZWkuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBZdWVIYWliaW5nIDx5dWVoYWliaW5nQGh1YXdlaS5jb20+CkFja2VkLWJ5OiBH dWlsbGF1bWUgTmF1bHQgPGduYXVsdEByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvcHBwL3BwcF9k ZWZsYXRlLmMgfCAyMCArKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE0IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBw L3BwcF9kZWZsYXRlLmMgYi9kcml2ZXJzL25ldC9wcHAvcHBwX2RlZmxhdGUuYwppbmRleCBiNWVk YzdmOTZhMzkuLjY4NWU4NzVmNTE2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcHBwL3BwcF9k ZWZsYXRlLmMKKysrIGIvZHJpdmVycy9uZXQvcHBwL3BwcF9kZWZsYXRlLmMKQEAgLTYxMCwxMiAr NjEwLDIwIEBAIHN0YXRpYyBzdHJ1Y3QgY29tcHJlc3NvciBwcHBfZGVmbGF0ZV9kcmFmdCA9IHsK IAogc3RhdGljIGludCBfX2luaXQgZGVmbGF0ZV9pbml0KHZvaWQpCiB7Ci0gICAgICAgIGludCBh bnN3ZXIgPSBwcHBfcmVnaXN0ZXJfY29tcHJlc3NvcigmcHBwX2RlZmxhdGUpOwotICAgICAgICBp ZiAoYW5zd2VyID09IDApCi0gICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTwotCQkgICAg ICAgIlBQUCBEZWZsYXRlIENvbXByZXNzaW9uIG1vZHVsZSByZWdpc3RlcmVkXG4iKTsKLQlwcHBf cmVnaXN0ZXJfY29tcHJlc3NvcigmcHBwX2RlZmxhdGVfZHJhZnQpOwotICAgICAgICByZXR1cm4g YW5zd2VyOworCWludCByYzsKKworCXJjID0gcHBwX3JlZ2lzdGVyX2NvbXByZXNzb3IoJnBwcF9k ZWZsYXRlKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXJjID0gcHBwX3JlZ2lzdGVyX2Nv bXByZXNzb3IoJnBwcF9kZWZsYXRlX2RyYWZ0KTsKKwlpZiAocmMpIHsKKwkJcHBwX3VucmVnaXN0 ZXJfY29tcHJlc3NvcigmcHBwX2RlZmxhdGUpOworCQlyZXR1cm4gcmM7CisJfQorCisJcHJfaW5m bygiUFBQIERlZmxhdGUgQ29tcHJlc3Npb24gbW9kdWxlIHJlZ2lzdGVyZWRcbiIpOworCXJldHVy biAwOwogfQogCiBzdGF0aWMgdm9pZCBfX2V4aXQgZGVmbGF0ZV9jbGVhbnVwKHZvaWQpCi0tIAoy LjIwLjEKCgpGcm9tIDFhNzg5N2JmMDc5ZTcwOTQyM2I4NzE4M2JhZWM2NTRmMDdhMzQzZDggTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25h aWwubmV0PgpEYXRlOiBUdWUsIDE0IE1heSAyMDE5IDE1OjEyOjE5ICswMjAwClN1YmplY3Q6IFtQ QVRDSCAxMC8yM10gcnRuZXRsaW5rOiBhbHdheXMgcHV0IElGTEFfTElOSyBmb3IgbGlua3Mgd2l0 aCBhCiBsaW5rLW5ldG5zaWQKClsgVXBzdHJlYW0gY29tbWl0IGZlYWRjNGI2Y2Y0MmE1M2E4YTkz YzkxOGE1NjlhMGI3ZTYyYmQzNTAgXQoKQ3VycmVudGx5LCBubGFfcHV0X2lmbGluaygpIGRvZXNu J3QgcHV0IHRoZSBJRkxBX0xJTksgYXR0cmlidXRlIHdoZW4KaWZsaW5rID09IGlmaW5kZXguCgpJ biBzb21lIGNhc2VzLCBhIGRldmljZSBjYW4gYmUgY3JlYXRlZCBpbiBhIGRpZmZlcmVudCBuZXRu cyB3aXRoIHRoZQpzYW1lIGlmaW5kZXggYXMgaXRzIHBhcmVudC4gVGhhdCBkZXZpY2Ugd2lsbCBu b3QgZHVtcCBpdHMgSUZMQV9MSU5LCmF0dHJpYnV0ZSwgd2hpY2ggY2FuIGNvbmZ1c2Ugc29tZSB1 c2Vyc3BhY2Ugc29mdHdhcmUgdGhhdCBleHBlY3RzIGl0LgpGb3IgZXhhbXBsZSwgaWYgdGhlIGxh c3QgaWZpbmRleCBjcmVhdGVkIGluIGluaXRfbmV0IGFuZCBmb28gYXJlIGJvdGgKOCwgdGhlc2Ug Y29tbWFuZHMgd2lsbCB0cmlnZ2VyIHRoZSBpc3N1ZToKCiAgICBpcCBsaW5rIGFkZCBwYXJlbnQg dHlwZSBkdW1teSAgICAgICAgICAgICAgICAgICAjIGlmaW5kZXggOQogICAgaXAgbGluayBhZGQg bGluayBwYXJlbnQgbmV0bnMgZm9vIHR5cGUgbWFjdmxhbiAgIyBpZmluZGV4IDkgaW4gbnMgZm9v CgpTbywgaW4gY2FzZSBhIGRldmljZSBwdXRzIHRoZSBJRkxBX0xJTktfTkVUTlNJRCBhdHRyaWJ1 dGUgaW4gYSBkdW1wLAphbHdheXMgcHV0IHRoZSBJRkxBX0xJTksgYXR0cmlidXRlIGFzIHdlbGwu CgpUaGFua3MgdG8gRGFuIFdpbnNoaXAgZm9yIGFuYWx5emluZyB0aGUgb3JpZ2luYWwgT3BlblNo aWZ0IGJ1ZyBkb3duIHRvCnRoZSBtaXNzaW5nIG5ldGxpbmsgYXR0cmlidXRlLgoKdjI6IGNoYW5n ZSBGaXhlcyB0YWcsIGl0J3MgYmVlbiBoZXJlIGZvcmV2ZXIsIGFzIE5pY29sYXMgRGljaHRlbCBz YWlkCiAgICBhZGQgTmljb2xhcycgYWNrCnYzOiBjaGFuZ2UgRml4ZXMgdGFnCiAgICBmaXggc3Vi amVjdCB0eXBvLCBzcG90dGVkIGJ5IEVkd2FyZCBDcmVlCgpBbmFseXplZC1ieTogRGFuIFdpbnNo aXAgPGRhbndAcmVkaGF0LmNvbT4KRml4ZXM6IGQ4YTVlYzY3Mjc2OCAoIltORVRdOiBuZXRsaW5r IHN1cHBvcnQgZm9yIG1vdmluZyBkZXZpY2VzIGJldHdlZW4gbmV0d29yayBuYW1lc3BhY2VzLiIp ClNpZ25lZC1vZmYtYnk6IFNhYnJpbmEgRHVicm9jYSA8c2RAcXVlYXN5c25haWwubmV0PgpBY2tl ZC1ieTogTmljb2xhcyBEaWNodGVsIDxuaWNvbGFzLmRpY2h0ZWxANndpbmQuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2Nv cmUvcnRuZXRsaW5rLmMgfCAxNiArKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAg aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvY29yZS9ydG5l dGxpbmsuYyBiL25ldC9jb3JlL3J0bmV0bGluay5jCmluZGV4IDIyMGM1NmU5MzY1OS4uNDY3ZDc3 MWFjNmJhIDEwMDY0NAotLS0gYS9uZXQvY29yZS9ydG5ldGxpbmsuYworKysgYi9uZXQvY29yZS9y dG5ldGxpbmsuYwpAQCAtMTQ5NiwxNCArMTQ5NiwxNSBAQCBzdGF0aWMgaW50IHB1dF9tYXN0ZXJf aWZpbmRleChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCXJl dHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgbmxhX3B1dF9pZmxpbmsoc3RydWN0IHNrX2J1ZmYg KnNrYiwgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2UgKmRldikKK3N0YXRpYyBpbnQgbmxhX3B1dF9p Zmxpbmsoc3RydWN0IHNrX2J1ZmYgKnNrYiwgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwK KwkJCSAgYm9vbCBmb3JjZSkKIHsKIAlpbnQgaWZpbmRleCA9IGRldl9nZXRfaWZsaW5rKGRldik7 CiAKLQlpZiAoZGV2LT5pZmluZGV4ID09IGlmaW5kZXgpCi0JCXJldHVybiAwOworCWlmIChmb3Jj ZSB8fCBkZXYtPmlmaW5kZXggIT0gaWZpbmRleCkKKwkJcmV0dXJuIG5sYV9wdXRfdTMyKHNrYiwg SUZMQV9MSU5LLCBpZmluZGV4KTsKIAotCXJldHVybiBubGFfcHV0X3UzMihza2IsIElGTEFfTElO SywgaWZpbmRleCk7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBub2lubGluZV9mb3Jfc3RhY2sg aW50IG5sYV9wdXRfaWZhbGlhcyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLApAQCAtMTUyMCw2ICsxNTIx LDggQEAgc3RhdGljIGludCBydG5sX2ZpbGxfbGlua19uZXRuc2lkKHN0cnVjdCBza19idWZmICpz a2IsCiAJCQkJICBjb25zdCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCQkJCSAgc3RydWN0IG5l dCAqc3JjX25ldCkKIHsKKwlib29sIHB1dF9pZmxpbmsgPSBmYWxzZTsKKwogCWlmIChkZXYtPnJ0 bmxfbGlua19vcHMgJiYgZGV2LT5ydG5sX2xpbmtfb3BzLT5nZXRfbGlua19uZXQpIHsKIAkJc3Ry dWN0IG5ldCAqbGlua19uZXQgPSBkZXYtPnJ0bmxfbGlua19vcHMtPmdldF9saW5rX25ldChkZXYp OwogCkBAIC0xNTI4LDEwICsxNTMxLDEyIEBAIHN0YXRpYyBpbnQgcnRubF9maWxsX2xpbmtfbmV0 bnNpZChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCiAJCQlpZiAobmxhX3B1dF9zMzIoc2tiLCBJRkxB X0xJTktfTkVUTlNJRCwgaWQpKQogCQkJCXJldHVybiAtRU1TR1NJWkU7CisKKwkJCXB1dF9pZmxp bmsgPSB0cnVlOwogCQl9CiAJfQogCi0JcmV0dXJuIDA7CisJcmV0dXJuIG5sYV9wdXRfaWZsaW5r KHNrYiwgZGV2LCBwdXRfaWZsaW5rKTsKIH0KIAogc3RhdGljIGludCBydG5sX2ZpbGxfbGlua19h ZihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLApAQCAtMTYxNyw3ICsxNjIyLDYgQEAgc3RhdGljIGludCBy dG5sX2ZpbGxfaWZpbmZvKHN0cnVjdCBza19idWZmICpza2IsCiAjaWZkZWYgQ09ORklHX1JQUwog CSAgICBubGFfcHV0X3UzMihza2IsIElGTEFfTlVNX1JYX1FVRVVFUywgZGV2LT5udW1fcnhfcXVl dWVzKSB8fAogI2VuZGlmCi0JICAgIG5sYV9wdXRfaWZsaW5rKHNrYiwgZGV2KSB8fAogCSAgICBw dXRfbWFzdGVyX2lmaW5kZXgoc2tiLCBkZXYpIHx8CiAJICAgIG5sYV9wdXRfdTgoc2tiLCBJRkxB X0NBUlJJRVIsIG5ldGlmX2NhcnJpZXJfb2soZGV2KSkgfHwKIAkgICAgKGRldi0+cWRpc2MgJiYK LS0gCjIuMjAuMQoKCkZyb20gZjcyZjNkMDBiMWE1ZDg5YjdlMjliYjJhMTU2ZmUyM2UwZWViOGZi ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSnVud2VpIEh1IDxodWp1bndlaTRAaHVh d2VpLmNvbT4KRGF0ZTogVGh1LCAxNiBNYXkgMjAxOSAxMDo1MToxNSArMDgwMApTdWJqZWN0OiBb UEFUQ0ggMTEvMjNdIHRpcGM6IHN3aXRjaCBvcmRlciBvZiBkZXZpY2UgcmVnaXN0cmF0aW9uIHRv IGZpeCBhCiBjcmFzaAoKWyBVcHN0cmVhbSBjb21taXQgN2UyN2U4ZDYxMzBjNWU4OGZhYzlkZGVj NDI0OWY3ZjIzMzdmZTdmOCBdCgpXaGVuIHRpcGMgaXMgbG9hZGVkIHdoaWxlIG1hbnkgcHJvY2Vz c2VzIHRyeSB0byBjcmVhdGUgYSBUSVBDIHNvY2tldCwKYSBjcmFzaCBvY2N1cnM6CiBQQU5JQzog VW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgdmlydHVhbAogYWRkcmVz cyAiZGZmZjIwMDAwMDAwMDIxZCIKIHBjIDogdGlwY19za19jcmVhdGUrMHgzNzQvMHgxMTgwIFt0 aXBjXQogbHIgOiB0aXBjX3NrX2NyZWF0ZSsweDM3NC8weDExODAgW3RpcGNdCiAgIEV4Y2VwdGlv biBjbGFzcyA9IERBQlQgKGN1cnJlbnQgRUwpLCBJTCA9IDMyIGJpdHMKIENhbGwgdHJhY2U6CiAg dGlwY19za19jcmVhdGUrMHgzNzQvMHgxMTgwIFt0aXBjXQogIF9fc29ja19jcmVhdGUrMHgxY2Mv MHg0MDgKICBfX3N5c19zb2NrZXQrMHhlYy8weDFmMAogIF9fYXJtNjRfc3lzX3NvY2tldCsweDc0 LzB4YTgKIC4uLgoKVGhpcyBpcyBkdWUgdG8gcmFjZSBiZXR3ZWVuIHNvY2tfY3JlYXRlIGFuZCB1 bmZpbmlzaGVkCnJlZ2lzdGVyX3Blcm5ldF9kZXZpY2UuIHRpcGNfc2tfaW5zZXJ0IHRyaWVzIHRv IGRvCiJuZXRfZ2VuZXJpYyhuZXQsIHRpcGNfbmV0X2lkKSIuCmJ1dCB0aXBjX25ldF9pZCBpcyBu b3QgaW5pdGlhbGl6ZWQgeWV0LgoKU28gc3dpdGNoIHRoZSBvcmRlciBvZiB0aGUgdHdvIHRvIGNs b3NlIHRoZSByYWNlLgoKVGhpcyBjYW4gYmUgcmVwcm9kdWNlZCB3aXRoIG11bHRpcGxlIHByb2Nl c3NlcyBkb2luZyBzb2NrZXQoQUZfVElQQywgLi4uKQphbmQgb25lIHByb2Nlc3MgZG9pbmcgbW9k dWxlIHJlbW92YWwuCgpGaXhlczogYTYyZmJjY2VjZDYyICgidGlwYzogbWFrZSBzdWJzY3JpYmVy IHNlcnZlciBzdXBwb3J0IG5ldCBuYW1lc3BhY2UiKQpTaWduZWQtb2ZmLWJ5OiBKdW53ZWkgSHUg PGh1anVud2VpNEBodWF3ZWkuY29tPgpSZXBvcnRlZC1ieTogV2FuZyBXYW5nIDx3YW5nd2FuZzJA aHVhd2VpLmNvbT4KUmV2aWV3ZWQtYnk6IFhpYW9nYW5nIFdhbmcgPHdhbmd4aWFvZ2FuZzNAaHVh d2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIG5ldC90aXBjL2NvcmUuYyB8IDE0ICsrKysrKystLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC90 aXBjL2NvcmUuYyBiL25ldC90aXBjL2NvcmUuYwppbmRleCA1YjM4ZjUxNjQyODEuLmRiZmMxZThi Mjg2NiAxMDA2NDQKLS0tIGEvbmV0L3RpcGMvY29yZS5jCisrKyBiL25ldC90aXBjL2NvcmUuYwpA QCAtMTI5LDEwICsxMjksNiBAQCBzdGF0aWMgaW50IF9faW5pdCB0aXBjX2luaXQodm9pZCkKIAlp ZiAoZXJyKQogCQlnb3RvIG91dF9uZXRsaW5rX2NvbXBhdDsKIAotCWVyciA9IHRpcGNfc29ja2V0 X2luaXQoKTsKLQlpZiAoZXJyKQotCQlnb3RvIG91dF9zb2NrZXQ7Ci0KIAllcnIgPSB0aXBjX3Jl Z2lzdGVyX3N5c2N0bCgpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3N5c2N0bDsKQEAgLTE0MSw2 ICsxMzcsMTAgQEAgc3RhdGljIGludCBfX2luaXQgdGlwY19pbml0KHZvaWQpCiAJaWYgKGVycikK IAkJZ290byBvdXRfcGVybmV0OwogCisJZXJyID0gdGlwY19zb2NrZXRfaW5pdCgpOworCWlmIChl cnIpCisJCWdvdG8gb3V0X3NvY2tldDsKKwogCWVyciA9IHRpcGNfYmVhcmVyX3NldHVwKCk7CiAJ aWYgKGVycikKIAkJZ290byBvdXRfYmVhcmVyOwpAQCAtMTQ4LDEyICsxNDgsMTIgQEAgc3RhdGlj IGludCBfX2luaXQgdGlwY19pbml0KHZvaWQpCiAJcHJfaW5mbygiU3RhcnRlZCBpbiBzaW5nbGUg bm9kZSBtb2RlXG4iKTsKIAlyZXR1cm4gMDsKIG91dF9iZWFyZXI6CisJdGlwY19zb2NrZXRfc3Rv cCgpOworb3V0X3NvY2tldDoKIAl1bnJlZ2lzdGVyX3Blcm5ldF9zdWJzeXMoJnRpcGNfbmV0X29w cyk7CiBvdXRfcGVybmV0OgogCXRpcGNfdW5yZWdpc3Rlcl9zeXNjdGwoKTsKIG91dF9zeXNjdGw6 Ci0JdGlwY19zb2NrZXRfc3RvcCgpOwotb3V0X3NvY2tldDoKIAl0aXBjX25ldGxpbmtfY29tcGF0 X3N0b3AoKTsKIG91dF9uZXRsaW5rX2NvbXBhdDoKIAl0aXBjX25ldGxpbmtfc3RvcCgpOwpAQCAt MTY1LDEwICsxNjUsMTAgQEAgc3RhdGljIGludCBfX2luaXQgdGlwY19pbml0KHZvaWQpCiBzdGF0 aWMgdm9pZCBfX2V4aXQgdGlwY19leGl0KHZvaWQpCiB7CiAJdGlwY19iZWFyZXJfY2xlYW51cCgp OworCXRpcGNfc29ja2V0X3N0b3AoKTsKIAl1bnJlZ2lzdGVyX3Blcm5ldF9zdWJzeXMoJnRpcGNf bmV0X29wcyk7CiAJdGlwY19uZXRsaW5rX3N0b3AoKTsKIAl0aXBjX25ldGxpbmtfY29tcGF0X3N0 b3AoKTsKLQl0aXBjX3NvY2tldF9zdG9wKCk7CiAJdGlwY191bnJlZ2lzdGVyX3N5c2N0bCgpOwog CiAJcHJfaW5mbygiRGVhY3RpdmF0ZWRcbiIpOwotLSAKMi4yMC4xCgoKRnJvbSBmNDJkMDM3ZDUw MzE1ZDFhYWFkOWM0NGNiYjAzZTQ5YjNjMTExN2ViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBTdGVmYW5vIEdhcnphcmVsbGEgPHNnYXJ6YXJlQHJlZGhhdC5jb20+CkRhdGU6IEZyaSwg MTcgTWF5IDIwMTkgMTY6NDU6NDMgKzAyMDAKU3ViamVjdDogW1BBVENIIDEyLzIzXSB2c29jay92 aXJ0aW86IGZyZWUgcGFja2V0cyBkdXJpbmcgdGhlIHNvY2tldCByZWxlYXNlCgpbIFVwc3RyZWFt IGNvbW1pdCBhYzAzMDQ2ZWNlMmIxNThlYmQyMDRkZmM0ODk2ZmQ5ZjM5ZjBlNmM4IF0KCldoZW4g dGhlIHNvY2tldCBpcyByZWxlYXNlZCwgd2Ugc2hvdWxkIGZyZWUgYWxsIHBhY2tldHMKcXVldWVk IGluIHRoZSBwZXItc29ja2V0IGxpc3QgaW4gb3JkZXIgdG8gYXZvaWQgYSBtZW1vcnkKbGVhay4K ClNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gR2FyemFyZWxsYSA8c2dhcnphcmVAcmVkaGF0LmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9ydF9jb21tb24uYyB8IDcgKysrKysrKwogMSBm aWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC92bXdfdnNvY2sv dmlydGlvX3RyYW5zcG9ydF9jb21tb24uYyBiL25ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9y dF9jb21tb24uYwppbmRleCA2MDI3MTVmYzlhNzUuLmYzZjNkMDZjYjZkOCAxMDA2NDQKLS0tIGEv bmV0L3Ztd192c29jay92aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbi5jCisrKyBiL25ldC92bXdfdnNv Y2svdmlydGlvX3RyYW5zcG9ydF9jb21tb24uYwpAQCAtNzg2LDEyICs3ODYsMTkgQEAgc3RhdGlj IGJvb2wgdmlydGlvX3RyYW5zcG9ydF9jbG9zZShzdHJ1Y3QgdnNvY2tfc29jayAqdnNrKQogCiB2 b2lkIHZpcnRpb190cmFuc3BvcnRfcmVsZWFzZShzdHJ1Y3QgdnNvY2tfc29jayAqdnNrKQogewor CXN0cnVjdCB2aXJ0aW9fdnNvY2tfc29jayAqdnZzID0gdnNrLT50cmFuczsKKwlzdHJ1Y3Qgdmly dGlvX3Zzb2NrX3BrdCAqcGt0LCAqdG1wOwogCXN0cnVjdCBzb2NrICpzayA9ICZ2c2stPnNrOwog CWJvb2wgcmVtb3ZlX3NvY2sgPSB0cnVlOwogCiAJbG9ja19zb2NrKHNrKTsKIAlpZiAoc2stPnNr X3R5cGUgPT0gU09DS19TVFJFQU0pCiAJCXJlbW92ZV9zb2NrID0gdmlydGlvX3RyYW5zcG9ydF9j bG9zZSh2c2spOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBrdCwgdG1wLCAmdnZzLT5y eF9xdWV1ZSwgbGlzdCkgeworCQlsaXN0X2RlbCgmcGt0LT5saXN0KTsKKwkJdmlydGlvX3RyYW5z cG9ydF9mcmVlX3BrdChwa3QpOworCX0KIAlyZWxlYXNlX3NvY2soc2spOwogCiAJaWYgKHJlbW92 ZV9zb2NrKQotLSAKMi4yMC4xCgoKRnJvbSBjZmQ0MDM0ZDMxNTc1NTBjMzZkNWExMTAwOWViM2Fk YmQ2MjllNzg1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdW53ZWkgSHUgPGh1anVu d2VpNEBodWF3ZWkuY29tPgpEYXRlOiBGcmksIDE3IE1heSAyMDE5IDE5OjI3OjM0ICswODAwClN1 YmplY3Q6IFtQQVRDSCAxMy8yM10gdGlwYzogZml4IG1vZHByb2JlIHRpcGMgZmFpbGVkIGFmdGVy IHN3aXRjaCBvcmRlciBvZgogZGV2aWNlIHJlZ2lzdHJhdGlvbgoKWyBVcHN0cmVhbSBjb21taXQg NTMyYjBmN2VjZTRjYjJmZmQyNGRjNzIzZGRmNTUyNDJkMTE4OGU1ZSBdCgpFcnJvciBtZXNzYWdl IHByaW50ZWQ6Cm1vZHByb2JlOiBFUlJPUjogY291bGQgbm90IGluc2VydCAndGlwYyc6IEFkZHJl c3MgZmFtaWx5IG5vdApzdXBwb3J0ZWQgYnkgcHJvdG9jb2wuCndoZW4gbW9kcHJvYmUgdGlwYyBh ZnRlciB0aGUgZm9sbG93aW5nIHBhdGNoOiBzd2l0Y2ggb3JkZXIgb2YKZGV2aWNlIHJlZ2lzdHJh dGlvbiwgY29tbWl0IDdlMjdlOGQ2MTMwYwooInRpcGM6IHN3aXRjaCBvcmRlciBvZiBkZXZpY2Ug cmVnaXN0cmF0aW9uIHRvIGZpeCBhIGNyYXNoIikKCkJlY2F1c2Ugc29ja19jcmVhdGVfa2Vybihu ZXQsIEFGX1RJUEMsIC4uLikgaXMgY2FsbGVkIGJ5CnRpcGNfdG9wc3J2X2NyZWF0ZV9saXN0ZW5l cigpIGluIHRoZSBpbml0aWFsaXphdGlvbiBwcm9jZXNzCm9mIHRpcGNfbmV0X29wcywgdGlwY19z b2NrZXRfaW5pdCgpIG11c3QgYmUgZXhlY3V0ZSBiZWZvcmUgdGhhdC4KCkkgbW92ZSB0aXBjX3Nv Y2tldF9pbml0KCkgaW50byBmdW5jdGlvbiB0aXBjX2luaXRfbmV0KCkuCgpGaXhlczogN2UyN2U4 ZDYxMzBjCigidGlwYzogc3dpdGNoIG9yZGVyIG9mIGRldmljZSByZWdpc3RyYXRpb24gdG8gZml4 IGEgY3Jhc2giKQpTaWduZWQtb2ZmLWJ5OiBKdW53ZWkgSHUgPGh1anVud2VpNEBodWF3ZWkuY29t PgpSZXBvcnRlZC1ieTogV2FuZyBXYW5nIDx3YW5nd2FuZzJAaHVhd2VpLmNvbT4KUmV2aWV3ZWQt Ynk6IEthbmcgWmhvdSA8emhvdWthbmc3QGh1YXdlaS5jb20+ClJldmlld2VkLWJ5OiBTdWFubWlu ZyBNb3UgPG1vdXN1YW5taW5nQGh1YXdlaS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdGlwYy9jb3JlLmMgfCAxNCArKysr KysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9uZXQvdGlwYy9jb3JlLmMgYi9uZXQvdGlwYy9jb3JlLmMKaW5kZXgg ZGJmYzFlOGIyODY2Li5kN2IwNjg4Yzk4ZGQgMTAwNjQ0Ci0tLSBhL25ldC90aXBjL2NvcmUuYwor KysgYi9uZXQvdGlwYy9jb3JlLmMKQEAgLTY2LDYgKzY2LDEwIEBAIHN0YXRpYyBpbnQgX19uZXRf aW5pdCB0aXBjX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCkKIAlJTklUX0xJU1RfSEVBRCgmdG4t Pm5vZGVfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJnRuLT5ub2RlX2xpc3RfbG9jayk7CiAKKwll cnIgPSB0aXBjX3NvY2tldF9pbml0KCk7CisJaWYgKGVycikKKwkJZ290byBvdXRfc29ja2V0Owor CiAJZXJyID0gdGlwY19za19yaHRfaW5pdChuZXQpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3Nr X3JodDsKQEAgLTkyLDYgKzk2LDggQEAgc3RhdGljIGludCBfX25ldF9pbml0IHRpcGNfaW5pdF9u ZXQoc3RydWN0IG5ldCAqbmV0KQogb3V0X25hbWV0Ymw6CiAJdGlwY19za19yaHRfZGVzdHJveShu ZXQpOwogb3V0X3NrX3JodDoKKwl0aXBjX3NvY2tldF9zdG9wKCk7CitvdXRfc29ja2V0OgogCXJl dHVybiBlcnI7CiB9CiAKQEAgLTEwMiw2ICsxMDgsNyBAQCBzdGF0aWMgdm9pZCBfX25ldF9leGl0 IHRpcGNfZXhpdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogCXRpcGNfYmNhc3Rfc3RvcChuZXQpOwog CXRpcGNfbmFtZXRibF9zdG9wKG5ldCk7CiAJdGlwY19za19yaHRfZGVzdHJveShuZXQpOworCXRp cGNfc29ja2V0X3N0b3AoKTsKIH0KIAogc3RhdGljIHN0cnVjdCBwZXJuZXRfb3BlcmF0aW9ucyB0 aXBjX25ldF9vcHMgPSB7CkBAIC0xMzcsMTAgKzE0NCw2IEBAIHN0YXRpYyBpbnQgX19pbml0IHRp cGNfaW5pdCh2b2lkKQogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3Blcm5ldDsKIAotCWVyciA9IHRp cGNfc29ja2V0X2luaXQoKTsKLQlpZiAoZXJyKQotCQlnb3RvIG91dF9zb2NrZXQ7Ci0KIAllcnIg PSB0aXBjX2JlYXJlcl9zZXR1cCgpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X2JlYXJlcjsKQEAg LTE0OCw4ICsxNTEsNiBAQCBzdGF0aWMgaW50IF9faW5pdCB0aXBjX2luaXQodm9pZCkKIAlwcl9p bmZvKCJTdGFydGVkIGluIHNpbmdsZSBub2RlIG1vZGVcbiIpOwogCXJldHVybiAwOwogb3V0X2Jl YXJlcjoKLQl0aXBjX3NvY2tldF9zdG9wKCk7Ci1vdXRfc29ja2V0OgogCXVucmVnaXN0ZXJfcGVy bmV0X3N1YnN5cygmdGlwY19uZXRfb3BzKTsKIG91dF9wZXJuZXQ6CiAJdGlwY191bnJlZ2lzdGVy X3N5c2N0bCgpOwpAQCAtMTY1LDcgKzE2Niw2IEBAIHN0YXRpYyBpbnQgX19pbml0IHRpcGNfaW5p dCh2b2lkKQogc3RhdGljIHZvaWQgX19leGl0IHRpcGNfZXhpdCh2b2lkKQogewogCXRpcGNfYmVh cmVyX2NsZWFudXAoKTsKLQl0aXBjX3NvY2tldF9zdG9wKCk7CiAJdW5yZWdpc3Rlcl9wZXJuZXRf c3Vic3lzKCZ0aXBjX25ldF9vcHMpOwogCXRpcGNfbmV0bGlua19zdG9wKCk7CiAJdGlwY19uZXRs aW5rX2NvbXBhdF9zdG9wKCk7Ci0tIAoyLjIwLjEKCgpGcm9tIDMyMjBmMDFlNGYyMWEzZDQzOGMy OTViZTBiY2M1ZmYxOWFkYWExNjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZhZGlt IFBhc3Rlcm5hayA8dmFkaW1wQG1lbGxhbm94LmNvbT4KRGF0ZTogU2F0LCAxOCBNYXkgMjAxOSAx ODo1ODoyOCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjNdIG1seHN3OiBjb3JlOiBQcmV2ZW50 IFFTRlAgbW9kdWxlIGluaXRpYWxpemF0aW9uIGZvciBvbGQKIGhhcmR3YXJlCgpbIFVwc3RyZWFt IGNvbW1pdCBjNTJlY2ZmN2U2NDM5Y2E4YzliMDMyODJlODg2OWEwMDVhYTk0ODMxIF0KCk9sZCBN ZWxsYW5veCBzaWxpY29ucywgbGlrZSBzd2l0Y2h4LTIsIHN3aXRjaC1pYiBkbyBub3Qgc3VwcG9y dCByZWFkaW5nClFTRlAgbW9kdWxlcyB0ZW1wZXJhdHVyZSB0aHJvdWdoIE1UTVAgcmVnaXN0ZXIu IEF0dGVtcHQgdG8gYWNjZXNzIHRoaXMKcmVnaXN0ZXIgb24gc3lzdGVtcyBlcXVpcHBlZCB3aXRo IHRoZSB0aGlzIGtpbmQgb2Ygc2lsaWNvbiB3aWxsIGNhdXNlCmluaXRpYWxpemF0aW9uIGZsb3cg ZmFpbHVyZS4KVGVzdCBmb3IgaGFyZHdhcmUgcmVzb3VyY2UgY2FwYWJpbGl0eSBpcyBhZGRlZCBp biBvcmRlciB0byBkaXN0aW5jdApiZXR3ZWVuIG9sZCBhbmQgbmV3IHNpbGljb24gLSBvbGQgc2ls aWNvbnMgZG8gbm90IGhhdmUgc3VjaCBjYXBhYmlsaXR5LgoKRml4ZXM6IDZhNzk1MDdjZmU5NCAo Im1seHN3OiBjb3JlOiBFeHRlbmQgdGhlcm1hbCBtb2R1bGUgd2l0aCBwZXIgUVNGUCBtb2R1bGUg dGhlcm1hbCB6b25lcyIpCkZpeGVzOiA1YzQyZWFhMDdiZDAgKCJtbHhzdzogY29yZTogRXh0ZW5k IGh3bW9uIGludGVyZmFjZSB3aXRoIFFTRlAgbW9kdWxlIHRlbXBlcmF0dXJlIGF0dHJpYnV0ZXMi KQpSZXBvcnRlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYt Ynk6IFZhZGltIFBhc3Rlcm5hayA8dmFkaW1wQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTog SWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4c3cvY29yZS5jICAgICAgICAgfCA2ICsrKysrKwogZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4c3cvY29yZS5oICAgICAgICAgfCAyICsrCiBkcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlX2h3bW9uLmMgICB8IDMgKysrCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlX3RoZXJtYWwuYyB8IDYgKysrKysrCiA0IGZp bGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHhzdy9jb3JlLmMKaW5kZXggZjI2YTRjYTI5MzYzLi4wYjU2MjkxZDIyYzYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L2NvcmUuYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlLmMKQEAgLTEyMiw2ICsxMjIs MTIgQEAgdm9pZCAqbWx4c3dfY29yZV9kcml2ZXJfcHJpdihzdHJ1Y3QgbWx4c3dfY29yZSAqbWx4 c3dfY29yZSkKIH0KIEVYUE9SVF9TWU1CT0wobWx4c3dfY29yZV9kcml2ZXJfcHJpdik7CiAKK2Jv b2wgbWx4c3dfY29yZV9yZXNfcXVlcnlfZW5hYmxlZChjb25zdCBzdHJ1Y3QgbWx4c3dfY29yZSAq bWx4c3dfY29yZSkKK3sKKwlyZXR1cm4gbWx4c3dfY29yZS0+ZHJpdmVyLT5yZXNfcXVlcnlfZW5h YmxlZDsKK30KK0VYUE9SVF9TWU1CT0wobWx4c3dfY29yZV9yZXNfcXVlcnlfZW5hYmxlZCk7CisK IHN0cnVjdCBtbHhzd19yeF9saXN0ZW5lcl9pdGVtIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7 CiAJc3RydWN0IG1seHN3X3J4X2xpc3RlbmVyIHJ4bDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seHN3L2NvcmUuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seHN3L2NvcmUuaAppbmRleCA4ZWM1M2YwMjc1NzUuLjYyYjhkZTkzMDVhZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvY29yZS5oCisrKyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L2NvcmUuaApAQCAtMjgsNiArMjgs OCBAQCB1bnNpZ25lZCBpbnQgbWx4c3dfY29yZV9tYXhfcG9ydHMoY29uc3Qgc3RydWN0IG1seHN3 X2NvcmUgKm1seHN3X2NvcmUpOwogCiB2b2lkICptbHhzd19jb3JlX2RyaXZlcl9wcml2KHN0cnVj dCBtbHhzd19jb3JlICptbHhzd19jb3JlKTsKIAorYm9vbCBtbHhzd19jb3JlX3Jlc19xdWVyeV9l bmFibGVkKGNvbnN0IHN0cnVjdCBtbHhzd19jb3JlICptbHhzd19jb3JlKTsKKwogaW50IG1seHN3 X2NvcmVfZHJpdmVyX3JlZ2lzdGVyKHN0cnVjdCBtbHhzd19kcml2ZXIgKm1seHN3X2RyaXZlcik7 CiB2b2lkIG1seHN3X2NvcmVfZHJpdmVyX3VucmVnaXN0ZXIoc3RydWN0IG1seHN3X2RyaXZlciAq bWx4c3dfZHJpdmVyKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFu b3gvbWx4c3cvY29yZV9od21vbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 c3cvY29yZV9od21vbi5jCmluZGV4IDY5NTZiYmViZTJmMS4uNDk2ZGM5MDRjNWVkIDEwMDY0NAot LS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlX2h3bW9uLmMKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvY29yZV9od21vbi5jCkBAIC01 MTgsNiArNTE4LDkgQEAgc3RhdGljIGludCBtbHhzd19od21vbl9tb2R1bGVfaW5pdChzdHJ1Y3Qg bWx4c3dfaHdtb24gKm1seHN3X2h3bW9uKQogCXU4IHdpZHRoOwogCWludCBlcnI7CiAKKwlpZiAo IW1seHN3X2NvcmVfcmVzX3F1ZXJ5X2VuYWJsZWQobWx4c3dfaHdtb24tPmNvcmUpKQorCQlyZXR1 cm4gMDsKKwogCS8qIEFkZCBleHRyYSBhdHRyaWJ1dGVzIGZvciBtb2R1bGUgdGVtcGVyYXR1cmUu IFNlbnNvciBpbmRleCBpcwogCSAqIGFzc2lnbmVkIHRvIHNlbnNvcl9jb3VudCB2YWx1ZSwgd2hp bGUgYWxsIGluZGV4ZWQgYmVmb3JlCiAJICogc2Vuc29yX2NvdW50IGFyZSBhbHJlYWR5IHV0aWxp emVkIGJ5IHRoZSBzZW5zb3JzIGNvbm5lY3RlZCB0aHJvdWdoCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9jb3JlX3RoZXJtYWwuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seHN3L2NvcmVfdGhlcm1hbC5jCmluZGV4IDQ3MmY2M2Y5ZmFj NS4uZDNlODUxZTdjYTcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHhzdy9jb3JlX3RoZXJtYWwuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHhzdy9jb3JlX3RoZXJtYWwuYwpAQCAtNzQwLDYgKzc0MCw5IEBAIG1seHN3X3RoZXJtYWxf bW9kdWxlc19pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG1seHN3X2NvcmUgKmNvcmUs CiAJc3RydWN0IG1seHN3X3RoZXJtYWxfbW9kdWxlICptb2R1bGVfdHo7CiAJaW50IGksIGVycjsK IAorCWlmICghbWx4c3dfY29yZV9yZXNfcXVlcnlfZW5hYmxlZChjb3JlKSkKKwkJcmV0dXJuIDA7 CisKIAl0aGVybWFsLT50el9tb2R1bGVfYXJyID0ga2NhbGxvYyhtb2R1bGVfY291bnQsCiAJCQkJ CSBzaXplb2YoKnRoZXJtYWwtPnR6X21vZHVsZV9hcnIpLAogCQkJCQkgR0ZQX0tFUk5FTCk7CkBA IC03NzYsNiArNzc5LDkgQEAgbWx4c3dfdGhlcm1hbF9tb2R1bGVzX2Zpbmkoc3RydWN0IG1seHN3 X3RoZXJtYWwgKnRoZXJtYWwpCiAJdW5zaWduZWQgaW50IG1vZHVsZV9jb3VudCA9IG1seHN3X2Nv cmVfbWF4X3BvcnRzKHRoZXJtYWwtPmNvcmUpOwogCWludCBpOwogCisJaWYgKCFtbHhzd19jb3Jl X3Jlc19xdWVyeV9lbmFibGVkKHRoZXJtYWwtPmNvcmUpKQorCQlyZXR1cm47CisKIAlmb3IgKGkg PSBtb2R1bGVfY291bnQgLSAxOyBpID49IDA7IGktLSkKIAkJbWx4c3dfdGhlcm1hbF9tb2R1bGVf ZmluaSgmdGhlcm1hbC0+dHpfbW9kdWxlX2FycltpXSk7CiAJa2ZyZWUodGhlcm1hbC0+dHpfbW9k dWxlX2Fycik7Ci0tIAoyLjIwLjEKCgpGcm9tIGUzZWIyNWY1OWNkNjVhMGRjYjc5N2Y4N2Y3YTFi Yjk0ZDM5MDMyZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZhZGltIFBhc3Rlcm5h ayA8dmFkaW1wQG1lbGxhbm94LmNvbT4KRGF0ZTogU2F0LCAxOCBNYXkgMjAxOSAxODo1ODoyOSAr MDMwMApTdWJqZWN0OiBbUEFUQ0ggMTUvMjNdIG1seHN3OiBjb3JlOiBQcmV2ZW50IHJlYWRpbmcg dW5zdXBwb3J0ZWQgc2xhdmUgYWRkcmVzcwogZnJvbSBTRlAgRUVQUk9NCgpbIFVwc3RyZWFtIGNv bW1pdCBmMTQzNmM4MDM2ZmEzNjMyYjJlZTc4ODQxY2Y1MTg0YjdlZjBhZDg3IF0KClByZXZlbnQg cmVhZGluZyB1bnN1cHBvcnRlZCBzbGF2ZSBhZGRyZXNzIGZyb20gU0ZQIEVFUFJPTSBieSB0ZXN0 aW5nCkRpYWdub3N0aWMgTW9uaXRvcmluZyBUeXBlIGJ5dGUgaW4gRUVQUk9NLiBSZWFkIG9ubHkg cGFnZSB6ZXJvIG9mCkVFUFJPTSwgaW4gY2FzZSB0aGlzIGJ5dGUgaXMgemVyby4KCklmIHNvbWUg U0ZQIHRyYW5zY2VpdmVyIGRvZXMgbm90IHN1cHBvcnQgRGlnaXRhbCBPcHRpY2FsIE1vbml0b3Jp bmcKKERPTSksIHJlYWRpbmcgU0ZQIEVFUFJPTSBzbGF2ZSBhZGRyZXNzIDB4NTEgY291bGQgcmV0 dXJuIGFuIGVycm9yLgpBdmFpbGFiaWxpdHkgb2YgRE9NIHN1cHBvcnQgaXMgdmVyaWZpZWQgYnkg cmVhZGluZyBmcm9tIHplcm8gcGFnZQpEaWFnbm9zdGljIE1vbml0b3JpbmcgVHlwZSBieXRlIGRl c2NyaWJpbmcgaG93IGRpYWdub3N0aWMgbW9uaXRvcmluZyBpcwppbXBsZW1lbnRlZCBieSB0cmFu c2NlaXZlci4gSWYgYml0IDYgb2YgdGhpcyBieXRlIGlzIHNldCwgaXQgaW5kaWNhdGVzCnRoYXQg ZGlnaXRhbCBkaWFnbm9zdGljIG1vbml0b3JpbmcgaGFzIGJlZW4gaW1wbGVtZW50ZWQuIE90aGVy d2lzZSBpdCBpcwpub3QgYW5kIHRyYW5zY2VpdmVyIGNvdWxkIGZhaWwgdG8gcmVwbHkgdG8gdHJh bnNhY3Rpb24gZm9yIHNsYXZlIGFkZHJlc3MKMHg1MSBbMTAxMDAwMVggKEEyaCldLCB3aGljaCBp cyB1c2VkIHRvIGFjY2VzcyBtZWFzdXJlbWVudHMgcGFnZS4KClN1Y2ggaXNzdWUgaGFzIGJlZW4g b2JzZXJ2ZWQgd2hlbiByZWFkaW5nIGNhYmxlIE1DUDJNMDAteHh4eCwKTUNQN0YwMC14eHh4LCBh bmQgZmV3IG90aGVycy4KCkZpeGVzOiAyZWExMDkwMzljZDMgKCJtbHhzdzogc3BlY3RydW06IEFk ZCBzdXBwb3J0IGZvciBhY2Nlc3MgY2FibGUgaW5mbyB2aWEgZXRodG9vbCIpCkZpeGVzOiA0NDAw MDgxYjYzMWEgKCJtbHhzdzogc3BlY3RydW06IEZpeCBFRVBST00gYWNjZXNzIGluIGNhc2Ugb2Yg U0ZQL1NGUCsiKQpTaWduZWQtb2ZmLWJ5OiBWYWRpbSBQYXN0ZXJuYWsgPHZhZGltcEBtZWxsYW5v eC5jb20+CkFja2VkLWJ5OiBKaXJpIFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9m Zi1ieTogSWRvIFNjaGltbWVsIDxpZG9zY2hAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4c3cvY29yZV9lbnYuYyB8IDE4ICsrKysrKysrKysrKysrKystLQog MSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvY29yZV9lbnYuYyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L2NvcmVfZW52LmMKaW5kZXggYzFjMTk2 NWQ3YWNjLi43MjUzOWE5YTM4NDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seHN3L2NvcmVfZW52LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFu b3gvbWx4c3cvY29yZV9lbnYuYwpAQCAtMyw2ICszLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2tl cm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L3NmcC5oPgog CiAjaW5jbHVkZSAiY29yZS5oIgogI2luY2x1ZGUgImNvcmVfZW52LmgiCkBAIC0xNjIsNyArMTYz LDcgQEAgaW50IG1seHN3X2Vudl9nZXRfbW9kdWxlX2luZm8oc3RydWN0IG1seHN3X2NvcmUgKm1s eHN3X2NvcmUsIGludCBtb2R1bGUsCiB7CiAJdTggbW9kdWxlX2luZm9bTUxYU1dfUkVHX01DSUFf RUVQUk9NX01PRFVMRV9JTkZPX1NJWkVdOwogCXUxNiBvZmZzZXQgPSBNTFhTV19SRUdfTUNJQV9F RVBST01fTU9EVUxFX0lORk9fU0laRTsKLQl1OCBtb2R1bGVfcmV2X2lkLCBtb2R1bGVfaWQ7CisJ dTggbW9kdWxlX3Jldl9pZCwgbW9kdWxlX2lkLCBkaWFnX21vbjsKIAl1bnNpZ25lZCBpbnQgcmVh ZF9zaXplOwogCWludCBlcnI7CiAKQEAgLTE5NSw4ICsxOTYsMjEgQEAgaW50IG1seHN3X2Vudl9n ZXRfbW9kdWxlX2luZm8oc3RydWN0IG1seHN3X2NvcmUgKm1seHN3X2NvcmUsIGludCBtb2R1bGUs CiAJCX0KIAkJYnJlYWs7CiAJY2FzZSBNTFhTV19SRUdfTUNJQV9FRVBST01fTU9EVUxFX0lORk9f SURfU0ZQOgorCQkvKiBWZXJpZnkgaWYgdHJhbnNjZWl2ZXIgcHJvdmlkZXMgZGlhZ25vc3RpYyBt b25pdG9yaW5nIHBhZ2UgKi8KKwkJZXJyID0gbWx4c3dfZW52X3F1ZXJ5X21vZHVsZV9lZXByb20o bWx4c3dfY29yZSwgbW9kdWxlLAorCQkJCQkJICAgIFNGUF9ESUFHTU9OLCAxLCAmZGlhZ19tb24s CisJCQkJCQkgICAgJnJlYWRfc2l6ZSk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCisJ CWlmIChyZWFkX3NpemUgPCAxKQorCQkJcmV0dXJuIC1FSU87CisKIAkJbW9kaW5mby0+dHlwZSAg ICAgICA9IEVUSF9NT0RVTEVfU0ZGXzg0NzI7Ci0JCW1vZGluZm8tPmVlcHJvbV9sZW4gPSBFVEhf TU9EVUxFX1NGRl84NDcyX0xFTjsKKwkJaWYgKGRpYWdfbW9uKQorCQkJbW9kaW5mby0+ZWVwcm9t X2xlbiA9IEVUSF9NT0RVTEVfU0ZGXzg0NzJfTEVOOworCQllbHNlCisJCQltb2RpbmZvLT5lZXBy b21fbGVuID0gRVRIX01PRFVMRV9TRkZfODQ3Ml9MRU4gLyAyOwogCQlicmVhazsKIAlkZWZhdWx0 OgogCQlyZXR1cm4gLUVJTlZBTDsKLS0gCjIuMjAuMQoKCkZyb20gNThmZmJiMDYwNDQ1M2QzY2Q0 ZWJiZGFkZWQ3MGM1Y2RhNTM0MzFkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRWR3 YXJkIENyZWUgPGVjcmVlQHNvbGFyZmxhcmUuY29tPgpEYXRlOiBUdWUsIDE0IE1heSAyMDE5IDIx OjE4OjEyICswMTAwClN1YmplY3Q6IFtQQVRDSCAxNi8yM10gZmxvd19vZmZsb2FkOiBzdXBwb3J0 IENWTEFOIG1hdGNoCgpbIFVwc3RyZWFtIGNvbW1pdCBiYWU5ZWQ2OTAyOWM3ZDQ5OWM1NzQ4NTU5 M2IyZmFhZTQ3NWZkNzA0IF0KClBsdW1iIGl0IHRocm91Z2ggZnJvbSB0aGUgZmxvd19kaXNzZWN0 b3IuCgpTaWduZWQtb2ZmLWJ5OiBFZHdhcmQgQ3JlZSA8ZWNyZWVAc29sYXJmbGFyZS5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBp bmNsdWRlL25ldC9mbG93X29mZmxvYWQuaCB8IDIgKysKIG5ldC9jb3JlL2Zsb3dfb2ZmbG9hZC5j ICAgIHwgNyArKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbmV0L2Zsb3dfb2ZmbG9hZC5oIGIvaW5jbHVkZS9uZXQvZmxvd19vZmZs b2FkLmgKaW5kZXggZDAzNTE4M2M4ZDAzLi5jYzMyYjlkOWVjZWMgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvbmV0L2Zsb3dfb2ZmbG9hZC5oCisrKyBiL2luY2x1ZGUvbmV0L2Zsb3dfb2ZmbG9hZC5oCkBA IC03MSw2ICs3MSw4IEBAIHZvaWQgZmxvd19ydWxlX21hdGNoX2V0aF9hZGRycyhjb25zdCBzdHJ1 Y3QgZmxvd19ydWxlICpydWxlLAogCQkJICAgICAgIHN0cnVjdCBmbG93X21hdGNoX2V0aF9hZGRy cyAqb3V0KTsKIHZvaWQgZmxvd19ydWxlX21hdGNoX3ZsYW4oY29uc3Qgc3RydWN0IGZsb3dfcnVs ZSAqcnVsZSwKIAkJCSAgc3RydWN0IGZsb3dfbWF0Y2hfdmxhbiAqb3V0KTsKK3ZvaWQgZmxvd19y dWxlX21hdGNoX2N2bGFuKGNvbnN0IHN0cnVjdCBmbG93X3J1bGUgKnJ1bGUsCisJCQkgICBzdHJ1 Y3QgZmxvd19tYXRjaF92bGFuICpvdXQpOwogdm9pZCBmbG93X3J1bGVfbWF0Y2hfaXB2NF9hZGRy cyhjb25zdCBzdHJ1Y3QgZmxvd19ydWxlICpydWxlLAogCQkJCXN0cnVjdCBmbG93X21hdGNoX2lw djRfYWRkcnMgKm91dCk7CiB2b2lkIGZsb3dfcnVsZV9tYXRjaF9pcHY2X2FkZHJzKGNvbnN0IHN0 cnVjdCBmbG93X3J1bGUgKnJ1bGUsCmRpZmYgLS1naXQgYS9uZXQvY29yZS9mbG93X29mZmxvYWQu YyBiL25ldC9jb3JlL2Zsb3dfb2ZmbG9hZC5jCmluZGV4IGMzYTAwZWFjNDgwNC4uNWNlN2Q0N2E5 NjBlIDEwMDY0NAotLS0gYS9uZXQvY29yZS9mbG93X29mZmxvYWQuYworKysgYi9uZXQvY29yZS9m bG93X29mZmxvYWQuYwpAQCAtNTQsNiArNTQsMTMgQEAgdm9pZCBmbG93X3J1bGVfbWF0Y2hfdmxh bihjb25zdCBzdHJ1Y3QgZmxvd19ydWxlICpydWxlLAogfQogRVhQT1JUX1NZTUJPTChmbG93X3J1 bGVfbWF0Y2hfdmxhbik7CiAKK3ZvaWQgZmxvd19ydWxlX21hdGNoX2N2bGFuKGNvbnN0IHN0cnVj dCBmbG93X3J1bGUgKnJ1bGUsCisJCQkgICBzdHJ1Y3QgZmxvd19tYXRjaF92bGFuICpvdXQpCit7 CisJRkxPV19ESVNTRUNUT1JfTUFUQ0gocnVsZSwgRkxPV19ESVNTRUNUT1JfS0VZX0NWTEFOLCBv dXQpOworfQorRVhQT1JUX1NZTUJPTChmbG93X3J1bGVfbWF0Y2hfY3ZsYW4pOworCiB2b2lkIGZs b3dfcnVsZV9tYXRjaF9pcHY0X2FkZHJzKGNvbnN0IHN0cnVjdCBmbG93X3J1bGUgKnJ1bGUsCiAJ CQkJc3RydWN0IGZsb3dfbWF0Y2hfaXB2NF9hZGRycyAqb3V0KQogewotLSAKMi4yMC4xCgoKRnJv bSBhNmEyODEwZGY3ZGJlYmJmMDFmMzYyMWEzZGZlMzA1NjlmNjBmZjEwIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKaWFuYm8gTGl1IDxqaWFuYm9sQG1lbGxhbm94LmNvbT4KRGF0ZTog VHVlLCAxNCBNYXkgMjAxOSAyMToxODo1MCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMjNdIG5l dC9tbHg1ZTogRml4IGNhbGxpbmcgd3JvbmcgZnVuY3Rpb24gdG8gZ2V0IGlubmVyIHZsYW4KIGtl eSBhbmQgbWFzawoKWyBVcHN0cmVhbSBjb21taXQgMTJkNWNiZjg5YTY1OTlmNmJiZDdiMzczZGJh MGU3NGI1YmQ5YzUwNSBdCgpXaGVuIGZsb3dfcnVsZV9tYXRjaF9YWVooKSBmdW5jdGlvbnMgd2Vy ZSBmaXJzdCBpbnRyb2R1Y2VkLApmbG93X3J1bGVfbWF0Y2hfY3ZsYW4oKSBmb3IgaW5uZXIgdmxh biBpcyBtaXNzaW5nLgoKSW4gbWx4NV9jb3JlIGRyaXZlciwgdG8gZ2V0IGlubmVyIHZsYW4ga2V5 IGFuZCBtYXNrLCBmbG93X3J1bGVfbWF0Y2hfdmxhbigpCmlzIGp1c3QgY2FsbGVkLCB3aGljaCBp cyB3cm9uZyBiZWNhdXNlIGl0IG9idGFpbnMgb3V0ZXIgdmxhbiBpbmZvcm1hdGlvbiBieQpGTE9X X0RJU1NFQ1RPUl9LRVlfVkxBTi4KClRoaXMgY29tbWl0IGZpeGVzIHRoaXMgYnkgY2hhbmdpbmcg dG8gY2FsbCBmbG93X3J1bGVfbWF0Y2hfY3ZsYW4oKSBhZnRlcgppdCdzIGFkZGVkLgoKRml4ZXM6 IDhmMjU2NjIyNWFlMiAoImZsb3dfb2ZmbG9hZDogYWRkIGZsb3dfcnVsZSBhbmQgZmxvd19tYXRj aCBzdHJ1Y3R1cmVzIGFuZCB1c2UgdGhlbSIpClNpZ25lZC1vZmYtYnk6IEppYW5ibyBMaXUgPGpp YW5ib2xAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBFZHdhcmQgQ3JlZSA8ZWNyZWVAc29s YXJmbGFyZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5f dGMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9l bl90Yy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMK aW5kZXggZDc1ZGM0NGViMmZmLi40Y2IyMzYzMTYxNmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90Yy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90Yy5jCkBAIC0xNTYxLDcgKzE1NjEsNyBAQCBz dGF0aWMgaW50IF9fcGFyc2VfY2xzX2Zsb3dlcihzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiwKIAlp ZiAoZmxvd19ydWxlX21hdGNoX2tleShydWxlLCBGTE9XX0RJU1NFQ1RPUl9LRVlfQ1ZMQU4pKSB7 CiAJCXN0cnVjdCBmbG93X21hdGNoX3ZsYW4gbWF0Y2g7CiAKLQkJZmxvd19ydWxlX21hdGNoX3Zs YW4ocnVsZSwgJm1hdGNoKTsKKwkJZmxvd19ydWxlX21hdGNoX2N2bGFuKHJ1bGUsICZtYXRjaCk7 CiAJCWlmIChtYXRjaC5tYXNrLT52bGFuX2lkIHx8CiAJCSAgICBtYXRjaC5tYXNrLT52bGFuX3By aW9yaXR5IHx8CiAJCSAgICBtYXRjaC5tYXNrLT52bGFuX3RwaWQpIHsKLS0gCjIuMjAuMQoKCkZy b20gOTk5ZmI2OGVjZjVjZDQzMTlkMWJkNDdlOGY4NmI4MTkxZmVlY2FkNiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogQm9kb25nIFdhbmcgPGJvZG9uZ0BtZWxsYW5veC5jb20+CkRhdGU6 IE1vbiwgMjkgQXByIDIwMTkgMDk6NTY6MTggLTA1MDAKU3ViamVjdDogW1BBVENIIDE4LzIzXSBu ZXQvbWx4NTogRml4IHBlZXIgcGYgZGlzYWJsZSBoY2EgY29tbWFuZAoKWyBVcHN0cmVhbSBjb21t aXQgZGQwNjQ4NjcxMGQyNTExNDBlZGM4NmVjM2JiZWYwYzI1ZGNlYzFjYiBdCgpUaGUgY29tbWFu ZCB3YXMgbWlzdGFrZW5seSB1c2luZyBlbmFibGVfaGNhIGluIGVtYmVkZGVkIENQVSBmaWVsZC4K CkZpeGVzOiAyMmU5MzlhOTFkY2IgKG5ldC9tbHg1OiBVcGRhdGUgZW5hYmxlIEhDQSBkZXBlbmRl bmN5KQpTaWduZWQtb2ZmLWJ5OiBCb2RvbmcgV2FuZyA8Ym9kb25nQG1lbGxhbm94LmNvbT4KUmVw b3J0ZWQtYnk6IEFsZXggUm9zZW5iYXVtIDxhbGV4ckBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYt Ynk6IEFsZXggUm9zZW5iYXVtIDxhbGV4ckBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBEYW5p ZWwgSnVyZ2VucyA8ZGFuaWVsakBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1h aGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9lY3BmLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZWNwZi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2VjcGYuYwppbmRleCA0NzQ2ZjJkMjhmYjYuLjBjY2Q2ZDQwYmFmNyAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VjcGYuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZWNwZi5jCkBAIC0yNiw3 ICsyNiw3IEBAIHN0YXRpYyBpbnQgbWx4NV9wZWVyX3BmX2Rpc2FibGVfaGNhKHN0cnVjdCBtbHg1 X2NvcmVfZGV2ICpkZXYpCiAKIAlNTFg1X1NFVChkaXNhYmxlX2hjYV9pbiwgaW4sIG9wY29kZSwg TUxYNV9DTURfT1BfRElTQUJMRV9IQ0EpOwogCU1MWDVfU0VUKGRpc2FibGVfaGNhX2luLCBpbiwg ZnVuY3Rpb25faWQsIDApOwotCU1MWDVfU0VUKGVuYWJsZV9oY2FfaW4sIGluLCBlbWJlZGRlZF9j cHVfZnVuY3Rpb24sIDApOworCU1MWDVfU0VUKGRpc2FibGVfaGNhX2luLCBpbiwgZW1iZWRkZWRf Y3B1X2Z1bmN0aW9uLCAwKTsKIAlyZXR1cm4gbWx4NV9jbWRfZXhlYyhkZXYsIGluLCBzaXplb2Yo aW4pLCBvdXQsIHNpemVvZihvdXQpKTsKIH0KIAotLSAKMi4yMC4xCgoKRnJvbSA2YzU3OGZiMjlh ZTllM2FjMDMyYzY3ZThkMjVmNmRkZTM3MTY4ZGJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiAiSm9yZ2UgRS4gTW9yZWlyYSIgPGplbW9yZWlyYUBnb29nbGUuY29tPgpEYXRlOiBUaHUs IDE2IE1heSAyMDE5IDEzOjUxOjA3IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxOS8yM10gdnNvY2sv dmlydGlvOiBJbml0aWFsaXplIGNvcmUgdmlydGlvIHZzb2NrIGJlZm9yZQogcmVnaXN0ZXJpbmcg dGhlIGRyaXZlcgoKWyBVcHN0cmVhbSBjb21taXQgYmE5NWU1ZGZkMzY2NDc2MjJkODg5N2EyYTA0 NzBkZGU2MGU1OWZmZCBdCgpBdm9pZCBhIHJhY2UgaW4gd2hpY2ggc3RhdGljIHZhcmlhYmxlcyBp biBuZXQvdm13X3Zzb2NrL2FmX3Zzb2NrLmMgYXJlCmFjY2Vzc2VkICh3aGlsZSBoYW5kbGluZyBp bnRlcnJ1cHRzKSBiZWZvcmUgdGhleSBhcmUgaW5pdGlhbGl6ZWQuCgpbICAgIDQuMjAxNDEwXSBC VUc6IHVuYWJsZSB0byBoYW5kbGUga2VybmVsIHBhZ2luZyByZXF1ZXN0IGF0IGZmZmZmZmZmZmZm ZmZmZTgKWyAgICA0LjIwNzgyOV0gSVA6IHZzb2NrX2FkZHJfZXF1YWxzX2FkZHIrMHgzLzB4MjAK WyAgICA0LjIxMTM3OV0gUEdEIDI4MjEwMDY3IFA0RCAyODIxMDA2NyBQVUQgMjgyMTIwNjcgUE1E IDAKWyAgICA0LjIxMTM3OV0gT29wczogMDAwMCBbIzFdIFBSRUVNUFQgU01QIFBUSQpbICAgIDQu MjExMzc5XSBNb2R1bGVzIGxpbmtlZCBpbjoKWyAgICA0LjIxMTM3OV0gQ1BVOiAxIFBJRDogMzAg Q29tbToga3dvcmtlci8xOjEgTm90IHRhaW50ZWQgNC4xNC4xMDYtNDE5Mjk3LWdkN2UyOGNjMWYy NDEgIzEKWyAgICA0LjIxMTM3OV0gSGFyZHdhcmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0 MEZYICsgUElJWCwgMTk5NiksIEJJT1MgMS4xMC4yLTEgMDQvMDEvMjAxNApbICAgIDQuMjExMzc5 XSBXb3JrcXVldWU6IHZpcnRpb192c29jayB2aXJ0aW9fdHJhbnNwb3J0X3J4X3dvcmsKWyAgICA0 LjIxMTM3OV0gdGFzazogZmZmZmEzMjczZDE3NTI4MCB0YXNrLnN0YWNrOiBmZmZmYWVhMTgwMGU4 MDAwClsgICAgNC4yMTEzNzldIFJJUDogMDAxMDp2c29ja19hZGRyX2VxdWFsc19hZGRyKzB4My8w eDIwClsgICAgNC4yMTEzNzldIFJTUDogMDAwMDpmZmZmYWVhMTgwMGViZDI4IEVGTEFHUzogMDAw MTAyODYKWyAgICA0LjIxMTM3OV0gUkFYOiAwMDAwMDAwMDAwMDAwMDAyIFJCWDogMDAwMDAwMDAw MDAwMDAwMCBSQ1g6IGZmZmZmZmZmYjk0ZTQyZjAKWyAgICA0LjIxMTM3OV0gUkRYOiAwMDAwMDAw MDAwMDAwNDAwIFJTSTogZmZmZmZmZmZmZmZmZmZlMCBSREk6IGZmZmZhZWExODAwZWJkZDAKWyAg ICA0LjIxMTM3OV0gUkJQOiBmZmZmYWVhMTgwMGViZDU4IFIwODogMDAwMDAwMDAwMDAwMDAwMSBS MDk6IDAwMDAwMDAwMDAwMDAwMDEKWyAgICA0LjIxMTM3OV0gUjEwOiAwMDAwMDAwMDAwMDAwMDAw IFIxMTogZmZmZmZmZmZiODlkNWQ2MCBSMTI6IGZmZmZhZWExODAwZWJkZDAKWyAgICA0LjIxMTM3 OV0gUjEzOiAwMDAwMDAwMDgyOGNiZmJmIFIxNDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IGZmZmZh ZWExODAwZWJkYzAKWyAgICA0LjIxMTM3OV0gRlM6ICAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdT OmZmZmZhMzI3M2ZkMDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApbICAgIDQuMjEx Mzc5XSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClsg ICAgNC4yMTEzNzldIENSMjogZmZmZmZmZmZmZmZmZmZlOCBDUjM6IDAwMDAwMDAwMjgyMGUwMDEg Q1I0OiAwMDAwMDAwMDAwMTYwNmUwClsgICAgNC4yMTEzNzldIERSMDogMDAwMDAwMDAwMDAwMDAw MCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwClsgICAgNC4yMTEz NzldIERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAw MDAwMDAwMDAwNDAwClsgICAgNC4yMTEzNzldIENhbGwgVHJhY2U6ClsgICAgNC4yMTEzNzldICA/ IHZzb2NrX2ZpbmRfY29ubmVjdGVkX3NvY2tldCsweDZjLzB4ZTAKWyAgICA0LjIxMTM3OV0gIHZp cnRpb190cmFuc3BvcnRfcmVjdl9wa3QrMHgxNWYvMHg3NDAKWyAgICA0LjIxMTM3OV0gID8gZGV0 YWNoX2J1ZisweDFiNS8weDIxMApbICAgIDQuMjExMzc5XSAgdmlydGlvX3RyYW5zcG9ydF9yeF93 b3JrKzB4YjcvMHgxNDAKWyAgICA0LjIxMTM3OV0gIHByb2Nlc3Nfb25lX3dvcmsrMHgxZWYvMHg0 ODAKWyAgICA0LjIxMTM3OV0gIHdvcmtlcl90aHJlYWQrMHgzMTIvMHg0NjAKWyAgICA0LjIxMTM3 OV0gIGt0aHJlYWQrMHgxMzIvMHgxNDAKWyAgICA0LjIxMTM3OV0gID8gcHJvY2Vzc19vbmVfd29y aysweDQ4MC8weDQ4MApbICAgIDQuMjExMzc5XSAgPyBrdGhyZWFkX2Rlc3Ryb3lfd29ya2VyKzB4 ZDAvMHhkMApbICAgIDQuMjExMzc5XSAgcmV0X2Zyb21fZm9yaysweDM1LzB4NDAKWyAgICA0LjIx MTM3OV0gQ29kZTogYzcgNDcgMDggMDAgMDAgMDAgMDAgNjYgYzcgMDcgMjggMDAgYzcgNDcgMDgg ZmYgZmYgZmYgZmYgYzcgNDcgMDQgZmYgZmYgZmYgZmYgYzMgMGYgMWYgMDAgNjYgMmUgMGYgMWYg ODQgMDAgMDAgMDAgMDAgMDAgOGIgNDcgMDggPDNiPiA0NiAwOCA3NSAwYSA4YiA0NyAwNCAzYiA0 NiAwNCAwZiA5NCBjMCBjMyAzMSBjMCBjMyA5MCA2NiAyZQpbICAgIDQuMjExMzc5XSBSSVA6IHZz b2NrX2FkZHJfZXF1YWxzX2FkZHIrMHgzLzB4MjAgUlNQOiBmZmZmYWVhMTgwMGViZDI4ClsgICAg NC4yMTEzNzldIENSMjogZmZmZmZmZmZmZmZmZmZlOApbICAgIDQuMjExMzc5XSAtLS1bIGVuZCB0 cmFjZSBmMzFjYzRhMmU2ZGYzNjg5IF0tLS0KWyAgICA0LjIxMTM3OV0gS2VybmVsIHBhbmljIC0g bm90IHN5bmNpbmc6IEZhdGFsIGV4Y2VwdGlvbiBpbiBpbnRlcnJ1cHQKWyAgICA0LjIxMTM3OV0g S2VybmVsIE9mZnNldDogMHgzNzAwMDAwMCBmcm9tIDB4ZmZmZmZmZmY4MTAwMDAwMCAocmVsb2Nh dGlvbiByYW5nZTogMHhmZmZmZmZmZjgwMDAwMDAwLTB4ZmZmZmZmZmZiZmZmZmZmZikKWyAgICA0 LjIxMTM3OV0gUmVib290aW5nIGluIDUgc2Vjb25kcy4uCgpGaXhlczogMjJiNWMwYjYzZjMyICgi dnNvY2svdmlydGlvOiBmaXgga2VybmVsIHBhbmljIGFmdGVyIGRldmljZSBob3QtdW5wbHVnIikK Q2M6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KQ2M6IFN0ZWZhbm8gR2Fy emFyZWxsYSA8c2dhcnphcmVAcmVkaGF0LmNvbT4KQ2M6ICJEYXZpZCBTLiBNaWxsZXIiIDxkYXZl bUBkYXZlbWxvZnQubmV0PgpDYzoga3ZtQHZnZXIua2VybmVsLm9yZwpDYzogdmlydHVhbGl6YXRp b25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKQ2M6IG5ldGRldkB2Z2VyLmtlcm5lbC5vcmcK Q2M6IGtlcm5lbC10ZWFtQGFuZHJvaWQuY29tCkNjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnIFs0 LjkrXQpTaWduZWQtb2ZmLWJ5OiBKb3JnZSBFLiBNb3JlaXJhIDxqZW1vcmVpcmFAZ29vZ2xlLmNv bT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gR2FyemFyZWxsYSA8c2dhcnphcmVAcmVkaGF0LmNvbT4K UmV2aWV3ZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KQWNrZWQt Ynk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC92bXdfdnNvY2sv dmlydGlvX3RyYW5zcG9ydC5jIHwgMTMgKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYg aW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvdm13X3Zzb2Nr L3ZpcnRpb190cmFuc3BvcnQuYyBiL25ldC92bXdfdnNvY2svdmlydGlvX3RyYW5zcG9ydC5jCmlu ZGV4IDE1ZWI1ZDNkNDc1MC4uOTZhYjM0NGYxN2JiIDEwMDY0NAotLS0gYS9uZXQvdm13X3Zzb2Nr L3ZpcnRpb190cmFuc3BvcnQuYworKysgYi9uZXQvdm13X3Zzb2NrL3ZpcnRpb190cmFuc3BvcnQu YwpAQCAtNzAyLDI4ICs3MDIsMjcgQEAgc3RhdGljIGludCBfX2luaXQgdmlydGlvX3Zzb2NrX2lu aXQodm9pZCkKIAlpZiAoIXZpcnRpb192c29ja193b3JrcXVldWUpCiAJCXJldHVybiAtRU5PTUVN OwogCi0JcmV0ID0gcmVnaXN0ZXJfdmlydGlvX2RyaXZlcigmdmlydGlvX3Zzb2NrX2RyaXZlcik7 CisJcmV0ID0gdnNvY2tfY29yZV9pbml0KCZ2aXJ0aW9fdHJhbnNwb3J0LnRyYW5zcG9ydCk7CiAJ aWYgKHJldCkKIAkJZ290byBvdXRfd3E7CiAKLQlyZXQgPSB2c29ja19jb3JlX2luaXQoJnZpcnRp b190cmFuc3BvcnQudHJhbnNwb3J0KTsKKwlyZXQgPSByZWdpc3Rlcl92aXJ0aW9fZHJpdmVyKCZ2 aXJ0aW9fdnNvY2tfZHJpdmVyKTsKIAlpZiAocmV0KQotCQlnb3RvIG91dF92ZHI7CisJCWdvdG8g b3V0X3ZjaTsKIAogCXJldHVybiAwOwogCi1vdXRfdmRyOgotCXVucmVnaXN0ZXJfdmlydGlvX2Ry aXZlcigmdmlydGlvX3Zzb2NrX2RyaXZlcik7CitvdXRfdmNpOgorCXZzb2NrX2NvcmVfZXhpdCgp Owogb3V0X3dxOgogCWRlc3Ryb3lfd29ya3F1ZXVlKHZpcnRpb192c29ja193b3JrcXVldWUpOwog CXJldHVybiByZXQ7Ci0KIH0KIAogc3RhdGljIHZvaWQgX19leGl0IHZpcnRpb192c29ja19leGl0 KHZvaWQpCiB7Ci0JdnNvY2tfY29yZV9leGl0KCk7CiAJdW5yZWdpc3Rlcl92aXJ0aW9fZHJpdmVy KCZ2aXJ0aW9fdnNvY2tfZHJpdmVyKTsKKwl2c29ja19jb3JlX2V4aXQoKTsKIAlkZXN0cm95X3dv cmtxdWV1ZSh2aXJ0aW9fdnNvY2tfd29ya3F1ZXVlKTsKIH0KIAotLSAKMi4yMC4xCgoKRnJvbSBh YWMwMjZlNmFkNWQ0NzZiNTZhNjVkY2M5MTgzMTNiYjBjZmRiMDIxIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBEbXl0cm8gTGlua2luIDxkbWl0cm9saW5AbWVsbGFub3guY29tPgpEYXRl OiBUaHUsIDI1IEFwciAyMDE5IDA4OjUyOjAyICswMDAwClN1YmplY3Q6IFtQQVRDSCAyMC8yM10g bmV0L21seDVlOiBBZGQgbWlzc2luZyBldGh0b29sIGRyaXZlciBpbmZvIGZvcgogcmVwcmVzZW50 b3JzCgpbIFVwc3RyZWFtIGNvbW1pdCBjZjgzYzhmZGNkNDc1NjY0NDU5NTUyMWY0ODc0OGVjMjJm N2VmZWRlIF0KCkZvciBhbGwgcmVwcmVzZW50b3JzIGFkZGVkIGZpcm13YXJlIHZlcnNpb24gaW5m byB0byBzaG93IGluCmV0aHRvb2wgZHJpdmVyIGluZm8uCkZvciB1cGxpbmsgcmVwcmVzZW50b3Is IGJlY2F1c2Ugb25seSBpdCBpcyB0aWVkIHRvIHRoZSBwY2kgZGV2aWNlCnN5c2ZzLCBhZGRlZCBw Y2kgYnVzIGluZm8uCgpGaXhlczogZmY5Yjg1ZGU1ZDVkICgibmV0L21seDVlOiBBZGQgc29tZSBl dGh0b29sIHBvcnQgY29udHJvbCBlbnRyaWVzIHRvIHRoZSB1cGxpbmsgcmVwIG5ldGRldiIpClNp Z25lZC1vZmYtYnk6IERteXRybyBMaW5raW4gPGRtaXRyb2xpbkBtZWxsYW5veC5jb20+ClJldmll d2VkLWJ5OiBHYXZpIFRlaXR6IDxnYXZpQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IFJvaSBE YXlhbiA8cm9pZEBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxz YWVlZG1AbWVsbGFub3guY29tPgotLS0KIC4uLi9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL2VuX3JlcC5jICB8IDE5ICsrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAx OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3JlcC5jIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3JlcC5jCmluZGV4IGE2NmI2ZWQ4MGIzMC4uMGIwOWZh OTEwMTlkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvZW5fcmVwLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3Jl L2VuX3JlcC5jCkBAIC02NSw5ICs2NSwyNiBAQCBzdGF0aWMgdm9pZCBtbHg1ZV9yZXBfaW5kcl91 bnJlZ2lzdGVyX2Jsb2NrKHN0cnVjdCBtbHg1ZV9yZXBfcHJpdiAqcnByaXYsCiBzdGF0aWMgdm9p ZCBtbHg1ZV9yZXBfZ2V0X2RydmluZm8oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAkJCQkgIHN0 cnVjdCBldGh0b29sX2RydmluZm8gKmRydmluZm8pCiB7CisJc3RydWN0IG1seDVlX3ByaXYgKnBy aXYgPSBuZXRkZXZfcHJpdihkZXYpOworCXN0cnVjdCBtbHg1X2NvcmVfZGV2ICptZGV2ID0gcHJp di0+bWRldjsKKwogCXN0cmxjcHkoZHJ2aW5mby0+ZHJpdmVyLCBtbHg1ZV9yZXBfZHJpdmVyX25h bWUsCiAJCXNpemVvZihkcnZpbmZvLT5kcml2ZXIpKTsKIAlzdHJsY3B5KGRydmluZm8tPnZlcnNp b24sIFVUU19SRUxFQVNFLCBzaXplb2YoZHJ2aW5mby0+dmVyc2lvbikpOworCXNucHJpbnRmKGRy dmluZm8tPmZ3X3ZlcnNpb24sIHNpemVvZihkcnZpbmZvLT5md192ZXJzaW9uKSwKKwkJICIlZC4l ZC4lMDRkICglLjE2cykiLAorCQkgZndfcmV2X21haihtZGV2KSwgZndfcmV2X21pbihtZGV2KSwK KwkJIGZ3X3Jldl9zdWIobWRldiksIG1kZXYtPmJvYXJkX2lkKTsKK30KKworc3RhdGljIHZvaWQg bWx4NWVfdXBsaW5rX3JlcF9nZXRfZHJ2aW5mbyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAorCQkJ CQkgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAqZHJ2aW5mbykKK3sKKwlzdHJ1Y3QgbWx4NWVfcHJp diAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CisKKwltbHg1ZV9yZXBfZ2V0X2RydmluZm8oZGV2 LCBkcnZpbmZvKTsKKwlzdHJsY3B5KGRydmluZm8tPmJ1c19pbmZvLCBwY2lfbmFtZShwcml2LT5t ZGV2LT5wZGV2KSwKKwkJc2l6ZW9mKGRydmluZm8tPmJ1c19pbmZvKSk7CiB9CiAKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgY291bnRlcl9kZXNjIHN3X3JlcF9zdGF0c19kZXNjW10gPSB7CkBAIC0zNjMs NyArMzgwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBldGh0b29sX29wcyBtbHg1ZV92Zl9yZXBf ZXRodG9vbF9vcHMgPSB7CiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGV0aHRvb2xfb3BzIG1s eDVlX3VwbGlua19yZXBfZXRodG9vbF9vcHMgPSB7Ci0JLmdldF9kcnZpbmZvCSAgID0gbWx4NWVf cmVwX2dldF9kcnZpbmZvLAorCS5nZXRfZHJ2aW5mbwkgICA9IG1seDVlX3VwbGlua19yZXBfZ2V0 X2RydmluZm8sCiAJLmdldF9saW5rCSAgID0gZXRodG9vbF9vcF9nZXRfbGluaywKIAkuZ2V0X3N0 cmluZ3MgICAgICAgPSBtbHg1ZV9yZXBfZ2V0X3N0cmluZ3MsCiAJLmdldF9zc2V0X2NvdW50ICAg ID0gbWx4NWVfcmVwX2dldF9zc2V0X2NvdW50LAotLSAKMi4yMC4xCgoKRnJvbSBiOGJkMzFjOTYw MjFiZTQ0NzllOGMzZmRhYzk0ZDBjMmYyZTQzZTU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBEbXl0cm8gTGlua2luIDxkbWl0cm9saW5AbWVsbGFub3guY29tPgpEYXRlOiBUaHUsIDIg TWF5IDIwMTkgMTU6MjE6MzggKzAwMDAKU3ViamVjdDogW1BBVENIIDIxLzIzXSBuZXQvbWx4NWU6 IEFkZGl0aW9uYWwgY2hlY2sgZm9yIGZsb3cgZGVzdGluYXRpb24KIGNvbXBhcmlzb24KClsgVXBz dHJlYW0gY29tbWl0IGM5NzljNDQ1YTg4ZTFjOWRkN2Q4ZjkwODM4YzEwNDU2YWU0ZWNkMDkgXQoK RmxvdyBkZXN0aW5hdGlvbiBjb21wYXJpc29uIGhhcyBhbiBpbmFjY3VyYWN5OiBjb2RlIHNlZSBu bwpkaWZmZXJlbmNlIGJldHdlZW4gc2FtZSB2ZiBwb3J0cywgd2hpY2ggYmVsb25nIHRvIGRpZmZl cmVudCBwZnMuCgpFeGFtcGxlOiBJZiBzdGFydCBwaW5nIGZyb20gVkYwIChQRjEpIHRvIFZGMSAo UEYxKSBhbmQgbWlycm9yCmFsbCB0cmFmZmljIHRvIFZGMCAoUEYyKSwgaWNtcCByZXBseSB0byBW RjAgKFBGMSkgYW5kIG1pcnJvcmVkCmZsb3cgdG8gVkYwIChQRjIpIHdvdWxkIGJlIGRldGVybWlu ZWQgYXMgc2FtZSBkZXN0aW5hdGlvbi4gSXQgbGVhZAp0byBjcmVhdGluZyBmbG93IGhhbmRsZXIg d2l0aCBydWxlIG5vZGVzLCB3aGljaCBub3QgYWRkZWQgdG8gbm9kZQp0cmVlLiBXaGVuIGxhdGVy IGRyaXZlciB0cnkgdG8gZGVsZXRlIHRoaXMgZmxvdyBydWxlcyB3ZSBnb3QKa2VybmVsIGNyYXNo LgoKQWRkIGNvbXBhcmlzb24gb2YgdmhjYV9pZCBmaWVsZCB0byBhdm9pZCB0aGlzLgoKRml4ZXM6 IDEyMjhlOTEyYzkzNCAoIm5ldC9tbHg1OiBDb25zaWRlciBlbmNhcHN1bGF0aW9uIHByb3BlcnRp ZXMgd2hlbiBjb21wYXJpbmcgZGVzdGluYXRpb25zIikKU2lnbmVkLW9mZi1ieTogRG15dHJvIExp bmtpbiA8ZG1pdHJvbGluQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6IFJvaSBEYXlhbiA8cm9p ZEBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBWbGFkIEJ1c2xvdiA8dmxhZGJ1QG1lbGxhbm94 LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+ Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuYyB8 IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZnNfY29yZS5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuYwppbmRleCAwYmUzZWI4NmRk ODQuLjU4MWNjMTQ1Nzk1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFu b3gvbWx4NS9jb3JlL2ZzX2NvcmUuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZnNfY29yZS5jCkBAIC0xMzg2LDYgKzEzODYsOCBAQCBzdGF0aWMgYm9vbCBt bHg1X2Zsb3dfZGVzdHNfY21wKHN0cnVjdCBtbHg1X2Zsb3dfZGVzdGluYXRpb24gKmQxLAogCQlp ZiAoKGQxLT50eXBlID09IE1MWDVfRkxPV19ERVNUSU5BVElPTl9UWVBFX1ZQT1JUICYmCiAJCSAg ICAgZDEtPnZwb3J0Lm51bSA9PSBkMi0+dnBvcnQubnVtICYmCiAJCSAgICAgZDEtPnZwb3J0LmZs YWdzID09IGQyLT52cG9ydC5mbGFncyAmJgorCQkgICAgICgoZDEtPnZwb3J0LmZsYWdzICYgTUxY NV9GTE9XX0RFU1RfVlBPUlRfVkhDQV9JRCkgPworCQkgICAgICAoZDEtPnZwb3J0LnZoY2FfaWQg PT0gZDItPnZwb3J0LnZoY2FfaWQpIDogdHJ1ZSkgJiYKIAkJICAgICAoKGQxLT52cG9ydC5mbGFn cyAmIE1MWDVfRkxPV19ERVNUX1ZQT1JUX1JFRk9STUFUX0lEKSA/CiAJCSAgICAgIChkMS0+dnBv cnQucmVmb3JtYXRfaWQgPT0gZDItPnZwb3J0LnJlZm9ybWF0X2lkKSA6IHRydWUpKSB8fAogCQkg ICAgKGQxLT50eXBlID09IE1MWDVfRkxPV19ERVNUSU5BVElPTl9UWVBFX0ZMT1dfVEFCTEUgJiYK LS0gCjIuMjAuMQoKCkZyb20gNWY1ZjE3OTE0MmQ4NGM0ZjliZTQ0ZTlkMzllMTYzOWJlMjY5YzU2 ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBt ZWxsYW5veC5jb20+CkRhdGU6IFR1ZSwgNyBNYXkgMjAxOSAxMzoxNToyMCAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggMjIvMjNdIG5ldC9tbHg1OiBJbXBseSBNTFhGVyBpbiBtbHg1X2NvcmUKClsgVXBz dHJlYW0gY29tbWl0IGJhZDg2MWYzMWJiMTVhOTliZWNlZjMxYWFiNTk2NDBlYWViMjQ3ZTIgXQoK bWx4ZncgY2FuIGJlIGNvbXBpbGVkIGFzIGV4dGVybmFsIG1vZHVsZSB3aGlsZSBtbHg1X2NvcmUg Y2FuIGJlCmJ1aWx0aW4sIGluIHN1Y2ggY2FzZSBtbHg1IHdpbGwgYWN0IGxpa2UgbWx4ZncgaXMg ZGlzYWJsZWQuCgpTaW5jZSBtbHhmdyBpcyBqdXN0IGEgc2VydmljZSBsaWJyYXJ5IGZvciBtbHgq IGRyaXZlcnMsCmltcGx5IGl0IGluIG1seDVfY29yZSB0byBtYWtlIGl0IGFsd2F5cyByZWFjaGFi bGUgaWYgaXQgd2FzIGVuYWJsZWQuCgpGaXhlczogM2ZmYWFiZWNkMWExICgibmV0L21seDVlOiBT dXBwb3J0IHRoZSBmbGFzaCBkZXZpY2UgZXRodG9vbCBjYWxsYmFjayIpClNpZ25lZC1vZmYtYnk6 IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9LY29uZmlnIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvS2NvbmZpZyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9LY29uZmlnCmluZGV4IDZkZWJmZmI4MzM2Yi4uNDMwYzJlYWI2ZmMzIDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvS2NvbmZpZworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvS2NvbmZpZwpAQCAtNyw2ICs3 LDcgQEAgY29uZmlnIE1MWDVfQ09SRQogCWRlcGVuZHMgb24gUENJCiAJaW1wbHkgUFRQXzE1ODhf Q0xPQ0sKIAlpbXBseSBWWExBTgorCWltcGx5IE1MWEZXCiAJZGVmYXVsdCBuCiAJLS0taGVscC0t LQogCSAgQ29yZSBkcml2ZXIgZm9yIGxvdyBsZXZlbCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBDb25u ZWN0WC00IGFuZAotLSAKMi4yMC4xCgoKRnJvbSA4YTZiZWFiOTAwYzczZjVkZDQ1OWY2ZWNlODNj ZDMzZDgzYmIxMTM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTYWVlZCBNYWhhbWVl ZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KRGF0ZTogVHVlLCA3IE1heSAyMDE5IDEyOjU5OjM4IC0w NzAwClN1YmplY3Q6IFtQQVRDSCAyMy8yM10gbmV0L21seDVlOiBGaXggZXRodG9vbCByeGZoIGNv bW1hbmRzIHdoZW4KIENPTkZJR19NTFg1X0VOX1JYTkZDIGlzIGRpc2FibGVkCgpbIFVwc3RyZWFt IGNvbW1pdCA4ZjA5MTZjNmRjNWNkNWUzYmM1MjQxNmZhMmE5ZmY0MDc1MDgwMTgwIF0KCmV0aHRv b2wgdXNlciBzcGFjZXMgbmVlZHMgdG8ga25vdyByaW5nIGNvdW50IHZpYSBFVEhUT09MX0dSWFJJ TkdTIHdoZW4KZXhlY3V0aW5nIChldGh0b29sIC14KSB3aGljaCBpcyByZXRyaWV2ZWQgdmlhIGV0 aHRvb2wgZ2V0X3J4bmZjIGNhbGxiYWNrLAppbiBtbHg1IHRoaXMgY2FsbGJhY2sgaXMgZGlzYWJs ZWQgd2hlbiBDT05GSUdfTUxYNV9FTl9SWE5GQz1uLgoKVGhpcyBwYXRjaCBhbGxvd3Mgb25seSBF VEhUT09MX0dSWFJJTkdTIGNvbW1hbmQgb24gbWx4NWVfZ2V0X3J4bmZjKCkgd2hlbgpDT05GSUdf TUxYNV9FTl9SWE5GQyBpcyBkaXNhYmxlZCwgc28gZXRodG9vbCAteCB3aWxsIGNvbnRpbnVlIHdv cmtpbmcuCgpGaXhlczogZmU2ZDg2YjNjMzE2ICgibmV0L21seDVlOiBBZGQgQ09ORklHX01MWDVf RU5fUlhORkMgZm9yIGV0aHRvb2wgcnggbmZjIikKU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1l ZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogLi4uL2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbl9ldGh0b29sLmMgICB8IDE4ICsrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5n ZWQsIDE3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fZXRodG9vbC5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX2V0aHRvb2wuYwppbmRleCA3OGRjOGZl MmE4M2MuLjI4MjEyMDgxMTljMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2VuX2V0aHRvb2wuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZW5fZXRodG9vbC5jCkBAIC0xOTAxLDYgKzE5MDEsMjIgQEAgc3Rh dGljIGludCBtbHg1ZV9mbGFzaF9kZXZpY2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAlyZXR1 cm4gbWx4NWVfZXRodG9vbF9mbGFzaF9kZXZpY2UocHJpdiwgZmxhc2gpOwogfQogCisjaWZuZGVm IENPTkZJR19NTFg1X0VOX1JYTkZDCisvKiBXaGVuIENPTkZJR19NTFg1X0VOX1JYTkZDPW4gd2Ug b25seSBzdXBwb3J0IEVUSFRPT0xfR1JYUklOR1MKKyAqIG90aGVyd2lzZSB0aGlzIGZ1bmN0aW9u IHdpbGwgYmUgZGVmaW5lZCBmcm9tIGVuX2ZzX2V0aHRvb2wuYworICovCitzdGF0aWMgaW50IG1s eDVlX2dldF9yeG5mYyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgZXRodG9vbF9yeG5m YyAqaW5mbywgdTMyICpydWxlX2xvY3MpCit7CisJc3RydWN0IG1seDVlX3ByaXYgKnByaXYgPSBu ZXRkZXZfcHJpdihkZXYpOworCisJaWYgKGluZm8tPmNtZCAhPSBFVEhUT09MX0dSWFJJTkdTKQor CQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJLyogcmluZ19jb3VudCBpcyBuZWVkZWQgYnkgZXRodG9v bCAteCAqLworCWluZm8tPmRhdGEgPSBwcml2LT5jaGFubmVscy5wYXJhbXMubnVtX2NoYW5uZWxz OworCXJldHVybiAwOworfQorI2VuZGlmCisKIGNvbnN0IHN0cnVjdCBldGh0b29sX29wcyBtbHg1 ZV9ldGh0b29sX29wcyA9IHsKIAkuZ2V0X2RydmluZm8gICAgICAgPSBtbHg1ZV9nZXRfZHJ2aW5m bywKIAkuZ2V0X2xpbmsgICAgICAgICAgPSBldGh0b29sX29wX2dldF9saW5rLApAQCAtMTkxOSw4 ICsxOTM1LDggQEAgY29uc3Qgc3RydWN0IGV0aHRvb2xfb3BzIG1seDVlX2V0aHRvb2xfb3BzID0g ewogCS5nZXRfcnhmaF9pbmRpcl9zaXplID0gbWx4NWVfZ2V0X3J4ZmhfaW5kaXJfc2l6ZSwKIAku Z2V0X3J4ZmggICAgICAgICAgPSBtbHg1ZV9nZXRfcnhmaCwKIAkuc2V0X3J4ZmggICAgICAgICAg PSBtbHg1ZV9zZXRfcnhmaCwKLSNpZmRlZiBDT05GSUdfTUxYNV9FTl9SWE5GQwogCS5nZXRfcnhu ZmMgICAgICAgICA9IG1seDVlX2dldF9yeG5mYywKKyNpZmRlZiBDT05GSUdfTUxYNV9FTl9SWE5G QwogCS5zZXRfcnhuZmMgICAgICAgICA9IG1seDVlX3NldF9yeG5mYywKICNlbmRpZgogCS5mbGFz aF9kZXZpY2UgICAgICA9IG1seDVlX2ZsYXNoX2RldmljZSwKLS0gCjIuMjAuMQoK ----Next_Part(Mon_May_20_23_37_45_2019_586)----