|
From: <jue...@we...> - 2003-05-25 12:47:11
|
SGkgSmVhbi1QaWVycmUsDQogDQpCVFcsIHRoZSB0ZXN0cyBoYXZlIGFsbCB3b3JrZWQgZm9yIG1l IG9uIEZyaWRheSAtIEknbGwgcmVjaGVjayB0b21vcnJvdy4NCiANClJlZ2FyZGluZyBQYWdlZExp c3RBdXRvSG9sZGVyOiBJIGFwcHJlY2lhdGUgaXRzIGFkZGVkIGZ1bmN0aW9uYWxpdHkuIElmIEkg dW5kZXJzdGFuZCBjb3JyZWN0bHksIGl0J3MgdGFyZ2V0dGVkIGF0IGVhc3kgdXNhZ2UgaW4gYSB3 ZWIgY29udHJvbGxlci4gTXkgaW5pdGlhbCBQYWdlZExpc3RIb2xkZXIgd2FzIGp1c3QgYSBmaXJz dCB0YWtlLCBkcmF3biBmcm9tIGFuIGFwcGxpY2F0aW9uIHByb2plY3QuIEknbSB2ZXJ5IG11Y2gg Zm9yIHdvcmtpbmcgYWxsIG9mIHRoaXMgaW50byBhIHJlZmluZWQgdmVyc2lvbiwgZXZlbiBiZWZv cmUgMC44LiBJJ2xsIHByb2JhYmx5IHVzZSBpdCBpbiBvdXIgYXBwbGljYXRpb24gcHJvamVjdCB0 b28uDQogDQotLS0NCiANCkkndmUgZ290IHNvbWUgY29uY3JldGUgaXNzdWVzOg0KIA0KLSBHZW5l cmFsbHksIHdlIHNob3VsZCB0cnkgdG8gdXNlIGRhdGEgYmluZGluZyB3aGVyZXZlciBwb3NzaWJs ZSwgdG8ga2VlcCB0aGUgbW9kZWwgYW5kIHRoZSBhY3Rpb25zIGFzIE9PIHJlc3AuIGJlYW4tc3R5 bGUgYXMgcG9zc2libGUuIEknbSBub3QgYSBncmVhdCBmYW4gb2YgbWFudWFsIHBhcmFtZXRlciBw YXJzaW5nIChoYXZlIHVzZWQgaXQgZmFyIHRvbyBtYW55IHRpbWVzIG15c2VsZiksIGJlIGl0IGZy b20gdGhlIFNlcnZsZXRSZXF1ZXN0IG9yIGZyb20gYSBTdHJpbmctYmFzZWQgcGFyYW1ldGVyIG1h cC4gU3ByaW5nJ3MgU2VydmxldFJlcXVlc3REYXRhQmluZGVyIGFsbG93cyBmb3IgdmVyeSBwb3dl cmZ1bCBiaW5kaW5nIG9mIHJlcXVlc3QgcGFyYW1ldGVycyB0byBiZWFuIGluc3RhbmNlcywgZXZl biBvbmUgdG8gcmVxdWVzdCB0byBtdWx0aXBsZSBiZWFucy4gTWFudWFsIFN0cmluZyBwYXJhbWV0 ZXIgZXZhbHVhdGlvbiBkb2Vzbid0IGJlbG9uZyBpbiBhIHByb3BlciBtb2RlbCBvYmplY3QsIElN Ty4NCiANCi0gZ2V0TWF4RGlzcGxheVBhZ2VzLCBnZXRGaXJzdERpc3BsYXlQYWdlLCBnZXRMYXN0 RGlzcGxheVBhZ2Ugc2hvdWxkIHByb2JhYmx5IGJlIGNhbGxlZCBnZXRNYXhMaW5rZWRQYWdlcywg Z2V0Rmlyc3RMaW5rZWRQYWdlLCBnZXRMYXN0TGlua2VkUGFnZSAtIGFzIHRoZXkgYXJlbid0IHJl YWxseSBkaXNwbGF5ZWQgdGhlbXNlbHZlcyBidXQgcmF0aGVyIGp1c3QgbGlua2VkIGZyb20gdGhl IGN1cnJlbnRseSBkaXNwbGF5ZWQgcGFnZS4NCiANCi0gSSdkIGxpa2UgdG8gdHVybiB5b3VyICJT b3J0IiBpbm5lciBjbGFzcyBpbnRvIGEgZ2VuZXJpYyBjb20uaW50ZXJmYWNlMjEuYmVhbnMuU29y dERlZmluaXRpb24gaW50ZXJmYWNlLCBhbmQgb2ZmZXIgYW4gYWNjb21wYW55aW5nIEJlYW5VdGls cy5zb3J0QnlQcm9wZXJ0eShMaXN0LFNvcnREZWZpbml0aW9uKSBtZXRob2QuIFlvdXIgY3VycmVu dCBTb3J0IGltcGxlbWVudGF0aW9uIGNvdWxkIHNlcnZlIGFzIERlZmF1bHRTb3J0RGVmaW5pdGlv biBpbXBsZW1lbnRhdGlvbi4NCiANCi0gQXMgeW91J3ZlIGFkZHJlc3NlZCB3aXRoIGV4dGVuZGVk SW5mbywgcmVsb2FkaW5nIGNhbiBkZXBlbmQgb24gdmFyaW91cyBzcGVjaWZpYyBwYXJhbWV0ZXJz LiBCdXQgZmlsdGVyaW5nIGNvdWxkIGJlIGJhc2VkIG5vdCBvbmx5IG9uIHBlci1maWVsZCBtYXRj aGluZyB2YWx1ZXMgYnV0IG9uIHJlZ3VsYXIgZXhwcmVzc2lvbnMgZXRjLiBBIGdlbmVyaWMgImZp bHRlciIgcHJvcGVydHkgb2YgdHlwZSBPYmplY3Qgd2lsbCBhbGxvdyB0aGUgY29udHJvbGxlciB0 byBzdG9yZSBhIHN0YXRlIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgZmlsdGVyIHNl dHRpbmdzLCBjb21iaW5pbmcgeW91ciBmaWx0ZXJNYXAgYW5kIGV4dGVuZGVkSW5mbyBpbiBvbmUg Z2VuZXJpYyBPYmplY3QuIE5vdGUgdGhhdCBQYWdlZExpc3RIb2xkZXIgZG9lcyBub3QgYW5kIHNo b3VsZCBub3QgbmVlZCB0byBrbm93IGFib3V0IHRoZSBzZW1hbnRpY3Mgb2YgImZpbHRlciIuDQog DQotIFNvbWUgcHJvcGVydGllcyByZXByZXNlbnQgTGlzdCBtZXRhIGRhdGE6ICJzb3J0IiBvZiB0 eXBlIFNvcnREZWZpbml0aW9uLCAiZmlsdGVyIiBvZiB0eXBlIE9iamVjdCwgImxvY2FsZSIgb2Yg dHlwZSBMb2NhbGUuIFRoZXNlIGNhbiBlYXNpbHkgYmUgaW5jbHVkZWQgaW4gUGFnZWRMaXN0SG9s ZGVyLCBqdXN0IGxpa2UgdGhlIGxpbmtlZCBwYWdlcyBzdXBwb3J0IHRvbyAoaW4gdGhlIGVuZCwg bGV0J3MgbWVyZ2UgUGFnZWRMaXN0SG9sZGVyIGFuZCBQYWdlZExpc3RBdXRvSG9sZGVyIC0gd2Ug cHJvYmFibHkgZG9uJ3QgbmVlZCBib3RoKS4gUGFnZWRMaXN0U291cmNlUHJvdmlkZXIgd291bGQg aGF2ZSBhIGdlbmVyaWMgbG9hZExpc3QoT2JqZWN0IEZpbHRlciwgTG9jYWxlIGxvY2FsZSkgdGhl bi4NCiANCi0gUGFnZWRMaXN0SG9sZGVyIHByb3BlcnRpZXMgbGlrZSBwYWdlU2l6ZSwgcGFnZU5y LCBtYXhMaW5rZWRQYWdlcyBzaG91bGQgYmUgcG9wdWxhdGVkIHZpYSBiaW5kaW5nICh0aGF0J3Mg aG93IG15IGluaXRpYWwgdmVyc2lvbiB3YXMgbWVhbnQgdG8gYmUgdXNlZCkuIExldCdzIHRyZWF0 IFBhZ2VkTGlzdEhvbGRlciBhcyBhIGZvcm0gYmVhbiwgd2l0aCByZXF1ZXN0IHBhcmFtZXRlcnMg Z2V0dGluZyBib3VuZCB0byBpdCBvbiBldmVyeSBzdWJtaXQgLSBubyBTdHJpbmcgcGFyYW1ldGVy IHBhcnNpbmcsIG5vIEludGVnZXIucGFyc2VJbnQuIFRoZSBzYW1lIGFwcGxpZXMgdG8gInNvcnQi IGFuZCAiZmlsdGVyIjogQSBjb250cm9sbGVyIGNhbiBzZXQgc3BlY2lmaWMgaW5zdGFuY2VzIHRv IHRoZSBQYWdlZExpc3RIb2xkZXIgaW5zdGFuY2Ugb24gc2V0dXAuIFRoZXNlIGluc3RhbmNlcyBj YW4gYmUgcG9wdWxhdGVkIHZpYSB0aGUgc2FtZSBiaW5kaW5nIHN0ZXAsIHVzaW5nIG5lc3RlZCBw YXRocyBsaWtlICJzb3J0LmFzY2VuZGluZyIgZXRjLg0KIA0KLSBQYWdlZExpc3RIb2xkZXIncyBy ZWZyZXNoIG1ldGhvZCBzaG91bGQgZG8gZXF1YWxzIGNoZWNrcyBvbiAic29ydCIgYW5kICJmaWx0 ZXIiICh1c2luZyBzdG9yZWQgY29waWVzIGZyb20gdGhlIGxhc3QgcmVmcmVzaCksIGFuZCBwZXJm b3JtIHJlc29ydGluZyByZXNwLiByZWxvYWRpbmcgaWYgbmVjZXNzYXJ5IChzZXR0aW5nIGN1cnJl bnQgdmVyc2lvbnMgYXMgc3RvcmVkIGNvcGllcykuIFRodXMsIGEgY29udHJvbGxlciBzaG91bGQg aW52b2tlIHJlZnJlc2ggYWZ0ZXIgZWFjaCBiZWFuIHBvcHVsYXRpb24sIGkuZS4gb24gZWFjaCBy ZXF1ZXN0LiBBIHJlYWwgcmVmcmVzaCBjYW4gYmUgZW5mb3JjZWQgYnkgYSByZXNwZWN0aXZlIHJl cXVlc3QgcGFyYW1ldGVyLCBidXQgdGhpcyBzaG91bGQgYmUgY2hlY2tlZCBieSB0aGUgc3BlY2lm aWMgd2ViIGNvbnRyb2xsZXIsIHRyaWdnZXJpbmcgYSByZWZyZXNoKGJvb2xlYW4gZW5mb3JjZSkg Y2FsbCB3aXRoIHRydWUgdGhlbi4NCiANCi0gQWxsIHRoaW5ncyBjb25zaWRlcmVkLCB0aGUgdW5p ZmllZCBQYWdlZExpc3RIb2xkZXIgd2lsbCBub3QgbmVlZCB0byBrbm93IGFueXRoaW5nIGFib3V0 IHJlcXVlc3QgcGFyYW1ldGVycy4gUGFnZWRMaXN0QXV0b0hvbGRlcidzIHh4eFBhcmFtIHByb3Bl cnRpZXMgYW5kIGl0cyBxdWl0ZSBsZW5ndGh5IGV4ZWN1dGUgbWV0aG9kIGFyZW4ndCBuZWNlc3Nh cnkgdGhlbiwgbW9zdCBzdHVmZiBjYW4gd29yayB2aWEgZGF0YSBiaW5kaW5nIGFuZCByZWZyZXNo LiBJZiBvbmUgd2FudHMgdG8gdXNlIGRpZmZlcmVudCByZXF1ZXN0IHBhcmFtZXRlcnMsIG9uZSBj YW4gYWx3YXlzIHBlcmZvcm0gbWFudWFsIHBvc3QtYmluZGluZywgYnV0IHRoZSBiZWFuIHByb3Bl cnR5IG5hbWVzIHNob3VsZCBiZSBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkIGFzIHBhcmFtZXRlciBu YW1lcyBhbnl3YXkuIFRoZSBiaW5kaW5nIHBhdGhzIG1hdGNoIHRoZSBKU1RMIEVMIGV4cHJlc3Np b25zIG5pY2VseSwgbGlrZSAic29ydC5hc2NlbmRpbmciLg0KIA0KLS0tDQogDQpBIGNvbnRyb2xs ZXIgaW1wbGVtZW50YXRpb24gaXMgYXMgc2ltcGxlIGFzIGJlZm9yZS4gSXQganVzdCBuZWVkcyB0 byB0cmlnZ2VyIHRoZSBiaW5kaW5nIGFuZCBjYWxsIHRoZSByZWZyZXNoIG1ldGhvZCBhZnRlcndh cmRzLCBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGV4ZWN1dGUgY2FsbC4gVGhlIHJlc3BlY3RpdmUg Y29kZSBpbiB5b3VyIFBhZ2VkTGlzdENvbnRyb2xsZXIgZXhhbXBsZSB3b3VsZCBsb29rIGFib3V0 IGFzIGZvbGxvd3M6DQogDQpwdWJsaWMgTW9kZWxBbmRWaWV3IHNob3dNYWluKEh0dHBTZXJ2bGV0 UmVxdWVzdCByZXF1ZXN0LCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlKSB7DQogIFBhZ2Vk TGlzdEF1dG9Ib2xkZXIgbGlzdEhvbGRlciA9DQogICAgKFBhZ2VkTGlzdEF1dG9Ib2xkZXIpcmVx dWVzdC5nZXRTZXNzaW9uKHRydWUpLmdldEF0dHJpYnV0ZShDT1VOVFJJRVNfQVRUUik7DQogIGlm IChudWxsID09IGxpc3RIb2xkZXIpIHsNCiAgICBsaXN0SG9sZGVyID0gKFBhZ2VkTGlzdEF1dG9I b2xkZXIpdGhpcy5nZXRBcHBsaWNhdGlvbkNvbnRleHQoKS5nZXRCZWFuKCJhdXRvTGlzdEhvbGRl ciIpOw0KICAgIGxpc3RIb2xkZXIuc2V0U291cmNlUHJvdmlkZXIobmV3IENvdW50cmllc1Byb3Zp ZGVyKCkpOw0KICAgIGxpc3RIb2xkZXIuc2V0RmlsdGVyKG5ldyBDb3VudHJpZXNGaWx0ZXIoKSk7 DQogICAgbGlzdEhvbGRlci5zZXRTb3J0KG5ldyBEZWZhdWx0U29ydERlZmluaXRpb24oKSk7DQog ICAgcmVxdWVzdC5nZXRTZXNzaW9uKHRydWUpLnNldEF0dHJpYnV0ZShDT1VOVFJJRVNfQVRUUiwg bGlzdEhvbGRlcik7ICANCiAgfQ0KICBCaW5kRXhjZXB0aW9uIGV4ID0gQmluZFV0aWxzLmJpbmQo cmVxdWVzdCwgbGlzdEhvbGRlciwgImNvdW50cmllcyIpOw0KICBib29sZWFuIGZvcmNlUmVmcmVz aCA9IHJlcXVlc3QuZ2V0UGFyYW1ldGVyKCJmb3JjZVJlZnJlc2gpICE9IG51bGw7DQogIGxpc3RI b2xkZXIucmVmcmVzaChmb3JjZVJlZnJlc2gpOw0KICByZXR1cm4gbmV3IE1vZGVsQW5kVmlldygi bWFpblZpZXciLCBleC5nZXRNb2RlbCgpKTsNCn0NCiANCnB1YmxpYyBjbGFzcyBDb3VudHJpZXNG aWx0ZXIgew0KICBwcml2YXRlIFN0cmluZyBuYW1lOw0KICBwcml2YXRlIFN0cmluZyBjb2RlOw0K ICBwdWJsaWMgU3RyaW5nIGdldE5hbWUoKSB7DQogICAgcmV0dXJuIG5hbWU7DQogIH0NCiAgcHVi bGljIHZvaXMgc2V0TmFtZShTdHJpbmcgbmFtZSkgew0KICAgIHRoaXMubmFtZSA9IG5hbWU7DQog IH0NCiAgcHVibGljIFN0cmluZyBnZXRDb2RlKCkgew0KICAgIHJldHVybiBjb2RlOw0KICB9DQog IHB1YmxpYyB2b2lzIHNldENvZGUoU3RyaW5nIGNvZGUpIHsNCiAgICB0aGlzLmNvZGUgPSBjb2Rl Ow0KICB9DQp9DQogDQpGaWx0ZXJpbmcgZG9lc24ndCB3b3JrIHZpYSBwYXJhbWV0ZXIgbmFtZXMg dGhhdCBzZXJ2ZSBhcyBmaWx0ZXIgbmFtZXMgYW55bW9yZSwgYnV0IHdpdGggYSBuZXN0ZWQgImZp bHRlciIgb2JqZWN0IG9mIHR5cGUgQ291bnRyaWVzRmlsdGVyLiBTbyB5b3VyIG1haW4uanNwIHdv dWxkIG5lZWQgdG8gdXNlICJjb3VudHJpZXMuZmlsdGVyLmNvZGUiIEVMIGZvciBtYXRjaGluZywg c2VuZGluZyAiZmlsdGVyLmNvZGUiIGFzIHJlcXVlc3QgcGFyYW1ldGVyIG5hbWUgZm9yIGNoYW5n aW5nLiBUaGUgc2FtZSBhcHBsaWVzIHRvIHNvcnRpbmcsIHVzaW5nIHRoZSBuZXN0ZWQgInNvcnQi IG9iamVjdDogZS5nLiAiY291bnRyaWVzLnNvcnQuYXNjZW5kaW5nIiBFTCBmb3IgZXZhbHVhdGlv biAoanVzdCBsaWtlIGluIHlvdXIgY3VycmVudCB2ZXJzaW9uKSwgInNvcnQuYXNjZW5kaW5nIiBh cyByZXF1ZXN0IHBhcmFtZXRlciBuYW1lLg0KIA0KLS0tDQogDQpXaGF0IGRvIHlvdSB0aGluaz8g SSdtIGtlZW4gb24gYXBwbHlpbmcgdGhlc2UgY2hhbmdlcyBwcm9tcHRseSwgaWYgeW91IGRvbid0 IG1pbmQsIGlmIHBvc3NpYmxlIGFscmVhZHkgdG9tb3Jyb3cuIEJUVywgSSdtIHdyaXRpbmcgdGhp cyBvbiBhIG5vbi1kZXZlbG9wbWVudCBQQyBhdCBob21lLCBzbyBJIGhhdmVuJ3QgYWN0dWFsbHkg cHJvdG90eXBlZCB0aGUgZGVzaWduLCBidXQgSSBleHBlY3QgaXQgdG8gd29yayBuaWNlbHkuIFdl IHNob3VsZCBlbmQgdXAgd2l0aCBzaWduaWZpY2FudGx5IGxlc3MgYW5kIG1vcmUgbWFpbnRhaW5h YmxlIGNvZGUsIEkgaG9wZS4NCiANClJlZ2FyZHMsDQpKdWVyZ2VuDQogDQogDQoNCgktLS0tLVVy c3Byw7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tIA0KCVZvbjogSlAgUGF3bGFrIFttYWlsdG86anAu cGF3bGFrQHRpc2NhbGkuZnJdIA0KCUdlc2VuZGV0OiBGciAyMy4wNS4yMDAzIDIyOjIwIA0KCUFu OiBTcHJpbmcgRGV2ZWxvcGVycyANCglDYzogDQoJQmV0cmVmZjogW1NwcmluZ2ZyYW1ld29yay1k ZXZlbG9wZXJdIHBhZ2VkIGxpc3RzDQoJDQoJDQoNCg0KCUhpLA0KCQ0KCUV4Y3VzZSBtZSBmcm9t IGRpc3R1cmJpbmcgZnJvbSBmdW5kYW1lbnRhbCBpc3N1ZXMgbGlrZSB0aGUgS2V5QmluZGVyDQoJ cG9zdGVkIGJ5IElzYWJlbGxlIGFuZCB0aGUgYnJva2VuIHRlc3RzIEkndmUganVzdCBwb3N0ZWQu DQoJDQoJQXMgSSB0YWxrZWQgYWJvdXQsIEkgaGF2ZSBhZGRlZCB0aHJlZSBmaWxlczoNCglJbiBz cmM6DQoJICAgLSBjb20uaW50ZXJmYWNlMjEudXRpbC5QYWdlZExpc3RBdXRvSG9sZGVyLmphdmEg KENsYXNzIGRlcml2ZWQgZnJvbQ0KCVBhZ2VkTGlzdEhvbGRlcikNCgkgICAtIGNvbS5pbnRlcmZh Y2UyMS51dGlsLlBhZ2VkTGlzdFNvdXJjZVByb3ZpZGVyLmphdmEgKEludGVyZmFjZSkNCglpbiB0 ZXN0Og0KCSAgIC0gY29tLmludGVyZmFjZTIxLnV0aWwuUGFnZWRMaXN0QXV0b0hvbGRlclRlc3Rz LmphdmEgKENsYXNzKQ0KCQ0KCVRoaXMgYWxsIGZvciBlYXN5IHVzZSBvZiBhIG1vcmUgcG93ZXJm dWxsIHBhZ2VkIExpc3QuDQoJVGhlIGphdmFkb2MgYW5kIGV2ZW50dWFsbHkgdGVzdCBzb3VyY2Ug d2lsbCBub3JtYWxseSBzdWZmaWNlIHRvDQoJdW5kZXJzdGFuZCB0aGUgdXNlLg0KCU5ldmVydGhl bGVzcywgaWYgSSB3aWxsIG5vdCBiZSBpbXBhY3RlZCBieSB0aGUgY3VycmVudCB0ZXN0IGlzc3Vl cywgSQ0KCXdpbGwgdHJ5IHRvIHByb3ZpZGUgYSB0aW55IHNhbXBsZSBhcHBsaWNhdGlvbiBmb3Ig ZGVtb25zdHJhdGluZy4NCgkNCglBZnRlciAwLjggd2lsbCBiZSByZWxlYXNlZCwgSSBjb3VsZCBo YXZlIHNvbWUgaGVscCBmb3IgcmV3aWV2aW5nIHRoZQ0KCWphdmFkb2MgY29tbWVudHMgYXMgbXkg RW5nbGlzaCBpcyB2ZXJ5IGZhciBmcm9tIHBlcmZlY3QuDQoJDQoJUmVnYXJkcywNCglfX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCglKZWFuLVBpZXJyZSBQYXdsYWsNCglqcC5wYXdsYWtA dGlzY2FsaS5mcg0KCSANCgkNCgkNCgkNCgkNCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJVGhpcyBTRi5uZXQgZW1haWwgaXMgc3BvbnNv cmVkIGJ5OiBPYmplY3RTdG9yZS4NCglJZiBmbGF0dGVuaW5nIG91dCBDKysgb3IgSmF2YSBjb2Rl IHRvIG1ha2UgeW91ciBhcHBsaWNhdGlvbiBmaXQgaW4gYQ0KCXJlbGF0aW9uYWwgZGF0YWJhc2Ug aXMgcGFpbmZ1bCwgZG9uJ3QgZG8gaXQhIENoZWNrIG91dCBPYmplY3RTdG9yZS4NCglOb3cgcGFy dCBvZiBQcm9ncmVzcyBTb2Z0d2FyZS4gaHR0cDovL3d3dy5vYmplY3RzdG9yZS5uZXQvc291cmNl Zm9yZ2UNCglfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K CVNwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXIgbWFpbGluZyBsaXN0DQoJU3ByaW5nZnJhbWV3b3Jr LWRldmVsb3BlckBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQNCglodHRwczovL2xpc3RzLnNvdXJjZWZv cmdlLm5ldC9saXN0cy9saXN0aW5mby9zcHJpbmdmcmFtZXdvcmstZGV2ZWxvcGVyDQoJDQoNCg== |