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 DA0AF45CC7 for ; Fri, 2 Jun 2023 15:52:28 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D198268C31C; Fri, 2 Jun 2023 18:52:24 +0300 (EEST) Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3446168C256 for ; Fri, 2 Jun 2023 18:52:18 +0300 (EEST) Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-2553663f71eso1039602a91.3 for ; Fri, 02 Jun 2023 08:52:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685721136; x=1688313136; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=cMgwyQ4RqV4kHSEuMICmoQA3qbop86xCpkCCk68/s6Y=; b=AQTBVMjKPgYwCqCAYVyIDg4+IrwHnnX1XNVMPeS86v8tlYIehSVIFOfwpS4rlBA/D2 kDseEVIFxyOG5MSw4r4yVdn08JjPC4ITEttIxTkE4r053su9dIRo2XgrXFoajjxwovm0 1QDtIdxPuT8NTBHAipwnTcHKOkPBJEiEQbRcfCe98tsc1JVFEKJMYbhamyqbeZeDcbKF HPFnG7EhYpYfHPxGxxv2j4Ph03E0ggkXeO+QdhPQXJ6vCH/+MWY4+zssREK/TrMqCNj7 hGpdP7cwUE2bTkVatyQnBUkwTfFMC6naN0to/IwK4mJr0uAThVtPL7bwSi3trovMa8Vg 7sgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685721136; x=1688313136; 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=cMgwyQ4RqV4kHSEuMICmoQA3qbop86xCpkCCk68/s6Y=; b=U34SipkbHp12DEM/iJhgx1f4qVVLAFr5uh4AWdyX1GFiJF5ikWrmb2i9ISvp4f97WI sfjbRA3LpvPzvcgAJOQ3dUF/WVgdxN85K6k/p9lkquFF7/CCwA5MciVILJiMjK+mZ2ct DVSmoP9Gfmg5C0fSHYYX8xgEeiV8+nABK5GT0VYYc8ixkxhlLYMYP58V0Wo2WSYsGg2i IofLg1lCzvPqtBvPEQfYDxG05ActAf82Q33v1siUmPQHR2S9ziQHAdeVV2bXSlLGHkk8 mo1iVO2+kNeCszAI/AsonMwC3rTtsHNKgzx9WUZ06ZCx/iJgMzY13u15xL0ev1YyRosg dIuQ== X-Gm-Message-State: AC+VfDxLUPQPIcN/ErTTsOS23rW8wuI8i42gnjJGGc9uVgUrav4lyCLc sXuQHJCWLjz0bOKPz1yLe6GsXHzidUHZQlYWb2GNm9YuV6WUCyXSSu+u/g== X-Google-Smtp-Source: ACHHUZ4HTyy+p5J0f4ji4F3pesSYDFJO8nZzcM5J+BqeaJZ18+2t9vWxR0vZNEZ6LCui445P6jl11LjR0dqyTV+XJtw= X-Received: by 2002:a17:90b:1003:b0:253:360a:f6b with SMTP id gm3-20020a17090b100300b00253360a0f6bmr318824pjb.13.1685721135777; Fri, 02 Jun 2023 08:52:15 -0700 (PDT) MIME-Version: 1.0 References: <20230602073109.14086-1-lq@chinaffmpeg.org> <20230602073109.14086-2-lq@chinaffmpeg.org> In-Reply-To: From: Lance Wang Date: Fri, 2 Jun 2023 23:52:04 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v11 1/6] avformat/flvenc: support mux hevc in enhanced flv 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: T24gRnJpLCBKdW4gMiwgMjAyMyBhdCA3OjI54oCvUE0gU3RldmVuIExpdSA8bGluZ2ppdWppYW5r ZUBnbWFpbC5jb20+IHdyb3RlOgoKPiBMYW5jZSBXYW5nIDxsYW5jZS5sbXdhbmdAZ21haWwuY29t PiDkuo4yMDIz5bm0NuaciDLml6XlkajkupQgMTk6MDnlhpnpgZPvvJoKPiA+Cj4gPiBPbiBGcmks IEp1biAyLCAyMDIzIGF0IDM6MzHigK9QTSBTdGV2ZW4gTGl1IDxscUBjaGluYWZmbXBlZy5vcmc+ IHdyb3RlOgo+ID4KPiA+ID4gU2lnbmVkLW9mZi1ieTogU3RldmVuIExpdSA8bHFAY2hpbmFmZm1w ZWcub3JnPgo+ID4gPiAtLS0KPiA+ID4gIGxpYmF2Zm9ybWF0L01ha2VmaWxlIHwgIDIgKy0KPiA+ ID4gIGxpYmF2Zm9ybWF0L2Zsdi5oICAgIHwgMTUgKysrKysrKysrKysrKysrCj4gPiA+ICBsaWJh dmZvcm1hdC9mbHZlbmMuYyB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tCj4gPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDExIGRlbGV0 aW9ucygtKQo+ID4gPgo+ID4gPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvTWFrZWZpbGUgYi9s aWJhdmZvcm1hdC9NYWtlZmlsZQo+ID4gPiBpbmRleCBmOGFkN2M2YTExLi4xZWYzZDE1NDY3IDEw MDY0NAo+ID4gPiAtLS0gYS9saWJhdmZvcm1hdC9NYWtlZmlsZQo+ID4gPiArKysgYi9saWJhdmZv cm1hdC9NYWtlZmlsZQo+ID4gPiBAQCAtMjE0LDcgKzIxNCw3IEBAIE9CSlMtJChDT05GSUdfRkxB Q19NVVhFUikgICAgICAgICAgICAgICAgKz0KPiBmbGFjZW5jLm8KPiA+ID4gZmxhY2VuY19oZWFk ZXIubyBcCj4gPiA+ICBPQkpTLSQoQ09ORklHX0ZMSUNfREVNVVhFUikgICAgICAgICAgICAgICs9 IGZsaWMubwo+ID4gPiAgT0JKUy0kKENPTkZJR19GTFZfREVNVVhFUikgICAgICAgICAgICAgICAr PSBmbHZkZWMubwo+ID4gPiAgT0JKUy0kKENPTkZJR19MSVZFX0ZMVl9ERU1VWEVSKSAgICAgICAg ICArPSBmbHZkZWMubwo+ID4gPiAtT0JKUy0kKENPTkZJR19GTFZfTVVYRVIpICAgICAgICAgICAg ICAgICArPSBmbHZlbmMubyBhdmMubwo+ID4gPiArT0JKUy0kKENPTkZJR19GTFZfTVVYRVIpICAg ICAgICAgICAgICAgICArPSBmbHZlbmMubyBhdmMubyBoZXZjLm8KPiA+ID4gIE9CSlMtJChDT05G SUdfRk9VUlhNX0RFTVVYRVIpICAgICAgICAgICAgKz0gNHhtLm8KPiA+ID4gIE9CSlMtJChDT05G SUdfRlJBTUVDUkNfTVVYRVIpICAgICAgICAgICAgKz0gZnJhbWVjcmNlbmMubyBmcmFtZWhhc2gu bwo+ID4gPiAgT0JKUy0kKENPTkZJR19GUkFNRUhBU0hfTVVYRVIpICAgICAgICAgICArPSBoYXNo ZW5jLm8gZnJhbWVoYXNoLm8KPiA+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2Zsdi5oIGIv bGliYXZmb3JtYXQvZmx2LmgKPiA+ID4gaW5kZXggMzU3MWI5MDI3OS4uOTFlMGE0MTQwYyAxMDA2 NDQKPiA+ID4gLS0tIGEvbGliYXZmb3JtYXQvZmx2LmgKPiA+ID4gKysrIGIvbGliYXZmb3JtYXQv Zmx2LmgKPiA+ID4gQEAgLTM1LDYgKzM1LDEyIEBACj4gPiA+Cj4gPiA+ICAjZGVmaW5lIEZMVl9W SURFT19GUkFNRVRZUEVfT0ZGU0VUICAgNAo+ID4gPgo+ID4gPiArLyogRXh0ZW5kZWQgVmlkZW9U YWdIZWFkZXIKPiA+ID4gKyAqIGRlZmluZWQgaW4gcmVmZXJlbmNlIGxpbms6Cj4gPiA+ICsgKgo+ ID4gPgo+IGh0dHBzOi8vZ2l0aHViLmNvbS92ZW92ZXJhL2VuaGFuY2VkLXJ0bXAvYmxvYi9tYWlu L2VuaGFuY2VkLXJ0bXAtdjEucGRmCj4gPiA+ICsgKiAqLwo+ID4gPiArI2RlZmluZSBGTFZfSVNf RVhfSEVBREVSICAgICAgICAgIDB4ODAKPiA+ID4gKwo+ID4gPiAgLyogYml0bWFza3MgdG8gaXNv bGF0ZSBzcGVjaWZpYyB2YWx1ZXMgKi8KPiA+ID4gICNkZWZpbmUgRkxWX0FVRElPX0NIQU5ORUxf TUFTSyAgICAweDAxCj4gPiA+ICAjZGVmaW5lIEZMVl9BVURJT19TQU1QTEVTSVpFX01BU0sgMHgw Mgo+ID4gPiBAQCAtMTEyLDYgKzExOCwxNSBAQCBlbnVtIHsKPiA+ID4gICAgICBGTFZfQ09ERUNJ RF9NUEVHNCAgID0gOSwKPiA+ID4gIH07Cj4gPiA+Cj4gPiA+ICtlbnVtIHsKPiA+ID4gKyAgICBQ YWNrZXRUeXBlU2VxdWVuY2VTdGFydCAgICAgICAgID0gMCwKPiA+ID4gKyAgICBQYWNrZXRUeXBl Q29kZWRGcmFtZXMgICAgICAgICAgID0gMSwKPiA+ID4gKyAgICBQYWNrZXRUeXBlU2VxdWVuY2VF bmQgICAgICAgICAgID0gMiwKPiA+ID4gKyAgICBQYWNrZXRUeXBlQ29kZWRGcmFtZXNYICAgICAg ICAgID0gMywKPiA+ID4gKyAgICBQYWNrZXRUeXBlTWV0YWRhdGEgICAgICAgICAgICAgID0gNCwK PiA+ID4gKyAgICBQYWNrZXRUeXBlTVBFRzJUU1NlcXVlbmNlU3RhcnQgID0gNSwKPiA+ID4gK307 Cj4gPiA+ICsKPiA+ID4KPiA+Cj4gPiBmb3JtYXQgYW5kIGFsaWduIHRoZSAiPSI/Cj4geWVzIGl0 IGlzIGFsaWduZWQgaW4gcGF0Y2gsIHlvdSBjYW4gcmVmZXJlbmNlIGluCj4KPiBodHRwczovL3Bh dGNod29yay5mZm1wZWcub3JnL3Byb2plY3QvZmZtcGVnL3BhdGNoLzIwMjMwNjAyMDczMTA5LjE0 MDg2LTItbHFAY2hpbmFmZm1wZWcub3JnLwo+ID4KPiA+Cj4gPgo+ID4gPiAgZW51bSB7Cj4gPiA+ ICAgICAgRkxWX0ZSQU1FX0tFWSAgICAgICAgICAgID0gMSA8PCBGTFZfVklERU9fRlJBTUVUWVBF X09GRlNFVCwgLy8vPAo+IGtleQo+ID4gPiBmcmFtZSAoZm9yIEFWQywgYSBzZWVrYWJsZSBmcmFt ZSkKPiA+ID4gICAgICBGTFZfRlJBTUVfSU5URVIgICAgICAgICAgPSAyIDw8IEZMVl9WSURFT19G UkFNRVRZUEVfT0ZGU0VULCAvLy88Cj4gPiA+IGludGVyIGZyYW1lIChmb3IgQVZDLCBhIG5vbi1z ZWVrYWJsZSBmcmFtZSkKPiA+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jIGIv bGliYXZmb3JtYXQvZmx2ZW5jLmMKPiA+ID4gaW5kZXggNzIxZjA2MjgxMS4uYWVkMDk0NmEyZSAx MDA2NDQKPiA+ID4gLS0tIGEvbGliYXZmb3JtYXQvZmx2ZW5jLmMKPiA+ID4gKysrIGIvbGliYXZm b3JtYXQvZmx2ZW5jLmMKPiA+ID4gQEAgLTI4LDYgKzI4LDcgQEAKPiA+ID4gICNpbmNsdWRlICJs aWJhdmNvZGVjL21wZWc0YXVkaW8uaCIKPiA+ID4gICNpbmNsdWRlICJhdmlvLmgiCj4gPiA+ICAj aW5jbHVkZSAiYXZjLmgiCj4gPiA+ICsjaW5jbHVkZSAiaGV2Yy5oIgo+ID4gPiAgI2luY2x1ZGUg ImF2Zm9ybWF0LmgiCj4gPiA+ICAjaW5jbHVkZSAiZmx2LmgiCj4gPiA+ICAjaW5jbHVkZSAiaW50 ZXJuYWwuaCIKPiA+ID4gQEAgLTQ2LDYgKzQ3LDcgQEAgc3RhdGljIGNvbnN0IEFWQ29kZWNUYWcg Zmx2X3ZpZGVvX2NvZGVjX2lkc1tdID0gewo+ID4gPiAgICAgIHsgQVZfQ09ERUNfSURfVlA2LCAg ICAgIEZMVl9DT0RFQ0lEX1ZQNiB9LAo+ID4gPiAgICAgIHsgQVZfQ09ERUNfSURfVlA2QSwgICAg IEZMVl9DT0RFQ0lEX1ZQNkEgfSwKPiA+ID4gICAgICB7IEFWX0NPREVDX0lEX0gyNjQsICAgICBG TFZfQ09ERUNJRF9IMjY0IH0sCj4gPiA+ICsgICAgeyBBVl9DT0RFQ19JRF9IRVZDLCAgICAgTUtC RVRBRygnaCcsICd2JywgJ2MnLCAnMScpIH0sCj4gPiA+ICAgICAgeyBBVl9DT0RFQ19JRF9OT05F LCAgICAgMCB9Cj4gPiA+ICB9Owo+ID4gPgo+ID4gPiBAQCAtNDg5LDcgKzQ5MSw3IEBAIHN0YXRp YyB2b2lkCj4gZmx2X3dyaXRlX2NvZGVjX2hlYWRlcihBVkZvcm1hdENvbnRleHQqIHMsCj4gPiA+ IEFWQ29kZWNQYXJhbWV0ZXJzKiBwYXIsIGkKPiA+ID4gICAgICBGTFZDb250ZXh0ICpmbHYgPSBz LT5wcml2X2RhdGE7Cj4gPiA+Cj4gPiA+ICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfQUFDIHx8IHBhci0+Y29kZWNfaWQgPT0KPiA+ID4gQVZfQ09ERUNfSURfSDI2NAo+ID4g PiAtICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCkgewo+ ID4gPiArICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8 fCBwYXItPmNvZGVjX2lkID09Cj4gPiA+IEFWX0NPREVDX0lEX0hFVkMpIHsKPiA+ID4gICAgICAg ICAgaW50NjRfdCBwb3M7Cj4gPiA+ICAgICAgICAgIGF2aW9fdzgocGIsCj4gPiA+ICAgICAgICAg ICAgICAgICAgcGFyLT5jb2RlY190eXBlID09IEFWTUVESUFfVFlQRV9WSURFTyA/Cj4gPiA+IEBA IC01MzIsMTAgKzUzNCwxOSBAQCBzdGF0aWMgdm9pZAo+IGZsdl93cml0ZV9jb2RlY19oZWFkZXIo QVZGb3JtYXRDb250ZXh0Kgo+ID4gPiBzLCBBVkNvZGVjUGFyYW1ldGVycyogcGFyLCBpCj4gPiA+ ICAgICAgICAgICAgICB9Cj4gPiA+ICAgICAgICAgICAgICBhdmlvX3dyaXRlKHBiLCBwYXItPmV4 dHJhZGF0YSwgcGFyLT5leHRyYWRhdGFfc2l6ZSk7Cj4gPiA+ICAgICAgICAgIH0gZWxzZSB7Cj4g PiA+IC0gICAgICAgICAgICBhdmlvX3c4KHBiLCBwYXItPmNvZGVjX3RhZyB8IEZMVl9GUkFNRV9L RVkpOyAvLyBmbGFncwo+ID4gPiAtICAgICAgICAgICAgYXZpb193OChwYiwgMCk7IC8vIEFWQyBz ZXF1ZW5jZSBoZWFkZXIKPiA+ID4gLSAgICAgICAgICAgIGF2aW9fd2IyNChwYiwgMCk7IC8vIGNv bXBvc2l0aW9uIHRpbWUKPiA+ID4gLSAgICAgICAgICAgIGZmX2lzb21fd3JpdGVfYXZjYyhwYiwg cGFyLT5leHRyYWRhdGEsCj4gcGFyLT5leHRyYWRhdGFfc2l6ZSk7Cj4gPiA+ICsgICAgICAgICAg ICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7Cj4gPiA+ICsgICAgICAg ICAgICAgICAgYXZpb193OChwYiwgRkxWX0lTX0VYX0hFQURFUiB8Cj4gUGFja2V0VHlwZVNlcXVl bmNlU3RhcnQgfAo+ID4gPiBGTFZfRlJBTUVfS0VZKTsgLy8gRXhWaWRlb1RhZ0hlYWRlciBtb2Rl IHdpdGggUGFja2V0VHlwZVNlcXVlbmNlU3RhcnQKPiA+ID4gKyAgICAgICAgICAgICAgICBhdmlv X3dyaXRlKHBiLCAiaHZjMSIsIDQpOwo+ID4gPgo+ID4gIGZmX2lzb21fd3JpdGVfaHZjYyhwYiwg cGFyLT5leHRyYWRhdGEsIHBhci0+ZXh0cmFkYXRhX3NpemUsIDApOwo+ID4KPiA+Cj4gPiA+ICsg ICAgICAgICAgICB9IGVsc2Ugewo+ID4gPiArICAgICAgICAgICAgICAgIGF2aW9fdzgocGIsIHBh ci0+Y29kZWNfdGFnIHwgRkxWX0ZSQU1FX0tFWSk7IC8vIGZsYWdzCj4gPiA+ICsgICAgICAgICAg ICAgICAgYXZpb193OChwYiwgMCk7IC8vIEFWQyBzZXF1ZW5jZSBoZWFkZXIKPiA+ID4gKyAgICAg ICAgICAgICAgICBhdmlvX3diMjQocGIsIDApOyAvLyBjb21wb3NpdGlvbiB0aW1lCj4gPiA+Cj4g Pgo+ID4gZmZfaXNvbV93cml0ZV9hdmNjKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRyYWRh dGFfc2l6ZSk7Cj4gPgo+ID4KPiA+ID4gKyAgICAgICAgICAgIH0KPiA+ID4gKwo+ID4gPiArICAg ICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykKPiA+ID4gKyAg ICAgICAgICAgICAgICBmZl9pc29tX3dyaXRlX2h2Y2MocGIsIHBhci0+ZXh0cmFkYXRhLAo+ID4g PiBwYXItPmV4dHJhZGF0YV9zaXplLCAwKTsKPiA+ID4gKyAgICAgICAgICAgIGVsc2UKPiA+ID4g KyAgICAgICAgICAgICAgICBmZl9pc29tX3dyaXRlX2F2Y2MocGIsIHBhci0+ZXh0cmFkYXRhLAo+ ID4gPiBwYXItPmV4dHJhZGF0YV9zaXplKTsKPiA+ID4KPiA+Cj4gPiBtZXJnZSB0aGUgaWYgZWxz ZT8KPiBObywgdGhlc2UgbW9kaWZ5IHdpbGwgYmUgdXNlZCBhdCB0aGUgcGF0Y2hlcyBhZnRlciB0 aGlzIHBhdGNoLAo+ID4KPiA+ICAgICAgICAgIH0KPiA+ID4gICAgICAgICAgZGF0YV9zaXplID0g YXZpb190ZWxsKHBiKSAtIHBvczsKPiA+ID4gICAgICAgICAgYXZpb19zZWVrKHBiLCAtZGF0YV9z aXplIC0gMTAsIFNFRUtfQ1VSKTsKPiA+ID4gQEAgLTgyMSw2ICs4MzIsNyBAQCBzdGF0aWMgaW50 IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLAo+ID4gPiBBVlBhY2tldCAqcGt0 KQo+ID4gPiAgICAgIHVuc2lnbmVkIHRzOwo+ID4gPiAgICAgIGludCBzaXplID0gcGt0LT5zaXpl Owo+ID4gPiAgICAgIHVpbnQ4X3QgKmRhdGEgPSBOVUxMOwo+ID4gPiArICAgIHVpbnQ4X3QgZnJh bWV0eXBlID0gcGt0LT5mbGFncyAmIEFWX1BLVF9GTEFHX0tFWSA/IEZMVl9GUkFNRV9LRVkgOgo+ ID4gPiBGTFZfRlJBTUVfSU5URVI7Cj4gPiA+ICAgICAgaW50IGZsYWdzID0gLTEsIGZsYWdzX3Np emUsIHJldCA9IDA7Cj4gPiA+ICAgICAgaW50NjRfdCBjdXJfb2Zmc2V0ID0gYXZpb190ZWxsKHBi KTsKPiA+ID4KPiA+ID4gQEAgLTgzMiwxMyArODQ0LDEzIEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRl X3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsCj4gPiA+IEFWUGFja2V0ICpwa3QpCj4gPiA+ICAg ICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA2RiB8fCBwYXItPmNvZGVjX2lk ID09Cj4gPiA+IEFWX0NPREVDX0lEX1ZQNkEgfHwKPiA+ID4gICAgICAgICAgcGFyLT5jb2RlY19p ZCA9PSBBVl9DT0RFQ19JRF9WUDYgIHx8IHBhci0+Y29kZWNfaWQgPT0KPiA+ID4gQVZfQ09ERUNf SURfQUFDKQo+ID4gPiAgICAgICAgICBmbGFnc19zaXplID0gMjsKPiA+ID4gLSAgICBlbHNlIGlm IChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQgfHwgcGFyLT5jb2RlY19pZCA9PQo+ ID4gPiBBVl9DT0RFQ19JRF9NUEVHNCkKPiA+ID4gKyAgICBlbHNlIGlmIChwYXItPmNvZGVjX2lk ID09IEFWX0NPREVDX0lEX0gyNjQgfHwgcGFyLT5jb2RlY19pZCA9PQo+ID4gPiBBVl9DT0RFQ19J RF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMpCj4gPiA+ICAgICAg ICAgIGZsYWdzX3NpemUgPSA1Owo+ID4gPiAgICAgIGVsc2UKPiA+ID4gICAgICAgICAgZmxhZ3Nf c2l6ZSA9IDE7Cj4gPiA+Cj4gPiA+ICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNf SURfQUFDIHx8IHBhci0+Y29kZWNfaWQgPT0KPiA+ID4gQVZfQ09ERUNfSURfSDI2NAo+ID4gPiAt ICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCkgewo+ID4g PiArICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8fCBw YXItPmNvZGVjX2lkID09Cj4gPiA+IEFWX0NPREVDX0lEX0hFVkMpIHsKPiA+ID4gICAgICAgICAg c2l6ZV90IHNpZGVfc2l6ZTsKPiA+ID4gICAgICAgICAgdWludDhfdCAqc2lkZSA9IGF2X3BhY2tl dF9nZXRfc2lkZV9kYXRhKHBrdCwKPiA+ID4gQVZfUEtUX0RBVEFfTkVXX0VYVFJBREFUQSwgJnNp ZGVfc2l6ZSk7Cj4gPiA+ICAgICAgICAgIGlmIChzaWRlICYmIHNpZGVfc2l6ZSA+IDAgJiYgKHNp ZGVfc2l6ZSAhPQo+IHBhci0+ZXh0cmFkYXRhX3NpemUgfHwKPiA+ID4gbWVtY21wKHNpZGUsIHBh ci0+ZXh0cmFkYXRhLCBzaWRlX3NpemUpKSkgewo+ID4gPiBAQCAtODU4LDcgKzg3MCw3IEBAIHN0 YXRpYyBpbnQgZmx2X3dyaXRlX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsCj4gPiA+IEFWUGFj a2V0ICpwa3QpCj4gPiA+ICAgICAgICAgICAgICAgICAiUGFja2V0cyBhcmUgbm90IGluIHRoZSBw cm9wZXIgb3JkZXIgd2l0aCByZXNwZWN0IHRvCj4gPiA+IERUU1xuIik7Cj4gPiA+ICAgICAgICAg IHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4gPiA+ICAgICAgfQo+ID4gPiAtICAgIGlmIChwYXIt PmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQgfHwgcGFyLT5jb2RlY19pZCA9PQo+ID4gPiBB Vl9DT0RFQ19JRF9NUEVHNCkgewo+ID4gPiArICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NP REVDX0lEX0gyNjQgfHwgcGFyLT5jb2RlY19pZCA9PQo+ID4gPiBBVl9DT0RFQ19JRF9NUEVHNCB8 fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMpIHsKPiA+ID4gICAgICAgICAgaWYg KHBrdC0+cHRzID09IEFWX05PUFRTX1ZBTFVFKSB7Cj4gPiA+ICAgICAgICAgICAgICBhdl9sb2co cywgQVZfTE9HX0VSUk9SLCAiUGFja2V0IGlzIG1pc3NpbmcgUFRTXG4iKTsKPiA+ID4gICAgICAg ICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4gPiA+IEBAIC04ODEsNyArODkzLDcgQEAg c3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywKPiA+ID4gQVZQ YWNrZXQgKnBrdCkKPiA+ID4KPiA+ID4gICAgICAgICAgZmxhZ3MgPSBmZl9jb2RlY19nZXRfdGFn KGZsdl92aWRlb19jb2RlY19pZHMsIHBhci0+Y29kZWNfaWQpOwo+ID4gPgo+ID4gPiAtICAgICAg ICBmbGFncyB8PSBwa3QtPmZsYWdzICYgQVZfUEtUX0ZMQUdfS0VZID8gRkxWX0ZSQU1FX0tFWSA6 Cj4gPiA+IEZMVl9GUkFNRV9JTlRFUjsKPiA+ID4gKyAgICAgICAgZmxhZ3MgfD0gZnJhbWV0eXBl Owo+ID4gPiAgICAgICAgICBicmVhazsKPiA+ID4gICAgICBjYXNlIEFWTUVESUFfVFlQRV9BVURJ TzoKPiA+ID4gICAgICAgICAgZmxhZ3MgPSBnZXRfYXVkaW9fZmxhZ3MocywgcGFyKTsKPiA+ID4g QEAgLTkwMyw2ICs5MTUsMTAgQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0 Q29udGV4dCAqcywKPiA+ID4gQVZQYWNrZXQgKnBrdCkKPiA+ID4gICAgICAgICAgaWYgKHBhci0+ ZXh0cmFkYXRhX3NpemUgPiAwICYmICoodWludDhfdCopcGFyLT5leHRyYWRhdGEgIT0gMSkKPiA+ ID4gICAgICAgICAgICAgIGlmICgocmV0ID0gZmZfYXZjX3BhcnNlX25hbF91bml0c19idWYocGt0 LT5kYXRhLCAmZGF0YSwKPiA+ID4gJnNpemUpKSA8IDApCj4gPiA+ICAgICAgICAgICAgICAgICAg cmV0dXJuIHJldDsKPiA+ID4gKyAgICB9IGVsc2UgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfSEVWQykgewo+ID4gPiArICAgICAgICBpZiAocGFyLT5leHRyYWRhdGFfc2l6ZSA+IDAg JiYgKih1aW50OF90KilwYXItPmV4dHJhZGF0YSAhPSAxKQo+ID4gPgo+ID4KPiA+IEZvciB0aGUg YW5uZXhiIGZvcm1hdCwgc3RyaWN0ZXIgY2hlY2tzIGFyZSBhcyBmb2xsb3dzIGlmIGZvbGxvdyBi eQo+IHN0YW5kYXJkCj4gPiBJTU86Cj4gPiBBVl9SQjI0KHBhci0+ZXh0cmFkYXRhKSA9PSAxIHx8 IEFWX1JCMzIocGFyLT5leHRyYWRhdGEpID09IDEpCj4gQXJlIHRoZXJlIGhhdmUgc29tZSBwcm9i bGVtcyBpZiBpIHVzZSB0aGUgY29kZSAgaWYKPiAocGFyLT5leHRyYWRhdGFfc2l6ZSA+IDAgJiYg Kih1aW50OF90KilwYXItPmV4dHJhZGF0YSAhPSAxKSA/Cj4KPgp0aGUgcGF0dGVybiBpcyB2ZXJ5 IHNpbXBsZSBhbmQgd2lsbCBiZSBtaXNkZXRlY3RlZCBpZiBleHRyYWRhdGEgaXMgY29ycnVwdApl dGMuCk5vdyB0aGUgZXh0cmFkYXRhIGlzIGh2Y2Mgb3IgYW5uZXhiLCAgZm9yIGh2Y2MsIHRoZQoq KHVpbnQ4X3QqKXBhci0+ZXh0cmFkYXRhID09IDEsCnNvIHRoZSBjb25kaXRpb24gaXMgYXNzdW1p bmcgaWYgaXQncyBub3QgaHZjYywgdGhlbiBpdCdzIGFubmV4Yi4gaXNuJ3QgMTAwJQpjb3JyZWN0 PwoKCgoKPiA+Cj4gPgo+ID4gPiArICAgICAgICAgICAgaWYgKChyZXQgPSBmZl9oZXZjX2FubmV4 YjJtcDRfYnVmKHBrdC0+ZGF0YSwgJmRhdGEsCj4gJnNpemUsIDAsCj4gPiA+IE5VTEwpKSA8IDAp Cj4gPiA+ICsgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiA+ID4gICAgICB9IGVsc2UgaWYg KHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQUFDICYmIHBrdC0+c2l6ZSA+IDIgJiYKPiA+ ID4gICAgICAgICAgICAgICAgIChBVl9SQjE2KHBrdC0+ZGF0YSkgJiAweGZmZjApID09IDB4ZmZm MCkgewo+ID4gPiAgICAgICAgICBpZiAoIXMtPnN0cmVhbXNbcGt0LT5zdHJlYW1faW5kZXhdLT5u Yl9mcmFtZXMpIHsKPiA+ID4gQEAgLTk2NCw3ICs5ODAsMTIgQEAgc3RhdGljIGludCBmbHZfd3Jp dGVfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywKPiA+ID4gQVZQYWNrZXQgKnBrdCkKPiA+ID4g ICAgICAgICAgYXZpb193YjMyKHBiLCBkYXRhX3NpemUgKyAxMSk7Cj4gPiA+ICAgICAgfSBlbHNl IHsKPiA+ID4gICAgICAgICAgYXZfYXNzZXJ0MShmbGFncz49MCk7Cj4gPiA+IC0gICAgICAgIGF2 aW9fdzgocGIsZmxhZ3MpOwo+ID4gPiArICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9D T0RFQ19JRF9IRVZDKSB7Cj4gPiA+ICsgICAgICAgICAgICBhdmlvX3c4KHBiLCBGTFZfSVNfRVhf SEVBREVSIHwgUGFja2V0VHlwZUNvZGVkRnJhbWVzWCB8Cj4gPiA+IGZyYW1ldHlwZSk7IC8vIEV4 VmlkZW9UYWdIZWFkZXIgbW9kZSB3aXRoIFBhY2tldFR5cGVDb2RlZEZyYW1lc1gKPiA+ID4KPiA+ Cj4gPiBmcmFtZXR5cGUgd2lsbCA8PCAyLCBzbyBpdCdzIGJldHRlciB0byB1c2UgYmVsb3cgb3Jk ZXI6Cj4gPiBGTFZfSVNfRVhfSEVBREVSIHwgZnJhbWV0eXBlIHwgUGFja2V0VHlwZUNvZGVkRnJh bWVzWAo+IGZpeGVkIGxvY2FsbHkuCj4gPgo+ID4KPiA+Cj4gPiA+ICsgICAgICAgICAgICBhdmlv X3dyaXRlKHBiLCAiaHZjMSIsIDQpOwo+ID4gPiArICAgICAgICB9IGVsc2Ugewo+ID4gPiArICAg ICAgICAgICAgYXZpb193OChwYiwgZmxhZ3MpOwo+ID4gPiArICAgICAgICB9Cj4gPiA+ICAgICAg ICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNikKPiA+ID4gICAgICAgICAg ICAgIGF2aW9fdzgocGIsMCk7Cj4gPiA+ICAgICAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFW X0NPREVDX0lEX1ZQNkYgfHwgcGFyLT5jb2RlY19pZCA9PQo+ID4gPiBBVl9DT0RFQ19JRF9WUDZB KSB7Cj4gPiA+IC0tCj4gPiA+IDIuNDAuMAo+ID4gPgo+Cj4KPiBUaGFua3MKPiBTdGV2ZW4KPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1k ZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZt cGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVn Lm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBl Zy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Zm bXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZm bXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIu Cg==