RE: DDoS protection
"Mikhail A. Utin" <[email protected]> Mon, 23 Jun 2014 12:02:23 -0400
| Newsgroups | gmane.comp.security.basics |
|---|---|
| Message-ID | <025B5895F8BCCC40AC35F6CD6D972B1C1EBA24A78E@cca-mail1.commonwealthcare.org> |
SGVsbG8sDQpZZXMsIGFsbCBoYXMgYmVlbiBrbm93biBmb3IgYSB3aGlsZS4gSSBnb3QgdHdv IHByZXNlbnRhdGlvbnMgZGlzY3Vzc2luZyBwYXJ0aWFsbHkgImNsb3VkIiBtYXR0ZXIgYXQg T1dBU1AgQXBwU2VjIERDIDIwMTIgYW5kIERlZXBTZWMgMjAxMiBhbmQgMjAxMy4NCllvdSBj YW4gY2hlY2sgYm90aCBmb3IgcHJlc2VudGF0aW9ucyBvciBhc2sgbWUgcGVyc29uYWxseS4N CkJhc2ljYWxseSwgYWxsICJjbG91ZHMiIGFyZSBzaW1wbHkgYXBwbGljYXRpb24gaG9zdGlu ZyB3ZWIgc2l0ZXMuIEFuZCB0ZWNobmljYWxseSBhICJjbG91ZCIgaXMgYSBkYXRhY2VudGVy LiBXaGV0aGVyIHN1Y2ggYXBwIGlzIGEgdmlydHVhbCBuZXR3b3JrIG9yIE1vbSZEYWQgUGl6 emEgc2hvcCBIVE1MIHNpdGUgZG9lcyBub3QgbWF0dGVyLg0KU28gbmFtZWQgImNsb3VkIGNv bXB1dGluZyBjb25jZXB0IiBoYXMgbm90aGluZyBpbiBjb21tb24gd2l0aCBjb21wdXRpbmcs IGFuZCBub3QgYSBjb25jZXB0IGF0IGFsbC4gTW9kZWxzIGFyZSB1c2VsZXNzIGFuZCBpbiBz dWNoIGNhc2UgYXMgIkNvbW11bml0eSBDbG91ZCIgYW5kICJIeWJyaWQgQ2xvdWQiIGlzIGxl Z2FsIG5vbnNlbnNlLCBzaW1wbHkgYmVjYXVzZSBhIHNlcnZpY2UgcHJvdmlkZXIgY2Fubm90 IGhhdmUgbGVnYWwgYmluZGluZyByZWxhdGlvbnNoaXAgKGFrYSBhIGNvbnRyYWN0KSB3aXRo IGEgY29tbXVuaXR5LCB3aGljaCBpcyBub3QgYSBsZWdhbCBlbnRpdHkuDQpJIHRyaWVkIHRv IGRpZyBvdXQgd2hlcmUgImNsb3VkIiBjYW1lIGZyb20uIEl0IGlzIGFuIGludmVudGlvbiBv ZiBJQk0gY2lyY2xlIGNvbXBhbmllcyBob3N0aW5nIHNpdGUgcmVzZWxsaW5nIElCTSBzZXJ2 aWNlcy4gQW5kIGluIGVzc2VuY2UgaXMgdGhlIHJlcGxhY2VtZW50IG9mIEdvb2dsZSBhbmQg bmV4dCBJQk0gZnVuZGVkIGFjYWRlbWljIGNsdXN0ZXIgcHJvamVjdCAiQWNhZGVtaWEgQ2x1 c3RlciBDb21wdXRpbmcgSW5pdGlhdGl2ZSIgb3IgQUNDSSwgc2VlOiBMZXQgYSBUaG91c2Fu ZCBzZXJ2ZXJzIGJsb29tIOKAkyBHb29nbGUgb2ZmaWNpYWwgcG9zdCwgUG9zdGVkIGJ5IENo cmlzdG9waGUgQmlzY2lnbGlhLCBPY3RvYmVyIDgsIDIwMDcgaHR0cDovL2dvb2dsZWJsb2cu YmxvZ3Nwb3QuY29tLzIwMDcvMTAvbGV0LXRob3VzYW5kLXNlcnZlcnMtYmxvb20uaHRtbA0K SUJNIGNpcmNsZSBndXlzIHJlcGxhY2VkICJjbHVzdGVyIiB3aXRoICJjbG91ZCIgYW5kIHJl bmFtZWQgQUNDSSBhcyAiQWNhZGVtaWEgQ2xvdWQgQ29tcHV0aW5nIEluaXRpYXRpdmUiLiBC aW5nbyEgTmV4dCB0aGV5IG5lZWRlZCBzb21ldGhpbmcgbG9va2luZyBsaWtlIHNjaWVuY2Ug aW4gYSBmb3JtIG9mICJtb2RlbHMiLg0KSG93ZXZlciwgZ3V5cyB2aW9sYXRlZCBHb29nbGUg aW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvbiB0aGUgb3JpZ2luYWwgQUNDSSBwcm9q ZWN0IG5hbWUuDQoNClJlZ2FyZHMNCg0KTWlraGFpbA0KDQoNCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IGxpc3Rib3VuY2VAc2VjdXJpdHlmb2N1cy5jb20gW21haWx0 bzpsaXN0Ym91bmNlQHNlY3VyaXR5Zm9jdXMuY29tXSBPbiBCZWhhbGYgT2YgU2FyZGluYSwg RG9taW5pY2sNClNlbnQ6IEZyaWRheSwgSnVuZSAyMCwgMjAxNCAyOjQ5IFBNDQpUbzogc2Vj dXJpdHktYmFzaWNzQHNlY3VyaXR5Zm9jdXMuY29tDQpTdWJqZWN0OiBSRTogRERvUyBwcm90 ZWN0aW9uDQoNCkJyZXR0LCBJIGhhdmUgdG8gYWdyZWUgMTAwJS4NCg0KDQpSZWdhcmRzLA0K RG9taW5pY2sgDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGxpc3Ri b3VuY2VAc2VjdXJpdHlmb2N1cy5jb20gW21haWx0bzpsaXN0Ym91bmNlQHNlY3VyaXR5Zm9j dXMuY29tXSBPbiBCZWhhbGYgT2YgV2FnbmVyLCBCcmV0dA0KU2VudDogRnJpZGF5LCBKdW5l IDIwLCAyMDE0IDEyOjU3IFBNDQpUbzogSGFydGxleSwgQ2hyaXN0b3BoZXIgSi47IEtlbGxz dHINCkNjOiBzZWN1cml0eS1iYXNpY3NAc2VjdXJpdHlmb2N1cy5jb20NClN1YmplY3Q6IFJF OiBERG9TIHByb3RlY3Rpb24NCg0KSU1ITyAtIEkgYW0gbm90IGEgZmFuIG9mIGFsbCB0aGUg bXVtYm8ganVtYm8gdGhhdCBnb2VzIGFsb25nIHdpdGggdGhlICJDbG91ZCIgbGlrZSBpdCBp cyBhIG5ldyBpbnZlbnRpb24uIEkgd29ya2VkIGF0IEdURS9CQk4gaW4gMTk5OSBhbmQgd2Ug d2VyZSBzZWxsaW5nIGFsbCB0aGUgc2FtZSBjcmFwIGJhY2sgdGhlbi4gV2l0aCB0aGF0IHNh aWQgYW5kIGhhdmluZyB3b3JrZWQgYXQgRU1DIGZvciBhIHdoaWxlIHlvdSBjYW4gaGF2ZSBh ICJDbG91ZCIgb24gcHJlbWlzZXMganVzdCBtZWFucyB5b3UgaGF2ZSB0aGUgaGFyZHdhcmUg aW4gb25lIG9mIHlvdXIgY29tcGFueSBsb2NhdGlvbnMuIFlvdSBjYW4gaGF2ZSBwcml2YXRl LCBzaGFyZWQsIHB1YmxpYyBvciBhIGNvbWJvLiANCg0KSXQgaXMgdGhlIHNhbWUgZXZvbHV0 aW9uIGFzIElUIHNlY3VyaXR5IGNpcmNhIDE5NzAtODBzIChSYWluYm93IEJvb2sgU2VyaWVz IGRheXMpLCB0aGVuIEluZm9ybWF0aW9uIFNlY3VyaXR5IGNpcmNhIDE5OTBzLCB0aGVuIElu Zm9ybWF0aW9uIEFzc3VyYW5jZSBjaXJjYSBsYXRlIDkwcyBlYXJseSAyMDAwcyBhbmQgbm93 IEN5YmVyIFNlY3VyaXR5LiBXaXRoIGVhY2ggbmFtZSBjaGFuZ2UgY29uc3VsdGFudHMgYW5k IGNvbXBhbmllcyBjYW4gY2hhcmdlIG1vcmUgZm9yIHRoZSBzYW1lIHVsdGltYXRlIGdvYWwg d2l0aCBlYWNoIG5hbWUgY2hhbmdlLg0KDQpPSyBJIHdpbGwgbm93IGdldCBvZmYgbXkgc29h cGJveC4NCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBsaXN0Ym91bmNlQHNl Y3VyaXR5Zm9jdXMuY29tIFttYWlsdG86bGlzdGJvdW5jZUBzZWN1cml0eWZvY3VzLmNvbV0g T24gQmVoYWxmIE9mIEhhcnRsZXksIENocmlzdG9waGVyIEouDQpTZW50OiBGcmlkYXksIEp1 bmUgMjAsIDIwMTQgMTA6NDggQU0NClRvOiBLZWxsc3RyDQpDYzogc2VjdXJpdHktYmFzaWNz QHNlY3VyaXR5Zm9jdXMuY29tDQpTdWJqZWN0OiBSZTogRERvUyBwcm90ZWN0aW9uDQoNClRo aXMgaXMgYSBsaXR0bGUgY29uZnVzaW5nOyDigJxjbG91ZOKAnSwg4oCcb24tcHJlbWlzZeKA nSBldGPigKYgd2VpcmQuDQoNCkJ5IOKAnENsb3VkLOKAnSBpdCBzZWVtIGxpa2Ugd2UgbWVh biDigJxieSBwcm92aWRlcuKAnSAobWFrZXMgc2Vuc2UpLg0KDQpPbi1wcmVtaXNlIGlzIHRo ZSBiZXN0IHdheSB0byBkZXRlY3QgYW4gYXR0YWNrIGltbywgc2luY2UgdGhlIHZpY3RpbSBu ZXR3b3JrIGtub3dzIHdoYXTigJlzIGdvb2QgYW5kIHdoYXTigJlzIG5vdCAob3Igc2hvdWxk 4oCmLikuDQoNClNvIEkgdGhpbmsgdGhlIGJlc3Qgc29sdXRpb24gaW52b2x2ZXMgc29tZSBr aW5kIG9mIHJlbW90ZSBibGFja2hvbGUgb3IgaWRlYWxseSwgcGVyaGFwcyBmbG93c3BlYy4N Cg0KSSBkb27igJl0IHRoaW5rIGl04oCZcyBhIHByb2JsZW0gdGhhdCByZXF1aXJlcyBzcGVu ZGluZyBzaWduaWZpY2FudCBtb25leS4NCg0KQ2hyaXMNCg0KT24gSnVuIDE5LCAyMDE0LCBh dCAxMjo1MCBQTSwgS2VsbHN0ciA8a2VsbHN0ckBnbWFpbC5jb20+IHdyb3RlOg0KDQo+IERp c2NsYWltZXI6IEkgd29yayBmb3IgYSBjb21wYW55IHdoaWNoIG9mZmVycyBhIEREb1MgUHJv dGVjdGlvbiBTZXJ2aWNlLg0KPiANCj4gVGhlIGFkdmFudGFnZSBvZiBhIHNlcnZpY2UgImlu IHRoZSBjbG91ZCIgaXMgdGhhdCBpZiBhbiBhdHRhY2sgZXhjZWVkcyANCj4geW91ciBjaXJj dWl0IGJhbmR3aWR0aCB0aGUgcHJvdmlkZXIgd2lsbCBiZSBhYmxlIHRvIGRyb3AgdGhlIG1h bGljaW91cyANCj4gdHJhZmZpYy4gVGhhdCBjYW5ub3QgYmUgZG9uZSBhdCB5b3VyIHByZW1p c2UuIEJvdGggQXJib3IgYW5kIFJhZHdhcmUgDQo+IG9mZmVyIHN0cm9uZyBhcHBsaWFuY2Vz IHRoYXQgY2FuIGNsZWFuIHVwIHNtYWxsZXIgYXR0YWNrcyBhdCB5b3VyIA0KPiBwcmVtaXNl IGFuZCBjYW4gc2VuZCBhIHNpZ25hbCB0byB0aGUgcHJvdmlkZXIgaWYgdGhleSBzdXBwb3J0 IHRoYXQgDQo+IHNlcnZpY2UuIFlvdSBjYW4gYmxvY2sgdHJhZmZpYyB1c2luZyBJUFMncyBi dXQga2VlcCBpbiBtaW5kIHRoZXkgYXJlIA0KPiBub3QgZGVzaWduZWQgZm9yIGEgdm9sdW1l dHJpYyBhdHRhY2sgYW5kIG1heSBiZSBvdmVyd2hlbG1lZC4NCj4gDQo+IE9uIFdlZCwgSnVu IDE4LCAyMDE0IGF0IDExOjEwIEFNLCBMYW5jZSBMYXNzZXR0ZXIgDQo+IDxsYW5jZWxhc3Nl dHRlckBnbWFpbC5jb20+IHdyb3RlOg0KPj4gV2hhdCBhYm91dCBTdXJpY2F0YSBvciBTbm9y dCBJRFMgaW4gSVBTIG1vZGU/DQo+PiANCj4+IE9uIEp1biAxOCwgMjAxNCA4OjQzIEFNLCAi TWlraGFpbCBBLiBVdGluIiA8bXV0aW5AY29tbW9ud2VhbHRoY2FyZS5vcmc+IHdyb3RlOg0K Pj4+IA0KPj4+IEFzIHlvdSBpbmRpY2F0ZWQgIiBBbHRob3VnaCB3ZSdyZSBzbWFsbCwgV2Un cmUgYW4gb3JnYW5pemF0aW9uIHBsYXlpbmcgd2l0aCAoJCzCpSzigqwswqMpIGV4Y2hhbmdl cyIgeW91IGFyZSBvbiBjbGllbnQgc2lkZSByYXRoZXIgdGhhbiBvbiBzZXJ2ZXIuIElmIHRo YXQgaXMgcmlnaHQsIHlvdSBkbyBub3QgbmVlZCB0byBib3RoZXIgd2l0aCBERG9TIHByb3Rl Y3Rpb24sIHdoaWNoIGlzIGFnYWluc3Qgc2VydmVyIHNpZGUuDQo+Pj4gTWlraGFpbA0KPj4+ IA0KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4gRnJvbTogbGlzdGJvdW5j ZUBzZWN1cml0eWZvY3VzLmNvbQ0KPj4+IFttYWlsdG86bGlzdGJvdW5jZUBzZWN1cml0eWZv Y3VzLmNvbV0gT24gQmVoYWxmIE9mIA0KPj4+IGthcnRpay5uZXRlY0BnbWFpbC5jb20NCj4+ PiBTZW50OiBXZWRuZXNkYXksIEp1bmUgMTgsIDIwMTQgMTI6NDkgQU0NCj4+PiBUbzogc2Vj dXJpdHktYmFzaWNzQHNlY3VyaXR5Zm9jdXMuY29tDQo+Pj4gU3ViamVjdDogUmU6IFJlOiBE RG9TIHByb3RlY3Rpb24NCj4+PiANCj4+PiBIaSwNCj4+PiANCj4+PiBUaGFua3MgZm9yIHlv dXIgcmVwbGllcy4NCj4+PiANCj4+PiBOb3RlZCB0aGUgcG9pbnRzIHJhaXNlZCBieSBKYWNp bnQgYW5kIEtlbGx5IEtlZXRvbi4gSSBhcHByZWNpYXRlIHRoYXQuDQo+Pj4gDQo+Pj4gTWF5 IEkgYmUga2luZCB0byBzZWVrIGFuIG9waW5pb24vIGFyZ3VtZW50cyBzdWdnZXN0aW5nIGlm IHRoZSBJbi1ob3VzZSBhcHBsaWFuY2VzIGFyZSBtb3JlICJpbnRlbGxpZ2VudCIgdGh3YXJ0 aW5nIHRoZSBhcHBsaWNhdGlvbiBsZXZlbCBET1MvIEREb1MgYXR0YWNrcyBhcyBjb21wYXJl ZCB0byBJU1AgcHJvdmlkZWQgRE9TIHByb3RlY3Rpb24gd2hlcmVpbiBpdCBtYXkgZXZlbiBm YWlsIHRvIGRldGVjdCB0aGVtLiBvciBpZiB0aGVyZSBhcmUgb3RoZXIgYmVuZWZpdHMgb3du aW5nIGFuIEluLWhvdXNlIHByb2R1Y3Q/DQo+Pj4gDQo+Pj4gQXMgZmFyIGFzIENvbnMgYXJl IGNvbmNlcm5lZCwgSSBmZWVsIHRoYXQgdGhlIGFwcGxpYW5jZSBtYXkgYWRkIHNvbWUgbGF0 ZW5jeSB3aGljaCBtYXkgY3JlYXRlIGlzc3VlcyB3aGVyZWluIGEgbGF0ZW5jeSBvZiBtaWxs aXNlY29uZHMgY291bnQuDQo+Pj4gDQo+Pj4gQWx0aG91Z2ggd2UncmUgc21hbGwsIFdlJ3Jl IGFuIG9yZ2FuaXphdGlvbiBwbGF5aW5nIHdpdGggKCQswqUs4oKsLMKjKSBleGNoYW5nZXMg YW5kIGhlYXZpbHkgcmVndWxhdGVkIGJ5IHRoZSBHb3Zlcm5tZW50Lg0KPj4+IA0KPj4+IFRo YW5rcywNCj4+PiBLVA0KPj4+IA0KPj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4gLS0tLSBTZWN1 cmluZyBBcGFjaGUgV2ViIFNlcnZlciB3aXRoIHRoYXd0ZSBEaWdpdGFsIENlcnRpZmljYXRl IEluIA0KPj4+IHRoaXMgZ3VpZGUgd2UgZXhhbWluZSB0aGUgaW1wb3J0YW5jZSBvZiBBcGFj aGUtU1NMIGFuZCB3aG8gbmVlZHMgYW4gU1NMIGNlcnRpZmljYXRlLiAgV2UgbG9vayBhdCBo b3cgU1NMIHdvcmtzLCBob3cgaXQgYmVuZWZpdHMgeW91ciBjb21wYW55IGFuZCBob3cgeW91 ciBjdXN0b21lcnMgY2FuIHRlbGwgaWYgYSBzaXRlIGlzIHNlY3VyZS4gWW91IHdpbGwgZmlu ZCBvdXQgaG93IHRvIHRlc3QsIHB1cmNoYXNlLCBpbnN0YWxsIGFuZCB1c2UgYSB0aGF3dGUg RGlnaXRhbCBDZXJ0aWZpY2F0ZSBvbiB5b3VyIEFwYWNoZSB3ZWIgc2VydmVyLiBUaHJvdWdo b3V0LCBiZXN0IHByYWN0aWNlcyBmb3Igc2V0LXVwIGFyZSBoaWdobGlnaHRlZCB0byBoZWxw IHlvdSBlbnN1cmUgZWZmaWNpZW50IG9uZ29pbmcgbWFuYWdlbWVudCBvZiB5b3VyIGVuY3J5 cHRpb24ga2V5cyBhbmQgZGlnaXRhbCBjZXJ0aWZpY2F0ZXMuDQo+Pj4gDQo+Pj4gaHR0cDov L3d3dy5kaW5jbGlueC5jb20vUmVkaXJlY3QuYXNweD8zNjs0MTc1OzI1OzEzNzE7MDs1Ozk0 NjtlMTNiNmINCj4+PiBlNDQyZjcyN2QxDQo+Pj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+PiAtLS0t DQo+Pj4gDQo+Pj4gDQo+Pj4gQ09ORklERU5USUFMSVRZIE5PVElDRTogVGhpcyBlbWFpbCBj b21tdW5pY2F0aW9uIGFuZCBhbnkgYXR0YWNobWVudHMgDQo+Pj4gbWF5IGNvbnRhaW4gY29u ZmlkZW50aWFsIGFuZCBwcml2aWxlZ2VkIGluZm9ybWF0aW9uIGZvciB0aGUgdXNlIG9mIA0K Pj4+IHRoZSBkZXNpZ25hdGVkIHJlY2lwaWVudHMgbmFtZWQgYWJvdmUuIElmIHlvdSBhcmUg bm90IHRoZSBpbnRlbmRlZCANCj4+PiByZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5vdGlm aWVkIHRoYXQgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyANCj4+PiBjb21tdW5pY2F0aW9uIGlu IGVycm9yIGFuZCB0aGF0IGFueSByZXZpZXcsIGRpc2Nsb3N1cmUsIA0KPj4+IGRpc3NlbWlu YXRpb24sIGRpc3RyaWJ1dGlvbiBvciBjb3B5aW5nIG9mIGl0IG9yIGl0cyBjb250ZW50cyBp cyANCj4+PiBwcm9oaWJpdGVkLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGNvbW11bmlj YXRpb24gaW4gZXJyb3IsIHBsZWFzZSANCj4+PiByZXBseSB0byB0aGUgc2VuZGVyIGltbWVk aWF0ZWx5IG9yIGJ5IHRlbGVwaG9uZSBhdCAoNjE3KSA0MjYtMDYwMCBhbmQgZGVzdHJveSBh bGwgY29waWVzIG9mIHRoaXMgY29tbXVuaWNhdGlvbiBhbmQgYW55IGF0dGFjaG1lbnRzLiBG b3IgZnVydGhlciBpbmZvcm1hdGlvbiByZWdhcmRpbmcgQ29tbW9ud2VhbHRoIENhcmUgQWxs aWFuY2UncyBwcml2YWN5IHBvbGljeSwgcGxlYXNlIHZpc2l0IG91ciBJbnRlcm5ldCB3ZWIg c2l0ZSBhdCBodHRwOi8vd3d3LmNvbW1vbndlYWx0aGNhcmUub3JnLg0KPj4+IA0KPiANCj4g DQo+IA0KPiAtLQ0KPiBMYXdzIGFsb25lIGNhbm5vdCBzZWN1cmUgZnJlZWRvbSBvZiBleHBy ZXNzaW9uOyBpbiBvcmRlciB0aGF0IGV2ZXJ5IA0KPiBtYW4gcHJlc2VudCBoaXMgdmlld3Mg d2l0aG91dCBwZW5hbHR5IHRoZXJlIG11c3QgYmUgc3Bpcml0IG9mIA0KPiB0b2xlcmFuY2Ug aW4gdGhlIGVudGlyZSBwb3B1bGF0aW9uLiAtIEFsYmVydCBFaW5zdGVpbg0KPiANCj4gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiAtLSBTZWN1cmluZyBBcGFjaGUgV2ViIFNlcnZlciB3aXRoIHRo YXd0ZSBEaWdpdGFsIENlcnRpZmljYXRlIEluIHRoaXMgDQo+IGd1aWRlIHdlIGV4YW1pbmUg dGhlIGltcG9ydGFuY2Ugb2YgQXBhY2hlLVNTTCBhbmQgd2hvIG5lZWRzIGFuIFNTTCBjZXJ0 aWZpY2F0ZS4gIFdlIGxvb2sgYXQgaG93IFNTTCB3b3JrcywgaG93IGl0IGJlbmVmaXRzIHlv dXIgY29tcGFueSBhbmQgaG93IHlvdXIgY3VzdG9tZXJzIGNhbiB0ZWxsIGlmIGEgc2l0ZSBp cyBzZWN1cmUuIFlvdSB3aWxsIGZpbmQgb3V0IGhvdyB0byB0ZXN0LCBwdXJjaGFzZSwgaW5z dGFsbCBhbmQgdXNlIGEgdGhhd3RlIERpZ2l0YWwgQ2VydGlmaWNhdGUgb24geW91ciBBcGFj aGUgd2ViIHNlcnZlci4gVGhyb3VnaG91dCwgYmVzdCBwcmFjdGljZXMgZm9yIHNldC11cCBh cmUgaGlnaGxpZ2h0ZWQgdG8gaGVscCB5b3UgZW5zdXJlIGVmZmljaWVudCBvbmdvaW5nIG1h bmFnZW1lbnQgb2YgeW91ciBlbmNyeXB0aW9uIGtleXMgYW5kIGRpZ2l0YWwgY2VydGlmaWNh dGVzLg0KPiANCj4gaHR0cDovL3d3dy5kaW5jbGlueC5jb20vUmVkaXJlY3QuYXNweD8zNjs0 MTc1OzI1OzEzNzE7MDs1Ozk0NjtlMTNiNmJlNA0KPiA0MmY3MjdkMQ0KPiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQo+IC0tDQo+IA0KPiANCg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KU2VjdXJp bmcgQXBhY2hlIFdlYiBTZXJ2ZXIgd2l0aCB0aGF3dGUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBJ biB0aGlzIGd1aWRlIHdlIGV4YW1pbmUgdGhlIGltcG9ydGFuY2Ugb2YgQXBhY2hlLVNTTCBh bmQgd2hvIG5lZWRzIGFuIFNTTCBjZXJ0aWZpY2F0ZS4gIFdlIGxvb2sgYXQgaG93IFNTTCB3 b3JrcywgaG93IGl0IGJlbmVmaXRzIHlvdXIgY29tcGFueSBhbmQgaG93IHlvdXIgY3VzdG9t ZXJzIGNhbiB0ZWxsIGlmIGEgc2l0ZSBpcyBzZWN1cmUuIFlvdSB3aWxsIGZpbmQgb3V0IGhv dyB0byB0ZXN0LCBwdXJjaGFzZSwgaW5zdGFsbCBhbmQgdXNlIGEgdGhhd3RlIERpZ2l0YWwg Q2VydGlmaWNhdGUgb24geW91ciBBcGFjaGUgd2ViIHNlcnZlci4gVGhyb3VnaG91dCwgYmVz dCBwcmFjdGljZXMgZm9yIHNldC11cCBhcmUgaGlnaGxpZ2h0ZWQgdG8gaGVscCB5b3UgZW5z dXJlIGVmZmljaWVudCBvbmdvaW5nIG1hbmFnZW1lbnQgb2YgeW91ciBlbmNyeXB0aW9uIGtl eXMgYW5kIGRpZ2l0YWwgY2VydGlmaWNhdGVzLg0KDQpodHRwOi8vd3d3LmRpbmNsaW54LmNv bS9SZWRpcmVjdC5hc3B4PzM2OzQxNzU7MjU7MTM3MTswOzU7OTQ2O2UxM2I2YmU0NDJmNzI3 ZDENCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBl LW1haWwsIGluY2x1ZGluZyBhbnkgYXR0YWNobWVudChzKSwgaXMgaW50ZW5kZWQgc29sZWx5 IGZvciB1c2UgYnkgdGhlIG5hbWVkIGFkZHJlc3NlZShzKS4gIElmIHlvdSBhcmUgbm90IHRo ZSBpbnRlbmRlZCByZWNpcGllbnQsIG9yIGEgcGVyc29uIGRlc2lnbmF0ZWQgYXMgcmVzcG9u c2libGUgZm9yIGRlbGl2ZXJpbmcgc3VjaCBtZXNzYWdlcyB0byB0aGUgaW50ZW5kZWQgcmVj aXBpZW50LCB5b3UgYXJlIG5vdCBhdXRob3JpemVkIHRvIGRpc2Nsb3NlLCBjb3B5LCBkaXN0 cmlidXRlIG9yIHJldGFpbiB0aGlzIG1lc3NhZ2UsIGluIHdob2xlIG9yIGluIHBhcnQsIHdp dGhvdXQgd3JpdHRlbiBhdXRob3JpemF0aW9uIGZyb20gUFNFRy4gIFRoaXMgZS1tYWlsIG1h eSBjb250YWluIHByb3ByaWV0YXJ5LCBjb25maWRlbnRpYWwgb3IgcHJpdmlsZWdlZCBpbmZv cm1hdGlvbi4gSWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGluIGVycm9yLCBw bGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkuIFRoaXMgbm90aWNlIGlzIGlu Y2x1ZGVkIGluIGFsbCBlLW1haWwgbWVzc2FnZXMgbGVhdmluZyBQU0VHLiAgVGhhbmsgeW91 IGZvciB5b3VyIGNvb3BlcmF0aW9uLg0KDQpDT05GSURFTlRJQUxJVFkgTk9USUNFOiBUaGlz IGVtYWlsIGNvbW11bmljYXRpb24gYW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBj b25maWRlbnRpYWwgDQphbmQgcHJpdmlsZWdlZCBpbmZvcm1hdGlvbiBmb3IgdGhlIHVzZSBv ZiB0aGUgZGVzaWduYXRlZCByZWNpcGllbnRzIG5hbWVkIGFib3ZlLiBJZiB5b3UgYXJlIA0K bm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5vdGlmaWVkIHRo YXQgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBjb21tdW5pY2F0aW9uIA0KaW4gZXJyb3IgYW5k IHRoYXQgYW55IHJldmlldywgZGlzY2xvc3VyZSwgZGlzc2VtaW5hdGlvbiwgZGlzdHJpYnV0 aW9uIG9yIGNvcHlpbmcgb2YgaXQgb3IgaXRzIA0KY29udGVudHMgaXMgcHJvaGliaXRlZC4g SWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVh c2UgcmVwbHkgdG8gdGhlIA0Kc2VuZGVyIGltbWVkaWF0ZWx5IG9yIGJ5IHRlbGVwaG9uZSBh dCAoNjE3KSA0MjYtMDYwMCBhbmQgZGVzdHJveSBhbGwgY29waWVzIG9mIHRoaXMgY29tbXVu aWNhdGlvbiANCmFuZCBhbnkgYXR0YWNobWVudHMuIEZvciBmdXJ0aGVyIGluZm9ybWF0aW9u IHJlZ2FyZGluZyBDb21tb253ZWFsdGggQ2FyZSBBbGxpYW5jZSdzIHByaXZhY3kgcG9saWN5 LCANCnBsZWFzZSB2aXNpdCBvdXIgSW50ZXJuZXQgd2ViIHNpdGUgYXQgaHR0cDovL3d3dy5j b21tb253ZWFsdGhjYXJlLm9yZy4NCg0K