RE: DDoS protection
"Mikhail A. Utin" <[email protected]> Wed, 25 Jun 2014 09:36:31 -0400
| Newsgroups | gmane.comp.security.basics |
|---|---|
| Message-ID | <025B5895F8BCCC40AC35F6CD6D972B1C1EBA2B448E@cca-mail1.commonwealthcare.org> |
U29tZSByZW1hcmtzLg0KMS4gQ2xvdWQgQ29tcHV0aW5nLCB5ZXMsIGlzIGp1c3QgYWJvdXQg ZGF0YWNlbnRlcnMgc2VydmluZyBob3N0aW5nLCBpLmUuIGFwcGxpY2F0aW9uIGhvc3Rpbmcg c2VydmljZS4NCjIuIEZpcnN0IGFwcGVhcmVkIGFzIEFtYXpvbiBBV1MNCjMuIENDIGlzIG5v dCBhY3R1YWxseSBJQk0gb3duIGNvbmNlcHQgYXMgdGhlcmUgaXMgbm8gY29uY2VwdCBpbiBD QyBhdCBhbGwsIHNlZSAjMQ0KNC4gTklTVCBhY3R1YWxseSB3YXMgZmFyIGxhdGVyIHRoYW4g b3RoZXIgcGFydGllcyBpbiAiY2xvdWRpemF0aW9uIiAoSSBjbGFpbSB0aGlzIHRlcm0gOikg KQ0KNS4gRmVkUkFNUCBpcyBub3QgY2VydGlmaWNhdGlvbiBwcm9ncmFtIGF0IGFsbC4gUGx1 cywgaXRzIHNlY3VyaXR5IGNvbnRyb2xzIGxpc3QgaXMgb3V0ZGF0ZWQgLSBpdCBpcyBiYXNl ZCBvbiBOSVNUIFNQODAwLTUzIFIzLCBwcmV0dHkgb3V0ZGF0ZWQgdmVyc2lvbi4gQ3VycmVu dCBpcyBSNC4gU28sIGFic29sdXRlbHkgY2Fubm90IGJlIHVzZWQgZm9yIGFueXRoaW5nIGxp a2UgY2VydGlmaWNhdGlvbi4NCg0KTWlraGFpbA0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KRnJvbTogQ29tcCBQeWNobyBbbWFpbHRvOmNvbXB1dGVyLnB5Y2hvQGdtYWlsLmNv bV0gDQpTZW50OiBXZWRuZXNkYXksIEp1bmUgMjUsIDIwMTQgODo1MiBBTQ0KVG86IE1hcmlv cyBTdHlsaWFub3UNCkNjOiBNaWtoYWlsIEEuIFV0aW47IDxEb21pbmljay5TYXJkaW5hQHBz ZWcuY29tPjsgPHNlY3VyaXR5LWJhc2ljc0BzZWN1cml0eWZvY3VzLmNvbT4NClN1YmplY3Q6 IFJlOiBERG9TIHByb3RlY3Rpb24NCg0KQ2xvdWQgY29tcHV0aW5nIGlzIGFuIElCTSBjb25j ZXB0IHRoYXQgd2FzIGJsb3cgdXAgYnkgTklTVC4gTklTVCBwdXNoZWQgdGhpcyAiQ2xvdWQi IEJTIGZvciBleHRlcm5hbCBwYXJ0aWVzIHRvIG1ha2UgbW9uZXkuIFRoZSBjbG91ZCBpcyBu b3RoaW5nIGJ1dCBhIGRhdGEgY2VudGVyLiBUaGUgc2VjdXJlIGNsb3VkcyBhcmUgZGF0YSBj ZW50ZXJzIHdoaWNoIGhhdmUgZ29uZSB0aHJvdWdoIHRoZSBGZWRSYW1wIGNlcnRpZmljYXRp b24gcHJvZ3JhbSBmb3Igc2VjdXJpdHkgY29tcGxpYW5jZS4gDQoNCkRvIHdoYXQgeW91IGtu b3cNCi1EYW1lIERhc2gNCg0KDQo+IE9uIEp1biAyNSwgMjAxNCwgYXQgNjo1NiBBTSwgIk1h cmlvcyBTdHlsaWFub3UiIDxzdHlsbG9zbWFyaW9zQGdtYWlsLmNvbT4gd3JvdGU6DQo+IA0K PiBZb3UgY2FuIHRyeSBJbmNhcHN1bGEgc2VydmljZXMuDQo+IA0KPiANCj4gTWluZGJldHMN Cj4gDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBsaXN0Ym91 bmNlQHNlY3VyaXR5Zm9jdXMuY29tIA0KPiBbbWFpbHRvOmxpc3Rib3VuY2VAc2VjdXJpdHlm b2N1cy5jb21dIE9uIEJlaGFsZiBPZiBNaWtoYWlsIEEuIFV0aW4NCj4gU2VudDogTW9uZGF5 LCBKdW5lIDIzLCAyMDE0IDc6MDIgUE0NCj4gVG86IFNhcmRpbmEsIERvbWluaWNrOyBzZWN1 cml0eS1iYXNpY3NAc2VjdXJpdHlmb2N1cy5jb20NCj4gU3ViamVjdDogUkU6IEREb1MgcHJv dGVjdGlvbg0KPiANCj4gSGVsbG8sDQo+IFllcywgYWxsIGhhcyBiZWVuIGtub3duIGZvciBh IHdoaWxlLiBJIGdvdCB0d28gcHJlc2VudGF0aW9ucyBkaXNjdXNzaW5nIHBhcnRpYWxseSAi Y2xvdWQiIG1hdHRlciBhdCBPV0FTUCBBcHBTZWMgREMgMjAxMiBhbmQgRGVlcFNlYyAyMDEy IGFuZCAyMDEzLg0KPiBZb3UgY2FuIGNoZWNrIGJvdGggZm9yIHByZXNlbnRhdGlvbnMgb3Ig YXNrIG1lIHBlcnNvbmFsbHkuDQo+IEJhc2ljYWxseSwgYWxsICJjbG91ZHMiIGFyZSBzaW1w bHkgYXBwbGljYXRpb24gaG9zdGluZyB3ZWIgc2l0ZXMuIEFuZCB0ZWNobmljYWxseSBhICJj bG91ZCIgaXMgYSBkYXRhY2VudGVyLiBXaGV0aGVyIHN1Y2ggYXBwIGlzIGEgdmlydHVhbCBu ZXR3b3JrIG9yIE1vbSZEYWQgUGl6emEgc2hvcCBIVE1MIHNpdGUgZG9lcyBub3QgbWF0dGVy Lg0KPiBTbyBuYW1lZCAiY2xvdWQgY29tcHV0aW5nIGNvbmNlcHQiIGhhcyBub3RoaW5nIGlu IGNvbW1vbiB3aXRoIGNvbXB1dGluZywgYW5kIG5vdCBhIGNvbmNlcHQgYXQgYWxsLiBNb2Rl bHMgYXJlIHVzZWxlc3MgYW5kIGluIHN1Y2ggY2FzZSBhcyAiQ29tbXVuaXR5IENsb3VkIiBh bmQgIkh5YnJpZCBDbG91ZCIgaXMgbGVnYWwgbm9uc2Vuc2UsIHNpbXBseSBiZWNhdXNlIGEg c2VydmljZSBwcm92aWRlciBjYW5ub3QgaGF2ZSBsZWdhbCBiaW5kaW5nIHJlbGF0aW9uc2hp cCAoYWthIGEgY29udHJhY3QpIHdpdGggYSBjb21tdW5pdHksIHdoaWNoIGlzIG5vdCBhIGxl Z2FsIGVudGl0eS4NCj4gSSB0cmllZCB0byBkaWcgb3V0IHdoZXJlICJjbG91ZCIgY2FtZSBm cm9tLiBJdCBpcyBhbiBpbnZlbnRpb24gb2YgSUJNIA0KPiBjaXJjbGUgY29tcGFuaWVzIGhv c3Rpbmcgc2l0ZSByZXNlbGxpbmcgSUJNIHNlcnZpY2VzLiBBbmQgaW4gZXNzZW5jZSANCj4g aXMgdGhlIHJlcGxhY2VtZW50IG9mIEdvb2dsZSBhbmQgbmV4dCBJQk0gZnVuZGVkIGFjYWRl bWljIGNsdXN0ZXIgDQo+IHByb2plY3QgIkFjYWRlbWlhIENsdXN0ZXIgQ29tcHV0aW5nIElu aXRpYXRpdmUiIG9yIEFDQ0ksIHNlZTogTGV0IGEgDQo+IFRob3VzYW5kIHNlcnZlcnMgYmxv b20g4oCTIEdvb2dsZSBvZmZpY2lhbCBwb3N0LCBQb3N0ZWQgYnkgQ2hyaXN0b3BoZSANCj4g QmlzY2lnbGlhLCBPY3RvYmVyIDgsIDIwMDcgDQo+IGh0dHA6Ly9nb29nbGVibG9nLmJsb2dz cG90LmNvbS8yMDA3LzEwL2xldC10aG91c2FuZC1zZXJ2ZXJzLWJsb29tLmh0bWwNCj4gSUJN IGNpcmNsZSBndXlzIHJlcGxhY2VkICJjbHVzdGVyIiB3aXRoICJjbG91ZCIgYW5kIHJlbmFt ZWQgQUNDSSBhcyAiQWNhZGVtaWEgQ2xvdWQgQ29tcHV0aW5nIEluaXRpYXRpdmUiLiBCaW5n byEgTmV4dCB0aGV5IG5lZWRlZCBzb21ldGhpbmcgbG9va2luZyBsaWtlIHNjaWVuY2UgaW4g YSBmb3JtIG9mICJtb2RlbHMiLg0KPiBIb3dldmVyLCBndXlzIHZpb2xhdGVkIEdvb2dsZSBp bnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIG9uIHRoZSBvcmlnaW5hbCBBQ0NJIHByb2pl Y3QgbmFtZS4NCj4gDQo+IFJlZ2FyZHMNCj4gDQo+IE1pa2hhaWwNCj4gDQo+IA0KPiANCj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbGlzdGJvdW5jZUBzZWN1cml0 eWZvY3VzLmNvbSANCj4gW21haWx0bzpsaXN0Ym91bmNlQHNlY3VyaXR5Zm9jdXMuY29tXSBP biBCZWhhbGYgT2YgU2FyZGluYSwgRG9taW5pY2sNCj4gU2VudDogRnJpZGF5LCBKdW5lIDIw LCAyMDE0IDI6NDkgUE0NCj4gVG86IHNlY3VyaXR5LWJhc2ljc0BzZWN1cml0eWZvY3VzLmNv bQ0KPiBTdWJqZWN0OiBSRTogRERvUyBwcm90ZWN0aW9uDQo+IA0KPiBCcmV0dCwgSSBoYXZl IHRvIGFncmVlIDEwMCUuDQo+IA0KPiANCj4gUmVnYXJkcywNCj4gRG9taW5pY2sNCj4gDQo+ IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBsaXN0Ym91bmNlQHNl Y3VyaXR5Zm9jdXMuY29tIA0KPiBbbWFpbHRvOmxpc3Rib3VuY2VAc2VjdXJpdHlmb2N1cy5j b21dIE9uIEJlaGFsZiBPZiBXYWduZXIsIEJyZXR0DQo+IFNlbnQ6IEZyaWRheSwgSnVuZSAy MCwgMjAxNCAxMjo1NyBQTQ0KPiBUbzogSGFydGxleSwgQ2hyaXN0b3BoZXIgSi47IEtlbGxz dHINCj4gQ2M6IHNlY3VyaXR5LWJhc2ljc0BzZWN1cml0eWZvY3VzLmNvbQ0KPiBTdWJqZWN0 OiBSRTogRERvUyBwcm90ZWN0aW9uDQo+IA0KPiBJTUhPIC0gSSBhbSBub3QgYSBmYW4gb2Yg YWxsIHRoZSBtdW1ibyBqdW1ibyB0aGF0IGdvZXMgYWxvbmcgd2l0aCB0aGUgIkNsb3VkIiBs aWtlIGl0IGlzIGEgbmV3IGludmVudGlvbi4gSSB3b3JrZWQgYXQgR1RFL0JCTiBpbiAxOTk5 IGFuZCB3ZSB3ZXJlIHNlbGxpbmcgYWxsIHRoZSBzYW1lIGNyYXAgYmFjayB0aGVuLiBXaXRo IHRoYXQgc2FpZCBhbmQgaGF2aW5nIHdvcmtlZCBhdCBFTUMgZm9yIGEgd2hpbGUgeW91IGNh biBoYXZlIGEgIkNsb3VkIiBvbiBwcmVtaXNlcyBqdXN0IG1lYW5zIHlvdSBoYXZlIHRoZSBo YXJkd2FyZSBpbiBvbmUgb2YgeW91ciBjb21wYW55IGxvY2F0aW9ucy4gWW91IGNhbiBoYXZl IHByaXZhdGUsIHNoYXJlZCwgcHVibGljIG9yIGEgY29tYm8uIA0KPiANCj4gSXQgaXMgdGhl IHNhbWUgZXZvbHV0aW9uIGFzIElUIHNlY3VyaXR5IGNpcmNhIDE5NzAtODBzIChSYWluYm93 IEJvb2sgU2VyaWVzIGRheXMpLCB0aGVuIEluZm9ybWF0aW9uIFNlY3VyaXR5IGNpcmNhIDE5 OTBzLCB0aGVuIEluZm9ybWF0aW9uIEFzc3VyYW5jZSBjaXJjYSBsYXRlIDkwcyBlYXJseSAy MDAwcyBhbmQgbm93IEN5YmVyIFNlY3VyaXR5LiBXaXRoIGVhY2ggbmFtZSBjaGFuZ2UgY29u c3VsdGFudHMgYW5kIGNvbXBhbmllcyBjYW4gY2hhcmdlIG1vcmUgZm9yIHRoZSBzYW1lIHVs dGltYXRlIGdvYWwgd2l0aCBlYWNoIG5hbWUgY2hhbmdlLg0KPiANCj4gT0sgSSB3aWxsIG5v dyBnZXQgb2ZmIG15IHNvYXBib3guDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ IEZyb206IGxpc3Rib3VuY2VAc2VjdXJpdHlmb2N1cy5jb20gW21haWx0bzpsaXN0Ym91bmNl QHNlY3VyaXR5Zm9jdXMuY29tXSBPbiBCZWhhbGYgT2YgSGFydGxleSwgQ2hyaXN0b3BoZXIg Si4NCj4gU2VudDogRnJpZGF5LCBKdW5lIDIwLCAyMDE0IDEwOjQ4IEFNDQo+IFRvOiBLZWxs c3RyDQo+IENjOiBzZWN1cml0eS1iYXNpY3NAc2VjdXJpdHlmb2N1cy5jb20NCj4gU3ViamVj dDogUmU6IEREb1MgcHJvdGVjdGlvbg0KPiANCj4gVGhpcyBpcyBhIGxpdHRsZSBjb25mdXNp bmc7IOKAnGNsb3Vk4oCdLCDigJxvbi1wcmVtaXNl4oCdIGV0Y+KApiB3ZWlyZC4NCj4gDQo+ IEJ5IOKAnENsb3VkLOKAnSBpdCBzZWVtIGxpa2Ugd2UgbWVhbiDigJxieSBwcm92aWRlcuKA nSAobWFrZXMgc2Vuc2UpLg0KPiANCj4gT24tcHJlbWlzZSBpcyB0aGUgYmVzdCB3YXkgdG8g ZGV0ZWN0IGFuIGF0dGFjayBpbW8sIHNpbmNlIHRoZSB2aWN0aW0gbmV0d29yayBrbm93cyB3 aGF04oCZcyBnb29kIGFuZCB3aGF04oCZcyBub3QgKG9yIHNob3VsZOKApi4pLg0KPiANCj4g U28gSSB0aGluayB0aGUgYmVzdCBzb2x1dGlvbiBpbnZvbHZlcyBzb21lIGtpbmQgb2YgcmVt b3RlIGJsYWNraG9sZSBvciBpZGVhbGx5LCBwZXJoYXBzIGZsb3dzcGVjLg0KPiANCj4gSSBk b27igJl0IHRoaW5rIGl04oCZcyBhIHByb2JsZW0gdGhhdCByZXF1aXJlcyBzcGVuZGluZyBz aWduaWZpY2FudCBtb25leS4NCj4gDQo+IENocmlzDQo+IA0KPj4gT24gSnVuIDE5LCAyMDE0 LCBhdCAxMjo1MCBQTSwgS2VsbHN0ciA8a2VsbHN0ckBnbWFpbC5jb20+IHdyb3RlOg0KPj4g DQo+PiBEaXNjbGFpbWVyOiBJIHdvcmsgZm9yIGEgY29tcGFueSB3aGljaCBvZmZlcnMgYSBE RG9TIFByb3RlY3Rpb24gU2VydmljZS4NCj4+IA0KPj4gVGhlIGFkdmFudGFnZSBvZiBhIHNl cnZpY2UgImluIHRoZSBjbG91ZCIgaXMgdGhhdCBpZiBhbiBhdHRhY2sgDQo+PiBleGNlZWRz IHlvdXIgY2lyY3VpdCBiYW5kd2lkdGggdGhlIHByb3ZpZGVyIHdpbGwgYmUgYWJsZSB0byBk cm9wIHRoZSANCj4+IG1hbGljaW91cyB0cmFmZmljLiBUaGF0IGNhbm5vdCBiZSBkb25lIGF0 IHlvdXIgcHJlbWlzZS4gQm90aCBBcmJvciANCj4+IGFuZCBSYWR3YXJlIG9mZmVyIHN0cm9u ZyBhcHBsaWFuY2VzIHRoYXQgY2FuIGNsZWFuIHVwIHNtYWxsZXIgYXR0YWNrcyANCj4+IGF0 IHlvdXIgcHJlbWlzZSBhbmQgY2FuIHNlbmQgYSBzaWduYWwgdG8gdGhlIHByb3ZpZGVyIGlm IHRoZXkgc3VwcG9ydCANCj4+IHRoYXQgc2VydmljZS4gWW91IGNhbiBibG9jayB0cmFmZmlj IHVzaW5nIElQUydzIGJ1dCBrZWVwIGluIG1pbmQgdGhleSANCj4+IGFyZSBub3QgZGVzaWdu ZWQgZm9yIGEgdm9sdW1ldHJpYyBhdHRhY2sgYW5kIG1heSBiZSBvdmVyd2hlbG1lZC4NCj4+ IA0KPj4gT24gV2VkLCBKdW4gMTgsIDIwMTQgYXQgMTE6MTAgQU0sIExhbmNlIExhc3NldHRl ciANCj4+IDxsYW5jZWxhc3NldHRlckBnbWFpbC5jb20+IHdyb3RlOg0KPj4+IFdoYXQgYWJv dXQgU3VyaWNhdGEgb3IgU25vcnQgSURTIGluIElQUyBtb2RlPw0KPj4+IA0KPj4+PiBPbiBK dW4gMTgsIDIwMTQgODo0MyBBTSwgIk1pa2hhaWwgQS4gVXRpbiIgPG11dGluQGNvbW1vbndl YWx0aGNhcmUub3JnPiB3cm90ZToNCj4+Pj4gDQo+Pj4+IEFzIHlvdSBpbmRpY2F0ZWQgIiBB bHRob3VnaCB3ZSdyZSBzbWFsbCwgV2UncmUgYW4gb3JnYW5pemF0aW9uIHBsYXlpbmcgd2l0 aCAoJCzCpSzigqwswqMpIGV4Y2hhbmdlcyIgeW91IGFyZSBvbiBjbGllbnQgc2lkZSByYXRo ZXIgdGhhbiBvbiBzZXJ2ZXIuIElmIHRoYXQgaXMgcmlnaHQsIHlvdSBkbyBub3QgbmVlZCB0 byBib3RoZXIgd2l0aCBERG9TIHByb3RlY3Rpb24sIHdoaWNoIGlzIGFnYWluc3Qgc2VydmVy IHNpZGUuDQo+Pj4+IE1pa2hhaWwNCj4+Pj4gDQo+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+Pj4+IEZyb206IGxpc3Rib3VuY2VAc2VjdXJpdHlmb2N1cy5jb20NCj4+Pj4g W21haWx0bzpsaXN0Ym91bmNlQHNlY3VyaXR5Zm9jdXMuY29tXSBPbiBCZWhhbGYgT2YgDQo+ Pj4+IGthcnRpay5uZXRlY0BnbWFpbC5jb20NCj4+Pj4gU2VudDogV2VkbmVzZGF5LCBKdW5l IDE4LCAyMDE0IDEyOjQ5IEFNDQo+Pj4+IFRvOiBzZWN1cml0eS1iYXNpY3NAc2VjdXJpdHlm b2N1cy5jb20NCj4+Pj4gU3ViamVjdDogUmU6IFJlOiBERG9TIHByb3RlY3Rpb24NCj4+Pj4g DQo+Pj4+IEhpLA0KPj4+PiANCj4+Pj4gVGhhbmtzIGZvciB5b3VyIHJlcGxpZXMuDQo+Pj4+ IA0KPj4+PiBOb3RlZCB0aGUgcG9pbnRzIHJhaXNlZCBieSBKYWNpbnQgYW5kIEtlbGx5IEtl ZXRvbi4gSSBhcHByZWNpYXRlIHRoYXQuDQo+Pj4+IA0KPj4+PiBNYXkgSSBiZSBraW5kIHRv IHNlZWsgYW4gb3Bpbmlvbi8gYXJndW1lbnRzIHN1Z2dlc3RpbmcgaWYgdGhlIEluLWhvdXNl IGFwcGxpYW5jZXMgYXJlIG1vcmUgImludGVsbGlnZW50IiB0aHdhcnRpbmcgdGhlIGFwcGxp Y2F0aW9uIGxldmVsIERPUy8gRERvUyBhdHRhY2tzIGFzIGNvbXBhcmVkIHRvIElTUCBwcm92 aWRlZCBET1MgcHJvdGVjdGlvbiB3aGVyZWluIGl0IG1heSBldmVuIGZhaWwgdG8gZGV0ZWN0 IHRoZW0uIG9yIGlmIHRoZXJlIGFyZSBvdGhlciBiZW5lZml0cyBvd25pbmcgYW4gSW4taG91 c2UgcHJvZHVjdD8NCj4+Pj4gDQo+Pj4+IEFzIGZhciBhcyBDb25zIGFyZSBjb25jZXJuZWQs IEkgZmVlbCB0aGF0IHRoZSBhcHBsaWFuY2UgbWF5IGFkZCBzb21lIGxhdGVuY3kgd2hpY2gg bWF5IGNyZWF0ZSBpc3N1ZXMgd2hlcmVpbiBhIGxhdGVuY3kgb2YgbWlsbGlzZWNvbmRzIGNv dW50Lg0KPj4+PiANCj4+Pj4gQWx0aG91Z2ggd2UncmUgc21hbGwsIFdlJ3JlIGFuIG9yZ2Fu aXphdGlvbiBwbGF5aW5nIHdpdGggKCQswqUs4oKsLMKjKSBleGNoYW5nZXMgYW5kIGhlYXZp bHkgcmVndWxhdGVkIGJ5IHRoZSBHb3Zlcm5tZW50Lg0KPj4+PiANCj4+Pj4gVGhhbmtzLA0K Pj4+PiBLVA0KPj4+PiANCj4+Pj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+PiAtDQo+Pj4+IC0tLS0g U2VjdXJpbmcgQXBhY2hlIFdlYiBTZXJ2ZXIgd2l0aCB0aGF3dGUgRGlnaXRhbCBDZXJ0aWZp Y2F0ZSBJbiANCj4+Pj4gdGhpcyBndWlkZSB3ZSBleGFtaW5lIHRoZSBpbXBvcnRhbmNlIG9m IEFwYWNoZS1TU0wgYW5kIHdobyBuZWVkcyBhbiBTU0wgY2VydGlmaWNhdGUuICBXZSBsb29r IGF0IGhvdyBTU0wgd29ya3MsIGhvdyBpdCBiZW5lZml0cyB5b3VyIGNvbXBhbnkgYW5kIGhv dyB5b3VyIGN1c3RvbWVycyBjYW4gdGVsbCBpZiBhIHNpdGUgaXMgc2VjdXJlLiBZb3Ugd2ls bCBmaW5kIG91dCBob3cgdG8gdGVzdCwgcHVyY2hhc2UsIGluc3RhbGwgYW5kIHVzZSBhIHRo YXd0ZSBEaWdpdGFsIENlcnRpZmljYXRlIG9uIHlvdXIgQXBhY2hlIHdlYiBzZXJ2ZXIuIFRo cm91Z2hvdXQsIGJlc3QgcHJhY3RpY2VzIGZvciBzZXQtdXAgYXJlIGhpZ2hsaWdodGVkIHRv IGhlbHAgeW91IGVuc3VyZSBlZmZpY2llbnQgb25nb2luZyBtYW5hZ2VtZW50IG9mIHlvdXIg ZW5jcnlwdGlvbiBrZXlzIGFuZCBkaWdpdGFsIGNlcnRpZmljYXRlcy4NCj4+Pj4gDQo+Pj4+ IGh0dHA6Ly93d3cuZGluY2xpbnguY29tL1JlZGlyZWN0LmFzcHg/MzY7NDE3NTsyNTsxMzcx OzA7NTs5NDY7ZTEzYjYNCj4+Pj4gYg0KPj4+PiBlNDQyZjcyN2QxDQo+Pj4+IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4+Pj4gLQ0KPj4+PiAtLS0tDQo+Pj4+IA0KPj4+PiANCj4+Pj4gQ09ORklERU5U SUFMSVRZIE5PVElDRTogVGhpcyBlbWFpbCBjb21tdW5pY2F0aW9uIGFuZCBhbnkgDQo+Pj4+ IGF0dGFjaG1lbnRzIG1heSBjb250YWluIGNvbmZpZGVudGlhbCBhbmQgcHJpdmlsZWdlZCBp bmZvcm1hdGlvbiBmb3IgDQo+Pj4+IHRoZSB1c2Ugb2YgdGhlIGRlc2lnbmF0ZWQgcmVjaXBp ZW50cyBuYW1lZCBhYm92ZS4gSWYgeW91IGFyZSBub3QgDQo+Pj4+IHRoZSBpbnRlbmRlZCBy ZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5vdGlmaWVkIHRoYXQgeW91IGhhdmUgDQo+Pj4+ IHJlY2VpdmVkIHRoaXMgY29tbXVuaWNhdGlvbiBpbiBlcnJvciBhbmQgdGhhdCBhbnkgcmV2 aWV3LCANCj4+Pj4gZGlzY2xvc3VyZSwgZGlzc2VtaW5hdGlvbiwgZGlzdHJpYnV0aW9uIG9y IGNvcHlpbmcgb2YgaXQgb3IgaXRzIA0KPj4+PiBjb250ZW50cyBpcyBwcm9oaWJpdGVkLiBJ ZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGNvbW11bmljYXRpb24gaW4gDQo+Pj4+IGVycm9y LCBwbGVhc2UgcmVwbHkgdG8gdGhlIHNlbmRlciBpbW1lZGlhdGVseSBvciBieSB0ZWxlcGhv bmUgYXQgKDYxNykgNDI2LTA2MDAgYW5kIGRlc3Ryb3kgYWxsIGNvcGllcyBvZiB0aGlzIGNv bW11bmljYXRpb24gYW5kIGFueSBhdHRhY2htZW50cy4gRm9yIGZ1cnRoZXIgaW5mb3JtYXRp b24gcmVnYXJkaW5nIENvbW1vbndlYWx0aCBDYXJlIEFsbGlhbmNlJ3MgcHJpdmFjeSBwb2xp Y3ksIHBsZWFzZSB2aXNpdCBvdXIgSW50ZXJuZXQgd2ViIHNpdGUgYXQgaHR0cDovL3d3dy5j b21tb253ZWFsdGhjYXJlLm9yZy4NCj4+IA0KPj4gDQo+PiANCj4+IC0tDQo+PiBMYXdzIGFs b25lIGNhbm5vdCBzZWN1cmUgZnJlZWRvbSBvZiBleHByZXNzaW9uOyBpbiBvcmRlciB0aGF0 IGV2ZXJ5IA0KPj4gbWFuIHByZXNlbnQgaGlzIHZpZXdzIHdpdGhvdXQgcGVuYWx0eSB0aGVy ZSBtdXN0IGJlIHNwaXJpdCBvZiANCj4+IHRvbGVyYW5jZSBpbiB0aGUgZW50aXJlIHBvcHVs YXRpb24uIC0gQWxiZXJ0IEVpbnN0ZWluDQo+PiANCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4g LQ0KPj4gLS0gU2VjdXJpbmcgQXBhY2hlIFdlYiBTZXJ2ZXIgd2l0aCB0aGF3dGUgRGlnaXRh bCBDZXJ0aWZpY2F0ZSBJbiB0aGlzIA0KPj4gZ3VpZGUgd2UgZXhhbWluZSB0aGUgaW1wb3J0 YW5jZSBvZiBBcGFjaGUtU1NMIGFuZCB3aG8gbmVlZHMgYW4gU1NMIGNlcnRpZmljYXRlLiAg V2UgbG9vayBhdCBob3cgU1NMIHdvcmtzLCBob3cgaXQgYmVuZWZpdHMgeW91ciBjb21wYW55 IGFuZCBob3cgeW91ciBjdXN0b21lcnMgY2FuIHRlbGwgaWYgYSBzaXRlIGlzIHNlY3VyZS4g WW91IHdpbGwgZmluZCBvdXQgaG93IHRvIHRlc3QsIHB1cmNoYXNlLCBpbnN0YWxsIGFuZCB1 c2UgYSB0aGF3dGUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBvbiB5b3VyIEFwYWNoZSB3ZWIgc2Vy dmVyLiBUaHJvdWdob3V0LCBiZXN0IHByYWN0aWNlcyBmb3Igc2V0LXVwIGFyZSBoaWdobGln aHRlZCB0byBoZWxwIHlvdSBlbnN1cmUgZWZmaWNpZW50IG9uZ29pbmcgbWFuYWdlbWVudCBv ZiB5b3VyIGVuY3J5cHRpb24ga2V5cyBhbmQgZGlnaXRhbCBjZXJ0aWZpY2F0ZXMuDQo+PiAN Cj4+IGh0dHA6Ly93d3cuZGluY2xpbnguY29tL1JlZGlyZWN0LmFzcHg/MzY7NDE3NTsyNTsx MzcxOzA7NTs5NDY7ZTEzYjZiZQ0KPj4gNA0KPj4gNDJmNzI3ZDENCj4+IC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPj4gLQ0KPj4gLS0NCj4gDQo+IA0KPiANCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAt LSBTZWN1cmluZyBBcGFjaGUgV2ViIFNlcnZlciB3aXRoIHRoYXd0ZSBEaWdpdGFsIENlcnRp ZmljYXRlIEluIHRoaXMgDQo+IGd1aWRlIHdlIGV4YW1pbmUgdGhlIGltcG9ydGFuY2Ugb2Yg QXBhY2hlLVNTTCBhbmQgd2hvIG5lZWRzIGFuIFNTTCBjZXJ0aWZpY2F0ZS4gIFdlIGxvb2sg YXQgaG93IFNTTCB3b3JrcywgaG93IGl0IGJlbmVmaXRzIHlvdXIgY29tcGFueSBhbmQgaG93 IHlvdXIgY3VzdG9tZXJzIGNhbiB0ZWxsIGlmIGEgc2l0ZSBpcyBzZWN1cmUuIFlvdSB3aWxs IGZpbmQgb3V0IGhvdyB0byB0ZXN0LCBwdXJjaGFzZSwgaW5zdGFsbCBhbmQgdXNlIGEgdGhh d3RlIERpZ2l0YWwgQ2VydGlmaWNhdGUgb24geW91ciBBcGFjaGUgd2ViIHNlcnZlci4gVGhy b3VnaG91dCwgYmVzdCBwcmFjdGljZXMgZm9yIHNldC11cCBhcmUgaGlnaGxpZ2h0ZWQgdG8g aGVscCB5b3UgZW5zdXJlIGVmZmljaWVudCBvbmdvaW5nIG1hbmFnZW1lbnQgb2YgeW91ciBl bmNyeXB0aW9uIGtleXMgYW5kIGRpZ2l0YWwgY2VydGlmaWNhdGVzLg0KPiANCj4gaHR0cDov L3d3dy5kaW5jbGlueC5jb20vUmVkaXJlY3QuYXNweD8zNjs0MTc1OzI1OzEzNzE7MDs1Ozk0 NjtlMTNiNmJlNA0KPiA0MmY3MjdkMQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IC0tDQo+IA0K PiANCj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ IFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBlLW1haWwsIGluY2x1ZGluZyBh bnkgYXR0YWNobWVudChzKSwgaXMgaW50ZW5kZWQgc29sZWx5IGZvciB1c2UgYnkgdGhlIG5h bWVkIGFkZHJlc3NlZShzKS4gIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGll bnQsIG9yIGEgcGVyc29uIGRlc2lnbmF0ZWQgYXMgcmVzcG9uc2libGUgZm9yIGRlbGl2ZXJp bmcgc3VjaCBtZXNzYWdlcyB0byB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgYXJlIG5v dCBhdXRob3JpemVkIHRvIGRpc2Nsb3NlLCBjb3B5LCBkaXN0cmlidXRlIG9yIHJldGFpbiB0 aGlzIG1lc3NhZ2UsIGluIHdob2xlIG9yIGluIHBhcnQsIHdpdGhvdXQgd3JpdHRlbiBhdXRo b3JpemF0aW9uIGZyb20gUFNFRy4gIFRoaXMgZS1tYWlsIG1heSBjb250YWluIHByb3ByaWV0 YXJ5LCBjb25maWRlbnRpYWwgb3IgcHJpdmlsZWdlZCBpbmZvcm1hdGlvbi4gSWYgeW91IGhh dmUgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBz ZW5kZXIgaW1tZWRpYXRlbHkuIFRoaXMgbm90aWNlIGlzIGluY2x1ZGVkIGluIGFsbCBlLW1h aWwgbWVzc2FnZXMgbGVhdmluZyBQU0VHLiAgVGhhbmsgeW91IGZvciB5b3VyIGNvb3BlcmF0 aW9uLg0KPiANCj4gQ09ORklERU5USUFMSVRZIE5PVElDRTogVGhpcyBlbWFpbCBjb21tdW5p Y2F0aW9uIGFuZCBhbnkgYXR0YWNobWVudHMgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFsIGFu ZCBwcml2aWxlZ2VkIGluZm9ybWF0aW9uIGZvciB0aGUgdXNlIG9mIHRoZSBkZXNpZ25hdGVk IHJlY2lwaWVudHMgbmFtZWQgYWJvdmUuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCBy ZWNpcGllbnQsIHlvdSBhcmUgaGVyZWJ5IG5vdGlmaWVkIHRoYXQgeW91IGhhdmUgcmVjZWl2 ZWQgdGhpcyBjb21tdW5pY2F0aW9uIGluIGVycm9yIGFuZCB0aGF0IGFueSByZXZpZXcsIGRp c2Nsb3N1cmUsIGRpc3NlbWluYXRpb24sIGRpc3RyaWJ1dGlvbiBvciBjb3B5aW5nIG9mIGl0 IG9yIGl0cyBjb250ZW50cyBpcyBwcm9oaWJpdGVkLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0 aGlzIGNvbW11bmljYXRpb24gaW4gZXJyb3IsIHBsZWFzZSByZXBseSB0byB0aGUgc2VuZGVy IGltbWVkaWF0ZWx5IG9yIGJ5IHRlbGVwaG9uZSBhdCAoNjE3KSA0MjYtMDYwMCBhbmQgZGVz dHJveSBhbGwgY29waWVzIG9mIHRoaXMgY29tbXVuaWNhdGlvbiBhbmQgYW55IGF0dGFjaG1l bnRzLiBGb3IgZnVydGhlciBpbmZvcm1hdGlvbiByZWdhcmRpbmcgQ29tbW9ud2VhbHRoIENh cmUgQWxsaWFuY2UncyBwcml2YWN5IHBvbGljeSwgcGxlYXNlIHZpc2l0IG91ciBJbnRlcm5l dCB3ZWIgc2l0ZSBhdCBodHRwOi8vd3d3LmNvbW1vbndlYWx0aGNhcmUub3JnLg0KPiANCj4g DQo+IA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IC0tIFNlY3VyaW5nIEFwYWNoZSBXZWIgU2Vy dmVyIHdpdGggdGhhd3RlIERpZ2l0YWwgQ2VydGlmaWNhdGUgSW4gdGhpcyANCj4gZ3VpZGUg d2UgZXhhbWluZSB0aGUgaW1wb3J0YW5jZSBvZiBBcGFjaGUtU1NMIGFuZCB3aG8gbmVlZHMg YW4gU1NMIGNlcnRpZmljYXRlLiAgV2UgbG9vayBhdCBob3cgU1NMIHdvcmtzLCBob3cgaXQg YmVuZWZpdHMgeW91ciBjb21wYW55IGFuZCBob3cgeW91ciBjdXN0b21lcnMgY2FuIHRlbGwg aWYgYSBzaXRlIGlzIHNlY3VyZS4gWW91IHdpbGwgZmluZCBvdXQgaG93IHRvIHRlc3QsIHB1 cmNoYXNlLCBpbnN0YWxsIGFuZCB1c2UgYSB0aGF3dGUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBv biB5b3VyIEFwYWNoZSB3ZWIgc2VydmVyLiBUaHJvdWdob3V0LCBiZXN0IHByYWN0aWNlcyBm b3Igc2V0LXVwIGFyZSBoaWdobGlnaHRlZCB0byBoZWxwIHlvdSBlbnN1cmUgZWZmaWNpZW50 IG9uZ29pbmcgbWFuYWdlbWVudCBvZiB5b3VyIGVuY3J5cHRpb24ga2V5cyBhbmQgZGlnaXRh bCBjZXJ0aWZpY2F0ZXMuDQo+IA0KPiBodHRwOi8vd3d3LmRpbmNsaW54LmNvbS9SZWRpcmVj dC5hc3B4PzM2OzQxNzU7MjU7MTM3MTswOzU7OTQ2O2UxM2I2YmU0DQo+IDQyZjcyN2QxDQo+ IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gLS0NCj4gDQoNCkNPTkZJREVOVElBTElUWSBOT1RJQ0U6 IFRoaXMgZW1haWwgY29tbXVuaWNhdGlvbiBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250 YWluIGNvbmZpZGVudGlhbCANCmFuZCBwcml2aWxlZ2VkIGluZm9ybWF0aW9uIGZvciB0aGUg dXNlIG9mIHRoZSBkZXNpZ25hdGVkIHJlY2lwaWVudHMgbmFtZWQgYWJvdmUuIElmIHlvdSBh cmUgDQpub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91IGFyZSBoZXJlYnkgbm90aWZp ZWQgdGhhdCB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGNvbW11bmljYXRpb24gDQppbiBlcnJv ciBhbmQgdGhhdCBhbnkgcmV2aWV3LCBkaXNjbG9zdXJlLCBkaXNzZW1pbmF0aW9uLCBkaXN0 cmlidXRpb24gb3IgY29weWluZyBvZiBpdCBvciBpdHMgDQpjb250ZW50cyBpcyBwcm9oaWJp dGVkLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGNvbW11bmljYXRpb24gaW4gZXJyb3Is IHBsZWFzZSByZXBseSB0byB0aGUgDQpzZW5kZXIgaW1tZWRpYXRlbHkgb3IgYnkgdGVsZXBo b25lIGF0ICg2MTcpIDQyNi0wNjAwIGFuZCBkZXN0cm95IGFsbCBjb3BpZXMgb2YgdGhpcyBj b21tdW5pY2F0aW9uIA0KYW5kIGFueSBhdHRhY2htZW50cy4gRm9yIGZ1cnRoZXIgaW5mb3Jt YXRpb24gcmVnYXJkaW5nIENvbW1vbndlYWx0aCBDYXJlIEFsbGlhbmNlJ3MgcHJpdmFjeSBw b2xpY3ksIA0KcGxlYXNlIHZpc2l0IG91ciBJbnRlcm5ldCB3ZWIgc2l0ZSBhdCBodHRwOi8v d3d3LmNvbW1vbndlYWx0aGNhcmUub3JnLg0KDQo=