LSBGb2N1cyBnYWluZWQvbG9zdCBzZWxlY3Rpb24/DQoNCi0gKHZvbiBpbW8pIEhhbmRsaW5nIHZvbiBJU21hcnRGaWVsZC5nZXRBY3RpdmVGaWx0ZXIuIERhcnN0ZWxsdW5nIGltIFNtYXJ0cHJvcG9zYWwgUG9wdXAgbWl0IDMgUmFkaW9idXR0b25zICogQWt0aXZlICogSW5ha3RpdmUgKiBBa3RpdmUgKyBJbmFrdGl2ZQ0KDQotICh2b24gaW1vKSBCZW51dHp1bmcgdm9uIG5ldWVyIFNpZ25hdHVyIHZvbiBJU21hcnRGaWVsZFVJRmFjYWRlLmdldFByb3Bvc2FsRm9yVGV4dEZyb21VSShTdHJpbmcgdGV4dCxpbnQgbWF4Q291bnQsVHJpU3RhdGUgYWN0aXZlKSAtPiBTbWFydEZpZWxkUHJvcG9zYWwNCg0KLSAodm9uIGltbykgQmVy/GNrc2ljaHRpZ3VuZyBTbWFydEZpZWxkUHJvcG9zYWwuaGFzTW9yZSgpIHVuZCBTbWFydEZpZWxkUHJvcG9zYWwuZ2V0TWVzc2FnZSgpDQoNClZvcnNjaGxhZyBzd3QgUHJvcG9zYWxQb3B1cCAodG9wLWRvd24pOg0KW0xpc3RdIGb8ciBpdGVtcywgc2Nyb2xsIG51ciB2ZXJ0aWNhbCwgbWF4IDEyIGl0ZW1zIG9obmUgc2Nyb2xsIHNpY2h0YmFyDQpbQnV0dG9uXSBm/HIgbW9yZSwgbGFiZWwgU2NvdXRUZXh0cy5TaG93QWxsDQpbTGFiZWxdIGb8ciBtZXNzYWdlIChpbW1lciBncmF1KSwgc2ljaHRiYXIgd2VubiBTbWFydEZpZWxkUHJvcG9zYWwuZ2V0TWVzc2FnZSgpIT1udWxsDQpbMyBSYWRpb0J1dHRvbnNdIGb8ciBTY291dFRleHRzLkFjdGl2ZVN0YXRlLFNjb3V0VGV4dHMuSW5hY3RpdmVTdGF0ZSxTY291dFRleHRzLkFjdGl2ZUFuZEluYWN0aXZlU3RhdGUNCg0KLSBiZWkgRXJyb3JzIGluIEZlbGQgV2VydGVuIHN0YXR0IHJvdGVtIFRleHQgZWluIEljb24gZ3JhZCBuYWNoIGRlbSBMYWJlbCBhbnplaWdlbiAoYmVudXR6dCBMYWJlbCBzcGFjZSkNCmZpZWxkIGxheW91dCBhbHQ6IExBQkVMIEZJRUxEIEJVVFRPTjEgQlVUVE9OMg0KZmllbGQgbGF5b3V0IG5ldTogTEFCRUwgU1RBVFVTX0xBQkVMIEZJRUxEIEJVVFRPTjEgQlVUVE9OMg0KRGFzIFNUQVRVU19MQUJFTCBpc3Qgc2ljaHRiYXIgd2VubiBkYXMgSVZhbHVlRmllbGQgZWluZSBlcnJvck1lc3NhZ2UgaGF0LCBkYW5uIHplaWd0IGVzIGRhcyBJY29uIHdhcm5pbmcgb2RlciBlcnJvciBhbiB1bmQgaGF0IGFscyBUb2xsdGlwIGRpZSBtZXNzYWdlLg0KDQotIFdlbm4gSUxpc3RCb3guaXNGaWx0ZXJTZWxlY3RlZFJvd3MoKSA9IHRydWUsIGRhbm4gYmVpbSBDUkVBVEUgZGVyIFN3dFNjb3V0TGlzdGJveCB1bnRlciBkZXIgTGlzdGJveCB6d2VpIFJhZGlvQnV0dG9ucyBkYXJzdGVsbGVuICh1bmQgbmljaHQgbWVociBhdXNibGVuZGVuKSB1bmQgY2hhbmdlcyB2aWEgSUxpc3RCb3hVSUZhY2FkZSBhbmQgbW9kZWxsIGZldWVybi4NClsyIFJhZGlvQnV0dG9uc10gZvxyIFNjb3V0VGV4dHMuQWxsU3RhdGUsU2NvdXRUZXh0cy5TZWxlY3RlZFN0YXRlDQoNCi0gV2VubiBJVHJlZUJveC5pc0ZpbHRlclNlbGVjdGVkUm93cygpID0gdHJ1ZSwgZGFubiBiZWltIENSRUFURSBkZXIgU3d0U2NvdXRUcmVlYm94IHVudGVyIGRlciBUcmVlYm94IHp3ZWkgUmFkaW9CdXR0b25zIGRhcnN0ZWxsZW4gKHVuZCBuaWNodCBtZWhyIGF1c2JsZW5kZW4pIHVuZCBjaGFuZ2VzIHZpYSBJTGlzdEJveFVJRmFjYWRlIGFuZCBtb2RlbGwgZmV1ZXJuLg0KWzIgUmFkaW9CdXR0b25zXSBm/HIgU2NvdXRUZXh0cy5BbGxTdGF0ZSxTY291dFRleHRzLlNlbGVjdGVkU3RhdGUNCg==