From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 5240A4CDE0 for <ffmpegdev@gitmailbox.com>; Mon, 14 Apr 2025 11:50:42 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CC96B687C56; Mon, 14 Apr 2025 14:50:38 +0300 (EEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10olkn2084.outbound.protection.outlook.com [40.92.42.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 855B3687A17 for <ffmpeg-devel@ffmpeg.org>; Mon, 14 Apr 2025 14:50:31 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JjZvJXw2C6+RoyGriPM1TpVtt6w/HRH7T8NPLFAuuJutAu2un5r4Hh9ytVfFYLcm3Jv2wOZSMk9uNCf/Pp2BgoR0FIkCYHS3ELxOCovkhH85m/AbzeCQNwYXyByEfPnTLhGyGpdKgQEtk6VO1kQVE2RDKHrra7p5tzJz40xF2hfSHMo61Xdkw/0wK/pUPnpWxqYij5zRYHnYCAbfyRWcJ8pZBQGCUwvTA8OJPyPIOT3neKwnFisu3aausgkpP7CL8AD9eTYQTYMDMCNYuezmyxJHYAjABt2BjCkpQdsGV4OO4GiQdc+h+DZ3RGyFZxrpiQv3wLlkYW8cX7gIV79XtA== 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=VIlh+Y5QOLHCIUz6ot73yzSwQnDGTsJGiPE7s6dPCwI=; b=wPS3onPcp9uLeu/RnVP3PrNnh1KoM30NR0VKbCMO7Pi6hxJRtu7O50PuiVPSW5X8X3P3qcxYsKP5sz8+4xJX1GOqZv83cQLu+0NhISkbP22DBe4SMC7pmEgoA+hefEt0TVmpAdstamZteFtbnh5QdXcSdyh1cgJUZbHi7+7CIdnQV7v6V80FVbCyzKeTqP3qf1nebgnrN4PCYr7aIIstbGLeu7puEU3tm7COju4ZzgLAUjMzkLH05L3xsXuNqQ6rQRjiQyhM2y5xzpUrVNg6/OPu/ZhxjNWS5ejKMiLW0YsnOXOEJN24CnFz0IORThBYEIsY3dn4V6gEzrwfvQco0g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VIlh+Y5QOLHCIUz6ot73yzSwQnDGTsJGiPE7s6dPCwI=; b=GTK38+v5juktR30xyYnK/aGqSodSiM03qS8y9RrnrYWRBvjjycbvAR4H34C+rV4Z9cCUaGPaLOiIfH6AiAFq8B2emxyQbONWynlkFtU2u7zORoU6V1yhSjHUYtwez0ZOTrGFIuGoAaGHP/oe1a+SQiQLZmSmOqX5y5RRk/UbFl+zz3ZkNMsU5aI+tDzihYxgNEA6GhPXcOGiqwZGmJzAzWvZIIzYv0vA9fRkmRraTTQeHeThCtZGscPWW8a9PvREQmZYrVZYFolFzhK1Y4p3YixUakm8GSgVJDDOUT05MlDjCVdoi21qUvbdN0SrjbUzRXB57aSPSgZ/Q+KSFjlCqw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by MN0P223MB1232.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:4c0::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.32; Mon, 14 Apr 2025 11:50:27 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::bf09:8e9:b07f:98a7%4]) with mapi id 15.20.8632.030; Mon, 14 Apr 2025 11:50:27 +0000 From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Thread-Topic: [FFmpeg-devel] [PATCH 0/3] avutil/dict2: Add AVDictionary2 with hash-based lookup Thread-Index: AQHbq71AMwtkGM2oAUaBSeynTcDinrOjAdQAgAAKVOA= Date: Mon, 14 Apr 2025 11:50:26 +0000 Message-ID: <DM8P223MB036568A6BBF47FCE7E4948BDBAB32@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> References: <pull.64.ffstaging.FFmpeg.1744470718.ffmpegagent@gmail.com> <Z_zrLLO1fUUZxDAI@phare.normalesup.org> In-Reply-To: <Z_zrLLO1fUUZxDAI@phare.normalesup.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|MN0P223MB1232:EE_ x-ms-office365-filtering-correlation-id: 3021073e-14a3-42ab-fe8d-08dd7b4a8c75 x-microsoft-antispam: BCL:0; ARA:14566002|8062599003|8060799006|19110799003|15080799006|7092599003|461199028|3412199025|440099028|102099032; x-microsoft-antispam-message-info: =?utf-8?B?UnR5NXdwNUdRYkRXeG0ray80U1QzSlN0dWkzMGRQbXlYNWRyZzhNbnNIQW43?= =?utf-8?B?RmFOSU1Hdzc4bnVDa2NjT0FtQWNERmdyVFlXOWtjVS9rUWUweFplS0FuSStv?= =?utf-8?B?b3pWK2dlbTM4UjYycC9LUTM1N25IV0pPMUJ6dFh3WENadW8xcFpIVFJ1cE1y?= =?utf-8?B?dStXUFQrTXpNVk5OT1F0bVYvRklxTWxzcDFVTHRUa2VRNDVuL0I2UzNSb0ph?= =?utf-8?B?anVJUVlTek5jdmh3bWpNeWpiMUtEVXNncFJoOVY1eFUvSGR3UU1FT0dGTU5v?= =?utf-8?B?N2pMSU1jYzNxckdsejh6WVAyOXNQQ2NyTHhhOEt3RmVZY0tPUGUyaXRWeXNJ?= =?utf-8?B?UWtvWk8zNjIvM1NOcURFV0ZGSk43cnZhMTlBa0U3MjgxaUlNTVNCUTBzVWRK?= =?utf-8?B?dHcxREdEUisvdXRnK0xIZHZhL0d1RCtIbTVKU1RaRTkvOE1EWkVPcVU0SFhL?= =?utf-8?B?d0NyYmV2L1gwWnVTcXRLeUEvT0cyZjdNS3Q0V3FkZTZwOFVUWEd3a3ZnTFNi?= =?utf-8?B?Skh1TEFjYzlRVVFaclpJZ2ZYd0ZkSXZodk1HbWRESW1tVEs0NTViMFY2SXdG?= =?utf-8?B?eTUrNDhKb3VZcW9wY3plb2h6Ym9WWXR5Z2JnTG1La0FacEV1SFZhVldxN2ky?= =?utf-8?B?K3ptRlgrajFrQ0MyT29idEJNSG5SWDh1R2FmN2RObHg3RHdNaUQwMHcwMDFa?= =?utf-8?B?KzBNMFhCbDBiVEJmMk4rdXpSVVBrTVdFbUx0ZjExSGJrZ09YYnZiS3RHQVFY?= =?utf-8?B?aHBUUU95MzFpTlJ1R1ptbk16Yi9leWdVeEc1eENmTFJid1pZRGdVZGNNK1BF?= =?utf-8?B?YzNHZUR4OXJpWmpBbmFYUFpuZGJQbkhtb2EwbittMTVxV1FFVStkdGhIREtu?= =?utf-8?B?dGlHQitLK0FnWTVkbFMya3FrdkpQK2hkRmwyc3V4WlRxSElTUUFyYTIvbkxx?= =?utf-8?B?ZExFTWkramh2cFFvbDk5anRNZnVhU0tJRTVaZlpYNERYTzZwcXJWT3JOQlRU?= =?utf-8?B?QVM4aHRSR2VLNzZHTDhDMHRtL1p5UnZDQ1l4anc0UUdsbnhjQVdicTlTZ3Bj?= =?utf-8?B?L0luRjF3REphdFY1cTJ6M2QrcDZ2dnkvclFEalpCc1A1T1hwb3dWUzZBeDcx?= =?utf-8?B?R1RqckdGeFNnZDRxVEhtTkl5cVg1S3B0U0JFWkJoTm1ZbWh3bTVJOUNjRWV2?= =?utf-8?B?ektsTXlhci8xNXVIOUxQbW9ZdEVYZEFZMUV3am5jZXFNNlhRWW15aFkzYVZR?= =?utf-8?B?Lzc0WnNsQkljSVVHSkNPZ002ZW9HSmh2VjB4WjQ3elBVWlgwU0ZXeFdleE4y?= =?utf-8?B?Y0dabm9jbmlYSjJ0c05xSTVCTXRNZU5ESFNnaWpteE1uNW83OTBjUHNRNEtr?= =?utf-8?B?R3FvMVV3bmFZY0NwWnI4N2VveU9vTE1pSlNkZFRoOEFTNWNmMWs2NUx4NEtn?= =?utf-8?B?UkRoWXI1UkJzK1d4cjNPVXZUbzY4TkdMRTdPQ2xXSFRGc1BPaG90YkMvNFRl?= =?utf-8?Q?iAM72s=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a3BuM25hbUlDK0NrVmh1WTVpR01Zd0MwUE9EMG8zV0tLQ2t1Uk0zaEZGQmo4?= =?utf-8?B?YXFDYi9DbG1vR3VNa0EreFFGUDB4aUFqaHlrQ09aQmpmNTRnQ2JiSFY1RGxE?= =?utf-8?B?bjlRaFJkWW9EU1J6bXZYN0NlVE1MS09XMDJoWG1NNHJkUGF0R25GaGJrUElx?= =?utf-8?B?Z2Z2aVI3WkxsUFkxby85VTdaalp1Zi9zOElsRktpbGdNc0tzMTFkV2VrcmFa?= =?utf-8?B?dmpKUzI1SW1JYTJybm1IeTdKVVArdHUyczNZVi9xMytqcnNmMGFSRGYzSXR5?= =?utf-8?B?VTNacGFlNjJxQVFnL1lmVlltSkhOWHMxNWZZMTdTSDF0LzIwYmtSUnJlTFBu?= =?utf-8?B?aHJ2eGNTQXRoamdNTXBEMklHTGJKRnIrUnlMdzFoS0J3TUJlTkI2NG9lb2tZ?= =?utf-8?B?NWZ2b0YrMmE1WEZZanQwNlIzNWRHV3lCWUlmcDdHZDhlMlhiRzhYRUJMMXlt?= =?utf-8?B?QUhjek1GZFdIMjd0MFdVWkRVSXcvWlM4QUlDcjdvbk1XemIxSzNXMmczc3Ur?= =?utf-8?B?TjBRUytwcjk1cVFvQjdxWkhwcEdKanFUUXcvVkoxdVpHc09TNG9sZUlNSWpO?= =?utf-8?B?ZEJvdDFCQlA2UFpObEd0dzhrV0p1NVlRK1VseEQ1RHJKeUU1Tm96SnlxSEs1?= =?utf-8?B?bTJRTnM0aXloWDR4bitJMERIZEQwU3UyL1RDTTBMaHJVK1Y4dVV1Y0RPbVB4?= =?utf-8?B?U0dhZ29TKzhRM1FvcFA4cTdFMElZQ0MvUytPOXdzYlZ6NlovT1cwNUdHcTh4?= =?utf-8?B?VUpXeHFPRXpkbXVrYmxRTGVoUWFUZkNSRU9vRXpvdC8xNTVmR0FoQXRkTXdE?= =?utf-8?B?K29Lak1rb0p1VXQxSEJGekpvc1hFN2hsNHZaOFRDUXJYaWtlcnVuS0hyKzBu?= =?utf-8?B?UkZSTmEyS2F3OFltVGozdldvc29DNjJpQm9yYkFWWmZKY3puWnNvZGFjVnIw?= =?utf-8?B?UksxWklVMGR1S2dPWEt5eDA4QTNxUkJySFQxeThwcXlrcVBKc3RBYWNvWkVK?= =?utf-8?B?OHFTOVVoaFNCdEoyd2ZJT2MwQXpnZWdQQjRnK2tFM3JrVSttYm9xNGNrSnU0?= =?utf-8?B?ampOL2lBRzhqRVBWc0tLVUQrd2gwc0pid1FaQVlrQ1VkRThHdkVGdlhQWmhQ?= =?utf-8?B?QVBZUkhkOVJHYWtQN1BNWXVOdEFDelZuNVNOcmd6MnBLM2pHeGtmMmt0VGdm?= =?utf-8?B?SHI0OGp0Unp4ZFZWNFUrTFJsUjVVZHdxdWduUjRQV1ZTSGR1eW0vb2xoV2h2?= =?utf-8?B?MjRvcmNqNTdLZGxST0hkaWd0eERMUU5Ea2Z5aXBGM3hyUVZzU3dTNEdPeUFP?= =?utf-8?B?WEd1eEppajRLZ05lNTNFaEsrL3hrU2ZaZmR5U0JBOHd6cjYwSTBybWtHL2Ur?= =?utf-8?B?RGU0ZkQzdTFVckdTdUFpK2xTN2pIVFVrY0dXRnNxclgxb0dFcC93K1phRkg1?= =?utf-8?B?NllibTRoYkpFU2hQUkp6UzRwdlVGakxNaDJ2R3gwR2xpa1F6dFg5T0xydFVk?= =?utf-8?B?dFU4RGpDLzNteEV0Y2Q3YTNERTB3MXBISGc3SVBBMXlSQnMyV2M4aWNyUldN?= =?utf-8?B?UktNTm1IY0I3Vm9ZRUFkUWpqZTFFaGR4K1ZBWUJ3WDZvWEF2Z05zOFdVS2dC?= =?utf-8?Q?D4ll1ZEOtm7OO3OagLE5QiHEO3HTnGqYH9J0PIBsPd8A=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-92255.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 3021073e-14a3-42ab-fe8d-08dd7b4a8c75 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2025 11:50:27.0289 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0P223MB1232 Subject: Re: [FFmpeg-devel] [PATCH 0/3] avutil/dict2: Add AVDictionary2 with hash-based lookup X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/DM8P223MB036568A6BBF47FCE7E4948BDBAB32@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZmZtcGVnLWRldmVsIDxm Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gTmljb2xhcyBH ZW9yZ2UNCj4gU2VudDogTW9udGFnLCAxNC4gQXByaWwgMjAyNSAxMzowMg0KPiBUbzogRkZtcGVn IGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxmZm1wZWctDQo+IGRldmVsQGZm bXBlZy5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggMC8zXSBhdnV0 aWwvZGljdDI6IEFkZA0KPiBBVkRpY3Rpb25hcnkyIHdpdGggaGFzaC1iYXNlZCBsb29rdXANCj4g DQo+IGZmbXBlZ2FnZW50IChIRTEyMDI1LTA0LTEyKToNCj4gPiBUaGlzIHdob2xlIHBhdGNoc2V0 IGhhcyBiZWVuIGFudGlyZWx5IGF1dGhvcmVkIGJ5IEFJLCB3aWNoIG1lYW5zDQo+IHRoYXQgSQ0K PiA+IGhhdmVuJ3Qgd3JpdHRlbiBhIHNpbmdsZSBsaW5lIG9mIGNvZGUuDQo+IA0KPiBZb3UgaGF2 ZSBnb3QgdG8gYmUga2lkZGluZy4gQW5kIG5vdCBqdXN0IGJlY2F1c2UgeW91IHdhc3RlIGV2ZXJ5 Ym9keSdzDQo+IHRpbWUgc3VibWl0dGluZyBhIHNlcmllcyBvZiBidWxsc2hpdCBjb2RlLCBidXQg YnkgdGhlIGZhY3QgdGhhdCB5b3UNCj4gZGlkDQo+IGl0IGluIHRoZSBmaXJzdCBwbGFjZSwgd2hl dGhlciBBSSBvciB5b3Vyc2VsZi4NCj4gDQo+IFBsZWFzZSByZWFsaXplIHRoYXQgTWljaGFlbCBh bmQgSSBoYXZlIGJhcmVseSBiZWd1biB0byBkaXNjdXNzIHRoZQ0KPiBxdWFsaXRhdGl2ZSBlbmhh bmNlbWVudHMgd2UgY291bGQgZ2V0IGZyb20gYSByZXdyaXRlIG9mIHRoZSBkaWN0aW9uYXJ5DQo+ IEFQSS4gQW5kIGFmdGVyIGp1c3QgYSBmZXcgaG91cnMsIHlvdSBzdWJtaXQgYSBzZXJpZXMgdGhh dCBpbXBsZW1lbnRz4oCmDQo+IG5vbmUgb2YgdGhlbS4NCj4gDQo+IENvZGluZyBpcyB0aGUgZWFz aWVzdCBwYXJ0IG9mIGRldmVsb3BpbmcuIEl0IGNvbWVzIGF0IHRoZSBlbmQgb2YgYQ0KPiBsb25n DQo+IG1hdHVyYXRpb24gcGVyaW9kLiBQZW9wbGUgY2FuIGdldCB0byBjb2RpbmcgcmlnaHQgYXdh eSBsaWtlIHlvdSBkaWQNCj4gd2hlbg0KPiB0aGV5IGFyZSBkdXRpZnVsbHkgZXhlY3V0aW5nIHRo ZSBvcmRlcnMgb2Ygd2hvZXZlciBkaWQgdGhlIHRoaW5raW5nDQo+IGZpcnN0LCBvciB3aGVuIHRo ZXkgZG8gYSBzY2hvb2wgcHJvamVjdCB0aGF0IHRoZSB0ZWFjaGVyIGVzdGltYXRlZCB3YXMNCj4g ZG9hYmxlLCBidXQgY2VydGFpbmx5IG5vdCB3aGVuIGRvaW5nIG5vbi10cml2aWFsIHRoaW5ncyBv biBhbiBlbGl0ZQ0KPiBwcm9qZWN0IGxpa2UgRkZtcGVnLCBhbmQgZXZlbiBsZXNzIHdoZW4gdHJ5 aW5nIGZvciBhIHB1YmxpYyBBUEkgd2hlcmUNCj4gbWlzdGFrZXMgYml0ZSB1cyBmb3IgeWVhcnMu DQo+IA0KPiBBbHNvLCB0byBhbnN3ZXIgYSBxdWVzdGlvbiBpbiBhbm90aGVyIG1haWwsIGluIGNh c2UgeW91IGhhdmUgbm90DQo+IGZpZ3VyZWQNCj4gb3V0IGJ5IHlvdXJzZWxmOg0KPiANCj4gPiBJ J20gbm90IHN1cmUgd2hldGhlciB0aGVyZSBhcmUgbWFueSB1c2FnZXMgb2YgQVZEaWN0aW9uYXJ5 IHdoZXJlDQo+IHN0YWNrDQo+ID4gYWxsb2NhdGlvbiB3b3VsZCBiZSBmZWFzaWJsZSBvciBhZHZh bnRhZ2VvdXMgb3ZlciB0aGUgY3VycmVudCB3YXkgb2YNCj4gPiAibGF6eSBpbml0IG9uIGZpcnN0 IHVzZSIsIG5vPw0KPiANCj4gSSBkYXJlIHNheSB0aGF0IHRoZSBhYmlsaXR5IHRvIGNyZWF0ZSB0 aGUgZGljdGlvbmFyeSBmb3INCj4gYXZjb2RlY19vcGVuMigpDQo+IG9yIGZvciB0aGUgdGl0bGUv YXJ0aXN0L2FsYnVtIG9mIGFuIGF1ZGlvIGZpbGUgd2l0aG91dCBkeW5hbWljDQo+IGFsbG9jYXRp b24gYW5kIGVycm9yIGNoZWNrcyBpcyBpbXBvcnRhbnQuIEkgd2lsbCBnbyBhcyBmYXIgYXMgc2F5 aW5nDQo+IHRoYXQgaXQgaXMgb3JkZXJzIG9mIG1hZ25pdHVkZSBtb3JlIGltcG9ydGFudCB0aGFu IHRoZSBhc3ltcHRvdGljDQo+IHBlcmZvcm1hbmNlLg0KPiANCj4gQXMgb2YgZmVhc2liaWxpdHks IGl0IGxvb2tzIHRvIG1lIGxpa2UgYW4gZWFzeSB0YXNrLg0KPiANCj4gSSB3b3VsZCBsaWtlIHRv IGdpdmUgdGhlIGZyaWVuZGx5IGFkdmljZSB0byBsZWFybiB0byB3YWxrIGJlZm9yZQ0KPiBhbm5v eWluZyBwZW9wbGUgd2hvIGFyZSB0YWxraW5nIGFib3V0IHRoZSBiZXN0IHdheSB0byBydW4gYSBt YXJhdGhvbg0KPiAoYQ0KPiByZWFsIG9uZSwgaW4gZnVsbCBhcm1vciB3aXRoIFBlcnNpYW5zIG9u IHRoZSBoZWVscyksIGJ1dCBpbiB0aGlzIGRheQ0KPiBhbmQNCj4gYWdlIHRoYXQgd291bGQgY2F1 c2UgaGFsZiBhIGRvemVuIHBlb3BsZSB0byBtYWlsIHRoZSBjb21tdW5pdHkNCj4gY29tbWl0dGVl LCBzbyBwbGVhc2UgcmVhZCB0aGlzIGFzIGp1c3QgdGhlIGV4cHJlc3Npb24gb24gbXkgb3duDQo+ IGZydXN0cmF0aW9uIGluIHRoZSBmYWNlIG9mIHdoYXQgSSBwZXJjZWl2ZSBhcyBjbHVlbGVzcyBj b21tZW50cyBpbg0KPiBzZXJpb3VzIGRpc2N1c3Npb25zLg0KPiANCj4gLS0NCj4gICBOaWNvbGFz IEdlb3JnZQ0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0KDQoNCkhpIE5pY29sYXMsDQoNCkkgd29uJ3QgZXZlbiByZXNwb25kIHRvIGFsbCB0aG9zZSBm bG93ZXJ5IHZhcmlhdGlvbnMgb2YgZXhwcmVzc2luZyB5b3VyIG93biBncmVhdG5lc3MgaW4gcmVs YXRpb24gdG8gb3RoZXJzIC0gSSBkb24ndCBiZWxpZXZlIHRoYXQgdGhlcmUncyBhbnkgYXVkaWVu Y2UgaGVyZSB3aGljaCB3aWxsIGZhbGwgZm9yIHN1Y2ggbmHDr3ZlIHJoZXRvcmljLg0KDQpPbiB0 aGUgc3ViamVjdCAtIGl0J3MgYXMgc2ltcGxlIGFzIHRoYXQ6DQoNCk1pY2hhZWwgc2FpZCBoZSB3 b24ndCB3b3JrIG9uIGl0Lg0KWW91IGRvbid0IHN1Ym1pdCBwYXRjaGVzIGFueXdheSAod2hlbiB3 YXMgdGhlIGxhc3Qgb25lPykNCkFuZCBJIGhhZCBhYnNvbHV0ZWx5IG5vIGludGVudGlvbiB0byB3 b3JrIG9uIHRoaXMgZWl0aGVyLg0KDQpCdXQgdGhlbiBJIHdhcyBpbiBhIHNpdHVhdGlvbiB3aGVy ZSBJIG5lZWRlZCBhIHN1aXRhYmxlIHRhc2sgYW5kIEFWRGljdGlvbmFyeTIgd2FzIGEgcGVyZmVj dCBtYXRjaC4NCg0KRW5kIG9mIHN0b3J5Lg0KDQoNClRoaXMgZG9lc24ndCBuZWVkIHRvIGdldCBt ZXJnZWQsIHRoYXQncyBub3Qgd2hhdCBJJ20gdXAgdG8uIA0KQnV0IEkgc3RpbGwgYmVsaWV2ZSB0 aGF0IHRoaXMgY29kZSBpcyB1c2VmdWwgZm9yIHRlc3RpbmcgdmFyaW91cyBpbXBsZW1lbnRhdGlv bnMgYW5kIGNvbXBhcmluZyB0aGUgcmVzdWx0cy4NCg0KU29tZW9uZSBhcyBleHBlcmllbmNlZCBh cyB5b3UgY2xhaW0gdG8gYmUgd2l0aCBldmVyeSBzZW50ZW5jZSB5b3UgYXJlIHdyaXRpbmcsIHdv dWxkIHN1cmVseSBzZWUgdGhhdCB2YWx1ZSBpbnN0ZWFkIG9mIHdyaXRpbmcgYSBtZXNzYWdlIGxp a2UgeW91IGRpZC4NCg0Kc3cgDQoNCg0KDQoNCg0KDQoNCg0KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1w ZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9m Zm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApm Zm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUi Lgo=