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 033A04D0AE for ; Fri, 16 May 2025 04:15:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 4EE5E68C4E8; Fri, 16 May 2025 07:15:47 +0300 (EEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10olkn2030.outbound.protection.outlook.com [40.92.40.30]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 8FAF268B144 for ; Fri, 16 May 2025 07:15:40 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g/Z86W2hWD75zH0xU+vqdY4dkSxIfb7bL4ogqOjun4KQ5/A5s651wL1YKAIHEW6crqBrTLefrLZmerkI6laMO7xCSdRn4GTG0ZeTRJoez3lfsra25+635d66WOLFKxi3yXAyPQamiw9SestXwcznr7QKwEsqt7shJR+uEDn/Il8mUqXncjqTGO0mL1U90Vfni09+04DaOxr3xeP63R8/5obBBc0HJnXovaZgz6ZTHSLiOWryHfQOu1CP1hn7quHNlxTxp1QZpj7Kpfoqztt51Jo9qkKSMGKsdw05KCBkrkoKVXZlcRVZV7sxm4FAZODHTN9apjxJvPxFzAxR7WGJoA== 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=m36lyWLA8pJVU8lYPX4CHhFWqQg2DVuYD3fyK9pP3YA=; b=Ga++54lMzJXAR6td3LiFE/cD/d2AlOh9+qYnMIbH26UZY6tX+Ih1rdUxZx8itUBo82+Jp4xD2YdPaqsb2kMdCDYfhgoONKQrdzz21KHNzKUUsu2cnkzgim5ByqqgTcTYbwgoP+0WWB5HKDH+qVrxOydHJY809YbwQImvw3xtbuJ7V00b4uDF1xABMKg93GqdPkQuNAZOrvignDW3K6SvqNmPs6RyasgUd6cNMUkuoMJ5AAWrvHaypoGZZsvW90iIuxOyULmXn/Mlh2zgpOxSwamPrH4P6107DzBQJxSz5FwhvAifr2nuDCe89/tAtUBnV474FgsP+3SM7A98WQr47A== 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=m36lyWLA8pJVU8lYPX4CHhFWqQg2DVuYD3fyK9pP3YA=; b=gHyos5FZFTuqL4yJLP66ghYGo1wKvgh2IQLORYSIs3ruZWKC9OWwhVHrddafIzBp6ndbkSN/WsOgQg7BNoRAZ2q3jvCfxnbsKJRKbRfo9HGH8UZ8WDcOst5CZveSrQe1XlvGcW3k0qdXi81oLNrU4GtklgZ0vE+SBIH+Fb/spKEOJMTS7wjyL6QH3aNPXrSVXQwuu5eIgM70hg6pRH3ENiWw+IL0UAjMeEBavg+gTStYqezeaBMU4y2OIPk7MqqzYOh/JNXG5Hc+BUWYrvaNYsMUSzDnSPlFAgK/hlPV+Q88EYQ9L6+JWosiJW1Dxx816KPO1UK5eNeSWO2WLPp51A== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by PH3PPF985EA4929.NAMP223.PROD.OUTLOOK.COM (2603:10b6:518:1::532) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8722.32; Fri, 16 May 2025 04:15:37 +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.8722.031; Fri, 16 May 2025 04:15:37 +0000 From: "softworkz ." To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a Killer-Feature! Thread-Index: AQHbxeNn507au67TyEiB1J2yca4eyLPUPT/ggAAiAoCAAAM/UIAAC9eAgAAuRYCAAAKy8A== Date: Fri, 16 May 2025 04:15:36 +0000 Message-ID: References: <20250515211148.6C91C4128B8@natalya.videolan.org> <7080a655-035e-e56f-a97c-5579edb2e760@passwd.hu> <20250516005421.GX29660@pb2> In-Reply-To: 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_|PH3PPF985EA4929:EE_ x-ms-office365-filtering-correlation-id: a8db8ffb-7998-4697-87a9-08dd94304f76 x-microsoft-antispam: BCL:0; ARA:14566002|7092599006|8062599006|8060799009|41001999006|15080799009|19110799006|461199028|56899033|440099028|3412199025|102099032|12091999003; x-microsoft-antispam-message-info: =?utf-8?B?NkdoS1BOVHdId20yWHo5L1VTcE5RdkEyejBGdU5RTVBadFhSODBzZlB2VGlp?= =?utf-8?B?azRSZHpFVE5BUFBnbWJqVUpLTU81YXpKZkVsRWRaSHVZa0EzcENpdzlXNkht?= =?utf-8?B?cXQ4dndwSWRtbWNxUk40QWJZdWFNTWpwMU9velc0ZWcrSGVsVVZicThNbDJT?= =?utf-8?B?OGUvblZkRDUxUEQzY1FSMk9sWnlwcElpdlF4WU9oY3FxbG5NeDNqdjNVaE1m?= =?utf-8?B?REdNR3htd1Y5RkFzcG1XYy9tMVg3eTBkbzRQU29maUIyak91L2lmdzNtQ05O?= =?utf-8?B?YlNFTGhPYmlFamRkTEljWjdNbWhuSy8zZ3VEOVhkNzJTeWo5dHlpZWNLOEVh?= =?utf-8?B?ZnNnVzNORVdPbmppOUtsWHI0cEFlREdUS3pXVmQ1Y1lrSFR4MzdpS3BhMnp2?= =?utf-8?B?RHUvcmRmY0kyT3YzUlJXa3AwMzR2c0kwd3RBREF0SU1Db2Z5aHdRdk9aNnBF?= =?utf-8?B?dHRVdHV4WEt1dGlyU0lKL25pSGI5QXNXbmsvK2Nyc1dnS0VrVjB2RnllNldJ?= =?utf-8?B?dlZpL3RZNURwcjhZanlqVkU1UHdyU1dhd1NYRERycWpoa1Avek5aRzZCVURl?= =?utf-8?B?Q013MmVhR0o0TUx4ZXE5cGxBa2FIYVFxR1NKYlBXUlhMMTd3cXZJQzRlZDR0?= =?utf-8?B?dHF6VTduN0VQTVdKOU1VMDJLMlBZeXArMlU3cElxKzI4ZytBYmdIWGlpYjM3?= =?utf-8?B?SHp5ZHF3NzVjcU15VGV3Vm9BREF2a3dxdXkySENHTGNyODI0OENEeVRGWmhu?= =?utf-8?B?K3FFZnByR1RhcDJpOTZrZkdmTzdrSXZvc3YyTldKMlNKUk96Y2xKcHlsYVAy?= =?utf-8?B?NE5ZOTEvMTVRMUhlN29ndzZ5Y2RMb3pDUXVQb2JQTVAzL1BwNWtVQXZSaGEx?= =?utf-8?B?YjZiMGFnR01TQnoxYnRTcUdaM3VCNHdqWk80TkRCZzR6Q1BHcDdCU1AvNUlH?= =?utf-8?B?d1Q2b0ttQVZkcTNXZDNRQ0dubHFnWWJiVWxFWTRhMURYekdOelcwWjRyc0tI?= =?utf-8?B?MnQyTnAxa0hvaFpaZTRMRHduUmI2aUpvNXViaFBLN0tlOGZ5WkxGRmdNUjFJ?= =?utf-8?B?RHhxY2xGVGg0WTBWTktxbWpkTHFldDZrL0ZLRkkxT1h3WFpnQnJYT1JTNTFj?= =?utf-8?B?NkM5UHhXMjg4UERWSTBxeVc1YWNvbmpsNVJYRkNIR2w5WXNVdEhLYUtRYzdG?= =?utf-8?B?VWxCUGtHalA0SXNrTVRiN2kxaEJlalZGQmZ3NTdZR04rTWRlR0owSnNWWW1q?= =?utf-8?B?Q2c5TlhpWFJIZ2FEN3czYjBTUUxMWjh3czdsZnZXQXpBZzRUZnNwRXFMM1NM?= =?utf-8?B?eUZpbGQzeHRyUlNBUmJMbUVYQlBiVHppWTV1VzRrRXg1cldWYm9VZThlV05q?= =?utf-8?B?cWVlRWpxNEdhZmJYZGNYWUVVR29WZWhRa0FmNm85UkRYM3JwWGhtQndVTjBD?= =?utf-8?B?cTRsSDdsNGladDRFRUlrb3E5T3Zkb254NWV5N09RMXlqcHpPdkFGTFlBVEtD?= =?utf-8?B?KzFMU0FlZ1JpeWd4aEdFeUlBYjRzdDNoQUJZSE0rRzdpb0FSdTFWSmw5ZFQw?= =?utf-8?Q?0H0g4/aVtNDenjKlf7TKL1WFQ=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ajdrN29YMGtiNVNCWXlWbXFRRlZBY20rczlVVTNSUXNDRkN5ZjZzV2w3NTZL?= =?utf-8?B?d1FVOW52cHFTQWhDQXBlMVBPbVVnK1hWaFQ4aEFzV0h2a1h2ZThEOGZMUXRu?= =?utf-8?B?Kzg3aVE5SjNtUVY3WGNSRWdqNGVjZXVja0VUcWFManhEWGlrYUJxVHRyMUtO?= =?utf-8?B?TmZWS2JaTzh6cCtiTm1jQmU4YklqUExBV2c3N0ZKRkhqTGx5d21rWDhxem9s?= =?utf-8?B?cVVoazh3QjVBNTJjSmlFODFzR1k2dFlrSUNJY0hjbWtuVXhtOTd3aGlGUDhk?= =?utf-8?B?a3NQcnFtMklETjMwN0NEYU85R0pYSmJsS3NQTzNUTmFtTG5DNmVZd2hrRW02?= =?utf-8?B?cVB5QlNsTktZSWQ3bGEyUEE2TG5jSFBCY2RyTFh6VkkrMjFVVjZtcmk3TEk2?= =?utf-8?B?elBBdmFHVGRwSXcya3Q2WlhWb290YjZueGdPTW1SWDJHVDFFSkhYM0grRys3?= =?utf-8?B?U29IdEdoWldYQW4vb2lLajRRUWhmM085akpWb3Y4SWUwcnVVWWcyNEoyeW1o?= =?utf-8?B?SEExVHpNOGsxb0owWHg3NmpoSXlJRThBM0ZUa2xPZk9ta1JZUW9nam5DUGV6?= =?utf-8?B?aVprZUQvS2Uxc1MrMU5FTFJIc1VrME84VWd1eHFReHVDQXJ6bElCOFFidUJo?= =?utf-8?B?Z0xqVGdTTFlEZVdPUmJ2R1hhUnFZRTlaS0Y1UTA3ZkxiNFBUMlQ3QUxKL2RD?= =?utf-8?B?YXlYYnpiT05memlGL3cyMlBxUmx6RTdhZFZMNTk4UHZWUnArU1Z2a1F3ODgx?= =?utf-8?B?Q2VEMTBaSWx2TUtIL3FuUDJESVJqZEhKckcrNm1MRXE1b1pzNUpWbmo5MkhL?= =?utf-8?B?aWx0ZklUY2ZqQWpFMmJwNnZDZksydGM1MnBLV0xVVlJoWXgvUk9SRUNoVXNW?= =?utf-8?B?dUdFdXFwRllpaEM0SmtXNU1tU2Q0OGNDVUNsRlZETDlQcnRQSGlaZGZabzJB?= =?utf-8?B?b0QrSHY2QThvQlBDU2QzNmNtSjBFMlZHa1g1VWZKUktNQ01BclgrY1RUK2dx?= =?utf-8?B?TW9BL0pOT2FBN1lEWGlDKzlTR2dRRHM5LzZobE12NThVQjZ5aG9iNTRiQUVR?= =?utf-8?B?VnVvWjRDa1JkamVRL3dlRlJTQlpCUjY5QjNQbnFPK0E2MDBZeHVYMVY1dzJ0?= =?utf-8?B?UVdVVlhMMEhNUkZrUUxlSzBFcGkycTZ5aVphd2JBaXNKNUJRQXlEVzBxVmN5?= =?utf-8?B?N3JYSVM5ZTA4R25zMDI4TEdBL2pyWElVcEh3VFh4aDB3S1gwdzB5Sk4vQWhE?= =?utf-8?B?ZXA2c1A4U1RzaE5rMHIvUWVraHFzSndnTXRGT1JuMGJPSVZ0UUV3bWVJd1Fi?= =?utf-8?B?aDRYWGc1TXlTek80cHFpU25BOCtXdVJ4Z0FCYUhwNlg4NEdWY2JzWVBpZXhW?= =?utf-8?B?bFg2cUdhdHpXYi9jL240cjFvMkFTNk9WbUhESW9seXB3enNPTTAvSDdrVFRa?= =?utf-8?B?VEtGeERyN0NCa1FwMndQZGhpUk1jWnVvRno0THE4RWtmRTRtVzFhcTR5K3dN?= =?utf-8?B?UllOL3FsUmtRTllLZXRJYkd6SUFsRTI5blVwWkhySDFDSWV6OVJtSkRxNDJH?= =?utf-8?B?SEU3cVFwWlAwbFNLbWZPSGZTdGFremlCRkxSdk1aNHpNMDFwejJ6Lzl0ZEVD?= =?utf-8?Q?KnmGQMtczhGZ+z7CBTOuwmj1xwBwZYhBQv6I96hAPD3M=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: a8db8ffb-7998-4697-87a9-08dd94304f76 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 May 2025 04:15:36.8847 (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: PH3PPF985EA4929 Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a Killer-Feature! 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 Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgUm9tYWluDQo+IEJl YXV4aXMNCj4gU2VudDogRnJlaXRhZywgMTYuIE1haSAyMDI1IDA1OjQwDQo+IFRvOiBGRm1wZWcg ZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMgPGZmbXBlZy1kZXZlbEBmZm1wZWcu b3JnPg0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gW0ZGbXBlZy1jdnNsb2ddIGZmdG9v bHMvZ3JhcGhwcmludDogTm93LCBtYWtlIGl0IGENCj4gS2lsbGVyLUZlYXR1cmUhDQo+IA0KPiBM ZSBqZXUuIDE1IG1haSAyMDI1IMOgIDE5OjU0LCBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVs QG5pZWRlcm1heWVyLmNjPiBhDQo+IMOpY3JpdCA6DQo+ID4NCj4gPiBIaQ0KPiA+DQo+ID4gT24g RnJpLCBNYXkgMTYsIDIwMjUgYXQgMTI6MTc6MTRBTSArMDAwMCwgc29mdHdvcmt6IC4gd3JvdGU6 DQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ ID4gRnJvbTogZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBP biBCZWhhbGYgT2YNCj4gTWFydG9uDQo+ID4gPiA+IEJhbGludA0KPiA+ID4gPiBTZW50OiBGcmVp dGFnLCAxNi4gTWFpIDIwMjUgMDI6MDANCj4gPiA+ID4gVG86IEZGbXBlZyBkZXZlbG9wbWVudCBk aXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8DQo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnPg0KPiA+ ID4gPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gW0ZGbXBlZy1jdnNsb2ddIGZmdG9vbHMv Z3JhcGhwcmludDogTm93LA0KPiBtYWtlIGl0IGENCj4gPiA+ID4gS2lsbGVyLUZlYXR1cmUhDQo+ ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IE9uIFRodSwgMTUgTWF5IDIwMjUsIHNv ZnR3b3JreiAuIHdyb3RlOg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4g Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPj4gRnJvbTogZmZtcGVnLWRl dmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gUmFt aXJvDQo+ID4gPiA+IFBvbGxhDQo+ID4gPiA+ID4+IFNlbnQ6IERvbm5lcnN0YWcsIDE1LiBNYWkg MjAyNSAyMzo1MA0KPiA+ID4gPiA+PiBUbzogZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcNCj4gPiA+ ID4gPj4gU3ViamVjdDogUmU6IFtGRm1wZWctZGV2ZWxdIFtGRm1wZWctY3ZzbG9nXSBmZnRvb2xz L2dyYXBocHJpbnQ6DQo+IE5vdywgbWFrZQ0KPiA+ID4gPiBpdCBhDQo+ID4gPiA+ID4+IEtpbGxl ci1GZWF0dXJlIQ0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiBIaSwNCj4gPiA+ID4gPj4NCj4gPiA+ ID4gPj4gT24gVGh1LCBNYXkgMTUsIDIwMjUgYXQgMTE6MTHigK9QTSBzb2Z0d29ya3ogPGdpdEB2 aWRlb2xhbi5vcmc+DQo+IHdyb3RlOg0KPiA+ID4gPiA+PiBbLi4uXQ0KPiA+ID4gPiA+Pj4gZGlm ZiAtLWdpdCBhL2ZmdG9vbHMvZ3JhcGgvZmlsZWxhdW5jaGVyLmMNCj4gYi9mZnRvb2xzL2dyYXBo L2ZpbGVsYXVuY2hlci5jDQo+ID4gPiA+ID4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4g PiA+Pj4gaW5kZXggMDAwMDAwMDAwMC4uNDU1MTRjYTU5OQ0KPiA+ID4gPiA+Pj4gLS0tIC9kZXYv bnVsbA0KPiA+ID4gPiA+Pj4gKysrIGIvZmZ0b29scy9ncmFwaC9maWxlbGF1bmNoZXIuYw0KPiA+ ID4gPiA+PiBbLi4uXQ0KPiA+ID4gPiA+Pj4gK2ludCBmZl9vcGVuX2h0bWxfaW5fYnJvd3Nlcihj b25zdCBjaGFyICpodG1sX3BhdGgpDQo+ID4gPiA+ID4+PiArew0KPiA+ID4gPiA+Pj4gKyAgICBp ZiAoIWh0bWxfcGF0aCB8fCAhKmh0bWxfcGF0aCkNCj4gPiA+ID4gPj4+ICsgICAgICAgIHJldHVy biAtMTsNCj4gPiA+ID4gPj4+ICsNCj4gPiA+ID4gPj4+ICsjaWYgZGVmaW5lZChfV0lOMzIpDQo+ ID4gPiA+ID4+PiArDQo+ID4gPiA+ID4+PiArICAgIC8vIC0tLSBXaW5kb3dzIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+Pj4gKyAgICB7DQo+ID4gPiA+ID4+PiAr ICAgICAgICBISU5TVEFOQ0UgcmMgPSBTaGVsbEV4ZWN1dGVBKE5VTEwsICJvcGVuIiwgaHRtbF9w YXRoLA0KPiBOVUxMLCBOVUxMLA0KPiA+ID4gPiA+PiBTV19TSE9XTk9STUFMKTsNCj4gPiA+ID4g Pj4+ICsgICAgICAgIGlmICgoVUlOVF9QVFIpcmMgPD0gMzIpIHsNCj4gPiA+ID4gPj4+ICsgICAg ICAgICAgICAvLyBGYWxsYmFjazogc3lzdGVtKCJzdGFydCAuLi4iKQ0KPiA+ID4gPiA+Pj4gKyAg ICAgICAgICAgIGNoYXIgY21kWzEwMjRdOw0KPiA+ID4gPiA+Pj4gKyAgICAgICAgICAgIF9zbnBy aW50Zl9zKGNtZCwgc2l6ZW9mKGNtZCksIF9UUlVOQ0FURSwgInN0YXJ0IFwiXCINCj4gXCIlc1wi IiwNCj4gPiA+ID4gPj4gaHRtbF9wYXRoKTsNCj4gPiA+ID4gPj4+ICsgICAgICAgICAgICBpZiAo c3lzdGVtKGNtZCkgIT0gMCkNCj4gPiA+ID4gPj4+ICsgICAgICAgICAgICAgICAgcmV0dXJuIC0x Ow0KPiA+ID4gPiA+Pj4gKyAgICAgICAgfQ0KPiA+ID4gPiA+Pj4gKyAgICAgICAgcmV0dXJuIDA7 DQo+ID4gPiA+ID4+PiArICAgIH0NCj4gPiA+ID4gPj4+ICsNCj4gPiA+ID4gPj4+ICsjZWxpZiBk ZWZpbmVkKF9fQVBQTEVfXykNCj4gPiA+ID4gPj4+ICsNCj4gPiA+ID4gPj4+ICsgICAgLy8gLS0t IG1hY09TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4+PiAr ICAgIHsNCj4gPiA+ID4gPj4+ICsgICAgICAgIC8vICJvcGVuIiBpcyB0aGUgbWFjT1MgY29tbWFu ZCB0byBvcGVuIGEgZmlsZS9VUkwgd2l0aA0KPiB0aGUNCj4gPiA+ID4gZGVmYXVsdA0KPiA+ID4g PiA+PiBhcHBsaWNhdGlvbg0KPiA+ID4gPiA+Pj4gKyAgICAgICAgY2hhciBjbWRbMTAyNF07DQo+ ID4gPiA+ID4+PiArICAgICAgICBzbnByaW50ZihjbWQsIHNpemVvZihjbWQpLCAib3BlbiAnJXMn IDE+L2Rldi9udWxsIDI+JjENCj4gJiIsDQo+ID4gPiA+ID4+IGh0bWxfcGF0aCk7DQo+ID4gPiA+ ID4+PiArICAgICAgICBpZiAoc3lzdGVtKGNtZCkgIT0gMCkNCj4gPiA+ID4gPj4+ICsgICAgICAg ICAgICByZXR1cm4gLTE7DQo+ID4gPiA+ID4+PiArICAgICAgICByZXR1cm4gMDsNCj4gPiA+ID4g Pj4+ICsgICAgfQ0KPiA+ID4gPiA+Pj4gKw0KPiA+ID4gPiA+Pj4gKyNlbHNlDQo+ID4gPiA+ID4+ PiArDQo+ID4gPiA+ID4+PiArICAgIC8vIC0tLSBMaW51eCAvIFVuaXgtbGlrZSAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+Pj4gKyAgICAvLyBXZSdsbCB0cnkgeGRnLW9wZW4sIHRo ZW4gZ25vbWUtb3BlbiwgdGhlbiBrZm1jbGllbnQNCj4gPiA+ID4gPj4+ICsgICAgew0KPiA+ID4g PiA+Pj4gKyAgICAgICAgLy8gSGVscGVyIG1hY3JvIHRvIHRyeSBvbmUgYnJvd3NlciBjb21tYW5k DQo+ID4gPiA+ID4+PiArICAgICAgICAvLyBSZXR1cm5zIDAgb24gc3VjY2VzcywgLTEgb24gZmFp bHVyZQ0KPiA+ID4gPiA+Pj4gKyAgICAgICAgI2RlZmluZSBUUllfQ01EKHByb2cpIGRvIHsNCj4g ICAgIFwNCj4gPiA+ID4gPj4+ICsgICAgICAgICAgICBjaGFyIGJ1ZlsxMDI0XTsNCj4gICAgICBc DQo+ID4gPiA+ID4+PiArICAgICAgICAgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVz ICclcycgMT4vZGV2L251bGwgMj4mMQ0KPiAmIiwgXA0KPiA+ID4gPiA+Pj4gKyAgICAgICAgICAg ICAgICAgICAgIChwcm9nKSwgaHRtbF9wYXRoKTsNCj4gICAgICBcDQo+ID4gPiA+ID4+PiArICAg ICAgICAgICAgaW50IHJldCA9IHN5c3RlbShidWYpOw0KPiAgICAgIFwNCj4gPiA+ID4gPj4+ICsg ICAgICAgICAgICAvKiBPbiBVbml4OiBzeXN0ZW0oKSByZXR1cm5zIC0xIGlmIHRoZSBzaGVsbCBj YW4ndA0KPiBydW4uICovXA0KPiA+ID4gPiA+Pj4gKyAgICAgICAgICAgIC8qIE90aGVyd2lzZSwg Y2hlY2sgZXhpdCBjb2RlIGluIGxvd2VyIDggYml0cy4NCj4gICAgICovXA0KPiA+ID4gPiA+Pj4g KyAgICAgICAgICAgIGlmIChyZXQgIT0gLTEgJiYgV0lGRVhJVEVEKHJldCkgJiYgV0VYSVRTVEFU VVMocmV0KQ0KPiA9PSAwKSBcDQo+ID4gPiA+ID4+PiArICAgICAgICAgICAgICAgIHJldHVybiAw Ow0KPiAgICAgICBcDQo+ID4gPiA+ID4+PiArICAgICAgICB9IHdoaWxlICgwKQ0KPiA+ID4gPiA+ Pj4gKw0KPiA+ID4gPiA+Pj4gKyAgICAgICAgVFJZX0NNRCgieGRnLW9wZW4iKTsNCj4gPiA+ID4g Pj4+ICsgICAgICAgIFRSWV9DTUQoImdub21lLW9wZW4iKTsNCj4gPiA+ID4gPj4+ICsgICAgICAg IFRSWV9DTUQoImtmbWNsaWVudCBleGVjIik7DQo+ID4gPiA+ID4+PiArDQo+ID4gPiA+ID4+PiAr ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNvdWxkIG5vdCBvcGVuICclcycgaW4gYSBicm93c2Vy LlxuIiwNCj4gPiA+ID4gaHRtbF9wYXRoKTsNCj4gPiA+ID4gPj4+ICsgICAgICAgIHJldHVybiAt MTsNCj4gPiA+ID4gPj4+ICsgICAgfQ0KPiA+ID4gPiA+Pj4gKw0KPiA+ID4gPiA+Pj4gKyNlbmRp Zg0KPiA+ID4gPiA+Pj4gK30NCj4gPiA+ID4gPj4gWy4uLl0NCj4gPiA+ID4gPj4NCj4gPiA+ID4g Pj4gU29ycnkgSSBkaWRuJ3QgaGF2ZSBhIGNsb3NlciBsb29rIGF0IHRoZSBwYXRjaHNldCB3aGls ZSBpdCB3YXMNCj4gdW5kZXINCj4gPiA+ID4gPj4gcmV2aWV3LCBidXQgc3lzdGVtKGNtZCkgaXMg YSBiaWcgbm8tbm8uIFdlIGNvdWxkIGNyZWF0ZSBhIGZpbGUNCj4gd2l0aCBhbg0KPiA+ID4gPiA+ PiBleHBsaWNpdCBwYXRoIHBhc3NlZCBieSB0aGUgdXNlciwgYnV0IHRoZW4gaXQncyB1cCB0byB0 aGUgdXNlciB0bw0KPiBvcGVuDQo+ID4gPiA+ID4+IGl0Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g V2hhdCdzIGJhZCBhYm91dCBvcGVuaW5nIGEgZmlsZSBpbiB0aGUgYnJvd3NlciB3aGVuIHRoYXQn cyB0aGUNCj4gZG9jdW1lbnRlZA0KPiA+ID4gPiA+IGJlaGF2aW9yIG9mIHRoZSBjbGkgcGFyYW1l dGVyPw0KPiA+ID4gPg0KPiA+ID4gPiBCZWNhdXNlIGZmbXBlZyBpcyBub3QgYSBicm93c2VyIG9w ZW5lciB0b29sLCBidXQgYSB0cmFuc2NvZGluZyB0b29sLg0KPiBBbg0KPiA+ID4gPiBhcmd1bWVu dCBjYW4gYmUgbWFkZSBmb3IgZXZlcnkgZmVhdHVyZSB5b3UgY2FuIHRoaW5rIG9mIChXaHkgbm90 IGFkZA0KPiBhbg0KPiA+ID4gPiBvcHRpb24gd2hpY2ggc2h1dHMgZG93biBhIGNvbXB1dGVyIHdo ZW4gdGhlIHRyYW5zY29kaW5nIGlzIGRvbmU/IFdoeQ0KPiBub3QNCj4gPiA+ID4gYWRkIGEgcGxh eWFibGUgRE9PTSBpbXBsZW1lbnRhdGlvbiBzbyB0aGUgdXNlciB3aWxsIG5vdCBiZSBib3JlZCB3 aGVuDQo+ID4gPiA+IHdhaXRpbmcgZm9yIHRoZSB0cmFuc2NvZGUgdG8gZmluaXNoKS4NCj4gPiA+ ID4NCj4gPiA+ID4gTGV0J3MganVzdCByZXZlcnQgdGhpcy4gVGhlIG1hbnkgZmZtcGVnIGNsaSBm cm9udGVuZHMgY2FuIG9wZW4NCj4gYnJvd3NlcnMgaWYNCj4gPiA+ID4gdGhleSB3YW50Lg0KPiA+ ID4NCj4gPiA+IE1hbnkgZ29vZCBhcmd1bWVudHMgY2FuIGJlIGZvdW5kIGZvciBib3RoIHNpZGVz Lg0KPiA+ID4NCj4gPiA+ID4gQmVjYXVzZSBmZm1wZWcgaXMgbm90IGEgYnJvd3NlciBvcGVuZXIg dG9vbA0KPiA+ID4NCj4gPiA+IEJ5IGFsbCByZXNwZWN0LCB0aGlzIGlzbid0IG9uZS4NCj4gPiA+ DQo+ID4gPg0KPiA+ID4gQW55d2F5LCBJIHdpbGwgbGV0IHRoZSBUQyBkZWNpZGUgYWJvdXQgdGhp cywgdGhlbi4NCj4gPg0KPiA+IE5vdCBzcGVha2luZyBhcyBhIFRDIG1lbWJlciBoZXJlIGJ1dCBJ TUhPDQo+ID4NCj4gPiAxLiBsZXRzIGFsbCBjYWxtIGRvd24sIHNvIGZhciB3ZSBoYXZlIGEgY2l2 aWwgYW5kIHByb2R1Y3RpdmUgZGlzY3Vzc2lvbg0KPiA+ICAgIG1heWJlIHdlIGNhbiBzaW1wbHkg ZmluZCBhIHNvbHV0aW9uIGV2ZXJ5b25lIGlzIGhhcHB5IHdpdGghDQo+ID4NCj4gPiAyLiBhbGwg c2VjdXJpdHkgaXNzdWVzIG11c3QgYmUgZml4ZWQgaWYgdGhlcmUgYXJlIHNvbWUNCj4gPg0KPiA+ IDMuIHRoZXJlIHNob3VsZCBiZSBhIGNvbmZpZ3VyZSBmbGFnIHRvIGVuYWJsZS9kaXNhYmxlIHRo ZSBicm93c2VyIG9wZW5pbmcNCj4gZmVhdHVyZQ0KPiA+ICAgIGlmIGl0IHJlbWFpbnMNCj4gPg0K PiA+IDQuIGNhbiBzeXN0ZW0oKSBiZSByZXBsYWNlZCBieSBmb3JrKCkrZXhlYyooKSA/IGlzIHRo YXQgc29tZXRoaW5nIHBlb3BsZQ0KPiB3b3VsZA0KPiA+ICAgIHByZWZlciA/DQo+IA0KPiBGb3Jr ZWQgcHJvY2Vzc2VzIGluaGVyaXQgb3BlbmVkIGZpbGUgZGVzY3JpcHRvcnMgdW5sZXNzIGV4cGxp Y2l0bHkgbWFya2VkDQo+IGFzIGNsb2V4ZWMsIHRoaXMgaXMgYW5vdGhlciBiaWcgY2FuIG9mIHdv cm1zLi4NCj4gDQo+ID4gNS4gdGhpcyBpcyBhIGNvb2wgZmVhdHVyZSwgaSB3b3VsZCB1c2UgdGhp cyBpZiBpdHMgYXZhaWxhYmxlLCB0aGF0IHNhaWQNCj4gPiAgICBpZiBpIGhhZCB0byBtYW51YWxs eSBvcGVuIGEgYnJvd3NlciB3aXRoIGEgZ2l2ZW4gVVJMIHRoYXQgd291bGQgd29yaw0KPiA+ICAg IGZvciBtZSB0b28uDQo+IA0KPiBBdCB0aGUgdmVyeSBsZWFzdCB0aGVyZSBzaG91bGQgYmUgYSBw cm9tcHQgYXNraW5nIHRoZSB1c2VyIHRvIGNvbmZpcm0NCj4gd2hhdCdzIGFib3V0IHRvIGhhcHBl bi4NCg0KSSB0aGluayB0aGF0J3MgYSB2ZXJ5IGdvb2QgYW5kIGFncmVlYWJsZSBwb2ludCBpbiBn ZW5lcmFsLCBpbmRlcGVuZGVudA0KZnJvbSBldmVyeXRoaW5nIGVsc2UuIEkgYXNzdW1lIHlvdSBt ZWFuIGF0IGZpcnN0LXRpbWUgdXNlPyBPciBmaXJzdCB0aW1lDQpwZXIgZGF5L21vbnRoIG1heWJl Pw0KDQoNCg0KPiANCj4gQSB1c2VyLWZyaWVuZCB3YXkgYW5kIGFsc28gc2VjdXJlIHdheSBjb3Vs ZCBiZSB0byBvdXRwdXQgc29tZXRoaW5nIHRoYXQgaXMNCj4gcmVhZGlseSB1c2FnZSwgZm9yIGlu c3RhbmNlOg0KPiBiYXNoIC1jIGBmZm1wZWcgPG9wdGlvbnM+YA0KDQpJJ20gbm90IHN1cmUgSSB1 bmRlcnN0YW5kIHRoZSBpZGVhLiBmZm1wZWcgc2hvdWxkIG91dHB1dCBhbm90aGVyIGZmbXBlZyBj b21tYW5kPw0KDQoNCg0KR2VuZXJhbGx5LCBJIHRoaW5rIHNvbWV0aGluZyB3aXRoIGEga2luZCBv ZiAiZmlyc3QtdGltZSBzZXR1cCIgcGF0dGVybiB3b3VsZCANCmJlIGdyZWF0IGxpa2U6DQoNCg0K LSBmZm1wZWcgLXNnDQogIC0gaWYgImZpcnN0LXRpbWUgdXNlIiAoPWRldGVjdCB3aGV0aGVyIHRo ZSAic2V0dXAiIGhhcyBiZWVuIG1hZGUpDQogICAgPT4gZG9uJ3QgZXhlY3V0ZSBhY3R1YWwgY21k IGJ1dCBzaG93IG1lc3NhZ2UgZXhwbGFpbmluZyB3aGF0IC1zZyBkb2VzLCBhbmQgDQogICAgICAg ICAgICAgICAgICBvZmZlciB0byBzZXQgaXQgdXAgZm9yIHRoZSB1c2VyIChpbiB3aGljaGV2ZXIg d2F5IGlzIG5lZWRlZCBvbiB0aGUgcGxhdGZvcm0pICBvciB0ZWxsIA0KICAgICAgICAgICAgICAg ICAgdGhlIHVzZXIgd2hhdCdzIG5lZWRlZCB0byBiZSBkb25lIGlmIHZlcnkgc2ltcGxlDQogICAg ICAgICAgICAgICAgICBpZiB1c2VyIGNob29zZXMgIm5vIiwgaXQgcHJpbnRzIGEgbWVzc2FnZSBh c2tpbmcgdG8gcmVtb3ZlIHRoZSAtc2cgcGFyYW0gYW5kIGV4aXRzDQogICAgLSBvdGhlcndpc2Ug dXNlIHRoZSBleGlzdGluZyAic2V0dXAiIHRvIGF1dG8tbGF1bmNoIHRoZSBicm93c2VyDQoNCk9u IHRoZSB0ZWNobmljYWwgc2lkZSwgSSBkb24ndCBoYXZlIGEgc3BlY2lmaWMgd2F5IGluIG1pbmQg eWV0LCBidXQgSSB0aGluayB0aGF0IG9wZW5zIHVwIG1vcmUgd2F5cyANCmhvdyB0aGUgYXV0by1s YXVuY2ggY291bGQgaGFwcGVuLiBJdCB3b3VsZCBiZSB2ZXJ5IGV4cGxpY2l0IGZvciBvbmNlIGFu ZCBhbHNvIG1vcmUgc2VjdXJlDQpiZWNhdXNlIGl0IGRvZXNuJ3Qgd29yayBvdXQtb2YtdGhlIGJv eCB3aXRob3V0ICJzZXR1cCIuIFdoZW4gRkZtcGVnIGNhbiBwZXJmb3JtIHRoZSBzZXR1cCB1cG9u IA0KdXNlciBjb25maXJtYXRpb24sIHRoZW4gaXQgd291bGQgc3RpbGwgYmUgdmVyeSBjb252ZW5p ZW50Lg0KDQpCZXN0DQpzdw0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcu b3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1 ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==