LyoKICogQ29weXJpZ2h0IDE5OTkgRXJpYyBQb3VlY2gKICogQ29weXJpZ2h0IDIwMDUgWXVuU29uZyBId2FuZwogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKICovCgpTVFJJTkdUQUJMRSBMQU5HVUFHRSBMQU5HX0tPUkVBTiwgU1VCTEFOR19ORVVUUkFMCkJFR0lOCgovKiBNTVNZUyBlcnJvcnMgKi8KTU1TWVNFUlJfTk9FUlJPUiwgCQkiwfbBpLXIILjtt8nAzCC9x8fgtce++r3AtM+02S4iCk1NU1lTRVJSX0VSUk9SLCAJCSK+y7z2IL74tMIgv9y6ziC/obevLiIKTU1TWVNFUlJfQkFEREVWSUNFSUQsIAkJIsDMIMDlxKFJRLTCILTnvcXAxyC9w726xdsgufzApyC527+hvK0gu+e/67XHsO0gwNa9wLTPtNkuIgpNTVNZU0VSUl9OT1RFTkFCTEVELCAJCSLAzCC15bbzwMy59rTCILChtMnHz8H2IL7KvcC0z7TZLiIKTU1TWVNFUlJfQUxMT0NBVEVELCAJCSLB9sGktcggwOXEobTCIMDMucwgu+e/68HfwNS0z7TZLsDawK+307DUILXJtqex7sH2ILHitNm4rrDtILTZvcMgvcO1tcfPvcq9w7/ALiIKTU1TWVNFUlJfSU5WQUxIQU5ETEUsIAkJIsH2waS1yCDA5cShIMfatenAuiDA+8fVx8/B9iC+yr3AtM+02S4iCk1NU1lTRVJSX05PRFJJVkVSLCAJCSK0573FwMcgvcO9usXbv6G0wiC+7rayILXltvPAzLn2tbUgvLPEobXHvu4gwNbB9iC+yr3AtM+02SAhXG4iCk1NU1lTRVJSX05PTUVNLCAJCSLAzCDA2773wLsgwKfH0SDD5rrQx9EguN648LiusKEgvvi9wLTPtNkux8+zqrOqtPUguLnAuiDHrrHXuLLAuyCzobO7vsa8rSC43rjwuK64piC0w7iusO0gtNm9wyC9w7W1x8+9yr3Dv8AuIgpNTVNZU0VSUl9OT1RTVVBQT1JURUQsIAkJIsDMILHitMnAuiDB9r/4tcfB9iC+yr3AtM+02S4gVXNlIHRoZSBDYXBhYmlsaXRpZXMgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHdoaWNoIGZ1bmN0aW9ucyBhbmQgbWVzc2FnZXMgdGhlIGRyaXZlciBzdXBwb3J0cy4iCk1NU1lTRVJSX0JBREVSUk5VTSwgCQkiwMwgv6G3ryCz0bn2tMIgvcO9usXbv6G8rSDBpMDHtcfB9iC+yr7SvcC0z7TZLiIKTU1TWVNFUlJfSU5WQUxGTEFHLCAJCSLA37j4tcggx8O3obHXtMIgvcO9usXbIMfUvPa/obytILmrvcPH373AtM+02S4iCk1NU1lTRVJSX0lOVkFMUEFSQU0sIAkJIsDfuPi1yCC4xbCzuq+89rTCIL3DvbrF2yDH1Lz2v6G8rSC5q73Dx9+9wLTPtNkuIgoKLyogV0FWRSBlcnJvcnMgKi8KV0FWRVJSX0JBREZPUk1BVCwgCQkiwfbBpLXIIMb3uMvAuiDB9r/4x8/B9iC+yrDFs6ogwPy828fSILz2IL74vcC0z7TZLiDB9r/4x8+0wiDG97jLwLsgsOHBpMfPtMIgsKG0ycfRIMfUvPa4piC757/rx8+9yr3Dv8AiCldBVkVSUl9TVElMTFBMQVlJTkcsIAkJIkNhbm5vdCBwZXJmb3JtIHRoaXMgb3BlcmF0aW9uIHdoaWxlIG1lZGlhIGRhdGEgaXMgc3RpbGwgcGxheWluZy4gUmVzZXQgdGhlIGRldmljZSwgb3Igd2FpdCB1bnRpbCB0aGUgZGF0YSBpcyBmaW5pc2hlZCBwbGF5aW5nLiIKV0FWRVJSX1VOUFJFUEFSRUQsIAkJIlRoZSB3YXZlIGhlYWRlciB3YXMgbm90IHByZXBhcmVkLiBVc2UgdGhlIFByZXBhcmUgZnVuY3Rpb24gdG8gcHJlcGFyZSB0aGUgaGVhZGVyLCBhbmQgdGhlbiB0cnkgYWdhaW4uIgpXQVZFUlJfU1lOQywgCQkJIkNhbm5vdCBvcGVuIHRoZSBkZXZpY2Ugd2l0aG91dCB1c2luZyB0aGUgV0FWRV9BTExPV1NZTkMgZmxhZy4gVXNlIHRoZSBmbGFnLCBhbmQgdGhlbiB0cnkgYWdhaW4uIgoKLyogTUlESSBlcnJvcnMgKi8KTUlESUVSUl9VTlBSRVBBUkVELCAJCSJNSURJIMfstPW0wiDB2LrxtcfB9iC+yr7SvcC0z7TZLiBVc2UgdGhlIFByZXBhcmUgZnVuY3Rpb24gdG8gcHJlcGFyZSB0aGUgaGVhZGVyLCBhbmQgdGhlbiB0cnkgYWdhaW4uIgpNSURJRVJSX1NUSUxMUExBWUlORywgCQkiQ2Fubm90IHBlcmZvcm0gdGhpcyBvcGVyYXRpb24gd2hpbGUgbWVkaWEgZGF0YSBpcyBzdGlsbCBwbGF5aW5nLiBSZXNldCB0aGUgZGV2aWNlLCBvciB3YWl0IHVudGlsIHRoZSBkYXRhIGlzIGZpbmlzaGVkIHBsYXlpbmcuIgpNSURJRVJSX05PTUFQLCAJCQkiTUlESSC4ysC6IMOjwLsgvPYgvvi9wLTPZC4gVGhlcmUgbWF5IGJlIGEgcHJvYmxlbSB3aXRoIHRoZSBkcml2ZXIsIG9yIHRoZSBNSURJTUFQLkNGRyBmaWxlIG1heSBiZSBjb3JydXB0IG9yIG1pc3NpbmcuIgpNSURJRVJSX05PVFJFQURZLCAJCSJUaGUgcG9ydCBpcyB0cmFuc21pdHRpbmcgZGF0YSB0byB0aGUgZGV2aWNlLiBXYWl0IHVudGlsIHRoZSBkYXRhIGhhcyBiZWVuIHRyYW5zbWl0dGVkLCBhbmQgdGhlbiB0cnkgYWdhaW4uIgpNSURJRVJSX05PREVWSUNFLCAJCSJUaGUgY3VycmVudCBNSURJIE1hcHBlciBzZXR1cCByZWZlcnMgdG8gYSBNSURJIGRldmljZSB0aGF0IGlzIG5vdCBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbS4gVXNlIE1JREkgTWFwcGVyIHRvIGVkaXQgdGhlIHNldHVwLiIKTUlESUVSUl9JTlZBTElEU0VUVVAsIAkJIsf2wOcgTUlESSAgvLPBpMC6ILzVu/O1x776vcC0z7TZLiC6u7ehICBNSURJTUFQLkNGRyAgxsTAz8C7IMCptbW/7MHuIFNZU1RFTSC18Le6xeS4rr+hILq5u+fHz7DtLCC02b3DIL3DtbXHz73KvcO/wC4iCgovKiBNQ0kgZXJyb3JzICovCk1DSUVSUl9JTlZBTElEX0RFVklDRV9JRCwgCSLA37j4tcggTUNJIMDlxKEgSUQuICBNQ0kgwOXEobimIL+tILanILndyK/H0SBJRLimILvnv+vHz73KvcO/wC4iCk1DSUVSUl9VTlJFQ09HTklaRURfS0VZV09SRCwgCSLAzCC15bbzwMy59rTCIMH2waS1yCC47bfJILjFsLO6r7z2uKYgwM69xMfSILz2IL74vcC0z7TZLiIKTUNJRVJSX1VOUkVDT0dOSVpFRF9DT01NQU5ELAkiwMwgteW288DMufa0wiDB9sGktcgguO23ycC7IMDOvcTH0iC89iC++L3AtM+02S4iCk1DSUVSUl9IQVJEV0FSRSwgCQkiwMywzcC6ILTnvcXAxyAgucy18L7uIMDlxKEgua7BpsDUtM+02S4gTWFrZSBzdXJlIGl0IGlzIHdvcmtpbmcgY29ycmVjdGx5IG9yIGNvbnRhY3QgdGhlIGRldmljZSBtYW51ZmFjdHVyZXIuIgpNQ0lFUlJfSU5WQUxJRF9ERVZJQ0VfTkFNRSwgCSLB9sGktcggwOXEobTCIL+tvPYgvviwxbOqIE1DSb+hvK0gwM69xCDH0iC89iC++L3AtM+02S4iCk1DSUVSUl9PVVRfT0ZfTUVNT1JZLCAJCSLAzCDA2773wLsgwKfH0SDD5rrQx9EguN648LiusKEgvvi9wLTPtNkuIFxux8+zqrOqILT1ILi5wLogx66x17iywLsgwb634b3DxNG8rSCwobTJx9EguN648LiuuKYgwfWwob3DxbC9w7/ALCCx17iusO0gtNm9wyC9w7W1x8+9w7/ALiIKTUNJRVJSX0RFVklDRV9PUEVOLCAJCSJUaGUgZGV2aWNlIG5hbWUgaXMgYWxyZWFkeSBiZWluZyB1c2VkIGFzIGFuIGFsaWFzIGJ5IHRoaXMgYXBwbGljYXRpb24uIFVzZSBhIHVuaXF1ZSBhbGlhcy4iCk1DSUVSUl9DQU5OT1RfTE9BRF9EUklWRVIsIAkiwMwgwfbBpLXIIMDlxKEgteW288DMufa4piC60revv8C0wiDB37+hILCowfa1x8H2IL7KwLogv6G3r7ChIMDWvcC0z7TZLiIKTUNJRVJSX01JU1NJTkdfQ09NTUFORF9TVFJJTkcsIAkivu62siC47bfJtbUgwaTAx7XHwfYgvsq+0r3AtM+02S4iCk1DSUVSUl9QQVJBTV9PVkVSRkxPVywgCQkiw+K3wiC5rsDav63AuiC53civILn2xtu/oSDDpL/sseK/obTCILPKuasgxa60z7TZLiBJbmNyZWFzZSB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyLiIKTUNJRVJSX01JU1NJTkdfU1RSSU5HX0FSR1VNRU5ULCAiVGhlIHNwZWNpZmllZCBjb21tYW5kIHJlcXVpcmVzIGEgY2hhcmFjdGVyLXN0cmluZyBwYXJhbWV0ZXIuIFBsZWFzZSBwcm92aWRlIG9uZS4iCk1DSUVSUl9CQURfSU5URUdFUiwgCQkiVGhlIHNwZWNpZmllZCBpbnRlZ2VyIGlzIGludmFsaWQgZm9yIHRoaXMgY29tbWFuZC4iCk1DSUVSUl9QQVJTRVJfSU5URVJOQUwsIAkiwMwgwOXEoSC15bbzwMy59rTCIMDfuPi1yCC53civILCqwLsgud3Ir8fPv7S9wLTPtNkuIENoZWNrIHdpdGggdGhlIGRldmljZSBtYW51ZmFjdHVyZXIgYWJvdXQgb2J0YWluaW5nIGEgbmV3IGRyaXZlci4iCk1DSUVSUl9EUklWRVJfSU5URVJOQUwsIAkiwMywzcC6IMDlxKEgteW288DMufYgua7BpsDUtM+02S4gQ2hlY2sgd2l0aCB0aGUgZGV2aWNlIG1hbnVmYWN0dXJlciBhYm91dCBvYnRhaW5pbmcgYSBuZXcgZHJpdmVyLiIKTUNJRVJSX01JU1NJTkdfUEFSQU1FVEVSLCAJIsH2waS1yCC47bfJwLoguMWws7qvvPa4piC/5LG4x9W0z7TZLiC4xbCzuq+89rimIMPfsKHHz73KvcO/wC4iCk1DSUVSUl9VTlNVUFBPUlRFRF9GVU5DVElPTiwgCSJUaGUgTUNJIGRldmljZSB5b3UgYXJlIHVzaW5nIGRvZXMgbm90IHN1cHBvcnQgdGhlIHNwZWNpZmllZCBjb21tYW5kLiIKTUNJRVJSX0ZJTEVfTk9UX0ZPVU5ELCAJCSLB9sGktcggxsTAz8C7IMOjwLsgvPYgvvi9wLTPtNkusOa3zr/NIMbEwM/AzLinwMwgv8O52bilwfYgyK7AzsfPvcq9w7/ALiIKTUNJRVJSX0RFVklDRV9OT1RfUkVBRFksIAkiwOXEoSC15bbzwMy59rTCIMHYuvG1x8H2IL7KvtK9wLTPtNkuIgpNQ0lFUlJfSU5URVJOQUwsIAkJIk1DSSDDyrHiyK29wyC5rsGmsKEgud+7/cffvcC0z7TZLiDAqbW1v+y4piDA573DwNvHz7DtIL3DtbXH2Lq4vLy/5C4iCk1DSUVSUl9EUklWRVIsIAkJCSLAzLDNwLogwOXEoSC15bbzwMy59iC5rsGmwNS0z7TZLiBUaGUgZHJpdmVyIGhhcyBjbG9zZWQuIENhbm5vdCBhY2Nlc3MgZXJyb3IuIgpNQ0lFUlJfQ0FOTk9UX1VTRV9BTEwsIAkJIsH2waS1yCC47bfJwMcgwOXEoSDAzLinwLi3ziAgJ2FsbCfAuiC757/rx9IgvPYgvvi9wLTPtNkuIgpNQ0lFUlJfTVVMVElQTEUsIAkJIsfPs6qzqiC09SC4ucC6IMDlxKG/obytIL+ht68gud+7/S4gU3BlY2lmeSBlYWNoIGNvbW1hbmQgYW5kIGRldmljZSBzZXBhcmF0ZWx5IHRvIGRldGVybWluZSB3aGljaCBkZXZpY2VzIGNhdXNlZCB0aGUgZXJyb3IiCk1DSUVSUl9FWFRFTlNJT05fTk9UX0ZPVU5ELCAJIsHWvu7B+CDGxMDPIMiuwOXA2rfOIMDlxKEgxbjA1MC7ILDhwaTH0iC89iC++L3AtM+02S4iCk1DSUVSUl9PVVRPRlJBTkdFLCAJCSLB9sGktcgguMWws7qvvPa0wiDB9sGktcgguO23ySC5/MCnILnbv6EgwNa9wLTPtNkuIgpNQ0lFUlJfRkxBR1NfTk9UX0NPTVBBVElCTEUsIAkiwfbBpLXIILjFsLO6r7z2tMIgx9SysiC757/rx9IgvPYgvvi9wLTPtNkuIgpNQ0lFUlJfRklMRV9OT1RfU0FWRUQsIAkJIsH2waS1yCDGxMDPwLsgwPrA5cfSILz2IL74vcC0z7TZLiDD5rrQx9EgsPiwo8DMIMDWtMLB9iDIrsDOx8+wxbOqLrO7xq6/9sWpsKEgv6yw4bXHvu7A1rTCwfYgyK7AzsfPvLy/5C4iCk1DSUVSUl9ERVZJQ0VfVFlQRV9SRVFVSVJFRCwgCSLB9sGktcggwOXEobimIMOjwLsgvPYgvvi9wLTPtNkuIE1ha2Ugc3VyZSBpdCBpcyBpbnN0YWxsZWQgb3IgdGhhdCB0aGUgZGV2aWNlIG5hbWUgaXMgc3BlbGxlZCBjb3JyZWN0bHkuIgpNQ0lFUlJfREVWSUNFX0xPQ0tFRCwgCQkiVGhlIHNwZWNpZmllZCBkZXZpY2UgaXMgbm93IGJlaW5nIGNsb3NlZC4gV2FpdCBhIGZldyBzZWNvbmRzLCBhbmQgdGhlbiB0cnkgYWdhaW4uIgpNQ0lFUlJfRFVQTElDQVRFX0FMSUFTLCAJIlRoZSBzcGVjaWZpZWQgYWxpYXMgaXMgYWxyZWFkeSBiZWluZyB1c2VkIGluIHRoaXMgYXBwbGljYXRpb24uIFVzZSBhIHVuaXF1ZSBhbGlhcy4iCk1DSUVSUl9CQURfQ09OU1RBTlQsIAkJIsH2waS1yCC4xbCzuq+89rTCIMDMILjtt8m/oSDA+8fVx8/B9iC+yr3AtM+02S4iCk1DSUVSUl9NVVNUX1VTRV9TSEFSRUFCTEUsIAkiVGhlIGRldmljZSBkcml2ZXIgaXMgYWxyZWFkeSBpbiB1c2UuIFRvIHNoYXJlIGl0LCB1c2UgdGhlICdzaGFyZWFibGUnIHBhcmFtZXRlciB3aXRoIGVhY2ggJ29wZW4nIGNvbW1hbmQuIgpNQ0lFUlJfTUlTU0lOR19ERVZJQ0VfTkFNRSwgCSLB9sGktcgguO23ycC6ILqwuO0sxsTAzyy15bbzwMy59rOqIMDlxKEgwMy4p8C7IMfKv+S3ziDH1bTPtNkuIFBsZWFzZSBzdXBwbHkgb25lLiIKTUNJRVJSX0JBRF9USU1FX0ZPUk1BVCwgCSJUaGUgc3BlY2lmaWVkIHZhbHVlIGZvciB0aGUgdGltZSBmb3JtYXQgaXMgaW52YWxpZC4gUmVmZXIgdG8gdGhlIE1DSSBkb2N1bWVudGF0aW9uIGZvciB2YWxpZCBmb3JtYXRzLiIKTUNJRVJSX05PX0NMT1NJTkdfUVVPVEUsIAkiQSBjbG9zaW5nIGRvdWJsZS1xdW90YXRpb24gbWFyayBpcyBtaXNzaW5nIGZyb20gdGhlIHBhcmFtZXRlciB2YWx1ZS4gUGxlYXNlIHN1cHBseSBvbmUuIgpNQ0lFUlJfRFVQTElDQVRFX0ZMQUdTLCAJIsDMILCqwMcguMWws7qvvPa0wiC1zrn4IMH2waS1x776vcC0z7TZLiBPbmx5IHNwZWNpZnkgaXQgb25jZS4iCk1DSUVSUl9JTlZBTElEX0ZJTEUsIAkJIsDMIMH2waS1yCDGxMDPwLogwfbBpLXIIE1DScDlxKG/obytIMDnu/0gx9IgvPYgvvi9wLTPtNkuIFRoZSBmaWxlIG1heSBiZSBjb3JydXB0LCBvciBub3QgaW4gdGhlIGNvcnJlY3QgZm9ybWF0LiIKTUNJRVJSX05VTExfUEFSQU1FVEVSX0JMT0NLLCAJIsDMILrzILjFsLO6r7z2ILrtt7DAuiBNQ0m/obytILmrvcO1x776vcC0z7TZLiIKTUNJRVJSX1VOTkFNRURfUkVTT1VSQ0UsIAkiwMy4p774tMIgxsTAz8C7IMD6wOXH0iC89iC++L3AtM+02S4gxsTAzyDAzLinwLsgwfbBpMfPvcq9w7/ALiIKTUNJRVJSX05FV19SRVFVSVJFU19BTElBUywgCSJZb3UgbXVzdCBzcGVjaWZ5IGFuIGFsaWFzIHdoZW4gdXNpbmcgdGhlICduZXcnIHBhcmFtZXRlci4iCk1DSUVSUl9OT1RJRllfT05fQVVUT19PUEVOLCAJIidub3RpZnknIMfDt6Gx17TCIMDatb/AuLfOIL+tuLAgwOXEob+hILvnv+vH0iC89iC++L3AtM+02S4iCk1DSUVSUl9OT19FTEVNRU5UX0FMTE9XRUQsIAkiwfbBpLXIIMDlxKHHz7DtIMbEwM/AzLinwLogsLDAzCC757/rx9IgvPYgvvi9wLTPtNkuIgpNQ0lFUlJfTk9OQVBQTElDQUJMRV9GVU5DVElPTiwgCSJDYW5ub3QgY2Fycnkgb3V0IHRoZSBjb21tYW5kcyBpbiB0aGUgb3JkZXIgc3BlY2lmaWVkLiBDb3JyZWN0IHRoZSBjb21tYW5kIHNlcXVlbmNlLCBhbmQgdGhlbiB0cnkgYWdhaW4uIgpNQ0lFUlJfSUxMRUdBTF9GT1JfQVVUT19PUEVOLCAJIsH2waS1yCC47bfJwLsgwNq1v8C4t84gv624sCDA5cShv6EgurizviC89iC++L3AtM+02S4gwOXEobChILTdyPex4rimILHitNm4rrDtILTZvcMgvcO1tcfPvcq9w7/ALiIKTUNJRVJSX0ZJTEVOQU1FX1JFUVVJUkVELCAJIsDMIMbEwM/AzLinwLogv8O52bijwfYgvsq9wLTPtNkuIE1ha2Ugc3VyZSB0aGUgZmlsZW5hbWUgaXMgbm90IGxvbmdlciB0aGFuIDggY2hhcmFjdGVycywgZm9sbG93ZWQgYnkgYSBwZXJpb2QgYW5kIGFuIGV4dGVuc2lvbi4iCk1DSUVSUl9FWFRSQV9DSEFSQUNURVJTLCAJIkNhbm5vdCBzcGVjaWZ5IGV4dHJhIGNoYXJhY3RlcnMgYWZ0ZXIgYSBzdHJpbmcgZW5jbG9zZWQgaW4gcXVvdGF0aW9uIG1hcmtzLiIKTUNJRVJSX0RFVklDRV9OT1RfSU5TVEFMTEVELCAJIlRoZSBzcGVjaWZpZWQgZGV2aWNlIGlzIG5vdCBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbS4gVXNlIHRoZSBEcml2ZXJzIG9wdGlvbiBpbiBDb250cm9sIFBhbmVsIHRvIGluc3RhbGwgdGhlIGRldmljZS4iCk1DSUVSUl9HRVRfQ0QsIAkJCSLB9sGktcggxsTAz8DMs6ogTUNJIMDlxKG/oSDBorHZx9IgvPYgvvi9wLTPtNkuICC18Le6xeS4rrimILnZstmwxbOqIMTEx7vFzbimIMDnvcPA28fPvcq9w7/ALiIKTUNJRVJSX1NFVF9DRCwgCQkJIseusde4ssDMILXwt7rF5LiuuKYgudmy3CC89iC++LHiILanua6/oSDB9sGktcggxq/BpMfRIMbEwM/AzLOqIE1DScDlxKG/oSDBorHZx9IgvPYgvvi9wLTPtNkuIgpNQ0lFUlJfU0VUX0RSSVZFLCAJCSLHrrHXuLLAzCC18Le6xeS4rrimILnZstwgvPYgvvix4iC2p7muv6EgwfbBpMfRIMbEwM/AzLOqIE1DScDlxKG/oSDBorHZx9IgvPYgvvi9wLTPtNkuIgpNQ0lFUlJfREVWSUNFX0xFTkdUSCwgCQkiNznA2rq4tNkgwPuw1CDA5cShs6ogteW288DMufYgwMy4p8C7IMH2waTHz73KvcO/wC4iCk1DSUVSUl9ERVZJQ0VfT1JEX0xFTkdUSCwgCSI2OcDauri02SDA+7DUIMDlxKGzqiC15bbzwMy59iDAzLinwLsgwfbBpMfPvcq9w7/ALiIKTUNJRVJSX05PX0lOVEVHRVIsIAkJIlRoZSBzcGVjaWZpZWQgY29tbWFuZCByZXF1aXJlcyBhbiBpbnRlZ2VyIHBhcmFtZXRlci4gUGxlYXNlIHByb3ZpZGUgb25lLiIKTUNJRVJSX1dBVkVfT1VUUFVUU0lOVVNFLCAJIkFsbCB3YXZlIGRldmljZXMgdGhhdCBjYW4gcGxheSBmaWxlcyBpbiB0aGUgY3VycmVudCBmb3JtYXQgYXJlIGluIHVzZS4gV2FpdCB1bnRpbCBhIHdhdmUgZGV2aWNlIGlzIGZyZWUsIGFuZCB0aGVuIHRyeSBhZ2Fpbi4iCk1DSUVSUl9XQVZFX1NFVE9VVFBVVElOVVNFLCAJIkNhbm5vdCBzZXQgdGhlIGN1cnJlbnQgd2F2ZSBkZXZpY2UgZm9yIHBsYXkgYmFjayBiZWNhdXNlIGl0IGlzIGluIHVzZS4gV2FpdCB1bnRpbCB0aGUgZGV2aWNlIGlzIGZyZWUsIGFuZCB0aGVuIHRyeSBhZ2Fpbi4iCk1DSUVSUl9XQVZFX0lOUFVUU0lOVVNFLCAJIkFsbCB3YXZlIGRldmljZXMgdGhhdCBjYW4gcmVjb3JkIGZpbGVzIGluIHRoZSBjdXJyZW50IGZvcm1hdCBhcmUgaW4gdXNlLiBXYWl0IHVudGlsIGEgd2F2ZSBkZXZpY2UgaXMgZnJlZSwgYW5kIHRoZW4gdHJ5IGFnYWluLiIKTUNJRVJSX1dBVkVfU0VUSU5QVVRJTlVTRSwgCSJDYW5ub3Qgc2V0IHRoZSBjdXJyZW50IHdhdmUgZGV2aWNlIGZvciByZWNvcmRpbmcgYmVjYXVzZSBpdCBpcyBpbiB1c2UuIFdhaXQgdW50aWwgdGhlIGRldmljZSBpcyBmcmVlLCBhbmQgdGhlbiB0cnkgYWdhaW4uIgpNQ0lFUlJfV0FWRV9PVVRQVVRVTlNQRUNJRklFRCwJIkFueSBjb21wYXRpYmxlIHdhdmVmb3JtIHBsYXliYWNrIGRldmljZSBtYXkgYmUgdXNlZC4iCk1DSUVSUl9XQVZFX0lOUFVUVU5TUEVDSUZJRUQsIAkiQW55IGNvbXBhdGlibGUgd2F2ZWZvcm0gcmVjb3JkaW5nIGRldmljZSBtYXkgYmUgdXNlZC4iCk1DSUVSUl9XQVZFX09VVFBVVFNVTlNVSVRBQkxFLCAJIk5vIHdhdmUgZGV2aWNlIHRoYXQgY2FuIHBsYXkgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZm9ybWF0IGlzIGluc3RhbGxlZC4gVXNlIHRoZSBEcml2ZXJzIG9wdGlvbiB0byBpbnN0YWxsIHRoZSB3YXZlIGRldmljZS4iCk1DSUVSUl9XQVZFX1NFVE9VVFBVVFVOU1VJVEFCTEUsIlRoZSBkZXZpY2UgeW91IGFyZSB0cnlpbmcgdG8gcGxheSB0byBjYW5ub3QgcmVjb2duaXplIHRoZSBjdXJyZW50IGZpbGUgZm9ybWF0LiIKTUNJRVJSX1dBVkVfSU5QVVRTVU5TVUlUQUJMRSwgCSJObyB3YXZlIGRldmljZSB0aGF0IGNhbiByZWNvcmQgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZm9ybWF0IGlzIGluc3RhbGxlZC4gVXNlIHRoZSBEcml2ZXJzIG9wdGlvbiB0byBpbnN0YWxsIHRoZSB3YXZlIGRldmljZS4iCk1DSUVSUl9XQVZFX1NFVElOUFVUVU5TVUlUQUJMRSwgIlRoZSBkZXZpY2UgeW91IGFyZSB0cnlpbmcgdG8gcmVjb3JkIGZyb20gY2Fubm90IHJlY29nbml6ZSB0aGUgY3VycmVudCBmaWxlIGZvcm1hdC4iCk1DSUVSUl9OT19XSU5ET1csIAkJIr7utrIgtfC9usfDt7nAzCDDorW1IL74vcC0z7TZLiIKTUNJRVJSX0NSRUFURVdJTkRPVywgCQkiw6LAuyC757/rx8+wxbOqILi4tekgvPYgvvi9wLTPtNkuIgpNQ0lFUlJfRklMRV9SRUFELCAJCSLB9sGktcggxsTAz8C7IMDQwLsgvPYgvvi9wLTPtNkuIMbEwM/AzCDBuMDnx8+0wsH2IMiuwM7Hz7DFs6ostOe9xcDHILXwvbrFqbOqILPXxq6/9sauIL+ssOG4piDDvMWpx9i6uL3KvcO/wC4iCk1DSUVSUl9GSUxFX1dSSVRFLCAJCSLB9sGktcggxsTAz7+hILHit8/H0iC89iC++L3AtM+02S4gTWFrZSBzdXJlIHlvdSBoYXZlIGVub3VnaCBkaXNrIHNwYWNlIG9yIGFyZSBzdGlsbCBjb25uZWN0ZWQgdG8gdGhlIG5ldHdvcmsuIgpNQ0lFUlJfU0VRX0RJVl9JTkNPTVBBVElCTEUsIAkiVGhlIHRpbWUgZm9ybWF0cyBvZiB0aGUgIiJzb25nIHBvaW50ZXIiIiBhbmQgU01QVEUgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gWW91IGNhbid0IHVzZSB0aGVtIHRvZ2V0aGVyLiIKTUNJRVJSX1NFUV9OT01JRElQUkVTRU5ULCAJIsDMIL3DvbrF27+htMIgvLPEobXIIE1JREkgwOXEobChIL74vcC0z7TZLiBVc2UgdGhlIERyaXZlcnMgb3B0aW9uIGZyb20gdGhlIENvbnRyb2wgUGFuZWwgdG8gaW5zdGFsbCBhIE1JREkgZHJpdmVyLiIKTUNJRVJSX1NFUV9QT1JUX0lOVVNFLCAJCSLB9sGktcggTUlESSAgxvfGrrTCIMDMucwgu+e/68HfwNS0z7TZLsDawK+307DUILXJILanse7B9iCx4rTZuK6w7SC02b3DIL3DtbXHz73KvcO/wC4iCk1DSUVSUl9TRVFfUE9SVF9NQVBOT0RFVklDRSwgCSJUaGUgY3VycmVudCBNSURJIE1hcHBlciBzZXR1cCByZWZlcnMgdG8gYSBNSURJIGRldmljZSB0aGF0IGlzIG5vdCBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbS4gVXNlIHRoZSBNSURJIE1hcHBlciBvcHRpb24gZnJvbSB0aGUgQ29udHJvbCBQYW5lbCB0byBlZGl0IHRoZSBzZXR1cC4iCk1DSUVSUl9TRVFfUE9SVF9NSVNDRVJST1IsIAkiwfbBpLXIIMb3xq6/oSC/obevsKEgud+7/cffvcC0z7TZLiIKTUNJRVJSX1NFUV9QT1JUX05PTkVYSVNURU5ULCAJIsH2waS1yCBNSURJIMDlxKG0wiC9w726xdu/oSC8s8Shtce+7iDA1sH2IL7KvcC0z7TZLiDBpr7uxse/obytIMDlxKEgv8m8x8C7ILvnv+vH2LytIE1JREkgwOXEobimILyzxKHHz73KvcO/wC4iCk1DSUVSUl9TRVFfUE9SVFVOU1BFQ0lGSUVELCAJIsDMIL3DvbrF28C6IMf2wOcgv62wxbXIIE1JREnG98auuKYgsKHB9rDtIMDWwfYgvsq9wLTPtNkuIgpNQ0lFUlJfU0VRX1RJTUVSLCAJCSK48LXnILjWxry5zLXwvu4gxbjAzLjTtMIgtNm4pSDHrrHXuLK/oSDAx8fYILvnv+vB38DUtM+02S4gw9a80sfRIMfPs6rAxyDHrrHXuLLAuyCzobO7sO0gtNm9wyC9w7W1x8+9yr3Dv8AuIgoKRU5ECg==