QmVsb3cgaXMgdGhlIHRleHQgb2YgdGhlIGxhc3QgcG9zdGluZyBJIGxldCBvdXQuIEknbSBzdGls bCBhdCBhIGxvc3MgYXMgdG8KaG93IGl0IGF0dHJhY3RlZCBub3RoaW5nIGJ1dCAiYmlnIGlyb24i IHByb2dyYW1tZXJzLiBBbnkgc3VnZ2VzdGlvbnMgd291bGQKYmUgd2VsY29tZS4KCi1EZW5ueQoK Sm9iIERlc2NyaXB0aW9uCgpXZSBhcmUgbG9va2luZyB0byBoaXJlIGFuIGV4cGVyaWVuY2VkIEVt YmVkZGVkIEZpcm13YXJlIEVuZ2luZWVyIHRvIHdvcmsgYXMKcGFydCBvZiBhIHNtYWxsIGVuZ2lu ZWVyaW5nIHRlYW0gdG8gZGV2ZWxvcCwgaW1wcm92ZSwgYW5kIG1haW50YWluICplbWJlZGRlZApm aXJtd2FyZSogd3JpdHRlbiBpbiB0aGUgKkMgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UuKgoKVG8gYmUg Y29uc2lkZXJlZCBmb3IgdGhpcyBwb3NpdGlvbiwgeW91IG11c3QgaGF2ZSBhbiBpbnRpbWF0ZSB1 bmRlcnN0YW5kaW5nCm9mIHRoZSBpbm5lciB3b3JraW5ncyBvZiBhIG1pY3JvY29udHJvbGxlciwg YW5kIHRoZSBhYmlsaXR5IHRvIHdyaXRlCnNvZnR3YXJlIG9uICJiYXJlIG1ldGFsIiAoT1MtbGVz cykgc3lzdGVtcy4gSW4gdGhlIGludGVydmlldywgeW91IGNhbgpleHBlY3QgdG8gYmUgYXNrZWQg cXVlc3Rpb25zIGFib3V0IHJlZ2lzdGVycywgbWVtb3J5IG1hcHMsIEFEQ3MsIGludGVycnVwdApw cm9jZXNzaW5nLCB0aW1lcnMsIGNvbXBpbGVyIHRoZW9yeSwgYW5kIHN0YXRlIG1hY2hpbmVzLgoK VGhlIGlkZWFsIGNhbmRpZGF0ZSBtdXN0IGhhdmUgd29ya2luZyBrbm93bGVkZ2Ugb2YgMTYvMzIg Yml0Cm1pY3JvY29udHJvbGxlcnMsIGFzIHdlbGwgYXMgY29tbW9uIHBlcmlwaGVyYWxzIGFuZCBw cm90b2NvbHM6IFVBUlQsIEkyQywKU1BJLCBDQU4sIExJTiwgVENQL0lQLiBUaGUgY2FuZGlkYXRl IHdvdWxkIGJlIGV4cGVjdGVkIHRvIGtub3cgaG93IHRvIHRha2UKYSBwcm90b2NvbCBzcGVjaWZp Y2F0aW9uIHN0YW5kYXJkLCBhbmQgaW1wbGVtZW50IGl0IGluIGZpcm13YXJlLgoKQSBzdHJvbmcg ZWxlY3Ryb25pY3MgYmFja2dyb3VuZCBpcyBhbHNvIGEgbXVzdC4gVGhlIGNhbmRpZGF0ZSBtdXN0 IGJlIGFibGUKdG8gcmVhZCBzY2hlbWF0aWNzLCBib2FyZCBsYXlvdXRzLCBhbmQgZGF0YXNoZWV0 cywgYXMgd2VsbCBhcyB1c2UgY29tbW9uCmhhcmR3YXJlIGRlYnVnZ2luZyB0b29sczogb3NjaWxs b3Njb3BlcywgbXVsdGltZXRlcnMsIGxvZ2ljIGFuYWx5emVycywgYW5kCnNpZ25hbCBnZW5lcmF0 b3JzLgoKCgoqUHJpbmNpcGFsIER1dGllcyoKCsK3ICAgICAgICBEZWZpbmUsIGNsYXJpZnkgYW5k IGNhcHR1cmUgcHJvamVjdCBnb2FscyAmIHJlcXVpcmVtZW50cwoKwrcgICAgICAgIERlc2lnbiwg aW1wbGVtZW50LCBpbXByb3ZlLCByZWZhY3RvciwgdGVzdCwgYW5kIGRlYnVnIGZpcm13YXJlCgrC tyAgICAgICAgVXNlIGFuIEFnaWxlIGFwcHJvYWNoIHRvIHdyaXRlIGVsZWdhbnQsIHJlbGlhYmxl LCBhbmQKc2VsZi1kb2N1bWVudGluZyBjb2RlCgrCtyAgICAgICAgUGFydGljaXBhdGUgaW4gZGVz aWduICYgY29kZSByZXZpZXdzCgrCtyAgICAgICAgUG9ydCBleGlzdGluZyBDIGNvZGUgdG8gbmV3 IHBsYXRmb3JtcwoKKlF1YWxpZmljYXRpb25zKgoKKk5hdHVyYWwgVGFsZW50cyAoUmVxdWlyZWQp KgoKwrcgICAgICAgIFBhc3Npb24gZm9yICp3cml0aW5nIHF1YWxpdHkgY29kZSAqb24gKnNtYWxs IGVtYmVkZGVkIHBsYXRmb3JtcyoKCsK3ICAgICAgICBTdHJvbmcgKmF0dGVudGlvbiB0byBkZXRh aWwgKmFuZCAqYW5hbHl0aWNhbC9wcm9ibGVtLXNvbHZpbmcqCnNraWxscwoKwrcgICAgICAgICpP dXQtb2YtdGhlLWJveCogdGhpbmtpbmcKCsK3ICAgICAgICBTdGF5aW5nICpmb2N1c2VkICphbmQg Km9yZ2FuaXplZCoKCsK3ICAgICAgICAqU2VsZi1tb3RpdmF0ZWQqCgrCtyAgICAgICAgKkV4Y2Vs bGVudCBjb21tdW5pY2F0aW9ucyBzaWxscywgYm90aCB3cml0dGVuIGFuZCB2ZXJiYWwqCgrCtyAg ICAgICAgKlJlY2VwdGl2ZSAqdG8gKmNvbnN0cnVjdGl2ZSBjcml0aWNpc20qCgoKCipTa2lsbHMv RXhwZXJpZW5jZSAoUmVxdWlyZWQpKgoKwrcgICAgICAgIFdyaXRpbmcgKkMgY29kZSAqZm9yIHNt YWxsICoxNi8zMi1iaXQgbWljcm9zICooNCsgeWVhcnMpCgrCtyAgICAgICAgUmVhZGluZyAqc2No ZW1hdGljcywgZGF0YXNoZWV0cyogJiAqcHJvdG9jb2wgc3BlY2lmaWNhdGlvbnMqCgrCtyAgICAg ICAgVXNpbmcgKm9zY2lsbG9zY29wZSwgbXVsdGltZXRlciwgbG9naWMgYW5hbHl6ZXIsICphbmQg KnNpZ25hbApnZW5lcmF0b3IqCgoqQm9udXMgU2tpbGxzL0V4cGVyaWVuY2UgKEhlbHBmdWwpKgoK wrcgICAgICAgICpNaWNyb2NoaXAgUElDLCBBUk0gKmRldmVsb3BtZW50IGV4cGVyaWVuY2UKCsK3 ICAgICAgICAqVGVjaG5pY2FsIHdyaXRpbmcqCgrCtyAgICAgICAgVW5kZXJzdGFuZGluZyBvZiAq Q0FOIEJVUyoKCsK3ICAgICAgICBFeHBlcmllbmNlIHdpdGggKldpRmkqIGFuZCAqQmx1ZXRvb3Ro KiBwcm90b2NvbCBzdGFja3MKCsK3ICAgICAgICAqVEREKgoKCgpTYWxhcnkKClRoZSBzYWxhcnkg cmFuZ2UgZm9yIHRoaXMgcG9zaXRpb24gaXMgbmVnb3RpYWJsZSwgZGVwZW5kaW5nIG9uIGFjdHVh bApxdWFsaWZpY2F0aW9ucyBhbmQgZXhwZXJpZW5jZS4gV2UgcGF5IGFib3ZlIG1hcmtldCB3YWdl cyBhbmQgaGF2ZSBhCnBlcmZvcm1hbmNlLWJhc2VkIHN5c3RlbSBvZiBib251c2VzIGFuZCByYWlz ZXMuCgpCZW5lZml0cwoKwrcgICAgICAgIFBhaWQgKnZhY2F0aW9uKiBhbmQgKmhvbGlkYXlzICoK CsK3ICAgICAgICAqTWVkaWNhbCwgZGVudGFsIGFuZCB2aXNpb24gYiplbmVmaXRzCgrCtyAgICAg ICAgKkdlbmVyb3VzIDQwMShrKSBtYXRjaCoKCgoKUGVya3MKCsK3ICAgICAgICBBbiBvcHBvcnR1 bml0eSB0byAqbGVhcm4gKmFuZCAqZ3JvdyB5b3VyIGNhcmVlcioKCsK3ICAgICAgICAqRmxleGli bGUgc2NoZWR1bGUgKmFuZCAqd29yay9saWZlIGJhbGFuY2UqCgrCtyAgICAgICAgKkxvdyBzdHJl c3MgKmF0bW9zcGhlcmUgYW5kICpmcmllbmRseSwgY29tcGV0ZW50IGNvLXdvcmtlcnMqCgrCtyAg ICAgICAgKkNhc3VhbCAqZHJlc3MgY29kZQoKwrcgICAgICAgICpUaGlzIGlzIGEgZnVsbC10aW1l IHBvc2l0aW9uIGluIG91ciBOb3J0aHdlc3QgVHVjc29uIG9mZmljZSoKCsK3ICAgICAgICAqUmVs b2NhdGlvbiBhc3Npc3RhbmNlIG1heSBiZSBwcm92aWRlZCBmb3IgdGhlIHJpZ2h0IGNhbmRpZGF0 ZSoKCgoKQXBwbGljYXRpb24gUHJvY2VzcwoKRW1haWwgeW91ciBvbmUtcGFnZSByZXN1bWUgYW5k IHlvdXIgcHJvamVjdCBwb3J0Zm9saW8gdG8ga2Z5dzh3aHk2QGdtYWlsLmNvbQoKVXNlIHRoZSBi b2R5IG9mIHRoZSBlbWFpbCBhcyB0aGUgY292ZXIgbGV0dGVyLiBJbiB0aGUgY292ZXIgbGV0dGVy LAoKwrcgICAgICAgIEV4cGxhaW4gd2h5IHlvdSBmZWVsIHlvdSBhcmUgdGhlIHJpZ2h0IGNhbmRp ZGF0ZSBmb3IgdGhpcyBwb3NpdGlvbgoKwrcgICAgICAgIEdpdmUgdXMgeW91ciBzYWxhcnkgcmVx dWlyZW1lbnRzCgoKCldlIGxvb2sgZm9yd2FyZCB0byBoZWFyaW5nIGZyb20geW91IQotLSAKaHR0 cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJj aGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdApodHRwOi8vbWFpbG1h bi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .