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=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,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 8E537C432C0 for ; Fri, 29 Nov 2019 17:59:30 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 019102158A for ; Fri, 29 Nov 2019 17:59:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=nutanix.com header.i=@nutanix.com header.b="i8T/M2Xb" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 019102158A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nutanix.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:33300 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iakYC-000095-T0 for qemu-devel@archiver.kernel.org; Fri, 29 Nov 2019 12:59:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:33423) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iakMC-00022o-4F for qemu-devel@nongnu.org; Fri, 29 Nov 2019 12:47:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iakM6-0000Hu-Ra for qemu-devel@nongnu.org; Fri, 29 Nov 2019 12:47:01 -0500 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]:31728) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iakM3-0008QJ-76 for qemu-devel@nongnu.org; Fri, 29 Nov 2019 12:46:58 -0500 Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xATHfgPp014251; Fri, 29 Nov 2019 09:46:52 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=proofpoint20171006; bh=/VWQLM4sX5qeykkiOYYdqhWfRwZl5KHgSxVCs4islm0=; b=i8T/M2Xb/eYg5RWRsZhIiSuOlx8T6dpByWO8MjV+6E+x3BcKs0jsOpayvluSRX2cnr9S 03S/ugc2zQPeP6M8Df5You0yJUEEKbcE7StCYMA7yQavNnv0Su9ybZNhOsaO8Hz2B/Jb La9S3K+ZFmInA67NEwx2OlcR0CsSQjZg+2YO+kud1US7BPxex3IubHHp93Zz9MCnbTjz SrmQNPB8vkKpEk4DimRzgKnWfjvdAxtnAS80Z23MnJouaGvRDgPtLCVg9QtisWBNx6ZA e1L7Jj8F1G2+FgLM8hB2pV7tQIwQsNJ/RMX4sCIx9LqZwuaBUyE4mlXCnoPLRZ6i+RQj Aw== Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp2056.outbound.protection.outlook.com [104.47.36.56]) by mx0a-002c1b01.pphosted.com with ESMTP id 2whjspd8t3-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 29 Nov 2019 09:46:52 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oC984c/bgPdWqkKujTlPM4U3IPFcNLLh0wKzKX7GCNmN98UXWcM4v6jXrIsT5PUefgsE3GHIvdHCr8H4kYcQeOUu4Ph0z03kajZzcX+8ns/mfjYJvN9MtWQNm9/3Gpy4S0a+PBcStDI3RdzmM+z6vGbt/lvIUSN0x5XEjsVIM6BXga9ctCZR+WRNoqoGxqMq+vnJRdyORVddWUS2xxDKCpLBVa9KtrqSgYOMHaJIMjhjlX4ose/uFjEkcpFaORXa6Kz0KByYLFh5k8tL9bm845jWedTRrlggW9uMlEEyh9POgLC8lUTB4pQ6y3n/yN4WwpmVSSKh+JgJPlXsphfAgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/VWQLM4sX5qeykkiOYYdqhWfRwZl5KHgSxVCs4islm0=; b=Su8HCFzYNmXooxmUa6sFMz65l1ZSy6NiFL5hi/gO69lL4rBk7szE+sGQ2fE33WCHIRbhJXBtbCH4X57qbZ5v4e5G6hy0IQG3wAWrQDZbmpt4LApjSHRTr+I5kWoShvzP5ctNo+0fsbiiYZHFFOfClCE0q/rLU9/IOHhJazXxo7Fwzz/imLE0dIuCfPUeEpvZ22mlSsatyY6hTYzk8zxMLEDUqdofKLafW/fTEdBBFRbwO4iQml0jyO2B4CyGFuzFii6GDnk89IWqHaDGP9Kpb8RB94HPTmzrUuNI2JuQjbk+5oYesrwu1TYUlzr0V8XAvGsWxqGQkZqxevIiLE9eiA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none Received: from MWHPR02MB2656.namprd02.prod.outlook.com (10.168.206.142) by MWHPR02MB2239.namprd02.prod.outlook.com (10.168.244.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2474.17; Fri, 29 Nov 2019 17:46:50 +0000 Received: from MWHPR02MB2656.namprd02.prod.outlook.com ([fe80::f801:763d:e7fc:6bf]) by MWHPR02MB2656.namprd02.prod.outlook.com ([fe80::f801:763d:e7fc:6bf%7]) with mapi id 15.20.2474.023; Fri, 29 Nov 2019 17:46:50 +0000 From: Felipe Franciosi To: Marc-Andre Lureau , Philippe Mathieu-Daude , Stefan Hajnoczi , Eduardo Habkost , Markus Armbruster , Alexey Kardashevskiy Subject: [PATCH v3 1/4] qom/object: enable setter for uint types Thread-Topic: [PATCH v3 1/4] qom/object: enable setter for uint types Thread-Index: AQHVptz6uBqYLWzQrUa3UuVE8gI3Tw== Date: Fri, 29 Nov 2019 17:46:49 +0000 Message-ID: <20191129174630.6922-2-felipe@nutanix.com> References: <20191129174630.6922-1-felipe@nutanix.com> In-Reply-To: <20191129174630.6922-1-felipe@nutanix.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: LO2P265CA0394.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:f::22) To MWHPR02MB2656.namprd02.prod.outlook.com (2603:10b6:300:45::14) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.20.1 x-originating-ip: [62.254.189.133] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 56f30345-a61a-4556-1aa6-08d774f41c87 x-ms-traffictypediagnostic: MWHPR02MB2239: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-proofpoint-crosstenant: true x-ms-oob-tlc-oobclassifiers: OLM:287; x-forefront-prvs: 0236114672 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(39860400002)(136003)(376002)(346002)(366004)(199004)(189003)(386003)(66946007)(66476007)(305945005)(64756008)(6506007)(76176011)(66556008)(30864003)(6486002)(5660300002)(6512007)(25786009)(7736002)(66446008)(1076003)(36756003)(52116002)(66066001)(256004)(6436002)(71190400001)(186003)(26005)(86362001)(8936002)(110136005)(446003)(4326008)(54906003)(14454004)(102836004)(71200400001)(99286004)(81166006)(50226002)(6116002)(316002)(2906002)(478600001)(2616005)(81156014)(11346002)(3846002)(8676002)(64030200001)(579004); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR02MB2239; H:MWHPR02MB2656.namprd02.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: nutanix.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TihHiymtK/oAT6ORfe/WT5JaLR4lTEOkv+qaIqDgJ4aUo/hp2j/LN4Jbjjk/JFoVAtkTHiu5w542WSgmZj2UWFMX8BIiguDyw8h89x+vKFMZ65ys7uBecfmL32wam4b3chWs4S2SG4vqv4XPJxcDOw8Xum/QHIbbrzS1cnmhx5WV2AjhjV+uPt3yu/ZEARzURB5x1nJaqe2V0OEedu+lmw0q7sQCXYgPo9a7fay3TVdhH5pQFuIzPWqcnW0G5+ZtEqgs7Z+WZSIl/kHN5yV6ssbztOaHncWSa/kjVZNhEEv3dlEzq+Ddw0CairnfaGsgQDBI9U8lPTk4E0fVvVUwKe54zyNm/sWpS6kyB6kj3Y6fV9Ugi2KKzakO/dTxWJdm2GK38yIAD68pn2/4N/B0SMhZY6WL2Xz1M2vVgAxPcXn9Wj5DXWe9/mSi8Gd95lQu Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 56f30345-a61a-4556-1aa6-08d774f41c87 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2019 17:46:49.8861 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VEPbD3XoSQWKMH51ELUWAdSvaRKfDFniMyAx2asXNOhQMErQcS/mDzx4BhksykW9gJVMIOy+sltlb4VUR9bHa/Fd5g8qEy+VUSDsISLz6jE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR02MB2239 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-11-29_05:2019-11-29,2019-11-29 signatures=0 X-Proofpoint-Spam-Reason: safe X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy] X-Received-From: 148.163.151.68 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "qemu-devel@nongnu.org" , Felipe Franciosi Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" VHJhZGl0aW9uYWxseSwgdGhlIHVpbnQtc3BlY2lmaWMgcHJvcGVydHkgaGVscGVycyBvbmx5IG9m ZmVyIGdldHRlcnMuDQpXaGVuIGFkZGluZyBvYmplY3QgKG9yIGNsYXNzKSB1aW50IHR5cGVzLCBv bmUgbXVzdCB0aGVyZWZvcmUgdXNlIHRoZQ0KZ2VuZXJpYyBwcm9wZXJ0eSBoZWxwZXIgaWYgYSBz ZXR0ZXIgaXMgbmVlZGVkIChhbmQgcHJvYmFibHkgZHVwbGljYXRlDQpzb21lIGNvZGUgd3JpdGlu ZyB0aGVpciBvd24gZ2V0dGVycy9zZXR0ZXJzKS4NCg0KVGhpcyBlbmhhbmNlcyB0aGUgdWludC1z cGVjaWZpYyBwcm9wZXJ0eSBoZWxwZXIgQVBJcyBieSBhZGRpbmcgYQ0KYml0d2lzZS1vcidkICdm bGFncycgZmllbGQgYW5kIG1vZGlmeWluZyBhbGwgY2xpZW50cyBvZiB0aGF0IEFQSSB0byBzZXQN CnRoaXMgcGFyYW1hdGVyIHRvIE9CSl9QUk9QX0ZMQUdfUkVBRC4gVGhpcyBtYWludGFpbnMgdGhl IGN1cnJlbnQNCmJlaGF2aW91ciB3aGlsc3QgYWxsb3dpbmcgb3RoZXJzIHRvIGFsc28gc2V0IE9C Sl9QUk9QX0ZMQUdfV1JJVEUgKG9yIHVzZQ0KdGhlIG1vcmUgY29udmVuaWVudCBPQkpfUFJPUF9G TEFHX1JFQURXUklURSkgaW4gdGhlIGZ1dHVyZSAod2hpY2ggd2lsbA0KYXV0b21hdGljYWxseSBp bnN0YWxsIGEgc2V0dGVyKS4gT3RoZXIgZmxhZ3MgbWF5IGJlIGFkZGVkIGxhdGVyLg0KDQpTaWdu ZWQtb2ZmLWJ5OiBGZWxpcGUgRnJhbmNpb3NpIDxmZWxpcGVAbnV0YW5peC5jb20+DQotLS0NCiBo dy9hY3BpL2ljaDkuYyAgICAgICB8ICAgNCArLQ0KIGh3L2FjcGkvcGNpaHAuYyAgICAgIHwgICA3 ICstDQogaHcvYWNwaS9waWl4NC5jICAgICAgfCAgMTIgKy0tDQogaHcvaXNhL2xwY19pY2g5LmMg ICAgfCAgIDQgKy0NCiBody9wcGMvc3BhcHJfZHJjLmMgICB8ICAgMyArLQ0KIGluY2x1ZGUvcW9t L29iamVjdC5oIHwgIDQ0ICsrKysrKystLQ0KIHFvbS9vYmplY3QuYyAgICAgICAgIHwgMjE2ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0NCiB1aS9jb25zb2xlLmMg ICAgICAgICB8ICAgNCArLQ0KIDggZmlsZXMgY2hhbmdlZCwgMjQ2IGluc2VydGlvbnMoKyksIDQ4 IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvaHcvYWNwaS9pY2g5LmMgYi9ody9hY3BpL2lj aDkuYw0KaW5kZXggMjAzNGRkNzQ5ZS4uNzQyZmI3ODIyNiAxMDA2NDQNCi0tLSBhL2h3L2FjcGkv aWNoOS5jDQorKysgYi9ody9hY3BpL2ljaDkuYw0KQEAgLTQ1NCwxMiArNDU0LDEyIEBAIHZvaWQg aWNoOV9wbV9hZGRfcHJvcGVydGllcyhPYmplY3QgKm9iaiwgSUNIOUxQQ1BNUmVncyAqcG0sIEVy cm9yICoqZXJycCkNCiAgICAgcG0tPnM0X3ZhbCA9IDI7DQogDQogICAgIG9iamVjdF9wcm9wZXJ0 eV9hZGRfdWludDMyX3B0cihvYmosIEFDUElfUE1fUFJPUF9QTV9JT19CQVNFLA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBtLT5wbV9pb19iYXNlLCBlcnJwKTsNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwbS0+cG1faW9fYmFzZSwgT0JKX1BST1Bf RkxBR19SRUFELCBlcnJwKTsNCiAgICAgb2JqZWN0X3Byb3BlcnR5X2FkZChvYmosIEFDUElfUE1f UFJPUF9HUEUwX0JMSywgInVpbnQzMiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgaWNoOV9w bV9nZXRfZ3BlMF9ibGssDQogICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgcG0s IE5VTEwpOw0KICAgICBvYmplY3RfcHJvcGVydHlfYWRkX3VpbnQzMl9wdHIob2JqLCBBQ1BJX1BN X1BST1BfR1BFMF9CTEtfTEVOLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JmdwZTBfbGVuLCBlcnJwKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZn cGUwX2xlbiwgT0JKX1BST1BfRkxBR19SRUFELCBlcnJwKTsNCiAgICAgb2JqZWN0X3Byb3BlcnR5 X2FkZF9ib29sKG9iaiwgIm1lbW9yeS1ob3RwbHVnLXN1cHBvcnQiLA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaWNoOV9wbV9nZXRfbWVtb3J5X2hvdHBsdWdfc3VwcG9ydCwNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGljaDlfcG1fc2V0X21lbW9yeV9ob3RwbHVnX3N1cHBv cnQsDQpkaWZmIC0tZ2l0IGEvaHcvYWNwaS9wY2locC5jIGIvaHcvYWNwaS9wY2locC5jDQppbmRl eCA4NDEzMzQ4YTMzLi40ZGNlZjM3MmJmIDEwMDY0NA0KLS0tIGEvaHcvYWNwaS9wY2locC5jDQor KysgYi9ody9hY3BpL3BjaWhwLmMNCkBAIC04MCw3ICs4MCw4IEBAIHN0YXRpYyB2b2lkICphY3Bp X3NldF9ic2VsKFBDSUJ1cyAqYnVzLCB2b2lkICpvcGFxdWUpDQogDQogICAgICAgICAqYnVzX2Jz ZWwgPSAoKmJzZWxfYWxsb2MpKys7DQogICAgICAgICBvYmplY3RfcHJvcGVydHlfYWRkX3VpbnQz Ml9wdHIoT0JKRUNUKGJ1cyksIEFDUElfUENJSFBfUFJPUF9CU0VMLA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1c19ic2VsLCAmZXJyb3JfYWJvcnQpOw0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1c19ic2VsLCBPQkpfUFJPUF9GTEFH X1JFQUQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yX2Fi b3J0KTsNCiAgICAgfQ0KIA0KICAgICByZXR1cm4gYnNlbF9hbGxvYzsNCkBAIC0zNzMsOSArMzc0 LDkgQEAgdm9pZCBhY3BpX3BjaWhwX2luaXQoT2JqZWN0ICpvd25lciwgQWNwaVBjaUhwU3RhdGUg KnMsIFBDSUJ1cyAqcm9vdF9idXMsDQogICAgIG1lbW9yeV9yZWdpb25fYWRkX3N1YnJlZ2lvbihh ZGRyZXNzX3NwYWNlX2lvLCBzLT5pb19iYXNlLCAmcy0+aW8pOw0KIA0KICAgICBvYmplY3RfcHJv cGVydHlfYWRkX3VpbnQxNl9wdHIob3duZXIsIEFDUElfUENJSFBfSU9fQkFTRV9QUk9QLCAmcy0+ aW9fYmFzZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvcl9hYm9y dCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPQkpfUFJPUF9GTEFHX1JF QUQsICZlcnJvcl9hYm9ydCk7DQogICAgIG9iamVjdF9wcm9wZXJ0eV9hZGRfdWludDE2X3B0cihv d25lciwgQUNQSV9QQ0lIUF9JT19MRU5fUFJPUCwgJnMtPmlvX2xlbiwNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZlcnJvcl9hYm9ydCk7DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPQkpfUFJPUF9GTEFHX1JFQUQsICZlcnJvcl9hYm9ydCk7DQogfQ0K IA0KIGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiB2bXN0YXRlX2FjcGlfcGNpaHBfcGNpX3N0YXR1 cyA9IHsNCmRpZmYgLS1naXQgYS9ody9hY3BpL3BpaXg0LmMgYi9ody9hY3BpL3BpaXg0LmMNCmlu ZGV4IDkzYWVjMmRkMmMuLmZlMDVhM2NlNDYgMTAwNjQ0DQotLS0gYS9ody9hY3BpL3BpaXg0LmMN CisrKyBiL2h3L2FjcGkvcGlpeDQuYw0KQEAgLTQ0MywxNyArNDQzLDE3IEBAIHN0YXRpYyB2b2lk IHBpaXg0X3BtX2FkZF9wcm9wZXRpZXMoUElJWDRQTVN0YXRlICpzKQ0KICAgICBzdGF0aWMgY29u c3QgdWludDE2X3Qgc2NpX2ludCA9IDk7DQogDQogICAgIG9iamVjdF9wcm9wZXJ0eV9hZGRfdWlu dDhfcHRyKE9CSkVDVChzKSwgQUNQSV9QTV9QUk9QX0FDUElfRU5BQkxFX0NNRCwNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFjcGlfZW5hYmxlX2NtZCwgTlVMTCk7DQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhY3BpX2VuYWJsZV9jbWQsIE9CSl9QUk9Q X0ZMQUdfUkVBRCwgTlVMTCk7DQogICAgIG9iamVjdF9wcm9wZXJ0eV9hZGRfdWludDhfcHRyKE9C SkVDVChzKSwgQUNQSV9QTV9QUk9QX0FDUElfRElTQUJMRV9DTUQsDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZhY3BpX2Rpc2FibGVfY21kLCBOVUxMKTsNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmFjcGlfZGlzYWJsZV9jbWQsIE9CSl9QUk9QX0ZMQUdf UkVBRCwgTlVMTCk7DQogICAgIG9iamVjdF9wcm9wZXJ0eV9hZGRfdWludDMyX3B0cihPQkpFQ1Qo cyksIEFDUElfUE1fUFJPUF9HUEUwX0JMSywNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmdwZTBfYmxrLCBOVUxMKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmdwZTBfYmxrLCBPQkpfUFJPUF9GTEFHX1JFQUQsIE5VTEwpOw0KICAgICBvYmplY3RfcHJv cGVydHlfYWRkX3VpbnQzMl9wdHIoT0JKRUNUKHMpLCBBQ1BJX1BNX1BST1BfR1BFMF9CTEtfTEVO LA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ3BlMF9ibGtfbGVuLCBOVUxM KTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdwZTBfYmxrX2xlbiwgT0JK X1BST1BfRkxBR19SRUFELCBOVUxMKTsNCiAgICAgb2JqZWN0X3Byb3BlcnR5X2FkZF91aW50MTZf cHRyKE9CSkVDVChzKSwgQUNQSV9QTV9QUk9QX1NDSV9JTlQsDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZzY2lfaW50LCBOVUxMKTsNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnNjaV9pbnQsIE9CSl9QUk9QX0ZMQUdfUkVBRCwgTlVMTCk7DQogICAgIG9i amVjdF9wcm9wZXJ0eV9hZGRfdWludDMyX3B0cihPQkpFQ1QocyksIEFDUElfUE1fUFJPUF9QTV9J T19CQVNFLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcy0+aW9fYmFzZSwg TlVMTCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzLT5pb19iYXNlLCBP QkpfUFJPUF9GTEFHX1JFQUQsIE5VTEwpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCBwaWl4NF9wbV9y ZWFsaXplKFBDSURldmljZSAqZGV2LCBFcnJvciAqKmVycnApDQpkaWZmIC0tZ2l0IGEvaHcvaXNh L2xwY19pY2g5LmMgYi9ody9pc2EvbHBjX2ljaDkuYw0KaW5kZXggMTdjMjkyZTMwNi4uOTk1MTdj Mzk0NiAxMDA2NDQNCi0tLSBhL2h3L2lzYS9scGNfaWNoOS5jDQorKysgYi9ody9pc2EvbHBjX2lj aDkuYw0KQEAgLTY0NSw5ICs2NDUsOSBAQCBzdGF0aWMgdm9pZCBpY2g5X2xwY19hZGRfcHJvcGVy dGllcyhJQ0g5TFBDU3RhdGUgKmxwYykNCiAgICAgICAgICAgICAgICAgICAgICAgICBpY2g5X2xw Y19nZXRfc2NpX2ludCwNCiAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMLCBOVUxM LCBOVUxMKTsNCiAgICAgb2JqZWN0X3Byb3BlcnR5X2FkZF91aW50OF9wdHIoT0JKRUNUKGxwYyks IEFDUElfUE1fUFJPUF9BQ1BJX0VOQUJMRV9DTUQsDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZhY3BpX2VuYWJsZV9jbWQsIE5VTEwpOw0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmYWNwaV9lbmFibGVfY21kLCBPQkpfUFJPUF9GTEFHX1JFQUQsIE5VTEwp Ow0KICAgICBvYmplY3RfcHJvcGVydHlfYWRkX3VpbnQ4X3B0cihPQkpFQ1QobHBjKSwgQUNQSV9Q TV9QUk9QX0FDUElfRElTQUJMRV9DTUQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZhY3BpX2Rpc2FibGVfY21kLCBOVUxMKTsNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmFjcGlfZGlzYWJsZV9jbWQsIE9CSl9QUk9QX0ZMQUdfUkVBRCwgTlVMTCk7DQog DQogICAgIGljaDlfcG1fYWRkX3Byb3BlcnRpZXMoT0JKRUNUKGxwYyksICZscGMtPnBtLCBOVUxM KTsNCiB9DQpkaWZmIC0tZ2l0IGEvaHcvcHBjL3NwYXByX2RyYy5jIGIvaHcvcHBjL3NwYXByX2Ry Yy5jDQppbmRleCA2MmYxYTQyNTkyLi5iYmQ0YmYzNWM3IDEwMDY0NA0KLS0tIGEvaHcvcHBjL3Nw YXByX2RyYy5jDQorKysgYi9ody9wcGMvc3BhcHJfZHJjLmMNCkBAIC01NTMsNyArNTUzLDggQEAg c3RhdGljIHZvaWQgc3BhcHJfZHJfY29ubmVjdG9yX2luc3RhbmNlX2luaXQoT2JqZWN0ICpvYmop DQogICAgIFNwYXByRHJjICpkcmMgPSBTUEFQUl9EUl9DT05ORUNUT1Iob2JqKTsNCiAgICAgU3Bh cHJEcmNDbGFzcyAqZHJjayA9IFNQQVBSX0RSX0NPTk5FQ1RPUl9HRVRfQ0xBU1MoZHJjKTsNCiAN Ci0gICAgb2JqZWN0X3Byb3BlcnR5X2FkZF91aW50MzJfcHRyKG9iaiwgImlkIiwgJmRyYy0+aWQs IE5VTEwpOw0KKyAgICBvYmplY3RfcHJvcGVydHlfYWRkX3VpbnQzMl9wdHIob2JqLCAiaWQiLCAm ZHJjLT5pZCwgT0JKX1BST1BfRkxBR19SRUFELA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCk7DQogICAgIG9iamVjdF9wcm9wZXJ0eV9hZGQob2JqLCAiaW5kZXgiLCAi dWludDMyIiwgcHJvcF9nZXRfaW5kZXgsDQogICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwg TlVMTCwgTlVMTCwgTlVMTCk7DQogICAgIG9iamVjdF9wcm9wZXJ0eV9hZGQob2JqLCAiZmR0Iiwg InN0cnVjdCIsIHByb3BfZ2V0X2ZkdCwNCmRpZmYgLS1naXQgYS9pbmNsdWRlL3FvbS9vYmplY3Qu aCBiL2luY2x1ZGUvcW9tL29iamVjdC5oDQppbmRleCAxMjhkMDBjNzdmLi5kMmJmZDc2NzQxIDEw MDY0NA0KLS0tIGEvaW5jbHVkZS9xb20vb2JqZWN0LmgNCisrKyBiL2luY2x1ZGUvcW9tL29iamVj dC5oDQpAQCAtMTU3OSw2NSArMTU3OSw5MyBAQCB2b2lkIG9iamVjdF9jbGFzc19wcm9wZXJ0eV9h ZGRfdG0oT2JqZWN0Q2xhc3MgKmtsYXNzLCBjb25zdCBjaGFyICpuYW1lLA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqZ2V0KShPYmplY3QgKiwgc3RydWN0IHRtICos IEVycm9yICoqKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKipl cnJwKTsNCiANCit0eXBlZGVmIGVudW0gew0KKyAgICAvKiBBdXRvbWF0aWNhbGx5IGFkZCBhIGdl dHRlciB0byB0aGUgcHJvcGVydHkgKi8NCisgICAgT0JKX1BST1BfRkxBR19SRUFEID0gMSA8PCAw LA0KKyAgICAvKiBBdXRvbWF0aWNhbGx5IGFkZCBhIHNldHRlciB0byB0aGUgcHJvcGVydHkgKi8N CisgICAgT0JKX1BST1BfRkxBR19XUklURSA9IDEgPDwgMSwNCisgICAgLyogQXV0b21hdGljYWxs eSBhZGQgYSBnZXR0ZXIgYW5kIGEgc2V0dGVyIHRvIHRoZSBwcm9wZXJ0eSAqLw0KKyAgICBPQkpf UFJPUF9GTEFHX1JFQURXUklURSA9IChPQkpfUFJPUF9GTEFHX1JFQUQgfCBPQkpfUFJPUF9GTEFH X1dSSVRFKSwNCit9IE9iamVjdFByb3BlcnR5RmxhZ3M7DQorDQogLyoqDQogICogb2JqZWN0X3By b3BlcnR5X2FkZF91aW50OF9wdHI6DQogICogQG9iajogdGhlIG9iamVjdCB0byBhZGQgYSBwcm9w ZXJ0eSB0bw0KICAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgcHJvcGVydHkNCiAgKiBAdjogcG9p bnRlciB0byB2YWx1ZQ0KKyAqIEBmbGFnczogYml0d2lzZS1vcidkIE9iamVjdFByb3BlcnR5Rmxh Z3MNCiAgKiBAZXJycDogaWYgYW4gZXJyb3Igb2NjdXJzLCBhIHBvaW50ZXIgdG8gYW4gYXJlYSB0 byBzdG9yZSB0aGUgZXJyb3INCiAgKg0KICAqIEFkZCBhbiBpbnRlZ2VyIHByb3BlcnR5IGluIG1l bW9yeS4gIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgYQ0KICAqIHByb3BlcnR5IG9mIHR5cGUgJ3Vp bnQ4Jy4NCiAgKi8NCiB2b2lkIG9iamVjdF9wcm9wZXJ0eV9hZGRfdWludDhfcHRyKE9iamVjdCAq b2JqLCBjb25zdCBjaGFyICpuYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgdWludDhfdCAqdiwgRXJyb3IgKiplcnJwKTsNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnYsIE9iamVjdFByb3BlcnR5RmxhZ3MgZmxh Z3MsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApOw0K IHZvaWQgb2JqZWN0X2NsYXNzX3Byb3BlcnR5X2FkZF91aW50OF9wdHIoT2JqZWN0Q2xhc3MgKmts YXNzLCBjb25zdCBjaGFyICpuYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgdWludDhfdCAqdiwgRXJyb3IgKiplcnJwKTsNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnYsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUZsYWdzIGZsYWdz LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJw KTsNCiANCiAvKioNCiAgKiBvYmplY3RfcHJvcGVydHlfYWRkX3VpbnQxNl9wdHI6DQogICogQG9i ajogdGhlIG9iamVjdCB0byBhZGQgYSBwcm9wZXJ0eSB0bw0KICAqIEBuYW1lOiB0aGUgbmFtZSBv ZiB0aGUgcHJvcGVydHkNCiAgKiBAdjogcG9pbnRlciB0byB2YWx1ZQ0KKyAqIEBmbGFnczogYml0 d2lzZS1vcidkIE9iamVjdFByb3BlcnR5RmxhZ3MNCiAgKiBAZXJycDogaWYgYW4gZXJyb3Igb2Nj dXJzLCBhIHBvaW50ZXIgdG8gYW4gYXJlYSB0byBzdG9yZSB0aGUgZXJyb3INCiAgKg0KICAqIEFk ZCBhbiBpbnRlZ2VyIHByb3BlcnR5IGluIG1lbW9yeS4gIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQg YQ0KICAqIHByb3BlcnR5IG9mIHR5cGUgJ3VpbnQxNicuDQogICovDQogdm9pZCBvYmplY3RfcHJv cGVydHlfYWRkX3VpbnQxNl9wdHIoT2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKnYsIEVycm9y ICoqZXJycCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu dDE2X3QgKnYsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0UHJv cGVydHlGbGFncyBmbGFncywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF cnJvciAqKmVycnApOw0KIHZvaWQgb2JqZWN0X2NsYXNzX3Byb3BlcnR5X2FkZF91aW50MTZfcHRy KE9iamVjdENsYXNzICprbGFzcywgY29uc3QgY2hhciAqbmFtZSwNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MTZfdCAqdiwgRXJyb3IgKiplcnJw KTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50 MTZfdCAqdiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmpl Y3RQcm9wZXJ0eUZsYWdzIGZsYWdzLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVycm9yICoqZXJycCk7DQogDQogLyoqDQogICogb2JqZWN0X3Byb3BlcnR5X2Fk ZF91aW50MzJfcHRyOg0KICAqIEBvYmo6IHRoZSBvYmplY3QgdG8gYWRkIGEgcHJvcGVydHkgdG8N CiAgKiBAbmFtZTogdGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5DQogICogQHY6IHBvaW50ZXIgdG8g dmFsdWUNCisgKiBAZmxhZ3M6IGJpdHdpc2Utb3InZCBPYmplY3RQcm9wZXJ0eUZsYWdzDQogICog QGVycnA6IGlmIGFuIGVycm9yIG9jY3VycywgYSBwb2ludGVyIHRvIGFuIGFyZWEgdG8gc3RvcmUg dGhlIGVycm9yDQogICoNCiAgKiBBZGQgYW4gaW50ZWdlciBwcm9wZXJ0eSBpbiBtZW1vcnkuICBU aGlzIGZ1bmN0aW9uIHdpbGwgYWRkIGENCiAgKiBwcm9wZXJ0eSBvZiB0eXBlICd1aW50MzInLg0K ICAqLw0KIHZvaWQgb2JqZWN0X3Byb3BlcnR5X2FkZF91aW50MzJfcHRyKE9iamVjdCAqb2JqLCBj b25zdCBjaGFyICpuYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHVpbnQzMl90ICp2LCBFcnJvciAqKmVycnApOw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHVpbnQzMl90ICp2LA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5RmxhZ3MgZmxhZ3MsDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKTsNCiB2b2lkIG9iamVjdF9jbGFzc19w cm9wZXJ0eV9hZGRfdWludDMyX3B0cihPYmplY3RDbGFzcyAqa2xhc3MsIGNvbnN0IGNoYXIgKm5h bWUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWlu dDMyX3QgKnYsIEVycm9yICoqZXJycCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgdWludDMyX3QgKnYsDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlGbGFncyBmbGFncywNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApOw0KIA0KIC8qKg0K ICAqIG9iamVjdF9wcm9wZXJ0eV9hZGRfdWludDY0X3B0cjoNCiAgKiBAb2JqOiB0aGUgb2JqZWN0 IHRvIGFkZCBhIHByb3BlcnR5IHRvDQogICogQG5hbWU6IHRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0 eQ0KICAqIEB2OiBwb2ludGVyIHRvIHZhbHVlDQorICogQGZsYWdzOiBiaXR3aXNlLW9yJ2QgT2Jq ZWN0UHJvcGVydHlGbGFncw0KICAqIEBlcnJwOiBpZiBhbiBlcnJvciBvY2N1cnMsIGEgcG9pbnRl ciB0byBhbiBhcmVhIHRvIHN0b3JlIHRoZSBlcnJvcg0KICAqDQogICogQWRkIGFuIGludGVnZXIg cHJvcGVydHkgaW4gbWVtb3J5LiAgVGhpcyBmdW5jdGlvbiB3aWxsIGFkZCBhDQogICogcHJvcGVy dHkgb2YgdHlwZSAndWludDY0Jy4NCiAgKi8NCiB2b2lkIG9iamVjdF9wcm9wZXJ0eV9hZGRfdWlu dDY0X3B0cihPYmplY3QgKm9iaiwgY29uc3QgY2hhciAqbmFtZSwNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50NjRfdCAqdiwgRXJyb3IgKipFcnJwKTsNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50NjRfdCAqdiwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3RQcm9wZXJ0eUZsYWdzIGZs YWdzLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqRXJycCk7 DQogdm9pZCBvYmplY3RfY2xhc3NfcHJvcGVydHlfYWRkX3VpbnQ2NF9wdHIoT2JqZWN0Q2xhc3Mg KmtsYXNzLCBjb25zdCBjaGFyICpuYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHVpbnQ2NF90ICp2LCBFcnJvciAqKkVycnApOw0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ2NF90ICp2LA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdFByb3BlcnR5Rmxh Z3MgZmxhZ3MsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJy b3IgKipFcnJwKTsNCiANCiAvKioNCiAgKiBvYmplY3RfcHJvcGVydHlfYWRkX2FsaWFzOg0KZGlm ZiAtLWdpdCBhL3FvbS9vYmplY3QuYyBiL3FvbS9vYmplY3QuYw0KaW5kZXggZDUxYjU3ZmJhMS4u NzdjMjY4MjI5NiAxMDA2NDQNCi0tLSBhL3FvbS9vYmplY3QuYw0KKysrIGIvcW9tL29iamVjdC5j DQpAQCAtMjMyNiw2ICsyMzI2LDIyIEBAIHN0YXRpYyB2b2lkIHByb3BlcnR5X2dldF91aW50OF9w dHIoT2JqZWN0ICpvYmosIFZpc2l0b3IgKnYsIGNvbnN0IGNoYXIgKm5hbWUsDQogICAgIHZpc2l0 X3R5cGVfdWludDgodiwgbmFtZSwgJnZhbHVlLCBlcnJwKTsNCiB9DQogDQorc3RhdGljIHZvaWQg cHJvcGVydHlfc2V0X3VpbnQ4X3B0cihPYmplY3QgKm9iaiwgVmlzaXRvciAqdiwgY29uc3QgY2hh ciAqbmFtZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1 ZSwgRXJyb3IgKiplcnJwKQ0KK3sNCisgICAgdWludDhfdCAqZmllbGQgPSBvcGFxdWU7DQorICAg IHVpbnQ4X3QgdmFsdWU7DQorICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOw0KKw0KKyAgICB2 aXNpdF90eXBlX3VpbnQ4KHYsIG5hbWUsICZ2YWx1ZSwgJmxvY2FsX2Vycik7DQorICAgIGlmIChs b2NhbF9lcnIpIHsNCisgICAgICAgIGVycm9yX3Byb3BhZ2F0ZShlcnJwLCBsb2NhbF9lcnIpOw0K KyAgICAgICAgcmV0dXJuOw0KKyAgICB9DQorDQorICAgICpmaWVsZCA9IHZhbHVlOw0KK30NCisN CiBzdGF0aWMgdm9pZCBwcm9wZXJ0eV9nZXRfdWludDE2X3B0cihPYmplY3QgKm9iaiwgVmlzaXRv ciAqdiwgY29uc3QgY2hhciAqbmFtZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB2b2lkICpvcGFxdWUsIEVycm9yICoqZXJycCkNCiB7DQpAQCAtMjMzMyw2ICsyMzQ5LDIy IEBAIHN0YXRpYyB2b2lkIHByb3BlcnR5X2dldF91aW50MTZfcHRyKE9iamVjdCAqb2JqLCBWaXNp dG9yICp2LCBjb25zdCBjaGFyICpuYW1lLA0KICAgICB2aXNpdF90eXBlX3VpbnQxNih2LCBuYW1l LCAmdmFsdWUsIGVycnApOw0KIH0NCiANCitzdGF0aWMgdm9pZCBwcm9wZXJ0eV9zZXRfdWludDE2 X3B0cihPYmplY3QgKm9iaiwgVmlzaXRvciAqdiwgY29uc3QgY2hhciAqbmFtZSwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUsIEVycm9yICoqZXJycCkN Cit7DQorICAgIHVpbnQxNl90ICpmaWVsZCA9IG9wYXF1ZTsNCisgICAgdWludDE2X3QgdmFsdWU7 DQorICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOw0KKw0KKyAgICB2aXNpdF90eXBlX3VpbnQx Nih2LCBuYW1lLCAmdmFsdWUsICZsb2NhbF9lcnIpOw0KKyAgICBpZiAobG9jYWxfZXJyKSB7DQor ICAgICAgICBlcnJvcl9wcm9wYWdhdGUoZXJycCwgbG9jYWxfZXJyKTsNCisgICAgICAgIHJldHVy bjsNCisgICAgfQ0KKw0KKyAgICAqZmllbGQgPSB2YWx1ZTsNCit9DQorDQogc3RhdGljIHZvaWQg cHJvcGVydHlfZ2V0X3VpbnQzMl9wdHIoT2JqZWN0ICpvYmosIFZpc2l0b3IgKnYsIGNvbnN0IGNo YXIgKm5hbWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3Bh cXVlLCBFcnJvciAqKmVycnApDQogew0KQEAgLTIzNDAsNiArMjM3MiwyMiBAQCBzdGF0aWMgdm9p ZCBwcm9wZXJ0eV9nZXRfdWludDMyX3B0cihPYmplY3QgKm9iaiwgVmlzaXRvciAqdiwgY29uc3Qg Y2hhciAqbmFtZSwNCiAgICAgdmlzaXRfdHlwZV91aW50MzIodiwgbmFtZSwgJnZhbHVlLCBlcnJw KTsNCiB9DQogDQorc3RhdGljIHZvaWQgcHJvcGVydHlfc2V0X3VpbnQzMl9wdHIoT2JqZWN0ICpv YmosIFZpc2l0b3IgKnYsIGNvbnN0IGNoYXIgKm5hbWUsDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdm9pZCAqb3BhcXVlLCBFcnJvciAqKmVycnApDQorew0KKyAgICB1aW50 MzJfdCAqZmllbGQgPSBvcGFxdWU7DQorICAgIHVpbnQzMl90IHZhbHVlOw0KKyAgICBFcnJvciAq bG9jYWxfZXJyID0gTlVMTDsNCisNCisgICAgdmlzaXRfdHlwZV91aW50MzIodiwgbmFtZSwgJnZh bHVlLCAmbG9jYWxfZXJyKTsNCisgICAgaWYgKGxvY2FsX2Vycikgew0KKyAgICAgICAgZXJyb3Jf cHJvcGFnYXRlKGVycnAsIGxvY2FsX2Vycik7DQorICAgICAgICByZXR1cm47DQorICAgIH0NCisN CisgICAgKmZpZWxkID0gdmFsdWU7DQorfQ0KKw0KIHN0YXRpYyB2b2lkIHByb3BlcnR5X2dldF91 aW50NjRfcHRyKE9iamVjdCAqb2JqLCBWaXNpdG9yICp2LCBjb25zdCBjaGFyICpuYW1lLA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1ZSwgRXJyb3IgKipl cnJwKQ0KIHsNCkBAIC0yMzQ3LDYwICsyMzk1LDE4MCBAQCBzdGF0aWMgdm9pZCBwcm9wZXJ0eV9n ZXRfdWludDY0X3B0cihPYmplY3QgKm9iaiwgVmlzaXRvciAqdiwgY29uc3QgY2hhciAqbmFtZSwN CiAgICAgdmlzaXRfdHlwZV91aW50NjQodiwgbmFtZSwgJnZhbHVlLCBlcnJwKTsNCiB9DQogDQor c3RhdGljIHZvaWQgcHJvcGVydHlfc2V0X3VpbnQ2NF9wdHIoT2JqZWN0ICpvYmosIFZpc2l0b3Ig KnYsIGNvbnN0IGNoYXIgKm5hbWUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdm9pZCAqb3BhcXVlLCBFcnJvciAqKmVycnApDQorew0KKyAgICB1aW50NjRfdCAqZmllbGQg PSBvcGFxdWU7DQorICAgIHVpbnQ2NF90IHZhbHVlOw0KKyAgICBFcnJvciAqbG9jYWxfZXJyID0g TlVMTDsNCisNCisgICAgdmlzaXRfdHlwZV91aW50NjQodiwgbmFtZSwgJnZhbHVlLCAmbG9jYWxf ZXJyKTsNCisgICAgaWYgKGxvY2FsX2Vycikgew0KKyAgICAgICAgZXJyb3JfcHJvcGFnYXRlKGVy cnAsIGxvY2FsX2Vycik7DQorICAgICAgICByZXR1cm47DQorICAgIH0NCisNCisgICAgKmZpZWxk ID0gdmFsdWU7DQorfQ0KKw0KIHZvaWQgb2JqZWN0X3Byb3BlcnR5X2FkZF91aW50OF9wdHIoT2Jq ZWN0ICpvYmosIGNvbnN0IGNoYXIgKm5hbWUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCB1aW50OF90ICp2LCBFcnJvciAqKmVycnApDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICp2LA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlGbGFncyBmbGFncywNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkNCiB7DQotICAgIG9iamVjdF9w cm9wZXJ0eV9hZGQob2JqLCBuYW1lLCAidWludDgiLCBwcm9wZXJ0eV9nZXRfdWludDhfcHRyLA0K LSAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsICh2b2lkICopdiwgZXJycCk7DQor ICAgIE9iamVjdFByb3BlcnR5QWNjZXNzb3IgKmdldHRlciA9IE5VTEw7DQorICAgIE9iamVjdFBy b3BlcnR5QWNjZXNzb3IgKnNldHRlciA9IE5VTEw7DQorDQorICAgIGlmICgoZmxhZ3MgJiBPQkpf UFJPUF9GTEFHX1JFQUQpID09IE9CSl9QUk9QX0ZMQUdfUkVBRCkgew0KKyAgICAgICAgZ2V0dGVy ID0gcHJvcGVydHlfZ2V0X3VpbnQ4X3B0cjsNCisgICAgfQ0KKw0KKyAgICBpZiAoKGZsYWdzICYg T0JKX1BST1BfRkxBR19XUklURSkgPT0gT0JKX1BST1BfRkxBR19XUklURSkgew0KKyAgICAgICAg c2V0dGVyID0gcHJvcGVydHlfc2V0X3VpbnQ4X3B0cjsNCisgICAgfQ0KKw0KKyAgICBvYmplY3Rf cHJvcGVydHlfYWRkKG9iaiwgbmFtZSwgInVpbnQ4IiwNCisgICAgICAgICAgICAgICAgICAgICAg ICBnZXR0ZXIsIHNldHRlciwgTlVMTCwgKHZvaWQgKil2LCBlcnJwKTsNCiB9DQogDQogdm9pZCBv YmplY3RfY2xhc3NfcHJvcGVydHlfYWRkX3VpbnQ4X3B0cihPYmplY3RDbGFzcyAqa2xhc3MsIGNv bnN0IGNoYXIgKm5hbWUsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCB1aW50OF90ICp2LCBFcnJvciAqKmVycnApDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICp2LA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlGbGFncyBmbGFncywNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkNCiB7DQot ICAgIG9iamVjdF9jbGFzc19wcm9wZXJ0eV9hZGQoa2xhc3MsIG5hbWUsICJ1aW50OCIsIHByb3Bl cnR5X2dldF91aW50OF9wdHIsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwg TlVMTCwgKHZvaWQgKil2LCBlcnJwKTsNCisgICAgT2JqZWN0UHJvcGVydHlBY2Nlc3NvciAqZ2V0 dGVyID0gTlVMTDsNCisgICAgT2JqZWN0UHJvcGVydHlBY2Nlc3NvciAqc2V0dGVyID0gTlVMTDsN CisNCisgICAgaWYgKChmbGFncyAmIE9CSl9QUk9QX0ZMQUdfUkVBRCkgPT0gT0JKX1BST1BfRkxB R19SRUFEKSB7DQorICAgICAgICBnZXR0ZXIgPSBwcm9wZXJ0eV9nZXRfdWludDhfcHRyOw0KKyAg ICB9DQorDQorICAgIGlmICgoZmxhZ3MgJiBPQkpfUFJPUF9GTEFHX1dSSVRFKSA9PSBPQkpfUFJP UF9GTEFHX1dSSVRFKSB7DQorICAgICAgICBzZXR0ZXIgPSBwcm9wZXJ0eV9zZXRfdWludDhfcHRy Ow0KKyAgICB9DQorDQorICAgIG9iamVjdF9jbGFzc19wcm9wZXJ0eV9hZGQoa2xhc3MsIG5hbWUs ICJ1aW50OCIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0dGVyLCBzZXR0ZXIs IE5VTEwsICh2b2lkICopdiwgZXJycCk7DQogfQ0KIA0KIHZvaWQgb2JqZWN0X3Byb3BlcnR5X2Fk ZF91aW50MTZfcHRyKE9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpuYW1lLA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICp2LCBFcnJvciAqKmVycnAp DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDE2X3QgKnYs DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlGbGFn cyBmbGFncywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVy cnApDQogew0KLSAgICBvYmplY3RfcHJvcGVydHlfYWRkKG9iaiwgbmFtZSwgInVpbnQxNiIsIHBy b3BlcnR5X2dldF91aW50MTZfcHRyLA0KLSAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5V TEwsICh2b2lkICopdiwgZXJycCk7DQorICAgIE9iamVjdFByb3BlcnR5QWNjZXNzb3IgKmdldHRl ciA9IE5VTEw7DQorICAgIE9iamVjdFByb3BlcnR5QWNjZXNzb3IgKnNldHRlciA9IE5VTEw7DQor DQorICAgIGlmICgoZmxhZ3MgJiBPQkpfUFJPUF9GTEFHX1JFQUQpID09IE9CSl9QUk9QX0ZMQUdf UkVBRCkgew0KKyAgICAgICAgZ2V0dGVyID0gcHJvcGVydHlfZ2V0X3VpbnQxNl9wdHI7DQorICAg IH0NCisNCisgICAgaWYgKChmbGFncyAmIE9CSl9QUk9QX0ZMQUdfV1JJVEUpID09IE9CSl9QUk9Q X0ZMQUdfV1JJVEUpIHsNCisgICAgICAgIHNldHRlciA9IHByb3BlcnR5X3NldF91aW50MTZfcHRy Ow0KKyAgICB9DQorDQorICAgIG9iamVjdF9wcm9wZXJ0eV9hZGQob2JqLCBuYW1lLCAidWludDE2 IiwNCisgICAgICAgICAgICAgICAgICAgICAgICBnZXR0ZXIsIHNldHRlciwgTlVMTCwgKHZvaWQg Kil2LCBlcnJwKTsNCiB9DQogDQogdm9pZCBvYmplY3RfY2xhc3NfcHJvcGVydHlfYWRkX3VpbnQx Nl9wdHIoT2JqZWN0Q2xhc3MgKmtsYXNzLCBjb25zdCBjaGFyICpuYW1lLA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQxNl90ICp2LCBFcnJvciAq KmVycnApDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg dWludDE2X3QgKnYsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T2JqZWN0UHJvcGVydHlGbGFncyBmbGFncywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFcnJvciAqKmVycnApDQogew0KLSAgICBvYmplY3RfY2xhc3NfcHJvcGVy dHlfYWRkKGtsYXNzLCBuYW1lLCAidWludDE2IiwgcHJvcGVydHlfZ2V0X3VpbnQxNl9wdHIsDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgKHZvaWQgKil2LCBlcnJw KTsNCisgICAgT2JqZWN0UHJvcGVydHlBY2Nlc3NvciAqZ2V0dGVyID0gTlVMTDsNCisgICAgT2Jq ZWN0UHJvcGVydHlBY2Nlc3NvciAqc2V0dGVyID0gTlVMTDsNCisNCisgICAgaWYgKChmbGFncyAm IE9CSl9QUk9QX0ZMQUdfUkVBRCkgPT0gT0JKX1BST1BfRkxBR19SRUFEKSB7DQorICAgICAgICBn ZXR0ZXIgPSBwcm9wZXJ0eV9nZXRfdWludDE2X3B0cjsNCisgICAgfQ0KKw0KKyAgICBpZiAoKGZs YWdzICYgT0JKX1BST1BfRkxBR19XUklURSkgPT0gT0JKX1BST1BfRkxBR19XUklURSkgew0KKyAg ICAgICAgc2V0dGVyID0gcHJvcGVydHlfc2V0X3VpbnQxNl9wdHI7DQorICAgIH0NCisNCisgICAg b2JqZWN0X2NsYXNzX3Byb3BlcnR5X2FkZChrbGFzcywgbmFtZSwgInVpbnQxNiIsDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ2V0dGVyLCBzZXR0ZXIsIE5VTEwsICh2b2lkICopdiwg ZXJycCk7DQogfQ0KIA0KIHZvaWQgb2JqZWN0X3Byb3BlcnR5X2FkZF91aW50MzJfcHRyKE9iamVj dCAqb2JqLCBjb25zdCBjaGFyICpuYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHVpbnQzMl90ICp2LCBFcnJvciAqKmVycnApDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyX3QgKnYsDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlGbGFncyBmbGFncywNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApDQogew0KLSAgICBvYmpl Y3RfcHJvcGVydHlfYWRkKG9iaiwgbmFtZSwgInVpbnQzMiIsIHByb3BlcnR5X2dldF91aW50MzJf cHRyLA0KLSAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIE5VTEwsICh2b2lkICopdiwgZXJy cCk7DQorICAgIE9iamVjdFByb3BlcnR5QWNjZXNzb3IgKmdldHRlciA9IE5VTEw7DQorICAgIE9i amVjdFByb3BlcnR5QWNjZXNzb3IgKnNldHRlciA9IE5VTEw7DQorDQorICAgIGlmICgoZmxhZ3Mg JiBPQkpfUFJPUF9GTEFHX1JFQUQpID09IE9CSl9QUk9QX0ZMQUdfUkVBRCkgew0KKyAgICAgICAg Z2V0dGVyID0gcHJvcGVydHlfZ2V0X3VpbnQzMl9wdHI7DQorICAgIH0NCisNCisgICAgaWYgKChm bGFncyAmIE9CSl9QUk9QX0ZMQUdfV1JJVEUpID09IE9CSl9QUk9QX0ZMQUdfV1JJVEUpIHsNCisg ICAgICAgIHNldHRlciA9IHByb3BlcnR5X3NldF91aW50MzJfcHRyOw0KKyAgICB9DQorDQorICAg IG9iamVjdF9wcm9wZXJ0eV9hZGQob2JqLCBuYW1lLCAidWludDMyIiwNCisgICAgICAgICAgICAg ICAgICAgICAgICBnZXR0ZXIsIHNldHRlciwgTlVMTCwgKHZvaWQgKil2LCBlcnJwKTsNCiB9DQog DQogdm9pZCBvYmplY3RfY2xhc3NfcHJvcGVydHlfYWRkX3VpbnQzMl9wdHIoT2JqZWN0Q2xhc3Mg KmtsYXNzLCBjb25zdCBjaGFyICpuYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHVpbnQzMl90ICp2LCBFcnJvciAqKmVycnApDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyX3QgKnYsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlGbGFn cyBmbGFncywNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJv ciAqKmVycnApDQogew0KLSAgICBvYmplY3RfY2xhc3NfcHJvcGVydHlfYWRkKGtsYXNzLCBuYW1l LCAidWludDMyIiwgcHJvcGVydHlfZ2V0X3VpbnQzMl9wdHIsDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwgTlVMTCwgKHZvaWQgKil2LCBlcnJwKTsNCisgICAgT2JqZWN0UHJv cGVydHlBY2Nlc3NvciAqZ2V0dGVyID0gTlVMTDsNCisgICAgT2JqZWN0UHJvcGVydHlBY2Nlc3Nv ciAqc2V0dGVyID0gTlVMTDsNCisNCisgICAgaWYgKChmbGFncyAmIE9CSl9QUk9QX0ZMQUdfUkVB RCkgPT0gT0JKX1BST1BfRkxBR19SRUFEKSB7DQorICAgICAgICBnZXR0ZXIgPSBwcm9wZXJ0eV9n ZXRfdWludDMyX3B0cjsNCisgICAgfQ0KKw0KKyAgICBpZiAoKGZsYWdzICYgT0JKX1BST1BfRkxB R19XUklURSkgPT0gT0JKX1BST1BfRkxBR19XUklURSkgew0KKyAgICAgICAgc2V0dGVyID0gcHJv cGVydHlfc2V0X3VpbnQzMl9wdHI7DQorICAgIH0NCisNCisgICAgb2JqZWN0X2NsYXNzX3Byb3Bl cnR5X2FkZChrbGFzcywgbmFtZSwgInVpbnQzMiIsDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ2V0dGVyLCBzZXR0ZXIsIE5VTEwsICh2b2lkICopdiwgZXJycCk7DQogfQ0KIA0KIHZv aWQgb2JqZWN0X3Byb3BlcnR5X2FkZF91aW50NjRfcHRyKE9iamVjdCAqb2JqLCBjb25zdCBjaGFy ICpuYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ2 NF90ICp2LCBFcnJvciAqKmVycnApDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgdWludDY0X3QgKnYsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT2JqZWN0UHJvcGVydHlGbGFncyBmbGFncywNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFcnJvciAqKmVycnApDQogew0KLSAgICBvYmplY3RfcHJvcGVydHlfYWRkKG9i aiwgbmFtZSwgInVpbnQ2NCIsIHByb3BlcnR5X2dldF91aW50NjRfcHRyLA0KLSAgICAgICAgICAg ICAgICAgICAgICAgIE5VTEwsIE5VTEwsICh2b2lkICopdiwgZXJycCk7DQorICAgIE9iamVjdFBy b3BlcnR5QWNjZXNzb3IgKmdldHRlciA9IE5VTEw7DQorICAgIE9iamVjdFByb3BlcnR5QWNjZXNz b3IgKnNldHRlciA9IE5VTEw7DQorDQorICAgIGlmICgoZmxhZ3MgJiBPQkpfUFJPUF9GTEFHX1JF QUQpID09IE9CSl9QUk9QX0ZMQUdfUkVBRCkgew0KKyAgICAgICAgZ2V0dGVyID0gcHJvcGVydHlf Z2V0X3VpbnQ2NF9wdHI7DQorICAgIH0NCisNCisgICAgaWYgKChmbGFncyAmIE9CSl9QUk9QX0ZM QUdfV1JJVEUpID09IE9CSl9QUk9QX0ZMQUdfV1JJVEUpIHsNCisgICAgICAgIHNldHRlciA9IHBy b3BlcnR5X3NldF91aW50NjRfcHRyOw0KKyAgICB9DQorDQorICAgIG9iamVjdF9wcm9wZXJ0eV9h ZGQob2JqLCBuYW1lLCAidWludDY0IiwNCisgICAgICAgICAgICAgICAgICAgICAgICBnZXR0ZXIs IHNldHRlciwgTlVMTCwgKHZvaWQgKil2LCBlcnJwKTsNCiB9DQogDQogdm9pZCBvYmplY3RfY2xh c3NfcHJvcGVydHlfYWRkX3VpbnQ2NF9wdHIoT2JqZWN0Q2xhc3MgKmtsYXNzLCBjb25zdCBjaGFy ICpuYW1lLA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHVpbnQ2NF90ICp2LCBFcnJvciAqKmVycnApDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgdWludDY0X3QgKnYsDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgT2JqZWN0UHJvcGVydHlGbGFncyBmbGFncywNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApDQogew0KLSAg ICBvYmplY3RfY2xhc3NfcHJvcGVydHlfYWRkKGtsYXNzLCBuYW1lLCAidWludDY0IiwgcHJvcGVy dHlfZ2V0X3VpbnQ2NF9wdHIsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwg TlVMTCwgKHZvaWQgKil2LCBlcnJwKTsNCisgICAgT2JqZWN0UHJvcGVydHlBY2Nlc3NvciAqZ2V0 dGVyID0gTlVMTDsNCisgICAgT2JqZWN0UHJvcGVydHlBY2Nlc3NvciAqc2V0dGVyID0gTlVMTDsN CisNCisgICAgaWYgKChmbGFncyAmIE9CSl9QUk9QX0ZMQUdfUkVBRCkgPT0gT0JKX1BST1BfRkxB R19SRUFEKSB7DQorICAgICAgICBnZXR0ZXIgPSBwcm9wZXJ0eV9nZXRfdWludDY0X3B0cjsNCisg ICAgfQ0KKw0KKyAgICBpZiAoKGZsYWdzICYgT0JKX1BST1BfRkxBR19XUklURSkgPT0gT0JKX1BS T1BfRkxBR19XUklURSkgew0KKyAgICAgICAgc2V0dGVyID0gcHJvcGVydHlfc2V0X3VpbnQ2NF9w dHI7DQorICAgIH0NCisNCisgICAgb2JqZWN0X2NsYXNzX3Byb3BlcnR5X2FkZChrbGFzcywgbmFt ZSwgInVpbnQ2NCIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0dGVyLCBzZXR0 ZXIsIE5VTEwsICh2b2lkICopdiwgZXJycCk7DQogfQ0KIA0KIHR5cGVkZWYgc3RydWN0IHsNCmRp ZmYgLS1naXQgYS91aS9jb25zb2xlLmMgYi91aS9jb25zb2xlLmMNCmluZGV4IDgyZDFkZGFjOWMu LmJjYmU2NWU2OTYgMTAwNjQ0DQotLS0gYS91aS9jb25zb2xlLmMNCisrKyBiL3VpL2NvbnNvbGUu Yw0KQEAgLTEyOTYsOCArMTI5Niw4IEBAIHN0YXRpYyBRZW11Q29uc29sZSAqbmV3X2NvbnNvbGUo RGlzcGxheVN0YXRlICpkcywgY29uc29sZV90eXBlX3QgY29uc29sZV90eXBlLA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgb2JqZWN0X3Byb3BlcnR5X2FsbG93X3NldF9saW5rLA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT0JKX1BST1BfTElOS19TVFJPTkcsDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3JfYWJvcnQpOw0KLSAgICBvYmplY3RfcHJvcGVy dHlfYWRkX3VpbnQzMl9wdHIob2JqLCAiaGVhZCIsDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmcy0+aGVhZCwgJmVycm9yX2Fib3J0KTsNCisgICAgb2JqZWN0X3Byb3BlcnR5 X2FkZF91aW50MzJfcHRyKG9iaiwgImhlYWQiLCAmcy0+aGVhZCwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9CSl9QUk9QX0ZMQUdfUkVBRCwgJmVycm9yX2Fib3J0KTsNCiAN CiAgICAgaWYgKCFhY3RpdmVfY29uc29sZSB8fCAoKGFjdGl2ZV9jb25zb2xlLT5jb25zb2xlX3R5 cGUgIT0gR1JBUEhJQ19DT05TT0xFKSAmJg0KICAgICAgICAgKGNvbnNvbGVfdHlwZSA9PSBHUkFQ SElDX0NPTlNPTEUpKSkgew0KLS0gDQoyLjIwLjENCg0K