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 ESMTPS id 116F64C8A2 for ; Tue, 11 Mar 2025 16:45:27 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3F2C368D9FF; Tue, 11 Mar 2025 18:45:23 +0200 (EET) Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0A22968E000 for ; Tue, 11 Mar 2025 18:45:15 +0200 (EET) Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-2fee05829edso11245087a91.3 for ; Tue, 11 Mar 2025 09:45:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741711513; x=1742316313; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=LDtjqYfpqgHjl5jt9/wSfD2r1kyJTSf6ilH/bnJCgss=; b=gsAVWtQ4VsB/i2lGMjoDb0D0IFUiAgvTU+QeyCcmESJKbOiF1tcQj9JqB0vHpGlm3G zL9x2FnJnbdaEsjFIAgMVbo1Jf0UQXu1zB/YKnPiX/M6uasjAG4a0QzvAFn21JcHe/mP jGuXMYb6EJktXQXZEq0fdooQXzIVqQO8fw2TR1jEFrJuljwDT23kAgBzWIj9tO8GNcQ/ 1OTmFtcpPZVXTb5tuRWPNQkplkYifq3W79pjoxysDD4nKqaGXHM2xONWU0AuUilGxI7n kEFrMenADce+K70OSqpfW7DeaOm1YLvx2wX668DT5XRS90ssOow60HPkEE8x5eMlKLRj yoKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741711513; x=1742316313; h=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=LDtjqYfpqgHjl5jt9/wSfD2r1kyJTSf6ilH/bnJCgss=; b=DuJMJEqtbh1/ddUc0f92xTDJrRtuvRmQ5pKpebz+pxmNj8BqHadFd85R9A3uh49JCC oPRE2J96q0ERue4RmaQJtcXKSSFmJtIX75u4RCukv9WPZJxdscoDVvwrxnxeFAY/mDD+ dFqgPHDfZdZj4Mml/+QvOIk34kXSs8GYVkP1N6SG5Al2U8PKRfQIWu8jilHkKW0xZZOC RTN77OzwGtjPQZ5Jgq1rpEosI72dXZ6DKjbXSka7Ghw/O9r8Vcbaxkl4ORCKcSdqa1zX /zptO/q2Tz0yVt8prkDx7YjI6da6T0mWAEFV8VtmVdeda2WZdkRUqkRcoUslf3kQS2Tw 4GEw== X-Gm-Message-State: AOJu0YwnI7kpfDyFZ45qpGzyRh0GIn9rfjiKG9suW9Dp0BBRIJyZ2iAT PEeq3yGTwy6V4l67omIISlczCA3WoxkVWoUQht2/UdIkMSeYuWyJsqZUGdhsf9PUVkilhnWc1o0 ZIDnwDrkCAQ+bRsmdctT5K2G9p1tRRNoKlmM= X-Gm-Gg: ASbGncudGWYCXzkVeTct47uvcOg4D6d2Qn1FJfn27jFvq1ZjhBxLepDYoNOKR5Qq/oI v6RxHDcMnTjijCjm1hWgeSdHfNIziXd6BiCZfprnea7BQK89OKb0BFgN7EJhuK+nOLGCRoNUohs 1EOfV+GU81ChP4zU5PUGIQcBy9sEJg X-Google-Smtp-Source: AGHT+IEy6dZA7YRzAOoRUSCEgxb/KGQ6vqp/Oy9VEr2/bKbGDmudb3HWEo1qEM1gl4hpXIwx6qyKQWK165n6hdKy0aY= X-Received: by 2002:a17:90b:2782:b0:2ef:2f49:7d7f with SMTP id 98e67ed59e1d1-2ff7ce938b6mr32092417a91.18.1741711512504; Tue, 11 Mar 2025 09:45:12 -0700 (PDT) MIME-Version: 1.0 References: <20250311144816.324-1-Primeadvice@gmail.com> In-Reply-To: From: Dennis Mungai Date: Tue, 11 Mar 2025 19:44:36 +0300 X-Gm-Features: AQ5f1JqAD3YeW9oqIutaipf5p4BrMug1nmEOLg7rVEH8ctFvtiWvqRDswMqC08k Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/amfenc: add smart access video option X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gVHVlLCAxMSBNYXIgMjAyNSBhdCAxOToyNCwgWmhhbyBaaGlsaSA8CnF1aW5rYmxhY2stYXQt Zm94bWFpbC5jb21AZmZtcGVnLm9yZz4gd3JvdGU6Cgo+Cj4KPiA+IE9uIE1hciAxMSwgMjAyNSwg YXQgMjI6NDgsIEFyYXogSXVzdWJvdiA8cHJpbWVhZHZpY2VAZ21haWwuY29tPiB3cm90ZToKPiA+ Cj4gPiBGcm9tOiBFdmdlbnkgUGF2bG92IDxsdWNlbnRpY3VzQGdtYWlsLmNvbT4KPiA+Cj4gPiBU aGlzIGNvbW1pdCBhZGRzIG9wdGlvbiBmb3IgZW5hYmxpbmcgU21hcnRBY2Nlc3MgVmlkZW8gKFNB VikKPiA+IGluIEFNRiBlbmNvZGVycy4gU0FWIGlzIGFuIEFNRCBoYXJkd2FyZS1zcGVjaWZpYyBm ZWF0dXJlIHdoaWNoCj4gPiBlbmFibGVzIHRoZSBwYXJhbGxlbGl6YXRpb24gb2YgZW5jb2RlIGFu ZCBkZWNvZGUgc3RyZWFtcyBhY3Jvc3MKPiA+IG11bHRpcGxlIFZpZGVvIENvZGVjIEVuZ2luZSAo VkNOKSBoYXJkd2FyZSBpbnN0YW5jZXMuCj4gPgo+ID4gLS0tCj4gPiBsaWJhdmNvZGVjL2FtZmVu Yy5oICAgICAgfCAgMSArCj4gPiBsaWJhdmNvZGVjL2FtZmVuY19hdjEuYyAgfCAxNyArKysrKysr KysrKysrKysrKwo+ID4gbGliYXZjb2RlYy9hbWZlbmNfaDI2NC5jIHwgMTggKysrKysrKysrKysr KysrKysrCj4gPiBsaWJhdmNvZGVjL2FtZmVuY19oZXZjLmMgfCAxOCArKysrKysrKysrKysrKysr KysKPiA+IDQgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKQo+ID4KPiA+IGRpZmYgLS1n aXQgYS9saWJhdmNvZGVjL2FtZmVuYy5oIGIvbGliYXZjb2RlYy9hbWZlbmMuaAo+ID4gaW5kZXgg M2Y0MmM0Y2Q5NC4uYWVjM2EzZjllYyAxMDA2NDQKPiA+IC0tLSBhL2xpYmF2Y29kZWMvYW1mZW5j LmgKPiA+ICsrKyBiL2xpYmF2Y29kZWMvYW1mZW5jLmgKPiA+IEBAIC03Miw2ICs3Miw3IEBAIHR5 cGVkZWYgc3RydWN0IEFNRkVuY29kZXJDb250ZXh0IHsKPiA+ICAgICBpbnQgICAgICAgICAgICAg ICAgIGJfZnJhbWVfZGVsdGFfcXA7Cj4gPiAgICAgaW50ICAgICAgICAgICAgICAgICByZWZfYl9m cmFtZV9kZWx0YV9xcDsKPiA+ICAgICBpbnQgICAgICAgICAgICAgICAgIGJpdF9kZXB0aDsKPiA+ ICsgICAgaW50ICAgICAgICAgICAgICAgICBzbWFydF9hY2Nlc3NfdmlkZW87Cj4gPgo+ID4gICAg IC8vIER5bmFtaWMgb3B0aW9ucywgY2FuIGJlIHNldCBhZnRlciBJbml0KCkgY2FsbAo+ID4KPiA+ IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FtZmVuY19hdjEuYyBiL2xpYmF2Y29kZWMvYW1mZW5j X2F2MS5jCj4gPiBpbmRleCAwNWFkMmI4ODk3Li44YzVmYTlkZmJjIDEwMDY0NAo+ID4gLS0tIGEv bGliYXZjb2RlYy9hbWZlbmNfYXYxLmMKPiA+ICsrKyBiL2xpYmF2Y29kZWMvYW1mZW5jX2F2MS5j Cj4gPiBAQCAtMTMzLDYgKzEzMyw4IEBAIHN0YXRpYyBjb25zdCBBVk9wdGlvbiBvcHRpb25zW10g PSB7Cj4gPiAgICAgeyAiMTA4MHAiLCAgICAgICAgICAgICAgICAgICIiLCAwLCBBVl9PUFRfVFlQ RV9DT05TVCwgey5pNjQgPQo+IEFNRl9WSURFT19FTkNPREVSX0FWMV9BTElHTk1FTlRfTU9ERV82 NFgxNl8xMDgwUF9DT0RFRF8xMDgyICAgfSwgMCwgMCwgVkUsCj4gLnVuaXQgPSAiYWxpZ24iIH0s Cj4gPiAgICAgeyAibm9uZSIsICAgICAgICAgICAgICAgICAgICIiLCAwLCBBVl9PUFRfVFlQRV9D T05TVCwgey5pNjQgPQo+IEFNRl9WSURFT19FTkNPREVSX0FWMV9BTElHTk1FTlRfTU9ERV9OT19S RVNUUklDVElPTlMgICAgICAgICAgfSwgMCwgMCwgVkUsCj4gLnVuaXQgPSAiYWxpZ24iIH0sCj4g Pgo+ID4gKyAgICB7ICJzbWFydF9hY2Nlc3NfdmlkZW8iLCAgICAgIkVuYWJsZSBTbWFydCBBY2Nl c3MgVmlkZW8iLAo+ICAgICBPRkZTRVQoc21hcnRfYWNjZXNzX3ZpZGVvKSwgICAgICAgICAgICAg QVZfT1BUX1RZUEVfQk9PTCwgey5pNjQgPSAtMQo+IH0sIC0xLCAxLCBWRX0sCj4gPiArCj4KPiBJ dOKAmXMgYWxtb3N0IGltcG9zc2libGUgdG8gZ2V0IHdoYXQgZG9lcyB0aGlzIG9wdGlvbiBkbyBm b3IgdXNlciB3aXRoIGdvb2QKPiBiYWNrZ3JvdW5kIG9uIHZpZGVvIGVuY29kaW5nLgo+IFBsZWFz ZSBhZGQgc29tZSBjb21tZW50cyBoZXJlLgo+Cj4gPiAgICAgLy9QcmUgQW5hbHlzaXMgb3B0aW9u cwo+ID4gICAgIHsgInByZWFuYWx5c2lzIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVu YWJsZSBwcmVhbmFseXNpcyIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT0ZGU0VUKHByZWFuYWx5c2lzKSwKPiAgICAgICAgICAgICBBVl9PUFRfVFlQRV9CT09MLCAg IHsuaTY0ID0gLTEgfSwgLTEsIDEsIFZFIH0sCj4gPgo+ID4gQEAgLTMyNiw2ICszMjgsMjEgQEAg RkZfRU5BQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCj4gPiAgICAgICAgICAgICBhdl9sb2coY3R4 LCBBVl9MT0dfREVCVUcsICJSYXRlIGNvbnRyb2wgdHVybmVkIHRvIFBlYWsKPiBWQlJcbiIpOwo+ ID4gICAgICAgICB9Cj4gPiAgICAgfQo+ID4gKyAgICBpZiAoY3R4LT5zbWFydF9hY2Nlc3Nfdmlk ZW8gIT0gLTEpIHsKPiA+ICsgICAgICAgIEFNRl9BU1NJR05fUFJPUEVSVFlfQk9PTChyZXMsIGN0 eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9BVjFfRU5BQkxFX1NNQVJUX0FDQ0VTU19W SURFTywgY3R4LT5zbWFydF9hY2Nlc3NfdmlkZW8gIT0KPiAwKTsKPiA+ICsgICAgICAgIGlmIChy ZXMgIT0gQU1GX09LKSB7Cj4gPiArICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJS T1IsICJUaGUgU21hcnQgQWNjZXNzIFZpZGVvIGlzIG5vdAo+IHN1cHBvcnRlZCBieSBBTUYuXG4i KTsKPiA+ICsgICAgICAgICAgICBpZiAoY3R4LT5zbWFydF9hY2Nlc3NfdmlkZW8gIT0gMCkKPiA+ ICsgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PU1lTKTsKPiA+ICsgICAgICAgIH0g ZWxzZSB7Cj4gPiArICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfSU5GTywgIlRoZSBT bWFydCBBY2Nlc3MgVmlkZW8gKCVkKSBpcwo+IHNldC5cbiIsIGN0eC0+c21hcnRfYWNjZXNzX3Zp ZGVvKTsKPiA+ICsgICAgICAgICAgICAvLyBTZXQgbG93IGxhdGVuY3kgbW9kZSBpZiBTbWFydCBB Y2Nlc3MgVmlkZW8gaXMgZW5hYmxlZAo+ID4gKyAgICAgICAgICAgIGlmIChjdHgtPnNtYXJ0X2Fj Y2Vzc192aWRlbyAhPSAwKSB7Cj4gPiArICAgICAgICAgICAgICAgIEFNRl9BU1NJR05fUFJPUEVS VFlfQk9PTChyZXMsIGN0eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9BVjFfRU5DT0RJ TkdfTEFURU5DWV9NT0RFLAo+IEFNRl9WSURFT19FTkNPREVSX0FWMV9FTkNPRElOR19MQVRFTkNZ X01PREVfTE9XRVNUX0xBVEVOQ1kpOwo+ID4gKyAgICAgICAgICAgICAgICBhdl9sb2coYXZjdHgs IEFWX0xPR19JTkZPLCAiVGhlIFNtYXJ0IEFjY2VzcyBWaWRlbyBzZXQKPiBsb3cgbGF0ZW5jeSBt b2RlLlxuIik7Cj4gPiArICAgICAgICAgICAgfQo+ID4gKyAgICAgICAgfQo+ID4gKyAgICB9Cj4g Pgo+ID4gICAgIC8vIFByZS1QYXNzLCBQcmUtQW5hbHlzaXMsIFR3by1QYXNzCj4gPiAgICAgaWYg KGN0eC0+cmF0ZV9jb250cm9sX21vZGUgPT0KPiBBTUZfVklERU9fRU5DT0RFUl9BVjFfUkFURV9D T05UUk9MX01FVEhPRF9DT05TVEFOVF9RUCkgewo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv YW1mZW5jX2gyNjQuYyBiL2xpYmF2Y29kZWMvYW1mZW5jX2gyNjQuYwo+ID4gaW5kZXggNDI5MWYw ZWE2NC4uMmY5MDZmMzI3MyAxMDA2NDQKPiA+IC0tLSBhL2xpYmF2Y29kZWMvYW1mZW5jX2gyNjQu Ywo+ID4gKysrIGIvbGliYXZjb2RlYy9hbWZlbmNfaDI2NC5jCj4gPiBAQCAtMTM5LDYgKzEzOSw4 IEBAIHN0YXRpYyBjb25zdCBBVk9wdGlvbiBvcHRpb25zW10gPSB7Cj4gPiAgICAgeyAiZm9yY2Vk X2lkciIsICAgICAiRm9yY2UgSSBmcmFtZXMgdG8gYmUgSURSIGZyYW1lcyIsCj4gT0ZGU0VUKGZv cmNlZF9pZHIpICAgLCBBVl9PUFRfVFlQRV9CT09MLCAgeyAuaTY0ID0gMCAgfSwgMCwgMSwgVkUg fSwKPiA+ICAgICB7ICJhdWQiLCAgICAgICAgICAgICJJbnNlcnRzIEFVIERlbGltaXRlciBOQUwg dW5pdCIsCj4gT0ZGU0VUKGF1ZCkgICAgICAgICAgLCBBVl9PUFRfVFlQRV9CT09MLCAgeyAuaTY0 ID0gLTEgfSwgLTEsIDEsIFZFIH0sCj4gPgo+ID4gKyAgICB7ICJzbWFydF9hY2Nlc3NfdmlkZW8i LCAgICAgIkVuYWJsZSBTbWFydCBBY2Nlc3MgVmlkZW8iLAo+IE9GRlNFVChzbWFydF9hY2Nlc3Nf dmlkZW8pLCBBVl9PUFRfVFlQRV9CT09MLCB7Lmk2NCA9IC0xICB9LCAtMSwgMSwgVkV9LAo+ID4g Kwo+ID4gICAgIC8vUHJlIEFuYWx5c2lzIG9wdGlvbnMKPiA+ICAgICB7ICJwcmVhbmFseXNpcyIs ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbmFibGUgcHJlYW5hbHlzaXMiLAo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChwcmVhbmFseXNpcyksCj4g ICAgICAgICAgICAgQVZfT1BUX1RZUEVfQk9PTCwgICB7Lmk2NCA9IC0xIH0sIC0xLCAxLCBWRSB9 LAo+ID4KPiA+IEBAIC0zOTksNiArNDAxLDIyIEBAIEZGX0VOQUJMRV9ERVBSRUNBVElPTl9XQVJO SU5HUwo+ID4gICAgICAgICBBTUZfQVNTSUdOX1BST1BFUlRZX0JPT0wocmVzLCBjdHgtPmVuY29k ZXIsCj4gQU1GX1ZJREVPX0VOQ09ERVJfTE9XTEFURU5DWV9NT0RFLCAoKGN0eC0+bGF0ZW5jeSA9 PSAwKSA/IGZhbHNlIDogdHJ1ZSkpOwo+ID4gICAgIH0KPiA+Cj4gPiArICAgIGlmIChjdHgtPnNt YXJ0X2FjY2Vzc192aWRlbyAhPSAtMSkgewo+ID4gKyAgICAgICAgQU1GX0FTU0lHTl9QUk9QRVJU WV9CT09MKHJlcywgY3R4LT5lbmNvZGVyLAo+IEFNRl9WSURFT19FTkNPREVSX0VOQUJMRV9TTUFS VF9BQ0NFU1NfVklERU8sIGN0eC0+c21hcnRfYWNjZXNzX3ZpZGVvICE9IDApOwo+ID4gKyAgICAg ICAgaWYgKHJlcyAhPSBBTUZfT0spIHsKPiA+ICsgICAgICAgICAgICBhdl9sb2coYXZjdHgsIEFW X0xPR19FUlJPUiwgIlRoZSBTbWFydCBBY2Nlc3MgVmlkZW8gaXMgbm90Cj4gc3VwcG9ydGVkIGJ5 IEFNRi5cbiIpOwo+ID4gKyAgICAgICAgICAgIGlmIChjdHgtPnNtYXJ0X2FjY2Vzc192aWRlbyAh PSAwKQo+ID4gKyAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9TWVMpOwo+ID4gKyAg ICAgICAgfSBlbHNlIHsKPiA+ICsgICAgICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19JTkZP LCAiVGhlIFNtYXJ0IEFjY2VzcyBWaWRlbyAoJWQpIGlzCj4gc2V0LlxuIiwgY3R4LT5zbWFydF9h Y2Nlc3NfdmlkZW8pOwo+ID4gKyAgICAgICAgICAgIC8vIFNldCBsb3cgbGF0ZW5jeSBtb2RlIGlm IFNtYXJ0IEFjY2VzcyBWaWRlbyBpcyBlbmFibGVkCj4gPiArICAgICAgICAgICAgaWYgKGN0eC0+ c21hcnRfYWNjZXNzX3ZpZGVvICE9IDApIHsKPiA+ICsgICAgICAgICAgICAgICAgQU1GX0FTU0lH Tl9QUk9QRVJUWV9CT09MKHJlcywgY3R4LT5lbmNvZGVyLAo+IEFNRl9WSURFT19FTkNPREVSX0xP V0xBVEVOQ1lfTU9ERSwgdHJ1ZSk7Cj4gPiArICAgICAgICAgICAgICAgIGF2X2xvZyhhdmN0eCwg QVZfTE9HX0lORk8sICJUaGUgU21hcnQgQWNjZXNzIFZpZGVvIHNldAo+IGxvdyBsYXRlbmN5IG1v ZGUuXG4iKTsKPiA+ICsgICAgICAgICAgICB9Cj4gPiArICAgICAgICB9Cj4gPiArICAgIH0KPiA+ ICsKPiA+ICAgICBpZiAoY3R4LT5wcmVhbmFseXNpcyAhPSAtMSkgewo+ID4gICAgICAgICBBTUZf QVNTSUdOX1BST1BFUlRZX0JPT0wocmVzLCBjdHgtPmVuY29kZXIsCj4gQU1GX1ZJREVPX0VOQ09E RVJfUFJFX0FOQUxZU0lTX0VOQUJMRSwgISEoKGN0eC0+cHJlYW5hbHlzaXMgPT0gMCkgPyBmYWxz ZSA6Cj4gdHJ1ZSkpOwo+ID4gICAgIH0KPiA+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FtZmVu Y19oZXZjLmMgYi9saWJhdmNvZGVjL2FtZmVuY19oZXZjLmMKPiA+IGluZGV4IDgxZWYxNTM0ZjUu LmFjZTFkNjBjNzAgMTAwNjQ0Cj4gPiAtLS0gYS9saWJhdmNvZGVjL2FtZmVuY19oZXZjLmMKPiA+ ICsrKyBiL2xpYmF2Y29kZWMvYW1mZW5jX2hldmMuYwo+ID4gQEAgLTEwOSw2ICsxMDksOCBAQCBz dGF0aWMgY29uc3QgQVZPcHRpb24gb3B0aW9uc1tdID0gewo+ID4gICAgIHsgImZvcmNlZF9pZHIi LCAgICAgIkZvcmNlIEkgZnJhbWVzIHRvIGJlIElEUiBmcmFtZXMiLAo+IE9GRlNFVChmb3JjZWRf aWRyKSAgICAsQVZfT1BUX1RZUEVfQk9PTCx7IC5pNjQgPSAwICB9LCAwLCAxLCBWRSB9LAo+ID4g ICAgIHsgImF1ZCIsICAgICAgICAgICAgIkluc2VydHMgQVUgRGVsaW1pdGVyIE5BTCB1bml0IiwK PiBPRkZTRVQoYXVkKSAgICAgICAgICAgLEFWX09QVF9UWVBFX0JPT0wseyAuaTY0ID0gLTEgfSwg LTEsIDEsIFZFIH0sCj4gPgo+ID4gKyAgICB7ICJzbWFydF9hY2Nlc3NfdmlkZW8iLCAgICAgIkVu YWJsZSBTbWFydCBBY2Nlc3MgVmlkZW8iLAo+IE9GRlNFVChzbWFydF9hY2Nlc3NfdmlkZW8pLCBB Vl9PUFRfVFlQRV9CT09MLCB7Lmk2NCA9IC0xICB9LCAtMSwgMSwgVkV9LAo+ID4gKwo+ID4gICAg IC8vUHJlIEFuYWx5c2lzIG9wdGlvbnMKPiA+ICAgICB7ICJwcmVhbmFseXNpcyIsICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJFbmFibGUgcHJlYW5hbHlzaXMiLAo+IE9GRlNFVChwcmVhbmFs eXNpcyksICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWX09QVF9UWVBFX0JPT0wsICAgey5p NjQgPQo+IC0xIH0sIC0xLCAxLCBWRSB9LAo+ID4KPiA+IEBAIC0zMDksNiArMzExLDIyIEBAIEZG X0VOQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwo+ID4gICAgICAgICB9Cj4gPiAgICAgfQo+ID4K PiA+ICsgICAgaWYgKGN0eC0+c21hcnRfYWNjZXNzX3ZpZGVvICE9IC0xKSB7Cj4gPiArICAgICAg ICBBTUZfQVNTSUdOX1BST1BFUlRZX0JPT0wocmVzLCBjdHgtPmVuY29kZXIsCj4gQU1GX1ZJREVP X0VOQ09ERVJfSEVWQ19FTkFCTEVfU01BUlRfQUNDRVNTX1ZJREVPLCBjdHgtPnNtYXJ0X2FjY2Vz c192aWRlbwo+ICE9IDApOwo+ID4gKyAgICAgICAgaWYgKHJlcyAhPSBBTUZfT0spIHsKPiA+ICsg ICAgICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIlRoZSBTbWFydCBBY2Nlc3Mg VmlkZW8gaXMgbm90Cj4gc3VwcG9ydGVkIGJ5IEFNRi5cbiIpOwo+ID4gKyAgICAgICAgICAgIGlm IChjdHgtPnNtYXJ0X2FjY2Vzc192aWRlbyAhPSAwKQo+ID4gKyAgICAgICAgICAgICAgICByZXR1 cm4gQVZFUlJPUihFTk9TWVMpOwo+ID4gKyAgICAgICAgfSBlbHNlIHsKPiA+ICsgICAgICAgICAg ICBhdl9sb2coYXZjdHgsIEFWX0xPR19JTkZPLCAiVGhlIFNtYXJ0IEFjY2VzcyBWaWRlbyAoJWQp IGlzCj4gc2V0LlxuIiwgY3R4LT5zbWFydF9hY2Nlc3NfdmlkZW8pOwo+ID4gKyAgICAgICAgICAg IC8vIFNldCBsb3cgbGF0ZW5jeSBtb2RlIGlmIFNtYXJ0IEFjY2VzcyBWaWRlbyBpcyBlbmFibGVk Cj4gPiArICAgICAgICAgICAgaWYgKGN0eC0+c21hcnRfYWNjZXNzX3ZpZGVvICE9IDApIHsKPiA+ ICsgICAgICAgICAgICAgICAgQU1GX0FTU0lHTl9QUk9QRVJUWV9CT09MKHJlcywgY3R4LT5lbmNv ZGVyLAo+IEFNRl9WSURFT19FTkNPREVSX0hFVkNfTE9XTEFURU5DWV9NT0RFLCB0cnVlKTsKPiA+ ICsgICAgICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfSU5GTywgIlRoZSBTbWFydCBB Y2Nlc3MgVmlkZW8gc2V0Cj4gbG93IGxhdGVuY3kgbW9kZS5cbiIpOwo+ID4gKyAgICAgICAgICAg IH0KPiA+ICsgICAgICAgIH0KPiA+ICsgICAgfQo+ID4gKwo+ID4gICAgIC8vIFByZS1QYXNzLCBQ cmUtQW5hbHlzaXMsIFR3by1QYXNzCj4gPiAgICAgaWYgKGN0eC0+cmF0ZV9jb250cm9sX21vZGUg PT0KPiBBTUZfVklERU9fRU5DT0RFUl9IRVZDX1JBVEVfQ09OVFJPTF9NRVRIT0RfQ09OU1RBTlRf UVApIHsKPiA+ICAgICAgICAgQU1GX0FTU0lHTl9QUk9QRVJUWV9JTlQ2NChyZXMsIGN0eC0+ZW5j b2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9IRVZDX1BSRUVOQ09ERV9FTkFCTEUsIDApOwo+ID4g LS0KPiA+IDIuNDUuMi53aW5kb3dzLjEKPiA+Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+ID4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+ID4g ZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiA+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ZmbXBlZy1kZXZlbAo+ID4KPiA+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFi b3ZlLCBvciBlbWFpbAo+ID4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1 YmplY3QgInVuc3Vic2NyaWJlIi4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZl bEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVn LWRldmVsCj4KPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBm Zm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUi Lgo+CgoKVG8gbXkgdW5kZXJzdGFuZGluZywgdGhpcyBpcyBzaW1pbGFyIHRvIEludGVsJ3MgRGVl cCBMaW5rIEh5cGVyIEVuY29kZQo8aHR0cHM6Ly93d3cuaW50ZWwuY29tL2NvbnRlbnQvd3d3L3Vz L2VuL3N1cHBvcnQvYXJ0aWNsZXMvMDAwMDkwMDM1L2dyYXBoaWNzL2ludGVsLWFyYy1kZWRpY2F0 ZWQtZ3JhcGhpY3MtZmFtaWx5Lmh0bWw+CmZlYXR1cmUgc2V0ICwgd2hpY2ggYWxsb3dzIGZvciB0 aGUgY29tYmluYXRpb24gb2YgSW50ZWwncyBkaXNjcmV0ZSBhbmQKaW50ZWdyYXRlZCBHUFUncyBt ZWRpYSBlbmdpbmVzIHRvIHNwZWVkIHVwIHZpZGVvIGVuY29kaW5nIGluIGEgc2luZ2xlCnBpcGVs aW5lL3Nlc3Npb24uCgpGcm9tIEFNRAo8aHR0cHM6Ly93d3cuYW1kLmNvbS9lbi9nYW1pbmcvdGVj aG5vbG9naWVzL3NtYXJ0LXRlY2hub2xvZ2llcy5odG1sPjogIiBBTUQKU21hcnRBY2Nlc3MgVmlk ZW8gYWNjZXNzZXMgdGhlIHZpZGVvIGNvbXByZXNzaW9uIGVuZ2luZXMgYWNyb3NzIGJvdGggdGhl CkFNRCBSeXplbuKEoiBwcm9jZXNzb3IgYW5kIHRoZSBBTUQgUmFkZW9u4oSiIGdyYXBoaWNzIHRv IGRpc3RyaWJ1dGUgdmlkZW8KcmVsYXRlZCBlbmNvZGluZyBhbmQgZGVjb2RpbmcgdGFza3MgdG8g cHJvdmlkZSBmYXN0ZXIgdHJhbnNjb2Rpbmcgc3BlZWRzLApmZXdlciBkcm9wcGVkIGZyYW1lcyBh bmQgYSBzbW9vdGggZWRpdGluZyBleHBlcmllbmNlLiAiCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVn LWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZt cGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZt cGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K