CuEFChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKj8KBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASDQoJT0tfU1RBVFVTEAESEAoMRVJST1JfU1RBVFVTEAIqPwoITG9nTGV2ZWwSCQoFVFJBQ0UQABIJCgVERUJVRxABEggKBElORk8QAhIICgRXQVJOEAMSCQoFRVJST1IQBEI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK/wMKBhIEAAAUAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMClQKAgUAEgQHAAsBMkggQ29tbW9uIHN0cnVjdHVyZXMgdXNlZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBEZXZpY2UgTWFuYWdlbWVudCBzZXJ2aWNlcwoKCgoDBQABEgMHBQsKCwoEBQACABIDCAQZCgwKBQUAAgABEgMIBBQKDAoFBQACAAISAwgXGAoLCgQFAAIBEgMJBBIKDAoFBQACAQESAwkEDQoMCgUFAAIBAhIDCRARCgsKBAUAAgISAwoEFQoMCgUFAAICARIDCgQQCgwKBQUAAgICEgMKExQKFgoCBQESBA4AFAEaCkxvZyBMZXZlbAoKCgoDBQEBEgMOBQ0KCwoEBQECABIDDwQOCgwKBQUBAgABEgMPBAkKDAoFBQECAAISAw8MDQoLCgQFAQIBEgMQBA4KDAoFBQECAQESAxAECQoMCgUFAQIBAhIDEAwNCgsKBAUBAgISAxEEDgoMCgUFAQICARIDEQQICgwKBQUBAgICEgMRDA0KCwoEBQECAxIDEgQOCgwKBQUBAgMBEgMSBAgKDAoFBQECAwISAxIMDQoLCgQFAQIEEgMTBA4KDAoFBQECBAESAxMECQoMCgUFAQIEAhIDEwwNYgZwcm90bzMK8i8KH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI7CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIOVGltZXN0YW1wUHJvdG9QAVorZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL3RpbWVzdGFtcPgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r4LQoHEgUeAIgBAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAHwoJCgIIHxIDIwAfCggKAQgSAyQAQgoJCgIICxIDJABCCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYALwoJCgIICBIDJgAvCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCvEbCgIEABIFfACIAQEa4xsgQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gY3VycmVudCB0aW1lIGluIFB5dGhvbi4KCiAgICAgdGltZXN0YW1wID0gVGltZXN0YW1wKCkKICAgICB0aW1lc3RhbXAuR2V0Q3VycmVudFRpbWUoKQoKICMgSlNPTiBNYXBwaW5nCgogSW4gSlNPTiBmb3JtYXQsIHRoZSBUaW1lc3RhbXAgdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIGluIHRoZQogW1JGQyAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGZvcm1hdC4gVGhhdCBpcywgdGhlCiBmb3JtYXQgaXMgInt5ZWFyfS17bW9udGh9LXtkYXl9VHtob3VyfTp7bWlufTp7c2VjfVsue2ZyYWNfc2VjfV1aIgogd2hlcmUge3llYXJ9IGlzIGFsd2F5cyBleHByZXNzZWQgdXNpbmcgZm91ciBkaWdpdHMgd2hpbGUge21vbnRofSwge2RheX0sCiB7aG91cn0sIHttaW59LCBhbmQge3NlY30gYXJlIHplcm8tcGFkZGVkIHRvIHR3byBkaWdpdHMgZWFjaC4gVGhlIGZyYWN0aW9uYWwKIHNlY29uZHMsIHdoaWNoIGNhbiBnbyB1cCB0byA5IGRpZ2l0cyAoaS5lLiB1cCB0byAxIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiksCiBhcmUgb3B0aW9uYWwuIFRoZSAiWiIgc3VmZml4IGluZGljYXRlcyB0aGUgdGltZXpvbmUgKCJVVEMiKTsgdGhlIHRpbWV6b25lCiBpcyByZXF1aXJlZC4gQSBwcm90bzMgSlNPTiBzZXJpYWxpemVyIHNob3VsZCBhbHdheXMgdXNlIFVUQyAoYXMgaW5kaWNhdGVkIGJ5CiAiWiIpIHdoZW4gcHJpbnRpbmcgdGhlIFRpbWVzdGFtcCB0eXBlIGFuZCBhIHByb3RvMyBKU09OIHBhcnNlciBzaG91bGQgYmUKIGFibGUgdG8gYWNjZXB0IGJvdGggVVRDIGFuZCBvdGhlciB0aW1lem9uZXMgKGFzIGluZGljYXRlZCBieSBhbiBvZmZzZXQpLgoKIEZvciBleGFtcGxlLCAiMjAxNy0wMS0xNVQwMTozMDoxNS4wMVoiIGVuY29kZXMgMTUuMDEgc2Vjb25kcyBwYXN0CiAwMTozMCBVVEMgb24gSmFudWFyeSAxNSwgMjAxNy4KCiBJbiBKYXZhU2NyaXB0LCBvbmUgY2FuIGNvbnZlcnQgYSBEYXRlIG9iamVjdCB0byB0aGlzIGZvcm1hdCB1c2luZyB0aGUKIHN0YW5kYXJkIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcgW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkKIHdpdGggdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUKIGNhbiB1c2UgdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL3d3dy5qb2RhLm9yZy9qb2RhLXRpbWUvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lJTJEJTJECiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoKCgoDBAABEgN8CBEKnQEKBAQAAgASBIEBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg4KBQQAAgAEEgWBAQJ8EwoNCgUEAAIABRIEgQECBwoNCgUEAAIAARIEgQEIDwoNCgUEAAIAAxIEgQESEwrlAQoEBAACARIEhwECEhrWASBOb24tbmVnYXRpdmUgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gTmVnYXRpdmUKIHNlY29uZCB2YWx1ZXMgd2l0aCBmcmFjdGlvbnMgbXVzdCBzdGlsbCBoYXZlIG5vbi1uZWdhdGl2ZSBuYW5vcyB2YWx1ZXMKIHRoYXQgY291bnQgZm9yd2FyZCBpbiB0aW1lLiBNdXN0IGJlIGZyb20gMCB0byA5OTksOTk5LDk5OQogaW5jbHVzaXZlLgoKDwoFBAACAQQSBocBAoEBFAoNCgUEAAIBBRIEhwECBwoNCgUEAAIBARIEhwEIDQoNCgUEAAIBAxIEhwEQEWIGcHJvdG8zCujIAQoMZG1pL2h3LnByb3RvEgNkbWkaH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8iGgoEVXVpZBISCgR1dWlkGAEgASgJUgR1dWlkIisKCkhhcmR3YXJlSUQSHQoEdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgR1dWlkIhcKA1VyaRIQCgN1cmkYASABKAlSA3VyaSKEAwoOQ29tcG9uZW50U3RhdGUSSAoSc3RhdGVfbGFzdF9jaGFuZ2VkGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIQc3RhdGVMYXN0Q2hhbmdlZBI5CgthZG1pbl9zdGF0ZRgCIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgphZG1pblN0YXRlEjYKCm9wZXJfc3RhdGUYAyABKA4yFy5kbWkuQ29tcG9uZW50T3BlclN0YXRlUglvcGVyU3RhdGUSOQoLdXNhZ2Vfc3RhdGUYBCABKA4yGC5kbWkuQ29tcG9uZW50VXNhZ2VTdGF0ZVIKdXNhZ2VTdGF0ZRI5CgthbGFybV9zdGF0ZRgFIAEoDjIYLmRtaS5Db21wb25lbnRBbGFybVN0YXRlUgphbGFybVN0YXRlEj8KDXN0YW5kYnlfc3RhdGUYBiABKA4yGi5kbWkuQ29tcG9uZW50U3RhbmRieVN0YXRlUgxzdGFuZGJ5U3RhdGUi6wIKE0NvbXBvbmVudFNlbnNvckRhdGESFAoFdmFsdWUYASABKAVSBXZhbHVlEiYKBHR5cGUYAiABKA4yEi5kbWkuRGF0YVZhbHVlVHlwZVIEdHlwZRIlCgVzY2FsZRgDIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUgVzY2FsZRIcCglwcmVjaXNpb24YBCABKAVSCXByZWNpc2lvbhIpCgZzdGF0dXMYBSABKA4yES5kbWkuU2Vuc29yU3RhdHVzUgZzdGF0dXMSIwoNdW5pdHNfZGlzcGxheRgGIAEoCVIMdW5pdHNEaXNwbGF5EjgKCXRpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBIqChF2YWx1ZV91cGRhdGVfcmF0ZRgIIAEoDVIPdmFsdWVVcGRhdGVSYXRlEhsKCWRhdGFfdHlwZRgJIAEoCVIIZGF0YVR5cGUi7wYKF1BvcnRDb21wb25lbnRBdHRyaWJ1dGVzElEKDmNvbm5lY3Rvcl90eXBlGAEgASgOMiouZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLkNvbm5lY3RvclR5cGVSDWNvbm5lY3RvclR5cGUSOAoFc3BlZWQYAiABKA4yIi5kbWkuUG9ydENvbXBvbmVudEF0dHJpYnV0ZXMuU3BlZWRSBXNwZWVkEkEKCHByb3RvY29sGAMgASgOMiUuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLlByb3RvY29sUghwcm90b2NvbBIlCg5waHlzaWNhbF9sYWJlbBgEIAEoCVINcGh5c2ljYWxMYWJlbBIjCg1tYXBwaW5nX2xhYmVsGAUgASgJUgxtYXBwaW5nTGFiZWwSNAoNcG9uX2lkX2NvbmZpZxgGIAEoCzIQLmRtaS5Qb25JZENvbmZpZ1ILcG9uSWRDb25maWcSMwoVc3BlZWRfYXV0b25lZ290aWF0aW9uGAcgASgIUhRzcGVlZEF1dG9uZWdvdGlhdGlvbhIsCghkaXN0YW5jZRgIIAEoCzIQLmRtaS5Qb25EaXN0YW5jZVIIZGlzdGFuY2UicAoNQ29ubmVjdG9yVHlwZRIcChhDT05ORUNUT1JfVFlQRV9VTkRFRklORUQQABIICgRSSjQ1EAESDAoIRklCRVJfTEMQAhIPCgtGSUJFUl9TQ19QQxADEg0KCUZJQkVSX01QTxAEEgkKBVJTMjMyEAUirgEKBVNwZWVkEhMKD1NQRUVEX1VOREVGSU5FRBAAEgsKB0RZTkFNSUMQARINCglHSUdBQklUXzEQAhIOCgpHSUdBQklUXzEwEAMSDgoKR0lHQUJJVF8yNRAEEg4KCkdJR0FCSVRfNDAQBRIPCgtHSUdBQklUXzEwMBAGEg8KC0dJR0FCSVRfNDAwEAcSEAoMTUVHQUJJVF8yNTAwEAgSEAoMTUVHQUJJVF8xMjUwEAkifAoIUHJvdG9jb2wSFgoSUFJPVE9DT0xfVU5ERUZJTkVEEAASDAoIRVRIRVJORVQQARIICgRHUE9OEAISCQoFWEdQT04QAxIKCgZYR1NQT04QBBIJCgVHRkFTVBAFEgoKBlNFUklBTBAGEggKBEVQT04QBxIICgRCSVRTEAgibAoLUG9uRGlzdGFuY2USIQoMbWF4X2Rpc3RhbmNlGAEgASgNUgttYXhEaXN0YW5jZRI6ChltYXhfZGlmZmVyZW50aWFsX2Rpc3RhbmNlGAIgASgNUhdtYXhEaWZmZXJlbnRpYWxEaXN0YW5jZSKDAQodUG9ydENvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXMSNAoNcG9uX2lkX2NvbmZpZxgBIAEoCzIQLmRtaS5Qb25JZENvbmZpZ1ILcG9uSWRDb25maWcSLAoIZGlzdGFuY2UYAiABKAsyEC5kbWkuUG9uRGlzdGFuY2VSCGRpc3RhbmNlIlsKJFRyYW5zY2VpdmVyQ29tcG9uZW50Q2hhbmdlQXR0cmlidXRlcxIzCgp0cmFuc190eXBlGAEgASgOMhQuZG1pLlRyYW5zY2VpdmVyVHlwZVIJdHJhbnNUeXBlImMKC1BvbklkQ29uZmlnEhUKBnBvbl9pZBgBIAEoDFIFcG9uSWQSPQobcG9uX2lkX3RyYW5zbWl0X3BlcmlvZGljaXR5GAIgASgNUhhwb25JZFRyYW5zbWl0UGVyaW9kaWNpdHkiRQocQ29udGFpbmVyQ29tcG9uZW50QXR0cmlidXRlcxIlCg5waHlzaWNhbF9sYWJlbBgBIAEoCVINcGh5c2ljYWxMYWJlbCLFAQoWUHN1Q29tcG9uZW50QXR0cmlidXRlcxJZChFzdXBwb3J0ZWRfdm9sdGFnZRgBIAEoDjIsLmRtaS5Qc3VDb21wb25lbnRBdHRyaWJ1dGVzLlN1cHBvcnRlZFZvbHRhZ2VSEHN1cHBvcnRlZFZvbHRhZ2UiUAoQU3VwcG9ydGVkVm9sdGFnZRIfChtTVVBQT1JURURfVk9MVEFHRV9VTkRFRklORUQQABIHCgNWNDgQARIICgRWMjMwEAISCAoEVjExNRADIrIFCh9UcmFuc2NlaXZlckNvbXBvbmVudHNBdHRyaWJ1dGVzElAKC2Zvcm1fZmFjdG9yGAEgASgOMi8uZG1pLlRyYW5zY2VpdmVyQ29tcG9uZW50c0F0dHJpYnV0ZXMuRm9ybUZhY3RvclIKZm9ybUZhY3RvchIzCgp0cmFuc190eXBlGAIgASgOMhQuZG1pLlRyYW5zY2VpdmVyVHlwZVIJdHJhbnNUeXBlEiEKDG1heF9kaXN0YW5jZRgDIAEoDVILbWF4RGlzdGFuY2USPQoSbWF4X2Rpc3RhbmNlX3NjYWxlGAQgASgOMg8uZG1pLlZhbHVlU2NhbGVSEG1heERpc3RhbmNlU2NhbGUSIwoNcnhfd2F2ZWxlbmd0aBgFIAMoDVIMcnhXYXZlbGVuZ3RoEiMKDXR4X3dhdmVsZW5ndGgYBiADKA1SDHR4V2F2ZWxlbmd0aBI6ChB3YXZlbGVuZ3RoX3NjYWxlGAcgASgOMg8uZG1pLlZhbHVlU2NhbGVSD3dhdmVsZW5ndGhTY2FsZRIZCgh0eF9wb3dlchgIIAMoBVIHdHhQb3dlchI1Cg50eF9wb3dlcl9zY2FsZRgJIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUgx0eFBvd2VyU2NhbGUizQEKCkZvcm1GYWN0b3ISFwoTRk9STV9GQUNUT1JfVU5LTk9XThAAEggKBFFTRlAQARINCglRU0ZQX1BMVVMQAhIKCgZRU0ZQMjgQAxIHCgNTRlAQBBIMCghTRlBfUExVUxAFEgcKA1hGUBAGEggKBENGUDQQBxIICgRDRlAyEAgSCAoEQ1BBSxAJEgYKAlgyEAoSCQoFT1RIRVIQCxIHCgNDRlAQDBIMCghDRlAyX0FDTxANEgwKCENGUDJfRENPEA4SCwoHUVNGUF9ERBAPItkHCglDb21wb25lbnQSEgoEbmFtZRgBIAEoCVIEbmFtZRIoCgVjbGFzcxgCIAEoDjISLmRtaS5Db21wb25lbnRUeXBlUgVjbGFzcxIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SFgoGcGFyZW50GAQgASgJUgZwYXJlbnQSJAoOcGFyZW50X3JlbF9wb3MYBSABKAVSDHBhcmVudFJlbFBvcxIqCghjaGlsZHJlbhgGIAMoCzIOLmRtaS5Db21wb25lbnRSCGNoaWxkcmVuEiEKDGhhcmR3YXJlX3JldhgHIAEoCVILaGFyZHdhcmVSZXYSIQoMZmlybXdhcmVfcmV2GAggASgJUgtmaXJtd2FyZVJldhIhCgxzb2Z0d2FyZV9yZXYYCSABKAlSC3NvZnR3YXJlUmV2Eh0KCnNlcmlhbF9udW0YCiABKAlSCXNlcmlhbE51bRIZCghtZmdfbmFtZRgLIAEoCVIHbWZnTmFtZRIdCgptb2RlbF9uYW1lGAwgASgJUgltb2RlbE5hbWUSFAoFYWxpYXMYDSABKAlSBWFsaWFzEhkKCGFzc2V0X2lkGA4gASgJUgdhc3NldElkEhUKBmlzX2ZydRgPIAEoCFIFaXNGcnUSNQoIbWZnX2RhdGUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgdtZmdEYXRlEhoKA3VyaRgRIAEoCzIILmRtaS5VcmlSA3VyaRIdCgR1dWlkGBIgASgLMgkuZG1pLlV1aWRSBHV1aWQSKQoFc3RhdGUYEyABKAsyEy5kbWkuQ29tcG9uZW50U3RhdGVSBXN0YXRlEjkKC3NlbnNvcl9kYXRhGBQgAygLMhguZG1pLkNvbXBvbmVudFNlbnNvckRhdGFSCnNlbnNvckRhdGESOwoJcG9ydF9hdHRyGDIgASgLMhwuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzSABSCHBvcnRBdHRyEkoKDmNvbnRhaW5lcl9hdHRyGDMgASgLMiEuZG1pLkNvbnRhaW5lckNvbXBvbmVudEF0dHJpYnV0ZXNIAFINY29udGFpbmVyQXR0chI4Cghwc3VfYXR0chg0IAEoCzIbLmRtaS5Qc3VDb21wb25lbnRBdHRyaWJ1dGVzSABSB3BzdUF0dHISUQoQdHJhbnNjZWl2ZXJfYXR0chg1IAEoCzIkLmRtaS5UcmFuc2NlaXZlckNvbXBvbmVudHNBdHRyaWJ1dGVzSABSD3RyYW5zY2VpdmVyQXR0ckIKCghzcGVjaWZpYyKoAQoISGFyZHdhcmUSOwoLbGFzdF9jaGFuZ2UYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgpsYXN0Q2hhbmdlEiIKBHJvb3QYAiABKAsyDi5kbWkuQ29tcG9uZW50UgRyb290EjsKC2xhc3RfYm9vdGVkGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKbGFzdEJvb3RlZCLAAwoTTW9kaWZpYWJsZUNvbXBvbmVudBISCgRuYW1lGAEgASgJUgRuYW1lEigKBWNsYXNzGAIgASgOMhIuZG1pLkNvbXBvbmVudFR5cGVSBWNsYXNzEiYKBnBhcmVudBgDIAEoCzIOLmRtaS5Db21wb25lbnRSBnBhcmVudBIkCg5wYXJlbnRfcmVsX3BvcxgEIAEoBVIMcGFyZW50UmVsUG9zEhQKBWFsaWFzGAUgASgJUgVhbGlhcxIZCghhc3NldF9pZBgGIAEoCVIHYXNzZXRJZBIaCgN1cmkYByABKAsyCC5kbWkuVXJpUgN1cmkSOQoLYWRtaW5fc3RhdGUYCCABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIKYWRtaW5TdGF0ZRJBCglwb3J0X2F0dHIYMiABKAsyIi5kbWkuUG9ydENvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXNIAFIIcG9ydEF0dHISRgoIdHJ4X2F0dHIYMyABKAsyKS5kbWkuVHJhbnNjZWl2ZXJDb21wb25lbnRDaGFuZ2VBdHRyaWJ1dGVzSABSB3RyeEF0dHJCCgoIc3BlY2lmaWMqtAMKDUNvbXBvbmVudFR5cGUSHAoYQ09NUE9ORU5UX1RZUEVfVU5ERUZJTkVEEAASGgoWQ09NUE9ORU5UX1RZUEVfVU5LTk9XThABEhoKFkNPTVBPTkVOVF9UWVBFX0NIQVNTSVMQAhIcChhDT01QT05FTlRfVFlQRV9CQUNLUExBTkUQAxIcChhDT01QT05FTlRfVFlQRV9DT05UQUlORVIQBBIfChtDT01QT05FTlRfVFlQRV9QT1dFUl9TVVBQTFkQBRIWChJDT01QT05FTlRfVFlQRV9GQU4QBhIZChVDT01QT05FTlRfVFlQRV9TRU5TT1IQBxIZChVDT01QT05FTlRfVFlQRV9NT0RVTEUQCBIXChNDT01QT05FTlRfVFlQRV9QT1JUEAkSFgoSQ09NUE9ORU5UX1RZUEVfQ1BVEAoSGgoWQ09NUE9ORU5UX1RZUEVfQkFUVEVSWRALEhoKFkNPTVBPTkVOVF9UWVBFX1NUT1JBR0UQDBIZChVDT01QT05FTlRfVFlQRV9NRU1PUlkQDRIeChpDT01QT05FTlRfVFlQRV9UUkFOU0NFSVZFUhAOKvMBChNDb21wb25lbnRBZG1pblN0YXRlEh4KGkNPTVBfQURNSU5fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BRE1JTl9TVEFURV9VTktOT1dOEAESGwoXQ09NUF9BRE1JTl9TVEFURV9MT0NLRUQQAhIiCh5DT01QX0FETUlOX1NUQVRFX1NIVVRUSU5HX0RPV04QAxIdChlDT01QX0FETUlOX1NUQVRFX1VOTE9DS0VEEAQSHQoZQ09NUF9BRE1JTl9TVEFURV9JU09MQVRFRBAGEh8KG0NPTVBfQURNSU5fU1RBVEVfUFJPSElCSVRFRBAFKsMDChJDb21wb25lbnRPcGVyU3RhdGUSHQoZQ09NUF9PUEVSX1NUQVRFX1VOREVGSU5FRBAAEhsKF0NPTVBfT1BFUl9TVEFURV9VTktOT1dOEAESHAoYQ09NUF9PUEVSX1NUQVRFX0RJU0FCTEVEEAISGwoXQ09NUF9PUEVSX1NUQVRFX0VOQUJMRUQQAxIbChdDT01QX09QRVJfU1RBVEVfVEVTVElORxAEEhoKFkNPTVBfT1BFUl9TVEFURV9OT1JNQUwQBRIfChtDT01QX09QRVJfU1RBVEVfQ09ORklHVVJJTkcQBhIlCiFDT01QX09QRVJfU1RBVEVfQVVUT01BVElDX0xPQURJTkcQBxIaChZDT01QX09QRVJfU1RBVEVfRkFJTEVEEAgSJgoiQ09NUF9PUEVSX1NUQVRFX0hJR0hfVEVNUF9TSFVURE9XThAJEiMKH0NPTVBfT1BFUl9TVEFURV9NQU5VQUxfU0hVVERPV04QChIpCiVDT01QX09QRVJfU1RBVEVfUE9XRVJfU0FWSU5HX1NIVVRET1dOEAsSIQodQ09NUF9PUEVSX1NUQVRFX1RZUEVfTUlTTUFUQ0gQDCqmAQoTQ29tcG9uZW50VXNhZ2VTdGF0ZRIeChpDT01QX1VTQUdFX1NUQVRFX1VOREVGSU5FRBAAEhwKGENPTVBfVVNBR0VfU1RBVEVfVU5LTk9XThABEhkKFUNPTVBfVVNBR0VfU1RBVEVfSURMRRACEhsKF0NPTVBfVVNBR0VfU1RBVEVfQUNUSVZFEAMSGQoVQ09NUF9VU0FHRV9TVEFURV9CVVNZEAQqjwIKE0NvbXBvbmVudEFsYXJtU3RhdGUSHgoaQ09NUF9BTEFSTV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX0FMQVJNX1NUQVRFX1VOS05PV04QARIhCh1DT01QX0FMQVJNX1NUQVRFX1VOREVSX1JFUEFJUhACEh0KGUNPTVBfQUxBUk1fU1RBVEVfQ1JJVElDQUwQAxIaChZDT01QX0FMQVJNX1NUQVRFX01BSk9SEAQSGgoWQ09NUF9BTEFSTV9TVEFURV9NSU5PUhAFEhwKGENPTVBfQUxBUk1fU1RBVEVfV0FSTklORxAGEiIKHkNPTVBfQUxBUk1fU1RBVEVfSU5ERVRFUk1JTkFURRAHKrwBChVDb21wb25lbnRTdGFuZGJ5U3RhdGUSIAocQ09NUF9TVEFOREJZX1NUQVRFX1VOREVGSU5FRBAAEh4KGkNPTVBfU1RBTkRCWV9TVEFURV9VTktOT1dOEAESGgoWQ09NUF9TVEFOREJZX1NUQVRFX0hPVBACEhsKF0NPTVBfU1RBTkRCWV9TVEFURV9DT0xEEAMSKAokQ09NUF9TVEFOREJZX1NUQVRFX1BST1ZJRElOR19TRVJWSUNFEAQqnQMKDURhdGFWYWx1ZVR5cGUSGAoUVkFMVUVfVFlQRV9VTkRFRklORUQQABIUChBWQUxVRV9UWVBFX09USEVSEAESFgoSVkFMVUVfVFlQRV9VTktOT1dOEAISFwoTVkFMVUVfVFlQRV9WT0xUU19BQxADEhcKE1ZBTFVFX1RZUEVfVk9MVFNfREMQBBIWChJWQUxVRV9UWVBFX0FNUEVSRVMQBRIUChBWQUxVRV9UWVBFX1dBVFRTEAYSFAoQVkFMVUVfVFlQRV9IRVJUWhAHEhYKElZBTFVFX1RZUEVfQ0VMU0lVUxAIEhkKFVZBTFVFX1RZUEVfUEVSQ0VOVF9SSBAJEhIKDlZBTFVFX1RZUEVfUlBNEAoSEgoOVkFMVUVfVFlQRV9DTU0QCxIaChZWQUxVRV9UWVBFX1RSVVRIX1ZBTFVFEAwSFgoSVkFMVUVfVFlQRV9QRVJDRU5UEA0SFQoRVkFMVUVfVFlQRV9NRVRFUlMQDhIUChBWQUxVRV9UWVBFX0JZVEVTEA8SEgoOVkFMVUVfVFlQRV9EQk0QECqkAwoKVmFsdWVTY2FsZRIZChVWQUxVRV9TQ0FMRV9VTkRFRklORUQQABIVChFWQUxVRV9TQ0FMRV9ZT0NUTxABEhUKEVZBTFVFX1NDQUxFX1pFUFRPEAISFAoQVkFMVUVfU0NBTEVfQVRUTxADEhUKEVZBTFVFX1NDQUxFX0ZFTVRPEAQSFAoQVkFMVUVfU0NBTEVfUElDTxAFEhQKEFZBTFVFX1NDQUxFX05BTk8QBhIVChFWQUxVRV9TQ0FMRV9NSUNSTxAHEhUKEVZBTFVFX1NDQUxFX01JTExJEAgSFQoRVkFMVUVfU0NBTEVfVU5JVFMQCRIUChBWQUxVRV9TQ0FMRV9LSUxPEAoSFAoQVkFMVUVfU0NBTEVfTUVHQRALEhQKEFZBTFVFX1NDQUxFX0dJR0EQDBIUChBWQUxVRV9TQ0FMRV9URVJBEA0SFAoQVkFMVUVfU0NBTEVfUEVUQRAOEhMKD1ZBTFVFX1NDQUxFX0VYQRAPEhUKEVZBTFVFX1NDQUxFX1pFVFRBEBASFQoRVkFMVUVfU0NBTEVfWU9UVEEQESqCAQoMU2Vuc29yU3RhdHVzEhsKF1NFTlNPUl9TVEFUVVNfVU5ERUZJTkVEEAASFAoQU0VOU09SX1NUQVRVU19PSxABEh0KGVNFTlNPUl9TVEFUVVNfVU5BVkFJTEFCTEUQAhIgChxTRU5TT1Jf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ARIE6QERGQoNCgUEBQIHAxIE6QEcHQoMCgIEBhIG7AEA+gEBCgsKAwQGARIE7AEIEwqpBwoEBAYCABIE+AEEHBrOBg0KIFRoZSBJVFUtVCBHLjk4Ny54IHNlcmllcyBvZiBSZWNvbW1lbmRhdGlvbnMgYWRkcmVzc2VzIHRoZSBsaW5lYXIgZXh0ZW50IHBhcmFtZXRlcnMgb2YgWEctUE9ODQogdXNpbmcgdGhlIHNpbmdsZSBjb25jZXB0IG9mIGZpYnJlIGRpc3RhbmNlLiBBbiBPTlUgaXMgY2hhcmFjdGVyaXplZCBieSBpdHMgZmlicmUgZGlzdGFuY2UsIGFuZCBmb3INCiBlYWNoIHBhaXIgb2YgT05VcyBvbiB0aGUgc2FtZSBPTFQgUE9OIGludGVyZmFjZSwgdGhlIGRpZmZlcmVudGlhbCBmaWJyZSBkaXN0YW5jZSBpcyB0aGUgZGlmZmVyZW5jZQ0KIGJldHdlZW4gdGhlIHR3byBpbmRpdmlkdWFsIGZpYnJlIGRpc3RhbmNlcy4gRWFjaCBzcGVjaWZpYyBQTUQgbGF5ZXIgcGFyYW1ldGVyIHNldCBjb250YWlucyBhDQogcHJvdmlzaW9uIHRvIHN1cHBvcnQgYSBzcGVjaWZpYyBtYXhpbXVtIGZpYnJlIGRpc3RhbmNlLiBUaGUgWEctUE9OIFRDIGxheWVyIHNwZWNpZmljYXRpb24NCiBjb250YWlucyBhIHByb3Zpc2lvbiB0byBzdXBwb3J0IHNwZWNpZmljIHJhbmdlcyBvZiBtYXhpbXVtIGZpYnJlIGRpc3RhbmNlIGFuZCBtYXhpbXVtDQogZGlmZmVyZW50aWFsIGZpYnJlIGRpc3RhbmNlLiBUaGVzZSByYW5nZXMgY2FuIGJlIGNvbmZpZ3VyYWJsZSBmb3IgYSBnaXZlbiBzeXN0ZW0uIE9uZSBjYW4gZXhwZWN0IHRoYXQNCiBmb3IgZWFjaCBYRy1QT04gZGVwbG95bWVudCwgdGhlIGNvbmZpZ3VyZWQgVEMgbGF5ZXIgbWF4aW11bSBmaWJyZSBkaXN0YW5jZSB3aWxsIG1hdGNoIHRoZQ0KIG1heGltdW0gZmlicmUgZGlzdGFuY2Ugc3VwcG9ydGVkIGJ5IHRoZSBzZWxlY3RlZCBQTUQgbGF5ZXIgcGFy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bGF0ZWQgZm9yIHNwZWNpZmljIGNsYXNzIG9mIGNvbXBvbmVudHMNCgoNCgUEDwgAARIE+QIKEgoMCgQEDwIIEgT6Agg1Cg0KBQQPAggGEgT6AgglCg0KBQQPAggBEgT6AiYvCg0KBQQPAggDEgT6AjI0CgwKBAQPAgkSBPsCCDsKDQoFBA8CCQYSBPsCCCwKDQoFBA8CCQESBPsCLTUKDQoFBA8CCQMSBPsCODpiBnByb3RvMwq4EgobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvEg9nb29nbGUucHJvdG9idWYiBwoFRW1wdHlCdgoTY29tLmdvb2dsZS5wcm90b2J1ZkIKRW1wdHlQcm90b1ABWidnaXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wdHlwZXMvZW1wdHn4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNK/hAKBhIEHgAzEArMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAPgoJCgIICxIDIwA+CggKAQgSAyQALAoJCgIIARIDJAAsCggKAQgSAyUAKwoJCgIICBIDJQArCggKAQgSAyYAIgoJCgIIChIDJgAiCggKAQgSAycAIQoJCgIIJBIDJwAhCggKAQgSAygAHwoJCgIIHxIDKAAfCvsCCgIEABIDMwAQGu8CIEEgZ2VuZXJpYyBlbXB0eSBtZXNzYWdlIHRoYXQgeW91IGNhbiByZS11c2UgdG8gYXZvaWQgZGVmaW5pbmcgZHVwbGljYXRlZAogZW1wdHkgbWVzc2FnZXMgaW4geW91ciBBUElzLiBBIHR5cGljYWwgZXhhbXBsZSBpcyB0byB1c2UgaXQgYXMgdGhlIHJlcXVlc3QKIG9yIHRoZSByZXNwb25zZSB0eXBlIG9mIGFuIEFQSSBtZXRob2QuIEZvciBpbnN0YW5jZToKCiAgICAgc2VydmljZSBGb28gewogICAgICAgcnBjIEJhcihnb29nbGUucHJvdG9idWYuRW1wdHkpIHJldHVybnMgKGdvb2dsZS5wcm90b2J1Zi5FbXB0eSk7CiAgICAgfQoKIFRoZSBKU09OIHJlcHJlc2VudGF0aW9uIGZvciBgRW1wdHlgIGlzIGVtcHR5IEpTT04gb2JqZWN0IGB7fWAuCgoKCgMEAAESAzMIDWIGcHJvdG8zCoJ3CiBkbWkvaHdfZXZlbnRzX21nbXRfc2VydmljZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8imwEKCVZhbHVlVHlwZRIZCgdpbnRfdmFsGAEgASgDSABSBmludFZhbBIbCgh1aW50X3ZhbBgCIAEoBEgAUgd1aW50VmFsEh0KCWZsb2F0X3ZhbBgDIAEoAkgAUghmbG9hdFZhbBIwCgl0eXBlT2ZWYWwYBCABKA4yEi5kbWkuRGF0YVZhbHVlVHlwZVIJdHlwZU9mVmFsQgUKA3ZhbCJSCgpXYXRlck1hcmtzEiIKBGhpZ2gYASABKAsyDi5kbWkuVmFsdWVUeXBlUgRoaWdoEiAKA2xvdxgCIAEoCzIOLmRtaS5WYWx1ZVR5cGVSA2xvdyJrCgpUaHJlc2hvbGRzEicKBXVwcGVyGAEgASgLMg8uZG1pLldhdGVyTWFya3NIAFIFdXBwZXISJwoFbG93ZXIYAiABKAsyDy5kbWkuV2F0ZXJNYXJrc0gAUgVsb3dlckILCgl0aHJlc2hvbGQifgoUVGhyZXNob2xkSW5mb3JtYXRpb24SNQoOb2JzZXJ2ZWRfdmFsdWUYASABKAsyDi5kbWkuVmFsdWVUeXBlUg1vYnNlcnZlZFZhbHVlEi8KCnRocmVzaG9sZHMYAiABKAsyDy5kbWkuVGhyZXNob2xkc1IKdGhyZXNob2xkcyK8AQoIRXZlbnRDZmcSKAoIZXZlbnRfaWQYASABKA4yDS5kbWkuRXZlbnRJZHNSB2V2ZW50SWQSIwoNaXNfY29uZmlndXJlZBgCIAEoCFIMaXNDb25maWd1cmVkEi8KCnRocmVzaG9sZHMYAyABKAsyDy5kbWkuVGhyZXNob2xkc1IKdGhyZXNob2xkcxIwCg5jb21wb25lbnRfdXVpZBgEIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkIjAKCUV2ZW50c0NmZxIjCgVpdGVtcxgBIAMoCzINLmRtaS5FdmVudENmZ1IFaXRlbXMingIKEkxpc3RFdmVudHNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNgoGcmVhc29uGAIgASgOMh4uZG1pLkxpc3RFdmVudHNSZXNwb25zZS5SZWFzb25SBnJlYXNvbhImCgZldmVudHMYAyABKAsyDi5kbWkuRXZlbnRzQ2ZnUgZldmVudHMSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADIq0BChpFdmVudHNDb25maWd1cmF0aW9uUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEioKB2NoYW5nZXMYAiABKAsyDi5kbWkuRXZlbnRzQ2ZnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24inAIKG0V2ZW50c0NvbmZpZ3VyYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPwoGcmVhc29uGAIgASgOMicuZG1pLkV2ZW50c0NvbmZpZ3VyYXRpb25SZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwicgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISEgoOSU5WQUxJRF9DT05GSUcQAxIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBCKUAQoNRXZlbnRNZXRhRGF0YRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUiagoQQWRtaW5TdGF0ZUNoYW5nZRIqCgNvbGQYASABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIDb2xkEioKA25ldxgCIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgNuZXciZwoPT3BlclN0YXRlQ2hhbmdlEikKA29sZBgBIAEoDjIXLmRtaS5Db21wb25lbnRPcGVyU3RhdGVSA29sZBIpCgNuZXcYAiABKA4yFy5kbWkuQ29tcG9uZW50T3BlclN0YXRlUgNuZXciagoQQWxhcm1TdGF0ZUNoYW5nZRIqCgNvbGQYASABKA4yGC5kbWkuQ29tcG9uZW50QWxhcm1TdGF0ZVIDb2xkEioKA25ldxgCIAEoDjIYLmRtaS5Db21wb25lbnRBbGFybVN0YXRlUgNuZXciagoQVXNhZ2VTdGF0ZUNoYW5nZRIqCgNvbGQYASABKA4yGC5kbWkuQ29tcG9uZW50VXNhZ2VTdGF0ZVIDb2xkEioKA25ldxgCIAEoDjIYLmRtaS5Db21wb25lbnRVc2FnZVN0YXRlUgNuZXcicAoSU3RhbmRieVN0YXRlQ2hhbmdlEiwKA29sZBgBIAEoDjIaLmRtaS5Db21wb25lbnRTdGFuZGJ5U3RhdGVSA29sZBIsCgNuZXcYAiABKA4yGi5kbWkuQ29tcG9uZW50U3RhbmRieVN0YXRlUgNuZXcihwMKD1N0YXRlQ2hhbmdlSW5mbxJFChJhZG1pbl9zdGF0ZV9jaGFuZ2UYASABKAsyFS5kbWkuQWRtaW5TdGF0ZUNoYW5nZUgAUhBhZG1pblN0YXRlQ2hhbmdlEkIKEW9wZXJfc3RhdGVfY2hhbmdlGAIgASgLMhQuZG1pLk9wZXJTdGF0ZUNoYW5nZUgAUg9vcGVyU3RhdGVDaGFuZ2USRQoSYWxhcm1fc3RhdGVfY2hhbmdlGAMgASgLMhUuZG1pLkFsYXJtU3RhdGVDaGFuZ2VIAFIQYWxhcm1TdGF0ZUNoYW5nZRJFChJ1c2FnZV9zdGF0ZV9jaGFuZ2UYBCABKAsyFS5kbWkuVXNhZ2VTdGF0ZUNoYW5nZUgAUhB1c2FnZVN0YXRlQ2hhbmdlEksKFHN0YW5kYnlfc3RhdGVfY2hhbmdlGAUgASgLMhcuZG1pLlN0YW5kYnlTdGF0ZUNoYW5nZUgAUhJzdGFuZGJ5U3RhdGVDaGFuZ2VCDgoMc3RhdGVfY2hhbmdlIsQCCgVFdmVudBI5Cg5ldmVudF9tZXRhZGF0YRgBIAEoCzISLmRtaS5FdmVudE1ldGFEYXRhUg1ldmVudE1ldGFkYXRhEigKCGV2ZW50X2lkGAIgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEjcKCXJhaXNlZF90cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCHJhaXNlZFRzEkAKDnRocmVzaG9sZF9pbmZvGAQgASgLMhkuZG1pLlRocmVzaG9sZEluZm9ybWF0aW9uUg10aHJlc2hvbGRJbmZvEhkKCGFkZF9pbmZvGAUgASgJUgdhZGRJbmZvEkAKEXN0YXRlX2NoYW5nZV9pbmZvGAYgASgLMhQuZG1pLlN0YXRlQ2hhbmdlSW5mb1IPc3RhdGVDaGFuZ2VJbmZvKrUUCghFdmVudElkcxIYChRFVkVOVF9OQU1FX1VOREVGSU5FRBAAEh4KGkVWRU5UX1RSQU5TQ0VJVkVSX1BMVUdfT1VUEGQSHQoZRVZFTlRfVFJBTlNDRUlWRVJfUExVR19JThBlEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEEGYSLQopRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9CRUxPV19USFJFU0hPTEQQZxIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9BQk9WRV9USFJFU0hPTEQQaBIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTEQQaRItCilFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0FCT1ZFX1RIUkVTSE9MRBBqEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQkVMT1dfVEhSRVNIT0xEEGsSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEGwSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG0SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEG4SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG8SHQoZRVZFTlRfVFJBTlNDRUlWRVJfRkFJTFVSRRBwEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBBxEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBByEjsKN0VWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQcxI7CjdFVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHQSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHUSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHYSOAo0RVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB3EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQeBI4CjRFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHkSOAo0RVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB6EicKI0VWRU5UX1RSQU5TQ0VJVkVSX0ZBSUxVUkVfUkVDT1ZFUkVEEHsSFwoSRVZFTlRfUFNVX1BMVUdfT1VUEMgBEhYKEUVWRU5UX1BTVV9QTFVHX0lOEMkBEhYKEUVWRU5UX1BTVV9GQUlMVVJFEMoBEiAKG0VWRU5UX1BTVV9GQUlMVVJFX1JFQ09WRVJFRBDLARIWChFFVkVOVF9GQU5fRkFJTFVSRRCsAhIXChJFVkVOVF9GQU5fUExVR19PVVQQrQISFgoRRVZFTlRfRkFOX1BMVUdfSU4QrgISIAobRVZFTlRfRkFOX0ZBSUxVUkVfUkVDT1ZFUkVEEK8CEikKJEVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBCQAxImCiFFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQkQMSMwouRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBCSAxIwCitFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEJMDEiQKH0VWRU5UX0NQVV9VU0FHRV9BQk9WRV9USFJFU0hPTEQQlAMSLgopRVZFTlRfQ1BVX1VTQUdFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQlQMSGgoVRVZFTlRfSFdfREVWSUNFX1JFU0VUEPQDEi8KKkVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBD1AxIsCidFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQ9gMSOQo0RVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBD3AxI2CjFFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEPgDEhsKFkVWRU5UX0hXX0RFVklDRV9SRUJPT1QQ+QMSJwoiRVZFTlRfSFdfVEVNUEVSQVRVUkVfU0VOU09SX0ZBSUxFRBD6AxIsCidFVkVOVF9IV19BTExfVEVNUEVSQVRVUkVfU0VOU09SU19GQUlMRUQQ+wMSKAojRVZFTlRfSFdfRElTS19VU0FHRV9BQk9WRV9USFJFU0hPTEQQ/AMSMgotRVZFTlRfSFdfRElTS19VU0FHRV9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEP0DEioKJUVWRU5UX0hXX01FTU9SWV9VU0FHRV9BQk9WRV9USFJFU0hPTEQQ/gMSNAovRVZFTlRfSFdfTUVNT1JZX1VTQUdFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQ/wMSHgoZRVZFTlRfSFdfTlRQX1NZTkNfRkFJTFVSRRCABBIoCiNFVkVOVF9IV19OVFBfU1lOQ19GQUlMVVJFX1JFQ09WRVJFRBCBBBIdChhFVkVOVF9MSU5FX0NBUkRfUExVR19PVVQQ2AQSHAoXRVZFTlRfTElORV9DQVJEX1BMVUdfSU4Q2QQSKAojRVZFTlRfQ09NUE9ORU5UX0FETUlOX1NUQVRFX0NIQU5HRUQQvAUSJwoiRVZFTlRfQ09NUE9ORU5UX09QRVJfU1RBVEVfQ0hBTkdFRBC9BRIoCiNFVkVOVF9DT01QT05FTlRfQUxBUk1fU1RBVEVfQ0hBTkdFRBC+BRIoCiNFVkVOVF9DT01QT05FTlRfVVNBR0VfU1RBVEVfQ0hBTkdFRBC/BRIqCiVFVkVOVF9DT01QT05FTlRfU1RBTkRCWV9TVEFURV9DSEFOR0VEEMAFMu0BCh1OYXRpdmVFdmVudHNNYW5hZ2VtZW50U2VydmljZRI2CgpMaXN0RXZlbnRzEg8uZG1pLkhhcmR3YXJlSUQaFy5kbWkuTGlzdEV2ZW50c1Jlc3BvbnNlEl4KGVVwZGF0ZUV2ZW50c0NvbmZpZ3VyYXRpb24SHy5kbWkuRXZlbnRzQ29uZmlndXJhdGlvblJlcXVlc3QaIC5kbWkuRXZlbnRzQ29uZmlndXJhdGlvblJlc3BvbnNlEjQKDFN0cmVhbUV2ZW50cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoKLmRtaS5FdmVudDABQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUrFSAoHEgUAAPcBAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKCQoCAwESAwYAFgoJCgIDAhIDBwApCgkKAgMDEgMIACUKRQoCBQASBAwAYAEyOSBNYW5hZ2VtZW50IG9mIEV2ZW50cyBhbmQgcHJvdG9zIGZvciBlbmNvZGluZyBvZiBFdmVudHMNCgoKCgMFAAESAwwFDQoLCgQFAAIAEgMNBB0KDAoFBQACAAESAw0EGAoMCgUFAAIAAhIDDRscCiwKBAUAAgESAxAEJRofIEV2ZW50cyBmcm9tIHRoZSBUcmFuc2NlaXZlcnMNCgoMCgUFAAIBARIDEAQeCgwKBQUAAgECEgMQISQKCwoEBQACAhIDEQQkCgwKBQUAAgIBEgMRBB0KDAoFBQACAgISAxEgIwqSAwoEBQACAxIDGAQ0GoQDIFRoZSB0aHJlc2hvbGQgYmFzZWQgZXZlbnRzIG9uIHRoZSB0cmFuc2NlaXZlcnMgc2hvdWxkIGJlIGNvbmZpZ3VyZWQgb24NCiB0aGUgcG9ydCBjb21wb25lbnRzIG9mIHRoYXQgdHJhbnNjZWl2ZXIgYW5kIG5vdCBvbiB0aGUgdHJhbnNjZWl2ZXINCiBjb21wb25lbnQgaXRzZWxmLiBU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ASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5QaHlzaWNhbEludmVudG9yeVJlc3BvbnNlLlJlYXNvblIGcmVhc29uEisKCWludmVudG9yeRgDIAEoCzINLmRtaS5IYXJkd2FyZVIJaW52ZW50b3J5EiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyKgAQoZSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUiywIKGkhXQ29tcG9uZW50SW5mb0dldFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SLAoJY29tcG9uZW50GAMgASgLMg4uZG1pLkNvbXBvbmVudFIJY29tcG9uZW50EiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJ1CgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlRFUk5BTF9FUlJPUhADEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAEItQBChlIV0NvbXBvbmVudEluZm9TZXRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZRIyCgdjaGFuZ2VzGAQgASgLMhguZG1pLk1vZGlmaWFibGVDb21wb25lbnRSB2NoYW5nZXMixwIKGkhXQ29tcG9uZW50SW5mb1NldFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIp4BCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlZBTElEX1BBUkFNUxADEhIKDklOVEVSTkFMX0VSUk9SEAQSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAUSEwoPU0VUX1VOU1VQUE9SVEVEEAYikQMKG1N0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPwoGcmVhc29uGAIgASgOMicuZG1pLlN0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIqCgtkZXZpY2VfdXVpZBgDIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCK6AQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABIaChZERVZJQ0VfQUxSRUFEWV9NQU5BR0VEEAESIQodT1BFUkFUSU9OX0FMUkVBRFlfSU5fUFJPR1JFU1MQAhISCg5JTlZBTElEX1BBUkFNUxADEhIKDklOVEVSTkFMX0VSUk9SEAQSGgoWQVVUSEVOVElDQVRJT05fRkFJTFVSRRAFEhcKE0lOQ09NUEFUSUJMRV9ERVZJQ0UQBiIvChlTdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWUi8gEKGlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIkoKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAiJtChFNYW5hZ2VkRGV2aWNlSW5mbxIsCgRpbmZvGAEgASgLMhguZG1pLk1vZGlmaWFibGVDb21wb25lbnRSBGluZm8SKgoLZGV2aWNlX3V1aWQYAiABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCLfAQoWTWFuYWdlZERldmljZXNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSOgoGcmVhc29uGAIgASgOMiIuZG1pLk1hbmFnZWREZXZpY2VzUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SMAoHZGV2aWNlcxgDIAMoCzIWLmRtaS5NYW5hZ2VkRGV2aWNlSW5mb1IHZGV2aWNlcyIyCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDklOVEVSTkFMX0VSUk9SEAEinQEKGVNldExvZ2dpbmdFbmRwb2ludFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIpChBsb2dnaW5nX2VuZHBvaW50GAIgASgJUg9sb2dnaW5nRW5kcG9pbnQSKQoQbG9nZ2luZ19wcm90b2NvbBgDIAEoCVIPbG9nZ2luZ1Byb3RvY29sIuECChlTZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI9CgZyZWFzb24YAiABKA4yJS5kbWkuU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwiugEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhoKFkxPR0dJTkdfRU5EUE9JTlRfRVJST1IQAxIjCh9MT0dHSU5HX0VORFBPSU5UX1BST1RPQ09MX0VSUk9SEAQSGQoVTVNHQlVTX0VORFBPSU5UX0VSUk9SEAUSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAYi3AIKGkdldExvZ2dpbmdFbmRwb2ludFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SKQoQbG9nZ2luZ19lbmRwb2ludBgDIAEoCVIPbG9nZ2luZ0VuZHBvaW50EikKEGxvZ2dpbmdfcHJvdG9jb2wYBCABKAlSD2xvZ2dpbmdQcm90b2NvbBIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMiQwoYU2V0TXNnQnVzRW5kcG9pbnRSZXF1ZXN0EicKD21zZ2J1c19lbmRwb2ludBgBIAEoCVIObXNnYnVzRW5kcG9pbnQimQIKGUdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5HZXRNc2dCdXNFbmRwb2ludFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEicKD21zZ2J1c19lbmRwb2ludBgDIAEoCVIObXNnYnVzRW5kcG9pbnQSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIkoKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOSU5URVJOQUxfRVJST1IQARIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAiJZChBFbnRpdGllc0xvZ0xldmVsEikKCGxvZ0xldmVsGAEgASgOMg0uZG1pLkxvZ0xldmVsUghsb2dMZXZlbBIaCghlbnRpdGllcxgCIAMoCVIIZW50aXRpZXMidQoSU2V0TG9nTGV2ZWxSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMwoJbG9nbGV2ZWxzGAIgAygLMhUuZG1pLkVudGl0aWVzTG9nTGV2ZWxSCWxvZ2xldmVscyK8AgoTU2V0TG9nTGV2ZWxSZXNwb25zZRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEiMKBnN0YXR1cxgCIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI3CgZyZWFzb24YAyABKA4yHy5kbWkuU2V0TG9nTGV2ZWxSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwidgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSVU5LTk9XTl9MT0dfRU5USVRZEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQiXAoSR2V0TG9nTGV2ZWxSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSGgoIZW50aXRpZXMYAiADKAlSCGVudGl0aWVzIvECChNHZXRMb2dMZXZlbFJlc3BvbnNlEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMwoJbG9nTGV2ZWxzGAIgAygLMhUuZG1pLkVudGl0aWVzTG9nTGV2ZWxSCWxvZ0xldmVscxIjCgZzdGF0dXMYAyABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNwoGcmVhc29uGAQgASgOMh8uZG1pLkdldExvZ0xldmVsUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgFIAEoCVIMcmVhc29uRGV0YWlsInYKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKElVOS05PV05fTE9HX0VOVElUWRADEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAEIkgKGkdldExvZ2dhYmxlRW50aXRpZXNSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQiOwoUU2V0RG1Mb2dMZXZlbFJlcXVlc3QSIwoFbGV2ZWwYASABKA4yDS5kbWkuTG9nTGV2ZWxSBWxldmVsIucBChVTZXREbUxvZ0xldmVsUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjkKBnJlYXNvbhgCIAEoDjIhLmRtaS5TZXREbUxvZ0xldmVsUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIkkKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOSU5URVJOQUxfRVJST1IQARIVChFVTktOT1dOX0xPR19MRVZFTBACIhYKFEdldERtTG9nTGV2ZWxSZXF1ZXN0IvUBChVHZXREbUxvZ0xldmVsUmVzcG9uc2USIwoFbGV2ZWwYASABKA4yDS5kbWkuTG9nTGV2ZWxSBWxldmVsEiMKBnN0YXR1cxgCIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI5CgZyZWFzb24YAyABKA4yIS5kbWkuR2V0RG1Mb2dMZXZlbFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCIyCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDklOVEVSTkFMX0VSUk9SEAEiPAoJSGVhcnRiZWF0Ei8KE2hlYXJ0YmVhdF9zaWduYXR1cmUYASABKAdSEmhlYXJ0YmVhdFNpZ25hdHVyZSJBChNSZWJvb3REZXZpY2VSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQilQIKFFJlYm9vdERldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgDIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI4CgZyZWFzb24YBCABKA4yIC5kbWkuUmVib290RGV2aWNlUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgFIAEoCVIMcmVhc29uRGV0YWlsInkKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADEhkKFURFVklDRV9JTl9XUk9OR19TVEFURRAEIqABChlEaXNhYmxlSFdDb21wb25lbnRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSLLAgoaRGlzYWJsZUhXQ29tcG9uZW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5EaXNhYmxlSFdDb21wb25lbnRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwiogEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIVChFVTktOT1dOX0NPTVBPTkVOVBACEhIKDklOVEVSTkFMX0VSUk9SEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQSFwoTRElTQUJMRV9VTlNVUFBPUlRFRBAFEhIKDklOVkFMSURfUEFSQU1TEAYingEKF1Jlc2V0SFdDb21wb25lbnRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSLFAgoYUmVzZXRIV0NvbXBvbmVudFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI8CgZyZWFzb24YAiABKA4yJC5kbWkuUmVzZXRIV0NvbXBvbmVudFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKgAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhUKEVVOS05PV05fQ09NUE9ORU5UEAISEgoOSU5URVJOQUxfRVJST1IQAxIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBBIVChFSRVNFVF9VTlNVUFBPUlRFRBAFEhIKDklOVkFMSURfUEFSQU1TEAYinwEKGEVuYWJsZUhXQ29tcG9uZW50UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUiyAIKGUVuYWJsZUhXQ29tcG9uZW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5FbmFibGVIV0NvbXBvbmVudFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKhAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhUKEVVOS05PV05fQ09NUE9ORU5UEAISEgoOSU5URVJOQUxfRVJST1IQAxIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBBIWChJFTkFCTEVfVU5TVVBQT1JURUQQBRISCg5JTlZBTElEX1BBUkFNUxAGMroMChlOYXRpdmVIV01hbmFnZW1lbnRTZXJ2aWNlElMKE1N0YXJ0TWFuYWdpbmdEZXZpY2USGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudBogLmRtaS5TdGFydE1hbmFnaW5nRGV2aWNlUmVzcG9uc2UwARJVChJTdG9wTWFuYWdpbmdEZXZpY2USHi5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVxdWVzdBofLmRtaS5TdG9wTWFuYWdpbmdEZXZpY2VSZXNwb25zZRJIChFHZXRNYW5hZ2VkRGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRobLmRtaS5NYW5hZ2VkRGV2aWNlc1Jlc3BvbnNlElcKFEdldFBoeXNpY2FsSW52ZW50b3J5Eh0uZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVxdWVzdBoeLmRtaS5QaHlzaWNhbEludmVudG9yeVJlc3BvbnNlMAESVwoSR2V0SFdDb21wb25lbnRJbmZvEh4uZG1pLkhXQ29tcG9uZW50SW5mb0dldFJlcXVlc3QaHy5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVzcG9uc2UwARJVChJTZXRIV0NvbXBvbmVudEluZm8SHi5kbWkuSFdDb21wb25lbnRJbmZvU2V0UmVxdWVzdBofLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXNwb25zZRJUChJTZXRMb2dnaW5nRW5kcG9pbnQSHi5kbWkuU2V0TG9nZ2luZ0VuZHBvaW50UmVxdWVzdBoeLmRtaS5TZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlEkYKEkdldExvZ2dpbmdFbmRwb2ludBIPLmRtaS5IYXJkd2FyZUlEGh8uZG1pLkdldExvZ2dpbmdFbmRwb2ludFJlc3BvbnNlElIKEVNldE1zZ0J1c0VuZHBvaW50Eh0uZG1pLlNldE1zZ0J1c0VuZHBvaW50UmVxdWVzdBoeLmRtaS5TZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlEksKEUdldE1zZ0J1c0VuZHBvaW50EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gh4uZG1pLkdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2USUAoTR2V0TG9nZ2FibGVFbnRpdGllcxIfLmRtaS5HZXRMb2dnYWJsZUVudGl0aWVzUmVxdWVzdBoYLmRtaS5HZXRMb2dMZXZlbFJlc3BvbnNlEkAKC1NldExvZ0xldmVsEhcuZG1pLlNldExvZ0xldmVsUmVxdWVzdBoYLmRtaS5TZXRMb2dMZXZlbFJlc3BvbnNlEkAKC0dldExvZ0xldmVsEhcuZG1pLkdldExvZ0xldmVsUmVxdWVzdBoYLmRtaS5HZXRMb2dMZXZlbFJlc3BvbnNlEjgKDkhlYXJ0YmVhdENoZWNrEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg4uZG1pLkhlYXJ0YmVhdBJDCgxSZWJvb3REZXZpY2USGC5kbWkuUmVib290RGV2aWNlUmVxdWVzdBoZLmRtaS5SZWJvb3REZXZpY2VSZXNwb25zZRJGCg1TZXREbUxvZ0xldmVsEhkuZG1pLlNldERtTG9nTGV2ZWxSZXF1ZXN0GhouZG1pLlNldERtTG9nTGV2ZWxSZXNwb25zZRJGCg1HZXREbUxvZ0xldmVsEhkuZG1pLkdldERtTG9nTGV2ZWxSZXF1ZXN0GhouZG1pLkdldERtTG9nTGV2ZWxSZXNwb25zZRJVChJEaXNhYmxlSFdDb21wb25lbnQSHi5kbWkuRGlzYWJsZUhXQ29tcG9uZW50UmVxdWVzdBofLmRtaS5EaXNhYmxlSFdDb21wb25lbnRSZXNwb25zZRJPChBSZXNldEhXQ29tcG9uZW50EhwuZG1pLlJlc2V0SFdDb21wb25lbnRSZXF1ZXN0Gh0uZG1pLlJlc2V0SFdDb21wb25lbnRSZXNwb25zZRJSChFFbmFibGVIV0NvbXBvbmVudBIdLmRtaS5FbmFibGVIV0NvbXBvbmVudFJlcXVlc3QaHi5kbWkuRW5hYmxlSFdDb21wb25lbnRSZXNwb25zZUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlKo5cBCgcSBQAAvgMBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCgkKAgMCEgMHACUKSgoCBAASBAsADQEyPiBQcm90b3MgZm9yIHRoZSBtYW5hZ2VtZW50IG9mIGEgaGFyZHdhcmUgYW5kIGl0J3MgY29tcG9uZW50cw0KCgoKAwQAARIDCwggCgsKBAQAAgASAwwEGQoNCgUEAAIABBIEDAQLIgoMCgUEAAIABhIDDAQICgwKBQQAAgABEgMMCRQKDAoFBAACAAMSAwwXGAoKCgIEARIEDwAdAQoKCgMEAQESAw8IIQoMCgQEAQQAEgQQBBUFCgwKBQQBBAABEgMQCQ8KDQoGBAEEAAIAEgMRCB0KDgoHBAEEAAIAARIDEQgYCg4KBwQBBAACAAISAxEbHAoNCgYEAQQAAgESAxIIGwoOCgcEAQQAAgEBEgMSCBYKDgoHBAEEAAIBAhIDEhkaCg0KBgQBBAACAhIDEwgbCg4KBwQBBAACAgESAxMIFgoOCgcEAQQAAgICEgMTGRoKDQoGBAEEAAIDEgMUCB8KDgoHBAEEAAIDARIDFAgaCg4KBwQBBAACAwISAxQdHgoLCgQEAQIAEgMWBBYKDQoFBAECAAQSBBYEFQUKDAoFBAECAAYSAxYECgoMCgUEAQIAARIDFgsRCgwKBQQBAgADEgMWFBUKCwoEBAECARIDFwQWCg0KBQQBAgEEEgQXBBYWCgwKBQQBAgEGEgMXBAoKDAoFBAECAQESAxcLEQoMCgUEAQIBAxIDFxQVCgsKBAQBAgISAxgEGwoNCgUEAQICBBIEGAQXFgoMCgUEAQICBhIDGAQMCgwKBQQBAgIBEgMYDRYKDAoFBAECAgMSAxgZGgrhAQoEBAECAxIDHAQdGtMBIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdXBzdHJlYW0gY29tcG9uZW50cy91c2VycyBvZiB0aGUgRE1JIGludGVyZmFjZQ0KIGRvIG5vdCByZWFsbHkgaW50ZXJwcmV0L3BhcnNlIHRoZSByZXNvbl9kZXRhaWwsIGJ1dCByYXRoZXIgdXNlIGl0IGZvcg0KIGRpc3BsYXkgcHVycG9zZXMgdG8gdGhlIGVuZCB1c2VyIG9yIHVzZSBpdCBmb3IgbG9nZ2luZyB0aGUgZXJyb3INCgoNCgUEAQIDBBIEHAQYGwoMCgUEAQIDBRIDHAQKCgwKBQQBAgMBEgMcCxgKDAoFBAECAwMSAxwbHAoKCgIEAhIEHwAjAQoKCgMEAgESAx8IIQoLCgQEAgIAEgMgBBkKDQoFBAICAAQSBCAEHyMKDAoFBAICAAYSAyAECAoMCgUEAgIAARIDIAkUCgwKBQQCAgADEgMgFxgKCwoEBAICARIDIQQcCg0KBQQCAgEEEgQhBCAZCgwKBQQCAgEGEgMhBAgKDAoFBAICAQESAyEJFwoMCgUEAgIBAxIDIRobCgsKBAQCAgISAyIEHgoNCgUEAgICBBIEIgQhHAoMCgUEAgICBRIDIgQKCgwKBQQCAgIBEgMiCxkKDAoFBAICAgMSAyIcHQoKCgIEAxIEJQAxAQoKCgMEAwESAyUIIgoMCgQEAwQAEgQmBCwFCgwKBQQDBAABEgMmCQ8KDQoGBAMEAAIAEgMnCB0KDgoHBAMEAAIAARIDJwgYCg4KBwQDBAACAAISAycbHAoNCgYEAwQAAgESAygIGwoOCgcEAwQAAgEBEgMoCBYKDgoHBAMEAAIBAhIDKBkaCg0KBgQDBAACAhIDKQgeCg4KBwQDBAACAgESAykIGQoOCgcEAwQAAgICEgMpHB0KDQoGBAMEAAIDEgMqCBsKDgoHBAMEAAIDARIDKggWCg4KBwQDBAACAwISAyoZGgoNCgYEAwQAAgQSAysIHwoOCgcEAwQAAgQBEgMrCBoKDgoHBAMEAAIEAhIDKx0eCgsKBAQDAgASAy0EFgoNCgUEAwIABBIELQQsBQoMCgUEAwIABhIDLQQKCgwKBQQDAgABEgMtCxEKDAoFBAMCAAMSAy0UFQoLCgQEAwIBEgMuBBYKDQoFBAMCAQQSBC4ELRYKDAoFBAMCAQYSAy4ECgoMCgUEAwIBARIDLgsRCgwKBQQDAgEDEgMuFBUKCwoEBAMCAhIDLwQcCg0KBQQDAgIEEgQvBC4WCgwKBQQDAgIGEgMvBA0KDAoFBAMCAgESAy8OFwoMCgUEAwICAxIDLxobCgsKBAQDAgMSAzAEHQoNCgUEAwIDBBIEMAQvHAoMCgUEAwIDBRIDMAQKCgwKBQQDAgMBEgMwCxgKDAoFBAMCAwMSAzAbHAoKCgIEBBIEMwA4AQoKCgMEBAESAzMIIQoLCgQEBAIAEgM0BBkKDQoFBAQCAAQSBDQEMyMKDAoFBAQCAAYSAzQECAoMCgUEBAIAARIDNAkUCgwKBQQEAgADEgM0FxgKCwoEBAQCARIDNQQcCg0KBQQEAgEEEgQ1BDQZCgwKBQQEAgEGEgM1BAgKDAoFBAQCAQESAzUJFwoMCgUEBAIBAxIDNRobCgsKBAQEAgISAzYEHgoNCgUEBAICBBIENgQ1HAoMCgUEBAICBRIDNgQKCgwKBQQEAgIBEgM2CxkKDAoFBAQCAgMSAzYcHQoLCgQEBAIDEgM3BCQKDQoFBAQCAwQSBDcENh4KDAoFBAQCAwYSAzcEFwoMCgUEBAIDARIDNxgfCgwKBQQEAgMDEgM3IiMKCgoCBAUSBDoARwEKCgoDBAUBEgM6CCIKDAoEBAUEABIEOwRDBQoMCgUEBQQAARIDOwkPCg0KBgQFBAACABIDPAgdCg4KBwQFBAACAAESAzwIGAoOCgcEBQQAAgACEgM8GxwKDQoGBAUEAAIBEgM9CBsKDgoHBAUEAAIBARIDPQgWCg4KBwQFBAACAQISAz0ZGgoNCgYEBQQAAgISAz4IHgoOCgcEBQQAAgIBEgM+CBkKDgoHBAUEAAICAhIDPhwdCg0KBgQFBAACAxIDPwgbCg4KBwQFBAACAwESAz8IFgoOCgcEBQQAAgMCEgM/GRoKDQoGBAUEAAIEEgNACBsKDgoHBAUEAAIEARIDQAgWCg4KBwQFBAACBAISA0AZGgoNCgYEBQQAAgUSA0EIHwoOCgcEBQQAAgUBEgNBCBoKDgoHBAUEAAIFAhIDQR0eCg0KBgQFBAACBhIDQggcCg4KBwQFBAACBgESA0IIFwoOCgcEBQQAAgYCEgNCGhsKCwoEBAUCABIDRAQWCg0KBQQFAgAEEgREBEMFCgwKBQQFAgAGEgNEBAoKDAoFBAUCAAESA0QLEQoMCgUEBQIAAxIDRBQVCgsKBAQFAgESA0UEFgoNCgUEBQIBBBIERQREFgoMCgUEBQIBBhIDRQQKCgwKBQQFAgEBEgNFCxEKDAoFBAUCAQMSA0UUFQoLCgQEBQICEgNGBB0KDQoFBAUCAgQSBEYERRYKDAoFBAUCAgUSA0YECgoMCgUEBQICARIDRgsYCgwKBQQFAgIDEgNGGxwKCgoCBAYSBEkAXwEKCgoDBAYBEgNJCCMKDAoEBAYEABIESgRaBQoMCgUEBgQAARIDSgkPCg0KBgQGBAACABIDSwgdCg4KBwQGBAACAAESA0sIGAoOCgcEBgQAAgACEgNLGxwKrgEKBgQGBAACARIDTggjGp4BIERFVklDRV9BTFJFQURZX01BTkFHRUQgaXMgcmV0dXJuZWQgd2hlbiBTdGFydE1hbmFnaW5nRGV2aWNlIGlzIGNhbGxlZCBhZ2FpbiBmb3IgdGhlIHNhbWUgbmFtZSBBRlRFUiBhIHByZXZpb3VzbHkNCiBzdWNjZXNzZnVsIFN0YXJ0TWFuYWdpbmdEZXZpY2Ugb3BlcmF0aW9uDQoKDgoHBAYEAAIBARIDTggeCg4KBwQGBAACAQISA04hIgq3AQoGBAYEAAICEgNRCCoapwEgT1BFUkFUSU9OX0FMUkVBRFlfSU5fUFJPR1JFU1MgaXMgcmV0dXJuZWQgd2hlbiBTdGFydE1hbmFnaW5nRGV2aWNlIGlzIGNhbGxlZCBhZ2FpbiBmb3IgdGhlIHNhbWUgbmFtZSBCRUZPUkUNCiBhIHByZXZpb3VzIFN0YXJ0TWFuYWdpbmdEZXZpY2Ugb3BlcmF0aW9uIGhhcyBjb21wbGV0ZWQNCgoOCgcEBgQAAgIBEgNRCCUKDgoHBAYEAAICAhIDUSgpCg0KBgQGBAACAxIDUggbCg4KBwQGBAACAwESA1IIFgoOCgcEBgQAAgMCEgNSGRoKDQoGBAYEAAIEEgNTCBsKDgoHBAYEAAIEARIDUwgWCg4KBwQGBAACBAISA1MZGgq3AQoGBAYEAAIFEgNWCCMapwEgQVVUSEVOVElDQVRJT05fRkFJTFVSRSBpcyByZXR1cm5lZCB3aGVuIHRoZSBkZXZpY2UgbWFuYWdlbWVudCBzb2Z0d2FyZS9zZXJ2ZXIgaXMgbm90IGFibGUgdG8gY29ubmVjdCB0byB0aGUgdW5kZXJseWluZw0KIGhhcmR3YXJlIGJlY2F1c2Ugb2YgYXV0aGVudGljYXRpb24gZmFpbHVyZXMNCgoOCgcEBgQAAgUBEgNWCB4KDgoHBAYEAAIFAhIDViEiCpcBCgYEBgQAAgYSA1kIIBqHASBJTkNPTVBBVElCTEVfREVWSUNFIGlzIHJldHVybmVkIHdoZW4gdGhlcmUgaXMgYSBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBkZXZpY2UgbWFuYWdlbWVudCBzb2Z0d2FyZS9zZXJ2ZXIgYW5kIHRoZSB1bmRlcmx5aW5nDQogaGFyZHdhcmUNCgoOCgcEBgQAAgYBEgNZCBsKDgoHBAYEAAIGAhIDWR4fCgsKBAQGAgASA1sEFgoNCgUEBgIABBIEWwRaBQoMCgUEBgIABhIDWwQKCgwKBQQGAgABEgNbCxEKDAoFBAYCAAMSA1sUFQoLCgQEBgIBEgNcBBYKDQoFBAYCAQQSBFwEWxYKDAoFBAYCAQYSA1wECgoMCgUEBgIBARIDXAsRCgwKBQQGAgEDEgNcFBUKCwoEBAYCAhIDXQQZCg0KBQQGAgIEEgRdBFwWCgwKBQQGAgIGEgNdBAgKDAoFBAYCAgESA10JFAoMCgUEBgICAxIDXRcYCgsKBAQGAgMSA14EHQoNCgUEBgIDBBIEXgRdGQoMCgUEBgIDBRIDXgQKCgwKBQQGAgMBEgNeCxgKDAoFBAYCAwMSA14bHAoKCgIEBxIEYQBjAQoKCgMEBwESA2EIIQoLCgQEBwIAEgNiBBQKDQoFBAcCAAQSBGIEYSMKDAoFBAcCAAUSA2IECgoMCgUEBwIAARIDYgsPCgwKBQQHAgADEgNiEhMKCgoCBAgSBGUAcQEKCgoDBAgBEgNlCCIKdgoEBAgEABIEaARtBRpoIFRoZSBvbmx5IGNhc2UgaW4gd2hpY2ggYW4gZXJyb3IgaXMgZXhwZWN0ZWQgaXMgaWYgdGhlIG5hbWUgb2YgdGhlDQogZGV2aWNlIHRvIGJlIHN0b3BwZWQgaXMgbm90IGZvdW5kDQoKDAoFBAgEAAESA2gJDwoNCgYECAQAAgASA2kIHQoOCgcECAQAAgABEgNpCBgKDgoHBAgEAAIAAhIDaRscCg0KBgQIBAACARIDaggbCg4KBwQIBAACAQESA2oIFgoOCgcECAQAAgECEgNqGRoKewoGBAgEAAICEgNsCB8abCBERVZJQ0VfVU5SRUFDSEFCTEUgaXMgdG8gYmUgcmV0dXJuZWQgd2hlbiB0aGUgZGV2aWNlIG1hbmFnZXIgY2Fubm90IHJlYWNoIHRoZSBkZXZpY2UgYW5kIHN0b3AgbWFuYWdpbmcgaXQNCgoOCgcECAQAAgIBEgNsCBoKDgoHBAgEAAICAhIDbB0eCgsKBAQIAgASA24EFgoNCgUECAIABBIEbgRtBQoMCgUECAIABhIDbgQKCgwKBQQIAgABEgNuCxEKDAoFBAgCAAMSA24UFQoLCgQECAIBEgNvBBYKDQoFBAgCAQQSBG8EbhYKDAoFBAgCAQYSA28ECgoMCgUECAIBARIDbwsRCgwKBQQIAgEDEgNvFBUKCwoEBAgCAhIDcAQdCg0KBQQIAgIEEgRwBG8WCgwKBQQIAgIFEgNwBAoKDAoFBAgCAgESA3ALGAoMCgUECAICAxIDcBscCgoKAgQJEgRzAHYBCgoKAwQJARIDcwgZCgsKBAQJAgASA3QEIQoNCgUECQIABBIEdARzGwoMCgUECQIABhIDdAQXCgwKBQQJAgABEgN0GBwKDAoFBAkCAAMSA3QfIAoLCgQECQIBEgN1BBkKDQoFBAkCAQQSBHUEdCEKDAoFBAkCAQYSA3UECAoMCgUECQIBARIDdQkUCgwKBQQJAgEDEgN1FxgKCwoCBAoSBXgAgAEBCgoKAwQKARIDeAgeCgwKBAQKBAASBHkEfAUKDAoFBAoEAAESA3kJDwoNCgYECgQAAgASA3oIHQoOCgcECgQAAgABEgN6CBgKDgoHBAoEAAIAAhIDehscCg0KBgQKBAACARIDewgbCg4KBwQKBAACAQESA3sIFgoOCgcECgQAAgECEgN7GRoKCwoEBAoCABIDfQQWCg0KBQQKAgAEEgR9BHwFCgwKBQQKAgAGEgN9BAoKDAoFBAoCAAESA30LEQoMCgUECgIAAxIDfRQVCgsKBAQKAgESA34EFgoNCgUECgIBBBIEfgR9FgoMCgUECgIBBhIDfgQKCgwKBQQKAgEBEgN+CxEKDAoFBAoCAQMSA34UFQoLCgQECgICEgN/BCsKDAoFBAoCAgQSA38EDAoMCgUECgICBhIDfw0eCgwKBQQKAgIBEgN/HyYKDAoFBAoCAgMSA38pKgoMCgIECxIGggEAhgEBCgsKAwQLARIEggEIIQoMCgQECwIAEgSDAQQZCg8KBQQLAgAEEgaDAQSCASMKDQoFBAsCAAYSBIMBBAgKDQoFBAsCAAESBIMBCRQKDQoFBAsCAAMSBIMBFxgKDAoEBAsCARIEhAEEIAoPCgUECwIBBBIGhAEEgwEZCg0KBQQLAgEFEgSEAQQKCg0KBQQLAgEBEgSEAQsbCg0KBQQLAgEDEgSEAR4fCgwKBAQLAgISBIUBBCAKDwoFBAsCAgQSBoUBBIQBIAoNCgUECwICBRIEhQEECgoNCgUECwICARIEhQELGwoNCgUECwICAxIEhQEeHwoMCgIEDBIGiAEAlQEBCgsKAwQMARIEiAEIIQoOCgQEDAQAEgaJAQSRAQUKDQoFBAwEAAESBIkBCQ8KDgoGBAwEAAIAEgSKAQgdCg8KBwQMBAACAAESBIoBCBgKDwoHBAwEAAIAAhIEigEbHAoOCgYEDAQAAgESBIsBCBsKDwoHBAwEAAIBARIEiwEIFgoPCgcEDAQAAgECEgSLARkaCg4KBgQMBAACAhIEjAEIGwoPCgcEDAQAAgIBEgSMAQgWCg8KBwQMBAACAgISBIwBGRoKDgoGBAwEAAIDEgSNAQgjCg8KBwQMBAACAwESBI0BCB4KDwoHBAwEAAIDAhIEjQEhIgoOCgYEDAQAAgQSBI4BCCwKDwoHBAwEAAIEARIEjgEIJwoPCgcEDAQAAgQCEgSOASorCg4KBgQMBAACBRIEjwEIIgoPCgcEDAQAAgUBEgSPAQgdCg8KBwQMBAACBQISBI8BICEKDgoGBAwEAAIGEgSQAQgfCg8KBwQMBAACBgESBJABCBoKDwoHBAwEAAIGAhIEkAEdHgoMCgQEDAIAEgSSAQQWCg8KBQQMAgAEEgaSAQSRAQUKDQoFBAwCAAYSBJIBBAoKDQoFBAwCAAESBJIBCxEKDQoFBAwCAAMSBJIBFBUKDAoEBAwCARIEkwEEFgoPCgUEDAIBBBIGkwEEkgEWCg0KBQQMAgEGEgSTAQQKCg0KBQQMAgEBEgSTAQsRCg0KBQQMAgEDEgSTARQVCgwKBAQMAgISBJQBBB0KDwoFBAwCAgQSBpQBBJMBFgoNCgUEDAICBRIElAEECgoNCgUEDAICARIElAELGAoNCgUEDAICAxIElAEbHAoMCgIEDRIGlwEAowEBCgsKAwQNARIElwEIIgoOCgQEDQQAEgaYAQSdAQUKDQoFBA0EAAESBJgBCQ8KDgoGBA0EAAIAEgSZAQgdCg8KBwQNBAACAAESBJkBCBgKDwoHBA0EAAIAAhIEmQEbHAoOCgYEDQQAAgESBJoBCBsKDwoHBA0EAAIBARIEmgEIFgoPCgcEDQQAAgECEgSaARkaCg4KBgQNBAACAhIEmwEIGwoPCgcEDQQAAgIBEgSbAQgWCg8KBwQNBAACAgISBJsBGRoKDgoGBA0EAAIDEgScAQgfCg8KBwQNBAACAwESBJwBCBoKDwoHBA0EAAIDAhIEnAEdHgoMCgQEDQIAEgSeAQQWCg8KBQQNAgAEEgaeAQSdAQUKDQoFBA0CAAYSBJ4BBAoKDQoFBA0CAAESBJ4BCxEKDQoFBA0CAAMSBJ4BFBUKDAoEBA0CARIEnwEEFgoPCgUEDQIBBBIGnwEEngEWCg0KBQQNAgEGEgSfAQQKCg0KBQQNAgEBEgSfAQsRCg0KBQQNAgEDEgSfARQVCgwKBAQNAgISBKABBCAKDwoFBA0CAgQSBqABBJ8BFgoNCgUEDQICBRIEoAEECgoNCgUEDQICARIEoAELGwoNCgUEDQICAxIEoAEeHwoMCgQEDQIDEgShAQQgCg8KBQQNAgMEEgahAQSgASAKDQoFBA0CAwUSBKEBBAoKDQoFBA0CAwESBKEBCxsKDQoFBA0CAwMSBKEBHh8KDAoEBA0CBBIEogEEHQoPCgUEDQIEBBIGogEEoQEgCg0KBQQNAgQFEgSiAQQKCg0KBQQNAgQBEgSiAQsYCg0KBQQNAgQDEgSiARscCgwKAgQOEgalAQCnAQEKCwoDBA4BEgSlAQggCgwKBAQOAgASBKYBBB8KDwoFBA4CAAQSBqYBBKUBIgoNCgUEDgIABRIEpgEECgoNCgUEDgIAARIEpgELGgoNCgUEDgIAAxIEpgEdHgoMCgIEDxIGqQEAswEBCgsKAwQPARIEqQEIIQoOCgQEDwQAEgaqAQSuAQUKDQoFBA8EAAESBKoBCQ8KDgoGBA8EAAIAEgSrAQgdCg8KBwQPBAACAAESBKsBCBgKDwoHBA8EAAIAAhIEqwEbHAoOCgYEDwQAAgESBKwBCBsKDwoHBA8EAAIBARIErAEIFgoPCgcEDwQAAgECEgSsARkaCg4KBgQPBAACAhIErQEIHwoPCgcEDwQAAgIBEgStAQgaCg8KBwQPBAACAgISBK0BHR4KDAoEBA8CABIErwEEFgoPCgUEDwIABBIGrwEErgEFCg0KBQQPAgAGEgSvAQQKCg0KBQQPAgABEgSvAQsRCg0KBQQPAgADEgSvARQVCgwKBAQPAgESBLABBBYKDwoFBA8CAQQSBrABBK8BFgoNCgUEDwIBBhIEsAEECgoNCgUEDwIBARIEsAELEQoNCgUEDwIBAxIEsAEUFQoMCgQEDwICEgSxAQQfCg8KBQQPAgIEEgaxAQSwARYKDQoFBA8CAgUSBLEBBAoKDQoFBA8CAgESBLEBCxoKDQoFBA8CAgMSBLEBHR4KDAoEBA8CAxIEsgEEHQoPCgUEDwIDBBIGsgEEsQEfCg0KBQQPAgMFEgSyAQQKCg0KBQQPAgMBEgSyAQsYCg0KBQQPAgMDEgSyARscCgwKAgQQEga1AQC4AQEKCwoDBBABEgS1AQgYCgwKBAQQAgASBLYBBBoKDwoFBBACAAQSBrYBBLUBGgoNCgUEEAIABhIEtgEEDAoNCgUEEAIAARIEtgENFQoNCgUEEAIAAxIEtgEYGQoMCgQEEAIBEgS3AQQhCg0KBQQQAgEEEgS3AQQMCg0KBQQQAgEFEgS3AQ0TCg0KBQQQAgEBEgS3ARQcCg0KBQQQAgEDEgS3AR8gCgwKAgQREga6AQC9AQEKCwoDBBEBEgS6AQgaCgwKBAQRAgASBLsBBBkKDwoFBBECAAQSBrsBBLoBHAoNCgUEEQIABhIEuwEECAoNCgUEEQIAARIEuwEJFAoNCgUEEQIAAxIEuwEXGAoMCgQEEQIBEgS8AQQsCg0KBQQRAgEEEgS8AQQMCg0KBQQRAgEGEgS8AQ0dCg0KBQQRAgEBEgS8AR4nCg0KBQQRAgEDEgS8ASorCgwKAgQSEga/AQDLAQEKCwoDBBIBEgS/AQgbCg4KBAQSBAASBsABBMYBBQoNCgUEEgQAARIEwAEJDwoOCgYEEgQAAgASBMEBCB0KDwoHBBIEAAIAARIEwQEIGAoPCgcEEgQAAgACEgTBARscCg4KBgQSBAACARIEwgEIGwoPCgcEEgQAAgEBEgTCAQgWCg8KBwQSBAACAQISBMIBGRoKDgoGBBIEAAICEgTDAQgbCg8KBwQSBAACAgESBMMBCBYKDwoHBBIEAAICAhIEwwEZGgoOCgYEEgQAAgMSBMQBCB8KDwoHBBIEAAIDARIExAEIGgoPCgcEEgQAAgMCEgTEAR0eCg4KBgQSBAACBBIExQEIHwoPCgcEEgQAAgQBEgTFAQgaCg8KBwQSBAACBAISBMUBHR4KDAoEBBICABIExwEEGQoPCgUEEgIABBIGxwEExgEFCg0KBQQSAgAGEgTHAQQICg0KBQQSAgABEgTHAQkUCg0KBQQSAgADEgTHARcYCgwKBAQSAgESBMgBBBYKDwoFBBICAQQSBsgBBMcBGQoNCgUEEgIBBhIEyAEECgoNCgUEEgIBARIEyAELEQoNCgUEEgIBAxIEyAEUFQoMCgQEEgICEgTJAQQWCg8KBQQSAgIEEgbJAQTIARYKDQoFBBICAgYSBMkBBAoKDQoFBBICAgESBMkBCxEKDQoFBBICAgMSBMkBFBUKDAoEBBICAxIEygEEHQoPCgUEEgIDBBIGygEEyQEWCg0KBQQSAgMFEgTKAQQKCg0KBQQSAgMBEgTKAQsYCg0KBQQSAgMDEgTKARscCgwKAgQTEgbNAQDQAQEKCwoDBBMBEgTNAQgaCgwKBAQTAgASBM4BBBkKDwoFBBMCAAQSBs4BBM0BHAoNCgUEEwIABhIEzgEECAoNCgUEEwIAARIEzgEJFAoNCgUEEwIAAxIEzgEXGAoMCgQEEwIBEgTPAQQhCg0KBQQTAgEEEgTPAQQMCg0KBQQTAgEFEgTPAQ0TCg0KBQQTAgEBEgTPARQcCg0KBQQTAgEDEgTPAR8gCgwKAgQUEgbSAQDfAQEKCwoDBBQBEgTSAQgbCg4KBAQUBAASBtMBBNkBBQoNCgUEFAQAARIE0wEJDwoOCgYEFAQAAgASBNQBCB0KDwoHBBQEAAIAARIE1AEIGAoPCgcEFAQAAgACEgTUARscCg4KBgQUBAACARIE1QEIGwoPCgcEFAQAAgEBEgTVAQgWCg8KBwQUBAACAQISBNUBGRoKDgoGBBQEAAICEgTWAQgbCg8KBwQUBAACAgESBNYBCBYKDwoHBBQEAAICAhIE1gEZGgoOCgYEFAQAAgMSBNcBCB8KDwoHBBQEAAIDARIE1wEIGgoPCgcEFAQAAgMCEgTXAR0eCg4KBgQUBAACBBIE2AEIHwoPCgcEFAQAAgQBEgTYAQgaCg8KBwQUBAACBAISBNgBHR4KDAoEBBQCABIE2gEEGQoPCgUEFAIABBIG2gEE2QEFCg0KBQQUAgAGEgTaAQQICg0KBQQUAgABEgTaAQkUCg0KBQQUAgADEgTaARcYCgwKBAQUAgESBNsBBCwKDQoFBBQCAQQSBNsBBAwKDQoFBBQCAQYSBNsBDR0KDQoFBBQCAQESBNsBHicKDQoFBBQCAQMSBNsBKisKDAoEBBQCAhIE3AEEFgoPCgUEFAICBBIG3AEE2wEsCg0KBQQUAgIGEgTcAQQKCg0KBQQUAgIBEgTcAQsRCg0KBQQUAgIDEgTcARQVCgwKBAQUAgMSBN0BBBYKDwoFBBQCAwQSBt0BBNwBFgoNCgUEFAIDBhIE3QEECgoNCgUEFAIDARIE3QELEQoNCgUEFAIDAxIE3QEUFQoMCgQEFAIEEgTeAQQdCg8KBQQUAgQEEgbeAQTdARYKDQoFBBQCBAUSBN4BBAoKDQoFBBQCBAESBN4BCxgKDQoFBBQCBAMSBN4BGxwKDAoCBBUSBuEBAOMBAQoLCgMEFQESBOEBCCIKDAoEBBUCABIE4gEEGQoPCgUEFQIABBIG4gEE4QEkCg0KBQQVAgAGEgTiAQQICg0KBQQVAgABEgTiAQkUCg0KBQQVAgADEgTiARcYCgwKAgQWEgblAQDnAQEKCwoDBBYBEgTlAQgcCgwKBAQWAgASBOYBBBcKDwoFBBYCAAQSBuYBBOUBHgoNCgUEFgIABhIE5gEEDAoNCgUEFgIAARIE5gENEgoNCgUEFgIAAxIE5gEVFgoMCgIEFxIG6QEA8gEBCgsKAwQXARIE6QEIHQoOCgQEFwQAEgbqAQTuAQUKDQoFBBcEAAESBOoBCQ8KDgoGBBcEAAIAEgTrAQgdCg8KBwQXBAACAAESBOsBCBgKDwoHBBcEAAIAAhIE6wEbHAoOCgYEFwQAAgESBOwBCBsKDwoHBBcEAAIBARIE7AEIFgoPCgcEFwQAAgECEgTsARkaCg4KBgQXBAACAhIE7QEIHgoPCgcEFwQAAgIBEgTtAQgZCg8KBwQXBAACAgISBO0BHB0KDAoEBBcCABIE7wEEFgoPCgUEFwIABBIG7wEE7gEFCg0KBQQXAgAGEgTvAQQKCg0KBQQXAgABEgTvAQsRCg0KBQQXAgADEgTvARQVCgwKBAQXAgESBPABBBYKDwoFBBcCAQQSBvABBO8BFgoNCgUEFwIBBhIE8AEECgoNCgUEFwIBARIE8AELEQoNCgUEFwIBAxIE8AEUFQoMCgQEFwICEgTxAQQdCg8KBQQXAgIEEgbxAQTwARYKDQoFBBcCAgUSBPEBBAoKDQoFBBcCAgESBPEBCxgKDQoFBBcCAgMSBPEBGxwKDAoCBBgSBvQBAPUBAQoLCgMEGAESBPQBCBwKDAoCBBkSBvcBAIECAQoLCgMEGQESBPcBCB0KDgoEBBkEABIG+AEE+wEFCg0KBQQZBAABEgT4AQkPCg4KBgQZBAACABIE+QEIHQoPCgcEGQQAAgABEgT5AQgYCg8KBwQZBAACAAISBPkBGxwKDgoGBBkEAAIBEgT6AQgbCg8KBwQZBAACAQESBPoBCBYKDwoHBBkEAAIBAhIE+gEZGgoMCgQEGQIAEgT9AQQXCg8KBQQZAgAEEgb9AQT7AQUKDQoFBBkCAAYSBP0BBAwKDQoFBBkCAAESBP0BDRIKDQoFBBkCAAMSBP0BFRYKDAoEBBkCARIE/gEEFgoPCgUEGQIBBBIG/gEE/QEXCg0KBQQZAgEGEgT+AQQKCg0KBQQZAgEBEgT+AQsRCg0KBQQZAgEDEgT+ARQVCgwKBAQZAgISBP8BBBYKDwoFBBkCAgQSBv8BBP4BFgoNCgUEGQICBhIE/wEECgoNCgUEGQICARIE/wELEQoNCgUEGQICAxIE/wEUFQoMCgQEGQIDEgSAAgQdCg8KBQQZAgMEEgaAAgT/ARYKDQoFBBkCAwUSBIACBAoKDQoFBBkCAwESBIACCxgKDQoFBBkCAwMSBIACGxwKDAoCBBoSBoMCAIUCAQoLCgMEGgESBIMCCBEKDAoEBBoCABIEhAIEJAoPCgUEGgIABBIGhAIEgwITCg0KBQQaAgAFEgSEAgQLCg0KBQQaAgABEgSEAgwfCg0KBQQaAgADEgSEAiIjCgwKAgQbEgaHAgCJAgEKCwoDBBsBEgSHAggbCgwKBAQbAgASBIgCBBkKDwoFBBsCAAQSBogCBIcCHQoNCgUEGwIABhIEiAIECAoNCgUEGwIAARIEiAIJFAoNCgUEGwIAAxIEiAIXGAoMCgIEHBIGiwIAlwIBCgsKAwQcARIEiwIIHAoOCgQEHAQAEgaMAgSTAgUKDQoFBBwEAAESBIwCCQ8KDgoGBBwEAAIAEgSNAggdCg8KBwQcBAACAAESBI0CCBgKDwoHBBwEAAIAAhIEjQIbHAoOCgYEHAQAAgESBI4CCBsKDwoHBBwEAAIBARIEjgIIFgoPCgcEHAQAAgECEgSOAhkaCg4KBgQcBAACAhIEjwIIGwoPCgcEHAQAAgIBEgSPAggWCg8KBwQcBAACAgISBI8CGRoKDgoGBBwEAAIDEgSQAggfCg8KBwQcBAACAwESBJACCBoKDwoHBBwEAAIDAhIEkAIdHgqKAQoGBBwEAAIEEgSRAggiInogVGhpcyByZWFzb24gd291bGQgYmUgcmV0dXJuZWQgYnkgdGhlIERldmljZSBNYW5hZ2VyIGlmIGRvaW5nIHRoZSByZWJvb3QgY291bGQgbGVhZCB0aGUgZGV2aWNlIHRvIGFuIGluY29uc2lzdGVudCBzdGF0ZS4NCgoPCgcEHAQAAgQBEgSRAggdCg8KBwQcBAACBAISBJECICEKDAoEBBwCABIElAIEFgoPCgUEHAIABBIGlAIEkwIFCg0KBQQcAgAGEgSUAgQKCg0KBQQcAgABEgSUAgsRCg0KBQQcAgADEgSUAhQVCgwKBAQcAgESBJUCBBYKDwoFBBwCAQQSBpUCBJQCFgoNCgUEHAIBBhIElQIECgoNCgUEHAIBARIElQILEQoNCgUEHAIBAxIElQIUFQoMCgQEHAICEgSWAgQdCg8KBQQcAgIEEgaWAgSVAhYKDQoFBBwCAgUSBJYCBAoKDQoFBBwCAgESBJYCCxgKDQoFBBwCAgMSBJYCGxwKowEKAgQdEgabAgCiAgEalAEgUmVxdWVzdCB0byBkaXNhYmxlIGEgaGFyZHdhcmUgY29tcG9uZW50IG9uIGEgZGV2aWNlLg0KIEF0IGxlYXN0IG9uZSBvZiBjb21wb25lbnRfbmFtZSBvciBjb21wb25lbnRfdXVpZCBtdXN0IGJlIHByb3ZpZGVkLCBhbG9uZyB3aXRoIGRldmljZV91dWlkLg0KCgsKAwQdARIEmwIIIQpSCgQEHQIAEgSdAgQZGkQgVVVJRCBvZiB0aGUgZGV2aWNlIGNvbnRhaW5pbmcgdGhlIGNvbXBvbmVudCB0byBkaXNhYmxlIChyZXF1aXJlZCkNCgoPCgUEHQIABBIGnQIEmwIjCg0KBQQdAgAGEgSdAgQICg0KBQQdAgABEgSdAgkUCg0KBQQdAgADEgSdAhcYCmsKBAQdAgESBJ8CBBwaXSBVVUlEIG9mIHRoZSBjb21wb25lbnQgdG8gZGlzYWJsZSAob3B0aW9uYWwsIGJ1dCBlaXRoZXIgdGhpcyBvciBjb21wb25lbnRfbmFtZSBtdXN0IGJlIHNldCkNCgoPCgUEHQIBBBIGnwIEnQIZCg0KBQQdAgEGEgSfAgQICg0KBQQdAgEBEgSfAgkXCg0KBQQdAgEDEgSfAhobCmsKBAQdAgISBKECBB4aXSBOYW1lIG9mIHRoZSBjb21wb25lbnQgdG8gZGlzYWJsZSAob3B0aW9uYWwsIGJ1dCBlaXRoZXIgdGhpcyBvciBjb21wb25lbnRfdXVpZCBtdXN0IGJlIHNldCkNCgoPCgUEHQICBBIGoQIEnwIcCg0KBQQdAgIFEgShAgQKCg0KBQQdAgIBEgShAgsZCg0KBQQdAgIDEgShAhwdCjUKAgQeEgalAgC1AgEaJyBSZXNwb25zZSBmb3IgRGlzYWJsZUhXQ29tcG9uZW50IFJQQy4NCgoLCgMEHgESBKUCCCIKDgoEBB4EABIGpgIErgIFCg0KBQQeBAABEgSmAgkPCg4KBgQeBAACABIEpwIIHQoPCgcEHgQAAgABEgSnAggYCg8KBwQeBAACAAISBKcCGxwKDgoGBB4EAAIBEgSoAggbCg8KBwQeBAACAQESBKgCCBYKDwoHBB4EAAIBAhIEqAIZGgoOCgYEHgQAAgISBKkCCB4KDwoHBB4EAAICARIEqQIIGQoPCgcEHgQAAgICEgSpAhwdCg4KBgQeBAACAxIEqgIIGwoPCgcEHgQAAgMBEgSqAggWCg8KBwQeBAACAwISBKoCGRoKDgoGBB4EAAIEEgSrAggfCg8KBwQeBAACBAESBKsCCBoKDwoHBB4EAAIEAhIEqwIdHgo8CgYEHgQAAgUSBKwCCCAiLCBEaXNhYmxpbmcgdGhpcyBjb21wb25lbnQgaXMgbm90IHN1cHBvcnRlZA0KCg8KBwQeBAACBQESBKwCCBsKDwoHBB4EAAIFAhIErAIeHwpFCgYEHgQAAgYSBK0CCBsiNSBOZWl0aGVyIGNvbXBvbmVudF9uYW1lIG5vciBjb21wb25lbnRfdXVpZCBwcm92aWRlZA0KCg8KBwQeBAACBgESBK0CCBYKDwoHBB4EAAIGAhIErQIZGgpHCgQEHgIAEgSwAgQWGjkgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bCBvciBub3QuDQoKDwoFBB4CAAQSBrACBK4CBQoNCgUEHgIABhIEsAIECgoNCgUEHgIAARIEsAILEQoNCgUEHgIAAxIEsAIUFQorCgQEHgIBEgSyAgQWGh0gUmVhc29uIGZvciBmYWlsdXJlLCBpZiBhbnkNCgoPCgUEHgIBBBIGsgIEsAIWCg0KBQQeAgEGEgSyAgQKCg0KBQQeAgEBEgSyAgsRCg0KBQQeAgEDEgSyAhQVCj4KBAQeAgISBLQCBB0aMCBIdW1hbi1yZWFkYWJsZSBkZXRhaWxzIGZvciBsb2dnaW5nIG9yIGRpc3BsYXkNCgoPCgUEHgICBBIGtAIEsgIWCg0KBQQeAgIFEgS0AgQKCg0KBQQeAgIBEgS0AgsYCg0KBQQeAgIDEgS0AhscCqEBCgIEHxIGuQIAwAIBGpIBIFJlcXVlc3QgdG8gcmVzZXQgYSBoYXJkd2FyZSBjb21wb25lbnQgb24gYSBkZXZpY2UuDQogQXQgbGVhc3Qgb25lIG9mIGNvbXBvbmVudF9uYW1lIG9yIGNvbXBvbmVudF91dWlkIG11c3QgYmUgcHJvdmlkZWQsIGFsb25nIHdpdGggZGV2aWNlX3V1aWQuDQoKCwoDBB8BEgS5AggfClAKBAQfAgASBLsCBBkaQiBVVUlEIG9mIHRoZSBkZXZpY2UgY29udGFpbmluZyB0aGUgY29tcG9uZW50IHRvIHJlc2V0IChyZXF1aXJlZCkNCgoPCgUEHwIABBIGuwIEuQIhCg0KBQQfAgAGEgS7AgQICg0KBQQfAgABEgS7AgkUCg0KBQQfAgADEgS7AhcYCmkKBAQfAgESBL0CBBwaWyBVVUlEIG9mIHRoZSBjb21wb25lbnQgdG8gcmVzZXQgKG9wdGlvbmFsLCBidXQgZWl0aGVyIHRoaXMgb3IgY29tcG9uZW50X25hbWUgbXVzdCBiZSBzZXQpDQoKDwoFBB8CAQQSBr0CBLsCGQoNCgUEHwIBBhIEvQIECAoNCgUEHwIBARIEvQIJFwoNCgUEHwIBAxIEvQIaGwppCgQEHwICEgS/AgQeGlsgTmFtZSBvZiB0aGUgY29tcG9uZW50IHRvIHJlc2V0IChvcHRpb25hbCwgYnV0IGVpdGhlciB0aGlzIG9yIGNvbXBvbmVudF91dWlkIG11c3QgYmUgc2V0KQ0KCg8KBQQfAgIEEga/AgS9AhwKDQoFBB8CAgUSBL8CBAoKDQoFBB8CAgESBL8CCxkKDQoFBB8CAgMSBL8CHB0KMwoCBCASBsMCANMCARolIFJlc3BvbnNlIGZvciBSZXNldEhXQ29tcG9uZW50IFJQQy4NCgoLCgMEIAESBMMCCCAKDgoEBCAEABIGxAIEzAIFCg0KBQQgBAABEgTEAgkPCg4KBgQgBAACABIExQIIHQoPCgcEIAQAAgABEgTFAggYCg8KBwQgBAACAAISBMUCGxwKDgoGBCAEAAIBEgTGAggbCg8KBwQgBAACAQESBMYCCBYKDwoHBCAEAAIBAhIExgIZGgoOCgYEIAQAAgISBMcCCB4KDwoHBCAEAAICARIExwIIGQoPCgcEIAQAAgICEgTHAhwdCg4KBgQgBAACAxIEyAIIGwoPCgcEIAQAAgMBEgTIAggWCg8KBwQgBAACAwISBMgCGRoKDgoGBCAEAAIEEgTJAggfCg8KBwQgBAACBAESBMkCCBoKDwoHBCAEAAIEAhIEyQIdHgo8CgYEIAQAAgUSBMoCCB4iLCBSZXNldHRpbmcgdGhpcyBjb21wb25lbnQgaXMgbm90IHN1cHBvcnRlZA0KCg8KBwQgBAACBQESBMoCCBkKDwoHBCAEAAIFAhIEygIcHQpFCgYEIAQAAgYSBMsCCBsiNSBOZWl0aGVyIGNvbXBvbmVudF9uYW1lIG5vciBjb21wb25lbnRfdXVpZCBwcm92aWRlZA0KCg8KBwQgBAACBgESBMsCCBYKDwoHBCAEAAIGAhIEywIZGgpHCgQEIAIAEgTOAgQWGjkgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bCBvciBub3QuDQoKDwoFBCACAAQSBs4CBMwCBQoNCgUEIAIABhIEzgIECgoNCgUEIAIAARIEzgILEQoNCgUEIAIAAxIEzgIUFQorCgQEIAIBEgTQAgQWGh0gUmVhc29uIGZvciBmYWlsdXJlLCBpZiBhbnkNCgoPCgUEIAIBBBIG0AIEzgIWCg0KBQQgAgEGEgTQAgQKCg0KBQQgAgEBEgTQAgsRCg0KBQQgAgEDEgTQAhQVCj4KBAQgAgISBNICBB0aMCBIdW1hbi1yZWFkYWJsZSBkZXRhaWxzIGZvciBsb2dnaW5nIG9yIGRpc3BsYXkNCgoPCgUEIAICBBIG0gIE0AIWCg0KBQQgAgIFEgTSAgQKCg0KBQQgAgIBEgTSAgsYCg0KBQQgAgIDEgTSAhscCqIBCgIEIRIG1wIA3gIBGpMBIFJlcXVlc3QgdG8gZW5hYmxlIGEgaGFyZHdhcmUgY29tcG9uZW50IG9uIGEgZGV2aWNlLg0KIEF0IGxlYXN0IG9uZSBvZiBjb21wb25lbnRfbmFtZSBvciBjb21wb25lbnRfdXVpZCBtdXN0IGJlIHByb3ZpZGVkLCBhbG9uZyB3aXRoIGRldmljZV91dWlkLg0KCgsKAwQhARIE1wIIIApRCgQEIQIAEgTZAgQZGkMgVVVJRCBvZiB0aGUgZGV2aWNlIGNvbnRhaW5pbmcgdGhlIGNvbXBvbmVudCB0byBlbmFibGUgKHJlcXVpcmVkKQ0KCg8KBQQhAgAEEgbZAgTXAiIKDQoFBCECAAYSBNkCBAgKDQoFBCECAAESBNkCCRQKDQoFBCECAAMSBNkCFxgKagoEBCECARIE2wIEHBpcIFVVSUQgb2YgdGhlIGNvbXBvbmVudCB0byBlbmFibGUgKG9wdGlvbmFsLCBidXQgZWl0aGVyIHRoaXMgb3IgY29tcG9uZW50X25hbWUgbXVzdCBiZSBzZXQpDQoKDwoFBCECAQQSBtsCBNkCGQoNCgUEIQIBBhIE2wIECAoNCgUEIQIBARIE2wIJFwoNCgUEIQIBAxIE2wIaGwpqCgQEIQICEgTdAgQeGlwgTmFtZSBvZiB0aGUgY29tcG9uZW50IHRvIGVuYWJsZSAob3B0aW9uYWwsIGJ1dCBlaXRoZXIgdGhpcyBvciBjb21wb25lbnRfdXVpZCBtdXN0IGJlIHNldCkNCgoPCgUEIQICBBIG3QIE2wIcCg0KBQQhAgIFEgTdAgQKCg0KBQQhAgIBEgTdAgsZCg0KBQQhAgIDEgTdAhwdCjQKAgQiEgbhAgDxAgEaJiBSZXNwb25zZSBmb3IgRW5hYmxlSFdDb21wb25lbnQgUlBDLg0KCgsKAwQiARIE4QIIIQoOCgQEIgQAEgbiAgTqAgUKDQoFBCIEAAESBOICCQ8KDgoGBCIEAAIAEgTjAggdCg8KBwQiBAACAAESBOMCCBgKDwoHBCIEAAIAAhIE4wIbHAoOCgYEIgQAAgESBOQCCBsKDwoHBCIEAAIBARIE5AIIFgoPCgcEIgQAAgECEgTkAhkaCg4KBgQiBAACAhIE5QIIHgoPCgcEIgQAAgIBEgTlAggZCg8KBwQiBAACAgISBOUCHB0KDgoGBCIEAAIDEgTmAggbCg8KBwQiBAACAwESBOYCCBYKDwoHBCIEAAIDAhIE5gIZGgoOCgYEIgQAAgQSBOcCCB8KDwoHBCIEAAIEARIE5wIIGgoPCgcEIgQAAgQCEgTnAh0eCjsKBgQiBAACBRIE6AIIHyIrIEVuYWJsaW5nIHRoaXMgY29tcG9uZW50IGlzIG5vdCBzdXBwb3J0ZWQNCgoPCgcEIgQAAgUBEgToAggaCg8KBwQiBAACBQISBOgCHR4KRQoGBCIEAAIGEgTpAggbIjUgTmVpdGhlciBjb21wb25lbnRfbmFtZSBub3IgY29tcG9uZW50X3V1aWQgcHJvdmlkZWQNCgoPCgcEIgQAAgYBEgTpAggWCg8KBwQiBAACBgISBOkCGRoKRwoEBCICABIE7AIEFho5IEluZGljYXRlcyB3aGV0aGVyIHRoZSBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwgb3Igbm90Lg0KCg8KBQQiAgAEEgbsAgTqAgUKDQoFBCICAAYSBOwCBAoKDQoFBCICAAESBOwCCxEKDQoFBCICAAMSBOwCFBUKKwoEBCICARIE7gIEFhodIFJlYXNvbiBmb3IgZmFpbHVyZSwgaWYgYW55DQoKDwoFBCICAQQSBu4CBOwCFgoNCgUEIgIBBhIE7gIECgoNCgUEIgIBARIE7gILEQoNCgUEIgIBAxIE7gIUFQo+CgQEIgICEgTwAgQdGjAgSHVtYW4tcmVhZGFibGUgZGV0YWlscyBmb3IgbG9nZ2luZyBvciBkaXNwbGF5DQoKDwoFBCICAgQSBvACBO4CFgoNCgUEIgICBRIE8AIECgoNCgUEIgICARIE8AILGAoNCgUEIgICAxIE8AIbHAoMCgIGABIG8wIAvgMBCgsKAwYAARIE8wIIIQqqAwoEBgACABIE/QIEXRqbAyBJbml0aWFsaXplcyBjb250ZXh0IGZvciBhIGRldmljZSBhbmQgc2V0cyB1cCByZXF1aXJlZCBzdGF0ZXMNCiBJbiB0aGUgY2FsbCB0byBTdGFydE1hbmFnaW5nRGV2aWNlLCB0aGUgZmllbGRzIG9mIE1vZGlmaWFibGVDb21wb25lbnQgd2hpY2ggYXJlIHJlbGV2YW50DQogYW5kIHRoZWlyIG1lYW5pbmdzIGluIHRoaXMgY29udGV4dCBpcyBtZW50aW9uZWQgYmVsb3c6DQogbmFtZSA9IFRoZSB1bmlxdWUgbmFtZSB0aGF0IG5lZWRzIHRvIGJlIGFzc2lnbmVkIHRvIHRoaXMgaGFyZHdhcmU7DQogY2xhc3MgPSBDT01QT05FTlRfVFlQRV9VTkRFRklORUQ7DQogcGFyZW50ID0gbmlsOw0KIGFsaWFzID0gT3B0aW9uYWw7DQogYXNzZXRfaWQgPSBPcHRpb25hbDsNCiB1cmkgPSBJUCBBZGRyZXNzIG9mIHRoZSBIYXJkd2FyZTsNCgoNCgUGAAIAARIE/QIIGwoNCgUGAAIAAhIE/QIcLwoNCgUGAAIABhIE/QI5PwoNCgUGAAIAAxIE/QJAWwrlAQoEBgACARIEggMEWhrWASBTdG9wIG1hbmFnZW1lbnQgb2YgYSBkZXZpY2UgYW5kIGNsZWFuIHVwIGFueSBjb250ZXh0IGFuZCBjYWNoZXMgZm9yIHRoYXQgZGV2aWNlDQogVGhpcyBycGMgY2FuIGJlIGNhbGxlZCBhdCBhbnkgdGltZSwgZXZlbiBiZWZvcmUgdGhlIFN0YXJ0TWFuYWdpbmdEZXZpY2Ugb3BlcmF0aW9uDQogaGFzIGNvbXBsZXRlZCwgYW5kIHNob3VsZCBiZSBhYmxlIHRvIGNsZWFudXAuDQoKDQoFBgACAQESBIIDCBoKDQoFBgACAQISBIIDGzQKDQoFBgACAQMSBIIDPlgKVgoEBgACAhIEhQMEURpIIFJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgYSBsaXN0IG9mIGRldmljZXMgbWFuYWdlZCBieSB0aGlzIGVudGl0eQ0KCg0KBQYAAgIBEgSFAwgZCg0KBQYAAgICEgSFAxovCg0KBQYAAgIDEgSFAzlPCjsKBAYAAgMSBIgDBGEaLSBHZXQgdGhlIEhXIGludmVudG9yeSBkZXRhaWxzIG9mIHRoZSBEZXZpY2UNCgoNCgUGAAIDARIEiAMIHAoNCgUGAAIDAhIEiAMdNQoNCgUGAAIDBhIEiAM/RQoNCgUGAAIDAxIEiANGXwo9CgQGAAIEEgSLAwRhGi8gR2V0IHRoZSBkZXRhaWxzIG9mIGEgcGFydGljdWxhciBIVyBjb21wb25lbnQNCgoNCgUGAAIEARIEiwMIGgoNCgUGAAIEAhIEiwMbNAoNCgUGAAIEBhIEiwM+RAoNCgUGAAIEAxIEiwNFXwpCCgQGAAIFEgSOAwRaGjQgU2V0cyB0aGUgcGVybWlzc2libGUgYXR0cmlidXRlcyBvZiBhIEhXIGNvbXBvbmVudA0KCg0KBQYAAgUBEgSOAwgaCg0KBQYAAgUCEgSOAxs0Cg0KBQYAAgUDEgSOAz5YCkMKBAYAAgYSBJEDBFkaNSBTZXRzIHRoZSBsb2NhdGlvbiB0byB3aGljaCBsb2dzIG5lZWQgdG8gYmUgc2hpcHBlZA0KCg0KBQYAAgYBEgSRAwgaCg0KBQYAAgYCEgSRAxs0Cg0KBQYAAgYDEgSRAz5XClEKBAYAAgcSBJQDBEsaQyBHZXRzIHRoZSBjb25maWd1cmVkIGxvY2F0aW9uIHRvIHdoaWNoIHRoZSBsb2dzIGFyZSBiZWluZyBzaGlwcGVkDQoKDQoFBgACBwESBJQDCBoKDQoFBgACBwISBJQDGyUKDQoFBgACBwMSBJQDL0kKXQoEBgACCBIElwMEVxpPIFNldHMgdGhlIGxvY2F0aW9uIG9mIHRoZSBNZXNzYWdlIEJ1cyB0byB3aGljaCBldmVudHMgYW5kIG1ldHJpY3MgYXJlIHNoaXBwZWQNCgoNCgUGAAIIARIElwMIGQoNCgUGAAIIAhIElwMaMgoNCgUGAAIIAxIElwM8VQpfCgQGAAIJEgSaAwRUGlEgR2V0cyB0aGUgY29uZmlndXJlZCBsb2NhdGlvbiB0byB3aGljaCB0aGUgZXZlbnRzIGFuZCBtZXRyaWNzIGFyZSBiZWluZyBzaGlwcGVkDQoKDQoFBgACCQESBJoDCBkKDQoFBgACCQISBJoDGi8KDQoFBgACCQMSBJoDOVIKjQIKBAYAAgoSBJ8DBFUa/gEgR2V0cyB0aGUgZW50aXRpZXMgb2YgYSBkZXZpY2Ugb24gd2hpY2ggbG9nIGNhbiBiZSBjb25maWd1cmVkLiBBIGZldyBhcmUgZXhwZWN0ZWQsIGxpa2UgT1MsIFBPTiBNYW5hZ2VtZW50IGV0Yy4NCiBJbiBnZW5lcmFsIGFuIGVudGl0eSBpcyBhbnkgaXRlbSB3aXRoaW4gYW4gaGFyZHdhcmUgc3lzdGVtIHRoYXQgY2FuIGVtaXQgbG9ncywgZS5nLiBzZXJ2aWNlLCBwcm9jZXNzLCBzdWJzeXN0ZW0sDQogaW50ZXJmYWNlLCBwYWNrYWdlIGV0Yy4NCgoNCgUGAAIKARIEnwMIGwoNCgUGAAIKAhIEnwMcNgoNCgUGAAIKAxIEnwNAUwqqAgoEBgACCxIEpAMERRqbAiBTZXRzIHRoZSBsb2cgbGV2ZWwgb2YgdGhlIGRldmljZSwgZm9yIGVhY2ggZ2l2ZW4gZW50aXR5IHRvIGEgY2VydGFpbiBsZXZlbC4NCiBJZiBvbmx5IG9uZSBFbnRpdGllc0xvZ0xldmVsIGlzIHByb3ZpZGVkIGZvciB0aGUgZGV2aWNlIGFuZCB0aGF0IHJlcXVlc3QgY29udGFpbnMgb25seSBhIGxvZyBsZXZlbCB3aXRoDQogbm8gZW50aXR5IGluIHRoZSBsaXN0IGl0J3MgYXNzdW1lZCB0aGF0IHRoZSBjYWxsZXIgd2FudHMgdG8gc2V0IHRoYXQgbGV2ZWwgZm9yIGFsbCB0aGUgZW50aXRpZXMuDQoKDQoFBgACCwESBKQDCBMKDQoFBgACCwISBKQDFCYKDQoFBgACCwMSBKQDMEMKvgEKBAYAAgwSBKgDBEUarwEgR2V0cyB0aGUgY29uZmlndXJlZCBsb2cgbGV2ZWwgZm9yIGEgY2VydGFpbiBlbnRpdHkgb24gYSBjZXJ0YWluIGRldmljZS4NCiBJZiBubyBlbnRpdHkgaXMgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IGFsbCB0aGUgZW50aXRpZXMgd2l0aCB0aGVpciBsb2cgbGV2ZWwgc2hvdWxkIGJlIHJldHVybmVkLg0KCg0KBQYAAgwBEgSoAwgTCg0KBQYAAgwCEgSoAxQmCg0KBQYAAgwDEgSoAzBDCi0KBAYAAg0SBKsDBEIaHyBQZXJmb3JtcyB0aGUgaGVhcnRiZWF0IGNoZWNrDQoKDQoFBgACDQESBKsDCBYKDQoFBgACDQISBKsDFywKDQoFBgACDQMSBKsDN0AKMgoEBgACDhIErgMESBokIFBlcmZvcm1zIHRoZSByZWJvb3Qgb2YgdGhlIGRldmljZQ0KCg0KBQYAAg4BEgSuAwgUCg0KBQYAAg4CEgSuAxUoCg0KBQYAAg4DEgSuAzJGCkAKBAYAAg8SBLEDBEsaMiBTZXRzIHRoZSBsb2cgbGV2ZWwgb2YgdGhlIERldmljZSBNYW5hZ2VyIGl0c2VsZg0KCg0KBQYAAg8BEgSxAwgVCg0KBQYAAg8CEgSxAxYqCg0KBQYAAg8DEgSxAzRJCkoKBAYAAhASBLQDBEsaPCBHZXRzIHRoZSBsb2cgbGV2ZWwgYXQgd2hpY2ggdGhlIERldmljZSBNYW5hZ2VyIGlzIHJ1bm5pbmcNCgoNCgUGAAIQARIEtAMIFQoNCgUGAAIQAhIEtAMWKgoNCgUGAAIQAxIEtAM0SQo7CgQGAAIREgS3AwRaGi0gRGlzYWJsZXMgYSBoYXJkd2FyZSBjb21wb25lbnQgb24gYSBkZXZpY2UuDQoKDQoFBgACEQESBLcDCBoKDQoFBgACEQISBLcDGzQKDQoFBgACEQMSBLcDPlgKOQoEBgACEhIEugMEVBorIFJlc2V0cyBhIGhhcmR3YXJlIGNvbXBvbmVudCBvbiBhIGRldmljZS4NCgoNCgUGAAISARIEugMIGAoNCgUGAAISAhIEugMZMAoNCgUGAAISAxIEugM6Ugo6CgQGAAITEgS9AwRXGiwgRW5hYmxlcyBhIGhhcmR3YXJlIGNvbXBvbmVudCBvbiBhIGRldmljZS4NCgoNCgUGAAITARIEvQMIGQoNCgUGAAITAhIEvQMaMgoNCgUGAAITAxIEvQM8VWIGcHJvdG8zCoNFCiFkbWkvaHdfbWV0cmljc19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvIocBCgxNZXRyaWNDb25maWcSLQoJbWV0cmljX2lkGAEgASgOMhAuZG1pLk1ldHJpY05hbWVzUghtZXRyaWNJZBIjCg1pc19jb25maWd1cmVkGAIgASgIUgxpc0NvbmZpZ3VyZWQSIwoNcG9sbF9pbnRlcnZhbBgDIAEoDVIMcG9sbEludGVydmFsIjwKDU1ldHJpY3NDb25maWcSKwoHbWV0cmljcxgBIAMoCzIRLmRtaS5NZXRyaWNDb25maWdSB21ldHJpY3MipgIKE0xpc3RNZXRyaWNzUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjcKBnJlYXNvbhgCIAEoDjIfLmRtaS5MaXN0TWV0cmljc1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiwKB21ldHJpY3MYAyABKAsyEi5kbWkuTWV0cmljc0NvbmZpZ1IHbWV0cmljcxIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMisgEKG01ldHJpY3NDb25maWd1cmF0aW9uUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEi4KB2NoYW5nZXMYAiABKAsyEi5kbWkuTWV0cmljc0NvbmZpZ0gAUgdjaGFuZ2VzEioKEHJlc2V0X3RvX2RlZmF1bHQYAyABKAhIAFIOcmVzZXRUb0RlZmF1bHRCCwoJb3BlcmF0aW9uIr4CChxNZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxJACgZyZWFzb24YAiABKA4yKC5kbWkuTWV0cmljc0NvbmZpZ3VyYXRpb25SZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwikQEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEh0KGVBPTExfSU5URVJWQUxfVU5TVVBQT1JURUQQAxISCg5JTlZBTElEX01FVFJJQxAEEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAFIpUBCg5NZXRyaWNNZXRhRGF0YRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUipQEKBk1ldHJpYxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEjwKD21ldHJpY19tZXRhZGF0YRgCIAEoCzITLmRtaS5NZXRyaWNNZXRhRGF0YVIObWV0cmljTWV0YWRhdGESLgoFdmFsdWUYAyABKAsyGC5kbWkuQ29tcG9uZW50U2Vuc29yRGF0YVIFdmFsdWUicwoQR2V0TWV0cmljUmVxdWVzdBIwCgltZXRhX2RhdGEYASABKAsyEy5kbWkuTWV0cmljTWV0YURhdGFSCG1ldGFEYXRhEi0KCW1ldHJpY19pZBgCIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQixQIKEUdldE1ldHJpY1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI1CgZyZWFzb24YAiABKA4yHS5kbWkuR2V0TWV0cmljUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoGbWV0cmljGAMgASgLMgsuZG1pLk1ldHJpY1IGbWV0cmljEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCKJAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhUKEVVOS05PV05fQ09NUE9ORU5UEAISEgoOSU5URVJOQUxfRVJST1IQAxISCg5JTlZBTElEX01FVFJJQxAEEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAFKtkFCgtNZXRyaWNOYW1lcxIZChVNRVRSSUNfTkFNRV9VTkRFRklORUQQABIUChBNRVRSSUNfRkFOX1NQRUVEEAESEwoPTUVUUklDX0NQVV9URU1QEGQSHwobTUVUUklDX0NQVV9VU0FHRV9QRVJDRU5UQUdFEGUSHAoXTUVUUklDX1RSQU5TQ0VJVkVSX1RFTVAQyAESHwoaTUVUUklDX1RSQU5TQ0VJVkVSX1ZPTFRBR0UQyQESHAoXTUVUUklDX1RSQU5TQ0VJVkVSX0JJQVMQygESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1JYX1BPV0VSEMsBEiAKG01FVFJJQ19UUkFOU0NFSVZFUl9UWF9QT1dFUhDMARIiCh1NRVRSSUNfVFJBTlNDRUlWRVJfV0FWRUxFTkdUSBDNARIVChBNRVRSSUNfRElTS19URU1QEKwCEhkKFE1FVFJJQ19ESVNLX0NBUEFDSVRZEK0CEhYKEU1FVFJJQ19ESVNLX1VTQUdFEK4CEiEKHE1FVFJJQ19ESVNLX1VTQUdFX1BFUkNFTlRBR0UQrwISJgohTUVUUklDX0RJU0tfUkVBRF9XUklURV9QRVJDRU5UQUdFELACEigKI01FVFJJQ19ESVNLX0ZBVUxUWV9DRUxMU19QRVJDRU5UQUdFELECEhQKD01FVFJJQ19SQU1fVEVNUBCQAxIYChNNRVRSSUNfUkFNX0NBUEFDSVRZEJEDEhUKEE1FVFJJQ19SQU1fVVNBR0UQkgMSIAobTUVUUklDX1JBTV9VU0FHRV9QRVJDRU5UQUdFEJMDEhUKEE1FVFJJQ19QT1dFUl9NQVgQ9AMSFwoSTUVUUklDX1BPV0VSX1VTQUdFEPUDEiIKHU1FVFJJQ19QT1dFUl9VU0FHRV9QRVJDRU5UQUdFEPYDEiIKHU1FVFJJQ19JTk5FUl9TVVJST1VORElOR19URU1QENgEMrECCh5OYXRpdmVNZXRyaWNzTWFuYWdlbWVudFNlcnZpY2USOAoLTGlzdE1ldHJpY3MSDy5kbWkuSGFyZHdhcmVJRBoYLmRtaS5MaXN0TWV0cmljc1Jlc3BvbnNlEmEKGlVwZGF0ZU1ldHJpY3NDb25maWd1cmF0aW9uEiAuZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVxdWVzdBohLmRtaS5NZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlEjoKCUdldE1ldHJpYxIVLmRtaS5HZXRNZXRyaWNSZXF1ZXN0GhYuZG1pLkdldE1ldHJpY1Jlc3BvbnNlEjYKDVN0cmVhbU1ldHJpY3MSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaCy5kbWkuTWV0cmljMAFCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSuEtCgcSBQAAnwEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCgkKAgMCEgMHACUK2AEKAgUAEgQOADUBMo4BIFRoZSBtb2RlbCB1c2VkIHRvIHJlcHJlc2VudCB0aGUgZXZlbnQgZGF0YSBvbiB0aGUgU2Vuc29yRGF0YSBvZiBhIGNvbXBvbmVudCBhcyBkZXNjcmliZWQNCiBpbiBSRkM4MzQ4IChodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjODM0OCkNCjI7IE1hbmFnZW1lbnQgb2YgTWV0cmljcyBhbmQgcHJvdG9zIGZvciBlbmNvZGluZyBvZiBNZXRyaWNzDQoKCgoDBQABEgMOBRAKCwoEBQACABIDDwQeCgwKBQUAAgABEgMPBBkKDAoFBQACAAISAw8cHQojCgQFAAIBEgMSBBkaFiBGQU4gcmVsYXRlZCBtZXRyaWNzDQoKDAoFBQACAQESAxIEFAoM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ngEIFQoNCgUGAAIDAhIEngEWKwoNCgUGAAIDBhIEngE1OwoNCgUGAAIDAxIEngE8QmIGcHJvdG8zCvkfChJkbWkvc3dfaW1hZ2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8iRwoMSW1hZ2VWZXJzaW9uEh0KCmltYWdlX25hbWUYASABKAlSCWltYWdlTmFtZRIYCgd2ZXJzaW9uGAIgASgJUgd2ZXJzaW9uIqgBChBJbWFnZUluZm9ybWF0aW9uEicKBWltYWdlGAEgASgLMhEuZG1pLkltYWdlVmVyc2lvblIFaW1hZ2USMAoUaW1hZ2VfaW5zdGFsbF9zY3JpcHQYAiABKAlSEmltYWdlSW5zdGFsbFNjcmlwdBIbCglpbWFnZV91cmwYAyABKAlSCGltYWdlVXJsEhwKCXNoYTI1NnN1bRgFIAEoCVIJc2hhMjU2c3VtIpQFCgtJbWFnZVN0YXR1cxIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSLwoGcmVhc29uGAIgASgOMhcuZG1pLkltYWdlU3RhdHVzLlJlYXNvblIGcmVhc29uEjEKBXN0YXRlGAMgASgOMhsuZG1pLkltYWdlU3RhdHVzLkltYWdlU3RhdGVSBXN0YXRlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwi0AEKCkltYWdlU3RhdGUSEwoPVU5ERUZJTkVEX1NUQVRFEAASEQoNQ09QWUlOR19JTUFHRRABEhQKEElOU1RBTExJTkdfSU1BR0UQAhIUChBDT01NSVRUSU5HX0lNQUdFEAMSFAoQUkVCT09USU5HX0RFVklDRRAEEhQKEFVQR1JBREVfQ09NUExFVEUQBRISCg5VUEdSQURFX0ZBSUxFRBAGEhcKE0FDVElWQVRJT05fQ09NUExFVEUQBxIVChFBQ1RJVkFUSU9OX0ZBSUxFRBAIIuEBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhQKEEVSUk9SX0lOX1JFUVVFU1QQARISCg5JTlRFUk5BTF9FUlJPUhACEhkKFURFVklDRV9JTl9XUk9OR19TVEFURRADEhEKDUlOVkFMSURfSU1B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dFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SMwoEaW5mbxgDIAEoCzIfLmRtaS5Tb2Z0d2FyZVZlcnNpb25JbmZvcm1hdGlvblIEaW5mbxIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMieAoURG93bmxvYWRJbWFnZVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBI0CgppbWFnZV9pbmZvGAIgASgLMhUuZG1pLkltYWdlSW5mb3JtYXRpb25SCWltYWdlSW5mbyJaCg1Db25maWdSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSHQoKY29uZmlnX3VybBgCIAEoCVIJY29uZmlnVXJsIsECCg5Db25maWdSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSMgoGcmVhc29uGAIgASgOMhouZG1pLkNvbmZpZ1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKwAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISGQoVRVJST1JfRkVUQ0hJTkdfQ09ORklHEAMSEgoOSU5WQUxJRF9DT05GSUcQBBIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxAFEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAGIkYKGFN0YXJ0dXBDb25maWdJbmZvUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIr0CChlTdGFydHVwQ29uZmlnSW5mb1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI9CgZyZWFzb24YAiABKA4yJS5kbWkuU3RhcnR1cENvbmZpZ0luZm9SZXNwb25zZS5SZWFzb25SBnJlYXNvbhIdCgpjb25maWdfdXJsGAMgASgJUgljb25maWdVcmwSGAoHdmVyc2lvbhgEIAEoCVIHdmVyc2lvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMiZwoWVXBsb2FkRGVidWdJbmZvUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEiEKDGxvY2F0aW9uX3VybBgDIAEoCVILbG9jYXRpb25VcmwiqgUKFVVwbG9hZERlYnVnSW5mb1N0YXR1cxIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEj8KBnN0YXR1cxgCIAEoDjInLmRtaS5VcGxvYWREZWJ1Z0luZm9TdGF0dXMuVXBsb2FkU3RhdHVzUgZzdGF0dXMSKQoQcGVyY2VudF91cGxvYWRlZBgDIAEoBVIPcGVyY2VudFVwbG9hZGVkEjkKBnJlYXNvbhgEIAEoDjIhLmRtaS5VcGxvYWREZWJ1Z0luZm9TdGF0dXMuUmVhc29uUgZyZWFzb24SIQoMbG9jYXRpb25fdXJsGAUgASgJUgtsb2NhdGlvblVybBIbCglmaWxlX25hbWUYBiABKAlSCGZpbGVOYW1lIlUKDFVwbG9hZFN0YXR1cxIbChdVTkRFRklORURfVVBMT0FEX1NUQVRVUxAAEgwKCENPTVBMRVRFEAESDwoLSU5fUFJPR1JFU1MQAhIJCgVFUlJPUhADIqYCCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIYChRERVZJQ0VfTk9UX1JFQUNIQUJMRRADEh8KG1JFTU9URV9MT0NBVElPTl9VTlJFQUNIQUJMRRAEEiUKIVJFTU9URV9MT0NBVElPTl9QRVJNSVNTSU9OX0RFTklFRBAFEhcKE0VSUk9SX0RVUklOR19VUExPQUQQBhIPCgtERVZJQ0VfQlVTWRAHEhQKEEVSUk9SX0lOX1JFUVVFU1QQCBIZChVERVZJQ0VfSU5fV1JPTkdfU1RBVEUQCRIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxAKMpwECh9OYXRpdmVTb2Z0d2FyZU1hbmFnZW1lbnRTZXJ2aWNlElEKEkdldFNvZnR3YXJlVmVyc2lvbhIPLmRtaS5IYXJkd2FyZUlEGiouZG1pLkdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USPgoNRG93bmxvYWRJbWFnZRIZLmRtaS5Eb3dubG9hZEltYWdlUmVxdWVzdBoQLmRtaS5JbWFnZVN0YXR1czABEjQKDUFjdGl2YXRlSW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRtaS5JbWFnZVN0YXR1czABEjsKFFJldmVydFRvU3RhbmRieUltYWdlEg8uZG1pLkhhcmR3YXJlSUQaEC5kbWkuSW1hZ2VTdGF0dXMwARJHChpVcGRhdGVTdGFydHVwQ29uZmlndXJhdGlvbhISLmRtaS5Db25maWdSZXF1ZXN0GhMuZG1pLkNvbmZpZ1Jlc3BvbnNlMAESXAobR2V0U3RhcnR1cENvbmZpZ3VyYXRpb25JbmZvEh0uZG1pLlN0YXJ0dXBDb25maWdJbmZvUmVxdWVzdBoeLmRtaS5TdGFydHVwQ29uZmlnSW5mb1Jlc3BvbnNlEkwKD1VwbG9hZERlYnVnSW5mbxIbLmRtaS5VcGxvYWREZWJ1Z0luZm9SZXF1ZXN0GhouZG1pLlVwbG9hZERlYnVnSW5mb1N0YXR1czABQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUqhOwoHEgUAAKMBAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKCQoCAwESAwYAFgoJCgIDAhIDBwAcCu4BCgIEABIEDwASATKnASBUaGUgc29mdHdhcmUgbWFuYWdlbWVudCBjb25jZXB0IGRlc2Ny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