SGVsbG8gZnJpZW5kcywKSSBrbm93IHRoYXQgYXQgbGVhc3QgdGhvc2Ugd2hvIGNvbnRyaWJ1dGVk IHRvIHRoaXMgY2hhbGxlbmdlIHNvIGZhciBhcmUKcHJvYmFibHkgZ29pbmcgdG8gYmUgaGFwcHkg d2l0aCBtZSB0aGF0IHRoZSBtaWxlc3RvbmUgJ29wZXJhdGluZyB0aGUKUkc0ODUwRzIgaGFzIGJl ZW4gYWNjb21wbGlzaGVkISBJIGF0dHJpYnV0ZSB0aGUgJ2Vhc2UnIG9mIHRoaXMgYWNoaWV2ZW1l bnQKdG8gdGhlIGhlbHAgb2Ygc29tZSB1c2VycyBvZiB0aGUgRW5kbGVzcy1TcGhlcmUgZm9ydW0h IE1pbmQgeW91IHNvIGZhciB0aGUKYWNoaWV2ZW1lbnQgaXMga25vd2luZyB3aGF0IGl0IG5lZWRz IHRvIHR1cm4gb24gKHB1bGxpbmcgdGhvc2UgdHdvIHVudGlsCnJlY2VudGx5IHVua25vd24gcGlu IHRvIFYtID0gR05EKS4KV2UgaGF2ZSBhbHNvIGxvY2F0ZWQgYSBDaGluZXNlIG1ha2VyIHRoYXQg aGFzIGJ1aWxkIGFuZCBtYXJrZXRzIGEgc2ltcGxlCkNBTiBjYWxpYnJhdG9yLCBidXQgdGhlcmUg YXJlIGFsc28gdXNlcnMgdGhhdCBoYXZlIGRlY2xhcmVkIHRoZSBpbnRlbnRpb24KdG8gY3JlYXRl IGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIGFuZCBzZWVtIHRvIGtub3cgaG93IHRvIGdl dCB0aGVyZS4KQWxsIG9mIHRoaXMgaGFzIGJlZW4gZG9jdW1lbnRlZCBpbiB0aGUgZm9ydW0gYW5k IGlmIHlvdSBsaWtlIHRvIGxvb2sgaXQgdXAKKGFuZCBtb3JlIGV4Y2l0aW5nIHBhcnQgb2YgdGhl IGxhcmdlciBwcm9qZWN0KSB0aGUgbGluayB2aWEKaHR0cHM6Ly93d3cucGF0cmVvbi5jb20vU3Vu VHJpcFRvR28gc2hvdWxkIGJlIGdvb2QgLi4uCkhhcHB5IFN1bmRheS4uLgoKT24gRnJpLCBOb3Yg MjMsIDIwMTggYXQgMzowMyBQTSBUb2JpYXMgR29nb2xpbiA8dXNlcnRvZ29AZ21haWwuY29tPiB3 cm90ZToKCj4gTG9va3MgbGlrZSBpIGhhdmUgYSBIb25nIEtvbmcgSHVhd2VpIHNwZWNpYWxpc3Qg d2hvIGhhcyBhIENBTiBib3ggdG8KPiBwcm9ncmFtIHRoZXNlIGFuZCBoYXMgY2xpZW50cyB1c2lu ZyBIdWF3ZWkgcmVjdGlmaWVycyB1cCB0byBodW5kcmV0cyBvZiBrVy4KPiBTbyBmYXIgbm8gY29u ZmlybWF0aW9uIHRoZXkgc2VsbCB0aGUgQ0FOIGRldmljZXMuLi4gVXBkYXRlZCBmb3J1bQo+Cj4g T24gU3VuLCBOb3YgMTgsIDIwMTgsIDA5OjA5IE1hbnUgQWJyYWhhbSA8YWJyYWhhbS5tYW51QGdt YWlsLmNvbSB3cm90ZToKPgo+PiBObywgSSBkbyBub3QgaGF2ZSBvbmUgb2YgdGhvc2UsIGJ1dCB0 aGUgZGF0YXNoZWV0IGFwcGVhcnMgdG8gYmUKPj4gcHJlY2lzZWx5IGNsZWFyIG9uIHRoYXQgZmFj dC4gVW5hYmxlIHRvIHNlZSB0aGUgc291cmNlIG9mIHlvdXIKPj4gY29udGVudGlvbi4KPj4KPj4g Q2hlZXJzLAo+PiBNYW51Cj4+Cj4+IE9uIFN1biwgTm92IDE4LCAyMDE4IGF0IDU6MjUgQU0gVG9i aWFzIEdvZ29saW4gPHVzZXJ0b2dvQGdtYWlsLmNvbT4KPj4gd3JvdGU6Cj4+ID4KPj4gPiBZb3Ug aGF2ZSBvbmUgb2YgdGhvc2UgdW5pdHM/IHdoaWxlIHRoZXJlIGFyZSBwb3RlbnRpYWwgcGluIHJh bmdlcyBvbgo+PiBib3RoCj4+ID4gc2lkZXMgb25seSA0IHBoeXNpY2FsIGNvbnRhY3QgZmluZ2Vy cyAoUENCKSBleGlzdCBvbiBtaW5lIGxlYXZpbmcgMiB0aGF0Cj4+ID4gYXJlIG5vdCBpZGVudGlm aWVkIG9uIHRoZSBwaW5vdXQgc2hlZXQuIEknbGwgdHJ5IHRyYWNpbmcgdGhlbSB3aGVuIGkKPj4g b3Blbgo+PiA+IHRoZSB1bml0IG5leHQuIEFsZWphbmRybyBmcm9tIHRoZSB2aWRlb3Mgc3RhdGVk IHRoYXQgcG9zc2libHkgYSBtaW5pbWFsCj4+ID4gY29uZmlndXJhdGlvbiBpcyBqdXN0IHRoZSBi YWNrcGxhbmUsIGhlIGFsc28gdm9pY2VkIHRoZSBoeXBvdGhlc2lzIHRoYXQKPj4gPiBIdWF3ZWkg bWlnaHQgaGF2ZSBhZGRlZCBtZWFzc3VyZXMgdG8gZGlzY3VycmFnZSBhZnRlcm1hcmtldCB1c2Vz IHRvCj4+IGF2b2lkCj4+ID4gcm9iYmVyeSBmcm9tIHRoZWlyIGluc3RhbGxhdGlvbnMuLi4KPj4g Pgo+PiA+IE9uIEZyaSwgTm92IDE2LCAyMDE4LCAwNjowMCBNYW51IEFicmFoYW0gPGFicmFoYW0u bWFudUBnbWFpbC5jb20gd3JvdGU6Cj4+ID4KPj4gPiA+IEFGQUlDUywgSSBzZWUgb25seSAyIHBp bnMuIDotKSBJdCBpcyBhbHNvIG1hcmtlZCB2ZXJ5IGNsZWFybHkuIFlvdQo+PiA+ID4gbmVlZCB0 byBsb29rIHZlcnkgY2FyZWZ1bGx5Lgo+PiA+ID4KPj4gPiA+IENoZWVycywKPj4gPiA+IE1hbnUK Pj4gPiA+Cj4+ID4gPgo+PiA+ID4gT24gRnJpLCBOb3YgMTYsIDIwMTggYXQgNjoxMCBBTSBUb2Jp YXMgR29nb2xpbiA8dXNlcnRvZ29AZ21haWwuY29tPgo+PiB3cm90ZToKPj4gPiA+ID4KPj4gPiA+ ID4gQnkgdGhlIHdheSB0aGF0IHJlbWluZHMgbWUgdGhlcmUgYXJlIG9ubHkgMiBzaWduYWwgd2ly ZXMgKENBTiArLy0pCj4+ID4gPiA+IHNwZWNpZmllZCBvbiB0aGUgcGlub3V0IEkgZm91bmQgYnV0 IGluIHJlYWxpdHkgdGhlcmUgYXJlIDQgZmluZ2Vycwo+PiBpbgo+PiA+ID4gdGhhdAo+PiA+ID4g PiBzZWN0aW9uLCBsZWF2aW5nIDIgdW5rbm93biBvbmVzLi4uCj4+ID4gPiA+Cj4+ID4gPiAtLQo+ PiA+ID4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAm IGxpc3QgYXJjaGl2ZQo+PiA+ID4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMg YXQKPj4gPiA+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0 Cj4+ID4gPgo+PiA+IC0tCj4+ID4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xp c3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+PiA+IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVy c2hpcCBvcHRpb25zIGF0Cj4+ID4gaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3Rp bmZvL3BpY2xpc3QKPj4gLS0KPj4gaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xp c3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+PiBWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNo aXAgb3B0aW9ucyBhdAo+PiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8v cGljbGlzdAo+Pgo+CgotLSAK4oCeSmV0enQgd2FyIGRlciBBdWdlbmJsaWNrIGdla29tbWVuIHdv IHdpciBkZW5rZW4gbXVzc3Rlbi4gRGVyIEF1Z2VuYmxpY2sgd28Kd2lyIGF1ZnNwcmluZ2VuIHVu ZCBlbnRzY2hlaWRlbiBtdcOfdGVuLCB3ZW5uIHdpciBuaWNodCBhbGxtw6RobGljaCBzbwp2ZXJn aWZ0ZXQgd2VyZGVuIHdvbGx0ZW4sIGRhw58gd2lyIGJsaW5kIGRpZSBQbMOkdHplIGVpbm5haG1l biwgZGllIHVucyBpbQpmw7xocmVybG9zZW4gWnVnIGRlciDDhGx0ZXJlbiBhbmdlYm90ZW4gd3Vy ZGVuLuKAnApBdXMgZGVtIGVyc3RlbiBLYXBpdGVsIHZvbiAnRmF0dSBIaXZhIC0gWnVyw7xjayB6 dXIgTmF0dXInIHZvbiBUaG9yIEhleWVyZGFobAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCgpUb2JpYXMgR29nb2xpbgpUZWwuIEQxICg0OSkgMTUxIDY2MDAgNzA2NgpUZWwu IEQyICg0OSkgMjY3MiA5MDYgOTE5MQpza3lwZTogbW9vbnRvZ28KLS0gCmh0dHA6Ly93d3cucGlj bGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9j aGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9t YWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .