From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 2B9644C4DF for ; Tue, 24 Jun 2025 04:47:45 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 8C2A068C6B9; Tue, 24 Jun 2025 07:47:39 +0300 (EEST) Received: from CAN01-YQB-obe.outbound.protection.outlook.com (mail-yqbcan01on2101.outbound.protection.outlook.com [40.107.116.101]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 0A81168C434 for ; Tue, 24 Jun 2025 07:47:33 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yt1u5N88LrHqfOVXQsDGJXleukUO3SgJRH00Lj/1wtuco7JhqzmZJQwApMbs3Ft+nRsx3KIm3C6vJAgDKJD7JyLKxcka1WRYkZLOfawlNbbdXdbLoYljhdaiMN/m36cyNtcBrHLiLDxrreI2gCTBYKsJYPg9L/DOqOwUBpyiASz5dKTLq291pGpoTPSwNpr2q3VCEJPdf+14gaZ0O+btcqz9bk07w6J/4zW20pAxnneutjJa2x1cpbYGAGgAFiQGGGcj8Nk9byX5I7aZZ/TXB1g/4dp+mmkvgwL3fpGmV8ZboMOwdQhyBw7kyTDVAD/8CuB7pjyeTWsFEXZ8PLCBpQ== 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=UawmxWNYrLNDgAtoFCs2lHQT54ULLiWmAIt+5F5wrdw=; b=ADTbA27ZNPiKiKTrivPCjfIiYLNaVsMvl4U0XkMYdEA5X32lAutb+OPbhx3LrTO4Vg7v0mm/a9KqWcX1pZIfIjfLWOW8V5UvohsYvtxEvhkAM5wJEeojgj/XyuniooMIrKZjAibHhW0j+MGvCLPxf324pK9zNjzNy2ze0SsBAold49UuwgmaaX01EkGqYQWjaXSJOzpfkcO23PI73SQXmFLQNbioxHeaNFDbULHZR1uUF8xwBkaGuT6MjY/gOqa9YbAvDU5+k2/BAoi8hwEMfVT8u78l8ytEVDCI5aMn11v1csNDtuND3QvU0lwEgSdi7JDIYbj2lBdBFhZGMhozsA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=netint.ca; dmarc=pass action=none header.from=netint.ca; dkim=pass header.d=netint.ca; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netint.ca; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UawmxWNYrLNDgAtoFCs2lHQT54ULLiWmAIt+5F5wrdw=; b=S5TOg8E1QU1z6bgKv9I1nRx5xLYT8bI9Ws1T1uIK6HVClx8bWjcSV6LvzwNrD3IBcfCnYUMuHIuK/Hwd9GXjTECxmVk3iyHbUqHxR4rwjuUGD3PIY0LgSQWImZWAANBoXbeGT0M4cDF+hkRbDABRoaMucDbiCV1Hl9KMuVmBI4Y= Received: from YT2PR01MB4701.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:3c::6) by YQBPR0101MB6650.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:49::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8880.16; Tue, 24 Jun 2025 04:47:27 +0000 Received: from YT2PR01MB4701.CANPRD01.PROD.OUTLOOK.COM ([fe80::6697:95af:2af:a8bb]) by YT2PR01MB4701.CANPRD01.PROD.OUTLOOK.COM ([fe80::6697:95af:2af:a8bb%6]) with mapi id 15.20.8857.026; Tue, 24 Jun 2025 04:47:27 +0000 From: Steven Zhou To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] fftools/ffmpeg_filter: at EOF, unref frame used for FPS conversion logic Thread-Index: Advkr4nORQhK0ZsgStaWpPMl4mtmBwACTjyAAAI1SoA= Date: Tue, 24 Jun 2025 04:47:26 +0000 Message-ID: References: In-Reply-To: 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=netint.ca; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: YT2PR01MB4701:EE_|YQBPR0101MB6650:EE_ x-ms-office365-filtering-correlation-id: 02dfc7c3-a512-4478-e15d-08ddb2da3813 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|4022899009|1800799024|366016|13003099007|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?NHlVWUpmYi8zUE11eGZrUkJHSDR2cjgvOUxUam15TjBGNWFMaUtHSWM3U0hr?= =?utf-8?B?anFsUjlQeTUxMDdnRmdVQXEySUVkQXFLL01zZHVCYnRWQUcwcUlZWjFUa2R3?= =?utf-8?B?bHBRNWdzNmZJbk1jamdpRWQ1WFVicXM3QXZHd0FlOGp2SjkzMkduT0tvZzVm?= =?utf-8?B?bWg1RXdRZ0FsK0kvaEcyUUpNVlREUmxsN1I4bkZSZjZGOGRYQVlJN0Nwejc2?= =?utf-8?B?MVpFNUZVbWV0cUthb1Bxd2Z0SitBTTVWckRJaFRlUFdXRlhld0ZNdEpYdktQ?= =?utf-8?B?b1ZhK1BuTDFIc3RkeHF3TTlJNjBIQUY5RlF3ZWhnbERiaVVJMVY5TGJNdmxG?= =?utf-8?B?VUVnUC9ZZDh4eDdRa09TbVlIS3c3S2ZSeTNBc1dXeDZGOWdmS0ZCbHphaWkv?= =?utf-8?B?cGgzWTlobThJSmc1bjZBdVJYMFZsRFFuK3V1bE0rV1hHN3VVWTB6NVF5QkNp?= =?utf-8?B?eW1mYytCc1FxNlkwdFQ4VzQ1bnlUUXUzY3dhbHFkRzJPdDBRWDBHeGRLS045?= =?utf-8?B?dTdpcHNtYTUrZEZPTjhrQ0tDNndrOWtxRDNpOFpTd0RmYVJ5RkRnTnhRRE9O?= =?utf-8?B?OW5jKzZZM2E0emc4ZGFSaWxTMjlta3hoNlVWNGxNVU82SGNCWWZhSHV6Lytx?= =?utf-8?B?eWpsSUlDR2NST1pHd25mNEtLaVRKRXV5c25ZOXZCdDBQOXpBRTdPVTgzUWZ5?= =?utf-8?B?S01LcXhOa1VNNWpMV2taOTJGb1dna2prYm5ldjZLWUlmdnR5NFFyNm1Va2Zq?= =?utf-8?B?NWp1bkhBYU1KNERvS3JFV3Roa1ZaM2pVK0E4em9tWE1LVVNyQTlUaXNYSWJq?= =?utf-8?B?WUVROWNjSWpZTVJMY2cxUUJ0S0xUbFF5RXlhT2xaY1VTQ0hRUWZvTTB3cUdI?= =?utf-8?B?QWdRNkwzVzBLMTRxVGJsUnFrdlc0dUJ5eFZyUGY0NlJ1YW9scVlCWVlsSHFW?= =?utf-8?B?OUFnY2JscU54QkU2RS9VYWJ2dlJvTTNoSFhGZEFOWk14QzZQRkVLVUljRzY1?= =?utf-8?B?SjNUNU4zWDczeUFxdFR1cy9nZzNTRzdnem1pSE5WN3preE1nVysrWHZ3Nlpm?= =?utf-8?B?aDdzQXNJWmgxYURBbTJMRHRid3pCa2RjRVhYcFRITDJLWk5pTW9Wd25SWStz?= =?utf-8?B?L0Uzd1krZ21tWnNSZC9MeFNKbXVLN2xNSjhLT05vdEdYVzhTSVQ1QlNwQ1Rp?= =?utf-8?B?Tm1wK2xvQk9pQ05YMGg5MkRTOHAvaWhOMlcxNlBTZ3NpQzdxdlRuK0FsSXha?= =?utf-8?B?Vm1HaDM2bjNBWTlXbXptaVV3M2lYbHVPWDRmZWtmTnJzQnFQTllKM3RUOHNG?= =?utf-8?B?KzFhQVdFeUU5NnV2NXkyMEMyTkxmaFlSREZVUUFOMnV6bjVmcmYvOSthbVMr?= =?utf-8?B?VE8yODhKNjhtZk4rcW5maEJneHFObFlON1RrM2tIT3JVM3N1a3VMMVFKMVF3?= =?utf-8?B?VWtiTDhzaEN3dFE0T0dhWFdnSWhJeEV3bUJHSjR6bE5uZEp1UC8vZ3RKRHhh?= =?utf-8?B?WEVUZlRRelkzeEVBTWlDZFN3NDA0UmV2MnpZemVDN08vMVdUeXdEZG8veFpm?= =?utf-8?B?K0wrZXZKQjl2dWN3YWNMQXFpdSt2VHpaUkREcHlER2VBQ2V1SEhDK1pYOXFH?= =?utf-8?B?dVNmODdMd2dNNTVlQklXZWlxT2RiUzZRZDJKLzVESnpONWFIT0VEOXhlbVBW?= =?utf-8?B?bm9iK1JXWjkvMGtHWnBDU3BLUXZJK2JTVFMxbmZvdGZ0UUQ4MTU2b0VhNXNt?= =?utf-8?B?ODZuT0psb0lkWXlpeGl2WEQrTlQ1eUdGQ1FtcDVtZnU2dUl5U1lGc1VlVGRM?= =?utf-8?B?Y1B2c2Z3RzV1Nkl6RXpVNkxOWlVORWFDc3hvWmx6cW1NYVd4d0N6NTZMdm53?= =?utf-8?B?c2x4WlgxbmxTc0JyM0gyQmFMcklkMzhqNGFMNWRzUW00SVd5ODFzcnV4RTlJ?= =?utf-8?Q?yz5yLpdOokk=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:YT2PR01MB4701.CANPRD01.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230040)(376014)(4022899009)(1800799024)(366016)(13003099007)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bnEzMHNxWUllR2pZcS9QNGtPT21yZURJSVZ6dTh1QzFwN1Y4UnBYYmdlM1Uy?= =?utf-8?B?V2tDbzBaN3Z0UjlCWFU2cHdONnVUUXdBYkxwYUwyQ0Y0bi9HTkFsb2Y2NUdZ?= =?utf-8?B?cVhnY1lFeWE3d0o4R2JUTFMwcTRkNW82V3pZQXl6ZlVKb2dlV1dnMFRqRDhj?= =?utf-8?B?cXdobGhuUUtOL3QwN3ZtMC8yVmZ3RFR0VjJlZUFDaFZZanNNM0N2dFoxamla?= =?utf-8?B?TDRxdjlnd0J2UTExblMxZlQwd0ZQb21LYTRYQjNpT1lhRDVQb3RJSmZjd0hH?= =?utf-8?B?eHpVbjlDaGVmNUlaQmhKR3VoOFBadE13U3R3cUM3c1kxemI1c3JvOVZIQy92?= =?utf-8?B?Nk83VjZBUDN2Ukt0cVI2MDliVmVnaWNtU2lMNEdDK2d4SjViNUluU3ZBZERE?= =?utf-8?B?QTJLV2pZNTgzVUVMdll3QVgwSnFZdFFMMHVRdHNDeDUvYWQzcFluWWVLT3Ay?= =?utf-8?B?RytSeVViZnBzclp3SERUcnVScWM0QkRKMlErblBDZE1MeTdUWjFIUVFPS3hy?= =?utf-8?B?YnNvZm5WcGhKdnFiSWFsa0FOcjhtUjZTT0U3VTNlcGovSnNhSm10VHQxSWc1?= =?utf-8?B?SmxHVzUwMjFmelR6T0JDSE1VL2gxeDJWSzREOHJHWWFDQy9xcDhnbStDd25h?= =?utf-8?B?ek9WQlAvVzVoSTZjVTBJaDRLck5oaktEcTdRVWRhM3VNcW5hcDM4OERINGVz?= =?utf-8?B?N2lQZExZYXJkRmtiV0cwbDVKd0RnTGtDeXVKNDdMWXZtdHhpWXF4bmlicXFO?= =?utf-8?B?WDNWUXlRZ2dDdTZMdGo2OHNaazlRVHJJSzBnaW9zUW8veUNmM0NsVjVqak8w?= =?utf-8?B?Y0ZYb0dZc0h1MWJDSUlqcXNiaTU5dTFGbTZYK2hKTVpYVTk2TWpBNWI3UkFy?= =?utf-8?B?UTJZVFp0a1l6bi93TTRIcEhndWJKNFZHRjhtcWMwRU14ZHBlTkhVUC9EeVMr?= =?utf-8?B?dFY5bnc1QndtanNOVWhjcU5SNjd1cVlFc25admxWU09NU2xsVkpsL3ZGZkFN?= =?utf-8?B?dUZyWVJWYW41VmFRNmlPQTFhSlN1OW41eUJkTVNZVkFza1ZoUktxOTVNL3VM?= =?utf-8?B?NjJCT1kxdmZxNXJaM0hMaVNtMlluWjVQV3VVWWQ2UW5wL1N4bmtMd2lhQWh5?= =?utf-8?B?UGNzaWcyaGd2QmJsSFNCREtuK1lRNVVTWUtQUGI1dVJJcEhRTVU5Z3N0MmVQ?= =?utf-8?B?NmwwLzhWZUZZUFlCeFhKRnRGU1pyWDA2UFdpaEl2R3BLbVVyYW0xMUR3cVJD?= =?utf-8?B?MFpaRVNJYnNraGZwN0ZCYjJUbmVCa3FCVjkvMU5yS0s1RVlUU1BpdmhRVmlk?= =?utf-8?B?NTBqU3lhZStQVFpyb3ZTTnhBN3dLTk1GVmh2STNvQzcydFBZRVg5c2RkR0FX?= =?utf-8?B?SVJjb3BvMVpoUk9BUi9UOER0Nzk1QmNEdEhraTEvVDYyY1pCejlBN3Q5YWFQ?= =?utf-8?B?NWJmSm96VUs4TGpTb2l0RkZUS0dobDlhMnVkcGxHYjI5R0puV1h5UEpUU1dG?= =?utf-8?B?dnlzQ2U0V0VFZjNMYlZXL0RjTXR5N3Y1ejFJb1BTMWtYU3Q0OStZTHV0SWp0?= =?utf-8?B?MGs2RlFvaVB3UDRteWQzK0UyTmNYaFlWbVRxTkVWWWR6b3lNMFQ4b0R3aVlJ?= =?utf-8?B?L3VqQzA2TWN5TnJxdUhOR0RtVyttWnhLcUZjRGQxcExLWTRSbTd4Sk9DcE5Q?= =?utf-8?B?Sms2Wkt4YXpWM3lqU09ta1ZKa3ZrSVdUWFJNeTRlTGpiZ1hXRENtYUJtcDk5?= =?utf-8?B?eEhZbWNMSXAwYnI3ZGNMZ1ZFaDk3bkhCOTIrUlk5ZGZUalpSMDZXTzROOGU0?= =?utf-8?B?MnVjQlh2Y3JNNUZVN21VRWJ3QUc1UWc3ajlaUytrWWhIYko4ejZpQUdoQk1j?= =?utf-8?B?bUZwbHl2NE1uUDBzVEFTS3NPa3pzcTA0aTBpU2YxbzVSMGJWQjF6ODZ4Uk9h?= =?utf-8?B?Q0s3T3NDSi9XenBpa3RnQTZwOEcxMzU3eWlxQWY4TjlWTU84TUJUQ3pOZU91?= =?utf-8?B?UVF0YUg4YmpaRk9YRkhjbStXL3p5MXBaWmlqMXpJcDNYZVhQWm43UHNVTU5U?= =?utf-8?B?ZlQzb2diZ0poTVZkdWt5UkNCZE9sRnEycHNxS2VYU0dhUU1XUGYrRDF3Ymd1?= =?utf-8?Q?cam72OJ7bKDHrDf3vLvETryDY?= MIME-Version: 1.0 X-OriginatorOrg: netint.ca X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB4701.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 02dfc7c3-a512-4478-e15d-08ddb2da3813 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2025 04:47:26.9632 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 76291bb4-3d04-48ef-9eb8-3e33475af3cb X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mm89xh+j8HyfoNxh78leAVHZmEubr+y+AMc4LUZMRbROwYVevfXct3GN36My6Oy/zj0TPUu7rH7wwF7NdQ6HcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQBPR0101MB6650 Subject: Re: [FFmpeg-devel] [PATCH] fftools/ffmpeg_filter: at EOF, unref frame used for FPS conversion logic X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZmZtcGVnLWRldmVsIDxm Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgWmhhbw0KPiBaaGls aQ0KPiBTZW50OiBNb25kYXksIEp1bmUgMjMsIDIwMjUgODozNCBQTQ0KPiBUbzogRkZtcGVnIGRl dmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxmZm1wZWctDQo+IGRldmVsQGZmbXBl Zy5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0hdIGZmdG9vbHMvZmZt cGVnX2ZpbHRlcjogYXQgRU9GLCB1bnJlZiBmcmFtZQ0KPiB1c2VkIGZvciBGUFMgY29udmVyc2lv biBsb2dpYw0KPiANCj4gDQo+IA0KPiA+IE9uIEp1biAyNCwgMjAyNSwgYXQgMTE6MDksIFN0ZXZl biBaaG91IDxzdGV2ZW4uemhvdUBuZXRpbnQuY2E+IHdyb3RlOg0KPiA+DQo+ID4gZmZ0b29scy9m Zm1wZWdfZmlsdGVyOiBhdCBFT0YsIHVucmVmIGZyYW1lIHVzZWQgZm9yIEZQUyBjb252ZXJzaW9u DQo+ID4gbG9naWMNCj4gPg0KPiA+IEV2ZXIgc2luY2UgY29tbWl0IDY0ZjNmZWIgYWRkZWQgYGF2 Y29kZWNfZnJlZV9jb250ZXh0KCZlbmMtPmVuY19jdHgpO2ANCj4gPiB0byBgZW5jX2ZyZWUoKWAg dGhlIGVuY29kZXIgY29udGV4dCBpcyBjbG9zZWQgYmVmb3JlIGZpbHRlcmdyYXBoIG91dHB1dA0K PiBjb250ZXh0Lg0KPiA+IFRoZSBmaWx0ZXJncmFwaCBvdXRwdXQgY29udGV4dCBob2xkcyBhIHJl ZmVyZW5jZSB0byBsYXN0IEFWRnJhbWUgdG8NCj4gPiBwYXNzIHRocm91Z2ggaXQgZm9yIEZQUyBj b252ZXJzaW9uIHB1cnBvc2VzLiBUaGlzIGlzIHByb2JsZW1hdGljIGZvcg0KPiA+IEhXRnJhbWVD b250ZXh0cyB3aGljaCBtYXkgcmVseSBvbiBlbmNvZGVyIGNvbnRleHQgdG8gZnJlZSBIVw0KPiBB VkZyYW1lcy4NCj4gDQo+IFdoYXTigJlzIHRoZSBlbmNvZGVyPyBUaGlzIHNvdW5kcyBhIGRlZmVj dCBpbiBlbmNvZGVyIGltcGxlbWVudGF0aW9uLg0KDQpUaGUgZW5jb2RlciBpcyB0aGUgeWV0IHRv IGJlIHVwc3RyZWFtZWQgTmV0aW50IGVuY29kZXJzLiBJIHdpbGwgcHV0IHRoZW0gb24gRm9yZ2Vq byBmb3IgcmV2aWV3IGxhdGVyIHRoaXMgd2Vlay4NClBlcmhhcHMgdGhlIGVuY29kZXIgaW1wbGVt ZW50YXRpb24gZG9lcyBub3QgY29uZm9ybSB0byBGRm1wZWcgY29udmVudGlvbi4gSWYgc28sIEkg Y2FuIHRyeSB0byBhZGRyZXNzIHRoaXMgaXNzdWUgYW5vdGhlciB3YXkuDQoNClRoZSBOZXRpbnQg SFcgZnJhbWUgZGF0YSBoZWxkIGluIGBBVkZyYW1lLT5idWZbMF1gIGlzIHRpZWQgJ3Nlc3Npb25z JyBvZiBOZXRpbnQgSFcgZGVjL2ZpbHQvZW5jIGluIHRoZSBOZXRpbnQgZHJpdmVyIGJhc2VkIG9u IHdoYXQgTmV0aW50IEhXIHNlc3Npb24gbW9zdCByZWNlbnRseSBhY2Nlc3NlZCBpdC4NClRoZSBB VkJ1ZmZlclJlZiBkZXN0cnVjdG9yIGZvciBgQVZGcmFtZS0+YnVmWzBdYCBpbiBOZXRpbnQgSFcg ZnJhbWVzIHdpbGwgdXNlIHRoZSBtb3N0IHJlY2VudCBzZXNzaW9uIHRoZSBIVyBmcmFtZSBwYXNz ZWQgdGhyb3VnaCB0byBjb21tdW5pY2F0ZSBpdHMgZGVzdHJ1Y3Rpb24gdG8gdGhlIEhXJ3MgZHJp dmVyLg0KVGhpcyBhbGxvd3MgZm9yIHRoZSBkZWNvZGVyIHNlc3Npb24gd2hpY2ggZ2VuZXJhdGVk IGEgTmV0aW50IEhXIEFWZnJhbWUgdG8gaGF2ZSBpdHMgY29udGV4dCBhbmQgc2Vzc2lvbiBjbG9z ZWQgd2hpbHN0IHRoZSBBVkZyYW1lIGNvbnRpbnVlcyBvbnRvIGEgTmV0aW50IGVuY29kZXIuDQpU eXBpY2FsbHkgdGhpcyBvY2N1cnMgd2hlbiBkZWNvZGVyIGlzIGNsb3NlZCBmb3IgRU9GIHdoaWxz dCBmcmFtZXMgYXJlIHN0aWxsIGluIGZsaWdodCB0byB0aGUgZW5jb2Rlci4NCg0KSSBub3RpY2Vk IGNvbW1pdCA2NGYzZmViIGNsb3NlcyBlbmNvZGVyIGJlZm9yZSBmaWx0ZXJncmFwaDsgYnV0IGZp bHRlcmdyYXBoIGhvbGRzIGEgcmVmIHRvIGxhc3QgQVZGcmFtZSBmb3IgRlBTIGNvbnZlcnNpb24g dXNhZ2UuDQpUaGlzIHJlZiBpbiBmaWx0ZXJncmFwaCBjb3VsZCBiZSBkaXNjYXJkZWQgZWFybGll ciB3aGVuIGZpbHRlcmdyYXBoIHByb2Nlc3NlcyB0aGUgRU9GIGZyYW1lLCBoZW5jZSB0aGlzIHBh dGNoLg0KDQpBbHRlcm5hdGl2ZWx5LCB0aGUgTmV0aW50IGNvZGVjcyBjYW4gZG8gd2l0aG91dCB0 aGlzIHBhdGNoLiBUaGUgZnJhbWUncyByZXNvdXJjZXMgb24gSFcgd291bGQgYmUgZnJlZSdkIGJ5 IG90aGVyIGdhcmJhZ2UtY29sbGVjdGlvbiBtZWNoYW5pc21zLg0KDQo+IA0KPiA+IFRoaXMgY2hh bmdlIHVucmVmcyB0aGUgQVZGcmFtZQ0KPiA+IHJlZiBoZWxkIGJ5IGZpbHRlcmdyYXBoIG91dHB1 dCBjb250ZXh0IGR1cmluZyBwcm9jZXNzaW5nIG9mIEVPRiBmcmFtZS4NCj4gPg0KPiA+IFNpZ25l ZC1vZmYtYnk6IFN0ZXZlbiBaaG91IDxzdGV2ZW4uemhvdUBuZXRpbnQuY2E+DQo+ID4gLS0tDQo+ ID4gZmZ0b29scy9mZm1wZWdfZmlsdGVyLmMgfCA0ICsrKy0NCj4gPiAxIGZpbGUgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZmZ0 b29scy9mZm1wZWdfZmlsdGVyLmMgYi9mZnRvb2xzL2ZmbXBlZ19maWx0ZXIuYyBpbmRleA0KPiA+ IGEwZGM0Yzc0NWUuLmNmMmQwMTZiMmQgMTAwNjQ0DQo+ID4gLS0tIGEvZmZ0b29scy9mZm1wZWdf ZmlsdGVyLmMNCj4gPiArKysgYi9mZnRvb2xzL2ZmbXBlZ19maWx0ZXIuYw0KPiA+IEBAIC0yNTYw LDggKzI1NjAsMTAgQEAgc3RhdGljIGludCBmZ19vdXRwdXRfZnJhbWUoT3V0cHV0RmlsdGVyUHJp dg0KPiAqb2ZwLCBGaWx0ZXJHcmFwaFRocmVhZCAqZmd0LA0KPiA+ICAgICAgICAgYXZfZnJhbWVf bW92ZV9yZWYoZnJhbWVfcHJldiwgZnJhbWUpOw0KPiA+ICAgICB9DQo+ID4NCj4gPiAtICAgIGlm ICghZnJhbWUpDQo+ID4gKyAgICBpZiAoIWZyYW1lKSB7DQo+ID4gKyAgICAgICAgYXZfZnJhbWVf dW5yZWYoZnJhbWVfcHJldik7DQo+ID4gICAgICAgICByZXR1cm4gY2xvc2Vfb3V0cHV0KG9mcCwg Zmd0KTsNCj4gPiArICAgIH0NCj4gPg0KPiA+ICAgICByZXR1cm4gMDsNCj4gPiB9DQo+ID4gLS0N Cj4gPiAyLjI1LjENCj4gPg0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fDQo+ID4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+IGZmbXBlZy1k ZXZlbEBmZm1wZWcub3JnDQo+ID4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8v ZmZtcGVnLWRldmVsDQo+ID4NCj4gPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwg b3IgZW1haWwNCj4gPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVj dCAidW5zdWJzY3JpYmUiLg0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18NCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdA0KPiBmZm1wZWctZGV2 ZWxAZmZtcGVnLm9yZw0KPiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1w ZWctZGV2ZWwNCj4gDQo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFp bCBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnDQo+IHdpdGggc3ViamVjdCAidW5zdWJz Y3JpYmUiLg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=