CpYGChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKjEKBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASBgoCT0sQARIJCgVFUlJPUhACKmkKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhAKDFdST05HX01FVFJJQxADEg8KC1dST05HX0VWRU5UEARCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSpgECgYSBAAAFAEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQISAwMADApUCgIFABIEBwALATJIIENvbW1vbiBzdHJ1Y3R1cmVzIHVzZWQgYWNyb3NzIHRoZSBkaWZmZXJlbnQgRGV2aWNlIE1hbmFnZW1lbnQgc2VydmljZXMKCgoKAwUAARIDBwULCgsKBAUAAgASAwgEGQoMCgUFAAIAARIDCAQUCgwKBQUAAgACEgMIFxgKCwoEBQACARIDCQQLCgwKBQUAAgEBEgMJBAYKDAoFBQACAQISAwkJCgoLCgQFAAICEgMKBA4KDAoFBQACAgESAwoECQoMCgUFAAICAhIDCgwNCi8KAgUBEgQOABQBGiMgUmVhc29uIGZvciB0aGUgZmFpbHVyZSBvZiByZXF1ZXN0CgoKCgMFAQESAw4FCwoLCgQFAQIAEgMPBBkKDAoFBQECAAESAw8EFAoMCgUFAQIAAhIDDxcYCgsKBAUBAgESAxAEFwoMCgUFAQIBARIDEAQSCgwKBQUBAgECEgMQFRYKCwoEBQECAhIDEQQXCgwKBQUBAgIBEgMRBBIKDAoFBQECAgISAxEVFgoLCgQFAQIDEgMSBBUKDAoFBQECAwESAxIEEAoMCgUFAQIDAhIDEhMUCgsKBAUBAgQSAxMEFAoMCgUFAQIEARIDEwQPCgwKBQUBAgQCEgMTEhNiBnByb3RvMwryLwofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIjsKCVRpbWVzdGFtcBIYCgdzZWNvbmRzGAEgASgDUgdzZWNvbmRzEhQKBW5hbm9zGAIgASgFUgVuYW5vc0J+ChNjb20uZ29vZ2xlLnByb3RvYnVmQg5UaW1lc3RhbXBQcm90b1ABWitnaXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wdHlwZXMvdGltZXN0YW1w+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSvgtCgcSBR4AiAEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwAfCgkKAggfEgMjAB8KCAoBCBIDJABCCgkKAggLEgMkAEIKCAoBCBIDJQAsCgkKAggBEgMlACwKCAoBCBIDJgAvCgkKAggIEgMmAC8KCAoBCBIDJwAiCgkKAggKEgMnACIKCAoBCBIDKAAhCgkKAggkEgMoACEK8RsKAgQAEgV8AIgBARrjGyBBIFRpbWVzdGFtcCByZXByZXNlbnRzIGEgcG9pbnQgaW4gdGltZSBpbmRlcGVuZGVudCBvZiBhbnkgdGltZSB6b25lIG9yIGxvY2FsCiBjYWxlbmRhciwgZW5jb2RlZCBhcyBhIGNvdW50IG9mIHNlY29uZHMgYW5kIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGF0CiBuYW5vc2Vjb25kIHJlc29sdXRpb24uIFRoZSBjb3VudCBpcyByZWxhdGl2ZSB0byBhbiBlcG9jaCBhdCBVVEMgbWlkbmlnaHQgb24KIEphbnVhcnkgMSwgMTk3MCwgaW4gdGhlIHByb2xlcHRpYyBHcmVnb3JpYW4gY2FsZW5kYXIgd2hpY2ggZXh0ZW5kcyB0aGUKIEdyZWdvcmlhbiBjYWxlbmRhciBiYWNrd2FyZHMgdG8geWVhciBvbmUuCgogQWxsIG1pbnV0ZXMgYXJlIDYwIHNlY29uZHMgbG9uZy4gTGVhcCBzZWNvbmRzIGFyZSAic21lYXJlZCIgc28gdGhhdCBubyBsZWFwCiBzZWNvbmQgdGFibGUgaXMgbmVlZGVkIGZvciBpbnRlcnByZXRhdGlvbiwgdXNpbmcgYSBbMjQtaG91ciBsaW5lYXIKIHNtZWFyXShodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS90aW1lL3NtZWFyKS4KCiBUaGUgcmFuZ2UgaXMgZnJvbSAwMDAxLTAxLTAxVDAwOjAwOjAwWiB0byA5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTk5OVouIEJ5CiByZXN0cmljdGluZyB0byB0aGF0IHJhbmdlLCB3ZSBlbnN1cmUgdGhhdCB3ZSBjYW4gY29udmVydCB0byBhbmQgZnJvbSBbUkZDCiAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGRhdGUgc3RyaW5ncy4KCiAjIEV4YW1wbGVzCgogRXhhbXBsZSAxOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFBPU0lYIGB0aW1lKClgLgoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcyh0aW1lKE5VTEwpKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKDApOwoKIEV4YW1wbGUgMjogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgZ2V0dGltZW9mZGF5KClgLgoKICAgICBzdHJ1Y3QgdGltZXZhbCB0djsKICAgICBnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModHYudHZfc2VjKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKHR2LnR2X3VzZWMgKiAxMDAwKTsKCiBFeGFtcGxlIDM6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gV2luMzIgYEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKClgLgoKICAgICBGSUxFVElNRSBmdDsKICAgICBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgmZnQpOwogICAgIFVJTlQ2NCB0aWNrcyA9ICgoKFVJTlQ2NClmdC5kd0hpZ2hEYXRlVGltZSkgPDwgMzIpIHwgZnQuZHdMb3dEYXRlVGltZTsKCiAgICAgLy8gQSBXaW5kb3dzIHRpY2sgaXMgMTAwIG5hbm9zZWNvbmRzLiBXaW5kb3dzIGVwb2NoIDE2MDEtMDEtMDFUMDA6MDA6MDBaCiAgICAgLy8gaXMgMTE2NDQ0NzM2MDAgc2Vjb25kcyBiZWZvcmUgVW5peCBlcG9jaCAxOTcwLTAxLTAxVDAwOjAwOjAwWi4KICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcygoSU5UNjQpICgodGlja3MgLyAxMDAwMDAwMCkgLSAxMTY0NDQ3MzYwMExMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygoSU5UMzIpICgodGlja3MgJSAxMDAwMDAwMCkgKiAxMDApKTsKCiBFeGFtcGxlIDQ6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gSmF2YSBgU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKClgLgoKICAgICBsb25nIG1pbGxpcyA9IFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wID0gVGltZXN0YW1wLm5ld0J1aWxkZXIoKS5zZXRTZWNvbmRzKG1pbGxpcyAvIDEwMDApCiAgICAgICAgIC5zZXROYW5vcygoaW50KSAoKG1pbGxpcyAlIDEwMDApICogMTAwMDAwMCkpLmJ1aWxkKCk7CgoKIEV4YW1wbGUgNTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBjdXJyZW50IHRpbWUgaW4gUHl0aG9uLgoKICAgICB0aW1lc3RhbXAgPSBUaW1lc3RhbXAoKQogICAgIHRpbWVzdGFtcC5HZXRDdXJyZW50VGltZSgpCgogIyBKU09OIE1hcHBpbmcKCiBJbiBKU09OIGZvcm1hdCwgdGhlIFRpbWVzdGFtcCB0eXBlIGlzIGVuY29kZWQgYXMgYSBzdHJpbmcgaW4gdGhlCiBbUkZDIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZm9ybWF0LiBUaGF0IGlzLCB0aGUKIGZvcm1hdCBpcyAie3llYXJ9LXttb250aH0te2RheX1Ue2hvdXJ9OnttaW59OntzZWN9Wy57ZnJhY19zZWN9XVoiCiB3aGVyZSB7eWVhcn0gaXMgYWx3YXlzIGV4cHJlc3NlZCB1c2luZyBmb3VyIGRpZ2l0cyB3aGlsZSB7bW9udGh9LCB7ZGF5fSwKIHtob3VyfSwge21pbn0sIGFuZCB7c2VjfSBhcmUgemVyby1wYWRkZWQgdG8gdHdvIGRpZ2l0cyBlYWNoLiBUaGUgZnJhY3Rpb25hbAogc2Vjb25kcywgd2hpY2ggY2FuIGdvIHVwIHRvIDkgZGlnaXRzIChpLmUuIHVwIHRvIDEgbmFub3NlY29uZCByZXNvbHV0aW9uKSwKIGFyZSBvcHRpb25hbC4gVGhlICJaIiBzdWZmaXggaW5kaWNhdGVzIHRoZSB0aW1lem9uZSAoIlVUQyIpOyB0aGUgdGltZXpvbmUKIGlzIHJlcXVpcmVkLiBBIHByb3RvMyBKU09OIHNlcmlhbGl6ZXIgc2hvdWxkIGFsd2F5cyB1c2UgVVRDIChhcyBpbmRpY2F0ZWQgYnkKICJaIikgd2hlbiBwcmludGluZyB0aGUgVGltZXN0YW1wIHR5cGUgYW5kIGEgcHJvdG8zIEpTT04gcGFyc2VyIHNob3VsZCBiZQogYWJsZSB0byBhY2NlcHQgYm90aCBVVEMgYW5kIG90aGVyIHRpbWV6b25lcyAoYXMgaW5kaWNhdGVkIGJ5IGFuIG9mZnNldCkuCgogRm9yIGV4YW1wbGUsICIyMDE3LTAxLTE1VDAxOjMwOjE1LjAxWiIgZW5jb2RlcyAxNS4wMSBzZWNvbmRzIHBhc3QKIDAxOjMwIFVUQyBvbiBKYW51YXJ5IDE1LCAyMDE3LgoKIEluIEphdmFTY3JpcHQsIG9uZSBjYW4gY29udmVydCBhIERhdGUgb2JqZWN0IHRvIHRoaXMgZm9ybWF0IHVzaW5nIHRoZQogc3RhbmRhcmQgW3RvSVNPU3RyaW5nKCldKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGUvdG9JU09TdHJpbmcpCiBtZXRob2QuIEluIFB5dGhvbiwgYSBzdGFuZGFyZCBgZGF0ZXRpbWUuZGF0ZXRpbWVgIG9iamVjdCBjYW4gYmUgY29udmVydGVkCiB0byB0aGlzIGZvcm1hdCB1c2luZyBbYHN0cmZ0aW1lYF0oaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMi9saWJyYXJ5L3RpbWUuaHRtbCN0aW1lLnN0cmZ0aW1lKQogd2l0aCB0aGUgdGltZSBmb3JtYXQgc3BlYyAnJVktJW0tJWRUJUg6JU06JVMuJWZaJy4gTGlrZXdpc2UsIGluIEphdmEsIG9uZQogY2FuIHVzZSB0aGUgSm9kYSBUaW1lJ3MgW2BJU09EYXRlVGltZUZvcm1hdC5kYXRlVGltZSgpYF0oCiBodHRwOi8vd3d3LmpvZGEub3JnL2pvZGEtdGltZS9hcGlkb2NzL29yZy9qb2RhL3RpbWUvZm9ybWF0L0lTT0RhdGVUaW1lRm9ybWF0Lmh0bWwjZGF0ZVRpbWUlMkQlMkQKICkgdG8gb2J0YWluIGEgZm9ybWF0dGVyIGNhcGFibGUgb2YgZ2VuZXJhdGluZyB0aW1lc3RhbXBzIGluIHRoaXMgZm9ybWF0LgoKCgoKCgMEAAESA3wIEQqdAQoEBAACABIEgQECFBqOASBSZXByZXNlbnRzIHNlY29uZHMgb2YgVVRDIHRpbWUgc2luY2UgVW5peCBlcG9jaAogMTk3MC0wMS0wMVQwMDowMDowMFouIE11c3QgYmUgZnJvbSAwMDAxLTAxLTAxVDAwOjAwOjAwWiB0bwogOTk5OS0xMi0zMVQyMzo1OTo1OVogaW5jbHVzaXZlLgoKDgoFBAACAAQSBYEBAnwTCg0KBQQAAgAFEgSBAQIHCg0KBQQAAgABEgSBAQgPCg0KBQQAAgADEgSBARITCuUBCgQEAAIBEgSHAQISGtYBIE5vbi1uZWdhdGl2ZSBmcmFjdGlvbnMgb2YgYSBzZWNvbmQgYXQgbmFub3NlY29uZCByZXNvbHV0aW9uLiBOZWdhdGl2ZQogc2Vjb25kIHZhbHVlcyB3aXRoIGZyYWN0aW9ucyBtdXN0IHN0aWxsIGhhdmUgbm9uLW5lZ2F0aXZlIG5hbm9zIHZhbHVlcwogdGhhdCBjb3VudCBmb3J3YXJkIGluIHRpbWUuIE11c3QgYmUgZnJvbSAwIHRvIDk5OSw5OTksOTk5CiBpbmNsdXNpdmUuCgoPCgUEAAIBBBIGhwECgQEUCg0KBQQAAgEFEgSHAQIHCg0KBQQAAgEBEgSHAQgNCg0KBQQAAgEDEgSHARARYgZwcm90bzMK3WQKDGRtaS9ody5wcm90bxIDZG1pGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvIhoKBFV1aWQSEgoEdXVpZBgBIAEoCVIEdXVpZCIrCgpIYXJkd2FyZUlEEh0KBHV1aWQYASABKAsyCS5kbWkuVXVpZFIEdXVpZCIXCgNVcmkSEAoDdXJpGAEgASgJUgN1cmkihAMKDkNvbXBvbmVudFN0YXRlEkgKEnN0YXRlX2xhc3RfY2hhbmdlZBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSEHN0YXRlTGFzdENoYW5nZWQSOQoLYWRtaW5fc3RhdGUYAiABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIKYWRtaW5TdGF0ZRI2CgpvcGVyX3N0YXRlGAMgASgOMhcuZG1pLkNvbXBvbmVudE9wZXJTdGF0ZVIJb3BlclN0YXRlEjkKC3VzYWdlX3N0YXRlGAQgASgOMhguZG1pLkNvbXBvbmVudFVzYWdlU3RhdGVSCnVzYWdlU3RhdGUSOQoLYWxhcm1fc3RhdGUYBSABKA4yGC5kbWkuQ29tcG9uZW50QWxhcm1TdGF0ZVIKYWxhcm1TdGF0ZRI/Cg1zdGFuZGJ5X3N0YXRlGAYgASgOMhouZG1pLkNvbXBvbmVudFN0YW5kYnlTdGF0ZVIMc3RhbmRieVN0YXRlIvMCChNDb21wb25lbnRTZW5zb3JEYXRhEhQKBXZhbHVlGAEgASgFUgV2YWx1ZRIoCgR0eXBlGAIgASgOMhQuZG1pLlNlbnNvclZhbHVlVHlwZVIEdHlwZRIrCgVzY2FsZRgDIAEoDjIVLmRtaS5TZW5zb3JWYWx1ZVNjYWxlUgVzY2FsZRIcCglwcmVjaXNpb24YBCABKAVSCXByZWNpc2lvbhIpCgZzdGF0dXMYBSABKA4yES5kbWkuU2Vuc29yU3RhdHVzUgZzdGF0dXMSIwoNdW5pdHNfZGlzcGxheRgGIAEoCVIMdW5pdHNEaXNwbGF5EjgKCXRpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBIqChF2YWx1ZV91cGRhdGVfcmF0ZRgIIAEoDVIPdmFsdWVVcGRhdGVSYXRlEhsKCWRhdGFfdHlwZRgJIAEoCVIIZGF0YVR5cGUitwUKCUNvbXBvbmVudBISCgRuYW1lGAEgASgJUgRuYW1lEigKBWNsYXNzGAIgASgOMhIuZG1pLkNvbXBvbmVudFR5cGVSBWNsYXNzEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIWCgZwYXJlbnQYBCABKAlSBnBhcmVudBIkCg5wYXJlbnRfcmVsX3BvcxgFIAEoBVIMcGFyZW50UmVsUG9zEioKCGNoaWxkcmVuGAYgAygLMg4uZG1pLkNvbXBvbmVudFIIY2hpbGRyZW4SIQoMaGFyZHdhcmVfcmV2GAcgASgJUgtoYXJkd2FyZVJldhIhCgxmaXJtd2FyZV9yZXYYCCABKAlSC2Zpcm13YXJlUmV2EiEKDHNvZnR3YXJlX3JldhgJIAEoCVILc29mdHdhcmVSZXYSHQoKc2VyaWFsX251bRgKIAEoCVIJc2VyaWFsTnVtEhkKCG1mZ19uYW1lGAsgASgJUgdtZmdOYW1lEh0KCm1vZGVsX25hbWUYDCABKAlSCW1vZGVsTmFtZRIUCgVhbGlhcxgNIAEoCVIFYWxpYXMSGQoIYXNzZXRfaWQYDiABKAlSB2Fzc2V0SWQSFQoGaXNfZnJ1GA8gASgIUgVpc0ZydRI1CghtZmdfZGF0ZRgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSB21mZ0RhdGUSGgoDdXJpGBEgASgLMgguZG1pLlVyaVIDdXJpEh0KBHV1aWQYEiABKAsyCS5kbWkuVXVpZFIEdXVpZBIpCgVzdGF0ZRgTIAEoCzITLmRtaS5Db21wb25lbnRTdGF0ZVIFc3RhdGUSOQoLc2Vuc29yX2RhdGEYFCADKAsyGC5kbWkuQ29tcG9uZW50U2Vuc29yRGF0YVIKc2Vuc29yRGF0YSJrCghIYXJkd2FyZRI7CgtsYXN0X2NoYW5nZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCmxhc3RDaGFuZ2USIgoEcm9vdBgCIAEoCzIOLmRtaS5Db21wb25lbnRSBHJvb3QiqQIKE01vZGlmaWFibGVDb21wb25lbnQSEgoEbmFtZRgBIAEoCVIEbmFtZRIoCgVjbGFzcxgCIAEoDjISLmRtaS5Db21wb25lbnRUeXBlUgVjbGFzcxImCgZwYXJlbnQYAyABKAsyDi5kbWkuQ29tcG9uZW50UgZwYXJlbnQSJAoOcGFyZW50X3JlbF9wb3MYBCABKAVSDHBhcmVudFJlbFBvcxIUCgVhbGlhcxgFIAEoCVIFYWxpYXMSGQoIYXNzZXRfaWQYBiABKAlSB2Fzc2V0SWQSGgoDdXJpGAcgASgLMgguZG1pLlVyaVIDdXJpEjkKC2FkbWluX3N0YXRlGAggASgOMhguZG1pLkNvbXBvbmVudEFkbWluU3RhdGVSCmFkbWluU3RhdGUqgQQKDUNvbXBvbmVudFR5cGUSHAoYQ09NUE9ORU5UX1RZUEVfVU5ERUZJTkVEEAASGgoWQ09NUE9ORU5UX1RZUEVfVU5LTk9XThABEhoKFkNPTVBPTkVOVF9UWVBFX0NIQVNTSVMQAhIcChhDT01QT05FTlRfVFlQRV9CQUNLUExBTkUQAxIcChhDT01QT05FTlRfVFlQRV9DT05UQUlORVIQBBIfChtDT01QT05FTlRfVFlQRV9QT1dFUl9TVVBQTFkQBRIWChJDT01QT05FTlRfVFlQRV9GQU4QBhIZChVDT01QT05FTlRfVFlQRV9TRU5TT1IQBxIZChVDT01QT05FTlRfVFlQRV9NT0RVTEUQCBIXChNDT01QT05FTlRfVFlQRV9QT1JUEAkSFgoSQ09NUE9ORU5UX1RZUEVfQ1BVEAoSGgoWQ09NUE9ORU5UX1RZUEVfQkFUVEVSWRALEhoKFkNPTVBPTkVOVF9UWVBFX1NUT1JBR0UQDBIZChVDT01QT05FTlRfVFlQRV9NRU1PUlkQDRIeChpDT01QT05FTlRfVFlQRV9UUkFOU0NFSVZFUhAOEiMKH0NPTVBPTkVOVF9UWVBFX0dQT05fVFJBTlNDRUlWRVIQDxImCiJDT01QT05FTlRfVFlQRV9YR1NfUE9OX1RSQU5TQ0VJVkVSEBAqswEKE0NvbXBvbmVudEFkbWluU3RhdGUSHgoaQ09NUF9BRE1JTl9TVEFURV9VTkRFRklORUQQABIcChhDT01QX0FETUlOX1NUQVRFX1VOS05PV04QARIbChdDT01QX0FETUlOX1NUQVRFX0xPQ0tFRBACEiIKHkNPTVBfQURNSU5fU1RBVEVfU0hVVFRJTkdfRE9XThADEh0KGUNPTVBfQURNSU5fU1RBVEVfVU5MT0NLRUQQBCqoAQoSQ29tcG9uZW50T3BlclN0YXRlEh0KGUNPTVBfT1BFUl9TVEFURV9VTkRFRklORUQQABIbChdDT01QX09QRVJfU1RBVEVfVU5LTk9XThABEhwKGENPTVBfT1BFUl9TVEFURV9ESVNBQkxFRBACEhsKF0NPTVBfT1BFUl9TVEFURV9FTkFCTEVEEAMSGwoXQ09NUF9PUEVSX1NUQVRFX1RFU1RJTkcQBCqmAQoTQ29tcG9uZW50VXNhZ2VTdGF0ZRIeChpDT01QX1VTQUdFX1NUQVRFX1VOREVGSU5FRBAAEhwKGENPTVBfVVNBR0VfU1RBVEVfVU5LTk9XThABEhkKFUNPTVBfVVNBR0VfU1RBVEVfSURMRRACEhsKF0NPTVBfVVNBR0VfU1RBVEVfQUNUSVZFEAMSGQoVQ09NUF9VU0FHRV9TVEFURV9CVVNZEAQqjgIKE0NvbXBvbmVudEFsYXJtU3RhdGUSHgoaQ09NUF9BTEFSTV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX0FMQVJNX1NUQVRFX1VOS05PV04QARIhCh1DT01QX0FMQVJNX1NUQVRFX1VOREVSX1JFUEFJUhACEh0KGUNPTVBfQUxBUk1fU1RBVEVfQ1JJVElDQUwQAxIaChZDT01QX0FMQVJNX1NUQVRFX01BSk9SEAQSGgoWQ09NUF9BTEFSTV9TVEFURV9NSU5PUhAFEhwKGENPTVBfQUxBUk1fU1RBVEVfV0FSTklORxAGEiEKHUNPTVBfQUxBUk1fU1RBVEVfSU5URVJNRURJQVRFEAcqvAEKFUNvbXBvbmVudFN0YW5kYnlTdGF0ZRIgChxDT01QX1NUQU5EQllfU1RBVEVfVU5ERUZJTkVEEAASHgoaQ09NUF9TVEFOREJZX1NUQVRFX1VOS05PV04QARIaChZDT01QX1NUQU5EQllfU1RBVEVfSE9UEAISGwoXQ09NUF9TVEFOREJZX1NUQVRFX0NPTEQQAxIoCiRDT01QX1NUQU5EQllfU1RBVEVfUFJPVklESU5HX1NFUlZJQ0UQBCqhAwoPU2Vuc29yVmFsdWVUeXBlEh8KG1NFTlNPUl9WQUxVRV9UWVBFX1VOREVGSU5FRBAAEhsKF1NFTlNPUl9WQUxVRV9UWVBFX09USEVSEAESHQoZU0VOU09SX1ZBTFVFX1RZUEVfVU5LTk9XThACEh4KGlNFTlNPUl9WQUxVRV9UWVBFX1ZPTFRTX0FDEAMSHgoaU0VOU09SX1ZBTFVFX1RZUEVfVk9MVFNfREMQBBIdChlTRU5TT1JfVkFMVUVfVFlQRV9BTVBFUkVTEAUSGwoXU0VOU09SX1ZBTFVFX1RZUEVfV0FUVFMQBhIbChdTRU5TT1JfVkFMVUVfVFlQRV9IRVJUWhAHEh0KGVNFTlNPUl9WQUxVRV9UWVBFX0NFTFNJVVMQCBIgChxTRU5TT1JfVkFMVUVfVFlQRV9QRVJDRU5UX1JIEAkSGQoVU0VOU09SX1ZBTFVFX1RZUEVfUlBNEAoSGQoVU0VOU09SX1ZBTFVFX1RZUEVfQ01NEAsSIQodU0VOU09SX1ZBTFVFX1RZUEVfVFJVVEhfVkFMVUUQDCqoBAoQU2Vuc29yVmFsdWVTY2FsZRIgChxTRU5TT1JfVkFMVUVfU0NBTEVfVU5ERUZJTkVEEAASHAoYU0VOU09SX1ZBTFVFX1NDQUxFX1lPQ1RPEAESHAoYU0VOU09SX1ZBTFVFX1NDQUxFX1pFUFRPEAISGwoXU0VOU09SX1ZBTFVFX1NDQUxFX0FUVE8QAxIcChhTRU5TT1JfVkFMVUVfU0NBTEVfRkVNVE8QBBIbChdTRU5TT1JfVkFMVUVfU0NBTEVfUElDTxAFEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9OQU5PEAYSHAoYU0VOU09SX1ZBTFVFX1NDQUxFX01JQ1JPEAcSHAoYU0VOU09SX1ZBTFVFX1NDQUxFX01JTExJEAgSHAoYU0VOU09SX1ZBTFVFX1NDQUxFX1VOSVRTEAkSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX0tJTE8QChIbChdTRU5TT1JfVkFMVUVfU0NBTEVfTUVHQRALEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9HSUdBEAwSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX1RFUkEQDRIbChdTRU5TT1JfVkFMVUVfU0NBTEVfUEVUQRAOEhoKFlNFTlNPUl9WQUxVRV9TQ0FMRV9FWEEQDxIcChhTRU5TT1JfVkFMVUVfU0NBTEVfWkVUVEEQEBIcChhTRU5TT1JfVkFMVUVfU0NBTEVfWU9UVEEQESqCAQoMU2Vuc29yU3RhdHVzEhsKF1NFTlNPUl9TVEFUVVNfVU5ERUZJTkVEEAASFAoQU0VOU09SX1NUQVRVU19PSxABEh0KGVNFTlNPUl9TVEFUVVNfVU5BVkFJTEFCTEUQAhIgChxTRU5TT1JfU1RBVFVTX05PTk9QRVJBVElPTkFMEANCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSv0/CgcSBQAAxAEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAKQppCgIEABIECQALATJdIFRoZSBtb2RlbCB1c2VkIHRvIHJlcHJlc2VudCBhIEhXIGlzIGJhc2VkIG9uIFJGQzgzNDggKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MzQ4KQ0KCgoKAwQAARIDCQgMCgsKBAQAAgASAwoEFAoNCgUEAAIABBIECgQJDgoMCgUEAAIABRIDCgQKCgwKBQQAAgABEgMKCw8KDAoFBAACAAMSAwoSEwoKCgIEARIEDQAPAQoKCgMEAQESAw0IEgoLCgQEAQIAEgMOBBIKDQoFBAECAAQSBA4EDRQKDAoFBAECAAYSAw4ECAoMCgUEAQIAARIDDgkNCgwKBQQBAgADEgMOEBEKCgoCBAISBBEAEwEKCgoDBAIBEgMRCAsKCwoEBAICABIDEgQTCg0KBQQCAgAEEgQSBBENCgwKBQQCAgAFEgMSBAoKDAoFBAICAAESAxILDgoMCgUEAgIAAxIDEhESCgoKAgUAEgQVACcBCgoKAwUAARIDFQUSCgsKBAUAAgASAxYEIQoMCgUFAAIAARIDFgQcCgwKBQUAAgACEgMWHyAKCwoEBQACARIDFwQfCgwKBQUAAgEBEgMXBBoKDAoFBQACAQISAxcdHgoLCgQFAAICEgMYBB8KDAoFBQACAgESAxgEGgoMCgUFAAICAhIDGB0eCgsKBAUAAgMSAxkEIQoMCgUFAAIDARIDGQQcCgwKBQUAAgMCEgMZHyAKCwoEBQACBBIDGgQhCgwKBQUAAgQBEgMaBBwKDAoFBQACBAISAxofIAoLCgQFAAIFEgMbBCQKDAoFBQACBQESAxsEHwoMCgUFAAIFAhIDGyIjCgsKBAUAAgYSAxwEGwoMCgUFAAIGARIDHAQWCgwKBQUAAgYCEgMcGRoKCwoEBQACBxIDHQQeCgwKBQUAAgcBEgMdBBkKDAoFBQACBwISAx0cHQoLCgQFAAIIEgMeBB4KDAoFBQACCAESAx4EGQoMCgUFAAIIAhIDHhwdCgsKBAUAAgkSAx8EHAoMCgUFAAIJARIDHwQXCgwKBQUAAgkCEgMfGhsKCwoEBQACChIDIAQcCgwKBQUAAgoBEgMgBBYKDAoFBQACCgISAyAZGwoLCgQFAAILEgMhBCAKDAoFBQACCwESAyEEGgoMCgUFAAILAhIDIR0fCgsKBAUAAgwSAyIEIAoMCgUFAAIMARIDIgQaCgwKBQUAAgwCEgMiHR8KCwoEBQACDRIDIwQfCgwKBQUAAg0BEgMjBBkKDAoFBQACDQISAyMcHgoLCgQFAAIOEgMkBCQKDAoFBQACDgESAyQEHgoMCgUFAAIOAhIDJCEjCgsKBAUAAg8SAyUEKQoMCgUFAAIPARIDJQQjCgwKBQUAAg8CEgMlJigKCwoEBQACEBIDJgQsCgwKBQUAAhABEgMmBCYKDAoFBQACEAISAyYpKwoKCgIFARIEKQAvAQoKCgMFAQESAykFGAoLCgQFAQIAEgMqBCMKDAoFBQECAAESAyoEHgoMCgUFAQIAAhIDKiEiCgsKBAUBAgESAysEIQoMCgUFAQIBARIDKwQcCgwKBQUBAgECEgMrHyAKCwoEBQECAhIDLAQgCgwKBQUBAgIBEgMsBBsKDAoFBQECAgISAyweHwoLCgQFAQIDEgMtBCcKDAoFBQECAwESAy0EIgoMCgUFAQIDAhIDLSUmCgsKBAUBAgQSAy4EIgoMCgUFAQIEARIDLgQdCgwKBQUBAgQCEgMuICEKCgoCBQISBDEANwEKCgoDBQIBEgMxBRcKCwoEBQICABIDMgQiCgwKBQUCAgABEgMyBB0KDAoFBQICAAISAzIgIQoLCgQFAgIBEgMzBCAKDAoFBQICAQESAzMEGwoMCgUFAgIBAhIDMx4fCgsKBAUCAgISAzQEIQoMCgUFAgICARIDNAQcCgwKBQUCAgICEgM0HyAKCwoEBQICAxIDNQQgCgwKBQUCAgMBEgM1BBsKDAoFBQICAwISAzUeHwoLCgQFAgIEEgM2BCAKDAoFBQICBAESAzYEGwoMCgUFAgIEAhIDNh4fCgoKAgUDEgQ5AD8BCgoKAwUDARIDOQUYCgsKBAUDAgASAzoEIwoMCgUFAwIAARIDOgQeCgwKBQUDAgACEgM6ISIKCwoEBQMCARIDOwQhCgwKBQUDAgEBEgM7BBwKDAoFBQMCAQISAzsfIAoLCgQFAwICEgM8BB4KDAoFBQMCAgESAzwEGQoMCgUFAwICAhIDPBwdCgsKBAUDAgMSAz0EIAoMCgUFAwIDARIDPQQbCgwKBQUDAgMCEgM9Hh8KCwoEBQMCBBIDPgQeCgwKBQUDAgQBEgM+BBkKDAoFBQMCBAISAz4cHQoKCgIFBBIEQQBKAQoKCgMFBAESA0EFGAoLCgQFBAIAEgNCBCMKDAoFBQQCAAESA0IEHgoMCgUFBAIAAhIDQiEiCgsKBAUEAgESA0MEIQoMCgUFBAIBARIDQwQcCgwKBQUEAgECEgNDHyAKCwoEBQQCAhIDRAQlCgwKBQUEAgIBEgNEBCEKDAoFBQQCAgISA0QjJAoLCgQFBAIDEgNFBCIKDAoFBQQCAwESA0UEHQoMCgUFBAIDAhIDRSAhCgsKBAUEAgQSA0YEHwoMCgUFBAIEARIDRgQaCgwKBQUEAgQCEgNGHR4KCwoEBQQCBRIDRwQfCgwKBQUEAgUBEgNHBBoKDAoFBQQCBQISA0cdHgoLCgQFBAIGEgNIBCEKDAoFBQQCBgESA0gEHAoMCgUFBAIGAhIDSB8gCgsKBAUEAgcSA0kEJgoMCgUFBAIHARIDSQQhCgwKBQUEAgcCEgNJJCUKCgoCBQUSBEwAUgEKCgoDBQUBEgNMBRoKCwoEBQUCABIDTQQlCgwKBQUFAgABEgNNBCAKDAoFBQUCAAISA00jJAoLCgQFBQIBEgNOBCMKDAoFBQUCAQESA04EHgoMCgUFBQIBAhIDTiEiCgsKBAUFAgISA08EHwoMCgUFBQICARIDTwQaCgwKBQUFAgICEgNPHR4KCwoEBQUCAxIDUAQgCgwKBQUFAgMBEgNQBBsKDAoFBQUCAwISA1AeHwoLCgQFBQIEEgNRBC0KDAoFBQUCBAESA1EEKAoMCgUFBQIEAhIDUSssCgoKAgQDEgRUAFsBCgoKAwQDARIDVAgWCgsKBAQDAgASA1UENQoNCgUEAwIABBIEVQRUGAoMCgUEAwIABhIDVQQdCgwKBQQDAgABEgNVHjAKDAoFBAMCAAMSA1UzNAoLCgQEAwIBEgNWBCgKDQoFBAMCAQQSBFYEVTUKDAoFBAMCAQYSA1YEFwoMCgUEAwIBARIDVhgjCgwKBQQDAgEDEgNWJicKCwoEBAMCAhIDVwQmCg0KBQQDAgIEEgRXBFYoCgwKBQQDAgIGEgNXBBYKDAoFBAMCAgESA1cXIQoMCgUEAwICAxIDVyQlCgsKBAQDAgMSA1gEKAoNCgUEAwIDBBIEWARXJgoMCgUEAwIDBhIDWAQXCgwKBQQDAgMBEgNYGCMKDAoFBAMCAwMSA1gmJwoLCgQEAwIEEgNZBCgKDQoFBAMCBAQSBFkEWCgKDAoFBAMCBAYSA1kEFwoMCgUEAwIEARIDWRgjCgwKBQQDAgQDEgNZJicKCwoEBAMCBRIDWgQsCg0KBQQDAgUEEgRaBFkoCgwKBQQDAgUGEgNaBBkKDAoFBAMCBQESA1oaJwoMCgUEAwIFAxIDWiorCgoKAgUGEgRdAGsBCgoKAwUGARIDXQUUCgsKBAUGAgASA14EJAoMCgUFBgIAARIDXgQfCgwKBQUGAgACEgNeIiMKCwoEBQYCARIDXwQgCgwKBQUGAgEBEgNfBBsKDAoFBQYCAQISA18eHwoLCgQFBgICEgNgBCIKDAoFBQYCAgESA2AEHQoMCgUFBgICAhIDYCAhCgsKBAUGAgMSA2EEIwoMCgUFBgIDARIDYQQeCgwKBQUGAgMCEgNhISIKCwoEBQYCBBIDYgQjCgwKBQUGAgQBEgNiBB4KDAoFBQYCBAISA2IhIgoLCgQFBgIFEgNjBCIKDAoFBQYCBQESA2MEHQoMCgUFBgIFAhIDYyAhCgsKBAUGAgYSA2QEIAoMCgUFBgIGARIDZAQbCgwKBQUGAgYCEgNkHh8KCwoEBQYCBxIDZQQgCgwKBQUGAgcBEgNlBBsKDAoFBQYCBwISA2UeHwoLCgQFBgIIEgNmBCIKDAoFBQYCCAESA2YEHQoMCgUFBgIIAhIDZiAhCgsKBAUGAgkSA2cEJQoMCgUFBgIJARIDZwQgCgwKBQUGAgkCEgNnIyQKCwoEBQYCChIDaAQfCgwKBQUGAgoBEgNoBBkKDAoFBQYCCgISA2gcHgoLCgQFBgILEgNpBB8KDAoFBQYCCwESA2kEGQoMCgUFBgILAhIDaRweCgsKBAUGAgwSA2oEJwoMCgUFBgIMARIDagQhCgwKBQUGAgwCEgNqJCYKCwoCBQcSBW0AgAEBCgoKAwUHARIDbQUVCgsKBAUHAgASA24EJQoMCgUFBwIAARIDbgQgCgwKBQUHAgACEgNuIyQKCwoEBQcCARIDbwQhCgwKBQUHAgEBEgNvBBwKDAoFBQcCAQISA28fIAoLCgQFBwICEgNwBCEKDAoFBQcCAgESA3AEHAoMCgUFBwICAhIDcB8gCgsKBAUHAgMSA3EEIAoMCgUFBwIDARIDcQQbCgwKBQUHAgMCEgNxHh8KCwoEBQcCBBIDcgQhCgwKBQUHAgQBEgNyBBwKDAoFBQcCBAISA3IfIAoLCgQFBwIFEgNzBCAKDAoFBQcCBQESA3MEGwoMCgUFBwIFAhIDcx4fCgsKBAUHAgYSA3QEIAoMCgUFBwIGARIDdAQbCgwKBQUHAgYCEgN0Hh8KCwoEBQcCBxIDdQQhCgwKBQUHAgcBEgN1BBwKDAoFBQcCBwISA3UfIAoLCgQFBwIIEgN2BCEKDAoFBQcCCAESA3YEHAoMCgUFBwIIAhIDdh8gCgsKBAUHAgkSA3cEIQoMCgUFBwIJARIDdwQcCgwKBQUHAgkCEgN3HyAKCwoEBQcCChIDeAQhCgwKBQUHAgoBEgN4BBsKDAoFBQcCCgISA3geIAoLCgQFBwILEgN5BCEKDAoFBQcCCwESA3kEGwoMCgUFBwILAhIDeR4gCgsKBAUHAgwSA3oEIQoMCgUFBwIMARIDegQbCgwKBQUHAgwCEgN6HiAKCwoEBQcCDRIDewQhCgwKBQUHAg0BEgN7BBsKDAoFBQcCDQISA3seIAoLCgQFBwIOEgN8BCEKDAoFBQcCDgESA3wEGwoMCgUFBwIOAhIDfB4gCgsKBAUHAg8SA30EIAoMCgUFBwIPARIDfQQaCgwKBQUHAg8CEgN9HR8KCwoEBQcCEBIDfgQiCgwKBQUHAhABEgN+BBwKDAoFBQcCEAISA34fIQoLCgQFBwIREgN/BCEKDAoFBQcCEQESA38EHAoMCgUFBwIRAhIDfx4gCgwKAgUIEgaCAQCHAQEKCwoDBQgBEgSCAQURCgwKBAUIAgASBIMBBCAKDQoFBQgCAAESBIMBBBsKDQoFBQgCAAISBIMBHh8KDAoEBQgCARIEhAEEGQoNCgUFCAIBARIEhAEEFAoNCgUFCAIBAhIEhAEXGAoMCgQFCAICEgSFAQQiCg0KBQUIAgIBEgSFAQQdCg0KBQUIAgICEgSFASAhCgwKBAUIAgMSBIYBBCUKDQoFBQgCAwESBIYBBCAKDQoFBQgCAwISBIYBIyQKDAoCBAQSBokBAJQBAQoLCgMEBAESBIkBCBsKDAoEBAQCABIEigEEFAoPCgUEBAIABBIGigEEiQEdCg0KBQQEAgAFEgSKAQQJCg0KBQQEAgABEgSKAQoPCg0KBQQEAgADEgSKARITCgwKBAQEAgESBIsBBB0KDwoFBAQCAQQSBosBBIoBFAoNCgUEBAIBBhIEiwEEEwoNCgUEBAIBARIEiwEUGAoNCgUEBAIBAxIEiwEbHAoMCgQEBAICEgSMAQQfCg8KBQQEAgIEEgaMAQSLAR0KDQoFBAQCAgYSBIwBBBQKDQoFBAQCAgESBIwBFRoKDQoFBAQCAgMSBIwBHR4KDAoEBAQCAxIEjQEEGAoPCgUEBAIDBBIGjQEEjAEfCg0KBQQEAgMFEgSNAQQJCg0KBQQEAgMBEgSNAQoTCg0KBQQEAgMDEgSNARYXCgwKBAQEAgQSBI4BBBwKDwoFBAQCBAQSBo4BBI0BGAoNCgUEBAIEBhIEjgEEEAoNCgUEBAIEARIEjgERFwoNCgUEBAIEAxIEjgEaGwoMCgQEBAIFEgSPAQQdCg8KBQQEAgUEEgaPAQSOARwKDQoFBAQCBQUSBI8BBAoKDQoFBAQCBQESBI8BCxgKDQoFBAQCBQMSBI8BGxwKDAoEBAQCBhIEkAEELAoPCgUEBAIGBBIGkAEEjwEdCg0KBQQEAgYGEgSQAQQdCg0KBQQEAgYBEgSQAR4nCg0KBQQEAgYDEgSQASorCgwKBAQEAgcSBJEBBCEKDwoFBAQCBwQSBpEBBJABLAoNCgUEBAIHBRIEkQEECgoNCgUEBAIHARIEkQELHAoNCgUEBAIHAxIEkQEfIApnCgQEBAIIEgSTAQQZGlkgZGF0YV90eXBlIGNhbiBiZSBvZiB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIE1ldHJpY05hbWVzIG9yIHNvbWV0aGluZyBlbHNlIGFzIHdlbGwNCgoPCgUEBAIIBBIGkwEEkQEhCg0KBQQEAggFEgSTAQQKCg0KBQQEAggBEgSTAQsUCg0KBQQEAggDEgSTARcYCgwKAgQFEgaWAQCuAQEKCwoDBAUBEgSWAQgRCl0KBAQFAgASBJgBBBQaTyBUaGUgbmFtZSBvZiBhIGNvbXBvbmVudCB1bmlxdWVseSBpZGVudGlmaWVzIGFuIGNvbXBvbmVudCB3aXRoaW4gdGhlIEhhcmR3YXJlDQoKDwoFBAUCAAQSBpgBBJYBEwoNCgUEBQIABRIEmAEECgoNCgUEBQIAARIEmAELDwoNCgUEBQIAAxIEmAESEwoMCgQEBQIBEgSZAQQcCg8KBQQFAgEEEgaZAQSYARQKDQoFBAUCAQYSBJkBBBEKDQoFBAUCAQESBJkBEhcKDQoFBAUCAQMSBJkBGhsKDAoEBAUCAhIEmgEEGwoPCgUEBQICBBIGmgEEmQEcCg0KBQQFAgIFEgSaAQQKCg0KBQQFAgIBEgSaAQsWCg0KBQQFAgIDEgSaARkaCmEKBAQFAgMSBJwBBBYaUyBUaGUgbmFtZSBvZiB0aGUgcGFyZW50IG9mIHRoaXMgY29tcG9uZW50LCBlbXB0eSAiIiBpbiBjYXNlIG9mIHRoZSByb290IGNvbXBvbmVudA0KCg8KBQQFAgMEEgacAQSaARsKDQoFBAUCAwUSBJwBBAoKDQoFBAUCAwESBJwBCxEKDQoFBAUCAwMSBJwBFBUKDAoEBAUCBBIEnQEEHQoPCgUEBQIEBBIGnQEEnAEWCg0KBQQFAgQFEgSdAQQJCg0KBQQFAgQBEgSdAQoYCg0KBQQFAgQDEgSdARscCgwKBAQFAgUSBJ4BBCQKDQoFBAUCBQQSBJ4BBAwKDQoFBAUCBQYSBJ4BDRYKDQoFBAUCBQESBJ4BFx8KDQoFBAUCBQMSBJ4BIiMKDAoEBAUCBhIEnwEEHAoPCgUEBQIGBBIGnwEEngEkCg0KBQQFAgYFEgSfAQQKCg0KBQQFAgYBEgSfAQsXCg0KBQQFAgYDEgSfARobCgwKBAQFAgcSBKABBBwKDwoFBAUCBwQSBqABBJ8BHAoNCgUEBQIHBRIEoAEECgoNCgUEBQIHARIEoAELFwoNCgUEBQIHAxIEoAEaGwoMCgQEBQIIEgShAQQcCg8KBQQFAggEEgahAQSgARwKDQoFBAUCCAUSBKEBBAoKDQoFBAUCCAESBKEBCxcKDQoFBAUCCAMSBKEBGhsKDAoEBAUCCRIEogEEGwoPCgUEBQIJBBIGogEEoQEcCg0KBQQFAgkFEgSiAQQKCg0KBQQFAgkBEgSiAQsVCg0KBQQFAgkDEgSiARgaCgwKBAQFAgoSBKMBBBkKDwoFBAUCCgQSBqMBBKIBGwoNCgUEBQIKBRIEowEECgoNCgUEBQIKARIEowELEwoNCgUEBQIKAxIEowEWGAoMCgQEBQILEgSkAQQbCg8KBQQFAgsEEgakAQSjARkKDQoFBAUCCwUSBKQBBAoKDQoFBAUCCwESBKQBCxUKDQoFBAUCCwMSBKQBGBoKDAoEBAUCDBIEpQEEFgoPCgUEBQIMBBIGpQEEpAEbCg0KBQQFAgwFEgSlAQQKCg0KBQQFAgwBEgSlAQsQCg0KBQQFAgwDEgSlARMVCgwKBAQFAg0SBKYBBBkKDwoFBAUCDQQSBqYBBKUBFgoNCgUEBQINBRIEpgEECgoNCgUEBQINARIEpgELEwoNCgUEBQINAxIEpgEWGAoMCgQEBQIOEgSnAQQVCg8KBQQFAg4EEganAQSmARkKDQoFBAUCDgUSBKcBBAgKDQoFBAUCDgESBKcBCQ8KDQoFBAUCDgMSBKcBEhQKDAoEBAUCDxIEqAEELAoPCgUEBQIPBBIGqAEEpwEVCg0KBQQFAg8GEgSoAQQdCg0KBQQFAg8BEgSoAR4mCg0KBQQFAg8DEgSoASkrCgwKBAQFAhASBKkBBBEKDwoFBAUCEAQSBqkBBKgBLAoNCgUEBQIQBhIEqQEEBwoNCgUEBQIQARIEqQEICwoNCgUEBQIQAxIEqQEOEAplCgQEBQIREgSrAQQSGlcgVGhlIHV1aWQgb2YgdGhlIGNvbXBvbmVudCB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBjb21wb25lbnQgYWNyb3NzIHRoZSBlbnRpcmUgc3lzdGVtDQoKDwoFBAUCEQQSBqsBBKkBEQoNCgUEBQIRBhIEqwEECAoNCgUEBQIRARIEqwEJDQoNCgUEBQIRAxIEqwEPEQoMCgQEBQISEgSsAQQeCg8KBQQFAhIEEgasAQSrARIKDQoFBAUCEgYSBKwBBBIKDQoFBAUCEgESBKwBExgKDQoFBAUCEgMSBKwBGx0KDAoEBAUCExIErQEEMgoNCgUEBQITBBIErQEEDAoNCgUEBQITBhIErQENIAoNCgUEBQITARIErQEhLAoNCgUEBQITAxIErQEvMQoMCgIEBhIGsAEAtgEBCgsKAwQGARIEsAEIEAoMCgQEBgIAEgSxAQQuCg8KBQQGAgAEEgaxAQSwARIKDQoFBAYCAAYSBLEBBB0KDQoFBAYCAAESBLEBHikKDQoFBAYCAAMSBLEBLC0KsAEKBAQGAgESBLQBBBcaiAEgRWFjaCBIVyBoYXMgb25lIHBhcmVudC9yb290IGFuZCBhbGwgb3RoZXIgY29tcG9uZW50cyBhcmUgY2hpbGRyZW4gb2YgdGhpcw0KIFRoZSBjbGFzcyBvZiB0aGUgcm9vdCBjb21wb25lbnQgd291bGQgYmUgc2V0IGFzIFVOREVGSU5FRA0KIhcgVE9ETzogQXV0aGV0aWNhdGlvbj8NCgoPCgUEBgIBBBIGtAEEsQEuCg0KBQQGAgEGEgS0AQQNCg0KBQQGAgEBEgS0AQ4SCg0KBQQGAgEDEgS0ARUWClgKAgQHEga5AQDEAQEaSiBUaGUgYXR0cmlidXRlcyBvZiBhIGNvbXBvbmVudCB3aGljaCBhcmUgbW9kaWZpYWJsZSBmcm9tIHRoZSBjbGllbnQgc2lkZQ0KCgsKAwQHARIEuQEIGwqXAQoEBAcCABIEvAEEFBqIASBUaGUgbmFtZSBoYXMgdG8gYmUgdW5pcXVlIGZvciBlYWNoIGNvbXBvbmVudCB3aXRoaW4gdGhlIGhhcmR3YXJlIGFuZCBpbXBsZW1lbnRhdGlvbnMgbmVlZCB0bw0KIGFzY2VydGFpbiB0aGlzIHdoZW4gbW9kaWZ5aW5nIHRoZSBuYW1lDQoKDwoFBAcCAAQSBrwBBLkBHQoNCgUEBwIABRIEvAEECgoNCgUEBwIAARIEvAELDwoNCgUEBwIAAxIEvAESEwoMCgQEBwIBEgS9AQQcCg8KBQQHAgEEEga9AQS8ARQKDQoFBAcCAQYSBL0BBBEKDQoFBAcCAQESBL0BEhcKDQoFBAcCAQMSBL0BGhsKDAoEBAcCAhIEvgEEGQoPCgUEBwICBBIGvgEEvQEcCg0KBQQHAgIGEgS+AQQNCg0KBQQHAgIBEgS+AQ4UCg0KBQQHAgIDEgS+ARcYCgwKBAQHAgMSBL8BBB0KDwoFBAcCAwQSBr8BBL4BGQoNCgUEBwIDBRIEvwEECQoNCgUEBwIDARIEvwEKGAoNCgUEBwIDAxIEvwEbHAoMCgQEBwIEEgTAAQQVCg8KBQQHAgQEEgbAAQS/AR0KDQoFBAcCBAUSBMABBAoKDQoFBAcCBAESBMABCxAKDQoFBAcCBAMSBMABExQKDAoEBAcCBRIEwQEEGAoPCgUEBwIFBBIGwQEEwAEVCg0KBQQHAgUFEgTBAQQKCg0KBQQHAgUBEgTBAQsTCg0KBQQHAgUDEgTBARYXCgwKBAQHAgYSBMIBBBAKDwoFBAcCBgQSBsIBBMEBGAoNCgUEBwIGBhIEwgEEBwoNCgUEBwIGARIEwgEICwoNCgUEBwIGAxIEwgEODwoMCgQEBwIHEgTDAQQoCg8KBQQHAgcEEgbDAQTCARAKDQoFBAcCBwYSBMMBBBcKDQoFBAcCBwESBMMBGCMKDQoFBAcCBwMSBMMBJidiBnByb3RvMwqFRQogZG1pL2h3X2V2ZW50c19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90byJpCglWYWx1ZVR5cGUSGQoHaW50X3ZhbBgBIAEoA0gAUgZpbnRWYWwSGwoIdWludF92YWwYAiABKARIAFIHdWludFZhbBIdCglmbG9hdF92YWwYAyABKAJIAFIIZmxvYXRWYWxCBQoDdmFsIlIKCldhdGVyTWFya3MSIgoEaGlnaBgBIAEoCzIOLmRtaS5WYWx1ZVR5cGVSBGhpZ2gSIAoDbG93GAIgASgLMg4uZG1pLlZhbHVlVHlwZVIDbG93ImsKClRocmVzaG9sZHMSJwoFdXBwZXIYASABKAsyDy5kbWkuV2F0ZXJNYXJrc0gAUgV1cHBlchInCgVsb3dlchgCIAEoCzIPLmRtaS5XYXRlck1hcmtzSABSBWxvd2VyQgsKCXRocmVzaG9sZCJ+ChRUaHJlc2hvbGRJbmZvcm1hdGlvbhI1Cg5vYnNlcnZlZF92YWx1ZRgBIAEoCzIOLmRtaS5WYWx1ZVR5cGVSDW9ic2VydmVkVmFsdWUSLwoKdGhyZXNob2xkcxgCIAEoCzIPLmRtaS5UaHJlc2hvbGRzUgp0aHJlc2hvbGRzIooBCghFdmVudENmZxIoCghldmVudF9pZBgBIAEoDjINLmRtaS5FdmVudElkc1IHZXZlbnRJZBIjCg1pc19jb25maWd1cmVkGAIgASgIUgxpc0NvbmZpZ3VyZWQSLwoKdGhyZXNob2xkcxgDIAEoCzIPLmRtaS5UaHJlc2hvbGRzUgp0aHJlc2hvbGRzIjAKCUV2ZW50c0NmZxIjCgVpdGVtcxgBIAMoCzINLmRtaS5FdmVudENmZ1IFaXRlbXMihgEKEkxpc3RFdmVudHNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uEiYKBmV2ZW50cxgDIAEoCzIOLmRtaS5FdmVudHNDZmdSBmV2ZW50cyKtAQoaRXZlbnRzQ29uZmlndXJhdGlvblJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIqCgdjaGFuZ2VzGAIgASgLMg4uZG1pLkV2ZW50c0NmZ0gAUgdjaGFuZ2VzEioKEHJlc2V0X3RvX2RlZmF1bHQYAyABKAhIAFIOcmVzZXRUb0RlZmF1bHRCCwoJb3BlcmF0aW9uImcKG0V2ZW50c0NvbmZpZ3VyYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uIpQBCg1FdmVudE1ldGFEYXRhEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZSKCAgoFRXZlbnQSOQoOZXZlbnRfbWV0YWRhdGEYASABKAsyEi5kbWkuRXZlbnRNZXRhRGF0YVINZXZlbnRNZXRhZGF0YRIoCghldmVudF9pZBgCIAEoDjINLmRtaS5FdmVudElkc1IHZXZlbnRJZBI3CglyYWlzZWRfdHMYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUghyYWlzZWRUcxJACg50aHJlc2hvbGRfaW5mbxgEIAEoCzIZLmRtaS5UaHJlc2hvbGRJbmZvcm1hdGlvblINdGhyZXNob2xkSW5mbxIZCghhZGRfaW5mbxgFIAEoCVIHYWRkSW5mbyrRDgoIRXZlbnRJZHMSGAoURVZFTlRfTkFNRV9VTkRFRklORUQQABIeChpFVkVOVF9UUkFOU0NFSVZFUl9QTFVHX09VVBBkEh0KGUVWRU5UX1RSQU5TQ0VJVkVSX1BMVUdfSU4QZRItCilFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0FCT1ZFX1RIUkVTSE9MRBBmEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQkVMT1dfVEhSRVNIT0xEEGcSMQotRVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQUJPVkVfVEhSRVNIT0xEEGgSMQotRVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQkVMT1dfVEhSRVNIT0xEEGkSLQopRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9BQk9WRV9USFJFU0hPTEQQahItCilFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0JFTE9XX1RIUkVTSE9MRBBrEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRBBsEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRBBtEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRBBuEi4KKkVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRBBvEh0KGUVWRU5UX1RSQU5TQ0VJVkVSX0ZBSUxVUkUQcBI3CjNFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQcRI3CjNFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQchI7CjdFVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHMSOwo3RVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB0EjcKM0VWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB1EjcKM0VWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB2EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQdxI4CjRFVkVOVF9UUkFOU0NFSVZFUl9SWF9QT1dFUl9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHgSOAo0RVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB5EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQehInCiNFVkVOVF9UUkFOU0NFSVZFUl9GQUlMVVJFX1JFQ09WRVJFRBB7EhcKEkVWRU5UX1BTVV9QTFVHX09VVBDIARIWChFFVkVOVF9QU1VfUExVR19JThDJARIWChFFVkVOVF9QU1VfRkFJTFVSRRDKARIgChtFVkVOVF9QU1VfRkFJTFVSRV9SRUNPVkVSRUQQywESFgoRRVZFTlRfRkFOX0ZBSUxVUkUQrAISFwoSRVZFTlRfRkFOX1BMVUdfT1VUEK0CEhYKEUVWRU5UX0ZBTl9QTFVHX0lOEK4CEiAKG0VWRU5UX0ZBTl9GQUlMVVJFX1JFQ09WRVJFRBCvAhIpCiRFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUwQkAMSJgohRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMEJEDEjMKLkVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTF9SRUNPVkVSRUQQkgMSMAorRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMX1JFQ09WRVJFRBCTAxIaChVFVkVOVF9IV19ERVZJQ0VfUkVTRVQQ9AMSLwoqRVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMEPUDEiwKJ0VWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTBD2AxI5CjRFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUxfUkVDT1ZFUkVEEPcDEjYKMUVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTF9SRUNPVkVSRUQQ+AMytwEKHU5hdGl2ZUV2ZW50c01hbmFnZW1lbnRTZXJ2aWNlEjYKCkxpc3RFdmVudHMSDy5kbWkuSGFyZHdhcmVJRBoXLmRtaS5MaXN0RXZlbnRzUmVzcG9uc2USXgoZVXBkYXRlRXZlbnRzQ29uZmlndXJhdGlvbhIfLmRtaS5FdmVudHNDb25maWd1cmF0aW9u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dmljZVV1aWQikgEKGVBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbhIrCglpbnZlbnRvcnkYAyABKAsyDS5kbWkuSGFyZHdhcmVSCWludmVudG9yeSKgAQoZSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUilAEKGkhXQ29tcG9uZW50SW5mb0dldFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SLAoJY29tcG9uZW50GAMgASgLMg4uZG1pLkNvbXBvbmVudFIJY29tcG9uZW50ItQBChlIV0NvbXBvbmVudEluZm9TZXRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZRIyCgdjaGFuZ2VzGAQgASgLMhguZG1pLk1vZGlmaWFibGVDb21wb25lbnRSB2NoYW5nZXMiZgoaSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbiKTAQobU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SKgoLZGV2aWNlX3V1aWQYAyABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCIvChlTdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWUiZgoaU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbjLQAwoZTmF0aXZlSFdNYW5hZ2VtZW50U2VydmljZRJTChNTdGFydE1hbmFnaW5nRGV2aWNlEhguZG1pLk1vZGlmaWFibGVDb21wb25lbnQaIC5kbWkuU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlMAESVQoSU3RvcE1hbmFnaW5nRGV2aWNlEh4uZG1pLlN0b3BNYW5hZ2luZ0RldmljZVJlcXVlc3QaHy5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2USVwoUR2V0UGh5c2ljYWxJbnZlbnRvcnkSHS5kbWkuUGh5c2ljYWxJbnZlbnRvcnlSZXF1ZXN0Gh4uZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2UwARJXChJHZXRIV0NvbXBvbmVudEluZm8SHi5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBofLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXNwb25zZTABElUKElNldEhXQ29tcG9uZW50SW5mbxIeLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXF1ZXN0Gh8uZG1pLkhXQ29tcG9uZW50SW5mb1NldFJlc3BvbnNlQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUrBFgoGEgQAAFIBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCkoKAgQAEgQKAAwBMj4gUHJvdG9zIGZvciB0aGUgbWFuYWdlbWVudCBvZiBhIGhhcmR3YXJlIGFuZCBpdCdzIGNvbXBvbmVudHMNCgoKCgMEAAESAwoIIAoLCgQEAAIAEgMLBBkKDQoF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EgNRPlhiBnByb3RvMwqENgohZG1pL2h3X21ldHJpY3NfbWdtdF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8ihwEKDE1ldHJpY0NvbmZpZxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIjCg1wb2xsX2ludGVydmFsGAMgASgNUgxwb2xsSW50ZXJ2YWwiPAoNTWV0cmljc0NvbmZpZxIrCgdtZXRyaWNzGAEgAygLMhEuZG1pLk1ldHJpY0NvbmZpZ1IHbWV0cmljcyKNAQoTTGlzdE1ldHJpY3NSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uEiwKB21ldHJpY3MYAyABKAsyEi5kbWkuTWV0cmljc0NvbmZpZ1IHbWV0cmljcyKyAQobTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSLgoHY2hhbmdlcxgCIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24iaAocTWV0cmljc0NvbmZpZ3VyYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uIpUBCg5NZXRyaWNNZXRhRGF0YRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUipQEKBk1ldHJpYxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEjwKD21ldHJpY19tZXRhZGF0YRgCIAEoCzITLmRtaS5NZXRyaWNNZXRhRGF0YVIObWV0cmljTWV0YWRhdGESLgoFdmFsdWUYAyABKAsyGC5kbWkuQ29tcG9uZW50U2Vuc29yRGF0YVIFdmFsdWUicwoQR2V0TWV0cmljUmVxdWVzdBIwCgltZXRhX2RhdGEYASABKAsyEy5kbWkuTWV0cmljTWV0YURhdGFSCG1ldGFEYXRhEi0KCW1ldHJpY19pZBgCIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQiggEKEUdldE1ldHJpY1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SIwoGbWV0cmljGAMgASgLMgsuZG1pLk1ldHJpY1IGbWV0cmljKtkFCgtNZXRyaWNOYW1lcxIZChVNRVRSSUNfTkFNRV9VTkRFRklORUQQABIUChBNRVRSSUNfRkFOX1NQRUVEEAESEwoPTUVUUklDX0NQVV9URU1QEGQSHwobTUVUUklDX0NQVV9VU0FHRV9QRVJDRU5UQUdFEGUSHAoXTUVUUklDX1RSQU5TQ0VJVkVSX1RFTVAQyAESHwoaTUVUUklDX1RSQU5TQ0VJVkVSX1ZPTFRBR0UQyQESHAoXTUVUUklDX1RSQU5TQ0VJVkVSX0JJQVMQygESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1JYX1BPV0VSEMsBEiAKG01FVFJJQ19UUkFOU0NFSVZFUl9UWF9QT1dFUhDMARIiCh1NRVRSSUNfVFJBTlNDRUlWRVJfV0FWRUxFTkdUSBDNARIVChBNRVRSSUNfRElTS19URU1QEKwCEhkKFE1FVFJJQ19ESVNLX0NBUEFDSVRZEK0CEhYKEU1FVFJJQ19ESVNLX1VTQUdFEK4CEiEKHE1FVFJJQ19ESVNLX1VTQUdFX1BFUkNFTlRBR0UQrwISJgohTUVUUklDX0RJU0tfUkVBRF9XUklURV9QRVJDRU5UQUdFELACEigKI01FVFJJQ19ESVNLX0ZBVUxUWV9DRUxMU19QRVJDRU5UQUdFELECEhQKD01FVFJJQ19SQU1fVEVNUBCQAxIYChNNRVRSSUNfUkFNX0NBUEFDSVRZEJEDEhUKEE1FVFJJQ19SQU1fVVNBR0UQkgMSIAobTUVUUklDX1JBTV9VU0FHRV9QRVJDRU5UQUdFEJMDEhUKEE1FVFJJQ19QT1dFUl9NQVgQ9AMSFwoSTUVUUklDX1BPV0VSX1VTQUdFEPUDEiIKHU1FVFJJQ19QT1dFUl9VU0FHRV9QRVJDRU5UQUdFEPYDEiIKHU1FVFJJQ19JTk5FUl9TVVJST1VORElOR19URU1QENgEMvkBCh5OYXRpdmVNZXRyaWNzTWFuYWdlbWVudFNlcnZpY2USOAoLTGlzdE1ldHJpY3MSDy5kbWkuSGFyZHdhcmVJRBoYLmRtaS5MaXN0TWV0cmljc1Jlc3BvbnNlEmEKGlVwZGF0ZU1ldHJpY3NDb25maWd1cmF0aW9uEiAuZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVxdWVzdBohLmRtaS5NZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlEjoKCUdldE1ldHJpYxIVLmRtaS5HZXRNZXRyaWNSZXF1ZXN0GhYuZG1pLkdldE1ldHJpY1Jlc3BvbnNlQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUrqIwoHEgUAAIIBAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKCQoCAwESAwYAFgrYAQoCBQASBA0ANAEyjgEgVGhlIG1vZGVsIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBldmVudCBkYXRhIG9uIHRoZSBTZW5zb3JEYXRhIG9mIGEgY29tcG9uZW50IGFzIGRlc2NyaWJlZA0KIGluIFJGQzgzNDggKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MzQ4KQ0KMjsgTWFuYWdlbWVudCBvZiBNZXRyaWNzIGFuZCBwcm90b3MgZm9yIGVuY29kaW5nIG9mIE1ldHJpY3MNCgoKCgMFAAESAw0FEAoLCgQFAAIAEgMOBB4KDAoFBQACAAESAw4EGQoMCgUFAAIAAhIDDhwdCiMKBAUAAgESAxEEGRoWIEZB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YWJvdXQgdGhlIG1ldHJpY3MgdGhhdCBhIHBhcnRpY3VsYXIgZGV2aWNlIHN1cHBvcnRzIGFuZA0KIHRoZW4gdXNlIHRoZSBVcGRhdGVNZXRyaWNzQ29uZmlndXJhdGlvbiBBUEkgdG8gbW9uaXRvciBvbmx5IHRoZSByZXF1aXJlZCBtZXRyaWNzLg0KCgwKBQYAAgABEgN3CBMKDAoFBgACAAISA3cUHgoMCgUGAAIAAxIDdyg7CqYCCgQGAAIBEgN+BGYamAIgVXBkYXRlcyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgbGlzdCBvZiBtZXRyaWNzIGluIHRoZSByZXF1ZXN0DQogQWN0cyB1cG9uIHNpbmdsZSBtZXRyaWMgY29uZmlndXJhdGlvbiwgY29sbGVjdGlvbiBvZiBhIHNpbmdsZSBtZXRyaWMgY2FuIGJlIHN0YXJ0ZWQvc3RvcHBlZA0KIGJ5IGNoYW5naW5nIGl0cyBjb25maWd1cmF0aW9uLg0KDQogVGhpcyBjb25maWd1cmF0aW9uIGlzIHBlcnNpc3RlZCBhY3Jvc3MgcmVzdGFydCBvZiB0aGUgZGV2aWNlIG9yIHRoZSBkZXZpY2UgbWFuYWdlcg0KCgwKBQYAAgEBEgN+CCIKDAoFBgACAQISA34jPgoMCgUGAAIBAxIDfkhkCjcKBAYAAgISBIEBBD8aKSBHZXQgdGhlIGluc3RhbnRlbm91cyB2YWx1ZSBvZiBhIG1ldHJpYw0KCg0KBQYAAgIBEgSBAQgRCg0KBQYAAgICEgSBARIiCg0KBQYAAgIDEgSBASw9YgZwcm90bzMK0xgKEmRtaS9zd19pbWFnZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90byJHCgxJbWFnZVZlcnNpb24SHQoKaW1hZ2VfbmFtZRgBIAEoCVIJaW1hZ2VOYW1lEhgKB3ZlcnNpb24YAiABKAlSB3ZlcnNpb24iqAEKEEltYWdlSW5mb3JtYXRpb24SJwoFaW1hZ2UYASABKAsyES5kbWkuSW1hZ2VWZXJzaW9uUgVpbWFnZRIwChRpbWFnZV9pbnN0YWxsX3NjcmlwdBgCIAEoCVISaW1hZ2VJbnN0YWxsU2NyaXB0EhsKCWltYWdlX3VybBgDIAEoCVIIaW1hZ2VVcmwSHAoJc2hhMjU2c3VtGAUgASgJUglzaGEyNTZzdW0ingQKC0ltYWdlU3RhdHVzEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIvCgZyZWFzb24YAiABKA4yFy5kbWkuSW1hZ2VTdGF0dXMuUmVhc29uUgZyZWFzb24SMQoFc3RhdGUYAyABKA4yGy5kbWkuSW1hZ2VTdGF0dXMuSW1hZ2VTdGF0ZVIFc3RhdGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uItABCgpJbWFnZVN0YXRlEhMKD1VOREVGSU5FRF9TVEFURRAAEhEKDUNPUFlJTkdfSU1BR0UQARIUChBJTlNUQUxMSU5HX0lNQUdFEAISFAoQQ09NTUlUVElOR19JTUFHRRADEhQKEFJFQk9PVElOR19ERVZJQ0UQBBIUChBVUEdSQURFX0NPTVBMRVRFEAUSEgoOVVBHUkFERV9GQUlMRUQQBhIXChNBQ1RJVkFUSU9OX0NPTVBMRVRFEAcSFQoRQUNUSVZBVElPTl9GQUlMRUQQCCKQAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABIUChBFUlJPUl9JTl9SRVFVRVNUEAESEgoOSU5URVJOQUxfRVJST1IQAhIZChVERVZJQ0VfSU5fV1JPTkdfU1RBVEUQAxIRCg1JTlZBTElEX0lNQUdFEAQSGAoUV1JPTkdfSU1BR0VfQ0hFQ0tTVU0QBUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlKyhEKBhIEAAA2AQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKQwoCBAASBAkADAEyNyBQcm90b3MgZm9yIG1vZGVsaW5nIGEgc29mdHdhcmUgaW1hZ2UgYW5kIGl0J3Mgc3RhdHVzDQoKCgoDBAABEgMJCBQKCwoEBAACABIDCgQaCg0KBQQAAgAEEgQKBAkWCgwKBQQAAgAFEgMKBAoKDAoFBAACAAESAwoLFQoMCgUEAAIAAxIDChgZCgsKBAQAAgESAwsEFwoNCgUEAAIBBBIECwQKGgoMCgUEAAIBBRIDCwQKCgwKBQQAAgEBEgMLCxIK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EgMzFxgKdgoEBAICAxIDNQQbGmkgZGVzY3JpcHRpb24gY29udGFpbnMgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlIGFuZCBpcyBkZXZpY2UgZGVwZW5kYW50DQoKDQoFBAICAwQSBDUEMxkKDAoFBAICAwUSAzUECgoMCgUEAgIDARIDNQsWCgwKBQQCAgMDEgM1GRpiBnByb3RvMwrAFQofZG1pL3N3X21hbmFnZW1lbnRfc2VydmljZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGhJkbWkvc3dfaW1hZ2UucHJvdG8ilgEKGlNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uEjoKD2FjdGl2ZV92ZXJzaW9ucxgBIAMoCzIRLmRtaS5JbWFnZVZlcnNpb25SDmFjdGl2ZVZlcnNpb25zEjwKEHN0YW5kYnlfdmVyc2lvbnMYAiADKAsyES5kbWkuSW1hZ2VWZXJzaW9uUg9zdGFuZGJ5VmVyc2lvbnMipgEKJUdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbhIzCgRpbmZvGAMgASgLMh8uZG1pLlNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUgRpbmZvIngKFERvd25sb2FkSW1hZ2VSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSNAoKaW1hZ2VfaW5mbxgCIAEoCzIVLmRtaS5JbWFnZUluZm9ybWF0aW9uUglpbWFnZUluZm8ypwIKH05hdGl2ZVNvZnR3YXJlTWFuYWdlbWVudFNlcnZpY2USUQoSR2V0U29mdHdhcmVWZXJzaW9uEg8uZG1pLkhhcmR3YXJlSUQaKi5kbWkuR2V0U29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SZXNwb25zZRI+Cg1Eb3dubG9hZEltYWdlEhkuZG1pLkRvd25sb2FkSW1hZ2VSZXF1ZXN0GhAuZG1pLkltYWdlU3RhdHVzMAESNAoNQWN0aXZhdGVJbWFnZRIPLmRtaS5IYXJkd2FyZUlEGhAuZG1pLkltYWdlU3RhdHVzMAESOwoUUmV2ZXJ0VG9TdGFuZGJ5SW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRtaS5JbWFnZVN0YXR1czABQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUq3DgoGEgQAADEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCgkKAgMCEgMHABwK7gEKAgQAEgQPABIBMqcBIFRoZSBzb2Z0d2FyZSBtYW5hZ2VtZW50IGNvbmNlcHQgZGVzY3JpYmVkIGhlcmUgaXMgYWxpZ25lZCB3aXRoIFdULTM4M2EzIChSZXZpc2lvbjogMDYgQXByaWwgMjAyMCkuDQogSW4gcGFydGljdWxhciBTZWN0aW9uIDExIFNvZnR3YXJlIG1hbmFnZW1lbnQNCiBUT0RPIGNoZWNrIG1vZGVsDQoyOCBQcm90b3MgZm9yIG1hbmFnaW5nIHRoZSBzb2Z0d2FyZSBvbiBhIGhhcmR3YXJlIGRldmljZQ0KCgoKAwQAARIDDwgiCgsKBAQAAgASAxAELgoMCgUEAAIABBIDEAQMCgwKBQQAAgAGEgMQDRkKDAoFBAACAAESAxAaKQoMCgUEAAIAAxIDECwtCgsKBAQAAgESAxEELwoMCgUEAAIBBBIDEQQMCgwKBQQAAgEGEgMRDRkKDAoFBAACAQESAxEaKgoMCgUEAAIBAxIDES0uCgoKAgQBEgQUABgBCgoKAwQBARIDFAgtCgsKBAQBAgASAxUEFgoNCgUEAQIABBIEFQQULwoMCgUEAQIABhIDFQQKCgwKBQQBAgABEgMVCxEKDAoFBAECAAMSAxUUFQoLCgQEAQIBEgMWBBYKDQoFBAECAQQSBBYEFRYKDAoFBAECAQYSAxYECgoMCgUEAQIBARIDFgsRCgwKBQQBAgEDEgMWFBUKCwoEBAECAhIDFwQoCg0KBQQBAgIEEgQXBBYWCgwKBQQBAgIGEgMXBB4KDAoFBAECAgESAxcfIwoMCgUEAQICAxIDFyYnCgoKAgQCEgQaAB0BCgoKAwQCARIDGggcCgsKBAQCAgASAxsEGQoNCgUEAgIABBIEGwQaHgoMCgUEAgIABhIDGwQICgwKBQQCAgABEgMbCRQKDAoFBAICAAMSAxsXGAoLCgQEAgIBEgMcBCQKDQoFBAICAQQSBBwEGxkKDAoFBAICAQYSAxwEFAoMCgUEAgIBARIDHBUfCgwKBQQCAgEDEgMcIiMKCgoCBgASBB8AMQEKCgoDBgABEgMfCCcKVQoEBgACABIDIQRWGkggR2V0IHRoZSBzb2Z0d2FyZSB2ZXJzaW9uIGluZm9ybWF0aW9uIG9mIHRoZSBBY3RpdmUgYW5kIFN0YW5kYnkgaW1hZ2VzDQoKDAoFBgACAAESAyEIGgoMCgUGAAIAAhIDIRslCgwKBQYAAgADEgMhL1QKdQoEBgACARIDJARIGmggRG93bmxvYWRzIGFuZCBpbnN0YWxscyB0aGUgaW1hZ2UgaW4gdGhlIHN0YW5kYnkgcGFydGl0aW9uLCByZXR1cm5zIHRoZSBzdGF0dXMvcHJvZ3Jlc3Mgb2YgdGhlIEluc3RhbGwNCgoMCgUGAAIBARIDJAgVCgwKBQYAAgECEgMkFioKDAoFBgACAQYSAyQ0OgoMCgUGAAIBAxIDJDtGCrcCCgQGAAICEgMpBD4aqQIgQWN0aXZhdGVzIGFuZCBydW5zIHRoZSBPTFQgd2l0aCB0aGUgaW1hZ2UgaW4gdGhlIHN0YW5kYnkgcGFydGl0aW9uLiBJZiB0aGluZ3MgYXJlIGZpbmUgdGhpcyBpbWFnZSB3aWxsDQogaGVuY2Vmb3J0aCBiZSBtYXJrZWQgYXMgdGhlIEFjdGl2ZSBQYXJ0aXRpb24uIFRoZSBvbGQgd29ya2luZyBpbWFnZSB3b3VsZCByZW1haW4gb24gdGhlIFN0YW5kYnkgcGFydGl0aW9uLg0KIEFueSBwb3NzaWJseSByZXF1aXJlZCAoc3ViLSlzdGVwcyBsaWtlICJjb21taXQiIGFyZSBsZWZ0IHRvIHRoZSAiRGV2aWNlIE1hbmFnZXIiDQoKDAoFBgACAgESAykIFQoMCgUGAAICAhIDKRYgCgwKBQYAAgIGEgMpKjAKDAoFBgACAgMSAykxPArbAQoEBgACAxIDLQRFGs0BIE1hcmtzIHRoZSBpbWFnZSBpbiB0aGUgU3RhbmRieSBhcyBBY3RpdmUgYW5kIHJlYm9vdHMgdGhlIGRldmljZSwgc28gdGhhdCBpdCBib290cyBmcm9tIHRoYXQgaW1hZ2Ugd2hpY2ggd2FzIGluIHRoZSBzdGFuZGJ5Lg0KIFRoaXMgQVBJIGlzIHRvIGJlIHVzZWQgaWYgb3BlcmF0b3Igd2FudHMgdG8gZ28gYmFjayB0byB0aGUgcHJldmlvdXMgc29mdHdhcmUNCgoMCgUGAAIDARIDLQgcCgwKBQYAAgMCEgMtHScKDAoFBgACAwYSAy0xNwoMCgUGAAIDAxIDLThDYgZwcm90bzM=