T24gMjkgQXVndXN0IDIwMTYgYXQgMTQ6MjcsIEphbWVzIENhbWVyb24gPHF1b3psQGxhcHRvcC5v cmc+IHdyb3RlOgoKPgo+ID4gSWYgaGFuZCBjb2RlZCwgYXMgcGVvcGxlIGhhdmUgbm90ZWQgZm9y IG90aGVyIHNpbWlsYXIgZXhhbXBsZXMgb2YKPiA+IGNsZXZlcm5lc3MgLSAiVGhhdCdzIGFtYXpp bmdseSBjbGV2ZXIgLSBJJ2QgaW1tZWRpYXRlbHkgZmlyZSBhbnlvbmUKPiA+IHdobyBkaWQgdGhh dC4iIDotKS4KPgo+IFRodXMgaXMgaW5ub3ZhdGlvbiBkaXNwYXJhZ2VkLiAgOy0pCj4KPiA+IE1h aW50YWluYWJpbGl0eSwgZXZlbiBpZiBkb2N1bWVudGVkIGFuZCB3ZWxsIHVuZGVyc3Rvb2QsIHdv dWxkIGJlCj4gPiBjbG9zZSB0byB6ZXJvLgo+Cj4gSSBkaXNhZ3JlZS4gIEl0J3MgYW4gaXNzdWUg b2Ygc3R5bGUuCj4KPgrigItXZSB3b3VsZCBuZWVkIHRvIGFncmVlIHdoYXQgd2Ugd2VyZSBkaXNh Z3JlZWluZyBvbiA6LSkuCklmIGEgY29tcGlsZXIgZG9lcyBpdCwgbm8gcHJvYmxlbSwgaXQgbWFy Y2hlcyDigIt0byB0aGUgYmVhdCBvZiBpdHMgb3duIGRydW0uCgpJZiBhIHBlcnNvbiBkb2VzIHdo YXQgSSBnYXZlIGFuIGV4YW1wbGUgb2YgKGhvcC1za2lwLSAuLi4pICwKZWcKCiAgICBCTkUgR290 Y2hhKzEgIDsgPC0gZGVzdGluYXRpb24gaXMgMSBhZGRyZXNzIGxvY2F0aW9uIHBhc3QgR290Y2hh CiAgICAuLi4KICAgIEdvdGNoYTogICBTVEIgJDIwMzMKICAgIC4uLi4KICAgIFJlYWxUYXJnZXQ6 CgpUaGUgQk5FIGlzICJyZWFsbHkiIHRhcmdldGluZyAnUmVhbFRhcmdldCcKClRoZW4gdG8gbWFp bnRhaW4gb3IgbW9kaWZ5IHRoZSBjb2RlIHdvdWxkIHJlcXVpcmUuCgotICBSZWxhdGl2ZSBsb2Nh dGlvbnMgb2Ygc2tpcHBpbmcgcG9pbnQgYW5kIHRhcmdldCB3b3VsZCBuZWVkIHRvIGJlIGtlcHQK Y29uc3RhbnQuCi0gIFJlbGF0aXZlIGxvY2F0aW9uIG9mIGhvcHBpbmcgcG9pbnQgYW5kIHRhcmdl dCB3b3VsZCBuZWVkIHRvIGJlIGtlcHQKY29uc3RhbnQgT1IgYXNzZW1ibGVyIHdvdWxkIG5lZWQg dG8gYmUgYWJsZSB0byB0YXJnZXQgYSBwb2ludCAxIGFkZHJlc3MKbG9jYXRpb24gcGFzdCBhIGxh YmVsLgotICBEYXRhIGFkZHJlc3MgZm9yIGluc3RydWN0aW9uIGF0ICdHb3RjaGEnIE1VU1QgcmVt YWluIGFzIDIwWFggYW5kIGlmIFhYCmNoYW5nZXMgdGhlbiByZWxhdGl2ZSBsb2NhdGlvbnMgb2Yg c2tpcCBhbmQgdGFyZ2V0IG11c3QgY2hhbmdlIGFjY29yZGluZ2x5LgotICBBZGVxdWF0ZSBsZXZl bCBvZiBkb2N1bWVudGF0aW9uIGZvciBhbnkgd2hvIE1JR0hUIGJlIHJlcXVpcmVkIHRvCm1haW50 YWluIHRoaXMgY29kZS4KCkZvciBhIFt3b11tYW4gLXdoby1jb21lcy1hZnRlciB0byBtYWludGFp biBvciBhbHRlciB0aGUgY29kZS4KCi0gVGhleSBtdXN0IGtub3cgdGhhdCBhcmNhbmVyeSB3aGlj aCByZXF1aXJlcyBhYm92ZS1zdGFuZGFyZCBrbm93bGVkZ2UgaXMKaW4gdXNlLiBJZiB0aGlzIHdh cyBkb25lIGhlcmUgdGhlbiBpdCdzIGFsbW9zdCBjZXJ0YWluIG90aGVyICdjbGV2ZXInCnRoaW5n cyBoYXZlIGJlZW4gZG9uZSBhcyB3ZWxsLgotIFRoZXkgbXVzdCB1bmRlcnN0YW5kIHRoZSBzcGVj aWZpYyBhcmNhbmVyeSBoZXJlLgotIFRoZXkgbXVzdCB1bmRlcnN0YW5kIHRoZSB1c2Ugb2YgJDIw IGFzIGFkZHJlc3MgTVNCIGFuZCBhcyAiQlJBIiBvcGNvZGUuClRoaXMgcmVxdWlyZXMga25vd2lu ZyB0aGVpciBvcGNvZGVzIChhbmQgbW9yZSkuIFdoaWxlIHRob3NlIGNvbXBldGVudCBpbgp0aGUg YXJ0IGRvLCBpdCBpcyBub3QgYSByZXF1aXJlbWVudCB0byB3cml0ZSBhdCBhc3NlbWJsZXIgbGV2 ZWwuIFtJIHN0YXJ0ZWQKdVAgZGV2ZWxvcG1lbnQgbGlmZSB3aXRoIG5vIGFzc2VtYmxlciBhdmFp bGFibGUgc28gd3JvdGUgaSBhc3NlbWJsZXIgYW5kCmJyYWluIGNvbXBpbGVkIHRvIG1hY2hpbmUg bGFuZ3VhZ2UsIHNvIHRoZSBhYm92ZSBpcy93YXMgbm90IGFuIGlzc3VlIGZvcgptZS4gRm9yIG1h bnkgaXQgd291bGQgYmUsIHRvIHZhcmlvdXMgZXh0ZW50cy4KCllvdSBjb3VsZCBhZGQgdG8gdGhh dCBsaXN0LCBidXQgaXQgaXMgbGlrZWx5IHRoYXQgYW55b25lIHdobyB3YXMgJ2NsZXZlcgplbm91 Z2gnIHRvIHdyaXRlIHN1Y2ggY29kZSB3b3VsZCBiZSAncm9ndWUgZW5vdWdoJyB0byBmYWlsIHRo ZSBhYm92ZQptZW50aW9uZWQgJy0gIEFkZXF1YXRlIGxldmVsIG9mIGRvY3VtZW50YXRpb24gZm9y IGFueSB3aG8gTUlHSFQgYmUgcmVxdWlyZWQKdG8gbWFpbnRhaW4gdGhpcyBjb2RlLicgdGVzdC4K CldoaWxlIHRoZXJlIG1heSBleGlzdCBwZW9wbGUgd2hvIHdlcmUgb3JkZXJlZCwgdGlkeSBhbmQg c3VpdGFibHkgd2lsbGVkIHRvCmJvdGggd3JpdGUgc3VjaCBjb3NlIEFORCB0byBkb2N1bWVudCBp dCBzdXBlcmJseSBhbmQgd2VsbCBlbm91Z2gsIEkgZG8gbm90CnJlY2FsbCBldmVyIGhhdmluZyBt ZXQgYW55IDstKS4KClNvLCBoYXZpbmcgd2lsbGZ1bGx5IGZhaWxlZCB0aGUgIOKAiyJtdXN0IHdy aXRlIGFkZXF1YXRlbHkgbWFpbnRhaW5hYmxlIGNvZGUnCnBhcnQgb2YgdGhlIGpvYiBzcGVjIChu b3QgdGhhdCBhbnlvbmUgZnVsbHkgcGFzc2VzIDotKSApLiB5b3UgZmlyZSB0aGVtLAppZGVhbGx5 IGJlZm9yZSB0aGV5IGFyZSBlbXBsb3llZC4K4oCLQW5kIHllcywgdGhlcmVieSBtaXNzIG91dCBv biBncmVhdCBpbm5vdmF0aW9uLCBza2lsbCwgY2FwYWJpbGl0eSwgZ2VuaXVzCi4uLiAuCldoaWNo IGlzIGZpbmUgaWYgdGhlIHZhbHVlIHJldHVybmVkIGlzIGZhciBncmVhdGVyIHRoYW4gaGF2aW5n IHRoZW0gd3JpdGUKY29kZSB3aGljaCBzdG9wcyB3b3JraW5nIGNvbXBsZXRlbHkgYWx3YXlzIG9y IHNvbWV0aW1lcyB3aGVuIHNvbWVib2R5IGVsc2UKY2hhbmdlcyBhIHNpbmdsZSBpbm5vY3VvdXMg bGluZSBhbnl3aGVyZSBpbiB0aGUgY29kZS4KClRoZXJlIGFyZSBpbmRlZWQgc3VjaCBwZW9wbGUg d2hvc2UgdmFsdWUgb2J2aW91c2x5IG1lcml0cyBlbXBsb3ltZW50LiBCdXQKeW91IGRvbid0IHVz ZSB0aGVuIHRvIHdyaXRlIGNvZGUgdGhhdCBtdXN0IGJlIG1haW50YWluZWQgOi0pLgoKCiAgICAg UnVzc2VsbAoKCuKAiwotLSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3Qg UElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0 aW9ucyBhdApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .