From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.13]) by sourceware.org (Postfix) with ESMTPS id 483D83860776 for ; Sun, 18 Feb 2024 06:00:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 483D83860776 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 483D83860776 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=198.175.65.13 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708236006; cv=pass; b=rjaWY8b4wcKCeQFtusBaVEIRp44iR8NQUYtsW6PZONr0q6iWNTBAcC7LimDXmhXD32hVDHqyK8xJeQW9XfeYYSDWKABKIar7GmYpIUpsb/RunfZgOncvFPev4UbvGadmdkiCz/LhwfDb4ZAFzUOOJwu1LQwkP+fUnXB3aPPBggc= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1708236006; c=relaxed/simple; bh=GBbYJQRWrz73R6C7ETnK9Ijx0h6iLPY45B3t4hFpQqI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=WsmS1d27oaLV/bL8m8Jyk4QQpHhB0VtrB31YZzrsEg8esPJ6R63To8B5dm5TvsRan+N8fICtzlUX/inNFz+PizN1KQux+dDKwbz7RgayFS9nPkCpZxgzOYYOupCOP93vmlhzg7Wc3FGzWjQxx78w+3yewt1QK10gqUJ0V9AAPEI= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1708236002; x=1739772002; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=GBbYJQRWrz73R6C7ETnK9Ijx0h6iLPY45B3t4hFpQqI=; b=Ge615d+0dRkl53BOEwt4n4IFz4KRuF2e1atrNoQT8RCRvU6hLCXXAxDb xnK3uj5GgRkhpgGviuryHeyk+I57eazdGchSZYXMNz2kt0nXRyYHroaEM dP4iCNYDlygzfY1xTNqYp2QqTI4C8I/BPB2pc943URTZ2XIy53j24sGBR k5237CnoczwaEWYuMwjpzpRt4J8YyGzBUBDoAxpaH9rozPMM+uVLw9dT+ 83+FfPIgha37zgV2Xnv95GGie+2JCBqRYwfjYHLC3VkwVUcUuWW6SFKoW o8JVZIIX4wSh8YsZrBQrE7oymVSfkBHxbzdQNLQyc665K+Q7B+uVProL7 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10987"; a="13438311" X-IronPort-AV: E=Sophos;i="6.06,168,1705392000"; d="scan'208";a="13438311" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by orvoesa105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Feb 2024 22:00:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,168,1705392000"; d="scan'208";a="27360334" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmviesa002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 17 Feb 2024 21:59:59 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sat, 17 Feb 2024 21:59:59 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Sat, 17 Feb 2024 21:59:58 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Sat, 17 Feb 2024 21:59:58 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.41) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Sat, 17 Feb 2024 21:59:58 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hcqQf8zpRtlJe/dWfTNItQzgPR6GhHsj3lp8a0h1U+E8U84qbi0+UgO1byNePlWDS/30bgozSl+nWl7GSdGDSZCM89jj5WAJ28DLa3LRMAjS3X/ahP2tC7MvpjVCKFlp7vA6LsMCBbsAI2FibrLQXLoC4kBCLl0l3OumBJ492zP30Kf77eMFJhyMhQJS/Rf9zCGCELq4ekWmicP75fKxIoeMxiIk9hKAs0qi6oXT6ymTplogA8Bj+700TBPxQbhm8z103wBzeOcljxTYH0edrtaN7W0/welSft/nJIp6ajUncZ9yZBkQbQ0gXzlRd5mPFViK2NPnfQa2rnz4xs1ZlA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=GBbYJQRWrz73R6C7ETnK9Ijx0h6iLPY45B3t4hFpQqI=; b=KLuPY29VUAp35Ky5g7wIy73br0YxWscRS1u4N8SWkqJzLZAHMpirTwEsbnYgzDOXkth55bQ4tsTw0Hak7Lr0B9REqaCSzneuYf/SybddU94XN4L++7UuMvCjAfHiSGB5akLMl6W+ydEHIkci5x2lknL782vyxu2YeLxYnspLykgPd/kjyXL0kZOjbRjXTQ1J/LYsicC7Wkm9KnL0RYvavtPijQAFM3IzApipB//j2m4pRysPd4+oEs9Iw3bcg70R5S9aCzdZff4YCtJXFeBww2RD424VaGx17srxhQSFFC7ZTPOLtYPIUFrdwXpfpAVRcAv+8OcjZO8vOFuTYV3nfg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SJ0PR11MB5600.namprd11.prod.outlook.com (2603:10b6:a03:3ab::16) by PH7PR11MB7478.namprd11.prod.outlook.com (2603:10b6:510:269::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.34; Sun, 18 Feb 2024 05:59:56 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::60d2:5c94:ad85:5c70]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::60d2:5c94:ad85:5c70%4]) with mapi id 15.20.7292.033; Sun, 18 Feb 2024 05:59:56 +0000 From: "Cui, Lili" To: "Beulich, Jan" , Binutils CC: "H.J. Lu" Subject: RE: [PATCH 1/4] x86: rename vec_encoding and vex_encoding_* Thread-Topic: [PATCH 1/4] x86: rename vec_encoding and vex_encoding_* Thread-Index: AQHaYL6f8i7p0pUpmkmPAinGJUDaHbEPnDig Date: Sun, 18 Feb 2024 05:59:56 +0000 Message-ID: References: <3098e797-3749-40ee-802c-ea8a6f63914c@suse.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR11MB5600:EE_|PH7PR11MB7478:EE_ x-ms-office365-filtering-correlation-id: 501c0215-100f-46aa-408e-08dc3046d549 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WhHap/gpNWao00NVTRUw71KKgH47Iam51DeJEdubuq1vnBkrlDl8XoQfR3NSCmMv28pJazVs3Qy+DAmfL3cnhO3KjFhIHpShhvSWZgYWQV5m0gYXjIYXkdrUcZKOVoP+i79doi1mTrd9BoRLdw0gLysXPfBs6TJ7w4Xj1iajBzwRLBGJoZ6ZAfAxXMqNenSABwwNOP/fZpmvbCxagjFo6zkxzCIUpB0iz/BKqySFmqC4bmAwwBZ1opcwiOZiJA5ZQi2O3lIkAvrSoQxkdQ9mkHmzHawa79+WB1UGesTmmD5ph+2BT9zuwncCVb9PkCfJT0B2nxCZbiXnJ991UZqil4icyjqaxhIw6G5qhMYbB21pVobGqObGDmUWhYqgRHigPbfiyDZBoTlLOQ0wjClQ4nYsm/G3SPiooGgV6v1Hx8I4gQ/igDrg43qXtapeEnUCjuDO1VSANdYaqfG9gcKpOqr2LDUM8ILAe1XgPDmI3ThxaCIL8pZKTmfYmmKLaoP/Pe9cATXR5UyY3+Q1m0ZXJJ37wH4pjFgPjxzE1xQY6UwKtKeYcjC5g82CEklgJWpkVmijkXs7JO4cV8t9EYWFyttY0GAhCm5uiOYU0nxLnZOtqQlwQQHLoOP/plTuuT2P x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5600.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(376002)(136003)(39860400002)(396003)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(8936002)(2906002)(83380400001)(5660300002)(30864003)(66899024)(38070700009)(6506007)(478600001)(9686003)(71200400001)(7696005)(41300700001)(8676002)(4326008)(64756008)(76116006)(66946007)(66556008)(66476007)(66446008)(316002)(26005)(52536014)(110136005)(33656002)(82960400001)(86362001)(122000001)(38100700002)(55016003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bDRFMWhhM0FrUld4SVEzTEN6Zm9ta0k4WktmSkNMWE1RVUx0UHlQQlVaZUJm?= =?utf-8?B?WFMzUnJtS3pFUWkrWTVOU0ZONzlobGRIUEJFTWZlRTNNSWdOWEJFNENwd1hO?= =?utf-8?B?VEhWcTg5WUdpd0NvZFJXTDZqeG1tVHBIeU9VYis2Yy80VlRHRGhBM1JFaU1l?= =?utf-8?B?V2hLRzRqVlAxR0IvRjBqTXEyMXhaWnBwbk5ZRVVrb1ZmS2x0TE9vSFppYkli?= =?utf-8?B?Z1JndCsrVEJoNEpEZ2FDclphWW1XZjlZM1NpZkppbHFqUk1BU3Y0ZVFTTFVw?= =?utf-8?B?aFB0YkpZYXhrUTV0ejROdmlvd2tWZXd6Mkhka095OUNxZHBVRzQzVWppZTc0?= =?utf-8?B?S0RnS2xOR1FtQmF0TG9VRk9XMXNQSEE3ZkJuT0ZUU0dWb25ZQUV1UkRhOEFK?= =?utf-8?B?Rm1Nc1BkeEVUOXFPd3pvLzByQTJNTUJuYzVuQThEVGhVamdrOFpROTkwbk13?= =?utf-8?B?S2JNeGZDS3ZwWW1Yek5jSFhjWnF2aUJrRlRhaGRad25RRzJrMFcyRmk1QVpB?= =?utf-8?B?SmdKSXFBMmhaR3k5QVdsTEFoQ1kwVWkrcVUxNFVBZ3VaeW8yYmJsdjlYYXVn?= =?utf-8?B?OE40dU83L3dqemJ1Q1p6T1BEd2IxUENSTXlTQXd1UlVkNmwxdDZhTHhWWTRC?= =?utf-8?B?OUEvQnJZN3BMUnFhK2J4ZFB5RjQvb2pXeFNkNjlKVFNEbkgzM1FLYVlZNEYv?= =?utf-8?B?SEZQaGtCaDhjYlhOSXltZ3RFOWxIMlNPN3pRdlBJSHJEU0pTUXE0WUdVTklK?= =?utf-8?B?YmRWZmFQY2hIRm4wZ01ObXRtQmJHVUc3ZUxrekVqTmlVWjhFT2M2NHZJZlRD?= =?utf-8?B?aG1zQjNJVnlQazJTT05mR0Z5eENOTDRIbDFnUVlkd1FsdGtKQmwvSjgrdDJG?= =?utf-8?B?WlZBZEFxOFRGTnp4Rjl3Um5rakNBbXF1NW5ocEpIYWxaME1pM2hVSS8rL0Vi?= =?utf-8?B?OEwwMVFhbkFRYURsT1AxOEFwUGVsSFBYMWNvZjlYSkhTdytJWndqdmkxZ3A0?= =?utf-8?B?aXUxWWlNS0dncVZ0NytEb1JHRjdGakRzN0o1VkhyMjFDRU5GckdRMmVoeXlz?= =?utf-8?B?NFJMc3R0VWtEVm1TR21QTWtaMWNTWDNOblVPZzRtWHB2Q2pqcmJ2bzA4aWpv?= =?utf-8?B?TmRDRjhXWUlDdWxTbHMzYXpVbjhhUW1COVBtQkdiV1NzMUZhS1lCZVFwK3BG?= =?utf-8?B?ellvTjhRSUZMZFRHOElZWEw1QU1mRVl1MDRIbkxZSjdNWGpRd0liUDZpTWVw?= =?utf-8?B?NnRhR2hWZFJXTytFN1I1RHNXeEJHUXRFVHpTTHZVZ1VKMzBGRWQvUkN4T1BT?= =?utf-8?B?L3ErU201N1BTOVNWVkhBTktvVDFSM1dPWGpEUFB2ZkJ2d1BWZURJVEo1djN2?= =?utf-8?B?NFU4SmE5cGFwemgxbWRvbXZYV0VCdXhwQU1WdnE5TGl2L0hKSmYvM1BIUzg3?= =?utf-8?B?azRVeE1FRmVhdFBCMkxZdjQ3Y3lMb2ZzMDZXWTI4Z3hITGE2dUxJR0ZtMnJT?= =?utf-8?B?KzNVbWdmcTQ3Vml3NWs2RXVEOUNIMWo1T2l6T3VXQ2hUV1hxSDVoZXprekVK?= =?utf-8?B?eGZvdjhwYm5QekNRWXYzNzh0MUg2c0FoNVdlZElEZmdMUG5YMFJUUGJ2Z2sz?= =?utf-8?B?eW5iSUJaTFVHSnlpcXY3SzZENjd2aVhtZ0M5MTZqZzRlczRaelNWdEs0QW92?= =?utf-8?B?ejEvMzJkY2RRQ2FHUHlhTVpjSDR3c2NLZHVHRVk1eVk1dnNaZ1ViVEI2U1Ev?= =?utf-8?B?RTZuRDlZcThiOVFYSmhiR2Y4M3VFQjdldktEQW9aR3JaUGhOTnF0UTBkMmF2?= =?utf-8?B?K2o4eHJnYmUrS2VHU28rZXltN2VJZ2tRaC8ycHRHVDZwcUdTdElSbzdSRjV4?= =?utf-8?B?OVpIdGpnVnBaemd0ek9PVHhKY1lnSWlJdFF4enA0Zjk0TU5LQ2tDQUJ5Mitz?= =?utf-8?B?R0JsazZBQ3dsRHo5V3JvNVJEY1VSNHRIU29mRnZnKy9MZGtSRjk4MVkrYlJN?= =?utf-8?B?emhRNlI2THg0bmlxMmxqK1pheVF3OXpSeStsa2drYnlsVHgxUjNZZmh2OExk?= =?utf-8?B?a0tJY3lIbXgxVEIvL1ZkRGZOb2FBYjBCYVgzd25aenBQVVNqM3NCck1ZVGdo?= =?utf-8?Q?+iOw=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5600.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 501c0215-100f-46aa-408e-08dc3046d549 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Feb 2024 05:59:56.3808 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sfkEWmbWWY32aRcALkZlxwnNmNUlHXACh0Eiq10OsbV5BB+KhZstY8aidH2Qage5/z5irW3yoJXKGyGHqTv4mg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB7478 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-4.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: PiBFdmVuIHdpdGgganVzdCBWRVggdGhlc2Ugd2VyZW4ndCBsaW1pdGVkIHRvIHZlY3RvciBpbnNu cy4gV2l0aCBBUFggdGhlIHNldCBvZg0KPiBub24tdmVjdG9yIG9uZXMgY292ZXJlZCBoYXMgZ3Jl YXRseSBpbmNyZWFzZWQuIERyb3AgdGhlIHZlY18gcHJlZml4LiBBbHNvIGRyb3ANCj4gdGhlIHZl eF8gb25lcyBvZmYgb2YgdGhlIGVudW1lcmF0b3JzLCBhcyB0aGV5IHdlcmVuJ3QgYXBwcm9wcmlh dGUgYW55d2F5Og0KPiBTaG91bGQgaGF2ZSBiZWVuIHZlY18gdGhlbiwgdG9vLg0KPiANCj4gLS0t IGEvZ2FzL2NvbmZpZy90Yy1pMzg2LmMNCj4gKysrIGIvZ2FzL2NvbmZpZy90Yy1pMzg2LmMNCj4g QEAgLTQ0NSwxNiArNDQ1LDE2IEBAIHN0cnVjdCBfaTM4Nl9pbnNuDQo+ICAgICAgLyogRGlzYWJs ZSBpbnN0cnVjdGlvbiBzaXplIG9wdGltaXphdGlvbi4gICovDQo+ICAgICAgYm9vbCBub19vcHRp bWl6ZTsNCj4gDQo+IC0gICAgLyogSG93IHRvIGVuY29kZSB2ZWN0b3IgaW5zdHJ1Y3Rpb25zLiAg Ki8NCj4gKyAgICAvKiBIb3cgdG8gZW5jb2RlIGluc3RydWN0aW9ucy4gICovDQo+ICAgICAgZW51 bQ0KPiAgICAgICAgew0KPiAtCXZleF9lbmNvZGluZ19kZWZhdWx0ID0gMCwNCj4gLQl2ZXhfZW5j b2RpbmdfdmV4LA0KPiAtCXZleF9lbmNvZGluZ192ZXgzLA0KPiAtCXZleF9lbmNvZGluZ19ldmV4 LA0KPiAtCXZleF9lbmNvZGluZ19ldmV4NTEyLA0KPiAtCXZleF9lbmNvZGluZ19lcnJvcg0KPiAt ICAgICAgfSB2ZWNfZW5jb2Rpbmc7DQo+ICsJZW5jb2RpbmdfZGVmYXVsdCA9IDAsDQo+ICsJZW5j b2RpbmdfdmV4LA0KPiArCWVuY29kaW5nX3ZleDMsDQo+ICsJZW5jb2RpbmdfZXZleCwNCj4gKwll bmNvZGluZ19ldmV4NTEyLA0KDQoiZW5jb2RpbmdfZXZleDUxMiIgc2VlbXMgcmVkdW5kYW50LCBk dXBsaWNhdGluZyB3aXRoIGVuY29kaW5nX2V2ZXgsIGRvIHlvdSBrbm93IHRoZSByZWFzb24gZm9y IGtlZXBpbmcgaXQ/IENvdWxkIHlvdSBhZGQgc29tZSBjb21tZW50cyBmb3IgIiBlbmNvZGluZ19l dmV4NTEyIiwgdGhhbmtzLg0KDQpMaWxpLg0KDQo+ICsJZW5jb2RpbmdfZXJyb3INCj4gKyAgICAg IH0gZW5jb2Rpbmc7DQo+IA0KPiAgICAgIC8qIFJFUCBwcmVmaXguICAqLw0KPiAgICAgIGNvbnN0 IGNoYXIgKnJlcF9wcmVmaXg7DQo+IEBAIC0xODg1LDggKzE4ODUsOCBAQCBzdGF0aWMgY29uc3Qg aTM4Nl9jcHVfZmxhZ3MgYXZ4NTEyID0gQ1BVDQo+IA0KPiAgc3RhdGljIElOTElORSBib29sIG5l ZWRfZXZleF9lbmNvZGluZyAoY29uc3QgaW5zbl90ZW1wbGF0ZSAqdCkgIHsNCj4gLSAgcmV0dXJu IGkudmVjX2VuY29kaW5nID09IHZleF9lbmNvZGluZ19ldmV4DQo+IC0JfHwgaS52ZWNfZW5jb2Rp bmcgPT0gdmV4X2VuY29kaW5nX2V2ZXg1MTINCj4gKyAgcmV0dXJuIGkuZW5jb2RpbmcgPT0gZW5j b2RpbmdfZXZleA0KPiArCXx8IGkuZW5jb2RpbmcgPT0gZW5jb2RpbmdfZXZleDUxMg0KPiAgCXx8 ICh0LT5vcGNvZGVfbW9kaWZpZXIudmV4ICYmIGkuaGFzX2VncHIpDQo+ICAJfHwgaS5tYXNrLnJl ZzsNCj4gIH0NCj4gQEAgLTI0ODksNyArMjQ4OSw3IEBAIHN0YXRpYyBJTkxJTkUgaW50DQo+ICBm aXRzX2luX2ltbTQgKG9mZnNldFQgbnVtKQ0KPiAgew0KPiAgICAvKiBEZXNwaXRlIHRoZSBuYW1l LCBjaGVjayBmb3IgaW1tMyBpZiB3ZSdyZSBkZWFsaW5nIHdpdGggRVZFWC4gICovDQo+IC0gIHJl dHVybiAobnVtICYgKGkudmVjX2VuY29kaW5nICE9IHZleF9lbmNvZGluZ19ldmV4ID8gMHhmIDog NykpID09IG51bTsNCj4gKyAgcmV0dXJuIChudW0gJiAoaS5lbmNvZGluZyAhPSBlbmNvZGluZ19l dmV4ID8gMHhmIDogNykpID09IG51bTsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgaTM4Nl9vcGVyYW5k X3R5cGUNCj4gQEAgLTM4MDAsNyArMzgwMCw3IEBAIGJ1aWxkX3ZleF9wcmVmaXggKGNvbnN0IGlu c25fdGVtcGxhdGUgKnQNCj4gICAgLyogVXNlIDItYnl0ZSBWRVggcHJlZml4IGJ5IHN3YXBwaW5n IGRlc3RpbmF0aW9uIGFuZCBzb3VyY2Ugb3BlcmFuZA0KPiAgICAgICBpZiB0aGVyZSBhcmUgbW9y ZSB0aGFuIDEgcmVnaXN0ZXIgb3BlcmFuZC4gICovDQo+ICAgIGlmIChpLnJlZ19vcGVyYW5kcyA+ IDENCj4gLSAgICAgICYmIGkudmVjX2VuY29kaW5nICE9IHZleF9lbmNvZGluZ192ZXgzDQo+ICsg ICAgICAmJiBpLmVuY29kaW5nICE9IGVuY29kaW5nX3ZleDMNCj4gICAgICAgICYmIGkuZGlyX2Vu Y29kaW5nID09IGRpcl9lbmNvZGluZ19kZWZhdWx0DQo+ICAgICAgICAmJiBpLm9wZXJhbmRzID09 IGkucmVnX29wZXJhbmRzDQo+ICAgICAgICAmJiBvcGVyYW5kX3R5cGVfZXF1YWwgKCZpLnR5cGVz WzBdLCAmaS50eXBlc1tpLm9wZXJhbmRzIC0gMV0pIEBAIC0NCj4gMzgyOSw3ICszODI5LDcgQEAg YnVpbGRfdmV4X3ByZWZpeCAoY29uc3QgaW5zbl90ZW1wbGF0ZSAqdA0KPiAgICAvKiBVc2UgMi1i eXRlIFZFWCBwcmVmaXggYnkgc3dhcHBpbmcgY29tbXV0YXRpdmUgc291cmNlIG9wZXJhbmRzIGlm IHRoZXJlDQo+ICAgICAgIGFyZSBubyBtZW1vcnkgb3BlcmFuZHMgYW5kIGF0IGxlYXN0IDMgcmVn aXN0ZXIgb25lcy4gICovDQo+ICAgIGlmIChpLnJlZ19vcGVyYW5kcyA+PSAzDQo+IC0gICAgICAm JiBpLnZlY19lbmNvZGluZyAhPSB2ZXhfZW5jb2RpbmdfdmV4Mw0KPiArICAgICAgJiYgaS5lbmNv ZGluZyAhPSBlbmNvZGluZ192ZXgzDQo+ICAgICAgICAmJiBpLnJlZ19vcGVyYW5kcyA9PSBpLm9w ZXJhbmRzIC0gaS5pbW1fb3BlcmFuZHMNCj4gICAgICAgICYmIGkudG0ub3Bjb2RlX21vZGlmaWVy LnZleA0KPiAgICAgICAgJiYgaS50bS5vcGNvZGVfbW9kaWZpZXIuY29tbXV0YXRpdmUgQEAgLTM4 OTIsNyArMzg5Miw3IEBADQo+IGJ1aWxkX3ZleF9wcmVmaXggKGNvbnN0IGluc25fdGVtcGxhdGUg KnQNCj4gDQo+ICAgIC8qIFVzZSAyLWJ5dGUgVkVYIHByZWZpeCBpZiBwb3NzaWJsZS4gICovDQo+ ICAgIGlmICh3ID09IDANCj4gLSAgICAgICYmIGkudmVjX2VuY29kaW5nICE9IHZleF9lbmNvZGlu Z192ZXgzDQo+ICsgICAgICAmJiBpLmVuY29kaW5nICE9IGVuY29kaW5nX3ZleDMNCj4gICAgICAg ICYmIGkudG0ub3Bjb2RlX3NwYWNlID09IFNQQUNFXzBGDQo+ICAgICAgICAmJiAoaS5yZXggJiAo UkVYX1cgfCBSRVhfWCB8IFJFWF9CKSkgPT0gMCkNCj4gICAgICB7DQo+IEBAIC00NzU4LDcgKzQ3 NTgsNyBAQCBvcHRpbWl6ZV9lbmNvZGluZyAodm9pZCkNCj4gIAkgICAmJiAoaS50bS5vcGNvZGVf bW9kaWZpZXIudmV4DQo+ICAJICAgICAgIHx8ICgoIWkubWFzay5yZWcgfHwgaS5tYXNrLnplcm9p bmcpDQo+ICAJCSAgICYmIGkudG0ub3Bjb2RlX21vZGlmaWVyLmV2ZXgNCj4gLQkJICAgJiYgKGku dmVjX2VuY29kaW5nICE9IHZleF9lbmNvZGluZ19ldmV4DQo+ICsJCSAgICYmIChpLmVuY29kaW5n ICE9IGVuY29kaW5nX2V2ZXgNCj4gIAkJICAgICAgIHx8IGNwdV9hcmNoX2lzYV9mbGFncy5iaXRm aWVsZC5jcHVhdng1MTJ2bA0KPiAgCQkgICAgICAgfHwgaXNfY3B1ICgmaS50bSwgQ3B1QVZYNTEy VkwpDQo+ICAJCSAgICAgICB8fCAoaS50bS5vcGVyYW5kX3R5cGVzWzJdLmJpdGZpZWxkLnptbXdv cmQNCj4gQEAgLTQ4MDgsMTIgKzQ4MDgsMTIgQEAgb3B0aW1pemVfZW5jb2RpbmcgKHZvaWQpDQo+ ICAgICAgICAgKi8NCj4gICAgICAgIGlmIChpLnRtLm9wY29kZV9tb2RpZmllci5ldmV4KQ0KPiAg CXsNCj4gLQkgIGlmIChpLnZlY19lbmNvZGluZyAhPSB2ZXhfZW5jb2RpbmdfZXZleCkNCj4gKwkg IGlmIChpLmVuY29kaW5nICE9IGVuY29kaW5nX2V2ZXgpDQo+ICAJICAgIHsNCj4gIAkgICAgICBp LnRtLm9wY29kZV9tb2RpZmllci52ZXggPSBWRVgxMjg7DQo+ICAJICAgICAgaS50bS5vcGNvZGVf bW9kaWZpZXIudmV4dyA9IFZFWFcwOw0KPiAgCSAgICAgIGkudG0ub3Bjb2RlX21vZGlmaWVyLmV2 ZXggPSAwOw0KPiAtCSAgICAgIGkudmVjX2VuY29kaW5nID0gdmV4X2VuY29kaW5nX3ZleDsNCj4g KwkgICAgICBpLmVuY29kaW5nID0gZW5jb2RpbmdfdmV4Ow0KPiAgCSAgICAgIGkubWFzay5yZWcg PSBOVUxMOw0KPiAgCSAgICB9DQo+ICAJICBlbHNlIGlmIChvcHRpbWl6ZSA+IDEpDQo+IEBAIC00 ODM2LDcgKzQ4MzYsNyBAQCBvcHRpbWl6ZV9lbmNvZGluZyAodm9pZCkNCj4gIAkgICAgaS50eXBl c1tqXS5iaXRmaWVsZC55bW13b3JkID0gMDsNCj4gIAkgIH0NCj4gICAgICB9DQo+IC0gIGVsc2Ug aWYgKGkudmVjX2VuY29kaW5nICE9IHZleF9lbmNvZGluZ19ldmV4DQo+ICsgIGVsc2UgaWYgKGku ZW5jb2RpbmcgIT0gZW5jb2RpbmdfZXZleA0KPiAgCSAgICYmICFpLnR5cGVzWzBdLmJpdGZpZWxk LnptbXdvcmQNCj4gIAkgICAmJiAhaS50eXBlc1sxXS5iaXRmaWVsZC56bW13b3JkDQo+ICAJICAg JiYgIWkubWFzay5yZWcNCj4gQEAgLTQ5NzgsNyArNDk3OCw3IEBAIG9wdGltaXplX2VuY29kaW5n ICh2b2lkKQ0KPiAgCSAgICYmIGkudG0ub3Bjb2RlX21vZGlmaWVyLnZleA0KPiAgCSAgICYmICEo aS5vcFswXS5yZWdzLT5yZWdfZmxhZ3MgJiBSZWdSZXgpDQo+ICAJICAgJiYgaS5vcFswXS5yZWdz LT5yZWdfdHlwZS5iaXRmaWVsZC54bW13b3JkDQo+IC0JICAgJiYgaS52ZWNfZW5jb2RpbmcgIT0g dmV4X2VuY29kaW5nX3ZleDMpDQo+ICsJICAgJiYgaS5lbmNvZGluZyAhPSBlbmNvZGluZ192ZXgz KQ0KPiAgICAgIHsNCj4gICAgICAgIC8qIE9wdGltaXplOiAtT3M6DQo+ICAgICAgICAgICB2cGJy b2FkY2FzdHEgJXhtbU4sICV4bW1NICAtPg0KPiB2cHVucGNrbHFkcSAleG1tTiwgJXhtbU4sICV4 bW1NIChOIDwgOCkgQEAgLTY4MzksMTAgKzY4MzksMTANCj4gQEAgbWRfYXNzZW1ibGUgKGNoYXIg KmxpbmUpDQo+ICAgIGlmIChvcHRpbWl6ZSAmJiAhaS5ub19vcHRpbWl6ZSAmJiBpLnRtLm9wY29k ZV9tb2RpZmllci5vcHRpbWl6ZSkNCj4gICAgICBvcHRpbWl6ZV9lbmNvZGluZyAoKTsNCj4gDQo+ IC0gIC8qIFBhc3Qgb3B0aW1pemF0aW9uIHRoZXJlJ3Mgbm8gbmVlZCB0byBkaXN0aW5ndWlzaCB2 ZXhfZW5jb2RpbmdfZXZleCBhbmQNCj4gLSAgICAgdmV4X2VuY29kaW5nX2V2ZXg1MTIgYW55bW9y ZS4gICovDQo+IC0gIGlmIChpLnZlY19lbmNvZGluZyA9PSB2ZXhfZW5jb2RpbmdfZXZleDUxMikN Cj4gLSAgICBpLnZlY19lbmNvZGluZyA9IHZleF9lbmNvZGluZ19ldmV4Ow0KPiArICAvKiBQYXN0 IG9wdGltaXphdGlvbiB0aGVyZSdzIG5vIG5lZWQgdG8gZGlzdGluZ3Vpc2ggZW5jb2RpbmdfZXZl eCBhbmQNCj4gKyAgICAgZW5jb2RpbmdfZXZleDUxMiBhbnltb3JlLiAgKi8NCj4gKyAgaWYgKGku ZW5jb2RpbmcgPT0gZW5jb2RpbmdfZXZleDUxMikNCj4gKyAgICBpLmVuY29kaW5nID0gZW5jb2Rp bmdfZXZleDsNCj4gDQo+ICAgIGlmICh1c2VfdW5hbGlnbmVkX3ZlY3Rvcl9tb3ZlKQ0KPiAgICAg IGVuY29kZV93aXRoX3VuYWxpZ25lZF92ZWN0b3JfbW92ZSAoKTsgQEAgLTcxMzYsMTUgKzcxMzYs MTUgQEANCj4gcGFyc2VfaW5zbiAoY29uc3QgY2hhciAqbGluZSwgY2hhciAqbW5lbQ0KPiAgCQkg IGJyZWFrOw0KPiAgCQljYXNlIFByZWZpeF9WRVg6DQo+ICAJCSAgLyoge3ZleH0gKi8NCj4gLQkJ ICBpLnZlY19lbmNvZGluZyA9IHZleF9lbmNvZGluZ192ZXg7DQo+ICsJCSAgaS5lbmNvZGluZyA9 IGVuY29kaW5nX3ZleDsNCj4gIAkJICBicmVhazsNCj4gIAkJY2FzZSBQcmVmaXhfVkVYMzoNCj4g IAkJICAvKiB7dmV4M30gKi8NCj4gLQkJICBpLnZlY19lbmNvZGluZyA9IHZleF9lbmNvZGluZ192 ZXgzOw0KPiArCQkgIGkuZW5jb2RpbmcgPSBlbmNvZGluZ192ZXgzOw0KPiAgCQkgIGJyZWFrOw0K PiAgCQljYXNlIFByZWZpeF9FVkVYOg0KPiAgCQkgIC8qIHtldmV4fSAqLw0KPiAtCQkgIGkudmVj X2VuY29kaW5nID0gdmV4X2VuY29kaW5nX2V2ZXg7DQo+ICsJCSAgaS5lbmNvZGluZyA9IGVuY29k aW5nX2V2ZXg7DQo+ICAJCSAgYnJlYWs7DQo+ICAJCWNhc2UgUHJlZml4X1JFWDoNCj4gIAkJICAv KiB7cmV4fSAqLw0KPiBAQCAtODI2MCw3ICs4MjYwLDcgQEAgY2hlY2tfVmVjT3BlcmFuZHMgKGNv bnN0IGluc25fdGVtcGxhdGUgKiAgc3RhdGljDQo+IGludCAgVkVYX2NoZWNrX2VuY29kaW5nIChj b25zdCBpbnNuX3RlbXBsYXRlICp0KSAgew0KPiAtICBpZiAoaS52ZWNfZW5jb2RpbmcgPT0gdmV4 X2VuY29kaW5nX2Vycm9yKQ0KPiArICBpZiAoaS5lbmNvZGluZyA9PSBlbmNvZGluZ19lcnJvcikN Cj4gICAgICB7DQo+ICAgICAgICBpLmVycm9yID0gdW5zdXBwb3J0ZWQ7DQo+ICAgICAgICByZXR1 cm4gMTsNCj4gQEAgLTgyNzcsOCArODI3Nyw4IEBAIFZFWF9jaGVja19lbmNvZGluZyAoY29uc3Qg aW5zbl90ZW1wbGF0ZQ0KPiAgICAgICAgcmV0dXJuIDE7DQo+ICAgICAgfQ0KPiANCj4gLSAgaWYg KGkudmVjX2VuY29kaW5nID09IHZleF9lbmNvZGluZ19ldmV4DQo+IC0gICAgICB8fCBpLnZlY19l bmNvZGluZyA9PSB2ZXhfZW5jb2RpbmdfZXZleDUxMikNCj4gKyAgaWYgKGkuZW5jb2RpbmcgPT0g ZW5jb2RpbmdfZXZleA0KPiArICAgICAgfHwgaS5lbmNvZGluZyA9PSBlbmNvZGluZ19ldmV4NTEy KQ0KPiAgICAgIHsNCj4gICAgICAgIC8qIFRoaXMgaW5zdHJ1Y3Rpb24gbXVzdCBiZSBlbmNvZGVk IHdpdGggRVZFWCBwcmVmaXguICAqLw0KPiAgICAgICAgaWYgKCF0LT5vcGNvZGVfbW9kaWZpZXIu ZXZleCkNCj4gQEAgLTgyOTIsNyArODI5Miw3IEBAIFZFWF9jaGVja19lbmNvZGluZyAoY29uc3Qg aW5zbl90ZW1wbGF0ZQ0KPiAgICBpZiAoIXQtPm9wY29kZV9tb2RpZmllci52ZXgpDQo+ICAgICAg ew0KPiAgICAgICAgLyogVGhpcyBpbnN0cnVjdGlvbiB0ZW1wbGF0ZSBkb2Vzbid0IGhhdmUgVkVY IHByZWZpeC4gICovDQo+IC0gICAgICBpZiAoaS52ZWNfZW5jb2RpbmcgIT0gdmV4X2VuY29kaW5n X2RlZmF1bHQpDQo+ICsgICAgICBpZiAoaS5lbmNvZGluZyAhPSBlbmNvZGluZ19kZWZhdWx0KQ0K PiAgCXsNCj4gIAkgIGkuZXJyb3IgPSBub192ZXhfZW5jb2Rpbmc7DQo+ICAJICByZXR1cm4gMTsN Cj4gQEAgLTg5NjcsNyArODk2Nyw3IEBAIG1hdGNoX3RlbXBsYXRlIChjaGFyIG1uZW1fc3VmZml4 KQ0KPiAgCSBOb3RlIHRoYXQgdGhlIHNlbWFudGljcyBoYXZlIG5vdCBiZWVuIGNoYW5nZWQuICAq Lw0KPiAgICAgICAgaWYgKG9wdGltaXplDQo+ICAJICAmJiAhaS5ub19vcHRpbWl6ZQ0KPiAtCSAg JiYgaS52ZWNfZW5jb2RpbmcgIT0gdmV4X2VuY29kaW5nX2V2ZXgNCj4gKwkgICYmIGkuZW5jb2Rp bmcgIT0gZW5jb2RpbmdfZXZleA0KPiAgCSAgJiYgKCh0ICsgMSA8IGN1cnJlbnRfdGVtcGxhdGVz LmVuZA0KPiAgCSAgICAgICAmJiAhdFsxXS5vcGNvZGVfbW9kaWZpZXIuZXZleA0KPiAgCSAgICAg ICAmJiB0WzFdLm9wY29kZV9zcGFjZSA8PSBTUEFDRV8wRjM4IEBAIC0xMDE1Nyw3ICsxMDE1Nyw3 DQo+IEBAIHByb2Nlc3Nfb3BlcmFuZHMgKHZvaWQpDQo+ICAgICAgICBpZiAoZG90X2luc24gKCkg JiYgaS5yZWdfb3BlcmFuZHMgPT0gMikNCj4gIAl7DQo+ICAJICBnYXNfYXNzZXJ0IChpc19hbnlf dmV4X2VuY29kaW5nICgmaS50bSkNCj4gLQkJICAgICAgfHwgaS52ZWNfZW5jb2RpbmcgIT0gdmV4 X2VuY29kaW5nX2RlZmF1bHQpOw0KPiArCQkgICAgICB8fCBpLmVuY29kaW5nICE9IGVuY29kaW5n X2RlZmF1bHQpOw0KPiAgCSAgaS52ZXgucmVnaXN0ZXJfc3BlY2lmaWVyID0gaS5vcFtpLm9wZXJh bmRzIC0gMV0ucmVnczsNCj4gIAl9DQo+ICAgICAgfQ0KPiBAQCAtMTAxNjcsNyArMTAxNjcsNyBA QCBwcm9jZXNzX29wZXJhbmRzICh2b2lkKQ0KPiAgCSAgICAgID09IEluc3RhbmNlTm9uZSkNCj4g ICAgICB7DQo+ICAgICAgICBnYXNfYXNzZXJ0IChpc19hbnlfdmV4X2VuY29kaW5nICgmaS50bSkN Cj4gLQkJICB8fCBpLnZlY19lbmNvZGluZyAhPSB2ZXhfZW5jb2RpbmdfZGVmYXVsdCk7DQo+ICsJ CSAgfHwgaS5lbmNvZGluZyAhPSBlbmNvZGluZ19kZWZhdWx0KTsNCj4gICAgICAgIGkudmV4LnJl Z2lzdGVyX3NwZWNpZmllciA9IGkub3BbaS5vcGVyYW5kcyAtIDFdLnJlZ3M7DQo+ICAgICAgfQ0K PiANCj4gQEAgLTEwMjc1LDcgKzEwMjc1LDcgQEAgYnVpbGRfbW9kcm1fYnl0ZSAodm9pZCkNCj4g IAl9DQo+ICAgICAgICBleHAtPlhfYWRkX251bWJlciB8PSByZWdpc3Rlcl9udW1iZXIgKGkub3Bb cmVnX3Nsb3RdLnJlZ3MpDQo+ICAJCQkgICA8PCAoMyArICEoaS50bS5vcGNvZGVfbW9kaWZpZXIu ZXZleA0KPiAtCQkJCSAgICAgfHwgaS52ZWNfZW5jb2RpbmcgPT0gdmV4X2VuY29kaW5nX2V2ZXgp KTsNCj4gKwkJCQkgICAgIHx8IGkuZW5jb2RpbmcgPT0gZW5jb2RpbmdfZXZleCkpOw0KPiAgICAg IH0NCj4gDQo+ICAgIGlmIChpLnRtLm9wY29kZV9tb2RpZmllci52ZXh2dnZ2ID09IFZleFZWVlZf RFNUKSBAQCAtMTI1NDgsMjANCj4gKzEyNTQ4LDIwIEBAIHNfaW5zbiAoaW50IGR1bW15IEFUVFJJ QlVURV9VTlVTRUQpDQo+ICAgICAgfQ0KPiANCj4gICAgaWYgKHZleCB8fCB4b3ANCj4gLSAgICAg ID8gaS52ZWNfZW5jb2RpbmcgPT0gdmV4X2VuY29kaW5nX2V2ZXgNCj4gKyAgICAgID8gaS5lbmNv ZGluZyA9PSBlbmNvZGluZ19ldmV4DQo+ICAgICAgICA6IGV2ZXgNCj4gLQk/IGkudmVjX2VuY29k aW5nID09IHZleF9lbmNvZGluZ192ZXgNCj4gLQkgIHx8IGkudmVjX2VuY29kaW5nID09IHZleF9l bmNvZGluZ192ZXgzDQo+IC0JOiBpLnZlY19lbmNvZGluZyAhPSB2ZXhfZW5jb2RpbmdfZGVmYXVs dCkNCj4gKwk/IGkuZW5jb2RpbmcgPT0gZW5jb2RpbmdfdmV4DQo+ICsJICB8fCBpLmVuY29kaW5n ID09IGVuY29kaW5nX3ZleDMNCj4gKwk6IGkuZW5jb2RpbmcgIT0gZW5jb2RpbmdfZGVmYXVsdCkN Cj4gICAgICB7DQo+ICAgICAgICBhc19iYWQgKF8oInBzZXVkby1wcmVmaXggY29uZmxpY3RzIHdp dGggZW5jb2Rpbmcgc3BlY2lmaWVyIikpOw0KPiAgICAgICAgZ290byBiYWQ7DQo+ICAgICAgfQ0K PiANCj4gLSAgaWYgKGxpbmUgPiBlbmQgJiYgaS52ZWNfZW5jb2RpbmcgPT0gdmV4X2VuY29kaW5n X2RlZmF1bHQpDQo+IC0gICAgaS52ZWNfZW5jb2RpbmcgPSBldmV4ID8gdmV4X2VuY29kaW5nX2V2 ZXggOiB2ZXhfZW5jb2RpbmdfdmV4Ow0KPiArICBpZiAobGluZSA+IGVuZCAmJiBpLmVuY29kaW5n ID09IGVuY29kaW5nX2RlZmF1bHQpDQo+ICsgICAgaS5lbmNvZGluZyA9IGV2ZXggPyBlbmNvZGlu Z19ldmV4IDogZW5jb2RpbmdfdmV4Ow0KPiANCj4gLSAgaWYgKGkudmVjX2VuY29kaW5nICE9IHZl eF9lbmNvZGluZ19kZWZhdWx0KQ0KPiArICBpZiAoaS5lbmNvZGluZyAhPSBlbmNvZGluZ19kZWZh dWx0KQ0KPiAgICAgIHsNCj4gICAgICAgIC8qIE9ubHkgYWRkcmVzcyBzaXplIGFuZCBzZWdtZW50 IG92ZXJyaWRlIHByZWZpeGVzIGFyZSBwZXJtaXR0ZWQgd2l0aA0KPiAgICAgICAgICAgVkVYL1hP UC9FVkVYIGVuY29kaW5ncy4gICovDQo+IEBAIC0xMjg5MiwyMCArMTI4OTIsMjAgQEAgc19pbnNu IChpbnQgZHVtbXkgQVRUUklCVVRFX1VOVVNFRCkNCj4gIAkgIGdvdG8gZG9uZTsNCj4gIAl9DQo+ IA0KPiAtICAgICAgLyogTm8gbmVlZCB0byBkaXN0aW5ndWlzaCB2ZXhfZW5jb2RpbmdfZXZleCBh bmQgdmV4X2VuY29kaW5nX2V2ZXg1MTIuDQo+ICovDQo+IC0gICAgICBpZiAoaS52ZWNfZW5jb2Rp bmcgPT0gdmV4X2VuY29kaW5nX2V2ZXg1MTIpDQo+IC0JaS52ZWNfZW5jb2RpbmcgPSB2ZXhfZW5j b2RpbmdfZXZleDsNCj4gKyAgICAgIC8qIE5vIG5lZWQgdG8gZGlzdGluZ3Vpc2ggZW5jb2Rpbmdf ZXZleCBhbmQgZW5jb2RpbmdfZXZleDUxMi4gICovDQo+ICsgICAgICBpZiAoaS5lbmNvZGluZyA9 PSBlbmNvZGluZ19ldmV4NTEyKQ0KPiArCWkuZW5jb2RpbmcgPSBlbmNvZGluZ19ldmV4Ow0KPiAN Cj4gICAgICAgIC8qIEFyZSB3ZSB0byBlbWl0IE1vZFIvTSBlbmNvZGluZz8gICovDQo+ICAgICAg ICBpZiAoIWkuc2hvcnRfZm9ybQ0KPiAgCSAgJiYgKGkubWVtX29wZXJhbmRzDQo+IC0JICAgICAg fHwgaS5yZWdfb3BlcmFuZHMgPiAoaS52ZWNfZW5jb2RpbmcgIT0gdmV4X2VuY29kaW5nX2RlZmF1 bHQpDQo+ICsJICAgICAgfHwgaS5yZWdfb3BlcmFuZHMgPiAoaS5lbmNvZGluZyAhPSBlbmNvZGlu Z19kZWZhdWx0KQ0KPiAgCSAgICAgIHx8IGkudG0uZXh0ZW5zaW9uX29wY29kZSAhPSBOb25lKSkN Cj4gIAlpLnRtLm9wY29kZV9tb2RpZmllci5tb2RybSA9IDE7DQo+IA0KPiAgICAgICAgaWYgKCFp LnRtLm9wY29kZV9tb2RpZmllci5tb2RybQ0KPiAgCSAgJiYgKGkucmVnX29wZXJhbmRzDQo+IC0J ICAgICAgPiBpLnNob3J0X2Zvcm0gKyAwVSArIChpLnZlY19lbmNvZGluZyAhPSB2ZXhfZW5jb2Rp bmdfZGVmYXVsdCkNCj4gKwkgICAgICA+IGkuc2hvcnRfZm9ybSArIDBVICsgKGkuZW5jb2Rpbmcg IT0gZW5jb2RpbmdfZGVmYXVsdCkNCj4gIAkgICAgICB8fCBpLm1lbV9vcGVyYW5kcykpDQo+ICAJ ew0KPiAgCSAgYXNfYmFkIChfKCJ0b28gbWFueSByZWdpc3Rlci9tZW1vcnkgb3BlcmFuZHMiKSk7 IEBAIC0xMjk0NCw3DQo+ICsxMjk0NCw3IEBAIHNfaW5zbiAoaW50IGR1bW15IEFUVFJJQlVURV9V TlVTRUQpDQo+ICAJICAgIH0NCj4gIAkgIC8qIEZhbGwgdGhyb3VnaC4gICovDQo+ICAJY2FzZSAz Og0KPiAtCSAgaWYgKGkudmVjX2VuY29kaW5nICE9IHZleF9lbmNvZGluZ19kZWZhdWx0KQ0KPiAr CSAgaWYgKGkuZW5jb2RpbmcgIT0gZW5jb2RpbmdfZGVmYXVsdCkNCj4gIAkgICAgew0KPiAgCSAg ICAgIGkudG0ub3Bjb2RlX21vZGlmaWVyLnZleHZ2dnYgPSAxOw0KPiAgCSAgICAgIGJyZWFrOw0K PiBAQCAtMTMwMDAsMTMgKzEzMDAwLDEzIEBAIHNfaW5zbiAoaW50IGR1bW15IEFUVFJJQlVURV9V TlVTRUQpDQo+ICAJICAgICAgfHwgaS5pbmRleF9yZWctPnJlZ190eXBlLmJpdGZpZWxkLnltbXdv cmQNCj4gIAkgICAgICB8fCBpLmluZGV4X3JlZy0+cmVnX3R5cGUuYml0ZmllbGQuem1td29yZCkp DQo+ICAJew0KPiAtCSAgaWYgKGkudmVjX2VuY29kaW5nID09IHZleF9lbmNvZGluZ19kZWZhdWx0 KQ0KPiArCSAgaWYgKGkuZW5jb2RpbmcgPT0gZW5jb2RpbmdfZGVmYXVsdCkNCj4gIAkgICAgew0K PiAgCSAgICAgIGFzX2JhZCAoXygiVlNJQiB1bmF2YWlsYWJsZSB3aXRoIGxlZ2FjeSBlbmNvZGlu ZyIpKTsNCj4gIAkgICAgICBnb3RvIGRvbmU7DQo+ICAJICAgIH0NCj4gDQo+IC0JICBpZiAoaS52 ZWNfZW5jb2RpbmcgPT0gdmV4X2VuY29kaW5nX2V2ZXgNCj4gKwkgIGlmIChpLmVuY29kaW5nID09 IGVuY29kaW5nX2V2ZXgNCj4gIAkgICAgICAmJiBpLnJlZ19vcGVyYW5kcyA+IDEpDQo+ICAJICAg IHsNCj4gIAkgICAgICAvKiBXZSBjb3VsZCBhbGxvdyB0d28gcmVnaXN0ZXIgb3BlcmFuZHMsIGVu Y29kaW5nIHRoZSAybmQgb25lIGluDQo+IEBAIC0xMzAyNiw3ICsxMzAyNiw3IEBAIHNfaW5zbiAo aW50IGR1bW15IEFUVFJJQlVURV9VTlVTRUQpDQo+ICAgICAgICBmb3IgKGogPSBpLmltbV9vcGVy YW5kczsgaiA8IGkub3BlcmFuZHM7ICsraikNCj4gIAl7DQo+ICAJICAvKiBMb29rIGZvciA4LWJp dCBvcGVyYW5kcyB0aGF0IHVzZSBvbGQgcmVnaXN0ZXJzLiAgKi8NCj4gLQkgIGlmIChpLnZlY19l bmNvZGluZyAhPSB2ZXhfZW5jb2RpbmdfZGVmYXVsdA0KPiArCSAgaWYgKGkuZW5jb2RpbmcgIT0g ZW5jb2RpbmdfZGVmYXVsdA0KPiAgCSAgICAgICYmIGZsYWdfY29kZSA9PSBDT0RFXzY0QklUDQo+ ICAJICAgICAgJiYgaS50eXBlc1tqXS5iaXRmaWVsZC5jbGFzcyA9PSBSZWcNCj4gIAkgICAgICAm JiBpLnR5cGVzW2pdLmJpdGZpZWxkLmJ5dGUNCj4gQEAgLTEzMDg1LDcgKzEzMDg1LDcgQEAgc19p bnNuIChpbnQgZHVtbXkgQVRUUklCVVRFX1VOVVNFRCkNCj4gIAljYXNlICA0OiBjb21iaW5lZC5i aXRmaWVsZC5kd29yZCA9IDE7IGJyZWFrOw0KPiAgCX0NCj4gDQo+IC0gICAgICBpZiAoaS52ZWNf ZW5jb2RpbmcgPT0gdmV4X2VuY29kaW5nX2RlZmF1bHQpDQo+ICsgICAgICBpZiAoaS5lbmNvZGlu ZyA9PSBlbmNvZGluZ19kZWZhdWx0KQ0KPiAgCXsNCj4gIAkgIGlmIChmbGFnX2NvZGUgPT0gQ09E RV82NEJJVCAmJiBjb21iaW5lZC5iaXRmaWVsZC5xd29yZCkNCj4gIAkgICAgaS5yZXggfD0gUkVY X1c7DQo+IEBAIC0xMzE2Miw3ICsxMzE2Miw3IEBAIHNfaW5zbiAoaW50IGR1bW15IEFUVFJJQlVU RV9VTlVTRUQpDQo+ICAgICAgICBpZiAoaS5tZW1zaGlmdCA+PSAzMikNCj4gIAlpLm1lbXNoaWZ0 ID0gMDsNCj4gICAgICAgIGVsc2UgaWYgKCFldmV4KQ0KPiAtCWkudmVjX2VuY29kaW5nID0gdmV4 X2VuY29kaW5nX2Vycm9yOw0KPiArCWkuZW5jb2RpbmcgPSBlbmNvZGluZ19lcnJvcjsNCj4gDQo+ ICAgICAgICBpZiAoaS5kaXNwX29wZXJhbmRzICYmICFvcHRpbWl6ZV9kaXNwICgmaS50bSkpDQo+ ICAJZ290byBkb25lOw0KPiBAQCAtMTMyMjgsOCArMTMyMjgsOCBAQCBzX2luc24gKGludCBkdW1t eSBBVFRSSUJVVEVfVU5VU0VEKQ0KPiAgICAgICBwb3RlbnRpYWwgc3BlY2lhbCBjYXNpbmcgdGhl cmUuICAqLw0KPiAgICBpLnRtLmJhc2Vfb3Bjb2RlIHw9IHZhbDsNCj4gDQo+IC0gIGlmIChpLnZl Y19lbmNvZGluZyA9PSB2ZXhfZW5jb2RpbmdfZXJyb3INCj4gLSAgICAgIHx8IChpLnZlY19lbmNv ZGluZyAhPSB2ZXhfZW5jb2RpbmdfZXZleA0KPiArICBpZiAoaS5lbmNvZGluZyA9PSBlbmNvZGlu Z19lcnJvcg0KPiArICAgICAgfHwgKGkuZW5jb2RpbmcgIT0gZW5jb2RpbmdfZXZleA0KPiAgCSAg PyBpLmJyb2FkY2FzdC50eXBlIHx8IGkuYnJvYWRjYXN0LmJ5dGVzDQo+ICAJICAgIHx8IGkucm91 bmRpbmcudHlwZSAhPSByY19ub25lDQo+ICAJICAgIHx8IGkubWFzay5yZWcNCj4gQEAgLTEzMzQw LDEwICsxMzM0MCwxMCBAQCBSQ19TQUVfc3BlY2lmaWVyIChjb25zdCBjaGFyICpwc3RyKQ0KPiAg CSAgICAgIHJldHVybiBOVUxMOw0KPiAgCSAgICB9DQo+IA0KPiAtCSAgaWYgKGkudmVjX2VuY29k aW5nID09IHZleF9lbmNvZGluZ19kZWZhdWx0KQ0KPiAtCSAgICBpLnZlY19lbmNvZGluZyA9IHZl eF9lbmNvZGluZ19ldmV4NTEyOw0KPiAtCSAgZWxzZSBpZiAoaS52ZWNfZW5jb2RpbmcgIT0gdmV4 X2VuY29kaW5nX2V2ZXgNCj4gLQkJICAgJiYgaS52ZWNfZW5jb2RpbmcgIT0gdmV4X2VuY29kaW5n X2V2ZXg1MTIpDQo+ICsJICBpZiAoaS5lbmNvZGluZyA9PSBlbmNvZGluZ19kZWZhdWx0KQ0KPiAr CSAgICBpLmVuY29kaW5nID0gZW5jb2RpbmdfZXZleDUxMjsNCj4gKwkgIGVsc2UgaWYgKGkuZW5j b2RpbmcgIT0gZW5jb2RpbmdfZXZleA0KPiArCQkgICAmJiBpLmVuY29kaW5nICE9IGVuY29kaW5n X2V2ZXg1MTIpDQo+ICAJICAgIHJldHVybiBOVUxMOw0KPiANCj4gIAkgIGkucm91bmRpbmcudHlw ZSA9IFJDX05hbWVzVGFibGVbal0udHlwZTsgQEAgLTEzNDA1LDEwICsxMzQwNSwxMA0KPiBAQCBj aGVja19WZWNPcGVyYXRpb25zIChjaGFyICpvcF9zdHJpbmcpDQo+ICAJCX0NCj4gIAkgICAgICBv cF9zdHJpbmcrKzsNCj4gDQo+IC0JICAgICAgaWYgKGkudmVjX2VuY29kaW5nID09IHZleF9lbmNv ZGluZ19kZWZhdWx0KQ0KPiAtCQlpLnZlY19lbmNvZGluZyA9IHZleF9lbmNvZGluZ19ldmV4Ow0K PiAtCSAgICAgIGVsc2UgaWYgKGkudmVjX2VuY29kaW5nICE9IHZleF9lbmNvZGluZ19ldmV4DQo+ IC0JCSAgICAgICAmJiBpLnZlY19lbmNvZGluZyAhPSB2ZXhfZW5jb2RpbmdfZXZleDUxMikNCj4g KwkgICAgICBpZiAoaS5lbmNvZGluZyA9PSBlbmNvZGluZ19kZWZhdWx0KQ0KPiArCQlpLmVuY29k aW5nID0gZW5jb2RpbmdfZXZleDsNCj4gKwkgICAgICBlbHNlIGlmIChpLmVuY29kaW5nICE9IGVu Y29kaW5nX2V2ZXgNCj4gKwkJICAgICAgICYmIGkuZW5jb2RpbmcgIT0gZW5jb2RpbmdfZXZleDUx MikNCj4gIAkJZ290byB1bmtub3duX3ZlY19vcDsNCj4gDQo+ICAJICAgICAgaS5icm9hZGNhc3Qu dHlwZSA9IGJjc3RfdHlwZTsNCj4gQEAgLTE1Njc2LDExICsxNTY3NiwxMSBAQCBzdGF0aWMgYm9v bCBjaGVja19yZWdpc3RlciAoY29uc3QgcmVnX2VuDQo+ICAgICAgICBpZiAodmVjdG9yX3NpemUg PCBWU1o1MTIpDQo+ICAJcmV0dXJuIGZhbHNlOw0KPiANCj4gLSAgICAgIGlmIChpLnZlY19lbmNv ZGluZyA9PSB2ZXhfZW5jb2RpbmdfZGVmYXVsdCkNCj4gLQlpLnZlY19lbmNvZGluZyA9IHZleF9l bmNvZGluZ19ldmV4NTEyOw0KPiAtICAgICAgZWxzZSBpZiAoaS52ZWNfZW5jb2RpbmcgIT0gdmV4 X2VuY29kaW5nX2V2ZXgNCj4gLQkgICAgICAgJiYgaS52ZWNfZW5jb2RpbmcgIT0gdmV4X2VuY29k aW5nX2V2ZXg1MTIpDQo+IC0JaS52ZWNfZW5jb2RpbmcgPSB2ZXhfZW5jb2RpbmdfZXJyb3I7DQo+ ICsgICAgICBpZiAoaS5lbmNvZGluZyA9PSBlbmNvZGluZ19kZWZhdWx0KQ0KPiArCWkuZW5jb2Rp bmcgPSBlbmNvZGluZ19ldmV4NTEyOw0KPiArICAgICAgZWxzZSBpZiAoaS5lbmNvZGluZyAhPSBl bmNvZGluZ19ldmV4DQo+ICsJICAgICAgICYmIGkuZW5jb2RpbmcgIT0gZW5jb2RpbmdfZXZleDUx MikNCj4gKwlpLmVuY29kaW5nID0gZW5jb2RpbmdfZXJyb3I7DQo+ICAgICAgfQ0KPiANCj4gICAg aWYgKHZlY3Rvcl9zaXplIDwgVlNaMjU2ICYmIHItPnJlZ190eXBlLmJpdGZpZWxkLnltbXdvcmQp IEBAIC0xNTcwNiwxMQ0KPiArMTU3MDYsMTEgQEAgc3RhdGljIGJvb2wgY2hlY2tfcmVnaXN0ZXIg KGNvbnN0IHJlZ19lbg0KPiAgCSAgfHwgZmxhZ19jb2RlICE9IENPREVfNjRCSVQpDQo+ICAJcmV0 dXJuIGZhbHNlOw0KPiANCj4gLSAgICAgIGlmIChpLnZlY19lbmNvZGluZyA9PSB2ZXhfZW5jb2Rp bmdfZGVmYXVsdA0KPiAtCSAgfHwgaS52ZWNfZW5jb2RpbmcgPT0gdmV4X2VuY29kaW5nX2V2ZXg1 MTIpDQo+IC0JaS52ZWNfZW5jb2RpbmcgPSB2ZXhfZW5jb2RpbmdfZXZleDsNCj4gLSAgICAgIGVs c2UgaWYgKGkudmVjX2VuY29kaW5nICE9IHZleF9lbmNvZGluZ19ldmV4KQ0KPiAtCWkudmVjX2Vu Y29kaW5nID0gdmV4X2VuY29kaW5nX2Vycm9yOw0KPiArICAgICAgaWYgKGkuZW5jb2RpbmcgPT0g ZW5jb2RpbmdfZGVmYXVsdA0KPiArCSAgfHwgaS5lbmNvZGluZyA9PSBlbmNvZGluZ19ldmV4NTEy KQ0KPiArCWkuZW5jb2RpbmcgPSBlbmNvZGluZ19ldmV4Ow0KPiArICAgICAgZWxzZSBpZiAoaS5l bmNvZGluZyAhPSBlbmNvZGluZ19ldmV4KQ0KPiArCWkuZW5jb2RpbmcgPSBlbmNvZGluZ19lcnJv cjsNCj4gICAgICB9DQo+IA0KPiAgICBpZiAoci0+cmVnX2ZsYWdzICYgUmVnUmV4MikNCj4gLS0t IGEvZ2FzL2NvbmZpZy90Yy1pMzg2LWludGVsLmMNCj4gKysrIGIvZ2FzL2NvbmZpZy90Yy1pMzg2 LWludGVsLmMNCj4gQEAgLTIwOSwxMCArMjA5LDEwIEBAIG9wZXJhdG9yVCBpMzg2X29wZXJhdG9y IChjb25zdCBjaGFyICpuYW0NCj4gIAkgICAgICB8fCBpMzg2X3R5cGVzW2pdLnN6WzBdID4gOA0K PiAgCSAgICAgIHx8IChpMzg2X3R5cGVzW2pdLnN6WzBdICYgKGkzODZfdHlwZXNbal0uc3pbMF0g LSAxKSkpDQo+ICAJICAgIHJldHVybiBPX2lsbGVnYWw7DQo+IC0JICBpZiAoaS52ZWNfZW5jb2Rp bmcgPT0gdmV4X2VuY29kaW5nX2RlZmF1bHQpDQo+IC0JICAgIGkudmVjX2VuY29kaW5nID0gdmV4 X2VuY29kaW5nX2V2ZXg7DQo+IC0JICBlbHNlIGlmIChpLnZlY19lbmNvZGluZyAhPSB2ZXhfZW5j b2RpbmdfZXZleA0KPiAtCQkgICAmJiBpLnZlY19lbmNvZGluZyAhPSB2ZXhfZW5jb2RpbmdfZXZl eDUxMikNCj4gKwkgIGlmIChpLmVuY29kaW5nID09IGVuY29kaW5nX2RlZmF1bHQpDQo+ICsJICAg IGkuZW5jb2RpbmcgPSBlbmNvZGluZ19ldmV4Ow0KPiArCSAgZWxzZSBpZiAoaS5lbmNvZGluZyAh PSBlbmNvZGluZ19ldmV4DQo+ICsJCSAgICYmIGkuZW5jb2RpbmcgIT0gZW5jb2RpbmdfZXZleDUx MikNCj4gIAkgICAgcmV0dXJuIE9faWxsZWdhbDsNCj4gIAkgIGlmICghaS5icm9hZGNhc3QuYnl0 ZXMgJiYgIWkuYnJvYWRjYXN0LnR5cGUpDQo+ICAJICAgIHsNCg0K