CTw/cGhwICAJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQlyZXF1aXJlX29uY2UoJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSAuICIvZWNsaXBzZS5vcmctY29tbW9uL3N5c3RlbS9hcHAuY2xhc3MucGhwIik7CXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL25hdi5jbGFzcy5waHAiKTsgCXJlcXVpcmVfb25jZSgkX1NFUlZFUlsnRE9DVU1FTlRfUk9PVCddIC4gIi9lY2xpcHNlLm9yZy1jb21tb24vc3lzdGVtL21lbnUuY2xhc3MucGhwIik7IAkkQXBwIAk9IG5ldyBBcHAoKTsJJE5hdgk9IG5ldyBOYXYoKTsJJE1lbnUgCT0gbmV3IE1lbnUoKTsJCWluY2x1ZGUoIl9wcm9qZWN0Q29tbW9uLnBocCIpOyAgICAjIEFsbCBvbiB0aGUgc2FtZSBsaW5lIHRvIHVuY2x1dHRlciB0aGUgdXNlcidzIGRlc2t0b3AnCgoJCgkjCgkjIEJlZ2luOiBwYWdlLXNwZWNpZmljIHNldHRpbmdzLiAgQ2hhbmdlIHRoZXNlLiAKCSRwYWdlVGl0bGUgCQk9ICJOZXcgUHJvamVjdCBSZWxlYXNlcyBDb250aW51ZSB0byBEcml2ZSBBZG9wdGlvbiBvZiBFY2xpcHNlIGluIHRoZSBFbWJlZGRlZCBhbmQgRGV2aWNlIERldmVsb3BtZW50IENvbW11bml0eSI7CgkkcGFnZUtleXdvcmRzCT0gImVtYmVkZGVkLCBkZXZpY2UsIG5ldyBwcm9qZWN0LCAyMDA3LCBwcmVzcywgcmVsZWFzZSI7CgkkcGFnZUF1dGhvcgkJPSAiTmF0aGFuIEdlcnZhaXMiOwoJCgkjIEFkZCBwYWdlLXNwZWNpZmljIE5hdiBiYXJzIGhlcmUKCSMgRm9ybWF0IGlzIExpbmsgdGV4dCwgbGluayBVUkwgKGNhbiBiZSBodHRwOi8vd3d3LnNvbWVvdGhlcnNpdGUuY29tLyksIHRhcmdldCAoX3NlbGYsIF9ibGFuaykKCSMgJE5hdi0+YWRkQ3VzdG9tTmF2KCJNeSBMaW5rIiwgIm15cGFnZS5waHAiLCAiX3NlbGYiKTsKCSMgJE5hdi0+YWRkQ3VzdG9tTmF2KCJHb29nbGUiLCAiaHR0cDovL3d3dy5nb29nbGUuY29tLyIsICJfYmxhbmsiKTsKCSMgRW5kOiBwYWdlLXNwZWNpZmljIHNldHRpbmdzCgkjCgkKCSMgUGFzdGUgeW91ciBIVE1MIGNvbnRlbnQgYmV0d2VlbiB0aGUgRU9IVE1MIG1hcmtlcnMhCQoJJGh0bWwgPSA8PDxFT0hUTUwKPGRpdiBpZD0ibWFpbmNvbnRlbnQiPgoJPGRpdiBpZD0ibWlkY29sdW1uIj4KCQk8aDE+JHBhZ2VUaXRsZTwvaDE+CgkJPGgyPlByZXNzIFJlbGVhc2U8L2gyPgoJCTxoMiBBTElHTj0iQ0VOVEVSIj48c3Ryb25nPk5ldyBQcm9qZWN0IFJlbGVhc2VzIENvbnRpbnVlIHRvIERyaXZlIEFkb3B0aW9uIG9mIEVjbGlwc2UgaW4gdGhlIEVtYmVkZGVkIGFuZCBEZXZpY2UgRGV2ZWxvcG1lbnQgQ29tbXVuaXR5PC9zdHJvbmc+PC9oMj4KCgkJPHA+PHN0cm9uZz5FbWJlZGRlZCBTeXN0ZW1zIENvbmZlcmVuY2UsIFNpbGljb24gVmFsbGV5LCBDYWxpZi4sIEFwcmlsIDMsIDIwMDcgPC9zdHJvbmc+l1RoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgcGxlYXNlZCB0byBhbm5vdW5jZSB0aGUgdXBjb21pbmcgcmVsZWFzZXMgb2YgdGhlIEVjbGlwc2UgQy9DKysgSURFIChDRFQpIDQuMCBhbmQgRGV2aWNlIFNvZnR3YXJlIERldmVsb3BtZW50IFBsYXRmb3JtIChEU0RQKSBwcm9qZWN0cy4gVGhlc2UgRWNsaXBzZSBwcm9qZWN0cyByZXByZXNlbnQgdGhlIGNvcmUgdGVjaG5vbG9neSB0aGF0IGlzIGJlaW5nIGRldmVsb3BlZCBmb3IgdGhlIGVtYmVkZGVkIGFuZCBkZXZpY2UgZGV2ZWxvcG1lbnQgY29tbXVuaXR5IGFuZCBoYXZlIGJlZW4gd2lkZWx5IGFkb3B0ZWQgYnkgb3JnYW5pemF0aW9ucyBhY3Jvc3MgdGhlIGVtYmVkZGVkIGFuZCBkZXZpY2Ugc29mdHdhcmUgbWFya2V0LgoJCTxiciAvPjxiciAvPgoJCVdpdGhpbiB0aGUgbGFzdCBmaXZlIHllYXJzLCB0aGUgc2NvcGUgb2YgRWNsaXBzZSBwcm9qZWN0cyBmb2N1c2VkIHByaW1hcmlseSBhcm91bmQgZW1iZWRkZWQgYW5kIGRldmljZSBkZXZlbG9wbWVudCBoYXZlIHNwYXduZWQgYSBoZWFsdGh5LCB2aWJyYW50IGFuZCBzaWduaWZpY2FudCBtb3ZlbWVudCB3aXRoaW4gdGhlIEVjbGlwc2UgY29tbXVuaXR5LiBGcm9tIHRoZSBlYXJseSBzdWNjZXNzIGFuZCBhZG9wdGlvbiBvZiB0aGUgQy9DKysgRGV2ZWxvcG1lbnQgVG9vbGluZyAoQ0RUKSBwcm9qZWN0IHRvIHRoZSBjcmVhdGlvbiBvZiB0aGUgRWNsaXBzZSBEZXZpY2UgU29mdHdhcmUgRGV2ZWxvcG1lbnQgUGxhdGZvcm0gKERTRFApLCBFY2xpcHNlLWJhc2VkIGRldmVsb3BtZW50IGhhcyBlbWVyZ2VkIGFzIGEgZGVmYWN0byBzdGFuZGFyZCB3aXRoaW4gdGhlIGVtYmVkZGVkIGluZHVzdHJ5LiBFbWJlZGRlZCBhbmQgZGV2aWNlIGRldmVsb3BlcnMgaGF2ZSBhIG51bWJlciBvZiBFY2xpcHNlIHByb2plY3RzIHRoYXQgY2FuIGFzc2lzdCB0aGVtIHdpdGggYnVpbGRpbmcgdGhlaXIgYXBwbGljYXRpb25zLCBpbmNsdWRpbmcgSURFcyBmb3IgQy9DKyssIG1vYmlsZSBKYXZhIChKMk1FKWFuZCBtb2JpbGUgTGludXguIDwvcD4KCQk8cD5JbiBKdW5lLCB0aGUgRWNsaXBzZSBjb21tdW5pdHkgd2lsbCByZWxlYXNlIGl0cyBuZXh0IGNvbXByZWhlbnNpdmUgY29kZSBiYXNlIHRvIHRoZSBwdWJsaWMsIHRoZSBFY2xpcHNlIEV1cm9wYSByZWxlYXNlLiBGZWF0dXJlcyBhaW1lZCBhdCB0aGUgZW1iZWRkZWQgYW5kIGRldmljZSBkZXZlbG9wbWVudCBpbmNsdWRlOiA8L3A+CgkJPHVsPgoJCQk8bGk+VGhlIG5ldyBDRFQgNC4wIHJlbGVhc2UgaW5jbHVkZXMgc3Vic3RhbnRpYWwgcHJvZHVjdGl2aXR5IGVuaGFuY2VtZW50cyBmb3IgQy9DKysgZGV2ZWxvcGVycyBpbmNsdWRpbmcgYSBzaW1wbGlmaWVkIG5ldyBwcm9qZWN0IHdpemFyZCBzdXBwb3J0aW5nIHByb2plY3QgdGVtcGxhdGVzLCBuZXcgc291cmNlIG5hdmlnYXRpb24gdmlld3MgYW5kIGltcHJvdmVkIHBlcmZvcm1hbmNlIG9mIGluZGV4LWJhc2VkIGZlYXR1cmVzLiBDRFQgNC4wIGFsc28gZmVhdHVyZXMgdGlnaHRlciBpbnRlZ3JhdGlvbiB3aXRoIHRoZSBNaW5HVyBnbnUgdG9vbCBjaGFpbiB0aHVzIG1ha2luZyBpdCBlYXNpZXIgdG8gZGV2ZWxvcCBDL0MrKyBhcHBsaWNhdGlvbnMgb24gdGhlIFdpbmRvd3MgcGxhdGZvcm0uIEZpbmFsbHksIENEVCA0LjAgaGFzIGFkZGVkIHN1cHBvcnQgZm9yIEdEQi1iYXNlZCBKVEFHIGVtYmVkZGVkIGRlYnVnZ2luZy4gPC9saT4KCQkJPGxpPkEgbmV3IGRlYnVnZ2VyIHNlcnZpY2VzIGZyYW1ld29yayBmcm9tIHRoZSBEU0RQIERldmljZSBEZWJ1Z2dpbmcgKEREKSBwcm9qZWN0IHRoYXQgcHJvdmlkZXMgYWRkaXRpb25hbCBwZXJmb3JtYW5jZSwgZnVuY3Rpb25hbGl0eSBhbmQgbW9kdWxhcml0eSBmb3IgY29tbWVyY2lhbCBlbWJlZGRlZCBkZWJ1Z2dlcnMgYnVpbHQgb24gRWNsaXBzZTs8L2xpPgoJCQk8bGk+QWxzbyBmcm9tIHRoZSBEZXZpY2UgRGVidWdnaW5nIHByb2plY3QsIGEgbmV3IElQLVhBQ1QgZWRpdG9yIGFuZCBzYW1wbGUgZGVidWdnZXIgdmlldyBjb250cmlidXRlZCBmcm9tIHRoZSBTUElSSVQgY29uc29ydGl1bTwvbGk+CgkJCTxsaT5FeHBhbmRlZCBtb2JpbGUgcGxhdGZvcm0gc3VwcG9ydCBmb3IgV2luQ0UgNS4wIGFuZCBOb2tpYSBTNjAgaW4gdGhlIERTRFAgZW1iZWRkZWQgUmljaCBDbGllbnQgUGxhdGZvcm0gKGVSQ1ApIHByb2plY3Q7PC9saT4KCQkJPGxpPkVuaGFuY2VtZW50cyB0byB0aGUgRFNEUCBNb2JpbGUgVG9vbHMgZm9yIEphdmEgcHJvamVjdCwgaW5jbHVkaW5nIFZpc3VhbCBGbG93IGVkaXRvciwgTENEVUkgRGVzaWduZXIsIHN1cHBvcnQgZm9yIGV4dGVybmFsIG9iZnVzY2F0b3JzLCBsb2NhbGl6YXRpb24sIG5ldyBwcm9maWxlcyBhbmQgY29uZmlndXJhdGlvbnMgKHN1Y2ggYXMgTUlEUCAyLjEsIE11bHRpIFNESyBzdXBwb3J0IGluIGEgc2luZ2xlIHByb2plY3QpOzwvbGk+CgkJCTxsaT5EU0RQIFRhcmdldCBNYW5hZ2VtZW50IChUTSkgZW5oYW5jZW1lbnRzIGluY2x1ZGluZzogCgkJCQk8dWw+CgkJCQkJPGxpPlVzZXItZGVmaW5lZCBhY3Rpb25zIG9uIHJlbW90ZSBzeXN0ZW1zPC9saT4KCQkJCQk8bGk+RnVsbCBFY2xpcHNlIEZpbGUgU3lzdGVtIChFRlMpIHN1cHBvcnQgb24gYWxsIGNvbm5lY3Rpb25zPC9saT4KCQkJCQk8bGk+SW50ZWdyYXRlZCBUZXJtaW5hbCBFbXVsYXRpb248L2xpPgoJCQkJCTxsaT5JbXByb3ZlZCBGbGV4aWJpbGl0eSwgQVBJcyBhbmQgUGxhdGZvcm0gSW50ZWdyYXRpb248L2xpPgoJCQkJPC91bD4KCQkJPC9saT4KCQk8L3VsPgkJCQkKCQk8cD5Pcmdhbml6YXRpb25zIGFscmVhZHkgbGV2ZXJhZ2luZyB0aGUgbmV3ZXIgRFNEUCBwcm9qZWN0cyBmb3IgY29tbWVyY2lhbCBwcm9kdWN0cyBpbmNsdWRlIE1vbnRhVmlzdGEgRGV2Um9ja2V0IDUuMCwgQXRtZWwgQVZSMzIgU3R1ZGlvIDEuMCwgSUJNIExvdHVzIEV4cGVkaXRvciA2LjEsIGFuZCB0aGUgRU1BQyBFY2xpcHNlIERpc3RyaWJ1dGlvbiwgd2l0aCBhZGRpdGlvbmFsIHByb2R1Y3RzIHN1Y2ggYXMgV2luZCBSaXZlciBXb3JrYmVuY2ggMy4wLCBNb3Rvcm9sYSBNT1RPREVWIFN0dWRpbywgVHJhZGVzY2FwZSBDbGVhcmluZyBUb29sLCBRTlggTW9tZW50aWNzLCBhbmQgdGhlIEFDQ0VTUyBMaW51eCBQbGF0Zm9ybSBEZXZlbG9wbWVudCBTdWl0ZSB2Mi4wIGNvbWluZyBsYXRlciB0aGlzIHllYXIuIE90aGVyIGV4YW1wbGVzIG9mIENEVC1iYXNlZCBjb21tZXJjaWFsIG9mZmVyaW5ncyBpbmNsdWRlIEx1bWlub3NpdHkgZnJvbSBMeW51eFdvcmtzLCBRTlggTW9tZW50aWNzLCBXaW5kIFJpdmVyIFdvcmtiZW5jaCwgQUNDRVNTIExpbnV4IFBsYXRmb3JtIERldmVsb3BtZW50IFN1aXRlIGZyb20gQWNjZXNzIFN5c3RlbXMgQW1lcmljYXMsIEVER0UgRGV2ZWxvcGVyIFN0dWRpbyBhbmQgUGxhdGZvcm0gRXhwcmVzcyBmcm9tIE1lbnRvciBHcmFwaGljcywgIGFuZCBUYXUgZnJvbSBUZWxlbG9naWMuPC9wPgoJCTxwPjxzdHJvbmc+QWJvdXQgdGhlIEVjbGlwc2UgRm91bmRhdGlvbjwvc3Ryb25nPjxiciAvPgoJCUVjbGlwc2UgaXMgYW4gb3BlbiBzb3VyY2UgY29tbXVuaXR5IHdob3NlIHByb2plY3RzIGFyZSBmb2N1c2VkIG9uIHByb3ZpZGluZyBhbiBleHRlbnNpYmxlIGRldmVsb3BtZW50IHBsYXRmb3JtIGFuZCBhcHBsaWNhdGlvbiBmcmFtZXdvcmtzIGZvciBidWlsZGluZyBzb2Z0d2FyZS4gRWNsaXBzZSBwcm92aWRlcyBleHRlbnNpYmxlIHRvb2xzIGFuZCBmcmFtZXdvcmtzIHRoYXQgc3BhbiB0aGUgc29mdHdhcmUgZGV2ZWxvcG1lbnQgbGlmZWN5Y2xlLCBpbmNsdWRpbmcgc3VwcG9ydCBmb3IgbW9kZWxpbmcsIGxhbmd1YWdlIGRldmVsb3BtZW50IGVudmlyb25tZW50cyBmb3IgSmF2YSwgQy9DKysgYW5kIG90aGVycywgdGVzdGluZyBhbmQgcGVyZm9ybWFuY2UsIGJ1c2luZXNzIGludGVsbGlnZW5jZSwgcmljaCBjbGllbnQgYXBwbGljYXRpb25zIGFuZCBlbWJlZGRlZCBkZXZlbG9wbWVudC4gQSBsYXJnZSwgdmlicmFudCBlY29zeXN0ZW0gb2YgbWFqb3IgdGVjaG5vbG9neSB2ZW5kb3JzLCBpbm5vdmF0aXZlIHN0YXJ0LXVwcywgdW5pdmVyc2l0aWVzIGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMgYW5kIGluZGl2aWR1YWxzIGV4dGVuZCwgY29tcGxlbWVudCBhbmQgc3VwcG9ydCB0aGUgRWNsaXBzZSBQbGF0Zm9ybS48L3A+CgkJPHA+VGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyBhIG5vdC1mb3ItcHJvZml0LCBtZW1iZXIgc3VwcG9ydGVkIGNvcnBvcmF0aW9uIHRoYXQgaG9zdHMgdGhlIEVjbGlwc2UgcHJvamVjdHMuIEZ1bGwgZGV0YWlscyBvZiBFY2xpcHNlIGFuZCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIGFyZSBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZyI+d3d3LmVjbGlwc2Uub3JnPC9hPi48L3A+CgkJPGJyIC8+CgkJPGNlbnRlcj4jICMgIzwvY2VudGVyPiAKCQk8YnIgLz4KCQlBbGwgY29tcGFueS9wcm9kdWN0IG5hbWVzIGFuZCBzZXJ2aWNlIG1hcmtzIG1heSBiZSB0cmFkZW1hcmtzIG9yIHJlZ2lzdGVyZWQgdHJhZGVtYXJrcyBvZiB0aGVpciByZXNwZWN0aXZlIGNvbXBhbmllcy4KCQk8YnIgLz48YnIgLz48c3Ryb25nPlByZXNzIENvbnRhY3Q8L3N0cm9uZz48YnI+CQoJCUpvaG4gTW9yYW4gb3IgTG9yaSBLcm9sbDxicj4KCQlTY2h3YXJ0eiBDb21tdW5pY2F0aW9uczxicj4KCQk3ODEtNjg0LTA3NzA8YnI+CgkJZWNsaXBzZUBzY2h3YXJ0ei1wci5jb20gPGJyPgoJCTxicj4KCgkJPC9wPgoJCQkJCQkJCgk8L2Rpdj4KCQkKPC9kaXY+CgoKRU9IVE1MOwoKCgkjIEdlbmVyYXRlIHRoZSB3ZWIgcGFnZQoJJEFwcC0+Z2VuZXJhdGVQYWdlKCR0aGVtZSwgJE1lbnUsICROYXYsICRwYWdlQXV0aG9yLCAkcGFnZUtleXdvcmRzLCAkcGFnZVRpdGxlLCAkaHRtbCk7Cj8+Cgo=