From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zanoni, Paulo R" Subject: Re: [RFC 00/22] Add support for GuC-based SLPC Date: Wed, 3 Feb 2016 20:25:24 +0000 Message-ID: <1454531123.2538.91.camel@intel.com> References: <1453343184-160456-1-git-send-email-tom.orourke@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 27D186E7FF for ; Wed, 3 Feb 2016 12:25:29 -0800 (PST) In-Reply-To: <1453343184-160456-1-git-send-email-tom.orourke@intel.com> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "O'Rourke, Tom" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org RW0gUXVhLCAyMDE2LTAxLTIwIMOgcyAxODoyNiAtMDgwMCwgdG9tLm9yb3Vya2VAaW50ZWwuY29t IGVzY3JldmV1Og0KPiBGcm9tOiBUb20gTydSb3Vya2UgPFRvbS5PJ1JvdXJrZUBpbnRlbC5jb20+ DQo+IA0KPiBTTFBDIChTaW5nbGUgTG9vcCBQb3dlciBDb250cm9sbGVyKSBpcyBhIHJlcGxhY2Vt ZW50IGZvcg0KPiBzb21lIGhvc3QtYmFzZWQgcG93ZXIgbWFuYWdlbWVudCBmZWF0dXJlcy7CoMKg VGhlIFNMUEMNCj4gaW1wbGVtZW5hdGlvbiBydW5zIGluIGZpcm13YXJlIG9uIEd1Qy4NCj4gDQo+ IFRoaXMgc2VyaWVzIGlzIGEgZmlyc3QgcmVxdWVzdCBmb3IgY29tbWVudHMuwqDCoFRoaXMgc2Vy aWVzDQo+IGlzIG5vdCBleHBlY3RlZCB0byBiZSBtZXJnZWQuwqDCoEFmdGVyIGNoYW5nZXMgYmFz ZWQgb24NCj4gY29tbWVudHMsIGEgbGF0ZXIgcGF0Y2ggc2VyaWVzIHdpbGwgYmUgc2VudCBmb3Ig bWVyZ2luZy4NCj4gwqANCj4gVGhpcyBzZXJpZXMgaGFzIGJlZW4gdGVzdGVkIHdpdGggU0tMIGd1 YyBmaXJtd2FyZQ0KPiB2ZXJzaW9ucyA0LjMgYW5kIDQuNy7CoMKgVGhlIGdyYXBoaWNzIHBvd2Vy IG1hbmFnZW1lbnQNCj4gZmVhdHVyZXMgaW4gU0xQQyBpbiB0aG9zZSB2ZXJzaW9ucyBhcmUgREZQ UyAoRHluYW1pYyBGUFMpLA0KPiBUdXJibywgYW5kIERDQyAoRHV0eSBDeWNsZSBDb250cm9sKS7C oMKgREZQUyBhZGp1c3RzDQo+IHJlcXVlc3RlZCBncmFwaGljcyBmcmVxdWVuY3kgdG8gbWFpbnRh aW4gdGFyZ2V0IGZyYW1lcmF0ZS4NCj4gVHVyYm8gYWRqdXN0cyByZXF1ZXN0ZWQgZ3JhcGhpY3Mg ZnJlcXVlbmN5IHRvIG1haW50YWluDQo+IHRhcmdldCBHVCBidXN5bmVzcy7CoMKgRENDIGFkanVz dHMgcmVxdWVzdGVkIGdyYXBoaWNzDQo+IGZyZXF1ZW5jeSBhbmQgc3RhbGxzIGd1Yy1zY2hlZHVs ZXIgdG8gbWFpbnRhaW4gYWN0dWFsDQo+IGdyYXBoaWNzIGZyZXF1ZW5jeSBpbiBlZmZpY2llbnQg cmFuZ2UuDQo+IA0KPiBQYXRjaCAxLzIyIGlzIGluY2x1ZGVkIGloZXJlIGZvciBjb252ZW5pZW5j ZSBhbmQgc2hvdWxkIGJlDQo+IHBhcnQgb2YgYW4gZWFybGllciBzZXJpZXMuwqDCoFNMUEMgYXNz dW1lcyBndWMgZmlybXdhcmUgaGFzDQo+IGJlZW4gbG9hZGVkIGFuZCBHdUMgc3VibWlzc2lvbiBp cyBlbmFibGVkLg0KPiANCj4gUGF0Y2ggMjIvMjIgc2V0cyB0aGUgZmxhZyB0byBlbmFibGUgU0xQ QyBvbiBTS0wuwqDCoFdpdGhvdXQNCj4gdGhpcyBwYXRjaCwgdGhlIHByZXZpb3VzIHBhdGNoZXMg c2hvdWxkIGhhdmUgbm8gZWZmZWN0Lg0KPiANCj4gVklaLTY3NzMsIFZJWi02ODg5DQoNCkhpDQoN ClNvbWUgaGlnaC1sZXZlbCBjb21tZW50cyBmb3IgdGhlIHdob2xlIHNlcmllczoNCg0KSW4gbWFu eSBwbGFjZXMgdGhlcmUgYXJlIDggc3BhY2VzIGluc3RlYWQgb2YgdGFicy4NCg0KVGhlcmUgYXJl IGFsc28gc29tZSBsaW5lcyBjb250YWluaW5nIGp1c3QgYSB0YWIgY2hhcmFjdGVyLg0KDQpMb3Rz IG9mIFlvZGEgY29uZGl0aW9uczogaWYgKGNvbnN0YW50ID09IHZhcmlhYmxlKS4NCg0KU29tZSBm dW5jdGlvbnMgd291bGQgZ2V0IG11Y2ggc2ltcGxlciBpZiB0aGV5IGhhZCBlYXJseSByZXR1cm5z Lg0KDQpJIGNlcnRhaW5seSB3b3VsZG4ndCBjb21wbGFpbiBpZiB5b3UgYWxzbyBleHRyYWN0ZWQg dGhlIHJlbGV2YW50DQpycHMvcG93ZXJzYXZlIGNvZGUgb3V0IG9mIGludGVsX3BtLmMgdG8gaXRz IG93biBmaWxlIHdpdGggYSBuaWNlDQpkb2N1bWVudGF0aW9uLiBPZiBjb3Vyc2UsIHRoaXMgY291 bGQgYmUgZG9uZSBhZnRlciB0aGUgc2VyaWVzLg0KDQpMb3RzIG9mIGlnbm9yZWQgcmV0dXJuIHZh bHVlcy4gSXQgc2VlbXMgdGhlIGlubmVyIGZ1bmN0aW9ucyBhbGwgY2hlY2sNCmZvciBlcnJvcnMg YW5kIHJldHVybiB0aGVtIHRvIHRoZWlyIGNhbGxlcnMsIGJ1dCB0aGUgdG9wLW1vc3QgZnVuY3Rp b25zDQphZGRlZCBieSB0aGUgc2VyaWVzIGp1c3QgaWdub3JlIHRoZSBlcnJvcnMuIFNlZSBteSBw cmV2aW91cyBjb21tZW50IG9uDQpwYXRjaCAxNCBhYm91dCB0aGlzIGZvciBzdWdnZXN0aW9ucy4N Cg0KVGhlcmUgYXJlIG5vIGNoZWNrcyBmb3IgR3VDIHZlcnNpb24gaGVyZS4gV2Uga25vdyB0aGF0 IHRoZSBTTFBDIEFCSSBpcw0Kbm90IHN0YWJsZSBhbmQgY2FuIGNoYW5nZSBpbiBuZXcgZmlybXdh cmUgdmVyc2lvbnMsIHNvIEkgZXhwZWN0IHRoZQ0KU0xQQyBjb2RlIHRvIG9ubHkgcnVuIGlmIGl0 IGZpbmRzIHRoZSBzcGVjaWZpYyBfd2hpdGVsaXN0ZWRfIEd1Qw0KdmVyc2lvbnMuIE5vICJpZiAo dmVyc2lvbiA+PSBudW0pIHVzZV9zbHBjPXRydWU7IiwgcGxlYXNlLg0KDQpJJ20gbm90IDEwMCUg c3VyZSwgYnV0IGZyb20gd2hhdCBJIGNvdWxkIHVuZGVyc3RhbmQsIGl0IHNlZW1zIEknbGwgZ2V0 DQphIGJyb2tlbiBtYWNoaW5lIHdpdGggbm8gUlBTIGF0IGFsbCBpZiBJIGRvbid0IGhhdmUgdGhl IEd1QyBmaXJtd2FyZQ0KZmlsZXMgLSBvciBpZiB0aGUgR3VDIHZlcnNpb24gaXMgbm90IHRoZSBl eHBlY3RlZC4gSU1ITyB0aGlzIGlzIGENCnJlZ3Jlc3Npb24gc2luY2UgSSBjdXJyZW50bHkgZG9u J3QgaGF2ZSBhbnkgZmlybXdhcmUgZmlsZXMgYW5kIG15IFNLTA0KbWFjaGluZSB3b3Jrcy4NCg0K SSBzZWUgbW9zdCBvZiB0aGUgZnVuY3Rpb25zIGFyZSBwcm90ZWN0ZWQgYnkgIkhBU19TTFBDIi4g VXN1YWxseQ0KSEFTX1NPTUVUSElORyBpcyB1c2VkIGZvciBoYXJkd2FyZSBmZWF0dXJlcyBhbmQg aXMgZXhwZWN0ZWQgdG8gYmUNCmNvbnN0YW50IG9uIHBsYXRmb3Jtcy4gSSBzdWdnZXN0IHlvdSB0 byBhZGQgYSBwb3NzaWJsZSBkcml2ZXIgcGFyYW1ldGVyDQpzdWNoIGFzIGk5MTUuZW5hYmxlX3Ns cGMsIGFuZCBhbHNvIGFkZCBhIG5ldyAiaW50ZWxfc2xwY19lbmFibGVkKCkiIG9yDQoiaW50ZWxf dXNpbmdfc2xwYygpIiBmdW5jdGlvbiBhbmQgcmVwbGFjZSBhbGwgdGhlIEhBU19TTFBDIGNoZWNr cyB3aXRoDQp0aGVzZS4gVGhpcyB3YXksIHdlJ2xsIGJlIGFibGUgdG8gZWFzaWx5IGRpc2FibGUg U0xQQyBpbiBjYXNlIHdlIGRvbid0DQp3YW50IGl0IChzdWNoIGFzIGR1ZSB0byBhIHJlZ3Jlc3Np b24pIG9yIGlmIHRoZXJlJ3Mgbm8gZmlybXdhcmUgb3INCmluY29ycmVjdCBmaXJtd2FyZSB2ZXJz aW9uLCBhbmQgcmV2ZXJ0IGJhY2sgdG8gdGhlIG9sZCAoY3VycmVudCkNCmJlaGF2aW9yIG9mIGRy aXZlci1iYXNlZCB0dXJiby4gVGhlIG9ubHkgSEFTX1NMUEMgY2hlY2sgc2hvdWxkIGJlDQpkdXJp bmcgU0xQQyBpbml0aWFsaXphdGlvbi4gSGF2aW5nIGFuIGVhc3kgd2F5IHRvIGVuYWJsZS9kaXNh YmxlIFNMUEMNCndpbGwgYWxzbyBiZSBpbW1lbnNlbHkgaGVscGZ1bCB3aGVuIHdlIHN0YXJ0IHJ1 bm5pbmcgd29ya2xvYWRzIHRvDQpkZWNpZGUgaWYgd2Ugd2FudCB0byBlbmFibGUgaXQuDQoNCllv dSBjb3VsZCBldmVuIGdvIGZ1cnRoZXIgYW5kIG1ha2UgdGhlIGk5MTUuZW5hYmxlX3NscGMgcGFy YW0gYmUgYSBtYXNrDQp3aGVyZSBpdCdzIHBvc3NpYmxlIHRvIHNlbGVjdCBlYWNoIHN1Yi1mZWF0 dXJlIGluZGl2aWR1YWxseSAoZGZwcywNCnR1cmJvLCBkY2MpLg0KDQpTb21lIG9mIHRoZSBjaGVj a3MgZm9yIHNoYXJlZF9kYXRhX29iaiBjb3VsZCBhbHNvIGJlY29tZSBjYWxscyB0byBhbg0KaW5s aW5lIGZ1bmN0aW9uIHdpdGggYSBuaWNlIG5hbWUgc3VjaCBhcyBpbnRlbF9zbHBjX2VuYWJsZWQo KSBvcg0Kc29tZXRoaW5nIGVsc2UuDQoNCkkgc2VlIHRoZXJlJ3MgYSBzcGVjaWZpYyBwYXR0ZXJu IG9uIHRoZSBwbGFjZXMgdGhhdCBjYWxsDQpob3N0Mmd1Y19hY3Rpb24oKS4gUGVyaGFwcyB3ZSBj b3VsZCBtb3ZlIHRoYXQgY29tbW9uIGNvZGUgdG8gaXRzIG93bg0KZnVuY3Rpb24/IEl0IHdvdWxk IGFsc28gYmUgbmljZSB0byBhZGQgYSBuYW1lIHRvIHRoZSAweEZGIG1hc2sgdGhhdCB3ZQ0KcmV0 dXJuIC0gYW5kIHRoYXQgZ2V0cyBpZ25vcmVkIGF0IHRoZSBlbmQgb2YgdGhlIGNhbGwgY2hhaW5z Lg0KDQpQYXRjaCA1IG5lZWRzIGEgY29tbWl0IG1lc3NhZ2UuIEFjdHVhbGx5LCB3aGVuIHJldmll d2luZyBwYXRjaCA0IEkNCnRob3VnaHQgaXQgaGFkIGJyb2tlbiBSQzYsIHVudGlsIEkgc2F3IHBh dGNoIDUsIHNvIG1heWJlIHlvdSBjb3VsZCBqdXN0DQpzcXVhc2ggYm90aCBjb21taXRzIGludG8g b25lLg0KDQpPbiBwYXRjaCAxMywgdGhvc2UgZGVmaW5lcyBzdWNoIGFzIE1BWF9JTlRFTF9QSVBF UyBhcmUgd2VpcmQgYW5kDQpjb25mdXNpbmcgKHdoeSBkbyB3ZSBjaGVjayBpZiB0aGV5IHdlcmUg YWxyZWFkeSBkZWZpbmVkPyksIGVzcGVjaWFsbHkNCnNpbmNlIHdlIGFscmVhZHkgaGF2ZSBJOTE1 X01BWF9QSVBFUy4gQW5kIHRoZSBvbmx5IHZhbHVlIHRoYXQgaXMNCmFjdHVhbGx5IHVzZWQgaXMg TUFYX05VTV9PRl9QSVBFLiBJIHdvdWxkIHZvdGUgZm9yIHlvdSB0byBvbmx5IGtlZXANCnRoaXMg ZGVmaW5lLCBhbmQgcHJlZml4IGl0IHdpdGggU0xQQywgc3VjaCBhcyBTTFBDX05VTV9PRl9QSVBF UyAob3IgYW55DQpvdGhlciBiZXR0ZXIgbmFtZSkuDQoNCk9uIHBhdGNoZXMgMTQvMTUsIGlzIG1v ZGUtPnZyZWZyZXNoIGFjY3VyYXRlIGVub3VnaD8gRG9uJ3Qgd2Ugd2FudCB0aGUNCm1vcmUtcHJl Y2lzZSAiY2xvY2svKGh0b3RhbCp2dG90YWwpIiB2YWx1ZT8NCg0KT24gcGF0Y2ggMTcuIEknbSBu b3QgYW4gZXhwZXJ0IGhlcmUsIGJ1dCBJJ20gbm90IHN1cmUgaWYgd2UgY2FuIGNhbGwNCmttYXBf YXRvbWljIGFuZCB0aGVuIGRvIHRob3NlIHNlcV9wcmludGYgY2FsbHMgd2l0aG91dCBrdW5tYXAu wqANCg0KVGhhbmtzLA0KUGF1bG8NCg0KPiANCj4gRGF2ZSBHb3Jkb24gKDEpOg0KPiDCoCBkcm0v aTkxNTogRW5hYmxlIEd1QyBzdWJtaXNzaW9uLCB3aGVyZSBzdXBwb3J0ZWQNCj4gDQo+IFNhZ2Fy IEFydW4gS2FtYmxlICg0KToNCj4gwqAgZHJtL2k5MTUvc2xwYzogRW5hYmxlL0Rpc2FibGUgUkM2 IGluIFNMUEMgZmxvd3MNCj4gwqAgZHJtL2k5MTUvc2xwYzogQWRkIERpc3BsYXkgbW9kZSBldmVu dCByZWxhdGVkIGRhdGEgc3RydWN0dXJlcw0KPiDCoCBkcm0vaTkxNS9zbHBjOiBOb3RpZmljYXRp b24gb2YgRGlzcGxheSBtb2RlIGNoYW5nZQ0KPiDCoCBkcm0vaTkxNS9zbHBjOiBOb3RpZmljYXRp b24gb2YgUmVmcmVzaCBSYXRlIGNoYW5nZQ0KPiANCj4gVG9tIE8nUm91cmtlICgxNyk6DQo+IMKg IGRybS9pOTE1L3NscGM6IEFkZCBoYXNfc2xwYyBjYXBhYmlsaXR5IGZsYWcNCj4gwqAgZHJtL2k5 MTUvc2xwYzogRXhwb3NlIGd1YyBmdW5jdGlvbnMgZm9yIHVzZSB3aXRoIFNMUEMNCj4gwqAgZHJt L2k5MTUvc2xwYzogVXNlIGludGVsX3NscGNfKiBmdW5jdGlvbnMgaWYgc3VwcG9ydGVkDQo+IMKg IGRybS9pOTE1L3NscGM6IElmIHVzaW5nIFNMUEMsIGRvIG5vdCBzZXQgZnJlcXVlbmN5DQo+IMKg IGRybS9pOTE1L3NscGM6IEVuYWJsZSBTTFBDIGluIGd1YyBpZiBzdXBwb3J0ZWQNCj4gwqAgZHJt L2k5MTUvc2xwYzogQWxsb2NhdGUvUmVsZWFzZS9Jbml0aWFsaXplIFNMUEMgc2hhcmVkIGRhdGEN Cj4gwqAgZHJtL2k5MTUvc2xwYzogU2V0dXAgcnBzIGZyZXF1ZW5jeSB2YWx1ZXMgZHVyaW5nIFNM UEMgaW5pdA0KPiDCoCBkcm0vaTkxNS9zbHBjOiBVcGRhdGUgY3VycmVudCByZXF1ZXN0ZWQgZnJl cXVlbmN5DQo+IMKgIGRybS9pOTE1L3NscGM6IFNlbmQgcmVzZXQgZXZlbnQNCj4gwqAgZHJtL2k5 MTUvc2xwYzogU2VuZCBzaHV0ZG93biBldmVudA0KPiDCoCBkcm0vaTkxNS9zbHBjOiBBZGQgc2xw Y19zdGF0dXMgZW51bSB2YWx1ZXMNCj4gwqAgZHJtL2k5MTUvc2xwYzogQWRkIGk5MTVfc2xwY19p bmZvIHRvIGRlYnVnZnMNCj4gwqAgZHJtL2k5MTUvc2xwYzogQWRkIGRmcHMgdGFzayBpbmZvIHRv IGk5MTVfc2xwY19pbmZvDQo+IMKgIGRybS9pOTE1L3NscGM6IEFkZCBwYXJhbWV0ZXIgdW5zZXQv c2V0L2dldCBmdW5jdGlvbnMNCj4gwqAgZHJtL2k5MTUvc2xwYzogQWRkIHNscGMgc3VwcG9ydCBm b3IgbWF4L21pbiBmcmVxDQo+IMKgIGRybS9pOTE1L3NscGM6IEFkZCBlbmFibGUvZGlzYWJsZSBk ZWJ1Z2ZzIGZvciBzbHBjDQo+IMKgIGRybS9pOTE1L3NscGM6IEFkZCBoYXNfc2xwYyB0byBza3ls YWtlIGluZm8NCj4gDQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGXCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDUgKy0NCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuY8KgwqDCoMKgwqDCoMKgwqB8IDQzNg0KPiArKysrKysrKysrKysrKysrKysr KysrKysrDQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHzCoMKgwqAxICsNCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDIgKw0KPiDCoGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8wqDCoMKgNiArLQ0KPiDCoGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGFyYW1zLmPCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgNCArLQ0KPiDCoGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuY8KgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAx MCArDQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jwqDCoMKgwqDCoMKg wqB8wqDCoMKgMiArDQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuY8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHzCoMKgwqAyICsNCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoMKgMSArDQo+IMKgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqDCoDcgKw0KPiDC oGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuY8KgwqDCoMKgfMKgwqDCoDMg Kw0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmPCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB8wqDCoDQzICsrLQ0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NscGMuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgfCA0OTkNCj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysN Cj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zbHBjLmjCoMKgwqDCoMKgwqDCoMKgwqDC oHwgMjA3ICsrKysrKysrKysrKw0KPiDCoDE1IGZpbGVzIGNoYW5nZWQsIDEyMTAgaW5zZXJ0aW9u cygrKSwgMTggZGVsZXRpb25zKC0pDQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3NscGMuYw0KPiDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9zbHBjLmgNCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==