From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id MQypKYuew2qOeTwAWB0awg (envelope-from ) for ; Mon, 05 Oct 2026 08:56:43 -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=Om8IK1U1; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 96C8F1E04E; Mon, 05 Oct 2026 08:56:43 -0400 (EDT) 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 vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (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 84CE81E04E for ; Mon, 05 Oct 2026 08:56:41 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7D36F4BA902C for ; Mon, 5 Oct 2026 12:56:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7D36F4BA902C 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=Om8IK1U1 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.19]) by sourceware.org (Postfix) with ESMTPS id A27404BA79BE for ; Mon, 5 Oct 2026 12:55:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A27404BA79BE 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 A27404BA79BE Authentication-Results: sourceware.org; arc=fail smtp.remote-ip=192.198.163.19 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1791204960; cv=fail; b=CVHETdQdMt2V+ZtLidjabjqxdwcuZhSrKpzV+5t7vuKzM4oMl472P3EvV1LTRT53dUgT/ugp3d3Jj4fwi+M5V2HFzafQw8UI2P0AReDHEue82Z9oD5CievwECfMc0Lwpz09ikq5CtQWZmt5XkR2Bj6vncE+q2ZwHW5D/JUMNApQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1791204960; c=relaxed/simple; bh=8PTulYod6XdHeVJbRtswecP2ekBniamYWfNeOTufEZo=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=wPsAl2mSv0ojJe0fKc8KwI/ZpkiguBX0fGqOGGQpR0q3GXRJydgMB6JVU8Rii847eySJGxd50Kqka1Yt/gNkmxOmlbiidbO0hk8v46NL1a1GbGuKjH5LVd4xObA31YE8pXy6Fg52G0NhUNpRTPUUSRqiMgVYEdSw9oHfg4ZK/As= ARC-Authentication-Results: i=2; 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=Om8IK1U1 DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A27404BA79BE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1791204960; x=1822740960; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=8PTulYod6XdHeVJbRtswecP2ekBniamYWfNeOTufEZo=; b=Om8IK1U1vP0rfUgha1zpN7xn0nG77A//Vcsske7zEmUg12I/D7oXg543 p9lz4lkPwdKpQYwVrbdIE8RKpQAq259OEa6CrQZGK3un/6qVTpf8Qygyx KmxKUtrUdW59MS5NDs0IBr3dtgTrSsLxBFryf9k6ndVDNMp+PQTC1wZJM wA8JcNuR/eWuQ5/v7aHpxG3PJYzUI3rfCQCMeHKptOizFTHOunti3HkBz QHCGaahXebXtptMfWZENTKpyuO+Od25/w+h0zbn5nsU97w/kgmCAXnkIH YIvmqaRvZOQntXd9M6ubszC1o4X/Ut+oV/2NXaf5GFXPUX2K+rb5wTyO5 Q==; X-CSE-ConnectionGUID: YDAgtFxcQLuf412WpQf9xQ== X-CSE-MsgGUID: QuLrs7BmQDmodzTSQ8dcYA== X-IronPort-AV: E=McAfee;i="6800,10657,11925"; a="21136" X-IronPort-AV: E=Sophos;i="6.27,142,1787036400"; d="scan'208";a="21136" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by fmvoesa113.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2026 05:55:57 -0700 X-CSE-ConnectionGUID: 8glWk9LsSTyOskTh8E0LXg== X-CSE-MsgGUID: wEDGTiIjTfi1D4tIFTXHtw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.27,142,1787036400"; d="scan'208";a="276912874" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by orviesa009.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2026 05:55:57 -0700 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Mon, 5 Oct 2026 05:55:56 -0700 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49 via Frontend Transport; Mon, 5 Oct 2026 05:55:56 -0700 Received: from SN4PR2101CU001.outbound.protection.outlook.com (40.93.195.23) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Mon, 5 Oct 2026 05:55:56 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=M9baZ7nSRzNO4HjOjeVIyosHSA6Tct4/FN1TyzdO8oSrTZokH880/ROijEsdUCsbMUzskcGpXITsVsPRYUhqfW+JfEqHDMcMtJp2FwvzQtQjHXg2XK8StGBiKA89qONorPMod4sPgnbSmC18DCIY2idG/azaRTWPP71JMvYJQ0cKYbn0lxPv5j55wFmmdlJrXpQs69hNVJZolZjLyWB5eCk3ltROwg+ulNqjOPPFMapNINRmKkzHnmJx6fQYtmzVWMojcHsVirttUPgAi0JiVXVcUa9tD1y1b13mrGaulZqQnI6eKfceecbbxOmMBFZKblVzU9abYqFjFtPiJ5cLjA== 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=bZ6Zs7O0kdLEeHEhIRlHxDVqYGU+crdtzXwzy3L6Cq4=; b=ker6120jTAma0qAutT2Pmrw0RQO+yvvhuCdTf7FP++hQxbfOTmahruQj2Xyup+wlZo1CLPwud/2myVMSea9rHXOQrTU+dl1TbM6ufjZY1+BfOFmwqdk6PscBA0+4osldLGw50WJKHrE8txy4yCB76CKslYbLkEOigStnIEPb708ueOIr+Zsb6viCGZcKsugbjnhlinBam532I+/0PqYl6/fZq7KX+lr5+nG92tmMkugW6XO99iTXjiWOrJ+lpniwenJUrs583cAjrB6DRBaWUzp1u44aWj+Z63pKY5FWwCM1D+ktWKoe7WxJej4sBZbyJTX4OlumAqtMhTmVlRlYQA== 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 DM8PR11MB5749.namprd11.prod.outlook.com (2603:10b6:8:10::15) by CH3PR11MB8704.namprd11.prod.outlook.com (2603:10b6:610:1c7::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.472.20; Mon, 5 Oct 2026 12:55:54 +0000 Received: from DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::3085:48ed:687d:e6b6]) by DM8PR11MB5749.namprd11.prod.outlook.com ([fe80::3085:48ed:687d:e6b6%6]) with mapi id 15.21.0472.016; Mon, 5 Oct 2026 12:55:54 +0000 From: "Metzger, Markus T" To: "gdb-patches@sourceware.org" Subject: [PING v2][PATCH v2] gdb: fix breakpoints on inline functions qualified with source file name Thread-Topic: [PING v2][PATCH v2] gdb: fix breakpoints on inline functions qualified with source file name Thread-Index: AQHdVMjbND9YOLa2fUaXS8+u2ER7RQ== Date: Mon, 5 Oct 2026 12:55:54 +0000 Message-ID: References: <20260813095614.3662164-1-markus.t.metzger@intel.com> <12dc314a-8ab4-4a26-871e-c7c62675f689@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8PR11MB5749:EE_|CH3PR11MB8704:EE_ x-ms-office365-filtering-correlation-id: ba029db2-a49b-4aff-5363-08df22dffddd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|1800799024|376014|366016|6133799003|22082099003|18002099003|10067099003|13003099007|38070700021|4143699003|11063799006|56012099006|5023799004; x-microsoft-antispam-message-info: /u2xrmg/Hh45+MaBSdkJEiTOGbzCNwJ/meEXNqgXgJpcdEplwQGvjYv/9ZYLWfo+Hfh0oYWX76WhmHSqnDaD+gA++UwSr/mVbHAo7g17WA9Rn9AfOrXVxIF6ttzbSWuHZW43frHjN+xhKtBW2kaL4Zg1pHwn+ys+j5+lA4gHuo1sYftuxtLxI+qXI+oai8TX4wFlG4aIuTtTedqesW9zf+FvbGtteYah2TiZnBZ8/t4t3TfJmQ3FxuzuXsiQVTVNchdKV881OCCdz12l4ufmt++p1j1iHqATs5ixuoT91MCZUY/yHJWQV0cphpnqeAskPuWVfGmYFSNnhD4nKUiWMVeI4mn/vMUU2Oy7NqvhDbVZM2fJbtmU8nZZJIHRM3WlhpV3iEYd6xcmGlXbf84dCH1TvKcUoAyGmtizjoXgk8M9iuv6t/GYBB06MiPT3MI+g3VS3zH0cnyevOPAwR5Prbj3wg+X+P6miwM8b29YxjmNQo6l4NbseDdcpIbophuTVKGRM1YxUj3ar51omp4fRpQmLIH+Hl+fccCKa8pJry2J7RBt9sth/yQIu2UnOPpiH0vq07rMYtdK76X9pTh6OsGDXmDOnruWPB9oFdvF4C1ZsTX/DhCxyP59DG7fpfjWIex3aY6r+twUi5J98v16SjuTOPH74XtvY00pqI/MO2jFUaTFIn6JobnXNFady1ZNz4pCUXxmeXIt0ye9AhO306V8ufByuhVOAVR3aY5KGaY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5749.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(6133799003)(22082099003)(18002099003)(10067099003)(13003099007)(38070700021)(4143699003)(11063799006)(56012099006)(5023799004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MnJWVmJKR2VBWm5FaEtVQzF5RDNQbDFpU3dvcTZUbmNRd3JWZDNRYkpsOUg3?= =?utf-8?B?Q09oU2dxN0xIbFlnRlNZYzl4RXhGQ1VxUEpjNGt3dFZ0V2JyemVpai9scEZS?= =?utf-8?B?SVdhcXlsWEJGWHBKM2I2bk9xcTZpMGFSYUt0V1V6VGdxTElVOEZVemtjTEFm?= =?utf-8?B?SzJBMVVXZXZaRjBmc3Y3YUZJaEtCWnoyeG9DbUMxWW1WWmdjRlBOYVZ0UndM?= =?utf-8?B?d2V3ZEJKOHY4RXBocE5NNStWRFVxQXYwRGZFNGdwU0FXejZmb2ZlNWtvRjhZ?= =?utf-8?B?NWFodXZKa2loaHFXL3cvU0d1QnlxNmlYN1paaGhueml1MklkQTNJTTVZWEdE?= =?utf-8?B?WnBOd2lKT2FVczBxb21nc1FOWnpyeHphTUIwbE9MTE5teE5qT3dzK0QzRlNR?= =?utf-8?B?Y3llNGdOM3lZN2ZSb21NSjl1cnJKWU5qVlV5aG9qTUZjMktoa2hqV3hqVmRK?= =?utf-8?B?V1A3S0tPN2E4b1VEL01hZkhTeG0zQ0pVREVFeFlXb3dhQU9BUnR3WkN1N1Rx?= =?utf-8?B?c2FFK3pndFd3b2lZZi9rbzNVQzZQWW5uVzJxQ1EvM2hqUExSOEltQ0FibHlQ?= =?utf-8?B?Q2oxaVZxNWx1blNJUll5anRYTTJOSXVvM0tleGdUUHN0TFE5Z3hWNHFPNERn?= =?utf-8?B?RHM3Uk40bFNpTmo0VDFUT0s5NGkvZnoycjJvK3h3MGpCS3B0QmxxdytoaHlw?= =?utf-8?B?cFJaVisreEpOWlF3MWRsT0k2R0lNdlFVRjBDN25kZW5Bb1NsV3VrR1EyUEdP?= =?utf-8?B?V1ZpME5rTFdMTHpWNzFBZVZzVC9pOWo1TFN2anNXVHhtNGJJdDlwNG5GOEdW?= =?utf-8?B?clV3cGZuQ3JOYjlMd0hmeDJkOG8zQms0RmlzTldReFVBZVJmR1oybEJEc3NI?= =?utf-8?B?OXRQeTI0NEpNdmJjWFA1b09TSGJmR3JpenllV3N0d3BUc3JDVDhKVWNPUm0z?= =?utf-8?B?clNzQWI2MVJPbjN3RUtZblBvRW8vVDZIZE1RVDE1N3QzSG9XQnJBUDBaV21v?= =?utf-8?B?OU00ZGJad3JTN2pXbEJ6WERvVy9OUmlwSXRGT2ZFNlhKK21xYnZxdnVBV3Zp?= =?utf-8?B?VlJuRFlFVTkyU1VzNm9MNXhYRFBEMzNmZVlscHVqNTR4ZEJjNE55alVwYzZv?= =?utf-8?B?bEJVZHpkN3ptVDNSWnlkckRramY5bXhuMEI5VEh0NzhGek1aK0RnRGlEckNy?= =?utf-8?B?Snk2NEJza1o0d0htZFMzYW1SekREL0F5c3l6WjBBY0l1TC85ZmthMm1iRE95?= =?utf-8?B?bGtTTzl4RlNHM21Wa3lmeDVwU29abjVsOE9RL3QrZ2xrWm9EUFBFdkpXWU14?= =?utf-8?B?bjJnWDdKWkZyTXRwS092WTJtOEVQOVlqREp5VHBTdmlieGtYNkZrMDh2TDY1?= =?utf-8?B?UHRMUW1LTHBheWVVenVEUHF6ZzZVTHRwcUFGTGRtb2NSKzhSUzRid1Z0bExm?= =?utf-8?B?M29renNGTjJLVG1JYVR6ODZpWkxNZHJaYm5NMTVYaUhPS0RXcHFpLytFMm1x?= =?utf-8?B?YVJNek5MbDBobE8wN2VBcjB6WXZUMUFWYldGOTZYemVDZ0RaOFluT1U0TE5X?= =?utf-8?B?dlE4aDA4T3JzVlRRUldPekFWUDFYVzkrd1Z3UEN0bkE1cjRET3hCSWhzQkJr?= =?utf-8?B?NDB4ZkVvaUVaY3FkQjFveEUwbW5Ma2dYYWRJUVhybzkxZnVYd2tzaUdWTE9P?= =?utf-8?B?blNQTHJPSEhWVnZjUXJCKzhTTVRsOWllRlVINVpOT1NlNG1JRHd0UkdXa0Rl?= =?utf-8?B?UTJBeUNWTlNRWnRzQzllMnNFYlhobyswWFY3SmZKNDd0V01OeS90bWpweEkx?= =?utf-8?B?bzdZTEZkZ053cTRVeTJMd05FQm5qUUUvemNmODVqdkZrUml5a3Y5UlBiYThk?= =?utf-8?B?OHhBd2FYWmdnWUtlSGpGcWpMYkYvWG53YVFtRUwzdytjckxjMVMyTzNjSW93?= =?utf-8?B?d3UzdlUwbTJFcy9NRXp0TC9HQkJnTU1mVmNleGx2NG9wOVRpR2xoR2ZDdmhB?= =?utf-8?B?bEdSczlWZE9jSlBGa0VuS0wyYnF3WTRoOHVHZXlPWmNKQjIvZk81QVIzVTJo?= =?utf-8?B?UFZVaDIrMGl4a2RGZjVJZWFwaTFHYVVHRks1WUpwcEJ4UmVnRG4vWnpPZFcz?= =?utf-8?B?UUxLUlFLdGl0RlNCbXdYekpKMWllWE9MczFuMVR4UldNMmxydnJUYlViUDFk?= =?utf-8?B?emVudG15cmxkejNpZ0FNam1PMGkwR0tGdk1INEpiTzlwSzZEMm9VY2RLZmt2?= =?utf-8?B?cVdMM2VSait5aUFZaitFTC9wcndKcmx4N3QvL1FzUmgwWmRRSWU2QXgxWTNp?= =?utf-8?B?UHJWZ0pxa3pkczFPRW9aYXBZU3grYlNhd1hOV0JTQ3RydmdhMXRwUT09?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: Bqfaq35WMp+E2ddhwSaHW7MM9KZGE3Px6INXktPCM2JPkTlDc7568XyVIPsNFQdEUgtrRQ8pwHiYDG/r7H+wKObn1blDPu/i7+1Ratlw6pTYTC1QwKOI1B6p37myX2Z92EdM6DMOmwdLQ3yWW+KkMS5U/1LjRNqlf9AsBDhTtBNhUJs74ny/aErbJ0KreO8mV0vzKj7v/MMGs0JpnvREbU8IVhhepa2O/hNm6AFpdWLXJJmWxbU7e/7kQX4YB6qgejC1o6YRmhlzo0ys+HT1OdcbZGAY+MKRlCDDW7Yk6x8WC70QY2+DhgVCfENHw/1XMicdlRLBUci6KrlFF+Z0wQ== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5749.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba029db2-a49b-4aff-5363-08df22dffddd X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2026 12:55:54.2054 (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: erIChQUFToXyK2sOSJ5OItUHorjuA0hT3Y9KzaXy1p+rmnUb3ecYfOID2YAHR40/DPhStxp0YgS+oGRf4cPau8GKKYh5aXsPBY4501Y17Bc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB8704 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 S2luZGx5IHBpbmdpbmcuDQpNYXJrdXMuDQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PkZyb206IE1ldHpnZXIsIE1hcmt1cyBUIDxtYXJrdXMudC5tZXR6Z2VyQGludGVsLmNvbT4NCj5T ZW50OiBXZWRuZXNkYXksIFNlcHRlbWJlciA5LCAyMDI2IDg6MTIgQU0NCj5UbzogZ2RiLXBhdGNo ZXNAc291cmNld2FyZS5vcmcNCj5DYzogR3VpbmV2ZXJlIExhcnNlbiA8Z3VpbmV2ZXJlQHJlZGhh dC5jb20+DQo+U3ViamVjdDogW1BJTkddW1BBVENIIHYyXSBnZGI6IGZpeCBicmVha3BvaW50cyBv biBpbmxpbmUgZnVuY3Rpb25zIHF1YWxpZmllZA0KPndpdGggc291cmNlIGZpbGUgbmFtZQ0KPg0K PlRoYW5rcywgR3VpbmV2ZXJlLg0KPg0KPktpbmRseSBwaW5naW5nIGZvciBhbiBhcHByb3ZhbCBy ZXZpZXcuDQo+DQo+TWFya3VzLg0KPg0KPj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj5G cm9tOiBHdWluZXZlcmUgTGFyc2VuIDxndWluZXZlcmVAcmVkaGF0LmNvbT4NCj4+U2VudDogRnJp ZGF5LCBBdWd1c3QgMTQsIDIwMjYgMzo1OCBQTQ0KPj5UbzogTWV0emdlciwgTWFya3VzIFQgPG1h cmt1cy50Lm1ldHpnZXJAaW50ZWwuY29tPjsgZ2RiLQ0KPj5wYXRjaGVzQHNvdXJjZXdhcmUub3Jn DQo+PlN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIGdkYjogZml4IGJyZWFrcG9pbnRzIG9uIGlubGlu ZSBmdW5jdGlvbnMgcXVhbGlmaWVkIHdpdGgNCj4+c291cmNlIGZpbGUgbmFtZQ0KPj4NCj4+T24g OC8xMy8yNiA2OjU2IEFNLCBNYXJrdXMgTWV0emdlciB3cm90ZToNCj4+PiBPbiAnYnJlYWsgZm9v LltoY106Zm9vJywgR0RCIG9ubHkgc2VhcmNoZXMgdGhlIHN5bWJvbHMgb2YgZm9vLltoY10gb24g ZmlsZQ0KPj4+IHNjb3BlLiAgSWYgZm9vIGhhcyBiZWVuIGlubGluZWQsIEdEQiB3b3VsZCBub3Qg ZmluZCBpdC4NCj4+Pg0KPj4+IE9uICdicmVhayBmb28nLCBob3dldmVyLCBHREIgYWxzbyBzZWFy Y2hlcyBsb2NhbCBibG9ja3MgZm9yIGlubGluZQ0KPj4+IGZ1bmN0aW9uIHN5bWJvbHMgaW4gaXRl cmF0ZV9vdmVyX2FsbF9tYXRjaGluZ19zeW10YWJzKCksIHdoaWNoIGlzIGNhbGxlZA0KPj4+IGlu ZGlyZWN0bHkgZnJvbSBhZGRfbWF0Y2hpbmdfc3ltYm9sc190b19pbmZvKCkuDQo+Pj4NCj4+PiBB ZGQgdGhhdCBmdW5jdGlvbmFsaXR5IHRvIGFkZF9tYXRjaGluZ19zeW1ib2xzX3RvX2luZm8oKSBp biBjYXNlIGl0IGlzDQo+Pj4gY2FsbGVkIHdpdGggYSBsaXN0IG9mIGZpbGUgc3ltdGFicyB0byBz ZWFyY2guDQo+Pj4NCj4+PiBBbHNvIGFkZCBpdGVyYXRlX292ZXJfbG9jYWxfYmxvY2tzKCkgYXMg aGVscGVyIGZ1bmN0aW9uIHNpbWlsYXIgdG8NCj4+PiBpdGVyYXRlX292ZXJfZmlsZV9ibG9ja3Mo KS4NCj4+PiAtLS0NCj4+DQo+PkhpIE1hcmt1cyENCj4+DQo+PkkgbG9va2VkIG92ZXIgdGhpcyBh bmQgYWxsIG15IHF1ZXN0aW9ucyBoYXZlIGJlZW4gc29sdmVkLg0KPj4NCj4+UmV2aWV3ZWQtQnk6 IEd1aW5ldmVyZSBMYXJzZW4gPGd1aW5ldmVyZUByZWRoYXQuY29tPg0KPj4NCj4+LS0NCj4+Q2hl ZXJzLA0KPj5HdWluZXZlcmUgTGFyc2VuDQo+Pml0L2l0cw0KPj5zaGUvaGVyIChkZXByZWNhdGVk KQ0KPj4NCj4+PiAgIGdkYi9saW5lc3BlYy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1 MSArKysrKysrKysrKysrKysrLS0tLS0tLS0NCj4+PiAgIGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv YnJlYWstaW5saW5lMi5jICAgfCAzMyArKysrKysrKysrKysrKysNCj4+PiAgIGdkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvYnJlYWstaW5saW5lMi5leHAgfCAzMCArKysrKysrKysrKysrKw0KPj4+ICAg Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1pbmxpbmUyLmggICB8IDI4ICsrKysrKysrKysr KysNCj4+PiAgIDQgZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9u cygtKQ0KPj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJl YWstaW5saW5lMi5jDQo+Pj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9icmVhay1pbmxpbmUyLmV4cA0KPj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW5saW5lMi5oDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvZ2Ri L2xpbmVzcGVjLmMgYi9nZGIvbGluZXNwZWMuYw0KPj4+IGluZGV4IGI2NTA1YmEyODNkLi45OTU5 NjkwYjU3YiAxMDA2NDQNCj4+PiAtLS0gYS9nZGIvbGluZXNwZWMuYw0KPj4+ICsrKyBiL2dkYi9s aW5lc3BlYy5jDQo+Pj4gQEAgLTM2Myw2ICszNjMsMTEgQEAgc3RhdGljIHZvaWQgaXRlcmF0ZV9v dmVyX2ZpbGVfYmxvY2tzDQo+Pj4gICAgICBkb21haW5fc2VhcmNoX2ZsYWdzIGRvbWFpbiwNCj4+ PiAgICAgIGZvcl9lYWNoX3N5bWJvbF9jYWxsYmFja19mdHlwZSBjYWxsYmFjayk7DQo+Pj4NCj4+ PiArc3RhdGljIHZvaWQgaXRlcmF0ZV9vdmVyX2xvY2FsX2Jsb2Nrcw0KPj4+ICsgIChjb25zdCBz eW10YWIgKnN5bXRhYiwgY29uc3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZ3VhZ2UsDQo+Pj4gKyAgIGNv bnN0IGxvb2t1cF9uYW1lX2luZm8gJm5hbWUsIGRvbWFpbl9zZWFyY2hfZmxhZ3MgZG9tYWluLA0K Pj4+ICsgICBmb3JfZWFjaF9zeW1ib2xfY2FsbGJhY2tfZnR5cGUgY2FsbGJhY2spOw0KPj4+ICsN Cj4+PiAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVfZGVmYXVsdHMgKHN0cnVjdCBzeW10YWIgKipk ZWZhdWx0X3N5bXRhYiwNCj4+PiAgIAkJCQkgaW50ICpkZWZhdWx0X2xpbmUpOw0KPj4+DQo+Pj4g QEAgLTExNDcsMjMgKzExNTIsMTQgQEAgaXRlcmF0ZV9vdmVyX2FsbF9tYXRjaGluZ19zeW10YWJz DQo+Pj4NCj4+PiAgIAkgICAgICBpZiAoaW5jbHVkZV9pbmxpbmUpDQo+Pj4gICAJCXsNCj4+PiAt CQkgIGNvbnN0IHN0cnVjdCBibG9jayAqYmxvY2s7DQo+Pj4gLQkJICBpbnQgaTsNCj4+PiAtCQkg IGNvbnN0IGJsb2NrdmVjdG9yICpidiA9IHN5bXRhYi0+Y29tcHVuaXQgKCkuYmxvY2t2ZWN0b3Ig KCk7DQo+Pj4gLQ0KPj4+IC0JCSAgZm9yIChpID0gRklSU1RfTE9DQUxfQkxPQ0s7IGkgPCBidi0+ bnVtX2Jsb2NrcyAoKTsgaSsrKQ0KPj4+ICsJCSAgYXV0byBjYWxsYmFja19pbmxpbmVkID0gWyZd IChibG9ja19zeW1ib2wgKmJzeW0pDQo+Pj4gICAJCSAgICB7DQo+Pj4gLQkJICAgICAgYmxvY2sg PSBidi0+YmxvY2sgKGkpOw0KPj4+IC0JCSAgICAgIHN0YXRlLT5sYW5ndWFnZS0+Zm9yX2VhY2hf c3ltYm9sDQo+Pj4gLQkJCShibG9jaywgbG9va3VwX25hbWUsIGRvbWFpbiwNCj4+PiAtCQkJIFsm XSAoYmxvY2tfc3ltYm9sICpic3ltKQ0KPj4+IC0JCQkgew0KPj4+IC0JCQkgICAvKiBSZXN0cmlj dCBjYWxscyB0byBDQUxMQkFDSyB0byBzeW1ib2xzDQo+Pj4gLQkJCSAgICAgIHJlcHJlc2VudGlu ZyBpbmxpbmUgc3ltYm9scyBvbmx5LiAgKi8NCj4+PiAtCQkJICAgaWYgKGJzeW0tPnN5bWJvbC0+ aXNfaW5saW5lZCAoKSkNCj4+PiAtCQkJICAgICBjYWxsYmFjayAoYnN5bSk7DQo+Pj4gLQkJCSB9 KTsNCj4+PiAtCQkgICAgfQ0KPj4+ICsJCSAgICAgIGlmIChic3ltLT5zeW1ib2wtPmlzX2lubGlu ZWQgKCkpDQo+Pj4gKwkJCWNhbGxiYWNrIChic3ltKTsNCj4+PiArCQkgICAgfTsNCj4+PiArCQkg ICAgaXRlcmF0ZV9vdmVyX2xvY2FsX2Jsb2NrcyAoc3ltdGFiLCBzdGF0ZS0+bGFuZ3VhZ2UsDQo+ Pj4gKwkJCQkJICAgICAgIGxvb2t1cF9uYW1lLCBkb21haW4sDQo+Pj4gKwkJCQkJICAgICAgIGNh bGxiYWNrX2lubGluZWQpOw0KPj4+ICAgCQl9DQo+Pj4NCj4+PiAgIAkgICAgICByZXR1cm4gaXRl cmF0aW9uX3N0YXR1czo6a2VlcF9nb2luZzsNCj4+PiBAQCAtMTIwMyw2ICsxMTk5LDIyIEBAIGl0 ZXJhdGVfb3Zlcl9maWxlX2Jsb2Nrcw0KPj4+ICAgICAgIGN1cnJlbnRfbGFuZ3VhZ2UtPmZvcl9l YWNoX3N5bWJvbCAoYmxvY2ssIG5hbWUsIGRvbWFpbiwgY2FsbGJhY2spOw0KPj4+ICAgfQ0KPj4+ DQo+Pj4gKy8qIEl0ZXJhdGUgb3ZlciBsb2NhbCBibG9ja3MuICAqLw0KPj4+ICsNCj4+PiArc3Rh dGljIHZvaWQNCj4+PiAraXRlcmF0ZV9vdmVyX2xvY2FsX2Jsb2Nrcw0KPj4+ICsgIChjb25zdCBz eW10YWIgKnN5bXRhYiwgY29uc3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZ3VhZ2UsDQo+Pj4gKyAgIGNv bnN0IGxvb2t1cF9uYW1lX2luZm8gJm5hbWUsIGRvbWFpbl9zZWFyY2hfZmxhZ3MgZG9tYWluLA0K Pj4+ICsgICBmb3JfZWFjaF9zeW1ib2xfY2FsbGJhY2tfZnR5cGUgY2FsbGJhY2spDQo+Pj4gK3sN Cj4+PiArICBjb25zdCBibG9ja3ZlY3RvciAqYnYgPSBzeW10YWItPmNvbXB1bml0ICgpLmJsb2Nr dmVjdG9yICgpOw0KPj4+ICsgIGZvciAoaW50IGkgPSBGSVJTVF9MT0NBTF9CTE9DSzsgaSA8IGJ2 LT5udW1fYmxvY2tzICgpOyBpKyspDQo+Pj4gKyAgICB7DQo+Pj4gKyAgICAgIGNvbnN0IHN0cnVj dCBibG9jayAqYmxvY2sgPSBidi0+YmxvY2sgKGkpOw0KPj4+ICsgICAgICBsYW5ndWFnZS0+Zm9y X2VhY2hfc3ltYm9sIChibG9jaywgbmFtZSwgZG9tYWluLCBjYWxsYmFjayk7DQo+Pj4gKyAgICB9 DQo+Pj4gK30NCj4+PiArDQo+Pj4gICAvKiBBIGhlbHBlciBmb3IgZmluZF9tZXRob2QuICBUaGlz IGZpbmRzIGFsbCBtZXRob2RzIGluIHR5cGUgVCBvZg0KPj4+ICAgICAgbGFuZ3VhZ2UgVF9MQU5H IHdoaWNoIG1hdGNoIE5BTUUuICBJdCBhZGRzIG1hdGNoaW5nIHN5bWJvbCBuYW1lcw0KPnRvDQo+ Pj4gICAgICBSRVNVTFRfTkFNRVMsIGFuZCBhZGRzIFQncyBkaXJlY3Qgc3VwZXJjbGFzc2VzIHRv IFNVUEVSQ0xBU1NFUy4gICovDQo+Pj4gQEAgLTQyNTMsNiArNDI2NSwxMSBAQCBhZGRfbWF0Y2hp bmdfc3ltYm9sc190b19pbmZvIChjb25zdCBjaGFyDQo+PipuYW1lLA0KPj4+ICAgICAgIHsNCj4+ PiAgICAgICAgIGluZm8tPmFkZF9zeW1ib2wgKGJzeW0pOw0KPj4+ICAgICAgIH07DQo+Pj4gKyAg YXV0byBhZGRfaW5saW5lZF9zeW1ib2wgPSBbJl0gKGJsb2NrX3N5bWJvbCAqYnN5bSkNCj4+PiAr ICAgIHsNCj4+PiArICAgICAgaWYgKGJzeW0tPnN5bWJvbC0+aXNfaW5saW5lZCAoKSkNCj4+PiAr CWluZm8tPmFkZF9zeW1ib2wgKGJzeW0pOw0KPj4+ICsgICAgfTsNCj4+Pg0KPj4+ICAgICBmb3Ig KGNvbnN0IGF1dG8gJmVsdCA6IGluZm8tPmZpbGVfc3ltdGFicykNCj4+PiAgICAgICB7DQo+Pj4g QEAgLTQyNzUsNiArNDI5Miw4IEBAIGFkZF9tYXRjaGluZ19zeW1ib2xzX3RvX2luZm8gKGNvbnN0 IGNoYXINCj4+Km5hbWUsDQo+Pj4gICAJICBnZGJfYXNzZXJ0ICghZWx0X3BzcGFjZS0+ZXhlY3V0 aW5nX3N0YXJ0dXApOw0KPj4+ICAgCSAgc2V0X2N1cnJlbnRfcHJvZ3JhbV9zcGFjZSAoZWx0X3Bz cGFjZSk7DQo+Pj4gICAJICBpdGVyYXRlX292ZXJfZmlsZV9ibG9ja3MgKGVsdCwgbG9va3VwX25h bWUsIFNFQVJDSF9WRlQsDQo+PmFkZF9zeW1ib2wpOw0KPj4+ICsJICBpdGVyYXRlX292ZXJfbG9j YWxfYmxvY2tzIChlbHQsIGluZm8tPnN0YXRlLT5sYW5ndWFnZSwgbG9va3VwX25hbWUsDQo+Pj4g KwkJCQkgICAgIFNFQVJDSF9WRlQsIGFkZF9pbmxpbmVkX3N5bWJvbCk7DQo+Pj4NCj4+PiAgIAkg IC8qIElmIG5vIG5ldyBzeW1ib2xzIHdlcmUgZm91bmQgaW4gdGhpcyBpdGVyYXRpb24gYW5kIHRo aXMgc3ltdGFiDQo+Pj4gICAJICAgICBpcyBpbiBhc3NlbWJsZXIsIHdlIG1pZ2h0IGFjdHVhbGx5 IGJlIGxvb2tpbmcgZm9yIGEgbGFiZWwgZm9yDQo+Pj4gZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvYnJlYWstaW5saW5lMi5jDQo+PmIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9i cmVhay1pbmxpbmUyLmMNCj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+IGluZGV4IDAwMDAw MDAwMDAwLi43OTdhYjA3ZGEzMQ0KPj4+IC0tLSAvZGV2L251bGwNCj4+PiArKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2JyZWFrLWlubGluZTIuYw0KPj4+IEBAIC0wLDAgKzEsMzMgQEANCj4+ PiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4NCj4+ PiArDQo+Pj4gKyAgIENvcHlyaWdodCAyMDI2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j Lg0KPj4+ICsNCj4+PiArICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCj4+PiArICAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCj4+PiAr ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3INCj4+PiArICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4N Cj4+PiArDQo+Pj4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPj4+ICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPj4+ICsgICBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQo+Pj4g KyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+Pj4gKw0K Pj4+ICsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQ0KPj4+ICsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovDQo+Pj4gKw0KPj4+ICsj aW5jbHVkZSAiYnJlYWstaW5saW5lMi5oIg0KPj4+ICsNCj4+PiArc3RhdGljIGludA0KPj4+ICt0 ZXN0ICh2b2lkKQ0KPj4+ICt7DQo+Pj4gKyAgaW50IGYgPSBmb28gKCk7DQo+Pj4gKyAgaW50IGIg PSBiYXIgKCk7DQo+Pj4gKyAgcmV0dXJuIGYgKyBiOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtpbnQN Cj4+PiArbWFpbiAodm9pZCkNCj4+PiArew0KPj4+ICsgLyogRG9uJ3QgbWFrZSBicmVha3BvaW50 cyBvbiBmb28gYW5kIG1haW4gYmluZCB0byB0aGUgc2FtZSBhZGRyZXNzLiAqLw0KPj4+ICsgIHJl dHVybiB0ZXN0ICgpOw0KPj4+ICt9DQo+Pj4gZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvYnJlYWstaW5saW5lMi5leHANCj4+Yi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFr LWlubGluZTIuZXhwDQo+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+PiBpbmRleCAwMDAwMDAw MDAwMC4uYjEwY2RlY2UxMTgNCj4+PiAtLS0gL2Rldi9udWxsDQo+Pj4gKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9icmVhay1pbmxpbmUyLmV4cA0KPj4+IEBAIC0wLDAgKzEsMzAgQEANCj4+ PiArIyAgIENvcHlyaWdodCAoQykgMjAyNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4N Cj4+PiArIw0KPj4+ICsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo+Pj4gKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCj4+PiArIyB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcg0KPj4+ICsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo+Pj4g KyMNCj4+PiArIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwNCj4+PiArIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPj4+ICsjIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCj4+PiArIyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KPj4+ICsjDQo+Pj4gKyMg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UNCj4+PiArIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCj4+PiArDQo+Pj4gK3N0YW5kYXJkX3Rlc3Rm aWxlDQo+Pj4gKw0KPj4+ICtpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVw YXJlIiAiJHRlc3RmaWxlIiAiJHNyY2ZpbGUiXX0gew0KPj4+ICsgICAgcmV0dXJuDQo+Pj4gK30N Cj4+PiArDQo+Pj4gK2lmIHshW3J1bnRvX21haW5dfSB7DQo+Pj4gKyAgICByZXR1cm4NCj4+PiAr fQ0KPj4+ICsNCj4+PiArZ2RiX2JyZWFrcG9pbnQgIiR0ZXN0ZmlsZS5oOmZvbyIgLW1lc3NhZ2Ug LWFsbG93LXBlbmRpbmcNCj4+PiArZ2RiX2JyZWFrcG9pbnQgYmFyIC1tZXNzYWdlIC1hbGxvdy1w ZW5kaW5nDQo+Pj4gKw0KPj4+ICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAiZm9vIiAiLipm b28uZW50cnkuKiINCj4+PiArZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImJhciIgIi4qYmFy LmVudHJ5LioiDQo+Pj4gZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWst aW5saW5lMi5oDQo+PmIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1pbmxpbmUyLmgNCj4+ PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+IGluZGV4IDAwMDAwMDAwMDAwLi5lNjBkMDU0ZTg1 Yg0KPj4+IC0tLSAvZGV2L251bGwNCj4+PiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Jy ZWFrLWlubGluZTIuaA0KPj4+IEBAIC0wLDAgKzEsMjggQEANCj4+PiArLyogVGhpcyB0ZXN0Y2Fz ZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4NCj4+PiArDQo+Pj4gKyAgIENvcHly aWdodCAyMDI2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KPj4+ICsNCj4+PiArICAg VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkNCj4+PiArICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCj4+PiArICAgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCj4+PiAr ICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4+PiArDQo+Pj4gKyAgIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLA0KPj4+ICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZg0KPj4+ICsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQo+Pj4gKyAgIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+Pj4gKw0KPj4+ICsgICBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0K Pj4+ICsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4gICovDQo+Pj4gKw0KPj4+ICtzdGF0aWMgaW5saW5lIGludCBf X2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkNCj4+PiArZm9vICh2b2lkKSAvKiBmb28uZW50 cnkgKi8NCj4+PiAreyAvKiBmb28uZW50cnkgKi8NCj4+PiArICByZXR1cm4gNDI7IC8qIGZvby5l bnRyeSAqLw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtzdGF0aWMgaW5saW5lIGludCBfX2F0dHJpYnV0 ZV9fKChhbHdheXNfaW5saW5lKSkNCj4+PiArYmFyICh2b2lkKSAvKiBiYXIuZW50cnkgKi8NCj4+ PiAreyAvKiBiYXIuZW50cnkgKi8NCj4+PiArICByZXR1cm4gNDI7IC8qIGJhci5lbnRyeSAqLw0K Pj4+ICt9DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkludGVs IERldXRzY2hsYW5kIEdtYkggDQoNClJlZ2lzdGVyZWQgQWRkcmVzczogRG9ybmFjaGVyIFN0cmFz c2UgMSwgODU2MjIgRmVsZGtpcmNoZW4sIEdlcm1hbnkgDQoNClRlbDogKzQ5ICg4OSkgOTkxNDMt MCANCg0Kd3d3LmludGVsLmRlIA0KDQpNYW5hZ2luZyBEaXJlY3RvcnM6IENhbmRpY2UgTW9vcmUs IEplZmZyZXkgU2NobmVpZGVybWFuLCBSYW1hY2hhbmRyYW4gU2l0YXJhbWFuDQoNCkNoYWlycGVy c29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogU29uamEgUGllcmVyDQoNClJlZ2lzdGVyZWQg U2VhdDogTXVuaWNoIENvbW1lcmNpYWwgUmVnaXN0ZXIgQjogQW10c2dlcmljaHQgTXVuaWNoIEhS QiAxODY5MjgNCg0KVGhpcyBlLW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBj b25maWRlbnRpYWwgbWF0ZXJpYWwgZm9yDQp0aGUgc29sZSB1c2Ugb2YgdGhlIGludGVuZGVkIHJl Y2lwaWVudChzKS4gQW55IHJldmlldyBvciBkaXN0cmlidXRpb24NCmJ5IG90aGVycyBpcyBzdHJp Y3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQNCnJlY2lwaWVudCwg cGxlYXNlIGNvbnRhY3QgdGhlIHNlbmRlciBhbmQgZGVsZXRlIGFsbCBjb3BpZXMuCg==