From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id jjuMEQJiXWhuVyAAWB0awg (envelope-from ) for ; Thu, 26 Jun 2025 11:06:42 -0400 Received: by simark.ca (Postfix, from userid 112) id 340661E11E; Thu, 26 Jun 2025 11:06:42 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-9.0 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED, RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE 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 D1ECD1E0C2 for ; Thu, 26 Jun 2025 11:06:40 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 487FD3854A87 for ; Thu, 26 Jun 2025 15:06:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 487FD3854A87 Received: from us-smtp-delivery-114.mimecast.com (us-smtp-delivery-114.mimecast.com [170.10.133.114]) by sourceware.org (Postfix) with ESMTP id 71F00385C6DC for ; Thu, 26 Jun 2025 15:05:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 71F00385C6DC Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=labware.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=labware.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 71F00385C6DC Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.114 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1750950355; cv=none; b=b7eMNiZ6htzxAMSOF/SaFdLGIjhu1rEFo1qBLPOyESP5YO6l+ZWDV3UDcSldj4zpY4gEpjGwl2Hf1zlj2FvyjQVUmuNvHLumvSenSCXuNdT4JmWHzoJJjHRtJnUcQgp0dRoPHABXIC2zqJOnoolwV7LFgiUYsDv9PYKwgoYwZ6Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1750950355; c=relaxed/simple; bh=Y9PPXnORzl03PYQCuQZnRNI5/ZYc391GnNwMFXEkjcI=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=x/VS3ZtEzlKu5lnp18GPhjIG/QHqlrQAcmS+s9/nn36+Bc7lRs6iHJ8f4hFZn5UdvRHtr/Z5S2i70F9pyw+ypjTe+jEwLHObDAUmuRbrlonHieUCHzqlzEmo0xv4vLt1aLFskGkv30pOAXSz2dW+hoB9+W4OAxVMP4xCTMyJ4Ak= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 71F00385C6DC Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2122.outbound.protection.outlook.com [40.107.95.122]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-356-Ef6c-bS9N72SV9-ZlofQZA-2; Thu, 26 Jun 2025 11:05:54 -0400 X-MC-Unique: Ef6c-bS9N72SV9-ZlofQZA-2 X-Mimecast-MFC-AGG-ID: Ef6c-bS9N72SV9-ZlofQZA_1750950353 Received: from SA1PR17MB5365.namprd17.prod.outlook.com (2603:10b6:806:1d8::11) by SA0PR17MB4142.namprd17.prod.outlook.com (2603:10b6:806:89::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.21; Thu, 26 Jun 2025 15:05:51 +0000 Received: from SA1PR17MB5365.namprd17.prod.outlook.com ([fe80::6398:7dc0:7d88:5a4d]) by SA1PR17MB5365.namprd17.prod.outlook.com ([fe80::6398:7dc0:7d88:5a4d%5]) with mapi id 15.20.8880.015; Thu, 26 Jun 2025 15:05:51 +0000 From: =?utf-8?B?SmFuIFZyYW7DvQ==?= To: "gdb-patches@sourceware.org" CC: "tom@tromey.com" Subject: Re: [RFC v5 01/18] gdb: introduce expand_symtabs_maybe_overlapping Thread-Topic: [RFC v5 01/18] gdb: introduce expand_symtabs_maybe_overlapping Thread-Index: AQHb5FlWNAxZckGmckaLmgBXb0+ezbQSbtisgAMgEAA= Date: Thu, 26 Jun 2025 15:05:51 +0000 Message-ID: References: <20250623161013.650814-1-jan.vrany@labware.com> <20250623161013.650814-2-jan.vrany@labware.com> <877c11yxk0.fsf@tromey.com> In-Reply-To: <877c11yxk0.fsf@tromey.com> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR17MB5365:EE_|SA0PR17MB4142:EE_ x-ms-office365-filtering-correlation-id: 76bf0718-9ce0-4c10-b67c-08ddb4c2f0ca x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018 x-microsoft-antispam-message-info: =?utf-8?B?R05tdmh4QnU5SUFBR2RJRFlaMHprVzh4UG9INFkwK2txL045cExtbTdUV1Zn?= =?utf-8?B?VWU4ZFk1aGJ1Rk5nTVQ0am1pWDIrcEdDckhUSjRRdWkzNTVjcjJFQTlVNzNz?= =?utf-8?B?QVY0RndEVndWd21IUmV1dmVjQkxiWGM3R0tuYUlFTEROdi9KT0hNd21ORUdW?= =?utf-8?B?SDl1YTRHMENxVHZDUWV0cGxhUUo2WHJuMS9ZR25vZG0wSXEvaVF4cjF1ZWJ6?= =?utf-8?B?MzBLSHpDQzFnL09xdVNXYzNLL3ZUdTIwbFNBWm1pOWhUU2QxMGFHUG5vL3pQ?= =?utf-8?B?SWVwN1RXR0NTQWluR2pVN3JoeDZ1K2hmaHQyMGE0eW9hZU45aXR3a1VqQjdK?= =?utf-8?B?dVJGUXNxb1ZPOVpTZ0hoSS9jWDd1bFovalVrYkpMQWxWS3VLQXNtSnk1V2hr?= =?utf-8?B?dUd1VS85OE5YMkJucWp4aUlINyszZWFTRFMyczZRRnpTRGQ5bGtvckJyS2FY?= =?utf-8?B?UnB3V2RzOE1YaWp6S2NOZjhiR1ozT2ZpV1lmRGhDVzJpN1dES2U5NG1pcUF1?= =?utf-8?B?U0ZrQXJGVzVmUTlvS1BIbHExc2Y2bmxKUDBkdmtxVisranJtaHlUUndKL21j?= =?utf-8?B?Y0Fjc3k4dFBHMy90WDJCa3JZLzlTZnp0d1dDNklvWEVaUkxHbzdmZi9yWXVy?= =?utf-8?B?L1ZpZmQrMmxaWmFLR25OUHJ3NWFGTmdyd1NHL0FYZE5nT2lXeHJEcGd4dDdq?= =?utf-8?B?bFlyd1FJZTNXSVdkb0c4dWtJRGpYLzJUbjhweUJyK201ejBWNTIrTlVMTjNt?= =?utf-8?B?Y2NPV1h2dzZBWVN3Q2dQK2o5anFnSnY1SFU5Rjc2SzBCeHAyVjBvb29hSE5K?= =?utf-8?B?Y1FJOFRWV1ZTTFlhN0hOeGRzM3FkcUhWWmFXQmJkN0ZTNVVGc0RWU3d6SnNM?= =?utf-8?B?cmtLSTMzeVJ1T3FQNXR3aFVSajA3Sm9PSVVvV294UjB5ZHo4MlN4MVNRS0hV?= =?utf-8?B?cWM4cGdEYkcyTDBWSnBVUlN0aTFMK1JXckhSQWppQW5QUXFlWlpuZytRYzBY?= =?utf-8?B?RnhCaS8yd2U4MHVFdTF4cUhuRk91QmNieERoTW56OE1rMGRDbjNQTUk5YjBW?= =?utf-8?B?ZlN3OVR2VDBRcXY3bUdwMFJXTW1LWWIzKzNVZ1FPSVR1cmNpVGdjaXd4cW55?= =?utf-8?B?TXlmcTdmdVFuZkpqZ1R5dzJFLzVmOWwzVnY1Ui8yT2M1YitKUFZISktydndS?= =?utf-8?B?eVJ6eFZzQlhRRzhiNDFjbURKeHVRZ1Q3TWxlVVNHd3NKVWNnVjlTWDIzdFhZ?= =?utf-8?B?K2tid3BLdytoWFQybFRLOTZwZFBZenNYUXkrOUNLbHBuM2hDMUI5Qjl2ekRI?= =?utf-8?B?WkJ3YVVFMHZ6Y0IzWWZCMk9PNEh1Y3l3M1ZDazNFVWsvOVN2NGpjTkhQZ05G?= =?utf-8?B?Wkc0b2g1RVA4WUpESXdGUk4zaXVMU1BZRUl6ZEtrdUxvSERndWRMNkUwaUV2?= =?utf-8?B?dFduR1V6cEZiWnFCTm8vTm4wNTkyT0VTbzRFeTY4bVJ0MGk3MThOSFFGaytt?= =?utf-8?B?QXhNUytObmtBQzZhcnNpQmtHM2dBUGZLQzUxQVBkaEhVTG9RbDNrUjdjcGZR?= =?utf-8?B?K0dqYyszLzY0L0pGSHFXaGxPZ2ZkOGxZbG41RjZjSG1qUXBKWGlSRitZRUVT?= =?utf-8?B?L3NWUmcweXorZ0hvT3VKaGk0YWIwM3U0TjlKU1Mxb1BnRlVPM1NhYUtMd001?= =?utf-8?B?V2pHUWhiM3piUWtBMTllbklTSk03Q013R0xKVjFWOEVkdloxclV4ZnBXVkFX?= =?utf-8?B?ZWhLUmpCRXhlRi9uaE9jRzh2ejZsOFZwKy9zZGVjbEFOd1lYNmhob1hWM1RJ?= =?utf-8?B?em54TTdLcmdWZlYrZ1YwSmZUZTA0UFF0YWlpRFBwTlgxU0hPdWxzd1Frdzdm?= =?utf-8?B?VUdJY1ZkOGRSQzZrWnVtcGZSeHpDeFo2a0Z2MWRrYXdPclBuTFFKZTdrRDJL?= =?utf-8?B?a2RYblFKd2N2RmhuWjRZcWswTEt1TnpVQWZYTGwwamdwR3dsQjgwemlEdGM2?= =?utf-8?Q?tJhSiLOC5B+GfdraRQSGutqao6ZlBs=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA1PR17MB5365.namprd17.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1102 x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TERhQ3lyZzVwYnJBQithNm9xRThpTWdRQStFbW5rYUJQSWlWK044bmxZMkxV?= =?utf-8?B?N2kxQmVhenBMMnJnc0dyRXFESGY5K3duUzg2MFAxVGtSZ0pSK0I4RnBEaG1j?= =?utf-8?B?Vm42RmZxQ1hRUkFQR2grT0FuSkM4VHJzYnNTSy9CTnNSNVhHdkZ5dGdOTUZB?= =?utf-8?B?NXptL3ZldW02R2lVTjcvQkhVVFBVaERLTGdjcnFuNjZxbkNmbjNFNzcwRHNH?= =?utf-8?B?YXQwVHlsN3NHR3RNaGVrNWI1UW55SnBVVkRKS3dXYlZaQlkxVUwzbDlOcU56?= =?utf-8?B?ZTJqZzZLWEtuTkJyMlIzc2ZrSXJqM1hZVnhUZHl1cy9RNXJ1Sk9tbjcrTjd1?= =?utf-8?B?d2FNcno2dWY1b0JIUzVDNVJ1NGk4UzBpb0lXZDgvVUJuYXd5OEV2OXZIcm9k?= =?utf-8?B?V0RTc294RHk4OWtSZXJtWXd5K1haV09aYWp3aWZjcWwwMkVrYm4yNk9jUlRR?= =?utf-8?B?M1NkQWJrS1lIWWR6Uy9KMWxRV3BOdTJoZHg3YmZVamV3VEE4YmI0T1AxdVgx?= =?utf-8?B?U2wwdjkwRkdTenB1MUR0U1ZFZm1mQkVXU25mRys1RDZ6ejZFOHUxamRrM1lX?= =?utf-8?B?RzY0a1I2b0ZieVhJN3J2M1pSMEtxeGxEcUFIazE5OTN2OG5NRmJDMWF1ZWda?= =?utf-8?B?b05XVUtadDV3YTIvL2trYjVjZUhpOHpSMTlhQUx6U0dUcDFwRi8vU2RVTEN0?= =?utf-8?B?anpBQnJwQ0FuZHJyakIzQmRhRi84ZUY3UWZJWk1pRU9xdlB4dFpJZ21NaVBU?= =?utf-8?B?cVNIeXlyd3I1NkVpVDAwditlZzh6bFRGYXdua2NqeTB4S3lWK3dWZDJxSlZ5?= =?utf-8?B?c3MzSnZCekJJMmRXUFNKZUlvLzNKNGdITHMwZkY2OWRVSU5FbUhraDg0Q0RP?= =?utf-8?B?RFI0MEpxR082T0FmdXNGTU5QQU5LaU1ZY3hLTkRJVExlejY0VWpnV3Q3cWNL?= =?utf-8?B?M1JUZkdkYmJBc1VhYUM0Z3dlK3NzVlBUbktyazdPVlpzUGUyRGMzbnpmbnhr?= =?utf-8?B?YzFMa1o5WDJGM3AyNUU2QVk3K3NvWndJMlg2YVkwOSthOVRpVzcrYXBjN25C?= =?utf-8?B?TmdoK3Z0QnBFQmJtSzc3czEvTVdxdHhmNzBtdlNCQm1CNDVxMi91K2JIRnA0?= =?utf-8?B?UC9IcXlTRExWeHBweHUrY2RqaGRIeGFnWEEyOHBoK0crZDN3bTVYZk9WSlVo?= =?utf-8?B?QzQvNTZYalY3Y29BSE5HV3owZ1Y2eFFnZ1hseXZrbjU5SUEzbURXK2ZFL0xr?= =?utf-8?B?dEtYUFNMNnFVejdwTEdvN3BWNFJrTDZiVkxUdE9uSUdZWmNSeENkalEwc0Y4?= =?utf-8?B?RXFlUHFCMyt1bE1WSzVJaVNrWXdyK3NQdmFaVEVka2Jxdk9rZ1hUeFNRSlRn?= =?utf-8?B?dlV5ZE0zUEV2ZWVNVDVrN2VDRG5kSlZMTERidDRRNzU2Y0FDaGJmbm11dExx?= =?utf-8?B?cDRvdFp1VS8zRlBoWGtzUThJQ0E0anFvV2YrUUtlNCtTa2RtL2xZbU9DR3p0?= =?utf-8?B?amVSemlxR1Uyc1lkcHpOMjFvVjd1Wmc1bTYzNlFZcnN1bE1BUTFOTVBUVlg4?= =?utf-8?B?OXNsY2puaSt0ay9KVVdvWlN4YXRGNllsbWNxZjdEb2ZDZnpzNzhzTkF0SHJq?= =?utf-8?B?UVhwWVpZdTZQeUsyTXFhZElaaDNPQldMekFEUFpmSFcwMTVXYnZKQ3RjOHNR?= =?utf-8?B?dkx1bk1OY1d0eXB6Q1ltM3BORUxMYmhGWnYxeXhzbFlqclJrR0VUcEluM0ZR?= =?utf-8?B?THo3c1orR1pFODBTUG02NkFVenQ5MVB4Qkovbk9DVFNEbzFBbzRwVEh0ZWhx?= =?utf-8?B?T2duQzJIVjVCdjNIYUZrVGlORmtvQWlpV2Vpa3VYWGcwd3NSUWRhNGJVenJ2?= =?utf-8?B?RE1kMmUwbVRkd0xubWh5WXAvam05SXd4SFpOSm5raU9xaldvWWtuYUxkOUs1?= =?utf-8?B?VHVZMGtNYm1GMXlKeVpyR1V1QmlKMzlLcWJMZ0xqZGtGVXBFTXVmeXE0MmZu?= =?utf-8?B?VkhZTkxPOUk2QTBVK0h3bHJWWWJDLzhaQ3hxN0w2U2pxSGJxZHM4Mi9aMjY1?= =?utf-8?B?a2dNbjhIRktEZEhZVHhLWEgzc0pjNjhNbnBDQ3lXZU5nUmVqRkE2TVlKSkx4?= =?utf-8?Q?xgWvu15C6rj81Es33Tw9+dYAr?= MIME-Version: 1.0 X-OriginatorOrg: labware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR17MB5365.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 76bf0718-9ce0-4c10-b67c-08ddb4c2f0ca X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jun 2025 15:05:51.2352 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b5db0322-1aa0-4c0a-859c-ad0f96966f4c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: T5U9zAddNSUThJXExhqBn5FKCoBcHDggCo2LPSfR5L1L3qa4LcR8CL9pKjUXc+NTsQVzS8vCAKJEhKOiXrhe2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR17MB4142 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: EJwi_DsipwfkCFXPJI-Oh5ViMHY34NQDO6QiACYvRdY_1750950353 X-Mimecast-Originator: labware.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-ID: 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 T24gVHVlLCAyMDI1LTA2LTI0IGF0IDA5OjIyIC0wNjAwLCBUb20gVHJvbWV5IHdyb3RlOg0KPiA+ ID4gPiA+ID4gIkphbiIgPT0gSmFuIFZyYW55IDxqYW4udnJhbnlAbGFid2FyZS5jb20+IHdyaXRl czoNCj4gDQo+IEphbj4gVGhpcyBjb21taXQgaW50cm9kdWNlcyBleHBhbmRfc3ltdGFic19tYXli ZV9vdmVybGFwcGluZywgYSBuZXcNCj4gInF1aWNrDQo+IEphbj4gc3ltYm9sIGZ1bmN0aW9uIi7C oCBUaGlzIHdpbGwgYmUgdXNlZCBsYXRlciBieSBQeXRob24gQVBJIHRvDQo+IGNyZWF0ZSBuZXcN Cj4gSmFuPiBjb21wdW5pdHMgdG8gZW5zdXJlIHRvLWJlLWNyZWF0ZWQgY29tcHVuaXQgZG9lcyBu b3Qgb3ZlcmxhcCB3aXRoDQo+IEphbj4gZXhpc3Rpbmcgb25lLg0KPiANCj4gSmFuPiBGb3IgRFdB UkYyIGJhc2UgaW5kZXggZnVuY3Rpb25zLCBhbGwgY29tcHVuaXRzIGFyZSBleHBhbmRlZA0KPiBK YW4+IHVuY29uZGl0aW9uYWxseSBzaW5jZSB0aGVyZSBzZWVtIHRvIGJlIG5vIHdheSB0byBleHRy YWN0DQo+IHVuZXhwYW5kZWQNCj4gSmFuPiBjb21wdW5pdCdzIGNvbnNlcnZhdGl2ZSBhZGRyZXNz IHJhbmdlLg0KPiANCj4gVGhpcyBpcyBleHRyZW1lbHkgZXhwZW5zaXZlLCBzbyBJIGRvbid0IHRo aW5rIGl0J3MgYSBnb29kIGFwcHJvYWNoLg0KPiANCj4gWW91IGNhbiBwcm9iYWJseSBjYWxsIGNv b2tlZF9pbmRleDo6bG9va3VwIHRvIHNlZSBpZiBhbiBhZGRyZXNzIGlzDQo+IGNvdmVyZWQ6DQo+ IA0KPiDCoCAvKiBMb29rIHVwIEFERFIgaW4gdGhlIGFkZHJlc3MgbWFwLCBhbmQgcmV0dXJuIGVp dGhlciB0aGUNCj4gwqDCoMKgwqAgY29ycmVzcG9uZGluZyBDVSwgb3IgbnVsbHB0ciBpZiB0aGUg YWRkcmVzcyBjb3VsZCBub3QgYmUNCj4gwqDCoMKgwqAgZm91bmQuwqAgKi8NCj4gwqAgZHdhcmYy X3Blcl9jdSAqbG9va3VwICh1bnJlbG9jYXRlZF9hZGRyIGFkZHIpIG92ZXJyaWRlOw0KDQpBaCwg SSBvdmVybG9va2VkIHRoYXQuIEkgaGF2ZSB1cGRhdGVkIHRoaXMgcGF0Y2ggKGJlbG93KSB0bw0K dXNlIG1fYWRkcm1hcCBpbiBjb29rZWRfaW5kZXhfc2hhcmQgdG8gZmluZCBDVXMgdGhhdCBuZWVk DQpleHBhbmRpbmcuDQoNCkhvcGVmdWxseSBpdCB3b3VsZCB3b3JrLCBJJ20gbm90IHN1cmUgaG93 IHRvIHRlc3QgdGhpcy4NCg0KRm9yIGR3YXJmMl9iYXNlX2luZGV4X2Z1bmN0aW9ucyBpdCBzdGls bCBleHBhbmRzIGFsbCBzeW10YWJzLiBJc8KgDQp0aGVyZSBhIHdheSB0byBnZXQgbWVtb3J5IHJh bmdlcyBvZiBDVXMgZm9ywqANCmR3YXJmMl9iYXNlX2luZGV4X2Z1bmN0aW9ucz8NCg0KVGhhbmtz IQ0KDQpKYW4NCg0KDQotLSA+OCAtLQ0KRnJvbSBhOGMyNTA2YmQzN2RhYjRhN2JjNjNmNmRhNGQ3 OTQ1ZGE0NzE0NzI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogSmFuIFZyYW55IDxq YW4udnJhbnlAbGFid2FyZS5jb20+DQpEYXRlOiBNb24sIDIzIEp1biAyMDI1IDE3OjA3OjU1ICsw MTAwDQpTdWJqZWN0OiBbUEFUQ0ggMDIvMTldIGdkYjogaW50cm9kdWNlIGV4cGFuZF9zeW10YWJz X21heWJlX292ZXJsYXBwaW5nDQoNClRoaXMgY29tbWl0IGludHJvZHVjZXMgZXhwYW5kX3N5bXRh YnNfbWF5YmVfb3ZlcmxhcHBpbmcsIGEgbmV3ICJxdWljaw0Kc3ltYm9sIGZ1bmN0aW9uIi4gIFRo aXMgd2lsbCBiZSB1c2VkIGxhdGVyIGJ5IFB5dGhvbiBBUEkgdG8gY3JlYXRlIG5ldw0KY29tcHVu aXRzIHRvIGVuc3VyZSB0by1iZS1jcmVhdGVkIGNvbXB1bml0IGRvZXMgbm90IG92ZXJsYXAgd2l0 aA0KZXhpc3Rpbmcgb25lLg0KDQpGb3IgRFdBUkYyIGJhc2UgaW5kZXggZnVuY3Rpb25zLCBhbGwg Y29tcHVuaXRzIGFyZSBleHBhbmRlZA0KdW5jb25kaXRpb25hbGx5IHNpbmNlIHRoZXJlIHNlZW0g dG8gYmUgbm8gd2F5IHRvIGV4dHJhY3QgdW5leHBhbmRlZA0KY29tcHVuaXQncyBjb25zZXJ2YXRp dmUgYWRkcmVzcyByYW5nZS4NCg0KRm9yICJjb29rZWQgaW5kZXgiIGZ1bmN0aW9ucywgZXhwYW5k X3N5bXRhYnNfbWF5YmVfb3ZlcmxhcHBpbmcgKCkgbWFrZXMNCnVzZSBvZiBhZGRyZXNzIG1hcCBp biBjb29rZWRfaW5kZXggdG8gZmluZCBvdmVybGFwcGluZyBDVXMgYW5kIGV4cGFuZHMNCm9ubHkg dGhvc2UuIFRoaXMgcmVxdWlyZWQgdG8gZXhwb3J0IGR3Ml9pbnN0YW50aWF0ZV9zeW10YWIgKCku DQotLS0NCiBnZGIvZHdhcmYyL2Nvb2tlZC1pbmRleC1zaGFyZC5jIHwgMzQgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysNCiBnZGIvZHdhcmYyL2Nvb2tlZC1pbmRleC1zaGFyZC5oIHwg IDUgKysrKysNCiBnZGIvZHdhcmYyL2Nvb2tlZC1pbmRleC5jICAgICAgIHwgMTcgKysrKysrKysr KysrKysrKw0KIGdkYi9kd2FyZjIvY29va2VkLWluZGV4LmggICAgICAgfCAyNCArKysrKysrKysr KysrKysrKysrKysrDQogZ2RiL2R3YXJmMi9yZWFkLmMgICAgICAgICAgICAgICB8IDE4ICsrKysr KysrKysrKy0tLS0tDQogZ2RiL2R3YXJmMi9yZWFkLmggICAgICAgICAgICAgICB8IDEyICsrKysr KysrKysrDQogZ2RiL29iamZpbGVzLmggICAgICAgICAgICAgICAgICB8ICAzICsrKw0KIGdkYi9w c3ltdGFiLmMgICAgICAgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKw0KIGdk Yi9wc3ltdGFiLmggICAgICAgICAgICAgICAgICAgfCAgMyArKysNCiBnZGIvcXVpY2stc3ltYm9s LmggICAgICAgICAgICAgIHwgIDUgKysrKysNCiBnZGIvc3ltZmlsZS1kZWJ1Zy5jICAgICAgICAg ICAgIHwgMTYgKysrKysrKysrKysrKysrDQogZ2Ric3VwcG9ydC9yYW5nZS5oICAgICAgICAgICAg ICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIDEyIGZpbGVzIGNoYW5n ZWQsIDE4OCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnZGJzdXBwb3J0L3JhbmdlLmgNCg0KZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvY29va2VkLWlu ZGV4LXNoYXJkLmMgYi9nZGIvZHdhcmYyL2Nvb2tlZC1pbmRleC0NCnNoYXJkLmMNCmluZGV4IGM3 MTdiYmJmNmMwLi4xZWU2MDc3ZGMyMCAxMDA2NDQNCi0tLSBhL2dkYi9kd2FyZjIvY29va2VkLWlu ZGV4LXNoYXJkLmMNCisrKyBiL2dkYi9kd2FyZjIvY29va2VkLWluZGV4LXNoYXJkLmMNCkBAIC0z MjksMyArMzI5LDM3IEBAIGNvb2tlZF9pbmRleF9zaGFyZDo6ZmluZCAoY29uc3Qgc3RkOjpzdHJp bmcgJm5hbWUsDQpib29sIGNvbXBsZXRpbmcpIGNvbnN0DQogCQkJCSAgICAgPyBjb29rZWRfaW5k ZXhfZW50cnk6OkNPTVBMRVRFDQogCQkJCSAgICAgOiBjb29rZWRfaW5kZXhfZW50cnk6Ok1BVENI KSB9KSk7DQogfQ0KKw0KKy8qIFNlZSBjb29rZWQtaW5kZXgtc2hhcmQuaC4gICovDQorDQorc3Rk Ojp2ZWN0b3I8ZHdhcmYyX3Blcl9jdSAqPg0KK2Nvb2tlZF9pbmRleF9zaGFyZDo6bG9va3VwX292 ZXJsYXBwaW5nICh1bnJlbG9jYXRlZF9hZGRyIHN0YXJ0LA0KKwkJCQkJdW5yZWxvY2F0ZWRfYWRk ciBlbmQpDQorICB7DQorICAgIHN0ZDo6dmVjdG9yPGR3YXJmMl9wZXJfY3UgKj4gcmVzdWx0Ow0K Kw0KKyAgICBDT1JFX0FERFIgc3RhcnRfYWRkciA9IChDT1JFX0FERFIpc3RhcnQ7DQorICAgIENP UkVfQUREUiBlbmRfYWRkciA9IChDT1JFX0FERFIpZW5kOw0KKyAgICBDT1JFX0FERFIgcHJldl9h ZGRyID0gMDsNCisgICAgdm9pZCAqcHJldl9vYmogPSBudWxscHRyOw0KKw0KKyAgICBpZiAobV9h ZGRybWFwICE9IG51bGxwdHIpDQorICAgICAgbV9hZGRybWFwLT5mb3JlYWNoICAoWyZdIChDT1JF X0FERFIgY3Vycl9hZGRyLCB2b2lkICpjdXJyX29iaikgLQ0KPiBpbnQNCisgICAgICB7DQorCWlm IChjdXJyX2FkZHIgPj0gZW5kX2FkZHIpDQorCSAgcmV0dXJuIDE7DQorDQorCWlmIChjdXJyX2Fk ZHIgIT0gMA0KKwkgICAgJiYgcHJldl9vYmogIT0gbnVsbHB0cg0KKwkgICAgJiYgcmFuZ2VzX292 ZXJsYXAgKHN0YXJ0X2FkZHIsIGVuZF9hZGRyLCBwcmV2X2FkZHIsDQpjdXJyX2FkZHItMSkpDQor CSAgew0KKwkgICAgcmVzdWx0LnB1c2hfYmFjayAoc3RhdGljX2Nhc3Q8ZHdhcmYyX3Blcl9jdSAq Pg0KKHByZXZfb2JqKSk7DQorCSAgfQ0KKwlwcmV2X2FkZHIgPSBjdXJyX2FkZHI7DQorCXByZXZf b2JqID0gY3Vycl9vYmo7DQorDQorCXJldHVybiAwOw0KKyAgICAgIH0pOw0KKw0KKyAgICByZXR1 cm4gcmVzdWx0Ow0KKyAgfQ0KZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvY29va2VkLWluZGV4LXNo YXJkLmggYi9nZGIvZHdhcmYyL2Nvb2tlZC1pbmRleC0NCnNoYXJkLmgNCmluZGV4IDkyNTk2MGI3 ZWNlLi42MjI0NGFjNWQzZSAxMDA2NDQNCi0tLSBhL2dkYi9kd2FyZjIvY29va2VkLWluZGV4LXNo YXJkLmgNCisrKyBiL2dkYi9kd2FyZjIvY29va2VkLWluZGV4LXNoYXJkLmgNCkBAIC0yNiw2ICsy Niw3IEBADQogI2luY2x1ZGUgImFkZHJtYXAuaCINCiAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9pdGVy YXRvci1yYW5nZS5oIg0KICNpbmNsdWRlICJnZGJzdXBwb3J0L3N0cmluZy1zZXQuaCINCisjaW5j bHVkZSAiZ2Ric3VwcG9ydC9yYW5nZS5oIg0KIA0KIC8qIEFuIGluZGV4IG9mIGludGVyZXN0aW5n IERJRXMuICBUaGlzIGlzICJjb29rZWQiLCBpbiBjb250cmFzdCB0byBhDQogICAgbWFwcGVkIC5k ZWJ1Z19uYW1lcyBvciAuZ2RiX2luZGV4LCB3aGljaCBhcmUgInJhdyIuICBBbiBlbnRyeSBpbg0K QEAgLTkyLDYgKzkzLDEwIEBAIGNsYXNzIGNvb2tlZF9pbmRleF9zaGFyZA0KICAgICByZXR1cm4g KHN0YXRpY19jYXN0PGR3YXJmMl9wZXJfY3UgKj4gKG1fYWRkcm1hcC0+ZmluZCAoKENPUkVfQURE UikNCmFkZHIpKSk7DQogICB9DQogDQorICAvKiBMb29rIHVwIGFsbCBDVXMgdGhhdCBvdmVybGFw IHdpdGggcmFuZ2UgW1NUQVJULCBFTkQpLiAgKi8NCisgIHN0ZDo6dmVjdG9yPGR3YXJmMl9wZXJf Y3UgKj4gbG9va3VwX292ZXJsYXBwaW5nICh1bnJlbG9jYXRlZF9hZGRyDQpzdGFydCwNCisJCQkJ CQkgICB1bnJlbG9jYXRlZF9hZGRyDQplbmQpOw0KKw0KICAgLyogQ3JlYXRlIGEgbmV3IGNvb2tl ZF9pbmRleF9lbnRyeSBhbmQgcmVnaXN0ZXIgaXQgd2l0aCB0aGlzIG9iamVjdC4NCiAgICAgIEVu dHJpZXMgYXJlIG93bmVkIGJ5IHRoaXMgb2JqZWN0LiAgVGhlIG5ldyBpdGVtIGlzIHJldHVybmVk LiAgKi8NCiAgIGNvb2tlZF9pbmRleF9lbnRyeSAqY3JlYXRlIChzZWN0X29mZnNldCBkaWVfb2Zm c2V0LA0KZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvY29va2VkLWluZGV4LmMgYi9nZGIvZHdhcmYy L2Nvb2tlZC1pbmRleC5jDQppbmRleCA3MjMyZjI4NmE0MC4uMDc3MGViNzk3ZjIgMTAwNjQ0DQot LS0gYS9nZGIvZHdhcmYyL2Nvb2tlZC1pbmRleC5jDQorKysgYi9nZGIvZHdhcmYyL2Nvb2tlZC1p bmRleC5jDQpAQCAtMTQ0LDYgKzE0NCwyMyBAQCBjb29rZWRfaW5kZXg6Omxvb2t1cCAodW5yZWxv Y2F0ZWRfYWRkciBhZGRyKQ0KIA0KIC8qIFNlZSBjb29rZWQtaW5kZXguaC4gICovDQogDQorc3Rk Ojp2ZWN0b3I8ZHdhcmYyX3Blcl9jdSAqPg0KK2Nvb2tlZF9pbmRleDo6bG9va3VwX292ZXJsYXBw aW5nICh1bnJlbG9jYXRlZF9hZGRyIHN0YXJ0LA0KKwkJCQkgIHVucmVsb2NhdGVkX2FkZHIgZW5k KQ0KK3sNCisgIC8qIEVuc3VyZSB0aGF0IHRoZSBhZGRyZXNzIG1hcHMgYXJlIHJlYWR5LiAgKi8N CisgIHdhaXQgKGNvb2tlZF9zdGF0ZTo6TUFJTl9BVkFJTEFCTEUsIHRydWUpOw0KKyAgc3RkOjp2 ZWN0b3I8ZHdhcmYyX3Blcl9jdSAqPiByZXN1bHQ7DQorICBmb3IgKGNvbnN0IGF1dG8gJnNoYXJk IDogbV9zaGFyZHMpDQorICAgIHsNCisgICAgICBmb3IgKGR3YXJmMl9wZXJfY3UgKmN1IDogc2hh cmQtPmxvb2t1cF9vdmVybGFwcGluZyAoc3RhcnQsIGVuZCkpDQorCXJlc3VsdC5wdXNoX2JhY2sg KGN1KTsNCisgICAgfQ0KKyAgcmV0dXJuIHJlc3VsdDsNCit9DQorDQorLyogU2VlIGNvb2tlZC1p bmRleC5oLiAgKi8NCisNCiBzdGQ6OnZlY3Rvcjxjb25zdCBhZGRybWFwICo+DQogY29va2VkX2lu ZGV4OjpnZXRfYWRkcm1hcHMgKCkNCiB7DQpkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9jb29rZWQt aW5kZXguaCBiL2dkYi9kd2FyZjIvY29va2VkLWluZGV4LmgNCmluZGV4IDQzYjI3MjMyYWVjLi42 MDUxMTJmNjNmZCAxMDA2NDQNCi0tLSBhL2dkYi9kd2FyZjIvY29va2VkLWluZGV4LmgNCisrKyBi L2dkYi9kd2FyZjIvY29va2VkLWluZGV4LmgNCkBAIC0xMzIsNiArMTMyLDEwIEBAIGNsYXNzIGNv b2tlZF9pbmRleCA6IHB1YmxpYyBkd2FyZl9zY2FubmVyX2Jhc2UNCiAgICAgIGZvdW5kLiAgKi8N CiAgIGR3YXJmMl9wZXJfY3UgKmxvb2t1cCAodW5yZWxvY2F0ZWRfYWRkciBhZGRyKSBvdmVycmlk ZTsNCiANCisgIC8qIExvb2sgdXAgYWxsIENVcyB0aGF0IG92ZXJsYXAgd2l0aCByYW5nZSA8U1RB UlQsIEVORCkuICAqLw0KKyAgc3RkOjp2ZWN0b3I8ZHdhcmYyX3Blcl9jdSAqPiBsb29rdXBfb3Zl cmxhcHBpbmcgKHVucmVsb2NhdGVkX2FkZHINCnN0YXJ0LA0KKwkJCQkJCSAgIHVucmVsb2NhdGVk X2FkZHINCmVuZCk7DQorDQogICAvKiBSZXR1cm4gYSBuZXcgdmVjdG9yIG9mIGFsbCB0aGUgYWRk cm1hcHMgdXNlZCBieSBhbGwgdGhlIGluZGV4ZXMNCiAgICAgIGhlbGQgYnkgdGhpcyBvYmplY3Qu DQogDQpAQCAtMjM3LDYgKzI0MSwyNiBAQCBzdHJ1Y3QgY29va2VkX2luZGV4X2Z1bmN0aW9ucyA6 IHB1YmxpYw0KZHdhcmYyX2Jhc2VfaW5kZXhfZnVuY3Rpb25zDQogICAgIGR3YXJmMl9iYXNlX2lu ZGV4X2Z1bmN0aW9uczo6ZXhwYW5kX2FsbF9zeW10YWJzIChvYmpmaWxlKTsNCiAgIH0NCiANCisg IC8qIENvb2tlZCBpbmRleCdzIHZlcnNpb24gb2YgZXhwYW5kX3N5bXRhYnNfbWF5YmVfb3Zlcmxh cHBpbmcuICBTZWUNCml0cw0KKyAgICAgZGVmaW5pdGlvbiBpbiB0aGUgZGVmaW5pdGlvbiBvZiBx dWlja19zeW1ib2xfZnVuY3Rpb25zIGluDQpzeW1maWxlLmguICAqLw0KKw0KKyAgdm9pZCBleHBh bmRfc3ltdGFic19tYXliZV9vdmVybGFwcGluZyAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsDQor CUNPUkVfQUREUiBzdGFydCwgQ09SRV9BRERSIGVuZCkgb3ZlcnJpZGUNCisgIHsNCisgICAgY29v a2VkX2luZGV4ICppbmRleCA9IHdhaXQgKG9iamZpbGUsIHRydWUpOw0KKw0KKyAgICB1bnJlbG9j YXRlZF9hZGRyIHVucmVsX3N0YXJ0DQorICAgICAgPSB1bnJlbG9jYXRlZF9hZGRyIChzdGFydCAt IG9iamZpbGUtPnRleHRfc2VjdGlvbl9vZmZzZXQgKCkpOw0KKyAgICB1bnJlbG9jYXRlZF9hZGRy IHVucmVsX2VuZA0KKyAgICAgID0gdW5yZWxvY2F0ZWRfYWRkciAoZW5kIC0gb2JqZmlsZS0+dGV4 dF9zZWN0aW9uX29mZnNldCAoKSk7DQorDQorICAgIGZvciAoZHdhcmYyX3Blcl9jdSAqY3UNCisJ ICA6IGluZGV4LT5sb29rdXBfb3ZlcmxhcHBpbmcgKHVucmVsX3N0YXJ0LCB1bnJlbF9lbmQpKQ0K KyAgICAgIHsNCisJZHcyX2luc3RhbnRpYXRlX3N5bXRhYiAoY3UsIGdldF9kd2FyZjJfcGVyX29i amZpbGUgKG9iamZpbGUpLA0KZmFsc2UpOw0KKyAgICAgIH0NCisgIH0NCisNCiAgIGJvb2wgZXhw YW5kX3N5bXRhYnNfbWF0Y2hpbmcNCiAgICAgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLA0KICAg ICAgZXhwYW5kX3N5bXRhYnNfZmlsZV9tYXRjaGVyIGZpbGVfbWF0Y2hlciwNCmRpZmYgLS1naXQg YS9nZGIvZHdhcmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIvcmVhZC5jDQppbmRleCAyZjI3YjdjZmY0 Yy4uOTgxYjRlZDdiY2MgMTAwNjQ0DQotLS0gYS9nZGIvZHdhcmYyL3JlYWQuYw0KKysrIGIvZ2Ri L2R3YXJmMi9yZWFkLmMNCkBAIC0xNjYwLDEyICsxNjYwLDkgQEAgZHcyX2RvX2luc3RhbnRpYXRl X3N5bXRhYiAoZHdhcmYyX3Blcl9jdQ0KKnBlcl9jdSwNCiAgIHBlcl9vYmpmaWxlLT5hZ2VfY29t cF91bml0cyAoKTsNCiB9DQogDQotLyogRW5zdXJlIHRoYXQgdGhlIHN5bWJvbHMgZm9yIFBFUl9D VSBoYXZlIGJlZW4gcmVhZCBpbi4gDQpEV0FSRjJfUEVSX09CSkZJTEUgaXMNCi0gICB0aGUgcGVy LW9iamZpbGUgZm9yIHdoaWNoIHRoaXMgc3ltdGFiIGlzIGluc3RhbnRpYXRlZC4NCi0NCi0gICBS ZXR1cm5zIHRoZSByZXN1bHRpbmcgc3ltYm9sIHRhYmxlLiAgKi8NCisvKiBTZWUgcmVhZC5oLiAg Ki8NCiANCi1zdGF0aWMgc3RydWN0IGNvbXB1bml0X3N5bXRhYiAqDQorY29tcHVuaXRfc3ltdGFi ICoNCiBkdzJfaW5zdGFudGlhdGVfc3ltdGFiIChkd2FyZjJfcGVyX2N1ICpwZXJfY3UsIGR3YXJm Ml9wZXJfb2JqZmlsZQ0KKnBlcl9vYmpmaWxlLA0KIAkJCWJvb2wgc2tpcF9wYXJ0aWFsKQ0KIHsN CkBAIC0xOTI2LDYgKzE5MjMsMTcgQEAgZHdhcmYyX2Jhc2VfaW5kZXhfZnVuY3Rpb25zOjpleHBh bmRfYWxsX3N5bXRhYnMNCihzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkNCiAgICAgfQ0KIH0NCiAN CisvKiBEV0FSRjIgaW5kZXgncyB2ZXJzaW9uIG9mIGV4cGFuZF9zeW10YWJzX21heWJlX292ZXJs YXBwaW5nLiAgU2VlDQppdHMgZGVmaW5pdGlvbg0KKyAgIGluIHRoZSBkZWZpbml0aW9uIG9mIHF1 aWNrX3N5bWJvbF9mdW5jdGlvbnMgaW4gc3ltZmlsZS5oLiAgKi8NCisNCit2b2lkDQorZHdhcmYy X2Jhc2VfaW5kZXhfZnVuY3Rpb25zOjpleHBhbmRfc3ltdGFic19tYXliZV9vdmVybGFwcGluZw0K KyAgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBDT1JFX0FERFIgc3RhcnQsIENPUkVfQUREUiBl bmQpDQorew0KKyAgLyogU2ltcGx5IGV4cGFuZCBhbGwgc3ltdGFicy4gSSBkbyBub3Qga25vdyBo b3cgdG8gZXh0cmFjdCAoaWYgYXQNCmFsbA0KKyAgICAgcG9zc2libGUpIGNvbnNlcnZhdGl2ZSBh ZGRyZXNzIHJhbmdlIGZyb20gZHdhcmYyX3Blcl9jdV9kYXRhLiAgKi8NCisgIGV4cGFuZF9hbGxf c3ltdGFicyAob2JqZmlsZSk7DQorfQ0KIC8qIFNlZSByZWFkLmguICAqLw0KIA0KIGJvb2wNCmRp ZmYgLS1naXQgYS9nZGIvZHdhcmYyL3JlYWQuaCBiL2dkYi9kd2FyZjIvcmVhZC5oDQppbmRleCBh NWNmYjMxNDRmNy4uYTVjYmMxYjBhZTAgMTAwNjQ0DQotLS0gYS9nZGIvZHdhcmYyL3JlYWQuaA0K KysrIGIvZ2RiL2R3YXJmMi9yZWFkLmgNCkBAIC0xMTkyLDYgKzExOTIsOSBAQCBzdHJ1Y3QgZHdh cmYyX2Jhc2VfaW5kZXhfZnVuY3Rpb25zIDogcHVibGljDQpxdWlja19zeW1ib2xfZnVuY3Rpb25z DQogDQogICB2b2lkIGV4cGFuZF9hbGxfc3ltdGFicyAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUp IG92ZXJyaWRlOw0KIA0KKyAgdmlydHVhbCB2b2lkIGV4cGFuZF9zeW10YWJzX21heWJlX292ZXJs YXBwaW5nIChzdHJ1Y3Qgb2JqZmlsZQ0KKm9iamZpbGUsDQorCUNPUkVfQUREUiBzdGFydCwgQ09S RV9BRERSIGVuZCkgb3ZlcnJpZGU7DQorDQogICBzdHJ1Y3QgY29tcHVuaXRfc3ltdGFiICpmaW5k X3BjX3NlY3RfY29tcHVuaXRfc3ltdGFiDQogICAgIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwg Ym91bmRfbWluaW1hbF9zeW1ib2wgbXN5bWJvbCwNCiAgICAgIENPUkVfQUREUiBwYywgc3RydWN0 IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgd2Fybl9pZl9yZWFkaW4pDQpAQCAtMTMyNyw0ICsx MzMwLDEzIEBAIGV4dGVybiBpbnQgZHdhcmYyX3Jhbmdlc19yZWFkICh1bnNpZ25lZCBvZmZzZXQs DQp1bnJlbG9jYXRlZF9hZGRyICpsb3dfcmV0dXJuLA0KIGV4dGVybiBmaWxlX2FuZF9kaXJlY3Rv cnkgJmZpbmRfZmlsZV9hbmRfZGlyZWN0b3J5IChkaWVfaW5mbyAqZGllLA0KIAkJCQkJCSAgICBk d2FyZjJfY3UgKmN1KTsNCiANCisvKiBFbnN1cmUgdGhhdCB0aGUgc3ltYm9scyBmb3IgUEVSX0NV IGhhdmUgYmVlbiByZWFkIGluLiANCkRXQVJGMl9QRVJfT0JKRklMRSBpcw0KKyAgIHRoZSBwZXIt b2JqZmlsZSBmb3Igd2hpY2ggdGhpcyBzeW10YWIgaXMgaW5zdGFudGlhdGVkLg0KKw0KKyAgIFJl dHVybnMgdGhlIHJlc3VsdGluZyBzeW1ib2wgdGFibGUuICAqLw0KKw0KK2V4dGVybiBjb21wdW5p dF9zeW10YWIgKg0KK2R3Ml9pbnN0YW50aWF0ZV9zeW10YWIgKGR3YXJmMl9wZXJfY3UgKnBlcl9j dSwgZHdhcmYyX3Blcl9vYmpmaWxlDQoqcGVyX29iamZpbGUsDQorCQkJYm9vbCBza2lwX3BhcnRp YWwpOw0KKw0KICNlbmRpZiAvKiBHREJfRFdBUkYyX1JFQURfSCAqLw0KZGlmZiAtLWdpdCBhL2dk Yi9vYmpmaWxlcy5oIGIvZ2RiL29iamZpbGVzLmgNCmluZGV4IDRhMzQ3NTg2MmE5Li4wMjA2YjQ5 ZTAwYyAxMDA2NDQNCi0tLSBhL2dkYi9vYmpmaWxlcy5oDQorKysgYi9nZGIvb2JqZmlsZXMuaA0K QEAgLTU5Nyw2ICs1OTcsOSBAQCBzdHJ1Y3Qgb2JqZmlsZSA6IGludHJ1c2l2ZV9saXN0X25vZGU8 b2JqZmlsZT4NCiAgICAgIGNvZGUsIGUuZy4sIERXX1RBR190eXBlX3VuaXQgZm9yIGR3YXJmIGRl YnVnIGluZm8uICAqLw0KICAgdm9pZCBleHBhbmRfc3ltdGFic193aXRoX2Z1bGxuYW1lIChjb25z dCBjaGFyICpmdWxsbmFtZSk7DQogDQorICAvKiBTZWUgcXVpY2tfc3ltYm9sX2Z1bmN0aW9ucy4g ICovDQorICB2b2lkIGV4cGFuZF9zeW10YWJzX21heWJlX292ZXJsYXBwaW5nIChDT1JFX0FERFIg c3RhcnQsIENPUkVfQUREUg0KZW5kKTsNCisNCiAgIC8qIFNlZSBxdWlja19zeW1ib2xfZnVuY3Rp b25zLiAgKi8NCiAgIGJvb2wgZXhwYW5kX3N5bXRhYnNfbWF0Y2hpbmcNCiAgICAgKGV4cGFuZF9z eW10YWJzX2ZpbGVfbWF0Y2hlciBmaWxlX21hdGNoZXIsDQpkaWZmIC0tZ2l0IGEvZ2RiL3BzeW10 YWIuYyBiL2dkYi9wc3ltdGFiLmMNCmluZGV4IDk4NmVmNDRmNmM3Li5kNDBhZmQ1ODc3ZiAxMDA2 NDQNCi0tLSBhL2dkYi9wc3ltdGFiLmMNCisrKyBiL2dkYi9wc3ltdGFiLmMNCkBAIC0zNiw2ICsz Niw3IEBADQogI2luY2x1ZGUgPGFsZ29yaXRobT4NCiAjaW5jbHVkZSA8c2V0Pg0KICNpbmNsdWRl ICJnZGJzdXBwb3J0L2J1aWxkYXJndi5oIg0KKyNpbmNsdWRlICJnZGJzdXBwb3J0L3JhbmdlLmgi DQogDQogc3RhdGljIGNvbnN0IHN0cnVjdCBwYXJ0aWFsX3N5bWJvbCAqbG9va3VwX3BhcnRpYWxf c3ltYm9sDQogICAgICAoc3RydWN0IG9iamZpbGUgKiwgc3RydWN0IHBhcnRpYWxfc3ltdGFiICos IGNvbnN0DQpsb29rdXBfbmFtZV9pbmZvICYsDQpAQCAtNzMxLDYgKzczMiwyNiBAQCBwc3ltYm9s X2Z1bmN0aW9uczo6ZXhwYW5kX2FsbF9zeW10YWJzIChzdHJ1Y3QNCm9iamZpbGUgKm9iamZpbGUp DQogICAgIHBzeW10YWJfdG9fc3ltdGFiIChvYmpmaWxlLCBwc3ltdGFiKTsNCiB9DQogDQorLyog UHN5bXRhYiB2ZXJzaW9uIG9mIGV4cGFuZF9zeW10YWJzX21heWJlX292ZXJsYXBwaW5nLiAgU2Vl IGl0cw0KZGVmaW5pdGlvbiBpbg0KKyAgIHRoZSBkZWZpbml0aW9uIG9mIHF1aWNrX3N5bWJvbF9m dW5jdGlvbnMgaW4gc3ltZmlsZS5oLiAgKi8NCisNCit2b2lkDQorcHN5bWJvbF9mdW5jdGlvbnM6 OmV4cGFuZF9zeW10YWJzX21heWJlX292ZXJsYXBwaW5nDQorICAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUsIENPUkVfQUREUiBzdGFydCwgQ09SRV9BRERSIGVuZCkNCit7DQorICBmb3IgKHBhcnRp YWxfc3ltdGFiICpwc3ltdGFiIDogcGFydGlhbF9zeW1ib2xzIChvYmpmaWxlKSkNCisgICAgew0K KyAgICAgIGlmIChwc3ltdGFiLT50ZXh0X2xvd192YWxpZCAmJiBwc3ltdGFiLT50ZXh0X2hpZ2hf dmFsaWQpDQorCXsNCisJICBDT1JFX0FERFIgdGV4dF9sb3cgPSBwc3ltdGFiLT50ZXh0X2xvdyAo b2JqZmlsZSk7DQorCSAgQ09SRV9BRERSIHRleHRfaGlnaCA9IHBzeW10YWItPnRleHRfaGlnaCAo b2JqZmlsZSk7DQorDQorCSAgaWYgKHJhbmdlc19vdmVybGFwIChzdGFydCwgZW5kLCB0ZXh0X2xv dywgdGV4dF9oaWdoKSkNCisJICAgIHBzeW10YWJfdG9fc3ltdGFiIChvYmpmaWxlLCBwc3ltdGFi KTsNCisJfQ0KKyAgICB9DQorfQ0KKw0KIC8qIFBzeW10YWIgdmVyc2lvbiBvZiBtYXBfc3ltYm9s X2ZpbGVuYW1lcy4gIFNlZSBpdHMgZGVmaW5pdGlvbiBpbg0KICAgIHRoZSBkZWZpbml0aW9uIG9m IHF1aWNrX3N5bWJvbF9mdW5jdGlvbnMgaW4gc3ltZmlsZS5oLiAgKi8NCiANCmRpZmYgLS1naXQg YS9nZGIvcHN5bXRhYi5oIGIvZ2RiL3BzeW10YWIuaA0KaW5kZXggYWQwYjJmZjQyMzQuLjhhOGVh NzM4YmJkIDEwMDY0NA0KLS0tIGEvZ2RiL3BzeW10YWIuaA0KKysrIGIvZ2RiL3BzeW10YWIuaA0K QEAgLTYyNiw2ICs2MjYsOSBAQCBzdHJ1Y3QgcHN5bWJvbF9mdW5jdGlvbnMgOiBwdWJsaWMNCnF1 aWNrX3N5bWJvbF9mdW5jdGlvbnMNCiANCiAgIHZvaWQgZXhwYW5kX2FsbF9zeW10YWJzIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSkgb3ZlcnJpZGU7DQogDQorICB2aXJ0dWFsIHZvaWQgZXhwYW5k X3N5bXRhYnNfbWF5YmVfb3ZlcmxhcHBpbmcgKHN0cnVjdCBvYmpmaWxlDQoqb2JqZmlsZSwNCisJ Q09SRV9BRERSIHN0YXJ0LCBDT1JFX0FERFIgZW5kKSBvdmVycmlkZTsNCisNCiAgIGJvb2wgZXhw YW5kX3N5bXRhYnNfbWF0Y2hpbmcNCiAgICAgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLA0KICAg ICAgZXhwYW5kX3N5bXRhYnNfZmlsZV9tYXRjaGVyIGZpbGVfbWF0Y2hlciwNCmRpZmYgLS1naXQg YS9nZGIvcXVpY2stc3ltYm9sLmggYi9nZGIvcXVpY2stc3ltYm9sLmgNCmluZGV4IDlkYjFmMTg2 MGNiLi44OTlmMmYyMjIzOSAxMDA2NDQNCi0tLSBhL2dkYi9xdWljay1zeW1ib2wuaA0KKysrIGIv Z2RiL3F1aWNrLXN5bWJvbC5oDQpAQCAtMTMwLDYgKzEzMCwxMSBAQCBzdHJ1Y3QgcXVpY2tfc3lt Ym9sX2Z1bmN0aW9ucw0KICAgLyogUmVhZCBhbGwgc3ltYm9sIHRhYmxlcyBhc3NvY2lhdGVkIHdp dGggT0JKRklMRS4gICovDQogICB2aXJ0dWFsIHZvaWQgZXhwYW5kX2FsbF9zeW10YWJzIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSkgPSAwOw0KIA0KKyAgLyogUmVhZCBhbGwgc3ltYm9sIHRhYmxl cyBhc3NvY2lhdGVkIHdpdGggT0JKRklMRSB3aGljaCBtYXkgb3ZlcmxhcA0KKyAgICAgd2l0aCBy YW5nZSBbU1RBUlQsIEVORCkuICAqLw0KKyAgdmlydHVhbCB2b2lkIGV4cGFuZF9zeW10YWJzX21h eWJlX292ZXJsYXBwaW5nIChzdHJ1Y3Qgb2JqZmlsZQ0KKm9iamZpbGUsDQorCUNPUkVfQUREUiBz dGFydCwgQ09SRV9BRERSIGVuZCkgPSAwOw0KKw0KICAgLyogRXhwYW5kIGFsbCBzeW1ib2wgdGFi bGVzIGluIE9CSkZJTEUgbWF0Y2hpbmcgc29tZSBjcml0ZXJpYS4NCiANCiAgICAgIElmIExBTkdf TUFUQ0hFUiByZXR1cm5zIGZhbHNlLCBleHBhbnNpb24gb2YgdGhlIHN5bWJvbCB0YWJsZSBtYXkN CmJlDQpkaWZmIC0tZ2l0IGEvZ2RiL3N5bWZpbGUtZGVidWcuYyBiL2dkYi9zeW1maWxlLWRlYnVn LmMNCmluZGV4IDljNWNlODVkMjZlLi45MDBkMWJmOTBlMiAxMDA2NDQNCi0tLSBhL2dkYi9zeW1m aWxlLWRlYnVnLmMNCisrKyBiL2dkYi9zeW1maWxlLWRlYnVnLmMNCkBAIC0zNDMsNiArMzQzLDIy IEBAIG9iamZpbGU6OmV4cGFuZF9hbGxfc3ltdGFicyAoKQ0KICAgICBpdGVyLT5leHBhbmRfYWxs X3N5bXRhYnMgKHRoaXMpOw0KIH0NCiANCisvKiBTZWUgb2JqZmlsZXMuaC4gICovDQorDQordm9p ZA0KK29iamZpbGU6OmV4cGFuZF9zeW10YWJzX21heWJlX292ZXJsYXBwaW5nIChDT1JFX0FERFIg c3RhcnQsIENPUkVfQUREUg0KZW5kKQ0KK3sNCisgIGlmIChkZWJ1Z19zeW1maWxlKQ0KKyAgICBn ZGJfcHJpbnRmIChnZGJfc3RkbG9nLA0KKwkJInFmLT5leHBhbmRfc3ltdGFic19tYXliZV9vdmVy bGFwcGluZyAoJXMsICVzLCAlcylcbiIsDQorCQlvYmpmaWxlX2RlYnVnX25hbWUgKHRoaXMpLA0K KwkJaGV4X3N0cmluZyAoc3RhcnQpLA0KKwkJaGV4X3N0cmluZyAoZW5kKSk7DQorDQorICBmb3Ig KGNvbnN0IGF1dG8gJml0ZXIgOiBxZikNCisgICAgaXRlci0+ZXhwYW5kX3N5bXRhYnNfbWF5YmVf b3ZlcmxhcHBpbmcgKHRoaXMsIHN0YXJ0LCBlbmQpOw0KK30NCisNCiB2b2lkDQogb2JqZmlsZTo6 ZXhwYW5kX3N5bXRhYnNfd2l0aF9mdWxsbmFtZSAoY29uc3QgY2hhciAqZnVsbG5hbWUpDQogew0K ZGlmZiAtLWdpdCBhL2dkYnN1cHBvcnQvcmFuZ2UuaCBiL2dkYnN1cHBvcnQvcmFuZ2UuaA0KbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi5iNjY1OTQzY2ZkMw0KLS0tIC9k ZXYvbnVsbA0KKysrIGIvZ2Ric3VwcG9ydC9yYW5nZS5oDQpAQCAtMCwwICsxLDM1IEBADQorLyog Q29weXJpZ2h0IChDKSAyMDI1LTIwMjUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQor DQorICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLg0KKw0KKyAgIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCm1vZGlmeQ0KKyAg IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkDQpieQ0KKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yDQorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4NCisNCisgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KKyAgIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCisgICBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKw0KKyAgIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl DQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZQ0KPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LiAgKi8NCisNCisjaWZuZGVmIEdEQlNVUFBPUlRfUkFOR0VfSA0K KyNkZWZpbmUgR0RCU1VQUE9SVF9SQU5HRV9IDQorDQorLyogUmV0dXJuIHRydWUgaWYgZ2l2ZW4g cmFuZ2VzIFtBTCwgQUgpIGFuZCBbQkwsIEJIKSBvdmVybGFwLiAgUmV0dXJuDQpmYWxzZQ0KKyAg IG90aGVyd2lzZS4gICovDQorDQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+DQorYm9vbCByYW5nZXNf b3ZlcmxhcCAoVCBhbCwgVCBhaCwgVCBibCwgVCBiaCkNCit7DQorICBzdGF0aWNfYXNzZXJ0IChz dGQ6OmlzX2ludGVncmFsPFQ+Ojp2YWx1ZSwgIkludGVncmFsIHR5cGUNCnJlcXVpcmVkIik7DQor DQorICBnZGJfYXNzZXJ0IChhbCA8PSBhaCk7DQorICBnZGJfYXNzZXJ0IChibCA8PSBiaCk7DQor DQorICByZXR1cm4gIShhaCA8PSBibCB8fCBiaCA8PSBhbCk7DQorfQ0KKw0KKyNlbmRpZiAvKiBH REJTVVBQT1JUX1JBTkdFX0ggKi8NCi0tIA0KMi40Ny4yDQo=