DQpQbGVhc2UgcG9zdCB0aGUgZm9sbG93aW5nIHBvc3QtZG9jIGFubm91bmNlbWVudC4NCg0KbWFu eSB0aGFua3MsDQpzdGFuDQoNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KU3RhbmxleSBELiBTbWl0aCwg UHJvZmVzc29yDQpEZXBhcnRtZW50IG9mIEJpb2xvZ2ljYWwgU2NpZW5jZXMNClVuaXZlcnNpdHkg b2YgTmV2YWRhLCBMYXMgVmVnYXMNCkxhcyBWZWdhcywgTlYgIDg5MTU0LTQwMDQNCg0KKDcwMikg ODk1LTMxOTcgIE9mZmljZQ0KKDcwMikgODk1LTIzNDcgIExhYg0KKDcwMikgODk1LTM5NTYgIEZh eA0Kc3Rhbi5zbWl0aEB1bmx2LmVkdQ0KaHR0cDovL3d3dy51bmx2LmVkdS9DbGltYXRlX0NoYW5n ZV9SZXNlYXJjaC9TbWl0aC9zdGFuX2luZGV4Lmh0bQ0KKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KDQoN Cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCiAgIFR3byBQb3N0IERvY3RvcmFsIFBvc2l0aW9ucyAtIFZhZG9zZSBab25lIFByb2Nlc3Nl cw0KDQogICBUaGUgVW5pdmVyc2l0eSBvZiBOZXZhZGEsIExhcyBWZWdhcyAoVU5MVikgaW52aXRl cyBhcHBsaWNhdGlvbnMgZm9yIHR3bw0KICAgUG9zdGRvY3RvcmFsIEZlbGxvd3NoaXBzIGluIHNv aWwgc2NpZW5jZSwgdmFkb3NlIHpvbmUgaHlkcm9sb2d5LCBhbmQvb3INCiAgIGFyaWQgZWNvc3lz dGVtIHJlc2VhcmNoIGFzIHBhcnQgb2YgdGhlIHJlc2VhcmNoIGRldmVsb3BtZW50IHByb2dyYW0s DQogICAiU2NhbGluZyBFbnZpcm9ubWVudGFsIFByb2Nlc3NlcyBpbiBIZXRlcm9nZW5lb3VzIEFy aWQgU29pbHPigJ0gKFNFUEhBUykNCiAgIG9mIE5ldmFkYSdzIE5TRiBFUFNDb1IgUHJvZ3JhbSDi gJxSZXNlYXJjaCBJbmZyYXN0cnVjdHVyZSBmb3IgTmV2YWRhJ3MNCiAgIEdyb3d0aCAtIFRhcmdl dGluZyBSZXNlYXJjaCB3aXRoIFVuaXF1ZW5lc3MgYW5kIEV4Y2VsbGVuY2UgSUlJDQogICAoUklO Ry1UUlVFIElJSSkiLiBUaGUgZm9jdXMgb2YgdGhlIHJlc2VhcmNoIHdpbGwgYmUgb24gdGhlIHN0 dWR5IG9mDQogICB1bnNhdHVyYXRlZCBmbG93LCBzb2lsIGJpb2NoZW1pc3RyeSwgYmlvZ2VvY2hl bWlzdHJ5LCBzb2lsIHBlZG9sb2d5LA0KICAgcGxhbnQgcHJvY2Vzc2VzLCBmbG93IGFuZCBzb2x1 dGUgdHJhbnNwb3J0IGluIGFyaWQgc29pbHMgd2l0aCBpbnRlZ3JhdGVkDQogICBmaWVsZCwgbGFi b3JhdG9yeSwgYW5kIG51bWVyaWNhbCBhcHByb2FjaGVzIGFzIHdlbGwgYXMgc2NhbGluZyBpc3N1 ZXMgb24NCiAgIHZhcmlvdXMgcGh5c2ljYWwgcHJvY2Vzc2VzIGluIGFyaWQgc29pbHMuIFRoZSBz dWNjZXNzZnVsIGFwcGxpY2FudCB3aWxsDQogICB1dGlsaXplIGEgbmV3LCBsYXJnZS1zY2FsZSBs eXNpbWV0ZXIgZmFjaWxpdHkgdW5kZXIgY29uc3RydWN0aW9uIGFzIHBhcnQNCiAgIG9mIHRoZSBT RVBIQVMgcHJvZ3JhbSAoaHR0cDovL2h5ZHJvLm5ldmFkYS5lZHUvc2VwaGFzKS4gVGhlIEZlbGxv d3NoaXBzDQogICBwcm92aWRlIGEgZGlyZWN0IGFubnVhbCBzYWxhcnkgb2YgJDQwLDAwMCBwbHVz IGFkZGl0aW9uYWwgZnVuZHMgdG8gY292ZXINCiAgIGluc3RpdHV0aW9uYWwgZnJpbmdlIGV4cGVu c2VzLiBBIFBoLkQuIChvciBlcXVpdmFsZW50KSBpbiBoeWRyb2xvZ3ksDQogICBzb2lsIHBoeXNp Y3MsIHBsYW50IHBoeXNpb2xvZ3kgb3IgcmVsYXRlZCBmaWVsZHMgaXMgcmVxdWlyZWQgYXMgd2Vs bCBhcw0KICAgYSBiYWNrZ3JvdW5kIGluIHF1YW50aXRhdGl2ZSBtZXRob2RzIGFuZCBudW1lcmlj YWwgbW9kZWxpbmcuIFByZWZlcmVuY2UNCiAgIHdpbGwgYmUgZ2l2ZW4gdG8gYXBwbGljYW50cyB3 aXRoIHF1YW50aXRhdGl2ZSBza2lsbHMgYW5kIHJlc2VhcmNoDQogICBiYWNrZ3JvdW5kIGluIGFy aWQgc29pbHMgYW5kIHZhZG9zZSB6b25lIGh5ZHJvbG9neS4gVGhlIGFiaWxpdHkgdG8gd29yaw0K ICAgcHJvZHVjdGl2ZWx5IGFuZCBjb2xsZWdpYWxseSBpbiBhIHRlYW0gc2l0dWF0aW9uIGlzIHJl cXVpcmVkLiBBcHBsaWNhbnRzDQogICBzaG91bGQgZnVsbHkgZGVzY3JpYmUgdGhlaXIgcXVhbGlm aWNhdGlvbnMgYW5kIGV4cGVyaWVuY2UsIHdpdGggc3BlY2lmaWMNCiAgIHJlZmVyZW5jZSB0byBl YWNoIG9mIHRoZSBtaW5pbXVtIGFuZCBwcmVmZXJyZWQgcXVhbGlmaWNhdGlvbnMuDQogICBBZGRy ZXNzaW5nIHRoZXNlIHF1YWxpZmljYXRpb25zIHdpbGwgYmUgdXNlZCBpbiB0aGUgaW5pdGlhbCBy ZXZpZXcgb2YNCiAgIGFwcGxpY2F0aW9uIG1hdGVyaWFscy4gUG90ZW50aWFsIGFwcGxpY2FudHMg YXJlIHN0cm9uZ2x5IGVuY291cmFnZWQgdG8NCiAgIGNvbnRhY3QgRHIuIFpob25nYm8gWXUgKHpo b25nYm9AdW5sdi5uZXZhZGEuZWR1KSwgRHIuIERhbGUgRGV2aXR0DQogICAoZGV2NTBAY2xhcmsu bnNjZWUuZWR1KSBvciBEci4gU3RhbiBTbWl0aCAoc3Rhbi5zbWl0aEB1bmx2LmVkdSkgZm9yDQog ICBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgcG9zdGRvY3RvcmFsIGZlbGxvd3No aXAsIHRoZSBTRVBIQVMNCiAgIHByb2dyYW0gYW5kIHJlbGF0ZWQgcHJvamVjdHMgKGh0dHA6Ly9o eWRyby5uZXZhZGEuZWR1L3NlcGhhcykuIFF1ZXN0aW9ucw0KICAgcmVnYXJkaW5nIGFwcGxpY2F0 aW9ucyBzaG91bGQgYmUgZGlyZWN0ZWQgdG8gTXMuIEFsaWNlIFdhcmQsIE5ldmFkYSBOU0YNCiAg IEVQU0NvUiBPdXRyZWFjaCBQcm9qZWN0IEFkbWluaXN0cmF0b3IgKDcwMi04NjItNTU5MDsgYWxp Y2V3QG5ldmFkYS5lZHUpLg0KICAgRnVydGhlciBxdWVzdGlvbnMgcmVnYXJkaW5nIGFwcGxpY2F0 aW9ucyBhbmQgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZQ0KICAgcHJvZ3JhbSwgY2FuIGJlIGZv dW5kIGF0IGh0dHA6Ly93d3cubmV2YWRhLmVkdS9lcHNjb3IvLiBSZXZpZXcgb2YNCiAgIGFwcGxp Y2F0aW9ucyB3aWxsIGJlZ2luIG9uIE1heSAzMSwgMjAwNi4gQXBwbGljYXRpb25zIHdpbGwgYmUg YWNjZXB0ZWQNCiAgIHVudGlsIGZlbGxvd3NoaXAgcG9zaXRpb25zIGFyZSBmaWxsZWQgYnV0IG5v IGxhdGVyIHRoYW4gSnVuZSAzMCwgMjAwNi4NCg==
