From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id xfNpHdkEG2m+DgwAWB0awg (envelope-from ) for ; Mon, 17 Nov 2025 06:19:53 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=LDa8UDeO; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 681AE1E0AB; Mon, 17 Nov 2025 06:19:53 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 4A3221E08D for ; Mon, 17 Nov 2025 06:19:51 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C998C3858408 for ; Mon, 17 Nov 2025 11:19:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C998C3858408 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=LDa8UDeO Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by sourceware.org (Postfix) with ESMTPS id CBBF6385840E for ; Mon, 17 Nov 2025 11:18:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CBBF6385840E 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 CBBF6385840E Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=192.198.163.12 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1763378323; cv=fail; b=kKMABNo+42BwOjD+63N0QlRydXUh/hEbgC6rGTxR3qnQCdn3ZOLvGtKnr45+xh9BRzxvL3IH/0UCdU/9Lx5shjSiBQMX/jJHhrTb5b+KHihuhf/oas4NaOs4PoKWY1popNLpETo9MkVR7fiFquBzKBZa+DsO+uVB3OSQZ6rv6Ss= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1763378323; c=relaxed/simple; bh=I2S24hMw8mefvFTI3Ntsb7+xi9h966PL9hUzbAd9EvA=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=V7Bb7IUl1F+G0jASbs6B/KUpTWaJeUHh3Kv6s5a3z9ruySQ7mib7kkgdevuxw4A791ZfXg93lgyqnETYe00BFa0vZkiO5jrCkA1CM5tH5Tc5KTYOF+u0wPcEMtGp3Q6MkwykCvpKh3qiXpm/y202D/Mt47uzc+EnFl/hTzvyQlg= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CBBF6385840E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1763378323; x=1794914323; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=I2S24hMw8mefvFTI3Ntsb7+xi9h966PL9hUzbAd9EvA=; b=LDa8UDeO5p1QvDMUpOo2esdm1HHaJyHRHZ5r76wGsePQpcvGa/2WaKEk oTqaTSLvftU9rdlJt1csJlNmlewfCzLRaNuArya5trexlXzvkZUfNeYqm UcxzClj18q3nUaRoH2C5fexuTTUxEUcdmr8ndydjWsPUeoG3THmPd8/Yp 9mgKSGj1ID2+Yu2SwZqSOeOJ0w1vook7sNHtQZKLnvujetRYJb6S8y1Ib S4aEtyJSvogNFSFMf/0wzlk5q1qDcjlNMsza7FrlksPs5QjPRtOlKPTOB kXuJhFFWblDVHQ8ekNY63lvhDbqTIXcS5k1YsTtepkb36E8WQ18EDT2O6 A==; X-CSE-ConnectionGUID: lc2GuT5pT2W4r7tdv+RisA== X-CSE-MsgGUID: ijCrtO5URJ6aNqGYW8BRVg== X-IronPort-AV: E=McAfee;i="6800,10657,11615"; a="69238421" X-IronPort-AV: E=Sophos;i="6.19,311,1754982000"; d="scan'208";a="69238421" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2025 03:18:41 -0800 X-CSE-ConnectionGUID: 3zS3GmxsRCeG/Worg6vj3w== X-CSE-MsgGUID: 12hV4dueRpOJiQltxSVBfQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.19,311,1754982000"; d="scan'208";a="227762984" Received: from fmsmsx901.amr.corp.intel.com ([10.18.126.90]) by orviesa001.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2025 03:18:42 -0800 Received: from FMSMSX901.amr.corp.intel.com (10.18.126.90) by fmsmsx901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Mon, 17 Nov 2025 03:18:40 -0800 Received: from fmsedg903.ED.cps.intel.com (10.1.192.145) by FMSMSX901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27 via Frontend Transport; Mon, 17 Nov 2025 03:18:40 -0800 Received: from SA9PR02CU001.outbound.protection.outlook.com (40.93.196.55) by edgegateway.intel.com (192.55.55.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Mon, 17 Nov 2025 03:18:40 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sfu3RO0xUD+P43CSe3WqCKlTzwza+dX22F9pMMjPzH3xt/Y4aMEXE9ho4vIjAesNy4DyrOwx1VCJ7u39wZffYRSLIaO6f5G2MjIntBU8cWr3mGh5wMGnNWiTCHm3kt7GLjGhf3PukjApXViecMPdgJ6bg+kK1RJH4fEE9H+UEkeGiN6ktb2GX7/tswAJ9i4KDOQyq3fVnbqoUAZzSDVDk8veVmI94Cq2v/XeA9gimIr1GY31brb73WUTtK48tmNYKbIAaaJCsoAsrrrD5fjijquHRDMKTVdRkQsAIaSPxfk/FDWlPGamKvYlF3l/WxkQ2AHILQ2P5RBi2C+oECD3xQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=h68ws9e62CuN361I6YmgzDgH6pgJrO09SDptWAQ1u2w=; b=r6daO1ZCzSkGBWIyXreS9KmLxW7OWYyMRgM03w56SHSwz7BpfqcnSjwaNhd1MYrQwJInpYI9/HpjWX0Nkrj8IV7bx8wGGp/taWBbTL/IemEpq6D+FPhdeToS0Trc7Lw5/pmhZdfjeYEBAp+aeemZ2fMi9+IL/ePiPYaavtCkMI8K8K+hJi/Wafs6v3z4TYiz42iUFya3uiiD3W4B0Q4z+zYf8VOIlBBrlojljc0+SUK5FXSNGkqfJ23727z+YktJ30HhpDB+/3fCSKKR0Ebdhwzln7f7GiWO67o/t1lL6sPuui6ieJbyvSxYezN2IOTVS20R3/NBwLOEfjkl3a1ooA== 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 SN7PR11MB7638.namprd11.prod.outlook.com (2603:10b6:806:34b::22) by MN2PR11MB4581.namprd11.prod.outlook.com (2603:10b6:208:26c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9320.22; Mon, 17 Nov 2025 11:18:33 +0000 Received: from SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::25b8:16dc:755e:34d1]) by SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::25b8:16dc:755e:34d1%5]) with mapi id 15.20.9320.021; Mon, 17 Nov 2025 11:18:33 +0000 From: "Schimpe, Christina" To: Thiago Jung Bauermann CC: "gdb-patches@sourceware.org" Subject: RE: [PATCH 1/9] gdb: Generalize handling of the shadow stack pointer. Thread-Topic: [PATCH 1/9] gdb: Generalize handling of the shadow stack pointer. Thread-Index: AQHcLHwjx+GnjhyKsU+1b5+nSKCgtLTbs0TugBtbkjA= Date: Mon, 17 Nov 2025 11:18:33 +0000 Message-ID: References: <20250923111842.4091694-1-christina.schimpe@intel.com> <20250923111842.4091694-2-christina.schimpe@intel.com> <87bjlnvouh.fsf@linaro.org> In-Reply-To: <87bjlnvouh.fsf@linaro.org> 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: SN7PR11MB7638:EE_|MN2PR11MB4581:EE_ x-ms-office365-filtering-correlation-id: d6df925e-003d-4762-7866-08de25cb0b72 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|38070700021|13003099007; x-microsoft-antispam-message-info: =?utf-8?B?MWdzbWhidmluU0pFMEN2czM1V0R1dUk5YURBRnVqbDFkeUk2cmc1clg3dDd4?= =?utf-8?B?a29EUkROZzcvaUU1ZzZqeWtvTVhaT1NjNzhxdCtZNDFBM3Aya0tMZ1R0YytD?= =?utf-8?B?MGFneTlNYmNWVU4xQXBvVWZKK2gxZThjOThYWWE1TS9uRjZwemhwb3VRYkUv?= =?utf-8?B?WEt4OENVRklmS2JFRUlLN05Xa0RlZ1lTaHFqTXBmUGdWMUhBOHBoaTN4dkZ4?= =?utf-8?B?UkZ4dlVRSDVVcFFxdlZaVVpVZHNJZjJmR3huWHdzQTJVaTE1MHpHa3hiRWRW?= =?utf-8?B?Zm9tMEFINGJnWWdsY3hCcXl1NWNUejE2TzF6WUl6d2J5U3h0aEhoUkdia3Va?= =?utf-8?B?bnYvYmZrN1dKSG1JdE5NaUdSSyt6ajBacGdSc2N2ZzVzRG56VVRuWXJHcWg4?= =?utf-8?B?Nktsc0t3cGd1eXRnOFcydll1c0tIZUd3S3Rrd1h2SS9UMkhmVlM4NStqQXdI?= =?utf-8?B?Rm9pRjVXdWlGSFd3dTIxWWM3NUh1b1BEaHFwY3Z6ZC9EU3FVTnA1a3lNa3hT?= =?utf-8?B?Zjdnb1lNS2hwT3MvVG83SWxXVmtEYlJBU001Z1B6eE1XY2FiaHJYa0cyN0Rp?= =?utf-8?B?dXAyRDh0Qjk2L0ZKaHRTNFFsT0VLY1lZTW5rM0QrWjFXQjdJMWhkQVZDclBN?= =?utf-8?B?d3BvYURZM0pHbndQS0NvQTE5b0VpdnRaeUhzdS9TNEFBc2ZvYnowTzRVSWZV?= =?utf-8?B?aHRsVFBxVDJCdEgzQ1l5VksxRHRtVHBZVmRyNTdUa1k4eXY2N2huUHFxVlBX?= =?utf-8?B?em56N3RLT0RPakJ5Q2o3WG5QV0tkSi9YMCtKVDFLRTZUei9PYjJYMysvdEdL?= =?utf-8?B?bUNLUGpKRjN0eTlvZk80MEo3RVZiYUZ5QkYrMDZqc2Jib2lqdGlkM2JrNnRq?= =?utf-8?B?cUIvYVAxdjdJWXg1WlBGTW5qUWhBaFJNZnhWekljYUJvYk5xVkM1bmNVc051?= =?utf-8?B?ZlZ2ZTRVMW9PZ1gwRFRCK08vckpySTBaYkhncHdzcUprWUFvcW1RUXNBc1Qr?= =?utf-8?B?aUY1bEg0bWJLRGZteEFLUndzMjE4aGwxckRyS0hTbUd5WXdVOWpHNzl0MXhL?= =?utf-8?B?Wm9sVHRzdEhvZWtZS1YwK09heHJaTms5WFNZR2E4UVh4S2lXelBEMjRnS2RP?= =?utf-8?B?Z09pWm5FeEU4eG54TWVvZXFUd05qeW80bExTNHp3cUE4TDNjNWtXdnFEWGxa?= =?utf-8?B?dERBbEpuR0k3THJJRUMyUDVqMGFSK2Z5K1ZUUXptcWdHZWIwS2JtK0NLdFZ4?= =?utf-8?B?SDZvWFI3cG9rWGVXTVU1SHNwUmJMTUhXTURod2ZVL3M2ZDlxNE00VStnTVJy?= =?utf-8?B?dU1XdFVTQU5oaE1TbmJObEdva0pOcHJLbE9UQkFyQStNRFl5SVgrQkdpWldk?= =?utf-8?B?VktDTEpTcTRoTlpOQ0hya01BM3BtVmR2MzBBdCtyQTYyNmo5ZDU2MGlIeEVa?= =?utf-8?B?QWluZDRYNThndVRUR2hwNnNGdTV0WncwalJzSm9yUmRUL3VXQnREUXhLSTJi?= =?utf-8?B?UUthbGZkQWJ2RDdYclNoQXhJbXR1TkxDdnpOUFQyMXlOclRDbElrV2czMHlX?= =?utf-8?B?SUtlZmxSWDJEUDhzVjhRQW9oTUd3UDFPRjdDck5WY0w2Y2JObDczOUZmdDQ4?= =?utf-8?B?NTJ1cVVINWJhQS85SG9pKzhqQjNLeXVkRVlvYXJnM3NmcHMzMHJFdHR6Lzlu?= =?utf-8?B?RjN3UVVNUit4T3RDaUtrSUFkaWRvQ2x5YjBHUlA1bnZCdTc5ZkNNRFlrSWhN?= =?utf-8?B?UFpwczZCSEdhaTZJWUh5SnJ5d0FpTnphWSsrYnp5ckV1b3R4RDMyb0RGNWox?= =?utf-8?B?THl4WmVSQmg4ZlNUaktvSEwzMHd1V1RNbGQxNEJmTVg5TGYvdW9QWkNyaFVB?= =?utf-8?B?M3BBbEdGL3RSbStZZ1RvcE1jbU5BV3cyb0FrY0FuQmdWQzY4TStxSGdNbEU2?= =?utf-8?B?eml1TGZaM3d3cllYSmlXQllIdWVENGJYZGp3UTgzRHVLeEt2WGZFOEQxb3hB?= =?utf-8?B?N1dRdWpWckxnMnIyU0l6NCsxenpqNXp6WklCQWJhQlhHbUpTMkNKOW94dzZN?= =?utf-8?B?U1BCVTU0MVBjRlVFODltdmVWa0hvMDFRTnJmdz09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN7PR11MB7638.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(38070700021)(13003099007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QlVSYlhEY2NJQlRwRjNpaHRYdEVwR08rOVcyQmRjVFJqVy9BQy9EVUZoUkNN?= =?utf-8?B?bm9NVWFRbFQyMDFHSy9tS1ZTaGZwN3JiVFFjUkV5ZThMRTZHTmc3OStRbXE1?= =?utf-8?B?RTVldWhwZXQvdWNoclBoMm9CUFpEMnhaWGJ3TnBhWXc0SnQ3eldNQ2RpNktF?= =?utf-8?B?UktKUlRUTEc4eW9QTHlzVWIwTUNoN09JMW5jSUZSL255d0lndFBodmFzMmVj?= =?utf-8?B?NDFsdEt6eFl4eWV0WCt0YkhxdzVycmdaekdYVDVoL2Vid1graWpFUnlySkZm?= =?utf-8?B?ZHBoSURCV3F3VjVTTjh2ZjFOUGI4MWtTcmxvdUJhdEg4Sm56MFNFQWdEWlJm?= =?utf-8?B?STJjK3psODhBblRSSE9aUG5JSmRKTmdMQ0FSb2ticU04Q2gvMmp1S3RKSFN6?= =?utf-8?B?djJkanBkdTEwZW5ZQjlVUXN2ekxFWmVsMzR2YU8xaXQ5K1BFUDBrWkNWVnQy?= =?utf-8?B?cHJ4YVk1TTVwV1Vjb2MxVFFaOVJsWFNNUUF1b3NhV09JQ1NESTcranlVU1hJ?= =?utf-8?B?djRVWVZrUWQ3TVY0dHpKZ1lJdUxlNzFTUFJjbFRkaUo0VHRDOUZ5Qng2aUpm?= =?utf-8?B?SWdDNmdYMStaMEJMaWdGVjVyc0hESmxhdk1RenN0U0J0aytuenFHZ21TNUtU?= =?utf-8?B?QlhRUE9EbzRScFRBUmpkZ2llV2syT3BvV2hmNk5jWkE5VjRGMTRDdkZBWkNj?= =?utf-8?B?SGU1T3ExOVBrYVBBL0wzUVA4SUVFemJobTVkbDBrNnZkZVRoU1QzZGFIOE1r?= =?utf-8?B?Zk14amt3Zy9pUDZYYzcxWjhuM0N6b28wZ1lDU0w2TFdUdVRXNGlyLzk4QWhO?= =?utf-8?B?OUNKNGZqcHlyVTkyR0hwc0ZEYitWemZJWDU1NlQvUWEyQnY2bW9mcjlObUlG?= =?utf-8?B?ZWZlYzJQcG5vT0RlOWF4YkR0eEY2anNhblpTcGIwbTM2SE1zOTZzNGNSVjBr?= =?utf-8?B?T2I5d1F5cEtCbjZ4VWI5WjV2bnBZY2lzSm1qSXdxYi8vdURBbWpMSGpmSzBo?= =?utf-8?B?VUJ0WWxtRG42dmVmbnJQOWNmQkRhNG5nNjFZaVBCV3NtZHJvcmN3SzVLOGdm?= =?utf-8?B?WFRHeThxNGZoT0xZak5uUWNsN0JudXp2c2h4cnF0Y1M0a3hMK000WDNGaWNk?= =?utf-8?B?YlJFOWpxOU9lQ1RXL1U0N3l4OFZoTWZ1MUhHdmtONVFqTzQ0VXdTMDhkWDN0?= =?utf-8?B?alRUaU5TOTlXNVNyaDY1Z0VXOGx3eHUrZ2JFd1RTbCs1VmphL2FHK2dSM01R?= =?utf-8?B?STRnMjRTblNCaWFXbVl0aFFJUGtrQVpjdHBudnBEV1Q5WDJ3M29jZmhCVTBh?= =?utf-8?B?YVZoVWE2SGpjN3E3di9XdDd1eUtaVGt4UjQzWlZNeXlkeFRjZEUyZ2lnZitt?= =?utf-8?B?QktPZmV6RVJLcFJjZUx0aGZJTThmQzR2ZWFscFI2eU9UNWRmZTNjbzdSTHdm?= =?utf-8?B?Zm5CZVRkS2FJL1ZUOHhiTU5IOWdZWlE3Kzc1bVdrWHJsNUtNZjJQaXBvMytp?= =?utf-8?B?eDljRTk2LzNmbDJDNjVEcGJVNHR3T2hEeDVPODYxVnpMUzJFRExGaUlWLzVs?= =?utf-8?B?cmQ4TWg3RmtMVDJSU011dVp4TmZIWGpzWHVwYlJVZnhOcVpFb1YrM0pXTVdr?= =?utf-8?B?QXF6N2ZVNDlkSXBtVWt6TUxSNXo5ZGVaOGN6YWNoc1p5NjVXdHhXdzdKeUdK?= =?utf-8?B?NmFFVThQZzE1bVZHdWY3SWRsWHYzOTFRMGdTV2hIaVI4T2UrNFk4QlY3WjVO?= =?utf-8?B?V2lsYUdzSElRWHZITFFSWWY3c3Q1OUhRcHZWRkRLOExZbE9yWjBKRjdvN0RQ?= =?utf-8?B?VEIxS3NJYUd2TllzNE42K2IyMjl0YmFxejFKZ0huc3dXWWlNOEJWcXFMRC90?= =?utf-8?B?Z3Q2WWUyNm03N3p0R1NFWHUzaFd6aVJpSXA2Y0lmRENaSDlZUVBzVUs5MHJ0?= =?utf-8?B?bHBUQU1NNzRDS2JpZVB0T0djOTNqRkJjNWJwODBVTHdqRnV3Rk5leUtXOTJk?= =?utf-8?B?K3BPQVQzUWtZRTR6Rk1CcVpMVkJmODRUMlBSUTZhbEhlaXB3U1lNMHl1ZXZr?= =?utf-8?B?Uys0V0VIekFIaHArbWhkWHVKU1FySCtIbllpT0lFUUJyd0wrSVRwd05KNkNm?= =?utf-8?B?Vll5VU40WE5lRFg3R2c5dFVyWXRJQno4NmNsSk15a05Bc1Q4aWR5UjF4aUdT?= =?utf-8?B?Q1E9PQ==?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB7638.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6df925e-003d-4762-7866-08de25cb0b72 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2025 11:18:33.3290 (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: 1MTznfzxg9Qf5gVqM4EJcYKB+GBYh/P08eEyvnT0beAoizYgn9himmayAl4TUZhFv9I8vfpMiGr4xdvyYZR7US+d6QR7Vg36sHHp6rKHzLc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4581 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org SGkgVGhpYWdvLA0KDQpUaGFua3MgYSBsb3QgZm9yIHRoaXMgZGV0YWlsZWQgcmV2aWV3IQ0KSSBh cHBsaWVkIG1vc3Qgb2YgeW91ciBjb21tZW50cywgcGxlYXNlIGZpbmQgbXkgZmVlZGJhY2sgdG8g eW91ciByZXZpZXcgYmVsb3cuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv bTogVGhpYWdvIEp1bmcgQmF1ZXJtYW5uIDx0aGlhZ28uYmF1ZXJtYW5uQGxpbmFyby5vcmc+DQo+ IFNlbnQ6IEZyaWRheSwgMzEgT2N0b2JlciAyMDI1IDAyOjMyDQo+IFRvOiBTY2hpbXBlLCBDaHJp c3RpbmEgPGNocmlzdGluYS5zY2hpbXBlQGludGVsLmNvbT4NCj4gQ2M6IGdkYi1wYXRjaGVzQHNv dXJjZXdhcmUub3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMS85XSBnZGI6IEdlbmVyYWxpemUg aGFuZGxpbmcgb2YgdGhlIHNoYWRvdyBzdGFjaw0KPiBwb2ludGVyLg0KPiANCj4gQ2hyaXN0aW5h IFNjaGltcGUgPGNocmlzdGluYS5zY2hpbXBlQGludGVsLmNvbT4gd3JpdGVzOg0KPiANCj4gPiBV bnRpbCBub3csIGhhbmRsaW5nIG9mIHRoZSBzaGFkb3cgc3RhY2sgcG9pbnRlciBoYXMgYmVlbiBk b25lIGluIHRoZQ0KPiA+IHRhcmdldCBkZXBlbmRlbnQgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBn ZGJhcmNoIGhvb2sNCj4gPiAnZ2RiYXJjaF9zaGFkb3dfc3RhY2tfcHVzaCcuICBBbHNvIGFtZDY0 IGFuZCBhYXJjaDY0IGxpbnV4IHNwZWNpZmljDQo+ID4gdW53aW5kZXJzIGZvciB0aGUgc2hhZG93 IHN0YWNrIHBvaW50ZXIgYXJlIGltcGxlbWVudGVkLg0KPiA+IEluIGEgZm9sbG93aW5nIGNvbW1p dCBhIHN1YmNvbW1tYW5kICJiYWNrdHJhY2Ugc2hhZG93IiBvZiB0aGUgb3JkaW5hcnkNCj4gDQo+ IFRvbyBtbWFueSBtJ3MgaW4gInN1YmNvbW1hbmQiLg0KDQpGaXhlZC4NCg0KPiANCj4gPiBiYWNr dHJhY2UgY29tbWFuZCB3aWxsIGJlIGFkZGVkIHRvIHByaW50IHRoZSBzaGFkb3cgc3RhY2sgYmFj a3RyYWNlLg0KPiA+IFRoaXMgcmVxdWlyZXMgbW9yZSB0YXJnZXQtaW5kZXBlbmRlbnQgbG9naWMg dG8gaGFuZGxlIHRoZSBzaGFkb3cgc3RhY2sNCj4gPiBwb2ludGVyLiAgVG8gYXZvaWQgdGhhdCB3 ZSBkdXBsaWNhdGUgdGhlIGxvZ2ljLCBhZGQgbmV3IHNvdXJjZSBhbmQNCj4gPiBoZWFkZXIgZmls ZXMgInNoYWRvdy1zdGFjayIgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZg0KPiA+IHNoYWRvd19z dGFja19wdXNoIGFuZCBzaGFkb3cgc3RhY2sgcG9pbnRlciB1bndpbmRpbmcgaW4gYSB0YXJnZXQt DQo+IGluZGVwZW5kZW50IHdheS4NCj4gDQo+IDxzbmlwPg0KPiANCj4gPiBkaWZmIC0tZ2l0IGEv Z2RiL2FhcmNoNjQtdGRlcC5jIGIvZ2RiL2FhcmNoNjQtdGRlcC5jIGluZGV4DQo+ID4gNTAwYWM3 N2Q3NWEuLjk1YWY4MmMyNjMyIDEwMDY0NA0KPiA+IC0tLSBhL2dkYi9hYXJjaDY0LXRkZXAuYw0K PiA+ICsrKyBiL2dkYi9hYXJjaDY0LXRkZXAuYw0KPiANCj4gQXMgbWVudGlvbmVkIGJlZm9yZSwg dGhpcyBjaGFuZ2UgaXMgYWxzbyBuZWVkZWQgaW4gYWFyY2g2NC10ZGVwLmMgdG8gbWFrZQ0KPiB0 aGlzIHBhdGNoIHNlcmllcyB3b3JrIGZvciBBQXJjaDY0Og0KPiANCj4gZGlmZiAtLWdpdCBhL2dk Yi9hYXJjaDY0LXRkZXAuYyBiL2dkYi9hYXJjaDY0LXRkZXAuYyBpbmRleA0KPiA5NWFmODJjMjYz MjcuLjllODY2ZmMzMTlkNCAxMDA2NDQNCj4gLS0tIGEvZ2RiL2FhcmNoNjQtdGRlcC5jDQo+ICsr KyBiL2dkYi9hYXJjaDY0LXRkZXAuYw0KPiBAQCAtNDc4MCw2ICs0NzgwLDEwIEBAIGFhcmNoNjRf Z2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sDQo+IHN0cnVjdCBnZGJhcmNo X2xpc3QgKmFyY2hlcykNCj4gICAgLyogUmVnaXN0ZXIgYSBob29rIGZvciBjb252ZXJ0aW5nIGEg bWVtb3J5IHRhZyB0byBhIHN0cmluZy4gICovDQo+ICAgIHNldF9nZGJhcmNoX21lbXRhZ190b19z dHJpbmcgKGdkYmFyY2gsIGFhcmNoNjRfbWVtdGFnX3RvX3N0cmluZyk7DQo+IA0KPiArICBpZiAo dGRlcC0+aGFzX2djcyAoKSkNCj4gKyAgICAvKiBBQXJjaDY0J3Mgc2hhZG93IHN0YWNrIHBvaW50 ZXIgaXMgdGhlIEdDU1BSLiAgKi8NCj4gKyAgICBzZXRfZ2RiYXJjaF9zc3BfcmVnbnVtIChnZGJh cmNoLCB0ZGVwLT5nY3NfcmVnX2Jhc2UpOw0KPiArDQoNCkFkZGVkLg0KDQo+ICAgIC8qIEFCSSAq Lw0KPiAgICBzZXRfZ2RiYXJjaF9zaG9ydF9iaXQgKGdkYmFyY2gsIDE2KTsNCj4gICAgc2V0X2dk YmFyY2hfaW50X2JpdCAoZ2RiYXJjaCwgMzIpOw0KPiANCj4gPiAtc3RhdGljIHZhbHVlICoNCj4g PiAtYW1kNjRfbGludXhfZHdhcmYyX3ByZXZfc3NwIChjb25zdCBmcmFtZV9pbmZvX3B0ciAmdGhp c19mcmFtZSwNCj4gPiAtCQkJICAgICB2b2lkICoqdGhpc19jYWNoZSwgaW50IHJlZ251bSkNCj4g PiAtew0KPiA+IC0gIHZhbHVlICp2ID0gZnJhbWVfdW53aW5kX2dvdF9yZWdpc3RlciAodGhpc19m cmFtZSwgcmVnbnVtLCByZWdudW0pOw0KPiA+IC0gIGdkYl9hc3NlcnQgKHYgIT0gbnVsbHB0cik7 DQo+ID4gLQ0KPiA+IC0gIGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAodGhpc19m cmFtZSk7DQo+ID4gLQ0KPiA+IC0gIGlmICh2LT5lbnRpcmVseV9hdmFpbGFibGUgKCkgJiYgIXYt Pm9wdGltaXplZF9vdXQgKCkpDQo+ID4gLSAgICB7DQo+ID4gLSAgICAgIGludCBzaXplID0gcmVn aXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKTsNCj4gPiAtICAgICAgYmZkX2VuZGlhbiBieXRl X29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsNCj4gPiAtICAgICAgQ09SRV9B RERSIHNzcCA9IGV4dHJhY3RfdW5zaWduZWRfaW50ZWdlciAodi0+Y29udGVudHNfYWxsICgpLmRh dGEgKCksDQo+ID4gLQkJCQkJCXNpemUsIGJ5dGVfb3JkZXIpOw0KPiA+IC0NCj4gPiAtICAgICAg LyogVXNpbmcgL3Byb2MvUElEL3NtYXBzIHdlIGNhbiBvbmx5IGNoZWNrIGlmIHRoZSBjdXJyZW50 IHNoYWRvdw0KPiA+IC0JIHN0YWNrIHBvaW50ZXIgU1NQIHBvaW50cyB0byBzaGFkb3cgc3RhY2sg bWVtb3J5LiAgT25seSBpZiB0aGlzIGlzDQo+ID4gLQkgdGhlIGNhc2UgYSB2YWxpZCBwcmV2aW91 cyBzaGFkb3cgc3RhY2sgcG9pbnRlciBjYW4gYmUNCj4gPiAtCSBjYWxjdWxhdGVkLiAgKi8NCj4g PiAtICAgICAgc3RkOjpwYWlyPENPUkVfQUREUiwgQ09SRV9BRERSPiByYW5nZTsNCj4gPiAtICAg ICAgaWYgKGxpbnV4X2FkZHJlc3NfaW5fc2hhZG93X3N0YWNrX21lbV9yYW5nZSAoc3NwLCAmcmFu Z2UpKQ0KPiA+IC0Jew0KPiA+IC0JICAvKiBUaGUgc2hhZG93IHN0YWNrIGdyb3dzIGRvd253YXJk cy4gIFRvIGNvbXB1dGUgdGhlIHByZXZpb3VzDQo+ID4gLQkgICAgIHNoYWRvdyBzdGFjayBwb2lu dGVyLCB3ZSBuZWVkIHRvIGluY3JlbWVudCBTU1AuICAqLw0KPiA+IC0JICBDT1JFX0FERFIgbmV3 X3NzcA0KPiA+IC0JICAgID0gc3NwICsgYW1kNjRfbGludXhfc2hhZG93X3N0YWNrX2VsZW1lbnRf c2l6ZV9hbGlnbmVkDQo+IChnZGJhcmNoKTsNCj4gPiAtDQo+ID4gLQkgIC8qIFRoZXJlIGNhbiBi ZSBzY2VuYXJpb3Mgd2hlcmUgd2UgaGF2ZSBhIHNoYWRvdyBzdGFjayBwb2ludGVyDQo+ID4gLQkg ICAgIGJ1dCB0aGUgc2hhZG93IHN0YWNrIGlzIGVtcHR5LCBhcyBubyBjYWxsIGluc3RydWN0aW9u IGhhcw0KPiA+IC0JICAgICBiZWVuIGV4ZWN1dGVkIHlldC4gIElmIE5FV19TU1AgcG9pbnRzIHRv IHRoZSBlbmQgb2Ygb3IgYmVmb3JlDQo+ID4gLQkgICAgICg8PSkgdGhlIGN1cnJlbnQgc2hhZG93 IHN0YWNrIG1lbW9yeSByYW5nZSB3ZSBjb25zaWRlcg0KPiA+IC0JICAgICBORVdfU1NQIGFzIHZh bGlkIChidXQgZW1wdHkpLiAgKi8NCj4gPiAtCSAgaWYgKG5ld19zc3AgPD0gcmFuZ2Uuc2Vjb25k KQ0KPiANCj4gSUlVQywgdGhlICc8PScgY29tcGFyaXNvbiBhYm92ZSBpc24ndCBwcmVzZXJ2ZWQg YnkgdGhpcyBwYXRjaC4gVGhpcyBmdW5jdGlvbiBpcw0KPiByZXBsYWNlZCBieSBkd2FyZjJfcHJl dl9zc3AsIHdoaWNoIHVzZXMNCj4gZ2RiYXJjaF9hZGRyZXNzX2luX3NoYWRvd19zdGFja19tZW1v cnlfcmFuZ2UgZm9yIHRoaXMgaWYgY29uZGl0aW9uLA0KPiB3aG9zZSBjb21wYXJpc29uIGluIGZp bmRfYWRkcl9tZW1fcmFuZ2UgaXM6DQo+IA0KPiAgICAgICBib29sIGFkZHJfaW5fbWVtX3Jhbmdl DQo+ICAgICAgICAgPSAoYWRkciA+PSBtYXAuc3RhcnRfYWRkcmVzcyAmJiBhZGRyIDwgbWFwLmVu ZF9hZGRyZXNzKTsNCj4gDQo+IElzIHRoaXMgaW50ZW5kZWQ/DQoNCkFyZywgdGhhbmtzIGZvciBj YXRjaGluZyB0aGF0IQ0KDQpJIHRoaW5rIEkgbWlzc2VkIHRoYXQgYmVjYXVzZSBJIGludHJvZHVj ZWQgYSB0eXBvL2J1ZyBpbiB0aGUgY2FsbA0KDQoJICAgICAgfHwgZ2RiYXJjaF9hZGRyZXNzX2lu X3NoYWRvd19zdGFja19tZW1vcnlfcmFuZ2UgKGdkYmFyY2gsDQoJCQkJCQkJICAgICAgIHNzcCwN CgkJCQkJCQkgICAgICAgJnJhbmdlKSkNCg0Kd2hpY2ggbWFkZSB0aGUgdW53aW5kaW5nIHdvcmsg cHJvcGVybHkgaW4gY2FzZSBvZiBhbWQ2NC4NCkhvd2V2ZXIsIHRoZSBwcm9wZXIgZml4IHNob3Vs ZCBiZSB0byBwYXNzIG5ld19zc3AgdG8gZ2RiYXJjaF9hZGRyZXNzX2luX3NoYWRvd19zdGFja19t ZW1vcnlfcmFuZ2UNCmluc3RlYWQsIGFuZCB0byBpbXBsZW1lbnQgZ2RiYXJjaF90b3BfYWRkcl9l bXB0eV9zaGFkb3dfc3RhY2sgYWxzbyBmb3IgYW1kNjQuDQoNCkRvZXMgdGhhdCBtYWtlIHNlbnNl Pw0KDQo+ID4gLQkgICAgcmV0dXJuIGZyYW1lX3Vud2luZF9nb3RfYWRkcmVzcyAodGhpc19mcmFt ZSwgcmVnbnVtLCBuZXdfc3NwKTsNCj4gPiAtCX0NCj4gPiAtICAgIH0NCj4gPiAtDQo+ID4gLSAg LyogUmV0dXJuIGEgdmFsdWUgd2hpY2ggaXMgbWFya2VkIGFzIHVuYXZhaWxhYmxlIGluIGNhc2Ug d2UgY291bGQgbm90DQo+ID4gLSAgICAgY2FsY3VsYXRlIGEgdmFsaWQgcHJldmlvdXMgc2hhZG93 IHN0YWNrIHBvaW50ZXIuICAqLw0KPiA+IC0gIHZhbHVlICpyZXR2YWwNCj4gPiAtICAgID0gdmFs dWU6OmFsbG9jYXRlX3JlZ2lzdGVyIChnZXRfbmV4dF9mcmFtZV9zZW50aW5lbF9va2F5ICh0aGlz X2ZyYW1lKSwNCj4gPiAtCQkJCXJlZ251bSwgcmVnaXN0ZXJfdHlwZSAoZ2RiYXJjaCwgcmVnbnVt KSk7DQo+ID4gLSAgcmV0dmFsLT5tYXJrX2J5dGVzX3VuYXZhaWxhYmxlICgwLCByZXR2YWwtPnR5 cGUgKCktPmxlbmd0aCAoKSk7DQo+ID4gLSAgcmV0dXJuIHJldHZhbDsNCj4gPiAtfQ0KPiANCj4g PHNuaXA+DQo+IA0KPiA+IGRpZmYgLS1naXQgYS9nZGIvc2hhZG93LXN0YWNrLmMgYi9nZGIvc2hh ZG93LXN0YWNrLmMgbmV3IGZpbGUgbW9kZQ0KPiA+IDEwMDY0NCBpbmRleCAwMDAwMDAwMDAwMC4u ZDE1M2Q1ZmM4NDYNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZ2RiL3NoYWRvdy1zdGFj ay5jDQo+ID4gQEAgLTAsMCArMSwxNjcgQEANCj4gPiArLyogTWFuYWdlIGEgc2hhZG93IHN0YWNr IHBvaW50ZXIgZm9yIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4NCj4gPiArDQo+ID4gKyAgIENvcHly aWdodCAoQykgMjAyNC0yMDI1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KPiANCj4g U2hvdWxkIHRoaXMgcmVhbGx5IHN0YXJ0IGF0IDIwMjQ/IEFjY29yZGluZyB0byBBbmRyZXcgQnVy Z2Vzc8K5Og0KDQpZZXMsIDIwMjQgaXMgY29ycmVjdCBpbiB0aGlzIGNhc2Ugc2luY2Ugb3VyIGdk Yi1vbmVhcGkgc3VwcG9ydGVkIGJ0IHNoYWRvdyBzaW5jZSAyMDI0LiANCg0KPiA+IFRoZSBzdGFy dCBkYXRlIHNob3VsZCBiZSB3aGVuIHRoZSBwYXRjaGVzIHdlcmUgZmlyc3QgcG9zdGVkIHRvIHRo ZQ0KPiA+IGxpc3QsIG9yIG90aGVyd2lzZSBtYWRlIHB1YmxpY2x5IGF2YWlsYWJsZSAoZS5nLiBJ bnRlbCBzcGVjaWZpYyBHREIgcmVsZWFzZT8pLg0KPiA+IFRoZSBlbmQgZGF0ZSBzaG91bGQgYmUg dXBkYXRlZCB0byAyMDI1Lg0KPiANCj4gU2FtZSBxdWVzdGlvbiBmb3Igb3RoZXIgZmlsZXMgY3Jl YXRlZCBieSB0aGlzIHBhdGNoIHNlcmllcy4NCj4gDQo+ID4gKyAgIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEdEQi4NCj4gPiArDQo+ID4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+ID4gKyAgIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 DQo+ID4gKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yDQo+ID4gKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uDQo+ID4gKw0KPiA+ICsgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCj4gPiArICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4gPiArICAgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQ0KPiA+ICsgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0K PiA+ICsNCj4gPiArICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCj4gPiArICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZQ0KPiA+ICsgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8N Cj4gPiArDQo+ID4gKyNpbmNsdWRlICJkZWZzLmgiDQo+ID4gKyNpbmNsdWRlICJhcmNoLXV0aWxz LmgiDQo+ID4gKyNpbmNsdWRlICJnZGJjb3JlLmgiDQo+ID4gKyNpbmNsdWRlICJleHRyYWN0LXN0 b3JlLWludGVnZXIuaCINCj4gPiArI2luY2x1ZGUgImZyYW1lLmgiDQo+ID4gKyNpbmNsdWRlICJm cmFtZS11bndpbmQuaCINCj4gPiArI2luY2x1ZGUgInNoYWRvdy1zdGFjay5oIg0KPiA+ICsNCj4g PiArZW51bSBjbGFzcyBzc3BfdXBkYXRlX2RpcmVjdGlvbg0KPiA+ICt7DQo+ID4gKyAgLyogVXBk YXRlIHNzcCB0b3dhcmRzIHRoZSBib3R0b20gb2YgdGhlIHNoYWRvdyBzdGFjay4gICovDQo+ID4g KyAgYm90dG9tID0gMCwNCj4gPiArDQo+ID4gKyAgLyogVXBkYXRlIHNzcCB0b3dhcmRzIHRoZSB0 b3Agb2YgdGhlIHNoYWRvdyBzdGFjay4gICovDQo+ID4gKyAgdG9wDQo+ID4gK307DQo+IA0KPiBJ IGZpbmQgdGhlIGJvdHRvbS90b3Agbm9tZW5jbGF0dXJlIGNvbmZ1c2luZywgZXNwZWNpYWxseSBi ZWNhdXNlIGl0J3MNCj4gc3VwcG9zZWQgdG8gbWVhbiB0aGUgc2FtZSB0aGluZyB3aGV0aGVyIHRo ZSBzdGFjayBncm93cyB1cCBvciBkb3duLiBJbg0KPiBteSBtaW5kLCBpZiB0aGUgc3RhY2sgZ3Jv dyBkb3duIHRoZW4gdG9wIG1lYW5zICJvbGRlc3QgZWxlbWVudCIsIGJ1dCBpZiB0aGUNCj4gc3Rh Y2sgZ3Jvd3MgdXAsIHRoZW4gdG9wIG1lYW5zICJuZXdlc3QgZWxlbWVudCIuDQo+IEJ1dCBpbiB0 aGlzIHBhdGNoIGl0IHNlZW1zIHRoYXQgdG9wIG1lYW5zICJuZXdlc3QgZWxlbWVudCIgcmVnYXJk bGVzcyBvZiB0aGUNCj4gZGlyZWN0aW9uIG9mIHN0YWNrIGdyb3d0aC4NCg0KWWVzLCB0aGF0IHdh cyBteSB1bmRlcnN0YW5kaW5nLiBTbyBpbmRlcGVuZGVudCBpbiB3aGljaCBkaXJlY3Rpb24gYSBz aGFkb3cgc3RhY2sNCmdyb3dzIGJhc2VkIG9uIHRoZSBhcmNoaXRlY3R1cmUvT1MsIHRvcCBhbHdh eXMgbWVhbnMgbmV3ZXN0IGVsZW1lbnQuICBCdXQgSSB0aGluaw0KaXQgaXMgbm90IGEgcHJvYmxl bSB0byB0YWtlIG9uZSBvZiB5b3VyIHN1Z2dlc3Rpb25zLg0KDQo+IEkgd291bGQgc3VnZ2VzdCBj aGFuZ2luZyB0aGUgZW51bSBuYW1lcyBhYm92ZSB0byBzb21ldGhpbmcgdGhhdCdzIG5vdA0KPiBy ZWxhdGVkIHRvIHRoZSB2ZXJ0aWNhbCBheGlzLCBzbyB0aGF0IHRoZWlyIG1lYW5pbmcgd2lsbCBi ZSBjbGVhciByZWdhcmRsZXNzIG9mDQo+IHdoaWNoIGRpcmVjdGlvbiB0aGUgc3RhY2sgZ3Jvd3Mu IEEgZmV3IHN1Z2dlc3Rpb25zOg0KPiBzaHJpbmsvZ3Jvdywgb2xkZXIveW91bmdlciwgb3V0ZXIv aW5uZXIuDQoNCkknZCB0YWtlIG91dGVyL2lubmVyIGFuZCBkZXNjcmliZSBpdCBhcyBmb2xsb3dz Og0KDQplbnVtIGNsYXNzIHNzcF91cGRhdGVfZGlyZWN0aW9uDQp7DQogIC8qIFVwZGF0ZSBzc3Ag dG93YXJkcyB0aGUgb2xkZXN0IChvdXRlcm1vc3QpIGVsZW1lbnQgb2YgdGhlIHNoYWRvdw0KICAg ICBzdGFjay4gICovDQogIG91dGVyID0gMCwNCg0KICAvKiBVcGRhdGUgc3NwIHRvd2FyZHMgdGhl IG1vc3QgcmVjZW50IChpbm5lcm1vc3QpIGVsZW1lbnQgb2YgdGhlDQogICAgIHNoYWRvdyBzdGFj ay4gICovDQogIGlubmVyDQp9Ow0KDQpJcyB0aGF0IHVuZGVyc3RhbmRhYmxlID8NCg0KPiA+ICsv KiBSZXR1cm4gYSBuZXcgc2hhZG93IHN0YWNrIHBvaW50ZXIgd2hpY2ggaXMgaW5jcmVtZW50ZWQg b3INCj4gZGVjcmVtZW50ZWQNCj4gPiArICAgYnkgQ09VTlQgZWxlbWVudHMgZGVwZW5kZW50IG9u IERJUkVDVElPTi4gICovDQo+ID4gKw0KPiA+ICtzdGF0aWMgQ09SRV9BRERSDQo+ID4gK3VwZGF0 ZV9zaGFkb3dfc3RhY2tfcG9pbnRlciAoZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERSIHNzcCwN Cj4gPiArCQkJICAgICBjb25zdCBzc3BfdXBkYXRlX2RpcmVjdGlvbiBkaXJlY3Rpb24pIHsNCj4g PiArICBib29sIGluY3JlbWVudCA9IChnZGJhcmNoX3N0YWNrX2dyb3dzX2Rvd24gKGdkYmFyY2gp KQ0KPiA+ICsJCSAgICA/IChkaXJlY3Rpb24gPT0gc3NwX3VwZGF0ZV9kaXJlY3Rpb246OmJvdHRv bSkNCj4gPiArCQkgICAgICA6IChkaXJlY3Rpb24gPT0gc3NwX3VwZGF0ZV9kaXJlY3Rpb246OnRv cCk7DQo+IA0KPiBBbGwgdGhlIHBhcmVudGhlc2VzIGFib3ZlIGFyZSBzdXBlcmZsdW91cyBhbmQg Y2FuIGJlIHJlbW92ZWQuDQoNCk9rLCBmaXhlZC4NCg0KPiA+ICsgIENPUkVfQUREUiBuZXdfc3Nw Ow0KPiANCj4gVGhpcyB2YXJpYWJsZSBpcyB1bnVzZWQgYW5kIGNhbiBiZSByZW1vdmVkLiBCZWNh dXNlIGJ5IGRlZmF1bHQgR0RCIGJ1aWxkDQo+IHdpdGggLVdlcnJvciwgdGhpcyBwYXRjaCBicmVh a3MgdGhlIGJ1aWxkIHdpdGggYW4gInVudXNlZCB2YXJpYWJsZSINCj4gZXJyb3IgdW50aWwgcGF0 Y2ggNiB3aGljaCByZW1vdmVzIHRoaXMgdmFyaWFibGUuDQoNCkFyZywgSSBtaXNzZWQgdGhhdCwg YmVjYXVzZSBpdCdzIGFsc28gZml4ZWQgaW4gYSBsYXRlciBwYXRjaC4NCkkgbm93IHJlbW92ZWQg aXQgYWxzbyBmcm9tIHRoaXMgcGF0Y2guDQoNCj4gPiArICBpZiAoaW5jcmVtZW50KQ0KPiA+ICsg ICAgcmV0dXJuIHNzcCArIGdkYmFyY2hfc2hhZG93X3N0YWNrX2VsZW1lbnRfc2l6ZV9hbGlnbmVk IChnZGJhcmNoKTsNCj4gPiArICBlbHNlDQo+ID4gKyAgICByZXR1cm4gc3NwIC0gZ2RiYXJjaF9z aGFkb3dfc3RhY2tfZWxlbWVudF9zaXplX2FsaWduZWQgKGdkYmFyY2gpOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICsvKiBTZWUgc2hhZG93LXN0YWNrLmguICAqLw0KPiA+ICsNCj4gPiArdm9pZCBzaGFk b3dfc3RhY2tfcHVzaCAoZ2RiYXJjaCAqZ2RiYXJjaCwgcmVnY2FjaGUgKnJlZ2NhY2hlLA0KPiAN Cj4gVGhlcmUncyBubyBuZWVkIGZvciBhIGdkYmFyY2ggYXJndW1lbnQuIFlvdSBjYW4gZ2V0IGl0 IGZyb20gdGhlIHJlZ2NhY2hlLg0KDQpGaXhlZC4NCg0KPiA+ICsJCQljb25zdCBDT1JFX0FERFIg bmV3X2FkZHIpDQo+ID4gK3sNCj4gPiArICBpZiAoIWdkYmFyY2hfYWRkcmVzc19pbl9zaGFkb3df c3RhY2tfbWVtb3J5X3JhbmdlX3AgKGdkYmFyY2gpDQo+ID4gKyAgICAgIHx8IGdkYmFyY2hfc3Nw X3JlZ251bSAoZ2RiYXJjaCkgPT0gLTEpDQo+ID4gKyAgICByZXR1cm47DQo+ID4gKw0KPiA+ICsg IGJvb2wgc2hhZG93X3N0YWNrX2VuYWJsZWQ7DQo+ID4gKyAgc3RkOjpvcHRpb25hbDxDT1JFX0FE RFI+IHNzcA0KPiA+ICsgICAgPSBnZGJhcmNoX2dldF9zaGFkb3dfc3RhY2tfcG9pbnRlciAoZ2Ri YXJjaCwgcmVnY2FjaGUsDQo+ID4gKwkJCQkJc2hhZG93X3N0YWNrX2VuYWJsZWQpOw0KPiA+ICsg IGlmICghc3NwLmhhc192YWx1ZSAoKSB8fCAhc2hhZG93X3N0YWNrX2VuYWJsZWQpDQo+ID4gKyAg ICByZXR1cm47DQo+ID4gKw0KPiA+ICsgIGNvbnN0IENPUkVfQUREUiBuZXdfc3NwDQo+ID4gKyAg ICA9IHVwZGF0ZV9zaGFkb3dfc3RhY2tfcG9pbnRlciAoZ2RiYXJjaCwgKnNzcCwNCj4gPiArCQkJ CSAgIHNzcF91cGRhdGVfZGlyZWN0aW9uOjp0b3ApOw0KPiA+ICsNCj4gPiArICAvKiBJZiBORVdf U1NQIGRvZXMgbm90IHBvaW50IHRvIHNoYWRvdyBzdGFjayBtZW1vcnksIHdlIGFzc3VtZSB0aGUN Cj4gc3RhY2sNCj4gPiArICAgICBpcyBmdWxsLiAgKi8NCj4gPiArICBzdGQ6OnBhaXI8Q09SRV9B RERSLCBDT1JFX0FERFI+IHJhbmdlOw0KPiA+ICsgIGlmICghZ2RiYXJjaF9hZGRyZXNzX2luX3No YWRvd19zdGFja19tZW1vcnlfcmFuZ2UgKGdkYmFyY2gsDQo+ID4gKwkJCQkJCSAgICAgbmV3X3Nz cCwNCj4gPiArCQkJCQkJICAgICAmcmFuZ2UpKQ0KPiANCj4gUmFuZ2UgaXNuJ3QgcmVhbGx5IG5l ZWRlZCBieSB0aGlzIGZ1bmN0aW9uLiBJIHN1Z2dlc3QgY2hhbmdpbmcNCj4gZ2RiYXJjaF9hZGRy ZXNzX2luX3NoYWRvd19zdGFja19tZW1vcnlfcmFuZ2UgdG8gYWxsb3cgZm9yIGl0IHRvIGJlDQo+ IG51bGxwdHIgYW5kIHRoZW4gcGFzcyBudWxscHRyIGhlcmUuDQoNCkkgYWdyZWUsIGZpeGVkLg0K DQo+IEFsc28sIHRoZSBsaW5lIGFib3ZlIGZpdHMgaW4gODAgY29sdW1ucyBhbmQgZG9lc24ndCBu ZWVkIHRvIGJlIGJyb2tlbiwgZXZlbiBpZg0KPiAiJnJhbmdlIiBpcyBjaGFuZ2VkIHRvICJudWxs cHRyIi4NCg0KSXQgaXMgbW9yZSB0aGFuIDgwIGNvbHVtbnMgZm9yIG1lLg0KDQo+IA0KPiA+ICsg ICAgZXJyb3IgKF8oIk5vIHNwYWNlIGxlZnQgb24gdGhlIHNoYWRvdyBzdGFjay4iKSk7DQo+ID4g Kw0KPiA+ICsgIC8qIE9uIHg4NiB0aGVyZSBjYW4gYmUgYSBzaGFkb3cgc3RhY2sgdG9rZW4gYXQg Yml0IDYzLiAgRm9yIHgzMiwgIHRoZQ0KPiA+ICsgICAgIGFkZHJlc3Mgc2l6ZSBpcyBvbmx5IDMy IGJpdC4gIEFsd2F5cyB3cml0ZSBiYWNrIHRoZSBmdWxsIDggYnl0ZXMgdG8NCj4gPiArICAgICBp bmNsdWRlIHRoZSBzaGFkb3cgc3RhY2sgdG9rZW4uICAqLw0KPiANCj4gcy84IGJ5dGVzL2VsZW1l bnQgc2l6ZS8NCg0KRml4ZWQuDQoNCj4gDQo+ID4gKyAgY29uc3QgaW50IGVsZW1lbnRfc2l6ZQ0K PiA+ICsgICAgPSBnZGJhcmNoX3NoYWRvd19zdGFja19lbGVtZW50X3NpemVfYWxpZ25lZCAoZ2Ri YXJjaCk7DQo+ID4gKw0KPiA+ICsgIGNvbnN0IGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFy Y2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7DQo+ID4gKw0KPiA+ICsgIHdyaXRlX21lbW9yeV91bnNp Z25lZF9pbnRlZ2VyIChuZXdfc3NwLCBlbGVtZW50X3NpemUsIGJ5dGVfb3JkZXIsDQo+ID4gKwkJ CQkgKFVMT05HRVNUKSBuZXdfYWRkcik7DQo+ID4gKw0KPiA+ICsgIHJlZ2NhY2hlX3Jhd193cml0 ZV91bnNpZ25lZCAocmVnY2FjaGUsDQo+ID4gKwkJCSAgICAgICBnZGJhcmNoX3NzcF9yZWdudW0g KGdkYmFyY2gpLA0KPiA+ICsJCQkgICAgICAgbmV3X3NzcCk7DQo+IA0KPiBUaGUgbGluZSBhYm92 ZSBmaXRzIGluIDgwIGNvbHVtbnMgYW5kIGRvZXNuJ3QgbmVlZCB0byBiZSBicm9rZW4uDQoNCkkg Y291bnQgODEgY29sdW1ucyBhbmQgdGhlcmUgaXMgYWxzbyBhIHNvZnQgbGltaXQgb2YgNzQgY2hh cmFjdGVyczoNCg0KaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9sZWdhY3ktbWwvZ2RiLXBhdGNoZXMv MjAxNC0wMS9tc2cwMDIxNi5odG1sDQoNClNvIEknbGwga2VlcCBpdCBhcyBpcywgaWYgdGhhdCdz IGZpbmUgZm9yIHlvdS4NCg0KPiANCj4gPiArfQ0KPiA+ICsNCj4gPiArLyogU2VlIHNoYWRvdy1z dGFjay5oLiAgKi8NCj4gPiArDQo+ID4gK3ZhbHVlICoNCj4gPiArZHdhcmYyX3ByZXZfc3NwIChj b25zdCBmcmFtZV9pbmZvX3B0ciAmdGhpc19mcmFtZSwgdm9pZCAqKnRoaXNfY2FjaGUsDQo+ID4g KwkJIGludCByZWdudW0pDQo+ID4gK3sNCj4gPiArICB2YWx1ZSAqdiA9IGZyYW1lX3Vud2luZF9n b3RfcmVnaXN0ZXIgKHRoaXNfZnJhbWUsIHJlZ251bSwgcmVnbnVtKTsNCj4gPiArICBnZGJfYXNz ZXJ0ICh2ICE9IG51bGxwdHIpOw0KPiA+ICsNCj4gPiArICBnZGJhcmNoICpnZGJhcmNoID0gZ2V0 X2ZyYW1lX2FyY2ggKHRoaXNfZnJhbWUpOw0KPiA+ICsNCj4gPiArICBpZiAoZ2RiYXJjaF9hZGRy ZXNzX2luX3NoYWRvd19zdGFja19tZW1vcnlfcmFuZ2VfcCAoZ2RiYXJjaCkNCj4gPiArICAgICAg JiYgdi0+ZW50aXJlbHlfYXZhaWxhYmxlICgpICYmICF2LT5vcHRpbWl6ZWRfb3V0ICgpKQ0KPiA+ ICsgICAgew0KPiA+ICsgICAgICBjb25zdCBpbnQgc2l6ZSA9IHJlZ2lzdGVyX3NpemUgKGdkYmFy Y2gsIHJlZ251bSk7DQo+ID4gKyAgICAgIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hf Ynl0ZV9vcmRlciAoZ2RiYXJjaCk7DQo+ID4gKyAgICAgIENPUkVfQUREUiBzc3AgPSBleHRyYWN0 X3Vuc2lnbmVkX2ludGVnZXINCj4gPiArCSh2LT5jb250ZW50c19hbGwgKCkuZGF0YSAoKSwgc2l6 ZSwgYnl0ZV9vcmRlcik7DQo+ID4gKw0KPiA+ICsgICAgICAvKiBPbmx5IGlmIHRoZSBjdXJyZW50 IHNoYWRvdyBzdGFjayBwb2ludGVyIFNTUCBwb2ludHMgdG8gc2hhZG93DQo+ID4gKwkgc3RhY2sg bWVtb3J5IGEgdmFsaWQgcHJldmlvdXMgc2hhZG93IHN0YWNrIHBvaW50ZXIgY2FuIGJlDQo+ID4g KwkgY2FsY3VsYXRlZC4gICovDQo+ID4gKyAgICAgIHN0ZDo6cGFpcjxDT1JFX0FERFIsIENPUkVf QUREUj4gcmFuZ2U7DQo+ID4gKyAgICAgIGlmIChnZGJhcmNoX2FkZHJlc3NfaW5fc2hhZG93X3N0 YWNrX21lbW9yeV9yYW5nZSAoZ2RiYXJjaCwgc3NwLA0KPiA+ICsJCQkJCQkJJnJhbmdlKSkNCj4g DQo+IFRoaXMgbGluZSBmaXRzIGluIDgwIGNvbHVtbnMgYW5kIGRvZXNuJ3QgbmVlZCB0byBiZSBi cm9rZW4uDQoNCkluIHRoaXMgY2FzZSBJJ2xsIHRha2UgeW91ciBzdWdnZXN0aW9uLCBzaW5jZSBp dCBsb29rcyBtdWNoIG5pY2VyIHVuYnJva2VuLiDwn5iKDQoNCj4gDQo+ID4gKwl7DQo+ID4gKwkg IC8qIE5vdGUgdGhhdCBhIHNoYWRvdyBzdGFjayBtZW1vcnkgcmFuZ2UgY2FuIGNoYW5nZSwgZHVl IHRvDQo+ID4gKwkgICAgIHNoYWRvdyBzdGFjayBzd2l0Y2hlcyBmb3IgaW5zdGFuY2Ugb24geDg2 IGZvciBhbiBpbnRlci0NCj4gPiArCSAgICAgcHJpdmlsZWdlIGZhciBjYWxsIG9yIHdoZW4gY2Fs bGluZyBhbiBpbnRlcnJ1cHQvZXhjZXB0aW9uDQo+ID4gKwkgICAgIGhhbmRsZXIgYXQgYSBoaWdo ZXIgcHJpdmlsZWdlIGxldmVsLiAgU2hhZG93IHN0YWNrIGZvcg0KPiA+ICsJICAgICB1c2Vyc3Bh Y2UgaXMgc3VwcG9ydGVkIGZvciBhbWQ2NCBsaW51eCBzdGFydGluZyB3aXRoDQo+ID4gKwkgICAg IExpbnV4IGtlcm5lbCB2Ni42LiAgSG93ZXZlciwgc2hhZG93IHN0YWNrIHN3aXRjaGVzIGFyZSBu b3QNCj4gPiArCSAgICAgc3VwcG9ydGVkIGR1ZSB0byBtaXNzaW5nIGtlcm5lbCBzcGFjZSBzdXBw b3J0LiAgV2UgdGhlcmVmb3JlDQo+ID4gKwkgICAgIGltcGxlbWVudCB0aGlzIHVud2luZGVyIHdp dGhvdXQgc3VwcG9ydCBmb3Igc2hhZG93IHN0YWNrDQo+ID4gKwkgICAgIHN3aXRjaGVzIGZvciBu b3cuICAqLw0KPiA+ICsJICBjb25zdCBDT1JFX0FERFIgbmV3X3NzcA0KPiA+ICsJICAgID0gdXBk YXRlX3NoYWRvd19zdGFja19wb2ludGVyIChnZGJhcmNoLCBzc3AsDQo+ID4gKwkJCQkJICAgc3Nw X3VwZGF0ZV9kaXJlY3Rpb246OmJvdHRvbSk7DQo+ID4gKw0KPiA+ICsJICAvKiBPbiB4ODYsIGlm IE5FV19TU1AgcG9pbnRzIHRvIHRoZSBlbmQgb2YgUkFOR0UsIGl0IGluZGljYXRlcw0KPiA+ICsJ ICAgICB0aGF0IE5FV19TU1AgaXMgdmFsaWQsIGJ1dCB0aGUgc2hhZG93IHN0YWNrIGlzIGVtcHR5 LiAgSW4NCj4gPiArCSAgICAgY29udHJhc3QsIG9uIEFSTSdzIEd1YXJkZWQgQ29udHJvbCBTdGFj aywgaWYgTkVXX1NTUCBwb2ludHMNCj4gPiArCSAgICAgdG8gdGhlIGVuZCBvZiBSQU5HRSwgaXQg bWVhbnMgdGhhdCB0aGUgc2hhZG93IHN0YWNrIHBvaW50ZXINCj4gPiArCSAgICAgaXMgaW52YWxp ZC4gICovDQo+ID4gKwkgIGJvb2wgaXNfdG9wX2FkZHJfZW1wdHlfc2hhZG93X3N0YWNrDQo+ID4g KwkgICAgPSBnZGJhcmNoX3RvcF9hZGRyX2VtcHR5X3NoYWRvd19zdGFja19wIChnZGJhcmNoKQ0K PiA+ICsJICAgICAgJiYgZ2RiYXJjaF90b3BfYWRkcl9lbXB0eV9zaGFkb3dfc3RhY2sgKGdkYmFy Y2gsIG5ld19zc3AsDQo+ID4gK3JhbmdlKTsNCj4gPiArDQo+ID4gKwkgIC8qIENoZWNrIHdoZXRo ZXIgdGhlIG5ldyBTU1AgaXMgdmFsaWQuICBEZXBlbmRpbmcgb24gdGhlDQo+ID4gKwkgICAgIGFy Y2hpdGVjdHVyZSwgdGhpcyBtYXkgcmVseSBvbiBib3RoDQo+ID4gKwkgICAgIElTX1RPUF9BRERS X0VNUFRZX1NIQURPV19TVEFDSyBhbmQgdGhlIHJldHVybiB2YWx1ZSBvZg0KPiA+ICsJICAgICBn ZGJhcmNoX2FkZHJlc3NfaW5fc2hhZG93X3N0YWNrX21lbW9yeV9yYW5nZSwgb3Igb24gdGhlDQo+ ID4gKwkgICAgIGxhdHRlciBvbmx5LiAgKi8NCj4gPiArCSAgaWYgKGlzX3RvcF9hZGRyX2VtcHR5 X3NoYWRvd19zdGFjaw0KPiANCj4gQ29uc2lkZXJpbmcgdGhhdCwgYXMgcHJldmlvdXNseSBtZW50 aW9uZWQsDQo+IGdkYmFyY2hfYWRkcmVzc19pbl9zaGFkb3dfc3RhY2tfbWVtb3J5X3JhbmdlIHVz ZXMgJzwnIHJhdGhlciB0aGFuICc8PScNCj4gaW4gdGhlIG1lbW9yeSByYW5nZSBjaGVjaywgQUFy Y2g2NCBkb2Vzbid0IG5lZWQNCj4gZ2RiYXJjaF90b3BfYWRkcl9lbXB0eV9zaGFkb3dfc3RhY2su DQoNCkFncmVlLCBidXQgZm9yIGFtZDY0IEkgbmVlZCBpdC4uLiAoYXMgZGVzY3JpYmVkIGJlZm9y ZSkuDQoNCj4gDQo+IFRoZSB3YXkgdGhpcyBpZiBjb25kaXRpb24gaXMgd3JpdHRlbiwgSSB0aGlu ayBpdCdzIHg4Nl82NCB0aGF0IHdvdWxkIG5lZWQgdG8NCj4gcHJvdmlkZSBhbiBnZGJhcmNoX3Rv cF9hZGRyX2VtcHR5X3NoYWRvd19zdGFjayBpbXBsZW1lbnRhdGlvbi4NCj4gSSdtIHN1cnByaXNl ZCBpdCBkb2Vzbid0Lg0KDQpBcyBkZXNjcmliZWQgYmVmb3JlLCBJIG1pc3NlZCB0byBwYXNzIG5l d19zc3AgaW5zdGVhZCBvZiBzc3AsIHdoaWNoIG1hZGUgdGhpcw0KY29kZSB3b3JrIGZvciBhbWQ2 NC4gIEJ1dCBpdCdzIG5vdCBjb3JyZWN0LCBhbmQgSSBuZWVkDQpnZGJhcmNoX3RvcF9hZGRyX2Vt cHR5X3NoYWRvd19zdGFjay4NClRoYW5rcyBhZ2FpbiBmb3IgY2F0Y2hpbmcgdGhhdCENCg0KPiA+ ICsJICAgICAgfHwgZ2RiYXJjaF9hZGRyZXNzX2luX3NoYWRvd19zdGFja19tZW1vcnlfcmFuZ2Ug KGdkYmFyY2gsDQo+ID4gKwkJCQkJCQkgICAgICAgc3NwLA0KPiANCj4gU2hvdWxkbid0IHRoaXMg YXJndW1lbnQgYmUgbmV3X3NzcD8NCg0KQWxyZWFkeSBkaXNjdXNzZWQgYmVmb3JlLg0KDQo+IA0K PiA+ICsJCQkJCQkJICAgICAgICZyYW5nZSkpDQo+ID4gKwkgICAgcmV0dXJuIGZyYW1lX3Vud2lu ZF9nb3RfYWRkcmVzcyAodGhpc19mcmFtZSwgcmVnbnVtLCBuZXdfc3NwKTsNCj4gPiArCX0NCj4g PiArICAgIH0NCj4gPiArDQo+ID4gKyAgLyogUmV0dXJuIGEgdmFsdWUgd2hpY2ggaXMgbWFya2Vk IGFzIHVuYXZhaWxhYmxlLCBpbiBjYXNlIHdlIGNvdWxkIG5vdA0KPiA+ICsgICAgIGNhbGN1bGF0 ZSBhIHZhbGlkIHByZXZpb3VzIHNoYWRvdyBzdGFjayBwb2ludGVyLiAgKi8NCj4gPiArICB2YWx1 ZSAqcmV0dmFsDQo+ID4gKyAgICA9IHZhbHVlOjphbGxvY2F0ZV9yZWdpc3RlciAoZ2V0X25leHRf ZnJhbWVfc2VudGluZWxfb2theSAodGhpc19mcmFtZSksDQo+ID4gKwkJCQlyZWdudW0sIHJlZ2lz dGVyX3R5cGUgKGdkYmFyY2gsIHJlZ251bSkpOw0KPiA+ICsgIHJldHZhbC0+bWFya19ieXRlc191 bmF2YWlsYWJsZSAoMCwgcmV0dmFsLT50eXBlICgpLT5sZW5ndGggKCkpOw0KPiA+ICsgIHJldHVy biByZXR2YWw7DQo+ID4gKw0KPiANCj4gU3B1cmlvdXMgZW1wdHkgbGluZSBhZGRlZCBoZXJlLg0K DQpGaXhlZC4NCg0KPiA+ICt9DQo+ID4gZGlmZiAtLWdpdCBhL2dkYi9zaGFkb3ctc3RhY2suaCBi L2dkYi9zaGFkb3ctc3RhY2suaCBuZXcgZmlsZSBtb2RlDQo+ID4gMTAwNjQ0IGluZGV4IDAwMDAw MDAwMDAwLi41YzNiYTgwOTc0ZQ0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9nZGIvc2hh ZG93LXN0YWNrLmgNCj4gPiBAQCAtMCwwICsxLDM5IEBADQo+ID4gKy8qIERlZmluaXRpb25zIHRv IG1hbmFnZSBhIHNoYWRvdyBzdGFjayBwb2ludGVyIGZvciBHREIsIHRoZSBHTlUNCj4gZGVidWdn ZXIuDQo+ID4gKw0KPiA+ICsgICBDb3B5cmlnaHQgKEMpIDIwMjQtMjAyNSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4NCj4gPiArDQo+ID4gKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdE Qi4NCj4gPiArDQo+ID4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCj4gPiArIG1vZGlmeQ0KPiA+ICsNCj4gPiArICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkNCj4gPiArICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCj4gPiArICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4NCj4gPiArDQo+ID4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiA+ICsgICBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPiA+ ICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlDQo+ID4gKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuDQo+ID4gKw0KPiA+ICsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KPiA+ICsgICBhbG9uZyB3aXRoIHRoaXMg cHJvZ3JhbS4gIElmIG5vdCwgc2VlDQo+ID4gKyA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uICAqLw0KPiA+ICsNCj4gPiArI2lmbmRlZiBHREJfU0hBRE9XX1NUQUNLX0gNCj4gPiArI2Rl ZmluZSBHREJfU0hBRE9XX1NUQUNLX0gNCj4gPiArDQo+ID4gKy8qIElmIHNoYWRvdyBzdGFjayBp cyBlbmFibGVkLCBwdXNoIHRoZSBhZGRyZXNzIE5FV19BRERSIG9uIHRoZQ0KPiBzaGFkb3cNCj4g PiArICAgc3RhY2sgYW5kIHVwZGF0ZSB0aGUgc2hhZG93IHN0YWNrIHBvaW50ZXIgYWNjb3JkaW5n bHkuICAqLw0KPiA+ICsNCj4gPiArdm9pZCBzaGFkb3dfc3RhY2tfcHVzaCAoZ2RiYXJjaCAqZ2Ri YXJjaCwgcmVnY2FjaGUgKnJlZ2NhY2hlLA0KPiANCj4gUmVjZW50bHksIHRoZSBwcm9qZWN0IGhh cyBiZWVuIHRyeWluZyB0byBtYWtlIHRoZSBoZWFkZXIgZmlsZXMgY29udGFpbiBhbGwgdGhlDQo+ IGhlYWRlcnMgYW5kIGRlZmluaXRpb25zIHRoYXQgdGhleSBuZWVkLCBmb3IgdGhlIGJlbmVmaXQg b2YgSURFIGFuZCBsYW5ndWFnZQ0KPiBzZXJ2ZXIgdXNlcnMsIHNvIHRoYXQgdGhlc2UgdG9vbHMg ZG9uJ3QgZW1pdCBzcHVyaW91cyBlcnJvcnMgd2hlbiBzaG93aW5nIGENCj4gaGVhZGVyIGZpbGUu DQoNCkFoLCBvayBJIHdhc24ndCBhd2FyZS4gRG8geW91IGhhdmUgYSBsaW5rIGZvciB0aGF0ID8g SSB0aGluayBJIGNhbm5vdCBmb2xsb3cgMTAwICUuDQoNCj4gSW4gdGhpcyBjYXNlLCBjbGFuZ2Qg aXMgY29tcGxhaW5pbmcgaGVyZSB0aGF0IHJlZ2NhY2hlIGlzIHVua25vd24uIFRoZXJlJ3Mgbm8N Cj4gbmVlZCB0byBpbmNsdWRlIHJlZ2NhY2hlLmgganVzdCBmb3IgaXQsIGp1c3QgYWRkaW5nIGEg ImNsYXNzIHJlZ2NhY2hlIiBmb3J3YXJkDQo+IGRlY2xhcmF0aW9uIGF0IHRoZSBiZWdpbm5pbmcg b2YgdGhlIGZpbGUgaXMgZW5vdWdoLg0KPiANCj4gPiArCQkJY29uc3QgQ09SRV9BRERSIG5ld19h ZGRyKTsNCg0KT2ssIGFkZGVkIQ0KDQo+ID4gKw0KPiA+ICsvKiBVbndpbmQgdGhlIHByZXZpb3Vz IHNoYWRvdyBzdGFjayBwb2ludGVyIG9mIFRISVNfRlJBTUUncyBzaGFkb3cNCj4gc3RhY2sNCj4g PiArICAgcG9pbnRlci4gIFJFR05VTSBpcyB0aGUgcmVnaXN0ZXIgbnVtYmVyIG9mIHRoZSBzaGFk b3cgc3RhY2sgcG9pbnRlci4NCj4gPiArICAgUmV0dXJuIGEgdmFsdWUgdGhhdCBpcyB1bmF2YWls YWJsZSBpbiBjYXNlIHdlIGNhbm5vdCB1bndpbmQgdGhlDQo+ID4gKyAgIHByZXZpb3VzIHNoYWRv dyBzdGFjayBwb2ludGVyLiAgT3RoZXJ3aXNlLCByZXR1cm4gYSB2YWx1ZSBjb250YWluaW5nDQo+ ID4gKyAgIHRoZSBwcmV2aW91cyBzaGFkb3cgc3RhY2sgcG9pbnRlci4gICovDQo+ID4gKw0KPiA+ ICt2YWx1ZSAqIGR3YXJmMl9wcmV2X3NzcCAoY29uc3QgZnJhbWVfaW5mb19wdHIgJnRoaXNfZnJh bWUsDQo+IA0KPiBUaGUgc3BhY2UgYWZ0ZXIgInZhbHVlICoiIHNob3VsZCBiZSByZW1vdmVkLg0K DQpGaXhlZC4NCg0KPiANCj4gPiArCQkJIHZvaWQgKip0aGlzX2NhY2hlLCBpbnQgcmVnbnVtKTsN Cj4gPiArDQo+ID4gKyNlbmRpZiAvKiBHREJfU0hBRE9XX1NUQUNLX0ggKi8NCj4gLS0NCj4gVGhp YWdvDQo+IA0KPiDCuSBodHRwczovL2luYm94LnNvdXJjZXdhcmUub3JnL2dkYi1wYXRjaGVzLzg3 bGRvNmM4NHQuZnNmQHJlZGhhdC5jb20vDQoNCg0KQ2hyaXN0aW5hDQpJbnRlbCBEZXV0c2NobGFu ZCBHbWJIDQpSZWdpc3RlcmVkIEFkZHJlc3M6IERvcm5hY2hlciBTdHJhw59lIDEsIDg1NjIyIEZl bGRraXJjaGVuLCBHZXJtYW55DQpUZWw6ICs0OSA4OSA5OTEgNDMwLCB3d3cuaW50ZWwuZGUNCk1h bmFnaW5nIERpcmVjdG9yczogSGFycnkgRGVtYXMsIEplZmZyZXkgU2NobmVpZGVybWFuLCBZaW4g Q2hvbmcgU29ycmVsbA0KQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJkOiBOaWNv bGUgTGF1DQpSZWdpc3RlcmVkIFNlYXQ6IE11bmljaA0KQ29tbWVyY2lhbCBSZWdpc3RlcjogQW10 c2dlcmljaHQgTcO8bmNoZW4gSFJCIDE4NjkyOAo=