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 E49474AD12 for ; Wed, 19 Jun 2024 08:27:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B564568D653; Wed, 19 Jun 2024 11:27:55 +0300 (EEST) Received: from glom.nmugroup.com (glom.nmugroup.com [193.183.80.6]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ABF9668D04F for ; Wed, 19 Jun 2024 11:27:48 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by glom.nmugroup.com (Postfix) with ESMTP id B87A9542A183 for ; Wed, 19 Jun 2024 10:27:47 +0200 (CEST) Received: from [10.10.150.6] (unknown [134.65.164.34]) (Authenticated sender: git01) by glom.nmugroup.com (Postfix) with ESMTPSA id 8CE23542A102 for ; Wed, 19 Jun 2024 10:27:47 +0200 (CEST) Message-ID: <85d5d7d4bf379004826828e0662a233fc190ecb9.camel@haerdin.se> From: Tomas =?ISO-8859-1?Q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Wed, 19 Jun 2024 10:27:44 +0200 In-Reply-To: <2F5DC492-B51B-4E93-9F45-CFCD813A6CBE@es.takushoku-u.ac.jp> References: <20240617040056.407824-1-owatanab@es.takushoku-u.ac.jp> <2F5DC492-B51B-4E93-9F45-CFCD813A6CBE@es.takushoku-u.ac.jp> User-Agent: Evolution 3.46.4-2 MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH v2] avcodec/jpeg2000dec: Add support for placeholder passes, CAP, and CPF markers 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: b25zIDIwMjQtMDYtMTkga2xvY2thbiAwNTo1MSArMDAwMCBza3JldiBXQVRBTkFCRSBPc2FtdToK PiBGaXJzdCBvZiBhbGwsIEkgYXBwcmVjaWF0ZSB5b3VyIGtpbmQgcmV2aWV3Lgo+IEknbSB3cml0 aW5nIHRvIGRpc2N1c3MgdGhlIGNoYW5nZXMgYW5kIHdvdWxkIGxpa2UgdG8gaGVhciB5b3VyCj4g ZmVlZGJhY2sgb24gdGhlc2UuCj4gCj4gCj4gPiBPbiBKdW4gMTgsIDIwMjQsIGF0IDIzOjIwLCBU b21hcyBIYXJkaW4gPGdpdEBoYWVyZGluLnNlPiB3cm90ZToKPiA+IAo+ID4gCj4gPiBJdCBzZWVt cyB0aGlzIHBhdGNoIGNvbWJpbmVzIGEgbG90IG9mIHRoaW5ncyB0aGF0IG1pZ2h0IGJlIGJldHRl cgo+ID4gdG8KPiA+IHNwbGl0IGludG8gc2VwYXJhdGUgcGF0Y2hlcyBmb3IgZWFzaWVyIHJldmll dwo+IAo+IEFncmVlLiBJIHdpbGwgc3BsaXQgdGhpcyBwYXRjaCBpbnRvIHNldmVyYWwgcGF0Y2hl cy4KPiBGb3IgZXhhbXBsZSwgdGhlIHNldCBvZiBwYXRjaGVzIGluY2x1ZGVzIGNoYW5nZXM6Cj4g LSBvbmx5IGZvciBIVEoySyAoSlBFRyAyMDAwIFBhcnQgMTUpCj4gLSBvbmx5IGZvciBKMksgKEpQ RUcgMjAwMCBQYXJ0IDEpCj4gLSBmb3IgYm90aCBKMksgYW5kIEhUSjJLLgo+IAo+IERvIHlvdSB0 aGluayBpdCBtYWtlcyBzZW5zZT8KCk1heWJlLiBHb2luZyBieSB0aGUgY29tbWl0IG1lc3NhZ2Us IHNlcGFyYXRlIHN1cHBvcnQgZm9yIHBsYWNlaG9sZGVyCnBhc3NlcyBmcm9tIENBUCBmcm9tIENG UCBoYW5kbGluZyBwZXJoYXBzPwoKPiA+ID4gQEAgLTM4Miw2ICszOTEsOSBAQCBzdGF0aWMgaW50 IGdldF9zaXooSnBlZzIwMDBEZWNvZGVyQ29udGV4dCAqcykKPiA+ID4gwqDCoMKgwqDCoMKgwqDC oCB9IGVsc2UgaWYgKG5jb21wb25lbnRzID09IDEgJiYgcy0+cHJlY2lzaW9uID09IDgpIHsKPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHMtPmF2Y3R4LT5waXhfZm10ID0gQVZfUElYX0ZN VF9HUkFZODsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGkgPSAwOwo+ID4gPiArwqDC oMKgwqDCoMKgwqAgfSBlbHNlIGlmIChuY29tcG9uZW50cyA9PSAxICYmIHMtPnByZWNpc2lvbiA9 PSAxMikgewo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzLT5hdmN0eC0+cGl4X2ZtdCA9 IEFWX1BJWF9GTVRfR1JBWTE2TEU7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGkgPSAw Owo+ID4gCj4gPiBDb3VsZCB3ZSBoYW5kbGUgOSA8PSBwcmVjaXNpb24gPD0gMTYgd2hpbGUgd2Un cmUgYXQgaXQ/Cj4gPiAKPiAKPiBZZXMuIFRoZSBuYXRpdmUgSjJLIGRlY29kZXIgZm9yIGJvdGgg bG9zc2xlc3MgYW5kIGxvc3N5IEoySy9IVEoySwo+IGNvZGVzdHJlYW1zIGNhbiBoYW5kbGUgYnBw IGZyb20gOSB0byAxNi4gVGhpcyBjaGFuZ2UgaXMgcmVxdWlyZWQgdG8KPiBwcm9kdWNlIHRoZSBk ZWNvZGVkIGltYWdlcyBmb3IgdGhlIElTTyB0ZXN0IGNvZGVzdHJlYW1zIGRlZmluZWQgaW4KPiBQ YXJ0IDQgKENvbmZvcm1hbmNlIHRlc3RpbmcpLgoKQXJlIHRoZXJlIGFueSB0ZXN0IGZpbGVzIGZv ciB0aGUgb3RoZXIgcHJlY2lzaW9ucz8KCgo+ID4gPiBAQCAtODAyLDYgKzg4MSwxNSBAQCBzdGF0 aWMgaW50IHJlYWRfY3JnKEpwZWcyMDAwRGVjb2RlckNvbnRleHQKPiA+ID4gKnMsCj4gPiA+IGlu dCBuKQo+ID4gPiDCoMKgwqDCoCBieXRlc3RyZWFtMl9za2lwKCZzLT5nLCBuIC0gMik7Cj4gPiA+ IMKgwqDCoMKgIHJldHVybiAwOwo+ID4gPiDCoH0KPiA+ID4gKwo+ID4gPiArc3RhdGljIGludCBy ZWFkX2NwZihKcGVnMjAwMERlY29kZXJDb250ZXh0ICpzLCBpbnQgbikKPiA+ID4gK3sKPiA+ID4g K8KgwqDCoCBpZiAoYnl0ZXN0cmVhbTJfZ2V0X2J5dGVzX2xlZnQoJnMtPmcpIDwgKG4gLSAyKSkK PiA+ID4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwo+ID4gPiAr wqDCoMKgIGJ5dGVzdHJlYW0yX3NraXAoJnMtPmcsIG4gLSAyKTsKPiA+ID4gK8KgwqDCoCByZXR1 cm4gMDsKPiA+ID4gK30KPiA+IAo+ID4gRG9uJ3Qgd2UgYWxyZWFkeSBoYXZlIGNvZGUgZm9yIHNr aXBwaW5nIG1hcmtlcnMgd2UgZG9uJ3QgY2FyZQo+ID4gYWJvdXQ/Cj4gPiAKPiAKPiBUaGUgYHJl YWRfY3BmKClgIGZ1bmN0aW9uIHdhcyBhZGRlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUKPiBg cmVhZF9jcmcoKWAgZnVuY3Rpb24uCj4gV2UgYWxyZWFkeSBoYXZlIGBieXRlc3RyZWFtMl9za2lw KEdldEJ5dGVDb250ZXh0ICpnLCB1bnNpZ25lZCBpbnQKPiBzaXplKWAgdGhhdCBza2lwcyBgc2l6 ZWAKPiBieXRlcyBmcm9tIHRoZSBjb21wcmVzc2VkIGRhdGEuIAo+IERvIHlvdSB0aGluayBpdCBp cyBiZXR0ZXIgdG8gcmVwbGFjZSB0aG9zZSBmdW5jdGlvbnMgKD0gYHJlYWRfY3BmKClgCj4gYW5k IGByZWFkX2NyZygpYCkKPiB3aXRoIGBieXRlc3RyZWFtMl9za2lwKClgPwoKcmVhZF9jcmcoKSBw ZXJmb3JtcyBhIHNhbml0eSBjaGVjayBvbiBuY29tcG9uZW50cyBzbyBpdCdzIG5vdCBxdWl0ZSB0 aGUKc2FtZS4gT24gdGhlIG90aGVyIGhhbmQgdGhpcyBhbHdheXMgY2hlY2tzIHRoZSBsZW5ndGgg b2YgdGhlIG1hcmtlcgp1bmxpa2UgdGhlIG1haW4gcGFyc2luZyBsb29wIHdoaWNoIG9ubHkgZG9l cyBzbyBpZgpzdHJpY3Rfc3RkX2NvbXBsaWFuY2UgPj0gRkZfQ09NUExJQU5DRV9TVFJJQ1QuIEkg Z3Vlc3Mga2VlcGluZwpyZWFkX2NwZigpIGluIHRoZSBwYXRjaCBpcyBmaW5lIGFuZCBpcyB1c2Vm dWwgZm9yIHRoZSBmdXR1cmUKCj4gPiA+IMKgLyogVGlsZS1wYXJ0IGxlbmd0aHM6IHNlZSBJU08g MTU0NDQtMToyMDAyLCBzZWN0aW9uIEEuNy4xCj4gPiA+IMKgICogVXNlZCB0byBrbm93IHRoZSBu dW1iZXIgb2YgdGlsZSBwYXJ0cyBhbmQgbGVuZ3Rocy4KPiA+ID4gwqAgKiBUaGVyZSBtYXkgYmUg bXVsdGlwbGUgVExNcyBpbiB0aGUgaGVhZGVyLgo+ID4gPiBAQCAtOTY1LDYgKzEwNTMsMTAgQEAg c3RhdGljIGludCBpbml0X3RpbGUoSnBlZzIwMDBEZWNvZGVyQ29udGV4dAo+ID4gPiAqcywKPiA+ ID4gaW50IHRpbGVubykKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbXAtPnJvaV9z aGlmdCA9IHMtPnJvaV9zaGlmdFtjb21wbm9dOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIGlmICgh Y29kc3R5LT5pbml0KQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIEFWRVJS T1JfSU5WQUxJRERBVEE7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAocy0+aXNIVCAmJiAoIXMt PkNjYXAxNV9iMDUpICYmICghY29kc3R5LT50cmFuc2Zvcm0pKQo+ID4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBhdl9sb2cocy0+YXZjdHgsIEFWX0xPR19XQVJOSU5HLCAiVHJhbnNmb3JtYXRp b24gPSAwCj4gPiA+IChsb3NzeSBEV1QpIGlzIGZvdW5kIGluIEhUUkVWIEhUIHNldFxuIik7Cj4g PiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAocy0+aXNIVCAmJiBzLT5DY2FwMTVfYjE0XzE1ICE9IChj b2RzdHktPmNibGtfc3R5bGUKPiA+ID4gPj4gNikKPiA+ID4gJiYgcy0+Q2NhcDE1X2IxNF8xNSAh PSBIVEoyS19IVE9OTFkpCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGF2X2xvZyhzLT5h dmN0eCwgQVZfTE9HX1dBUk5JTkcsICJTUGNvZC9TUGNvYyB2YWx1ZQo+ID4gPiBkb2VzCj4gPiA+ IG5vdCBtYXRjaCBiaXQgMTQtMTUgdmFsdWVzIG9mIENjYXAxNVxuIik7Cj4gPiAKPiA+IERvIHlv dSBoYXZlIHNhbXBsZXMgZGVtb25zdHJhdGluZyB0aGUgbmVlZCB0byBhY2NlcHQgc3VjaCBicm9r ZW4KPiA+IGZpbGVzPwo+ID4gSWYgbm90IHRoZW4gd2Ugc2hvdWxkIHByb2JhYmx5IGVycm9yIG91 dAo+IAo+IERvZXMgYGVycm9yIG91dGAgbWVhbiB0aGF0Cj4gLSBTaG91bGQgd2UgZXhpdCBkZWNv ZGluZyBoZXJlPwo+IC0gb3Igc2hvdWxkIHdlIHJlcGxhY2UgQVZfTE9HX1dBUk5JTkcgd2l0aCBB Vl9MT0dfRVJST1I/CgpSZXR1cm5pbmcgd2l0aCBBVkVSUk9SX0lOVkFMSUREQVRBCgo+ID4gPiBA QCAtMjE4NywyMiArMjQ3Miw0MiBAQCBzdGF0aWMgaW50Cj4gPiA+IGpwZWcyMDAwX3JlYWRfbWFp bl9oZWFkZXJzKEpwZWcyMDAwRGVjb2RlckNvbnRleHQgKnMpCj4gPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpZiAoIXMtPnRpbGUpCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHMtPm51bVh0aWxlcyA9IHMtPm51bVl0aWxlcyA9IDA7Cj4gPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBicmVhazsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgIGNhc2UgSlBFRzIwMDBf Q0FQOgo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIXMtPm5jb21wb25lbnRzKSB7 Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXZfbG9nKHMtPmF2Y3R4LCBB Vl9MT0dfV0FSTklORywgIkNBUCBtYXJrZXIKPiA+ID4gc2VnbWVudAo+ID4gPiBzaGFsbCBjb21l IGFmdGVyIFNJWlxuIik7Cj4gPiAKPiA+IFNIQUxMIC0+IHdlIHNob3VsZCBiZSBhYmxlIHRvIHNh ZmVseSByZWplY3QuIFNpbWlsYXJseSB3aXRoIHRoZQo+ID4gb3RoZXIKPiA+IGVycm9ycy4gVW5s ZXNzIHdlIGtub3cgb2YgYW4gZW5jb2RlciB0aGF0IHByb2R1Y2VzIGJyb2tlbiBmaWxlcwo+ID4g dGhlbgo+ID4gdGhlcmUncyBubyByZWFzb24gdG8gYmUgbGVuaWVudC4gQW5kIGlmIHN1Y2ggYSBi cm9rZW4gZW5jb2Rlcgo+ID4gZXhpc3RzIHdlCj4gPiBjb3VsZCB0cnkgdG8gZ2V0IGl0IGZpeGVk Cj4gCj4gRG9lcyBgc2FmZWx5IHJlamVjdGAgbWVhbiB0aGF0IHdlIHNob3VsZCByZXBsYWNlIEFW X0xPR19XQVJOSU5HIHdpdGgKPiBBVl9MT0dfRVJST1I/IG9yIHdlIHNob3VsZCBzdG9wIGRlY29k aW5nIGhlcmU/CgpSZXR1cm5pbmcgQVZFUlJPUl9JTlZBTElEREFUQSBzaW5jZSB0aGUgaW5wdXQg aXMgaW52YWxpZCBwZXIgdGhlIHNwZWMuCkVsc2Ugd2UgaW52aXRlIGhhdmluZyB0byBkZWFsIHdp dGggaW5jcmVkaWJseSBicm9rZW4gZW5jb2RlcnMuCgo+ID4gPiBAQCAtMTEyLDYgKzExMiwxMyBA QCB0eXBlZGVmIHN0cnVjdCBKcGVnMjAwMERlY29kZXJDb250ZXh0IHsKPiA+ID4gwqDCoMKgwqAg SnBlZzIwMDBUaWxlwqDCoMKgICp0aWxlOwo+ID4gPiDCoMKgwqDCoCBKcGVnMjAwMERTUENvbnRl eHQgZHNwOwo+ID4gPiDCoAo+ID4gPiArwqDCoMKgIHVpbnQ4X3TCoMKgwqDCoMKgwqDCoMKgIGlz SFQ7IC8vIEhUSjJLPwo+ID4gCj4gPiBJc24ndCBpdCBwb3NzaWJsZSB0byBtaXggUGFydCAxIGFu ZCBIVCBpbiB0aGUgc2FtZSBmaWxlPyBJIGtub3cKPiA+IEhUT05MWQo+ID4gZXhpc3RzIGFsc28K PiAKPiBJdCBpcyBwb3NzaWJsZSB0byBtaXggUGFydCAxIGFuZCBIVCBpbiB0aGUgc2FtZSB0aWxl LWNvbXBvbmVudC4KPiBUaGlzIG1vZGUgaXMgZGVmaW5lZCBhcyBNSVhFRCBpbiB0aGUgc3BlYyBv ZiBQYXJ0IDE1Lgo+IFRoZXJlIGFyZSB0aHJlZSB0eXBlcyBvZiBIVCBjb2Rlc3RyZWFtczoKPiAt IEhUT05MWQo+IC0gSFRERUNMQVJFRAo+IC0gTUlYRUQKPiAKPiBUaGUgc3BlYyBzYXlzIC0gCj4g IlRoZSBIVE9OTFkgc2V0IGlzIHRoZSBzZXQgb2YgSFRKMksgY29kZXN0cmVhbXMgd2hlcmUgYWxs IGNvZGUtYmxvY2tzCj4gYXJlIEhUIGNvZGUtYmxvY2tzLiBUaGUgSFRERUNMQVJFRCBzZXQgaXMg dGhlIHNldCBvZiBIVEoySwo+IGNvZGVzdHJlYW1zCj4gd2hlcmUgYWxsIGNvZGUtYmxvY2tzIHdp dGhpbiBhIGdpdmVuIHRpbGUtY29tcG9uZW50IGFyZSBlaXRoZXIKPiBhKSBIVCBjb2RlLWJsb2Nr cywgb3IgYikgY29kZS1ibG9ja3MgYXMgc3BlY2lmaWVkIGluIAo+IFJlYy4gSVRVLVQgVC44MDAg fCBJU08vSUVDIDE1NDQ0LTEuIFRoZSBNSVhFRCBzZXQgaXMgdGhlIHNldCBvZiBhbGwKPiBIVEoy SyBjb2Rlc3RyZWFtcyB0aGF0IGFyZSBub3QgaW4gdGhlIEhUREVDTEFSRUQgc2V0LiIKClNvIEhU REVDTEFSRUQgYWxsb3dzIGVuY29kaW5nIGZvciBleGFtcGxlIGx1bWEgYXMgSFQgYW5kIGNocm9t YSBhcyBQYXJ0CjE/Cgo+ID4gPiBAQCAtNDA2LDYgKzQyMCw3IEBAIHN0YXRpYyB2b2lkIHJlY292 ZXJfbWFnX3NnbihTdGF0ZVZhcnMKPiA+ID4gKm1hZ19zZ24sCj4gPiA+IHVpbnQ4X3QgcG9zLCB1 aW50MTZfdCBxLCBpbnQzMl90Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBFW25dID0g MzIgLSBmZl9jbHoodltwb3NdW2ldIHwgMSk7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBtdV9uW25dID0gKHZbcG9zXVtpXSA+PiAxKSArIDE7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBtdV9uW25dIDw8PSBwTFNCOwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBt dV9uW25dIHw9ICgxIDw8IChwTFNCIC0gMSkpOyAvLyBBZGQgMC41Cj4gPiA+IChyZWNvbnN0cnVj dGlvbgo+ID4gPiBwYXJhbWV0ZXIgPSAxLzIpCj4gPiAKPiA+IEFyZW4ndCB0aGVyZSBjb25mb3Jt YW5jZSBmaWxlcyB0byBjYXRjaCB0aGVzZSBraW5kcyBvZiBlcnJvcnM/IEkKPiA+IHJlbWVtYmVy IGxvb2tlZCBhdCBKMksgYSB3aGlsZSBiYWNrLCBhbmQgSSB0aGluayB3ZSBzaG91bGQgYWRkIHN1 Y2gKPiA+IGZpbGVzIHRvIEZBVEUKPiA+IAo+IAo+IERvIHlvdSBtZWFuICJlcnJvcnMiIGFyZSB0 aGUgZGlmZmVyZW5jZSBpbiBwaXhlbCB2YWx1ZXMgYmV0d2Vlbgo+IHVuY29tcHJlc3NlZCBhbmQg bG9zc3kgY29tcHJlc3NlZCBpbWFnZXM/CgpZZXMKCj4gVGhlcmUgYXJlIG5vIHNwZWNpZmljIGNv bmZvcm1hbmNlIGZpbGVzIHRvIGNhdGNoIHRoZSBkaWZmZXJlbmNlCj4gaW4gcmVjb25zdHJ1Y3Rp b24gcGFyYW1ldGVyIHZhbHVlcy4gCgpCdW1tZXIKCj4gVGhlIHZhbHVlIG9mIHRoZSByZWNvbnN0 cnVjdGlvbiBwYXJhbWV0ZXIgciBpcyBub3QgbGltaXRlZCB0byAxLzIuCj4gV2UgY2FuIHVzZSBv dGhlciB2YWx1ZXMuCj4gSG93ZXZlciwgdGhlIHNwZWMgb2YgUGFydCA0IHNheXMgdGhlIHVzZSBv ZiByZWNvbnN0cnVjdGlvbiBwYXJhbWV0ZXIKPiByID0gMS8yIHdpbGwgdHlwaWNhbGx5IGluY3Jl YXNlIHRoZSBlYXNlIG9mIHBhc3NpbmcuCgpJIHNlZS4gRG9lcyB0aGlzIG9ubHkgYXBwbGllcyB0 byBsb3NzeSBKMks/IEkgY2FuJ3QgaW1hZ2luZSAibG9zc2xlc3MiCmFuZCAiZGlmZmVyZW50IHJl Y29uc3RydWN0aW9uIiBhcmUgY29tcGF0aWJsZQoKL1RvbWFzCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZt cGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8v ZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwK ZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJl Ii4K