From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 82F3145A4E for ; Mon, 13 Mar 2023 22:35:13 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4805868993E; Tue, 14 Mar 2023 00:35:10 +0200 (EET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2062.outbound.protection.outlook.com [40.92.58.62]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7287D68993E for ; Tue, 14 Mar 2023 00:35:03 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XjzQTM2dLw3h5jR3TCcny6Ph4sXy31GeKluwc65nXdEEB4FY4ae3ojD9LumtK9p6WzUxJmSnKD6xIQNQD5cDyxZqCKxADrFGxgol/LgnA2x41q59LyePEv4HUYOxgPXDGCtkXV6cD6FXLggqTbMnFDcw05m2lcP6KGHCeetJ/7j7HUocyMpsfxmf3470rFbWdFPW/qgJZgbYQIT0jIPK/HDr1u43g2/w/NxEmQaDCnTs5GhUpgQWgrflY0qUUT7Yf09oAIeqGCmhybc03mj8gFn+VjPx1hrw7VPsvt0gGQx6lE8YW0UdhFd7+4/ei6QdBOhBLgJqKv+EGQMfDzGkqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=ih9cMOEuJhayw4eC5VN/EZfRvbXiJz7L/Q0dKZRtxME=; b=m3FMR6NJGNnz5TCrSIj+bsLUKa/UN7yNYKIwoXbZiUveP5AtB9e3X8hUpBPponLandvmEjdKYhWxTqFz41tLfZ+87Qvh7M9r9iW+EtGiVW4c5CGy5afswxnEYxCGczjTYcXEnJFbwivgKQ+SaMCpA98kv6WbvngbzMNIHuhvD2DI6nDbfTB7Q1yjO6FL6DXUVeS18pbfVTomKKGHdkK7+TLFVCz9liaZkHM4zGetxmbSdAhbKGR/sr2RpR3tUVo7sLeEhJ+8GG+w1Jf/OoR7piOfFRSxsGMQte2+qXbp0/UfXzQc2VcYCD6QbbuGedkttnSJF8sbDOTPUHsTSxql5g== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ih9cMOEuJhayw4eC5VN/EZfRvbXiJz7L/Q0dKZRtxME=; b=iRGUMhmQ3sIKlD2gQKEj3LEpPGv7OaCCNr6KhhD53104I99rEnL0KUKN81q8ab2dpkbr8NU1ojlx6HY8dzqOz6QzzTm+n41Ni7CPh5XfNmCIB9vVBV/TJ7XU7VGU3QFaP6e1o0cDPIqo8JpA7KS0DWlnQ+PtOXxGNl4IrmCRWuQXsRtEUGS32O+piG3k9TtlwLlSH15RDa9lqKxTucuyLlHPEQ+e1ZfrA575hoKyt5wKuan3z39901fAagr7ADwzKs1E8E7GpYiDxhvjuPKOSgiXf/Xlkn1wVzBFjb5sNXbXnO8anYxP2jxVm9R063oB+2Q26XvKGjvUAX4Pk0/ibw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by GV2P250MB1022.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:dd::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar 2023 22:35:01 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::73a:bd4b:26f3:cc2b]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::73a:bd4b:26f3:cc2b%3]) with mapi id 15.20.6178.015; Mon, 13 Mar 2023 22:35:01 +0000 Message-ID: Date: Mon, 13 Mar 2023 23:35:37 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <6f3fc186-0b7f-052c-ecfb-b884eace4fed@vimeo.com> From: Andreas Rheinhardt In-Reply-To: <6f3fc186-0b7f-052c-ecfb-b884eace4fed@vimeo.com> X-TMN: [EljhhrMT92/DO4frxkRRvWXnu0r23yksNyRDHAyleAM=] X-ClientProxiedBy: ZR0P278CA0081.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:22::14) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <2d741b18-8ebb-2a14-8c55-62ac9f273779@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|GV2P250MB1022:EE_ X-MS-Office365-Filtering-Correlation-Id: bf6c98db-a677-41e7-8287-08db24132ef5 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FHkC9YitXSpOzk7pPLRHaVDlyd+NPg1kQHcNnBjmlZPiiAO+tOmFqmLgS3ASreXNex9QbN2fMLfwb9ZfyjgDkhf49onkPLxZHZsYI1gtawdQJ4XbyfndApeymqjr8XGRGpAqTRhGxXbg4uU7+reP5rw76c5RgLmr6PduFLsyEm4/bGUo2BHZxnzw6igvIbdu4087qxUg6KXSG39q2A6x/FYJr3neu7qhbCLQYlsJJN+VJBLlEA/yKRYpGu2FhUPfl9n9qsQ6O4b7+krVnVrxhxD5uIy+ADdNKJd0H6CUfdzIVI4UphCMGpRN0N1F4QtlM32sVvPoaF11XCzTaJCmoioSYSOrTNRCjh6TVRsjpHcERrVl26ezA6ZZSO7Mg8DjAX5XtJNLUA4nZHiFvm7bGRXA7TtNNk0DOwPbT89o+GdsXLLvFflWhmeVBuGnaDuBGN1rLHb6rs9ERwjx6RKzSwlAJjMf0TaVBOvM2lfM53DNHa2N7OaqUfUigf9mwS2JRQ8gEhtcFO/ReACVuXpjC98twEI0vZmQI+/qxFUNPsGMGWaJ/aH/zEM3u/yJCMpVEDGnslrp5+cVGFiL6CSAcU7b5JExbIyFoIp78jze2LJeMIjayCagBFwQu8EzMI5S0bGZPtkINtV7pnZv2xx0pA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TnpScEdvdVp2aEUvSWpQWmpjNzRMRmljYzROTUs2M1RuZkxqZ1d6b0hZMkc3?= =?utf-8?B?TWpieVdvbzNGaGYyUUttalZ4UzN1NjZIRWl1bi8yL3BROGNyWTh5QjdRSVk5?= =?utf-8?B?Mzl1ODEwaHJuQmRpMjJueURDaU9VZmliWUZXVy9iK2MyVk5KRE5mWkdrQkNP?= =?utf-8?B?alcrV1FaYXdrcDIrM2FwaHF4Tkw0YXVLcFdIWktLdk5NTWh5VUk4UkxrY2RT?= =?utf-8?B?cTJlRjRROXVYQm4vN2VmckNEOUtlT04zTDYrMDdiOWxNeFBOa0ZyTlhDNlNG?= =?utf-8?B?a1FSa2FxZzdvWldFWGhBZzNiMWhTUko4RTJRV2NqNUxEUjZHODAvUXgxbjly?= =?utf-8?B?OFBtVElCUW9zaWNoWm84bkQxZGcrSU52d09QSllhM0VhWU1WOEIwUHp4Sk91?= =?utf-8?B?VDcwUmw4MWNwK0I4NnU5V1ZtVUxRY0NCV2QxYWg2K3JBdVZNQUQ1Nk4wTy80?= =?utf-8?B?WUppa3d2bkg1RkhFZUFtZEt2NGMxUENaekJJZWtWZXRMditKM1UwYWk1U2FN?= =?utf-8?B?R0RxbS9pcFUvcytPMGw1OGp5UU1vRW9sMEY3UU1ZYmlRb3Q2OHNzclI1d1lE?= =?utf-8?B?aERQN0U0RVpMQkcwaXB5SmFxZW1RblE2b2tEb2Z5bW4vMEpLR3hYNlJnOTJu?= =?utf-8?B?d2c5Yi8rNkIwR2NVOXhWQ0s0YitlczhOeUVGRk9RVFBzMzZpL1RSVGE4MDJ0?= =?utf-8?B?T2sxbFBhRnRQLy9TRXZVNDV3Y0pFU0s0K3dpLy9IVFpKMDBDZnVJNXVLNHUy?= =?utf-8?B?ZXJUM2phZkw0NGIxNExURjlHb3Q1OHZmZjVpMTBzWDlNNlpVdm94aXpTc0pX?= =?utf-8?B?Wm1sbmgyUjVNczFJY2VJaVROVkgxZXhBcmw5NXpXR3lYMmVoZnJid01ZOXph?= =?utf-8?B?b28wMmtSSUVaenQzSkFZNlhWWWZBWWdEL2QrSVE1anI0Nnpia05WT1FCMWJS?= =?utf-8?B?UEQvSFZ0WHFCWVFpUG15YWFGd285dVNRMGNJZno2RzVvNTRTaUxMRllPQWhG?= =?utf-8?B?R1FhdlhjbnhxaHYyOXBxaTdFbTJ3blM4SG4rT3o3dzIvV2xuNHlxSTE2YUJp?= =?utf-8?B?V3BmVGZwN3JaSU9aU29XV0U4Vy8vZUhDbXMxeVlHemlCaVhjMmJWazZtNmE2?= =?utf-8?B?MkpNWnJKREhxb1NqSFRFOUNNMkRxTGRmUFZGeVNwTGloZFM4UWRXTXpRRmVn?= =?utf-8?B?VUdwamdJVnpCbkVYTUs1dmRQTjRUcmh5YWZ2L01BR2IySVpxS1NHblZBMmJm?= =?utf-8?B?NU53a0xNTjJ4emZqYWFQL1hCM2Yrb3h3OHdUR1NaYnZrN3lqK2xwaHlZN0Yy?= =?utf-8?B?Q01oNTB1Zk4xeVVERHlLTC9hdUJyRTZCT2hkYnBNaUFWTGFpSjhrWUlTcFBl?= =?utf-8?B?a1A2NjdDSWVqRzIwSmQvdzFzcHFFcmR2MlFFc0dwVFpjTEFrNmJTM3Z6bFEx?= =?utf-8?B?UENDMnZFWEVuejEvdkMvNldTM3FCZWdRZFZMZnAvNmJHS1JMZWdFcXpFS3JJ?= =?utf-8?B?TWp4dGh3VnRHYXdYZWROMzJnYllMaExadzNSOG8rQW9uSHJDcFhwNnZ4WGZN?= =?utf-8?B?RHBESW4rTjNERDQ4SGtFMVRldmNmQWhMMm1LVGg2RnNhSWlIdDVlaklkcW9C?= =?utf-8?B?N0d0cEZENFNBSXdOa2dsS3FTUVpoWFVwcW0yWnp0UFd4RERBNzkvdm5HZzU4?= =?utf-8?B?dWhNczhvUjF1dnFWTUpFZUxybkVENXBsMEZPbWhUR0JrV3d3b1Z6K2J5TGx4?= =?utf-8?Q?vtLGYnOsbrngQP0QGRrwS+OJ0C0v/mVaU+Da9sm?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf6c98db-a677-41e7-8287-08db24132ef5 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 22:35:01.5752 (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: GV2P250MB1022 Subject: Re: [FFmpeg-devel] [PATCH v5 2/2] avutil: add HDR10+ dynamic metadata serialization function 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: UmFwaGHDq2wgWnVtZXI6Cj4gQ28tYXV0aG9yZWQtYnk6IE1vaGFtbWFkIEl6YWRpIDxtb2guaXph ZGlAZ21haWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFJhcGhhw6tsIFp1bWVyIDxyenVtZXJAdGVi YWtvLm5ldD4KPiAtLS0KPiAgZG9jL0FQSWNoYW5nZXMgICAgICAgICAgICAgICAgICAgfCAgIDUg KysKPiAgbGliYXZ1dGlsL2hkcl9keW5hbWljX21ldGFkYXRhLmMgfCAxNDUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+ICBsaWJhdnV0aWwvaGRyX2R5bmFtaWNfbWV0YWRhdGEuaCB8 ICAxMyArKysKPiAgbGliYXZ1dGlsL3ZlcnNpb24uaCAgICAgICAgICAgICAgfCAgIDIgKy0KPiAg NCBmaWxlcyBjaGFuZ2VkLCAxNjQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRp ZmYgLS1naXQgYS9kb2MvQVBJY2hhbmdlcyBiL2RvYy9BUEljaGFuZ2VzCj4gaW5kZXggMTQ3Mzcy MjNjYi4uM2E2MWQ2MTkzMSAxMDA2NDQKPiAtLS0gYS9kb2MvQVBJY2hhbmdlcwo+ICsrKyBiL2Rv Yy9BUEljaGFuZ2VzCj4gQEAgLTIsNiArMiwxMSBAQCBUaGUgbGFzdCB2ZXJzaW9uIGluY3JlYXNl cyBvZiBhbGwgbGlicmFyaWVzIHdlcmUgb24gMjAyMy0wMi0wOQo+ICAKPiAgQVBJIGNoYW5nZXMs IG1vc3QgcmVjZW50IGZpcnN0Ogo+ICAKPiArMjAyMy0wMy0xMyAtIHh4eHh4eHh4eHggLSBsYXZ1 IDU4LjQuMTAwIC0gaGRyX2R5bmFtaWNfbWV0YWRhdGEuaAo+ICsgIEFkZCBhdl9keW5hbWljX2hk cl9wbHVzX2Zyb21fdDM1KCkgYW5kIGF2X2R5bmFtaWNfaGRyX3BsdXNfdG9fdDM1KCkKPiArICBm dW5jdGlvbnMgdG8gY29udmVydCBiZXR3ZWVuIHJhdyBULjM1IHBheWxvYWRzIGNvbnRhaW5pbmcg ZHluYW1pYwo+ICsgIEhEUjEwKyBtZXRhZGF0YSBhbmQgdGhlaXIgcGFyc2VkIHJlcHJlc2VudGF0 aW9ucyBhcyBBVkR5bmFtaWNIRFJQbHVzLgo+ICsKPiAgMjAyMy0wMy0wMiAtIHh4eHh4eHh4eHgg LSBsYXZjIDYwLjYuMTAwIC0gYXZjb2RlYy5oCj4gICAgQWRkIEZGX1BST0ZJTEVfRUFDM19ERFBf QVRNT1MsIEZGX1BST0ZJTEVfVFJVRUhEX0FUTU9TLAo+ICAgIEZGX1BST0ZJTEVfRFRTX0hEX01B X1ggYW5kIEZGX1BST0ZJTEVfRFRTX0hEX01BX1hfSU1BWC4KPiBkaWZmIC0tZ2l0IGEvbGliYXZ1 dGlsL2hkcl9keW5hbWljX21ldGFkYXRhLmMgYi9saWJhdnV0aWwvaGRyX2R5bmFtaWNfbWV0YWRh dGEuYwo+IGluZGV4IDk4ZjM5OWIwMzIuLjllMzVkOTI5YzcgMTAwNjQ0Cj4gLS0tIGEvbGliYXZ1 dGlsL2hkcl9keW5hbWljX21ldGFkYXRhLmMKPiArKysgYi9saWJhdnV0aWwvaGRyX2R5bmFtaWNf bWV0YWRhdGEuYwo+IEBAIC0yMjUsMyArMjI1LDE0OCBAQCBpbnQgYXZfZHluYW1pY19oZHJfcGx1 c19mcm9tX3QzNShBVkR5bmFtaWNIRFJQbHVzICpzLCBjb25zdCB1aW50OF90ICpkYXRhLAo+ICAK PiAgICAgIHJldHVybiAwOwo+ICB9Cj4gKwo+ICtpbnQgYXZfZHluYW1pY19oZHJfcGx1c190b190 MzUodWludDhfdCAqKmRhdGEsIHNpemVfdCAqc2l6ZSwgY29uc3QgQVZEeW5hbWljSERSUGx1cyAq cykKPiArewo+ICsgICAgdWludDhfdCAqYnVmOwo+ICsgICAgc2l6ZV90IHNpemVfYml0cywgc2l6 ZV9ieXRlczsKPiArICAgIFB1dEJpdENvbnRleHQgcGJjLCAqcGIgPSAmcGJjOwo+ICsKPiArICAg IGlmICghZGF0YSB8fCAhc2l6ZSB8fCAhcykKCnNpemUgYmVpbmcgbWFuZGF0b3J5IGlzIGRpZmZl cmVudCBmcm9tIHNpbWlsYXIgQVBJcy4gVGhlcmUgaXMgZXZlbiBhCnVzZWNhc2Ugd2l0aG91dCBz aXplOiBJZiB5b3Ugc2ltcGx5IGZlZWQgdGhpcyB0byBzb21ldGhpbmcgdGhhdCBleHBlY3RzCnRo ZSBkYXRhIHRvIGJlIHNlcmlhbGl6ZWQgYW5kIHRydXN0IHRoZSBkYXRhIHRvIGJlIGNvbXBsZXRl LCB5b3UgZG9uJ3QKbmVlZCB0aGUgc2l6ZS4KCj4gKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlO VkFMKTsKPiArCj4gKyAgICAvKioKPiArICAgICAqIEJ1ZmZlciBzaXplIHBlciBDVEEtODYxLUgg cC4yNTMtMjU0Ogo+ICsgICAgICogNDggYml0cyBmb3IgdGhlIGhlYWRlciAoNTYgbWludXMgZXhj bHVkZWQgOC1iaXQgY291bnRyeSBjb2RlKQo+ICsgICAgICogMiBiaXRzIGZvciBudW1fd2luZG93 cwo+ICsgICAgICogOTM3IGJpdHMgZm9yIHdpbmRvdyBnZW9tZXRyeSwgZm9yIGVhY2ggd2luZG93 IGFib3ZlIDEKPiArICAgICAqIDI3IGJpdHMgZm9yIHRhcmdldGVkX3N5c3RlbV9kaXNwbGF5X21h eGltdW1fbHVtaW5hbmNlCj4gKyAgICAgKiAxLTM4NTUgYml0cyBmb3IgdGFyZ2V0ZWQgc3lzdGVt IGRpc3BsYXkgcGVhayBsdW1pbmFuY2UgaW5mb3JtYXRpb24KPiArICAgICAqIDAtNDQyIGJpdHMg Zm9yIGludHJhLXdpbmRvdyBwaXhlbCBkaXN0cmlidXRpb24gaW5mb3JtYXRpb24KPiArICAgICAq IDEtMzg1NSBiaXRzIGZvciBtYXN0ZXJpbmcgZGlzcGxheSBwZWFrIGx1bWluYW5jZSBpbmZvcm1h dGlvbgo+ICsgICAgICogMC01MzcgYml0cyBmb3IgcGVyLXdpbmRvdyB0b25lbWFwcGluZyBpbmZv cm1hdGlvbgo+ICsgICAgICogMC0yMSBiaXRzIGZvciBwZXItd2luZG93IGNvbG9yIHNhdHVyYXRp b24gbWFwcGluZyBpbmZvcm1hdGlvbgo+ICsgICAgICovCj4gKyAgICBzaXplX2JpdHMgPSA0OCAr Cj4gKyAgICAgICAgMiArCj4gKyAgICAgICAgRkZNQVgoKHMtPm51bV93aW5kb3dzIC0gMSksIDAp ICogOTM3ICsKPiArICAgICAgICAyNyArCj4gKyAgICAgICAgMSArIChzLT50YXJnZXRlZF9zeXN0 ZW1fZGlzcGxheV9hY3R1YWxfcGVha19sdW1pbmFuY2VfZmxhZyA/IDEwICsKPiArICAgICAgICAg ICAgcy0+bnVtX3Jvd3NfdGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5h bmNlICoKPiArICAgICAgICAgICAgcy0+bnVtX2NvbHNfdGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlf YWN0dWFsX3BlYWtfbHVtaW5hbmNlICogNCA6IDApICsKPiArICAgICAgICBzLT5udW1fd2luZG93 cyAqIDgyOwo+ICsKPiArICAgIGZvciAoaW50IHcgPSAwOyB3IDwgcy0+bnVtX3dpbmRvd3M7IHcr KykKPiArICAgICAgICBzaXplX2JpdHMgKz0gcy0+cGFyYW1zW3ddLm51bV9kaXN0cmlidXRpb25f bWF4cmdiX3BlcmNlbnRpbGVzICogMjQ7Cj4gKwo+ICsgICAgc2l6ZV9iaXRzICs9IDEgKyAocy0+ bWFzdGVyaW5nX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNlX2ZsYWcgPyAxMCArCj4gKyAg ICAgICAgcy0+bnVtX3Jvd3NfbWFzdGVyaW5nX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNl ICoKPiArICAgICAgICBzLT5udW1fY29sc19tYXN0ZXJpbmdfZGlzcGxheV9hY3R1YWxfcGVha19s dW1pbmFuY2UgKiA0IDogMCkgKwo+ICsgICAgICAgIHMtPm51bV93aW5kb3dzICogMTsKPiArCj4g KyAgICBmb3IgKGludCB3ID0gMDsgdyA8IHMtPm51bV93aW5kb3dzOyB3KyspIHsKPiArICAgICAg ICBpZiAocy0+cGFyYW1zW3ddLnRvbmVfbWFwcGluZ19mbGFnKQo+ICsgICAgICAgICAgICBzaXpl X2JpdHMgKz0gMjggKyBzLT5wYXJhbXNbd10ubnVtX2Jlemllcl9jdXJ2ZV9hbmNob3JzICogMTA7 Cj4gKyAgICB9Cj4gKwo+ICsgICAgc2l6ZV9iaXRzICs9IHMtPm51bV93aW5kb3dzICogMTsKPiAr ICAgIGZvciAoaW50IHcgPSAwOyB3IDwgcy0+bnVtX3dpbmRvd3M7IHcrKykgewo+ICsgICAgICAg IGlmIChzLT5wYXJhbXNbd10uY29sb3Jfc2F0dXJhdGlvbl9tYXBwaW5nX2ZsYWcpCj4gKyAgICAg ICAgICAgIHNpemVfYml0cyArPSA2Owo+ICsgICAgfQo+ICsKPiArICAgIHNpemVfYnl0ZXMgPSAo c2l6ZV9iaXRzICsgNykgLyA4Owo+ICsKPiArICAgIGJ1ZiA9IGF2X21hbGxvYyhzaXplX2J5dGVz KTsKCllvdSBhcmUgYWxsb2NhdGluZyB3aXRob3V0IGFueSBwYWRkaW5nLiBUaGlzIGltcGxpZXMg dGhhdCBvbmUgY291bGQgbm90CnVzZSB0aGlzIGJ1ZmZlciB3aXRoIG91ciBHZXRCaXQtQVBJIG9y IGluIG90aGVyIHBsYWNlcyB3aGVyZSBvbmUgbmVlZGVkCmEgcGFkZGVkIGJ1ZmZlci4KCj4gKyAg ICBpZiAoIWJ1ZikKPiArICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+ICsKPiArICAg IGluaXRfcHV0X2JpdHMocGIsIGJ1Ziwgc2l6ZV9ieXRlcyk7Cj4gKwo+ICsgICAgLy8gaXR1X3Rf dDM1X2NvdW50cnlfY29kZSBzaGFsbCBiZSAweEI1IChVU0EpIChleGNsdWRlZCBmcm9tIHRoZSBw YXlsb2FkKQo+ICsgICAgLy8gaXR1X3RfdDM1X3Rlcm1pbmFsX3Byb3ZpZGVyX2NvZGUgc2hhbGwg YmUgMHgwMDNDCj4gKyAgICBwdXRfYml0cyhwYiwgMTYsIDB4MDAzQyk7Cj4gKyAgICAvLyBpdHVf dF90MzVfdGVybWluYWxfcHJvdmlkZXJfb3JpZW50ZWRfY29kZSBpcyBzZXQgdG8gU1QgMjA5NC00 MAo+ICsgICAgcHV0X2JpdHMocGIsIDE2LCAweDAwMDEpOwo+ICsgICAgLy8gYXBwbGljYXRpb25f aWRlbnRpZmllciBzaGFsbCBiZSBzZXQgdG8gNAo+ICsgICAgcHV0X2JpdHMocGIsIDgsIDQpOwo+ ICsgICAgLy8gYXBwbGljYXRpb25fbW9kZSBpcyBzZXQgdG8gQXBwbGljYXRpb24gVmVyc2lvbiAx Cj4gKyAgICBwdXRfYml0cyhwYiwgOCwgMSk7Cj4gKwo+ICsgICAgLy8gUGF5bG9hZCBhcyBwZXIg Q1RBLTg2MS1IIHAuMjUzLTI1NAo+ICsgICAgcHV0X2JpdHMocGIsIDIsIHMtPm51bV93aW5kb3dz KTsKPiArCj4gKyAgICBmb3IgKGludCB3ID0gMTsgdyA8IHMtPm51bV93aW5kb3dzOyB3KyspIHsK PiArICAgICAgICBwdXRfYml0cyhwYiwgMTYsIHMtPnBhcmFtc1t3XS53aW5kb3dfdXBwZXJfbGVm dF9jb3JuZXJfeC5udW0gLyBzLT5wYXJhbXNbd10ud2luZG93X3VwcGVyX2xlZnRfY29ybmVyX3gu ZGVuKTsKPiArICAgICAgICBwdXRfYml0cyhwYiwgMTYsIHMtPnBhcmFtc1t3XS53aW5kb3dfdXBw ZXJfbGVmdF9jb3JuZXJfeS5udW0gLyBzLT5wYXJhbXNbd10ud2luZG93X3VwcGVyX2xlZnRfY29y bmVyX3kuZGVuKTsKPiArICAgICAgICBwdXRfYml0cyhwYiwgMTYsIHMtPnBhcmFtc1t3XS53aW5k b3dfbG93ZXJfcmlnaHRfY29ybmVyX3gubnVtIC8gcy0+cGFyYW1zW3ddLndpbmRvd19sb3dlcl9y aWdodF9jb3JuZXJfeC5kZW4pOwo+ICsgICAgICAgIHB1dF9iaXRzKHBiLCAxNiwgcy0+cGFyYW1z W3ddLndpbmRvd19sb3dlcl9yaWdodF9jb3JuZXJfeS5udW0gLyBzLT5wYXJhbXNbd10ud2luZG93 X2xvd2VyX3JpZ2h0X2Nvcm5lcl95LmRlbik7Cj4gKyAgICAgICAgcHV0X2JpdHMocGIsIDE2LCBz LT5wYXJhbXNbd10uY2VudGVyX29mX2VsbGlwc2VfeCk7Cj4gKyAgICAgICAgcHV0X2JpdHMocGIs IDE2LCBzLT5wYXJhbXNbd10uY2VudGVyX29mX2VsbGlwc2VfeSk7Cj4gKyAgICAgICAgcHV0X2Jp dHMocGIsIDgsIHMtPnBhcmFtc1t3XS5yb3RhdGlvbl9hbmdsZSk7Cj4gKyAgICAgICAgcHV0X2Jp dHMocGIsIDE2LCBzLT5wYXJhbXNbd10uc2VtaW1ham9yX2F4aXNfaW50ZXJuYWxfZWxsaXBzZSk7 Cj4gKyAgICAgICAgcHV0X2JpdHMocGIsIDE2LCBzLT5wYXJhbXNbd10uc2VtaW1ham9yX2F4aXNf ZXh0ZXJuYWxfZWxsaXBzZSk7Cj4gKyAgICAgICAgcHV0X2JpdHMocGIsIDE2LCBzLT5wYXJhbXNb d10uc2VtaW1pbm9yX2F4aXNfZXh0ZXJuYWxfZWxsaXBzZSk7Cj4gKyAgICAgICAgcHV0X2JpdHMo cGIsIDEsIHMtPnBhcmFtc1t3XS5vdmVybGFwX3Byb2Nlc3Nfb3B0aW9uKTsKPiArICAgIH0KPiAr Cj4gKyAgICBwdXRfYml0cyhwYiwgMjcsIHMtPnRhcmdldGVkX3N5c3RlbV9kaXNwbGF5X21heGlt dW1fbHVtaW5hbmNlLm51bSAqIGx1bWluYW5jZV9kZW4gLwo+ICsgICAgICAgIHMtPnRhcmdldGVk X3N5c3RlbV9kaXNwbGF5X21heGltdW1fbHVtaW5hbmNlLmRlbik7Cj4gKyAgICBwdXRfYml0cyhw YiwgMSwgcy0+dGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNlX2Zs YWcpOwo+ICsgICAgaWYgKHMtPnRhcmdldGVkX3N5c3RlbV9kaXNwbGF5X2FjdHVhbF9wZWFrX2x1 bWluYW5jZV9mbGFnKSB7Cj4gKyAgICAgICAgcHV0X2JpdHMocGIsIDUsIHMtPm51bV9yb3dzX3Rh cmdldGVkX3N5c3RlbV9kaXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5jZSk7Cj4gKyAgICAgICAg cHV0X2JpdHMocGIsIDUsIHMtPm51bV9jb2xzX3RhcmdldGVkX3N5c3RlbV9kaXNwbGF5X2FjdHVh bF9wZWFrX2x1bWluYW5jZSk7Cj4gKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzLT5udW1f cm93c190YXJnZXRlZF9zeXN0ZW1fZGlzcGxheV9hY3R1YWxfcGVha19sdW1pbmFuY2U7IGkrKykg ewo+ICsgICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IHMtPm51bV9jb2xzX3RhcmdldGVk X3N5c3RlbV9kaXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5jZTsgaisrKQo+ICsgICAgICAgICAg ICAgICAgcHV0X2JpdHMocGIsIDQsIHMtPnRhcmdldGVkX3N5c3RlbV9kaXNwbGF5X2FjdHVhbF9w ZWFrX2x1bWluYW5jZVtpXVtqXS5udW0gKiBwZWFrX2x1bWluYW5jZV9kZW4gLwo+ICsgICAgICAg ICAgICAgICAgICAgIHMtPnRhcmdldGVkX3N5c3RlbV9kaXNwbGF5X2FjdHVhbF9wZWFrX2x1bWlu YW5jZVtpXVtqXS5kZW4pOwo+ICsgICAgICAgIH0KPiArICAgIH0KPiArCj4gKyAgICBmb3IgKGlu dCB3ID0gMDsgdyA8IHMtPm51bV93aW5kb3dzOyB3KyspIHsKPiArICAgICAgICBmb3IgKGludCBp ID0gMDsgaSA8IDM7IGkrKykKPiArICAgICAgICAgICAgcHV0X2JpdHMocGIsIDE3LCBzLT5wYXJh bXNbd10ubWF4c2NsW2ldLm51bSAqIHJnYl9kZW4gLyBzLT5wYXJhbXNbd10ubWF4c2NsW2ldLmRl bik7Cj4gKyAgICAgICAgcHV0X2JpdHMocGIsIDE3LCBzLT5wYXJhbXNbd10uYXZlcmFnZV9tYXhy Z2IubnVtICogcmdiX2RlbiAvIHMtPnBhcmFtc1t3XS5hdmVyYWdlX21heHJnYi5kZW4pOwo+ICsg ICAgICAgIHB1dF9iaXRzKHBiLCA0LCBzLT5wYXJhbXNbd10ubnVtX2Rpc3RyaWJ1dGlvbl9tYXhy Z2JfcGVyY2VudGlsZXMpOwo+ICsgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcy0+cGFyYW1z W3ddLm51bV9kaXN0cmlidXRpb25fbWF4cmdiX3BlcmNlbnRpbGVzOyBpKyspIHsKPiArICAgICAg ICAgICAgcHV0X2JpdHMocGIsIDcsIHMtPnBhcmFtc1t3XS5kaXN0cmlidXRpb25fbWF4cmdiW2ld LnBlcmNlbnRhZ2UpOwo+ICsgICAgICAgICAgICBwdXRfYml0cyhwYiwgMTcsIHMtPnBhcmFtc1t3 XS5kaXN0cmlidXRpb25fbWF4cmdiW2ldLnBlcmNlbnRpbGUubnVtICogcmdiX2RlbiAvCj4gKyAg ICAgICAgICAgICAgICBzLT5wYXJhbXNbd10uZGlzdHJpYnV0aW9uX21heHJnYltpXS5wZXJjZW50 aWxlLmRlbik7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIHB1dF9iaXRzKHBiLCAxMCwgcy0+cGFy YW1zW3ddLmZyYWN0aW9uX2JyaWdodF9waXhlbHMubnVtICogZnJhY3Rpb25fcGl4ZWxfZGVuIC8K PiArICAgICAgICAgICAgcy0+cGFyYW1zW3ddLmZyYWN0aW9uX2JyaWdodF9waXhlbHMuZGVuKTsK PiArICAgIH0KPiArCj4gKyAgICBwdXRfYml0cyhwYiwgMSwgcy0+bWFzdGVyaW5nX2Rpc3BsYXlf YWN0dWFsX3BlYWtfbHVtaW5hbmNlX2ZsYWcpOwo+ICsgICAgaWYgKHMtPm1hc3RlcmluZ19kaXNw bGF5X2FjdHVhbF9wZWFrX2x1bWluYW5jZV9mbGFnKSB7Cj4gKyAgICAgICAgcHV0X2JpdHMocGIs IDUsIHMtPm51bV9yb3dzX21hc3RlcmluZ19kaXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5jZSk7 Cj4gKyAgICAgICAgcHV0X2JpdHMocGIsIDUsIHMtPm51bV9jb2xzX21hc3RlcmluZ19kaXNwbGF5 X2FjdHVhbF9wZWFrX2x1bWluYW5jZSk7Cj4gKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBz LT5udW1fcm93c19tYXN0ZXJpbmdfZGlzcGxheV9hY3R1YWxfcGVha19sdW1pbmFuY2U7IGkrKykg ewo+ICsgICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IHMtPm51bV9jb2xzX21hc3Rlcmlu Z19kaXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5jZTsgaisrKQo+ICsgICAgICAgICAgICAgICAg cHV0X2JpdHMocGIsIDQsIHMtPm1hc3RlcmluZ19kaXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5j ZVtpXVtqXS5udW0gKiBwZWFrX2x1bWluYW5jZV9kZW4gLwo+ICsgICAgICAgICAgICAgICAgICAg IHMtPm1hc3RlcmluZ19kaXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5jZVtpXVtqXS5kZW4pOwo+ ICsgICAgICAgIH0KPiArICAgIH0KPiArCj4gKyAgICBmb3IgKGludCB3ID0gMDsgdyA8IHMtPm51 bV93aW5kb3dzOyB3KyspIHsKPiArICAgICAgICBwdXRfYml0cyhwYiwgMSwgcy0+cGFyYW1zW3dd LnRvbmVfbWFwcGluZ19mbGFnKTsKPiArICAgICAgICBpZiAocy0+cGFyYW1zW3ddLnRvbmVfbWFw cGluZ19mbGFnKSB7Cj4gKyAgICAgICAgICAgIHB1dF9iaXRzKHBiLCAxMiwgcy0+cGFyYW1zW3dd LmtuZWVfcG9pbnRfeC5udW0gKiBrbmVlX3BvaW50X2RlbiAvIHMtPnBhcmFtc1t3XS5rbmVlX3Bv aW50X3guZGVuKTsKPiArICAgICAgICAgICAgcHV0X2JpdHMocGIsIDEyLCBzLT5wYXJhbXNbd10u a25lZV9wb2ludF95Lm51bSAqIGtuZWVfcG9pbnRfZGVuIC8gcy0+cGFyYW1zW3ddLmtuZWVfcG9p bnRfeS5kZW4pOwo+ICsgICAgICAgICAgICBwdXRfYml0cyhwYiwgNCwgcy0+cGFyYW1zW3ddLm51 bV9iZXppZXJfY3VydmVfYW5jaG9ycyk7Cj4gKyAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBp IDwgcy0+cGFyYW1zW3ddLm51bV9iZXppZXJfY3VydmVfYW5jaG9yczsgaSsrKQo+ICsgICAgICAg ICAgICAgICAgcHV0X2JpdHMocGIsIDEwLCBzLT5wYXJhbXNbd10uYmV6aWVyX2N1cnZlX2FuY2hv cnNbaV0ubnVtICogYmV6aWVyX2FuY2hvcl9kZW4gLwo+ICsgICAgICAgICAgICAgICAgICAgIHMt PnBhcmFtc1t3XS5iZXppZXJfY3VydmVfYW5jaG9yc1tpXS5kZW4pOwo+ICsgICAgICAgICAgICBw dXRfYml0cyhwYiwgMSwgcy0+cGFyYW1zW3ddLmNvbG9yX3NhdHVyYXRpb25fbWFwcGluZ19mbGFn KTsKPiArICAgICAgICAgICAgaWYgKHMtPnBhcmFtc1t3XS5jb2xvcl9zYXR1cmF0aW9uX21hcHBp bmdfZmxhZykKPiArICAgICAgICAgICAgICAgIHB1dF9iaXRzKHBiLCA2LCBzLT5wYXJhbXNbd10u Y29sb3Jfc2F0dXJhdGlvbl93ZWlnaHQubnVtICogc2F0dXJhdGlvbl93ZWlnaHRfZGVuIC8KPiAr ICAgICAgICAgICAgICAgICAgICBzLT5wYXJhbXNbd10uY29sb3Jfc2F0dXJhdGlvbl93ZWlnaHQu ZGVuKTsKPiArICAgICAgICB9Cj4gKyAgICB9Cj4gKwo+ICsgICAgZmx1c2hfcHV0X2JpdHMocGIp Owo+ICsKPiArICAgICpkYXRhID0gYnVmOwo+ICsgICAgKnNpemUgPSBzaXplX2J5dGVzOwo+ICsg ICAgcmV0dXJuIDA7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2hkcl9keW5hbWljX21l dGFkYXRhLmggYi9saWJhdnV0aWwvaGRyX2R5bmFtaWNfbWV0YWRhdGEuaAo+IGluZGV4IDFmOTUz ZWYxZjUuLmYyZDc4MDUxYWIgMTAwNjQ0Cj4gLS0tIGEvbGliYXZ1dGlsL2hkcl9keW5hbWljX21l dGFkYXRhLmgKPiArKysgYi9saWJhdnV0aWwvaGRyX2R5bmFtaWNfbWV0YWRhdGEuaAo+IEBAIC0y MSw2ICsyMSw3IEBACj4gICNpZm5kZWYgQVZVVElMX0hEUl9EWU5BTUlDX01FVEFEQVRBX0gKPiAg I2RlZmluZSBBVlVUSUxfSERSX0RZTkFNSUNfTUVUQURBVEFfSAo+ICAKPiArI2luY2x1ZGUgImJ1 ZmZlci5oIgo+ICAjaW5jbHVkZSAiZnJhbWUuaCIKPiAgI2luY2x1ZGUgInJhdGlvbmFsLmgiCj4g IAo+IEBAIC0zNTEsNCArMzUyLDE2IEBAIEFWRHluYW1pY0hEUlBsdXMgKmF2X2R5bmFtaWNfaGRy X3BsdXNfY3JlYXRlX3NpZGVfZGF0YShBVkZyYW1lICpmcmFtZSk7Cj4gIGludCBhdl9keW5hbWlj X2hkcl9wbHVzX2Zyb21fdDM1KEFWRHluYW1pY0hEUlBsdXMgKnMsIGNvbnN0IHVpbnQ4X3QgKmRh dGEsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaXplKTsKPiAgCj4g Ky8qKgo+ICsgKiBTZXJpYWxpemUgZHluYW1pYyBIRFIxMCsgbWV0YWRhdGEgdG8gYSB1c2VyIGRh dGEgcmVnaXN0ZXJlZCBJVFUtVCBULjM1IGJ1ZmZlciwKPiArICogZXhjbHVkaW5nIHRoZSBjb3Vu dHJ5IGNvZGUgYW5kIGJlZ2lubmluZyB3aXRoIHRoZSB0ZXJtaW5hbCBwcm92aWRlciBjb2RlLgo+ ICsgKiBAcGFyYW0gZGF0YSBBIHBvaW50ZXIgdG8gYSBieXRlIGJ1ZmZlciB0byBiZSBhbGxvY2F0 ZWQgYW5kIGZpbGxlZAo+ICsgKiAgICAgICAgICAgICB3aXRoIHRoZSBzZXJpYWxpemVkIG1ldGFk YXRhLgo+ICsgKiBAcGFyYW0gc2l6ZSBBIHBvaW50ZXIgdG8gYSBzaXplIHRvIGJlIHNldCB0byB0 aGUgcmV0dXJuZWQgYnVmZmVyJ3Mgc2l6ZS4KPiArICogQHBhcmFtIHMgQSBwb2ludGVyIGNvbnRh aW5pbmcgdGhlIGRlY29kZWQgQVZEeW5hbWljSERSUGx1cyBzdHJ1Y3R1cmUuCj4gKyAqCj4gKyAq IEByZXR1cm4gMCBpZiBzdWNjZWVkLiBPdGhlcndpc2UsIHJldHVybnMgdGhlIGFwcHJvcHJpYXRl IEFWRVJST1IuCj4gKyAqLwo+ICtpbnQgYXZfZHluYW1pY19oZHJfcGx1c190b190MzUodWludDhf dCAqKmRhdGEsIHNpemVfdCAqc2l6ZSwgY29uc3QgQVZEeW5hbWljSERSUGx1cyAqcyk7Cj4gKwo+ ICAjZW5kaWYgLyogQVZVVElMX0hEUl9EWU5BTUlDX01FVEFEQVRBX0ggKi8KPiBkaWZmIC0tZ2l0 IGEvbGliYXZ1dGlsL3ZlcnNpb24uaCBiL2xpYmF2dXRpbC92ZXJzaW9uLmgKPiBpbmRleCA5MDBi Nzk4OTcxLi43NjM1NjcyOTg1IDEwMDY0NAo+IC0tLSBhL2xpYmF2dXRpbC92ZXJzaW9uLmgKPiAr KysgYi9saWJhdnV0aWwvdmVyc2lvbi5oCj4gQEAgLTc5LDcgKzc5LDcgQEAKPiAgICovCj4gIAo+ ICAjZGVmaW5lIExJQkFWVVRJTF9WRVJTSU9OX01BSk9SICA1OAo+IC0jZGVmaW5lIExJQkFWVVRJ TF9WRVJTSU9OX01JTk9SICAgMwo+ICsjZGVmaW5lIExJQkFWVVRJTF9WRVJTSU9OX01JTk9SICAg NAo+ICAjZGVmaW5lIExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPIDEwMAo+ICAKPiAgI2RlZmluZSBM SUJBVlVUSUxfVkVSU0lPTl9JTlQgICBBVl9WRVJTSU9OX0lOVChMSUJBVlVUSUxfVkVSU0lPTl9N QUpPUiwgXAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=