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 0FACF4514D for ; Sun, 12 Mar 2023 16:26:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BD66F68B63F; Sun, 12 Mar 2023 18:26:06 +0200 (EET) Received: from out203-205-221-240.mail.qq.com (out203-205-221-240.mail.qq.com [203.205.221.240]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D9CBE68A2AE for ; Sun, 12 Mar 2023 18:25:58 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1678638352; bh=2FDypz5VbO7XHozs+nb6GoWWcomPXkV1arPgEmEdR1M=; h=From:To:References:In-Reply-To:Subject:Date; b=c2bM5m78UYfJXG0h3dlKlnFVPCyh5MyuLP/gAr75HekhnD+gFweWxSSyDPicvGDEj N+eNn9z+Xrur3BcL3vdK1Ip+uKcX3dLN2GvuXGmdoZjephAOx/422gjJ4U0ecpUdqg xjUDt7U2UvRgjSyDM/rZSromCvH61IXigg9Q3eZI= Received: from ZHILIZHAOPC4 ([113.118.112.159]) by newxmesmtplogicsvrsza10-0.qq.com (NewEsmtp) with SMTP id 673B7C03; Mon, 13 Mar 2023 00:25:51 +0800 X-QQ-mid: xmsmtpt1678638351tvd8bcjkx Message-ID: X-QQ-XMAILINFO: NJ/+omVLhVgal+aNxmqFc6/BzPMKNROGIfdHJYyeL1Fg2p1WbbHCuxnP07MnS3 tX2JsnZtCVNeTJQKKPri3thu2g5CQyw+1YhO+FTqTkD5i/IaE6SlNgqBNB8c37h99emiQTiAylC5 uc+9KJDWjAbZpbMOhDK3i/tKsCoqadtklqb2Oq1LVvbwvR5e1J1olO0pBFe2MTDrpdxnV4SJbITy 34pNKEsneEe11vCtw/OS9Ei1Lv0EnLVPONoLYu9mKvJ+QLYlKXcLiirmlfPFOWhMGqTrN608naIM 20vG/898yi9doyWT5U7OzyuTwjRWChx8Ua3Ccn4rpxgkGgazWkifNlzjeHV2/s5qY9fiD1uG4pNq IlkECukTX4ri0H4soyFXRubXrLKmMxiOUiEguG313h8a50slVRSA+pQdpz+h2ar8g7otUUeC69Qb BHzAeYGzyAdAQxG+FxYa/dnPrVxtauzllWSbFvbddRS4mRf/U+TO1UXEvESQam3gfGJW9nZJB4kP XoFAgIAnL5EOIRWSSSJWR9YX+bzWTUFWNGlwUropMQFt449kG0AvxbQ/+5CkYta6p/bIfXq5FtNN iXpjnzm4Ok85pW1QXYqtHy7FUT1cLWQdeDFZNbmAcLJdn7v0wDW238INPQIOniUGcGoDJtxnlkZY IRP/9/cqyy9/AzCttZY46yEkdeu6uQ8BCGwVcofewp2b5/J/9wtzscxotyGzYu92QY0tqQd8CoJ+ Jm1Ju2ON91ROaKyWDWhb7kSzgS2h2WnDdexm+CC0iI5F4o+q8J3gDodwP3bd1Iy2PxvfjnmWovE8 9MAEXcAbP6s0C+Tr6H3h7oiF0TxNwOmXHSDt9ZxjxKt85H57XyS6reAQ0Zp83k5a4SWdhyyL8OD0 R6uWkEN/8/FrudX9N3wl0rX8YjEMFJBq6Vm1FqnYSDJQa9WXFM20fA94N4BYoalWsrEaD44NtNMt jWUbmUw1q7X4VHzytbD9MVWHSRzsWt From: "Zhao Zhili" To: "'FFmpeg development discussions and patches'" References: <3bd88490-9f9f-39e0-756e-9d15d2e78d88@vimeo.com> In-Reply-To: <3bd88490-9f9f-39e0-756e-9d15d2e78d88@vimeo.com> Date: Mon, 13 Mar 2023 00:25:51 +0800 X-OQ-MSGID: <003801d954ff$500bbb00$f0233100$@foxmail.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Content-Language: zh-cn Thread-Index: AQD8xj1CSOGx7yP0ePc+haMMIeJJLrCwcOeQ Subject: Re: [FFmpeg-devel] [PATCH 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: Cj4gRnJvbTogZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBP biBCZWhhbGYgT2YgUmFwaGHDq2wgWnVtZXIKPiBTZW50OiAyMDIz5bm0M+aciDPml6UgNTo0Mwo+ IFRvOiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IFN1YmplY3Q6IFtGRm1wZWctZGV2ZWxdIFtQ QVRDSCAyLzJdIGF2dXRpbDogYWRkIEhEUjEwKyBkeW5hbWljIG1ldGFkYXRhIHNlcmlhbGl6YXRp b24gZnVuY3Rpb24KPiAKPiBGaXhlZCBicmFjZSBzdHlsZSBhbmQgbW92ZWQgaW5saW5lIGJ1ZmZl ciBzaXplIGNhbGN1bGF0aW9uIGNvbW1lbnRzIHRvIGEgc2luZ2xlIGJsb2NrIGF0IHRoZSB0b3Au Cj4gCj4gCj4gU2lnbmVkLW9mZi1ieTogUmFwaGHDq2wgWnVtZXIgPHJ6dW1lckB0ZWJha28ubmV0 Pgo+IC0tLQo+ICBsaWJhdnV0aWwvaGRyX2R5bmFtaWNfbWV0YWRhdGEuYyB8IDE0MiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gIGxpYmF2dXRpbC9oZHJfZHluYW1pY19tZXRhZGF0 YS5oIHwgIDExICsrKwo+ICBsaWJhdnV0aWwvdmVyc2lvbi5oICAgICAgICAgICAgICB8ICAgMiAr LQo+ICAzIGZpbGVzIGNoYW5nZWQsIDE1NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9oZHJfZHluYW1pY19tZXRhZGF0YS5jIGIvbGliYXZ1 dGlsL2hkcl9keW5hbWljX21ldGFkYXRhLmMKPiBpbmRleCA5OGYzOTliMDMyLi4yNGRkM2RhYjJk IDEwMDY0NAo+IC0tLSBhL2xpYmF2dXRpbC9oZHJfZHluYW1pY19tZXRhZGF0YS5jCj4gKysrIGIv bGliYXZ1dGlsL2hkcl9keW5hbWljX21ldGFkYXRhLmMKPiBAQCAtMjI1LDMgKzIyNSwxNDUgQEAg aW50IGF2X2R5bmFtaWNfaGRyX3BsdXNfZnJvbV90MzUoQVZEeW5hbWljSERSUGx1cyAqcywgY29u c3QgdWludDhfdCAqZGF0YSwKPiAKPiAgICAgIHJldHVybiAwOwo+ICB9Cj4gKwo+ICtBVkJ1ZmZl clJlZiAqYXZfZHluYW1pY19oZHJfcGx1c190b190MzUoQVZEeW5hbWljSERSUGx1cyAqcykKPiAr ewoKSG93IGFib3V0IGFkZCAnY29uc3QnIG1vZGlmaWVyIHRvIEFWRHluYW1pY0hEUlBsdXMgKnMg PwoKPiArICAgIEFWQnVmZmVyUmVmICpidWY7Cj4gKyAgICBzaXplX3Qgc2l6ZV9iaXRzLCBzaXpl X2J5dGVzOwo+ICsgICAgUHV0Qml0Q29udGV4dCBwYmMsICpwYiA9ICZwYmM7Cj4gKwo+ICsgICAg aWYgKCFzKQo+ICsgICAgICAgIHJldHVybiBOVUxMOwo+ICsKPiArICAgIC8qKgo+ICsgICAgICog QnVmZmVyIHNpemUgcGVyIENUQS04NjEtSCBwLjI1My0yNTQ6Cj4gKyAgICAgKiA0OCBiaXRzIGZv ciB0aGUgaGVhZGVyICg1NiBtaW51cyBleGNsdWRlZCA4LWJpdCBjb3VudHJ5IGNvZGUpCj4gKyAg ICAgKiAyIGJpdHMgZm9yIG51bV93aW5kb3dzCj4gKyAgICAgKiA5MzcgYml0cyBmb3Igd2luZG93 IGdlb21ldHJ5LCBmb3IgZWFjaCB3aW5kb3cgYWJvdmUgMQo+ICsgICAgICogMjcgYml0cyBmb3Ig dGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlfbWF4aW11bV9sdW1pbmFuY2UKPiArICAgICAqIDEtMzg1 NSBiaXRzIGZvciB0YXJnZXRlZCBzeXN0ZW0gZGlzcGxheSBwZWFrIGx1bWluYW5jZSBpbmZvcm1h dGlvbgo+ICsgICAgICogMC00NDIgYml0cyBmb3IgaW50cmEtd2luZG93IHBpeGVsIGRpc3RyaWJ1 dGlvbiBpbmZvcm1hdGlvbgo+ICsgICAgICogMS0zODU1IGJpdHMgZm9yIG1hc3RlcmluZyBkaXNw bGF5IHBlYWsgbHVtaW5hbmNlIGluZm9ybWF0aW9uCj4gKyAgICAgKiAwLTUzNyBiaXRzIGZvciBw ZXItd2luZG93IHRvbmVtYXBwaW5nIGluZm9ybWF0aW9uCj4gKyAgICAgKiAwLTIxIGJpdHMgZm9y IHBlci13aW5kb3cgY29sb3Igc2F0dXJhdGlvbiBtYXBwaW5nIGluZm9ybWF0aW9uCj4gKyAgICAg Ki8KPiArICAgIHNpemVfYml0cyA9IDQ4ICsKPiArICAgICAgICAyICsKPiArICAgICAgICBGRk1B WCgocy0+bnVtX3dpbmRvd3MgLSAxKSwgMCkgKiA5MzcgKwo+ICsgICAgICAgIDI3ICsKPiArICAg ICAgICAxICsgKHMtPnRhcmdldGVkX3N5c3RlbV9kaXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5j ZV9mbGFnID8gMTAgKwo+ICsgICAgICAgICAgICBzLT5udW1fcm93c190YXJnZXRlZF9zeXN0ZW1f ZGlzcGxheV9hY3R1YWxfcGVha19sdW1pbmFuY2UgKgo+ICsgICAgICAgICAgICBzLT5udW1fY29s c190YXJnZXRlZF9zeXN0ZW1fZGlzcGxheV9hY3R1YWxfcGVha19sdW1pbmFuY2UgKiA0IDogMCkg Kwo+ICsgICAgICAgIHMtPm51bV93aW5kb3dzICogODI7Cj4gKwo+ICsgICAgZm9yIChpbnQgdyA9 IDA7IHcgPCBzLT5udW1fd2luZG93czsgdysrKQo+ICsgICAgICAgIHNpemVfYml0cyArPSBzLT5w YXJhbXNbd10ubnVtX2Rpc3RyaWJ1dGlvbl9tYXhyZ2JfcGVyY2VudGlsZXMgKiAyNDsKPiArCj4g KyAgICBzaXplX2JpdHMgKz0gMSArIChzLT5tYXN0ZXJpbmdfZGlzcGxheV9hY3R1YWxfcGVha19s dW1pbmFuY2VfZmxhZyA/IDEwICsKPiArICAgICAgICBzLT5udW1fcm93c19tYXN0ZXJpbmdfZGlz cGxheV9hY3R1YWxfcGVha19sdW1pbmFuY2UgKgo+ICsgICAgICAgIHMtPm51bV9jb2xzX21hc3Rl cmluZ19kaXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5jZSAqIDQgOiAwKSArCj4gKyAgICAgICAg cy0+bnVtX3dpbmRvd3MgKiAxOwo+ICsKPiArICAgIGZvciAoaW50IHcgPSAwOyB3IDwgcy0+bnVt X3dpbmRvd3M7IHcrKykgewo+ICsgICAgICAgIGlmIChzLT5wYXJhbXNbd10udG9uZV9tYXBwaW5n X2ZsYWcpCj4gKyAgICAgICAgICAgIHNpemVfYml0cyArPSAyOCArIHMtPnBhcmFtc1t3XS5udW1f YmV6aWVyX2N1cnZlX2FuY2hvcnMgKiAxMDsKPiArICAgIH0KPiArCj4gKyAgICBzaXplX2JpdHMg Kz0gcy0+bnVtX3dpbmRvd3MgKiAxOwo+ICsgICAgZm9yIChpbnQgdyA9IDA7IHcgPCBzLT5udW1f d2luZG93czsgdysrKSB7Cj4gKyAgICAgICAgaWYgKHMtPnBhcmFtc1t3XS5jb2xvcl9zYXR1cmF0 aW9uX21hcHBpbmdfZmxhZykKPiArICAgICAgICAgICAgc2l6ZV9iaXRzICs9IDY7Cj4gKyAgICB9 Cj4gKwo+ICsgICAgc2l6ZV9ieXRlcyA9IChzaXplX2JpdHMgKyA3KSAvIDg7Cj4gKwo+ICsgICAg YnVmID0gYXZfYnVmZmVyX2FsbG9jKHNpemVfYnl0ZXMpOwo+ICsgICAgaWYgKCFidWYpCj4gKyAg ICAgICAgcmV0dXJuIE5VTEw7Cj4gKwo+ICsgICAgaW5pdF9wdXRfYml0cyhwYiwgYnVmLT5kYXRh LCBzaXplX2J5dGVzKTsKPiArCj4gKyAgICAvLyBpdHVfdF90MzVfY291bnRyeV9jb2RlIHNoYWxs IGJlIDB4QjUgKFVTQSkgKGV4Y2x1ZGVkIGZyb20gdGhlIHBheWxvYWQpCj4gKyAgICAvLyBpdHVf dF90MzVfdGVybWluYWxfcHJvdmlkZXJfY29kZSBzaGFsbCBiZSAweDAwM0MKPiArICAgIHB1dF9i aXRzKHBiLCAxNiwgMHgwMDNDKTsKPiArICAgIC8vIGl0dV90X3QzNV90ZXJtaW5hbF9wcm92aWRl cl9vcmllbnRlZF9jb2RlIGlzIHNldCB0byBTVCAyMDk0LTQwCj4gKyAgICBwdXRfYml0cyhwYiwg MTYsIDB4MDAwMSk7Cj4gKyAgICAvLyBhcHBsaWNhdGlvbl9pZGVudGlmaWVyIHNoYWxsIGJlIHNl dCB0byA0Cj4gKyAgICBwdXRfYml0cyhwYiwgOCwgNCk7Cj4gKyAgICAvLyBhcHBsaWNhdGlvbl9t b2RlIGlzIHNldCB0byBBcHBsaWNhdGlvbiBWZXJzaW9uIDEKPiArICAgIHB1dF9iaXRzKHBiLCA4 LCAxKTsKPiArCj4gKyAgICAvLyBQYXlsb2FkIGFzIHBlciBDVEEtODYxLUggcC4yNTMtMjU0Cj4g KyAgICBwdXRfYml0cyhwYiwgMiwgcy0+bnVtX3dpbmRvd3MpOwo+ICsKPiArICAgIGZvciAoaW50 IHcgPSAxOyB3IDwgcy0+bnVtX3dpbmRvd3M7IHcrKykgewo+ICsgICAgICAgIHB1dF9iaXRzKHBi LCAxNiwgcy0+cGFyYW1zW3ddLndpbmRvd191cHBlcl9sZWZ0X2Nvcm5lcl94Lm51bSAvIHMtPnBh cmFtc1t3XS53aW5kb3dfdXBwZXJfbGVmdF9jb3JuZXJfeC5kZW4pOwo+ICsgICAgICAgIHB1dF9i aXRzKHBiLCAxNiwgcy0+cGFyYW1zW3ddLndpbmRvd191cHBlcl9sZWZ0X2Nvcm5lcl95Lm51bSAv IHMtPnBhcmFtc1t3XS53aW5kb3dfdXBwZXJfbGVmdF9jb3JuZXJfeS5kZW4pOwo+ICsgICAgICAg IHB1dF9iaXRzKHBiLCAxNiwgcy0+cGFyYW1zW3ddLndpbmRvd19sb3dlcl9yaWdodF9jb3JuZXJf eC5udW0gLyBzLT5wYXJhbXNbd10ud2luZG93X2xvd2VyX3JpZ2h0X2Nvcm5lcl94LmRlbik7Cj4g KyAgICAgICAgcHV0X2JpdHMocGIsIDE2LCBzLT5wYXJhbXNbd10ud2luZG93X2xvd2VyX3JpZ2h0 X2Nvcm5lcl95Lm51bSAvIHMtPnBhcmFtc1t3XS53aW5kb3dfbG93ZXJfcmlnaHRfY29ybmVyX3ku ZGVuKTsKPiArICAgICAgICBwdXRfYml0cyhwYiwgMTYsIHMtPnBhcmFtc1t3XS5jZW50ZXJfb2Zf ZWxsaXBzZV94KTsKPiArICAgICAgICBwdXRfYml0cyhwYiwgMTYsIHMtPnBhcmFtc1t3XS5jZW50 ZXJfb2ZfZWxsaXBzZV95KTsKPiArICAgICAgICBwdXRfYml0cyhwYiwgOCwgcy0+cGFyYW1zW3dd LnJvdGF0aW9uX2FuZ2xlKTsKPiArICAgICAgICBwdXRfYml0cyhwYiwgMTYsIHMtPnBhcmFtc1t3 XS5zZW1pbWFqb3JfYXhpc19pbnRlcm5hbF9lbGxpcHNlKTsKPiArICAgICAgICBwdXRfYml0cyhw YiwgMTYsIHMtPnBhcmFtc1t3XS5zZW1pbWFqb3JfYXhpc19leHRlcm5hbF9lbGxpcHNlKTsKPiAr ICAgICAgICBwdXRfYml0cyhwYiwgMTYsIHMtPnBhcmFtc1t3XS5zZW1pbWlub3JfYXhpc19leHRl cm5hbF9lbGxpcHNlKTsKPiArICAgICAgICBwdXRfYml0cyhwYiwgMSwgcy0+cGFyYW1zW3ddLm92 ZXJsYXBfcHJvY2Vzc19vcHRpb24pOwo+ICsgICAgfQo+ICsKPiArICAgIHB1dF9iaXRzKHBiLCAy Nywgcy0+dGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlfbWF4aW11bV9sdW1pbmFuY2UubnVtICogbHVt aW5hbmNlX2RlbiAvCj4gKyAgICAgICAgcy0+dGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlfbWF4aW11 bV9sdW1pbmFuY2UuZGVuKTsKPiArICAgIHB1dF9iaXRzKHBiLCAxLCBzLT50YXJnZXRlZF9zeXN0 ZW1fZGlzcGxheV9hY3R1YWxfcGVha19sdW1pbmFuY2VfZmxhZyk7Cj4gKyAgICBpZiAocy0+dGFy Z2V0ZWRfc3lzdGVtX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNlX2ZsYWcpIHsKPiArICAg ICAgICBwdXRfYml0cyhwYiwgNSwgcy0+bnVtX3Jvd3NfdGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlf YWN0dWFsX3BlYWtfbHVtaW5hbmNlKTsKPiArICAgICAgICBwdXRfYml0cyhwYiwgNSwgcy0+bnVt X2NvbHNfdGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNlKTsKPiAr ICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHMtPm51bV9yb3dzX3RhcmdldGVkX3N5c3RlbV9k aXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5jZTsgaSsrKSB7Cj4gKyAgICAgICAgICAgIGZvciAo aW50IGogPSAwOyBqIDwgcy0+bnVtX2NvbHNfdGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlfYWN0dWFs X3BlYWtfbHVtaW5hbmNlOyBqKyspCj4gKyAgICAgICAgICAgICAgICBwdXRfYml0cyhwYiwgNCwg cy0+dGFyZ2V0ZWRfc3lzdGVtX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNlW2ldW2pdLm51 bSAqIHBlYWtfbHVtaW5hbmNlX2RlbiAvCj4gKyAgICAgICAgICAgICAgICAgICAgcy0+dGFyZ2V0 ZWRfc3lzdGVtX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNlW2ldW2pdLmRlbik7Cj4gKyAg ICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIGZvciAoaW50IHcgPSAwOyB3IDwgcy0+bnVtX3dp bmRvd3M7IHcrKykgewo+ICsgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzsgaSsrKQo+ICsg ICAgICAgICAgICBwdXRfYml0cyhwYiwgMTcsIHMtPnBhcmFtc1t3XS5tYXhzY2xbaV0ubnVtICog cmdiX2RlbiAvIHMtPnBhcmFtc1t3XS5tYXhzY2xbaV0uZGVuKTsKPiArICAgICAgICBwdXRfYml0 cyhwYiwgMTcsIHMtPnBhcmFtc1t3XS5hdmVyYWdlX21heHJnYi5udW0gKiByZ2JfZGVuIC8gcy0+ cGFyYW1zW3ddLmF2ZXJhZ2VfbWF4cmdiLmRlbik7Cj4gKyAgICAgICAgcHV0X2JpdHMocGIsIDQs IHMtPnBhcmFtc1t3XS5udW1fZGlzdHJpYnV0aW9uX21heHJnYl9wZXJjZW50aWxlcyk7Cj4gKyAg ICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzLT5wYXJhbXNbd10ubnVtX2Rpc3RyaWJ1dGlvbl9t YXhyZ2JfcGVyY2VudGlsZXM7IGkrKykgewo+ICsgICAgICAgICAgICBwdXRfYml0cyhwYiwgNywg cy0+cGFyYW1zW3ddLmRpc3RyaWJ1dGlvbl9tYXhyZ2JbaV0ucGVyY2VudGFnZSk7Cj4gKyAgICAg ICAgICAgIHB1dF9iaXRzKHBiLCAxNywgcy0+cGFyYW1zW3ddLmRpc3RyaWJ1dGlvbl9tYXhyZ2Jb aV0ucGVyY2VudGlsZS5udW0gKiByZ2JfZGVuIC8KPiArICAgICAgICAgICAgICAgIHMtPnBhcmFt c1t3XS5kaXN0cmlidXRpb25fbWF4cmdiW2ldLnBlcmNlbnRpbGUuZGVuKTsKPiArICAgICAgICB9 Cj4gKyAgICAgICAgcHV0X2JpdHMocGIsIDEwLCBzLT5wYXJhbXNbd10uZnJhY3Rpb25fYnJpZ2h0 X3BpeGVscy5udW0gKiBmcmFjdGlvbl9waXhlbF9kZW4gLwo+ICsgICAgICAgICAgICBzLT5wYXJh bXNbd10uZnJhY3Rpb25fYnJpZ2h0X3BpeGVscy5kZW4pOwo+ICsgICAgfQo+ICsKPiArICAgIHB1 dF9iaXRzKHBiLCAxLCBzLT5tYXN0ZXJpbmdfZGlzcGxheV9hY3R1YWxfcGVha19sdW1pbmFuY2Vf ZmxhZyk7Cj4gKyAgICBpZiAocy0+bWFzdGVyaW5nX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5h bmNlX2ZsYWcpIHsKPiArICAgICAgICBwdXRfYml0cyhwYiwgNSwgcy0+bnVtX3Jvd3NfbWFzdGVy aW5nX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNlKTsKPiArICAgICAgICBwdXRfYml0cyhw YiwgNSwgcy0+bnVtX2NvbHNfbWFzdGVyaW5nX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNl KTsKPiArICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHMtPm51bV9yb3dzX21hc3RlcmluZ19k aXNwbGF5X2FjdHVhbF9wZWFrX2x1bWluYW5jZTsgaSsrKSB7Cj4gKyAgICAgICAgICAgIGZvciAo aW50IGogPSAwOyBqIDwgcy0+bnVtX2NvbHNfbWFzdGVyaW5nX2Rpc3BsYXlfYWN0dWFsX3BlYWtf bHVtaW5hbmNlOyBqKyspCj4gKyAgICAgICAgICAgICAgICBwdXRfYml0cyhwYiwgNCwgcy0+bWFz dGVyaW5nX2Rpc3BsYXlfYWN0dWFsX3BlYWtfbHVtaW5hbmNlW2ldW2pdLm51bSAqIHBlYWtfbHVt aW5hbmNlX2RlbiAvCj4gKyAgICAgICAgICAgICAgICAgICAgcy0+bWFzdGVyaW5nX2Rpc3BsYXlf YWN0dWFsX3BlYWtfbHVtaW5hbmNlW2ldW2pdLmRlbik7Cj4gKyAgICAgICAgfQo+ICsgICAgfQo+ ICsKPiArICAgIGZvciAoaW50IHcgPSAwOyB3IDwgcy0+bnVtX3dpbmRvd3M7IHcrKykgewo+ICsg ICAgICAgIHB1dF9iaXRzKHBiLCAxLCBzLT5wYXJhbXNbd10udG9uZV9tYXBwaW5nX2ZsYWcpOwo+ ICsgICAgICAgIGlmIChzLT5wYXJhbXNbd10udG9uZV9tYXBwaW5nX2ZsYWcpIHsKPiArICAgICAg ICAgICAgcHV0X2JpdHMocGIsIDEyLCBzLT5wYXJhbXNbd10ua25lZV9wb2ludF94Lm51bSAqIGtu ZWVfcG9pbnRfZGVuIC8gcy0+cGFyYW1zW3ddLmtuZWVfcG9pbnRfeC5kZW4pOwo+ICsgICAgICAg ICAgICBwdXRfYml0cyhwYiwgMTIsIHMtPnBhcmFtc1t3XS5rbmVlX3BvaW50X3kubnVtICoga25l ZV9wb2ludF9kZW4gLyBzLT5wYXJhbXNbd10ua25lZV9wb2ludF95LmRlbik7Cj4gKyAgICAgICAg ICAgIHB1dF9iaXRzKHBiLCA0LCBzLT5wYXJhbXNbd10ubnVtX2Jlemllcl9jdXJ2ZV9hbmNob3Jz KTsKPiArICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzLT5wYXJhbXNbd10ubnVtX2Jl emllcl9jdXJ2ZV9hbmNob3JzOyBpKyspCj4gKyAgICAgICAgICAgICAgICBwdXRfYml0cyhwYiwg MTAsIHMtPnBhcmFtc1t3XS5iZXppZXJfY3VydmVfYW5jaG9yc1tpXS5udW0gKiBiZXppZXJfYW5j aG9yX2RlbiAvCj4gKyAgICAgICAgICAgICAgICAgICAgcy0+cGFyYW1zW3ddLmJlemllcl9jdXJ2 ZV9hbmNob3JzW2ldLmRlbik7Cj4gKyAgICAgICAgICAgIHB1dF9iaXRzKHBiLCAxLCBzLT5wYXJh bXNbd10uY29sb3Jfc2F0dXJhdGlvbl9tYXBwaW5nX2ZsYWcpOwo+ICsgICAgICAgICAgICBpZiAo cy0+cGFyYW1zW3ddLmNvbG9yX3NhdHVyYXRpb25fbWFwcGluZ19mbGFnKQo+ICsgICAgICAgICAg ICAgICAgcHV0X2JpdHMocGIsIDYsIHMtPnBhcmFtc1t3XS5jb2xvcl9zYXR1cmF0aW9uX3dlaWdo dC5udW0gKiBzYXR1cmF0aW9uX3dlaWdodF9kZW4gLwo+ICsgICAgICAgICAgICAgICAgICAgIHMt PnBhcmFtc1t3XS5jb2xvcl9zYXR1cmF0aW9uX3dlaWdodC5kZW4pOwo+ICsgICAgICAgIH0KPiAr ICAgIH0KPiArCj4gKyAgICBmbHVzaF9wdXRfYml0cyhwYik7Cj4gKyAgICByZXR1cm4gYnVmOwo+ ICt9Cj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9oZHJfZHluYW1pY19tZXRhZGF0YS5oIGIvbGli YXZ1dGlsL2hkcl9keW5hbWljX21ldGFkYXRhLmgKPiBpbmRleCAxZjk1M2VmMWY1Li43OTdhNWM2 NGFlIDEwMDY0NAo+IC0tLSBhL2xpYmF2dXRpbC9oZHJfZHluYW1pY19tZXRhZGF0YS5oCj4gKysr IGIvbGliYXZ1dGlsL2hkcl9keW5hbWljX21ldGFkYXRhLmgKPiBAQCAtMjEsNiArMjEsNyBAQAo+ ICAjaWZuZGVmIEFWVVRJTF9IRFJfRFlOQU1JQ19NRVRBREFUQV9ICj4gICNkZWZpbmUgQVZVVElM X0hEUl9EWU5BTUlDX01FVEFEQVRBX0gKPiAKPiArI2luY2x1ZGUgImJ1ZmZlci5oIgo+ICAjaW5j bHVkZSAiZnJhbWUuaCIKPiAgI2luY2x1ZGUgInJhdGlvbmFsLmgiCj4gCj4gQEAgLTM1MSw0ICsz NTIsMTQgQEAgQVZEeW5hbWljSERSUGx1cyAqYXZfZHluYW1pY19oZHJfcGx1c19jcmVhdGVfc2lk ZV9kYXRhKEFWRnJhbWUgKmZyYW1lKTsKPiAgaW50IGF2X2R5bmFtaWNfaGRyX3BsdXNfZnJvbV90 MzUoQVZEeW5hbWljSERSUGx1cyAqcywgY29uc3QgdWludDhfdCAqZGF0YSwKPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNpemUpOwo+IAo+ICsvKioKPiArICogU2VyaWFs aXplIGR5bmFtaWMgSERSMTArIG1ldGFkYXRhIHRvIGEgdXNlciBkYXRhIHJlZ2lzdGVyZWQgSVRV LVQgVC4zNSBidWZmZXIsCj4gKyAqIGV4Y2x1ZGluZyB0aGUgY291bnRyeSBjb2RlIGFuZCBiZWdp bm5pbmcgd2l0aCB0aGUgdGVybWluYWwgcHJvdmlkZXIgY29kZS4KPiArICogQHBhcmFtIHMgQSBw b2ludGVyIGNvbnRhaW5pbmcgdGhlIGRlY29kZWQgQVZEeW5hbWljSERSUGx1cyBzdHJ1Y3R1cmUu Cj4gKyAqCj4gKyAqIEByZXR1cm4gUG9pbnRlciB0byBhbiBBVkJ1ZmZlclJlZiBjb250YWluaW5n IHRoZSByYXcgSVRVLVQgVC4zNSByZXByZXNlbnRhdGlvbgo+ICsgKiAgICAgICAgIG9mIHRoZSBI RFIxMCsgbWV0YWRhdGEgaWYgc3VjY2VlZCwgb3IgTlVMTCBpZiBidWZmZXIgYWxsb2NhdGlvbiBm YWlscy4KPiArICovCj4gK0FWQnVmZmVyUmVmICphdl9keW5hbWljX2hkcl9wbHVzX3RvX3QzNShB VkR5bmFtaWNIRFJQbHVzICpzKTsKPiArCj4gICNlbmRpZiAvKiBBVlVUSUxfSERSX0RZTkFNSUNf TUVUQURBVEFfSCAqLwo+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvdmVyc2lvbi5oIGIvbGliYXZ1 dGlsL3ZlcnNpb24uaAo+IGluZGV4IDkwMGI3OTg5NzEuLjc2MzU2NzI5ODUgMTAwNjQ0Cj4gLS0t IGEvbGliYXZ1dGlsL3ZlcnNpb24uaAo+ICsrKyBiL2xpYmF2dXRpbC92ZXJzaW9uLmgKPiBAQCAt NzksNyArNzksNyBAQAo+ICAgKi8KPiAKPiAgI2RlZmluZSBMSUJBVlVUSUxfVkVSU0lPTl9NQUpP UiAgNTgKPiAtI2RlZmluZSBMSUJBVlVUSUxfVkVSU0lPTl9NSU5PUiAgIDMKPiArI2RlZmluZSBM SUJBVlVUSUxfVkVSU0lPTl9NSU5PUiAgIDQKPiAgI2RlZmluZSBMSUJBVlVUSUxfVkVSU0lPTl9N SUNSTyAxMDAKPiAKPiAgI2RlZmluZSBMSUJBVlVUSUxfVkVSU0lPTl9JTlQgICBBVl9WRVJTSU9O X0lOVChMSUJBVlVUSUxfVkVSU0lPTl9NQUpPUiwgXAo+IC0tCj4gMi4zOS4xCj4gCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwg bWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5v cmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPiAKPiBUbyB1bnN1YnNjcmliZSwgdmlz aXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3Jn IHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2 ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWct ZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWct ZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=