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=-8.4 required=3.0 tests=DKIM_ADSP_ALL,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 2912CC3A5A1 for ; Wed, 21 Aug 2019 08:21:40 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E1F9D2332A for ; Wed, 21 Aug 2019 08:21:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.de header.i=@amazon.de header.b="bK5T6wuS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E1F9D2332A Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i0Lro-0000dA-5i; Wed, 21 Aug 2019 08:21:16 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i0Lrl-0000Wg-9a for xen-devel@lists.xenproject.org; Wed, 21 Aug 2019 08:21:13 +0000 X-Inumbo-ID: a22f13a2-c3ec-11e9-adc2-12813bfff9fa Received: from smtp-fw-6002.amazon.com (unknown [52.95.49.90]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id a22f13a2-c3ec-11e9-adc2-12813bfff9fa; Wed, 21 Aug 2019 08:21:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209; t=1566375671; x=1597911671; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=OGAbYtxG/tnYai/NksElwTzTbFXQoF6HtIoD1Ufz+/4=; b=bK5T6wuSbj9mUNZFXWMROEt4kGefdpZvKIMml2ECYj7rIOi60J0iIUKJ N2VSzmpGhxWxmSXurPZTP1cqa9t2ifCWbsVknOuSMYgoA5xTQx648hxOp Wc+zpqslCJQazgfNnDOe+WdHvqISbT4oXb9nGuHWUcvLWOa1WrcYwJxUK o=; X-IronPort-AV: E=Sophos;i="5.64,412,1559520000"; d="scan'208";a="416596181" Received: from iad6-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-2b-5bdc5131.us-west-2.amazon.com) ([10.124.125.6]) by smtp-border-fw-out-6002.iad6.amazon.com with ESMTP; 21 Aug 2019 08:21:07 +0000 Received: from EX13MTAUEA001.ant.amazon.com (pdx4-ws-svc-p6-lb7-vlan3.pdx.amazon.com [10.170.41.166]) by email-inbound-relay-2b-5bdc5131.us-west-2.amazon.com (Postfix) with ESMTPS id B340AA23B8; Wed, 21 Aug 2019 08:21:06 +0000 (UTC) Received: from EX13D03EUA003.ant.amazon.com (10.43.165.89) by EX13MTAUEA001.ant.amazon.com (10.43.61.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 21 Aug 2019 08:20:41 +0000 Received: from EX13MTAUWB001.ant.amazon.com (10.43.161.207) by EX13D03EUA003.ant.amazon.com (10.43.165.89) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 21 Aug 2019 08:20:40 +0000 Received: from dev-dsk-wipawel-1a-0c4e6d58.eu-west-1.amazon.com (10.4.134.33) by mail-relay.amazon.com (10.43.161.249) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Wed, 21 Aug 2019 08:20:36 +0000 From: Pawel Wieczorkiewicz To: , Date: Wed, 21 Aug 2019 08:19:30 +0000 Message-ID: <20190821081931.90887-14-wipawel@amazon.de> X-Mailer: git-send-email 2.16.5 In-Reply-To: <20190821081931.90887-1-wipawel@amazon.de> References: <20190821081931.90887-1-wipawel@amazon.de> MIME-Version: 1.0 Precedence: Bulk Subject: [Xen-devel] [PATCH 13/14] livepatch: Add metadata runtime retrieval mechanism X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: wipawel@amazon.com, Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ross Lagerwall , Ian Jackson , mpohlack@amazon.com, Tim Deegan , Pawel Wieczorkiewicz , Julien Grall , Jan Beulich Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RXh0ZW5kIHRoZSBsaXZlcGF0Y2ggbGlzdCBvcGVyYXRpb24gdG8gZmV0Y2ggYWxzbyBwYXlsb2Fk cycgbWV0YWRhdGEuClRoaXMgaXMgYWNoaWV2ZWQgYnkgZXh0ZW5kaW5nIHRoZSBzeXNjdGwgbGlz dCBpbnRlcmZhY2Ugd2l0aCAyIGV4dHJhCmd1ZXN0IGhhbmRsZXM6CiogbWV0YWRhdGEgICAgIC0g YW4gYXJyYXkgb2YgYXJiaXRyYXJ5IHNpemUgc3RyaW5ncwoqIG1ldGFkYXRhX2xlbiAtIGFuIGFy cmF5IG9mIG1ldGFkYXRhIHN0cmluZ3MnIGxlbmd0aHMgKHVpbjMyX3QgZWFjaCkKClBheWxvYWRz JyBtZXRhZGF0YSBpcyBhIHN0cmluZyBvZiBhcmJpdHJhcnkgc2l6ZSBhbmQgZG9lcyBub3QgaGF2 ZSBhbgp1cHBlciBib3VuZCBsaW1pdC4gSXQgbWF5IGFsc28gdmFyeSBpbiBzaXplIGJldHdlZW4g cGF5bG9hZHMuCgpJbiBvcmRlciB0byBsZXQgdGhlIHVzZXJsYW5kIGFsbG9jYXRlIGVub3VnaCBz cGFjZSBmb3IgdGhlIGluY29taW5nCmRhdGEgYWRkIGEgbWV0YWRhdGEgdG90YWwgc2l6ZSBmaWVs ZCB0byB0aGUgbGlzdCBzeXNjdGwgb3BlcmF0aW9uIGFuZApmaWxsIGl0IHdpdGggdG90YWwgc2l6 ZSBvZiBhbGwgcGF5bG9hZHMnIG1ldGFkYXRhLgoKRXh0ZW5kIHRoZSBsaWJ4YyB0byBoYW5kbGUg dGhlIG1ldGFkYXRhIGJhY2stdG8tYmFjayBkYXRhIHRyYW5zZmVycwphcyB3ZWxsIGFzIG1ldGFk YXRhIGxlbmd0aCBhcnJheSBkYXRhIHRyYW5zZmVycy4KClRoZSB4ZW4tbGl2ZXBhdGNoIHVzZXJs YW5kIHRvb2wgaXMgZXh0ZW5kZWQgdG8gYWx3YXlzIGRpc3BsYXkgdGhlCm1ldGFkYXRhIGZvciBl YWNoIHJlY2VpdmVkIG1vZHVsZS4gVGhlIG1ldGFkYXRhIGlzIHJlY2VpdmVkIHdpdGggdGhlCmZv bGxvd2luZyBmb3JtYXQ6IGtleT12YWx1ZVwwa2V5PXZhbHVlXDAuLi5rZXk9dmFsdWVcMC4gVGhl IGZvcm1hdCBpcwptb2RpZmllZCB0byB0aGUgZm9sbG93aW5nIG9uZToga2V5PXZhbHVlO2tleT12 YWx1ZTsuLi5rZXk9dmFsdWUuClRoZSBuZXcgZm9ybWF0IGFsbG93cyB0byBlYXNpbHkgcGFyc2Ug dGhlIG1ldGFkYXRhIGZvciBhIGdpdmVuIG1vZHVsZQpieSBhIG1hY2hpbmUuCgpTaWduZWQtb2Zm LWJ5OiBQYXdlbCBXaWVjem9ya2lld2ljeiA8d2lwYXdlbEBhbWF6b24uZGU+ClJldmlld2VkLWJ5 OiBBbmRyYS1JcmluYSBQYXJhc2NoaXYgPGFuZHJhcHJzQGFtYXpvbi5jb20+ClJldmlld2VkLWJ5 OiBNYXJ0aW4gUG9obGFjayA8bXBvaGxhY2tAYW1hem9uLmRlPgpSZXZpZXdlZC1ieTogTm9yYmVy dCBNYW50aGV5IDxubWFudGhleUBhbWF6b24uZGU+Ci0tLQogdG9vbHMvbGlieGMvaW5jbHVkZS94 ZW5jdHJsLmggfCAyMiArKysrKysrKysrKy0tLS0KIHRvb2xzL2xpYnhjL3hjX21pc2MuYyAgICAg ICAgIHwgNjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogdG9v bHMvbWlzYy94ZW4tbGl2ZXBhdGNoLmMgICAgfCA0MyArKysrKysrKysrKysrKysrKysrKysrLS0t LS0tCiB4ZW4vY29tbW9uL2xpdmVwYXRjaC5jICAgICAgICB8IDIyICsrKysrKysrKysrLS0tLQog eGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oICAgfCAxOSArKysrKysrKystLS0tCiA1IGZpbGVz IGNoYW5nZWQsIDEzNCBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVu Y3RybC5oCmluZGV4IGUwZWJiNTg2YjYuLjdhMzc2MmY0NGUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhjL2luY2x1ZGUveGVuY3RybC5oCisrKyBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5o CkBAIC0yNTYxLDcgKzI1NjEsNyBAQCBpbnQgeGNfbGl2ZXBhdGNoX2dldCh4Y19pbnRlcmZhY2Ug KnhjaCwKIAogLyoKICAqIEdldCBhIG51bWJlciBvZiBhdmFpbGFibGUgcGF5bG9hZHMgYW5kIGdl dCBhY3R1YWwgdG90YWwgc2l6ZSBvZgotICogdGhlIHBheWxvYWRzJyBuYW1lIGFycmF5LgorICog dGhlIHBheWxvYWRzJyBuYW1lIGFuZCBtZXRhZGF0YSBhcnJheXMuCiAgKgogICogVGhpcyBmdW5j dGlvbnMgaXMgdHlwaWNhbGx5IGV4ZWN1dGVkIGZpcnN0IGJlZm9yZSB0aGUgeGNfbGl2ZXBhdGNo X2xpc3QoKQogICogdG8gb2J0YWluIHRoZSBzaXplcyBhbmQgY29ycmVjdGx5IGFsbG9jYXRlIGFs bCBuZWNlc3NhcnkgZGF0YSByZXNvdXJjZXMuCkBAIC0yNTcyLDEzICsyNTcyLDE2IEBAIGludCB4 Y19saXZlcGF0Y2hfZ2V0KHhjX2ludGVyZmFjZSAqeGNoLAogICogd2lsbCBjb250YWluIHRoZSBo eXBlcmNhbGwgZXJyb3IgY29kZSB2YWx1ZS4KICAqLwogaW50IHhjX2xpdmVwYXRjaF9saXN0X2dl dF9zaXplcyh4Y19pbnRlcmZhY2UgKnhjaCwgdW5zaWduZWQgaW50ICpuciwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKm5hbWVfdG90YWxfc2l6ZSk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpuYW1lX3RvdGFsX3NpemUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICptZXRhZGF0YV90b3RhbF9zaXpl KTsKIAogLyoKICAqIFRoZSBoZWFydCBvZiB0aGlzIGZ1bmN0aW9uIGlzIHRvIGdldCBhbiBhcnJh eSBvZiB0aGUgZm9sbG93aW5nIG9iamVjdHM6CiAgKiAgIC0geGVuX2xpdmVwYXRjaF9zdGF0dXNf dDogc3RhdGVzIGFuZCByZXR1cm4gY29kZXMgb2YgcGF5bG9hZHMKICAqICAgLSBuYW1lOiBuYW1l cyBvZiBwYXlsb2FkcwogICogICAtIGxlbjogbGVuZ3RocyBvZiBjb3JyZXNwb25kaW5nIHBheWxv YWRzJyBuYW1lcworICogICAtIG1ldGFkYXRhOiBwYXlsb2FkcycgbWV0YWRhdGEKKyAqICAgLSBt ZXRhZGF0YV9sZW46IGxlbmd0aHMgb2YgY29ycmVzcG9uZGluZyBwYXlsb2FkcycgbWV0YWRhdGEK ICAqCiAgKiBIb3dldmVyIGl0IGlzIGNvbXBsZXggYmVjYXVzZSBpdCBoYXMgdG8gZGVhbCB3aXRo IHRoZSBoeXBlcnZpc29yCiAgKiByZXR1cm5pbmcgc29tZSBvZiB0aGUgcmVxdWVzdGVkIGRhdGEg b3IgZGF0YSBiZWluZyBzdGFsZQpAQCAtMjU5MSwxMiArMjU5NCwxMyBAQCBpbnQgeGNfbGl2ZXBh dGNoX2xpc3RfZ2V0X3NpemVzKHhjX2ludGVyZmFjZSAqeGNoLCB1bnNpZ25lZCBpbnQgKm5yLAog ICoKICAqIEl0IGlzIGV4cGVjdGVkIHRoYXQgdGhlIGNhbGxlciBvZiB0aGlzIGZ1bmN0aW9uIHdp bGwgZmlyc3QgaXNzdWUgdGhlCiAgKiB4Y19saXZlcGF0Y2hfbGlzdF9nZXRfc2l6ZXMoKSBpbiBv cmRlciB0byBvYnRhaW4gdG90YWwgc2l6ZXMgb2YgbmFtZXMKLSAqIGFzIHdlbGwgYXMgdGhlIGN1 cnJlbnQgbnVtYmVyIG9mIHBheWxvYWQgZW50cmllcy4KLSAqIFRoZSB0b3RhbCBzaXplcyBhcmUg cmVxdWlyZWQgYW5kIHN1cHBsaWVkIHZpYSB0aGUgJ25hbWVfdG90YWxfc2l6ZScKLSAqIHBhcmFt ZXRlci4KKyAqIGFuZCBhbGwgbWV0YWRhdGEgYXMgd2VsbCBhcyB0aGUgY3VycmVudCBudW1iZXIg b2YgcGF5bG9hZCBlbnRyaWVzLgorICogVGhlIHRvdGFsIHNpemVzIGFyZSByZXF1aXJlZCBhbmQg c3VwcGxpZWQgdmlhIHRoZSAnbmFtZV90b3RhbF9zaXplJyBhbmQKKyAqICdtZXRhZGF0YV90b3Rh bF9zaXplJyBwYXJhbWV0ZXJzLgogICoKICAqIFRoZSAnbWF4JyBpcyB0byBiZSBwcm92aWRlZCBi eSB0aGUgY2FsbGVyIHdpdGggdGhlIG1heGltdW0gbnVtYmVyIG9mCi0gKiBlbnRyaWVzIHRoYXQg J2luZm8nLCAnbmFtZScsICdsZW4nIGFycmF5cyBjYW4gYmUgZmlsbGVkIHVwIHdpdGguCisgKiBl bnRyaWVzIHRoYXQgJ2luZm8nLCAnbmFtZScsICdsZW4nLCAnbWV0YWRhdGEnIGFuZCAnbWV0YWRh dGFfbGVuJyBhcnJheXMKKyAqIGNhbiBiZSBmaWxsZWQgdXAgd2l0aC4KICAqCiAgKiBFYWNoIGVu dHJ5IGluIHRoZSAnaW5mbycgYXJyYXkgaXMgZXhwZWN0ZWQgdG8gYmUgb2YgeGVuX2xpdmVwYXRj aF9zdGF0dXNfdAogICogc3RydWN0dXJlIHNpemUuCkBAIC0yNjA1LDYgKzI2MDksMTAgQEAgaW50 IHhjX2xpdmVwYXRjaF9saXN0X2dldF9zaXplcyh4Y19pbnRlcmZhY2UgKnhjaCwgdW5zaWduZWQg aW50ICpuciwKICAqCiAgKiBFYWNoIGVudHJ5IGluIHRoZSAnbGVuJyBhcnJheSBpcyBleHBlY3Rl ZCB0byBiZSBvZiB1aW50MzJfdCBzaXplLgogICoKKyAqIEVhY2ggZW50cnkgaW4gdGhlICdtZXRh ZGF0YScgYXJyYXkgbWF5IGhhdmUgYW4gYXJiaXRyYXJ5IHNpemUuCisgKgorICogRWFjaCBlbnRy eSBpbiB0aGUgJ21ldGFkYXRhX2xlbicgYXJyYXkgaXMgZXhwZWN0ZWQgdG8gYmUgb2YgdWludDMy X3Qgc2l6ZS4KKyAqCiAgKiBUaGUgcmV0dXJuIHZhbHVlIGlzIHplcm8gaWYgdGhlIGh5cGVyY2Fs bCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgogICogTm90ZSB0aGF0IHRoZSByZXR1cm4gdmFsdWUg aXMgX25vdF8gdGhlIGFtb3VudCBvZiBlbnRyaWVzIGZpbGxlZAogICogb3V0IC0gdGhhdCBpcyBz YXZlZCBpbiAnZG9uZScuCkBAIC0yNjE5LDYgKzI2MjcsOCBAQCBpbnQgeGNfbGl2ZXBhdGNoX2xp c3QoeGNfaW50ZXJmYWNlICp4Y2gsIGNvbnN0IHVuc2lnbmVkIGludCBtYXgsCiAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHhlbl9saXZlcGF0Y2hfc3RhdHVzICppbmZvLAogICAgICAgICAg ICAgICAgICAgICAgIGNoYXIgKm5hbWUsIHVpbnQzMl90ICpsZW4sCiAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdWludDY0X3QgbmFtZV90b3RhbF9zaXplLAorICAgICAgICAgICAgICAgICAg ICAgIGNoYXIgKm1ldGFkYXRhLCB1aW50MzJfdCAqbWV0YWRhdGFfbGVuLAorICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHVpbnQ2NF90IG1ldGFkYXRhX3RvdGFsX3NpemUsCiAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50ICpkb25lLCB1bnNpZ25lZCBpbnQgKmxlZnQpOwogCiAv KgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfbWlzYy5jIGIvdG9vbHMvbGlieGMveGNfbWlz Yy5jCmluZGV4IGQ3ODdmM2YyOWYuLjYxODExMzAxMWQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhj L3hjX21pc2MuYworKysgYi90b29scy9saWJ4Yy94Y19taXNjLmMKQEAgLTY2Myw3ICs2NjMsNyBA QCBpbnQgeGNfbGl2ZXBhdGNoX2dldCh4Y19pbnRlcmZhY2UgKnhjaCwKIAogLyoKICAqIEdldCBh IG51bWJlciBvZiBhdmFpbGFibGUgcGF5bG9hZHMgYW5kIGdldCBhY3R1YWwgdG90YWwgc2l6ZSBv ZgotICogdGhlIHBheWxvYWRzJyBuYW1lIGFycmF5LgorICogdGhlIHBheWxvYWRzJyBuYW1lIGFu ZCBtZXRhZGF0YSBhcnJheXMuCiAgKgogICogVGhpcyBmdW5jdGlvbnMgaXMgdHlwaWNhbGx5IGV4 ZWN1dGVkIGZpcnN0IGJlZm9yZSB0aGUgeGNfbGl2ZXBhdGNoX2xpc3QoKQogICogdG8gb2J0YWlu IHRoZSBzaXplcyBhbmQgY29ycmVjdGx5IGFsbG9jYXRlIGFsbCBuZWNlc3NhcnkgZGF0YSByZXNv dXJjZXMuCkBAIC02NzQsMTIgKzY3NCwxMyBAQCBpbnQgeGNfbGl2ZXBhdGNoX2dldCh4Y19pbnRl cmZhY2UgKnhjaCwKICAqIHdpbGwgY29udGFpbiB0aGUgaHlwZXJjYWxsIGVycm9yIGNvZGUgdmFs dWUuCiAgKi8KIGludCB4Y19saXZlcGF0Y2hfbGlzdF9nZXRfc2l6ZXMoeGNfaW50ZXJmYWNlICp4 Y2gsIHVuc2lnbmVkIGludCAqbnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQ2NF90ICpuYW1lX3RvdGFsX3NpemUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQ2NF90ICpuYW1lX3RvdGFsX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQ2NF90ICptZXRhZGF0YV90b3RhbF9zaXplKQogewogICAgIERFQ0xBUkVfU1lTQ1RM OwogICAgIGludCByYzsKIAotICAgIGlmICggIW5yIHx8ICFuYW1lX3RvdGFsX3NpemUgKQorICAg IGlmICggIW5yIHx8ICFuYW1lX3RvdGFsX3NpemUgfHwgIW1ldGFkYXRhX3RvdGFsX3NpemUgKQog ICAgIHsKICAgICAgICAgZXJybm8gPSBFSU5WQUw7CiAgICAgICAgIHJldHVybiAtMTsKQEAgLTY5 NSw2ICs2OTYsNyBAQCBpbnQgeGNfbGl2ZXBhdGNoX2xpc3RfZ2V0X3NpemVzKHhjX2ludGVyZmFj ZSAqeGNoLCB1bnNpZ25lZCBpbnQgKm5yLAogCiAgICAgKm5yID0gc3lzY3RsLnUubGl2ZXBhdGNo LnUubGlzdC5ucjsKICAgICAqbmFtZV90b3RhbF9zaXplID0gc3lzY3RsLnUubGl2ZXBhdGNoLnUu bGlzdC5uYW1lX3RvdGFsX3NpemU7CisgICAgKm1ldGFkYXRhX3RvdGFsX3NpemUgPSBzeXNjdGwu dS5saXZlcGF0Y2gudS5saXN0Lm1ldGFkYXRhX3RvdGFsX3NpemU7CiAKICAgICByZXR1cm4gMDsK IH0KQEAgLTcwNCw2ICs3MDYsOCBAQCBpbnQgeGNfbGl2ZXBhdGNoX2xpc3RfZ2V0X3NpemVzKHhj X2ludGVyZmFjZSAqeGNoLCB1bnNpZ25lZCBpbnQgKm5yLAogICogICAtIHhlbl9saXZlcGF0Y2hf c3RhdHVzX3Q6IHN0YXRlcyBhbmQgcmV0dXJuIGNvZGVzIG9mIHBheWxvYWRzCiAgKiAgIC0gbmFt ZTogbmFtZXMgb2YgcGF5bG9hZHMKICAqICAgLSBsZW46IGxlbmd0aHMgb2YgY29ycmVzcG9uZGlu ZyBwYXlsb2FkcycgbmFtZXMKKyAqICAgLSBtZXRhZGF0YTogcGF5bG9hZHMnIG1ldGFkYXRhCisg KiAgIC0gbWV0YWRhdGFfbGVuOiBsZW5ndGhzIG9mIGNvcnJlc3BvbmRpbmcgcGF5bG9hZHMnIG1l dGFkYXRhCiAgKgogICogSG93ZXZlciBpdCBpcyBjb21wbGV4IGJlY2F1c2UgaXQgaGFzIHRvIGRl YWwgd2l0aCB0aGUgaHlwZXJ2aXNvcgogICogcmV0dXJuaW5nIHNvbWUgb2YgdGhlIHJlcXVlc3Rl ZCBkYXRhIG9yIGRhdGEgYmVpbmcgc3RhbGUKQEAgLTcxNiwxMiArNzIwLDEzIEBAIGludCB4Y19s aXZlcGF0Y2hfbGlzdF9nZXRfc2l6ZXMoeGNfaW50ZXJmYWNlICp4Y2gsIHVuc2lnbmVkIGludCAq bnIsCiAgKgogICogSXQgaXMgZXhwZWN0ZWQgdGhhdCB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rp b24gd2lsbCBmaXJzdCBpc3N1ZSB0aGUKICAqIHhjX2xpdmVwYXRjaF9saXN0X2dldF9zaXplcygp IGluIG9yZGVyIHRvIG9idGFpbiB0b3RhbCBzaXplcyBvZiBuYW1lcwotICogYXMgd2VsbCBhcyB0 aGUgY3VycmVudCBudW1iZXIgb2YgcGF5bG9hZCBlbnRyaWVzLgotICogVGhlIHRvdGFsIHNpemVz IGFyZSByZXF1aXJlZCBhbmQgc3VwcGxpZWQgdmlhIHRoZSAnbmFtZV90b3RhbF9zaXplJwotICog cGFyYW1ldGVyLgorICogYW5kIGFsbCBtZXRhZGF0YSBhcyB3ZWxsIGFzIHRoZSBjdXJyZW50IG51 bWJlciBvZiBwYXlsb2FkIGVudHJpZXMuCisgKiBUaGUgdG90YWwgc2l6ZXMgYXJlIHJlcXVpcmVk IGFuZCBzdXBwbGllZCB2aWEgdGhlICduYW1lX3RvdGFsX3NpemUnIGFuZAorICogJ21ldGFkYXRh X3RvdGFsX3NpemUnIHBhcmFtZXRlcnMuCiAgKgogICogVGhlICdtYXgnIGlzIHRvIGJlIHByb3Zp ZGVkIGJ5IHRoZSBjYWxsZXIgd2l0aCB0aGUgbWF4aW11bSBudW1iZXIgb2YKLSAqIGVudHJpZXMg dGhhdCAnaW5mbycsICduYW1lJywgJ2xlbicgYXJyYXlzIGNhbiBiZSBmaWxsZWQgdXAgd2l0aC4K KyAqIGVudHJpZXMgdGhhdCAnaW5mbycsICduYW1lJywgJ2xlbicsICdtZXRhZGF0YScgYW5kICdt ZXRhZGF0YV9sZW4nIGFycmF5cworICogY2FuIGJlIGZpbGxlZCB1cCB3aXRoLgogICoKICAqIEVh Y2ggZW50cnkgaW4gdGhlICdpbmZvJyBhcnJheSBpcyBleHBlY3RlZCB0byBiZSBvZiB4ZW5fbGl2 ZXBhdGNoX3N0YXR1c190CiAgKiBzdHJ1Y3R1cmUgc2l6ZS4KQEAgLTczMCw2ICs3MzUsMTAgQEAg aW50IHhjX2xpdmVwYXRjaF9saXN0X2dldF9zaXplcyh4Y19pbnRlcmZhY2UgKnhjaCwgdW5zaWdu ZWQgaW50ICpuciwKICAqCiAgKiBFYWNoIGVudHJ5IGluIHRoZSAnbGVuJyBhcnJheSBpcyBleHBl Y3RlZCB0byBiZSBvZiB1aW50MzJfdCBzaXplLgogICoKKyAqIEVhY2ggZW50cnkgaW4gdGhlICdt ZXRhZGF0YScgYXJyYXkgbWF5IGhhdmUgYW4gYXJiaXRyYXJ5IHNpemUuCisgKgorICogRWFjaCBl bnRyeSBpbiB0aGUgJ21ldGFkYXRhX2xlbicgYXJyYXkgaXMgZXhwZWN0ZWQgdG8gYmUgb2YgdWlu dDMyX3Qgc2l6ZS4KKyAqCiAgKiBUaGUgcmV0dXJuIHZhbHVlIGlzIHplcm8gaWYgdGhlIGh5cGVy Y2FsbCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgogICogTm90ZSB0aGF0IHRoZSByZXR1cm4gdmFs dWUgaXMgX25vdF8gdGhlIGFtb3VudCBvZiBlbnRyaWVzIGZpbGxlZAogICogb3V0IC0gdGhhdCBp cyBzYXZlZCBpbiAnZG9uZScuCkBAIC03NDQsNiArNzUzLDggQEAgaW50IHhjX2xpdmVwYXRjaF9s aXN0KHhjX2ludGVyZmFjZSAqeGNoLCBjb25zdCB1bnNpZ25lZCBpbnQgbWF4LAogICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCB4ZW5fbGl2ZXBhdGNoX3N0YXR1cyAqaW5mbywKICAgICAgICAg ICAgICAgICAgICAgICBjaGFyICpuYW1lLCB1aW50MzJfdCAqbGVuLAogICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHVpbnQ2NF90IG5hbWVfdG90YWxfc2l6ZSwKKyAgICAgICAgICAgICAgICAg ICAgICBjaGFyICptZXRhZGF0YSwgdWludDMyX3QgKm1ldGFkYXRhX2xlbiwKKyAgICAgICAgICAg ICAgICAgICAgICBjb25zdCB1aW50NjRfdCBtZXRhZGF0YV90b3RhbF9zaXplLAogICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZG9uZSwgdW5zaWduZWQgaW50ICpsZWZ0KQogewog ICAgIGludCByYzsKQEAgLTc1MiwxOSArNzYzLDIyIEBAIGludCB4Y19saXZlcGF0Y2hfbGlzdCh4 Y19pbnRlcmZhY2UgKnhjaCwgY29uc3QgdW5zaWduZWQgaW50IG1heCwKICAgICBERUNMQVJFX0hZ UEVSQ0FMTF9CT1VOQ0UoaW5mbywgMCwgWENfSFlQRVJDQUxMX0JVRkZFUl9CT1VOQ0VfT1VUKTsK ICAgICBERUNMQVJFX0hZUEVSQ0FMTF9CT1VOQ0UobmFtZSwgMCwgWENfSFlQRVJDQUxMX0JVRkZF Ul9CT1VOQ0VfT1VUKTsKICAgICBERUNMQVJFX0hZUEVSQ0FMTF9CT1VOQ0UobGVuLCAwLCBYQ19I WVBFUkNBTExfQlVGRkVSX0JPVU5DRV9PVVQpOworICAgIERFQ0xBUkVfSFlQRVJDQUxMX0JPVU5D RShtZXRhZGF0YSwgMCwgWENfSFlQRVJDQUxMX0JVRkZFUl9CT1VOQ0VfT1VUKTsKKyAgICBERUNM QVJFX0hZUEVSQ0FMTF9CT1VOQ0UobWV0YWRhdGFfbGVuLCAwLCBYQ19IWVBFUkNBTExfQlVGRkVS X0JPVU5DRV9PVVQpOwogICAgIHVpbnQzMl90IG1heF9iYXRjaF9zeiwgbnI7CiAgICAgdWludDMy X3QgdmVyc2lvbiA9IDAsIHJldHJpZXMgPSAwOwogICAgIHVpbnQzMl90IGFkanVzdCA9IDA7Ci0g ICAgb2ZmX3QgbmFtZV9vZmYgPSAwOwotICAgIHVpbnQ2NF90IG5hbWVfc3o7CisgICAgb2ZmX3Qg bmFtZV9vZmYgPSAwLCBtZXRhZGF0YV9vZmYgPSAwOworICAgIHVpbnQ2NF90IG5hbWVfc3osIG1l dGFkYXRhX3N6OwogCi0gICAgaWYgKCAhbWF4IHx8ICFpbmZvIHx8ICFuYW1lIHx8ICFsZW4gfHwg IWRvbmUgfHwgIWxlZnQgKQorICAgIGlmICggIW1heCB8fCAhaW5mbyB8fCAhbmFtZSB8fCAhbGVu IHx8CisgICAgICAgICAhbWV0YWRhdGEgfHwgIW1ldGFkYXRhX2xlbiB8fCAhZG9uZSB8fCAhbGVm dCApCiAgICAgewogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAgcmV0dXJuIC0xOwog ICAgIH0KIAotICAgIGlmICggbmFtZV90b3RhbF9zaXplID09IDAgKQorICAgIGlmICggbmFtZV90 b3RhbF9zaXplID09IDAgfHwgbWV0YWRhdGFfdG90YWxfc2l6ZSA9PSAwICkKICAgICB7CiAgICAg ICAgIGVycm5vID0gRU5PRU5UOwogICAgICAgICByZXR1cm4gLTE7CkBAIC03NzcsMTAgKzc5MSwx MSBAQCBpbnQgeGNfbGl2ZXBhdGNoX2xpc3QoeGNfaW50ZXJmYWNlICp4Y2gsIGNvbnN0IHVuc2ln bmVkIGludCBtYXgsCiAKICAgICBtYXhfYmF0Y2hfc3ogPSBtYXg7CiAgICAgbmFtZV9zeiA9IG5h bWVfdG90YWxfc2l6ZTsKKyAgICBtZXRhZGF0YV9zeiA9IG1ldGFkYXRhX3RvdGFsX3NpemU7CiAg ICAgKmRvbmUgPSAwOwogICAgICpsZWZ0ID0gMDsKICAgICBkbyB7Ci0gICAgICAgIHVpbnQ2NF90 IF9uYW1lX3N6OworICAgICAgICB1aW50NjRfdCBfbmFtZV9zeiwgX21ldGFkYXRhX3N6OwogCiAg ICAgICAgIC8qCiAgICAgICAgICAqIFRoZSBmaXJzdCB0aW1lIHdlIGdvIGluIHRoaXMgbG9vcCBv dXIgJ21heCcgbWF5IGJlIGJpZ2dlcgpAQCAtODAzLDEwICs4MTgsMTQgQEAgaW50IHhjX2xpdmVw YXRjaF9saXN0KHhjX2ludGVyZmFjZSAqeGNoLCBjb25zdCB1bnNpZ25lZCBpbnQgbWF4LAogICAg ICAgICBIWVBFUkNBTExfQk9VTkNFX1NFVF9TSVpFKGluZm8sIG5yICogc2l6ZW9mKCppbmZvKSk7 CiAgICAgICAgIEhZUEVSQ0FMTF9CT1VOQ0VfU0VUX1NJWkUobmFtZSwgbmFtZV9zeik7CiAgICAg ICAgIEhZUEVSQ0FMTF9CT1VOQ0VfU0VUX1NJWkUobGVuLCBuciAqIHNpemVvZigqbGVuKSk7Cisg ICAgICAgIEhZUEVSQ0FMTF9CT1VOQ0VfU0VUX1NJWkUobWV0YWRhdGEsIG1ldGFkYXRhX3N6KTsK KyAgICAgICAgSFlQRVJDQUxMX0JPVU5DRV9TRVRfU0laRShtZXRhZGF0YV9sZW4sIG5yICogc2l6 ZW9mKCptZXRhZGF0YV9sZW4pKTsKICAgICAgICAgLyogTW92ZSB0aGUgcG9pbnRlciB0byBwcm9w ZXIgb2Zmc2V0IGludG8gJ2luZm8nLiAqLwogICAgICAgICAoSFlQRVJDQUxMX0JVRkZFUihpbmZv KSktPnVidWYgPSBpbmZvICsgKmRvbmU7CiAgICAgICAgIChIWVBFUkNBTExfQlVGRkVSKG5hbWUp KS0+dWJ1ZiA9IG5hbWUgKyBuYW1lX29mZjsKICAgICAgICAgKEhZUEVSQ0FMTF9CVUZGRVIobGVu KSktPnVidWYgPSBsZW4gKyAqZG9uZTsKKyAgICAgICAgKEhZUEVSQ0FMTF9CVUZGRVIobWV0YWRh dGEpKS0+dWJ1ZiA9IG1ldGFkYXRhICsgbWV0YWRhdGFfb2ZmOworICAgICAgICAoSFlQRVJDQUxM X0JVRkZFUihtZXRhZGF0YV9sZW4pKS0+dWJ1ZiA9IG1ldGFkYXRhX2xlbiArICpkb25lOwogICAg ICAgICAvKiBBbGxvY2F0ZSBtZW1vcnkuICovCiAgICAgICAgIHJjID0geGNfaHlwZXJjYWxsX2Jv dW5jZV9wcmUoeGNoLCBpbmZvKTsKICAgICAgICAgaWYgKCByYyApCkBAIC04MjAsOSArODM5LDE5 IEBAIGludCB4Y19saXZlcGF0Y2hfbGlzdCh4Y19pbnRlcmZhY2UgKnhjaCwgY29uc3QgdW5zaWdu ZWQgaW50IG1heCwKICAgICAgICAgaWYgKCByYyApCiAgICAgICAgICAgICBicmVhazsKIAorICAg ICAgICByYyA9IHhjX2h5cGVyY2FsbF9ib3VuY2VfcHJlKHhjaCwgbWV0YWRhdGEpOworICAgICAg ICBpZiAoIHJjICkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIHJjID0geGNfaHlwZXJj YWxsX2JvdW5jZV9wcmUoeGNoLCBtZXRhZGF0YV9sZW4pOworICAgICAgICBpZiAoIHJjICkKKyAg ICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKHN5c2N0bC51 LmxpdmVwYXRjaC51Lmxpc3Quc3RhdHVzLCBpbmZvKTsKICAgICAgICAgc2V0X3hlbl9ndWVzdF9o YW5kbGUoc3lzY3RsLnUubGl2ZXBhdGNoLnUubGlzdC5uYW1lLCBuYW1lKTsKICAgICAgICAgc2V0 X3hlbl9ndWVzdF9oYW5kbGUoc3lzY3RsLnUubGl2ZXBhdGNoLnUubGlzdC5sZW4sIGxlbik7Cisg ICAgICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKHN5c2N0bC51LmxpdmVwYXRjaC51Lmxpc3QubWV0 YWRhdGEsIG1ldGFkYXRhKTsKKyAgICAgICAgc2V0X3hlbl9ndWVzdF9oYW5kbGUoc3lzY3RsLnUu bGl2ZXBhdGNoLnUubGlzdC5tZXRhZGF0YV9sZW4sIG1ldGFkYXRhX2xlbik7CiAKICAgICAgICAg cmMgPSBkb19zeXNjdGwoeGNoLCAmc3lzY3RsKTsKICAgICAgICAgLyoKQEAgLTgzOSw2ICs4Njgs OCBAQCBpbnQgeGNfbGl2ZXBhdGNoX2xpc3QoeGNfaW50ZXJmYWNlICp4Y2gsIGNvbnN0IHVuc2ln bmVkIGludCBtYXgsCiAgICAgICAgICAgICB4Y19oeXBlcmNhbGxfYm91bmNlX3Bvc3QoeGNoLCBp bmZvKTsKICAgICAgICAgICAgIHhjX2h5cGVyY2FsbF9ib3VuY2VfcG9zdCh4Y2gsIG5hbWUpOwog ICAgICAgICAgICAgeGNfaHlwZXJjYWxsX2JvdW5jZV9wb3N0KHhjaCwgbGVuKTsKKyAgICAgICAg ICAgIHhjX2h5cGVyY2FsbF9ib3VuY2VfcG9zdCh4Y2gsIG1ldGFkYXRhKTsKKyAgICAgICAgICAg IHhjX2h5cGVyY2FsbF9ib3VuY2VfcG9zdCh4Y2gsIG1ldGFkYXRhX2xlbik7CiAgICAgICAgICAg ICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmICggcmMgPCAwICkgLyogRm9y IGFsbCBvdGhlciBlcnJvcnMgd2UgYmFpbCBvdXQuICovCkBAIC04NjMsNiArODk0LDggQEAgaW50 IHhjX2xpdmVwYXRjaF9saXN0KHhjX2ludGVyZmFjZSAqeGNoLCBjb25zdCB1bnNpZ25lZCBpbnQg bWF4LAogICAgICAgICAgICAgeGNfaHlwZXJjYWxsX2JvdW5jZV9wb3N0KHhjaCwgaW5mbyk7CiAg ICAgICAgICAgICB4Y19oeXBlcmNhbGxfYm91bmNlX3Bvc3QoeGNoLCBuYW1lKTsKICAgICAgICAg ICAgIHhjX2h5cGVyY2FsbF9ib3VuY2VfcG9zdCh4Y2gsIGxlbik7CisgICAgICAgICAgICB4Y19o eXBlcmNhbGxfYm91bmNlX3Bvc3QoeGNoLCBtZXRhZGF0YSk7CisgICAgICAgICAgICB4Y19oeXBl cmNhbGxfYm91bmNlX3Bvc3QoeGNoLCBtZXRhZGF0YV9sZW4pOwogICAgICAgICAgICAgY29udGlu dWU7CiAgICAgICAgIH0KIApAQCAtODc1LDE3ICs5MDgsMjQgQEAgaW50IHhjX2xpdmVwYXRjaF9s aXN0KHhjX2ludGVyZmFjZSAqeGNoLCBjb25zdCB1bnNpZ25lZCBpbnQgbWF4LAogICAgICAgICB9 CiAgICAgICAgICpsZWZ0ID0gc3lzY3RsLnUubGl2ZXBhdGNoLnUubGlzdC5ucjsgLyogVG90YWwg cmVtYWluaW5nIGNvdW50LiAqLwogICAgICAgICBfbmFtZV9zeiA9IHN5c2N0bC51LmxpdmVwYXRj aC51Lmxpc3QubmFtZV90b3RhbF9zaXplOyAvKiBUb3RhbCByZWNlaXZlZCBuYW1lIHNpemUuICov CisgICAgICAgIF9tZXRhZGF0YV9zeiA9IHN5c2N0bC51LmxpdmVwYXRjaC51Lmxpc3QubWV0YWRh dGFfdG90YWxfc2l6ZTsgLyogVG90YWwgcmVjZWl2ZWQgbWV0YWRhdGEgc2l6ZS4gKi8KICAgICAg ICAgLyogQ29weSBvbmx5IHVwICdyYycgb2YgZGF0YScgLSB3ZSBjb3VsZCBhZGQgJ21pbihyYyxu cikgaWYgZGVzaXJlZC4gKi8KICAgICAgICAgSFlQRVJDQUxMX0JPVU5DRV9TRVRfU0laRShpbmZv LCAocmMgKiBzaXplb2YoKmluZm8pKSk7CiAgICAgICAgIEhZUEVSQ0FMTF9CT1VOQ0VfU0VUX1NJ WkUobmFtZSwgX25hbWVfc3opOwogICAgICAgICBIWVBFUkNBTExfQk9VTkNFX1NFVF9TSVpFKGxl biwgKHJjICogc2l6ZW9mKCpsZW4pKSk7CisgICAgICAgIEhZUEVSQ0FMTF9CT1VOQ0VfU0VUX1NJ WkUobWV0YWRhdGEsIF9tZXRhZGF0YV9zeik7CisgICAgICAgIEhZUEVSQ0FMTF9CT1VOQ0VfU0VU X1NJWkUobWV0YWRhdGFfbGVuLCAocmMgKiBzaXplb2YoKm1ldGFkYXRhX2xlbikpKTsKICAgICAg ICAgLyogQm91bmNlIHRoZSBkYXRhIGFuZCBmcmVlIHRoZSBib3VuY2UgYnVmZmVyLiAqLwogICAg ICAgICB4Y19oeXBlcmNhbGxfYm91bmNlX3Bvc3QoeGNoLCBpbmZvKTsKICAgICAgICAgeGNfaHlw ZXJjYWxsX2JvdW5jZV9wb3N0KHhjaCwgbmFtZSk7CiAgICAgICAgIHhjX2h5cGVyY2FsbF9ib3Vu Y2VfcG9zdCh4Y2gsIGxlbik7CisgICAgICAgIHhjX2h5cGVyY2FsbF9ib3VuY2VfcG9zdCh4Y2gs IG1ldGFkYXRhKTsKKyAgICAgICAgeGNfaHlwZXJjYWxsX2JvdW5jZV9wb3N0KHhjaCwgbWV0YWRh dGFfbGVuKTsKIAogICAgICAgICBuYW1lX3N6IC09IF9uYW1lX3N6OwogICAgICAgICBuYW1lX29m ZiArPSBfbmFtZV9zejsKKyAgICAgICAgbWV0YWRhdGFfc3ogLT0gX21ldGFkYXRhX3N6OworICAg ICAgICBtZXRhZGF0YV9vZmYgKz0gX21ldGFkYXRhX3N6OwogCiAgICAgICAgIC8qIEFuZCB1cGRh dGUgaG93IG1hbnkgZWxlbWVudHMgb2YgaW5mbyB3ZSBoYXZlIGNvcGllZCBpbnRvLiAqLwogICAg ICAgICAqZG9uZSArPSByYzsKQEAgLTg5OCw2ICs5MzgsOCBAQCBpbnQgeGNfbGl2ZXBhdGNoX2xp c3QoeGNfaW50ZXJmYWNlICp4Y2gsIGNvbnN0IHVuc2lnbmVkIGludCBtYXgsCiAgICAgICAgIHhj X2h5cGVyY2FsbF9ib3VuY2VfcG9zdCh4Y2gsIGxlbik7CiAgICAgICAgIHhjX2h5cGVyY2FsbF9i b3VuY2VfcG9zdCh4Y2gsIG5hbWUpOwogICAgICAgICB4Y19oeXBlcmNhbGxfYm91bmNlX3Bvc3Qo eGNoLCBpbmZvKTsKKyAgICAgICAgeGNfaHlwZXJjYWxsX2JvdW5jZV9wb3N0KHhjaCwgbWV0YWRh dGEpOworICAgICAgICB4Y19oeXBlcmNhbGxfYm91bmNlX3Bvc3QoeGNoLCBtZXRhZGF0YV9sZW4p OwogICAgIH0KIAogICAgIHJldHVybiByYyA+IDAgPyAwIDogcmM7CmRpZmYgLS1naXQgYS90b29s cy9taXNjL3hlbi1saXZlcGF0Y2guYyBiL3Rvb2xzL21pc2MveGVuLWxpdmVwYXRjaC5jCmluZGV4 IDhhYzNkNTY3ZmMuLjYxZDQ5NTAwMDEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL21pc2MveGVuLWxpdmVw YXRjaC5jCisrKyBiL3Rvb2xzL21pc2MveGVuLWxpdmVwYXRjaC5jCkBAIC02OSw5ICs2OSwxMSBA QCBzdGF0aWMgaW50IGxpc3RfZnVuYyhpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIHVuc2ln bmVkIGludCBuciwgZG9uZSwgbGVmdCwgaTsKICAgICB4ZW5fbGl2ZXBhdGNoX3N0YXR1c190ICpp bmZvID0gTlVMTDsKICAgICBjaGFyICpuYW1lID0gTlVMTDsKKyAgICBjaGFyICptZXRhZGF0YSA9 IE5VTEw7CiAgICAgdWludDMyX3QgKmxlbiA9IE5VTEw7Ci0gICAgdWludDY0X3QgbmFtZV90b3Rh bF9zaXplOwotICAgIG9mZl90IG5hbWVfb2ZmOworICAgIHVpbnQzMl90ICptZXRhZGF0YV9sZW4g PSBOVUxMOworICAgIHVpbnQ2NF90IG5hbWVfdG90YWxfc2l6ZSwgbWV0YWRhdGFfdG90YWxfc2l6 ZTsKKyAgICBvZmZfdCBuYW1lX29mZiwgbWV0YWRhdGFfb2ZmOwogICAgIGludCByYyA9IEVOT01F TTsKIAogICAgIGlmICggYXJnYyApCkBAIC04MSw3ICs4Myw3IEBAIHN0YXRpYyBpbnQgbGlzdF9m dW5jKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgfQogICAgIGRvbmUgPSBsZWZ0ID0gMDsK IAotICAgIHJjID0geGNfbGl2ZXBhdGNoX2xpc3RfZ2V0X3NpemVzKHhjaCwgJm5yLCAmbmFtZV90 b3RhbF9zaXplKTsKKyAgICByYyA9IHhjX2xpdmVwYXRjaF9saXN0X2dldF9zaXplcyh4Y2gsICZu ciwgJm5hbWVfdG90YWxfc2l6ZSwgJm1ldGFkYXRhX3RvdGFsX3NpemUpOwogICAgIGlmICggcmMg KQogICAgIHsKICAgICAgICAgcmMgPSBlcnJubzsKQEAgLTEwOSwxMiArMTExLDIzIEBAIHN0YXRp YyBpbnQgbGlzdF9mdW5jKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgaWYgKCAhbGVuICkK ICAgICAgICAgZ290byBlcnJvcl9sZW47CiAKKyAgICBtZXRhZGF0YSA9IG1hbGxvYyhtZXRhZGF0 YV90b3RhbF9zaXplICogc2l6ZW9mKCptZXRhZGF0YSkpOworICAgIGlmICggIW1ldGFkYXRhICkK KyAgICAgICAgZ290byBlcnJvcl9tZXRhZGF0YTsKKworICAgIG1ldGFkYXRhX2xlbiA9IG1hbGxv YyhuciAqIHNpemVvZigqbWV0YWRhdGFfbGVuKSk7CisgICAgaWYgKCAhbWV0YWRhdGFfbGVuICkK KyAgICAgICAgZ290byBlcnJvcl9tZXRhZGF0YV9sZW47CisKICAgICBtZW1zZXQoaW5mbywgJ0En LCBuciAqIHNpemVvZigqaW5mbykpOwogICAgIG1lbXNldChuYW1lLCAnQicsIG5hbWVfdG90YWxf c2l6ZSAqIHNpemVvZigqbmFtZSkpOwogICAgIG1lbXNldChsZW4sICdDJywgbnIgKiBzaXplb2Yo KmxlbikpOwotICAgIG5hbWVfb2ZmID0gMDsKKyAgICBtZW1zZXQobWV0YWRhdGEsICdEJywgbWV0 YWRhdGFfdG90YWxfc2l6ZSAqIHNpemVvZigqbWV0YWRhdGEpKTsKKyAgICBtZW1zZXQobWV0YWRh dGFfbGVuLCAnRScsIG5yICogc2l6ZW9mKCptZXRhZGF0YV9sZW4pKTsKKyAgICBuYW1lX29mZiA9 IG1ldGFkYXRhX29mZiA9IDA7CiAKLSAgICByYyA9IHhjX2xpdmVwYXRjaF9saXN0KHhjaCwgbnIs IDAsIGluZm8sIG5hbWUsIGxlbiwgbmFtZV90b3RhbF9zaXplLCAmZG9uZSwgJmxlZnQpOworICAg IHJjID0geGNfbGl2ZXBhdGNoX2xpc3QoeGNoLCBuciwgMCwgaW5mbywgbmFtZSwgbGVuLCBuYW1l X3RvdGFsX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YSwgbWV0YWRh dGFfbGVuLCBtZXRhZGF0YV90b3RhbF9zaXplLCAmZG9uZSwgJmxlZnQpOwogICAgIGlmICggcmMg fHwgZG9uZSAhPSBuciB8fCBsZWZ0ID4gMCkKICAgICB7CiAgICAgICAgIHJjID0gZXJybm87CkBA IC0xMjQsMjMgKzEzNywzNSBAQCBzdGF0aWMgaW50IGxpc3RfZnVuYyhpbnQgYXJnYywgY2hhciAq YXJndltdKQogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KIAotICAgIGZwcmludGYoc3Rkb3V0 LCIgSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzdGF0dXNcbiIKLSAg ICAgICAgICAgICAgICAgICAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS1cbiIpOworICAgIGZwcmludGYoc3Rkb3V0LCIgSUQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBzdGF0dXMgICAgIHwgbWV0YWRhdGFcbiIKKyAgICAg ICAgICAgICAgICAgICAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tXG4iKTsKIAogICAgIGZvciAoIGkgPSAwOyBpIDwg ZG9uZTsgaSsrICkKICAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBqOwogICAgICAgICBjaGFy ICpuYW1lX3N0ciA9IG5hbWUgKyBuYW1lX29mZjsKKyAgICAgICAgY2hhciAqbWV0YWRhdGFfc3Ry ID0gbWV0YWRhdGEgKyBtZXRhZGF0YV9vZmY7CiAKICAgICAgICAgcHJpbnRmKCIlLTQwLipzfCAl cyIsIGxlbltpXSwgbmFtZV9zdHIsIHN0YXRlMnN0cihpbmZvW2ldLnN0YXRlKSk7CiAgICAgICAg IGlmICggaW5mb1tpXS5yYyApCi0gICAgICAgICAgICBwcmludGYoIiAoJWQsICVzKVxuIiwgLWlu Zm9baV0ucmMsIHN0cmVycm9yKC1pbmZvW2ldLnJjKSk7CisgICAgICAgICAgICBwcmludGYoIiAo JWQsICVzKSAgICB8ICIsIC1pbmZvW2ldLnJjLCBzdHJlcnJvcigtaW5mb1tpXS5yYykpOwogICAg ICAgICBlbHNlCi0gICAgICAgICAgICBwdXRzKCIiKTsKKyAgICAgICAgICAgIHByaW50ZigiICAg IHwgIik7CisKKyAgICAgICAgLyogUmVwbGFjZSBhbGwgJ1wwJyB3aXRoIHNlbWktY29sb25zLiAq LworICAgICAgICBmb3IgKCBqID0gMDsgaiA8IG1ldGFkYXRhX2xlbltpXSAtIDE7IGorKyApCisg ICAgICAgICAgICBtZXRhZGF0YV9zdHJbal0gPSAobWV0YWRhdGFfc3RyW2pdID86ICc7Jyk7Cisg ICAgICAgIHByaW50ZigiJS4qc1xuIiwgbWV0YWRhdGFfbGVuW2ldLCBtZXRhZGF0YV9zdHIpOwog CiAgICAgICAgIG5hbWVfb2ZmICs9IGxlbltpXTsKKyAgICAgICAgbWV0YWRhdGFfb2ZmICs9IG1l dGFkYXRhX2xlbltpXTsKICAgICB9CiAKIGVycm9yOgorICAgIGZyZWUobWV0YWRhdGFfbGVuKTsK K2Vycm9yX21ldGFkYXRhX2xlbjoKKyAgICBmcmVlKG1ldGFkYXRhKTsKK2Vycm9yX21ldGFkYXRh OgogICAgIGZyZWUobGVuKTsKIGVycm9yX2xlbjoKICAgICBmcmVlKG5hbWUpOwpkaWZmIC0tZ2l0 IGEveGVuL2NvbW1vbi9saXZlcGF0Y2guYyBiL3hlbi9jb21tb24vbGl2ZXBhdGNoLmMKaW5kZXgg ZjQ4NmNiMzAyMS4uNDlhNzZmMTAyOSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9saXZlcGF0Y2gu YworKysgYi94ZW4vY29tbW9uL2xpdmVwYXRjaC5jCkBAIC0xMTYzLDcgKzExNjMsOCBAQCBzdGF0 aWMgaW50IGxpdmVwYXRjaF9saXN0KHN0cnVjdCB4ZW5fc3lzY3RsX2xpdmVwYXRjaF9saXN0ICps aXN0KQogCiAgICAgaWYgKCBsaXN0LT5uciAmJgogICAgICAgICAgKCFndWVzdF9oYW5kbGVfb2th eShsaXN0LT5zdGF0dXMsIGxpc3QtPm5yKSB8fAotICAgICAgICAgICFndWVzdF9oYW5kbGVfb2th eShsaXN0LT5sZW4sIGxpc3QtPm5yKSkgKQorICAgICAgICAgICFndWVzdF9oYW5kbGVfb2theShs aXN0LT5sZW4sIGxpc3QtPm5yKSB8fAorICAgICAgICAgICFndWVzdF9oYW5kbGVfb2theShsaXN0 LT5tZXRhZGF0YV9sZW4sIGxpc3QtPm5yKSkgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAog ICAgIHNwaW5fbG9jaygmcGF5bG9hZF9sb2NrKTsKQEAgLTExNzQsMTMgKzExNzUsMTQgQEAgc3Rh dGljIGludCBsaXZlcGF0Y2hfbGlzdChzdHJ1Y3QgeGVuX3N5c2N0bF9saXZlcGF0Y2hfbGlzdCAq bGlzdCkKICAgICB9CiAKICAgICBsaXN0LT5uYW1lX3RvdGFsX3NpemUgPSAwOworICAgIGxpc3Qt Pm1ldGFkYXRhX3RvdGFsX3NpemUgPSAwOwogICAgIGlmICggbGlzdC0+bnIgKQogICAgIHsKLSAg ICAgICAgdWludDY0X3QgbmFtZV9vZmZzZXQgPSAwOworICAgICAgICB1aW50NjRfdCBuYW1lX29m ZnNldCA9IDAsIG1ldGFkYXRhX29mZnNldCA9IDA7CiAKICAgICAgICAgbGlzdF9mb3JfZWFjaF9l bnRyeSggZGF0YSwgJnBheWxvYWRfbGlzdCwgbGlzdCApCiAgICAgICAgIHsKLSAgICAgICAgICAg IHVpbnQzMl90IG5hbWVfbGVuOworICAgICAgICAgICAgdWludDMyX3QgbmFtZV9sZW4sIG1ldGFk YXRhX2xlbjsKIAogICAgICAgICAgICAgaWYgKCBsaXN0LT5pZHggPiBpKysgKQogICAgICAgICAg ICAgICAgIGNvbnRpbnVlOwpAQCAtMTE5MSw4ICsxMTkzLDEzIEBAIHN0YXRpYyBpbnQgbGl2ZXBh dGNoX2xpc3Qoc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX2xpc3QgKmxpc3QpCiAgICAgICAg ICAgICBuYW1lX2xlbiA9IHN0cmxlbihkYXRhLT5uYW1lKSArIDE7CiAgICAgICAgICAgICBsaXN0 LT5uYW1lX3RvdGFsX3NpemUgKz0gbmFtZV9sZW47CiAKKyAgICAgICAgICAgIG1ldGFkYXRhX2xl biA9IGRhdGEtPm1ldGFkYXRhLmxlbjsKKyAgICAgICAgICAgIGxpc3QtPm1ldGFkYXRhX3RvdGFs X3NpemUgKz0gbWV0YWRhdGFfbGVuOworCiAgICAgICAgICAgICBpZiAoICFndWVzdF9oYW5kbGVf c3VicmFuZ2Vfb2theShsaXN0LT5uYW1lLCBuYW1lX29mZnNldCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVfb2Zmc2V0ICsgbmFtZV9sZW4gLSAxKSAp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX29mZnNl dCArIG5hbWVfbGVuIC0gMSkgfHwKKyAgICAgICAgICAgICAgICAgIWd1ZXN0X2hhbmRsZV9zdWJy YW5nZV9va2F5KGxpc3QtPm1ldGFkYXRhLCBtZXRhZGF0YV9vZmZzZXQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YV9vZmZzZXQgKyBtZXRhZGF0 YV9sZW4gLSAxKSApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcmMgPSAtRUlOVkFM OwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTIwMiw3ICsxMjA5LDEwIEBAIHN0YXRpYyBp bnQgbGl2ZXBhdGNoX2xpc3Qoc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX2xpc3QgKmxpc3Qp CiAgICAgICAgICAgICBpZiAoIF9fY29weV90b19ndWVzdF9vZmZzZXQobGlzdC0+bmFtZSwgbmFt ZV9vZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+ bmFtZSwgbmFtZV9sZW4pIHx8CiAgICAgICAgICAgICAgICAgX19jb3B5X3RvX2d1ZXN0X29mZnNl dChsaXN0LT5sZW4sIGlkeCwgJm5hbWVfbGVuLCAxKSB8fAotICAgICAgICAgICAgICAgIF9fY29w eV90b19ndWVzdF9vZmZzZXQobGlzdC0+c3RhdHVzLCBpZHgsICZzdGF0dXMsIDEpICkKKyAgICAg ICAgICAgICAgICBfX2NvcHlfdG9fZ3Vlc3Rfb2Zmc2V0KGxpc3QtPnN0YXR1cywgaWR4LCAmc3Rh dHVzLCAxKSB8fAorICAgICAgICAgICAgICAgIF9fY29weV90b19ndWVzdF9vZmZzZXQobGlzdC0+ bWV0YWRhdGEsIG1ldGFkYXRhX29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRhdGEtPm1ldGFkYXRhLmRhdGEsIG1ldGFkYXRhX2xlbikgfHwKKyAgICAgICAg ICAgICAgICBfX2NvcHlfdG9fZ3Vlc3Rfb2Zmc2V0KGxpc3QtPm1ldGFkYXRhX2xlbiwgaWR4LCAm bWV0YWRhdGFfbGVuLCAxKSApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcmMgPSAt RUZBVUxUOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTIxMCw2ICsxMjIwLDcgQEAgc3Rh dGljIGludCBsaXZlcGF0Y2hfbGlzdChzdHJ1Y3QgeGVuX3N5c2N0bF9saXZlcGF0Y2hfbGlzdCAq bGlzdCkKIAogICAgICAgICAgICAgaWR4Kys7CiAgICAgICAgICAgICBuYW1lX29mZnNldCArPSBu YW1lX2xlbjsKKyAgICAgICAgICAgIG1ldGFkYXRhX29mZnNldCArPSBtZXRhZGF0YV9sZW47CiAK ICAgICAgICAgICAgIGlmICggKGlkeCA+PSBsaXN0LT5ucikgfHwgaHlwZXJjYWxsX3ByZWVtcHRf Y2hlY2soKSApCiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xMjIwLDYgKzEyMzEsNyBAQCBz dGF0aWMgaW50IGxpdmVwYXRjaF9saXN0KHN0cnVjdCB4ZW5fc3lzY3RsX2xpdmVwYXRjaF9saXN0 ICpsaXN0KQogICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KCBkYXRhLCAmcGF5bG9hZF9saXN0 LCBsaXN0ICkKICAgICAgICAgewogICAgICAgICAgICAgbGlzdC0+bmFtZV90b3RhbF9zaXplICs9 IHN0cmxlbihkYXRhLT5uYW1lKSArIDE7CisgICAgICAgICAgICBsaXN0LT5tZXRhZGF0YV90b3Rh bF9zaXplICs9IGRhdGEtPm1ldGFkYXRhLmxlbjsKICAgICAgICAgfQogICAgIH0KICAgICBsaXN0 LT5uciA9IHBheWxvYWRfY250IC0gaTsgLyogUmVtYWluaW5nIGFtb3VudC4gKi8KZGlmZiAtLWdp dCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNj dGwuaAppbmRleCAxOWFhMDFmYmM3Li4zY2Y4MjE2ZDZlIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS9wdWJsaWMvc3lzY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oCkBAIC05 MjEsMTYgKzkyMSwxNyBAQCBzdHJ1Y3QgeGVuX3N5c2N0bF9saXZlcGF0Y2hfZ2V0IHsKIH07CiAK IC8qCi0gKiBSZXRyaWV2ZSBhbiBhcnJheSBvZiBhYmJyZXZpYXRlZCBzdGF0dXMgYW5kIG5hbWVz IG9mIHBheWxvYWRzIHRoYXQgYXJlCi0gKiBsb2FkZWQgaW4gdGhlIGh5cGVydmlzb3IuCisgKiBS ZXRyaWV2ZSBhbiBhcnJheSBvZiBhYmJyZXZpYXRlZCBzdGF0dXMsIG5hbWVzIGFuZCBtZXRhZGF0 YSBvZiBwYXlsb2FkcyB0aGF0CisgKiBhcmUgbG9hZGVkIGluIHRoZSBoeXBlcnZpc29yLgogICoK ICAqIElmIHRoZSBoeXBlcmNhbGwgcmV0dXJucyBhbiBwb3NpdGl2ZSBudW1iZXIsIGl0IGlzIHRo ZSBudW1iZXIgKHVwIHRvIGBucmApCiAgKiBvZiB0aGUgcGF5bG9hZHMgcmV0dXJuZWQsIGFsb25n IHdpdGggYG5yYCB1cGRhdGVkIHdpdGggdGhlIG51bWJlciBvZiByZW1haW5pbmcKICAqIHBheWxv YWRzLCBgdmVyc2lvbmAgdXBkYXRlZCAoaXQgbWF5IGJlIHRoZSBzYW1lIGFjcm9zcyBoeXBlcmNh bGxzLiBJZiBpdCB2YXJpZXMKLSAqIHRoZSBkYXRhIGlzIHN0YWxlIGFuZCBmdXJ0aGVyIGNhbGxz IGNvdWxkIGZhaWwpIGFuZCB0aGUgbmFtZV90b3RhbF9zaXplCi0gKiBjb250YWluaW5nIHRvdGFs IHNpemUgb2YgdHJhbnNmZXJlZCBkYXRhIGZvciB0aGUgYXJyYXkuCi0gKiBUaGUgYHN0YXR1c2As IGBuYW1lYCwgYGxlbmAgYXJlIHVwZGF0ZWQgYXQgdGhlaXIgZGVzaWduZWQgaW5kZXggdmFsdWUg KGBpZHhgKQotICogd2l0aCB0aGUgcmV0dXJuZWQgdmFsdWUgb2YgZGF0YS4KKyAqIHRoZSBkYXRh IGlzIHN0YWxlIGFuZCBmdXJ0aGVyIGNhbGxzIGNvdWxkIGZhaWwpLCBgbmFtZV90b3RhbF9zaXpl YCBhbmQKKyAqIGBtZXRhZGF0YV90b3RhbF9zaXplYCBjb250YWluaW5nIHRvdGFsIHNpemVzIG9m IHRyYW5zZmVyZWQgZGF0YSBmb3IgYm90aCB0aGUKKyAqIGFycmF5cy4KKyAqIFRoZSBgc3RhdHVz YCwgYG5hbWVgLCBgbGVuYCwgYG1ldGFkYXRhYCBhbmQgYG1ldGFkYXRhX2xlbmAgYXJlIHVwZGF0 ZWQgYXQgdGhlaXIKKyAqIGRlc2lnbmVkIGluZGV4IHZhbHVlIChgaWR4YCkgd2l0aCB0aGUgcmV0 dXJuZWQgdmFsdWUgb2YgZGF0YS4KICAqCiAgKiBJZiB0aGUgaHlwZXJjYWxsIHJldHVybnMgRTJC SUcgdGhlIGBucmAgaXMgdG9vIGJpZyBhbmQgc2hvdWxkIGJlCiAgKiBsb3dlcmVkLiBUaGUgdXBw ZXIgbGltaXQgb2YgYG5yYCBpcyBsZWZ0IHRvIHRoZSBpbXBsZW1lbnRpb24uCkBAIC05NTQsNiAr OTU1LDcgQEAgc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX2xpc3QgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVVQ6IEhvdyBtYW55IHBheWxvYWRz IGxlZnQuICovCiAgICAgdWludDMyX3QgcGFkOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IElOOiBNdXN0IGJlIHplcm8uICovCiAgICAgdWludDY0X3QgbmFtZV90b3RhbF9zaXplOyAgICAg ICAgICAgICAgIC8qIE9VVDogVG90YWwgc2l6ZSBvZiBhbGwgdHJhbnNmZXIgbmFtZXMgKi8KKyAg ICB1aW50NjRfdCBtZXRhZGF0YV90b3RhbF9zaXplOyAgICAgICAgICAgLyogT1VUOiBUb3RhbCBz aXplIG9mIGFsbCB0cmFuc2ZlciBtZXRhZGF0YSAqLwogICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQo eGVuX2xpdmVwYXRjaF9zdGF0dXNfdCkgc3RhdHVzOyAgLyogT1VULiBNdXN0IGhhdmUgZW5vdWdo CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlIGFs bG9jYXRlIGZvciBuciBvZiB0aGVtLiAqLwogICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoY2hhcikg bmFtZTsgICAgICAgICAvKiBPVVQ6IEFycmF5IG9mIG5hbWVzLiBFYWNoIG1lbWJlcgpAQCAtOTYy LDYgKzk2NCwxMSBAQCBzdHJ1Y3QgeGVuX3N5c2N0bF9saXZlcGF0Y2hfbGlzdCB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5yIG9mIHRoZW0uICovCiAg ICAgWEVOX0dVRVNUX0hBTkRMRV82NCh1aW50MzIpIGxlbjsgICAgICAgIC8qIE9VVDogQXJyYXkg b2YgbGVuZ3RocyBvZiBuYW1lJ3MuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE11c3QgaGF2ZSBuciBvZiB0aGVtLiAqLworICAgIFhFTl9HVUVTVF9IQU5E TEVfNjQoY2hhcikgbWV0YWRhdGE7ICAgICAvKiBPVVQ6IEFycmF5IG9mIG1ldGFkYXRhIHN0cmlu Z3MuIEVhY2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWVtYmVyIG1heSBoYXZlIGFuIGFyYml0cmFyeSBsZW5ndGguCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11c3QgaGF2ZSBuciBvZiB0aGVtLiAqLworICAg IFhFTl9HVUVTVF9IQU5ETEVfNjQodWludDMyKSBtZXRhZGF0YV9sZW47ICAvKiBPVVQ6IEFycmF5 IG9mIGxlbmd0aHMgb2YgbWV0YWRhdGEncy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTXVzdCBoYXZlIG5yIG9mIHRoZW0uICovCiB9OwogCiAvKgot LSAKMi4xNi41CgoKCgpBbWF6b24gRGV2ZWxvcG1lbnQgQ2VudGVyIEdlcm1hbnkgR21iSApLcmF1 c2Vuc3RyLiAzOAoxMDExNyBCZXJsaW4KR2VzY2hhZWZ0c2Z1ZWhydW5nOiBDaHJpc3RpYW4gU2No bGFlZ2VyLCBSYWxmIEhlcmJyaWNoCkVpbmdldHJhZ2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0 ZW5idXJnIHVudGVyIEhSQiAxNDkxNzMgQgpTaXR6OiBCZXJsaW4KVXN0LUlEOiBERSAyODkgMjM3 IDg3OQoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==