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 C7DB846E4A for ; Sat, 15 Jul 2023 08:53:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A476A68C3DA; Sat, 15 Jul 2023 11:53:06 +0300 (EEST) Received: from mail-vk1-f173.google.com (mail-vk1-f173.google.com [209.85.221.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0C76168C352 for ; Sat, 15 Jul 2023 11:53:01 +0300 (EEST) Received: by mail-vk1-f173.google.com with SMTP id 71dfb90a1353d-481604cb9d8so636688e0c.1 for ; Sat, 15 Jul 2023 01:53:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1689411179; x=1692003179; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=Ao1l3ZAoPzC1WYFQ3pNG1vx/yFYzUne7DG7PAbtQtCI=; b=n2xf3/7/YP01AtCRGnz65sqdvnT+VItHL3aqfnsqM+1Yd61je/DNYok3BNjLU8S8Ig Y1/U8c7Xbl7FKK3fpcW4xvevBBUO+3A0gXyoLNyePh1doA83nWOoY2y+jLLsFbjmEWMf RkkiokW+yGT4I0oj+tuFORYu9Do/fahClFCQ4Rar+LMQCfJznWZgyDHzJvCn3tzJIDcA aRwQCFAYgX2p19jLRYVez0Kto/L3Rq3yiBtbpk/k1ST5KFdGN7PHqfZA9b2srARb1SQQ qJ/PcyYApifF+EVxoaCghHN6ySe+/idONk7ha2UTF3J2MejffnhB3Gifj4A5MQmxcCmy SKAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689411179; x=1692003179; 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=Ao1l3ZAoPzC1WYFQ3pNG1vx/yFYzUne7DG7PAbtQtCI=; b=JVKWURpprNniXslZ/8Imn9ybE99GBgN+5RwYhTDMfKugEKQCAUweLckh6hfyycfHcO zZ1Hb6Iqvmcyc51mrgXbcX2zX8450CBJCX2gW0kkGT6EWVVy9iUGa7YZ6jrOtvHRujR8 smpsGLbgZbWHL0g54JjyZ0PLYx2QTrNhTU0tcvGSEWw+/Xw17x2becS+ZNCNK6IEsTGV FR/eCKQXYZAu01vLXyCOFDYIXxd0uWMyyMSqXu3SQpciZUfsJyUBaPzWiG4pAYmLQlMp lZqbhYtekngiGu5a5J9G9/lg3F428JxyeJu1EkdCf38/DJERqiYpR16ooz3aovB98HmA cIFw== X-Gm-Message-State: ABy/qLY9Zlv+bQzGsembYAyFAMHVqDCAuPsHmFcP3290W8bfwvUEwrQy wq8WcxCX4fS5L/wEUeSOx/AJxe83v5YL0e1M3n4/ZDXRr3I= X-Google-Smtp-Source: APBJJlGMm1NKuruK2rqdQesE4SCb3H/LZ1SlRy+BRaMh1fPIZoqDTpc87tr1Js0rCN1lf57JZryg+MvbU8Ky3xmot28= X-Received: by 2002:a1f:5f92:0:b0:471:53e9:376d with SMTP id t140-20020a1f5f92000000b0047153e9376dmr2932251vkb.4.1689411179200; Sat, 15 Jul 2023 01:52:59 -0700 (PDT) MIME-Version: 1.0 References: <20230713105553.21052-1-anton@khirnov.net> <20230713105553.21052-25-anton@khirnov.net> <20230713231107.GK1093384@pb2> <168932784788.27367.2505386604250052570@lain.khirnov.net> <20230714154719.GM1093384@pb2> <168935437525.27367.7939731618097704358@lain.khirnov.net> In-Reply-To: <168935437525.27367.7939731618097704358@lain.khirnov.net> From: Paul B Mahol Date: Sat, 15 Jul 2023 10:59:50 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH 25/33] fftools/ffmpeg_filter: stop disregarding user-specified pixel format 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: T24gRnJpLCBKdWwgMTQsIDIwMjMgYXQgNzowNuKAr1BNIEFudG9uIEtoaXJub3YgPGFudG9uQGto aXJub3YubmV0PiB3cm90ZToKCj4gUXVvdGluZyBNaWNoYWVsIE5pZWRlcm1heWVyICgyMDIzLTA3 LTE0IDE3OjQ3OjE5KQo+ID4gT24gRnJpLCBKdWwgMTQsIDIwMjMgYXQgMTE6NDQ6MDdBTSArMDIw MCwgQW50b24gS2hpcm5vdiB3cm90ZToKPiA+ID4gUXVvdGluZyBNaWNoYWVsIE5pZWRlcm1heWVy ICgyMDIzLTA3LTE0IDAxOjExOjA3KQo+ID4gPiA+IE9uIFRodSwgSnVsIDEzLCAyMDIzIGF0IDEy OjU1OjQ1UE0gKzAyMDAsIEFudG9uIEtoaXJub3Ygd3JvdGU6Cj4gPiA+ID4gPiBXaGVuIHRoZSB1 c2VyIGV4cGxpY2l0bHkgc3BlY2lmaWVzIGEgcGl4ZWwgZm9ybWF0IHRoYXQgaXMgbm90Cj4gc3Vw cG9ydGVkCj4gPiA+ID4gPiBieSB0aGUgZW5jb2RlciwgZmZtcGVnIENMSSB3aWxsIGN1cnJlbnRs eSB1c2Ugc29tZSBoZXVyaXN0aWNzIHRvCj4gcGljawo+ID4gPiA+ID4gYW5vdGhlciBzdXBwb3J0 ZWQgZm9ybWF0LiBUaGlzIGlzIHdyb25nIGFuZCB0aGUgY29ycmVjdCBhY3Rpb24KPiBoZXJlIGlz Cj4gPiA+ID4gPiB0byBmYWlsLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFN1cnByaXNpbmdseSwgYSBu dW1iZXIgb2YgRkFURSB0ZXN0cyBhcmUgYWZmZWN0ZWQgYnkgdGhpcyBhbmQKPiBhY3R1YWxseQo+ ID4gPiA+ID4gdXNlIGEgZGlmZmVyZW50IHBpeGVsIGZvcm1hdCB0aGFuIGlzIHNwZWNpZmllZCBp biB0aGUgbWFrZWZpbGVzLgo+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiAgZG9jL2ZmbXBlZy50ZXhp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KPiA+ID4gPiA+ICBmZnRvb2xz L2ZmbXBlZ19maWx0ZXIuYyAgICAgICAgICAgICAgICAgICAgICAgfCAzNQo+ICstLS0tLS0tLS0t LS0tLS0tLS0KPiA+ID4gPiA+ICB0ZXN0cy9mYXRlL2ZpdHMubWFrICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNiArKy0tCj4gPiA+ID4gPiAgdGVzdHMvZmF0ZS9sYXZmLXZpZGVvLm1hayAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiA+ID4gPiA+ICB0ZXN0cy9mYXRlL3Zjb2RlYy5t YWsgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KPiA+ID4gPiA+ICAuLi4ve2ZpdHNk ZWMtZ2JyYXAxNmxlID0+IGZpdHNkZWMtZ2JyYXAxNmJlfSAgfCAgNCArLS0KPiA+ID4gPiA+ICAu Li4vZmF0ZS97Zml0c2RlYy1nYnJwMTYgPT4gZml0c2RlYy1nYnJwMTZiZX0gfCAgNCArLS0KPiA+ ID4gPiA+ICB0ZXN0cy9yZWYvbGF2Zi9naWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQo+ID4gPiA+ID4gIDggZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNDcgZGVs ZXRpb25zKC0pCj4gPiA+ID4gPiAgcmVuYW1lIHRlc3RzL3JlZi9mYXRlL3tmaXRzZGVjLWdicmFw MTZsZSA9PiBmaXRzZGVjLWdicmFwMTZiZX0KPiAoNzklKQo+ID4gPiA+ID4gIHJlbmFtZSB0ZXN0 cy9yZWYvZmF0ZS97Zml0c2RlYy1nYnJwMTYgPT4gZml0c2RlYy1nYnJwMTZiZX0gKDc5JSkKPiA+ ID4gPiA+Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZG9jL2ZmbXBlZy50ZXhpIGIvZG9jL2ZmbXBl Zy50ZXhpCj4gPiA+ID4gPiBpbmRleCA2NzY5ZjhkMzA1Li4wOGIxMTA5N2I3IDEwMDY0NAo+ID4g PiA+ID4gLS0tIGEvZG9jL2ZmbXBlZy50ZXhpCj4gPiA+ID4gPiArKysgYi9kb2MvZmZtcGVnLnRl eGkKPiA+ID4gPiA+IEBAIC0xMDE0LDggKzEwMTQsNyBAQCBEaXNhYmxlIGF1dG9zY2FsZSBhdCB5 b3VyIG93biByaXNrLgo+ID4gPiA+ID4gIEBpdGVtIC1waXhfZm10WzpAdmFye3N0cmVhbV9zcGVj aWZpZXJ9XSBAdmFye2Zvcm1hdH0KPiAoQGVtcGh7aW5wdXQvb3V0cHV0LHBlci1zdHJlYW19KQo+ ID4gPiA+ID4gIFNldCBwaXhlbCBmb3JtYXQuIFVzZSBAY29kZXstcGl4X2ZtdHN9IHRvIHNob3cg YWxsIHRoZSBzdXBwb3J0ZWQKPiA+ID4gPiA+ICBwaXhlbCBmb3JtYXRzLgo+ID4gPiA+ID4gLUlm IHRoZSBzZWxlY3RlZCBwaXhlbCBmb3JtYXQgY2FuIG5vdCBiZSBzZWxlY3RlZCwgZmZtcGVnIHdp bGwKPiBwcmludCBhCj4gPiA+ID4gPiAtd2FybmluZyBhbmQgc2VsZWN0IHRoZSBiZXN0IHBpeGVs IGZvcm1hdCBzdXBwb3J0ZWQgYnkgdGhlIGVuY29kZXIuCj4gPiA+ID4gPiArCj4gPiA+ID4gPiAg SWYgQHZhcntwaXhfZm10fSBpcyBwcmVmaXhlZCBieSBhIEBjb2Rleyt9LCBmZm1wZWcgd2lsbCBl eGl0IHdpdGgKPiBhbiBlcnJvcgo+ID4gPiA+ID4gIGlmIHRoZSByZXF1ZXN0ZWQgcGl4ZWwgZm9y bWF0IGNhbiBub3QgYmUgc2VsZWN0ZWQsIGFuZCBhdXRvbWF0aWMKPiBjb252ZXJzaW9ucwo+ID4g PiA+ID4gIGluc2lkZSBmaWx0ZXJncmFwaHMgYXJlIGRpc2FibGVkLgo+ID4gPiA+Cj4gPiA+ID4g VGhlIGNvbW1pdCBtZXNzYWdlIG1ha2VzIHRoaXMgc291bmQgbGlrZSBhIGJ1Z2ZpeCwgd2hpbGUg cmVhbGx5IHRoaXMKPiBpcwo+ID4gPiA+IHJlbW92aW5nIGEgZG9jdW1lbnRlZCBmZWF0dXJlLgo+ ID4gPgo+ID4gPiBJdCBpcyBhIGJ1Z2ZpeCBpbiBteSBleWVzLiBXaGVuIHlvdSBleHBsaWNpdGx5 IHRlbGwgYSBwcm9ncmFtIHRvCj4gcGVyZm9ybQo+ID4gPiBhIHNwZWNpZmljIGFjdGlvbiwgYW5k IHRoZSBwcm9ncmFtIGp1c3QgZGVjaWRlcyB0byBkbyBzb21ldGhpbmcgZWxzZSwKPiA+ID4gdGhl biB0aGF0IHByb2dyYW0gaXMgYnJva2VuLgo+ID4gPgo+ID4gPiBBcyBmYXIgYXMgSSBjYW4gdGVs bCwgdGhpcyAiZmVhdHVyZSIgd2FzIGFkZGVkIGJ5IHlvdSBpbiA4OWY4NjM3OTc5Nwo+ID4gPiB3 aXRoIG5vIGV4cGxhbmF0aW9uIG9yIGRvY3VtZW50YXRpb24gYmV5b25kICdmaXggcmVncmVzc2lv biB3aXRoIHBuZycuCj4gPiA+IEl0IHdhcyBsYXRlciBkb2N1bWVudGVkIGluIGEgbGFyZ2VseS11 bnJlbGF0ZWQgY29tbWl0IHRoYXQgYWRkZWQKPiA+ID4gc29tZXRoaW5nIGVsc2UuCj4gPiA+Cj4g PiA+IEkgc2VlIG5vIGFyZ3VtZW50IHdoYXRzb2V2ZXIgZm9yIHdoeSB3ZSBzaG91bGQgaGF2ZSBz dWNoIGEgInNtYXJ0Igo+ID4KPiA+IEFzIHNhaWQgcHJldmlvdXNseSwKPiA+IFRoZSB1c2VyIGNh bm5vdCBiZSBleHBlY3RlZCB0byBrbm93IGlmIGEgaW1wbGVtZW50YXRpb24gdXNlcyBwbGFuYXIK PiA+IG9yIHBhY2tlZCByZ2IsIGJnciBvciByZ2IuCj4KPiBXaGljaCBpcyB3aHkKPiAqIGxpYmF2 ZmlsdGVyIHdpbGwgYnkgZGVmYXVsdCBjb252ZXJ0IHRvIGEgZm9ybWF0IHN1cHBvcnRlZCBieSB0 aGUKPiAgIGVuY29kZXIKPiAqIGxpYmF2Y29kZWMgd2lsbCBub3cgaGVscGZ1bGx5IHByaW50IGEg bGlzdCBvZiBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGUKPiAgIGVuY29kZXIgaWYgdGhlIGNhbGxl ciBnaXZlcyBpdCBhIHdyb25nIG9uZQo+Cj4gPiBUaGlzIGlzIG5vdCBhIGluaGVyZW50IHBhcnQg b2YgdGhlIGZpbGUvc3RyZWFtL2lucHV0IGluIG1hbnkgY2FzZXMKPiA+IGl0cyBub3QgYSBwcm9i bGVtIGZvciB5b3UgYmVjYXVzZSB5b3UgYXJlIGEgRkZtcGVnIGRldmVsb3BlciBhbmQgd29yawo+ ID4gd2l0aCB0aGlzIGV2ZXJ5IGRheSBidXQgaXQgaXMgYSBpbmNvbnZlbmllbmNlIGZvciB1c2Vy cwo+Cj4gU2hvdWxkIHdlIHRoZW4gcmVwbGFjZSBhbnkgZmFpbGluZyBjb21tYW5kbGluZSB3aXRo IHNvbWV0aGluZyB0aGF0IHdpbGwKPiBub3QgZmFpbD8gSWdub3JlIGFueSBvcHRpb25zIHdpdGgg aW5jb3JyZWN0IHZhbHVlcz8gQWxsIGluIHRoZSBuYW1lIG9mCj4gY29udmVuaWVuY2U/IE1heWJl IHlvdSBzaG91bGQgdHJ5IHdlYiBkZXZlbG9wbWVudC4KPgo+IFByb2dyYW1zIHRoYXQgdHJ5IHRv IHNlY29uZC1ndWVzcyB1c2VyJ3MgZXhwbGljaXQgaW5zdHJ1Y3Rpb25zIGFyZQo+IGJyb2tlbiBi eSBkZXNpZ24uIFRoaXMgImNvbnZlbmllbmNlIiBhcmd1bWVudCBpcyBlbnRpcmVseSBzcGVjaW91 czoKPiAqIHVzZXJzIHdobyBkbyBub3Qga25vdyB3aGF0IHRoZXkgd2FudCBnZXQgc29tZXRoaW5n IHRoYXQgd29ya3MgYnkKPiAgIGRlZmF1bHQKPiAqIHVzZXJzIHdobyBzcGVjaWZ5IGEgd3Jvbmcg Zm9ybWF0IGdldCBhIGxpc3Qgb2YgY29ycmVjdCBmb3JtYXRzIHRoZXkKPiAgIGNhbiBqdXN0IHBp Y2sgZnJvbTsgdGhhdCBpcyBhcyBjb252ZW5pZW50IGFzIGl0IGdldHMgZm9yIHRoaXMga2luZCBv Zgo+ICAgYSBwcm9ncmFtCj4gKiB1c2VycyB3aG8gcmVxdWlyZSB5ZXQgbW9yZSBjb252ZW5pZW5j ZSBhbmQvb3IgaGFuZGhvbGRpbmcgY2FuIHVzZSBhCj4gICBncmFwaGljYWwgcHJvZ3JhbSBzdWNo IGFzIEhhbmRicmFrZTsgd2Ugc2hvdWxkIG5vdCB0cnkgdG8gYmUKPiAgIEhhbmRicmFrZSwgdGhl eSBhcmUgYmV0dGVyIGF0IGl0IHRoYW4gdXMKPgo+ID4gPiA+IFRvIG1lIGFzIGEgbGF6eSBwZXJz b24gaXQgc3VyZWx5IGZlZWxzIHVzZWZ1bGwgdG8gYmUgYWJsZSB0byBhc2sgZm9yCj4gPiA+ID4g Ym90aCAiZXhhY3RseSByZ2IiIGFzIHdlbGwgYXMgc29tZXRoaW5nIGNsb3NlIHRvIHJnYiAobGlr ZSBiZ3Igb3IKPiBnYnJwKQo+ID4gPiA+IHdpdGhvdXQgbmVlZGluZyB0byBrbm93IHdoYXQgZWFj aCBpbmRpdmlkdWFsIGNvZGVjIHVzZXMgdG8gcmV0dXJuCj4gUixHLEIKPiA+ID4KPiA+Cj4gPiA+ IDEpIFRoaXMgY29kZSBkb2VzIG5vdCBnaXZlIHlvdSB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5ICJz b21ldGhpbmcgY2xvc2UKPiB0byByZ2IiLgo+ID4gPiAgICBZb3Ugc3BlY2lmeSBhIHByZWNpc2Ug cGl4ZWwgZm9ybWF0LCBhbmQgdGhpcyBjb2RlIGdpdmVzIHlvdQo+ID4gPiAgICBzb21ldGhpbmcu IFRoYXQgc29tZXRoaW5nIG1pZ2h0IGJlIHdoYXQgeW91IGFza2VkIGZvciwgb3Igc29tZXRoaW5n Cj4gPiA+ICAgIGNsb3NlIHRvIGl0LCBvciBzb21ldGhpbmcgY29tcGxldGVseSB1bnJlbGF0ZWQu Cj4gPiA+ICAgIEUuZy4KPiA+ID4gICAgICBmZm1wZWcgLWkgaW4ubWt2IC1tYXAgMDp2IC1jOnYg bGlieDI2NCAtcGl4X2ZtdCBwYWw4IC10IDEgb3V0Lm1rdgo+ID4gPiAgICBwcm9kdWNlcyB5dXY0 NDRwLiBIb3cgaXMgaXQgY2xvc2UgdG8gcGFsOD8KPiA+Cj4gPiAoaXQgaXMgY2xvc2UgYmVjYXVz ZSBpdCBjYW4gcmVwcmVzZW50IHBhbDggd2l0aCBsaXR0bGUgbG9zcyBpIHRoaW5rIGJ1dCkKPgo+ IHBhbDggYW5kIHl1djQ0NHAgYXJlIGNsb3NlPyBJIHJlYWxseSB3b25kZXIgd2hpY2ggcGFpciBv ZiBmb3JtYXRzIHdvdWxkCj4gYmUgbm90IGNsb3NlIGZvciB5b3UgdGhlbi4gSWYgdGhlIHNldCBp cyBub24tZW1wdHksIEknbSBzdXJlIEkgY2FuIGNyYWZ0Cj4gYSBjb21tYW5kbGluZSB0aGF0IHBy b2R1Y2VzIG9uZSBpbnN0ZWFkIG9mIHRoZSBvdGhlci4KPgo+ID4geW91ciBwYXRjaCBmaXhlcyB0 aGlzIGFuZCBhZGp1c3RzIHRoZSB0aHJlc2hvbGQgdG8gbm90IGFjY2VwdCBmb3JtYXRzCj4gPiB0 aGF0IGFyZSB0b28gZGlmZmVyZW50ID8KPiA+IGkgYWdyZWUgdGhhdCB3b3VsZCBiZSBhIGJ1Z2Zp eCBhbmQgYWxzbyBpdCBzaG91bGQgYmUgcXVpdGUgZWFzeSB0byBkbwo+ID4gYXMgdGVoIGNvZGUg YWxyZWFkeSBjb21wdXRlcyB3aGF0IHRoZSBkaWZmZXJlbmNlcyBhcmUgYW5kIGNvbXB1dGVzIGEK PiBzY29yZQo+ID4KPiA+Cj4gPiA+IDIpIElmIHlvdSB3YW50IHN5bnRheCBmb3IgZnV6enkgZm9y bWF0IHNwZWNpZmljYXRpb24sIHBhdGNoZXMgYXJlCj4gPiA+ICAgIHdlbGNvbWUuIEJ1dCBpdCBz aG91bGQgbm90IGludGVyZmVyZSB3aXRoIHNwZWNpZnlpbmcgYW4gZXhhY3QKPiBmb3JtYXQuCj4g Pgo+ID4gdGhlIGNvZGUgaXMgdGhlcmUgYWxyZWFkeQo+ID4geW91IGZvdW5kIGEgY2FzZSB3aGVy ZSBpdCBiZWhhdmVzIHVucmVhc29uYWJsZSwgc28gY2hhbmdlIHRoZSB0aHJlc2hvbGQKPiA+IGF0 IHdoaWNoIGl0IGFjY2VwdHMgZGlmZmVyZW5jZXMsIHlvdSBjYW4gZXZlbiBzcGVjaWZ5IHdoYXQg ZGlmZmVyZW5jZXMKPiA+IGl0IGFjY2VwdHMKPiA+IHRoZXJlcyBhbHNvIGdldF9waXhfZm10X3Nj b3JlKCkgdGhhdCB0YWtlcyAyIHBpeGVsIGZvcm1hdHMgYW5kIGdpdmVzCj4gPiB5b3UgYSBiaXRt YXNrIGRpc2NyaWJpbmcgdGhlaXIgZGlmZmVyZW5jZXMgdG9nZXRoZXIgd2l0aCBhIG51bWVyaWMg c2NvcmUKPiA+Cj4gPiBBbmQgb25jZSB0aGUgdGhyZXNob2xkIC8gbWFzayBpcyBhZGp1c3RlZCB0 byBhY2NlcHQgd2hhdCBpcyBjb25zaWRlcmVkCj4gPiBzaW1pbGFyIGVub3VnaCBmb3IgdGhlIHBp eGZtdCBmZm1wZWcgY29tbWFuZCBsaW5lIHVzZSBjYXNlLgo+ID4gWW91IGNhbiBtb3ZlIHRoaXMg dG8gd2hhdGV2ZXIgc3ludGF4IHlvdSBwcmVmZXIuIFlvdSBhcmUgdGhlIGV4cGVydCB3aGVuCj4g PiBpdCBjb21lcyB0byB0aGUgZmZtcGVnIGNvbW1hbmQgbGluZS4KPiA+IFNpbXBseSByZW1vdmlu ZyB0aGUgY29kZSBhbmQgY2FsbGluZyBmb3Igc29tZW9uZSB0byBhZGQgaXQgYmFjayBpbgo+ID4g aXMgYSBiaXQgb2RkLgo+Cj4gVGhlbiBteSBleHBlcnQgb3BpbmlvbiBpcyB0aGlzIC0gdGhpcyBj b2RlOgo+ICogaXMgYnJva2VuIGJ5IGRlc2lnbgo+ICogaXMgYWN0aXZlbHkgaGFybWZ1bAo+ICog c29sdmVzIG5vIGFjdHVhbCBwcm9ibGVtCj4gKiBhZGRzIHVubmVjZXNzYXJ5IGNvbXBsZXhpdHkK PiBJdCBzaG91bGQgYmUgcmVtb3ZlZCBpbiBpdHMgZW50aXJldHkuCj4KPiA+ID4gMykgTm8gb3Ro ZXIgb3B0aW9uIGluIGZmbXBlZyBDTEkgd29ya3MgbGlrZSB0aGlzLiBJZiB5b3Ugc3BlY2lmeQo+ ID4gPiAgICBzb21ldGhpbmcsIHlvdSBnZXQgdGhhdCBvciBhbiBlcnJvci4KPiA+Cj4gPiBpYW0g bm90IHN1cmUgdGhhdHMgdHJ1ZQo+ID4gaSB0aGluayB3aWR0aCBhbmQgaGVpZ2h0IGFuZCBldmVu IHZzIG9kZCBoYXZlIHRoZWlyIGZ1enp5bmVzcyBhdCBwbGFjZXMKPiBhbmQKPiA+IHNvIHByb2Jh Ymx5IGRvZXMgdGhlIGFzcGVjdCByYXRpby4gSXRzIG5vdCBmYWlsaW5nIGlmIGl0IGhhcyB0byBi ZQo+IHJvdW5kZWQKPiA+IHRvIGEgY2xvc2UgdmFsdWUKPiA+Cj4gPiB5b3UgY291bGQgdHJ5Cj4g PiAuL2ZmbXBlZyAtaSB+L3ZpZGVvcy9tYXRyaXhiZW5jaF9tcGVnMi5tcGcgIC1hc3BlY3QgNTEy OjUxMSB0ZXN0Lm00dgo+ID4gdGhlcmUgYXJlIG9ubHkgODo4IGJpdCBzbyA1MTI6NTExIGNhbnQg YmUgc3RvcmVkIG5vdGhpbmcgZmFpbHMgeW91IGp1c3QKPiA+IGRvbnQgZ2V0IDUxMjo1MTEKPiA+ Cj4gPiBhbmQgaWFtIHByZXR0eSBzdXJlIHRoZXJlIGFyZSBtYW55IG1vcmUgZXhhbXBsZXMgd2hl cmUgImNsb3NlIiB2YWx1ZXMKPiA+IGFyZSB0YWtlbiBzaWxlbnRseQo+Cj4gZmZtcGVnIC1pIGlu Lm1rdiAtbWFwIDA6diAtcyA1MTJ4NTExIC1jOnYgbGlieDI2NCAtZiBudWxsIC0KPiBbLi4uXQo+ IFtsaWJ4MjY0IEAgMHg1NWY4MDI5YTcxYzBdIGhlaWdodCBub3QgZGl2aXNpYmxlIGJ5IDIgKDUx Mng1MTEpCj4gW3Zvc3QjMDowL2xpYngyNjQgQCAweDU1ZjgwMmE2MTg0MF0gRXJyb3Igd2hpbGUg b3BlbmluZyBlbmNvZGVyIC0gbWF5YmUKPiBpbmNvcnJlY3QgcGFyYW1ldGVycyBzdWNoIGFzIGJp dF9yYXRlLCByYXRlLCB3aWR0aCBvciBoZWlnaHQuCj4KPiBCZXNpZGVzLCB5b3Uga2VlcCB0YWxr aW5nIGFib3V0ICJjbG9zZSIgd2hlbiB0aGUgY29kZSBpbiBxdWVzdGlvbiBtYWtlcwo+IG5vIGd1 YXJhbnRlZSB3aGF0c29ldmVyIHRoYXQgdGhlIHJlc3VsdCBpcyBpbiBhbnkgd2F5ICJjbG9zZSIg KHdoYXRldmVyCj4gdGhhdCBtaWdodCBldmVuIG1lYW4pLgo+CgpBZ3JlZWQsIHRoaXMgcGF0Y2gg aXMgZ29vZCB0byBnbyBpbnRvIHJlcG8uCgoKPgo+IC0tCj4gQW50b24gS2hpcm5vdgo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVs IG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcu b3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4KPiBUbyB1bnN1YnNjcmliZSwgdmlz aXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3Jn IHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRl dmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVn LWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVn LWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K