From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 01FF1C433EF for ; Mon, 15 Nov 2021 21:17:26 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A7EC261B51 for ; Mon, 15 Nov 2021 21:17:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A7EC261B51 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=xs4all.nl Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=1/4V/IzR5PxAjlhmlE23vKHwUd7xiRJJQVqgDsxIJeA=; b=eKmguv9dyKMm6zbX2MipLjHgfX l4EZwwvPDc+NGIGxRB471lug82bPdv1FzgHF47GLFFJlPtRHC2LdP/Ol+P3tj0aM94kkIyqKJ/Zft /s/tg8PNh1h6LIxAn4EvB1quZMjnPtyIGDhM/vNu7aY0a8HE1Yy51VR7cIXOiL+KH+XZNQHtEhwQP y9Y4fRglCCYHeDvbCxFdR5wQ6ysYxMlKq7QAaIsNoj1dcGS0idu41+6RxJaUO/fmp2pQIHjFyRCDx Vesd/oXxG4thTXhaQFfq3aIWzcaJ5kF2ndXkisVKkfk+h4J++0bu0isbuCYnomFPhWitgNnurBP/q GodxjZ2A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mmjLs-00H6Bh-Ha; Mon, 15 Nov 2021 21:17:20 +0000 Received: from lb2-smtp-cloud8.xs4all.net ([2001:888:0:108::2b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mmjLd-00H6Al-OU; Mon, 15 Nov 2021 21:17:09 +0000 Received: from cust-b5b5937f ([IPv6:fc0c:c16d:66b8:757f:c639:739b:9d66:799d]) by smtp-cloud8.xs4all.net with ESMTPA id mjLQmevczBB1QmjLTmVY1G; Mon, 15 Nov 2021 22:16:57 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s2; t=1637011017; bh=9zdriC6mPOmT9LtXMRFhLBS8B+Jmdx8JTEhz3AAHsVc=; h=Subject:To:From:Message-ID:Date:MIME-Version:Content-Type:From: Subject; b=UZ37SYxgJa0eo+Cm0pEpnQIsRzC//BbWGByAbr/Dc3f7E9DhVFAecTGU0FXM0z/Dt lIx1FIHk0sC5GwbOoXJFDpBizG/h1bX5cLk1lMy++DtB9WLiLMePivC8CH/k1vsV3v EoSxgvOIqL0n6QSqahD9ciflRFFhLF5cg4iJkTen/8ISGsiP8JFAqYWR9wf+tjCJta lzUgPdo7nrgvwrSV1wUdYvYJgf8wMNn/bZx7yybYukiHymz6rf3c8qf+OUS7xRL85S CbDik45JSGz9Fdipooq1Gy5fzcqPHLRxX2LAr3nqRwvmvb9Zy1//dhZE/4i8rxwhf8 qATux1nkGxT6Q== Subject: Re: [PATCH v7 00/11] VP9 codec V4L2 control interface To: Andrzej Pietrasiewicz , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev Cc: Benjamin Gaignard , Boris Brezillon , Ezequiel Garcia , Fabio Estevam , Greg Kroah-Hartman , Heiko Stuebner , Jernej Skrabec , Mauro Carvalho Chehab , Nicolas Dufresne , NXP Linux Team , Pengutronix Kernel Team , Philipp Zabel , Sascha Hauer , Shawn Guo , kernel@collabora.com References: <20210929160439.6601-1-andrzej.p@collabora.com> <9db47ebc-cb95-872d-feb4-d6432a74f2cb@xs4all.nl> <29f27bad-28ae-12ff-eed6-79902bd5b722@collabora.com> From: Hans Verkuil Message-ID: Date: Mon, 15 Nov 2021 22:16:52 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <29f27bad-28ae-12ff-eed6-79902bd5b722@collabora.com> Content-Language: en-US X-CMAE-Envelope: MS4xfHXR4sydJadvZPlD5pmrAtd6oji1KGh/esH9DNhiaFrgD+9bMrNA3fPH6tJiCRfwmxGqRATNjZZt2xWBhYhA+AgKfYRiqSV0DYnWM6FZ1IcYoTt0MEhC XHHk4/TleFiQsdtip8XVRjSgkvAOCT8IUSy5IAlfeSYsxFaRONCvIknWVm0wKJhpZTRKF8+QU4ghyMrZGDwBQn8BPA5sFWP6+fy/FsZkC70f+4OIbhaPdeBi luSiGdeHNzXnsk6KjGy+gV1G0xAT2zi2rtOLr70UvdyJUO6R1HYphwitJ650qPeFyw66aMA1AusnAYs9BEA/dCc+1tLUIqUsxHzlOHEymUjAPdffVF3QnWQk 49/SRT5ZcAuMGfs4IOnyeNHwqruEDD82ikfjeU4jF3xOSNQst4YxY1yIcsluhdskGGuFz+mthl1wboz2BZjiVkGJk9wxj0YMJjIGEL7J3Y2pG95K1N6c6Ag5 G5Xy6tHH+iulfz1HtZBDFmIYPWf6APps8+QxqEHvS8bqgpGkXo9svE17qQKgBqWlE9rBwmkiSUWMurZb8Acj18NT7R90pjHj+MmJKjmYobrpMRnRdKwdG3y4 qnWL1fTBnkm1ZfxVP/6gfTWfvW5Z4n+9qVKsrYasroqubGu3gPThdL7knFPXkmIEcFWy3hfr8si4vBy0TKcQk8Gf8UUr4N7bBxFWCtOTgiHT30G3RPm+OZon Qu7jhHAIx7NTT1tIjgwBZw1+PIGpMLZRHfDujo8gziw5g2qjYMg+gv+t0oNT+Z8Rn/56aCJRupep6MVbT2GXU8WzDYwu7SgO3QNef3lBjFYJUvbfjirIEUyE 6JMSKL2jvAmKl675M1z8uDGV653jo+xurioDVz5D+xeFVAcbBOAXpF+I+LZaS74mnbusF4fUIMoudW5F6cVBy8EXgov6K9ksKMd7Feg0vGyTNFx6hrV7UkUj 1qFV0MRBVGlpDRitzLh8H/anb/M= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211115_131706_094621_0B8FF25C X-CRM114-Status: GOOD ( 17.11 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org T24gMTUvMTEvMjAyMSAxODoxNCwgQW5kcnplaiBQaWV0cmFzaWV3aWN6IHdyb3RlOgo+IEhpIEhh bnMsCj4gCj4gVyBkbml1IDE1LjExLjIwMjEgb8KgMTY6MDcsIEhhbnMgVmVya3VpbCBwaXN6ZToK Pj4gQW5kcnplaiwKPj4KPj4gQ2FuIHlvdSByZWJhc2UgdGhpcyBzZXJpZXMgb24gdG9wIG9mIHRo ZSBtYXN0ZXIgYnJhbmNoIG9mCj4+IGh0dHBzOi8vZ2l0LmxpbnV4dHYub3JnL21lZGlhX3N0YWdl LmdpdC8gPyBVbmZvcnR1bmF0ZWx5IHRoaXMgdjcgbm8gbG9uZ2VyCj4+IGFwcGxpZXMuIFNwZWNp ZmljYWxseSAicmt2ZGVjOiBBZGQgdGhlIFZQOSBiYWNrZW5kIiBmYWlsZWQgaW4gYSBub24tdHJp dmlhbAo+PiBtYW5uZXIuCj4gCj4gVGhpcyBpcyBhIGJyYW5jaCBmb3IgeW91Ogo+IAo+IGh0dHBz Oi8vZ2l0bGFiLmNvbGxhYm9yYS5jb20vbGludXgvZm9yLXVwc3RyZWFtLy0vdHJlZS92cDktdWFw aQoKSSdtIGdldHRpbmcgYSBidW5jaCBvZiBzcGFyc2Uvc21hdGNoIHdhcm5pbmdzOgoKc3BhcnNl Ogpya3ZkZWMvcmt2ZGVjLXZwOS5jOjE5MDo0Mzogd2FybmluZzogdmFyaWFibGUgJ2RlY19wYXJh bXMnIHNldCBidXQgbm90IHVzZWQgWy1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCnJrdmRlYy9y a3ZkZWMtdnA5LmM6MjQ1OjQzOiB3YXJuaW5nOiB2YXJpYWJsZSAnZGVjX3BhcmFtcycgc2V0IGJ1 dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KU1BBUlNFOmhhbnRyby9oYW50 cm9fcG9zdHByb2MuYyBoYW50cm8vaGFudHJvX3Bvc3Rwcm9jLmM6Mzc6MzU6IHdhcm5pbmc6IHN5 bWJvbCAnaGFudHJvX2cxX3Bvc3Rwcm9jX3JlZ3MnIHdhcyBub3QgZGVjbGFyZWQuIFNob3VsZCBp dCBiZSBzdGF0aWM/CgpzbWF0Y2g6CnJrdmRlYy9ya3ZkZWMtdnA5LmM6MTkwOjQzOiB3YXJuaW5n OiB2YXJpYWJsZSAnZGVjX3BhcmFtcycgc2V0IGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNl dC12YXJpYWJsZV0Kcmt2ZGVjL3JrdmRlYy12cDkuYzoyNDU6NDM6IHdhcm5pbmc6IHZhcmlhYmxl ICdkZWNfcGFyYW1zJyBzZXQgYnV0IG5vdCB1c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxl XQpya3ZkZWMvcmt2ZGVjLXZwOS5jOiBya3ZkZWMvcmt2ZGVjLXZwOS5jOjIzNiBpbml0X2ludHJh X29ubHlfcHJvYnMoKSBlcnJvcjogYnVmZmVyIG92ZXJmbG93ICdwdHInIDkwIDw9IDkxCmhhbnRy by9oYW50cm9fZzJfdnA5X2RlYy5jOiBoYW50cm8vaGFudHJvX2cyX3ZwOV9kZWMuYzo2NzAgY29u ZmlnX3Byb2JzKCkgZXJyb3I6IG1lbWNweSgpICdhZGFwdGl2ZS0+aW50ZXJfbW9kZVtpXScgdG9v IHNtYWxsICg0IHZzIDIxKQpoYW50cm8vaGFudHJvX2cyX3ZwOV9kZWMuYzogaGFudHJvL2hhbnRy b19nMl92cDlfZGVjLmM6NjcwIGNvbmZpZ19wcm9icygpIGVycm9yOiBtZW1jcHkoKSAncHJvYnMt PmludGVyX21vZGVbaV0nIHRvbyBzbWFsbCAoMyB2cyAyMQoKQWxzbyBhIGJ1bmNoIG9mIGtlcm5l bGRvYyB3YXJuaW5nczoKCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDozMDogd2FybmluZzogRnVu Y3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnam9pbnQnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJf dnA5X2ZyYW1lX212X2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDozMDogd2Fybmlu ZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnc2lnbicgbm90IGRlc2NyaWJlZCBpbiAn djRsMl92cDlfZnJhbWVfbXZfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjMwOiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjbGFzc2VzJyBub3QgZGVzY3Jp YmVkIGluICd2NGwyX3ZwOV9mcmFtZV9tdl9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5 Lmg6MzA6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2NsYXNzMF9iaXQn IG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX212X2NvbnRleHQnCmluY2x1ZGUvbWVk aWEvdjRsMi12cDkuaDozMDogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAn Yml0cycgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfbXZfY29udGV4dCcKaW5jbHVk ZS9tZWRpYS92NGwyLXZwOS5oOjMwOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVt YmVyICdjbGFzczBfZnInIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX212X2NvbnRl eHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDozMDogd2FybmluZzogRnVuY3Rpb24gcGFyYW1l dGVyIG9yIG1lbWJlciAnZnInIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX212X2Nv bnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDozMDogd2FybmluZzogRnVuY3Rpb24gcGFy YW1ldGVyIG9yIG1lbWJlciAnY2xhc3MwX2hwJyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9m cmFtZV9tdl9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6MzA6IHdhcm5pbmc6IEZ1 bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2hwJyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3Zw OV9mcmFtZV9tdl9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6NTg6IHdhcm5pbmc6 IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3R4OCcgbm90IGRlc2NyaWJlZCBpbiAndjRs Ml92cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5n OiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd0eDE2JyBub3QgZGVzY3JpYmVkIGluICd2 NGwyX3ZwOV9mcmFtZV9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6NTg6IHdhcm5p bmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3R4MzInIG5vdCBkZXNjcmliZWQgaW4g J3Y0bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo1ODogd2Fy bmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnY29lZicgbm90IGRlc2NyaWJlZCBp biAndjRsMl92cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdza2lwJyBub3QgZGVzY3JpYmVk IGluICd2NGwyX3ZwOV9mcmFtZV9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6NTg6 IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2ludGVyX21vZGUnIG5vdCBk ZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12 cDkuaDo1ODogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnaW50ZXJwX2Zp bHRlcicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9t ZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVy ICdpc19pbnRlcicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfY29udGV4dCcKaW5j bHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3Ig bWVtYmVyICdjb21wX21vZGUnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX2NvbnRl eHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo1ODogd2FybmluZzogRnVuY3Rpb24gcGFyYW1l dGVyIG9yIG1lbWJlciAnc2luZ2xlX3JlZicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJh bWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5nOiBGdW5jdGlv biBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjb21wX3JlZicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92 cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5nOiBG dW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd5X21vZGUnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0 bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo1ODogd2Fybmlu ZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAndXZfbW9kZScgbm90IGRlc2NyaWJlZCBp biAndjRsMl92cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdwYXJ0aXRpb24nIG5vdCBkZXNj cmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDku aDo1ODogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnbXYnIG5vdCBkZXNj cmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDku aDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAncGFydGl0aW9uJyBu b3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRlL21l ZGlhL3Y0bDItdnA5Lmg6OTM6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIg J3NraXAnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmlu Y2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9y IG1lbWJlciAnaW50cmFfaW50ZXInIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5 bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rp b24gcGFyYW1ldGVyIG9yIG1lbWJlciAndHgzMnAnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5 X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2Fybmlu ZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAndHgxNnAnIG5vdCBkZXNjcmliZWQgaW4g J3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5 Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAndHg4cCcgbm90IGRlc2Ny aWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2NvdW50cycKaW5jbHVkZS9tZWRpYS92NGwy LXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd5X21vZGUn IG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUv bWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJl ciAndXZfbW9kZScgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2NvdW50 cycKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0 ZXIgb3IgbWVtYmVyICdjb21wJyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9mcmFtZV9zeW1i b2xfY291bnRzJwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6OTM6IHdhcm5pbmc6IEZ1bmN0aW9u IHBhcmFtZXRlciBvciBtZW1iZXIgJ2NvbXBfcmVmJyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3Zw OV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6OTM6IHdhcm5p bmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3NpbmdsZV9yZWYnIG5vdCBkZXNjcmli ZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12 cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnbXZfbW9kZScg bm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2NvdW50cycKaW5jbHVkZS9t ZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVy ICdmaWx0ZXInIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMn CmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVy IG9yIG1lbWJlciAnbXZfam9pbnQnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5 bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rp b24gcGFyYW1ldGVyIG9yIG1lbWJlciAnc2lnbicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlf ZnJhbWVfc3ltYm9sX2NvdW50cycKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5n OiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjbGFzc2VzJyBub3QgZGVzY3JpYmVkIGlu ICd2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6 OTM6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2NsYXNzMCcgbm90IGRl c2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2NvdW50cycKaW5jbHVkZS9tZWRpYS92 NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdiaXRz JyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRl L21lZGlhL3Y0bDItdnA5Lmg6OTM6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1i ZXIgJ2NsYXNzMF9mcCcgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2Nv dW50cycKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJh bWV0ZXIgb3IgbWVtYmVyICdmcCcgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3lt Ym9sX2NvdW50cycKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlv biBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjbGFzczBfaHAnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJf dnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2Fy bmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnaHAnIG5vdCBkZXNjcmliZWQgaW4g J3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5 Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnY29lZmYnIG5vdCBkZXNj cmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRs Mi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnZW9iJyBu b3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRlL21l ZGlhL3Y0bDItdnA5Lmg6MTY2OiB3YXJuaW5nOiBleHBlY3RpbmcgcHJvdG90eXBlIGZvciB2NGwy X3ZwOV9hZGFwdF9jb2VmX3Byb2JzKCkuIFByb3RvdHlwZSB3YXMgZm9yIHY0bDJfdnA5X2FkYXB0 X25vbmNvZWZfcHJvYnMoKQppbnN0ZWFkCmRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcDNpc3Av b21hcDNpc3AuaDoxMDc6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3Zw X2Nsa19wb2wnIG5vdCBkZXNjcmliZWQgaW4gJ2lzcF9jY3AyX2NmZycKZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9vbWFwM2lzcC9vbWFwM2lzcC5oOjEwNzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1l dGVyIG9yIG1lbWJlciAnbGFuZWNmZycgbm90IGRlc2NyaWJlZCBpbiAnaXNwX2NjcDJfY2ZnJwpk cml2ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vdmVudXMvY29yZS5oOjIwMjogd2FybmluZzogRnVu Y3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnc3lzX2Vycl9kb25lJyBub3QgZGVzY3JpYmVkIGlu ICd2ZW51c19jb3JlJwpkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vdmVudXMvY29yZS5oOjQ2 Mjogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnZndfbWluX2NudCcgbm90 IGRlc2NyaWJlZCBpbiAndmVudXNfaW5zdCcKZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9xY29tL3Zl bnVzL2NvcmUuaDo0NjI6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2Zs YWdzJyBub3QgZGVzY3JpYmVkIGluICd2ZW51c19pbnN0Jwpkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L3Fjb20vdmVudXMvY29yZS5oOjQ2Mjogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1l bWJlciAnZHBiX2lkcycgbm90IGRlc2NyaWJlZCBpbiAndmVudXNfaW5zdCcKZHJpdmVycy9zdGFn aW5nL21lZGlhL2hhbnRyby9oYW50cm8uaDoxMTU6IHdhcm5pbmc6IEVudW0gdmFsdWUgJ0hBTlRS T19NT0RFX1ZQOV9ERUMnIG5vdCBkZXNjcmliZWQgaW4gZW51bSAnaGFudHJvX2NvZGVjX21vZGUn CmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBG dW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd0aWxlX2VkZ2UnIG5vdCBkZXNjcmliZWQgaW4g J2hhbnRyb192cDlfZGVjX2h3X2N0eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50 cm9faHcuaDoyMTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3NlZ21l bnRfbWFwJyBub3QgZGVzY3JpYmVkIGluICdoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMv c3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBw YXJhbWV0ZXIgb3IgbWVtYmVyICdtaXNjJyBub3QgZGVzY3JpYmVkIGluICdoYW50cm9fdnA5X2Rl Y19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjbnRzJyBub3QgZGVzY3JpYmVk IGluICdoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8v aGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdw cm9iYWJpbGl0eV90YWJsZXMnIG5vdCBkZXNjcmliZWQgaW4KJ2hhbnRyb192cDlfZGVjX2h3X2N0 eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaDoyMTE6IHdhcm5pbmc6 IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2ZyYW1lX2NvbnRleHQnIG5vdCBkZXNjcmli ZWQgaW4gJ2hhbnRyb192cDlfZGVjX2h3X2N0eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm9faHcuaDoyMTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIg J2N1cicgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24gcGFy YW1ldGVyIG9yIG1lbWJlciAnbGFzdCcgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNf aHdfY3R4Jwpkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2Fy bmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnYnNkX2N0cmxfb2Zmc2V0JyBub3Qg ZGVzY3JpYmVkIGluICdoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRp YS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3Ig bWVtYmVyICdzZWdtZW50X21hcF9zaXplJyBub3QgZGVzY3JpYmVkIGluICdoYW50cm9fdnA5X2Rl Y19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjdHhfY291bnRlcnNfb2Zmc2V0 JyBub3QgZGVzY3JpYmVkIGluCidoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0 ZXIgb3IgbWVtYmVyICd0aWxlX2luZm9fb2Zmc2V0JyBub3QgZGVzY3JpYmVkIGluICdoYW50cm9f dnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6 MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd0aWxlX3JfaW5mbycg bm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJzL3N0YWdpbmcv bWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVy IG9yIG1lbWJlciAndGlsZV9jX2luZm8nIG5vdCBkZXNjcmliZWQgaW4gJ2hhbnRyb192cDlfZGVj X2h3X2N0eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaDoyMTE6IHdh cm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2xhc3RfdGlsZV9yJyBub3QgZGVz Y3JpYmVkIGluICdoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9o YW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVt YmVyICdsYXN0X3RpbGVfYycgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4 Jwpkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzog RnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnbGFzdF9zYnNfcicgbm90IGRlc2NyaWJlZCBp biAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hh bnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnbGFz dF9zYnNfYycgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJz L3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24g cGFyYW1ldGVyIG9yIG1lbWJlciAnYWN0aXZlX3NlZ21lbnQnIG5vdCBkZXNjcmliZWQgaW4gJ2hh bnRyb192cDlfZGVjX2h3X2N0eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9f aHcuaDoyMTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2ZlYXR1cmVf ZW5hYmxlZCcgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJz L3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24g cGFyYW1ldGVyIG9yIG1lbWJlciAnZmVhdHVyZV9kYXRhJyBub3QgZGVzY3JpYmVkIGluICdoYW50 cm9fdnA5X2RlY19od19jdHgnCgpZb3UgY2FuIHRlc3Qga2VybmVsZG9jIHlvdXJzZWxmIHdpdGg6 IHNjcmlwdHMva2VybmVsLWRvYyAtbm9uZSBpbmNsdWRlL21lZGlhL3Y0bDItdnA5LmgKClJlZ2Fy ZHMsCgoJSGFucwoKPiAKPiBSZWdhcmRzLAo+IAo+IEFuZHJ6ZWoKPiAKPiAKPj4KPj4gUmVnYXJk cywKPj4KPj4gCUhhbnMKPj4KPj4gT24gMjkvMDkvMjAyMSAxODowNCwgQW5kcnplaiBQaWV0cmFz aWV3aWN6IHdyb3RlOgo+Pj4gRGVhciBhbGwsCj4+Pgo+Pj4gVGhpcyBwYXRjaCBzZXJpZXMgYWRk cyBWUDkgY29kZWMgVjRMMiBjb250cm9sIGludGVyZmFjZSBhbmQgdHdvIGRyaXZlcnMKPj4+IHVz aW5nIHRoZSBuZXcgY29udHJvbHMuIEl0IGlzIGEgZm9sbG93LXVwIG9mIHByZXZpb3VzIHY2IHNl cmllcyBbMV0uCj4+Pgo+Pj4gSW4gdGhpcyBpdGVyYXRpb24sIHdlJ3ZlIGltcGxlbWVudGVkIFZQ OSBoYXJkd2FyZSBkZWNvZGluZyBvbiB0d28gZGV2aWNlczoKPj4+IFJvY2tjaGlwIFZERUMgYW5k IEhhbnRybyBHMiwgYW5kIHRlc3RlZCBvbiBSSzMzOTksIGkuTVg4TVEgYW5kIGkuTVg4TVAuCj4+ PiBUaGUgaS5NWDhNIGRyaXZlciBuZWVkcyBwcm9wZXIgcG93ZXIgZG9tYWlucyBzdXBwb3J0LCB0 aG91Z2gsIHdoaWNoIGlzIGEKPj4+IHN1YmplY3Qgb2YgYSBkaWZmZXJlbnQgZWZmb3J0LCBidXQg aW4gYWxsIDMgY2FzZXMgd2Ugd2VyZSBhYmxlIHRvIHJ1biB0aGUKPj4+IGRyaXZlcnMuCj4+Pgo+ Pj4gR1N0cmVhbWVyIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHRoZSBuZWVkZWQgY2hhbmdl cyBoYXZlIGJlZW4gc3VibWl0dGVkCj4+PiBieSBEYW5pZWwgQWxtZWlkYSBbMl0uIFRoaXMgTVIg aXMgcmVhZHkgdG8gYmUgbWVyZ2VkLCBhbmQganVzdCBuZWVkcyB0aGUKPj4+IFZQOSBWNEwyIGNv bnRyb2xzIHRvIGJlIG1lcmdlZCBhbmQgcmVsZWFzZWQuCj4+Pgo+Pj4gQm90aCBya3ZkZWMgYW5k IGhhbnRybyBkcml2ZXJzIGFyZSBwYXNzaW5nIGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIFZQOSB0 ZXN0cwo+Pj4gdXNpbmcgRmx1c3RlclszXS4gVGhlcmUgYXJlIHN0aWxsIGEgZmV3IHRlc3RzIHRo YXQgYXJlIG5vdCBwYXNzaW5nLCBkdWUgdG8KPj4+IGR5bmFtaWMgZnJhbWUgcmVzaXplIChub3Qg eWV0IHN1cHBvcnRlZCBieSBWNEwyKSBhbmQgc21hbGwgc2l6ZSB2aWRlb3MKPj4+IChkdWUgdG8g SVAgYmxvY2sgbGltaXRhdGlvbnMpLgo+Pj4KPj4+IFRoZSBzZXJpZXMgYWRkcyB0aGUgVlA5IGNv ZGVjIFY0TDIgY29udHJvbCBBUEkgYXMgdUFQSSwgc28gaXQgYWltcyBhdCBiZWluZwo+Pj4gbWVy Z2VkIHdpdGhvdXQgcGFzc2luZyB0aHJvdWdoIHN0YWdpbmcsIGFzIGFncmVlZFs0XS4gVGhlIEFC SSBoYXMgYmVlbiBjaGVja2VkCj4+PiBmb3IgcGFkZGluZyBhbmQgdmVyaWZpZWQgdG8gY29udGFp biBubyBob2xlcy4KPj4+Cj4+PiBbMV0gaHR0cHM6Ly9wYXRjaHdvcmsubGludXh0di5vcmcvcHJv amVjdC9saW51eC1tZWRpYS9saXN0Lz9zZXJpZXM9NjM3Nwo+Pj4gWzJdIGh0dHBzOi8vZ2l0bGFi LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkLy0vbWVyZ2VfcmVxdWVz dHMvMjE0NAo+Pj4gWzNdIGh0dHBzOi8vZ2l0aHViLmNvbS9mbHVlbmRvL2ZsdXN0ZXIKPj4+IFs0 XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1tZWRpYS9iOGY4M2M5My02N2ZkLTA5ZjUt OTMxNC0xNTc0NmNiZmRjNjFAeHM0YWxsLm5sLwo+Pj4KPj4+IFRoZSBzZXJpZXMgZGVwZW5kcyBv biB0aGUgWVVWIHRpbGVkIGZvcm1hdCBzdXBwb3J0IHByZXBhcmVkIGJ5IEV6ZXF1aWVsOgo+Pj4g aHR0cHM6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvbGludXgtbWVkaWEvbXNnMTk3MDQ3Lmh0bWwK Pj4+Cj4+PiBSZWJhc2VkIG9udG8gbGF0ZXN0IG1lZGlhX3RyZWUuCj4+Pgo+Pj4gQ2hhbmdlcyBy ZWxhdGVkIHRvIHY2Ogo+Pj4gLSBtb3ZlZCBzZXR0aW5nIHRpbGUgZmlsdGVyIGFuZCB0aWxlIGJz ZCBhdXhpbGlhcnkgYnVmZmVyIGFkZHJlc3NlcyBzbwo+Pj4gdGhhdCB0aGV5IGFyZSBhbHdheXMg c2V0LCBldmVuIGlmIG5vIHRpbGVzIGFyZSB1c2VkICh0aGFua3MsIEplcm5laikKPj4+IC0gYWRk ZWQgYSBjb21tZW50IG5lYXIgdGhlIHBsYWNlIHdoZXJlIHRoZSAzMi1iaXQgRE1BIG1hc2sgaXMg YXBwbGllZAo+Pj4gICAgKHRoYW5rcywgTmljb2xhcykKPj4+IC0gaW1wcm92ZWQgY29uc2lzdGVu Y3kgaW4gcmVnaXN0ZXIgbmFtZXMgKHRoYW5rcywgTmljb2xhcykKPj4+Cj4+PiBDaGFuZ2VzIHJl bGF0ZWQgdG8gdjU6Cj4+PiAtIGltcHJvdmVkIHRoZSBkb2MgY29tbWVudHMgYXMgcGVyIEV6ZXF1 aWVsJ3MgcmV2aWV3ICh0aGFua3MsIEV6ZXF1aWVsKQo+Pj4gLSBpbXByb3ZlZCBwZGYgb3V0cHV0 IG9mIGRvY3VtZW50YXRpb24KPj4+IC0gYWRkZWQgQmVuamFtaW4ncyBSZXZpZXdlZC1ieSAodGhh bmtzLCBCZW5qYW1pbikKPj4+Cj4+PiBDaGFuZ2VzIHJlbGF0ZWQgdG8gdjQ6Cj4+PiAtIHJlbW92 ZWQgdW51c2VkIGVudW0gdjRsMl92cDlfaW50cmFfcHJlZGljdGlvbl9tb2RlCj4+PiAtIGNvbnZl cnRlZCByZW1haW5pbmcgZW51bXMgdG8gZGVmaW5lcyB0byBmb2xsb3cgdGhlIGNvbnZlbnRpb24K Pj4+IC0gaW1wcm92ZWQgdGhlIGRvY3VtZW50YXRpb24sIGluIHBhcnRpY3VsYXIgYmV0dGVyIGRv Y3VtZW50ZWQgaG93IHRvIHVzZSBzZWdtZW50YXRpb24KPj4+IGZlYXR1cmVzCj4+Pgo+Pj4gQ2hh bmdlcyByZWxhdGVkIHRvIHYzOgo+Pj4KPj4+IEFwcGx5IHN1Z2dlc3Rpb25zIGZyb20gSmVybmVq J3MgcmV2aWV3ICh0aGFua3MsIEplcm5laik6Cj4+PiAtIHJlbmFtZWQgYSBjb250cm9sIGFuZCB0 d28gc3RydWN0czoKPj4+IAlWNEwyX0NUUkxfVFlQRV9WUDlfQ09NUFJFU1NFRF9IRFJfUFJPQlMg PT4KPj4+IAkJVjRMMl9DVFJMX1RZUEVfVlA5X0NPTVBSRVNTRURfSERSCj4+PiAJdjRsMl9jdHJs X3ZwOV9jb21wcmVzc2VkX2hkcl9wcm9icyA9Pgo+Pj4gCQl2NGwyX2N0cmxfdnA5X2NvbXByZXNz ZWRfaGRyCj4+PiAJdjRsMl92cDlfbXZfY29tcHJlc3NlZF9oZHJfcHJvYnMgPT4gdjRsMl92cDlf bXZfcHJvYnMKPj4+IC0gbW92ZWQgdHhfbW9kZSB0byB2NGwyX2N0cmxfdnA5X2NvbXByZXNzZWRf aGRyCj4+PiAtIGZpeGVkIGVudW0gdjRsMl92cDlfcmVmX2ZyYW1lX3NpZ25fYmlhcyB2YWx1ZXMg KHdoaWNoIGFyZSB1c2VkIHRvIHRlc3QgYSBiaXRmaWVsZCkKPj4+IC0gZXhwbGljaXRseSBhc3Np Z25lZCB2YWx1ZXMgdG8gYWxsIG90aGVyIHZwOSBlbnVtcwo+Pj4KPj4+IEFwcGx5IHN1Z2dlc3Rp b24gZnJvbSBOaWNvbGFzJ3MgcmV2aWV3ICh0aGFua3MsIE5pY29sYXMpOgo+Pj4gLSBleHBsaWNp dGx5IHN0YXRlZCB0aGF0IHRoZSB2NGwyX2N0cmxfdnA5X2NvbXByZXNzZWRfaGRyIGNvbnRyb2wg aXMgb3B0aW9uYWwKPj4+IGFuZCBpbXBsZW1lbnRlZCBvbmx5IGJ5IGRyaXZlcnMgd2hpY2ggbmVl ZCBpdAo+Pj4KPj4+IENoYW5nZXMgcmVsYXRlZCB0byB0aGUgUkZDIHYyOgo+Pj4KPj4+IC0gYWRk ZWQgYW5vdGhlciBkcml2ZXIgaW5jbHVkaW5nIGEgcG9zdHByb2Nlc3NvciB0byBkZS10aWxlCj4+ PiAgICAgICAgICBjb2RlYy1zcGVjaWZpYyB0aWxpbmcKPj4+IC0gcmV3b3JrZWQgdUFQSSBzdHJ1 Y3RzIGxheW91dCB0byBmb2xsb3cgVlA4IHN0eWxlCj4+PiAtIGNoYW5nZWQgdmFsaWRhdGlvbiBv ZiBsb29wIGZpbHRlciBwYXJhbXMKPj4+IC0gY2hhbmdlZCB2YWxpZGF0aW9uIG9mIHNlZ21lbnRh dGlvbiBwYXJhbXMKPj4+IC0gY2hhbmdlZCB2YWxpZGF0aW9uIG9mIFZQOSBmcmFtZSBwYXJhbXMK Pj4+IC0gcmVtb3ZlZCBsZXZlbCBsb29rdXAgYXJyYXkgZnJvbSBsb29wIGZpbHRlciBzdHJ1Y3QK Pj4+ICAgICAgICAgIChjYW4gYmUgY29tcHV0ZWQgYnkgZHJpdmVycykKPj4+IC0gcmVuYW1lZCBz b21lIGVudW0gdmFsdWVzIHRvIG1hdGNoIHRoZSBzcGVjIG1vcmUgY2xvc2VseQo+Pj4gLSBWNEwy IFZQOSBsaWJyYXJ5IGNoYW5nZWQgdGhlICdlb2InIG1lbWJlciBvZgo+Pj4gICAgICAgICAgJ3N0 cnVjdCB2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJyBzbyB0aGF0IGl0IGlzIGFuIGFycmF5 Cj4+PiAgICAgICAgICBvZiBwb2ludGVycyBpbnN0ZWFkIG9mIGFuIGFycmF5IG9mIHBvaW50ZXJz IHRvIGFycmF5cwo+Pj4gICAgICAgICAgKElQcyBzdWNoIGFzIGcyIGNyZWF0aXZlbHkgcGFzcyBw YXJ0cyBvZiB0aGUgJ2VvYicgY291bnRzIGluCj4+PiAgICAgICAgICB0aGUgJ2NvZWZmJyBjb3Vu dHMpCj4+PiAtIGZhY3RvcmVkIG91dCBzZXZlcmFsIHJlcGVhdGVkIHBvcnRpb25zIG9mIGNvZGUK Pj4+IC0gbWlub3Igbml0cGlja3MgYW5kIGNsZWFudXBzCj4+Pgo+Pj4gQW5kcnplaiBQaWV0cmFz aWV3aWN6ICg2KToKPj4+ICAgIG1lZGlhOiB1YXBpOiBBZGQgVlA5IHN0YXRlbGVzcyBkZWNvZGVy IGNvbnRyb2xzCj4+PiAgICBtZWRpYTogQWRkIFZQOSB2NGwyIGxpYnJhcnkKPj4+ICAgIG1lZGlh OiBoYW50cm86IFJlbmFtZSByZWdpc3RlcnMKPj4+ICAgIG1lZGlhOiBoYW50cm86IFByZXBhcmUg Zm9yIG90aGVyIEcyIGNvZGVjcwo+Pj4gICAgbWVkaWE6IGhhbnRybzogU3VwcG9ydCBWUDkgb24g dGhlIEcyIGNvcmUKPj4+ICAgIG1lZGlhOiBoYW50cm86IFN1cHBvcnQgTlYxMiBvbiB0aGUgRzIg Y29yZQo+Pj4KPj4+IEJvcmlzIEJyZXppbGxvbiAoMSk6Cj4+PiAgICBtZWRpYTogcmt2ZGVjOiBB ZGQgdGhlIFZQOSBiYWNrZW5kCj4+Pgo+Pj4gRXplcXVpZWwgR2FyY2lhICg0KToKPj4+ICAgIGhh bnRybzogcG9zdHByb2M6IEZpeCBtb3Rpb24gdmVjdG9yIHNwYWNlIHNpemUKPj4+ICAgIGhhbnRy bzogcG9zdHByb2M6IEludHJvZHVjZSBzdHJ1Y3QgaGFudHJvX3Bvc3Rwcm9jX29wcwo+Pj4gICAg aGFudHJvOiBTaW1wbGlmeSBwb3N0cHJvY2Vzc29yCj4+PiAgICBoYW50cm86IEFkZCBxdWlyayBm b3IgTlYxMi9OVjEyXzRMNCBjYXB0dXJlIGZvcm1hdAo+Pj4KPj4+ICAgLi4uL3VzZXJzcGFjZS1h cGkvbWVkaWEvdjRsL2JpYmxpby5yc3QgICAgICAgIHwgICAxMCArCj4+PiAgIC4uLi9tZWRpYS92 NGwvZXh0LWN0cmxzLWNvZGVjLXN0YXRlbGVzcy5yc3QgICB8ICA1NzMgKysrKysKPj4+ICAgLi4u L21lZGlhL3Y0bC9waXhmbXQtY29tcHJlc3NlZC5yc3QgICAgICAgICAgIHwgICAxNSArCj4+PiAg IC4uLi9tZWRpYS92NGwvdmlkaW9jLWctZXh0LWN0cmxzLnJzdCAgICAgICAgICB8ICAgIDggKwo+ Pj4gICAuLi4vbWVkaWEvdjRsL3ZpZGlvYy1xdWVyeWN0cmwucnN0ICAgICAgICAgICAgfCAgIDEy ICsKPj4+ICAgLi4uL21lZGlhL3ZpZGVvZGV2Mi5oLnJzdC5leGNlcHRpb25zICAgICAgICAgIHwg ICAgMiArCj4+PiAgIGRyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL0tjb25maWcgICAgICAgICAgICAg ICB8ICAgIDQgKwo+Pj4gICBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS9NYWtlZmlsZSAgICAgICAg ICAgICAgfCAgICAxICsKPj4+ICAgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy1j b3JlLmMgICAgIHwgIDE4MCArKwo+Pj4gICBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWN0 cmxzLWRlZnMuYyAgICAgfCAgICA4ICsKPj4+ICAgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRs Mi1pb2N0bC5jICAgICAgICAgIHwgICAgMSArCj4+PiAgIGRyaXZlcnMvbWVkaWEvdjRsMi1jb3Jl L3Y0bDItdnA5LmMgICAgICAgICAgICB8IDE4NTAgKysrKysrKysrKysrKysrKysKPj4+ICAgZHJp dmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9LY29uZmlnICAgICAgICAgIHwgICAgMSArCj4+PiAg IGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vTWFrZWZpbGUgICAgICAgICB8ICAgIDcgKy0K Pj4+ICAgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm8uaCAgICAgICAgIHwgICA0 MCArLQo+Pj4gICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYyAgICAg fCAgIDIzICstCj4+PiAgIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2cyLmMg ICAgICB8ICAgMjcgKwo+Pj4gICAuLi4vc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX2hl dmNfZGVjLmMgfCAgIDY5ICstCj4+PiAgIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFu dHJvX2cyX3JlZ3MuaCB8ICAxMzIgKy0KPj4+ICAgLi4uL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hh bnRyb19nMl92cDlfZGVjLmMgIHwgIDk4MCArKysrKysrKysKPj4+ICAgZHJpdmVycy9zdGFnaW5n L21lZGlhL2hhbnRyby9oYW50cm9faHcuaCAgICAgIHwgICA4MyArLQo+Pj4gICAuLi4vc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX3Bvc3Rwcm9jLmMgICAgfCAgIDc5ICstCj4+PiAgIGRyaXZl cnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX3Y0bDIuYyAgICB8ICAgMjAgKwo+Pj4gICBk cml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb192cDkuYyAgICAgfCAgMjQwICsrKwo+ Pj4gICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb192cDkuaCAgICAgfCAgMTAz ICsKPj4+ICAgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9pbXg4bV92cHVfaHcuYyAgIHwg ICAzOCArLQo+Pj4gICAuLi4vc3RhZ2luZy9tZWRpYS9oYW50cm8vcm9ja2NoaXBfdnB1X2h3LmMg ICAgfCAgICA3ICstCj4+PiAgIC4uLi9zdGFnaW5nL21lZGlhL2hhbnRyby9zYW1hNWQ0X3ZkZWNf aHcuYyAgICB8ICAgIDMgKy0KPj4+ICAgZHJpdmVycy9zdGFnaW5nL21lZGlhL3JrdmRlYy9LY29u ZmlnICAgICAgICAgIHwgICAgMSArCj4+PiAgIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9ya3ZkZWMv TWFrZWZpbGUgICAgICAgICB8ICAgIDIgKy0KPj4+ICAgZHJpdmVycy9zdGFnaW5nL21lZGlhL3Jr dmRlYy9ya3ZkZWMtdnA5LmMgICAgIHwgMTA3OCArKysrKysrKysrCj4+PiAgIGRyaXZlcnMvc3Rh Z2luZy9tZWRpYS9ya3ZkZWMvcmt2ZGVjLmMgICAgICAgICB8ICAgNTIgKy0KPj4+ICAgZHJpdmVy cy9zdGFnaW5nL21lZGlhL3JrdmRlYy9ya3ZkZWMuaCAgICAgICAgIHwgICAxMiArLQo+Pj4gICBp bmNsdWRlL21lZGlhL3Y0bDItY3RybHMuaCAgICAgICAgICAgICAgICAgICAgfCAgICA0ICsKPj4+ ICAgaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDE4MiAr Kwo+Pj4gICBpbmNsdWRlL3VhcGkvbGludXgvdjRsMi1jb250cm9scy5oICAgICAgICAgICAgfCAg Mjg0ICsrKwo+Pj4gICBpbmNsdWRlL3VhcGkvbGludXgvdmlkZW9kZXYyLmggICAgICAgICAgICAg ICAgfCAgICA2ICsKPj4+ICAgMzcgZmlsZXMgY2hhbmdlZCwgNjAzMyBpbnNlcnRpb25zKCspLCAx MDQgZGVsZXRpb25zKC0pCj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3Y0 bDItY29yZS92NGwyLXZwOS5jCj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMi5jCj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl92cDlfZGVjLmMKPj4+ICAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX3ZwOS5jCj4+ PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy b192cDkuaAo+Pj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9zdGFnaW5nL21lZGlhL3Jr dmRlYy9ya3ZkZWMtdnA5LmMKPj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbWVkaWEv djRsMi12cDkuaAo+Pj4KPj4+Cj4+PiBiYXNlLWNvbW1pdDogZTRlNzM3YmI1YzE3MGRmNjEzNWEx Mjc3MzlhOWU2MTQ4ZWUzZGE4Mgo+Pj4KPj4KPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgt cm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lb2-smtp-cloud8.xs4all.net (lb2-smtp-cloud8.xs4all.net [194.109.24.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A020368 for ; Mon, 15 Nov 2021 21:18:06 +0000 (UTC) Received: from cust-b5b5937f ([IPv6:fc0c:c16d:66b8:757f:c639:739b:9d66:799d]) by smtp-cloud8.xs4all.net with ESMTPA id mjLQmevczBB1QmjLTmVY1G; Mon, 15 Nov 2021 22:16:57 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s2; t=1637011017; bh=9zdriC6mPOmT9LtXMRFhLBS8B+Jmdx8JTEhz3AAHsVc=; h=Subject:To:From:Message-ID:Date:MIME-Version:Content-Type:From: Subject; b=UZ37SYxgJa0eo+Cm0pEpnQIsRzC//BbWGByAbr/Dc3f7E9DhVFAecTGU0FXM0z/Dt lIx1FIHk0sC5GwbOoXJFDpBizG/h1bX5cLk1lMy++DtB9WLiLMePivC8CH/k1vsV3v EoSxgvOIqL0n6QSqahD9ciflRFFhLF5cg4iJkTen/8ISGsiP8JFAqYWR9wf+tjCJta lzUgPdo7nrgvwrSV1wUdYvYJgf8wMNn/bZx7yybYukiHymz6rf3c8qf+OUS7xRL85S CbDik45JSGz9Fdipooq1Gy5fzcqPHLRxX2LAr3nqRwvmvb9Zy1//dhZE/4i8rxwhf8 qATux1nkGxT6Q== Subject: Re: [PATCH v7 00/11] VP9 codec V4L2 control interface To: Andrzej Pietrasiewicz , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev Cc: Benjamin Gaignard , Boris Brezillon , Ezequiel Garcia , Fabio Estevam , Greg Kroah-Hartman , Heiko Stuebner , Jernej Skrabec , Mauro Carvalho Chehab , Nicolas Dufresne , NXP Linux Team , Pengutronix Kernel Team , Philipp Zabel , Sascha Hauer , Shawn Guo , kernel@collabora.com References: <20210929160439.6601-1-andrzej.p@collabora.com> <9db47ebc-cb95-872d-feb4-d6432a74f2cb@xs4all.nl> <29f27bad-28ae-12ff-eed6-79902bd5b722@collabora.com> From: Hans Verkuil Message-ID: Date: Mon, 15 Nov 2021 22:16:52 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.14.0 Precedence: bulk X-Mailing-List: linux-staging@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <29f27bad-28ae-12ff-eed6-79902bd5b722@collabora.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-CMAE-Envelope: MS4xfHXR4sydJadvZPlD5pmrAtd6oji1KGh/esH9DNhiaFrgD+9bMrNA3fPH6tJiCRfwmxGqRATNjZZt2xWBhYhA+AgKfYRiqSV0DYnWM6FZ1IcYoTt0MEhC XHHk4/TleFiQsdtip8XVRjSgkvAOCT8IUSy5IAlfeSYsxFaRONCvIknWVm0wKJhpZTRKF8+QU4ghyMrZGDwBQn8BPA5sFWP6+fy/FsZkC70f+4OIbhaPdeBi luSiGdeHNzXnsk6KjGy+gV1G0xAT2zi2rtOLr70UvdyJUO6R1HYphwitJ650qPeFyw66aMA1AusnAYs9BEA/dCc+1tLUIqUsxHzlOHEymUjAPdffVF3QnWQk 49/SRT5ZcAuMGfs4IOnyeNHwqruEDD82ikfjeU4jF3xOSNQst4YxY1yIcsluhdskGGuFz+mthl1wboz2BZjiVkGJk9wxj0YMJjIGEL7J3Y2pG95K1N6c6Ag5 G5Xy6tHH+iulfz1HtZBDFmIYPWf6APps8+QxqEHvS8bqgpGkXo9svE17qQKgBqWlE9rBwmkiSUWMurZb8Acj18NT7R90pjHj+MmJKjmYobrpMRnRdKwdG3y4 qnWL1fTBnkm1ZfxVP/6gfTWfvW5Z4n+9qVKsrYasroqubGu3gPThdL7knFPXkmIEcFWy3hfr8si4vBy0TKcQk8Gf8UUr4N7bBxFWCtOTgiHT30G3RPm+OZon Qu7jhHAIx7NTT1tIjgwBZw1+PIGpMLZRHfDujo8gziw5g2qjYMg+gv+t0oNT+Z8Rn/56aCJRupep6MVbT2GXU8WzDYwu7SgO3QNef3lBjFYJUvbfjirIEUyE 6JMSKL2jvAmKl675M1z8uDGV653jo+xurioDVz5D+xeFVAcbBOAXpF+I+LZaS74mnbusF4fUIMoudW5F6cVBy8EXgov6K9ksKMd7Feg0vGyTNFx6hrV7UkUj 1qFV0MRBVGlpDRitzLh8H/anb/M= On 15/11/2021 18:14, Andrzej Pietrasiewicz wrote: > Hi Hans, > > W dniu 15.11.2021 o 16:07, Hans Verkuil pisze: >> Andrzej, >> >> Can you rebase this series on top of the master branch of >> https://git.linuxtv.org/media_stage.git/ ? Unfortunately this v7 no longer >> applies. Specifically "rkvdec: Add the VP9 backend" failed in a non-trivial >> manner. > > This is a branch for you: > > https://gitlab.collabora.com/linux/for-upstream/-/tree/vp9-uapi I'm getting a bunch of sparse/smatch warnings: sparse: rkvdec/rkvdec-vp9.c:190:43: warning: variable 'dec_params' set but not used [-Wunused-but-set-variable] rkvdec/rkvdec-vp9.c:245:43: warning: variable 'dec_params' set but not used [-Wunused-but-set-variable] SPARSE:hantro/hantro_postproc.c hantro/hantro_postproc.c:37:35: warning: symbol 'hantro_g1_postproc_regs' was not declared. Should it be static? smatch: rkvdec/rkvdec-vp9.c:190:43: warning: variable 'dec_params' set but not used [-Wunused-but-set-variable] rkvdec/rkvdec-vp9.c:245:43: warning: variable 'dec_params' set but not used [-Wunused-but-set-variable] rkvdec/rkvdec-vp9.c: rkvdec/rkvdec-vp9.c:236 init_intra_only_probs() error: buffer overflow 'ptr' 90 <= 91 hantro/hantro_g2_vp9_dec.c: hantro/hantro_g2_vp9_dec.c:670 config_probs() error: memcpy() 'adaptive->inter_mode[i]' too small (4 vs 21) hantro/hantro_g2_vp9_dec.c: hantro/hantro_g2_vp9_dec.c:670 config_probs() error: memcpy() 'probs->inter_mode[i]' too small (3 vs 21 Also a bunch of kerneldoc warnings: include/media/v4l2-vp9.h:30: warning: Function parameter or member 'joint' not described in 'v4l2_vp9_frame_mv_context' include/media/v4l2-vp9.h:30: warning: Function parameter or member 'sign' not described in 'v4l2_vp9_frame_mv_context' include/media/v4l2-vp9.h:30: warning: Function parameter or member 'classes' not described in 'v4l2_vp9_frame_mv_context' include/media/v4l2-vp9.h:30: warning: Function parameter or member 'class0_bit' not described in 'v4l2_vp9_frame_mv_context' include/media/v4l2-vp9.h:30: warning: Function parameter or member 'bits' not described in 'v4l2_vp9_frame_mv_context' include/media/v4l2-vp9.h:30: warning: Function parameter or member 'class0_fr' not described in 'v4l2_vp9_frame_mv_context' include/media/v4l2-vp9.h:30: warning: Function parameter or member 'fr' not described in 'v4l2_vp9_frame_mv_context' include/media/v4l2-vp9.h:30: warning: Function parameter or member 'class0_hp' not described in 'v4l2_vp9_frame_mv_context' include/media/v4l2-vp9.h:30: warning: Function parameter or member 'hp' not described in 'v4l2_vp9_frame_mv_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'tx8' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'tx16' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'tx32' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'coef' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'skip' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'inter_mode' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'interp_filter' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'is_inter' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'comp_mode' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'single_ref' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'comp_ref' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'y_mode' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'uv_mode' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'partition' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:58: warning: Function parameter or member 'mv' not described in 'v4l2_vp9_frame_context' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'partition' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'skip' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'intra_inter' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'tx32p' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'tx16p' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'tx8p' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'y_mode' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'uv_mode' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'comp' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'comp_ref' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'single_ref' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'mv_mode' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'filter' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'mv_joint' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'sign' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'classes' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'class0' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'bits' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'class0_fp' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'fp' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'class0_hp' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'hp' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'coeff' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:93: warning: Function parameter or member 'eob' not described in 'v4l2_vp9_frame_symbol_counts' include/media/v4l2-vp9.h:166: warning: expecting prototype for v4l2_vp9_adapt_coef_probs(). Prototype was for v4l2_vp9_adapt_noncoef_probs() instead drivers/media/platform/omap3isp/omap3isp.h:107: warning: Function parameter or member 'vp_clk_pol' not described in 'isp_ccp2_cfg' drivers/media/platform/omap3isp/omap3isp.h:107: warning: Function parameter or member 'lanecfg' not described in 'isp_ccp2_cfg' drivers/media/platform/qcom/venus/core.h:202: warning: Function parameter or member 'sys_err_done' not described in 'venus_core' drivers/media/platform/qcom/venus/core.h:462: warning: Function parameter or member 'fw_min_cnt' not described in 'venus_inst' drivers/media/platform/qcom/venus/core.h:462: warning: Function parameter or member 'flags' not described in 'venus_inst' drivers/media/platform/qcom/venus/core.h:462: warning: Function parameter or member 'dpb_ids' not described in 'venus_inst' drivers/staging/media/hantro/hantro.h:115: warning: Enum value 'HANTRO_MODE_VP9_DEC' not described in enum 'hantro_codec_mode' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'tile_edge' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'segment_map' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'misc' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'cnts' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'probability_tables' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'frame_context' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'cur' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'last' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'bsd_ctrl_offset' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'segment_map_size' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'ctx_counters_offset' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'tile_info_offset' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'tile_r_info' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'tile_c_info' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'last_tile_r' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'last_tile_c' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'last_sbs_r' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'last_sbs_c' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'active_segment' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'feature_enabled' not described in 'hantro_vp9_dec_hw_ctx' drivers/staging/media/hantro/hantro_hw.h:211: warning: Function parameter or member 'feature_data' not described in 'hantro_vp9_dec_hw_ctx' You can test kerneldoc yourself with: scripts/kernel-doc -none include/media/v4l2-vp9.h Regards, Hans > > Regards, > > Andrzej > > >> >> Regards, >> >> Hans >> >> On 29/09/2021 18:04, Andrzej Pietrasiewicz wrote: >>> Dear all, >>> >>> This patch series adds VP9 codec V4L2 control interface and two drivers >>> using the new controls. It is a follow-up of previous v6 series [1]. >>> >>> In this iteration, we've implemented VP9 hardware decoding on two devices: >>> Rockchip VDEC and Hantro G2, and tested on RK3399, i.MX8MQ and i.MX8MP. >>> The i.MX8M driver needs proper power domains support, though, which is a >>> subject of a different effort, but in all 3 cases we were able to run the >>> drivers. >>> >>> GStreamer support is also available, the needed changes have been submitted >>> by Daniel Almeida [2]. This MR is ready to be merged, and just needs the >>> VP9 V4L2 controls to be merged and released. >>> >>> Both rkvdec and hantro drivers are passing a significant number of VP9 tests >>> using Fluster[3]. There are still a few tests that are not passing, due to >>> dynamic frame resize (not yet supported by V4L2) and small size videos >>> (due to IP block limitations). >>> >>> The series adds the VP9 codec V4L2 control API as uAPI, so it aims at being >>> merged without passing through staging, as agreed[4]. The ABI has been checked >>> for padding and verified to contain no holes. >>> >>> [1] https://patchwork.linuxtv.org/project/linux-media/list/?series=6377 >>> [2] https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2144 >>> [3] https://github.com/fluendo/fluster >>> [4] https://lore.kernel.org/linux-media/b8f83c93-67fd-09f5-9314-15746cbfdc61@xs4all.nl/ >>> >>> The series depends on the YUV tiled format support prepared by Ezequiel: >>> https://www.spinics.net/lists/linux-media/msg197047.html >>> >>> Rebased onto latest media_tree. >>> >>> Changes related to v6: >>> - moved setting tile filter and tile bsd auxiliary buffer addresses so >>> that they are always set, even if no tiles are used (thanks, Jernej) >>> - added a comment near the place where the 32-bit DMA mask is applied >>> (thanks, Nicolas) >>> - improved consistency in register names (thanks, Nicolas) >>> >>> Changes related to v5: >>> - improved the doc comments as per Ezequiel's review (thanks, Ezequiel) >>> - improved pdf output of documentation >>> - added Benjamin's Reviewed-by (thanks, Benjamin) >>> >>> Changes related to v4: >>> - removed unused enum v4l2_vp9_intra_prediction_mode >>> - converted remaining enums to defines to follow the convention >>> - improved the documentation, in particular better documented how to use segmentation >>> features >>> >>> Changes related to v3: >>> >>> Apply suggestions from Jernej's review (thanks, Jernej): >>> - renamed a control and two structs: >>> V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR_PROBS => >>> V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR >>> v4l2_ctrl_vp9_compressed_hdr_probs => >>> v4l2_ctrl_vp9_compressed_hdr >>> v4l2_vp9_mv_compressed_hdr_probs => v4l2_vp9_mv_probs >>> - moved tx_mode to v4l2_ctrl_vp9_compressed_hdr >>> - fixed enum v4l2_vp9_ref_frame_sign_bias values (which are used to test a bitfield) >>> - explicitly assigned values to all other vp9 enums >>> >>> Apply suggestion from Nicolas's review (thanks, Nicolas): >>> - explicitly stated that the v4l2_ctrl_vp9_compressed_hdr control is optional >>> and implemented only by drivers which need it >>> >>> Changes related to the RFC v2: >>> >>> - added another driver including a postprocessor to de-tile >>> codec-specific tiling >>> - reworked uAPI structs layout to follow VP8 style >>> - changed validation of loop filter params >>> - changed validation of segmentation params >>> - changed validation of VP9 frame params >>> - removed level lookup array from loop filter struct >>> (can be computed by drivers) >>> - renamed some enum values to match the spec more closely >>> - V4L2 VP9 library changed the 'eob' member of >>> 'struct v4l2_vp9_frame_symbol_counts' so that it is an array >>> of pointers instead of an array of pointers to arrays >>> (IPs such as g2 creatively pass parts of the 'eob' counts in >>> the 'coeff' counts) >>> - factored out several repeated portions of code >>> - minor nitpicks and cleanups >>> >>> Andrzej Pietrasiewicz (6): >>> media: uapi: Add VP9 stateless decoder controls >>> media: Add VP9 v4l2 library >>> media: hantro: Rename registers >>> media: hantro: Prepare for other G2 codecs >>> media: hantro: Support VP9 on the G2 core >>> media: hantro: Support NV12 on the G2 core >>> >>> Boris Brezillon (1): >>> media: rkvdec: Add the VP9 backend >>> >>> Ezequiel Garcia (4): >>> hantro: postproc: Fix motion vector space size >>> hantro: postproc: Introduce struct hantro_postproc_ops >>> hantro: Simplify postprocessor >>> hantro: Add quirk for NV12/NV12_4L4 capture format >>> >>> .../userspace-api/media/v4l/biblio.rst | 10 + >>> .../media/v4l/ext-ctrls-codec-stateless.rst | 573 +++++ >>> .../media/v4l/pixfmt-compressed.rst | 15 + >>> .../media/v4l/vidioc-g-ext-ctrls.rst | 8 + >>> .../media/v4l/vidioc-queryctrl.rst | 12 + >>> .../media/videodev2.h.rst.exceptions | 2 + >>> drivers/media/v4l2-core/Kconfig | 4 + >>> drivers/media/v4l2-core/Makefile | 1 + >>> drivers/media/v4l2-core/v4l2-ctrls-core.c | 180 ++ >>> drivers/media/v4l2-core/v4l2-ctrls-defs.c | 8 + >>> drivers/media/v4l2-core/v4l2-ioctl.c | 1 + >>> drivers/media/v4l2-core/v4l2-vp9.c | 1850 +++++++++++++++++ >>> drivers/staging/media/hantro/Kconfig | 1 + >>> drivers/staging/media/hantro/Makefile | 7 +- >>> drivers/staging/media/hantro/hantro.h | 40 +- >>> drivers/staging/media/hantro/hantro_drv.c | 23 +- >>> drivers/staging/media/hantro/hantro_g2.c | 27 + >>> .../staging/media/hantro/hantro_g2_hevc_dec.c | 69 +- >>> drivers/staging/media/hantro/hantro_g2_regs.h | 132 +- >>> .../staging/media/hantro/hantro_g2_vp9_dec.c | 980 +++++++++ >>> drivers/staging/media/hantro/hantro_hw.h | 83 +- >>> .../staging/media/hantro/hantro_postproc.c | 79 +- >>> drivers/staging/media/hantro/hantro_v4l2.c | 20 + >>> drivers/staging/media/hantro/hantro_vp9.c | 240 +++ >>> drivers/staging/media/hantro/hantro_vp9.h | 103 + >>> drivers/staging/media/hantro/imx8m_vpu_hw.c | 38 +- >>> .../staging/media/hantro/rockchip_vpu_hw.c | 7 +- >>> .../staging/media/hantro/sama5d4_vdec_hw.c | 3 +- >>> drivers/staging/media/rkvdec/Kconfig | 1 + >>> drivers/staging/media/rkvdec/Makefile | 2 +- >>> drivers/staging/media/rkvdec/rkvdec-vp9.c | 1078 ++++++++++ >>> drivers/staging/media/rkvdec/rkvdec.c | 52 +- >>> drivers/staging/media/rkvdec/rkvdec.h | 12 +- >>> include/media/v4l2-ctrls.h | 4 + >>> include/media/v4l2-vp9.h | 182 ++ >>> include/uapi/linux/v4l2-controls.h | 284 +++ >>> include/uapi/linux/videodev2.h | 6 + >>> 37 files changed, 6033 insertions(+), 104 deletions(-) >>> create mode 100644 drivers/media/v4l2-core/v4l2-vp9.c >>> create mode 100644 drivers/staging/media/hantro/hantro_g2.c >>> create mode 100644 drivers/staging/media/hantro/hantro_g2_vp9_dec.c >>> create mode 100644 drivers/staging/media/hantro/hantro_vp9.c >>> create mode 100644 drivers/staging/media/hantro/hantro_vp9.h >>> create mode 100644 drivers/staging/media/rkvdec/rkvdec-vp9.c >>> create mode 100644 include/media/v4l2-vp9.h >>> >>> >>> base-commit: e4e737bb5c170df6135a127739a9e6148ee3da82 >>> >> > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D78D2C43217 for ; Mon, 15 Nov 2021 21:19:58 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 99E8C61B9F for ; Mon, 15 Nov 2021 21:19:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 99E8C61B9F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=xs4all.nl Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:Cc:To:Subject:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=orZFCFRAppckm/nv1Go55IDJD2E3F5+Xx5ei+lquCIg=; b=Ejlv9g2UXTV5oO+tKMi8rdLerE cSBgms+K/UCzs8cfELoD99sFmAjWwGXc/jQ8Zfxlf0daGq1ELWzf20cuHg5lRfn2LFPmqlxLWzhQl Skc/qD8p//5qKT+GBWIgpPuZwPp8AOE5cCrvHo3vqJhKxhmugRgNJE+ZgKbcATvJGjn6knoMrilRj 4hJ1vtrN3F04QNZFlgzXLxCVqs06RjQbqWeEavtJVgO8PgmqQ2aj+tqbZm2tkckykISMr2XiWz7S+ nn9lhCQv+e77P05YbfGajn4RBC86ZvmMAYzoqLT3a4gxmPyvpIKfMB63PIp9AqQkW54VTEFRkrvX/ shs7PpEw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mmjLj-00H6BY-J4; Mon, 15 Nov 2021 21:17:11 +0000 Received: from lb2-smtp-cloud8.xs4all.net ([2001:888:0:108::2b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mmjLd-00H6Al-OU; Mon, 15 Nov 2021 21:17:09 +0000 Received: from cust-b5b5937f ([IPv6:fc0c:c16d:66b8:757f:c639:739b:9d66:799d]) by smtp-cloud8.xs4all.net with ESMTPA id mjLQmevczBB1QmjLTmVY1G; Mon, 15 Nov 2021 22:16:57 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s2; t=1637011017; bh=9zdriC6mPOmT9LtXMRFhLBS8B+Jmdx8JTEhz3AAHsVc=; h=Subject:To:From:Message-ID:Date:MIME-Version:Content-Type:From: Subject; b=UZ37SYxgJa0eo+Cm0pEpnQIsRzC//BbWGByAbr/Dc3f7E9DhVFAecTGU0FXM0z/Dt lIx1FIHk0sC5GwbOoXJFDpBizG/h1bX5cLk1lMy++DtB9WLiLMePivC8CH/k1vsV3v EoSxgvOIqL0n6QSqahD9ciflRFFhLF5cg4iJkTen/8ISGsiP8JFAqYWR9wf+tjCJta lzUgPdo7nrgvwrSV1wUdYvYJgf8wMNn/bZx7yybYukiHymz6rf3c8qf+OUS7xRL85S CbDik45JSGz9Fdipooq1Gy5fzcqPHLRxX2LAr3nqRwvmvb9Zy1//dhZE/4i8rxwhf8 qATux1nkGxT6Q== Subject: Re: [PATCH v7 00/11] VP9 codec V4L2 control interface To: Andrzej Pietrasiewicz , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev Cc: Benjamin Gaignard , Boris Brezillon , Ezequiel Garcia , Fabio Estevam , Greg Kroah-Hartman , Heiko Stuebner , Jernej Skrabec , Mauro Carvalho Chehab , Nicolas Dufresne , NXP Linux Team , Pengutronix Kernel Team , Philipp Zabel , Sascha Hauer , Shawn Guo , kernel@collabora.com References: <20210929160439.6601-1-andrzej.p@collabora.com> <9db47ebc-cb95-872d-feb4-d6432a74f2cb@xs4all.nl> <29f27bad-28ae-12ff-eed6-79902bd5b722@collabora.com> From: Hans Verkuil Message-ID: Date: Mon, 15 Nov 2021 22:16:52 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <29f27bad-28ae-12ff-eed6-79902bd5b722@collabora.com> Content-Language: en-US X-CMAE-Envelope: MS4xfHXR4sydJadvZPlD5pmrAtd6oji1KGh/esH9DNhiaFrgD+9bMrNA3fPH6tJiCRfwmxGqRATNjZZt2xWBhYhA+AgKfYRiqSV0DYnWM6FZ1IcYoTt0MEhC XHHk4/TleFiQsdtip8XVRjSgkvAOCT8IUSy5IAlfeSYsxFaRONCvIknWVm0wKJhpZTRKF8+QU4ghyMrZGDwBQn8BPA5sFWP6+fy/FsZkC70f+4OIbhaPdeBi luSiGdeHNzXnsk6KjGy+gV1G0xAT2zi2rtOLr70UvdyJUO6R1HYphwitJ650qPeFyw66aMA1AusnAYs9BEA/dCc+1tLUIqUsxHzlOHEymUjAPdffVF3QnWQk 49/SRT5ZcAuMGfs4IOnyeNHwqruEDD82ikfjeU4jF3xOSNQst4YxY1yIcsluhdskGGuFz+mthl1wboz2BZjiVkGJk9wxj0YMJjIGEL7J3Y2pG95K1N6c6Ag5 G5Xy6tHH+iulfz1HtZBDFmIYPWf6APps8+QxqEHvS8bqgpGkXo9svE17qQKgBqWlE9rBwmkiSUWMurZb8Acj18NT7R90pjHj+MmJKjmYobrpMRnRdKwdG3y4 qnWL1fTBnkm1ZfxVP/6gfTWfvW5Z4n+9qVKsrYasroqubGu3gPThdL7knFPXkmIEcFWy3hfr8si4vBy0TKcQk8Gf8UUr4N7bBxFWCtOTgiHT30G3RPm+OZon Qu7jhHAIx7NTT1tIjgwBZw1+PIGpMLZRHfDujo8gziw5g2qjYMg+gv+t0oNT+Z8Rn/56aCJRupep6MVbT2GXU8WzDYwu7SgO3QNef3lBjFYJUvbfjirIEUyE 6JMSKL2jvAmKl675M1z8uDGV653jo+xurioDVz5D+xeFVAcbBOAXpF+I+LZaS74mnbusF4fUIMoudW5F6cVBy8EXgov6K9ksKMd7Feg0vGyTNFx6hrV7UkUj 1qFV0MRBVGlpDRitzLh8H/anb/M= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211115_131706_094621_0B8FF25C X-CRM114-Status: GOOD ( 17.11 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMTUvMTEvMjAyMSAxODoxNCwgQW5kcnplaiBQaWV0cmFzaWV3aWN6IHdyb3RlOgo+IEhpIEhh bnMsCj4gCj4gVyBkbml1IDE1LjExLjIwMjEgb8KgMTY6MDcsIEhhbnMgVmVya3VpbCBwaXN6ZToK Pj4gQW5kcnplaiwKPj4KPj4gQ2FuIHlvdSByZWJhc2UgdGhpcyBzZXJpZXMgb24gdG9wIG9mIHRo ZSBtYXN0ZXIgYnJhbmNoIG9mCj4+IGh0dHBzOi8vZ2l0LmxpbnV4dHYub3JnL21lZGlhX3N0YWdl LmdpdC8gPyBVbmZvcnR1bmF0ZWx5IHRoaXMgdjcgbm8gbG9uZ2VyCj4+IGFwcGxpZXMuIFNwZWNp ZmljYWxseSAicmt2ZGVjOiBBZGQgdGhlIFZQOSBiYWNrZW5kIiBmYWlsZWQgaW4gYSBub24tdHJp dmlhbAo+PiBtYW5uZXIuCj4gCj4gVGhpcyBpcyBhIGJyYW5jaCBmb3IgeW91Ogo+IAo+IGh0dHBz Oi8vZ2l0bGFiLmNvbGxhYm9yYS5jb20vbGludXgvZm9yLXVwc3RyZWFtLy0vdHJlZS92cDktdWFw aQoKSSdtIGdldHRpbmcgYSBidW5jaCBvZiBzcGFyc2Uvc21hdGNoIHdhcm5pbmdzOgoKc3BhcnNl Ogpya3ZkZWMvcmt2ZGVjLXZwOS5jOjE5MDo0Mzogd2FybmluZzogdmFyaWFibGUgJ2RlY19wYXJh bXMnIHNldCBidXQgbm90IHVzZWQgWy1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCnJrdmRlYy9y a3ZkZWMtdnA5LmM6MjQ1OjQzOiB3YXJuaW5nOiB2YXJpYWJsZSAnZGVjX3BhcmFtcycgc2V0IGJ1 dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KU1BBUlNFOmhhbnRyby9oYW50 cm9fcG9zdHByb2MuYyBoYW50cm8vaGFudHJvX3Bvc3Rwcm9jLmM6Mzc6MzU6IHdhcm5pbmc6IHN5 bWJvbCAnaGFudHJvX2cxX3Bvc3Rwcm9jX3JlZ3MnIHdhcyBub3QgZGVjbGFyZWQuIFNob3VsZCBp dCBiZSBzdGF0aWM/CgpzbWF0Y2g6CnJrdmRlYy9ya3ZkZWMtdnA5LmM6MTkwOjQzOiB3YXJuaW5n OiB2YXJpYWJsZSAnZGVjX3BhcmFtcycgc2V0IGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNl dC12YXJpYWJsZV0Kcmt2ZGVjL3JrdmRlYy12cDkuYzoyNDU6NDM6IHdhcm5pbmc6IHZhcmlhYmxl ICdkZWNfcGFyYW1zJyBzZXQgYnV0IG5vdCB1c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxl XQpya3ZkZWMvcmt2ZGVjLXZwOS5jOiBya3ZkZWMvcmt2ZGVjLXZwOS5jOjIzNiBpbml0X2ludHJh X29ubHlfcHJvYnMoKSBlcnJvcjogYnVmZmVyIG92ZXJmbG93ICdwdHInIDkwIDw9IDkxCmhhbnRy by9oYW50cm9fZzJfdnA5X2RlYy5jOiBoYW50cm8vaGFudHJvX2cyX3ZwOV9kZWMuYzo2NzAgY29u ZmlnX3Byb2JzKCkgZXJyb3I6IG1lbWNweSgpICdhZGFwdGl2ZS0+aW50ZXJfbW9kZVtpXScgdG9v IHNtYWxsICg0IHZzIDIxKQpoYW50cm8vaGFudHJvX2cyX3ZwOV9kZWMuYzogaGFudHJvL2hhbnRy b19nMl92cDlfZGVjLmM6NjcwIGNvbmZpZ19wcm9icygpIGVycm9yOiBtZW1jcHkoKSAncHJvYnMt PmludGVyX21vZGVbaV0nIHRvbyBzbWFsbCAoMyB2cyAyMQoKQWxzbyBhIGJ1bmNoIG9mIGtlcm5l bGRvYyB3YXJuaW5nczoKCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDozMDogd2FybmluZzogRnVu Y3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnam9pbnQnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJf dnA5X2ZyYW1lX212X2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDozMDogd2Fybmlu ZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnc2lnbicgbm90IGRlc2NyaWJlZCBpbiAn djRsMl92cDlfZnJhbWVfbXZfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjMwOiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjbGFzc2VzJyBub3QgZGVzY3Jp YmVkIGluICd2NGwyX3ZwOV9mcmFtZV9tdl9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5 Lmg6MzA6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2NsYXNzMF9iaXQn IG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX212X2NvbnRleHQnCmluY2x1ZGUvbWVk aWEvdjRsMi12cDkuaDozMDogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAn Yml0cycgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfbXZfY29udGV4dCcKaW5jbHVk ZS9tZWRpYS92NGwyLXZwOS5oOjMwOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVt YmVyICdjbGFzczBfZnInIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX212X2NvbnRl eHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDozMDogd2FybmluZzogRnVuY3Rpb24gcGFyYW1l dGVyIG9yIG1lbWJlciAnZnInIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX212X2Nv bnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDozMDogd2FybmluZzogRnVuY3Rpb24gcGFy YW1ldGVyIG9yIG1lbWJlciAnY2xhc3MwX2hwJyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9m cmFtZV9tdl9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6MzA6IHdhcm5pbmc6IEZ1 bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2hwJyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3Zw OV9mcmFtZV9tdl9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6NTg6IHdhcm5pbmc6 IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3R4OCcgbm90IGRlc2NyaWJlZCBpbiAndjRs Ml92cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5n OiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd0eDE2JyBub3QgZGVzY3JpYmVkIGluICd2 NGwyX3ZwOV9mcmFtZV9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6NTg6IHdhcm5p bmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3R4MzInIG5vdCBkZXNjcmliZWQgaW4g J3Y0bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo1ODogd2Fy bmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnY29lZicgbm90IGRlc2NyaWJlZCBp biAndjRsMl92cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdza2lwJyBub3QgZGVzY3JpYmVk IGluICd2NGwyX3ZwOV9mcmFtZV9jb250ZXh0JwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6NTg6 IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2ludGVyX21vZGUnIG5vdCBk ZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12 cDkuaDo1ODogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnaW50ZXJwX2Zp bHRlcicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9t ZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVy ICdpc19pbnRlcicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfY29udGV4dCcKaW5j bHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3Ig bWVtYmVyICdjb21wX21vZGUnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX2NvbnRl eHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo1ODogd2FybmluZzogRnVuY3Rpb24gcGFyYW1l dGVyIG9yIG1lbWJlciAnc2luZ2xlX3JlZicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJh bWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5nOiBGdW5jdGlv biBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjb21wX3JlZicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92 cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3YXJuaW5nOiBG dW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd5X21vZGUnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0 bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo1ODogd2Fybmlu ZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAndXZfbW9kZScgbm90IGRlc2NyaWJlZCBp biAndjRsMl92cDlfZnJhbWVfY29udGV4dCcKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjU4OiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdwYXJ0aXRpb24nIG5vdCBkZXNj cmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDku aDo1ODogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnbXYnIG5vdCBkZXNj cmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX2NvbnRleHQnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDku aDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAncGFydGl0aW9uJyBu b3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRlL21l ZGlhL3Y0bDItdnA5Lmg6OTM6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIg J3NraXAnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmlu Y2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9y IG1lbWJlciAnaW50cmFfaW50ZXInIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5 bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rp b24gcGFyYW1ldGVyIG9yIG1lbWJlciAndHgzMnAnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5 X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2Fybmlu ZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAndHgxNnAnIG5vdCBkZXNjcmliZWQgaW4g J3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5 Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAndHg4cCcgbm90IGRlc2Ny aWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2NvdW50cycKaW5jbHVkZS9tZWRpYS92NGwy LXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd5X21vZGUn IG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUv bWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJl ciAndXZfbW9kZScgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2NvdW50 cycKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0 ZXIgb3IgbWVtYmVyICdjb21wJyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9mcmFtZV9zeW1i b2xfY291bnRzJwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6OTM6IHdhcm5pbmc6IEZ1bmN0aW9u IHBhcmFtZXRlciBvciBtZW1iZXIgJ2NvbXBfcmVmJyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3Zw OV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6OTM6IHdhcm5p bmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3NpbmdsZV9yZWYnIG5vdCBkZXNjcmli ZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12 cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnbXZfbW9kZScg bm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2NvdW50cycKaW5jbHVkZS9t ZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVy ICdmaWx0ZXInIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMn CmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVy IG9yIG1lbWJlciAnbXZfam9pbnQnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5 bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rp b24gcGFyYW1ldGVyIG9yIG1lbWJlciAnc2lnbicgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlf ZnJhbWVfc3ltYm9sX2NvdW50cycKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5n OiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjbGFzc2VzJyBub3QgZGVzY3JpYmVkIGlu ICd2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRlL21lZGlhL3Y0bDItdnA5Lmg6 OTM6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2NsYXNzMCcgbm90IGRl c2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2NvdW50cycKaW5jbHVkZS9tZWRpYS92 NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdiaXRz JyBub3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRl L21lZGlhL3Y0bDItdnA5Lmg6OTM6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1i ZXIgJ2NsYXNzMF9mcCcgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3ltYm9sX2Nv dW50cycKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJh bWV0ZXIgb3IgbWVtYmVyICdmcCcgbm90IGRlc2NyaWJlZCBpbiAndjRsMl92cDlfZnJhbWVfc3lt Ym9sX2NvdW50cycKaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oOjkzOiB3YXJuaW5nOiBGdW5jdGlv biBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjbGFzczBfaHAnIG5vdCBkZXNjcmliZWQgaW4gJ3Y0bDJf dnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5Mzogd2Fy bmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnaHAnIG5vdCBkZXNjcmliZWQgaW4g J3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRsMi12cDkuaDo5 Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnY29lZmYnIG5vdCBkZXNj cmliZWQgaW4gJ3Y0bDJfdnA5X2ZyYW1lX3N5bWJvbF9jb3VudHMnCmluY2x1ZGUvbWVkaWEvdjRs Mi12cDkuaDo5Mzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnZW9iJyBu b3QgZGVzY3JpYmVkIGluICd2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJwppbmNsdWRlL21l ZGlhL3Y0bDItdnA5Lmg6MTY2OiB3YXJuaW5nOiBleHBlY3RpbmcgcHJvdG90eXBlIGZvciB2NGwy X3ZwOV9hZGFwdF9jb2VmX3Byb2JzKCkuIFByb3RvdHlwZSB3YXMgZm9yIHY0bDJfdnA5X2FkYXB0 X25vbmNvZWZfcHJvYnMoKQppbnN0ZWFkCmRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vb21hcDNpc3Av b21hcDNpc3AuaDoxMDc6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3Zw X2Nsa19wb2wnIG5vdCBkZXNjcmliZWQgaW4gJ2lzcF9jY3AyX2NmZycKZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9vbWFwM2lzcC9vbWFwM2lzcC5oOjEwNzogd2FybmluZzogRnVuY3Rpb24gcGFyYW1l dGVyIG9yIG1lbWJlciAnbGFuZWNmZycgbm90IGRlc2NyaWJlZCBpbiAnaXNwX2NjcDJfY2ZnJwpk cml2ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vdmVudXMvY29yZS5oOjIwMjogd2FybmluZzogRnVu Y3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnc3lzX2Vycl9kb25lJyBub3QgZGVzY3JpYmVkIGlu ICd2ZW51c19jb3JlJwpkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3Fjb20vdmVudXMvY29yZS5oOjQ2 Mjogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnZndfbWluX2NudCcgbm90 IGRlc2NyaWJlZCBpbiAndmVudXNfaW5zdCcKZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9xY29tL3Zl bnVzL2NvcmUuaDo0NjI6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2Zs YWdzJyBub3QgZGVzY3JpYmVkIGluICd2ZW51c19pbnN0Jwpkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L3Fjb20vdmVudXMvY29yZS5oOjQ2Mjogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1l bWJlciAnZHBiX2lkcycgbm90IGRlc2NyaWJlZCBpbiAndmVudXNfaW5zdCcKZHJpdmVycy9zdGFn aW5nL21lZGlhL2hhbnRyby9oYW50cm8uaDoxMTU6IHdhcm5pbmc6IEVudW0gdmFsdWUgJ0hBTlRS T19NT0RFX1ZQOV9ERUMnIG5vdCBkZXNjcmliZWQgaW4gZW51bSAnaGFudHJvX2NvZGVjX21vZGUn CmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBG dW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd0aWxlX2VkZ2UnIG5vdCBkZXNjcmliZWQgaW4g J2hhbnRyb192cDlfZGVjX2h3X2N0eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50 cm9faHcuaDoyMTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ3NlZ21l bnRfbWFwJyBub3QgZGVzY3JpYmVkIGluICdoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMv c3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBw YXJhbWV0ZXIgb3IgbWVtYmVyICdtaXNjJyBub3QgZGVzY3JpYmVkIGluICdoYW50cm9fdnA5X2Rl Y19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjbnRzJyBub3QgZGVzY3JpYmVk IGluICdoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8v aGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdw cm9iYWJpbGl0eV90YWJsZXMnIG5vdCBkZXNjcmliZWQgaW4KJ2hhbnRyb192cDlfZGVjX2h3X2N0 eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaDoyMTE6IHdhcm5pbmc6 IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2ZyYW1lX2NvbnRleHQnIG5vdCBkZXNjcmli ZWQgaW4gJ2hhbnRyb192cDlfZGVjX2h3X2N0eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm9faHcuaDoyMTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIg J2N1cicgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24gcGFy YW1ldGVyIG9yIG1lbWJlciAnbGFzdCcgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNf aHdfY3R4Jwpkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2Fy bmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnYnNkX2N0cmxfb2Zmc2V0JyBub3Qg ZGVzY3JpYmVkIGluICdoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRp YS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3Ig bWVtYmVyICdzZWdtZW50X21hcF9zaXplJyBub3QgZGVzY3JpYmVkIGluICdoYW50cm9fdnA5X2Rl Y19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3 YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICdjdHhfY291bnRlcnNfb2Zmc2V0 JyBub3QgZGVzY3JpYmVkIGluCidoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0 ZXIgb3IgbWVtYmVyICd0aWxlX2luZm9fb2Zmc2V0JyBub3QgZGVzY3JpYmVkIGluICdoYW50cm9f dnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3Lmg6 MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVtYmVyICd0aWxlX3JfaW5mbycg bm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJzL3N0YWdpbmcv bWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVy IG9yIG1lbWJlciAndGlsZV9jX2luZm8nIG5vdCBkZXNjcmliZWQgaW4gJ2hhbnRyb192cDlfZGVj X2h3X2N0eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaDoyMTE6IHdh cm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2xhc3RfdGlsZV9yJyBub3QgZGVz Y3JpYmVkIGluICdoYW50cm9fdnA5X2RlY19od19jdHgnCmRyaXZlcnMvc3RhZ2luZy9tZWRpYS9o YW50cm8vaGFudHJvX2h3Lmg6MjExOiB3YXJuaW5nOiBGdW5jdGlvbiBwYXJhbWV0ZXIgb3IgbWVt YmVyICdsYXN0X3RpbGVfYycgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4 Jwpkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzog RnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnbGFzdF9zYnNfcicgbm90IGRlc2NyaWJlZCBp biAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hh bnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24gcGFyYW1ldGVyIG9yIG1lbWJlciAnbGFz dF9zYnNfYycgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJz L3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24g cGFyYW1ldGVyIG9yIG1lbWJlciAnYWN0aXZlX3NlZ21lbnQnIG5vdCBkZXNjcmliZWQgaW4gJ2hh bnRyb192cDlfZGVjX2h3X2N0eCcKZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9f aHcuaDoyMTE6IHdhcm5pbmc6IEZ1bmN0aW9uIHBhcmFtZXRlciBvciBtZW1iZXIgJ2ZlYXR1cmVf ZW5hYmxlZCcgbm90IGRlc2NyaWJlZCBpbiAnaGFudHJvX3ZwOV9kZWNfaHdfY3R4Jwpkcml2ZXJz L3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5oOjIxMTogd2FybmluZzogRnVuY3Rpb24g cGFyYW1ldGVyIG9yIG1lbWJlciAnZmVhdHVyZV9kYXRhJyBub3QgZGVzY3JpYmVkIGluICdoYW50 cm9fdnA5X2RlY19od19jdHgnCgpZb3UgY2FuIHRlc3Qga2VybmVsZG9jIHlvdXJzZWxmIHdpdGg6 IHNjcmlwdHMva2VybmVsLWRvYyAtbm9uZSBpbmNsdWRlL21lZGlhL3Y0bDItdnA5LmgKClJlZ2Fy ZHMsCgoJSGFucwoKPiAKPiBSZWdhcmRzLAo+IAo+IEFuZHJ6ZWoKPiAKPiAKPj4KPj4gUmVnYXJk cywKPj4KPj4gCUhhbnMKPj4KPj4gT24gMjkvMDkvMjAyMSAxODowNCwgQW5kcnplaiBQaWV0cmFz aWV3aWN6IHdyb3RlOgo+Pj4gRGVhciBhbGwsCj4+Pgo+Pj4gVGhpcyBwYXRjaCBzZXJpZXMgYWRk cyBWUDkgY29kZWMgVjRMMiBjb250cm9sIGludGVyZmFjZSBhbmQgdHdvIGRyaXZlcnMKPj4+IHVz aW5nIHRoZSBuZXcgY29udHJvbHMuIEl0IGlzIGEgZm9sbG93LXVwIG9mIHByZXZpb3VzIHY2IHNl cmllcyBbMV0uCj4+Pgo+Pj4gSW4gdGhpcyBpdGVyYXRpb24sIHdlJ3ZlIGltcGxlbWVudGVkIFZQ OSBoYXJkd2FyZSBkZWNvZGluZyBvbiB0d28gZGV2aWNlczoKPj4+IFJvY2tjaGlwIFZERUMgYW5k IEhhbnRybyBHMiwgYW5kIHRlc3RlZCBvbiBSSzMzOTksIGkuTVg4TVEgYW5kIGkuTVg4TVAuCj4+ PiBUaGUgaS5NWDhNIGRyaXZlciBuZWVkcyBwcm9wZXIgcG93ZXIgZG9tYWlucyBzdXBwb3J0LCB0 aG91Z2gsIHdoaWNoIGlzIGEKPj4+IHN1YmplY3Qgb2YgYSBkaWZmZXJlbnQgZWZmb3J0LCBidXQg aW4gYWxsIDMgY2FzZXMgd2Ugd2VyZSBhYmxlIHRvIHJ1biB0aGUKPj4+IGRyaXZlcnMuCj4+Pgo+ Pj4gR1N0cmVhbWVyIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHRoZSBuZWVkZWQgY2hhbmdl cyBoYXZlIGJlZW4gc3VibWl0dGVkCj4+PiBieSBEYW5pZWwgQWxtZWlkYSBbMl0uIFRoaXMgTVIg aXMgcmVhZHkgdG8gYmUgbWVyZ2VkLCBhbmQganVzdCBuZWVkcyB0aGUKPj4+IFZQOSBWNEwyIGNv bnRyb2xzIHRvIGJlIG1lcmdlZCBhbmQgcmVsZWFzZWQuCj4+Pgo+Pj4gQm90aCBya3ZkZWMgYW5k IGhhbnRybyBkcml2ZXJzIGFyZSBwYXNzaW5nIGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIFZQOSB0 ZXN0cwo+Pj4gdXNpbmcgRmx1c3RlclszXS4gVGhlcmUgYXJlIHN0aWxsIGEgZmV3IHRlc3RzIHRo YXQgYXJlIG5vdCBwYXNzaW5nLCBkdWUgdG8KPj4+IGR5bmFtaWMgZnJhbWUgcmVzaXplIChub3Qg eWV0IHN1cHBvcnRlZCBieSBWNEwyKSBhbmQgc21hbGwgc2l6ZSB2aWRlb3MKPj4+IChkdWUgdG8g SVAgYmxvY2sgbGltaXRhdGlvbnMpLgo+Pj4KPj4+IFRoZSBzZXJpZXMgYWRkcyB0aGUgVlA5IGNv ZGVjIFY0TDIgY29udHJvbCBBUEkgYXMgdUFQSSwgc28gaXQgYWltcyBhdCBiZWluZwo+Pj4gbWVy Z2VkIHdpdGhvdXQgcGFzc2luZyB0aHJvdWdoIHN0YWdpbmcsIGFzIGFncmVlZFs0XS4gVGhlIEFC SSBoYXMgYmVlbiBjaGVja2VkCj4+PiBmb3IgcGFkZGluZyBhbmQgdmVyaWZpZWQgdG8gY29udGFp biBubyBob2xlcy4KPj4+Cj4+PiBbMV0gaHR0cHM6Ly9wYXRjaHdvcmsubGludXh0di5vcmcvcHJv amVjdC9saW51eC1tZWRpYS9saXN0Lz9zZXJpZXM9NjM3Nwo+Pj4gWzJdIGh0dHBzOi8vZ2l0bGFi LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkLy0vbWVyZ2VfcmVxdWVz dHMvMjE0NAo+Pj4gWzNdIGh0dHBzOi8vZ2l0aHViLmNvbS9mbHVlbmRvL2ZsdXN0ZXIKPj4+IFs0 XSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1tZWRpYS9iOGY4M2M5My02N2ZkLTA5ZjUt OTMxNC0xNTc0NmNiZmRjNjFAeHM0YWxsLm5sLwo+Pj4KPj4+IFRoZSBzZXJpZXMgZGVwZW5kcyBv biB0aGUgWVVWIHRpbGVkIGZvcm1hdCBzdXBwb3J0IHByZXBhcmVkIGJ5IEV6ZXF1aWVsOgo+Pj4g aHR0cHM6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvbGludXgtbWVkaWEvbXNnMTk3MDQ3Lmh0bWwK Pj4+Cj4+PiBSZWJhc2VkIG9udG8gbGF0ZXN0IG1lZGlhX3RyZWUuCj4+Pgo+Pj4gQ2hhbmdlcyBy ZWxhdGVkIHRvIHY2Ogo+Pj4gLSBtb3ZlZCBzZXR0aW5nIHRpbGUgZmlsdGVyIGFuZCB0aWxlIGJz ZCBhdXhpbGlhcnkgYnVmZmVyIGFkZHJlc3NlcyBzbwo+Pj4gdGhhdCB0aGV5IGFyZSBhbHdheXMg c2V0LCBldmVuIGlmIG5vIHRpbGVzIGFyZSB1c2VkICh0aGFua3MsIEplcm5laikKPj4+IC0gYWRk ZWQgYSBjb21tZW50IG5lYXIgdGhlIHBsYWNlIHdoZXJlIHRoZSAzMi1iaXQgRE1BIG1hc2sgaXMg YXBwbGllZAo+Pj4gICAgKHRoYW5rcywgTmljb2xhcykKPj4+IC0gaW1wcm92ZWQgY29uc2lzdGVu Y3kgaW4gcmVnaXN0ZXIgbmFtZXMgKHRoYW5rcywgTmljb2xhcykKPj4+Cj4+PiBDaGFuZ2VzIHJl bGF0ZWQgdG8gdjU6Cj4+PiAtIGltcHJvdmVkIHRoZSBkb2MgY29tbWVudHMgYXMgcGVyIEV6ZXF1 aWVsJ3MgcmV2aWV3ICh0aGFua3MsIEV6ZXF1aWVsKQo+Pj4gLSBpbXByb3ZlZCBwZGYgb3V0cHV0 IG9mIGRvY3VtZW50YXRpb24KPj4+IC0gYWRkZWQgQmVuamFtaW4ncyBSZXZpZXdlZC1ieSAodGhh bmtzLCBCZW5qYW1pbikKPj4+Cj4+PiBDaGFuZ2VzIHJlbGF0ZWQgdG8gdjQ6Cj4+PiAtIHJlbW92 ZWQgdW51c2VkIGVudW0gdjRsMl92cDlfaW50cmFfcHJlZGljdGlvbl9tb2RlCj4+PiAtIGNvbnZl cnRlZCByZW1haW5pbmcgZW51bXMgdG8gZGVmaW5lcyB0byBmb2xsb3cgdGhlIGNvbnZlbnRpb24K Pj4+IC0gaW1wcm92ZWQgdGhlIGRvY3VtZW50YXRpb24sIGluIHBhcnRpY3VsYXIgYmV0dGVyIGRv Y3VtZW50ZWQgaG93IHRvIHVzZSBzZWdtZW50YXRpb24KPj4+IGZlYXR1cmVzCj4+Pgo+Pj4gQ2hh bmdlcyByZWxhdGVkIHRvIHYzOgo+Pj4KPj4+IEFwcGx5IHN1Z2dlc3Rpb25zIGZyb20gSmVybmVq J3MgcmV2aWV3ICh0aGFua3MsIEplcm5laik6Cj4+PiAtIHJlbmFtZWQgYSBjb250cm9sIGFuZCB0 d28gc3RydWN0czoKPj4+IAlWNEwyX0NUUkxfVFlQRV9WUDlfQ09NUFJFU1NFRF9IRFJfUFJPQlMg PT4KPj4+IAkJVjRMMl9DVFJMX1RZUEVfVlA5X0NPTVBSRVNTRURfSERSCj4+PiAJdjRsMl9jdHJs X3ZwOV9jb21wcmVzc2VkX2hkcl9wcm9icyA9Pgo+Pj4gCQl2NGwyX2N0cmxfdnA5X2NvbXByZXNz ZWRfaGRyCj4+PiAJdjRsMl92cDlfbXZfY29tcHJlc3NlZF9oZHJfcHJvYnMgPT4gdjRsMl92cDlf bXZfcHJvYnMKPj4+IC0gbW92ZWQgdHhfbW9kZSB0byB2NGwyX2N0cmxfdnA5X2NvbXByZXNzZWRf aGRyCj4+PiAtIGZpeGVkIGVudW0gdjRsMl92cDlfcmVmX2ZyYW1lX3NpZ25fYmlhcyB2YWx1ZXMg KHdoaWNoIGFyZSB1c2VkIHRvIHRlc3QgYSBiaXRmaWVsZCkKPj4+IC0gZXhwbGljaXRseSBhc3Np Z25lZCB2YWx1ZXMgdG8gYWxsIG90aGVyIHZwOSBlbnVtcwo+Pj4KPj4+IEFwcGx5IHN1Z2dlc3Rp b24gZnJvbSBOaWNvbGFzJ3MgcmV2aWV3ICh0aGFua3MsIE5pY29sYXMpOgo+Pj4gLSBleHBsaWNp dGx5IHN0YXRlZCB0aGF0IHRoZSB2NGwyX2N0cmxfdnA5X2NvbXByZXNzZWRfaGRyIGNvbnRyb2wg aXMgb3B0aW9uYWwKPj4+IGFuZCBpbXBsZW1lbnRlZCBvbmx5IGJ5IGRyaXZlcnMgd2hpY2ggbmVl ZCBpdAo+Pj4KPj4+IENoYW5nZXMgcmVsYXRlZCB0byB0aGUgUkZDIHYyOgo+Pj4KPj4+IC0gYWRk ZWQgYW5vdGhlciBkcml2ZXIgaW5jbHVkaW5nIGEgcG9zdHByb2Nlc3NvciB0byBkZS10aWxlCj4+ PiAgICAgICAgICBjb2RlYy1zcGVjaWZpYyB0aWxpbmcKPj4+IC0gcmV3b3JrZWQgdUFQSSBzdHJ1 Y3RzIGxheW91dCB0byBmb2xsb3cgVlA4IHN0eWxlCj4+PiAtIGNoYW5nZWQgdmFsaWRhdGlvbiBv ZiBsb29wIGZpbHRlciBwYXJhbXMKPj4+IC0gY2hhbmdlZCB2YWxpZGF0aW9uIG9mIHNlZ21lbnRh dGlvbiBwYXJhbXMKPj4+IC0gY2hhbmdlZCB2YWxpZGF0aW9uIG9mIFZQOSBmcmFtZSBwYXJhbXMK Pj4+IC0gcmVtb3ZlZCBsZXZlbCBsb29rdXAgYXJyYXkgZnJvbSBsb29wIGZpbHRlciBzdHJ1Y3QK Pj4+ICAgICAgICAgIChjYW4gYmUgY29tcHV0ZWQgYnkgZHJpdmVycykKPj4+IC0gcmVuYW1lZCBz b21lIGVudW0gdmFsdWVzIHRvIG1hdGNoIHRoZSBzcGVjIG1vcmUgY2xvc2VseQo+Pj4gLSBWNEwy IFZQOSBsaWJyYXJ5IGNoYW5nZWQgdGhlICdlb2InIG1lbWJlciBvZgo+Pj4gICAgICAgICAgJ3N0 cnVjdCB2NGwyX3ZwOV9mcmFtZV9zeW1ib2xfY291bnRzJyBzbyB0aGF0IGl0IGlzIGFuIGFycmF5 Cj4+PiAgICAgICAgICBvZiBwb2ludGVycyBpbnN0ZWFkIG9mIGFuIGFycmF5IG9mIHBvaW50ZXJz IHRvIGFycmF5cwo+Pj4gICAgICAgICAgKElQcyBzdWNoIGFzIGcyIGNyZWF0aXZlbHkgcGFzcyBw YXJ0cyBvZiB0aGUgJ2VvYicgY291bnRzIGluCj4+PiAgICAgICAgICB0aGUgJ2NvZWZmJyBjb3Vu dHMpCj4+PiAtIGZhY3RvcmVkIG91dCBzZXZlcmFsIHJlcGVhdGVkIHBvcnRpb25zIG9mIGNvZGUK Pj4+IC0gbWlub3Igbml0cGlja3MgYW5kIGNsZWFudXBzCj4+Pgo+Pj4gQW5kcnplaiBQaWV0cmFz aWV3aWN6ICg2KToKPj4+ICAgIG1lZGlhOiB1YXBpOiBBZGQgVlA5IHN0YXRlbGVzcyBkZWNvZGVy IGNvbnRyb2xzCj4+PiAgICBtZWRpYTogQWRkIFZQOSB2NGwyIGxpYnJhcnkKPj4+ICAgIG1lZGlh OiBoYW50cm86IFJlbmFtZSByZWdpc3RlcnMKPj4+ICAgIG1lZGlhOiBoYW50cm86IFByZXBhcmUg Zm9yIG90aGVyIEcyIGNvZGVjcwo+Pj4gICAgbWVkaWE6IGhhbnRybzogU3VwcG9ydCBWUDkgb24g dGhlIEcyIGNvcmUKPj4+ICAgIG1lZGlhOiBoYW50cm86IFN1cHBvcnQgTlYxMiBvbiB0aGUgRzIg Y29yZQo+Pj4KPj4+IEJvcmlzIEJyZXppbGxvbiAoMSk6Cj4+PiAgICBtZWRpYTogcmt2ZGVjOiBB ZGQgdGhlIFZQOSBiYWNrZW5kCj4+Pgo+Pj4gRXplcXVpZWwgR2FyY2lhICg0KToKPj4+ICAgIGhh bnRybzogcG9zdHByb2M6IEZpeCBtb3Rpb24gdmVjdG9yIHNwYWNlIHNpemUKPj4+ICAgIGhhbnRy bzogcG9zdHByb2M6IEludHJvZHVjZSBzdHJ1Y3QgaGFudHJvX3Bvc3Rwcm9jX29wcwo+Pj4gICAg aGFudHJvOiBTaW1wbGlmeSBwb3N0cHJvY2Vzc29yCj4+PiAgICBoYW50cm86IEFkZCBxdWlyayBm b3IgTlYxMi9OVjEyXzRMNCBjYXB0dXJlIGZvcm1hdAo+Pj4KPj4+ICAgLi4uL3VzZXJzcGFjZS1h cGkvbWVkaWEvdjRsL2JpYmxpby5yc3QgICAgICAgIHwgICAxMCArCj4+PiAgIC4uLi9tZWRpYS92 NGwvZXh0LWN0cmxzLWNvZGVjLXN0YXRlbGVzcy5yc3QgICB8ICA1NzMgKysrKysKPj4+ICAgLi4u L21lZGlhL3Y0bC9waXhmbXQtY29tcHJlc3NlZC5yc3QgICAgICAgICAgIHwgICAxNSArCj4+PiAg IC4uLi9tZWRpYS92NGwvdmlkaW9jLWctZXh0LWN0cmxzLnJzdCAgICAgICAgICB8ICAgIDggKwo+ Pj4gICAuLi4vbWVkaWEvdjRsL3ZpZGlvYy1xdWVyeWN0cmwucnN0ICAgICAgICAgICAgfCAgIDEy ICsKPj4+ICAgLi4uL21lZGlhL3ZpZGVvZGV2Mi5oLnJzdC5leGNlcHRpb25zICAgICAgICAgIHwg ICAgMiArCj4+PiAgIGRyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL0tjb25maWcgICAgICAgICAgICAg ICB8ICAgIDQgKwo+Pj4gICBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS9NYWtlZmlsZSAgICAgICAg ICAgICAgfCAgICAxICsKPj4+ICAgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy1j b3JlLmMgICAgIHwgIDE4MCArKwo+Pj4gICBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWN0 cmxzLWRlZnMuYyAgICAgfCAgICA4ICsKPj4+ICAgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRs Mi1pb2N0bC5jICAgICAgICAgIHwgICAgMSArCj4+PiAgIGRyaXZlcnMvbWVkaWEvdjRsMi1jb3Jl L3Y0bDItdnA5LmMgICAgICAgICAgICB8IDE4NTAgKysrKysrKysrKysrKysrKysKPj4+ICAgZHJp dmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9LY29uZmlnICAgICAgICAgIHwgICAgMSArCj4+PiAg IGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vTWFrZWZpbGUgICAgICAgICB8ICAgIDcgKy0K Pj4+ICAgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm8uaCAgICAgICAgIHwgICA0 MCArLQo+Pj4gICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYyAgICAg fCAgIDIzICstCj4+PiAgIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2cyLmMg ICAgICB8ICAgMjcgKwo+Pj4gICAuLi4vc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX2hl dmNfZGVjLmMgfCAgIDY5ICstCj4+PiAgIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFu dHJvX2cyX3JlZ3MuaCB8ICAxMzIgKy0KPj4+ICAgLi4uL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hh bnRyb19nMl92cDlfZGVjLmMgIHwgIDk4MCArKysrKysrKysKPj4+ICAgZHJpdmVycy9zdGFnaW5n L21lZGlhL2hhbnRyby9oYW50cm9faHcuaCAgICAgIHwgICA4MyArLQo+Pj4gICAuLi4vc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX3Bvc3Rwcm9jLmMgICAgfCAgIDc5ICstCj4+PiAgIGRyaXZl cnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX3Y0bDIuYyAgICB8ICAgMjAgKwo+Pj4gICBk cml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb192cDkuYyAgICAgfCAgMjQwICsrKwo+ Pj4gICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb192cDkuaCAgICAgfCAgMTAz ICsKPj4+ICAgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9pbXg4bV92cHVfaHcuYyAgIHwg ICAzOCArLQo+Pj4gICAuLi4vc3RhZ2luZy9tZWRpYS9oYW50cm8vcm9ja2NoaXBfdnB1X2h3LmMg ICAgfCAgICA3ICstCj4+PiAgIC4uLi9zdGFnaW5nL21lZGlhL2hhbnRyby9zYW1hNWQ0X3ZkZWNf aHcuYyAgICB8ICAgIDMgKy0KPj4+ICAgZHJpdmVycy9zdGFnaW5nL21lZGlhL3JrdmRlYy9LY29u ZmlnICAgICAgICAgIHwgICAgMSArCj4+PiAgIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9ya3ZkZWMv TWFrZWZpbGUgICAgICAgICB8ICAgIDIgKy0KPj4+ICAgZHJpdmVycy9zdGFnaW5nL21lZGlhL3Jr dmRlYy9ya3ZkZWMtdnA5LmMgICAgIHwgMTA3OCArKysrKysrKysrCj4+PiAgIGRyaXZlcnMvc3Rh Z2luZy9tZWRpYS9ya3ZkZWMvcmt2ZGVjLmMgICAgICAgICB8ICAgNTIgKy0KPj4+ICAgZHJpdmVy cy9zdGFnaW5nL21lZGlhL3JrdmRlYy9ya3ZkZWMuaCAgICAgICAgIHwgICAxMiArLQo+Pj4gICBp bmNsdWRlL21lZGlhL3Y0bDItY3RybHMuaCAgICAgICAgICAgICAgICAgICAgfCAgICA0ICsKPj4+ ICAgaW5jbHVkZS9tZWRpYS92NGwyLXZwOS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDE4MiAr Kwo+Pj4gICBpbmNsdWRlL3VhcGkvbGludXgvdjRsMi1jb250cm9scy5oICAgICAgICAgICAgfCAg Mjg0ICsrKwo+Pj4gICBpbmNsdWRlL3VhcGkvbGludXgvdmlkZW9kZXYyLmggICAgICAgICAgICAg ICAgfCAgICA2ICsKPj4+ICAgMzcgZmlsZXMgY2hhbmdlZCwgNjAzMyBpbnNlcnRpb25zKCspLCAx MDQgZGVsZXRpb25zKC0pCj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3Y0 bDItY29yZS92NGwyLXZwOS5jCj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMi5jCj4+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl92cDlfZGVjLmMKPj4+ICAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX3ZwOS5jCj4+ PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy b192cDkuaAo+Pj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9zdGFnaW5nL21lZGlhL3Jr dmRlYy9ya3ZkZWMtdnA5LmMKPj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbWVkaWEv djRsMi12cDkuaAo+Pj4KPj4+Cj4+PiBiYXNlLWNvbW1pdDogZTRlNzM3YmI1YzE3MGRmNjEzNWEx Mjc3MzlhOWU2MTQ4ZWUzZGE4Mgo+Pj4KPj4KPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==