From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id MXMNL7VGR2Zw2BQAWB0awg (envelope-from ) for ; Fri, 17 May 2024 07:59:49 -0400 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=R/9J+2FM; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id AC9F31E0C1; Fri, 17 May 2024 07:59:49 -0400 (EDT) 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 C6D991E030 for ; Fri, 17 May 2024 07:59:46 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AF6D23858435 for ; Fri, 17 May 2024 11:59:45 +0000 (GMT) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) by sourceware.org (Postfix) with ESMTPS id E00243858D20 for ; Fri, 17 May 2024 11:59:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E00243858D20 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 E00243858D20 Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=192.198.163.10 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1715947163; cv=fail; b=uBkCpjlF3Vd+z7OGipSuYvbdl//FCyf2H7xy4gXYhe1YXOJpXlWOkrGV2jDFRbbB5KXs6oSEVCRxQ0UMo2uhKNUwrN35aokYlt0v+ypviizagrE5ocZIP/jOx0b7o9RwFp1gZaro6sy5FOz/rBgd57h9g1RSh7kSYmgKBUhcNH8= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1715947163; c=relaxed/simple; bh=vv4qSltN3zEkMAu/Zil25h/ZFXMVRyunrvCvz3PQop4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=UZ2A0pIMFnPC5t6W5D4zPbuagGmCa3TCUlGKlaUomY9AVpbsbIkQH7nrPW31NPHUB3I5YgJx4QoNBUCrNAajjaG9p+TRk88QMB14eZWNKFKj3GhZ4e0MpRb1UAs/GRVZNY4U38OyKj0CcWZESUo4Te9joc2ckTIgf5q75trqWXg= 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=1715947159; x=1747483159; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=vv4qSltN3zEkMAu/Zil25h/ZFXMVRyunrvCvz3PQop4=; b=R/9J+2FMAtbWJccmJ5GLIoybGPMZa0DxdxXYYiRHVq/DrzF3cfWjs0bY TAXW6V+wrC7U1zaim1lrBxFDVCL0PgI1i+CiIozeC44pEssd4Fmb7qi7U 3LhQQlxlca8nf3rfC0Km5pVclRH+nm1mJvNpUIx3oUPDIYu9J/rt8nb/n lTx6XY0ee3EQe2euGqfkeNZ2J1XTbEGIxISe15RethkBmDaULRTNmRj3R syfR8zjv0hZxe8zBIEvoMc3f+aR830WzU0Mse89hAwlzn5h2xxvvOJw01 K0C6GAgwnb6UCt1pAmO1nHmRkJ7DrVdv/FJL4v6o7d2QLeeb9AJP2Wj3E Q==; X-CSE-ConnectionGUID: cztiPBBNSUWd9KySz61Ihw== X-CSE-MsgGUID: 3ZDUgwBZR9Sprx5eSemN4Q== X-IronPort-AV: E=McAfee;i="6600,9927,11074"; a="23532421" X-IronPort-AV: E=Sophos;i="6.08,167,1712646000"; d="scan'208";a="23532421" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2024 04:59:06 -0700 X-CSE-ConnectionGUID: 7aN1dlhjTiGJoMFDsDrB0w== X-CSE-MsgGUID: xXN/MBP8QwSFSXDVZD6oWA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,167,1712646000"; d="scan'208";a="36668548" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa004.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 17 May 2024 04:59:06 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 17 May 2024 04:59:05 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 17 May 2024 04:59:04 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Fri, 17 May 2024 04:59:04 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Fri, 17 May 2024 04:59:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kplnYQ5tfDgJEcCwMOOyFgxA6bOW394LOfQXBCI+zZ4WhP7hN58nsTLjggpGZhigZkxgEBl/ZlEw8YfM2QRUXfS+lrzWI8nUa+Rb/aqkpBCcO6HWslgXfyaMtiYUSly7KMKXVaxpfrL7sVcbttUj7xh2SflWOVyWDAWhRSKRQYAipZFAm4osAWuynH2PYW5edo5PqldQVysH50T4E2QXqIslWuO6U3sCJmc1nFZFUL5yLU6dAFPy8dc23rm/jxQCcFk2iUKPK5digSFU52+gqHpFjhrP2vlZfO4plpqco0cCN8KUyGtf7oHzU8MfUfOmPDLnkEk7O1ZP2ih3eJ7PSg== 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=EhN3qvrUer0wmibdAfifb/xgYWMsaQE3MCzRw/9LpC0=; b=jtf0YSyPpz+EvPNsLe5gdP7J6t+5dA8/zffyreH5GJ6Okroy9Rk7v5aqT/3knyNQT4sk5wdnZmf+DkJsdrFZsYUal1lWVYVbyW0ZG4qsQpmdSVnkVI6MpcIV08hCQCdy6pwetaX0ZjKYs/d7E3XhR8aX208UgCWxzcJpKLv7YjWiH0lfizFiTzQvck58jtZC8a3JqECh92MZpuBEut8qGx4szLssccG7IMZR9Pw/UsvNHYnOH4MXHC+js+ChGwxmrNAVqXHrnI5KMo4JI/SvGuSRMpPwqkycHWC5T9xnvjg4vA/5XI6Jjcuhe/QMGaUGqoQpcG7N/j1OY+dYfKghhg== 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 MN2PR11MB4566.namprd11.prod.outlook.com (2603:10b6:208:24e::16) by PH7PR11MB7962.namprd11.prod.outlook.com (2603:10b6:510:245::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.30; Fri, 17 May 2024 11:59:02 +0000 Received: from MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::7fc0:8ee5:d974:e1e]) by MN2PR11MB4566.namprd11.prod.outlook.com ([fe80::7fc0:8ee5:d974:e1e%5]) with mapi id 15.20.7587.028; Fri, 17 May 2024 11:59:02 +0000 From: "Willgerodt, Felix" To: Andrew Burgess , "gdb-patches@sourceware.org" CC: "jhb@FreeBSD.org" Subject: RE: [PATCHv7 7/9] gdb/gdbserver: share some code relating to target description creation Thread-Topic: [PATCHv7 7/9] gdb/gdbserver: share some code relating to target description creation Thread-Index: AQHao4tJfQjMNcWakUudwvEMJ1INsbGYB1kQ Date: Fri, 17 May 2024 11:59:01 +0000 Message-ID: References: <3f2e66bab7bb82afcc7cd5297786807c6626f2d6.1715421687.git.aburgess@redhat.com> In-Reply-To: <3f2e66bab7bb82afcc7cd5297786807c6626f2d6.1715421687.git.aburgess@redhat.com> 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: MN2PR11MB4566:EE_|PH7PR11MB7962:EE_ x-ms-office365-filtering-correlation-id: bc149ca5-7719-46a0-6175-08dc7668be3d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|376005|1800799015|366007|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?TDIzQWdvRWFIOGQwT0dzTjhsanVJQ0RNSUlsN0V1ODlsOC9LWUY3QXczQnFV?= =?utf-8?B?eDBtNEZIbTUvSzJLV1hCdjh1WFgyaGlWQmtIbTY5MWhFeFFwN2s3OXd0MkRq?= =?utf-8?B?azB3bzhLNGFNL25EV2pMVkVBbUNiTExhL1k5VFZqQm5iRDYwTkJ0djJQeXFG?= =?utf-8?B?NGpDZ2dIK3FyVTk5dWhYUVJSTnJPZ1VYYzN1RDArRU5sUGlNazZPOW9EamxB?= =?utf-8?B?M1V6V1loR1hZSno1b01jUTVUMTNTTjRoQmpUZFRkRjZ2eVRHb2FrOU8zS2Qv?= =?utf-8?B?RWJ1OTJRTDdVdlYxdjUzL2pEdnRsM0lKYkFlaHErcnlOQnp5SkFaUHd0bTl3?= =?utf-8?B?bzRsS2RJd1o1M2krdTNXRUxyVUJ3TXBJeU1UR0YwYWxHZSswOFZ6dnZOd041?= =?utf-8?B?MlVxY1kzTVowMnhRbGZiMEFTL080c2ozbk9yVWJtUTdvYzBhNUtsN1EzdzZp?= =?utf-8?B?Q0gwL0hQRlVtSFYwYmN2OGhlR2NneGtSTVBOZ1UvOFIwQjh0V25ZM0VYMU9I?= =?utf-8?B?Q2R1MS83NGxmc01MY21YYjh0WkZFeXRzZXJEN0hzRm9ITytKUkhwb0ltempN?= =?utf-8?B?amhIUXU2dDlFTWpoQllNMENxTFVXZ21ycTltdmtZbDcyMUJkMWxtcFRqRzNZ?= =?utf-8?B?bmR2KzZoUnJyRHlkTk5mQVVVVEI1WUVjVUUzQ3YyVytyMitUNXF4dTlPZ01p?= =?utf-8?B?clp5Wk1weFBlNXhLY2lwd0FmVkpNYk5xK0JXaW93Z1NwMFB2M2llRVJSWnV5?= =?utf-8?B?Vm9yelNzZ0dhTi9Zc1p2b2Y5WUFaaTFHVytESlJYWDdwZ0RaaVZiYktPeEkz?= =?utf-8?B?S1ZvZXM5ZHgzSEs5alVNWVhoV0N2UUQvUnp2c1g0NG93M2pKVVpzcVBubFRC?= =?utf-8?B?aVNSVm9ETlhxN2t4c2lSY0tkMWNKZmdJdWQ3K3VXYzRHRjA4eTZHQTBHUVZD?= =?utf-8?B?anoxdDZ4N3NtZVdEVnkrVWxFRmJubzJtcWdwdFRNTjlnaFN3R2NqWVdPbTZ2?= =?utf-8?B?VUU3aEF3ZTdhenc5MzVzNTRtVnlLMFhacDJFMVNpT003S0pHd21PKzVNcElH?= =?utf-8?B?Z2VQVE1jY0N2Q0J1NXBWSmYrcGdRQTdwWUNXYXVMMElOa0Nyak13aDhTaGdD?= =?utf-8?B?ZGR4ZlRTa3VOV2lFY2NoZzVGeHhNaktoZWh4d1JUejU0VGxrbnl6aTkwZlkv?= =?utf-8?B?TkhUR0JOU1dpeHhSYUp5bVVuNHlvLzhoTmFHTll3ZlZjZGorL1E1UVQ4NGdI?= =?utf-8?B?TFdDMmNrcmpCc1dhU3NOaWxuTTJtWDc0eXdSSTEzYlIvWlc3M0c5SWdiRUJ6?= =?utf-8?B?VWJCUEZ5ZjUzY3czbjlObzRkeXdmVnNGOWNMUnB4TGZYZWZqYXlRZHgyY2tC?= =?utf-8?B?Nm0wZUk4eGpmKytwZmpXQjNheHlrMG1jcno4cm5Xc2xzTURHcEdEa0tsYno5?= =?utf-8?B?SW9oeXlYUGdNaW1JcTZCdndMY2NjZit1bTZRaXQ0OWw4aTB2ZWE1Vm1VSVNC?= =?utf-8?B?YVBQRTV5T0xlSXJuVmQzTjBoTEtMQktqVmtPbFcxUm9xYmpvVm04MGFha0NI?= =?utf-8?B?VXRJbmZlamZYWXVaL1VEV1lrZDVvcGVYMTdTYUluQXNKdXNJWXA3S3VGUmNB?= =?utf-8?B?WkJFK0RFYWNieHJTZWZOUkFRYi8yQktmaElpS2EzVEpuRlZQemJ3L292NVVq?= =?utf-8?B?VXZmRnVjRGZSenZRNEYrSEZKWlZ0V2RtYlczQWNrblc4a1hTSE9zS2N3PT0=?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4566.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(1800799015)(366007)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V1cwMDNzR1BHSzlJR0RwZlQ2VlJrT0g2cnErd0s2TSt3amVxZGRKcEFUQUoy?= =?utf-8?B?Vm42S1Z4NEFpbGZmV0dCd3lHU050aVBZbE82K3hHaDRSSU84UmpuOWlyUVJ1?= =?utf-8?B?VWQ5dE5QSWF3Z0ZTZjZkdHMraWZLT1k0SlowSGw2Ym5TZTkwaExRcVhxOVZt?= =?utf-8?B?cEdTc2JwcExqQ2YycFVvZ1hMV3NuZXVXVHAzRmVaamRldXNhc2lFdzZ0aHE1?= =?utf-8?B?V1pFZXBYR0lkRHI0TU5TcnRpcVpaWmJxQ2ZCdktoSndId3NtdXhySVlkQ01F?= =?utf-8?B?Njk0SG5KQ2JUUlhFRHhiQ2JBZWNkUjZwSUZCQ3c4cDRZem9kaG1WZDZrYXlv?= =?utf-8?B?RWxLZ3gxYU1FWkFHcllMNUpzb0lNNTJqTURRbmJya0xkRk9QYk5nOWE0SlRp?= =?utf-8?B?RDlOMFVRL2tHRnJLYm1JSWRrd1RXT2hCSElvcGZzOHZNQkxEK0hGZ3JpVnZF?= =?utf-8?B?YkVEU2w2cTg0UWJkL2xpTVFWVTNKZEtwdWVQWmJkVnJObDdPZi9pOHJpa0tG?= =?utf-8?B?bG1uYUdoT2pVR1hvVkJvY2dOVEI1TEtIMTVPemRYcnVNZTlhcjlmSFVyRkJD?= =?utf-8?B?V1IzRlZESm1mWlBKNnVPTnNreWhmOUJuYmRCdmRGYWtkSlVwVndkNlNJU2h4?= =?utf-8?B?dXJWZDhIWGYvaGpGSHFSeWVzL0l3RUZpc24rTkNVdlE5T3JiK3EzRG5SOVls?= =?utf-8?B?Y0JwTFg3OU9oa1pKeEhiTk1qelZpVDZBa2dLci9LSWovM0Z6QWwzSUJjTWNz?= =?utf-8?B?YmxHd1ZaT3dMazlYV2lZSmttK042L3lBUnR5RTlCU0xLbSs0UGluWlFPRmxo?= =?utf-8?B?NlJwYUtpaTM3akp4R0wyVm5jZXVFN29QWFFOWmhKZnpOQjc2WGkvWTNhZ08r?= =?utf-8?B?Nkw1YzR1dGhFR0NmSXFPR09ROU9ROFdHS1NWRHIwOWhVUDNSWGNYbWhsdys2?= =?utf-8?B?b2dxUGU2RzlNbkdZY3VWbTlSQVlLZG8zY0VoajBxRm1RbVhJUThCMm85VVh4?= =?utf-8?B?aVhkL2NkWDdYcHBod1F0cE9tU1NpVE5iTVdFOWZCMk0xbkwzc3F4UHVkV092?= =?utf-8?B?aE1aazM0Nm4yOE84Sm5BTDMwTzhsQ2djMHFnVWpZbDV2Sjk5UjBZU3hVWUIv?= =?utf-8?B?VG5YVWczaElwcjUxTnFSR3Fsczg4cHBTWUpKOEFSSmRiSGJlbDdWdW4rZUQz?= =?utf-8?B?bUdBczlFUVdQK1RZU3NFQkllS3M3VkRkYkNiTXptbWlJOWtOUVN1VGJPblpX?= =?utf-8?B?am5paUlUbGxqeHF2bitRWEd4N1k0bTVjbEJVYitVN2xYSEwybXhQdUhtQVFN?= =?utf-8?B?dTNranZ5U0lTZXJlL2J4TitCaVRoS1FBM1E1U0h5cnZRVklyL0sxNEtvejdz?= =?utf-8?B?Z2x1azN6REQ3eThGeG9wNU5nN0VWQWxDZCtTS0luWXZGcmFkN1F6Z3RybmxY?= =?utf-8?B?Y21kdjlKQTN3a05TZnBZMEtHeXlwNkRYd28xOG1TTzhndm82YjkwRjBJc09l?= =?utf-8?B?QWpQR3VvK2lFQnJhcGEzKzdKRWJsOWdlUmtTblhjS0N2d3JnbThrOEdDOGN5?= =?utf-8?B?VXU1YXlSV1Foc0pPTkozZ2ZFOGNEaTJVaGk0VzRPZDQxU2pFelF3b0F1ZFdB?= =?utf-8?B?MERucnRlaFJmY0JsQUdQTzYwVW1ZSnFHQzljcHpKMEpHVWYxYStiNUwrTHhX?= =?utf-8?B?TUpJVVRqTWRtcng0cGRYUXBGakRHSXZncmF5b2lFa3NXemZxdU9VUWZ4RTZR?= =?utf-8?B?ZURLSy9WSTlCWjg3UGp6VHlCcXpEdEZWRHpzYjRqaW9hdTgwOFVWZEVzV3lX?= =?utf-8?B?NjUwYThsSXZibE5vUXRIZEI1SUtyNWcyL0R2WVV3MEpGOWpUOG40WVFjeFU4?= =?utf-8?B?WjRETXNVWWc5aEM1RjZyaWtLcUZlb2pKSHFzREdRWGVSczl3cGxJRi91b0VV?= =?utf-8?B?bjQwRFVmN0RabzBackQvUUtTQkJHN0xma1pTVkFiZHV4bWxqN0ZwY0cwOG5G?= =?utf-8?B?TTJyRXpiZlVocUgxaTYrQ0ZsM2dGbHYwM1lqdWRGdTErdDR4L2xhQU1Wc2Rw?= =?utf-8?B?cHgzYUxEa1l1UXNOTFByQnFkaGRuN2lqUjRyZG9RdTdMZklLeU8rbXFKTnJj?= =?utf-8?B?Q21PUmc1d0VqMno3c2V1SHN5Q1o4OUpGellvdVZGd212UWdEdmoyaGRqSk1j?= =?utf-8?B?c2c9PQ==?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4566.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc149ca5-7719-46a0-6175-08dc7668be3d X-MS-Exchange-CrossTenant-originalarrivaltime: 17 May 2024 11:59:01.9974 (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: z0Ba7KRN10lZRZTtEjlqbqxLhEk4A0kBl8q9osypUWHJC0YyZJZupsjs8MpTnuzKp40pgGhouxm7AHFi0XM4H5TAANTaZ4kaZMB7O8qWlnE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB7962 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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 SGkgQW5kcmV3LA0KDQpJIG1haW5seSBoYXZlIHNvbWUgbml0cyBhbmQgb25lIGFjdHVhbCByZW1h cmsgKHRoZSB4MzIgY2hlY2spLg0KVGhhbmtzIGFnYWluIGZvciBkb2luZyB0aGlzIGFuZCBzb3Jy eSBmb3IgdGFraW5nIGEgYml0IHRvIHJldmlldyB0aGlzLg0KDQpGZWxpeA0KIA0KPiBkaWZmIC0t Z2l0IGEvZ2RiL25hdC94ODYtbGludXgtdGRlc2MuYyBiL2dkYi9uYXQveDg2LWxpbnV4LXRkZXNj LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLmIwNjU5Mjhm OGJhDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2RiL25hdC94ODYtbGludXgtdGRlc2MuYw0K PiBAQCAtMCwwICsxLDEyOSBAQA0KPiArLyogVGFyZ2V0IGRlc2NyaXB0aW9uIHJlbGF0ZWQgY29k ZSBmb3IgR05VL0xpbnV4IHg4NiAoaTM4NiBhbmQgeDg2LTY0KS4NCj4gKw0KPiArICAgQ29weXJp Z2h0IChDKSAyMDI0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KPiArDQo+ICsgICBU aGlzIGZpbGUgaXMgcGFydCBvZiBHREIuDQo+ICsNCj4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+ICsgICBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQ0KPiArICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCj4gKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uDQo+ICsNCj4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiArICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4gKyAgIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUN Cj4gKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ICsN Cj4gKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlDQo+ICsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovDQo+ICsNCj4gKyNpbmNsdWRl ICJuYXQveDg2LWxpbnV4LXRkZXNjLmgiDQo+ICsjaWZkZWYgX194ODZfNjRfXw0KPiArI2luY2x1 ZGUgImFyY2gvYW1kNjQuaCINCj4gKyNpbmNsdWRlICJhcmNoL2FtZDY0LWxpbnV4LXRkZXNjLmgi DQo+ICsjZW5kaWYNCj4gKyNpbmNsdWRlICJhcmNoL2kzODYuaCINCj4gKyNpbmNsdWRlICJhcmNo L2kzODYtbGludXgtdGRlc2MuaCINCj4gKw0KPiArI2luY2x1ZGUgIm5hdC94ODYtbGludXguaCIN Cj4gKyNpbmNsdWRlICJuYXQvZ2RiX3B0cmFjZS5oIg0KPiArI2luY2x1ZGUgIm5hdC94ODYteHN0 YXRlLmgiDQo+ICsjaW5jbHVkZSAiZ2Ric3VwcG9ydC94ODYteHN0YXRlLmgiDQo+ICsNCj4gKyNp Zm5kZWYgX194ODZfNjRfXw0KPiArI2luY2x1ZGUgPHN5cy9wcm9jZnMuaD4NCj4gKyNpbmNsdWRl ICJuYXQvaTM4Ni1saW51eC5oIg0KPiArI2VuZGlmDQo+ICsNCj4gKyNpbmNsdWRlIDxzeXMvdWlv Lmg+DQo+ICsjaW5jbHVkZSA8ZWxmLmg+DQo+ICsNCj4gKyNpZm5kZWYgSU5fUFJPQ0VTU19BR0VO VA0KPiArDQo+ICsvKiBTZWUgbmF0L3g4Ni1saW51eC10ZGVzYy5oLiAgKi8NCj4gKw0KPiArY29u c3QgdGFyZ2V0X2Rlc2MgKg0KPiAreDg2X2xpbnV4X3RkZXNjX2Zvcl90aWQgKGludCB0aWQsIGNv bnN0IGNoYXIgKmVycm9yX21zZywNCj4gKwkJCSB1aW50NjRfdCAqeGNyMF9zdG9yYWdlLA0KPiAr CQkJIHg4Nl94c2F2ZV9sYXlvdXQgKnhzYXZlX2xheW91dF9zdG9yYWdlKQ0KPiArew0KPiArI2lm ZGVmIF9feDg2XzY0X18NCj4gKw0KDQpJdCBsb29rcyB3ZWlyZCB0byBtZSB0aGF0IHRoZXJlIGlz IGFuIGVtcHR5IGxpbmUgaGVyZSBidXQgbm90IGZvciB0aGUgb3RoZXJzLg0KDQo+ICsgIHg4Nl9s aW51eF9hcmNoX3NpemUgYXJjaF9zaXplID0geDg2X2xpbnV4X3B0cmFjZV9nZXRfYXJjaF9zaXpl ICh0aWQpOw0KPiArICBib29sIGlzXzY0Yml0ID0gYXJjaF9zaXplLmlzXzY0Yml0ICgpOw0KPiAr ICBib29sIGlzX3gzMiA9IGFyY2hfc2l6ZS5pc194MzIgKCk7DQo+ICsNCj4gKyAgaWYgKHNpemVv ZiAodm9pZCAqKSA9PSA0ICYmIGlzXzY0Yml0ICYmICFpc194MzIpDQo+ICsgICAgZXJyb3IgKCIl cyIsIGVycm9yX21zZyk7DQo+ICsNCj4gKyNlbGlmIEhBVkVfUFRSQUNFX0dFVEZQWFJFR1MNCj4g KyAgaWYgKGhhdmVfcHRyYWNlX2dldGZweHJlZ3MgPT0gVFJJQk9PTF9VTktOT1dOKQ0KPiArICAg IHsNCj4gKyAgICAgIGVsZl9mcHhyZWdzZXRfdCBmcHhyZWdzOw0KPiArDQo+ICsgICAgICBpZiAo cHRyYWNlIChQVFJBQ0VfR0VURlBYUkVHUywgdGlkLCAwLCAoaW50KSAmZnB4cmVncykgPCAwKQ0K PiArCXsNCj4gKwkgIGhhdmVfcHRyYWNlX2dldGZweHJlZ3MgPSBUUklCT09MX0ZBTFNFOw0KPiAr CSAgaGF2ZV9wdHJhY2VfZ2V0cmVnc2V0ID0gVFJJQk9PTF9GQUxTRTsNCj4gKwl9DQo+ICsgICAg ICBlbHNlDQo+ICsJaGF2ZV9wdHJhY2VfZ2V0ZnB4cmVncyA9IFRSSUJPT0xfVFJVRTsNCj4gKyAg ICB9DQo+ICsNCj4gKyAgaWYgKGhhdmVfcHRyYWNlX2dldGZweHJlZ3MgPT0gVFJJQk9PTF9GQUxT RSkNCj4gKyAgICByZXR1cm4gaTM4Nl9saW51eF9yZWFkX2Rlc2NyaXB0aW9uIChYODZfWFNUQVRF X1g4N19NQVNLKTsNCj4gKyNlbmRpZg0KPiArDQo+ICsgIGlmIChoYXZlX3B0cmFjZV9nZXRyZWdz ZXQgPT0gVFJJQk9PTF9VTktOT1dOKQ0KPiArICAgIHsNCj4gKyAgICAgIHVpbnQ2NF90IHhzdGF0 ZXJlZ3NbKFg4Nl9YU1RBVEVfU1NFX1NJWkUgLyBzaXplb2YgKHVpbnQ2NF90KSldOw0KPiArICAg ICAgc3RydWN0IGlvdmVjIGlvdjsNCj4gKw0KPiArICAgICAgaW92Lmlvdl9iYXNlID0geHN0YXRl cmVnczsNCj4gKyAgICAgIGlvdi5pb3ZfbGVuID0gc2l6ZW9mICh4c3RhdGVyZWdzKTsNCj4gKw0K PiArICAgICAgLyogQ2hlY2sgaWYgUFRSQUNFX0dFVFJFR1NFVCB3b3Jrcy4gICovDQo+ICsgICAg ICBpZiAocHRyYWNlIChQVFJBQ0VfR0VUUkVHU0VULCB0aWQsDQo+ICsJCSAgKHVuc2lnbmVkIGlu dCkgTlRfWDg2X1hTVEFURSwgJmlvdikgPCAwKQ0KPiArCXsNCj4gKwkgIGhhdmVfcHRyYWNlX2dl dHJlZ3NldCA9IFRSSUJPT0xfRkFMU0U7DQo+ICsJICAqeGNyMF9zdG9yYWdlID0gMDsNCj4gKwl9 DQo+ICsgICAgICBlbHNlDQo+ICsJew0KPiArCSAgaGF2ZV9wdHJhY2VfZ2V0cmVnc2V0ID0gVFJJ Qk9PTF9UUlVFOw0KPiArDQo+ICsJICAvKiBHZXQgWENSMCBmcm9tIFhTQVZFIGV4dGVuZGVkIHN0 YXRlLiAgKi8NCj4gKwkgICp4Y3IwX3N0b3JhZ2UgPSB4c3RhdGVyZWdzWyhJMzg2X0xJTlVYX1hT QVZFX1hDUjBfT0ZGU0VUDQo+ICsJCQkJICAgICAgLyBzaXplb2YgKHVpbnQ2NF90KSldOw0KPiAr DQo+ICsjaWZkZWYgX194ODZfNjRfXw0KPiArCSAgLyogTm8gTVBYIG9uIHgzMi4gICovDQo+ICsJ ICBpZiAoaXNfNjRiaXQgJiYgaXNfeDMyKQ0KPiArCSAgICAqeGNyMF9zdG9yYWdlICY9IH5YODZf WFNUQVRFX01QWDsNCj4gKyNlbmRpZiAvKiBfX3g4Nl82NF9fICovDQo+ICsNCj4gKwkgICp4c2F2 ZV9sYXlvdXRfc3RvcmFnZQ0KPiArCSAgICA9IHg4Nl9mZXRjaF94c2F2ZV9sYXlvdXQgKCp4Y3Iw X3N0b3JhZ2UsIHg4Nl94c2F2ZV9sZW5ndGggKCkpOw0KPiArCX0NCj4gKyAgICB9DQo+ICsNCj4g KyAgLyogQ2hlY2sgdGhlIG5hdGl2ZSBYQ1IwIG9ubHkgaWYgUFRSQUNFX0dFVFJFR1NFVCBpcyBh dmFpbGFibGUuICBJZg0KPiArICAgICBQVFJBQ0VfR0VUUkVHU0VUIGlzIG5vdCBhdmFpbGFibGUg dGhlbiBzZXQgeGNyMF9mZWF0dXJlc19iaXRzIHRvDQo+ICsgICAgIHplcm8gc28gdGhhdCB0aGUg Im5vLWZlYXR1cmVzIiBkZXNjcmlwdGlvbnMgYXJlIHJldHVybmVkIGJ5IHRoZQ0KPiArICAgICBj b2RlIGJlbG93LiAgKi8NCj4gKyAgdWludDY0X3QgeGNyMF9mZWF0dXJlc19iaXRzOw0KPiArICBp ZiAoaGF2ZV9wdHJhY2VfZ2V0cmVnc2V0ID09IFRSSUJPT0xfVFJVRSkNCj4gKyAgICB4Y3IwX2Zl YXR1cmVzX2JpdHMgPSAqeGNyMF9zdG9yYWdlICYgWDg2X1hTVEFURV9BTExfTUFTSzsNCj4gKyAg ZWxzZQ0KPiArICAgIHhjcjBfZmVhdHVyZXNfYml0cyA9IDA7DQo+ICsNCj4gKyNpZmRlZiBfX3g4 Nl82NF9fDQo+ICsgIGlmIChpc182NGJpdCkNCj4gKyAgICByZXR1cm4gYW1kNjRfbGludXhfcmVh ZF9kZXNjcmlwdGlvbiAoeGNyMF9mZWF0dXJlc19iaXRzLCBpc194MzIpOw0KPiArICBlbHNlDQo+ ICsjZW5kaWYNCj4gKyAgICByZXR1cm4gaTM4Nl9saW51eF9yZWFkX2Rlc2NyaXB0aW9uICh4Y3Iw X2ZlYXR1cmVzX2JpdHMpOw0KPiArfQ0KPiArDQo+ICsjZW5kaWYgLyogIUlOX1BST0NFU1NfQUdF TlQgKi8NCj4gZGlmZiAtLWdpdCBhL2dkYi9uYXQveDg2LWxpbnV4LXRkZXNjLmggYi9nZGIvbmF0 L3g4Ni1saW51eC10ZGVzYy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAwLi40MDM1YzQ5ZmMwNg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2dkYi9uYXQveDg2 LWxpbnV4LXRkZXNjLmgNCj4gQEAgLTAsMCArMSw1NCBAQA0KPiArLyogVGFyZ2V0IGRlc2NyaXB0 aW9uIHJlbGF0ZWQgY29kZSBmb3IgR05VL0xpbnV4IHg4NiAoaTM4NiBhbmQgeDg2LTY0KS4NCj4g Kw0KPiArICAgQ29weXJpZ2h0IChDKSAyMDI0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j Lg0KPiArDQo+ICsgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHREIuDQo+ICsNCj4gKyAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5DQo+ICsgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KPiArICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCj4gKyAgIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo+ICsNCj4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiArICAgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YNCj4gKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUNCj4gKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuDQo+ICsNCj4gKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQo+ICsgICBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovDQo+ ICsNCj4gKyNpZm5kZWYgTkFUX1g4Nl9MSU5VWF9UREVTQ19IDQo+ICsjZGVmaW5lIE5BVF9YODZf TElOVVhfVERFU0NfSA0KPiArDQo+ICsjaW5jbHVkZSAiZ2Ric3VwcG9ydC9mdW5jdGlvbi12aWV3 LmgiDQo+ICsNCj4gK3N0cnVjdCB0YXJnZXRfZGVzYzsNCj4gK3N0cnVjdCB4ODZfeHNhdmVfbGF5 b3V0Ow0KPiArDQo+ICsvKiBSZXR1cm4gdGhlIHRhcmdldCBkZXNjcmlwdGlvbiBmb3IgTGludXgg dGhyZWFkIFRJRC4NCj4gKw0KPiArICAgVGhlIHN0b3JhZ2UgcG9pbnRlZCB0byBieSBYQ1IwX1NU T1JBR0UgQU5EIFhTQVZFX0xBWU9VVF9TVE9SQUdFDQo+IG11c3QNCg0Kcy9BTkQvYW5kDQoNCj4g KyAgIGV4aXN0IHVudGlsIHRoZSBwcm9ncmFtIChHREIgb3IgZ2Ric2VydmVyKSB0ZXJtaW5hdGVz LCB0aGlzIHN0b3JhZ2UgaXMNCj4gKyAgIHVzZWQgdG8gY2FjaGUgdGhlIHhjcjAgYW5kIHhzYXZl IGxheW91dCB2YWx1ZXMuICBUaGUgdmFsdWVzIHBvaW50ZWQgdG8NCj4gKyAgIGJ5IHRoZXNlIGFy Z3VtZW50cyBhcmUgb25seSB1cGRhdGVkIGF0IG1vc3Qgb25jZSwgdGhlIGZpcnN0IHRpbWUgdGhp cw0KPiArICAgZnVuY3Rpb24gaXMgY2FsbGVkLg0KPiArDQo+ICsgICBUaGlzIGZ1bmN0aW9uIHJl dHVybnMgYSB0YXJnZXQgZGVzY3JpcHRpb24gYmFzZWQgb24gdGhlIGV4dHJhY3RlZCB4Y3IwDQo+ ICsgICB2YWx1ZSBhbG9uZyB3aXRoIG90aGVyIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgdGhyZWFk IGlkZW50aWZpZWQgYnkgVElELg0KPiArDQo+ICsgICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4g bnVsbHB0ciBpZiB3ZSBlbmNvdW50ZXIgYSBtYWNoaW5lIGNvbmZpZ3VyYXRpb24NCj4gKyAgIGZv ciB3aGljaCBhIHRhcmdldF9kZXNjIGNhbm5vdCBiZSBjcmVhdGVkLiAgSWRlYWxseSB0aGlzIHdv dWxkIG5vdCBiZQ0KPiArICAgdGhlIGNhc2UsIHdlIHNob3VsZCBiZSBhYmxlIHRvIGNyZWF0ZSBh IHRhcmdldCBkZXNjcmlwdGlvbiBmb3IgZXZlcnkNCj4gKyAgIHBvc3NpYmxlIG1hY2hpbmUgY29u ZmlndXJhdGlvbi4gIFNlZSBhbWQ2NF9saW51eF9yZWFkX2Rlc2NyaXB0aW9uIGFuZA0KPiArICAg aTM4Nl9saW51eF9yZWFkX2Rlc2NyaXB0aW9uIGZvciBjYXNlcyB3aGVuIG51bGxwdHIgbWlnaHQg YmUNCj4gKyAgIHJldHVybmVkLg0KPiArDQo+ICsgICBFUlJPUl9NU0cgaXMgdXNpbmcgaW4gYW4g ZXJyb3IoKSBjYWxsIGlmIHdlIHRyeSB0byBjcmVhdGUgYSB0YXJnZXQNCj4gKyAgIGRlc2NyaXB0 aW9uIGZvciBhIDY0LWJpdCBwcm9jZXNzIGJ1dCB0aGlzIGlzIGEgMzItYml0IGJ1aWxkIG9mIEdE Qi4gICovDQo+ICsNCj4gK2V4dGVybiBjb25zdCB0YXJnZXRfZGVzYyAqDQo+ICt4ODZfbGludXhf dGRlc2NfZm9yX3RpZCAoaW50IHRpZCwgY29uc3QgY2hhciAqZXJyb3JfbXNnLA0KPiArCQkJIHVp bnQ2NF90ICp4Y3IwX3N0b3JhZ2UsDQo+ICsJCQkgeDg2X3hzYXZlX2xheW91dCAqeHNhdmVfbGF5 b3V0X3N0b3JhZ2UpOw0KPiArDQo+ICsjZW5kaWYgLyogTkFUX1g4Nl9MSU5VWF9UREVTQ19IICov DQo+IGRpZmYgLS1naXQgYS9nZGIveDg2LWxpbnV4LW5hdC5jIGIvZ2RiL3g4Ni1saW51eC1uYXQu Yw0KPiBpbmRleCBlZDc2YzE3NjBiYy4uN2M5N2Y4NGVmNTYgMTAwNjQ0DQo+IC0tLSBhL2dkYi94 ODYtbGludXgtbmF0LmMNCj4gKysrIGIvZ2RiL3g4Ni1saW51eC1uYXQuYw0KPiBAQCAtNDEsNiAr NDEsNyBAQA0KPiAgI2luY2x1ZGUgIm5hdC94ODYtbGludXguaCINCj4gICNpbmNsdWRlICJuYXQv eDg2LWxpbnV4LWRyZWdzLmgiDQo+ICAjaW5jbHVkZSAibmF0L2xpbnV4LXB0cmFjZS5oIg0KPiAr I2luY2x1ZGUgIm5hdC94ODYtbGludXgtdGRlc2MuaCINCj4gDQo+ICAvKiBsaW51eF9uYXRfdGFy Z2V0Ojpsb3dfbmV3X2ZvcmsgaW1wbGVtZW50YXRpb24uICAqLw0KPiANCj4gQEAgLTk1LDkzICs5 NiwxOCBAQCB4ODZfbGludXhfbmF0X3RhcmdldDo6cG9zdF9zdGFydHVwX2luZmVyaW9yIChwdGlk X3QgcHRpZCkNCj4gIGNvbnN0IHN0cnVjdCB0YXJnZXRfZGVzYyAqDQo+ICB4ODZfbGludXhfbmF0 X3RhcmdldDo6cmVhZF9kZXNjcmlwdGlvbiAoKQ0KPiAgew0KPiAtICBpbnQgdGlkOw0KPiAtICBp bnQgaXNfNjRiaXQgPSAwOw0KPiAtI2lmZGVmIF9feDg2XzY0X18NCj4gLSAgaW50IGlzX3gzMjsN Cj4gLSNlbmRpZg0KPiAtICBzdGF0aWMgdWludDY0X3QgeGNyMDsNCj4gLSAgdWludDY0X3QgeGNy MF9mZWF0dXJlc19iaXRzOw0KPiArICBzdGF0aWMgdWludDY0X3QgeGNyMF9zdG9yYWdlOw0KPiAN Cj4gICAgaWYgKGluZmVyaW9yX3B0aWQgPT0gbnVsbF9wdGlkKQ0KPiAgICAgIHJldHVybiB0aGlz LT5iZW5lYXRoICgpLT5yZWFkX2Rlc2NyaXB0aW9uICgpOw0KPiANCj4gLSAgdGlkID0gaW5mZXJp b3JfcHRpZC5waWQgKCk7DQo+IC0NCj4gLSNpZmRlZiBfX3g4Nl82NF9fDQo+IC0NCj4gLSAgeDg2 X2xpbnV4X2FyY2hfc2l6ZSBhcmNoX3NpemUgPSB4ODZfbGludXhfcHRyYWNlX2dldF9hcmNoX3Np emUgKHRpZCk7DQo+IC0gIGlzXzY0Yml0ID0gYXJjaF9zaXplLmlzXzY0Yml0ICgpOw0KPiAtICBp c194MzIgPSBhcmNoX3NpemUuaXNfeDMyICgpOw0KPiAtDQo+IC0gIGlmIChzaXplb2YgKHZvaWQg KikgPT0gNCAmJiBpc182NGJpdCAmJiAhaXNfeDMyKQ0KPiAtICAgIGVycm9yIChfKCJDYW4ndCBk ZWJ1ZyA2NC1iaXQgcHJvY2VzcyB3aXRoIDMyLWJpdCBHREIiKSk7DQo+IC0NCj4gLSNlbGlmIEhB VkVfUFRSQUNFX0dFVEZQWFJFR1MNCj4gLSAgaWYgKGhhdmVfcHRyYWNlX2dldGZweHJlZ3MgPT0g VFJJQk9PTF9VTktOT1dOKQ0KPiAtICAgIHsNCj4gLSAgICAgIGVsZl9mcHhyZWdzZXRfdCBmcHhy ZWdzOw0KPiAtDQo+IC0gICAgICBpZiAocHRyYWNlIChQVFJBQ0VfR0VURlBYUkVHUywgdGlkLCAw LCAoaW50KSAmZnB4cmVncykgPCAwKQ0KPiAtCXsNCj4gLQkgIGhhdmVfcHRyYWNlX2dldGZweHJl Z3MgPSBUUklCT09MX0ZBTFNFOw0KPiAtCSAgaGF2ZV9wdHJhY2VfZ2V0cmVnc2V0ID0gVFJJQk9P TF9GQUxTRTsNCj4gLQkgIHJldHVybiBpMzg2X2xpbnV4X3JlYWRfZGVzY3JpcHRpb24gKFg4Nl9Y U1RBVEVfWDg3X01BU0spOw0KPiAtCX0NCj4gLSAgICB9DQo+IC0jZW5kaWYNCj4gLQ0KPiAtICBp ZiAoaGF2ZV9wdHJhY2VfZ2V0cmVnc2V0ID09IFRSSUJPT0xfVU5LTk9XTikNCj4gLSAgICB7DQo+ IC0gICAgICB1aW50NjRfdCB4c3RhdGVyZWdzWyhYODZfWFNUQVRFX1NTRV9TSVpFIC8gc2l6ZW9m ICh1aW50NjRfdCkpXTsNCj4gLSAgICAgIHN0cnVjdCBpb3ZlYyBpb3Y7DQo+IC0NCj4gLSAgICAg IGlvdi5pb3ZfYmFzZSA9IHhzdGF0ZXJlZ3M7DQo+IC0gICAgICBpb3YuaW92X2xlbiA9IHNpemVv ZiAoeHN0YXRlcmVncyk7DQo+IC0NCj4gLSAgICAgIC8qIENoZWNrIGlmIFBUUkFDRV9HRVRSRUdT RVQgd29ya3MuICAqLw0KPiAtICAgICAgaWYgKHB0cmFjZSAoUFRSQUNFX0dFVFJFR1NFVCwgdGlk LA0KPiAtCQkgICh1bnNpZ25lZCBpbnQpIE5UX1g4Nl9YU1RBVEUsICZpb3YpIDwgMCkNCj4gLQlo YXZlX3B0cmFjZV9nZXRyZWdzZXQgPSBUUklCT09MX0ZBTFNFOw0KPiAtICAgICAgZWxzZQ0KPiAt CXsNCj4gLQkgIGhhdmVfcHRyYWNlX2dldHJlZ3NldCA9IFRSSUJPT0xfVFJVRTsNCj4gLQ0KPiAt CSAgLyogR2V0IFhDUjAgZnJvbSBYU0FWRSBleHRlbmRlZCBzdGF0ZS4gICovDQo+IC0JICB4Y3Iw ID0geHN0YXRlcmVnc1soSTM4Nl9MSU5VWF9YU0FWRV9YQ1IwX09GRlNFVA0KPiAtCQkJICAgICAv IHNpemVvZiAodWludDY0X3QpKV07DQo+IC0NCj4gLQkgIG1feHNhdmVfbGF5b3V0ID0geDg2X2Zl dGNoX3hzYXZlX2xheW91dCAoeGNyMCwgeDg2X3hzYXZlX2xlbmd0aCAoKSk7DQo+IC0JfQ0KPiAt ICAgIH0NCj4gLQ0KPiAtICAvKiBDaGVjayB0aGUgbmF0aXZlIFhDUjAgb25seSBpZiBQVFJBQ0Vf R0VUUkVHU0VUIGlzIGF2YWlsYWJsZS4gIElmDQo+IC0gICAgIFBUUkFDRV9HRVRSRUdTRVQgaXMg bm90IGF2YWlsYWJsZSB0aGVuIHNldCB4Y3IwX2ZlYXR1cmVzX2JpdHMgdG8NCj4gLSAgICAgemVy byBzbyB0aGF0IHRoZSAibm8tZmVhdHVyZXMiIGRlc2NyaXB0aW9ucyBhcmUgcmV0dXJuZWQgYnkg dGhlDQo+IC0gICAgIHN3aXRjaGVzIGJlbG93LiAgKi8NCj4gLSAgaWYgKGhhdmVfcHRyYWNlX2dl dHJlZ3NldCA9PSBUUklCT09MX1RSVUUpDQo+IC0gICAgeGNyMF9mZWF0dXJlc19iaXRzID0geGNy MCAmIFg4Nl9YU1RBVEVfQUxMX01BU0s7DQo+IC0gIGVsc2UNCj4gLSAgICB4Y3IwX2ZlYXR1cmVz X2JpdHMgPSAwOw0KPiArICBpbnQgdGlkID0gaW5mZXJpb3JfcHRpZC5waWQgKCk7DQo+IA0KPiAt ICBpZiAoaXNfNjRiaXQpDQo+IC0gICAgew0KPiAtI2lmZGVmIF9feDg2XzY0X18NCj4gLSAgICAg IHJldHVybiBhbWQ2NF9saW51eF9yZWFkX2Rlc2NyaXB0aW9uICh4Y3IwX2ZlYXR1cmVzX2JpdHMs IGlzX3gzMik7DQo+IC0jZW5kaWYNCj4gLSAgICB9DQo+IC0gIGVsc2UNCj4gLSAgICB7DQo+IC0g ICAgICBjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKiB0ZGVzYw0KPiAtCT0gaTM4Nl9saW51eF9y ZWFkX2Rlc2NyaXB0aW9uICh4Y3IwX2ZlYXR1cmVzX2JpdHMpOw0KPiAtDQo+IC0gICAgICBpZiAo dGRlc2MgPT0gTlVMTCkNCj4gLQl0ZGVzYyA9IGkzODZfbGludXhfcmVhZF9kZXNjcmlwdGlvbiAo WDg2X1hTVEFURV9TU0VfTUFTSyk7DQo+IC0NCj4gLSAgICAgIHJldHVybiB0ZGVzYzsNCj4gLSAg ICB9DQo+ICsgIGNvbnN0IGNoYXIgKmVycm9yX21zZw0KPiArICAgID0gXygiQ2FuJ3QgZGVidWcg NjQtYml0IHByb2Nlc3Mgd2l0aCAzMi1iaXQgR0RCIik7DQoNCkluIGdkYnNlcnZlciB3ZSBwYXNz ICJDYW4ndCBkZWJ1ZyA2NC1iaXQgcHJvY2VzcyB3aXRoIDMyLWJpdCBHREJzZXJ2ZXIiLg0KT25l IGNvdWxkIGFyZ3VlIHRoYXQgc29tZXRoaW5nIGNvbW1vbiBsaWtlDQoiQ2FuJ3QgZGVidWcgNjQt Yml0IHByb2Nlc3Mgd2l0aCAzMi1iaXQgR0RCL2dkYnNlcnZlciIgaXMgZ29vZCBlbm91Z2guDQpU aGVuIHdlIGNvdWxkIGF2b2lkIHRoZSBmdW5jdGlvbiBhcmd1bWVudC4gVGhvdWdoIGJlaW5nIG1v cmUgZXhwbGljaXQNCmNhbiBhbHNvIGJlIHZpZXdlZCBhcyBoZWxwZnVsIGZvciB0aGUgcmVtb3Rl IHNjZW5hcmlvLg0KDQooTWF5YmUgdGhpcyBpcyBzb2x2ZWQgYnkgYW5vdGhlciBjb21tZW50IGJl bG93KS4NCg0KPiANCj4gLSAgZ2RiX2Fzc2VydF9ub3RfcmVhY2hlZCAoImZhaWxlZCB0byByZXR1 cm4gdGRlc2MiKTsNCj4gKyAgcmV0dXJuIHg4Nl9saW51eF90ZGVzY19mb3JfdGlkICh0aWQsIGVy cm9yX21zZywgJnhjcjBfc3RvcmFnZSwNCj4gKwkJCQkgICZ0aGlzLT5tX3hzYXZlX2xheW91dCk7 DQo+ICB9DQo+IA0KPiANCj4gDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZ2Ric2VydmVyL2NvbmZpZ3Vy ZS5zcnYgYi9nZGJzZXJ2ZXIvY29uZmlndXJlLnNydg0KPiBpbmRleCA4ZTg4MmQyMTU5Yi4uNTM4 ODQ1Yjk2ZDUgMTAwNjQ0DQo+IC0tLSBhL2dkYnNlcnZlci9jb25maWd1cmUuc3J2DQo+ICsrKyBi L2dkYnNlcnZlci9jb25maWd1cmUuc3J2DQo+IEBAIC0xMTAsNiArMTEwLDcgQEAgY2FzZSAiJHtn ZGJzZXJ2ZXJfaG9zdH0iIGluDQo+ICAJCQlzcnZfdGd0b2JqPSIke3Nydl90Z3RvYmp9IG5hdC94 ODYtbGludXgubyINCj4gIAkJCXNydl90Z3RvYmo9IiR7c3J2X3RndG9ian0gbmF0L3g4Ni1saW51 eC1kcmVncy5vIg0KPiAgCQkJc3J2X3RndG9iaj0iJHtzcnZfdGd0b2JqfSBuYXQvaTM4Ni1saW51 eC5vIg0KPiArCQkJc3J2X3RndG9iaj0iJHtzcnZfdGd0b2JqfSBuYXQveDg2LWxpbnV4LXRkZXNj Lm8iDQo+ICAJCQlzcnZfbGludXhfdXNycmVncz15ZXMNCj4gIAkJCXNydl9saW51eF9yZWdzZXRz PXllcw0KPiAgCQkJc3J2X2xpbnV4X3RocmVhZF9kYj15ZXMNCj4gQEAgLTM3Miw2ICszNzMsNyBA QCBjYXNlICIke2dkYnNlcnZlcl9ob3N0fSIgaW4NCj4gIAkJCXNydl90Z3RvYmo9IiR7c3J2X3Rn dG9ian0gbmF0L2xpbnV4LWJ0cmFjZS5vIg0KPiAgCQkJc3J2X3RndG9iaj0iJHtzcnZfdGd0b2Jq fSBuYXQveDg2LWxpbnV4Lm8iDQo+ICAJCQlzcnZfdGd0b2JqPSIke3Nydl90Z3RvYmp9IG5hdC94 ODYtbGludXgtZHJlZ3MubyINCj4gKwkJCXNydl90Z3RvYmo9IiR7c3J2X3RndG9ian0gbmF0L3g4 Ni1saW51eC10ZGVzYy5vIg0KPiAgCQkJc3J2X3RndG9iaj0iJHtzcnZfdGd0b2JqfSBuYXQvYW1k NjQtbGludXgtc2lnaW5mby5vIg0KPiAgCQkJc3J2X2xpbnV4X3VzcnJlZ3M9eWVzICMgVGhpcyBp cyBmb3IgaTM4NiBwcm9ncy4NCj4gIAkJCXNydl9saW51eF9yZWdzZXRzPXllcw0KPiBkaWZmIC0t Z2l0IGEvZ2Ric2VydmVyL2kzODctZnAuY2MgYi9nZGJzZXJ2ZXIvaTM4Ny1mcC5jYw0KPiBpbmRl eCA2MmNhZmQ4NzIwNC4uNGQ4YmNiNWVkZmEgMTAwNjQ0DQo+IC0tLSBhL2dkYnNlcnZlci9pMzg3 LWZwLmNjDQo+ICsrKyBiL2dkYnNlcnZlci9pMzg3LWZwLmNjDQo+IEBAIC0yMSw3ICsyMSw3IEBA DQo+ICAjaW5jbHVkZSAibmF0L3g4Ni14c3RhdGUuaCINCj4gDQo+ICAvKiBEZWZhdWx0IHRvIFNT RS4gICovDQo+IC1zdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIHg4Nl94Y3IwID0gWDg2X1hTVEFU RV9TU0VfTUFTSzsNCj4gK3N0YXRpYyB1aW50NjRfdCB4ODZfeGNyMCA9IFg4Nl9YU1RBVEVfU1NF X01BU0s7DQo+IA0KPiAgc3RhdGljIGNvbnN0IGludCBudW1fbXB4X2JuZF9yZWdpc3RlcnMgPSA0 Ow0KPiAgc3RhdGljIGNvbnN0IGludCBudW1fbXB4X2NmZ19yZWdpc3RlcnMgPSAyOw0KPiBAQCAt OTQ0LDkgKzk0NCw4IEBAIGkzODdfeHNhdmVfdG9fY2FjaGUgKHN0cnVjdCByZWdjYWNoZSAqcmVn Y2FjaGUsIGNvbnN0DQo+IHZvaWQgKmJ1ZikNCj4gDQo+ICAvKiBTZWUgaTM4Ny1mcC5oLiAgKi8N Cj4gDQo+IC12b2lkDQo+IC1pMzg3X3NldF94c2F2ZV9tYXNrICh1aW50NjRfdCB4Y3IwLCBpbnQg bGVuKQ0KPiArc3RkOjpwYWlyPHVpbnQ2NF90ICosIHg4Nl94c2F2ZV9sYXlvdXQgKj4NCj4gK2kz ODdfZ2V0X3hzYXZlX3N0b3JhZ2UgKCkNCj4gIHsNCj4gLSAgeDg2X3hjcjAgPSB4Y3IwOw0KPiAt ICB4c2F2ZV9sYXlvdXQgPSB4ODZfZmV0Y2hfeHNhdmVfbGF5b3V0ICh4Y3IwLCBsZW4pOw0KPiAr ICByZXR1cm4geyAmeDg2X3hjcjAsICZ4c2F2ZV9sYXlvdXQgfTsNCj4gIH0NCj4gZGlmZiAtLWdp dCBhL2dkYnNlcnZlci9pMzg3LWZwLmggYi9nZGJzZXJ2ZXIvaTM4Ny1mcC5oDQo+IGluZGV4IDQ1 MDQ2NmVmYjc1Li40ZWUyMWRhODQ2MSAxMDA2NDQNCj4gLS0tIGEvZ2Ric2VydmVyL2kzODctZnAu aA0KPiArKysgYi9nZGJzZXJ2ZXIvaTM4Ny1mcC5oDQo+IEBAIC0xOSw2ICsxOSw4IEBADQo+ICAj aWZuZGVmIEdEQlNFUlZFUl9JMzg3X0ZQX0gNCj4gICNkZWZpbmUgR0RCU0VSVkVSX0kzODdfRlBf SA0KPiANCj4gK3N0cnVjdCB4ODZfeHNhdmVfbGF5b3V0Ow0KDQpEbyB3ZSByZWFsbHkgc2F2ZSBt dWNoIGZyb20gbm90IGluY2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBkb2luZw0KYSBmb3J3YXJkIGRl Y2xhcmF0aW9uPyBCdXQgSSBndWVzcyBHREIgaXMgYWxyZWFkeSBzdXBlciBpbmNvbnNpc3RlbnQN Cm9uIHRoYXQgZnJvbnQuDQoNCj4gKw0KPiAgdm9pZCBpMzg3X2NhY2hlX3RvX2ZzYXZlIChzdHJ1 Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCB2b2lkICpidWYpOw0KPiAgdm9pZCBpMzg3X2ZzYXZlX3Rv X2NhY2hlIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBjb25zdCB2b2lkICpidWYpOw0KPiAN Cj4gQEAgLTMwLDYgKzMyLDYgQEAgdm9pZCBpMzg3X3hzYXZlX3RvX2NhY2hlIChzdHJ1Y3QgcmVn Y2FjaGUgKnJlZ2NhY2hlLA0KPiBjb25zdCB2b2lkICpidWYpOw0KPiANCj4gIC8qIFNldCB0aGUg WFNBVkUgbWFzayBhbmQgZmV0Y2ggdGhlIFhTQVZFIGxheW91dCB2aWEgQ1BVSUQuICAqLw0KPiAN Cj4gLXZvaWQgaTM4N19zZXRfeHNhdmVfbWFzayAodWludDY0X3QgeGNyMCwgaW50IGxlbik7DQo+ ICtzdGQ6OnBhaXI8dWludDY0X3QgKiwgeDg2X3hzYXZlX2xheW91dCAqPiBpMzg3X2dldF94c2F2 ZV9zdG9yYWdlICgpOw0KPiANCj4gICNlbmRpZiAvKiBHREJTRVJWRVJfSTM4N19GUF9IICovDQo+ IGRpZmYgLS1naXQgYS9nZGJzZXJ2ZXIvbGludXgtYW1kNjQtaXBhLmNjIGIvZ2Ric2VydmVyL2xp bnV4LWFtZDY0LWlwYS5jYw0KPiBpbmRleCBhNjM0Njc1MGY0OS4uZGY1ZTZhY2EwODEgMTAwNjQ0 DQo+IC0tLSBhL2dkYnNlcnZlci9saW51eC1hbWQ2NC1pcGEuY2MNCj4gKysrIGIvZ2Ric2VydmVy L2xpbnV4LWFtZDY0LWlwYS5jYw0KPiBAQCAtMjIsNiArMjIsNyBAQA0KPiAgI2luY2x1ZGUgInRy YWNlcG9pbnQuaCINCj4gICNpbmNsdWRlICJsaW51eC14ODYtdGRlc2MuaCINCj4gICNpbmNsdWRl ICJnZGJzdXBwb3J0L3g4Ni14c3RhdGUuaCINCj4gKyNpbmNsdWRlICJhcmNoL2FtZDY0LWxpbnV4 LXRkZXNjLmgiDQo+IA0KPiAgLyogZmFzdCB0cmFjZXBvaW50cyBjb2xsZWN0IHJlZ2lzdGVycy4g ICovDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZ2Ric2VydmVyL2xpbnV4LWkzODYtaXBhLmNjIGIvZ2Ri c2VydmVyL2xpbnV4LWkzODYtaXBhLmNjDQo+IGluZGV4IDhmMTRlMDkzN2Q0Li5hYTM0NmZjOWJj MyAxMDA2NDQNCj4gLS0tIGEvZ2Ric2VydmVyL2xpbnV4LWkzODYtaXBhLmNjDQo+ICsrKyBiL2dk YnNlcnZlci9saW51eC1pMzg2LWlwYS5jYw0KPiBAQCAtMjIsNiArMjIsNyBAQA0KPiAgI2luY2x1 ZGUgInRyYWNlcG9pbnQuaCINCj4gICNpbmNsdWRlICJsaW51eC14ODYtdGRlc2MuaCINCj4gICNp bmNsdWRlICJnZGJzdXBwb3J0L3g4Ni14c3RhdGUuaCINCj4gKyNpbmNsdWRlICJhcmNoL2kzODYt bGludXgtdGRlc2MuaCINCj4gDQo+ICAvKiBHREIgcmVnaXN0ZXIgbnVtYmVycy4gICovDQo+IA0K PiBkaWZmIC0tZ2l0IGEvZ2Ric2VydmVyL2xpbnV4LXg4Ni1sb3cuY2MgYi9nZGJzZXJ2ZXIvbGlu dXgteDg2LWxvdy5jYw0KPiBpbmRleCAyZDk5YTgyZjU2Ni4uMWMzZDU1ZjE3ZmMgMTAwNjQ0DQo+ IC0tLSBhL2dkYnNlcnZlci9saW51eC14ODYtbG93LmNjDQo+ICsrKyBiL2dkYnNlcnZlci9saW51 eC14ODYtbG93LmNjDQo+IEBAIC0yOSwxMCArMjksMTMgQEANCj4gDQo+ICAjaWZkZWYgX194ODZf NjRfXw0KPiAgI2luY2x1ZGUgIm5hdC9hbWQ2NC1saW51eC1zaWdpbmZvLmgiDQo+ICsjaW5jbHVk ZSAiYXJjaC9hbWQ2NC1saW51eC10ZGVzYy5oIg0KPiAgI2Vsc2UNCj4gICNpbmNsdWRlICJuYXQv aTM4Ni1saW51eC5oIg0KPiAgI2VuZGlmDQo+IA0KPiArI2luY2x1ZGUgImFyY2gvaTM4Ni1saW51 eC10ZGVzYy5oIg0KPiArDQo+ICAjaW5jbHVkZSAiZ2RiX3Byb2Nfc2VydmljZS5oIg0KPiAgLyog RG9uJ3QgaW5jbHVkZSBlbGYvY29tbW9uLmggaWYgbGludXgvZWxmLmggZ290IGluY2x1ZGVkIGJ5 DQo+ICAgICBnZGJfcHJvY19zZXJ2aWNlLmguICAqLw0KPiBAQCAtNDgsNiArNTEsNyBAQA0KPiAg I2luY2x1ZGUgIm5hdC94ODYtbGludXguaCINCj4gICNpbmNsdWRlICJuYXQveDg2LWxpbnV4LWRy ZWdzLmgiDQo+ICAjaW5jbHVkZSAibGludXgteDg2LXRkZXNjLmgiDQo+ICsjaW5jbHVkZSAibmF0 L3g4Ni1saW51eC10ZGVzYy5oIg0KPiANCj4gICNpZmRlZiBfX3g4Nl82NF9fDQo+ICBzdGF0aWMg dGFyZ2V0X2Rlc2NfdXAgdGRlc2NfYW1kNjRfbGludXhfbm9feG1sOw0KPiBAQCAtODM2LDI5ICs4 NDAsMTIgQEAgc3RhdGljIGludCB1c2VfeG1sOw0KPiAgLyogR2V0IExpbnV4L3g4NiB0YXJnZXQg ZGVzY3JpcHRpb24gZnJvbSBydW5uaW5nIHRhcmdldC4gICovDQo+IA0KPiAgc3RhdGljIGNvbnN0 IHN0cnVjdCB0YXJnZXRfZGVzYyAqDQo+IC14ODZfbGludXhfcmVhZF9kZXNjcmlwdGlvbiAodm9p ZCkNCj4gK3g4Nl9saW51eF9yZWFkX2Rlc2NyaXB0aW9uICgpDQo+ICB7DQo+IC0gIHVuc2lnbmVk IGludCBtYWNoaW5lOw0KPiAtICBpbnQgaXNfZWxmNjQ7DQo+IC0gIGludCB4Y3IwX2ZlYXR1cmVz Ow0KPiAtICBpbnQgdGlkOw0KPiAtICBzdGF0aWMgdWludDY0X3QgeGNyMDsNCj4gLSAgc3RhdGlj IGludCB4c2F2ZV9sZW47DQo+IC0gIHN0cnVjdCByZWdzZXRfaW5mbyAqcmVnc2V0Ow0KPiAtDQo+ IC0gIHRpZCA9IGx3cGlkX29mIChjdXJyZW50X3RocmVhZCk7DQo+ICsgIGludCB0aWQgPSBsd3Bp ZF9vZiAoY3VycmVudF90aHJlYWQpOw0KPiANCj4gLSAgaXNfZWxmNjQgPSBsaW51eF9waWRfZXhl X2lzX2VsZl82NF9maWxlICh0aWQsICZtYWNoaW5lKTsNCj4gLQ0KPiAtICBpZiAoc2l6ZW9mICh2 b2lkICopID09IDQpDQo+IC0gICAgew0KPiAtICAgICAgaWYgKGlzX2VsZjY0ID4gMCkNCj4gLSAg ICAgICBlcnJvciAoXygiQ2FuJ3QgZGVidWcgNjQtYml0IHByb2Nlc3Mgd2l0aCAzMi1iaXQgR0RC c2VydmVyIikpOw0KPiAtI2lmbmRlZiBfX3g4Nl82NF9fDQo+IC0gICAgICBlbHNlIGlmIChtYWNo aW5lID09IEVNX1g4Nl82NCkNCj4gLSAgICAgICBlcnJvciAoXygiQ2FuJ3QgZGVidWcgeDg2LTY0 IHByb2Nlc3Mgd2l0aCAzMi1iaXQgR0RCc2VydmVyIikpOw0KPiAtI2VuZGlmDQo+IC0gICAgfQ0K PiArICBjb25zdCBjaGFyICplcnJvcl9tc2cNCj4gKyAgICA9IF8oIkNhbid0IGRlYnVnIDY0LWJp dCBwcm9jZXNzIHdpdGggMzItYml0IEdEQnNlcnZlciIpOw0KPiANCj4gICAgLyogSWYgd2UgYXJl IG5vdCBhbGxvd2VkIHRvIHNlbmQgYW4gWE1MIHRhcmdldCBkZXNjcmlwdGlvbiB0aGVuIHdlIG5l ZWQNCj4gICAgICAgdG8gdXNlIHRoZSBoYXJkLXdpcmVkIHRhcmdldCBkZXNjcmlwdGlvbnMuICBU aGlzIGNvcnJlc3BvbmRzIHRvIEdEQidzDQo+IEBAIC04NjgsMTAzICs4NTUsNTMgQEAgeDg2X2xp bnV4X3JlYWRfZGVzY3JpcHRpb24gKHZvaWQpDQo+ICAgICAgIGdlbmVyYXRlIHNvbWUgYWx0ZXJu YXRpdmUgdGFyZ2V0IGRlc2NyaXB0aW9ucy4gICovDQo+ICAgIGlmICghdXNlX3htbCkNCj4gICAg ICB7DQo+ICsgICAgICB4ODZfbGludXhfYXJjaF9zaXplIGFyY2hfc2l6ZSA9IHg4Nl9saW51eF9w dHJhY2VfZ2V0X2FyY2hfc2l6ZSAodGlkKTsNCj4gKyAgICAgIGJvb2wgaXNfNjRiaXQgPSBhcmNo X3NpemUuaXNfNjRiaXQgKCk7DQo+ICsgICAgICBib29sIGlzX3gzMiA9IGFyY2hfc2l6ZS5pc194 MzIgKCk7DQo+ICsNCj4gKyAgICAgIGlmIChzaXplb2YgKHZvaWQgKikgPT0gNCAmJiBpc182NGJp dCAmJiAhaXNfeDMyKQ0KPiArCWVycm9yICgiJXMiLCBlcnJvcl9tc2cpOw0KDQpJIGFtIHN0dW1i bGluZyBhIGJpdCBvbiB0aGVzZSB4MzIgY2hlY2tzLiBTbywgd2UgZG8gdGhpcyBjaGVjayB0d2lj ZSBpbiBjb2RlDQpub3cgYW55d2F5PyBJZiB3ZSBkaWQgdGhpcyB1bmNvbmRpdGlvbmFsbHkgaGVy ZSAoYW5kIG9uY2UgaW4gR0RCIGNvZGUpDQp3ZSBjb3VsZCBnZXQgcmlkIG9mIHRoaXMgY2hlY2sg YW5kIHRoZSBlcnJvcl9tc2cgYXJndW1lbnQgaW4NCng4Nl9saW51eF90ZGVzY19mb3JfdGlkKCku IEFuZCBzdGlsbCBoYXZlIHRoaXMgY29kZSBqdXN0IHR3aWNlLg0KDQpGYWN0b3JpbmcgaXQgb3V0 IGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbiB3b3VsZCBhbHNvIGJlIHNvbWV0aGluZyB0aGF0IGNv bWVzDQp0byBtaW5kLCB0aG91Z2ggaXQgbWlnaHQgYmUgbGVzcyBlYXN5IHRvIGRvLCBJIGRpZG4n dCByZWFsbHkgY2hlY2suDQoNCk9yIG1heWJlIEkgYW0gbWlzc2luZyBzb21ldGhpbmcuDQoNCj4g Kw0KPiAgI2lmZGVmIF9feDg2XzY0X18NCj4gLSAgICAgIGlmIChtYWNoaW5lID09IEVNX1g4Nl82 NCkNCj4gKyAgICAgIGlmIChpc182NGJpdCAmJiAhaXNfeDMyKQ0KPiAgCXJldHVybiB0ZGVzY19h bWQ2NF9saW51eF9ub194bWwuZ2V0ICgpOw0KPiAgICAgICAgZWxzZQ0KPiAgI2VuZGlmDQo+ICAJ cmV0dXJuIHRkZXNjX2kzODZfbGludXhfbm9feG1sLmdldCAoKTsNCj4gICAgICB9DQo+IA0KPiAt I2lmICFkZWZpbmVkIF9feDg2XzY0X18gJiYgZGVmaW5lZCBIQVZFX1BUUkFDRV9HRVRGUFhSRUdT DQo+IC0gIGlmIChtYWNoaW5lID09IEVNXzM4NiAmJiBoYXZlX3B0cmFjZV9nZXRmcHhyZWdzID09 IFRSSUJPT0xfVU5LTk9XTikNCj4gLSAgICB7DQo+IC0gICAgICBlbGZfZnB4cmVnc2V0X3QgZnB4 cmVnczsNCj4gLQ0KPiAtICAgICAgaWYgKHB0cmFjZSAoUFRSQUNFX0dFVEZQWFJFR1MsIHRpZCwg MCwgKGxvbmcpICZmcHhyZWdzKSA8IDApDQo+IC0Jew0KPiAtCSAgaGF2ZV9wdHJhY2VfZ2V0ZnB4 cmVncyA9IFRSSUJPT0xfRkFMU0U7DQo+IC0JICBoYXZlX3B0cmFjZV9nZXRyZWdzZXQgPSBUUklC T09MX0ZBTFNFOw0KPiAtCSAgcmV0dXJuIGkzODZfbGludXhfcmVhZF9kZXNjcmlwdGlvbiAoWDg2 X1hTVEFURV9YODcpOw0KPiAtCX0NCj4gLSAgICAgIGVsc2UNCj4gLQloYXZlX3B0cmFjZV9nZXRm cHhyZWdzID0gVFJJQk9PTF9UUlVFOw0KPiAtICAgIH0NCj4gLSNlbmRpZg0KPiAtDQo+IC0gIGlm IChoYXZlX3B0cmFjZV9nZXRyZWdzZXQgPT0gVFJJQk9PTF9VTktOT1dOKQ0KPiAtICAgIHsNCj4g LSAgICAgIHVpbnQ2NF90IHhzdGF0ZXJlZ3NbKFg4Nl9YU1RBVEVfU1NFX1NJWkUgLyBzaXplb2Yg KHVpbnQ2NF90KSldOw0KPiAtICAgICAgc3RydWN0IGlvdmVjIGlvdjsNCj4gLQ0KPiAtICAgICAg aW92Lmlvdl9iYXNlID0geHN0YXRlcmVnczsNCj4gLSAgICAgIGlvdi5pb3ZfbGVuID0gc2l6ZW9m ICh4c3RhdGVyZWdzKTsNCj4gLQ0KPiAtICAgICAgLyogQ2hlY2sgaWYgUFRSQUNFX0dFVFJFR1NF VCB3b3Jrcy4gICovDQo+IC0gICAgICBpZiAocHRyYWNlIChQVFJBQ0VfR0VUUkVHU0VULCB0aWQs DQo+IC0JCSAgKHVuc2lnbmVkIGludCkgTlRfWDg2X1hTVEFURSwgKGxvbmcpICZpb3YpIDwgMCkN Cj4gLQloYXZlX3B0cmFjZV9nZXRyZWdzZXQgPSBUUklCT09MX0ZBTFNFOw0KPiAtICAgICAgZWxz ZQ0KPiAtCXsNCj4gLQkgIGhhdmVfcHRyYWNlX2dldHJlZ3NldCA9IFRSSUJPT0xfVFJVRTsNCj4g LQ0KPiAtCSAgLyogR2V0IFhDUjAgZnJvbSBYU0FWRSBleHRlbmRlZCBzdGF0ZS4gICovDQo+IC0J ICB4Y3IwID0geHN0YXRlcmVnc1soSTM4Nl9MSU5VWF9YU0FWRV9YQ1IwX09GRlNFVA0KPiAtCQkJ ICAgICAvIHNpemVvZiAodWludDY0X3QpKV07DQo+IC0NCj4gLQkgIC8qIE5vIE1QWCBvbiB4MzIu ICAqLw0KPiAtCSAgaWYgKG1hY2hpbmUgPT0gRU1fWDg2XzY0ICYmICFpc19lbGY2NCkNCj4gLQkg ICAgeGNyMCAmPSB+WDg2X1hTVEFURV9NUFg7DQo+IC0NCj4gLQkgIHhzYXZlX2xlbiA9IHg4Nl94 c2F2ZV9sZW5ndGggKCk7DQo+IC0NCj4gLQkgIC8qIFVzZSBQVFJBQ0VfR0VUUkVHU0VUIGlmIGl0 IGlzIGF2YWlsYWJsZS4gICovDQo+IC0JICBmb3IgKHJlZ3NldCA9IHg4Nl9yZWdzZXRzOw0KPiAt CSAgICAgICByZWdzZXQtPmZpbGxfZnVuY3Rpb24gIT0gTlVMTDsgcmVnc2V0KyspDQo+IC0JICAg IGlmIChyZWdzZXQtPmdldF9yZXF1ZXN0ID09IFBUUkFDRV9HRVRSRUdTRVQpDQo+IC0JICAgICAg cmVnc2V0LT5zaXplID0geHNhdmVfbGVuOw0KPiAtCSAgICBlbHNlIGlmIChyZWdzZXQtPnR5cGUg IT0gR0VORVJBTF9SRUdTKQ0KPiAtCSAgICAgIHJlZ3NldC0+c2l6ZSA9IDA7DQo+IC0JfQ0KPiAt ICAgIH0NCj4gLQ0KPiAtICAvKiBDaGVjayB0aGUgbmF0aXZlIFhDUjAgb25seSBpZiBQVFJBQ0Vf R0VUUkVHU0VUIGlzIGF2YWlsYWJsZS4gICovDQo+IC0gIHhjcjBfZmVhdHVyZXMgPSAoaGF2ZV9w dHJhY2VfZ2V0cmVnc2V0ID09IFRSSUJPT0xfVFJVRQ0KPiAtCQkgICAmJiAoeGNyMCAmIFg4Nl9Y U1RBVEVfQUxMX01BU0spKTsNCj4gKyAgLyogSWYgaGF2ZV9wdHJhY2VfZ2V0cmVnc2V0IGlzIGNo YW5nZWQgdG8gdHJ1ZSBieSBjYWxsaW5nDQo+ICsgICAgIHg4Nl9saW51eF90ZGVzY19mb3JfdGlk IHRoZW4gd2Ugd2lsbCBwZXJmb3JtIHNvbWUgYWRkaXRpb25hbA0KPiArICAgICBpbml0aWFsaXNh dGlvbi4gICovDQo+ICsgIGJvb2wgaGF2ZV9wdHJhY2VfZ2V0cmVnc2V0X2lzX3Vua25vd24NCj4g KyAgICA9IGhhdmVfcHRyYWNlX2dldHJlZ3NldCA9PSBUUklCT09MX1VOS05PV047DQo+IA0KPiAt ICBpZiAoeGNyMF9mZWF0dXJlcykNCj4gLSAgICBpMzg3X3NldF94c2F2ZV9tYXNrICh4Y3IwLCB4 c2F2ZV9sZW4pOw0KPiArICAvKiBHZXQgcG9pbnRlcnMgdG8gd2hlcmUgd2Ugc2hvdWxkIHN0b3Jl IHRoZSB4Y3IwIGFuZCB4c2F2ZV9sYXlvdXQNCj4gKyAgICAgdmFsdWVzLiAgVGhlc2Ugd2lsbCBi ZSBmaWxsZWQgaW4gYnkgeDg2X2xpbnV4X3RkZXNjX2Zvcl90aWQgdGhlIGZpcnN0DQo+ICsgICAg IHRpbWUgdGhhdCB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkLiAgU3Vic2VxdWVudCBjYWxscyB3aWxs IG5vdCBtb2RpZnkNCj4gKyAgICAgdGhlIHN0b3JlZCB2YWx1ZXMuICAqLw0KPiArICBzdGQ6OnBh aXI8dWludDY0X3QgKiwgeDg2X3hzYXZlX2xheW91dCAqPiBzdG9yYWdlDQo+ICsgICAgPSBpMzg3 X2dldF94c2F2ZV9zdG9yYWdlICgpOw0KPiANCj4gLSAgaWYgKG1hY2hpbmUgPT0gRU1fWDg2XzY0 KQ0KPiAtICAgIHsNCj4gLSNpZmRlZiBfX3g4Nl82NF9fDQo+IC0gICAgICBjb25zdCB0YXJnZXRf ZGVzYyAqdGRlc2MgPSBOVUxMOw0KPiArICBjb25zdCB0YXJnZXRfZGVzYyAqdGRlc2MNCj4gKyAg ICA9IHg4Nl9saW51eF90ZGVzY19mb3JfdGlkICh0aWQsIGVycm9yX21zZywgc3RvcmFnZS5maXJz dCwgc3RvcmFnZS5zZWNvbmQpOw0KPiANCj4gLSAgICAgIGlmICh4Y3IwX2ZlYXR1cmVzKQ0KPiAt CXsNCj4gLQkgIHRkZXNjID0gYW1kNjRfbGludXhfcmVhZF9kZXNjcmlwdGlvbiAoeGNyMCAmIFg4 Nl9YU1RBVEVfQUxMX01BU0ssDQo+IC0JCQkJCQkhaXNfZWxmNjQpOw0KPiAtCX0NCj4gLQ0KPiAt ICAgICAgaWYgKHRkZXNjID09IE5VTEwpDQo+IC0JdGRlc2MgPSBhbWQ2NF9saW51eF9yZWFkX2Rl c2NyaXB0aW9uIChYODZfWFNUQVRFX1NTRV9NQVNLLA0KPiAhaXNfZWxmNjQpOw0KPiAtICAgICAg cmV0dXJuIHRkZXNjOw0KPiAtI2VuZGlmDQo+IC0gICAgfQ0KPiAtICBlbHNlDQo+ICsgIGlmICho YXZlX3B0cmFjZV9nZXRyZWdzZXRfaXNfdW5rbm93bg0KPiArICAgICAgJiYgaGF2ZV9wdHJhY2Vf Z2V0cmVnc2V0ID09IFRSSUJPT0xfVFJVRSkNCj4gICAgICB7DQo+IC0gICAgICBjb25zdCB0YXJn ZXRfZGVzYyAqdGRlc2MgPSBOVUxMOw0KPiAtDQo+IC0gICAgICBpZiAoeGNyMF9mZWF0dXJlcykN Cj4gLQkgIHRkZXNjID0gaTM4Nl9saW51eF9yZWFkX2Rlc2NyaXB0aW9uICh4Y3IwICYgWDg2X1hT VEFURV9BTExfTUFTSyk7DQo+IC0NCj4gLSAgICAgIGlmICh0ZGVzYyA9PSBOVUxMKQ0KPiAtCXRk ZXNjID0gaTM4Nl9saW51eF9yZWFkX2Rlc2NyaXB0aW9uIChYODZfWFNUQVRFX1NTRSk7DQo+IC0N Cj4gLSAgICAgIHJldHVybiB0ZGVzYzsNCj4gKyAgICAgIGludCB4c2F2ZV9sZW4gPSB4ODZfeHNh dmVfbGVuZ3RoICgpOw0KPiArDQo+ICsgICAgICAvKiBVc2UgUFRSQUNFX0dFVFJFR1NFVCBpZiBp dCBpcyBhdmFpbGFibGUuICAqLw0KPiArICAgICAgZm9yIChyZWdzZXRfaW5mbyAqcmVnc2V0ID0g eDg2X3JlZ3NldHM7DQo+ICsJICAgcmVnc2V0LT5maWxsX2Z1bmN0aW9uICE9IG51bGxwdHI7DQo+ ICsJICAgcmVnc2V0KyspDQo+ICsJaWYgKHJlZ3NldC0+Z2V0X3JlcXVlc3QgPT0gUFRSQUNFX0dF VFJFR1NFVCkNCj4gKwkgIHJlZ3NldC0+c2l6ZSA9IHhzYXZlX2xlbjsNCj4gKwllbHNlIGlmIChy ZWdzZXQtPnR5cGUgIT0gR0VORVJBTF9SRUdTKQ0KPiArCSAgcmVnc2V0LT5zaXplID0gMDsNCg0K SSBrbm93IHlvdSBjb3BpZWQgdGhpcywgYnV0IGRvZXNuJ3QgdGhpcyBzb21laG93IGdvIGFnYWlu c3Qgb3VyIGNvZGluZw0Kc3RhbmRhcmRzPyBOb3QgaGF2aW5nIGJyYWNlcyBmb3IgbG9vcHMgdGhh dCBoYXZlIG1vcmUgdGhlbiBvbmUgbGluZT8NClRob3VnaCB3ZSBkb24ndCBoYXZlIHRoaXMgcGFy dGljdWxhciBjYXNlIHdyaXR0ZW4gZG93biBpdCBzZWVtcywgb25seSBmb3INCmlmIHN0YXRlbWVu dHMuDQpJbnRlbCBEZXV0c2NobGFuZCBHbWJIDQpSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBl b24gMTAsIDg1NTc5IE5ldWJpYmVyZywgR2VybWFueQ0KVGVsOiArNDkgODkgOTkgODg1My0wLCB3 d3cuaW50ZWwuZGUNCk1hbmFnaW5nIERpcmVjdG9yczogU2VhbiBGZW5uZWxseSwgSmVmZnJleSBT Y2huZWlkZXJtYW4sIFRpZmZhbnkgRG9vbiBTaWx2YQ0KQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVy dmlzb3J5IEJvYXJkOiBOaWNvbGUgTGF1DQpSZWdpc3RlcmVkIE9mZmljZTogTXVuaWNoDQpDb21t ZXJjaWFsIFJlZ2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg==