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 515C5405D0 for ; Fri, 19 Apr 2024 06:03:17 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5F8A568D2BB; Fri, 19 Apr 2024 09:03:14 +0300 (EEST) Received: from mail-vk1-f181.google.com (mail-vk1-f181.google.com [209.85.221.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BF21068CB36 for ; Fri, 19 Apr 2024 09:03:07 +0300 (EEST) Received: by mail-vk1-f181.google.com with SMTP id 71dfb90a1353d-4dad4b35d08so1610229e0c.0 for ; Thu, 18 Apr 2024 23:03:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713506586; x=1714111386; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=hrTRz6Abe6DiumM8zUH5AFS6hmbk/zU+EoFwUPNacQo=; b=AYoXZa4+tdX5/xyBLZjYYiQP5mv0R0J6QAd//MF5r5b7l5mHlNMo33dQ+IrOHl7Hsq kuR4JriEFMl3UFpC8XH4ilJAkFeloZArBYh1dbLplhbJzgHsG2KxRv5wHrD7uolFfess Ru/TiHJkp+a87FYljbRKVE89AkuyhwWqam/jjCv50vmvuxfBnMxXrqA4bEKBLKVuEh8K sxGQdIzXTQm4JKVCychfhsW0TmZH1hTnEwE3az4OMjJnbWUi+I6cLAcKDah8LFbRopyC 9D+oCePfrzLtKevbkbyCzEpFq2ufPf8LcmNkSUUwchedhYqrAofq0jJ0qReoEOJCl03A dEDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713506586; x=1714111386; 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=hrTRz6Abe6DiumM8zUH5AFS6hmbk/zU+EoFwUPNacQo=; b=eZMm0e2tFTvxl/La5e4wweUTrbQrmQZU8XqGRPUDvLbzHXpPPL17aKpdXgv1n0c3E8 G3p5tFdgrhRDlAM126oG26/m+tCxQq+wLbUjHMjOVe6bkMvI8/9Xg+vPD77Vz6B1xJrw u2DwS54GCsxW2fYZRCgsBh9KiaHhlyc3N8B5CnJ11fvwJbdxk2UHxeSMF7HszQ5Xwl2k MVX4JPSYfflYe11K4cE2BHnI21fQj/08fbNpq/AKsGH/HqSqLZjRhO4/kN6Hmoraw+dQ nf8IDs1RMuabKNJI++OykbXlzfkTyHs3z10NaBIlTzrzy4d2t+8RGzLhFN7UF4m+oICl gI7w== X-Gm-Message-State: AOJu0YyT029/sd5VfQEDDkNWiTOMIUxn9eaKqd47dKz6kY3Y3arJf+62 B9GnJjg/qPReKOcQLxTL18xcH4dkkWdSuO81gSF4pF3s+ONLPN6H5jQoNwiOp+B5t9haQZHN9aQ IW+h4W5VNJGzDSVK3/7h3n8glyof7tg== X-Google-Smtp-Source: AGHT+IHM/iGLYqrg233sdAixk7k0gwKnoYg+eXhabJBv+jo/P98GJTV8FfIr2Iqx6IOZArmazEwGouC8Efy2g3BRcRk= X-Received: by 2002:a05:6122:368e:b0:4da:bae9:4449 with SMTP id ec14-20020a056122368e00b004dabae94449mr808275vkb.4.1713506585902; Thu, 18 Apr 2024 23:03:05 -0700 (PDT) MIME-Version: 1.0 References: <20240417135832.GJ6420@pb2> <20240418160207.GB45500@haasn.xyz> <20240418205351.GS6420@pb2> <5f454591-fe4c-4fc1-98b0-d3d21b207b12@gmail.com> <20240418231929.GU6420@pb2> In-Reply-To: <20240418231929.GU6420@pb2> From: Paul B Mahol Date: Fri, 19 Apr 2024 08:02:37 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [RFC] 5 year plan & Inovation 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: T24gRnJpLCBBcHIgMTksIDIwMjQgYXQgMToxOeKAr0FNIE1pY2hhZWwgTmllZGVybWF5ZXIgPG1p Y2hhZWxAbmllZGVybWF5ZXIuY2M+Cndyb3RlOgoKPiBPbiBUaHUsIEFwciAxOCwgMjAyNCBhdCAw NjoxMzo0MFBNIC0wMzAwLCBKYW1lcyBBbG1lciB3cm90ZToKPiA+IE9uIDQvMTgvMjAyNCA1OjUz IFBNLCBNaWNoYWVsIE5pZWRlcm1heWVyIHdyb3RlOgo+ID4gPiBPbiBUaHUsIEFwciAxOCwgMjAy NCBhdCAwNDowMjowN1BNICswMjAwLCBOaWtsYXMgSGFhcyB3cm90ZToKPiA+ID4gPiBPbiBXZWQs IDE3IEFwciAyMDI0IDE1OjU4OjMyICswMjAwIE1pY2hhZWwgTmllZGVybWF5ZXIgPAo+IG1pY2hh ZWxAbmllZGVybWF5ZXIuY2M+IHdyb3RlOgo+ID4gPiA+ID4gSGkgYWxsCj4gPiA+ID4gPgo+ID4g PiA+ID4gVGhlIHBhY2Ugb2YgaW5vdmF0aW9uIGluIEZGbXBlZyBoYXMgYmVlbiBzbG93aW5nIGRv d24uCj4gPiA+ID4gPiBNb3N0IHdvcmsgaXMgY29uY2VudGFydGVkIG5vd2FkYXlzIG9uIGNvZGUg cmVmYWN0b3JpbmcsIGFuZCBhZGRpbmcKPiA+ID4gPiA+IHN1cHBvcnQgZm9yIG5ldyBjb2RlY3Mg YW5kIGZvcm1hdHMuCj4gPiA+ID4gPgo+ID4gPiA+ID4gU2hvdWxkIHdlCj4gPiA+ID4gPiAqIG1h a2UgYSBsaXN0IG9mIGxvbmdlciB0ZXJtIGdvYWxzCj4gPiA+ID4gPiAqIHZvdGUgb24gdGhlbQo+ ID4gPiA+ID4gKiBhbmQgdGhlbiB0b2dldGhlciB3b3JrIHRvd2FyZHMgaW1wbGVtZW50aW5nIHRo ZW0KPiA+ID4gPiA+ID8KPiA+ID4gPiA+Cj4gPiA+ID4gPiAoVGhlIGlkZWEgaGVyZSBpcyB0byBp bmNyZWFzZSB0aGUgc3VjY2VzcyBvZiBsYXJnZXIgZWZmb3J0cwo+ID4gPiA+ID4gICB0aGFuIGFk ZGluZyBjb2RlY3MgYW5kIHJlZmFjdG9yaW5nIGNvZGUpCj4gPiA+ID4gPiBJdCB3b3VsZCB0aGVu IGFsc28gbm90IGJlIHBvc3NpYmxlIGZvciBpbmRpdmlkdWFscyB0byBvYmplY3QKPiA+ID4gPiA+ IHRvIGEgcHJldmlvdXNseSBhZ3JlZWQgZ29hbC4KPiA+ID4gPiA+IEFuZCBpdCB3b3VsZCBhZGQg aWRlYXMgZm9yIHdoaWNoIHdlIGNhbiB0cnkgdG8gZ2V0IGZ1bmRpbmcvZ3JhbnRzCj4gZm9yCj4g PiA+ID4gPgo+ID4gPiA+ID4gKGxhcmdlciBzY2FsZSBjaGFuZ2VzIG5lZWQgY29uc2Vuc3VzIGZp cnN0IHRoYXQgd2UgYXMgYSB3aG9sZSB3YW50Cj4gPiA+ID4gPiAgIHRoZW0gYmVmb3JlIHdlIHdv dWxkIGJlIGFibGUgdG8gYXNrIGZvciBmdW5kaW5nL2dyYW50cyBmb3IgdGhlbSkKPiA+ID4gPiA+ Cj4gPiA+ID4gPiBTb21lIGlkZWFzIGFuZCB3aHkgdGhleSB3b3VsZCBoZWxwIEZGbXBlZzoKPiA+ ID4gPiA+Cj4gPiA+ID4gPiAqIFN3aXRjaCB0byBhIHBsdWdpbiBhcmNoaXRlY3R1cmUKPiA+ID4g PiA+ICAgICAgKEluY3JlYXNlIHRoZSBudW1iZXIgb2YgZGV2ZWxvcGVycyB3aWxsaW5nIHRvIGNv bnRyaWJ1dGUgYW5kCj4gcmVkdWNlCj4gPiA+ID4gPiAgICAgICBmcmljdGlvbiBhcyB0aGUgdGVh bSBhbmQgY29tbXVuaXR5IGdyb3dzKQo+ID4gPiA+Cj4gPiA+ID4gVGhpcyB3b3VsZCBhbG1vc3Qg c3VyZWx5IGh1cnQgcHJvZHVjdGl2aXR5Cj4gPiA+Cj4gPiA+IGkgZG9udCBhZ3JlZSwgaWxsIGVs YWJvcmFlIGJlbG93Cj4gPiA+Cj4gPiA+Cj4gPiA+ID4gYXMgaXQgd2lsbCByZXF1aXJlIGV4cG9z aW5nLAo+ID4gPiA+IHZlcnNpb25pbmcsIGRvY3VtZW50aW5nIGFuZCBtYWludGFpbmluZyBhIHZh c3QgbnVtYmVyIG9mIGludGVybmFsCj4gQVBJcwo+ID4gPgo+ID4gPiB5ZXMgdG8gc29tZSBleHRl bmQgdGhhdCBpcyBuZWVkZWQuIEl0IGNhbiBiZSBtb3JlIG9yIGxlc3MgZGVwZW5kaW5nCj4gPiA+ IG9uIGhvdyB0aGluZ3MgYXJlIGltcGxlbWVudGVkCj4gPiA+Cj4gPiA+Cj4gPiA+ID4gd2hpY2gg d2UgYXJlIGN1cnJlbnRseSBhdCB0aGUgbGliZXJ0eSBvZiBtb2RpZnlpbmcgZnJlZWx5Lgo+ID4g Pgo+ID4gPiB3ZSBhcmUgbW9kaWZ5aW5nIHRoZXNlIEFQSXMgZm9yIGRlY2FkZXMuIFRoYXQgbW9k aWZpY2F0aW9uIG9mIEFQSXMKPiA+ID4gdGhlaXIgZG9jdW1lbnRhdGlvbiBhbmQgYWxsIGNvZGUg dXNpbmcgdGhlbSBjb3N0cyB0aW1lLgo+ID4KPiA+IFRoZSBBVkNvZGVjIGhvb2tzIGJlaW5nIGlu dGVybmFsIGFsbG93ZWQgdXMgdG8gYWRkIGF1dG9pbnNlcnRlZCBic2ZzIGFuZAo+IHRvCj4gPiBw YWlubGVzc2x5IHJld3JpdGUgdGhlIGRlY291cGxlIEkvTyBjYWxsYmFja3MgdG8gd29yayBhcyBh IHB1cmUgcHVsbAo+IGJhc2VkCj4gPiBpbnRlcmZhY2UuIFdlcmUgc2FpZCBpbnRlcm5hbHMgcHVi bGljLCB0aGF0IHdvdWxkbid0IGhhdmUgYmVlbiBwb3NzaWJsZS4KPgo+IEEgZGVjb2RlciBBUEkg bmVlZHMgcGFja2V0IGluLCBmcmFtZSBvdXQuCj4gQVZQYWNrZXQgYW5kIEFWRnJhbWUgYXJlIHB1 YmxpYy4KPiAoYW5kIGEgYnVuY2ggb2Yga2V5LXZhbHVlIGRhdGEgbGlrZSB3aWR0aCAvIGhlaWdo dCAvIHRpbWViYXNlIC8KPiBwaXhlbGZvcm1hdCAvIGFzcGVjdCAvIC4uLgo+ICB0ZWggc3RydWN0 IGZvciB0aGF0IGlzIGFsc28gcHVibGljIHNpbmNlIGEgbG9uZyB0aW1lKQo+IEkgZG9udCBzZWUg dGhlIHByb2JsZW0uCj4KPiB5b3UgaGF2ZSB0aGUgZGVjb2RlciBBUEkgZmFjaW5nIHRoZSB1c2Vy LCB0aGF0IGNhdXNlcyBubyBwcm9ibGVtcywKPiBpIGRvbnQgYWdyZWUgdGhhdCBoYXZpbmcgYSBk ZWNvZGVyIEFQSSAob3IgZW5jb2RlciwgbXV4ZXIsIGRlbXV4ZXIsIC4uLikKPiBmYWNpbmcgYSBw bHVnaW4gd291bGQgYmUgYSBiaWdnZXIgcHJvYmxlbSB0aGFuIHRoZSBBUElzIHdlIGFscmVhZHkg aGF2ZQo+IHB1YmxpYwo+IHN1cmUgdGhlcmUgYXJlIGRldGFpbHMsIHN1cmUgdGhlcmUgYXJlIHRo aW5ncyB0aGF0IG5lZWQgb25lIHRvIHRoaW5rIGFib3V0Cj4gYW5kIHNsZWVwIG92ZXIgYW5kIGFs bCB0aGF0IGJ1dCB0aGVzZSBhcmUgZnJvbSBhIGhpZ2ggbGV2ZWwgcG9pbnQgb2YKPiB2aWV3IHNp bXBsZSBhbmQgYWxzbyB0aGUgc2FtZSBpbnRlcmZhY2VzIHRvIHdoYXQgd2UgYWxyZWFkeSBoYXZl IHB1YmxpYwo+Cj4KPiA+Cj4gPiA+Cj4gPiA+IE1vcmUgc28gd2UgaGF2ZSBpc3N1ZXMgd2l0aCBw YXRjaC1tYW5hZ2VtZW50LiBBbmQgaSBjbGFpbSB0aGlzIGlzCj4gPiA+IG5vdCB0aGUgbWFpbGlu ZyBsaXN0IGJ1dCBhIGxhY2sgb2YgdGltZSBhbmQgaW4gc29tZSBjYXNlcyBhIGxhY2sgb2YKPiA+ ID4gaW50ZXJyZXN0IGluIG1hbnkgYXJlYXMuCj4gPiA+Cj4gPiA+IEEgcGx1Z2luIHN5c3RlbSBt b3ZlcyB0aGlzIHBhdGNoLW1hbmFnZW1lbnQgdG8gcGVvcGxlIHdobyBhY3R1YWxseQo+ID4gPiBj YXJlLCB0aGF0IGlzIHRoZSBhdXRob3JzIG9mIHRoZSBjb2RlY3MgYW5kIChkZSltdXhlcnMuCj4g PiA+Cj4gPiA+IE91ciBwcm9kdWN0aXZpdHkgYXMgaXMsIGlzIG5vdCBnb29kLCBtYW55IHBhdGNo ZXMgYXJlIGlnbm9yZWQuCj4gPgo+ID4gQSBsb3Qgb2YgcGF0Y2hlcyBmYWxsIHRocm91Z2ggdGhl IGNyYWNrcyByYXRoZXIgdGhhbiBiZWluZyBpZ25vcmVkLgo+ID4gVGhlcmUgYXJlIHBlb3BsZSB0 aGF0IHNlbmQgcGF0Y2hzZXRzIHVudGhyZWFkZWQgKEJlY2F1c2Ugb2YgbWlzY29uZmlndXJlZAo+ ID4gZ2l0IHNlbmQtZW1haWwgaSBzdXBwb3NlKSwgYW5kIGl0IG1ha2VzIGJyb3dzaW5nIHlvdXIg bWFpbGJveCBoYXJkLgo+Cj4gd2VsbCBpIGNhbiBzYXkgdGhhdCBpIGRvbnQgcmV2aWV3IG1hbnkg cGF0Y2hlcyBhbnltb3JlIGJlY2F1c2UgaSBqdXN0IGRvbnQKPiBoYXZlCj4gdGhlIHRpbWUsIGl0 cyBub3QgdGhhdCBpIGNhbnQga2VlcCB0cmFjayBvZiB3aGF0IGkgd2FudGVkIHRvIHJldmlldy4K Pgo+IGVpdGhlciBpIG1ha2UgYSBub3RlIGluIGEgVE9ETyBsaXN0IG9yIGkga2VlcCB0aGUgcGF0 Y2ggbWFya2VkIGFzIE5FVwo+IGluIG15IG1haWwgdXNlciBhZ2VudC4KPgo+IHRyYWMgaW4gc29t ZSBzZW5zZSBvciBwYXRjaHdvcmsgYXJlIGp1c3QgbW9yZSBwdWJsaWMgVE9ETyBsaXN0cwo+IHRo YXQgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIHBlb3BsZSBzbyBpZiBvbmUgZG9lc250IGRvIGl0IGFu b3RoZXIKPiBkZXZlbG9wZXIgc2VlcyBpdCBhbmQgY2FuIGRvIGl0Lgo+Cj4KPiA+Cj4gPiA+IFRo ZSBwZW9wbGUgY2FyaW5nIGFib3V0IHRoZXNlIHBhdGNoZXMgYXJlIHRoZWlyIEF1dGhvcnMgYW5k IHlldCB0aGV5Cj4gPiA+IGFyZSBwb3dlcmxlc3MgYXMgdGhleSBtdXN0IHNvbWV0aW1lcyB3YWl0 IG1hbnkgbW9udGhzIGZvciByZXZpZXdzCj4gPiA+IEJlc2lkZXMgdGhhdCwgZGV2ZWxvcGVycyBh cmUgbGVhdmluZyBmb3IgdmFyaW91cyByZWFzb25zIGFuZCB0aGV5Cj4gPiA+IGFyZSBmb3JjZWQg dG8gc2V0dXAgZnVsbCBmb3JrcyBub3QgYmVpbmcgYWJsZSB0byBtYWludGFpbiB0aGVpcgo+ID4g PiBjb2RlIGluIGFueSBvdGhlciB3YXkuCj4gPiA+IElNTyBBIHBsdWdpbiBzeXN0ZW0gd291bGQg aW1wcm92ZSBwcm9kdWN0aXZpdHkgYXMgZXZlcnlvbmUgY291bGQgd29yawo+ID4gPiBvbiB0aGVp ciBvd24gdGVybXMuCj4gPgo+ID4gWW91IHNheSB0aGUgTUwgaXMgbm90IHRoZSBwcm9ibGVtLCBi dXQgaXQgc29ydCBvZiBpcy4gQW4gTVIgYmFzZWQKPiA+IGRldmVsb3BtZW50IHdvdWxkIGdyZWF0 bHkgaW1wcm92ZSB0aGlzIHByb2JsZW0uCj4KPiBQZW9wbGUgaGlzdG9yaWNhbGx5IHdoZXJlIHZl cnkgb3Bwb3NlZCB0byBtZXJnZSByZXF1ZXN0cwo+Cj4gQnV0LCBoYXZpbmcgYSBwdWJsaWMgZ2l0 IHJlcG8gKHRoYXQgcGVvcGxlIGFscmVhZHkgaGF2ZSkKPiBhc2tpbmcgZm9yIGl0IHRvIGJlIG1l cmdlZC4gWW91IGdldCBhIG1lcmdlIGNvbW1pdCBhbmQgc29tZW9uZSB3aWxsCj4gcHJvYmFibHkK PiBmZWVsIG9mZmVuZGVkIGJ5IHRoYXQuICh0aGF0cyBub3Qgd2hhdCB5b3UgbWVhbnQgaSBndWVz cykKPiBidXQgaSB3b3VsZCAxMDAlIHN1cHBvcnQgZG9pbmcgZ2l0IG1lcmdlIHJlcXVlc3RzLgo+ ICh0aGVyZSBhcmUgZ29vZCBhcmd1bWVudHMgZnJvbSBwZW9wbGUgbXVjaCBzbWFydGVyIHRoYW4g bWUgd2h5Cj4gbWVyZ2luZyBpcyBiZXR0ZXIgdGhhbiByZWJhc2luZykKPgo+Cj4gPgo+ID4gPiBO byB3ZWVrIG9yIG1vbnRoIGxvbmcgZGVsYXlzIGFuZCB3ZWVrbHkgcGluZ2luZyBwYXRjaGVzCj4g PiA+IE5vIHJpc2sgYWJvdXQgcGF0Y2hlcyBiZWluZyByZWplY3RlZCBvciBpZ25vcmVkCj4gPiA+ IE5vIG5lZWQgdG8gcmVhZCBldmVyeSBvdGhlciBkaXNjdXNzaW9uIG9uIHRoZSBNTC4gT25lIGNh biBqdXN0Cj4gPiA+IHNpbXBseSB3b3JrIG9uIHRoZWlyIG93biBwbHVnaW4gbG9va2luZyBqdXN0 IGF0IHRoZSBBUEkgZG9jdW1lbnRhdGlvbgo+ID4KPiA+IEkgZG9uJ3QgcGVyc29uYWxseSBoYXZl IGEgc3Ryb25nIG9waW5pb24gb25lIHdheSBvciBhbm90aGVyIG9uIHRoaXMKPiBzdWJqZWN0Cj4g PiBhdCB0aGlzIG1vbWVudCwgYnV0IGFueSBzdWNoIGFwcHJvYWNoIHdvdWxkIG5lZWQgdG8gYmUg Y2FyZWZ1bGx5IHRob3VnaHQKPiBhbmQKPiA+IGRlc2lnbmVkLCB0byBwcmV2ZW50IGFsbCB0aGUg cG90ZW50aWFsIHByb2JsZW1zIHBlb3BsZSBoYXZlIGV4cHJlc3NlZCBzbwo+ID4gZmFyLgo+Cj4g b2YgY291cnNlIHRoaXMgd291bGQgcmVxdWlyZSBjYXJlZnVsbCBkZXNpZ24gYXMgYW55IHB1Ymxp YyBBUEkKPiB3b3VsZC4KPgo+Cj4gWy4uLl0KPgo+ID4gPiA+Cj4gPiA+ID4gPiAqIEFJIC8gbmV1 cmFsIG5ldHdvcmsgZmlsdGVycyBhbmQgY29kZWNzCj4gPiA+ID4gPiAgICAgIFRoZSBmdXR1cmUg c2VlbXMgdG8gYmUgQUkgYmFzZWQuIEZ1dHVyZSBGaWx0ZXJzIGFuZCBDb2RlY3MKPiB3aWxsIHVz ZQo+ID4gPiA+ID4gICAgICBuZXVyYWwgbmV0d29ya3MuIEZGbXBlZyBjYW4gYmUgYXQgdGhlIGZv cmVmcm9udCwgZGV2ZWxvcGluZwo+IHRoZXNlCj4gPiA+ID4KPiA+ID4gPiBXZSBhbHJlYWR5IGhh dmUgVGVuc29yRmxvdyBzdXBwb3J0LCBubz8gKHZmX3NyIGV0Yy4pIFdoYXQgbW9yZSBpcwo+ID4g PiA+IG5lZWRlZD8KPiA+ID4KPiA+ID4gbW9yZSBvZiB0aGF0IEFORCBtb3JlIGNvbnZlbmllbmNl Cj4gPiA+Cj4gPiA+IGxldHMgcGljayBhIGNvbXBhcmlzc2lvbgo+ID4gPiB0byBydW4gZmF0ZQo+ ID4gPiB5b3Ugd3JpdGUgIm1ha2UgZmF0ZSIKPiA+ID4gaWYgeW91IHdhbnQgdG8gZG8gaXQgd2l0 aCB0aGUgc2FtcGxlcyBpdHMKPiA+ID4gbWFrZSBmYXRlLXJzeW5jIDsgbWFrZSBmYXRlCj4gPiA+ Cj4gPiA+IGlmIHlvdSB3YW50IHRvIHVzZSB2Zl9zciwgaXRzIHJlYWRpbmcgdGhlIGRvY3MsIGxv b2tpbmcgYXQgc29tZQo+IHNjcmlwdHMgcmVhZGluZyB0aGVpciBkb2NzCj4gPiA+IGFuZCBpIHBy ZXN1bWUgc2VsZWN0aW5nIGEgdHJhaW5pbmcgc2V0ID8gY3JlYXRpbmcgYSBtb2RlbCA/IC4uLi4K PiA+Cj4gPiBCeSBubyBtZWFucyB3ZSBjb3VsZCBldmVyIHNoaXAgYSBjdXN0b20gQUkgbW9kZWwg Zm9yIHRoZSBzYWtlIG9mIGEgImdpdAo+ID4gZmV0Y2gsIGNvbXBpbGUsIGFuZCBydW4iIHNjZW5h cmlvLiBUaGlzIHdhcyBhbHJlYWR5IGEgcHJvYmxlbSB3aGVuCj4gPiB0ZW5zb3JmbG93IHdhcyBm aXJzdCBjb21taXR0ZWQuIFNvIHRoaXMgY2FuJ3QgYmUgYXZvaWRlZC4KPgo+IEkgYW0gbm90IHN1 cmUgaSB1bmRlcnN0YW5kIHlvdSwgYnV0IHRyYWluaW5nIGEgbW9kZWwgb24gbGV0cyBzYXkgdGhl Cj4gZmF0ZSBzYW1wbGVzIG9yIHNvbWUgcHVibGljIGRvbWFpbiBpbWFnZXMuIFdoeSB3b3VsZCB3 ZSBub3QgYmUgYWJsZQo+IHRvIHNoaXAgdGhhdCBpbiBhIHNpbWlsYXIgd2F5IHRvIHRoZSBmYXRl IHNhbXBsZXMgPwo+Cj4gb3Igd2h5IG5vdCBzaGlwIGEgc3RhbmRhcml6ZWQgc2NyaXB0IHRvIGJ1 aWxkIHN1Y2ggYSBtb2RlbCBmcm9tCj4gdXNlciBkYXRhID8KPiAoaSBtZWFuIGJ5IHN0YW5kYXJp emVkLCB0aGUgc2FtZSBmb3IgZXZlcnkgZmlsdGVyLCBsaWtlIGZmbXBlZyBpcyB0aGUgc2FtZQo+ ICBmb3IgZXZlcnkgZm9ybWF0IG5vdCBsaW5rIHRvIGRpZmZlcmVudCBwYXBlcnMgYW5kIHJhbmRv bSBvZmYgc2l0ZSBzY3JpcHRzKQo+Cj4KPiA+Cj4gPiA+Cj4gPiA+IGhvdyBtYW55IHBlb3BsZSBk byB0aGF0ID8KPiA+Cj4gPiBFdmVyeSBleHRlcm5hbCBkZXBlbmRlbmN5IGhhcyBpdHMgZG9jdW1l bnRlZCByZXF1aXJlbWVudHMuLi4KPgo+IHZmX3NyIGRvZXNudCBoYXZlIGEgZXhhbXBsZSBvbmUg Y2FuIGNvcHkgYW5kIHBhc3RlIHRoYXQgd291bGQKPiB3b3JrIG9uIGEgZnJlc2ggY2hlY2tvdXQg b2YgZmZtcGVnLiBUaGF0IGFsb25lIGlzIGEgZmFpbCBJTUhPCj4KPgpDdXJyZW50IEFJIHRlY2gg aXMganVzdCBpbmZsYXRlZCBoeXBlLCBmb3IgYm90aCBhdWRpbyBhbmQgdmlkZW8gcHJvY2Vzc2lu Zy4KCgo+IHRoeAo+Cj4gWy4uLl0KPiAtLQo+IE1pY2hhZWwgICAgIEdudVBHIGZpbmdlcnByaW50 OiA5RkYyMTI4QjE0N0VGNjczMEJBREYxMzM2MTFFQzc4NzA0MEIwRkFCCj4KPiBDb25jZXJuaW5n IHRoZSBnb2RzLCBJIGhhdmUgbm8gbWVhbnMgb2Yga25vd2luZyB3aGV0aGVyIHRoZXkgZXhpc3Qg b3Igbm90Cj4gb3Igb2Ygd2hhdCBzb3J0IHRoZXkgbWF5IGJlLCBiZWNhdXNlIG9mIHRoZSBvYnNj dXJpdHkgb2YgdGhlIHN1YmplY3QsIGFuZAo+IHRoZSBicmV2aXR5IG9mIGh1bWFuIGxpZmUgLS0g UHJvdGFnb3Jhcwo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn Cj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4KPiBU byB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwt cmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+Cl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWls aW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxt YW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92 ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3Qg InVuc3Vic2NyaWJlIi4K