From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59967) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1coqL9-0007mu-WE for qemu-devel@nongnu.org; Fri, 17 Mar 2017 07:46:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1coqL5-0002Sl-Hx for qemu-devel@nongnu.org; Fri, 17 Mar 2017 07:46:39 -0400 Resent-Message-Id: Received: from sender-of-o52.zoho.com ([135.84.80.217]:21426) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1coqL5-0002Rw-AV for qemu-devel@nongnu.org; Fri, 17 Mar 2017 07:46:35 -0400 Reply-To: Message-ID: <148975117171.99.89031755055197830@6c512846dbc7> In-Reply-To: <1489750157-17401-1-git-send-email-tianyu.lan@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 From: no-reply@patchew.org Date: Fri, 17 Mar 2017 04:46:12 -0700 (PDT) Subject: Re: [Qemu-devel] [RFC PATCH 0/4] Qemu: Add Xen vIOMMU support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tianyu.lan@intel.com Cc: famz@redhat.com, qemu-devel@nongnu.org, xen-devel@lists.xensource.com, kevin.tian@intel.com, sstabellini@kernel.org, ehabkost@redhat.com, mst@redhat.com, marcel@redhat.com, anthony.perard@citrix.com, pbonzini@redhat.com, rth@twiddle.net, chao.gao@intel.com SGksCgpUaGlzIHNlcmllcyBzZWVtcyB0byBoYXZlIHNvbWUgY29kaW5nIHN0eWxlIHByb2JsZW1z LiBTZWUgb3V0cHV0IGJlbG93IGZvcgptb3JlIGluZm9ybWF0aW9uOgoKTWVzc2FnZS1pZDogMTQ4 OTc1MDE1Ny0xNzQwMS0xLWdpdC1zZW5kLWVtYWlsLXRpYW55dS5sYW5AaW50ZWwuY29tClN1Ympl Y3Q6IFtRZW11LWRldmVsXSBbUkZDIFBBVENIIDAvNF0gUWVtdTogQWRkIFhlbiB2SU9NTVUgc3Vw cG9ydApUeXBlOiBzZXJpZXMKCj09PSBURVNUIFNDUklQVCBCRUdJTiA9PT0KIyEvYmluL2Jhc2gK CkJBU0U9YmFzZQpuPTEKdG90YWw9JChnaXQgbG9nIC0tb25lbGluZSAkQkFTRS4uIHwgd2MgLWwp CmZhaWxlZD0wCgojIFVzZWZ1bCBnaXQgb3B0aW9ucwpnaXQgY29uZmlnIC0tbG9jYWwgZGlmZi5y ZW5hbWVsaW1pdCAwCmdpdCBjb25maWcgLS1sb2NhbCBkaWZmLnJlbmFtZXMgVHJ1ZQoKY29tbWl0 cz0iJChnaXQgbG9nIC0tZm9ybWF0PSVIIC0tcmV2ZXJzZSAkQkFTRS4uKSIKZm9yIGMgaW4gJGNv bW1pdHM7IGRvCiAgICBlY2hvICJDaGVja2luZyBQQVRDSCAkbi8kdG90YWw6ICQoZ2l0IGxvZyAt biAxIC0tZm9ybWF0PSVzICRjKS4uLiIKICAgIGlmICEgZ2l0IHNob3cgJGMgLS1mb3JtYXQ9ZW1h aWwgfCAuL3NjcmlwdHMvY2hlY2twYXRjaC5wbCAtLW1haWxiYWNrIC07IHRoZW4KICAgICAgICBm YWlsZWQ9MQogICAgICAgIGVjaG8KICAgIGZpCiAgICBuPSQoKG4rMSkpCmRvbmUKCmV4aXQgJGZh aWxlZAo9PT0gVEVTVCBTQ1JJUFQgRU5EID09PQoKVXBkYXRpbmcgM2M4Y2Y1YTljMjFmZjg3ODIx NjRkMWRlZjdmNDRiZDg4ODcxMzM4NApGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXRjaGV3LXBy b2plY3QvcWVtdQogKiBbbmV3IHRhZ10gICAgICAgICBwYXRjaGV3LzE0ODk3NTAxNTctMTc0MDEt MS1naXQtc2VuZC1lbWFpbC10aWFueXUubGFuQGludGVsLmNvbSAtPiBwYXRjaGV3LzE0ODk3NTAx NTctMTc0MDEtMS1naXQtc2VuZC1lbWFpbC10aWFueXUubGFuQGludGVsLmNvbQpTd2l0Y2hlZCB0 byBhIG5ldyBicmFuY2ggJ3Rlc3QnCjBmMTYwMjIgbXNpOiB0YWtpbmcgaW50ZXJydXB0IGZvcm1h dCBpbnRvIGNvbnNpZGVyYXRpb24gZHVyaW5nIGp1ZGdpbmcgYSBwaXJxIGlzIGJpbmRlZCB3aXRo IGEgZXZlbnQgY2hhbm5lbAo2MmI2MzUzIHhlbi1wdDogYmluZC91bmJpbmQgaW50ZXJydXB0IHJl bWFwcGluZyBmb3JtYXQgTVNJCjA5MDBmMmIgWGVuOiBhZGQgYSBkdW1teSB2SU9NTVUgdG8gY3Jl YXRlL2Rlc3Ryb3kgdklPTU1VIGluIFhlbgo3Y2IzZTA2IEk0NDA6IEFsbG93IGFkZGluZyBzeXNi dXMgZGV2aWNlcyB3aXRoIC1kZXZpY2Ugb24gSTQ0MAoKPT09IE9VVFBVVCBCRUdJTiA9PT0KQ2hl Y2tpbmcgUEFUQ0ggMS80OiBJNDQwOiBBbGxvdyBhZGRpbmcgc3lzYnVzIGRldmljZXMgd2l0aCAt ZGV2aWNlIG9uIEk0NDAuLi4KQ2hlY2tpbmcgUEFUQ0ggMi80OiBYZW46IGFkZCBhIGR1bW15IHZJ T01NVSB0byBjcmVhdGUvZGVzdHJveSB2SU9NTVUgaW4gWGVuLi4uCkVSUk9SOiB0cmFpbGluZyB3 aGl0ZXNwYWNlCiM3NTogRklMRTogaHcveGVuL3hlbl92aW9tbXUuYzo0ODoKKyAgICAkCgpFUlJP UjogdHJhaWxpbmcgd2hpdGVzcGFjZQojNzk6IEZJTEU6IGh3L3hlbi94ZW5fdmlvbW11LmM6NTI6 CisgICAgcmMgPSB4ZW5zdG9yZV9yZWFkX3VpbnQ2NCh2aW9tbXVfcGF0aCwgImJhc2VfYWRkciIs ICZzLT5iYXNlX2FkZHIpOyAgJAoKRVJST1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzExNjogRklM RTogaHcveGVuL3hlbl92aW9tbXUuYzo4OToKKyAgICAgICAgcmMgPSB4Y192aW9tbXVfZGVzdHJv eSh4ZW5feGMsIHhlbl9kb21pZCwgcy0+aWQpOyAkCgpFUlJPUjogdHJhaWxpbmcgd2hpdGVzcGFj ZQojMTQwOiBGSUxFOiBody94ZW4veGVuX3Zpb21tdS5jOjExMzoKKyAgICB0eXBlX3JlZ2lzdGVy X3N0YXRpYygmeGVuX3Zpb21tdV9pbmZvKTsgJAoKdG90YWw6IDQgZXJyb3JzLCAwIHdhcm5pbmdz LCAxMjAgbGluZXMgY2hlY2tlZAoKWW91ciBwYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFz ZSByZXZpZXcuICBJZiBhbnkgb2YgdGhlc2UgZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2ZXMgcmVw b3J0IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZQpDSEVDS1BBVENIIGluIE1BSU5UQUlORVJT LgoKQ2hlY2tpbmcgUEFUQ0ggMy80OiB4ZW4tcHQ6IGJpbmQvdW5iaW5kIGludGVycnVwdCByZW1h cHBpbmcgZm9ybWF0IE1TSS4uLgpFUlJPUjogZWxzZSBzaG91bGQgZm9sbG93IGNsb3NlIGJyYWNl ICd9JwojMzY6IEZJTEU6IGh3L3hlbi94ZW5fcHRfbXNpLmM6MTc5OgorICAgIH0KKyAgICBlbHNl IHsKCkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGFmdGVyIHRoYXQgb3BlbiBwYXJlbnRoZXNpcyAn KCcKIzU0OiBGSUxFOiBody94ZW4veGVuX3B0X21zaS5jOjIxNDoKKyAgICAgICAgaWYgKCBhZGRy ICYgTVNJX0FERFJfSU1fTUFTSyApIHsKCkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGJlZm9yZSB0 aGF0IGNsb3NlIHBhcmVudGhlc2lzICcpJwojNTQ6IEZJTEU6IGh3L3hlbi94ZW5fcHRfbXNpLmM6 MjE0OgorICAgICAgICBpZiAoIGFkZHIgJiBNU0lfQUREUl9JTV9NQVNLICkgewoKV0FSTklORzog bGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzU1OiBGSUxFOiBody94ZW4veGVuX3B0X21zaS5jOjIx NToKKyAgICAgICAgICAgIFhFTl9QVF9MT0coZCwgIlVuYmluZGluZyBvZiBNU0klcyAuICggcGly cTogJWQsIGRhdGE6ICV4LCBhZGRyOiAlbHgpXG4iLAoKRVJST1I6IGxpbmUgb3ZlciA5MCBjaGFy YWN0ZXJzCiM2MDogRklMRTogaHcveGVuL3hlbl9wdF9tc2kuYzoyMjA6CisgICAgICAgICAgICAg ICAgWEVOX1BUX0VSUihkLCAiVW5iaW5kaW5nIG9mIE1TSSVzIC4gKGVycm9yOiAlZCwgcGlycTog JWQsIGRhdGE6ICV4LCBhZGRyOiAlbHgpXG4iLAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJh Y3RlcnMKIzY4OiBGSUxFOiBody94ZW4veGVuX3B0X21zaS5jOjIyODoKKyAgICAgICAgICAgIHJj ID0geGNfZG9tYWluX3VuYmluZF9tc2lfaXJxKHhlbl94YywgeGVuX2RvbWlkLCBndmVjLCBwaXJx LCBnZmxhZ3MpOwoKRVJST1I6IGxpbmUgb3ZlciA5MCBjaGFyYWN0ZXJzCiM3MDogRklMRTogaHcv eGVuL3hlbl9wdF9tc2kuYzoyMzA6CisgICAgICAgICAgICAgICAgWEVOX1BUX0VSUihkLCAiVW5i aW5kaW5nIG9mIE1TSSVzIGZhaWxlZC4gKGVycjogJWQsIHBpcnE6ICVkLCBndmVjOiAlI3gpXG4i LAoKdG90YWw6IDUgZXJyb3JzLCAyIHdhcm5pbmdzLCA2MSBsaW5lcyBjaGVja2VkCgpZb3VyIHBh dGNoIGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4gIElmIGFueSBvZiB0aGVzZSBl cnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwg c2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgpDaGVja2luZyBQQVRDSCA0LzQ6IG1zaTog dGFraW5nIGludGVycnVwdCBmb3JtYXQgaW50byBjb25zaWRlcmF0aW9uIGR1cmluZyBqdWRnaW5n IGEgcGlycSBpcyBiaW5kZWQgd2l0aCBhIGV2ZW50IGNoYW5uZWwuLi4KRVJST1I6IHNwYWNlIHBy b2hpYml0ZWQgYWZ0ZXIgdGhhdCBvcGVuIHBhcmVudGhlc2lzICcoJwojMTExOiBGSUxFOiB4ZW4t aHZtLmM6MTU0OgorICAgIGlmICggbXNpX2FkZHJfbG8gJiAweDEwICkKCkVSUk9SOiBzcGFjZSBw cm9oaWJpdGVkIGJlZm9yZSB0aGF0IGNsb3NlIHBhcmVudGhlc2lzICcpJwojMTExOiBGSUxFOiB4 ZW4taHZtLmM6MTU0OgorICAgIGlmICggbXNpX2FkZHJfbG8gJiAweDEwICkKCkVSUk9SOiBicmFj ZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzExMTog RklMRTogeGVuLWh2bS5jOjE1NDoKKyAgICBpZiAoIG1zaV9hZGRyX2xvICYgMHgxMCApClsuLi5d Cgp0b3RhbDogMyBlcnJvcnMsIDAgd2FybmluZ3MsIDY3IGxpbmVzIGNoZWNrZWQKCllvdXIgcGF0 Y2ggaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVy cm9ycwphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBz ZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCj09PSBPVVRQVVQgRU5EID09PQoKVGVzdCBj b21tYW5kIGV4aXRlZCB3aXRoIGNvZGU6IDEKCgotLS0KRW1haWwgZ2VuZXJhdGVkIGF1dG9tYXRp Y2FsbHkgYnkgUGF0Y2hldyBbaHR0cDovL3BhdGNoZXcub3JnL10uClBsZWFzZSBzZW5kIHlvdXIg ZmVlZGJhY2sgdG8gcGF0Y2hldy1kZXZlbEBmcmVlbGlzdHMub3Jn From mboxrd@z Thu Jan 1 00:00:00 1970 From: no-reply@patchew.org Subject: Re: [Qemu-devel] [RFC PATCH 0/4] Qemu: Add Xen vIOMMU support Date: Fri, 17 Mar 2017 04:46:12 -0700 (PDT) Message-ID: <148975117171.99.89031755055197830@6c512846dbc7> References: <1489750157-17401-1-git-send-email-tianyu.lan@intel.com> Reply-To: qemu-devel@nongnu.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Resent-Message-Id: In-Reply-To: <1489750157-17401-1-git-send-email-tianyu.lan@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" Cc: tianyu.lan@intel.com, kevin.tian@intel.com, xen-devel@lists.xensource.com, famz@redhat.com, ehabkost@redhat.com, mst@redhat.com, qemu-devel@nongnu.org, anthony.perard@citrix.com, sstabellini@kernel.org, marcel@redhat.com, pbonzini@redhat.com, chao.gao@intel.com, rth@twiddle.net List-Id: xen-devel@lists.xenproject.org SGksCgpUaGlzIHNlcmllcyBzZWVtcyB0byBoYXZlIHNvbWUgY29kaW5nIHN0eWxlIHByb2JsZW1z LiBTZWUgb3V0cHV0IGJlbG93IGZvcgptb3JlIGluZm9ybWF0aW9uOgoKTWVzc2FnZS1pZDogMTQ4 OTc1MDE1Ny0xNzQwMS0xLWdpdC1zZW5kLWVtYWlsLXRpYW55dS5sYW5AaW50ZWwuY29tClN1Ympl Y3Q6IFtRZW11LWRldmVsXSBbUkZDIFBBVENIIDAvNF0gUWVtdTogQWRkIFhlbiB2SU9NTVUgc3Vw cG9ydApUeXBlOiBzZXJpZXMKCj09PSBURVNUIFNDUklQVCBCRUdJTiA9PT0KIyEvYmluL2Jhc2gK CkJBU0U9YmFzZQpuPTEKdG90YWw9JChnaXQgbG9nIC0tb25lbGluZSAkQkFTRS4uIHwgd2MgLWwp CmZhaWxlZD0wCgojIFVzZWZ1bCBnaXQgb3B0aW9ucwpnaXQgY29uZmlnIC0tbG9jYWwgZGlmZi5y ZW5hbWVsaW1pdCAwCmdpdCBjb25maWcgLS1sb2NhbCBkaWZmLnJlbmFtZXMgVHJ1ZQoKY29tbWl0 cz0iJChnaXQgbG9nIC0tZm9ybWF0PSVIIC0tcmV2ZXJzZSAkQkFTRS4uKSIKZm9yIGMgaW4gJGNv bW1pdHM7IGRvCiAgICBlY2hvICJDaGVja2luZyBQQVRDSCAkbi8kdG90YWw6ICQoZ2l0IGxvZyAt biAxIC0tZm9ybWF0PSVzICRjKS4uLiIKICAgIGlmICEgZ2l0IHNob3cgJGMgLS1mb3JtYXQ9ZW1h aWwgfCAuL3NjcmlwdHMvY2hlY2twYXRjaC5wbCAtLW1haWxiYWNrIC07IHRoZW4KICAgICAgICBm YWlsZWQ9MQogICAgICAgIGVjaG8KICAgIGZpCiAgICBuPSQoKG4rMSkpCmRvbmUKCmV4aXQgJGZh aWxlZAo9PT0gVEVTVCBTQ1JJUFQgRU5EID09PQoKVXBkYXRpbmcgM2M4Y2Y1YTljMjFmZjg3ODIx NjRkMWRlZjdmNDRiZDg4ODcxMzM4NApGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9wYXRjaGV3LXBy b2plY3QvcWVtdQogKiBbbmV3IHRhZ10gICAgICAgICBwYXRjaGV3LzE0ODk3NTAxNTctMTc0MDEt MS1naXQtc2VuZC1lbWFpbC10aWFueXUubGFuQGludGVsLmNvbSAtPiBwYXRjaGV3LzE0ODk3NTAx NTctMTc0MDEtMS1naXQtc2VuZC1lbWFpbC10aWFueXUubGFuQGludGVsLmNvbQpTd2l0Y2hlZCB0 byBhIG5ldyBicmFuY2ggJ3Rlc3QnCjBmMTYwMjIgbXNpOiB0YWtpbmcgaW50ZXJydXB0IGZvcm1h dCBpbnRvIGNvbnNpZGVyYXRpb24gZHVyaW5nIGp1ZGdpbmcgYSBwaXJxIGlzIGJpbmRlZCB3aXRo IGEgZXZlbnQgY2hhbm5lbAo2MmI2MzUzIHhlbi1wdDogYmluZC91bmJpbmQgaW50ZXJydXB0IHJl bWFwcGluZyBmb3JtYXQgTVNJCjA5MDBmMmIgWGVuOiBhZGQgYSBkdW1teSB2SU9NTVUgdG8gY3Jl YXRlL2Rlc3Ryb3kgdklPTU1VIGluIFhlbgo3Y2IzZTA2IEk0NDA6IEFsbG93IGFkZGluZyBzeXNi dXMgZGV2aWNlcyB3aXRoIC1kZXZpY2Ugb24gSTQ0MAoKPT09IE9VVFBVVCBCRUdJTiA9PT0KQ2hl Y2tpbmcgUEFUQ0ggMS80OiBJNDQwOiBBbGxvdyBhZGRpbmcgc3lzYnVzIGRldmljZXMgd2l0aCAt ZGV2aWNlIG9uIEk0NDAuLi4KQ2hlY2tpbmcgUEFUQ0ggMi80OiBYZW46IGFkZCBhIGR1bW15IHZJ T01NVSB0byBjcmVhdGUvZGVzdHJveSB2SU9NTVUgaW4gWGVuLi4uCkVSUk9SOiB0cmFpbGluZyB3 aGl0ZXNwYWNlCiM3NTogRklMRTogaHcveGVuL3hlbl92aW9tbXUuYzo0ODoKKyAgICAkCgpFUlJP UjogdHJhaWxpbmcgd2hpdGVzcGFjZQojNzk6IEZJTEU6IGh3L3hlbi94ZW5fdmlvbW11LmM6NTI6 CisgICAgcmMgPSB4ZW5zdG9yZV9yZWFkX3VpbnQ2NCh2aW9tbXVfcGF0aCwgImJhc2VfYWRkciIs ICZzLT5iYXNlX2FkZHIpOyAgJAoKRVJST1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzExNjogRklM RTogaHcveGVuL3hlbl92aW9tbXUuYzo4OToKKyAgICAgICAgcmMgPSB4Y192aW9tbXVfZGVzdHJv eSh4ZW5feGMsIHhlbl9kb21pZCwgcy0+aWQpOyAkCgpFUlJPUjogdHJhaWxpbmcgd2hpdGVzcGFj ZQojMTQwOiBGSUxFOiBody94ZW4veGVuX3Zpb21tdS5jOjExMzoKKyAgICB0eXBlX3JlZ2lzdGVy X3N0YXRpYygmeGVuX3Zpb21tdV9pbmZvKTsgJAoKdG90YWw6IDQgZXJyb3JzLCAwIHdhcm5pbmdz LCAxMjAgbGluZXMgY2hlY2tlZAoKWW91ciBwYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFz ZSByZXZpZXcuICBJZiBhbnkgb2YgdGhlc2UgZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2ZXMgcmVw b3J0IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZQpDSEVDS1BBVENIIGluIE1BSU5UQUlORVJT LgoKQ2hlY2tpbmcgUEFUQ0ggMy80OiB4ZW4tcHQ6IGJpbmQvdW5iaW5kIGludGVycnVwdCByZW1h cHBpbmcgZm9ybWF0IE1TSS4uLgpFUlJPUjogZWxzZSBzaG91bGQgZm9sbG93IGNsb3NlIGJyYWNl ICd9JwojMzY6IEZJTEU6IGh3L3hlbi94ZW5fcHRfbXNpLmM6MTc5OgorICAgIH0KKyAgICBlbHNl IHsKCkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGFmdGVyIHRoYXQgb3BlbiBwYXJlbnRoZXNpcyAn KCcKIzU0OiBGSUxFOiBody94ZW4veGVuX3B0X21zaS5jOjIxNDoKKyAgICAgICAgaWYgKCBhZGRy ICYgTVNJX0FERFJfSU1fTUFTSyApIHsKCkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGJlZm9yZSB0 aGF0IGNsb3NlIHBhcmVudGhlc2lzICcpJwojNTQ6IEZJTEU6IGh3L3hlbi94ZW5fcHRfbXNpLmM6 MjE0OgorICAgICAgICBpZiAoIGFkZHIgJiBNU0lfQUREUl9JTV9NQVNLICkgewoKV0FSTklORzog bGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzU1OiBGSUxFOiBody94ZW4veGVuX3B0X21zaS5jOjIx NToKKyAgICAgICAgICAgIFhFTl9QVF9MT0coZCwgIlVuYmluZGluZyBvZiBNU0klcyAuICggcGly cTogJWQsIGRhdGE6ICV4LCBhZGRyOiAlbHgpXG4iLAoKRVJST1I6IGxpbmUgb3ZlciA5MCBjaGFy YWN0ZXJzCiM2MDogRklMRTogaHcveGVuL3hlbl9wdF9tc2kuYzoyMjA6CisgICAgICAgICAgICAg ICAgWEVOX1BUX0VSUihkLCAiVW5iaW5kaW5nIG9mIE1TSSVzIC4gKGVycm9yOiAlZCwgcGlycTog JWQsIGRhdGE6ICV4LCBhZGRyOiAlbHgpXG4iLAoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJh Y3RlcnMKIzY4OiBGSUxFOiBody94ZW4veGVuX3B0X21zaS5jOjIyODoKKyAgICAgICAgICAgIHJj ID0geGNfZG9tYWluX3VuYmluZF9tc2lfaXJxKHhlbl94YywgeGVuX2RvbWlkLCBndmVjLCBwaXJx LCBnZmxhZ3MpOwoKRVJST1I6IGxpbmUgb3ZlciA5MCBjaGFyYWN0ZXJzCiM3MDogRklMRTogaHcv eGVuL3hlbl9wdF9tc2kuYzoyMzA6CisgICAgICAgICAgICAgICAgWEVOX1BUX0VSUihkLCAiVW5i aW5kaW5nIG9mIE1TSSVzIGZhaWxlZC4gKGVycjogJWQsIHBpcnE6ICVkLCBndmVjOiAlI3gpXG4i LAoKdG90YWw6IDUgZXJyb3JzLCAyIHdhcm5pbmdzLCA2MSBsaW5lcyBjaGVja2VkCgpZb3VyIHBh dGNoIGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4gIElmIGFueSBvZiB0aGVzZSBl cnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwg c2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgpDaGVja2luZyBQQVRDSCA0LzQ6IG1zaTog dGFraW5nIGludGVycnVwdCBmb3JtYXQgaW50byBjb25zaWRlcmF0aW9uIGR1cmluZyBqdWRnaW5n IGEgcGlycSBpcyBiaW5kZWQgd2l0aCBhIGV2ZW50IGNoYW5uZWwuLi4KRVJST1I6IHNwYWNlIHBy b2hpYml0ZWQgYWZ0ZXIgdGhhdCBvcGVuIHBhcmVudGhlc2lzICcoJwojMTExOiBGSUxFOiB4ZW4t aHZtLmM6MTU0OgorICAgIGlmICggbXNpX2FkZHJfbG8gJiAweDEwICkKCkVSUk9SOiBzcGFjZSBw cm9oaWJpdGVkIGJlZm9yZSB0aGF0IGNsb3NlIHBhcmVudGhlc2lzICcpJwojMTExOiBGSUxFOiB4 ZW4taHZtLmM6MTU0OgorICAgIGlmICggbXNpX2FkZHJfbG8gJiAweDEwICkKCkVSUk9SOiBicmFj ZXMge30gYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIGFybXMgb2YgdGhpcyBzdGF0ZW1lbnQKIzExMTog RklMRTogeGVuLWh2bS5jOjE1NDoKKyAgICBpZiAoIG1zaV9hZGRyX2xvICYgMHgxMCApClsuLi5d Cgp0b3RhbDogMyBlcnJvcnMsIDAgd2FybmluZ3MsIDY3IGxpbmVzIGNoZWNrZWQKCllvdXIgcGF0 Y2ggaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVy cm9ycwphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBz ZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCj09PSBPVVRQVVQgRU5EID09PQoKVGVzdCBj b21tYW5kIGV4aXRlZCB3aXRoIGNvZGU6IDEKCgotLS0KRW1haWwgZ2VuZXJhdGVkIGF1dG9tYXRp Y2FsbHkgYnkgUGF0Y2hldyBbaHR0cDovL3BhdGNoZXcub3JnL10uClBsZWFzZSBzZW5kIHlvdXIg ZmVlZGJhY2sgdG8gcGF0Y2hldy1kZXZlbEBmcmVlbGlzdHMub3JnCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=