From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 6F9104E5ED for ; Tue, 10 Jun 2025 18:04:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 919E968D3C9; Tue, 10 Jun 2025 21:04:54 +0300 (EEST) Received: from mail-yb1-f176.google.com (mail-yb1-f176.google.com [209.85.219.176]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 4EE2E68C056 for ; Tue, 10 Jun 2025 21:04:48 +0300 (EEST) Received: by mail-yb1-f176.google.com with SMTP id 3f1490d57ef6-e7db6aaef22so4337588276.0 for ; Tue, 10 Jun 2025 11:04:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749578686; x=1750183486; darn=ffmpeg.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=4gSvoQwuiWFlp6PLhYY48/Oq+1KdpRBvzvRN3D6c43w=; b=VSD19o42JgeNDQhBaSpQyC6lKE3b4P4LH2gwKU5smxzp0okErXt8H+QyzxU4Vncq8h TrNpfJzRnvRu3o8lNkRQWe5eVcmUY1Khsjh5RbyvNU9fiPISbvdIikiBI3MsBcJKuFck GIZqVBs7oLDGFsWiCRnIZj0AxpI/dpD9qXLTEXNZJTFtHzgOmFPruF6jcRi6Zw3OrOxz jSe0khzPXt/BY5cBgEgQnIjh7+ajDfklGdib3bchDLqDKSnRXJ1DAZihbns8a3j0A5I5 aydXKWjI/ZAx4aw6wtHOrSkokIDyukk2XtBS/I1SHKy3UQjQZZR2NIrI7w5WZnE0P/Uu KxBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749578686; x=1750183486; h=content-transfer-encoding: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=4gSvoQwuiWFlp6PLhYY48/Oq+1KdpRBvzvRN3D6c43w=; b=hcfMoMfnLquLsObof67iLtWXuA3YYPgbeOoOBZKc83nSJ936ehTEgR+GCo3zLUv+WX 48VJXZ9cgb1OnUndViLGni8Yimak0jr+fU4BMNucRn74MTbeBz3v0FhSewWWo5U9ZcH7 ysNuU4BSW+jFbhAEzvxpx3PtGnssx3cThKbweFzOBnpY17Czmjv7vwrEuClFmzW5oGUr x1lwehMJEMewZgT0oTyGr1N8YX0ASVQSR6BqE9FdUiTeYLjR53AhNMnnV4NrVC5xSQIz Vv3aoilcLktHUXSLVCXT96mjF+m1NqVGmuBJOQe4z9j+7rlTSL2vy1IL0fE+siL9snAu lcYQ== X-Gm-Message-State: AOJu0YyhiNPIhuN1d21NgllUFb3TZkqlV06OVuNtrqWsDZQlkr0t2eQO 8aLyI0YXFbj60/0gcroXeUTur85QMa4AfpvA8y872AOY5SnK5xRwZVYMDohgJWwlXYZV29W26iZ rv6LbAwd4Y5keXz7gSDdHYJJ966hZPupMWY2l X-Gm-Gg: ASbGnctpzaE1HHlroy1AlZsg2ebJkqLWqK0X9qYAZDUvdpXExsGPxZS41dxVgJClIuM RGaHNAiN+RwrmqqI5Ua0WTTtAExu/YYu0WMxUeVLnu2uS4ssbvhBDSMAkR3vzRdKPbNMfMwKhRN hg6dRY3wIFqqc3eM+9fYZuqpeeoF5CGIat7rvwwttjg7sY X-Google-Smtp-Source: AGHT+IHMoqyfWgxMTAQZ3Ww2SEdUA8j0j16WSbAYlLQO982r5oy3ujU9DbFhzoNlj7xvQbqzEU322IPKOyqhj+iSk2Y= X-Received: by 2002:a05:6902:1b07:b0:e81:73f6:34b3 with SMTP id 3f1490d57ef6-e81fd9bf3admr934135276.30.1749578686257; Tue, 10 Jun 2025 11:04:46 -0700 (PDT) MIME-Version: 1.0 References: <20250604165852.75087-1-romain.beauxis@gmail.com> In-Reply-To: <20250604165852.75087-1-romain.beauxis@gmail.com> From: Romain Beauxis Date: Tue, 10 Jun 2025 13:04:35 -0500 X-Gm-Features: AX0GCFth-nkXeMrnGwFX1FU3XBdpcO2SacIMA4r6uW2gJGn1FZm7ln87Hvm7gs8 Message-ID: To: ffmpeg-devel@ffmpeg.org Subject: Re: [FFmpeg-devel] [PATCH v2] ogg/vorbis: implement header packet skip in chained ogg bitstreams. 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: andreas.rheinhardt@outlook.com 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: SGkgYWxsLAoKCkxlIG1lci4gNCBqdWluIDIwMjUgw6AgMTE6NTgsIFJvbWFpbiBCZWF1eGlzIDxy b21haW4uYmVhdXhpc0BnbWFpbC5jb20+IGEgw6ljcml0IDoKPgo+IFRoaXMgaXMgYSByZWRvIG9m IDU3NGY2MzRlNDk4NDdlMjIyNWVlNTAwMTNhZmViZjBkZTAzZWYwMTMgdXNpbmcgYSBmbGF0Cj4g bWVtb3J5IHN0b3JhZ2UgZm9yIHRoZSBleHRyYWRhdGEuCj4KPiBQUiByZXZpZXcgY29tbWVudHMg YWRkcmVzc2VkOgo+ICogVXNlIGZsYXQgbWVtb3J5IGJ5dGVzdHJlYW0KPiAqIFJlLXVzZSBleGlz dGluZyB4aXBoIGV4dHJhZGF0YSBsYXlvdXQKCklzIHRoZXJlIGFueSBpbnRlcmVzdCBpbiByZXZp ZXdpbmcgdGhpcyBwYXRjaD8KCkl0J3MgaG9sZGluZyB0aGUgc2Vjb25kIHNlcmllcyB0aGF0IGZp eGVzIGNoYWluZWQgb2dnIHN0cmVhbSBtZXRhZGF0YSBwYXJzaW5nLgoKQmV0dGVyIHN1cHBvcnQg Zm9yIGNoYWluZWQgb2dnIHN0cmVhbXMgd291bGQgcmVhbGx5IG1ha2UgbGlmZSBlYXNpZXIKZm9y IGEgYnVuY2ggb2YgZmZtcGVnIGFuZCBmZm1wZWcgbGlicmFyaWVzIHVzZXJzLgoKVGhhbmtzLAot LSBSb21haW4KCj4gLS0tCj4gIGxpYmF2Y29kZWMvdm9yYmlzZGVjLmMgICAgICAgICAgICAgICAg ICAgICB8IDQyICsrKysrKysrLS0tCj4gIGxpYmF2Zm9ybWF0L29nZ3BhcnNldm9yYmlzLmMgICAg ICAgICAgICAgICB8IDgzICsrKysrKysrKysrKysrKysrKysrKy0KPiAgdGVzdHMvcmVmL2ZhdGUv b2dnLXZvcmJpcy1jaGFpbmVkLW1ldGEudHh0IHwgIDMgLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDEx NCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL3ZvcmJpc2RlYy5jIGIvbGliYXZjb2RlYy92b3JiaXNkZWMuYwo+IGluZGV4IGFkYmQ3MjYx ODMuLjg0ODc5NDYyYTEgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy92b3JiaXNkZWMuYwo+ICsr KyBiL2xpYmF2Y29kZWMvdm9yYmlzZGVjLmMKPiBAQCAtMTc3OCwxMSArMTc3OCw0MCBAQCBzdGF0 aWMgaW50IHZvcmJpc19kZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVkZyYW1l ICpmcmFtZSwKPiAgICAgIEdldEJpdENvbnRleHQgKmdiID0gJnZjLT5nYjsKPiAgICAgIGZsb2F0 ICpjaGFubmVsX3B0cnNbMjU1XTsKPiAgICAgIGludCBpLCBsZW4sIHJldDsKPiArICAgIHNpemVf dCBuZXdfZXh0cmFkYXRhX3NpemU7Cj4gKyAgICBjb25zdCB1aW50OF90ICpuZXdfZXh0cmFkYXRh Owo+ICsgICAgY29uc3QgdWludDhfdCAqaGVhZGVyX3N0YXJ0WzNdOwo+ICsgICAgaW50IGhlYWRl cl9sZW5bM10gPSB7MCwgMCwgMH07Cj4gKyAgICBjb25zdCB1aW50OF90ICpoZWFkZXI7Cj4gKyAg ICBpbnQgaGVhZGVyX3NpemUgPSAwOwo+ICsgICAgY29uc3QgdWludDhfdCAqY29tbWVudDsKPiAr ICAgIGludCBjb21tZW50X3NpemUgPSAwOwo+ICsgICAgY29uc3QgdWludDhfdCAqc2V0dXA7Cj4g KyAgICBpbnQgc2V0dXBfc2l6ZSA9IDA7Cj4KPiAgICAgIGZmX2Rsb2coTlVMTCwgInBhY2tldCBs ZW5ndGggJWQgXG4iLCBidWZfc2l6ZSk7Cj4KPiAtICAgIGlmICgqYnVmID09IDEgJiYgYnVmX3Np emUgPiA3KSB7Cj4gLSAgICAgICAgaWYgKChyZXQgPSBpbml0X2dldF9iaXRzOChnYiwgYnVmICsg MSwgYnVmX3NpemUgLSAxKSkgPCAwKQo+ICsgICAgbmV3X2V4dHJhZGF0YSA9IGF2X3BhY2tldF9n ZXRfc2lkZV9kYXRhKGF2cGt0LCBBVl9QS1RfREFUQV9ORVdfRVhUUkFEQVRBLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAmbmV3X2V4dHJhZGF0YV9zaXplKTsKPiArCj4gKyAgICBpZiAobmV3 X2V4dHJhZGF0YSkgewo+ICsgICAgICAgIHJldCA9IGF2cHJpdl9zcGxpdF94aXBoX2hlYWRlcnMo bmV3X2V4dHJhZGF0YSwgbmV3X2V4dHJhZGF0YV9zaXplLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMzAsIGhlYWRlcl9zdGFydCwgaGVhZGVyX2xlbik7Cj4gKyAg ICAgICAgaWYgKHJldCA8IDApCj4gKyAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gKwo+ICsgICAg ICAgIGhlYWRlciA9IGhlYWRlcl9zdGFydFswXTsKPiArICAgICAgICBoZWFkZXJfc2l6ZSA9IGhl YWRlcl9sZW5bMF07Cj4gKwo+ICsgICAgICAgIGNvbW1lbnQgPSBoZWFkZXJfc3RhcnRbMV07Cj4g KyAgICAgICAgY29tbWVudF9zaXplID0gaGVhZGVyX2xlblsxXTsKPiArCj4gKyAgICAgICAgc2V0 dXAgPSBoZWFkZXJfc3RhcnRbMl07Cj4gKyAgICAgICAgc2V0dXBfc2l6ZSA9IGhlYWRlcl9sZW5b Ml07Cj4gKyAgICB9Cj4gKwo+ICsgICAgaWYgKGhlYWRlcl9zaXplID4gNyAmJiAqaGVhZGVyID09 IDEpIHsKPiArICAgICAgICBpZiAoKHJldCA9IGluaXRfZ2V0X2JpdHM4KGdiLCBoZWFkZXIgKyAx LCBoZWFkZXJfc2l6ZSAtIDEpKSA8IDApCj4gICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4KPiAg ICAgICAgICB2b3JiaXNfZnJlZSh2Yyk7Cj4gQEAgLTE4MDEsMTYgKzE4MzAsMTQgQEAgc3RhdGlj IGludCB2b3JiaXNfZGVjb2RlX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAq ZnJhbWUsCj4gICAgICAgICAgfQo+Cj4gICAgICAgICAgYXZjdHgtPnNhbXBsZV9yYXRlID0gdmMt PmF1ZGlvX3NhbXBsZXJhdGU7Cj4gLSAgICAgICAgcmV0dXJuIGJ1Zl9zaXplOwo+ICAgICAgfQo+ Cj4gLSAgICBpZiAoKmJ1ZiA9PSAzICYmIGJ1Zl9zaXplID4gNykgewo+ICsgICAgaWYgKGNvbW1l bnRfc2l6ZSA+IDcgJiYgKmNvbW1lbnQgPT0gMykgewo+ICAgICAgICAgIGF2X2xvZyhhdmN0eCwg QVZfTE9HX0RFQlVHLCAiSWdub3JpbmcgY29tbWVudCBoZWFkZXJcbiIpOwo+IC0gICAgICAgIHJl dHVybiBidWZfc2l6ZTsKPiAgICAgIH0KPgo+IC0gICAgaWYgKCpidWYgPT0gNSAmJiBidWZfc2l6 ZSA+IDcgJiYgdmMtPmNoYW5uZWxfcmVzaWR1ZXMgJiYgIXZjLT5tb2Rlcykgewo+IC0gICAgICAg IGlmICgocmV0ID0gaW5pdF9nZXRfYml0czgoZ2IsIGJ1ZiArIDEsIGJ1Zl9zaXplIC0gMSkpIDwg MCkKPiArICAgIGlmIChzZXR1cF9zaXplID4gNyAmJiAqc2V0dXAgPT0gNSAmJiB2Yy0+Y2hhbm5l bF9yZXNpZHVlcyAmJiAhdmMtPm1vZGVzKSB7Cj4gKyAgICAgICAgaWYgKChyZXQgPSBpbml0X2dl dF9iaXRzOChnYiwgc2V0dXAgKyAxLCBzZXR1cF9zaXplIC0gMSkpIDwgMCkKPiAgICAgICAgICAg ICAgcmV0dXJuIHJldDsKPgo+ICAgICAgICAgIGlmICgocmV0ID0gdm9yYmlzX3BhcnNlX3NldHVw X2hkcih2YykpKSB7Cj4gQEAgLTE4MTgsNyArMTg0NSw2IEBAIHN0YXRpYyBpbnQgdm9yYmlzX2Rl Y29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lLAo+ICAgICAg ICAgICAgICB2b3JiaXNfZnJlZSh2Yyk7Cj4gICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gICAg ICAgICAgfQo+IC0gICAgICAgIHJldHVybiBidWZfc2l6ZTsKPiAgICAgIH0KPgo+ICAgICAgaWYg KCF2Yy0+Y2hhbm5lbF9yZXNpZHVlcyB8fCAhdmMtPm1vZGVzKSB7Cj4gZGlmZiAtLWdpdCBhL2xp YmF2Zm9ybWF0L29nZ3BhcnNldm9yYmlzLmMgYi9saWJhdmZvcm1hdC9vZ2dwYXJzZXZvcmJpcy5j Cj4gaW5kZXggNjJjYzJkYTZkZS4uNzg1OWVjNWE1MSAxMDA2NDQKPiAtLS0gYS9saWJhdmZvcm1h dC9vZ2dwYXJzZXZvcmJpcy5jCj4gKysrIGIvbGliYXZmb3JtYXQvb2dncGFyc2V2b3JiaXMuYwo+ IEBAIC0yMTUsNiArMjE1LDEyIEBAIHN0cnVjdCBvZ2d2b3JiaXNfcHJpdmF0ZSB7Cj4gICAgICBB VlZvcmJpc1BhcnNlQ29udGV4dCAqdnA7Cj4gICAgICBpbnQ2NF90IGZpbmFsX3B0czsKPiAgICAg IGludCBmaW5hbF9kdXJhdGlvbjsKPiArICAgIHVpbnQ4X3QgKmhlYWRlcjsKPiArICAgIGludCBo ZWFkZXJfc2l6ZTsKPiArICAgIHVpbnQ4X3QgKmNvbW1lbnQ7Cj4gKyAgICBpbnQgY29tbWVudF9z aXplOwo+ICsgICAgdWludDhfdCAqc2V0dXA7Cj4gKyAgICBpbnQgc2V0dXBfc2l6ZTsKPiAgfTsK Pgo+ICBzdGF0aWMgaW50IGZpeHVwX3ZvcmJpc19oZWFkZXJzKEFWRm9ybWF0Q29udGV4dCAqYXMs Cj4gQEAgLTI2MCw2ICsyNjYsMTAgQEAgc3RhdGljIHZvaWQgdm9yYmlzX2NsZWFudXAoQVZGb3Jt YXRDb250ZXh0ICpzLCBpbnQgaWR4KQo+ICAgICAgICAgIGF2X3ZvcmJpc19wYXJzZV9mcmVlKCZw cml2LT52cCk7Cj4gICAgICAgICAgZm9yIChpID0gMDsgaSA8IDM7IGkrKykKPiAgICAgICAgICAg ICAgYXZfZnJlZXAoJnByaXYtPnBhY2tldFtpXSk7Cj4gKwo+ICsgICAgICAgIGF2X2ZyZWVwKCZw cml2LT5oZWFkZXIpOwo+ICsgICAgICAgIGF2X2ZyZWVwKCZwcml2LT5jb21tZW50KTsKPiArICAg ICAgICBhdl9mcmVlcCgmcHJpdi0+c2V0dXApOwo+ICAgICAgfQo+ICB9Cj4KPiBAQCAtNDM0LDYg KzQ0NCw5IEBAIHN0YXRpYyBpbnQgdm9yYmlzX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsIGlu dCBpZHgpCj4gICAgICBzdHJ1Y3Qgb2dnX3N0cmVhbSAqb3MgPSBvZ2ctPnN0cmVhbXMgKyBpZHg7 Cj4gICAgICBzdHJ1Y3Qgb2dndm9yYmlzX3ByaXZhdGUgKnByaXYgPSBvcy0+cHJpdmF0ZTsKPiAg ICAgIGludCBkdXJhdGlvbiwgZmxhZ3MgPSAwOwo+ICsgICAgaW50IHNraXBfcGFja2V0ID0gMDsK PiArICAgIGludCByZXQsIG5ld19leHRyYWRhdGFfc2l6ZTsKPiArICAgIFB1dEJ5dGVDb250ZXh0 IHBiOwo+Cj4gICAgICBpZiAoIXByaXYtPnZwKQo+ICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lO VkFMSUREQVRBOwo+IEBAIC00OTYsMTAgKzUwOSw1MCBAQCBzdGF0aWMgaW50IHZvcmJpc19wYWNr ZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBpbnQgaWR4KQo+ICAgICAgICAgIGlmIChkdXJhdGlvbiA8 IDApIHsKPiAgICAgICAgICAgICAgb3MtPnBmbGFncyB8PSBBVl9QS1RfRkxBR19DT1JSVVBUOwo+ ICAgICAgICAgICAgICByZXR1cm4gMDsKPiAtICAgICAgICB9IGVsc2UgaWYgKGZsYWdzICYgVk9S QklTX0ZMQUdfQ09NTUVOVCkgewo+IC0gICAgICAgICAgICB2b3JiaXNfdXBkYXRlX21ldGFkYXRh KHMsIGlkeCk7Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICBpZiAoZmxhZ3MgJiBWT1JCSVNf RkxBR19IRUFERVIpIHsKPiArICAgICAgICAgICAgcmV0ID0gdm9yYmlzX3BhcnNlX2hlYWRlcihz LCBzLT5zdHJlYW1zW2lkeF0sIG9zLT5idWYgKyBvcy0+cHN0YXJ0LCBvcy0+cHNpemUpOwo+ICsg ICAgICAgICAgICBpZiAocmV0IDwgMCkKPiArICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4g Kwo+ICsgICAgICAgICAgICByZXQgPSBhdl9yZWFsbG9jcCgmcHJpdi0+aGVhZGVyLCBvcy0+cHNp emUpOwo+ICsgICAgICAgICAgICBpZiAocmV0IDwgMCkKPiArICAgICAgICAgICAgICAgIHJldHVy biByZXQ7Cj4gKwo+ICsgICAgICAgICAgICBtZW1jcHkocHJpdi0+aGVhZGVyLCBvcy0+YnVmICsg b3MtPnBzdGFydCwgb3MtPnBzaXplKTsKPiArICAgICAgICAgICAgcHJpdi0+aGVhZGVyX3NpemUg PSBvcy0+cHNpemU7Cj4gKwo+ICsgICAgICAgICAgICBza2lwX3BhY2tldCA9IDE7Cj4gKyAgICAg ICAgfQo+ICsKPiArICAgICAgICBpZiAoZmxhZ3MgJiBWT1JCSVNfRkxBR19DT01NRU5UKSB7Cj4g KyAgICAgICAgICAgIHJldCA9IHZvcmJpc191cGRhdGVfbWV0YWRhdGEocywgaWR4KTsKPiArICAg ICAgICAgICAgaWYgKHJldCA8IDApCj4gKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICsK PiArICAgICAgICAgICAgcmV0ID0gYXZfcmVhbGxvY3AoJnByaXYtPmNvbW1lbnQsIG9zLT5wc2l6 ZSk7Cj4gKyAgICAgICAgICAgIGlmIChyZXQgPCAwKQo+ICsgICAgICAgICAgICAgICAgcmV0dXJu IHJldDsKPiArCj4gKyAgICAgICAgICAgIG1lbWNweShwcml2LT5jb21tZW50LCBvcy0+YnVmICsg b3MtPnBzdGFydCwgb3MtPnBzaXplKTsKPiArICAgICAgICAgICAgcHJpdi0+Y29tbWVudF9zaXpl ID0gb3MtPnBzaXplOwo+ICsKPiAgICAgICAgICAgICAgZmxhZ3MgPSAwOwo+ICsgICAgICAgICAg ICBza2lwX3BhY2tldCA9IDE7Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICBpZiAoZmxhZ3Mg JiBWT1JCSVNfRkxBR19TRVRVUCkgewo+ICsgICAgICAgICAgICByZXQgPSBhdl9yZWFsbG9jcCgm cHJpdi0+c2V0dXAsIG9zLT5wc2l6ZSk7Cj4gKyAgICAgICAgICAgIGlmIChyZXQgPCAwKQo+ICsg ICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiArCj4gKyAgICAgICAgICAgIG1lbWNweShwcml2 LT5zZXR1cCwgb3MtPmJ1ZiArIG9zLT5wc3RhcnQsIG9zLT5wc2l6ZSk7Cj4gKyAgICAgICAgICAg IHByaXYtPnNldHVwX3NpemUgPSBvcy0+cHNpemU7Cj4gKwo+ICsgICAgICAgICAgICBza2lwX3Bh Y2tldCA9IDE7Cj4gICAgICAgICAgfQo+ICsKPiAgICAgICAgICBvcy0+cGR1cmF0aW9uID0gZHVy YXRpb247Cj4gICAgICB9Cj4KPiBAQCAtNTIxLDcgKzU3NCwzMSBAQCBzdGF0aWMgaW50IHZvcmJp c19wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBpbnQgaWR4KQo+ICAgICAgICAgIHByaXYtPmZp bmFsX2R1cmF0aW9uICs9IG9zLT5wZHVyYXRpb247Cj4gICAgICB9Cj4KPiAtICAgIHJldHVybiAw Owo+ICsgICAgaWYgKHByaXYtPmhlYWRlciAmJiBwcml2LT5jb21tZW50ICYmIHByaXYtPnNldHVw KSB7Cj4gKyAgICAgICAgbmV3X2V4dHJhZGF0YV9zaXplID0gcHJpdi0+aGVhZGVyX3NpemUgKyBw cml2LT5jb21tZW50X3NpemUgKyBwcml2LT5zZXR1cF9zaXplICsgNjsKPiArCj4gKyAgICAgICAg cmV0ID0gYXZfcmVhbGxvY3AoJm9zLT5uZXdfZXh0cmFkYXRhLCBuZXdfZXh0cmFkYXRhX3NpemUp Owo+ICsgICAgICAgIGlmIChyZXQgPCAwKQo+ICsgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICsK PiArICAgICAgICBvcy0+bmV3X2V4dHJhZGF0YV9zaXplID0gbmV3X2V4dHJhZGF0YV9zaXplOwo+ ICsgICAgICAgIGJ5dGVzdHJlYW0yX2luaXRfd3JpdGVyKCZwYiwgb3MtPm5ld19leHRyYWRhdGEs IG5ld19leHRyYWRhdGFfc2l6ZSk7Cj4gKyAgICAgICAgYnl0ZXN0cmVhbTJfcHV0X2JlMTYoJnBi LCBwcml2LT5oZWFkZXJfc2l6ZSk7Cj4gKyAgICAgICAgYnl0ZXN0cmVhbTJfcHV0X2J1ZmZlcigm cGIsIHByaXYtPmhlYWRlciwgcHJpdi0+aGVhZGVyX3NpemUpOwo+ICsgICAgICAgIGJ5dGVzdHJl YW0yX3B1dF9iZTE2KCZwYiwgcHJpdi0+Y29tbWVudF9zaXplKTsKPiArICAgICAgICBieXRlc3Ry ZWFtMl9wdXRfYnVmZmVyKCZwYiwgcHJpdi0+Y29tbWVudCwgcHJpdi0+Y29tbWVudF9zaXplKTsK PiArICAgICAgICBieXRlc3RyZWFtMl9wdXRfYmUxNigmcGIsIHByaXYtPnNldHVwX3NpemUpOwo+ ICsgICAgICAgIGJ5dGVzdHJlYW0yX3B1dF9idWZmZXIoJnBiLCBwcml2LT5zZXR1cCwgcHJpdi0+ c2V0dXBfc2l6ZSk7Cj4gKwo+ICsgICAgICAgIGF2X2ZyZWVwKCZwcml2LT5oZWFkZXIpOwo+ICsg ICAgICAgIHByaXYtPmhlYWRlcl9zaXplID0gMDsKPiArICAgICAgICBhdl9mcmVlcCgmcHJpdi0+ Y29tbWVudCk7Cj4gKyAgICAgICAgcHJpdi0+Y29tbWVudF9zaXplID0gMDsKPiArICAgICAgICBh dl9mcmVlcCgmcHJpdi0+c2V0dXApOwo+ICsgICAgICAgIHByaXYtPmNvbW1lbnRfc2l6ZSA9IDA7 Cj4gKyAgICB9Cj4gKwo+ICsgICAgcmV0dXJuIHNraXBfcGFja2V0Owo+ICB9Cj4KPiAgY29uc3Qg c3RydWN0IG9nZ19jb2RlYyBmZl92b3JiaXNfY29kZWMgPSB7Cj4gZGlmZiAtLWdpdCBhL3Rlc3Rz L3JlZi9mYXRlL29nZy12b3JiaXMtY2hhaW5lZC1tZXRhLnR4dCBiL3Rlc3RzL3JlZi9mYXRlL29n Zy12b3JiaXMtY2hhaW5lZC1tZXRhLnR4dAo+IGluZGV4IGI3YTk3YzkwZTIuLjEyMDZmODZjMWYg MTAwNjQ0Cj4gLS0tIGEvdGVzdHMvcmVmL2ZhdGUvb2dnLXZvcmJpcy1jaGFpbmVkLW1ldGEudHh0 Cj4gKysrIGIvdGVzdHMvcmVmL2ZhdGUvb2dnLXZvcmJpcy1jaGFpbmVkLW1ldGEudHh0Cj4gQEAg LTYsMTAgKzYsNyBAQCBTdHJlYW0gSUQ6IDAsIGZyYW1lIFBUUzogMTI4LCBtZXRhZGF0YTogTi9B Cj4gIFN0cmVhbSBJRDogMCwgcGFja2V0IFBUUzogNzA0LCBwYWNrZXQgRFRTOiA3MDQKPiAgU3Ry ZWFtIElEOiAwLCBmcmFtZSBQVFM6IDcwNCwgbWV0YWRhdGE6IE4vQQo+ICBTdHJlYW0gSUQ6IDAs IHBhY2tldCBQVFM6IDAsIHBhY2tldCBEVFM6IDAKPiAtU3RyZWFtIElEOiAwLCBwYWNrZXQgUFRT OiAwLCBwYWNrZXQgRFRTOiAwCj4gIFN0cmVhbSBJRDogMCwgbmV3IG1ldGFkYXRhOiBlbmNvZGVy PUxhdmM2MS4xOS4xMDAgbGlidm9yYmlzOnRpdGxlPVNlY29uZCBTdHJlYW0KPiAtU3RyZWFtIElE OiAwLCBwYWNrZXQgUFRTOiAwLCBwYWNrZXQgRFRTOiAwCj4gLVN0cmVhbSBJRDogMCwgcGFja2V0 IFBUUzogMCwgcGFja2V0IERUUzogMAo+ICBTdHJlYW0gSUQ6IDAsIGZyYW1lIFBUUzogMCwgbWV0 YWRhdGE6IE4vQQo+ICBTdHJlYW0gSUQ6IDAsIHBhY2tldCBQVFM6IDEyOCwgcGFja2V0IERUUzog MTI4Cj4gIFN0cmVhbSBJRDogMCwgZnJhbWUgUFRTOiAxMjgsIG1ldGFkYXRhOiBOL0EKPiAtLQo+ IDIuMzkuNSAoQXBwbGUgR2l0LTE1NCkKPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBm Zm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZl bAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZl bC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==