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 56C77436D8 for ; Wed, 22 Jun 2022 06:54:49 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EDF7768B6C8; Wed, 22 Jun 2022 09:54:45 +0300 (EEST) Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A1CCF68B610 for ; Wed, 22 Jun 2022 09:54:39 +0300 (EEST) Received: by mail-wr1-f48.google.com with SMTP id q9so21951404wrd.8 for ; Tue, 21 Jun 2022 23:54:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=a8HFm9nLBocIOoMMWKWuEUu5zj03uY4Poywf2i8iOo4=; b=iJEtc7LOhQe977nV0yHt68+kDrva2e06XpVCi+NWOv3NPMWZ7fvPOW4HylpvdfDFZA OuHcv7fxJynLrmyPDlSNApx3G3Yq8U3rYQ2s4Uf6FkEGvkp7G49Sj9BpprQDp529cIws Y+8X89N2QvTw4N+zpxXhMBY8FkDqxeDB/qBUiTFK+nX/xajj08K2RZaZnrATQxBZ/xrQ DELU3EjA5ycTyyZyNkRYHvU94B22cnNa1U5lgnkoqhbV7+6p0blpT9q5rrJemG1EcoqV 2+IBZUBaKP6irYpAZw27gPErFqnssZ0aY5cT1V/l9IxQ43Tjlv1ld5HmLzJ9diW3Jflv EZTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=a8HFm9nLBocIOoMMWKWuEUu5zj03uY4Poywf2i8iOo4=; b=iYBTRTBgLn9ML4ibpSDbbhd0DpHjQwO9F4F6n2zg6Bb7lQC3YfWg3pjQ8pFkkAQKI4 GsUX1HjxxfMw+GU8yzcUXtYXH8N3cxJFQ0WxihnXAzVtqIpHsXDPcEd1JncAoXGatQOv 0ifP/ilcMRoN836psDxjwlQ3R/nE8Exa6B8TaRjvIJ/tyTNPN69sNjC8RkkA+V89M8rD q872pbwgJCSNOQDxwHZ/7ZCn7oprk1jdUD8TV+d18Ety1IwxYYyXHupWHCyY3vjw/61w L+HVa+EkLZOkFeEpUXUvsYOKLBZUksPd9N41Y9G/FK8QaMqej46vUScBs2c5BD9//4+a /j7w== X-Gm-Message-State: AJIora/tK0MUK7UXF9DSHL4q5EBJY7mA8u4Td7mYOTLU/YubK1l1Zb2w uPSwoNF9igsVy0ky+1cjZkjX7jfwWImTRhPYBhglH8tMzcI= X-Google-Smtp-Source: AGRyM1suv2ZQsJ1kDmIf1j3JIvpm4mfx3E4Qu36Z3fjtGF5Ta/j7NnBEir+Syc4EHcCX3SHv+NjI2sbR36G5PlEu+s0= X-Received: by 2002:a5d:674a:0:b0:21b:824f:aaa2 with SMTP id l10-20020a5d674a000000b0021b824faaa2mr1633576wrw.672.1655880878707; Tue, 21 Jun 2022 23:54:38 -0700 (PDT) MIME-Version: 1.0 References: <20220617130443.188377-1-jeebjp@gmail.com> <20220617130443.188377-6-jeebjp@gmail.com> In-Reply-To: From: =?UTF-8?B?SmFuIEVrc3Ryw7Zt?= Date: Wed, 22 Jun 2022 09:54:26 +0300 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH 5/6] avformat/movenc: utilize existing AC-3 parsing workflow for AC-3 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: T24gV2VkLCBKdW4gMjIsIDIwMjIgYXQgMTowNSBBTSBBbmRyZWFzIFJoZWluaGFyZHQKPGFuZHJl YXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4gd3JvdGU6Cj4KPiBKYW4gRWtzdHLDtm06Cj4gPiBP biBUdWUsIEp1biAyMSwgMjAyMiBhdCAxMDozMCBBTSBBbmRyZWFzIFJoZWluaGFyZHQKPiA+IDxh bmRyZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20+IHdyb3RlOgo+ID4+Cj4gPj4gSmFuIEVrc3Ry w7ZtOgo+ID4+PiBPbiBNb24sIEp1biAyMCwgMjAyMiBhdCAxMjoxMCBQTSBBbmRyZWFzIFJoZWlu aGFyZHQKPiA+Pj4gPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4gd3JvdGU6Cj4gPj4+ Pgo+ID4+Pj4gSmFuIEVrc3Ryw7ZtOgo+ID4+Pj4+IEZyb206IEphbiBFa3N0csO2bSA8amFuLmVr c3Ryb21AMjRpLmNvbT4KPiA+Pj4+Pgo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IEphbiBFa3N0csO2 bSA8amFuLmVrc3Ryb21AMjRpLmNvbT4KPiA+Pj4+PiAtLS0KPiA+Pj4+PiAgbGliYXZmb3JtYXQv TWFrZWZpbGUgICAgICAgICAgfCAgMSArCj4gPj4+Pj4gIGxpYmF2Zm9ybWF0L2FjM19iaXRyYXRl X3RhYi5jIHwgMjIgKysrKysrKysrKysrKysKPiA+Pj4+PiAgbGliYXZmb3JtYXQvbW92ZW5jLmMg ICAgICAgICAgfCA1NSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ID4+Pj4+ ICAzIGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQo+ID4+ Pj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZmb3JtYXQvYWMzX2JpdHJhdGVfdGFiLmMKPiA+ Pj4+Pgo+ID4+Pj4+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9NYWtlZmlsZSBiL2xpYmF2Zm9y bWF0L01ha2VmaWxlCj4gPj4+Pj4gaW5kZXggMTQxNmJmMzFiZC4uYzcxZGU5NWIyZiAxMDA2NDQK PiA+Pj4+PiAtLS0gYS9saWJhdmZvcm1hdC9NYWtlZmlsZQo+ID4+Pj4+ICsrKyBiL2xpYmF2Zm9y bWF0L01ha2VmaWxlCj4gPj4+Pj4gQEAgLTY5OSw2ICs2OTksNyBAQCBTSExJQk9CSlMtJChDT05G SUdfRkxWX01VWEVSKSAgICAgICAgICAgICs9IG1wZWc0YXVkaW9fc2FtcGxlX3JhdGVzLm8KPiA+ Pj4+PiAgU0hMSUJPQkpTLSQoQ09ORklHX0hMU19ERU1VWEVSKSAgICAgICAgICArPSBhYzNfY2hh bm5lbF9sYXlvdXRfdGFiLm8KPiA+Pj4+PiAgU0hMSUJPQkpTLSQoQ09ORklHX01BVFJPU0tBX0RF TVVYRVIpICAgICArPSBtcGVnNGF1ZGlvX3NhbXBsZV9yYXRlcy5vCj4gPj4+Pj4gIFNITElCT0JK Uy0kKENPTkZJR19NT1ZfREVNVVhFUikgICAgICAgICAgKz0gYWMzX2NoYW5uZWxfbGF5b3V0X3Rh Yi5vCj4gPj4+Pj4gK1NITElCT0JKUy0kKENPTkZJR19NT1ZfTVVYRVIpICAgICAgICAgICAgKz0g YWMzX2JpdHJhdGVfdGFiLm8KPiA+Pj4+PiAgU0hMSUJPQkpTLSQoQ09ORklHX01QM19NVVhFUikg ICAgICAgICAgICArPSBtcGVnYXVkaW90YWJzLm8KPiA+Pj4+PiAgU0hMSUJPQkpTLSQoQ09ORklH X01YRl9NVVhFUikgICAgICAgICAgICArPSBnb2xvbWJfdGFiLm8KPiA+Pj4+PiAgU0hMSUJPQkpT LSQoQ09ORklHX05VVF9NVVhFUikgICAgICAgICAgICArPSBtcGVnYXVkaW90YWJzLm8KPiA+Pj4+ Cj4gPj4+PiBUaGUgYWJvdmUgbGluZSBvbmx5IHRha2VzIGNhcmUgb2YgZHVwbGljYXRpbmcgYWMz X2JpdHJhdGVfdGFiLm8gaW50bwo+ID4+Pj4gbGF2ZiBmb3Igc2hhcmVkIGJ1aWxkczsgeWV0IHRo ZXJlIG5lZWRzIHRvIGJlIGEgY29ycmVzcG9uZGluZyBTVExJQk9CSlMKPiA+Pj4+IGVudHJ5IGlu IGxhdmMvTWFrZWZpbGUgc28gdGhhdCBsYXZjL2FjM19iaXRyYXRlX3RhYi5vIGlzIGNvbXBpbGVk IGluCj4gPj4+PiBjYXNlIHRoZSBtb3YgbXV4ZXIgaXMgZW5hYmxlZCBpbiBhIHN0YXRpYyBidWls ZC4KPiA+Pj4+IEl0IHdvdWxkIHdvcmsgZWl0aGVyIHdheSBpbiB0aGlzIGNhc2UgYmVjYXVzZSAj MiBtYWRlIHRoZSBtb3YgbXV4ZXIKPiA+Pj4+IGRlcGVuZCB1cG9uIHRoZSBhYzMgcGFyc2VyIHdo aWNoIG1ha2VzIGxhdmMvYWMzX2JpdHJhdGVfdGFiLm8gYmUgaW5jbHVkZWQuCj4gPj4+Pgo+ID4+ Pgo+ID4+PiBPSywgdGhlbiBJIGNsZWFybHkgbWlzc2VkIHNvbWV0aGluZyBzaW5jZSBJIHRob3Vn aHQgSSB3YXMgZm9sbG93aW5nCj4gPj4+IGhvdyB5b3UgaGFkIGRvbmUgdGhpbmdzIGVhcmxpZXIg Zm9yIHRoZSBvdGhlciB0YWJsZS4gV2lsbCBsb29rIGludG8KPiA+Pj4gdGhpcyB0b21vcnJvdyBt b3JuaW5nLgo+ID4+Pgo+ID4+Pj4+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9hYzNfYml0cmF0 ZV90YWIuYyBiL2xpYmF2Zm9ybWF0L2FjM19iaXRyYXRlX3RhYi5jCj4gPj4+Pj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQKPiA+Pj4+PiBpbmRleCAwMDAwMDAwMDAwLi41N2I2MTgxNTExCj4gPj4+Pj4g LS0tIC9kZXYvbnVsbAo+ID4+Pj4+ICsrKyBiL2xpYmF2Zm9ybWF0L2FjM19iaXRyYXRlX3RhYi5j Cj4gPj4+Pj4gQEAgLTAsMCArMSwyMiBAQAo+ID4+Pj4+ICsvKgo+ID4+Pj4+ICsgKiBBQy0zIGJp dCByYXRlIHRhYmxlCj4gPj4+Pj4gKyAqIGNvcHlyaWdodCAoYykgMjAwMSBGYWJyaWNlIEJlbGxh cmQKPiA+Pj4+PiArICoKPiA+Pj4+PiArICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgRkZtcGVnLgo+ ID4+Pj4+ICsgKgo+ID4+Pj4+ICsgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gPj4+Pj4gKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKPiA+Pj4+PiArICogTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCj4gPj4+ Pj4gKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgo+ID4+Pj4+ICsgKgo+ID4+Pj4+ICsgKiBGRm1wZWcgaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiA+Pj4+PiArICogYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKPiA+Pj4+PiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKPiA+Pj4+PiArICogTGVzc2VyIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiA+Pj4+PiArICoKPiA+Pj4+PiArICogWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp Ywo+ID4+Pj4+ICsgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRv IHRoZSBGcmVlIFNvZnR3YXJlCj4gPj4+Pj4gKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r bGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKPiA+Pj4+ PiArICovCj4gPj4+Pj4gKwo+ID4+Pj4+ICsjaW5jbHVkZSAibGliYXZjb2RlYy9hYzNfYml0cmF0 ZV90YWIuaCIKPiA+Pj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvbW92ZW5jLmMgYi9saWJh dmZvcm1hdC9tb3ZlbmMuYwo+ID4+Pj4+IGluZGV4IDEwM2Y5NThkNzUuLmEwNzFmMWNkZDUgMTAw NjQ0Cj4gPj4+Pj4gLS0tIGEvbGliYXZmb3JtYXQvbW92ZW5jLmMKPiA+Pj4+PiArKysgYi9saWJh dmZvcm1hdC9tb3ZlbmMuYwo+ID4+Pj4+IEBAIC0zNiw2ICszNiw3IEBACj4gPj4+Pj4gICNpbmNs dWRlICJhdjEuaCIKPiA+Pj4+PiAgI2luY2x1ZGUgImF2Yy5oIgo+ID4+Pj4+ICAjaW5jbHVkZSAi bGliYXZjb2RlYy9hYzNfcGFyc2VyX2ludGVybmFsLmgiCj4gPj4+Pj4gKyNpbmNsdWRlICJsaWJh dmNvZGVjL2FjM3RhYi5oIgo+ID4+Pj4+ICAjaW5jbHVkZSAibGliYXZjb2RlYy9kbnhoZGRhdGEu aCIKPiA+Pj4+PiAgI2luY2x1ZGUgImxpYmF2Y29kZWMvZmxhYy5oIgo+ID4+Pj4+ICAjaW5jbHVk ZSAibGliYXZjb2RlYy9nZXRfYml0cy5oIgo+ID4+Pj4+IEBAIC0zNjIsNDQgKzM2Myw0MiBAQCBz dHJ1Y3QgZWFjM19pbmZvIHsKPiA+Pj4+Pgo+ID4+Pj4+ICBzdGF0aWMgaW50IG1vdl93cml0ZV9h YzNfdGFnKEFWRm9ybWF0Q29udGV4dCAqcywgQVZJT0NvbnRleHQgKnBiLCBNT1ZUcmFjayAqdHJh Y2spCj4gPj4+Pj4gIHsKPiA+Pj4+PiAtICAgIEdldEJpdENvbnRleHQgZ2JjOwo+ID4+Pj4+ICsg ICAgc3RydWN0IGVhYzNfaW5mbyAqaW5mbyA9IHRyYWNrLT5lYWMzX3ByaXY7Cj4gPj4+Pj4gKyAg ICBpbnQ4X3QgYWMzX2JpdF9yYXRlX2NvZGUgPSAtMTsKPiA+Pj4+PiAgICAgIFB1dEJpdENvbnRl eHQgcGJjOwo+ID4+Pj4+ICAgICAgdWludDhfdCBidWZbM107Cj4gPj4+Pj4gLSAgICBpbnQgZnNj b2QsIGJzaWQsIGJzbW9kLCBhY21vZCwgbGZlb24sIGZybXNpemVjb2Q7Cj4gPj4+Pj4KPiA+Pj4+ PiAtICAgIGlmICh0cmFjay0+dm9zX2xlbiA8IDcpIHsKPiA+Pj4+PiArICAgIGlmICghaW5mbyB8 fCAhaW5mby0+ZWMzX2RvbmUpIHsKPiA+Pj4+PiAgICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VS Uk9SLAo+ID4+Pj4+ICAgICAgICAgICAgICAgICAiQ2Fubm90IHdyaXRlIG1vb3YgYXRvbSBiZWZv cmUgQUMzIHBhY2tldHMuIgo+ID4+Pj4+ICAgICAgICAgICAgICAgICAiIFNldCB0aGUgZGVsYXlf bW9vdiBmbGFnIHRvIGZpeCB0aGlzLlxuIik7Cj4gPj4+Pj4gICAgICAgICAgcmV0dXJuIEFWRVJS T1IoRUlOVkFMKTsKPiA+Pj4+PiAgICAgIH0KPiA+Pj4+Pgo+ID4+Pj4+IC0gICAgYXZpb193YjMy KHBiLCAxMSk7Cj4gPj4+Pj4gLSAgICBmZmlvX3dmb3VyY2MocGIsICJkYWMzIik7Cj4gPj4+Pj4g KyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IEZGX0FSUkFZX0VMRU1TKGZmX2FjM19i aXRyYXRlX3RhYik7IGkrKykgewo+ID4+Pj4+ICsgICAgICAgIGlmIChpbmZvLT5kYXRhX3JhdGUg PT0gZmZfYWMzX2JpdHJhdGVfdGFiW2ldKSB7Cj4gPj4+Pj4gKyAgICAgICAgICAgIGFjM19iaXRf cmF0ZV9jb2RlID0gaTsKPiA+Pj4+Cj4gPj4+PiBBbnl3YXksIEkgc2VlIHRoYXQgeW91IHVzZSBm Zl9hYzNfYml0cmF0ZV90YWIgaW4gbGF2ZiBpbnN0ZWFkIG9mIGFkZGluZwo+ID4+Pj4gdGhlIGZy YW1lX3NpemVfY29kZSB0byBBQzNIZWFkZXJJbmZvLiBEaWQgaXQgdHVybiBvdXQgdG8gYmUgZWFz aWVyIHRoaXMKPiA+Pj4+IHdheSBvciB3aGF0IGlzIHRoZSByZWFzb24gZm9yIHRoaXM/Cj4gPj4+ Cj4gPj4+IEkgZGlkIHBhcnRpYWxseSBnbyB0aHJvdWdoIHRoZSByZWFzb25pbmcgaW4gdGhlIGNv dmVyIGxldHRlciwgYnV0Cj4gPj4+IGhlcmUncyBhIHNob3J0IHJld29yZGluZzoKPiA+Pj4KPiA+ Pj4gMS4gVGhpcyB3YXkgZG9lc24ndCBleHRlbmQgdGhlIHNlbWktcHVibGljIGF2cHJpdi4KPiA+ Pj4gMi4gV2hpbGUgcmV2aWV3aW5nIEkgbm90aWNlZCB0aGF0IGJzaWQgOSwgMTAgc3RyZWFtcyAo YXBwYXJlbnRseSBzb21lCj4gPj4+IFJlYWxBdWRpbyBmb3JrIG9mIEFDLTMpIGFjdHVhbGx5IGhh dmUgdGhlIHNhbXBsZS9iaXQgcmF0ZSB2YWx1ZXMgYml0Cj4gPj4+IHNoaWZ0ZWQgKGRpdmlkZWQg YnkgZWl0aGVyIDIgb3IgNCkuIFRoZSB0YWJsZSBpbiB0aGUgRVRTSQo+ID4+PiBzcGVjaWZpY2F0 aW9uIGlzIGJhc2VkIG9uIHRoZSBlZmZlY3RpdmUgYml0IHJhdGUuIFdoaWxlIGl0IGlzIGhpZ2hs eQo+ID4+PiB1bmxpa2VseSB0aGF0IHNvbWVvbmUgd291bGQgcHV0IHRoYXQgdHlwZSBvZiBBQy0z IGludG8gTVA0LCBJbiB0aGF0Cj4gPj4+IGNhc2UgSSdkIHRoZW4gaGF2ZSB0byByZS1pbmRleCB0 aGUgdmFsdWUgYmFzZWQgb24gdGhlIGVmZmVjdGl2ZSBiaXQKPiA+Pj4gcmF0ZSBpbnN0ZWFkIG9m IGp1c3QgdGFraW5nIHRoZSB2YWx1ZSBmcm9tIHRoZSBiaXQgc3RyZWFtIGluIHRoZQo+ID4+PiBw YXJzZXIuIFNvIGFzIHRoZSBlZmZlY3RpdmUgYml0IHJhdGUgaXMgYWxyZWFkeSBhdmFpbGFibGUg dGhyb3VnaCB0aGUKPiA+Pj4gaGVhZGVyIHBhcnNlciwgaXQganVzdCBzZWVtcyBzaW1wbGVyIHRv IGhhdmUgdGhlIHJlLWluZGV4aW5nIGhhcHBlbiBvbgo+ID4+PiB0aGUgdXNpbmcgc2lkZSBpbiB0 aGlzIGNhc2UuCj4gPj4+Cj4gPj4KPiA+PiBJIGhhdmUgdG8gYWRtaXQgbm90IHRvIGdldCB0aGlz IHBvaW50IGF0IGFsbC4gTGV0J3Mgd29yayB0aHJvdWdoIGFuCj4gPj4gZXhhbXBsZTogWW91IGhh dmUgYnNpZCAxMCBhbmQgeW91IHVzZSBmZl9hYzNfYml0cmF0ZV90YWJbMTddIChpLmUuIDU3Niku Cj4gPj4gQUMzSGVhZGVySW5mby5iaXRfcmF0ZSB3aWxsIHRoZW4gY29udGFpbiAxNDQwMDAgKGku ZS4gdGhlIHZhbHVlIGlzCj4gPj4gYWxyZWFkeSBkaXZpZGVkIGJ5IGZvdXIpLiBZb3VyIGRhdGFf cmF0ZSB3aWxsIGJlIHNldCB0byAxNDQgYmFzZWQgdXBvbgo+ID4+IHRoaXMgKGlmIHRoZXJlIGlz IG5vIGhpZ2hlciBkYXRhcmF0ZSBhbHJlYWR5IGVuY291bnRlcmVkKS4gQnV0IHRoZXJlIGlzCj4g Pj4gbm8gZW50cnkgZm9yIDE0NCBpbiBmZl9hYzNfYml0cmF0ZV90YWIsIHNvIHRoYXQgb25lIHdp bGwgZW50ZXIgdGhlICJObwo+ID4+IHZhbGlkIEFDMyBiaXQgcmF0ZSBjb2RlIGZvciBkYXRhIHJh dGUiIGJyYW5jaC4gSXMgdGhpcyBpbnRlbmRlZD8KPiA+Pgo+ID4KPiA+IEluIHNob3J0LCB5ZXMu IFJlbGV2YW50IHNwZWNpZmljYXRpb24gZm9yIEFDLTMgaW4gTVA0IGlzCj4gPiBodHRwczovL3d3 dy5ldHNpLm9yZy9kZWxpdmVyL2V0c2lfdHMvMTAyMzAwXzEwMjM5OS8xMDIzNjYvMDEuMDQuMDFf NjAvdHNfMTAyMzY2djAxMDQwMXAucGRmCj4gPiAsIEFubmV4IEYuIGJpdF9yYXRlX2NvZGUgaXMg ZGVmaW5lZCB0aGVyZSwgd2hpY2ggZGVmaW5lcyBhIHNldCBvZgo+ID4gdmFsdWVzIGJhc2VkIG9u IHRoZSBlZmZlY3RpdmUgYml0IHJhdGUgKGFsYmVpdCBub3RlZCBhcyBkZXJpdmVkIGZyb20KPiA+ ICh0aGUgdG9wbW9zdCBiaXRzIG9mKSAiZnJtc2l6Y29kIikuIFRoZSBzcGVjaWZpY2F0aW9uIGxp bWl0cyBpdHNlbGYgdG8KPiA+IHRvIGJzaWQgTi4uOCwgc28gdGVjaG5pY2FsbHkgdGhlIFJlYWxB dWRpbyBic2lkIDksIDEwIGFyZSBvdXQgb2YKPiA+IHNjb3BlLgo+ID4KPiA+IEF0IHRoZSBlbmQg b2YgdGhlIGRheSwgaXQncyBhIG1hcmtpbmcgb2YgdGhlIGJpdCByYXRlLCBhbmQgaWYgeW91Cj4g PiBjYW5ub3QgY29udmV5IHRoZSBhY3R1YWwgYml0IHJhdGUgYnkgdGhpcyB0YWJsZSwgdGhlbiBJ IHRoaW5rIGl0J3MKPiA+IHZhbGlkIHRvIGZhaWwuIFdpdGggRS1BQy0zIHRoZSBNUDQgc3RydWN0 dXJlIGhhcyB0aGUgZGF0YV9yYXRlIGl0c2VsZiwKPiA+IGFuZCBub3Qgc29tZSBpbmRleCB2YWx1 ZSA6KSAuIE9mIGNvdXJzZSB0aGUgYWx0ZXJuYXRpdmUgY291cnNlIG9mCj4gPiBhY3Rpb24gaXMg dGhhdCB5b3Ugc2hvdWxkIGp1c3Qgc3RpY2sgdGhlIG9yaWdpbmFsIGJpdHMgdGhlcmUsIGV2ZW4g aWYKPiA+IHRoZW4geW91IHdvdWxkIGJlIGFkdmVydGlzaW5nIGFuICJpbmNvcnJlY3QiIGJpdCBy YXRlIG9uIHRoZSBjb250YWluZXIKPiA+IGxldmVsLgo+ID4KPiA+IEF0IHRoZSBlbmQgb2YgdGhl IGRheSwgSSdtIGZpbmUgd2l0aCBlaXRoZXIgdGhlIGV4dGVuc2lvbiBvZiB0aGUKPiA+IHBhcnNl ciBzdHJ1Y3Qgb3IgdGhlIGV4cG9zdXJlIG9mIHRoZSB0YWJsZS4gSXQganVzdCBmZWx0IGxpa2Ug aXQncwo+ID4gYWxyaWdodCB0byBtYXAgdGhlIHZhbHVlIGFjY29yZGluZyB0byB0aGUgbGlzdCwg YXMgdGhlcmUgYXJlIGNhc2VzCj4gPiB3aGVyZSB0aGUgYml0cyBhcmUgbm90IGludGVycHJldGVk IGFzLWlzIGJ5IHRoZSBwYXJzZXIgKGFuZCBpdCdzCj4gPiBiZXR0ZXIgdG8gZmFpbCBpbiB0aGUg bXV4ZXIgdGhhbiBpbiB0aGUgcGFyc2VyIGlmIHlvdSB3YW50IHRvIGZpbmQgdGhlCj4gPiBpbmRl eCBmb3IgdGhlIG5ld2x5IGludGVycHJldGVkIGJpdCByYXRlIC0gd2hpY2ggZG9lcyBub3QgZXhp c3QgZm9yCj4gPiBtYW55IGJpdCBzaGlmdGVkIHZhbHVlcykuCj4gPgo+Cj4gTG90cyBvZiB0aGUg dmFsdWVzIGluIGZmX2FjM19iaXRyYXRlX3RhYiBoYXZlIHRoZSBwcm9wZXJ0eSB0aGF0IHRoZQo+ IHZhbHVlIGRpdmlkZWQgYnkgMiBvciA0IGlzIGFsc28gaW4gZmZfYWMzX2JpdHJhdGVfdGFiLiBU aGlzIG1lYW5zIHlvdQo+IHNvbWUgQUMtMyB3aXRoIGJzaWQgPT0gOSBvciBic2lkID09IDEwIG1p Z2h0IHBhc3MgdGhyb3VnaCBhbmQgYmUgbXV4ZWQsCj4geWV0IGl0IGlzIG15IGludGVycHJldGF0 aW9uIG9mIHRoZSBzcGVjIHlvdSBsaW5rZWQgdGhhdCB0aGlzIGlzIHNpbXBseQo+IG91dC1vZi1z cGVjLiBTbyB5b3Ugc2hvdWxkIG5vdCBhbGxvdyBpdC4KCklmIG5vdCBvdXQtb2Ytc3BlYyBpdCBp cyBhdCB0aGUgdmVyeSBsZWFzdCBhIGNhc2Ugb2YgIm5vdCBkZWZpbmVkIGJ5CnNwZWMiLiBJcyBp dCBjb3JyZWN0IHRvIGludGVycHJldCBhbmQgdGhlbiBpbmRleCAod2hpY2ggbGVhZHMgdG8gdGhv c2UKdmFsdWVzIGJlaW5nIHNob3duIGNvcnJlY3RseSBieSBwYXJzZXJzIHdoaWNoIGFjdHVhbGx5 IHJlYWQvcHJlc2VudAp0aGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgYm94LCBidXQgZGVwZW5kaW5n IG9uIHdoaWNoIHJhbmdlIG9mIHZhbHVlcwphcmUgYWN0dWFsbHkgdXRpbGl6ZWQgYnkgdGhpcyBm b3JrIG9mIHRoZSBmb3JtYXQgd2UgbWlnaHQgaGF2ZQpub24tYXBwbGljYWJsZSB2YWx1ZXMpLCBv ciBzaG91bGQgdGhlIGJpdHMganVzdCBiZSBwYXNzZWQgd2hpY2ggd2lsbApiZSBzaG93biBhcyB0 aGUgd3JvbmcgdmFsdWUgYnV0IGl0IG1hdGNoZXMgdGhlIGhpZ2hlciBiaXRzPwoKPiBUaGUgYmVz dCB3YXkgZm9yIHRoaXMgaXMgdG8KPiBzaW1wbHkgYWRkIGJzaWQgdG8gQUMzSGVhZGVySW5mby4g QWZ0ZXIgaGF2aW5nIHJlc3RyaWN0ZWQgeW91cnNlbGYgaW4KPiB0aGlzIHdheSBBQzNIZWFkZXJJ bmZvLmJpdF9yYXRlIGNhbiBiZSB1c2VkIGFzLWlzIChpZiBJIGFtIG5vdCBtaXN0YWtlbikuCgpO b3Qga25vd2luZyB0aGUgbGltaXRhdGlvbnMgb2YgRE5FVCBhbmQgaG93IGl0IG1vc3QgbGlrZWx5 IHdhcyBub3QKbWVhbnQgdG8gZ28gaW50byB0aGlzIGNvbnRhaW5lciBtYXBwaW5nLCBJIGNhbm5v dCBkaXNhZ3JlZS4gTXkgaW5pdGlhbAphdHRlbXB0IHdhcyB0byBqdXN0IGhhbmRsZSB0aGlzIGJ5 IGNoZWNraW5nIGlmIHRoZSByZXN1bHRpbmcgYml0IHJhdGUKZml0IHdpdGhpbiB0aGUgcmVxdWly ZW1lbnRzIG9mIHRoZSBjb250YWluZXIgbWFwcGluZy4gSWYgbm90LCBlcnJvcgpvdXQuIFRoYW5r ZnVsbHkgdGhlIGJzaWQgaXMgYWxyZWFkeSBpbiB0aGVyZToKCmluZm8tPnN1YnN0cmVhbVtoZHIt PnN1YnN0cmVhbWlkXS5ic2lkICA9IGhkci0+Yml0c3RyZWFtX2lkOwoKSmFuCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5n IGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4v bGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwg b3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVu c3Vic2NyaWJlIi4K