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 650E1496FD for ; Thu, 18 Apr 2024 12:29:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4A93468D3CC; Thu, 18 Apr 2024 15:29:51 +0300 (EEST) Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com [209.85.128.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4C1E668D3A2 for ; Thu, 18 Apr 2024 15:29:44 +0300 (EEST) Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-617dfcf80aeso7900957b3.3 for ; Thu, 18 Apr 2024 05:29:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=visionlabs-ai.20230601.gappssmtp.com; s=20230601; t=1713443383; x=1714048183; darn=ffmpeg.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=vvYf78Bqxt5XlsfjtxrJHJNxLb+5kuI+JkPheGQ26bo=; b=psH6nFH7IzsQkXKNZp3z+qQLyFyZB1mQDt6o0Y5g8cwjumA8bnmwYwNIZDB0/g80gh dpm3zFFejLUS/ZnOGv3t8QvSKHrjQWCBKnd9p6YNC93vi84SVr7QX2XpdkL69No4CiO7 JXwn1cPX4x7k+FgwuMM5j2FoJBTek4hRlGOgIc2k7isN+R1Mf/FNBRtxt4dDRINtv1Gs d2/MRDKRbzgb4gxCPRVXJg5cZxa/iMNzGFOpnRMPYRtGUskA1RU8QtZWnoBH6D8pYZtA hlY5UGSl77S7qG/wWxC3S1PikMIbDCNCQTbDIgnH033V/mO4tJCJNN3DUyJGZXUx6avy eDkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713443383; x=1714048183; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=vvYf78Bqxt5XlsfjtxrJHJNxLb+5kuI+JkPheGQ26bo=; b=f1NsYlx+uHF0H0giwGjTe2vZg1b0Q3oDSR0dn56ylZZgM/+DK3qN4FyDPKHvjAXZiw 7fvbgoBfN93iyjybQAkH7fZHiCCARioibbqwHp6CEsLmOz265J/vN7GA3MBnqqohE87I xIJTeghJ1aO7II4E07k3iGUGywDnAEP129yR8D462lZGfG2BYn0ZuKk4LPjXmsFhqjtf kXNYu2RrdQ1ttUViOxLkrcPmEgTb68tHn27XD9jXQ+jm7hxeC1c/lo1YGdaWniCyHdEu jkMyUvIG025oeLihdEIvjSIJe07T1pOLi1RZQEsQSHTD/AliHcDTmKF6tMUl99FZVt1T SZzQ== X-Gm-Message-State: AOJu0YwO6EyHI3qP3qZ8OxlIug2Gtfzo6f01ATN4gkcOW/S3ihWN8/KU V86eQwfyvKC/S4/6uFHWxWRxIsWdiE+bdbjyX5u+M/4quZTVDliUF9pyP5Sb5Z15gAKEj9rXLzn l7ncS97yJXBJWCB4IGXad8bP0VPKPY0pHA1IwnnUxY3pt2daq X-Google-Smtp-Source: AGHT+IFHPhzigWHBFOGxV1dNMe/2hHx1IeAgslZori3QtaT0bT0jphz8zD28RGAwxdGW2sHrByllnEDsYoGJx/IVhBI= X-Received: by 2002:a05:690c:884:b0:61a:cea1:3c63 with SMTP id cd4-20020a05690c088400b0061acea13c63mr2449703ywb.47.1713443381745; Thu, 18 Apr 2024 05:29:41 -0700 (PDT) MIME-Version: 1.0 References: <20240415143932.338380-1-ddesouza@nvidia.com> <26df08ee-ee02-408a-98ea-ef5fe77c93c7@rothenpieler.org> In-Reply-To: From: Roman Arzumanyan Date: Thu, 18 Apr 2024 15:29:30 +0300 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/nvenc: High bit depth encoding for HEVC 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 Cc: Timo Rothenpieler , Diego Felix de Souza 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: SGkgRGllZ28sCkFza2luZyBmb3IgbXkgb3duIGVkdWNhdGlvbi4KCkFzIGZhciBhcyB5b3UndmUg ZXhwbGFpbmVkLCB0aGUgOCA+IDEwIGJpdCBjb252ZXJzaW9uIGhhcHBlbnMgd2l0aGluIHRoZQpk cml2ZXIsIHRoYXQncyB1bmRlcnN0YW5kYWJsZS4KQnV0IGhvdyBkb2VzIGl0IGluZmx1ZW5jZSB0 aGUgb3V0cHV0PyBEb2VzIGl0IHBlcmZvcm0gc29tZSBzb3J0IG9mCnByb3ByaWV0YXJ5IFNEUiA+ IEhEUiBjb252ZXJzaW9uIHVuZGVyIHRoZSBob29kIHRoYXQgbWFwcyB0aGUgcmFuZ2VzPwpXaGF0 J3MgZ29ubmEgYmUgdGhlIHVzZXIgb2JzZXJ2YWJsZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2Ug MiBzY2VuYXJpb3M/CjEpIDggYml0IGlucHV0ID4gSEVWQyA4IGJpdCBwcm9maWxlID4gOCBiaXQg SEVWQyBvdXRwdXQKMikgOCBiaXQgaW5wdXQgPiAxMCBiaXQgdXAgY29udmVyc2lvbiA+IEhFVkMg MTAgYml0IHByb2ZpbGUgPiAxMCBiaXQgSEVWQwpvdXRwdXQKCkJldHRlciB2aXN1YWwgcXVhbGl0 eT8gU21hbGxlciBjb21wcmVzc2VkIGZpbGUgc2l6ZT8KSW4gb3RoZXIgd29yZHMsIHdoYXQncyB0 aGUgcHVycG9zZSBvZiB0aGlzIGZlYXR1cmUgZXhjZXB0IGVuYWJsaW5nIG5ldwpWaWRlbyBDb2Rl YyBTREsgY2FwYWJpbGl0eT8KCtGH0YIsIDE4INCw0L/RgC4gMjAyNOKAr9CzLiDQsiAxMzo0NCwg RGllZ28gRmVsaXggZGUgU291emEgdmlhIGZmbXBlZy1kZXZlbCA8CmZmbXBlZy1kZXZlbEBmZm1w ZWcub3JnPjoKCj4gSGkgVGltbywKPgo+IFRoYW5rIHlvdSBmb3IgeW91ciByZXZpZXcuIFBsZWFz ZSBjaGVjayBteSBhbnN3ZXJzIGJlbG93Lgo+Cj4gQmVzdCByZWdhcmRzLAo+Cj4gRGllZ28KPgo+ IE9uIDE3LjA0LjI0LCAxNjoyNywgIlRpbW8gUm90aGVucGllbGVyIiA8dGltb0Byb3RoZW5waWVs ZXIub3JnPiB3cm90ZToKPgo+IEV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxp bmtzIG9yIGF0dGFjaG1lbnRzCj4KPgo+IE9uIDE1LzA0LzIwMjQgMTY6MzksIERpZWdvIEZlbGl4 IGRlIFNvdXphIHZpYSBmZm1wZWctZGV2ZWwgd3JvdGU6Cj4gPiBGcm9tOiBEaWVnbyBGZWxpeCBk ZSBTb3V6YSA8ZGRlc291emFAbnZpZGlhLmNvbT4KPiA+Cj4gPiBBZGRpbmcgMTAtYml0IGVuY29k aW5nIHN1cHBvcnQgZm9yIEhFVkMgaWYgdGhlIGlucHV0IGlzIDgtYml0LiBJbgo+ID4gY2FzZSBv ZiA4LWJpdCBpbnB1dCBjb250ZW50LCBOVkVOQyBwZXJmb3JtcyBhbiBpbnRlcm5hbCBDVURBIDgg dG8KPiA+IDEwLWJpdCBjb252ZXJzaW9uIG9mIHRoZSBpbnB1dCBwcmlvciB0byBlbmNvZGluZy4g Q3VycmVudGx5LCBvbmx5Cj4gPiBBVjEgc3VwcG9ydHMgZW5jb2RpbmcgOC1iaXQgY29udGVudCBh cyAxMC1iaXQuCj4KPiBJJ20gbm90IHN1cmUgYWJvdXQgdGhpcyBvbmUuCj4gU2luY2UgaXQncyBq dXN0ICJTVyIsIG9yIHJhdGhlciBDVURBIGJhc2VkLCBjb252ZXJzaW9uLCB0aGlzIGpvYiBjb3Vs ZAo+IGFsc28gYmUgZG9uZSBieSBzY2FsZV9jdWRhLCBvdXRzaWRlIG9mIHNvbWUgbmljaGUgZm9y bWF0cyBpdCBkb2Vzbid0Cj4gc3VwcG9ydCB5ZXQuCj4gV2hpY2ggd291bGQgYWxzbyBhbGxvdyBm b3IgbW9yZSBjb25zaXN0ZW50IGNvbW1hbmQgbGluZXMgYWNyb3NzIHZlcnNpb25zLgo+Cj4KPiBB bHRob3VnaCBpdCBpcyBhIHNvZnR3YXJlLWJhc2VkIHNvbHV0aW9uLCB0aGUgY29udmVyc2lvbiBp cyBpbnRlZ3JhdGVkCj4gd2l0aCBvdGhlciBrZXJuZWxzCj4gaW5zaWRlIHRoZSBkcml2ZXIuIElu IHRoaXMgd2F5LCBpdCB3aWxsIGRlbWFuZCBmZXdlciBtZW1vcnkgYWNjZXNzZXMgYW5kCj4gYmV0 dGVyIFN0cmVhbWluZwo+IE11bHRpcHJvY2Vzc29yIChTTSkgdXRpbGl6YXRpb24sIGxlYWRpbmcg dG8gYSBpbXByb3ZlZCBwZXJmb3JtYW5jZSBhbmQgYQo+IGxvd2VyIGxhdGVuY3kKPiBjb21wYXJl ZCB0byB0aGUgc2NhbGVfY3VkYSBhcHByb2FjaC4gTW9yZW92ZXIsIHRoZSBwcm9wb3NlZCBhcHBy b2FjaAo+IG92ZXJhbGwgY29uc3VtZXMKPiBsZXNzIG1lbW9yeSBzaW5jZSBpdCBvbmx5IHJlcXVp cmVzIGFuIDgtYml0IHBlciBjaGFubmVsIGZyYW1lIGFzIGlucHV0IGFuZAo+IG5vIGV4dHJhIDEw LWJpdCBmcmFtZXMuCj4KPgo+ID4gU2lnbmVkLW9mZi1ieTogRGllZ28gRmVsaXggZGUgU291emEg PGRkZXNvdXphQG52aWRpYS5jb20+Cj4gPiAtLS0KPiA+ICAgbGliYXZjb2RlYy9udmVuYy5jICAg ICAgfCA4ICsrKystLS0tCj4gPiAgIGxpYmF2Y29kZWMvbnZlbmNfaGV2Yy5jIHwgMSArCj4gPiAg IDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+ID4KPiA+ IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL252ZW5jLmMgYi9saWJhdmNvZGVjL252ZW5jLmMKPiA+ IGluZGV4IDc5NDE3NGE1M2YuLmMzMDJjYzdkYzQgMTAwNjQ0Cj4gPiAtLS0gYS9saWJhdmNvZGVj L252ZW5jLmMKPiA+ICsrKyBiL2xpYmF2Y29kZWMvbnZlbmMuYwo+ID4gQEAgLTUxNCw3ICs1MTQs NyBAQCBzdGF0aWMgaW50IG52ZW5jX2NoZWNrX2NhcGFiaWxpdGllcyhBVkNvZGVjQ29udGV4dAo+ ICphdmN0eCkKPiA+ICAgICAgIH0KPiA+Cj4gPiAgICAgICByZXQgPSBudmVuY19jaGVja19jYXAo YXZjdHgsIE5WX0VOQ19DQVBTX1NVUFBPUlRfMTBCSVRfRU5DT0RFKTsKPiA+IC0gICAgaWYgKElT XzEwQklUKGN0eC0+ZGF0YV9waXhfZm10KSAmJiByZXQgPD0gMCkgewo+ID4gKyAgICBpZiAoKElT XzEwQklUKGN0eC0+ZGF0YV9waXhfZm10KSB8fCBjdHgtPmhpZ2hiaXRkZXB0aCkgJiYgcmV0IDw9 IDApCj4gewo+ID4gICAgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX1dBUk5JTkcsICIxMCBi aXQgZW5jb2RlIG5vdCBzdXBwb3J0ZWRcbiIpOwo+ID4gICAgICAgICAgIHJldHVybiBBVkVSUk9S KEVOT1NZUyk7Cj4gPiAgICAgICB9Cj4gPiBAQCAtMTQyMSw3ICsxNDIxLDcgQEAgc3RhdGljIGF2 X2NvbGQgaW50Cj4gbnZlbmNfc2V0dXBfaGV2Y19jb25maWcoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 KQo+ID4gICAgICAgfQo+ID4KPiA+ICAgICAgIC8vIGZvcmNlIHNldHRpbmcgcHJvZmlsZSBhcyBt YWluMTAgaWYgaW5wdXQgaXMgMTAgYml0Cj4gPiAtICAgIGlmIChJU18xMEJJVChjdHgtPmRhdGFf cGl4X2ZtdCkpIHsKPiA+ICsgICAgaWYgKElTXzEwQklUKGN0eC0+ZGF0YV9waXhfZm10KSB8fCBj dHgtPmhpZ2hiaXRkZXB0aCkgewo+Cj4gV29uJ3QgdGhpcyBuZWVkIGd1YXJkZWQgYmVoaW5kIHRo ZSBOVkVOQ19IQVZFX05FV19CSVRfREVQVEhfQVBJIGFzIHdlbGw/Cj4gT3Igd291bGQgdGhpcyBh bHNvIHdvcmsgZmluZSB3aXRoIG9sZGVyIGhlYWRlcnMsIGJ5IGp1c3Qgc2V0dGluZyB0aGlzPwo+ Cj4gRm9yIG9sZGVyIFNESyB2ZXJzaW9ucywgdGhlIEhFVkMgbWFpbiAxMCBwcm9maWxlIHdvdWxk IGJlIHNlbGVjdGVkLCBidXQKPiB0aGUgZW5jb2RlZCBiaXRzdHJlYW0KPiB3b3VsZCBiZSBzdGls bCA4LWJpdHMuIEZvciB0aGUgc2FrZSBvZiBjb25zaXN0ZW5jZSBhbmQgY2xhcml0eSwgSSB3aWxs IHB1dAo+IGl0IGJlaGluZCB0aGUKPiBOVkVOQ19IQVZFX05FV19CSVRfREVQVEhfQVBJIGFzIHlv dSBzdWdnZXN0ZWQuCj4KPiA+ICAgICAgICAgICBjYy0+cHJvZmlsZUdVSUQgPSBOVl9FTkNfSEVW Q19QUk9GSUxFX01BSU4xMF9HVUlEOwo+ID4gICAgICAgICAgIGF2Y3R4LT5wcm9maWxlID0gQVZf UFJPRklMRV9IRVZDX01BSU5fMTA7Cj4gPiAgICAgICB9Cj4gPiBAQCAtMTQzNSw4ICsxNDM1LDgg QEAgc3RhdGljIGF2X2NvbGQgaW50Cj4gbnZlbmNfc2V0dXBfaGV2Y19jb25maWcoQVZDb2RlY0Nv bnRleHQgKmF2Y3R4KQo+ID4gICAgICAgaGV2Yy0+Y2hyb21hRm9ybWF0SURDID0gSVNfWVVWNDQ0 KGN0eC0+ZGF0YV9waXhfZm10KSA/IDMgOiAxOwo+ID4KPiA+ICAgI2lmZGVmIE5WRU5DX0hBVkVf TkVXX0JJVF9ERVBUSF9BUEkKPiA+IC0gICAgaGV2Yy0+aW5wdXRCaXREZXB0aCA9IGhldmMtPm91 dHB1dEJpdERlcHRoID0KPiA+IC0gICAgICAgIElTXzEwQklUKGN0eC0+ZGF0YV9waXhfZm10KSA/ IE5WX0VOQ19CSVRfREVQVEhfMTAgOgo+IE5WX0VOQ19CSVRfREVQVEhfODsKPiA+ICsgICAgaGV2 Yy0+aW5wdXRCaXREZXB0aCA9IElTXzEwQklUKGN0eC0+ZGF0YV9waXhfZm10KSA/Cj4gTlZfRU5D X0JJVF9ERVBUSF8xMCA6IE5WX0VOQ19CSVRfREVQVEhfODsKPiA+ICsgICAgaGV2Yy0+b3V0cHV0 Qml0RGVwdGggPSAoSVNfMTBCSVQoY3R4LT5kYXRhX3BpeF9mbXQpIHx8Cj4gY3R4LT5oaWdoYml0 ZGVwdGgpID8gTlZfRU5DX0JJVF9ERVBUSF8xMCA6IE5WX0VOQ19CSVRfREVQVEhfODsKPiA+ICAg I2Vsc2UKPiA+ICAgICAgIGhldmMtPnBpeGVsQml0RGVwdGhNaW51czggPSBJU18xMEJJVChjdHgt PmRhdGFfcGl4X2ZtdCkgPyAyIDogMDsKPiA+ICAgI2VuZGlmCj4gPiBkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy9udmVuY19oZXZjLmMgYi9saWJhdmNvZGVjL252ZW5jX2hldmMuYwo+ID4gaW5kZXgg Yjk0OWNiMWJkNy4uMDJlOWM5YzhlYiAxMDA2NDQKPiA+IC0tLSBhL2xpYmF2Y29kZWMvbnZlbmNf aGV2Yy5jCj4gPiArKysgYi9saWJhdmNvZGVjL252ZW5jX2hldmMuYwo+ID4gQEAgLTE4Myw2ICsx ODMsNyBAQCBzdGF0aWMgY29uc3QgQVZPcHRpb24gb3B0aW9uc1tdID0gewo+ID4gICAgICAgeyAi ZnVsbHJlcyIsICAgICAgIlR3byBQYXNzIGVuY29kaW5nIGlzIGVuYWJsZWQgd2hlcmUgZmlyc3Qg UGFzcwo+IGlzIGZ1bGwgcmVzb2x1dGlvbiIsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCj4gICAgICAgICAgICAgQVZf T1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9IE5WX0VOQ19UV09fUEFTU19GVUxMX1JFU09MVVRJT04g fSwKPiAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWRSwgLnVuaXQgPQo+ICJtdWx0aXBhc3MiIH0sCj4gPiAgICNlbmRpZgo+ID4g KyAgICB7ICJoaWdoYml0ZGVwdGgiLCAiRW5hYmxlIDEwIGJpdCBlbmNvZGUgZm9yIDggYml0Cj4g aW5wdXQiLE9GRlNFVChoaWdoYml0ZGVwdGgpLEFWX09QVF9UWVBFX0JPT0wsICB7IC5pNjQgPSAw IH0sIDAsIDEsIFZFIH0sCj4KPiBTYW1lIHF1ZXN0aW9uIGFzIGFib3ZlLCBkb2VzIHRoaXMgYWx3 YXlzIHdvcmssIGV2ZW4gd2l0aG91dCB0aGUgbmV3IGJpdAo+IGRlcHRoIEFQST8KPiBJZiBub3Qs IGl0IGFsc28gbmVlZHMgdGhlICNpZmRlZi4KPgo+IFNhbWUgYXMgYWJvdmUsIGl0IHdvdWxkIGdp dmUgdGhlIHdyb25nIGltcHJlc3Npb24gdG8gdGhlIHVzZXIuIEkgd2lsbCBwdXQKPiBpdCBiZWhp bmQgdGhlIE5WRU5DX0hBVkVfTkVXX0JJVF9ERVBUSF9BUEkuCj4KPiA+ICAgI2lmZGVmIE5WRU5D X0hBVkVfTERLRlMKPiA+ICAgICAgIHsgImxka2ZzIiwgICAgICAgICJMb3cgZGVsYXkga2V5IGZy YW1lIHNjYWxlOyBTcGVjaWZpZXMgdGhlIFNjZW5lCj4gQ2hhbmdlIGZyYW1lIHNpemUgaW5jcmVh c2UgYWxsb3dlZCBpbiBjYXNlIG9mIHNpbmdsZSBmcmFtZSBWQlYgYW5kIENCUiIsCj4gPgo+ICBP RkZTRVQobGRrZnMpLCAgICAgICAgQVZfT1BUX1RZUEVfSU5ULCAgIHsgLmk2NCA9IDAgfSwgMCwg VUNIQVJfTUFYLCBWRSB9LAo+ID4gLS0KPiA+IDIuMzQuMQo+ID4KPiA+Cj4gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiA+IE5WSURJQSBHbWJICj4gPiBXdWVyc2VsZW4KPiA+IEFtdHNnZXJp Y2h0IEFhY2hlbgo+ID4gSFJCIDgzNjEKPiA+IE1hbmFnaW5nIERpcmVjdG9yczogUmViZWNjYSBQ ZXRlcnMsIERvbmFsZCBSb2JlcnRzb24sIEphbmV0IEhhbGwsIEx1ZHdpZwo+IHZvbiBSZWljaGUK PiA+Cj4gPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiBUaGlzIGVtYWlsIG1lc3Nh Z2UgaXMgZm9yIHRoZSBzb2xlIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpIGFuZAo+ IG1heSBjb250YWluCj4gPiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24uICBBbnkgdW5hdXRob3Jp emVkIHJldmlldywgdXNlLCBkaXNjbG9zdXJlIG9yCj4gZGlzdHJpYnV0aW9uCj4gPiBpcyBwcm9o aWJpdGVkLiAgSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIGNv bnRhY3QKPiB0aGUgc2VuZGVyIGJ5Cj4gPiByZXBseSBlbWFpbCBhbmQgZGVzdHJveSBhbGwgY29w aWVzIG9mIHRoZSBvcmlnaW5hbCBtZXNzYWdlLgo+ID4KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiA+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn Cj4gPgo+IGh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3Vy bD1odHRwcyUzQSUyRiUyRmZmbXBlZy5vcmclMkZtYWlsbWFuJTJGbGlzdGluZm8lMkZmZm1wZWct ZGV2ZWwmZGF0YT0wNSU3QzAyJTdDZGRlc291emElNDBudmlkaWEuY29tJTdDZDc1MGI2NWUwOTNk NDBlOGRkNTUwOGRjNWVlYTdkNTMlN0M0MzA4M2QxNTcyNzM0MGMxYjdkYjM5ZWZkOWNjYzE3YSU3 QzAlN0MwJTdDNjM4NDg5NjA4NDM1Njg3OTIzJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJ am9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1u MCUzRCU3QzAlN0MlN0MlN0Mmc2RhdGE9MkY5Q3huS3lBRHM2elcxZmFpWmhYUWExRnpmY1ZSS3hN SlE4dWtvTjBuWSUzRCZyZXNlcnZlZD0wCj4gPGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ZmbXBlZy1kZXZlbD4KPiA+Cj4gPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBh Ym92ZSwgb3IgZW1haWwKPiA+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBz dWJqZWN0ICJ1bnN1YnNjcmliZSIuCj4KPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g TlZJRElBIEdtYkgKPiBXdWVyc2VsZW4KPiBBbXRzZ2VyaWNodCBBYWNoZW4KPiBIUkIgODM2MQo+ IE1hbmFnaW5nIERpcmVjdG9yczogUmViZWNjYSBQZXRlcnMsIERvbmFsZCBSb2JlcnRzb24sIEph bmV0IEhhbGwsIEx1ZHdpZwo+IHZvbiBSZWljaGUKPgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiBUaGlzIGVtYWlsIG1lc3NhZ2UgaXMgZm9yIHRoZSBzb2xlIHVzZSBvZiB0aGUgaW50 ZW5kZWQgcmVjaXBpZW50KHMpIGFuZAo+IG1heSBjb250YWluCj4gY29uZmlkZW50aWFsIGluZm9y bWF0aW9uLiAgQW55IHVuYXV0aG9yaXplZCByZXZpZXcsIHVzZSwgZGlzY2xvc3VyZSBvcgo+IGRp c3RyaWJ1dGlvbgo+IGlzIHByb2hpYml0ZWQuICBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQg cmVjaXBpZW50LCBwbGVhc2UgY29udGFjdCB0aGUKPiBzZW5kZXIgYnkKPiByZXBseSBlbWFpbCBh bmQgZGVzdHJveSBhbGwgY29waWVzIG9mIHRoZSBvcmlnaW5hbCBtZXNzYWdlLgo+Cj4gLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1k ZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZt cGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K PgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWct ZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVn Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0 IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0 aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==