From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: =?utf-8?B?4pyXIEZpLkNJLkJBVDogZmFpbHVy?= =?utf-8?Q?e_for_serie?= =?utf-8?Q?s?= starting with [1/6] dma-buf: add dynamic DMA-buf handling v13 Date: Wed, 7 Aug 2019 23:19:18 +0200 Message-ID: <20190807211918.GJ7444@phenom.ffwll.local> References: <20190626122310.1498-1-christian.koenig@amd.com> <20190626133225.9081.7676@emeril.freedesktop.org> <41eab2c2-0592-1308-41a9-c76c887a6113@gmail.com> <20190731085502.GH7444@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) by gabe.freedesktop.org (Postfix) with ESMTPS id 588536E02A for ; Wed, 7 Aug 2019 21:19:23 +0000 (UTC) Received: by mail-ed1-x541.google.com with SMTP id p15so87857957eds.8 for ; Wed, 07 Aug 2019 14:19:23 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20190731085502.GH7444@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: christian.koenig@amd.com Cc: intel-gfx@lists.freedesktop.org, DRI Development List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBKdWwgMzEsIDIwMTkgYXQgMTA6NTU6MDJBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUaHUsIEp1biAyNywgMjAxOSBhdCAwOToyODoxMUFNICswMjAwLCBDaHJpc3Rp YW4gS8O2bmlnIHdyb3RlOgo+ID4gSGkgRGFuaWVsLAo+ID4gCj4gPiB0aG9zZSBmYWlscyBsb29r IGxpa2Ugc29tZXRoaW5nIHJhbmRvbSB0byBtZSBhbmQgbm90IHJlbGF0ZWQgdG8gbXkgcGF0Y2gK PiA+IHNldC4gQ29ycmVjdD8KPiAKPiBGaXJzdCBvbmUgSSBsb29rZWQgYXQgaGFzIHRoZSByZXNl cnZhdGlvbl9vYmogYWxsIG92ZXI6Cj4gCj4gaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3Ry ZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmktY21sLXUvaWd0QGdlbV9leGVjX2ZlbmNlQGJh c2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gCj4gU28gNSBzZWNvbmQgZ3VlZXMgaXMgLi4uIHByb2Jh Ymx5IHJlYWw/Cj4gCj4gTm90ZSB0aGF0IHdpdGggdGhlIGVudGlyZSBsbWVtIHN0dWZmIGdvaW5n IG9uIHJpZ2h0IG5vdyB0aGVyZSdzIG1hc3NpdmUKPiBkaXNjdXNzaW9ucyBhYm91dCBob3cgd2Un cmUgZG9pbmcgcmVzdl9vYmogdnMgb2JqLT5tbS5sb2NrIHRoZSB3cm9uZyB3YXkKPiByb3VuZCBp biBpOTE1LCBzbyBJJ20gbm90IHN1cnByaXNlZCBhdCBhbGwgdGhhdCB5b3UgbWFuYWdlZCB0byB0 cmlwIHRoaXMuCj4gCj4gVGhlIHdheSBJIHNlZSBpdCByaWdodCBub3cgaXMgdGhhdCBvYmotPm1t LmxvY2sgbmVlZHMgdG8gYmUgbGltaXRlZCB0bwo+IGRlYWxpbmcgd2l0aCB0aGUgaTkxNSBzaHJp bmtlciBpbnRlcmFjdGlvbnMgb25seSwgYW5kIG9ubHkgZm9yIGk5MTUgbmF0aXZlCj4gb2JqZWN0 cy4gQW5kIGZvciBkbWEtYnVmcyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSBpdCdzIG5vdCBhbnl3aGVy ZSBpbiB0aGUKPiBjYWxsY2hhaW4uIFVuZm9ydHVuYXRlbHkgdGhhdCdzIGEgbWFzc2l2ZSByZWZh Y3RvciBJIGd1ZXNzIC4uLgoKVGhvdWdodCBhYm91dCB0aGlzIHNvbWUgbW9yZSwgYXNpZGUgZnJv bSBqdXN0IGJyZWFraW5nIGk5MTUgb3Igd2FpdGluZwp1bnRpbCBpdCdzIHJlZmFjdG9yZWQgKEJv dGggbm90IGF3ZXNvbWUpIEkgdGhpbmsgdGhlIG9ubHkgb3B0aW9uIGlzIGdldApiYWNrIHRvIHRo ZSBvcmlnaW5hbCBjYWNoaW5nLiBBbmQgZmlndXJlIG91dCB3aGV0aGVyIHdlIHJlYWxseSBuZWVk IHRvCnRha2UgdGhlIGRpcmVjdGlvbiBpbnRvIGFjY291bnQgZm9yIHRoYXQsIG9yIHdoZXRoZXIg dXBncmFkaW5nIHRvCmJpZGlyZWN0aW9uYWwgdW5jb25kaXRpb25hbGx5IHdvbid0IGJlIG9rLiBJ IHRoaW5rIHRoZXJlJ3Mgb25seSByZWFsbHkgdHdvCmNhc2VzIHdoZXJlIHRoaXMgbWF0dGVyczoK Ci0gZGlzcGxheSBkcml2ZXJzIHVzaW5nIHRoZSBjbWEvZG1hX2FsbG9jIGhlbHBlcnMuIEV2ZXJ5 dGhpbmcgaXMgYWxsb2NhdGVkCiAgZnVsbHkgY29oZXJlbnQsIGNwdSBzaWRlIHdjLCBubyBmbHVz aGluZy4KCi0gRXZlcnlvbmUgZWxzZSAob24gcGxhdGZvcm1zIHdoZXJlIHRoZXJlJ3MgYWN0dWFs bHkgc29tZSBmbHVzaGluZyBnb2luZwogIG9uKSBpcyBmb3IgcmVuZGVyaW5nIGdwdXMsIGFuZCB0 aG9zZSBhbHdheXMgbWFwIGJpZGlyZWN0aW9uYWwgYW5kIHdhbnQKICB0aGUgbWFwcGluZyBjYWNo ZWQgZm9yIGFzIGxvbmcgYXMgcG9zc2libGUuCgpXaXRoIHRoYXQgd2UgY291bGQgZ28gYmFjayB0 byBjcmVhdGluZyB0aGUgY2FjaGVkIG1hcHBpbmcgYXQgYXR0YWNoIHRpbWUKYW5kIGF2b2lkIGlu ZmxpY3RpbmcgdGhlIHJlc2VydmF0aW9uIG9iamVjdCBsb2NrIHRvIHBsYWNlcyB0aGF0IHdvdWxk IGtlZWwKb3Zlci4KClRob3VnaHRzPwotRGFuaWVsCgo+IC1EYW5pZWwKPiAKPiA+IAo+ID4gQ2hy aXN0aWFuLgo+ID4gCj4gPiBBbSAyNi4wNi4xOSB1bSAxNTozMiBzY2hyaWViIFBhdGNod29yazoK PiA+ID4gPT0gU2VyaWVzIERldGFpbHMgPT0KPiA+ID4gCj4gPiA+IFNlcmllczogc2VyaWVzIHN0 YXJ0aW5nIHdpdGggWzEvNl0gZG1hLWJ1ZjogYWRkIGR5bmFtaWMgRE1BLWJ1ZiBoYW5kbGluZyB2 MTMKPiA+ID4gVVJMICAgOiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvc2VyaWVz LzYyNzc3Lwo+ID4gPiBTdGF0ZSA6IGZhaWx1cmUKPiA+ID4gCj4gPiA+ID09IFN1bW1hcnkgPT0K PiA+ID4gCj4gPiA+IENJIEJ1ZyBMb2cgLSBjaGFuZ2VzIGZyb20gQ0lfRFJNXzYzNTggLT4gUGF0 Y2h3b3JrXzEzNDM4Cj4gPiA+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KPiA+ID4gCj4gPiA+IFN1bW1hcnkKPiA+ID4gLS0tLS0tLQo+ID4gPiAK PiA+ID4gICAgKipGQUlMVVJFKioKPiA+ID4gCj4gPiA+ICAgIFNlcmlvdXMgdW5rbm93biBjaGFu Z2VzIGNvbWluZyB3aXRoIFBhdGNod29ya18xMzQzOCBhYnNvbHV0ZWx5IG5lZWQgdG8gYmUKPiA+ ID4gICAgdmVyaWZpZWQgbWFudWFsbHkuCj4gPiA+ICAgIElmIHlvdSB0aGluayB0aGUgcmVwb3J0 ZWQgY2hhbmdlcyBoYXZlIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgY2hhbmdlcwo+ID4gPiAgICBp bnRyb2R1Y2VkIGluIFBhdGNod29ya18xMzQzOCwgcGxlYXNlIG5vdGlmeSB5b3VyIGJ1ZyB0ZWFt IHRvIGFsbG93IHRoZW0KPiA+ID4gICAgdG8gZG9jdW1lbnQgdGhpcyBuZXcgZmFpbHVyZSBtb2Rl LCB3aGljaCB3aWxsIHJlZHVjZSBmYWxzZSBwb3NpdGl2ZXMgaW4gQ0kuCj4gPiA+IAo+ID4gPiAg ICBFeHRlcm5hbCBVUkw6IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAv UGF0Y2h3b3JrXzEzNDM4Lwo+ID4gPiAKPiA+ID4gUG9zc2libGUgbmV3IGlzc3Vlcwo+ID4gPiAt LS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+IAo+ID4gPiAgICBIZXJlIGFyZSB0aGUgdW5rbm93biBj aGFuZ2VzIHRoYXQgbWF5IGhhdmUgYmVlbiBpbnRyb2R1Y2VkIGluIFBhdGNod29ya18xMzQzODoK PiA+ID4gCj4gPiA+ICMjIyBJR1QgY2hhbmdlcyAjIyMKPiA+ID4gCj4gPiA+ICMjIyMgUG9zc2li bGUgcmVncmVzc2lvbnMgIyMjIwo+ID4gPiAKPiA+ID4gICAgKiBpZ3RAaTkxNV9zZWxmdGVzdEBs aXZlX2NvbnRleHRzOgo+ID4gPiAgICAgIC0gZmkta2JsLTc1Njd1OiAgICAgICBbUEFTU11bMV0g LT4gW0lOQ09NUExFVEVdWzJdCj4gPiA+ICAgICBbMV06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAx Lm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmkta2JsLTc1Njd1L2lndEBpOTE1X3NlbGZ0 ZXN0QGxpdmVfY29udGV4dHMuaHRtbAo+ID4gPiAgICAgWzJdOiBodHRwczovL2ludGVsLWdmeC1j aS4wMS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQzOC9maS1rYmwtNzU2N3UvaWd0QGk5 MTVfc2VsZnRlc3RAbGl2ZV9jb250ZXh0cy5odG1sCj4gPiA+IAo+ID4gPiAgICAqIGlndEBpOTE1 X3NlbGZ0ZXN0QGxpdmVfaHVnZXBhZ2VzOgo+ID4gPiAgICAgIC0gZmktc2tsLWd2dGR2bTogICAg ICBbUEFTU11bM10gLT4gW0lOQ09NUExFVEVdWzRdCj4gPiA+ICAgICBbM106IGh0dHBzOi8vaW50 ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktc2tsLWd2dGR2bS9p Z3RAaTkxNV9zZWxmdGVzdEBsaXZlX2h1Z2VwYWdlcy5odG1sCj4gPiA+ICAgICBbNF06IGh0dHBz Oi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLXNr bC1ndnRkdm0vaWd0QGk5MTVfc2VsZnRlc3RAbGl2ZV9odWdlcGFnZXMuaHRtbAo+ID4gPiAKPiA+ ID4gS25vd24gaXNzdWVzCj4gPiA+IC0tLS0tLS0tLS0tLQo+ID4gPiAKPiA+ID4gICAgSGVyZSBh cmUgdGhlIGNoYW5nZXMgZm91bmQgaW4gUGF0Y2h3b3JrXzEzNDM4IHRoYXQgY29tZSBmcm9tIGtu b3duIGlzc3VlczoKPiA+ID4gCj4gPiA+ICMjIyBJR1QgY2hhbmdlcyAjIyMKPiA+ID4gCj4gPiA+ ICMjIyMgSXNzdWVzIGhpdCAjIyMjCj4gPiA+IAo+ID4gPiAgICAqIGlndEBnZW1fYmFzaWNAY3Jl YXRlLWNsb3NlOgo+ID4gPiAgICAgIC0gZmktaWNsLXUzOiAgICAgICAgICBbUEFTU11bNV0gLT4g W0RNRVNHLVdBUk5dWzZdIChbZmRvIzEwNzcyNF0pCj4gPiA+ICAgICBbNV06IGh0dHBzOi8vaW50 ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktaWNsLXUzL2lndEBn ZW1fYmFzaWNAY3JlYXRlLWNsb3NlLmh0bWwKPiA+ID4gICAgIFs2XTogaHR0cHM6Ly9pbnRlbC1n ZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmktaWNsLXUzL2lndEBn ZW1fYmFzaWNAY3JlYXRlLWNsb3NlLmh0bWwKPiA+ID4gCj4gPiA+ICAgICogaWd0QGdlbV9jdHhf c3dpdGNoQGJhc2ljLWRlZmF1bHQ6Cj4gPiA+ICAgICAgLSBmaS1pY2wtZ3VjOiAgICAgICAgIFtQ QVNTXVs3XSAtPiBbSU5DT01QTEVURV1bOF0gKFtmZG8jMTA3NzEzXSAvIFtmZG8jMTA4NTY5XSkK PiA+ID4gICAgIFs3XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9D SV9EUk1fNjM1OC9maS1pY2wtZ3VjL2lndEBnZW1fY3R4X3N3aXRjaEBiYXNpYy1kZWZhdWx0Lmh0 bWwKPiA+ID4gICAgIFs4XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRp cC9QYXRjaHdvcmtfMTM0MzgvZmktaWNsLWd1Yy9pZ3RAZ2VtX2N0eF9zd2l0Y2hAYmFzaWMtZGVm YXVsdC5odG1sCj4gPiA+IAo+ID4gPiAgICAqIGlndEBnZW1fZXhlY19jcmVhdGVAYmFzaWM6Cj4g PiA+ICAgICAgLSBmaS1pY2wtdTI6ICAgICAgICAgIFtQQVNTXVs5XSAtPiBbSU5DT01QTEVURV1b MTBdIChbZmRvIzEwNzcxM10pCj4gPiA+ICAgICBbOV06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAx Lm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktaWNsLXUyL2lndEBnZW1fZXhlY19jcmVh dGVAYmFzaWMuaHRtbAo+ID4gPiAgICAgWzEwXTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3Jn L3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmktaWNsLXUyL2lndEBnZW1fZXhlY19jcmVh dGVAYmFzaWMuaHRtbAo+ID4gPiAKPiA+ID4gICAgKiBpZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMt YnVzeS1kZWZhdWx0Ogo+ID4gPiAgICAgIC0gZmktYmxiLWU2ODUwOiAgICAgICBbUEFTU11bMTFd IC0+IFtETUVTRy1XQVJOXVsxMl0gKFtmZG8jMTEwOTEzIF0pCj4gPiA+ICAgICBbMTFdOiBodHRw czovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL0NJX0RSTV82MzU4L2ZpLWJsYi1l Njg1MC9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAg IFsxMl06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3Jr XzEzNDM4L2ZpLWJsYi1lNjg1MC9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0 Lmh0bWwKPiA+ID4gICAgICAtIGZpLWNmbC1ndWM6ICAgICAgICAgW1BBU1NdWzEzXSAtPiBbRE1F U0ctV0FSTl1bMTRdIChbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAgWzEzXTogaHR0cHM6Ly9pbnRl bC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1OC9maS1jZmwtZ3VjL2lndEBn ZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgWzE0XTogaHR0 cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmkt Y2ZsLWd1Yy9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4g ICAgICAtIGZpLXNrbC1ndWM6ICAgICAgICAgW1BBU1NdWzE1XSAtPiBbRE1FU0ctV0FSTl1bMTZd IChbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAgWzE1XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEu b3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1OC9maS1za2wtZ3VjL2lndEBnZW1fZXhlY19mZW5j ZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgWzE2XTogaHR0cHM6Ly9pbnRlbC1n ZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmktc2tsLWd1Yy9pZ3RA Z2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgICAtIGZpLWFw bC1ndWM6ICAgICAgICAgW1BBU1NdWzE3XSAtPiBbRE1FU0ctV0FSTl1bMThdIChbZmRvIzExMDkx MyBdKQo+ID4gPiAgICAgWzE3XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJt LXRpcC9DSV9EUk1fNjM1OC9maS1hcGwtZ3VjL2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5 LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgWzE4XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3Jn L3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmktYXBsLWd1Yy9pZ3RAZ2VtX2V4ZWNfZmVu Y2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgICAtIGZpLWhzdy00NzcwcjogICAg ICAgW1BBU1NdWzE5XSAtPiBbRE1FU0ctV0FSTl1bMjBdIChbZmRvIzExMDkxMyBdKQo+ID4gPiAg ICAgWzE5XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1f NjM1OC9maS1oc3ctNDc3MHIvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5o dG1sCj4gPiA+ICAgICBbMjBdOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0t dGlwL1BhdGNod29ya18xMzQzOC9maS1oc3ctNDc3MHIvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2lj LWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICAgLSBmaS1nbGstZHNpOiAgICAgICAgIFtQQVNT XVsyMV0gLT4gW0RNRVNHLVdBUk5dWzIyXSAoW2ZkbyMxMTA5MTMgXSkKPiA+ID4gICAgIFsyMV06 IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmkt Z2xrLWRzaS9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4g ICAgIFsyMl06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3 b3JrXzEzNDM4L2ZpLWdsay1kc2kvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVs dC5odG1sCj4gPiA+ICAgICAgLSBmaS1wbnYtZDUxMDogICAgICAgIFtQQVNTXVsyM10gLT4gW0RN RVNHLVdBUk5dWzI0XSAoW2ZkbyMxMTA5MTMgXSkKPiA+ID4gICAgIFsyM106IGh0dHBzOi8vaW50 ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktcG52LWQ1MTAvaWd0 QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICBbMjRdOiBo dHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQzOC9m aS1wbnYtZDUxMC9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ ID4gICAgICAtIGZpLXNrbC02NjAwdTogICAgICAgW1BBU1NdWzI1XSAtPiBbRE1FU0ctV0FSTl1b MjZdIChbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAgWzI1XTogaHR0cHM6Ly9pbnRlbC1nZngtY2ku MDEub3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1OC9maS1za2wtNjYwMHUvaWd0QGdlbV9leGVj X2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICBbMjZdOiBodHRwczovL2lu dGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQzOC9maS1za2wtNjYw MHUvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICAg LSBmaS1oc3ctcGVwcHk6ICAgICAgIFtQQVNTXVsyN10gLT4gW0RNRVNHLVdBUk5dWzI4XSAoW2Zk byMxMTA5MTMgXSkKPiA+ID4gICAgIFsyN106IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90 cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktaHN3LXBlcHB5L2lndEBnZW1fZXhlY19mZW5jZUBi YXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgWzI4XTogaHR0cHM6Ly9pbnRlbC1nZngt Y2kuMDEub3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmktaHN3LXBlcHB5L2lndEBn ZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgIC0gZmkta2Js LXgxMjc1OiAgICAgICBbUEFTU11bMjldIC0+IFtETUVTRy1XQVJOXVszMF0gKFtmZG8jMTEwOTEz IF0pCj4gPiA+ICAgICBbMjldOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0t dGlwL0NJX0RSTV82MzU4L2ZpLWtibC14MTI3NS9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVz eS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgIFszMF06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9y Zy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLWtibC14MTI3NS9pZ3RAZ2VtX2V4ZWNf ZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgICAtIGZpLWNmbC04NzAwazog ICAgICAgW1BBU1NdWzMxXSAtPiBbRE1FU0ctV0FSTl1bMzJdIChbZmRvIzExMDkxMyBdKQo+ID4g PiAgICAgWzMxXTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9E Uk1fNjM1OC9maS1jZmwtODcwMGsvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVs dC5odG1sCj4gPiA+ICAgICBbMzJdOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9k cm0tdGlwL1BhdGNod29ya18xMzQzOC9maS1jZmwtODcwMGsvaWd0QGdlbV9leGVjX2ZlbmNlQGJh c2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICAgLSBmaS1pY2wtZHNpOiAgICAgICAgIFtQ QVNTXVszM10gLT4gW0RNRVNHLVdBUk5dWzM0XSAoW2ZkbyMxMTA5MTMgXSkKPiA+ID4gICAgIFsz M106IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgv ZmktaWNsLWRzaS9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ ID4gICAgIFszNF06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0 Y2h3b3JrXzEzNDM4L2ZpLWljbC1kc2kvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVm YXVsdC5odG1sCj4gPiA+ICAgICAgLSBmaS1iZHctNTU1N3U6ICAgICAgIFtQQVNTXVszNV0gLT4g W0RNRVNHLVdBUk5dWzM2XSAoW2ZkbyMxMTA5MTMgXSkKPiA+ID4gICAgIFszNV06IGh0dHBzOi8v aW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktYmR3LTU1NTd1 L2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgWzM2 XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0 MzgvZmktYmR3LTU1NTd1L2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRt bAo+ID4gPiAgICAgIC0gZmkta2JsLTc1MDB1OiAgICAgICBbUEFTU11bMzddIC0+IFtETUVTRy1X QVJOXVszOF0gKFtmZG8jMTEwOTEzIF0pCj4gPiA+ICAgICBbMzddOiBodHRwczovL2ludGVsLWdm eC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL0NJX0RSTV82MzU4L2ZpLWtibC03NTAwdS9pZ3RAZ2Vt X2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgIFszOF06IGh0dHBz Oi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLWti bC03NTAwdS9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4g ICAgICAtIGZpLWtibC04ODA5ZzogICAgICAgW1BBU1NdWzM5XSAtPiBbRE1FU0ctV0FSTl1bNDBd IChbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAgWzM5XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEu b3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1OC9maS1rYmwtODgwOWcvaWd0QGdlbV9leGVjX2Zl bmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICBbNDBdOiBodHRwczovL2ludGVs LWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQzOC9maS1rYmwtODgwOWcv aWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICAgLSBm aS1ieHQtZHNpOiAgICAgICAgIFtQQVNTXVs0MV0gLT4gW0RNRVNHLVdBUk5dWzQyXSAoW2ZkbyMx MDkzODVdIC8gW2ZkbyMxMTA5MTMgXSkKPiA+ID4gICAgIFs0MV06IGh0dHBzOi8vaW50ZWwtZ2Z4 LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktYnh0LWRzaS9pZ3RAZ2VtX2V4 ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgIFs0Ml06IGh0dHBzOi8v aW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLWJ4dC1k c2kvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICAg LSBmaS13aGwtdTogICAgICAgICAgIFtQQVNTXVs0M10gLT4gW0RNRVNHLVdBUk5dWzQ0XSAoW2Zk byMxMTA5MTMgXSkKPiA+ID4gICAgIFs0M106IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90 cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktd2hsLXUvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2lj LWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICBbNDRdOiBodHRwczovL2ludGVsLWdmeC1jaS4w MS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQzOC9maS13aGwtdS9pZ3RAZ2VtX2V4ZWNf ZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgICAtIGZpLXNrbC1ndnRkdm06 ICAgICAgW1BBU1NdWzQ1XSAtPiBbRE1FU0ctV0FSTl1bNDZdIChbZmRvIzExMDkxMyBdKQo+ID4g PiAgICAgWzQ1XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9E Uk1fNjM1OC9maS1za2wtZ3Z0ZHZtL2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1 bHQuaHRtbAo+ID4gPiAgICAgWzQ2XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUv ZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmktc2tsLWd2dGR2bS9pZ3RAZ2VtX2V4ZWNfZmVuY2VA YmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgICAtIGZpLWNtbC11OiAgICAgICAgICAg W1BBU1NdWzQ3XSAtPiBbRE1FU0ctV0FSTl1bNDhdIChbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAg WzQ3XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1 OC9maS1jbWwtdS9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ ID4gICAgIFs0OF06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0 Y2h3b3JrXzEzNDM4L2ZpLWNtbC11L2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1 bHQuaHRtbAo+ID4gPiAgICAgIC0gZmktYnN3LW4zMDUwOiAgICAgICBbUEFTU11bNDldIC0+IFtE TUVTRy1XQVJOXVs1MF0gKFtmZG8jMTA5Mzg1XSAvIFtmZG8jMTEwOTEzIF0pCj4gPiA+ICAgICBb NDldOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL0NJX0RSTV82MzU4 L2ZpLWJzdy1uMzA1MC9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwK PiA+ID4gICAgIFs1MF06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAv UGF0Y2h3b3JrXzEzNDM4L2ZpLWJzdy1uMzA1MC9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVz eS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgICAtIGZpLWlsay02NTA6ICAgICAgICAgW1BBU1NdWzUx XSAtPiBbRE1FU0ctV0FSTl1bNTJdIChbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAgWzUxXTogaHR0 cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1OC9maS1pbGst NjUwL2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAg WzUyXTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtf MTM0MzgvZmktaWxrLTY1MC9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0 bWwKPiA+ID4gICAgICAtIGZpLWhzdy00NzcwOiAgICAgICAgW1BBU1NdWzUzXSAtPiBbRE1FU0ct V0FSTl1bNTRdIChbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAgWzUzXTogaHR0cHM6Ly9pbnRlbC1n ZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1OC9maS1oc3ctNDc3MC9pZ3RAZ2Vt X2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgIFs1NF06IGh0dHBz Oi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLWhz dy00NzcwL2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAg ICAgIC0gZmktYmR3LWd2dGR2bTogICAgICBbUEFTU11bNTVdIC0+IFtETUVTRy1XQVJOXVs1Nl0g KFtmZG8jMTEwOTEzIF0pCj4gPiA+ICAgICBbNTVdOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5v cmcvdHJlZS9kcm0tdGlwL0NJX0RSTV82MzU4L2ZpLWJkdy1ndnRkdm0vaWd0QGdlbV9leGVjX2Zl bmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICBbNTZdOiBodHRwczovL2ludGVs LWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQzOC9maS1iZHctZ3Z0ZHZt L2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgIC0g Zmktc2tsLWlvbW11OiAgICAgICBbUEFTU11bNTddIC0+IFtETUVTRy1XQVJOXVs1OF0gKFtmZG8j MTEwOTEzIF0pCj4gPiA+ICAgICBbNTddOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJl ZS9kcm0tdGlwL0NJX0RSTV82MzU4L2ZpLXNrbC1pb21tdS9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFz aWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgIFs1OF06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNp LjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLXNrbC1pb21tdS9pZ3RAZ2Vt X2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgICAtIGZpLWtibC03 NTY3dTogICAgICAgW1BBU1NdWzU5XSAtPiBbRE1FU0ctV0FSTl1bNjBdIChbZmRvIzExMDkxMyBd KQo+ID4gPiAgICAgWzU5XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRp cC9DSV9EUk1fNjM1OC9maS1rYmwtNzU2N3UvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3kt ZGVmYXVsdC5odG1sCj4gPiA+ICAgICBbNjBdOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcv dHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQzOC9maS1rYmwtNzU2N3UvaWd0QGdlbV9leGVjX2Zl bmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICAgLSBmaS1pdmItMzc3MDogICAg ICAgIFtQQVNTXVs2MV0gLT4gW0RNRVNHLVdBUk5dWzYyXSAoW2ZkbyMxMTA5MTMgXSkKPiA+ID4g ICAgIFs2MV06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJN XzYzNTgvZmktaXZiLTM3NzAvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5o dG1sCj4gPiA+ICAgICBbNjJdOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0t dGlwL1BhdGNod29ya18xMzQzOC9maS1pdmItMzc3MC9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMt YnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgICAtIGZpLXNuYi0yNTIwbTogICAgICAgW1BBU1Nd WzYzXSAtPiBbRE1FU0ctV0FSTl1bNjRdIChbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAgWzYzXTog aHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1OC9maS1z bmItMjUyMG0vaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ ICAgICBbNjRdOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNo d29ya18xMzQzOC9maS1zbmItMjUyMG0vaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVm YXVsdC5odG1sCj4gPiA+ICAgICAgLSBmaS1rYmwtZ3VjOiAgICAgICAgIFtQQVNTXVs2NV0gLT4g W0RNRVNHLVdBUk5dWzY2XSAoW2ZkbyMxMTA5MTMgXSkKPiA+ID4gICAgIFs2NV06IGh0dHBzOi8v aW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmkta2JsLWd1Yy9p Z3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgIFs2Nl06 IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4 L2ZpLWtibC1ndWMvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4g PiA+ICAgICAgLSBmaS1ic3cta2Vma2E6ICAgICAgIFtQQVNTXVs2N10gLT4gW0RNRVNHLVdBUk5d WzY4XSAoW2ZkbyMxMDkzODVdIC8gW2ZkbyMxMTA5MTMgXSkKPiA+ID4gICAgIFs2N106IGh0dHBz Oi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktYnN3LWtl ZmthL2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAg WzY4XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtf MTM0MzgvZmktYnN3LWtlZmthL2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQu aHRtbAo+ID4gPiAgICAgIC0gZmkta2JsLXI6ICAgICAgICAgICBbUEFTU11bNjldIC0+IFtETUVT Ry1XQVJOXVs3MF0gKFtmZG8jMTEwOTEzIF0pCj4gPiA+ICAgICBbNjldOiBodHRwczovL2ludGVs LWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL0NJX0RSTV82MzU4L2ZpLWtibC1yL2lndEBnZW1f ZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgWzcwXTogaHR0cHM6 Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmkta2Js LXIvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICAg LSBmaS1za2wtNjc3MGhxOiAgICAgIFtQQVNTXVs3MV0gLT4gW0RNRVNHLVdBUk5dWzcyXSAoW2Zk byMxMTA5MTMgXSkKPiA+ID4gICAgIFs3MV06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90 cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktc2tsLTY3NzBocS9pZ3RAZ2VtX2V4ZWNfZmVuY2VA YmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgIFs3Ml06IGh0dHBzOi8vaW50ZWwtZ2Z4 LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLXNrbC02NzcwaHEvaWd0 QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICAgLSBmaS1i eXQtbjI4MjA6ICAgICAgIFtQQVNTXVs3M10gLT4gW0RNRVNHLVdBUk5dWzc0XSAoW2ZkbyMxMTA5 MTMgXSkKPiA+ID4gICAgIFs3M106IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2Ry bS10aXAvQ0lfRFJNXzYzNTgvZmktYnl0LW4yODIwL2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1i dXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgWzc0XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEu b3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0MzgvZmktYnl0LW4yODIwL2lndEBnZW1fZXhl Y19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgIC0gZmktY2ZsLTgxMDl1 OiAgICAgICBbUEFTU11bNzVdIC0+IFtETUVTRy1XQVJOXVs3Nl0gKFtmZG8jMTEwOTEzIF0pCj4g PiA+ICAgICBbNzVdOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL0NJ X0RSTV82MzU4L2ZpLWNmbC04MTA5dS9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZh dWx0Lmh0bWwKPiA+ID4gICAgIFs3Nl06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVl L2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLWNmbC04MTA5dS9pZ3RAZ2VtX2V4ZWNfZmVuY2VA YmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgICAtIGZpLWljbC11MzogICAgICAgICAg W1BBU1NdWzc3XSAtPiBbRE1FU0ctV0FSTl1bNzhdIChbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAg Wzc3XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1 OC9maS1pY2wtdTMvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4g PiA+ICAgICBbNzhdOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1Bh dGNod29ya18xMzQzOC9maS1pY2wtdTMvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVm YXVsdC5odG1sCj4gPiA+ICAgICAgLSBmaS1ieXQtajE5MDA6ICAgICAgIFtQQVNTXVs3OV0gLT4g W0RNRVNHLVdBUk5dWzgwXSAoW2ZkbyMxMTA5MTMgXSkKPiA+ID4gICAgIFs3OV06IGh0dHBzOi8v aW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktYnl0LWoxOTAw L2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRtbAo+ID4gPiAgICAgWzgw XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9QYXRjaHdvcmtfMTM0 MzgvZmktYnl0LWoxOTAwL2lndEBnZW1fZXhlY19mZW5jZUBiYXNpYy1idXN5LWRlZmF1bHQuaHRt bAo+ID4gPiAgICAgIC0gZmktc2tsLTYyNjB1OiAgICAgICBbUEFTU11bODFdIC0+IFtETUVTRy1X QVJOXVs4Ml0gKFtmZG8jMTEwOTEzIF0pCj4gPiA+ICAgICBbODFdOiBodHRwczovL2ludGVsLWdm eC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL0NJX0RSTV82MzU4L2ZpLXNrbC02MjYwdS9pZ3RAZ2Vt X2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgIFs4Ml06IGh0dHBz Oi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLXNr bC02MjYwdS9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4g ICAgICAtIGZpLWJ4dC1qNDIwNTogICAgICAgW1BBU1NdWzgzXSAtPiBbRE1FU0ctV0FSTl1bODRd IChbZmRvIzEwOTM4NV0gLyBbZmRvIzExMDkxMyBdKQo+ID4gPiAgICAgWzgzXTogaHR0cHM6Ly9p bnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1OC9maS1ieHQtajQyMDUv aWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICBbODRd OiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQz OC9maS1ieHQtajQyMDUvaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1s Cj4gPiA+ICAgICAgLSBmaS1zbmItMjYwMDogICAgICAgIFtQQVNTXVs4NV0gLT4gW0RNRVNHLVdB Uk5dWzg2XSAoW2ZkbyMxMTA5MTMgXSkKPiA+ID4gICAgIFs4NV06IGh0dHBzOi8vaW50ZWwtZ2Z4 LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYzNTgvZmktc25iLTI2MDAvaWd0QGdlbV9l eGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICBbODZdOiBodHRwczov L2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQzOC9maS1zbmIt MjYwMC9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtYnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAg ICAtIGZpLWVsay1lNzUwMDogICAgICAgW1BBU1NdWzg3XSAtPiBbRE1FU0ctV0FSTl1bODhdIChb ZmRvIzExMDkxMyBdKQo+ID4gPiAgICAgWzg3XTogaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3Jn L3RyZWUvZHJtLXRpcC9DSV9EUk1fNjM1OC9maS1lbGstZTc1MDAvaWd0QGdlbV9leGVjX2ZlbmNl QGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICBbODhdOiBodHRwczovL2ludGVsLWdm eC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL1BhdGNod29ya18xMzQzOC9maS1lbGstZTc1MDAvaWd0 QGdlbV9leGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+ICAgICAgLSBmaS1z a2wtNjcwMGsyOiAgICAgIFtQQVNTXVs4OV0gLT4gW0RNRVNHLVdBUk5dWzkwXSAoW2ZkbyMxMTA5 MTMgXSkKPiA+ID4gICAgIFs4OV06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2Ry bS10aXAvQ0lfRFJNXzYzNTgvZmktc2tsLTY3MDBrMi9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMt YnVzeS1kZWZhdWx0Lmh0bWwKPiA+ID4gICAgIFs5MF06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAx Lm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLXNrbC02NzAwazIvaWd0QGdlbV9l eGVjX2ZlbmNlQGJhc2ljLWJ1c3ktZGVmYXVsdC5odG1sCj4gPiA+IAo+ID4gPiAjIyMjIFBvc3Np YmxlIGZpeGVzICMjIyMKPiA+ID4gCj4gPiA+ICAgICogaWd0QGdlbV9leGVjX2ZlbmNlQGJhc2lj LXdhaXQtZGVmYXVsdDoKPiA+ID4gICAgICAtIGZpLWljbC11MzogICAgICAgICAgW0RNRVNHLVdB Uk5dWzkxXSAoW2ZkbyMxMDc3MjRdKSAtPiBbUEFTU11bOTJdICsyIHNpbWlsYXIgaXNzdWVzCj4g PiA+ICAgICBbOTFdOiBodHRwczovL2ludGVsLWdmeC1jaS4wMS5vcmcvdHJlZS9kcm0tdGlwL0NJ X0RSTV82MzU4L2ZpLWljbC11My9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMtd2FpdC1kZWZhdWx0 Lmh0bWwKPiA+ID4gICAgIFs5Ml06IGh0dHBzOi8vaW50ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2Ry bS10aXAvUGF0Y2h3b3JrXzEzNDM4L2ZpLWljbC11My9pZ3RAZ2VtX2V4ZWNfZmVuY2VAYmFzaWMt d2FpdC1kZWZhdWx0Lmh0bWwKPiA+ID4gCj4gPiA+ICAgIHtuYW1lfTogVGhpcyBlbGVtZW50IGlz IHN1cHByZXNzZWQuIFRoaXMgbWVhbnMgaXQgaXMgaWdub3JlZCB3aGVuIGNvbXB1dGluZwo+ID4g PiAgICAgICAgICAgIHRoZSBzdGF0dXMgb2YgdGhlIGRpZmZlcmVuY2UgKFNVQ0NFU1MsIFdBUk5J TkcsIG9yIEZBSUxVUkUpLgo+ID4gPiAKPiA+ID4gICAgW2ZkbyMxMDc3MTNdOiBodHRwczovL2J1 Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc3MTMKPiA+ID4gICAgW2ZkbyMx MDc3MjRdOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDc3 MjQKPiA+ID4gICAgW2ZkbyMxMDg1NjldOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3No b3dfYnVnLmNnaT9pZD0xMDg1NjkKPiA+ID4gICAgW2ZkbyMxMDkzODVdOiBodHRwczovL2J1Z3Mu ZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkzODUKPiA+ID4gICAgW2ZkbyMxMTA5 MTMgXTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwOTEz Cj4gPiA+IAo+ID4gPiAKPiA+ID4gUGFydGljaXBhdGluZyBob3N0cyAoNTQgLT4gNDYpCj4gPiA+ IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAKPiA+ID4gICAgQWRkaXRpb25h bCAoMSk6IGZpLWNtbC11Mgo+ID4gPiAgICBNaXNzaW5nICAgICg5KTogZmkta2JsLXNvcmFrYSBm aS1pbGstbTU0MCBmaS1oc3ctNDIwMHUgZmktYnl0LXNxdWF3a3MgZmktYnN3LWN5YW4gZmktY3Rn LXA4NjAwIGZpLWljbC15IGZpLWJ5dC1jbGFwcGVyIGZpLWJkdy1zYW11cwo+ID4gPiAKPiA+ID4g Cj4gPiA+IEJ1aWxkIGNoYW5nZXMKPiA+ID4gLS0tLS0tLS0tLS0tLQo+ID4gPiAKPiA+ID4gICAg KiBMaW51eDogQ0lfRFJNXzYzNTggLT4gUGF0Y2h3b3JrXzEzNDM4Cj4gPiA+IAo+ID4gPiAgICBD SV9EUk1fNjM1ODogMzQ1NDQ1NGIxNDZjZDlmNjg0ZmViMDdhYjlkZmY2MWRjODc1YTAyMiBAIGdp dDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dmeC1jaS9saW51eAo+ID4gPiAgICBJR1RfNTA2 ODogMTVhZDY2NDUzNDQxMzYyOGYwNmMwZjE3MmFhYzExNTk4YmZkYjg5NSBAIGdpdDovL2Fub25n aXQuZnJlZWRlc2t0b3Aub3JnL3hvcmcvYXBwL2ludGVsLWdwdS10b29scwo+ID4gPiAgICBQYXRj aHdvcmtfMTM0Mzg6IGZiZjk5MjVlM2UwMjIwMjk2YzQyMjYwNzI5ZGZmNWNjOWQ1ZDRjODQgQCBn aXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9nZngtY2kvbGludXgKPiA+ID4gCj4gPiA+IAo+ ID4gPiA9PSBMaW51eCBjb21taXRzID09Cj4gPiA+IAo+ID4gPiBmYmY5OTI1ZTNlMDIgZHJtL2Ft ZGdwdTogYWRkIGluZGVwZW5kZW50IERNQS1idWYgaW1wb3J0IHY3Cj4gPiA+IDEzYjliZWYwNTZj MCBkcm0vYW1kZ3B1OiBhZGQgaW5kZXBlbmRlbnQgRE1BLWJ1ZiBleHBvcnQgdjYKPiA+ID4gYjBk N2E5N2NiMzYyIGRybS9hbWRncHU6IHVzZSBhbGxvd2VkX2RvbWFpbnMgZm9yIGV4cG9ydGVkIERN QS1idWZzCj4gPiA+IDQ2MjRlNGY0NmEwNSBkcm0vdHRtOiB1c2UgdGhlIHBhcmVudCByZXN2IGZv ciBnaG9zdCBvYmplY3RzIHYyCj4gPiA+IDhmODQ0NWZhNjIxOSBkcm0vdHRtOiByZW1vdmUgdGhl IGJhY2tpbmcgc3RvcmUgaWYgbm8gcGxhY2VtZW50IGlzIGdpdmVuCj4gPiA+IDZkMDlhN2RlMzk2 OSBkbWEtYnVmOiBhZGQgZHluYW1pYyBETUEtYnVmIGhhbmRsaW5nIHYxMwo+ID4gPiAKPiA+ID4g PT0gTG9ncyA9PQo+ID4gPiAKPiA+ID4gRm9yIG1vcmUgZGV0YWlscyBzZWU6IGh0dHBzOi8vaW50 ZWwtZ2Z4LWNpLjAxLm9yZy90cmVlL2RybS10aXAvUGF0Y2h3b3JrXzEzNDM4Lwo+ID4gCj4gCj4g LS0gCj4gRGFuaWVsIFZldHRlcgo+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlv bgo+IGh0dHA6Ly9ibG9nLmZmd2xsLmNoCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdp bmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs