|
From: <jue...@we...> - 2003-06-02 09:47:22
|
UmVzZW5kaW5nIHdpdGggYW4gZXZlbiBzbWFsbGVyIEpBUiBmaWxlIHdpdGhvdXQgY2xhc3MgZmls ZXMgLSB0aGUgZm9ybWVyIGRpZG4ndCBnZXQgdGhyb3VnaHQgdG8gdGhlIGxpc3QgYmVjYXVzZSBv ZiB0aGUgYXR0YWNobWVudCBzaXplLi4uDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N CkZyb206IGrDvHJnZW4gaMO2bGxlciBbd2VyazNBVF0gDQpTZW50OiBUdWVzZGF5LCBNYXkgMjcs IDIwMDMgODowNSBQTQ0KVG86IHNwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXINClN1YmplY3Q6IFJF OiBbU3ByaW5nZnJhbWV3b3JrLWRldmVsb3Blcl0gcGFnZWQgbGlzdHMNCg0KDQpJJ3ZlIGF0dGFj aGVkIHRoZSByZXdvcmtlZCB2ZXJzaW9uIG9mIHRoZSBwYWdlZCBsaXN0IGV4YW1wbGUuIEkndmUg b21pdHRlZCBhbGwgdGhlIEpBUiBmaWxlcyB0byBrZWVwIHRoZSBKQVIgc21hbGwuIFlvdSdsbCBz dGlsbCBuZWVkIGEgY3VycmVudCBzcHJpbmctZnVsbCwgbG9nNGosIGFuZCBqc3RsLmphciArIHN0 YW5kYXJkLmphciBmb3IgQXBhY2hlJ3MgSlNUTCBpbXBsZW1lbnRhdGlvbi4NCg0KSnVlcmdlbg0K DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBqw7xyZ2VuIGjDtmxsZXIgW3dl cmszQVRdIA0KU2VudDogTW9uZGF5LCBNYXkgMjYsIDIwMDMgMTA6MDcgUE0NClRvOiBqcC5wYXds YWtAdGlzY2FsaS5mcg0KQ2M6IHNwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXINClN1YmplY3Q6IFJl OiBbU3ByaW5nZnJhbWV3b3JrLWRldmVsb3Blcl0gcGFnZWQgbGlzdHMNCg0KDQpKZWFuLVBpZXJy ZSwNCiANCkkndmUganVzdCBjb21taXR0ZWQgbXkgcmV3b3JrZWQgdmVyc2lvbi4NCiANClRoZXJl J3Mgbm93IGEgU29ydERlZmluaXRpb24gaW50ZXJmYWNlIGluIGNvbS5pbnRlcmZhY2UyMS5iZWFu cywgd2l0aCBhIE11dGFibGVTb3J0RGVmaW5pdGlvbiBpbXBsZW1lbnRhdGlvbi4gVGhlIHNvcnQg bWV0aG9kcyBoYXZlIG1vdmVkIGZyb20gQmVhblV0aWxzIHRvIFByb3BlcnR5Q29tcGFyYXRvci4N CiANClBhZ2VkTGlzdEhvbGRlciBpcyBxdWl0ZSBzaW1pbGFyIHRvIGJlZm9yZSwgdGFyZ2V0dGVk IGFuIGltbXV0YWJsZSBsaXN0cywgYnV0IHdpdGggYmluZGluZy1mcmllbmRseSBzb3J0aW5nIHN1 cHBvcnQgdmlhIFNvcnREZWZpbml0aW9uLiBJJ3ZlIHR1cm5lZCBQYWdlTGlzdEF1dG9Ib2xkZXIg aW50byBSZWZyZXNoYWJsZVBhZ2VkTGlzdEhvbGRlciwgYWRkaW5nIHJlZnJlc2hpbmcgZnJvbSBh IHNvdXJjZSBwcm92aWRlciBvbiBjaGFuZ2VkIExvY2FsZSBvciBmaWx0ZXIuIEZpbHRlciBpcyBh IGdlbmVyaWMgT2JqZWN0IHByb3BlcnR5IG5vdywgYWxsb3dpbmcgZm9yIGFueSBmaWx0ZXIgc2V0 dGluZ3MgYmVpbmcgcGFzc2VkIHRocm91Z2ggdG8gdGhlIHJlc3BlY3RpdmUgc291cmNlIHByb3Zp ZGVyLg0KIA0KSSdsbCBzZW5kIHRoZSBhZGFwdGVkIHZlcnNpb24gb2YgeW91ciBleGFtcGxlIGFw cCB0byB0aGUgbGlzdCB0b21vcnJvdy4gVGhlcmUgaGF2ZW4ndCBiZWVuIG1hbnkgY2hhbmdlcyB0 byB0aGUgY29udHJvbGxlciBhbmQgdmlldywgYnV0IHdoeSBmaWd1cmUgb3V0IHlvdXJzZWxmPyA6 LSkNCiANClJlZ2FyZHMsDQpKdWVyZ2VuDQogDQogDQoNCgktLS0tLVVyc3Byw7xuZ2xpY2hlIE5h Y2hyaWNodC0tLS0tIA0KCVZvbjoganAucGF3bGFrQHRpc2NhbGkuZnIgW21haWx0bzpqcC5wYXds YWtAdGlzY2FsaS5mcl0gDQoJR2VzZW5kZXQ6IFNvIDI1LjA1LjIwMDMgMTU6MDggDQoJQW46IGrD vHJnZW4gaMO2bGxlciBbd2VyazNBVF0gDQoJQ2M6IHNwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXIg DQoJQmV0cmVmZjogUmU6IFtTcHJpbmdmcmFtZXdvcmstZGV2ZWxvcGVyXSBwYWdlZCBsaXN0cw0K CQ0KCQ0KDQoJSGkgSsO8cmdlbiwNCgkNCglZb3VyIHN1Z2dlc3RzIGFyZSB2ZXJ5IHdlbGNvbWUu IEFzIHlvdSBoYXZlIGEgIGJldHRlciBrbm93bGVkZ2Ugb2IgdGhlIHdob2xlIFNwcmluZyBmcmFt ZXdvcmssIHlvdSBzZWVuIHF1aWNrbHkgYmV0dGVyIGludGVyYWN0aW9uIHVzZS4gSSBhbSBub3Qg YXQgaG9tZSwgSXQgc2VlbXMgeW91IGFyZSBhbHJlYWR5IG1ha2luZyB0aGUgY2hhbmdlLiBJZiB5 b3UgZXhwZXh0IGFueXRoaW5nIGZyb20gbWUsIHRhbGsgbWUganVzdCBhYm91dC4gDQoJDQoJUmVn YXJkcywNCglKZWFuLVBpZXJyZQ0KCQ0KCS0tLS0tLS0tLS0gSW5pdGlhbCBIZWFkZXIgLS0tLS0t LS0tLS0NCgkNCglGcm9tICAgICAgOiBzcHJpbmdmcmFtZXdvcmstZGV2ZWxvcGVyLWFkbWluQGxp c3RzLnNvdXJjZWZvcmdlLm5ldA0KCVRvICAgICAgICAgIDogIkpQIFBhd2xhayIgPGpwLnBhd2xh a0B0aXNjYWxpLmZyPiwiU3ByaW5nIERldmVsb3BlcnMiIDxzcHJpbmdmcmFtZXdvcmstZGV2ZWxv cGVyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4NCglDYyAgICAgICAgICA6DQoJRGF0ZSAgICAgIDog U3VuLCAyNSBNYXkgMjAwMyAxNDo0ODozNCArMDIwMA0KCVN1YmplY3QgOiBSZTogW1NwcmluZ2Zy YW1ld29yay1kZXZlbG9wZXJdIHBhZ2VkIGxpc3RzDQoJDQoJSGkgSmVhbi1QaWVycmUsDQoJDQoJ QlRXLCB0aGUgdGVzdHMgaGF2ZSBhbGwgd29ya2VkIGZvciBtZSBvbiBGcmlkYXkgLSBJJ2xsIHJl Y2hlY2sgdG9tb3Jyb3cuDQoJDQoJUmVnYXJkaW5nIFBhZ2VkTGlzdEF1dG9Ib2xkZXI6IEkgYXBw cmVjaWF0ZSBpdHMgYWRkZWQgZnVuY3Rpb25hbGl0eS4gSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3Rs eSwgaXQncyB0YXJnZXR0ZWQgYXQgZWFzeSB1c2FnZSBpbiBhIHdlYiBjb250cm9sbGVyLiBNeSBp bml0aWFsIFBhZ2VkTGlzdEhvbGRlciB3YXMganVzdCBhIGZpcnN0IHRha2UsIGRyYXduIGZyb20g YW4gYXBwbGljYXRpb24gcHJvamVjdC4gSSdtIHZlcnkgbXVjaCBmb3Igd29ya2luZyBhbGwgb2Yg dGhpcyBpbnRvIGEgcmVmaW5lZCB2ZXJzaW9uLCBldmVuIGJlZm9yZSAwLjguIEknbGwgcHJvYmFi bHkgdXNlIGl0IGluIG91ciBhcHBsaWNhdGlvbiBwcm9qZWN0IHRvby4NCgkNCgktLS0NCgkNCglJ J3ZlIGdvdCBzb21lIGNvbmNyZXRlIGlzc3VlczoNCgkNCgktIEdlbmVyYWxseSwgd2Ugc2hvdWxk IHRyeSB0byB1c2UgZGF0YSBiaW5kaW5nIHdoZXJldmVyIHBvc3NpYmxlLCB0byBrZWVwIHRoZSBt b2RlbCBhbmQgdGhlIGFjdGlvbnMgYXMgT08gcmVzcC4gYmVhbi1zdHlsZSBhcyBwb3NzaWJsZS4g SSdtIG5vdCBhIGdyZWF0IGZhbiBvZiBtYW51YWwgcGFyYW1ldGVyIHBhcnNpbmcgKGhhdmUgdXNl ZCBpdCBmYXIgdG9vIG1hbnkgdGltZXMgbXlzZWxmKSwgYmUgaXQgZnJvbSB0aGUgU2VydmxldFJl cXVlc3Qgb3IgZnJvbSBhIFN0cmluZy1iYXNlZCBwYXJhbWV0ZXIgbWFwLiBTcHJpbmcncyBTZXJ2 bGV0UmVxdWVzdERhdGFCaW5kZXIgYWxsb3dzIGZvciB2ZXJ5IHBvd2VyZnVsIGJpbmRpbmcgb2Yg cmVxdWVzdCBwYXJhbWV0ZXJzIHRvIGJlYW4gaW5zdGFuY2VzLCBldmVuIG9uZSB0byByZXF1ZXN0 IHRvIG11bHRpcGxlIGJlYW5zLiBNYW51YWwgU3RyaW5nIHBhcmFtZXRlciBldmFsdWF0aW9uIGRv ZXNuJ3QgYmVsb25nIGluIGEgcHJvcGVyIG1vZGVsIG9iamVjdCwgSU1PLg0KCQ0KCS0gZ2V0TWF4 RGlzcGxheVBhZ2VzLCBnZXRGaXJzdERpc3BsYXlQYWdlLCBnZXRMYXN0RGlzcGxheVBhZ2Ugc2hv dWxkIHByb2JhYmx5IGJlIGNhbGxlZCBnZXRNYXhMaW5rZWRQYWdlcywgZ2V0Rmlyc3RMaW5rZWRQ YWdlLCBnZXRMYXN0TGlua2VkUGFnZSAtIGFzIHRoZXkgYXJlbid0IHJlYWxseSBkaXNwbGF5ZWQg dGhlbXNlbHZlcyBidXQgcmF0aGVyIGp1c3QgbGlua2VkIGZyb20gdGhlIGN1cnJlbnRseSBkaXNw bGF5ZWQgcGFnZS4NCgkNCgktIEknZCBsaWtlIHRvIHR1cm4geW91ciAiU29ydCIgaW5uZXIgY2xh c3MgaW50byBhIGdlbmVyaWMgY29tLmludGVyZmFjZTIxLmJlYW5zLlNvcnREZWZpbml0aW9uIGlu dGVyZmFjZSwgYW5kIG9mZmVyIGFuIGFjY29tcGFueWluZyBCZWFuVXRpbHMuc29ydEJ5UHJvcGVy dHkoTGlzdCxTb3J0RGVmaW5pdGlvbikgbWV0aG9kLiBZb3VyIGN1cnJlbnQgU29ydCBpbXBsZW1l bnRhdGlvbiBjb3VsZCBzZXJ2ZSBhcyBEZWZhdWx0U29ydERlZmluaXRpb24gaW1wbGVtZW50YXRp b24uDQoJDQoJLSBBcyB5b3UndmUgYWRkcmVzc2VkIHdpdGggZXh0ZW5kZWRJbmZvLCByZWxvYWRp bmcgY2FuIGRlcGVuZCBvbiB2YXJpb3VzIHNwZWNpZmljIHBhcmFtZXRlcnMuIEJ1dCBmaWx0ZXJp bmcgY291bGQgYmUgYmFzZWQgbm90IG9ubHkgb24gcGVyLWZpZWxkIG1hdGNoaW5nIHZhbHVlcyBi dXQgb24gcmVndWxhciBleHByZXNzaW9ucyBldGMuIEEgZ2VuZXJpYyAiZmlsdGVyIiBwcm9wZXJ0 eSBvZiB0eXBlIE9iamVjdCB3aWxsIGFsbG93IHRoZSBjb250cm9sbGVyIHRvIHN0b3JlIGEgc3Rh dGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCBmaWx0ZXIgc2V0dGluZ3MsIGNvbWJp bmluZyB5b3VyIGZpbHRlck1hcCBhbmQgZXh0ZW5kZWRJbmZvIGluIG9uZSBnZW5lcmljIE9iamVj dC4gTm90ZSB0aGF0IFBhZ2VkTGlzdEhvbGRlciBkb2VzIG5vdCBhbmQgc2hvdWxkIG5vdCBuZWVk IHRvIGtub3cgYWJvdXQgdGhlIHNlbWFudGljcyBvZiAiZmlsdGVyIi4NCgkNCgktIFNvbWUgcHJv cGVydGllcyByZXByZXNlbnQgTGlzdCBtZXRhIGRhdGE6ICJzb3J0IiBvZiB0eXBlIFNvcnREZWZp bml0aW9uLCAiZmlsdGVyIiBvZiB0eXBlIE9iamVjdCwgImxvY2FsZSIgb2YgdHlwZSBMb2NhbGUu IFRoZXNlIGNhbiBlYXNpbHkgYmUgaW5jbHVkZWQgaW4gUGFnZWRMaXN0SG9sZGVyLCBqdXN0IGxp a2UgdGhlIGxpbmtlZCBwYWdlcyBzdXBwb3J0IHRvbyAoaW4gdGhlIGVuZCwgbGV0J3MgbWVyZ2Ug UGFnZWRMaXN0SG9sZGVyIGFuZCBQYWdlZExpc3RBdXRvSG9sZGVyIC0gd2UgcHJvYmFibHkgZG9u J3QgbmVlZCBib3RoKS4gUGFnZWRMaXN0U291cmNlUHJvdmlkZXIgd291bGQgaGF2ZSBhIGdlbmVy aWMgbG9hZExpc3QoT2JqZWN0IEZpbHRlciwgTG9jYWxlIGxvY2FsZSkgdGhlbi4NCgkNCgktIFBh Z2VkTGlzdEhvbGRlciBwcm9wZXJ0aWVzIGxpa2UgcGFnZVNpemUsIHBhZ2VOciwgbWF4TGlua2Vk UGFnZXMgc2hvdWxkIGJlIHBvcHVsYXRlZCB2aWEgYmluZGluZyAodGhhdCdzIGhvdyBteSBpbml0 aWFsIHZlcnNpb24gd2FzIG1lYW50IHRvIGJlIHVzZWQpLiBMZXQncyB0cmVhdCBQYWdlZExpc3RI b2xkZXIgYXMgYSBmb3JtIGJlYW4sIHdpdGggcmVxdWVzdCBwYXJhbWV0ZXJzIGdldHRpbmcgYm91 bmQgdG8gaXQgb24gZXZlcnkgc3VibWl0IC0gbm8gU3RyaW5nIHBhcmFtZXRlciBwYXJzaW5nLCBu byBJbnRlZ2VyLnBhcnNlSW50LiBUaGUgc2FtZSBhcHBsaWVzIHRvICJzb3J0IiBhbmQgImZpbHRl ciI6IEEgY29udHJvbGxlciBjYW4gc2V0IHNwZWNpZmljIGluc3RhbmNlcyB0byB0aGUgUGFnZWRM aXN0SG9sZGVyIGluc3RhbmNlIG9uIHNldHVwLiBUaGVzZSBpbnN0YW5jZXMgY2FuIGJlIHBvcHVs YXRlZCB2aWEgdGhlIHNhbWUgYmluZGluZyBzdGVwLCB1c2luZyBuZXN0ZWQgcGF0aHMgbGlrZSAi c29ydC5hc2NlbmRpbmciIGV0Yy4NCgkNCgktIFBhZ2VkTGlzdEhvbGRlcidzIHJlZnJlc2ggbWV0 aG9kIHNob3VsZCBkbyBlcXVhbHMgY2hlY2tzIG9uICJzb3J0IiBhbmQgImZpbHRlciIgKHVzaW5n IHN0b3JlZCBjb3BpZXMgZnJvbSB0aGUgbGFzdCByZWZyZXNoKSwgYW5kIHBlcmZvcm0gcmVzb3J0 aW5nIHJlc3AuIHJlbG9hZGluZyBpZiBuZWNlc3NhcnkgKHNldHRpbmcgY3VycmVudCB2ZXJzaW9u cyBhcyBzdG9yZWQgY29waWVzKS4gVGh1cywgYSBjb250cm9sbGVyIHNob3VsZCBpbnZva2UgcmVm cmVzaCBhZnRlciBlYWNoIGJlYW4gcG9wdWxhdGlvbiwgaS5lLiBvbiBlYWNoIHJlcXVlc3QuIEEg cmVhbCByZWZyZXNoIGNhbiBiZSBlbmZvcmNlZCBieSBhIHJlc3BlY3RpdmUgcmVxdWVzdCBwYXJh bWV0ZXIsIGJ1dCB0aGlzIHNob3VsZCBiZSBjaGVja2VkIGJ5IHRoZSBzcGVjaWZpYyB3ZWIgY29u dHJvbGxlciwgdHJpZ2dlcmluZyBhIHJlZnJlc2goYm9vbGVhbiBlbmZvcmNlKSBjYWxsIHdpdGgg dHJ1ZSB0aGVuLg0KCQ0KCS0gQWxsIHRoaW5ncyBjb25zaWRlcmVkLCB0aGUgdW5pZmllZCBQYWdl ZExpc3RIb2xkZXIgd2lsbCBub3QgbmVlZCB0byBrbm93IGFueXRoaW5nIGFib3V0IHJlcXVlc3Qg cGFyYW1ldGVycy4gUGFnZWRMaXN0QXV0b0hvbGRlcidzIHh4eFBhcmFtIHByb3BlcnRpZXMgYW5k IGl0cyBxdWl0ZSBsZW5ndGh5IGV4ZWN1dGUgbWV0aG9kIGFyZW4ndCBuZWNlc3NhcnkgdGhlbiwg bW9zdCBzdHVmZiBjYW4gd29yayB2aWEgZGF0YSBiaW5kaW5nIGFuZCByZWZyZXNoLiBJZiBvbmUg d2FudHMgdG8gdXNlIGRpZmZlcmVudCByZXF1ZXN0IHBhcmFtZXRlcnMsIG9uZSBjYW4gYWx3YXlz IHBlcmZvcm0gbWFudWFsIHBvc3QtYmluZGluZywgYnV0IHRoZSBiZWFuIHByb3BlcnR5IG5hbWVz IHNob3VsZCBiZSBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkIGFzIHBhcmFtZXRlciBuYW1lcyBhbnl3 YXkuIFRoZSBiaW5kaW5nIHBhdGhzIG1hdGNoIHRoZSBKU1RMIEVMIGV4cHJlc3Npb25zIG5pY2Vs eSwgbGlrZSAic29ydC5hc2NlbmRpbmciLg0KCQ0KCS0tLQ0KCQ0KCUEgY29udHJvbGxlciBpbXBs ZW1lbnRhdGlvbiBpcyBhcyBzaW1wbGUgYXMgYmVmb3JlLiBJdCBqdXN0IG5lZWRzIHRvIHRyaWdn ZXIgdGhlIGJpbmRpbmcgYW5kIGNhbGwgdGhlIHJlZnJlc2ggbWV0aG9kIGFmdGVyd2FyZHMsIGlu c3RlYWQgb2YgdGhlIGN1cnJlbnQgZXhlY3V0ZSBjYWxsLiBUaGUgcmVzcGVjdGl2ZSBjb2RlIGlu IHlvdXIgUGFnZWRMaXN0Q29udHJvbGxlciBleGFtcGxlIHdvdWxkIGxvb2sgYWJvdXQgYXMgZm9s bG93czoNCgkNCglwdWJsaWMgTW9kZWxBbmRWaWV3IHNob3dNYWluKEh0dHBTZXJ2bGV0UmVxdWVz dCByZXF1ZXN0LCBIdHRwU2VydmxldFJlc3BvbnNlIHJlc3BvbnNlKSB7DQoJICBQYWdlZExpc3RB dXRvSG9sZGVyIGxpc3RIb2xkZXIgPQ0KCSAgICAoUGFnZWRMaXN0QXV0b0hvbGRlcilyZXF1ZXN0 LmdldFNlc3Npb24odHJ1ZSkuZ2V0QXR0cmlidXRlKENPVU5UUklFU19BVFRSKTsNCgkgIGlmIChu dWxsID09IGxpc3RIb2xkZXIpIHsNCgkgICAgbGlzdEhvbGRlciA9IChQYWdlZExpc3RBdXRvSG9s ZGVyKXRoaXMuZ2V0QXBwbGljYXRpb25Db250ZXh0KCkuZ2V0QmVhbigiYXV0b0xpc3RIb2xkZXIi KTsNCgkgICAgbGlzdEhvbGRlci5zZXRTb3VyY2VQcm92aWRlcihuZXcgQ291bnRyaWVzUHJvdmlk ZXIoKSk7DQoJICAgIGxpc3RIb2xkZXIuc2V0RmlsdGVyKG5ldyBDb3VudHJpZXNGaWx0ZXIoKSk7 DQoJICAgIGxpc3RIb2xkZXIuc2V0U29ydChuZXcgRGVmYXVsdFNvcnREZWZpbml0aW9uKCkpOw0K CSAgICByZXF1ZXN0LmdldFNlc3Npb24odHJ1ZSkuc2V0QXR0cmlidXRlKENPVU5UUklFU19BVFRS LCBsaXN0SG9sZGVyKTsgDQoJICB9DQoJICBCaW5kRXhjZXB0aW9uIGV4ID0gQmluZFV0aWxzLmJp bmQocmVxdWVzdCwgbGlzdEhvbGRlciwgImNvdW50cmllcyIpOw0KCSAgYm9vbGVhbiBmb3JjZVJl ZnJlc2ggPSByZXF1ZXN0LmdldFBhcmFtZXRlcigiZm9yY2VSZWZyZXNoKSAhPSBudWxsOw0KCSAg bGlzdEhvbGRlci5yZWZyZXNoKGZvcmNlUmVmcmVzaCk7DQoJICByZXR1cm4gbmV3IE1vZGVsQW5k VmlldygibWFpblZpZXciLCBleC5nZXRNb2RlbCgpKTsNCgl9DQoJDQoJcHVibGljIGNsYXNzIENv dW50cmllc0ZpbHRlciB7DQoJICBwcml2YXRlIFN0cmluZyBuYW1lOw0KCSAgcHJpdmF0ZSBTdHJp bmcgY29kZTsNCgkgIHB1YmxpYyBTdHJpbmcgZ2V0TmFtZSgpIHsNCgkgICAgcmV0dXJuIG5hbWU7 DQoJICB9DQoJICBwdWJsaWMgdm9pcyBzZXROYW1lKFN0cmluZyBuYW1lKSB7DQoJICAgIHRoaXMu bmFtZSA9IG5hbWU7DQoJICB9DQoJICBwdWJsaWMgU3RyaW5nIGdldENvZGUoKSB7DQoJICAgIHJl dHVybiBjb2RlOw0KCSAgfQ0KCSAgcHVibGljIHZvaXMgc2V0Q29kZShTdHJpbmcgY29kZSkgew0K CSAgICB0aGlzLmNvZGUgPSBjb2RlOw0KCSAgfQ0KCX0NCgkNCglGaWx0ZXJpbmcgZG9lc24ndCB3 b3JrIHZpYSBwYXJhbWV0ZXIgbmFtZXMgdGhhdCBzZXJ2ZSBhcyBmaWx0ZXIgbmFtZXMgYW55bW9y ZSwgYnV0IHdpdGggYSBuZXN0ZWQgImZpbHRlciIgb2JqZWN0IG9mIHR5cGUgQ291bnRyaWVzRmls dGVyLiBTbyB5b3VyIG1haW4uanNwIHdvdWxkIG5lZWQgdG8gdXNlICJjb3VudHJpZXMuZmlsdGVy LmNvZGUiIEVMIGZvciBtYXRjaGluZywgc2VuZGluZyAiZmlsdGVyLmNvZGUiIGFzIHJlcXVlc3Qg cGFyYW1ldGVyIG5hbWUgZm9yIGNoYW5naW5nLiBUaGUgc2FtZSBhcHBsaWVzIHRvIHNvcnRpbmcs IHVzaW5nIHRoZSBuZXN0ZWQgInNvcnQiIG9iamVjdDogZS5nLiAiY291bnRyaWVzLnNvcnQuYXNj ZW5kaW5nIiBFTCBmb3IgZXZhbHVhdGlvbiAoanVzdCBsaWtlIGluIHlvdXIgY3VycmVudCB2ZXJz aW9uKSwgInNvcnQuYXNjZW5kaW5nIiBhcyByZXF1ZXN0IHBhcmFtZXRlciBuYW1lLg0KCQ0KCS0t LQ0KCQ0KCVdoYXQgZG8geW91IHRoaW5rPyBJJ20ga2VlbiBvbiBhcHBseWluZyB0aGVzZSBjaGFu Z2VzIHByb21wdGx5LCBpZiB5b3UgZG9uJ3QgbWluZCwgaWYgcG9zc2libGUgYWxyZWFkeSB0b21v cnJvdy4gQlRXLCBJJ20gd3JpdGluZyB0aGlzIG9uIGEgbm9uLWRldmVsb3BtZW50IFBDIGF0IGhv bWUsIHNvIEkgaGF2ZW4ndCBhY3R1YWxseSBwcm90b3R5cGVkIHRoZSBkZXNpZ24sIGJ1dCBJIGV4 cGVjdCBpdCB0byB3b3JrIG5pY2VseS4gV2Ugc2hvdWxkIGVuZCB1cCB3aXRoIHNpZ25pZmljYW50 bHkgbGVzcyBhbmQgbW9yZSBtYWludGFpbmFibGUgY29kZSwgSSBob3BlLg0KCQ0KCVJlZ2FyZHMs DQoJSnVlcmdlbg0KCQ0KCQ0KCQ0KCSAgICAgICAgLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNocmlj aHQtLS0tLQ0KCSAgICAgICAgVm9uOiBKUCBQYXdsYWsgW21haWx0bzpqcC5wYXdsYWtAdGlzY2Fs aS5mcl0NCgkgICAgICAgIEdlc2VuZGV0OiBGciAyMy4wNS4yMDAzIDIyOjIwDQoJICAgICAgICBB bjogU3ByaW5nIERldmVsb3BlcnMNCgkgICAgICAgIENjOg0KCSAgICAgICAgQmV0cmVmZjogW1Nw cmluZ2ZyYW1ld29yay1kZXZlbG9wZXJdIHBhZ2VkIGxpc3RzDQoJICAgICAgIA0KCSAgICAgICAN CgkNCgkNCgkgICAgICAgIEhpLA0KCSAgICAgICANCgkgICAgICAgIEV4Y3VzZSBtZSBmcm9tIGRp c3R1cmJpbmcgZnJvbSBmdW5kYW1lbnRhbCBpc3N1ZXMgbGlrZSB0aGUgS2V5QmluZGVyDQoJICAg ICAgICBwb3N0ZWQgYnkgSXNhYmVsbGUgYW5kIHRoZSBicm9rZW4gdGVzdHMgSSd2ZSBqdXN0IHBv c3RlZC4NCgkgICAgICAgDQoJICAgICAgICBBcyBJIHRhbGtlZCBhYm91dCwgSSBoYXZlIGFkZGVk IHRocmVlIGZpbGVzOg0KCSAgICAgICAgSW4gc3JjOg0KCSAgICAgICAgICAgLSBjb20uaW50ZXJm YWNlMjEudXRpbC5QYWdlZExpc3RBdXRvSG9sZGVyLmphdmEgKENsYXNzIGRlcml2ZWQgZnJvbQ0K CSAgICAgICAgUGFnZWRMaXN0SG9sZGVyKQ0KCSAgICAgICAgICAgLSBjb20uaW50ZXJmYWNlMjEu dXRpbC5QYWdlZExpc3RTb3VyY2VQcm92aWRlci5qYXZhIChJbnRlcmZhY2UpDQoJICAgICAgICBp biB0ZXN0Og0KCSAgICAgICAgICAgLSBjb20uaW50ZXJmYWNlMjEudXRpbC5QYWdlZExpc3RBdXRv SG9sZGVyVGVzdHMuamF2YSAoQ2xhc3MpDQoJICAgICAgIA0KCSAgICAgICAgVGhpcyBhbGwgZm9y IGVhc3kgdXNlIG9mIGEgbW9yZSBwb3dlcmZ1bGwgcGFnZWQgTGlzdC4NCgkgICAgICAgIFRoZSBq YXZhZG9jIGFuZCBldmVudHVhbGx5IHRlc3Qgc291cmNlIHdpbGwgbm9ybWFsbHkgc3VmZmljZSB0 bw0KCSAgICAgICAgdW5kZXJzdGFuZCB0aGUgdXNlLg0KCSAgICAgICAgTmV2ZXJ0aGVsZXNzLCBp ZiBJIHdpbGwgbm90IGJlIGltcGFjdGVkIGJ5IHRoZSBjdXJyZW50IHRlc3QgaXNzdWVzLCBJDQoJ ICAgICAgICB3aWxsIHRyeSB0byBwcm92aWRlIGEgdGlueSBzYW1wbGUgYXBwbGljYXRpb24gZm9y IGRlbW9uc3RyYXRpbmcuDQoJICAgICAgIA0KCSAgICAgICAgQWZ0ZXIgMC44IHdpbGwgYmUgcmVs ZWFzZWQsIEkgY291bGQgaGF2ZSBzb21lIGhlbHAgZm9yIHJld2lldmluZyB0aGUNCgkgICAgICAg IGphdmFkb2MgY29tbWVudHMgYXMgbXkgRW5nbGlzaCBpcyB2ZXJ5IGZhciBmcm9tIHBlcmZlY3Qu DQoJICAgICAgIA0KCSAgICAgICAgUmVnYXJkcywNCgkgICAgICAgIF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fXw0KCSAgICAgICAgSmVhbi1QaWVycmUgUGF3bGFrDQoJICAgICAgICBqcC5w YXdsYWtAdGlzY2FsaS5mcg0KCSAgICAgICAgDQoJICAgICAgIA0KCSAgICAgICANCgkgICAgICAg DQoJICAgICAgIA0KCSAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgICAgICAgVGhpcyBTRi5uZXQgZW1haWwgaXMgc3BvbnNv cmVkIGJ5OiBPYmplY3RTdG9yZS4NCgkgICAgICAgIElmIGZsYXR0ZW5pbmcgb3V0IEMrKyBvciBK YXZhIGNvZGUgdG8gbWFrZSB5b3VyIGFwcGxpY2F0aW9uIGZpdCBpbiBhDQoJICAgICAgICByZWxh dGlvbmFsIGRhdGFiYXNlIGlzIHBhaW5mdWwsIGRvbid0IGRvIGl0ISBDaGVjayBvdXQgT2JqZWN0 U3RvcmUuDQoJICAgICAgICBOb3cgcGFydCBvZiBQcm9ncmVzcyBTb2Z0d2FyZS4gaHR0cDovL3d3 dy5vYmplY3RzdG9yZS5uZXQvc291cmNlZm9yZ2UNCgkgICAgICAgIF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoJICAgICAgICBTcHJpbmdmcmFtZXdvcmst ZGV2ZWxvcGVyIG1haWxpbmcgbGlzdA0KCSAgICAgICAgU3ByaW5nZnJhbWV3b3JrLWRldmVsb3Bl ckBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQNCgkgICAgICAgIGh0dHBzOi8vbGlzdHMuc291cmNlZm9y Z2UubmV0L2xpc3RzL2xpc3RpbmZvL3NwcmluZ2ZyYW1ld29yay1kZXZlbG9wZXINCgkgICAgICAg DQoJDQoJDQoJDQoJKioqKioqKioqKiBTUEVDSUFMIEFEU0wgKioqKioqKioqKg0KCUwnQURTTCDD oCBwYXJ0aXIgZGUgMTUsOTUgRVVSL21vaXMgZXQgbGUgbW9kZW0gQURTTCBvZmZlcnQgPyAgQydl c3QgZW4gZXhjbHVzaXZpdMOpIGNoZXogVGlzY2FsaSAhDQoJUG91ciBwcm9maXRlciBkZSBjZXR0 ZSBvZmZyZSwgY2xpcXVleiBpY2k6IGh0dHA6Ly9yZWdpc3Rlci50aXNjYWxpLmZyL2Fkc2wvDQoJ T2ZmcmUgc291bWlzZSDDoCBjb25kaXRpb25zLg0KCQ0KCQ0KCQ0KDQpOGEhZ3rXpmopYJ3VuNyto H35WDQouL1oodWgeyotqZcat34rYp2pq2KhdatabaseidnYNChc5ctStDQpaHz4gLErehmkw4oCg eWzenX9xB9qZKEdeaGopYgli1KkpfnsNCivXr3paKXpiLHkr3rYbbSstLsefHn8rLWLYp37sprja mShHXmgNCg== |