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 ESMTPS id 0AD0B4B9E3 for ; Fri, 31 Jan 2025 00:14:31 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 216F668C195; Fri, 31 Jan 2025 02:14:28 +0200 (EET) Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com [209.85.210.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4E01B68BFD1 for ; Fri, 31 Jan 2025 02:14:21 +0200 (EET) Received: by mail-ot1-f48.google.com with SMTP id 46e09a7af769-71e1d7130a5so648326a34.0 for ; Thu, 30 Jan 2025 16:14:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738282459; x=1738887259; 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=iUoxycChdGac0Hf5RCsBC2bsaLb48SJyojB1GG1GIm4=; b=dSSQ743/GnXrfVVt5kLZlxdrsX7My/rR6tCj6nMqUbxuWdAKdYqxVPrQpU5MxG7L0b 7l3R4UIB4x1dqiwSv+lqeV0zQlxtMlopuBZPK9UN6Tmk5Cglj5OUaLQ2XqJtVa3KuIid X/5hFoKlKYzKzrXS2mbzDirXwptOj1H6GvmAuEWo1G7ULZfKxlPNNUYruQFGYxIGZ4y6 CbYwbl+hCuaASLqVrTZryfECmuFE33jWXdqQIlyL6/mKLFqIXHFS3vK9L9+Zv120RcyD 3ZhOpLunIHC/jFfksJ7B9gDDuMeKvPmyvh5+D36GfSfQqr4bJu9SPxPPUhAQJYPtIeA7 V3rA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738282459; x=1738887259; 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=iUoxycChdGac0Hf5RCsBC2bsaLb48SJyojB1GG1GIm4=; b=n81U7idPrREk+4qRD+sYwnJhPqQkMlXz5FZL9PVmlG7QBIYrhASgmH590YPdnQVoYN iv3JcKO+zsSSrZGsHhadsQphPw5ACIodPEeeIcPU6k21z2G6SD88eRlbPq2kzGf7Ocll 65gf4Vd29kTfruv2kHlREuGP/z1ECFUrXmrOZ1z2xvYbQKMorVsv8X0Qzii0XJw31k9m vYYRyiHf3OdmJoFUrqfEWjjmcbm+FS8TLD8oZJKGU5fa5p+02T31d50SM7LhFGRX33NQ 12I+uyrqanM06eUHOxvWSeOA9HIubN1iozCmAxjQYSITRIyLyaAvU2AzLaglLhSXSqDk YXNg== X-Gm-Message-State: AOJu0YzX9LodOwf/GceGDiJmujkJ5teYV1CNujZtqS61ilM5ahNcLkd7 CDXTij+U5Ot+ZBZ7yvBDJtkif7tYAFb221frHnpCVC45aaKa9+sdqHEJy4cFFpyJEXkghvg4DXP PTjVFES35jzfqhrdKgNi2erCIxMFAbPIBOrhQuA== X-Gm-Gg: ASbGncvU8qZb1m9Q9yKPw2FhYMRFn9L9zi9EcKcDfyumDeX7agPRWS/fzQgPGsJIkE1 puvS47hXIRB9HIX9ZNJdW2fD1KOL5x/Cv+IRatpiFLKI5cwUtEumobQCDD4eS784RV72grPmm X-Google-Smtp-Source: AGHT+IEThmb3vctily8EZUny+RRa+VWxhfD+slCn4S/XFLInp5im7ULJE6FjS6xZwQ5bm3khgel8F4zAWgkQ9Hw8D+Q= X-Received: by 2002:a05:6870:1593:b0:29e:3de0:d400 with SMTP id 586e51a60fabf-2b32ecdf9b4mr6096521fac.0.1738282458657; Thu, 30 Jan 2025 16:14:18 -0800 (PST) MIME-Version: 1.0 References: <20250102141731.GR4991@pb2> <20250126191713.GQ4991@pb2> <2572295.Sgy9Pd6rRy@basile.remlab.net> <20250128182122.GX4991@pb2> <20250129161629.GB159671@haasn.xyz> <20250129222137.GB6909@haasn.xyz> In-Reply-To: From: Vittorio Giovara Date: Fri, 31 Jan 2025 01:14:07 +0100 X-Gm-Features: AWEUYZmO_0K4QCfrqeeKiQhf4zKq7C6HfCRPBAIgwfIrZFgxaWDnsM4yRE0z4Tk Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] Democratization 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: T24gRnJpLCBKYW4gMzEsIDIwMjUgYXQgMTI6MjLigK9BTSBTb2Z0IFdvcmtzIDwKc29mdHdvcmt6 LWF0LWhvdG1haWwuY29tQGZmbXBlZy5vcmc+IHdyb3RlOgoKPiA+IFRoYXQgZG9lcyBub3QgbWVh biBpdCB3b3VsZCBiZSB3b3J0aCB0cnlpbmcgc29tZXRoaW5nIGRpZmZlcmVudC4gSQo+ID4gYWxy ZWFkeQo+ID4gbGlzdGVkIHRoZSBpbmNpZGVudHMgSSd2ZSBqdXN0IHNlZW4gaGFwcGVuIGJlZm9y ZSBteSBleWVzIGluIHRoaXMKPiA+IG1haWxpbmcKPiA+IGxpc3QgYW5kIHRoZXNlIGFyZSBub3Qg ZnVuIGluY2lkZW50cy4gSWRlYWxseSB0aGVyZSBzaG91bGQgYmUgc29tZQo+ID4gZ3VhcmFudGVl IGJleW9uZCBNaWNoZWFsJ3Mgd29yZCBub3QgdG8gcmVwZWF0IHRoZW0gYWdhaW4uIFdoYXQgeW91 J3JlCj4gPiBzYXlpbmcgaXMgInRoaXMgaXMgaG93IGl0IGhhcyBhbHdheXMgYmVlbiwgdGhlcmVm b3JlIHdlIHNob3VsZCBqdXN0Cj4gPiBhY2NlcHQKPiA+IGl0Iiwgd2hpY2ggaXMgdW5mYWlyLCBl c3BlY2lhbGx5IHRvIHRoZSBtb3N0IGFjdGl2ZSBjb250cmlidXRvcnMuCj4KPiBJJ20gbm90IHNh eWluZyB5b3Ugc2hvdWxkIGFjY2VwdCBpdCBiZWNhdXNlICJ0aGlzIGlzIGhvdyBpdCBoYXMgYWx3 YXlzCj4gYmVlbiIuCj4gSSdtIHNheWluZyB5b3Ugc2hvdWxkIGFjY2VwdCBpdCBiZWNhdXNlIHRo ZSBwcm9qZWN0IGhhcyBhIHByaXZhdGUKPiBvd25lcnNoaXAgd2hpY2ggImlzIGhvdyBpdCBoYXMg YWx3YXlzIGJlZW4iLgo+IFRoaXMgaGFzIGJlZW4gY2xlYXIgZXZlciBzaW5jZSBhbmQgZm9yIGFs bCBjb250cmlidXRvcnMuIFRoZSBwcm9qZWN0Cj4gZG9lc24ndCBvd24gdGhlIGNvZGUgLSB5b3Ug YXJlIGZyZWUgdG8gZm9yayBhdCBhbnkgdGltZSBhbmQgcnVuIHlvdXIgb3duCj4gdGhpbmcuIEJ1 dCB0aGVyZSdzIG5vdGhpbmcgZnJvbSB3aGljaCB5b3UgY291bGQgZGVyaXZlIGFueSByaWdodCB0 byBkZW1hbmQKPiBmb3IgYSBjaGFuZ2Ugb2Ygb3duZXJzaGlwLCBuZWl0aGVyIGlzIHRoZXJlIGFu eSBiYXNpcyBvbiB3aGljaCB5b3UgY291bGQKPiBkZW1hbmQgYW55ICJndWFyYW50ZWVzIiByZWdh cmRpbmcgdGhlIG93bmVyJ3MgYWN0aW9ucy4KPgoKSSB0aGluayB5b3UgYXJlIG1pc3NpbmcgdGhl IHBvaW50IHRoYXQgdGhlcmUgaXMgbm8gc2NlbmFyaW8gaW4gd2hpY2ggdGhlCmRyYW1hL3Byb3Rl c3QvYnVsbHlpbmcveW91LW5hbWUtaXQgd2lsbCBzdG9wLCBpZiB0aGUgY3VycmVudCBzaXR1YXRp b24KZG9lc24ndCBjaGFuZ2UuIEVpdGhlciBNaWNoZWFsIG5lZWRzIHRvIHN0ZXAgdXAgYXMgbGVh ZGVyIG9mIHRoZSBwcm9qZWN0CmFuZCBzdG9wIHRoZSBwcmV0ZW5zZSBvZiBkZW1vY3JhY3ksIG9y IGhlIGxldHMgdGhlIGNvbW11bml0eSB1c2UgdGhlCmdvdmVybmFuY2UgdGhhdCBoZSBoaW1zZWxm IGVzdGFibGlzaGVkLiBUaGlzIGhhbGYgYXNzZWQgc3lzdGVtIGlzCnVuc3Vydml2YWJsZSwgYW5k IHRoZSBvbmx5IHRoaW5nIHRoYXQgaXMgYmVpbmcgcmVxdWVzdGVkIGlzIGVzdGFibGlzaGluZyBh CnByb2Nlc3MsIG5vdCB0cmFuc2ZlcnJpbmcgY29udHJvbCBvciBjb25zcGlyYWN5IG9yIHN0dWZm IGxpa2UgdGhhdC4gUGxlYXNlCmp1c3Qgc3RvcCBqdWRnaW5nIHRoZSBjb3ZlciBieSBpdHMgYm9v aywgYW5kIHRyeSB0byByZWFkIHNvbWUgb2YgdGhlCmNvbnRlbnRzLgoKCj4gPiBPbmNlIGFnYWlu LCB5b3UgYXJlIGludml0ZWQgdG8gdGhlIGZvc2RlbSBtZWV0aW5nIGFuZCBzZWUgZm9yCj4gPiB5 b3Vyc2VsZiB3aGF0Cj4gPiB0aGUgY29tbXVuaXR5IHJlYWxseSB3YW50cy4KPgo+IEZPU0RFTSAh PSAidGhlIGNvbW11bml0eSIKPgoKRk9TREVNID0gYSBnb29kIGNodW5rIG9mIHRoZSBjb21tdW5p dHkgdGhhdCBpcyBpbnRlcmVzdGVkIGluIHRoZSBoZWFsdGgKZW5vdWdoIHRvIHRyYXZlbCBzZXZl cmFsIGtpbG9tZXRlcnMgYW5kIGRpc2N1c3MgZm9yIGhvdXJzIG9mIHRoZSBzaXR1YXRpb24KYW5k IHBvc3NpYmxlIHNvbHV0aW9ucyBpbnN0ZWFkIG9mIGVuam95aW5nIHRoZSBjb25mZXJlbmNlIHRo ZXkgd2FudGVkIHRvCmF0dGVuZAoKV2F5IG1vcmUgcmVwcmVzZW50YXRpdmUgdGhhbiBzb21lIHBl b3BsZSB0YWxraW5nIGluIHRoaXMgdGhyZWFkCgo+IFRoaXMgImNvbW11bml0eSIgaW4gaXRzIGN1 cnJlbnQgZm9ybSBhbmQgYXBwZWFyYW5jZSBhbmQgdGhlIHdheSBpdCBpcwo+ID4gPiByZXByZXNl bnRlZCBieSBpdHMgbWVtYmVycyBpcyBmdW5kYW1lbnRhbGx5IGluY2FwYWJsZSBvZiBsZWFkaW5n Cj4gPiBhbmQKPiA+ID4gZXhlY3V0aW5nIGNvbnRyb2wgb3ZlciBhIHByb2plY3QgbGlrZSBmZm1w ZWcuCj4gPiA+IEknbSBhd2FyZSB0aGF0IHRoZXJlIGFyZSBwcm9qZWN0cyB3aGVyZSB0aGlzIGlz IHdvcmtpbmcsIHNhbWUgYXMKPiA+IEkndmUgc2Vlbgo+ID4gPiBwcm9qZWN0cyB3aGVyZSBhbGwg bWVtYmVycyBhcmUgcHJldHR5IG11Y2ggb24gdGhlIHNhbWUgbGluZSBhbmQKPiA+IHdoZW4KPiA+ ID4gdGhlcmUncyBhIGNvbW1pdHRlZSB3aXRoIGEgaGFuZGZ1bCBvZiBtZW1iZXJzLCBwZXJzb25z IGxlYXZlLCBvdGhlcgo+ID4gcGVyc29ucwo+ID4gPiBqb2luLCBidXQgdGhhdCBkb2Vzbid0IGNo YW5nZSBhbnl0aGluZyBiZWNhdXNlIHRoZXkgYWxsIHNoYXJlIHRoZQo+ID4gc2FtZQo+ID4gPiBp ZGVhcyBhbmQgcGxhbnMgYW5kIGFsbCBhcmUgd29ya2luZyB0b2dldGhlciBoYW5kLWluLWhhbmQu Cj4gPiA+Cj4gPgo+ID4gVGhpcyBpcyBsaWtlIHlvdXIgb3BpbmlvbiBtYW4uCj4KPiBZZXMsIHRo aXMgaXMgbXkgb3BpbmlvbiBhbmQgaXQgZ2V0cyBjb25maXJtZWQgYWxtb3N0IGFueSBvdGhlciBk YXkgd2hlbgo+IHJlYWRpbmcgdGhlIE1MLiBUaGF0IGEgZGVlcGx5IGRpdmlkZWQgY29tbXVuaXR5 IGNhbm5vdCBiZSBnaXZlbiBjb250cm9sCj4gb3ZlciBhIHByb2plY3QgbGlrZSBmZm1wZWcgaXMg anVzdCBjb21tb24gc2Vuc2UgaW1vLCBldmVuIHRob3VnaCBJIHJlc3BlY3QKPiB0aGF0IHlvdSBo YXZlIGEgZGlmZmVyZW50IG9waW5pb24uCj4KCkkgZG9uJ3QgdW5kZXJzdGFuZCBob3cgeW91IGRv bid0IHNlZSB0aGF0IHRoZSBjb21tdW5pdHkgaXMgZGl2aWRlZAoqZXhhY3RseSogYmVjYXVzZSB0 aGVyZSBpcyBubyBjbGVhciBjb250cm9sLgpBbmQgSSdtIHNvcnJ5IHRoYXQgeW91ciBvcGluaW9u IGlzIGdvaW5nIGluIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24sIGJ1dCBJCnBlcnNvbmFsbHkgZG9u J3QgdGhpbmsgdGhlcmUgc2hvdWxkIGJlIGEgc3lzdGVtIHRoYXQgZmF2b3JzIHNvbWUgcGVvcGxl IGFuZApub3Qgb3RoZXJzIChpbnNlcnQgdGhlIGxpc3Qgb2YgaW5jaWRlbnRzIHRoYXQgeW91IGRp ZG4ndCBldmVuIGJvdGhlcgpjaGVja2luZykuCgo+ID4gVGhlcmUgYXJlIG90aGVycyB3aG8gYXJl IHdhdGNoaW5nIHRoaXMgTUwgZnJvbSBhIGRpc3RhbmNlIGFuZAo+ID4gdGhpbmtpbmcKPiA+ID4g YWJvdXQgdGhlIHNhbWUgLSBqdXN0IHNpbGVudGx5Lgo+ID4gPiBXZSBkb24ndCBrbm93IGZpZ3Vy ZXMsIGJ1dCBub2JvZHkgc2hvdWxkIHRoaW5rIGl0IHdvdWxkIGJlIGEgc3VyZQo+ID4gdGhpbmcK PiA+ID4gdGhhdCBhbGwgIm5vbi1idWRkaWVzIiB3b3VsZCB3YW50IGFuZCB2b3RlIGZvciBhIGNv bW11bml0eQo+ID4gb3duZXJzaGlwLgo+ID4KPiA+IEluY2x1ZGluZyBwZW9wbGUgd2hvIHdvdWxk IGxpa2UgdG8gam9pbiB0aGUgY29tbXVuaXR5IGJ1dCBhcmUKPiA+IGhvcnJpZmllZCBieSBob3cg dGhpbmdzIGFyZS4KPgo+IFRoZSB0eXBlIG9mIGUtbWFpbHMgeW91IGFyZSBzZW5kaW5nIHRvIHRo ZSBNTCBtYWtpbmcgYSBzdWJzdGFudGlhbCBwYXJ0IG9mCj4gdGhvc2UgbW9zdCAiaG9ycmlmeWlu ZyB0aGluZ3MiLgo+CgpObz8gVGhlIHR5cGUgb2YgZW1haWxzIEkgYW0gc2VuZGluZyBhcmUgYm90 aGVyaW5nIHlvdSwgdGhhdCdzIHdoeSB5b3Ugc3BlbmQKNCB0aW1lcyBhcyBtYW55IHdvcmRzIHRv IHJlcGx5IHRvIG1lLiBJZiBpdCBtYWtlcyB5b3UgaGFwcHksIGJlbGlldmUgbWUgSQphbSBfbm90 XyBoYXZpbmcgZnVuIGdvaW5nIG92ZXIgYW5kIG92ZXIgdGhlIHNhbWUgcG9pbnRzLiBCdXQgSSBh bSBhbHNvIGRvbmUKd2l0aCB0aGUgQlMgdGhhdCB5b3Ugc2VlbSB0byBzcHJlYWQgZm9yIHdoYXRl dmVyIHJlYXNvbi4KCgo+ID4gQW5kIGl0J3MgMjAyNSwgbm9ib2R5IHdpbGwgam9pbiBhIHByb2pl Y3Qgd2hlcmUgdGhlIGxlYWRlciBjYW4gYmFuIGF0Cj4gd2lsbAo+Cj4gSGFyZGx5IGFueWJvZHkg Y2FyZXMgYWJvdXQgdGhhdCwgYmVjYXVzZSBub2JvZHkgd2FudHMgdG8gd3JpdGUgYSBtYWlsIGxp a2UKPiB0aGUgb25lIHlvdSBkaWQgYW5kLCB0aGVuIGJ1aWxkaW5nIHVwIGEgYmlnIGRyYW1hIHNo b3cgYXJvdW5kIHRoZSBmYWN0IHRoYXQKPiBpdCBoYXMgYmVlbiBtb2RlcmF0ZWQuCj4KCk5PISBI b3cgY2FuIHlvdSBzYXkgc29tZXRoaW5nIGxpa2UgdGhhdCEgSSB3YW50IHRoZXNlIGluY2lkZW50 cyB0byBiZQpyZXNvbHZlZCAtIHBlb3BsZSBuZWVkIHRvIGJlIGhlbGQgYWNjb3VudGFibGUgZm9y IHdoYXQgdGhleSBkbyBhbmQgd2hhdAp0aGV5IHNheS4KWW91IGNvbXBsYWluIHRoYXQgSSBwb3N0 IHRoZSBsaXN0IG9mIGluY2lkZW50cyB0b28gbWFueSB0aW1lcywgSSBjb21wbGFpbgp0aGF0IHRo ZXNlIGluY2lkZW50cyBhcmUgc3RpbGwgcGVuZGluZywgYW5kIHNlZWtpbmcgcmVzb2x1dGlvbiEK T3RoZXJ3aXNlIHBlb3BsZSBjYW4gZG8gd2hhdGV2ZXIgdGhleSB3YW50IHdpdGhvdXQgcmVwZXJj dXNzaW9ucywgaXQncyBwdXJlCmNoYW9zIGFuZCBhbmFyY2h5LiBFdmVuIGluIGEgZGljdGF0b3Jz aGlwIHRoZXJlIGFyZSBsb2dpY2FsIHJlcGVyY3Vzc2lvbnMsCnRoaXMgZmVlbHMgbW9yZSBsaWtl IGtpbmRlcmdhcnRlbiEKCipUaGF0KiBpcyBlbm91Z2ggbW90aXZhdGlvbiB0byBmaWdodCBmb3Ig Y2hhbmdlIGFuZCAqaGF2aW5nIGEgcHJvY2VzcyouCgoKPiBJIHRoaW5rIHRoZSBwcm9jZWR1cmUg d2Fzbid0IG9rYXksIGJ1dCBJIGFsc28gdGhpbmsgdGhhdCB0aGUgZS1tYWlsIHdhc24ndAo+IG9r YXksIHNvIGlkZWFsbHkgaXQgc2hvdWxkIGhhdmUgYmVlbiBtb2RlcmF0ZWQgYnkgYW4gZXN0YWJs aXNoZWQgcHJvY2VkdXJlLAo+IHlldCB0aGUgb3V0Y29tZSB3b3VsZCBoYXZlIGJlZW4gdGhlIHNh bWUsIHRoYXQncyB3aHkgSSBkb24ndCBzaGFyZSB0aGUKPiBleGNpdGVtZW50IGV4cHJlc3NlZCBi eSBzb21lIG90aGVycy4KPgo+ID4gaHVzc2xlIHNwb25zb3JzCj4KPiBObyBuZXcgY29udHJpYnV0 b3Igd2lsbCBjYXJlIGFib3V0IHRoYXQuCj4KCklmIHlvdSBkb24ndCBjYXJlIGFib3V0IHRoYXQs IGl0J3MgeW91ciBwcm9ibGVtLCBidXQgeW91IHNob3VsZG4ndCBkZWZlbmQgYQpzeXN0ZW0gdGhh dCBhbGxvd3MgZm9yIHRoYXQgdGhvLCBpdCdzIGNhbGxlZCBjb2xsdXNpb24uCgoKPiA+ID4gRmlu YWxseSwgdGhlcmUgYXJlIGFsc28gY29udHJpYnV0b3JzIHdobyBkb24ndCBjYXJlIGFib3V0Cj4g PiBjb21tdW5pdHksCj4gPiA+IG1lbWJlcnNoaXAgb3IgaW5mbHVlbmNlIC0gdGhleSBqdXN0IHdh bnQgdG8gZ2V0IHRoZWlyIGNvZGUgbWVyZ2VkCj4gPiB3aXRob3V0Cj4gPiA+IHRyb3VibGUuIFdp bGwgdGhleSB2b3RlIGZvciBhIGNvbW11bml0eSBnb3Zlcm5hbmNlIHdoZXJlIGV2ZXJ5Cj4gPiBs aXR0bGUgbml0Cj4gPiA+IGZyb20gc29tZW9uZSB3aWxsIHJlcXVpcmUgdG8gY29uZHVjdCBhIHZv dGUgb24gaXQ/Cj4gPiA+Cj4gPgo+ID4gQW5vdGhlciAid2hhdCBpZiIgb2YgYW4gdW5saWtlbHkg c2NlbmFyaW8KPgo+IFVubGlrZWx5PyBUaGF0IGFwcGxpZXMgdG8gYWxsIHRob3NlIGNvbnRyaWJ1 dG9ycyB3aG8gSSBtZXQgaW4gdGhlIHBhc3QKPiB5ZWFycywgdHJpZWQgdG8gbWFrZSBhIGNvbnRy aWJ1dGlvbiBhbmQgd2Fsa2VkIGF3YXkgd2l0aCB0aGUgY29uY2x1c2lvbgo+IHRoYXQgaXQncyBw b2ludGxlc3MgYW5kIG5vdCB3b3J0aCB0cnlpbmcgZXZlciBhZ2FpbiBpbiB0aGUgZnV0dXJlIQo+ Cj4gPiBpbiB0aGUgdW5saWtlbHkgY2FzZSBvZiBjb25mbGljdCB3ZSBoYXZlIGEgVEMgdGhhdCBk b2VzIHdoYXQgeW91Cj4gZGVzY3JpYmUgd2hlbiBuZWVkZWQuCj4gPiBJJ20gc3VyZSB5b3UgdW5k ZXJzdGFuZCA1IHBlb3BsZSBoYXZlIGFuIGVhc2llciB0aW1lIG1hbmFnaW5nIGEgY2FzZQo+IHRo YW4gdGhlIHdob2xlIGNvbW11bml0eS4KPgo+IFRoaXMgaXQgdG90YWxseSBpbmVmZmVjdGl2ZS4g VGhlIGN1cnJlbnQgcmVhbGl0eSAoZXNwZWNpYWxseSBmb3IKPiBub24tZXN0YWJsaXNoZWQgY29u dHJpYnV0b3JzKSBpcyBvZnRlbiBzb21ldGhpbmcgbGlrZSB0aGlzOgo+Cj4KPiAtIFlvdSBtYWtl IGEgc3VibWlzc2lvbgo+ICAgLSBFaXRoZXIgbm9ib2R5IGV2ZXIgcmVhY3RzCj4gICAtIE9yOgo+ ICAgICAtIGZmTWVtYmVyMSBzYXlzICJubyIgdG8gQSBhbmQgQgo+ICAgICAtIGZmTWVtYmVyMiBz YXlzICJubyIgdG8gQwo+IC0gT2YgY291cnNlIG5vYm9keSB0b2xkIHlvdSB3aGF0IHRvIGRvIGlu c3RlYWQsIHNvIHlvdSBuZWVkCj4gICB0byAiZ3Vlc3MiIHdoYXQgdGhleSB3YW50IGFuZCBtYWtl IGFuIHVwZGF0ZWQgc3VibWlzc2lvbiB3aXRoCj4gICBjaGFuZ2VzIEExLCBCMSBhbmQgQzEKPiAg IC0gVGhlbgo+ICAgICAtIGZmTWVtYmVyMSBzYXlzICJubyIgdG8gQjEgKG5vdGhpbmcgYWdhaW5z dCBBMSkKPiAgICAgLSBmZk1lbWJlcjIgc2F5cyAibm8iIHRvIEMxIGFuZCBub3cgYWxzbyBECj4g ICAgIC0gZmZNZW1iZXIzIHNheXMgIm5vIiB0byBBMSBhbmQgRQo+IC0gTmV4dCBndWVzc2luZyB0 byBhZGRyZXNzIGlzc3VlcyB3aXRoIEEyLCBCMiwgQzIsIEQxIGFuZCBFMQo+ICAgLSBUaGVuCj4g ICAgIC0gZmZNZW1iZXIxIHNheXMgbm90aGluZwo+ICAgICAtIGZmTWVtYmVyMiBzYXlzIG5vdGhp bmcKPiAgICAgLSBmZk1lbWJlcjMgc2F5cyAibm8iIEUxIGFuZCBub3cgYWxzbyBHCj4gLSBOZXh0 IGd1ZXNzaW5nIHRvIGFkZHJlc3MgaXNzdWVzOiBFMiBhbmQgRzEKPiAgIC0gVGhlbgo+ICAgICAt IGZmTWVtYmVyMSBzYXlzIG5vdGhpbmcKPiAgICAgLSBmZk1lbWJlcjIgc2F5cyBub3RoaW5nCj4g ICAgIC0gZmZNZW1iZXIzIHNheXMgbm90aGluZwo+IC0gWW91IGJ1bXAsIHlvdSBwaW5nIC0gbm8g cmVzcG9uc2UKPiAtIFlvdSBidW1wIGFuZCBwaW5nCj4gICAgIC0gZmZNZW1iZXIxIHNheXMgIkkg aGF2ZSB0b2xkIHlvdSB0aGF0IEIxIGlzICJubyIgYW5kIEExIGlzICJubyIKPiAgICAgICAoaGFz IG5ldmVyIHJldmlld2VkIEEyIGFuZCBCMikKPiAgICAgLSBmZk1lbWJlcjMgc2F5cyAibGlrZSBm Zk1lbWJlcjEgc2FpZCwgYXMgbG9uZyB5b3UgZG9uJ3QgZml4IEExLAo+ICAgICAgIGl0IGNhbid0 IGJlIG1lcmdlZCIKPiAgICAgICAoZXZlbiB0aG91Z2ggaGUgaGFkIGFza2VkIGZvciBBMiBhbmQg c2VlbWluZ2x5IGFjY2VwdGVkIEEyIGJ5IG5vdAo+ICAgICAgIG1lbnRpb25pbmcgaXQgb24gdGhl IG5leHQgcmV2aWV3KQo+IC0gTm93IHlvdSBzdGFuZCB0aGVyZSB3aXRob3V0IGV2ZW4gaGF2aW5n IGEgY2x1ZSB3aGF0IHRvIGRvIHRvIHNhdGlzZnkKPiAgIGV2ZXJ5b25lLiBJZiB5b3UgYXJlIGtl ZW4sIHlvdSBtaWdodCBhc2sgYWdhaW4gd2hhdCB0byBkbyBpbnN0ZWFkLCBidXQKPiAgIHdoaWxl IHlvdSBjYW4gZ2V0IGxvdHMgb2YgcmVzcG9uc2VzIGZvciB0aGUgIm5vInMsIHlvdSByYXJlbHkg Z2V0Cj4gICByZXNwb25zZXMgb24gdGhlICJob3cgdGhlbj8iIHF1ZXN0aW9ucywgcHJvYmFibHkg YmVjYXVzZSBmZk1lbWJlclgKPiAgIGlzIHRvbyBhZnJhaWQgb2Ygc2VlaW5nIGFuIGZmTWVtYmVy WSBjb250cmFkaWN0aW5nLgo+Cj4gQW5kIHRoZW4gdGhlIGNvbnRyaWJ1dG9yIHNob3VsZCBjb250 YWN0IHRoZSBUQz8KPgo+IC0gRmlyc3Qgb2YgYWxsLCBtb3N0IGRvbid0IGV2ZW4ga25vdyBhYm91 dCBpdHMgZXhpc3RlbmNlCj4gLSBJZiBvbmUga25vd3MgYWJvdXQgaXRzIGV4aXN0ZW5jZSwgb25l IG1pZ2h0IHN0aWxsIG5vdCBrbm93IGhvdyB0bwo+IGNvbnRhY3QgaXQKPiAtIEFuZCBmaW5hbGx5 LCB5b3UgZG9uJ3QgZXZlbiBrbm93IGV4YWN0bHkgd2hpY2ggcXVlc3Rpb24vcmVxdWVzdCB0byBt YWtlCj4gdG8gdGhlIFRDCj4gICAtIEl0J3Mgbm90IGxpa2UgeW91IHdhbnQgWCBhbmQgc29tZWJv ZHkgZWxzZSB3YW50cyBZCj4gICAtIEl0J3MgcmF0aGVyIGxpa2Ugc29tZSBzYWlkIG5vIHRvIEEs IEExLCBub2JvZHkgc2FpZCBzb21ldGhpbmcgdG8gQTIKPiBhbmQgeW91IHdvdWxkIGhhcHBpbHkg ZG8gQTMgb3IgQTQgb3IgQTUgb3IgQTYgLSBiZWNhdXNlIHlvdSBkb24ndCBjYXJlIGJ1dAo+IHlv dSBhcmUgdGlyZWQgb2YgZ3Vlc3NpbmcKPgo+Cj4gV2hhdCBhbiBleHRlcm5hbCBjb250cmlidXRv ciB3YW50cyBpbnN0ZWFkIGlzIHRoaXM6Cj4KPiAtIFlvdSBtYWtlIGEgc3VibWlzc2lvbgo+ICAg LSBNYWludGFpbmVyIHNheXMKPiAgICAgLSBBIG5lZWRzIHRvIGJlIGRvbmUgbGlrZSBBMQo+ICAg ICAtIEIgbmVlZHMgdG8gYmUgZG9uZSBsaWtlIEIxCj4gICAtIFBlcnNvbkluQ2hhcmdlICBzYXlz Cj4gICAgIC0gQyBuZWVkcyB0byBiZSBkb25lIGxpa2UgQzEKPiAgICAgLSBEIG5lZWRzIHRvIGJl IGRvbmUgbGlrZSBEMQo+IC0gWW91IG1ha2UgY2hhbmdlcyBBMSwgQjEsIEMxLCBEMQo+ICAgLSBN YWludGFpbmVyIExHVE0KPiAgIC0gUGVyc29uSW5DaGFyZ2Ugc2F5cyBDMSBzaG91bGQgYmV0dGVy IGJlIGxpa2UgQzIKPiAtIFlvdSBtYWtlIGNoYW5nZXMgQzIKPiAgIC0gUGVyc29uSW5DaGFyZ2Ug c2F5cyBMR1RNCj4gLSBNZXJnZWQgKyBEb25lCj4KPgo+IEhhcmRseSBhbnkgZXh0ZXJuYWwgY29u dHJpYnV0b3IgaXMgaW50ZXJlc3RlZCBpbiBhbnkgY29tbWl0dGVlcyBvciBoYXZpbmcKPiB0aGUg Y29tbXVuaXR5IHZvdGluZyBhYm91dCB0aGVpciBjb250cmlidXRpb25zLiBUaGV5IGp1c3Qgd2Fu dCB0byBnZXQKPiBhdHRlbnRpb24gYW5kIGJlIHRvbGQgd2hhdCB0byBkbyB0byBnZXQgdGhlaXIg Y29kZSBpbnRvIGEgZm9ybSB0aGF0IGl0IHdpbGwKPiBnZXQgbWVyZ2VkIC0gYXMgc2ltcGxlIGFz IHRoYXQuCj4KClNvIHlvdSdyZSBkaXNhZ3JlZWluZyB3aXRoIE1pY2hlYWwgdGhhdCBldmVyeSBj b250cmlidXRvciBzaG91bGQgZ2V0IGEgdm90ZS4KR29vZCwgc29tZXRoaW5nIHdlIGFncmVlIG9u IDopCgoKPiBCZWZvcmUgY2FsbGluZyBmb3IgYSB2b3RlLCB0aGV5IHdpbGwgcmF0aGVyIGdpdmUg dXAgYW5kIHdhbGsgYXdheS4gQnV0IGluCj4gY2FzZSB0aGV5IGFscmVhZHkgbWFkZSBhIGZldyBj b250cmlidXRpb25zIGFuZCBhcmUgZW50aXRsZWQgdG8gdm90ZSwgdGhleQo+IHdpbGwgc3VyZWx5 IG5vdCB2b3RlIGZvciBzb21ldGhpbmcgd2hpY2ggbWFrZXMgdGhlaXIgY29udHJpYnV0aW9uIHBy b2Nlc3MKPiBldmVuIG1vcmUgY29tcGxpY2F0ZWQsIGxlbmd0aHkgYW5kIHVucHJlZGljdGFibGUu Cj4KCkluIGdlbmVyYWwgZGlzbWlzc2luZyBzb21ldGhpbmcgYmVjYXVzZSBpdCdzIGNvbXBsaWNh dGVkIGlzIG5vdCBhIGdvb2QgdmlldwpvZiBhbnkgZGV2ZWxvcGVyLgoKTGV0J3MgQ2FsY3VsYXRl Cj4KPiAtIFJlbWFpbmRlciA9ICJUaGUgQ29tbW51bml0eSIKPiAgIC0gbWludXMgIk1pY2hhZWwn cyBCdWRkaWVzIgo+ICAgLSBtaW51cyBtZW1iZXJzIGxpa2UgbWUgd2hvIGRvbid0IGNvbnNpZGVy IHRoZSBjb21tdW5pdHkKPiAgICAgY2FwYWJsZSBvZiBtYW5hZ2luZyB0aGUgcHJvamVjdAo+ICAg LSBtaW51cyBtZW1iZXJzIHdvcmtpbmcgZm9yIHRoZSBpbmR1c3RyeQo+ICAgLSBtaW51cyBvY2Nh c2lvbmFsIGNvbnRyaWJ1dG9ycyB3aXRob3V0IGludGVyZXN0IGluIHRoZSBwcm9qZWN0Cj4gICAt IG1pbnVzIGFsbCB0aG9zZSB3aG8gaGF2ZSBvdGhlciByZWFzb25zIGFnYWluc3QgY29tbXVuaXR5 Cj4gICAgIG93bmVyc2hpcAo+Cj4gQ29uY2x1c2lvbnMKPgo+IC0gSXQgaXMgbm90IHZhbGlkIHRv IG1ha2UgYW55IGNsYWltcyBsaWtlCj4gICAiVGhlIENvbW11bml0eSB3YW50cyB0aGUgcHJvamVj dCB0byBiZSBvd25lZCBieSB0aGUgY29tbXVuaXR5Igo+IC0gSXQgaXMgbm90IGV2ZW4gdmFsaWQg dG8gbWFrZSBhbnkgY2xhaW1zIGxpa2UKPiAgICJUaGUgbWFqb3JpdHkgb2YgdGhlIENvbW11bml0 eSB3YW50cyB0aGUgcHJvamVjdCB0byBiZSBvd25lZCBieSB0aGUKPiBjb21tdW5pdHkiCj4KCi0g SXQgaXMgbm90IHZhbGlkIHRvIG1ha2UgbWFkZSB1cCBtYXRoIGFuZCB0cnlpbmcgdG8gcHJvdmUg YSBwb2ludAotIEl0IGlzIG5vdCBldmVuIHZhbGlkIHRvIGJ1dHQgaW4gaW4gYSBkaXNjdXNzaW9u IHdpdGhvdXQgaGF2aW5nIGFueSBpZGVhCndoYXQgaXMgZ29pbmcgb24gYW5kIGxhY2tpbmcga25v d2xlZGdlIG9uIHdoYXQgbGVkIHRvIHRoZSBjdXJyZW50IHNpdHVhdGlvbgotIEl0IGlzIG5vdCBl dmVuIG1vcmUgc28gdmFsaWQgdG8gc3BhbSB0aGUgbWFpbGluZyBsaXN0IHdpdGggb3Zlcmx5IGxv bmcKZW1haWxzIHdoaWNoIHRha2UgYSBsb25nIHRpbWUgdG8gZGVidW5rIGFuZCBkaXZlcnQgdGhl IGF0dGVudGlvbiBmcm9tCmFjdHVhbCBpbXBvcnRhbnQgd29yayAobGlrZSBwb3J0aW5nIHRvIGdp dGxhYikKCgo+IFRoZSBsYXR0ZXIgaXNuJ3QgdmFsaWQgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGZp Z3VyZXMsIHNvIHdlIGp1c3QgY2FuJ3QKPiBrbm93Lgo+IEZvciBtZSwgaXQgZG9lc24ndCBsb29r IHRoZXJlJ3MgYSBtYWpvcml0eSBmb3IgaXQsIGp1c3QgYSBmZXcgcGVvcGxlCj4gYXNraW5nIGZv ciBpdCB2ZXJ5IGxvdWRseS4KPgoKU29ycnkgdGhpcyBpcyBhbiB1bmluZm9ybWVkIG9waW5pb24s IHRoZSAib3RoZXIgc2lkZSIgYWxzbyBzZWVzIGEgZmV3CnBlb3BsZSBhc2tpbmcgdmVyeSBsb3Vk bHkgdG8ga2VlcCB0aGluZ3MgYXMgdGhleSBhcmUuCkRvIEkgbmVlZCB0byBwb3N0IHRoZSBsaXN0 IG9mIGluY2lkZW50cyBhZ2FpbiBzbyB0aGF0IHlvdSBtYXkgaW5mb3JtCnlvdXJzZWxmIGFuZCBk ZWNpZGUgd2hhdCB5b3Ugd291bGQgaGF2ZSBkb25lIGlmIHlvdSB3ZXJlIGluIHRoZSBzaG9lcyBv Zgpzb21lb25lIGFmZmVjdGVkIG5lZ2F0aXZlbHkgYnkgdGhlIGN1cnJlbnQgc3lzdGVtPyBPciBh cmUgbXkgZW1haWxzIHRoZQpwcm9ibGVtLCB3aGlsZSBvdGhlciBwZW9wbGUgZGlyZWN0bHkgY2F1 c2luZyBjb250cmlidXRpb25zIHRvIGxlYXZlIHRoZQpwcm9qZWN0IGFyZSBqdXN0IGZpbmU/CgoK PiBCZXNpZGVzIHRoYXQsIGl0J3MgYWxyZWFkeSBjbGVhciB0aGF0IHRoaXMgd29uJ3QgaGFwcGVu LCBldmVuIHdoZW4gYQo+IG1ham9yaXR5IHdvdWxkIHdhbnQgaXQsIHNvIGl0J3MgcHJvYmFibHkg bW9yZSBwcm9kdWN0aXZlIHRvIGFjY2VwdCB0aGF0IGFuZAo+IHJhdGhlciBwYXJ0aWNpcGF0ZSBp biB0aGUgc3VnZ2VzdGlvbnMgdGhhdCBNaWNoYWVsIGlzIG1ha2luZywga2VlcGluZyBpbgo+IG1p bmQgdGhhdCBoZSBpc24ndCBvYmxpZ2VkIHRvIGRvIHRoaXMgYXQgYWxsLgo+CgpUaGF0J3MgZmlu ZSwgaXQgbWVhbnMgdGhhdCB0aGUgInVuZnJpZW5kbHkgZW1haWxzIiB3aWxsIGNvbnRpbnVlLgot LSAKVml0dG9yaW8KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRw czovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2Ny aWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1w ZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=