SXQgaXMgaGFyZCB0byBrbm93IHdoZXJlIHRoZSBjb2RlIGZyb20gdGhlIGxpYnJhcnkgY29tZXMg ZnJvbSBpbml0aWFsbHksCmJ1dCBpcyBtb3N0bHkgb3VyIGNvZGUsIEkgZG8gbm90IHRoaW5rIHRo ZSBkZW1vIGZyb20gVENQL0lQIE1MQSBpcyBpbnZvbHZlZAphdCBhbGwuCgpJbiBhbnkgY2FzZSwg eW91IG1heSB3YW50IHRvIGRvdWJsZSBjaGVjayBzaW5nbGUgYnl0ZSBjb21tYW5kcyBsaWtlIGRl bGV0ZQpzZWN0b3Igb3IgZGVsZXRlIGNoaXAsIGRvIG5vdCBpbmNsdWRlIGEgc2Vjb25kIGJ5dGUg YXMgcGFydCBvZiB0aGUgY29tbWFuZApmb3IgbmVpdGhlciByZWFkIG9yIHdyaXRlLCBhcyB0aGF0 IG1heSBnZXQgeW91IGluIHRyb3VibGUgc29vbmVyIG9yIGxhdGVyLgoKQmVzdCBSZWdhcmRzLAot LS0tCkFyaWVsIFJvY2hvbGwKCgoKCk9uIFN1biwgSnVuIDE0LCAyMDE1IGF0IDEwOjIwIFBNLCBS dWJlbiBKw7Zuc3NvbiA8cnViZW5qb25zc29uQGJyZWRiYW5kLm5ldD4Kd3JvdGU6Cgo+IFdoaWNo IGxpYnJhcnkgaXMgdGhpcz8gSSB1c2UgY29kZSBmcm9tIHRoZSBMZWdhY3kgTUxBIGRlcml2ZWQg ZnJvbSB0aGUKPiBUQ1AvSVAKPiBkZW1vIGFwcCB3aGljaCBoYXMgYSBkcml2ZXIgZm9yIHRoYXQg Y2hpcC4gRG8geW91IGtub3cgaWYgdGhpcyBidWcgaXMgYWxzbwo+IHByZXNlbnQgdGhlcmU/Cj4K PiAvUnViZW4KPgo+Cj4gPiBUaGFua3MgZm9yIHRoZSBzdWdnZXN0aW9uLCB3ZSBkaWQgaW4gZmFj dCB0ZXN0ZWQgb25lIG9mIHRob3NlIGZsYXNoIElDcwo+IG9uCj4gPiBpc29sYXRpb24gYW5kIHdv cmtlZCB0aGUgc2FtZS4KPiA+Cj4gPiBOZXZlcnRoZWxlc3MgYWZ0ZXIgYSBsb25nIHdlZWtlbmQg d2UgZm91bmQgcHJvYmxlbSB3YXMgaW4gc29mdHdhcmUKPiBsaWJyYXJ5Ogo+ID4gdGhlICJTUEkg ZGVsZXRlIHNlY3Rpb24iIGNvbW1hbmQgaGFkIGFuIGV4dHJhIGJvZ3VzIGJ5dGUgbm9ib2R5IG5v dGljZWQKPiA+IGJlZm9yZSwgYW5kIHRoYXQgd2FzIG5vdCBhbiBpc3N1ZSBmb3Igc2lsaWNvbiBp biBlYXJsaWVyIGJhdGNoZXMgb3IgZXZlbgo+ID4gbW9zdCB1bml0cyBpbiB0aGUgbGFzdCBiYXRj aC4KPiA+Cj4gPiBTdXJwcmlzaW5nbHkgdGhvdWdoLCB0aGF0IGJvZ3VzIGJ5dGUgaW5kaXJlY3Rs eSBjYXVzZWQgdGhlIG5leHQgU1BJCj4gPiBjb21tYW5kcyB0byBub3Qgd29yayBhcyBleHBlY3Rl ZCBpbiBzb21lIHVuaXRzIGluIHRoZSBuZXcgYmF0Y2gsIHNvIHdlCj4ganVzdAo+ID4gdW5jb3Zl cmVkIGFuIG9sZCBidWcgdGhhdCB3YXMgaXJyZWxldmFudCB0aWxsIGxhdGVzdCBzaWxpY29uIHJl Y2VpdmVkLgo+ID4gQmVpbmcgaW5kaXJlY3QgaXNzdWUgd2FzIHJlYWxseSB0cmlja3kgdG8gaXNv bGF0ZS4KPiA+Cj4gPiBTbyBhbGwgc2V0Li4uIGp1c3QgbGl2ZSBhbmQgbGVhcm4uCj4gPgo+ID4g QXJpZWwgUm9jaG9sbAo+ID4KPiA+Cj4KPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVj aHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5b3Vy IG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9s aXN0aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNs aXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlw IG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xp c3QK .