CuEFChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKj8KBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASDQoJT0tfU1RBVFVTEAESEAoMRVJST1JfU1RBVFVTEAIqPwoITG9nTGV2ZWwSCQoFVFJBQ0UQABIJCgVERUJVRxABEggKBElORk8QAhIICgRXQVJOEAMSCQoFRVJST1IQBEI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK/wMKBhIEAAAUAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMClQKAgUAEgQHAAsBMkggQ29tbW9uIHN0cnVjdHVyZXMgdXNlZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBEZXZpY2UgTWFuYWdlbWVudCBzZXJ2aWNlcwoKCgoDBQABEgMHBQsKCwoEBQACABIDCAQZCgwKBQUAAgABEgMIBBQKDAoFBQACAAISAwgXGAoLCgQFAAIBEgMJBBIKDAoFBQACAQESAwkEDQoMCgUFAAIBAhIDCRARCgsKBAUAAgISAwoEFQoMCgUFAAICARIDCgQQCgwKBQUAAgICEgMKExQKFgoCBQESBA4AFAEaCkxvZyBMZXZlbAoKCgoDBQEBEgMOBQ0KCwoEBQECABIDDwQOCgwKBQUBAgABEgMPBAkKDAoFBQECAAISAw8MDQoLCgQFAQIBEgMQBA4KDAoFBQECAQESAxAECQoMCgUFAQIBAhIDEAwNCgsKBAUBAgISAxEEDgoMCgUFAQICARIDEQQICgwKBQUBAgICEgMRDA0KCwoEBQECAxIDEgQOCgwKBQUBAgMBEgMSBAgKDAoFBQECAwISAxIMDQoLCgQFAQIEEgMTBA4KDAoFBQECBAESAxMECQoMCgUFAQIEAhIDEwwNYgZwcm90bzMK8i8KH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI7CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIOVGltZXN0YW1wUHJvdG9QAVorZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL3RpbWVzdGFtcPgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r4LQoHEgUeAIgBAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAHwoJCgIIHxIDIwAfCggKAQgSAyQAQgoJCgIICxIDJABCCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYALwoJCgIICBIDJgAvCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCvEbCgIEABIFfACIAQEa4xsgQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gY3VycmVudCB0aW1lIGluIFB5dGhvbi4KCiAgICAgdGltZXN0YW1wID0gVGltZXN0YW1wKCkKICAgICB0aW1lc3RhbXAuR2V0Q3VycmVudFRpbWUoKQoKICMgSlNPTiBNYXBwaW5nCgogSW4gSlNPTiBmb3JtYXQsIHRoZSBUaW1lc3RhbXAgdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIGluIHRoZQogW1JGQyAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGZvcm1hdC4gVGhhdCBpcywgdGhlCiBmb3JtYXQgaXMgInt5ZWFyfS17bW9udGh9LXtkYXl9VHtob3VyfTp7bWlufTp7c2VjfVsue2ZyYWNfc2VjfV1aIgogd2hlcmUge3llYXJ9IGlzIGFsd2F5cyBleHByZXNzZWQgdXNpbmcgZm91ciBkaWdpdHMgd2hpbGUge21vbnRofSwge2RheX0sCiB7aG91cn0sIHttaW59LCBhbmQge3NlY30gYXJlIHplcm8tcGFkZGVkIHRvIHR3byBkaWdpdHMgZWFjaC4gVGhlIGZyYWN0aW9uYWwKIHNlY29uZHMsIHdoaWNoIGNhbiBnbyB1cCB0byA5IGRpZ2l0cyAoaS5lLiB1cCB0byAxIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiksCiBhcmUgb3B0aW9uYWwuIFRoZSAiWiIgc3VmZml4IGluZGljYXRlcyB0aGUgdGltZXpvbmUgKCJVVEMiKTsgdGhlIHRpbWV6b25lCiBpcyByZXF1aXJlZC4gQSBwcm90bzMgSlNPTiBzZXJpYWxpemVyIHNob3VsZCBhbHdheXMgdXNlIFVUQyAoYXMgaW5kaWNhdGVkIGJ5CiAiWiIpIHdoZW4gcHJpbnRpbmcgdGhlIFRpbWVzdGFtcCB0eXBlIGFuZCBhIHByb3RvMyBKU09OIHBhcnNlciBzaG91bGQgYmUKIGFibGUgdG8gYWNjZXB0IGJvdGggVVRDIGFuZCBvdGhlciB0aW1lem9uZXMgKGFzIGluZGljYXRlZCBieSBhbiBvZmZzZXQpLgoKIEZvciBleGFtcGxlLCAiMjAxNy0wMS0xNVQwMTozMDoxNS4wMVoiIGVuY29kZXMgMTUuMDEgc2Vjb25kcyBwYXN0CiAwMTozMCBVVEMgb24gSmFudWFyeSAxNSwgMjAxNy4KCiBJbiBKYXZhU2NyaXB0LCBvbmUgY2FuIGNvbnZlcnQgYSBEYXRlIG9iamVjdCB0byB0aGlzIGZvcm1hdCB1c2luZyB0aGUKIHN0YW5kYXJkIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcgW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkKIHdpdGggdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUKIGNhbiB1c2UgdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL3d3dy5qb2RhLm9yZy9qb2RhLXRpbWUvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lJTJEJTJECiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoKCgoDBAABEgN8CBEKnQEKBAQAAgASBIEBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg4KBQQAAgAEEgWBAQJ8EwoNCgUEAAIABRIEgQECBwoNCgUEAAIAARIEgQEIDwoNCgUEAAIAAxIEgQESEwrlAQoEBAACARIEhwECEhrWASBOb24tbmVnYXRpdmUgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gTmVnYXRpdmUKIHNlY29uZCB2YWx1ZXMgd2l0aCBmcmFjdGlvbnMgbXVzdCBzdGlsbCBoYXZlIG5vbi1uZWdhdGl2ZSBuYW5vcyB2YWx1ZXMKIHRoYXQgY291bnQgZm9yd2FyZCBpbiB0aW1lLiBNdXN0IGJlIGZyb20gMCB0byA5OTksOTk5LDk5OQogaW5jbHVzaXZlLgoKDwoFBAACAQQSBocBAoEBFAoNCgUEAAIBBRIEhwECBwoNCgUEAAIBARIEhwEIDQoNCgUEAAIBAxIEhwEQEWIGcHJvdG8zCujIAQoMZG1pL2h3LnByb3RvEgNkbWkaH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8iGgoEVXVpZBISCgR1dWlkGAEgASgJUgR1dWlkIisKCkhhcmR3YXJlSUQSHQoEdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgR1dWlkIhcKA1VyaRIQCgN1cmkYASABKAlSA3VyaSKEAwoOQ29tcG9uZW50U3RhdGUSSAoSc3RhdGVfbGFzdF9jaGFuZ2VkGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIQc3RhdGVMYXN0Q2hhbmdlZBI5CgthZG1pbl9zdGF0ZRgCIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgphZG1pblN0YXRlEjYKCm9wZXJfc3RhdGUYAyABKA4yFy5kbWkuQ29tcG9uZW50T3BlclN0YXRlUglvcGVyU3RhdGUSOQoLdXNhZ2Vfc3RhdGUYBCABKA4yGC5kbWkuQ29tcG9uZW50VXNhZ2VTdGF0ZVIKdXNhZ2VTdGF0ZRI5CgthbGFybV9zdGF0ZRgFIAEoDjIYLmRtaS5Db21wb25lbnRBbGFybVN0YXRlUgphbGFybVN0YXRlEj8KDXN0YW5kYnlfc3RhdGUYBiABKA4yGi5kbWkuQ29tcG9uZW50U3RhbmRieVN0YXRlUgxzdGFuZGJ5U3RhdGUi6wIKE0NvbXBvbmVudFNlbnNvckRhdGESFAoFdmFsdWUYASABKAVSBXZhbHVlEiYKBHR5cGUYAiABKA4yEi5kbWkuRGF0YVZhbHVlVHlwZVIEdHlwZRIlCgVzY2FsZRgDIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUgVzY2FsZRIcCglwcmVjaXNpb24YBCABKAVSCXByZWNpc2lvbhIpCgZzdGF0dXMYBSABKA4yES5kbWkuU2Vuc29yU3RhdHVzUgZzdGF0dXMSIwoNdW5pdHNfZGlzcGxheRgGIAEoCVIMdW5pdHNEaXNwbGF5EjgKCXRpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBIqChF2YWx1ZV91cGRhdGVfcmF0ZRgIIAEoDVIPdmFsdWVVcGRhdGVSYXRlEhsKCWRhdGFfdHlwZRgJIAEoCVIIZGF0YVR5cGUi7wYKF1BvcnRDb21wb25lbnRBdHRyaWJ1dGVzElEKDmNvbm5lY3Rvcl90eXBlGAEgASgOMiouZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLkNvbm5lY3RvclR5cGVSDWNvbm5lY3RvclR5cGUSOAoFc3BlZWQYAiABKA4yIi5kbWkuUG9ydENvbXBvbmVudEF0dHJpYnV0ZXMuU3BlZWRSBXNwZWVkEkEKCHByb3RvY29sGAMgASgOMiUuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzLlByb3RvY29sUghwcm90b2NvbBIlCg5waHlzaWNhbF9sYWJlbBgEIAEoCVINcGh5c2ljYWxMYWJlbBIjCg1tYXBwaW5nX2xhYmVsGAUgASgJUgxtYXBwaW5nTGFiZWwSNAoNcG9uX2lkX2NvbmZpZxgGIAEoCzIQLmRtaS5Qb25JZENvbmZpZ1ILcG9uSWRDb25maWcSMwoVc3BlZWRfYXV0b25lZ290aWF0aW9uGAcgASgIUhRzcGVlZEF1dG9uZWdvdGlhdGlvbhIsCghkaXN0YW5jZRgIIAEoCzIQLmRtaS5Qb25EaXN0YW5jZVIIZGlzdGFuY2UicAoNQ29ubmVjdG9yVHlwZRIcChhDT05ORUNUT1JfVFlQRV9VTkRFRklORUQQABIICgRSSjQ1EAESDAoIRklCRVJfTEMQAhIPCgtGSUJFUl9TQ19QQxADEg0KCUZJQkVSX01QTxAEEgkKBVJTMjMyEAUirgEKBVNwZWVkEhMKD1NQRUVEX1VOREVGSU5FRBAAEgsKB0RZTkFNSUMQARINCglHSUdBQklUXzEQAhIOCgpHSUdBQklUXzEwEAMSDgoKR0lHQUJJVF8yNRAEEg4KCkdJR0FCSVRfNDAQBRIPCgtHSUdBQklUXzEwMBAGEg8KC0dJR0FCSVRfNDAwEAcSEAoMTUVHQUJJVF8yNTAwEAgSEAoMTUVHQUJJVF8xMjUwEAkifAoIUHJvdG9jb2wSFgoSUFJPVE9DT0xfVU5ERUZJTkVEEAASDAoIRVRIRVJORVQQARIICgRHUE9OEAISCQoFWEdQT04QAxIKCgZYR1NQT04QBBIJCgVHRkFTVBAFEgoKBlNFUklBTBAGEggKBEVQT04QBxIICgRCSVRTEAgibAoLUG9uRGlzdGFuY2USIQoMbWF4X2Rpc3RhbmNlGAEgASgNUgttYXhEaXN0YW5jZRI6ChltYXhfZGlmZmVyZW50aWFsX2Rpc3RhbmNlGAIgASgNUhdtYXhEaWZmZXJlbnRpYWxEaXN0YW5jZSKDAQodUG9ydENvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXMSNAoNcG9uX2lkX2NvbmZpZxgBIAEoCzIQLmRtaS5Qb25JZENvbmZpZ1ILcG9uSWRDb25maWcSLAoIZGlzdGFuY2UYAiABKAsyEC5kbWkuUG9uRGlzdGFuY2VSCGRpc3RhbmNlIlsKJFRyYW5zY2VpdmVyQ29tcG9uZW50Q2hhbmdlQXR0cmlidXRlcxIzCgp0cmFuc190eXBlGAEgASgOMhQuZG1pLlRyYW5zY2VpdmVyVHlwZVIJdHJhbnNUeXBlImMKC1BvbklkQ29uZmlnEhUKBnBvbl9pZBgBIAEoDFIFcG9uSWQSPQobcG9uX2lkX3RyYW5zbWl0X3BlcmlvZGljaXR5GAIgASgNUhhwb25JZFRyYW5zbWl0UGVyaW9kaWNpdHkiRQocQ29udGFpbmVyQ29tcG9uZW50QXR0cmlidXRlcxIlCg5waHlzaWNhbF9sYWJlbBgBIAEoCVINcGh5c2ljYWxMYWJlbCLFAQoWUHN1Q29tcG9uZW50QXR0cmlidXRlcxJZChFzdXBwb3J0ZWRfdm9sdGFnZRgBIAEoDjIsLmRtaS5Qc3VDb21wb25lbnRBdHRyaWJ1dGVzLlN1cHBvcnRlZFZvbHRhZ2VSEHN1cHBvcnRlZFZvbHRhZ2UiUAoQU3VwcG9ydGVkVm9sdGFnZRIfChtTVVBQT1JURURfVk9MVEFHRV9VTkRFRklORUQQABIHCgNWNDgQARIICgRWMjMwEAISCAoEVjExNRADIrIFCh9UcmFuc2NlaXZlckNvbXBvbmVudHNBdHRyaWJ1dGVzElAKC2Zvcm1fZmFjdG9yGAEgASgOMi8uZG1pLlRyYW5zY2VpdmVyQ29tcG9uZW50c0F0dHJpYnV0ZXMuRm9ybUZhY3RvclIKZm9ybUZhY3RvchIzCgp0cmFuc190eXBlGAIgASgOMhQuZG1pLlRyYW5zY2VpdmVyVHlwZVIJdHJhbnNUeXBlEiEKDG1heF9kaXN0YW5jZRgDIAEoDVILbWF4RGlzdGFuY2USPQoSbWF4X2Rpc3RhbmNlX3NjYWxlGAQgASgOMg8uZG1pLlZhbHVlU2NhbGVSEG1heERpc3RhbmNlU2NhbGUSIwoNcnhfd2F2ZWxlbmd0aBgFIAMoDVIMcnhXYXZlbGVuZ3RoEiMKDXR4X3dhdmVsZW5ndGgYBiADKA1SDHR4V2F2ZWxlbmd0aBI6ChB3YXZlbGVuZ3RoX3NjYWxlGAcgASgOMg8uZG1pLlZhbHVlU2NhbGVSD3dhdmVsZW5ndGhTY2FsZRIZCgh0eF9wb3dlchgIIAMoBVIHdHhQb3dlchI1Cg50eF9wb3dlcl9zY2FsZRgJIAEoDjIPLmRtaS5WYWx1ZVNjYWxlUgx0eFBvd2VyU2NhbGUizQEKCkZvcm1GYWN0b3ISFwoTRk9STV9GQUNUT1JfVU5LTk9XThAAEggKBFFTRlAQARINCglRU0ZQX1BMVVMQAhIKCgZRU0ZQMjgQAxIHCgNTRlAQBBIMCghTRlBfUExVUxAFEgcKA1hGUBAGEggKBENGUDQQBxIICgRDRlAyEAgSCAoEQ1BBSxAJEgYKAlgyEAoSCQoFT1RIRVIQCxIHCgNDRlAQDBIMCghDRlAyX0FDTxANEgwKCENGUDJfRENPEA4SCwoHUVNGUF9ERBAPItkHCglDb21wb25lbnQSEgoEbmFtZRgBIAEoCVIEbmFtZRIoCgVjbGFzcxgCIAEoDjISLmRtaS5Db21wb25lbnRUeXBlUgVjbGFzcxIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SFgoGcGFyZW50GAQgASgJUgZwYXJlbnQSJAoOcGFyZW50X3JlbF9wb3MYBSABKAVSDHBhcmVudFJlbFBvcxIqCghjaGlsZHJlbhgGIAMoCzIOLmRtaS5Db21wb25lbnRSCGNoaWxkcmVuEiEKDGhhcmR3YXJlX3JldhgHIAEoCVILaGFyZHdhcmVSZXYSIQoMZmlybXdhcmVfcmV2GAggASgJUgtmaXJtd2FyZVJldhIhCgxzb2Z0d2FyZV9yZXYYCSABKAlSC3NvZnR3YXJlUmV2Eh0KCnNlcmlhbF9udW0YCiABKAlSCXNlcmlhbE51bRIZCghtZmdfbmFtZRgLIAEoCVIHbWZnTmFtZRIdCgptb2RlbF9uYW1lGAwgASgJUgltb2RlbE5hbWUSFAoFYWxpYXMYDSABKAlSBWFsaWFzEhkKCGFzc2V0X2lkGA4gASgJUgdhc3NldElkEhUKBmlzX2ZydRgPIAEoCFIFaXNGcnUSNQoIbWZnX2RhdGUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgdtZmdEYXRlEhoKA3VyaRgRIAEoCzIILmRtaS5VcmlSA3VyaRIdCgR1dWlkGBIgASgLMgkuZG1pLlV1aWRSBHV1aWQSKQoFc3RhdGUYEyABKAsyEy5kbWkuQ29tcG9uZW50U3RhdGVSBXN0YXRlEjkKC3NlbnNvcl9kYXRhGBQgAygLMhguZG1pLkNvbXBvbmVudFNlbnNvckRhdGFSCnNlbnNvckRhdGESOwoJcG9ydF9hdHRyGDIgASgLMhwuZG1pLlBvcnRDb21wb25lbnRBdHRyaWJ1dGVzSABSCHBvcnRBdHRyEkoKDmNvbnRhaW5lcl9hdHRyGDMgASgLMiEuZG1pLkNvbnRhaW5lckNvbXBvbmVudEF0dHJpYnV0ZXNIAFINY29udGFpbmVyQXR0chI4Cghwc3VfYXR0chg0IAEoCzIbLmRtaS5Qc3VDb21wb25lbnRBdHRyaWJ1dGVzSABSB3BzdUF0dHISUQoQdHJhbnNjZWl2ZXJfYXR0chg1IAEoCzIkLmRtaS5UcmFuc2NlaXZlckNvbXBvbmVudHNBdHRyaWJ1dGVzSABSD3RyYW5zY2VpdmVyQXR0ckIKCghzcGVjaWZpYyKoAQoISGFyZHdhcmUSOwoLbGFzdF9jaGFuZ2UYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgpsYXN0Q2hhbmdlEiIKBHJvb3QYAiABKAsyDi5kbWkuQ29tcG9uZW50UgRyb290EjsKC2xhc3RfYm9vdGVkGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKbGFzdEJvb3RlZCLAAwoTTW9kaWZpYWJsZUNvbXBvbmVudBISCgRuYW1lGAEgASgJUgRuYW1lEigKBWNsYXNzGAIgASgOMhIuZG1pLkNvbXBvbmVudFR5cGVSBWNsYXNzEiYKBnBhcmVudBgDIAEoCzIOLmRtaS5Db21wb25lbnRSBnBhcmVudBIkCg5wYXJlbnRfcmVsX3BvcxgEIAEoBVIMcGFyZW50UmVsUG9zEhQKBWFsaWFzGAUgASgJUgVhbGlhcxIZCghhc3NldF9pZBgGIAEoCVIHYXNzZXRJZBIaCgN1cmkYByABKAsyCC5kbWkuVXJpUgN1cmkSOQoLYWRtaW5fc3RhdGUYCCABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIKYWRtaW5TdGF0ZRJBCglwb3J0X2F0dHIYMiABKAsyIi5kbWkuUG9ydENvbXBvbmVudENoYW5nZUF0dHJpYnV0ZXNIAFIIcG9ydEF0dHISRgoIdHJ4X2F0dHIYMyABKAsyKS5kbWkuVHJhbnNjZWl2ZXJDb21wb25lbnRDaGFuZ2VBdHRyaWJ1dGVzSABSB3RyeEF0dHJCCgoIc3BlY2lmaWMqtAMKDUNvbXBvbmVudFR5cGUSHAoYQ09NUE9ORU5UX1RZUEVfVU5ERUZJTkVEEAASGgoWQ09NUE9ORU5UX1RZUEVfVU5LTk9XThABEhoKFkNPTVBPTkVOVF9UWVBFX0NIQVNTSVMQAhIcChhDT01QT05FTlRfVFlQRV9CQUNLUExBTkUQAxIcChhDT01QT05FTlRfVFlQRV9DT05UQUlORVIQBBIfChtDT01QT05FTlRfVFlQRV9QT1dFUl9TVVBQTFkQBRIWChJDT01QT05FTlRfVFlQRV9GQU4QBhIZChVDT01QT05FTlRfVFlQRV9TRU5TT1IQBxIZChVDT01QT05FTlRfVFlQRV9NT0RVTEUQCBIXChNDT01QT05FTlRfVFlQRV9QT1JUEAkSFgoSQ09NUE9ORU5UX1RZUEVfQ1BVEAoSGgoWQ09NUE9ORU5UX1RZUEVfQkFUVEVSWRALEhoKFkNPTVBPTkVOVF9UWVBFX1NUT1JBR0UQDBIZChVDT01QT05FTlRfVFlQRV9NRU1PUlkQDRIeChpDT01QT05FTlRfVFlQRV9UUkFOU0NFSVZFUhAOKvMBChNDb21wb25lbnRBZG1pblN0YXRlEh4KGkNPTVBfQURNSU5fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BRE1JTl9TVEFURV9VTktOT1dOEAESGwoXQ09NUF9BRE1JTl9TVEFURV9MT0NLRUQQAhIiCh5DT01QX0FETUlOX1NUQVRFX1NIVVRUSU5HX0RPV04QAxIdChlDT01QX0FETUlOX1NUQVRFX1VOTE9DS0VEEAQSHQoZQ09NUF9BRE1JTl9TVEFURV9JU09MQVRFRBAGEh8KG0NPTVBfQURNSU5fU1RBVEVfUFJPSElCSVRFRBAFKsMDChJDb21wb25lbnRPcGVyU3RhdGUSHQoZQ09NUF9PUEVSX1NUQVRFX1VOREVGSU5FRBAAEhsKF0NPTVBfT1BFUl9TVEFURV9VTktOT1dOEAESHAoYQ09NUF9PUEVSX1NUQVRFX0RJU0FCTEVEEAISGwoXQ09NUF9PUEVSX1NUQVRFX0VOQUJMRUQQAxIbChdDT01QX09QRVJfU1RBVEVfVEVTVElORxAEEhoKFkNPTVBfT1BFUl9TVEFURV9OT1JNQUwQBRIfChtDT01QX09QRVJfU1RBVEVfQ09ORklHVVJJTkcQBhIlCiFDT01QX09QRVJfU1RBVEVfQVVUT01BVElDX0xPQURJTkcQBxIaChZDT01QX09QRVJfU1RBVEVfRkFJTEVEEAgSJgoiQ09NUF9PUEVSX1NUQVRFX0hJR0hfVEVNUF9TSFVURE9XThAJEiMKH0NPTVBfT1BFUl9TVEFURV9NQU5VQUxfU0hVVERPV04QChIpCiVDT01QX09QRVJfU1RBVEVfUE9XRVJfU0FWSU5HX1NIVVRET1dOEAsSIQodQ09NUF9PUEVSX1NUQVRFX1RZUEVfTUlTTUFUQ0gQDCqmAQoTQ29tcG9uZW50VXNhZ2VTdGF0ZRIeChpDT01QX1VTQUdFX1NUQVRFX1VOREVGSU5FRBAAEhwKGENPTVBfVVNBR0VfU1RBVEVfVU5LTk9XThABEhkKFUNPTVBfVVNBR0VfU1RBVEVfSURMRRACEhsKF0NPTVBfVVNBR0VfU1RBVEVfQUNUSVZFEAMSGQoVQ09NUF9VU0FHRV9TVEFURV9CVVNZEAQqjwIKE0NvbXBvbmVudEFsYXJtU3RhdGUSHgoaQ09NUF9BTEFSTV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX0FMQVJNX1NUQVRFX1VOS05PV04QARIhCh1DT01QX0FMQVJNX1NUQVRFX1VOREVSX1JFUEFJUhACEh0KGUNPTVBfQUxBUk1fU1RBVEVfQ1JJVElDQUwQAxIaChZDT01QX0FMQVJNX1NUQVRFX01BSk9SEAQSGgoWQ09NUF9BTEFSTV9TVEFURV9NSU5PUhAFEhwKGENPTVBfQUxBUk1fU1RBVEVfV0FSTklORxAGEiIKHkNPTVBfQUxBUk1fU1RBVEVfSU5ERVRFUk1JTkFURRAHKrwBChVDb21wb25lbnRTdGFuZGJ5U3RhdGUSIAocQ09NUF9TVEFOREJZX1NUQVRFX1VOREVGSU5FRBAAEh4KGkNPTVBfU1RBTkRCWV9TVEFURV9VTktOT1dOEAESGgoWQ09NUF9TVEFOREJZX1NUQVRFX0hPVBACEhsKF0NPTVBfU1RBTkRCWV9TVEFURV9DT0xEEAMSKAokQ09NUF9TVEFOREJZX1NUQVRFX1BST1ZJRElOR19TRVJWSUNFEAQqnQMKDURhdGFWYWx1ZVR5cGUSGAoUVkFMVUVfVFlQRV9VTkRFRklORUQQABIUChBWQUxVRV9UWVBFX09USEVSEAESFgoSVkFMVUVfVFlQRV9VTktOT1dOEAISFwoTVkFMVUVfVFlQRV9WT0xUU19BQxADEhcKE1ZBTFVFX1RZUEVfVk9MVFNfREMQBBIWChJWQUxVRV9UWVBFX0FNUEVSRVMQBRIUChBWQUxVRV9UWVBFX1dBVFRTEAYSFAoQVkFMVUVfVFlQRV9IRVJUWhAHEhYKElZBTFVFX1RZUEVfQ0VMU0lVUxAIEhkKFVZBTFVFX1RZUEVfUEVSQ0VOVF9SSBAJEhIKDlZBTFVFX1RZUEVfUlBNEAoSEgoOVkFMVUVfVFlQRV9DTU0QCxIaChZWQUxVRV9UWVBFX1RSVVRIX1ZBTFVFEAwSFgoSVkFMVUVfVFlQRV9QRVJDRU5UEA0SFQoRVkFMVUVfVFlQRV9NRVRFUlMQDhIUChBWQUxVRV9UWVBFX0JZVEVTEA8SEgoOVkFMVUVfVFlQRV9EQk0QECqkAwoKVmFsdWVTY2FsZRIZChVWQUxVRV9TQ0FMRV9VTkRFRklORUQQABIVChFWQUxVRV9TQ0FMRV9ZT0NUTxABEhUKEVZBTFVFX1NDQUxFX1pFUFRPEAISFAoQVkFMVUVfU0NBTEVfQVRUTxADEhUKEVZBTFVFX1NDQUxFX0ZFTVRPEAQSFAoQVkFMVUVfU0NBTEVfUElDTxAFEhQKEFZBTFVFX1NDQUxFX05BTk8QBhIVChFWQUxVRV9TQ0FMRV9NSUNSTxAHEhUKEVZBTFVFX1NDQUxFX01JTExJEAgSFQoRVkFMVUVfU0NBTEVfVU5JVFMQCRIUChBWQUxVRV9TQ0FMRV9LSUxPEAoSFAoQVkFMVUVfU0NBTEVfTUVHQRALEhQKEFZBTFVFX1NDQUxFX0dJR0EQDBIUChBWQUxVRV9TQ0FMRV9URVJBEA0SFAoQVkFMVUVfU0NBTEVfUEVUQRAOEhMKD1ZBTFVFX1NDQUxFX0VYQRAPEhUKEVZBTFVFX1NDQUxFX1pFVFRBEBASFQoRVkFMVUVfU0NBTEVfWU9UVEEQESqCAQoMU2Vuc29yU3RhdHVzEhsKF1NFTlNPUl9TVEFUVVNfVU5ERUZJTkVEEAASFAoQU0VOU09SX1NUQVRVU19PSxABEh0KGVNFTlNPUl9TVEFUVVNfVU5BVkFJTEFCTEUQAhIgChxTRU5TT1Jf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ARIE6QERGQoNCgUEBQIHAxIE6QEcHQoMCgIEBhIG7AEA+gEBCgsKAwQGARIE7AEIEwqpBwoEBAYCABIE+AEEHBrOBg0KIFRoZSBJVFUtVCBHLjk4Ny54IHNlcmllcyBvZiBSZWNvbW1lbmRhdGlvbnMgYWRkcmVzc2VzIHRoZSBsaW5lYXIgZXh0ZW50IHBhcmFtZXRlcnMgb2YgWEctUE9ODQogdXNpbmcgdGhlIHNpbmdsZSBjb25jZXB0IG9mIGZpYnJlIGRpc3RhbmNlLiBBbiBPTlUgaXMgY2hhcmFjdGVyaXplZCBieSBpdHMgZmlicmUgZGlzdGFuY2UsIGFuZCBmb3INCiBlYWNoIHBhaXIgb2YgT05VcyBvbiB0aGUgc2FtZSBPTFQgUE9OIGludGVyZmFjZSwgdGhlIGRpZmZlcmVudGlhbCBmaWJyZSBkaXN0YW5jZSBpcyB0aGUgZGlmZmVyZW5jZQ0KIGJldHdlZW4gdGhlIHR3byBpbmRpdmlkdWFsIGZpYnJlIGRpc3RhbmNlcy4gRWFjaCBzcGVjaWZpYyBQTUQgbGF5ZXIgcGFyYW1ldGVyIHNldCBjb250YWlucyBhDQogcHJvdmlzaW9uIHRvIHN1cHBvcnQgYSBzcGVjaWZpYyBtYXhpbXVtIGZpYnJlIGRpc3RhbmNlLiBUaGUgWEctUE9OIFRDIGxheWVyIHNwZWNpZmljYXRpb24NCiBjb250YWlucyBhIHByb3Zpc2lvbiB0byBzdXBwb3J0IHNwZWNpZmljIHJhbmdlcyBvZiBtYXhpbXVtIGZpYnJlIGRpc3RhbmNlIGFuZCBtYXhpbXVtDQogZGlmZmVyZW50aWFsIGZpYnJlIGRpc3RhbmNlLiBUaGVzZSByYW5nZXMgY2FuIGJlIGNvbmZpZ3VyYWJsZSBmb3IgYSBnaXZlbiBzeXN0ZW0uIE9uZSBjYW4gZXhwZWN0IHRoYXQNCiBmb3IgZWFjaCBYRy1QT04gZGVwbG95bWVudCwgdGhlIGNvbmZpZ3VyZWQgVEMgbGF5ZXIgbWF4aW11bSBmaWJyZSBkaXN0YW5jZSB3aWxsIG1hdGNoIHRoZQ0KIG1heGltdW0gZmlicmUgZGlzdGFuY2Ugc3VwcG9ydGVkIGJ5IHRoZSBzZWxlY3RlZCBQTUQgbGF5ZXIgcGFy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bGF0ZWQgZm9yIHNwZWNpZmljIGNsYXNzIG9mIGNvbXBvbmVudHMNCgoNCgUEDwgAARIE+QIKEgoMCgQEDwIIEgT6Agg1Cg0KBQQPAggGEgT6AgglCg0KBQQPAggBEgT6AiYvCg0KBQQPAggDEgT6AjI0CgwKBAQPAgkSBPsCCDsKDQoFBA8CCQYSBPsCCCwKDQoFBA8CCQESBPsCLTUKDQoFBA8CCQMSBPsCODpiBnByb3RvMwq4EgobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvEg9nb29nbGUucHJvdG9idWYiBwoFRW1wdHlCdgoTY29tLmdvb2dsZS5wcm90b2J1ZkIKRW1wdHlQcm90b1ABWidnaXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wdHlwZXMvZW1wdHn4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNK/hAKBhIEHgAzEArMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAPgoJCgIICxIDIwA+CggKAQgSAyQALAoJCgIIARIDJAAsCggKAQgSAyUAKwoJCgIICBIDJQArCggKAQgSAyYAIgoJCgIIChIDJgAiCggKAQgSAycAIQoJCgIIJBIDJwAhCggKAQgSAygAHwoJCgIIHxIDKAAfCvsCCgIEABIDMwAQGu8CIEEgZ2VuZXJpYyBlbXB0eSBtZXNzYWdlIHRoYXQgeW91IGNhbiByZS11c2UgdG8gYXZvaWQgZGVmaW5pbmcgZHVwbGljYXRlZAogZW1wdHkgbWVzc2FnZXMgaW4geW91ciBBUElzLiBBIHR5cGljYWwgZXhhbXBsZSBpcyB0byB1c2UgaXQgYXMgdGhlIHJlcXVlc3QKIG9yIHRoZSByZXNwb25zZSB0eXBlIG9mIGFuIEFQSSBtZXRob2QuIEZvciBpbnN0YW5jZToKCiAgICAgc2VydmljZSBGb28gewogICAgICAgcnBjIEJhcihnb29nbGUucHJvdG9idWYuRW1wdHkpIHJldHVybnMgKGdvb2dsZS5wcm90b2J1Zi5FbXB0eSk7CiAgICAgfQoKIFRoZSBKU09OIHJlcHJlc2VudGF0aW9uIGZvciBgRW1wdHlgIGlzIGVtcHR5IEpTT04gb2JqZWN0IGB7fWAuCgoKCgMEAAESAzMIDWIGcHJvdG8zCrWCAQogZG1pL2h3X2V2ZW50c19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvIpsBCglWYWx1ZVR5cGUSGQoHaW50X3ZhbBgBIAEoA0gAUgZpbnRWYWwSGwoIdWludF92YWwYAiABKARIAFIHdWludFZhbBIdCglmbG9hdF92YWwYAyABKAJIAFIIZmxvYXRWYWwSMAoJdHlwZU9mVmFsGAQgASgOMhIuZG1pLkRhdGFWYWx1ZVR5cGVSCXR5cGVPZlZhbEIFCgN2YWwiUgoKV2F0ZXJNYXJrcxIiCgRoaWdoGAEgASgLMg4uZG1pLlZhbHVlVHlwZVIEaGlnaBIgCgNsb3cYAiABKAsyDi5kbWkuVmFsdWVUeXBlUgNsb3ciawoKVGhyZXNob2xkcxInCgV1cHBlchgBIAEoCzIPLmRtaS5XYXRlck1hcmtzSABSBXVwcGVyEicKBWxvd2VyGAIgASgLMg8uZG1pLldhdGVyTWFya3NIAFIFbG93ZXJCCwoJdGhyZXNob2xkIn4KFFRocmVzaG9sZEluZm9ybWF0aW9uEjUKDm9ic2VydmVkX3ZhbHVlGAEgASgLMg4uZG1pLlZhbHVlVHlwZVINb2JzZXJ2ZWRWYWx1ZRIvCgp0aHJlc2hvbGRzGAIgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMivAEKCEV2ZW50Q2ZnEigKCGV2ZW50X2lkGAEgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIvCgp0aHJlc2hvbGRzGAMgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMSMAoOY29tcG9uZW50X3V1aWQYBCABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZCIwCglFdmVudHNDZmcSIwoFaXRlbXMYASADKAsyDS5kbWkuRXZlbnRDZmdSBWl0ZW1zIp4CChJMaXN0RXZlbnRzUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjYKBnJlYXNvbhgCIAEoDjIeLmRtaS5MaXN0RXZlbnRzUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SJgoGZXZlbnRzGAMgASgLMg4uZG1pLkV2ZW50c0NmZ1IGZXZlbnRzEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyKtAQoaRXZlbnRzQ29uZmlndXJhdGlvblJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIqCgdjaGFuZ2VzGAIgASgLMg4uZG1pLkV2ZW50c0NmZ0gAUgdjaGFuZ2VzEioKEHJlc2V0X3RvX2RlZmF1bHQYAyABKAhIAFIOcmVzZXRUb0RlZmF1bHRCCwoJb3BlcmF0aW9uIpwCChtFdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj8KBnJlYXNvbhgCIAEoDjInLmRtaS5FdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsInIKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhIKDklOVkFMSURfQ09ORklHEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQilAEKDUV2ZW50TWV0YURhdGESKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lImoKEEFkbWluU3RhdGVDaGFuZ2USKgoDb2xkGAEgASgOMhguZG1pLkNvbXBvbmVudEFkbWluU3RhdGVSA29sZBIqCgNuZXcYAiABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIDbmV3ImcKD09wZXJTdGF0ZUNoYW5nZRIpCgNvbGQYASABKA4yFy5kbWkuQ29tcG9uZW50T3BlclN0YXRlUgNvbGQSKQoDbmV3GAIgASgOMhcuZG1pLkNvbXBvbmVudE9wZXJTdGF0ZVIDbmV3ImoKEEFsYXJtU3RhdGVDaGFuZ2USKgoDb2xkGAEgASgOMhguZG1pLkNvbXBvbmVudEFsYXJtU3RhdGVSA29sZBIqCgNuZXcYAiABKA4yGC5kbWkuQ29tcG9uZW50QWxhcm1TdGF0ZVIDbmV3ImoKEFVzYWdlU3RhdGVDaGFuZ2USKgoDb2xkGAEgASgOMhguZG1pLkNvbXBvbmVudFVzYWdlU3RhdGVSA29sZBIqCgNuZXcYAiABKA4yGC5kbWkuQ29tcG9uZW50VXNhZ2VTdGF0ZVIDbmV3InAKElN0YW5kYnlTdGF0ZUNoYW5nZRIsCgNvbGQYASABKA4yGi5kbWkuQ29tcG9uZW50U3RhbmRieVN0YXRlUgNvbGQSLAoDbmV3GAIgASgOMhouZG1pLkNvbXBvbmVudFN0YW5kYnlTdGF0ZVIDbmV3IocDCg9TdGF0ZUNoYW5nZUluZm8SRQoSYWRtaW5fc3RhdGVfY2hhbmdlGAEgASgLMhUuZG1pLkFkbWluU3RhdGVDaGFuZ2VIAFIQYWRtaW5TdGF0ZUNoYW5nZRJCChFvcGVyX3N0YXRlX2NoYW5nZRgCIAEoCzIULmRtaS5PcGVyU3RhdGVDaGFuZ2VIAFIPb3BlclN0YXRlQ2hhbmdlEkUKEmFsYXJtX3N0YXRlX2NoYW5nZRgDIAEoCzIVLmRtaS5BbGFybVN0YXRlQ2hhbmdlSABSEGFsYXJtU3RhdGVDaGFuZ2USRQoSdXNhZ2Vfc3RhdGVfY2hhbmdlGAQgASgLMhUuZG1pLlVzYWdlU3RhdGVDaGFuZ2VIAFIQdXNhZ2VTdGF0ZUNoYW5nZRJLChRzdGFuZGJ5X3N0YXRlX2NoYW5nZRgFIAEoCzIXLmRtaS5TdGFuZGJ5U3RhdGVDaGFuZ2VIAFISc3RhbmRieVN0YXRlQ2hhbmdlQg4KDHN0YXRlX2NoYW5nZSL7AQoQR2VuZXJpY0V2ZW50SW5mbxIYCgdtZXNzYWdlGAEgASgJUgdtZXNzYWdlEiEKDG1lc3NhZ2VfY29kZRgCIAEoCVILbWVzc2FnZUNvZGUSPwoIc2V2ZXJpdHkYAyABKA4yIy5kbWkuR2VuZXJpY0V2ZW50SW5mby5FdmVudFNldmVyaXR5UghzZXZlcml0eSJpCg1FdmVudFNldmVyaXR5Eh4KGkVWRU5UX1NFVkVSSVRZX1VOU1BFQ0lGSUVEEAASDAoIQ1JJVElDQUwQARIJCgVNQUpPUhACEgkKBU1JTk9SEAMSCgoGTk9STUFMEAQSCAoESU5GTxAFIokDCgVFdmVudBI5Cg5ldmVudF9tZXRhZGF0YRgBIAEoCzISLmRtaS5FdmVudE1ldGFEYXRhUg1ldmVudE1ldGFkYXRhEigKCGV2ZW50X2lkGAIgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEjcKCXJhaXNlZF90cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCHJhaXNlZFRzEkAKDnRocmVzaG9sZF9pbmZvGAQgASgLMhkuZG1pLlRocmVzaG9sZEluZm9ybWF0aW9uUg10aHJlc2hvbGRJbmZvEhkKCGFkZF9pbmZvGAUgASgJUgdhZGRJbmZvEkAKEXN0YXRlX2NoYW5nZV9pbmZvGAYgASgLMhQuZG1pLlN0YXRlQ2hhbmdlSW5mb1IPc3RhdGVDaGFuZ2VJbmZvEkMKEmdlbmVyaWNfZXZlbnRfaW5mbxgHIAEoCzIVLmRtaS5HZW5lcmljRXZlbnRJbmZvUhBnZW5lcmljRXZlbnRJbmZvKtkUCghFdmVudElkcxIYChRFVkVOVF9OQU1FX1VOREVGSU5FRBAAEh4KGkVWRU5UX1RSQU5TQ0VJVkVSX1BMVUdfT1VUEGQSHQoZRVZFTlRfVFJBTlNDRUlWRVJfUExVR19JThBlEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEEGYSLQopRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9CRUxPV19USFJFU0hPTEQQZxIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9BQk9WRV9USFJFU0hPTEQQaBIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTEQQaRItCilFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0FCT1ZFX1RIUkVTSE9MRBBqEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQkVMT1dfVEhSRVNIT0xEEGsSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEGwSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG0SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEG4SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG8SHQoZRVZFTlRfVFJBTlNDRUlWRVJfRkFJTFVSRRBwEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBBxEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBByEjsKN0VWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQcxI7CjdFVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHQSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHUSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHYSOAo0RVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB3EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQeBI4CjRFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHkSOAo0RVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB6EicKI0VWRU5UX1RSQU5TQ0VJVkVSX0ZBSUxVUkVfUkVDT1ZFUkVEEHsSFwoSRVZFTlRfUFNVX1BMVUdfT1VUEMgBEhYKEUVWRU5UX1BTVV9QTFVHX0lOEMkBEhYKEUVWRU5UX1BTVV9GQUlMVVJFEMoBEiAKG0VWRU5UX1BTVV9GQUlMVVJFX1JFQ09WRVJFRBDLARIWChFFVkVOVF9GQU5fRkFJTFVSRRCsAhIXChJFVkVOVF9GQU5fUExVR19PVVQQrQISFgoRRVZFTlRfRkFOX1BMVUdfSU4QrgISIAobRVZFTlRfRkFOX0ZBSUxVUkVfUkVDT1ZFUkVEEK8CEikKJEVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBCQAxImCiFFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQkQMSMwouRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBCSAxIwCitFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEJMDEiQKH0VWRU5UX0NQVV9VU0FHRV9BQk9WRV9USFJFU0hPTEQQlAMSLgopRVZFTlRfQ1BVX1VTQUdFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQlQMSGgoVRVZFTlRfSFdfREVWSUNFX1JFU0VUEPQDEi8KKkVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBD1AxIsCidFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQ9gMSOQo0RVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBD3AxI2CjFFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEPgDEhsKFkVWRU5UX0hXX0RFVklDRV9SRUJPT1QQ+QMSJwoiRVZFTlRfSFdfVEVNUEVSQVRVUkVfU0VOU09SX0ZBSUxFRBD6AxIsCidFVkVOVF9IV19BTExfVEVNUEVSQVRVUkVfU0VOU09SU19GQUlMRUQQ+wMSKAojRVZFTlRfSFdfRElTS19VU0FHRV9BQk9WRV9USFJFU0hPTEQQ/AMSMgotRVZFTlRfSFdfRElTS19VU0FHRV9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEP0DEioKJUVWRU5UX0hXX01FTU9SWV9VU0FHRV9BQk9WRV9USFJFU0hPTEQQ/gMSNAovRVZFTlRfSFdfTUVNT1JZX1VTQUdFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQ/wMSHgoZRVZFTlRfSFdfTlRQX1NZTkNfRkFJTFVSRRCABBIoCiNFVkVOVF9IV19OVFBfU1lOQ19GQUlMVVJFX1JFQ09WRVJFRBCBBBIdChhFVkVOVF9MSU5FX0NBUkRfUExVR19PVVQQ2AQSHAoXRVZFTlRfTElORV9DQVJEX1BMVUdfSU4Q2QQSKAojRVZFTlRfQ09NUE9ORU5UX0FETUlOX1NUQVRFX0NIQU5HRUQQvAUSJwoiRVZFTlRfQ09NUE9ORU5UX09QRVJfU1RBVEVfQ0hBTkdFRBC9BRIoCiNFVkVOVF9DT01QT05FTlRfQUxBUk1fU1RBVEVfQ0hBTkdFRBC+BRIoCiNFVkVOVF9DT01QT05FTlRfVVNBR0VfU1RBVEVfQ0hBTkdFRBC/BRIqCiVFVkVOVF9DT01QT05FTlRfU1RBTkRCWV9TVEFURV9DSEFOR0VEEMAFEiIKHUVWRU5UX0NPTVBPTkVOVF9HRU5FUklDX0VWRU5UEMEFMu0BCh1OYXRpdmVFdmVudHNNYW5hZ2VtZW50U2VydmljZRI2CgpMaXN0RXZlbnRzEg8uZG1pLkhhcmR3YXJlSUQaFy5kbWkuTGlzdEV2ZW50c1Jlc3BvbnNlEl4KGVVwZGF0ZUV2ZW50c0NvbmZpZ3VyYXRpb24SHy5kbWkuRXZlbnRzQ29uZmlndXJhdGlvblJlcXVlc3QaIC5kbWkuRXZlbnRzQ29uZmlndXJhdGlvblJlc3BvbnNlEjQKDFN0cmVhbUV2ZW50cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoKLmRtaS5FdmVudDABQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUqRUQoHEgUAAIoCAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKCQoCAwESAwYAFgoJCgIDAhIDBwApCgkKAgMDEgMIACUKRQoCBQASBAwAYgEyOSBNYW5hZ2VtZW50IG9mIEV2ZW50cyBhbmQgcHJvdG9zIGZvciBlbmNvZGlu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dWVzdA0KIFRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBkZXZpY2UgaXMgdG8gcmVwb3J0IGFsbCB0aGUgc3VwcG9ydGVkIGV2ZW50cw0KIFRoaXMgY29uZmlndXJhdGlvbiBpcyBwZXJzaXN0ZWQgYWNyb3NzIHJlYm9vdHMgb2YgdGhlIGRldmljZSBvciB0aGUgZGV2aWNlIG1hbmFnZXINCgoNCgUGAAIBARIEhgIIIQoNCgUGAAIBAhIEhgIiPAoNCgUGAAIBAxIEhgJGYQo8CgQGAAICEgSJAgRCGi4gSW5pdGlhdGUgdGhlIHNlcnZlciBzdHJlYW1pbmcgb2YgdGhlIGV2ZW50cw0KCg0KBQYAAgIBEgSJAggUCg0KBQYAAgICEgSJAhUqCg0KBQYAAgIGEgSJAjQ6Cg0KBQYAAgIDEgSJAjtAYgZwcm90bzMKrt0BCh9kbWkvaHdfbWFuYWdlbWVudF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90byJGChhQaHlzaWNhbEludmVudG9yeVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCKxAgoZUGh5c2ljYWxJbnZlbnRvcnlSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SKwoJaW52ZW50b3J5GAMgASgLMg0uZG1pLkhhcmR3YXJlUglpbnZlbnRvcnkSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIl4KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhYKEkRFVklDRV9VTlJFQUNIQUJMRRADIqABChlIV0NvbXBvbmVudEluZm9HZXRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSLLAgoaSFdDb21wb25lbnRJbmZvR2V0UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIsCgljb21wb25lbnQYAyABKAsyDi5kbWkuQ29tcG9uZW50Ugljb21wb25lbnQSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsInUKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIVChFVTktOT1dOX0NPTVBPTkVOVBACEhIKDklOVEVSTkFMX0VSUk9SEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQi1AEKGUhXQ29tcG9uZW50SW5mb1NldFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lEjIKB2NoYW5nZXMYBCABKAsyGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudFIHY2hhbmdlcyLHAgoaSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwingEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIVChFVTktOT1dOX0NPTVBPTkVOVBACEhIKDklOVkFMSURfUEFSQU1TEAMSEgoOSU5URVJOQUxfRVJST1IQBBIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBRITCg9TRVRfVU5TVVBQT1JURUQQBiKRAwobU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI/CgZyZWFzb24YAiABKA4yJy5kbWkuU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlLlJlYXNvblIGcmVhc29uEioKC2RldmljZV91dWlkGAMgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIroBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhoKFkRFVklDRV9BTFJFQURZX01BTkFHRUQQARIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxACEhIKDklOVkFMSURfUEFSQU1TEAMSEgoOSU5URVJOQUxfRVJST1IQBBIaChZBVVRIRU5USUNBVElPTl9GQUlMVVJFEAUSFwoTSU5DT01QQVRJQkxFX0RFVklDRRAGIi8KGVN0b3BNYW5hZ2luZ0RldmljZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZSLyAQoaU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5TdG9wTWFuYWdpbmdEZXZpY2VSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwiSgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhYKEkRFVklDRV9VTlJFQUNIQUJMRRACIm0KEU1hbmFnZWREZXZpY2VJbmZvEiwKBGluZm8YASABKAsyGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudFIEaW5mbxIqCgtkZXZpY2VfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIt8BChZNYW5hZ2VkRGV2aWNlc1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI6CgZyZWFzb24YAiABKA4yIi5kbWkuTWFuYWdlZERldmljZXNSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIwCgdkZXZpY2VzGAMgAygLMhYuZG1pLk1hbmFnZWREZXZpY2VJbmZvUgdkZXZpY2VzIjIKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOSU5URVJOQUxfRVJST1IQASKdAQoZU2V0TG9nZ2luZ0VuZHBvaW50UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEikKEGxvZ2dpbmdfZW5kcG9pbnQYAiABKAlSD2xvZ2dpbmdFbmRwb2ludBIpChBsb2dnaW5nX3Byb3RvY29sGAMgASgJUg9sb2dnaW5nUHJvdG9jb2wi4QIKGVNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5TZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCK6AQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISGgoWTE9HR0lOR19FTkRQT0lOVF9FUlJPUhADEiMKH0xPR0dJTkdfRU5EUE9JTlRfUFJPVE9DT0xfRVJST1IQBBIZChVNU0dCVVNfRU5EUE9JTlRfRVJST1IQBRIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBiLcAgoaR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5HZXRMb2dnaW5nRW5kcG9pbnRSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIpChBsb2dnaW5nX2VuZHBvaW50GAMgASgJUg9sb2dnaW5nRW5kcG9pbnQSKQoQbG9nZ2luZ19wcm90b2NvbBgEIAEoCVIPbG9nZ2luZ1Byb3RvY29sEiMKDXJlYXNvbl9kZXRhaWwYBSABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyJDChhTZXRNc2dCdXNFbmRwb2ludFJlcXVlc3QSJwoPbXNnYnVzX2VuZHBvaW50GAEgASgJUg5tc2didXNFbmRwb2ludCKZAgoZR2V0TXNnQnVzRW5kcG9pbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLkdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SJwoPbXNnYnVzX2VuZHBvaW50GAMgASgJUg5tc2didXNFbmRwb2ludBIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiSgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5JTlRFUk5BTF9FUlJPUhABEhYKEkRFVklDRV9VTlJFQUNIQUJMRRACIlkKEEVudGl0aWVzTG9nTGV2ZWwSKQoIbG9nTGV2ZWwYASABKA4yDS5kbWkuTG9nTGV2ZWxSCGxvZ0xldmVsEhoKCGVudGl0aWVzGAIgAygJUghlbnRpdGllcyJ1ChJTZXRMb2dMZXZlbFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIzCglsb2dsZXZlbHMYAiADKAsyFS5kbWkuRW50aXRpZXNMb2dMZXZlbFIJbG9nbGV2ZWxzIrwCChNTZXRMb2dMZXZlbFJlc3BvbnNlEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSIwoGc3RhdHVzGAIgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjcKBnJlYXNvbhgDIAEoDjIfLmRtaS5TZXRMb2dMZXZlbFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJ2CgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJVTktOT1dOX0xPR19FTlRJVFkQAxIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBCJcChJHZXRMb2dMZXZlbFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIaCghlbnRpdGllcxgCIAMoCVIIZW50aXRpZXMi8QIKE0dldExvZ0xldmVsUmVzcG9uc2USKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIzCglsb2dMZXZlbHMYAiADKAsyFS5kbWkuRW50aXRpZXNMb2dMZXZlbFIJbG9nTGV2ZWxzEiMKBnN0YXR1cxgDIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI3CgZyZWFzb24YBCABKA4yHy5kbWkuR2V0TG9nTGV2ZWxSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwidgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSVU5LTk9XTl9MT0dfRU5USVRZEAMSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAQiSAoaR2V0TG9nZ2FibGVFbnRpdGllc1JlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCI7ChRTZXREbUxvZ0xldmVsUmVxdWVzdBIjCgVsZXZlbBgBIAEoDjINLmRtaS5Mb2dMZXZlbFIFbGV2ZWwi5wEKFVNldERtTG9nTGV2ZWxSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSOQoGcmVhc29uGAIgASgOMiEuZG1pLlNldERtTG9nTGV2ZWxSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAMgASgJUgxyZWFzb25EZXRhaWwiSQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5JTlRFUk5BTF9FUlJPUhABEhUKEVVOS05PV05fTE9HX0xFVkVMEAIiFgoUR2V0RG1Mb2dMZXZlbFJlcXVlc3Qi9QEKFUdldERtTG9nTGV2ZWxSZXNwb25zZRIjCgVsZXZlbBgBIAEoDjINLmRtaS5Mb2dMZXZlbFIFbGV2ZWwSIwoGc3RhdHVzGAIgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjkKBnJlYXNvbhgDIAEoDjIhLmRtaS5HZXREbUxvZ0xldmVsUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIjIKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOSU5URVJOQUxfRVJST1IQASI8CglIZWFydGJlYXQSLwoTaGVhcnRiZWF0X3NpZ25hdHVyZRgBIAEoB1ISaGVhcnRiZWF0U2lnbmF0dXJlIkEKE1JlYm9vdERldmljZVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCKVAgoUUmVib290RGV2aWNlUmVzcG9uc2USIwoGc3RhdHVzGAMgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjgKBnJlYXNvbhgEIAEoDjIgLmRtaS5SZWJvb3REZXZpY2VSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwieQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMSGQoVREVWSUNFX0lOX1dST05HX1NUQVRFEAQioAEKGURpc2FibGVIV0NvbXBvbmVudFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIssCChpEaXNhYmxlSFdDb21wb25lbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPgoGcmVhc29uGAIgASgOMiYuZG1pLkRpc2FibGVIV0NvbXBvbmVudFJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKiAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhUKEVVOS05PV05fQ09NUE9ORU5UEAISEgoOSU5URVJOQUxfRVJST1IQAxIWChJERVZJQ0VfVU5SRUFDSEFCTEUQBBIXChNESVNBQkxFX1VOU1VQUE9SVEVEEAUSEgoOSU5WQUxJRF9QQVJBTVMQBiKeAQoXUmVzZXRIV0NvbXBvbmVudFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIsUCChhSZXNldEhXQ29tcG9uZW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjwKBnJlYXNvbhgCIAEoDjIkLmRtaS5SZXNldEhXQ29tcG9uZW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIqABCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlRFUk5BTF9FUlJPUhADEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAEEhUKEVJFU0VUX1VOU1VQUE9SVEVEEAUSEgoOSU5WQUxJRF9QQVJBTVMQBiKfAQoYRW5hYmxlSFdDb21wb25lbnRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSLIAgoZRW5hYmxlSFdDb21wb25lbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLkVuYWJsZUhXQ29tcG9uZW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SIwoNcmVhc29uX2RldGFpbBgDIAEoCVIMcmVhc29uRGV0YWlsIqEBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlRFUk5BTF9FUlJPUhADEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAEEhYKEkVOQUJMRV9VTlNVUFBPUlRFRBAFEhIKDklOVkFMSURfUEFSQU1TEAYyugwKGU5hdGl2ZUhXTWFuYWdlbWVudFNlcnZpY2USUwoTU3RhcnRNYW5hZ2luZ0RldmljZRIYLmRtaS5Nb2RpZmlhYmxlQ29tcG9uZW50GiAuZG1pLlN0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZTABElUKElN0b3BNYW5hZ2luZ0RldmljZRIeLmRtaS5TdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0Gh8uZG1pLlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlEkgKEUdldE1hbmFnZWREZXZpY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhsuZG1pLk1hbmFnZWREZXZpY2VzUmVzcG9uc2USVwoUR2V0UGh5c2ljYWxJbnZlbnRvcnkSHS5kbWkuUGh5c2ljYWxJbnZlbnRvcnlSZXF1ZXN0Gh4uZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2UwARJXChJHZXRIV0NvbXBvbmVudEluZm8SHi5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBofLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZTABElUKElNldEhXQ29tcG9uZW50SW5mbxIeLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXF1ZXN0Gh8uZG1pLkhXQ29tcG9uZW50SW5mb1NldFJlc3BvbnNlElQKElNldExvZ2dpbmdFbmRwb2ludBIeLmRtaS5TZXRMb2dnaW5nRW5kcG9pbnRSZXF1ZXN0Gh4uZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USRgoSR2V0TG9nZ2luZ0VuZHBvaW50Eg8uZG1pLkhhcmR3YXJlSUQaHy5kbWkuR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2USUgoRU2V0TXNnQnVzRW5kcG9pbnQSHS5kbWkuU2V0TXNnQnVzRW5kcG9pbnRSZXF1ZXN0Gh4uZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2USSwoRR2V0TXNnQnVzRW5kcG9pbnQSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHi5kbWkuR2V0TXNnQnVzRW5kcG9pbnRSZXNwb25zZRJQChNHZXRMb2dnYWJsZUVudGl0aWVzEh8uZG1pLkdldExvZ2dhYmxlRW50aXRpZXNSZXF1ZXN0GhguZG1pLkdldExvZ0xldmVsUmVzcG9uc2USQAoLU2V0TG9nTGV2ZWwSFy5kbWkuU2V0TG9nTGV2ZWxSZXF1ZXN0GhguZG1pLlNldExvZ0xldmVsUmVzcG9uc2USQAoLR2V0TG9nTGV2ZWwSFy5kbWkuR2V0TG9nTGV2ZWxSZXF1ZXN0GhguZG1pLkdldExvZ0xldmVsUmVzcG9uc2USOAoOSGVhcnRiZWF0Q2hlY2sSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaDi5kbWkuSGVhcnRiZWF0EkMKDFJlYm9vdERldmljZRIYLmRtaS5SZWJvb3REZXZpY2VSZXF1ZXN0GhkuZG1pLlJlYm9vdERldmljZVJlc3BvbnNlEkYKDVNldERtTG9nTGV2ZWwSGS5kbWkuU2V0RG1Mb2dMZXZlbFJlcXVlc3QaGi5kbWkuU2V0RG1Mb2dMZXZlbFJlc3BvbnNlEkYKDUdldERtTG9nTGV2ZWwSGS5kbWkuR2V0RG1Mb2dMZXZlbFJlcXVlc3QaGi5kbWkuR2V0RG1Mb2dMZXZlbFJlc3BvbnNlElUKEkRpc2Fi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ZxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIjCg1wb2xsX2ludGVydmFsGAMgASgNUgxwb2xsSW50ZXJ2YWwiPAoNTWV0cmljc0NvbmZpZxIrCgdtZXRyaWNzGAEgAygLMhEuZG1pLk1ldHJpY0NvbmZpZ1IHbWV0cmljcyKmAgoTTGlzdE1ldHJpY3NSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNwoGcmVhc29uGAIgASgOMh8uZG1pLkxpc3RNZXRyaWNzUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SLAoHbWV0cmljcxgDIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnUgdtZXRyaWNzEiMKDXJlYXNvbl9kZXRhaWwYBCABKAlSDHJlYXNvbkRldGFpbCJeCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIWChJERVZJQ0VfVU5SRUFDSEFCTEUQAyKyAQobTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSLgoHY2hhbmdlcxgCIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24ivgIKHE1ldHJpY3NDb25maWd1cmF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEkAKBnJlYXNvbhgCIAEoDjIoLmRtaS5NZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKRAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISHQoZUE9MTF9JTlRFUlZBTF9VTlNVUFBPUlRFRBADEhIKDklOVkFMSURfTUVUUklDEAQSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAUilQEKDk1ldHJpY01ldGFEYXRhEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSKlAQoGTWV0cmljEi0KCW1ldHJpY19pZBgBIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQSPAoPbWV0cmljX21ldGFkYXRhGAIgASgLMhMuZG1pLk1ldHJpY01ldGFEYXRhUg5tZXRyaWNNZXRhZGF0YRIuCgV2YWx1ZRgDIAEoCzIYLmRtaS5Db21wb25lbnRTZW5zb3JEYXRhUgV2YWx1ZSJzChBHZXRNZXRyaWNSZXF1ZXN0EjAKCW1ldGFfZGF0YRgBIAEoCzITLmRtaS5NZXRyaWNNZXRhRGF0YVIIbWV0YURhdGESLQoJbWV0cmljX2lkGAIgASgOMhAuZG1pLk1ldHJpY05hbWVzUghtZXRyaWNJZCLFAgoRR2V0TWV0cmljUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEjUKBnJlYXNvbhgCIAEoDjIdLmRtaS5HZXRNZXRyaWNSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIjCgZtZXRyaWMYAyABKAsyCy5kbWkuTWV0cmljUgZtZXRyaWMSIwoNcmVhc29uX2RldGFpbBgEIAEoCVIMcmVhc29uRGV0YWlsIokBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlRFUk5BTF9FUlJPUhADEhIKDklOVkFMSURfTUVUUklDEAQSFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAUqggYKC01ldHJpY05hbWVzEhkKFU1FVFJJQ19OQU1FX1VOREVGSU5FRBAAEhQKEE1FVFJJQ19GQU5fU1BFRUQQARITCg9NRVRSSUNfQ1BVX1RFTVAQZBIfChtNRVRSSUNfQ1BVX1VTQUdFX1BFUkNFTlRBR0UQZRIcChdNRVRSSUNfVFJBTlNDRUlWRVJfVEVNUBDIARIfChpNRVRSSUNfVFJBTlNDRUlWRVJfVk9MVEFHRRDJARIcChdNRVRSSUNfVFJBTlNDRUlWRVJfQklBUxDKARIgChtNRVRSSUNfVFJBTlNDRUlWRVJfUlhfUE9XRVIQywESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1RYX1BPV0VSEMwBEiIKHU1FVFJJQ19UUkFOU0NFSVZFUl9XQVZFTEVOR1RIEM0BEicKIk1FVFJJQ19UUkFOU0NFSVZFUl9YR1NQT05fVFhfUE9XRVIQzgESFQoQTUVUUklDX0RJU0tfVEVNUBCsAhIZChRNRVRSSUNfRElTS19DQVBBQ0lUWRCtAhIWChFNRVRSSUNfRElTS19VU0FHRRCuAhIhChxNRVRSSUNfRElTS19VU0FHRV9QRVJDRU5UQUdFEK8CEiYKIU1FVFJJQ19ESVNLX1JFQURfV1JJVEVfUEVSQ0VOVEFHRRCwAhIoCiNNRVRSSUNfRElTS19GQVVMVFlfQ0VMTFNfUEVSQ0VOVEFHRRCxAhIUCg9NRVRSSUNfUkFNX1RFTVAQkAMSGAoTTUVUUklDX1JBTV9DQVBBQ0lUWRCRAxIVChBNRVRSSUNfUkFNX1VTQUdFEJIDEiAKG01FVFJJQ19SQU1fVVNBR0VfUEVSQ0VOVEFHRRCTAxIVChBNRVRSSUNfUE9XRVJfTUFYEPQDEhcKEk1FVFJJQ19QT1dFUl9VU0FHRRD1AxIiCh1NRVRSSUNfUE9XRVJfVVNBR0VfUEVSQ0VOVEFHRRD2AxIiCh1NRVRSSUNfSU5ORVJfU1VSUk9VTkRJTkdfVEVNUBDYBDKxAgoeTmF0aXZlTWV0cmljc01hbmFnZW1lbnRTZXJ2aWNlEjgKC0xpc3RNZXRyaWNzEg8uZG1pLkhhcmR3YXJlSUQaGC5kbWkuTGlzdE1ldHJpY3NSZXNwb25zZRJhChpVcGRhdGVNZXRyaWNzQ29uZmlndXJhdGlvbhIgLmRtaS5NZXRyaWNzQ29uZmlndXJhdGlvblJlcXVlc3QaIS5kbWkuTWV0cmljc0NvbmZpZ3Vy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bF9zY3JpcHQYAiABKAlSEmltYWdlSW5zdGFsbFNjcmlwdBIbCglpbWFnZV91cmwYAyABKAlSCGltYWdlVXJsEhwKCXNoYTI1NnN1bRgFIAEoCVIJc2hhMjU2c3VtIpQFCgtJbWFnZVN0YXR1cxIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSLwoGcmVhc29uGAIgASgOMhcuZG1pLkltYWdlU3RhdHVzLlJlYXNvblIGcmVhc29uEjEKBXN0YXRlGAMgASgOMhsuZG1pLkltYWdlU3RhdHVzLkltYWdlU3RhdGVSBXN0YXRlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwi0AEKCkltYWdlU3RhdGUSEwoPVU5ERUZJTkVEX1NUQVRFEAASEQoNQ09QWUlOR19JTUFHRRABEhQKEElOU1RBTExJTkdfSU1BR0UQAhIUChBDT01NSVRUSU5HX0lNQUdFEAMSFAoQUkVCT09USU5HX0RFVklDRRAEEhQKEFVQR1JBREVfQ09NUExFVEUQBRISCg5VUEdSQURFX0ZBSUxFRBAGEhcKE0FDVElWQVRJT05fQ09NUExFVEUQBxIVChFBQ1RJVkFUSU9OX0ZBSUxFRBAIIuEBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhQKEEVSUk9SX0lOX1JFUVVFU1QQARISCg5JTlRFUk5BTF9FUlJPUhACEhkKFURFVklDRV9JTl9XUk9OR19TVEFURRADEhEKDUlOVkFMSURfSU1BR0UQBBIYChRXUk9OR19JTUFHRV9DSEVDS1NVTRAFEiEKHU9QRVJBVElPTl9BTFJFQURZX0lOX1BST0dSRVNTEAYSEgoOVU5LTk9XTl9ERVZJQ0UQBxIYChRERVZJQ0VfTk9UX1JFQUNIQUJMRRAIQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUr6FwoGEgQAADwBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwpDCgIEABIECQAMATI3IFByb3Rv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BQQCAgIGEgM4BA4KDAoFBAICAgESAzgPFAoMCgUEAgICAxIDOBcYCnYKBAQCAgMSAzoEGxppIGRlc2NyaXB0aW9uIGNvbnRhaW5zIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHByb2NlZHVyZSBhbmQgaXMgZGV2aWNlIGRlcGVuZGFudA0KCg0KBQQCAgMEEgQ6BDgZCgwKBQQCAgMFEgM6BAoKDAoFBAICAwESAzoLFgoMCgUEAgIDAxIDOhkaCgsKBAQCAgQSAzsEHQoNCgUEAgIEBBIEOwQ6GwoMCgUEAgIEBRIDOwQKCgwKBQQCAgQBEgM7CxgKDAoFBAICBAMSAzsbHGIGcHJvdG8zCohSCh9kbWkvc3dfbWFuYWdlbWVudF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8aEmRtaS9zd19pbWFnZS5wcm90byKWAQoaU29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb24SOgoPYWN0aXZlX3ZlcnNpb25zGAEgAygLMhEuZG1pLkltYWdlVmVyc2lvblIOYWN0aXZlVmVyc2lvbnMSPAoQc3RhbmRieV92ZXJzaW9ucxgCIAMoCzIRLmRtaS5JbWFnZVZlcnNpb25SD3N0YW5kYnlWZXJzaW9ucyLRAgolR2V0U29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSSQoGcmVhc29uGAIgASgOMjEuZG1pLkdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2UuUmVhc29uUgZyZWFzb24SMwoEaW5mbxgDIAEoCzIfLmRtaS5Tb2Z0d2FyZVZlcnNpb25JbmZvcm1hdGlvblIEaW5mbxIjCg1yZWFzb25fZGV0YWlsGAQgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMieAoURG93bmxvYWRJbWFnZVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBI0CgppbWFnZV9pbmZvGAIgASgLMhUuZG1pLkltYWdlSW5mb3JtYXRpb25SCWltYWdlSW5mbyJaCg1Db25maWdSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSHQoKY29uZmlnX3VybBgCIAEoCVIJY29uZmlnVXJsIsECCg5Db25maWdSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSMgoGcmVhc29uGAIgASgOMhouZG1pLkNvbmZpZ1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKDXJlYXNvbl9kZXRhaWwYAyABKAlSDHJlYXNvbkRldGFpbCKwAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISGQoVRVJST1JfRkVUQ0hJTkdfQ09ORklHEAMSEgoOSU5WQUxJRF9DT05GSUcQBBIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxAFEhYKEkRFVklDRV9VTlJFQUNIQUJMRRAGIkYKGFN0YXJ0dXBDb25maWdJbmZvUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIr0CChlTdGFydHVwQ29uZmlnSW5mb1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI9CgZyZWFzb24YAiABKA4yJS5kbWkuU3RhcnR1cENvbmZpZ0luZm9SZXNwb25zZS5SZWFzb25SBnJlYXNvbhIdCgpjb25maWdfdXJsGAMgASgJUgljb25maWdVcmwSGAoHdmVyc2lvbhgEIAEoCVIHdmVyc2lvbhIjCg1yZWFzb25fZGV0YWlsGAUgASgJUgxyZWFzb25EZXRhaWwiXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSREVWSUNFX1VOUkVBQ0hBQkxFEAMiZwoWVXBsb2FkRGVidWdJbmZvUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEiEKDGxvY2F0aW9uX3VybBgDIAEoCVILbG9jYXRpb25VcmwiqgUKFVVwbG9hZERlYnVnSW5mb1N0YXR1cxIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEj8KBnN0YXR1cxgCIAEoDjInLmRtaS5VcGxvYWREZWJ1Z0luZm9TdGF0dXMuVXBsb2FkU3RhdHVzUgZzdGF0dXMSKQoQcGVyY2VudF91cGxvYWRlZBgDIAEoBVIPcGVyY2VudFVwbG9hZGVkEjkKBnJlYXNvbhgEIAEoDjIhLmRtaS5VcGxvYWREZWJ1Z0luZm9TdGF0dXMuUmVhc29uUgZyZWFzb24SIQoMbG9jYXRpb25fdXJsGAUgASgJUgtsb2NhdGlvblVybBIbCglmaWxlX25hbWUYBiABKAlSCGZpbGVOYW1lIlUKDFVwbG9hZFN0YXR1cxIbChdVTkRFRklORURfVVBMT0FEX1NUQVRVUxAAEgwKCENPTVBMRVRFEAESDwoLSU5fUFJPR1JFU1MQAhIJCgVFUlJPUhADIqYCCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIYChRERVZJQ0VfTk9UX1JFQUNIQUJMRRADEh8KG1JFTU9URV9MT0NBVElPTl9VTlJFQUNIQUJMRRAEEiUKIVJFTU9URV9MT0NBVElPTl9QRVJNSVNTSU9OX0RFTklFRBAFEhcKE0VSUk9SX0RVUklOR19VUExPQUQQBhIPCgtERVZJQ0VfQlVTWRAHEhQKEEVSUk9SX0lOX1JFUVVFU1QQCBIZChVERVZJQ0VfSU5fV1JPTkdfU1RBVEUQCRIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxAKMpwECh9OYXRpdmVTb2Z0d2FyZU1hbmFnZW1lbnRTZXJ2aWNlElEKEkdldFNvZnR3YXJlVmVyc2lvbhIPLmRtaS5IYXJkd2FyZUlEGiouZG1pLkdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USPgoNRG93bmxvYWRJbWFnZRIZLmRtaS5Eb3dubG9hZEltYWdlUmVxdWVzdBoQLmRtaS5JbWFnZVN0YXR1czABEjQKDUFjdGl2YXRlSW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRtaS5JbWFnZVN0YXR1czABEjsKFFJldmVydFRvU3RhbmRieUltYWdlEg8uZG1pLkhhcmR3YXJlSUQaEC5kbWkuSW1hZ2VTdGF0dXMwARJHChpVcGRhdGVTdGFydHVwQ29uZmlndXJhdGlvbhISLmRtaS5Db25maWdSZXF1ZXN0GhMuZG1pLkNvbmZpZ1Jlc3BvbnNlMAESXAobR2V0U3RhcnR1cENvbmZpZ3VyYXRpb25JbmZvEh0uZG1pLlN0YXJ0dXBDb25maWdJbmZvUmVxdWVzdBoeLmRtaS5TdGFydHVwQ29uZmlnSW5mb1Jlc3BvbnNlEkwKD1VwbG9hZERlYnVnSW5mbxIbLmRtaS5VcGxvYWREZWJ1Z0luZm9SZXF1ZXN0GhouZG1pLlVwbG9hZERlYnVnSW5mb1N0YXR1czABQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUqhOwoHEgUAAKMBAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKCQoCAwESAwYAFgoJCgIDAhIDBwAcCu4BCgIEABIEDwASATKnASBUaGUgc29mdHdhcmUgbWFuYWdlbWVudCBjb25jZXB0IGRlc2NyaWJlZCBoZXJlIGlzIGFsaWduZWQgd2l0aCBXVC0zODNhMyAoUmV2aXNpb246IDA2IEFwcmlsIDIwMjApLg0KIEluIHBhcnRpY3VsYXIgU2VjdGlvbiAxMSBTb2Z0d2FyZSBtYW5hZ2VtZW50DQogVE9ETyBjaGVjayBtb2RlbA0KMjggUHJvdG9zIGZvciBtYW5hZ2luZyB0aGUgc29mdHdhcmUgb24gYSBoYXJkd2FyZSBkZXZpY2UNCgoKCgMEAAESAw8IIgoLCgQEAAIAEgMQBC4KDAoFBAACAAQSAxAEDAoMCgUEAAIABhIDEA0ZCgwKBQQAAgABEgMQGikK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Y29tbWVuZGVkIHRvIHVzZSBzZW1WZXIsIGJ1dCB0aGUgRE0gaW1wbGVtZW50YXRpb25zDQogYW5kIG9wZXJhdG9ycyBjb3VsZCBjaG9vc2UgYW55IG90aGVyIGZvcm1hdCBhcyB3ZWxsLg0KCg0KBQQGAgMEEgRQBE0aCgwKBQQGAgMFEgNQBAoKDAoFBAYCAwESA1ALEgoMCgUEBgIDAxIDUBUWCgsKBAQGAgQSA1EEHQoNCgUEBgIEBBIEUQRQFwoMCgUEBgIEBRIDUQQKCgwKBQQGAgQBEgNRCxgKDAoFBAYCBAMSA1EbHAoKCgIEBxIEVABbAQoKCgMEBwESA1QIHgoLCgQEBwIAEgNVBBkKDQoFBAcCAAQSBFUEVCAKDAoFBAcCAAYSA1UECAoMCgUEBwIAARIDVQkUCgwKBQQHAgADEgNVFxgKgAMKBAQHAgESA1oEHBryAiBsb2NhdGlvbl91cmwgaXMgdGhlIHJlbW90ZSBsb2NhdGlvbiB3aGVyZSB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIGZvciB0cm91Ymxlc2hvb3Rpbmcgc2hvdWxkIGJlIHVwbG9hZGVkLg0KIEF1dGhlbnRpY2F0aW9uICh1c2VyL3Bhc3MpIGlmIGFueSBzaG91bGQgYmUgaW4gdGhlIGxvY2F0aW9uX3VybCBzdHJpbmcNCiBUaGUgbG9jYWlvbl91cmwgd291bGQgY29udGFpbiB0aGUgcHJvdG9jb2wsIGNyZWRlbnRpYWxzLCB0aGUgSVAgYWRkcmVzcy9ETlMgb2YgdGhlIHNlcnZlciBhbmQgdGhlIHBhdGggb2YgdGhlIGRpcmVjdG9yeQ0KIGUuZy4gc2Z0cDovL3VwbG9hZF91c2VyOnVwbG9hZF9wYXNzQDE5Mi4xNjguMC4xOjIyL2h3X2RlYnVnX2luZm8vDQoKDQoFBAcCAQQSBFoEVRkKDAoFBAcCAQUSA1oECgoMCgUEBwIBARIDWgsXCgwKBQQHAgEDEgNaGhsKgAEKAgQIEgVeAIYBARpzIEltcGxlbWVudGF0aW9ucyB3b3VsZCBiZSBleHBlY3RlZCB0byBzdHJlYW0gbXVsdGlwbGUgVXBsb2FkRGVidWdJbmZvU3RhdHVzIGluZGljYXRpbmcgdGhlIHByb2dyZXNzIG9mIHRoZSB1cGxv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