CtMECjFjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2ltcG9ydF9wdWJsaWNfcHJvdG8zLnByb3RvEhhwcm90b2J1Zl91bml0dGVzdF9pbXBvcnQiIwoTUHVibGljSW1wb3J0TWVzc2FnZRIMCgFlGAEgASgFUgFlQh2qAhpHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvc0q3AwoGEgQJABEBCr4CCgEMEgMJABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKMiggQXV0aG9yOiBsaXVqaXNpQGdvb2dsZS5jb20gKFBoZXJsIExpdSkKCggKAQISAwsAIQoICgEIEgMNADcKCQoCCCUSAw0ANwoKCgIEABIEDwARAQoKCgMEAAESAw8IGwoLCgQEAAIAEgMQAQ0KDAoFBAACAAUSAxABBgoMCgUEAAIAARIDEAcICgwKBQQAAgADEgMQCwxiBnByb3RvMwrnCAoqY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pbXBvcnRfcHJvdG8zLnByb3RvEhhwcm90b2J1Zl91bml0dGVzdF9pbXBvcnQaMWNzaGFycC9wcm90b3MvdW5pdHRlc3RfaW1wb3J0X3B1YmxpY19wcm90bzMucHJvdG8iHQoNSW1wb3J0TWVzc2FnZRIMCgFkGAEgASgFUgFkKlkKCkltcG9ydEVudW0SGwoXSU1QT1JUX0VOVU1fVU5TUEVDSUZJRUQQABIOCgpJTVBPUlRfRk9PEAcSDgoKSU1QT1JUX0JBUhAIEg4KCklNUE9SVF9CQVoQCUIdqgIaR29vZ2xlLlByb3RvYnVmLlRlc3RQcm90b3NKyAYKBhIEDQAfAQrnAwoBDBIDDQASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCjLQASBBdXRob3I6IGtlbnRvbkBnb29nbGUuY29tIChLZW50b24gVmFyZGEpCiAgQmFzZWQgb24gb3JpZ2luYWwgUHJvdG9jb2wgQnVmZmVycyBkZXNpZ24gYnkKICBTYW5qYXkgR2hlbWF3YXQsIEplZmYgRGVhbiwgYW5kIG90aGVycy4KCiBBIHByb3RvIGZpbGUgd2hpY2ggaXMgaW1wb3J0ZWQgYnkgdW5pdHRlc3RfcHJvdG8zLnByb3RvIHRvIHRlc3QgaW1wb3J0aW5nLgoKCAoBAhIDDwAhCggKAQgSAxEANwoJCgIIJRIDEQA3Ch8KAgMAEgMUAEIaFCBUZXN0IHB1YmxpYyBpbXBvcnQKCgkKAgoAEgMUBw0KCgoCBAASBBYAGAEKCgoDBAABEgMWCBUKCwoEBAACABIDFwIOCgwKBQQAAgAFEgMXAgcKDAoFBAACAAESAxcICQoMCgUEAAIAAxIDFwwNCgoKAgUAEgQaAB8BCgoKAwUAARIDGgUPCgsKBAUAAgASAxsCHgoMCgUFAAIAARIDGwIZCgwKBQUAAgACEgMbHB0KCwoEBQACARIDHAIRCgwKBQUAAgEBEgMcAgwKDAoFBQACAQISAxwPEAoLCgQFAAICEgMdAhEKDAoFBQACAgESAx0CDAoMCgUFAAICAhIDHQ8QCgsKBAUAAgMSAx4CEQoMCgUFAAIDARIDHgIMCgwKBQUAAgMCEgMeDxBQAGIGcHJvdG8zCqKxAQojY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9wcm90bzMucHJvdG8SEnByb3RvYnVmX3VuaXR0ZXN0MxoqY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pbXBvcnRfcHJvdG8zLnByb3RvIqsWCgxUZXN0QWxsVHlwZXMSIQoMc2luZ2xlX2ludDMyGAEgASgFUgtzaW5nbGVJbnQzMhIhCgxzaW5nbGVfaW50NjQYAiABKANSC3NpbmdsZUludDY0EiMKDXNpbmdsZV91aW50MzIYAyABKA1SDHNpbmdsZVVpbnQzMhIjCg1zaW5nbGVfdWludDY0GAQgASgEUgxzaW5nbGVVaW50NjQSIwoNc2luZ2xlX3NpbnQzMhgFIAEoEVIMc2luZ2xlU2ludDMyEiMKDXNpbmdsZV9zaW50NjQYBiABKBJSDHNpbmdsZVNpbnQ2NBIlCg5zaW5nbGVfZml4ZWQzMhgHIAEoB1INc2luZ2xlRml4ZWQzMhIlCg5zaW5nbGVfZml4ZWQ2NBgIIAEoBlINc2luZ2xlRml4ZWQ2NBInCg9zaW5nbGVfc2ZpeGVkMzIYCSABKA9SDnNpbmdsZVNmaXhlZDMyEicKD3NpbmdsZV9zZml4ZWQ2NBgKIAEoEFIOc2luZ2xlU2ZpeGVkNjQSIQoMc2luZ2xlX2Zsb2F0GAsgASgCUgtzaW5nbGVGbG9hdBIjCg1zaW5nbGVfZG91YmxlGAwgASgBUgxzaW5nbGVEb3VibGUSHwoLc2luZ2xlX2Jvb2wYDSABKAhSCnNpbmdsZUJvb2wSIwoNc2luZ2xlX3N0cmluZxgOIAEoCVIMc2luZ2xlU3RyaW5nEiEKDHNpbmdsZV9ieXRlcxgPIAEoDFILc2luZ2xlQnl0ZXMSYgoVc2luZ2xlX25lc3RlZF9tZXNzYWdlGBIgASgLMi4ucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlUhNzaW5nbGVOZXN0ZWRNZXNzYWdlElgKFnNpbmdsZV9mb3JlaWduX21lc3NhZ2UYEyABKAsyIi5wcm90b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2VSFHNpbmdsZUZvcmVpZ25NZXNzYWdlElsKFXNpbmdsZV9pbXBvcnRfbWVzc2FnZRgUIAEoCzInLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydC5JbXBvcnRNZXNzYWdlUhNzaW5nbGVJbXBvcnRNZXNzYWdlElkKEnNpbmdsZV9uZXN0ZWRfZW51bRgVIAEoDjIrLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bVIQc2luZ2xlTmVzdGVkRW51bRJPChNzaW5nbGVfZm9yZWlnbl9lbnVtGBYgASgOMh8ucHJvdG9idWZfdW5pdHRlc3QzLkZvcmVpZ25FbnVtUhFzaW5nbGVGb3JlaWduRW51bRJSChJzaW5nbGVfaW1wb3J0X2VudW0YFyABKA4yJC5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnQuSW1wb3J0RW51bVIQc2luZ2xlSW1wb3J0RW51bRJuChxzaW5nbGVfcHVibGljX2ltcG9ydF9tZXNzYWdlGBogASgLMi0ucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0LlB1YmxpY0ltcG9ydE1lc3NhZ2VSGXNpbmdsZVB1YmxpY0ltcG9ydE1lc3NhZ2USJQoOcmVwZWF0ZWRfaW50MzIYHyADKAVSDXJlcGVhdGVkSW50MzISJQoOcmVwZWF0ZWRfaW50NjQYICADKANSDXJlcGVhdGVkSW50NjQSJwoPcmVwZWF0ZWRfdWludDMyGCEgAygNUg5yZXBlYXRlZFVpbnQzMhInCg9yZXBlYXRlZF91aW50NjQYIiADKARSDnJlcGVhdGVkVWludDY0EicKD3JlcGVhdGVkX3NpbnQzMhgjIAMoEVIOcmVwZWF0ZWRTaW50MzISJwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSUg5yZXBlYXRlZFNpbnQ2NBIpChByZXBlYXRlZF9maXhlZDMyGCUgAygHUg9yZXBlYXRlZEZpeGVkMzISKQoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EisKEXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPUhByZXBlYXRlZFNmaXhlZDMyEisKEXJlcGVhdGVkX3NmaXhlZDY0GCggAygQUhByZXBlYXRlZFNmaXhlZDY0EiUKDnJlcGVhdGVkX2Zsb2F0GCkgAygCUg1yZXBlYXRlZEZsb2F0EicKD3JlcGVhdGVkX2RvdWJsZRgqIAMoAVIOcmVwZWF0ZWREb3VibGUSIwoNcmVwZWF0ZWRfYm9vbBgrIAMoCFIMcmVwZWF0ZWRCb29sEicKD3JlcGVhdGVkX3N0cmluZxgsIAMoCVIOcmVwZWF0ZWRTdHJpbmcSJQoOcmVwZWF0ZWRfYnl0ZXMYLSADKAxSDXJlcGVhdGVkQnl0ZXMSZgoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyLi5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSFXJlcGVhdGVkTmVzdGVkTWVzc2FnZRJcChhyZXBlYXRlZF9mb3JlaWduX21lc3NhZ2UYMSADKAsyIi5wcm90b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2VSFnJlcGVhdGVkRm9yZWlnbk1lc3NhZ2USXwoXcmVwZWF0ZWRfaW1wb3J0X21lc3NhZ2UYMiADKAsyJy5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnQuSW1wb3J0TWVzc2FnZVIVcmVwZWF0ZWRJbXBvcnRNZXNzYWdlEl0KFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMisucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtUhJyZXBlYXRlZE5lc3RlZEVudW0SUwoVcmVwZWF0ZWRfZm9yZWlnbl9lbnVtGDQgAygOMh8ucHJvdG9idWZfdW5pdHRlc3QzLkZvcmVpZ25FbnVtUhNyZXBlYXRlZEZvcmVpZ25FbnVtElYKFHJlcGVhdGVkX2ltcG9ydF9lbnVtGDUgAygOMiQucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0LkltcG9ydEVudW1SEnJlcGVhdGVkSW1wb3J0RW51bRJyCh5yZXBlYXRlZF9wdWJsaWNfaW1wb3J0X21lc3NhZ2UYNiADKAsyLS5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnQuUHVibGljSW1wb3J0TWVzc2FnZVIbcmVwZWF0ZWRQdWJsaWNJbXBvcnRNZXNzYWdlEiMKDG9uZW9mX3VpbnQzMhhvIAEoDUgAUgtvbmVvZlVpbnQzMhJiChRvbmVvZl9uZXN0ZWRfbWVzc2FnZRhwIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUgAUhJvbmVvZk5lc3RlZE1lc3NhZ2USIwoMb25lb2Zfc3RyaW5nGHEgASgJSABSC29uZW9mU3RyaW5nEiEKC29uZW9mX2J5dGVzGHIgASgMSABSCm9uZW9mQnl0ZXMaHwoNTmVzdGVkTWVzc2FnZRIOCgJiYhgBIAEoBVICYmIiVgoKTmVzdGVkRW51bRIbChdORVNURURfRU5VTV9VTlNQRUNJRklFRBAAEgcKA0ZPTxABEgcKA0JBUhACEgcKA0JBWhADEhAKA05FRxD///////////8BQg0KC29uZW9mX2ZpZWxkIt0BChJOZXN0ZWRUZXN0QWxsVHlwZXMSPAoFY2hpbGQYASABKAsyJi5wcm90b2J1Zl91bml0dGVzdDMuTmVzdGVkVGVzdEFsbFR5cGVzUgVjaGlsZBI6CgdwYXlsb2FkGAIgASgLMiAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlc1IHcGF5bG9hZBJNCg5yZXBlYXRlZF9jaGlsZBgDIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0My5OZXN0ZWRUZXN0QWxsVHlwZXNSDXJlcGVhdGVkQ2hpbGQiRQoUVGVzdERlcHJlY2F0ZWRGaWVsZHMSLQoQZGVwcmVjYXRlZF9pbnQzMhgBIAEoBUICGAFSD2RlcHJlY2F0ZWRJbnQzMiIeCg5Gb3JlaWduTWVzc2FnZRIMCgFjGAEgASgFUgFjIjAKElRlc3RSZXNlcnZlZEZpZWxkc0oECAIQA0oECA8QEEoECAkQDFIDYmFyUgNiYXoiagoRVGVzdEZvcmVpZ25OZXN0ZWQSVQoOZm9yZWlnbl9uZXN0ZWQYASABKAsyLi5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSDWZvcmVpZ25OZXN0ZWQiOwoYVGVzdFJlYWxseUxhcmdlVGFnTnVtYmVyEgwKAWEYASABKAVSAWESEQoCYmIY////fyABKAVSAmJiIlwKFFRlc3RSZWN1cnNpdmVNZXNzYWdlEjYKAWEYASABKAsyKC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdFJlY3Vyc2l2ZU1lc3NhZ2VSAWESDAoBaRgCIAEoBVIBaSJQChRUZXN0TXV0dWFsUmVjdXJzaW9uQRI4CgJiYhgBIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TXV0dWFsUmVjdXJzaW9uQlICYmIidQoUVGVzdE11dHVhbFJlY3Vyc2lvbkISNgoBYRgBIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TXV0dWFsUmVjdXJzaW9uQVIBYRIlCg5vcHRpb25hbF9pbnQzMhgCIAEoBVINb3B0aW9uYWxJbnQzMiJUChJUZXN0RW51bUFsbG93QWxpYXMSPgoFdmFsdWUYASABKA4yKC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEVudW1XaXRoRHVwVmFsdWVSBXZhbHVlIvsDChdUZXN0Q2FtZWxDYXNlRmllbGROYW1lcxImCg5QcmltaXRpdmVGaWVsZBgBIAEoBVIOUHJpbWl0aXZlRmllbGQSIAoLU3RyaW5nRmllbGQYAiABKAlSC1N0cmluZ0ZpZWxkEj0KCUVudW1GaWVsZBgDIAEoDjIfLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduRW51bVIJRW51bUZpZWxkEkYKDE1lc3NhZ2VGaWVsZBgEIAEoCzIiLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduTWVzc2FnZVIMTWVzc2FnZUZpZWxkEjYKFlJlcGVhdGVkUHJpbWl0aXZlRmllbGQYByADKAVSFlJlcGVhdGVkUHJpbWl0aXZlRmllbGQSMAoTUmVwZWF0ZWRTdHJpbmdGaWVsZBgIIAMoCVITUmVwZWF0ZWRTdHJpbmdGaWVsZBJNChFSZXBlYXRlZEVudW1GaWVsZBgJIAMoDjIfLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduRW51bVIRUmVwZWF0ZWRFbnVtRmllbGQSVgoUUmVwZWF0ZWRNZXNzYWdlRmllbGQYCiADKAsyIi5wcm90b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2VSFFJlcGVhdGVkTWVzc2FnZUZpZWxkIv8BChJUZXN0RmllbGRPcmRlcmluZ3MSGwoJbXlfc3RyaW5nGAsgASgJUghteVN0cmluZxIVCgZteV9pbnQYASABKANSBW15SW50EhkKCG15X2Zsb2F0GGUgASgCUgdteUZsb2F0EmkKFXNpbmdsZV9uZXN0ZWRfbWVzc2FnZRjIASABKAsyNC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEZpZWxkT3JkZXJpbmdzLk5lc3RlZE1lc3NhZ2VSE3NpbmdsZU5lc3RlZE1lc3NhZ2UaLwoNTmVzdGVkTWVzc2FnZRIOCgJvbxgCIAEoA1ICb28SDgoCYmIYASABKAVSAmJiIlgKEVNwYXJzZUVudW1NZXNzYWdlEkMKC3NwYXJzZV9lbnVtGAEgASgOMiIucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RTcGFyc2VFbnVtUgpzcGFyc2VFbnVtIh8KCU9uZVN0cmluZxISCgRkYXRhGAEgASgJUgRkYXRhIiAKCk1vcmVTdHJpbmcSEgoEZGF0YRgBIAMoCVIEZGF0YSIeCghPbmVCeXRlcxISCgRkYXRhGAEgASgMUgRkYXRhIh8KCU1vcmVCeXRlcxISCgRkYXRhGAEgASgMUgRkYXRhIiIKDEludDMyTWVzc2FnZRISCgRkYXRhGAEgASgFUgRkYXRhIiMKDVVpbnQzMk1lc3NhZ2USEgoEZGF0YRgBIAEoDVIEZGF0YSIiCgxJbnQ2NE1lc3NhZ2USEgoEZGF0YRgBIAEoA1IEZGF0YSIjCg1VaW50NjRNZXNzYWdlEhIKBGRhdGEYASABKARSBGRhdGEiIQoLQm9vbE1lc3NhZ2USEgoEZGF0YRgBIAEoCFIEZGF0YSKTAQoJVGVzdE9uZW9mEhkKB2Zvb19pbnQYASABKAVIAFIGZm9vSW50Eh8KCmZvb19zdHJpbmcYAiABKAlIAFIJZm9vU3RyaW5nEkMKC2Zvb19tZXNzYWdlGAMgASgLMiAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlc0gAUgpmb29NZXNzYWdlQgUKA2ZvbyLuBAoPVGVzdFBhY2tlZFR5cGVzEiUKDHBhY2tlZF9pbnQzMhhaIAMoBUICEAFSC3BhY2tlZEludDMyEiUKDHBhY2tlZF9pbnQ2NBhbIAMoA0ICEAFSC3BhY2tlZEludDY0EicKDXBhY2tlZF91aW50MzIYXCADKA1CAhABUgxwYWNrZWRVaW50MzISJwoNcGFja2VkX3VpbnQ2NBhdIAMoBEICEAFSDHBhY2tlZFVpbnQ2NBInCg1wYWNrZWRfc2ludDMyGF4gAygRQgIQAVIMcGFja2VkU2ludDMyEicKDXBhY2tlZF9zaW50NjQYXyADKBJCAhABUgxwYWNrZWRTaW50NjQSKQoOcGFja2VkX2ZpeGVkMzIYYCADKAdCAhABUg1wYWNrZWRGaXhlZDMyEikKDnBhY2tlZF9maXhlZDY0GGEgAygGQgIQAVINcGFja2VkRml4ZWQ2NBIrCg9wYWNrZWRfc2ZpeGVkMzIYYiADKA9CAhABUg5wYWNrZWRTZml4ZWQzMhIrCg9wYWNrZWRfc2ZpeGVkNjQYYyADKBBCAhABUg5wYWNrZWRTZml4ZWQ2NBIlCgxwYWNrZWRfZmxvYXQYZCADKAJCAhABUgtwYWNrZWRGbG9hdBInCg1wYWNrZWRfZG91YmxlGGUgAygBQgIQAVIMcGFja2VkRG91YmxlEiMKC3BhY2tlZF9ib29sGGYgAygIQgIQAVIKcGFja2VkQm9vbBJECgtwYWNrZWRfZW51bRhnIAMoDjIfLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduRW51bUICEAFSCnBhY2tlZEVudW0iqAUKEVRlc3RVbnBhY2tlZFR5cGVzEikKDnVucGFja2VkX2ludDMyGFogAygFQgIQAFINdW5wYWNrZWRJbnQzMhIpCg51bnBhY2tlZF9pbnQ2NBhbIAMoA0ICEABSDXVucGFja2VkSW50NjQSKwoPdW5wYWNrZWRfdWludDMyGFwgAygNQgIQAFIOdW5wYWNrZWRVaW50MzISKwoPdW5wYWNrZWRfdWludDY0GF0gAygEQgIQAFIOdW5wYWNrZWRVaW50NjQSKwoPdW5wYWNrZWRfc2ludDMyGF4gAygRQgIQAFIOdW5wYWNrZWRTaW50MzISKwoPdW5wYWNrZWRfc2ludDY0GF8gAygSQgIQAFIOdW5wYWNrZWRTaW50NjQSLQoQdW5wYWNrZWRfZml4ZWQzMhhgIAMoB0ICEABSD3VucGFja2VkRml4ZWQzMhItChB1bnBhY2tlZF9maXhlZDY0GGEgAygGQgIQAFIPdW5wYWNrZWRGaXhlZDY0Ei8KEXVucGFja2VkX3NmaXhlZDMyGGIgAygPQgIQAFIQdW5wYWNrZWRTZml4ZWQzMhIvChF1bnBhY2tlZF9zZml4ZWQ2NBhjIAMoEEICEABSEHVucGFja2VkU2ZpeGVkNjQSKQoOdW5wYWNrZWRfZmxvYXQYZCADKAJCAhAAUg11bnBhY2tlZEZsb2F0EisKD3VucGFja2VkX2RvdWJsZRhlIAMoAUICEABSDnVucGFja2VkRG91YmxlEicKDXVucGFja2VkX2Jvb2wYZiADKAhCAhAAUgx1bnBhY2tlZEJvb2wSSAoNdW5wYWNrZWRfZW51bRhnIAMoDjIfLnByb3RvYnVmX3VuaXR0ZXN0My5Gb3JlaWduRW51bUICEABSDHVucGFja2VkRW51bSKfAgojVGVzdFJlcGVhdGVkU2NhbGFyRGlmZmVyZW50VGFnU2l6ZXMSKQoQcmVwZWF0ZWRfZml4ZWQzMhgMIAMoB1IPcmVwZWF0ZWRGaXhlZDMyEiUKDnJlcGVhdGVkX2ludDMyGA0gAygFUg1yZXBlYXRlZEludDMyEioKEHJlcGVhdGVkX2ZpeGVkNjQY/g8gAygGUg9yZXBlYXRlZEZpeGVkNjQSJgoOcmVwZWF0ZWRfaW50NjQY/w8gAygDUg1yZXBlYXRlZEludDY0EicKDnJlcGVhdGVkX2Zsb2F0GP7/DyADKAJSDXJlcGVhdGVkRmxvYXQSKQoPcmVwZWF0ZWRfdWludDY0GP//DyADKARSDnJlcGVhdGVkVWludDY0IisKG1Rlc3RDb21tZW50SW5qZWN0aW9uTWVzc2FnZRIMCgFhGAEgASgJUgFhIgwKCkZvb1JlcXVlc3QiDQoLRm9vUmVzcG9uc2UiEgoQRm9vQ2xpZW50TWVzc2FnZSISChBGb29TZXJ2ZXJNZXNzYWdlIgwKCkJhclJlcXVlc3QiDQoLQmFyUmVzcG9uc2UiEgoQVGVzdEVtcHR5TWVzc2FnZSKCAQoOQ29tbWVudE1lc3NhZ2USEgoEdGV4dBgBIAEoCVIEdGV4dBo3ChROZXN0ZWRDb21tZW50TWVzc2FnZRIfCgtuZXN0ZWRfdGV4dBgBIAEoCVIKbmVzdGVkVGV4dCIjChFOZXN0ZWRDb21tZW50RW51bRIOCgpaRVJPX1ZBTFVFEAAqWQoLRm9yZWlnbkVudW0SFwoTRk9SRUlHTl9VTlNQRUNJRklFRBAAEg8KC0ZPUkVJR05fRk9PEAQSDwoLRk9SRUlHTl9CQVIQBRIPCgtGT1JFSUdOX0JBWhAGKnUKFFRlc3RFbnVtV2l0aER1cFZhbHVlEigKJFRFU1RfRU5VTV9XSVRIX0RVUF9WQUxVRV9VTlNQRUNJRklFRBAAEggKBEZPTzEQARIICgRCQVIxEAISBwoDQkFaEAMSCAoERk9PMhABEggKBEJBUjIQAhoCEAEqnQEKDlRlc3RTcGFyc2VFbnVtEiAKHFRFU1RfU1BBUlNFX0VOVU1fVU5TUEVDSUZJRUQQABIMCghTUEFSU0VfQRB7Eg4KCFNQQVJTRV9CEKbnAxIPCghTUEFSU0VfQxCysYAGEhUKCFNQQVJTRV9EEPH//////////wESFQoIU1BBUlNFX0UQtN78////////ARIMCghTUEFSU0VfRxACKh0KC0NvbW1lbnRFbnVtEg4KClpFUk9fVkFMVUUQADKdAQoLVGVzdFNlcnZpY2USRgoDRm9vEh4ucHJvdG9idWZfdW5pdHRlc3QzLkZvb1JlcXVlc3QaHy5wcm90b2J1Zl91bml0dGVzdDMuRm9vUmVzcG9uc2USRgoDQmFyEh4ucHJvdG9idWZfdW5pdHRlc3QzLkJhclJlcXVlc3QaHy5wcm90b2J1Zl91bml0dGVzdDMuQmFyUmVzcG9uc2VCLEINVW5pdHRlc3RQcm90b6oCGkdvb2dsZS5Qcm90b2J1Zi5UZXN0UHJvdG9zSvd0CgcSBQ0A/wIBCscDCgEMEgMNABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKMrABIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIEEgcHJvdG8gZmlsZSB3ZSB3aWxsIHVzZSBmb3Ig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AgUDEgb8AgD/AgEaFiBMZWFkaW5nIGVudW0gY29tbWVudAoKCwoDBQMBEgT8AgUQCiIKBAUDAgASBP4CAhEaFCBaZXJvIHZhbHVlIGNvbW1lbnQKCg0KBQUDAgABEgT+AgIMCg0KBQUDAgACEgT+Ag8QYgZwcm90bzMKqU4KJ2NzaGFycC9wcm90b3MvbWFwX3VuaXR0ZXN0X3Byb3RvMy5wcm90bxIScHJvdG9idWZfdW5pdHRlc3QzGiNjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X3Byb3RvMy5wcm90byKZFgoHVGVzdE1hcBJWCg9tYXBfaW50MzJfaW50MzIYASADKAsyLi5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBJbnQzMkludDMyRW50cnlSDW1hcEludDMySW50MzISVgoPbWFwX2ludDY0X2ludDY0GAIgAygLMi4ucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwSW50NjRJbnQ2NEVudHJ5Ug1tYXBJbnQ2NEludDY0ElwKEW1hcF91aW50MzJfdWludDMyGAMgAygLMjAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwVWludDMyVWludDMyRW50cnlSD21hcFVpbnQzMlVpbnQzMhJcChFtYXBfdWludDY0X3VpbnQ2NBgEIAMoCzIwLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcFVpbnQ2NFVpbnQ2NEVudHJ5Ug9tYXBVaW50NjRVaW50NjQSXAoRbWFwX3NpbnQzMl9zaW50MzIYBSADKAsyMC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBTaW50MzJTaW50MzJFbnRyeVIPbWFwU2ludDMyU2ludDMyElwKEW1hcF9zaW50NjRfc2ludDY0GAYgAygLMjAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwU2ludDY0U2ludDY0RW50cnlSD21hcFNpbnQ2NFNpbnQ2NBJiChNtYXBfZml4ZWQzMl9maXhlZDMyGAcgAygLMjIucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwRml4ZWQzMkZpeGVkMzJFbnRyeVIRbWFwRml4ZWQzMkZpeGVkMzISYgoTbWFwX2ZpeGVkNjRfZml4ZWQ2NBgIIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcEZpeGVkNjRGaXhlZDY0RW50cnlSEW1hcEZpeGVkNjRGaXhlZDY0EmgKFW1hcF9zZml4ZWQzMl9zZml4ZWQzMhgJIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeVITbWFwU2ZpeGVkMzJTZml4ZWQzMhJoChVtYXBfc2ZpeGVkNjRfc2ZpeGVkNjQYCiADKAsyNC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnlSE21hcFNmaXhlZDY0U2ZpeGVkNjQSVgoPbWFwX2ludDMyX2Zsb2F0GAsgAygLMi4ucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwSW50MzJGbG9hdEVudHJ5Ug1tYXBJbnQzMkZsb2F0ElkKEG1hcF9pbnQzMl9kb3VibGUYDCADKAsyLy5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBJbnQzMkRvdWJsZUVudHJ5Ug5tYXBJbnQzMkRvdWJsZRJQCg1tYXBfYm9vbF9ib29sGA0gAygLMiwucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RNYXAuTWFwQm9vbEJvb2xFbnRyeVILbWFwQm9vbEJvb2wSXAoRbWFwX3N0cmluZ19zdHJpbmcYDiADKAsyMC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdE1hcC5NYXBTdHJpbmdTdHJpbmdFbnRyeVIPbWFwU3RyaW5nU3RyaW5nElYKD21hcF9pbnQzMl9ieXRlcxgPIAMoCzIuLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcEludDMyQnl0ZXNFbnRyeVINbWFwSW50MzJCeXRlcxJTCg5tYXBfaW50MzJfZW51bRgQIAMoCzItLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcEludDMyRW51bUVudHJ5UgxtYXBJbnQzMkVudW0ScgoZbWFwX2ludDMyX2ZvcmVpZ25fbWVzc2FnZRgRIAMoCzI3LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwLk1hcEludDMyRm9yZWlnbk1lc3NhZ2VFbnRyeVIWbWFwSW50MzJGb3JlaWduTWVzc2FnZRpAChJNYXBJbnQzMkludDMyRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARpAChJNYXBJbnQ2NEludDY0RW50cnkSEAoDa2V5GAEgASgDUgNrZXkSFAoFdmFsdWUYAiABKANSBXZhbHVlOgI4ARpCChRNYXBVaW50MzJVaW50MzJFbnRyeRIQCgNrZXkYASABKA1SA2tleRIUCgV2YWx1ZRgCIAEoDVIFdmFsdWU6AjgBGkIKFE1hcFVpbnQ2NFVpbnQ2NEVudHJ5EhAKA2tleRgBIAEoBFIDa2V5EhQKBXZhbHVlGAIgASgEUgV2YWx1ZToCOAEaQgoUTWFwU2ludDMyU2ludDMyRW50cnkSEAoDa2V5GAEgASgRUgNrZXkSFAoFdmFsdWUYAiABKBFSBXZhbHVlOgI4ARpCChRNYXBTaW50NjRTaW50NjRFbnRyeRIQCgNrZXkYASABKBJSA2tleRIUCgV2YWx1ZRgCIAEoElIFdmFsdWU6AjgBGkQKFk1hcEZpeGVkMzJGaXhlZDMyRW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoBlIDa2V5EhQKBXZhbHVlGAIgASgGUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EhAKA2tleRgBIAEoD1IDa2V5EhQKBXZhbHVlGAIgASgPUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoEFIDa2V5EhQKBXZhbHVlGAIgASgQUgV2YWx1ZToCOAEaQAoSTWFwSW50MzJGbG9hdEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEaQQoTTWFwSW50MzJEb3VibGVFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAVIFdmFsdWU6AjgBGj4KEE1hcEJvb2xCb29sRW50cnkSEAoDa2V5GAEgASgIUgNrZXkSFAoFdmFsdWUYAiABKAhSBXZhbHVlOgI4ARpCChRNYXBTdHJpbmdTdHJpbmdFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGkAKEk1hcEludDMyQnl0ZXNFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoDFIFdmFsdWU6AjgBGlwKEU1hcEludDMyRW51bUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEKBXZhbHVlGAIgASgOMhsucHJvdG9idWZfdW5pdHRlc3QzLk1hcEVudW1SBXZhbHVlOgI4ARptChtNYXBJbnQzMkZvcmVpZ25NZXNzYWdlRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSOAoFdmFsdWUYAiABKAsyIi5wcm90b2J1Zl91bml0dGVzdDMuRm9yZWlnbk1lc3NhZ2VSBXZhbHVlOgI4ASJLChFUZXN0TWFwU3VibWVzc2FnZRI2Cgh0ZXN0X21hcBgBIAEoCzIbLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWFwUgd0ZXN0TWFwItsBCg5UZXN0TWVzc2FnZU1hcBJjChFtYXBfaW50MzJfbWVzc2FnZRgBIAMoCzI3LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0TWVzc2FnZU1hcC5NYXBJbnQzMk1lc3NhZ2VFbnRyeVIPbWFwSW50MzJNZXNzYWdlGmQKFE1hcEludDMyTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjYKBXZhbHVlGAIgASgLMiAucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBbGxUeXBlc1IFdmFsdWU6AjgBIokCCg9UZXN0U2FtZVR5cGVNYXASQQoEbWFwMRgBIAMoCzItLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0U2FtZVR5cGVNYXAuTWFwMUVudHJ5UgRtYXAxEkEKBG1hcDIYAiADKAsyLS5wcm90b2J1Zl91bml0dGVzdDMuVGVzdFNhbWVUeXBlTWFwLk1hcDJFbnRyeVIEbWFwMho3CglNYXAxRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARo3CglNYXAyRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ASKtFAoMVGVzdEFyZW5hTWFwElsKD21hcF9pbnQzMl9pbnQzMhgBIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwSW50MzJJbnQzMkVudHJ5Ug1tYXBJbnQzMkludDMyElsKD21hcF9pbnQ2NF9pbnQ2NBgCIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwSW50NjRJbnQ2NEVudHJ5Ug1tYXBJbnQ2NEludDY0EmEKEW1hcF91aW50MzJfdWludDMyGAMgAygLMjUucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBVaW50MzJVaW50MzJFbnRyeVIPbWFwVWludDMyVWludDMyEmEKEW1hcF91aW50NjRfdWludDY0GAQgAygLMjUucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBVaW50NjRVaW50NjRFbnRyeVIPbWFwVWludDY0VWludDY0EmEKEW1hcF9zaW50MzJfc2ludDMyGAUgAygLMjUucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBTaW50MzJTaW50MzJFbnRyeVIPbWFwU2ludDMyU2ludDMyEmEKEW1hcF9zaW50NjRfc2ludDY0GAYgAygLMjUucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBTaW50NjRTaW50NjRFbnRyeVIPbWFwU2ludDY0U2ludDY0EmcKE21hcF9maXhlZDMyX2ZpeGVkMzIYByADKAsyNy5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEZpeGVkMzJGaXhlZDMyRW50cnlSEW1hcEZpeGVkMzJGaXhlZDMyEmcKE21hcF9maXhlZDY0X2ZpeGVkNjQYCCADKAsyNy5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEZpeGVkNjRGaXhlZDY0RW50cnlSEW1hcEZpeGVkNjRGaXhlZDY0Em0KFW1hcF9zZml4ZWQzMl9zZml4ZWQzMhgJIAMoCzI5LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5UhNtYXBTZml4ZWQzMlNmaXhlZDMyEm0KFW1hcF9zZml4ZWQ2NF9zZml4ZWQ2NBgKIAMoCzI5LnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5UhNtYXBTZml4ZWQ2NFNmaXhlZDY0ElsKD21hcF9pbnQzMl9mbG9hdBgLIAMoCzIzLnByb3RvYnVmX3VuaXR0ZXN0My5UZXN0QXJlbmFNYXAuTWFwSW50MzJGbG9hdEVudHJ5Ug1tYXBJbnQzMkZsb2F0El4KEG1hcF9pbnQzMl9kb3VibGUYDCADKAsyNC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEludDMyRG91YmxlRW50cnlSDm1hcEludDMyRG91YmxlElUKDW1hcF9ib29sX2Jvb2wYDSADKAsyMS5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEJvb2xCb29sRW50cnlSC21hcEJvb2xCb29sElgKDm1hcF9pbnQzMl9lbnVtGA4gAygLMjIucHJvdG9idWZfdW5pdHRlc3QzLlRlc3RBcmVuYU1hcC5NYXBJbnQzMkVudW1FbnRyeVIMbWFwSW50MzJFbnVtEncKGW1hcF9pbnQzMl9mb3JlaWduX21lc3NhZ2UYDyADKAsyPC5wcm90b2J1Zl91bml0dGVzdDMuVGVzdEFyZW5hTWFwLk1hcEludDMyRm9yZWlnbk1lc3NhZ2VFbnRyeVIWbWFwSW50MzJGb3JlaWduTWVzc2FnZRpAChJNYXBJbnQzMkludDMyRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARpAChJNYXBJbnQ2NEludDY0RW50cnkSEAoDa2V5GAEgASgDUgNrZXkSFAoFdmFsdWUYAiABKANSBXZhbHVlOgI4ARpCChRNYXBVaW50MzJVaW50MzJFbnRyeRIQCgNrZXkYASABKA1SA2tleRIUCgV2YWx1ZRgCIAEoDVIFdmFsdWU6AjgBGkIKFE1hcFVpbnQ2NFVpbnQ2NEVudHJ5EhAKA2tleRgBIAEoBFIDa2V5EhQKBXZhbHVlGAIgASgEUgV2YWx1ZToCOAEaQgoUTWFwU2ludDMyU2ludDMyRW50cnkSEAoDa2V5GAEgASgRUgNrZXkSFAoFdmFsdWUYAiABKBFSBXZhbHVlOgI4ARpCChRNYXBTaW50NjRTaW50NjRFbnRyeRIQCgNrZXkYASABKBJSA2tleRIUCgV2YWx1ZRgCIAEoElIFdmFsdWU6AjgBGkQKFk1hcEZpeGVkMzJGaXhlZDMyRW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoBlIDa2V5EhQKBXZhbHVlGAIgASgGUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EhAKA2tleRgBIAEoD1IDa2V5EhQKBXZhbHVlGAIgASgPUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoEFIDa2V5EhQKBXZhbHVlGAIgASgQUgV2YWx1ZToCOAEaQAoSTWFwSW50MzJGbG9hdEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEaQQoTTWFwSW50MzJEb3VibGVFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAVIFdmFsdWU6AjgBGj4KEE1hcEJvb2xCb29sRW50cnkSEAoDa2V5GAEgASgIUgNrZXkSFAoFdmFsdWUYAiABKAhSBXZhbHVlOgI4ARpcChFNYXBJbnQzMkVudW1FbnRyeRIQCgNrZXkYASABKAVSA2tleRIxCgV2YWx1ZRgCIAEoDjIbLnByb3RvYnVmX3VuaXR0ZXN0My5NYXBFbnVtUgV2YWx1ZToCOAEabQobTWFwSW50MzJGb3JlaWduTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjgKBXZhbHVlGAIgASgLMiIucHJvdG9idWZfdW5pdHRlc3QzLkZvcmVpZ25NZXNzYWdlUgV2YWx1ZToCOAEi+AEKH01lc3NhZ2VDb250YWluaW5nRW51bUNhbGxlZFR5cGUSUQoEdHlwZRgBIAMoCzI9LnByb3RvYnVmX3VuaXR0ZXN0My5NZXNzYWdlQ29udGFpbmluZ0VudW1DYWxsZWRUeXBlLlR5cGVFbnRyeVIEdHlwZRpsCglUeXBlRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5wcm90b2J1Zl91bml0dGVzdDMuTWVzc2FnZUNvbnRhaW5pbmdFbnVtQ2FsbGVkVHlwZVIFdmFsdWU6AjgBIhQKBFR5cGUSDAoIVFlQRV9GT08QACKxAQofTWVzc2FnZUNvbnRhaW5pbmdNYXBDYWxsZWRFbnRyeRJUCgVlbnRyeRgBIAMoCzI+LnByb3RvYnVmX3VuaXR0ZXN0My5NZXNzYWdlQ29udGFpbmluZ01hcENhbGxlZEVudHJ5LkVudHJ5RW50cnlSBWVudHJ5GjgKCkVudHJ5RW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ASo/CgdNYXBFbnVtEhAKDE1BUF9FTlVNX0ZPTxAAEhAKDE1BUF9FTlVNX0JBUhABEhAKDE1BUF9FTlVNX0JBWhACQh2qAhpHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvc0qqGgoGEgQNAFwBCuMECgEMEgMNABIazAIgVGhpcyBmaWxlIGlzIG1vc3RseSBlcXVpdmFsZW50IHRvIG1hcF91bml0dGVzdC5wcm90bywgYnV0IGltcG9ydHMKIHVuaXR0ZXN0X3Byb3RvMy5wcm90byBpbnN0ZWFkIG9mIHVuaXR0ZXN0LnByb3RvLCBzbyB0aGF0IGl0IG9ubHkKIHVzZXMgcHJvdG8zIG1lc3NhZ2VzLiBUaGlzIG1ha2VzIGl0IHN1aXRhYmxlIGZvciB0ZXN0aW5nCiBpbXBsZW1lbnRhdGlvbnMgd2hpY2ggb25seSBzdXBwb3J0IHByb3RvMy4KIFRoZSBUZXN0UmVxdWlyZWRNZXNzYWdlTWFwIG1lc3NhZ2UgaGFzIGJlZW4gcmVtb3ZlZCBhcyB0aGVyZSBhcmUgbm8KIHJlcXVpcmVkIGZpZWxkcyBpbiBwcm90bzMuCjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdv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BgQFBAACABIDVAQRCg4KBwQFBAACAAESA1QEDAoOCgcEBQQAAgACEgNUDxAKCwoEBAUCABIDVgI3CgwKBQQFAgAGEgNWAi0KDAoFBAUCAAESA1YuMgoMCgUEBQIAAxIDVjU2CkoKAgQGEgRaAFwBGj4gUHJldmlvdXNseSwgbWVzc2FnZSBjYW5ub3QgY29udGFpbiBtYXAgZmllbGQgY2FsbGVkICJlbnRyeSIuCgoKCgMEBgESA1oIJwoLCgQEBgIAEgNbAh4KDAoFBAYCAAYSA1sCEwoMCgUEBgIAARIDWxQZCgwKBQQGAgADEgNbHB1iBnByb3RvMwr+IgocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIpgBCgZTdHJ1Y3QSOwoGZmllbGRzGAEgAygLMiMuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdC5GaWVsZHNFbnRyeVIGZmllbGRzGlEKC0ZpZWxkc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEisgIKBVZhbHVlEjsKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSABSCW51bGxWYWx1ZRIjCgxudW1iZXJfdmFsdWUYAiABKAFIAFILbnVtYmVyVmFsdWUSIwoMc3RyaW5nX3ZhbHVlGAMgASgJSABSC3N0cmluZ1ZhbHVlEh8KCmJvb2xfdmFsdWUYBCABKAhIAFIJYm9vbFZhbHVlEjwKDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAFILc3RydWN0VmFsdWUSOwoKbGlzdF92YWx1ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5MaXN0VmFsdWVIAFIJbGlzdFZhbHVlQgYKBGtpbmQiOwoJTGlzdFZhbHVlEi4KBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIGdmFsdWVzKhsKCU51bGxWYWx1ZRIOCgpOVUxMX1ZBTFVFEABCfwoTY29tLmdvb2dsZS5wcm90b2J1ZkILU3RydWN0UHJvdG9QAVovZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vc3RydWN0cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKmR0KBhIEHgBeAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAHwoJCgIIHxIDIgAfCggKAQgSAyMARgoJCgIICxIDIwBGCggKAQgSAyQALAoJCgIIARIDJAAsCggKAQgSAyUALAoJCgIICBIDJQAsCggKAQgSAyYAIgoJCgIIChIDJgAiCggKAQgSAycAIQoJCgIIJBIDJwAhCggKAQgSAygAOwoJCgIIJRIDKAA7CrMDCgIEABIEMgA1ARqmAyBgU3RydWN0YCByZXByZXNlbnRzIGEgc3RydWN0dXJlZCBkYXRhIHZhbHVlLCBjb25zaXN0aW5nIG9mIGZpZWxkcwogd2hpY2ggbWFwIHRvIGR5bmFtaWNhbGx5IHR5cGVkIHZhbHVlcy4gSW4gc29tZSBsYW5ndWFnZXMsIGBTdHJ1Y3RgCiBtaWdodCBiZSBzdXBwb3J0ZWQgYnkgYSBuYXRpdmUgcmVwcmVzZW50YXRpb24uIEZvciBleGFtcGxlLCBpbgogc2NyaXB0aW5nIGxhbmd1YWdlcyBsaWtlIEpTIGEgc3RydWN0IGlzIHJlcHJlc2VudGVkIGFzIGFuCiBvYmplY3QuIFRoZSBkZXRhaWxzIG9mIHRoYXQgcmVwcmVzZW50YXRpb24gYXJlIGRlc2NyaWJlZCB0b2dldGhlcgogd2l0aCB0aGUgcHJvdG8gc3VwcG9ydCBmb3IgdGhlIGxhbmd1YWdlLgoKIFRoZSBKU09OIHJlcHJlc2VudGF0aW9uIGZvciBgU3RydWN0YCBpcyBKU09OIG9iamVjdC4KCgoKAwQAARIDMggOCjkKBAQAAgASAzQCIBosIFVub3JkZXJlZCBtYXAgb2YgZHluYW1pY2FsbHkgdHlwZWQgdmFsdWVzLgoKDAoFBAACAAYSAzQCFAoMCgUEAAIAARIDNBUbCgwKBQQAAgADEgM0Hh8KxAIKAgQBEgQ9AE0BGrcCIGBWYWx1ZWAgcmVwcmVzZW50cyBhIGR5bmFtaWNhbGx5IHR5cGVkIHZhbHVlIHdoaWNoIGNhbiBiZSBlaXRoZXIKIG51bGwsIGEgbnVtYmVyLCBhIHN0cmluZywgYSBib29sZWFuLCBhIHJlY3Vyc2l2ZSBzdHJ1Y3QgdmFsdWUsIG9yIGEKIGxpc3Qgb2YgdmFsdWVzLiBBIHByb2R1Y2VyIG9mIHZhbHVlIGlzIGV4cGVjdGVkIHRvIHNldCBvbmUgb2YgdGhlc2UKIHZhcmlhbnRzLiBBYnNlbmNlIG9mIGFueSB2YXJpYW50IGluZGljYXRlcyBhbiBlcnJvci4KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYFZhbHVlYCBpcyBKU09OIHZhbHVlLgoKCgoDBAEBEgM9CA0KIgoEBAEIABIEPwJMAxoUIFRoZSBraW5kIG9mIHZhbHVlLgoKDAoFBAEIAAESAz8IDAonCgQEAQIAEgNBBB0aGiBSZXByZXNlbnRzIGEgbnVsbCB2YWx1ZS4KCgwKBQQBAgAGEgNBBA0KDAoFBAECAAESA0EOGAoMCgUEAQIAAxIDQRscCikKBAQBAgESA0MEHBocIFJlcHJlc2VudHMgYSBkb3VibGUgdmFsdWUuCgoMCgUEAQIBBRIDQwQKCgwKBQQBAgEBEgNDCxcKDAoFBAECAQMSA0MaGwopCgQEAQICEgNFBBwaHCBSZXByZXNlbnRzIGEgc3RyaW5nIHZhbHVlLgoKDAoFBAECAgUSA0UECgoMCgUEAQICARIDRQsXCgwKBQQBAgIDEgNFGhsKKgoEBAECAxIDRwQYGh0gUmVwcmVzZW50cyBhIGJvb2xlYW4gdmFsdWUuCgoMCgUEAQIDBRIDRwQICgwKBQQBAgMBEgNHCRMKDAoFBAECAwMSA0cWFwotCgQEAQIEEgNJBBwaICBSZXByZXNlbnRzIGEgc3RydWN0dXJlZCB2YWx1ZS4KCgwKBQQBAgQGEgNJBAoKDAoFBAECBAESA0kLFwoMCgUEAQIEAxIDSRobCi0KBAQBAgUSA0sEHRogIFJlcHJlc2VudHMgYSByZXBlYXRlZCBgVmFsdWVgLgoKDAoFBAECBQYSA0sEDQoMCgUEAQIFARIDSw4YCgwKBQQBAgUDEgNLGxwKqAEKAgUAEgRTAFYBGpsBIGBOdWxsVmFsdWVgIGlzIGEgc2luZ2xldG9uIGVudW1lcmF0aW9uIHRvIHJlcHJlc2VudCB0aGUgbnVsbCB2YWx1ZSBmb3IgdGhlCiBgVmFsdWVgIHR5cGUgdW5pb24uCgogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBOdWxsVmFsdWVgIGlzIEpTT04gYG51bGxgLgoKCgoDBQABEgNTBQ4KGgoEBQACABIDVQIRGg0gTnVsbCB2YWx1ZS4KCgwKBQUAAgABEgNVAgwKDAoFBQACAAISA1UPEAqCAQoCBAISBFsAXgEadiBgTGlzdFZhbHVlYCBpcyBhIHdyYXBwZXIgYXJvdW5kIGEgcmVwZWF0ZWQgZmllbGQgb2YgdmFsdWVzLgoKIFRoZSBKU09OIHJlcHJlc2VudGF0aW9uIGZvciBgTGlzdFZhbHVlYCBpcyBKU09OIGFycmF5LgoKCgoDBAIBEgNbCBEKOgoEBAICABIDXQIcGi0gUmVwZWF0ZWQgZmllbGQgb2YgZHluYW1pY2FsbHkgdHlwZWQgdmFsdWVzLgoKDAoFBAICAAQSA10CCgoMCgUEAgIABhIDXQsQCgwKBQQCAgABEgNdERcKDAoFBAICAAMSA10aG2IGcHJvdG8zCpdHCiNjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3Vlcy5wcm90bxIPdW5pdHRlc3RfaXNzdWVzGhxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvIicKCElzc3VlMzA3GhsKCk5lc3RlZE9uY2UaDQoLTmVzdGVkVHdpY2UizQEKE05lZ2F0aXZlRW51bU1lc3NhZ2USMwoFdmFsdWUYASABKA4yHS51bml0dGVzdF9pc3N1ZXMuTmVnYXRpdmVFbnVtUgV2YWx1ZRI5CgZ2YWx1ZXMYAiADKA4yHS51bml0dGVzdF9pc3N1ZXMuTmVnYXRpdmVFbnVtQgIQAFIGdmFsdWVzEkYKDXBhY2tlZF92YWx1ZXMYAyADKA4yHS51bml0dGVzdF9pc3N1ZXMuTmVnYXRpdmVFbnVtQgIQAVIMcGFja2VkVmFsdWVzIhUKD0RlcHJlY2F0ZWRDaGlsZDoCGAEiiwMKF0RlcHJlY2F0ZWRGaWVsZHNNZXNzYWdlEioKDlByaW1pdGl2ZVZhbHVlGAEgASgFQgIYAVIOUHJpbWl0aXZlVmFsdWUSKgoOUHJpbWl0aXZlQXJyYXkYAiADKAVCAhgBUg5QcmltaXRpdmVBcnJheRJICgxNZXNzYWdlVmFsdWUYAyABKAsyIC51bml0dGVzdF9pc3N1ZXMuRGVwcmVjYXRlZENoaWxkQgIYAVIMTWVzc2FnZVZhbHVlEkgKDE1lc3NhZ2VBcnJheRgEIAMoCzIgLnVuaXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkQ2hpbGRCAhgBUgxNZXNzYWdlQXJyYXkSQQoJRW51bVZhbHVlGAUgASgOMh8udW5pdHRlc3RfaXNzdWVzLkRlcHJlY2F0ZWRFbnVtQgIYAVIJRW51bVZhbHVlEkEKCUVudW1BcnJheRgGIAMoDjIfLnVuaXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkRW51bUICGAFSCUVudW1BcnJheSIfCglJdGVtRmllbGQSEgoEaXRlbRgBIAEoBVIEaXRlbSJXCg1SZXNlcnZlZE5hbWVzEhQKBXR5cGVzGAEgASgFUgV0eXBlcxIeCgpkZXNjcmlwdG9yGAIgASgFUgpkZXNjcmlwdG9yGhAKDlNvbWVOZXN0ZWRUeXBlIt8BChVUZXN0SnNvbkZpZWxkT3JkZXJpbmcSHwoLcGxhaW5faW50MzIYBCABKAVSCnBsYWluSW50MzISHQoJbzFfc3RyaW5nGAIgASgJSABSCG8xU3RyaW5nEhsKCG8xX2ludDMyGAUgASgFSABSB28xSW50MzISIQoMcGxhaW5fc3RyaW5nGAEgASgJUgtwbGFpblN0cmluZxIbCghvMl9pbnQzMhgGIAEoBUgBUgdvMkludDMyEh0KCW8yX3N0cmluZxgDIAEoCUgBUghvMlN0cmluZ0IECgJvMUIECgJvMiJRCgxUZXN0SnNvbk5hbWUSEgoEbmFtZRgBIAEoCVIEbmFtZRIZCgtkZXNjcmlwdGlvbhgCIAEoCVIEZGVzYxISCgRndWlkGAMgASgJUgRleGlkIpMBCgxPbmVvZk1lcmdpbmcSFAoEdGV4dBgBIAEoCUgAUgR0ZXh0Ej4KBm5lc3RlZBgCIAEoCzIkLnVuaXR0ZXN0X2lzc3Vlcy5PbmVvZk1lcmdpbmcuTmVzdGVkSABSBm5lc3RlZBokCgZOZXN0ZWQSDAoBeBgBIAEoBVIBeBIMCgF5GAIgASgFUgF5QgcKBXZhbHVlIoMBChZOdWxsVmFsdWVPdXRzaWRlU3RydWN0EiMKDHN0cmluZ192YWx1ZRgBIAEoCUgAUgtzdHJpbmdWYWx1ZRI7CgpudWxsX3ZhbHVlGAIgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWVCBwoFdmFsdWUiUAoTTnVsbFZhbHVlTm90SW5PbmVvZhI5CgpudWxsX3ZhbHVlGAIgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZVIJbnVsbFZhbHVlIn0KF01peGVkUmVndWxhckFuZE9wdGlvbmFsEiMKDXJlZ3VsYXJfZmllbGQYASABKAlSDHJlZ3VsYXJGaWVsZBIqCg5vcHRpb25hbF9maWVsZBgCIAEoCUgAUg1vcHRpb25hbEZpZWxkiAEBQhEKD19vcHRpb25hbF9maWVsZCJCChJPbmVvZldpdGhOb25lRmllbGQSDgoBeBgBIAEoCUgAUgF4EhQKBG5vbmUYAiABKAlIAFIEbm9uZUIGCgR0ZXN0IjsKEU9uZW9mV2l0aE5vbmVOYW1lEg4KAXgYASABKAlIAFIBeBIOCgF5GAIgASgJSABSAXlCBgoEbm9uZSKiAwoZRGlzYW1iaWd1YXRlQ29tbW9uTWVtYmVycxI+ChtkaXNhbWJpZ3VhdGVfY29tbW9uX21lbWJlcnMYASABKAVSGWRpc2FtYmlndWF0ZUNvbW1vbk1lbWJlcnMSFAoFdHlwZXMYAiABKAVSBXR5cGVzEh4KCmRlc2NyaXB0b3IYAyABKAVSCmRlc2NyaXB0b3ISFgoGZXF1YWxzGAQgASgFUgZlcXVhbHMSGwoJdG9fc3RyaW5nGAUgASgFUgh0b1N0cmluZxIiCg1nZXRfaGFzaF9jb2RlGAYgASgFUgtnZXRIYXNoQ29kZRIZCgh3cml0ZV90bxgHIAEoBVIHd3JpdGVUbxIUCgVjbG9uZRgIIAEoBVIFY2xvbmUSJQoOY2FsY3VsYXRlX3NpemUYCSABKAVSDWNhbGN1bGF0ZVNpemUSHQoKbWVyZ2VfZnJvbRgKIAEoBVIJbWVyZ2VGcm9tEicKD29uX2NvbnN0cnVjdGlvbhgLIAEoBVIOb25Db25zdHJ1Y3Rpb24SFgoGcGFyc2VyGAwgASgFUgZwYXJzZXIiPQoRSXNzdWUxMTk4N01lc3NhZ2USDAoBYRgBIAEoBVIBYhIMCgFiGAIgASgFUgFhEgwKAWMYAyABKAVSAWQqVQoMTmVnYXRpdmVFbnVtEhYKEk5FR0FUSVZFX0VOVU1fWkVSTxAAEhYKCUZpdmVCZWxvdxD7//////////8BEhUKCE1pbnVzT25lEP///////////wEqNgoORGVwcmVjYXRlZEVudW0SFwoPREVQUkVDQVRFRF9aRVJPEAAaAggBEgcKA29uZRABGgIYAUIdqgIaVW5pdFRlc3QuSXNzdWVzLlRlc3RQcm90b3NK6zMKBxIFBwDKAQEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKjgIKAQISAw4AGBpmIElzc3VlOiBOb24tIkdvb2dsZS5Qcm90b2J1ZmZlcnMiIG5hbWVzcGFjZSB3aWxsIGVuc3VyZSB0aGF0IHByb3RvYnVmZmVyCiBsaWJyYXJ5IHR5cGVzIGFyZSBxdWFsaWZpZWQKMpsBIFRoZXNlIHByb3RvIGRlc2NyaXB0b3JzIGhhdmUgYXQgb25lIHRpbWUgYmVlbiByZXBvcnRlZCBhcyBhbiBpc3N1ZSBvciBkZWZlY3QuCiBUaGV5IGFyZSBrZXB0IGhlcmUgdG8gcmVwbGljYXRlIHRoZSBpc3N1ZSwgYW5kIGNvbnRpbnVlIHRvIHZlcmlmeSB0aGUgZml4LgoKCQoCAwASAxAAJgoICgEIEgMSADcKCQoCCCUSAxIANwp2CgIEABIEFgAaARpqIElzc3VlIDMwNzogd2hlbiBnZW5lcmF0aW5nIGRvdWJseS1uZXN0ZWQgdHlwZXMsIGFueSByZWZlcmVuY2VzCiBzaG91bGQgYmUgb2YgdGhlIGZvcm0gQS5UeXBlcy5CLlR5cGVzLkMuCgoKCgMEAAESAxYIEAoMCgQEAAMAEgQXAhkDCgwKBQQAAwABEgMXChQKDQoGBAADAAMAEgMYBBoKDgoHBAADAAMAARIDGAwXCrAECgIFABIENQA5ATKZASBPbGQgaXNzdWUgMTM6CiBodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcHJvdG9idWYtY3NoYXJwLXBvcnQvaXNzdWVzL2RldGFpbD9pZD0xMyBOZXcgaXNzdWUKIDMwOTog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cm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEjYKB29wdGlvbnMYCCABKAsyHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnNSB29wdGlvbnMSSQoQc291cmNlX2NvZGVfaW5mbxgJIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mb1IOc291cmNlQ29kZUluZm8SFgoGc3ludGF4GAwgASgJUgZzeW50YXgSMgoHZWRpdGlvbhgOIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uUgdlZGl0aW9uIrkGCg9EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI7CgVmaWVsZBgCIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IFZmllbGQSQwoJZXh0ZW5zaW9uGAYgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SQQoLbmVzdGVkX3R5cGUYAyADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgpuZXN0ZWRUeXBlEkEKCWVudW1fdHlwZRgEIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJYCg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdlUg5leHRlbnNpb25SYW5nZRJECgpvbmVvZl9kZWNsGAggAygLMiUuZ29vZ2xlLnByb3RvYnVmLk9uZW9mRGVzY3JpcHRvclByb3RvUglvbmVvZkRlY2wSOQoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9uc1IHb3B0aW9ucxJVCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIuLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAogAygJUgxyZXNlcnZlZE5hbWUaegoORXh0ZW5zaW9uUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kEkAKB29wdGlvbnMYAyABKAsyJi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zUgdvcHRpb25zGjcKDVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIswEChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24SWQoLZGVjbGFyYXRpb24YAiADKAsyMi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLkRlY2xhcmF0aW9uQgOIAQJSC2RlY2xhcmF0aW9uEjcKCGZlYXR1cmVzGDIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEm0KDHZlcmlmaWNhdGlvbhgDIAEoDjI4Lmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuVmVyaWZpY2F0aW9uU3RhdGU6ClVOVkVSSUZJRURCA4gBAlIMdmVyaWZpY2F0aW9uGpQBCgtEZWNsYXJhdGlvbhIWCgZudW1iZXIYASABKAVSBm51bWJlchIbCglmdWxsX25hbWUYAiABKAlSCGZ1bGxOYW1lEhIKBHR5cGUYAyABKAlSBHR5cGUSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdGVkGAYgASgIUghyZXBlYXRlZEoECAQQBSI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJBVElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIACIsEGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVBFQVRFRBADEhIKDkxBQkVMX1JFUVVJUkVEEAIiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKXCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRI3CghmZWF0dXJlcxgyIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIKhArSgQIJhAnIvQDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzEjcKCGZlYXR1cmVzGAwgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoirQoKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSAoHdGFyZ2V0cxgTIAMoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZVIHdGFyZ2V0cxJXChBlZGl0aW9uX2RlZmF1bHRzGBQgAygLMiwuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5FZGl0aW9uRGVmYXVsdFIPZWRpdGlvbkRlZmF1bHRzEjcKCGZlYXR1cmVzGBUgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uGloKDkVkaXRpb25EZWZhdWx0EjIKB2VkaXRpb24YAyABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbhIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBUoECBIQEyKsAQoMT25lb2ZPcHRpb25zEjcKCGZlYXR1cmVzGAEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi0QIKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAYgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxI3CghmZWF0dXJlcxgHIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIoECChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkEjcKCGZlYXR1cmVzGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEigKDGRlYnVnX3JlZGFjdBgDIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0ElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi1QEKDlNlcnZpY2VPcHRpb25zEjcKCGZlYXR1cmVzGCIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIimQMKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsEjcKCGZlYXR1cmVzGCMgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24i/AkKCkZlYXR1cmVTZXQSiwEKDmZpZWxkX3ByZXNlbmNlGAEgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuRmllbGRQcmVzZW5jZUI5iAEBmAEEmAEBogENEghFWFBMSUNJVBjmB6IBDRIISU1QTElDSVQY5weiAQ0SCEVYUExJQ0lUGOgHUg1maWVsZFByZXNlbmNlEmYKCWVudW1fdHlwZRgCIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0LkVudW1UeXBlQiOIAQGYAQaYAQGiAQsSBkNMT1NFRBjmB6IBCRIET1BFThjnB1IIZW51bVR5cGUSkgEKF3JlcGVhdGVkX2ZpZWxkX2VuY29kaW5nGAMgASgOMjEuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuUmVwZWF0ZWRGaWVsZEVuY29kaW5nQieIAQGYAQSYAQGiAQ0SCEVYUEFOREVEGOYHogELEgZQQUNLRUQY5wdSFXJlcGVhdGVkRmllbGRFbmNvZGluZxJ4Cg91dGY4X3ZhbGlkYXRpb24YBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5VdGY4VmFsaWRhdGlvbkIjiAEBmAEEmAEBogEJEgROT05FGOYHogELEgZWRVJJRlkY5wdSDnV0ZjhWYWxpZGF0aW9uEngKEG1lc3NhZ2VfZW5jb2RpbmcYBSABKA4yKy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5NZXNzYWdlRW5jb2RpbmdCIIgBAZgBBJgBAaIBFBIPTEVOR1RIX1BSRUZJWEVEGOYHUg9tZXNzYWdlRW5jb2RpbmcSfAoLanNvbl9mb3JtYXQYBiABKA4yJi5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5Kc29uRm9ybWF0QjOIAQGYAQOYAQaYAQGiARcSEkxFR0FDWV9CRVNUX0VGRk9SVBjmB6IBChIFQUxMT1cY5wdSCmpzb25Gb3JtYXQiXAoNRmllbGRQcmVzZW5jZRIaChZGSUVMRF9QUkVTRU5DRV9VTktOT1dOEAASDAoIRVhQTElDSVQQARIMCghJTVBMSUNJVBACEhMKD0xFR0FDWV9SRVFVSVJFRBADIjcKCEVudW1UeXBlEhUKEUVOVU1fVFlQRV9VTktOT1dOEAASCAoET1BFThABEgoKBkNMT1NFRBACIlYKFVJlcGVhdGVkRmllbGRFbmNvZGluZxIjCh9SRVBFQVRFRF9GSUVMRF9FTkNPRElOR19VTktOT1dOEAASCgoGUEFDS0VEEAESDAoIRVhQQU5ERUQQAiJDCg5VdGY4VmFsaWRhdGlvbhIbChdVVEY4X1ZBTElEQVRJT05fVU5LTk9XThAAEgoKBlZFUklGWRACEggKBE5PTkUQAyJTCg9NZXNzYWdlRW5jb2RpbmcSHAoYTUVTU0FHRV9FTkNPRElOR19VTktOT1dOEAASEwoPTEVOR1RIX1BSRUZJWEVEEAESDQoJREVMSU1JVEVEEAIiSAoKSnNvbkZvcm1hdBIXChNKU09OX0ZPUk1BVF9VTktOT1dOEAASCQoFQUxMT1cQARIWChJMRUdBQ1lfQkVTVF9FRkZPUlQQAioGCOgHEOkHKgYI6QcQ6gcqBgiLThCQTkoGCOcHEOgHIv4CChJGZWF0dXJlU2V0RGVmYXVsdHMSWAoIZGVmYXVsdHMYASADKAsyPC5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldERlZmF1bHRzLkZlYXR1cmVTZXRFZGl0aW9uRGVmYXVsdFIIZGVmYXVsdHMSQQoPbWluaW11bV9lZGl0aW9uGAQgASgOMhguZ29vZ2xlLnByb3RvYnVmLkVkaXRpb25SDm1pbmltdW1FZGl0aW9uEkEKD21heGltdW1fZWRpdGlvbhgFIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uUg5tYXhpbXVtRWRpdGlvbhqHAQoYRmVhdHVyZVNldEVkaXRpb25EZWZhdWx0EjIKB2VkaXRpb24YAyABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbhI3CghmZWF0dXJlcxgCIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcyKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAIq/wEKB0VkaXRpb24SEwoPRURJVElPTl9VTktOT1dOEAASEwoORURJVElPTl9QUk9UTzIQ5gcSEwoORURJVElPTl9QUk9UTzMQ5wcSEQoMRURJVElPTl8yMDIzEOgHEhcKE0VESVRJT05fMV9URVNUX09OTFkQARIXChNFRElUSU9OXzJfVEVTVF9PTkxZEAISHQoXRURJVElPTl85OTk5N19URVNUX09OTFkQnY0GEh0KF0VESVRJT05fOTk5OThfVEVTVF9PTkxZEJ6NBhIdChdFRElUSU9OXzk5OTk5X1RFU1RfT05MWRCfjQYSEwoLRURJVElPTl9NQVgQ/////wdCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rvc0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9kZXNjcmlwdG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbkqVsgMKBxIFJgC/CQEKqg8KAQwSAyYAEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT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pwILEQoNCgUEBAIIARIEpwISGwoNCgUEBAIIAxIEpwIeIAoMCgQEBAIJEgSpAgIkCg0KBQQEAgkEEgSpAgIKCg0KBQQEAgkGEgSpAgsXCg0KBQQEAgkBEgSpAhgfCg0KBQQEAgkDEgSpAiIjCrAJCgQEBAIKEgTAAgIlGqEJIElmIHRydWUsIHRoaXMgaXMgYSBwcm90bzMgIm9wdGlvbmFsIi4gV2hlbiBhIHByb3RvMyBmaWVsZCBpcyBvcHRpb25hbCwgaXQKIHRyYWNrcyBwcmVzZW5jZSByZWdhcmRsZXNzIG9mIGZpZWxkIHR5cGUuCgogV2hlbiBwcm90bzNfb3B0aW9uYWwgaXMgdHJ1ZSwgdGhpcyBmaWVsZCBtdXN0IGJlbG9uZyB0byBhIG9uZW9mIHRvIHNpZ25hbAogdG8gb2xkIHByb3RvMyBjbGllbnRzIHRoYXQgcHJlc2VuY2UgaXMgdHJhY2tlZCBmb3IgdGhpcyBmaWVsZC4gVGhpcyBvbmVvZgogaXMga25vd24gYXMgYSAic3ludGhldGljIiBvbmVvZiwgYW5kIHRoaXMgZmllbGQgbXVzdCBiZSBpdHMgc29sZSBtZW1iZXIKIChlYWNoIHByb3RvMyBvcHRpb25hbCBmaWVsZCBnZXRzIGl0cyBvd24gc3ludGhldGljIG9uZW9mKS4gU3ludGhldGljIG9uZW9mcwogZXhpc3QgaW4gdGhlIGRlc2NyaXB0b3Igb25seSwgYW5kIGRvIG5vdCBnZW5lcmF0ZSBhbnkgQVBJLiBTeW50aGV0aWMgb25lb2ZzCiBtdXN0IGJlIG9yZGVyZWQgYWZ0ZXIgYWxsICJyZWFsIiBvbmVvZnMuCgogRm9yIG1lc3NhZ2UgZmllbGRzLCBwcm90bzNfb3B0aW9uYWwgZG9lc24ndCBjcmVhdGUgYW55IHNlbWFudGljIGNoYW5nZSwKIHNpbmNlIG5vbi1yZXBlYXRlZCBtZXNzYWdlIGZpZWxkcyBhbHdheXMgdHJhY2sgcHJlc2VuY2UuIEhvd2V2ZXIgaXQgc3RpbGwKIGluZGljYXRlcyB0aGUgc2VtYW50aWMgZGV0YWlsIG9mIHdoZXRoZXIgdGhlIHVzZXIgd3JvdGUgIm9wdGlvbmFsIiBvciBub3QuCiBUaGlzIGNhbiBi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c2lvbnMgb2YgdGhlICpPcHRpb25zIG1lc3NhZ2VzLgogVGhlc2UgZXh0ZW5zaW9ucyBtYXkgbm90IHlldCBiZSBrbm93biBhdCBwYXJzaW5nIHRpbWUsIHNvIHRoZSBwYXJzZXIgY2Fubm90CiBzdG9yZSB0aGUgdmFsdWVzIGluIHRoZW0uICBJbnN0ZWFkIGl0IHN0b3JlcyB0aGVtIGluIGEgZmllbGQgaW4gdGhlICpPcHRpb25zCiBtZXNzYWdlIGNhbGxlZCB1bmludGVycHJldGVkX29wdGlvbi4gVGhpcyBmaWVsZCBtdXN0IGhhdmUgdGhlIHNhbWUgbmFtZQogYWNyb3NzIGFsbCAqT3B0aW9ucyBtZXNzYWdlcy4gV2UgdGhlbiB1c2UgdGhpcyBmaWVsZCB0byBwb3B1bGF0ZSB0aGUKIGV4dGVuc2lvbnMgd2hlbiB3ZSBidWlsZCBhIGRlc2NyaXB0b3IsIGF0IHdoaWNoIHBvaW50IGFsbCBwcm90b3MgaGF2ZSBiZWVuCiBwYXJzZWQgYW5kIHNvIGFsbCBleHRlbnNpb25zIGFyZSBrbm93bi4KCiBFeHRlbnNpb24gbnVtYmVycyBmb3IgY3VzdG9tIG9wdGlvbnMgbWF5IGJlIGNob3NlbiBhcyBmb2xsb3dzOgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBzaW5nbGUgYXBwbGljYXRpb24gb3IKICAgb3JnYW5pemF0aW9uLCBvciBmb3IgZXhwZXJpbWVudGFsIG9wdGlvbnMsIHVzZSBmaWVsZCBudW1iZXJzIDUwMDAwCiAgIHRocm91Z2ggOTk5OTkuICBJdCBpcyB1cCB0byB5b3UgdG8gZW5zdXJlIHRoYXQgeW91IGRvIG5vdCB1c2UgdGhlCiAgIHNhbWUgbnVtYmVyIGZvciBtdWx0aXBsZSBvcHRpb25zLgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIGJlIHB1Ymxpc2hlZCBhbmQgdXNlZCBwdWJsaWNseSBieSBtdWx0aXBsZQogICBpbmRlcGVuZGVudCBlbnRpdGllcywgZS1tYWlsIHByb3RvYnVmLWdsb2JhbC1leHRlbnNpb24tcmVnaXN0cnlAZ29vZ2xlLmNvbQogICB0byByZXNlcnZlIGV4dGVuc2lvbiBudW1iZXJzLiBTaW1wbHkgcHJvdmlkZSB5b3VyIHByb2plY3QgbmFtZSAoZS5nLgogICBPYmplY3RpdmUtQyBwbHVnaW4pIGFuZCB5b3VyIHByb2plY3Qgd2Vic2l0ZSAoaWYgYXZhaWxhYmxlKSAtLSB0aGVyZSdzIG5vCiAgIG5lZWQgdG8gZXhwbGFpbiBob3cgeW91IGludGVuZCB0byB1c2UgdGhlbS4gVXN1YWxseSB5b3Ugb25seSBuZWVkIG9uZQogICBleHRlbnNpb24gbnVtYmVyLiBZb3UgY2FuIGRlY2xhcmUgbXVsdGlwbGUgb3B0aW9ucyB3aXRoIG9ubHkgb25lIGV4dGVuc2lvbgogICBudW1iZXIgYnkgcHV0dGluZyB0aGVtIGluIGEgc3ViLW1lc3NhZ2UuIFNlZSB0aGUgQ3VzdG9tIE9wdGlvbnMgc2VjdGlvbiBvZgogICB0aGUgZG9jcyBmb3IgZXhhbXBsZXM6CiAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90byNvcHRpb25zCiAgIElmIHRoaXMgdHVybnMgb3V0IHRvIGJlIHBvcHVsYXIsIGEgd2ViIHNlcnZpY2Ugd2lsbCBiZSBzZXQgdXAKICAgdG8gYXV0b21hdGljYWxseSBhc3NpZ24gb3B0aW9uIG51bWJlcnMuCgoLCgMECgESBKcDCBMK9AEKBAQKAgASBK0DAiMa5QEgU2V0cyB0aGUgSmF2YSBwYWNrYWdlIHdoZXJlIGNsYXNzZXMgZ2VuZXJhdGVkIGZyb20gdGhpcyAucHJvdG8gd2lsbCBiZQogcGxhY2VkLiAgQnkgZGVmYXVsdCwgdGhlIHByb3RvIHBhY2thZ2UgaXMgdXNlZCwgYnV0IHRoaXMgaXMgb2Z0ZW4KIGluYXBwcm9wcmlhdGUgYmVjYXVzZSBwcm90byBwYWNrYWdlcyBkbyBub3Qgbm9ybWFsbHkgc3RhcnQgd2l0aCBiYWNrd2FyZHMKIGRvbWFpbiBuYW1lcy4KCg0KBQQKAgAEEgStAwIKCg0KBQQKAgAFEgStAwsRCg0KBQQKAgABEgStAxIeCg0KBQQKAgADEgStAyEiCvECCgQECgIBEgS0AwIrGuICIENvbnRyb2xzIHRoZSBuYW1lIG9mIHRoZSB3cmFwcGVyIEphdmEgY2xhc3MgZ2VuZXJhdGVkIGZvciB0aGUgLnByb3RvIGZpbGUuCiBUaGF0IGNsYXNzIHdpbGwgYWx3YXlzIGNvbnRhaW4gdGhlIC5wcm90byBmaWxlJ3MgZ2V0RGVzY3JpcHRvcigpIG1ldGhvZCBhcwogd2VsbCBhcyBhbnkgdG9wLWxldmVsIGV4dGVuc2lvbnMgZGVmaW5lZCBpbiB0aGUgLnByb3RvIGZpbGUuCiBJZiBqYXZhX211bHRpcGxlX2ZpbGVzIGlzIGRpc2FibGVkLCB0aGVuIGFsbCB0aGUgb3RoZXIgY2xhc3NlcyBmcm9tIHRoZQogLnByb3RvIGZpbGUgd2lsbCBiZSBuZXN0ZWQgaW5zaWRlIHRoZSBzaW5nbGUgd3JhcHBlciBvdXRlciBjbGFzcy4KCg0KBQQKAgEEEgS0AwIKCg0KBQQKAgEFEgS0AwsRCg0KBQQKAgEBEgS0AxImCg0KBQQKAgEDEgS0AykqCqYDCgQECgICEgS8AwI7GpcDIElmIGVuYWJsZWQsIHRoZW4gdGhlIEphdmEgY29kZSBnZW5lcmF0b3Igd2lsbCBnZW5lcmF0ZSBhIHNlcGFyYXRlIC5qYXZhCiBmaWxlIGZvciBlYWNoIHRvcC1sZXZlbCBtZXNzYWdlLCBlbnVtLCBhbmQgc2VydmljZSBkZWZpbmVkIGluIHRoZSAucHJvdG8KIGZpbGUuICBUaHVzLCB0aGVzZSB0eXBlcyB3aWxsICpub3QqIGJlIG5lc3RlZCBpbnNpZGUgdGhlIHdyYXBwZXIgY2xhc3MKIG5hbWVkIGJ5IGphdmFfb3V0ZXJfY2xhc3NuYW1lLiAgSG93ZXZlciwgdGhlIHdyYXBwZXIgY2xhc3Mgd2lsbCBzdGlsbCBiZQogZ2VuZXJhdGVkIHRvIGNvbnRhaW4gdGhlIGZpbGUncyBnZXREZXNjcmlwdG9yKCkgbWV0aG9kIGFzIHdlbGwgYXMgYW55CiB0b3AtbGV2ZWwgZXh0ZW5zaW9ucyBkZWZpbmVkIGluIHRoZSBmaWxlLgoKDQoFBAoCAgQSBLwDAgoKDQoFBAoCAgUSBLwDCw8KDQoFBAoC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dCBmb3IgZXh0ZW5zaW9ucy4KIFRoaXMgaXMgcHJvdmlkZWQgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggdGhlIE1lc3NhZ2VTZXQgd2lyZQogZm9ybWF0LiAgWW91IHNob3VsZCBub3QgdXNlIHRoaXMgZm9yIGFueSBvdGhlciByZWFzb246ICBJdCdzIGxlc3MKIGVmZmljaWVudCwgaGFzIGZld2VyIGZlYXR1cmVzLCBhbmQgaXMgbW9yZSBjb21wbGljYXRlZC4KCiBUaGUgbWVzc2FnZSBtdXN0IGJlIGRlZmluZWQgZXhhY3RseSBhcyBmb2xsb3dzOgogICBtZXNzYWdlIEZvbyB7CiAgICAgb3B0aW9uIG1lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0ID0gdHJ1ZTsKICAgICBleHRlbnNpb25zIDQgdG8gbWF4OwogICB9CiBOb3RlIHRoYXQgdGhlIG1lc3NhZ2UgY2Fubm90IGhhdmUgYW55IGRlZmluZWQgZmllbGRzOyBNZXNzYWdlU2V0cyBvbmx5CiBoYXZlIGV4dGVuc2lvbnMuCgogQWxsIGV4dGVuc2lvbnMgb2YgeW91ciB0eXBlIG11c3QgYmUgc2luZ3VsYXIgbWVzc2FnZXM7IGUuZy4gdGhleSBjYW5ub3QKIGJlIGludDMycywgZW51bXMsIG9yIHJlcGVhdGVkIG1lc3NhZ2VzLgoKIEJlY2F1c2UgdGhpcyBpcyBhbiBvcHRpb24sIHRoZSBhYm92ZSB0d28gcmVzdHJpY3Rpb25zIGFyZSBub3QgZW5mb3JjZWQgYnkKIHRoZSBwcm90b2NvbCBjb21waWxlci4KCg0KBQQLAgAEEgSzBAIKCg0KBQQLAgAFEgSzBAsPCg0KBQQLAgABEgSzBBAnCg0KBQQLAgADEgSzBCorCg0KBQQLAgAIEgSzBCw9Cg0KBQQLAgAHEgSzBDc8CusBCgQECwIBEgS4BAJGGtwBIERpc2FibGVzIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBzdGFuZGFyZCAiZGVzY3JpcHRvcigpIiBhY2Nlc3Nvciwgd2hpY2ggY2FuCiBjb25mbGljdCB3aXRoIGEgZmllbGQgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgaXMgbWVhbnQg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aCBhbGlhc2luZyBlbmFibGVkLCBhcyB0aGUgcGFyc2VkIENvcmQgbWF5IHRoZW4KIGFsaWFzIHRoZSBvcmlnaW5hbCBidWZmZXIuCgoPCgcEDAQAAgEBEgSEBQQICg8KBwQMBAACAQISBIQFCwwKDgoGBAwEAAICEgSGBQQVCg8KBwQMBAACAgESBIYFBBAKDwoHBAwEAAICAhIEhgUTFArTAwoEBAwCARIEjwUCGxrEAyBUaGUgcGFja2VkIG9wdGlvbiBjYW4gYmUgZW5hYmxlZCBmb3IgcmVwZWF0ZWQgcHJpbWl0aXZlIGZpZWxkcyB0byBlbmFibGUKIGEgbW9yZSBlZmZpY2llbnQgcmVwcmVzZW50YXRpb24gb24gdGhlIHdpcmUuIFJhdGhlciB0aGFuIHJlcGVhdGVkbHkKIHdyaXRpbmcgdGhlIHRhZyBhbmQgdHlwZSBmb3IgZWFjaCBlbGVtZW50LCB0aGUgZW50aXJlIGFycmF5IGlzIGVuY29kZWQgYXMKIGEgc2luZ2xlIGxlbmd0aC1kZWxpbWl0ZWQgYmxvYi4gSW4gcHJvdG8zLCBvbmx5IGV4cGxpY2l0IHNldHRpbmcgaXQgdG8KIGZhbHNlIHdpbGwgYXZvaWQgdXNpbmcgcGFja2VkIGVuY29kaW5nLiAgVGhpcyBvcHRpb24gaXMgcHJvaGliaXRlZCBpbgogRWRpdGlvbnMsIGJ1dCB0aGUgYHJlcGVhdGVkX2ZpZWxkX2VuY29kaW5nYCBmZWF0dXJlIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wKIHRoZSBiZWhhdmlvci4KCg0KBQQMAgEEEgSPBQIKCg0KBQQMAgEFEgSPBQsPCg0KBQQMAgEBEgSPBRAWCg0KBQQMAgEDEgSPBRkaCpoFCgQEDAICEgScBQIzGosFIFRoZSBqc3R5cGUgb3B0aW9uIGRldGVybWluZXMgdGhlIEphdmFTY3JpcHQgdHlwZSB1c2VkIGZvciB2YWx1ZXMgb2YgdGhlCiBmaWVsZC4gIFRoZSBvcHRpb24gaXMgcGVybWl0dGVkIG9ubHkgZm9yIDY0IGJpdCBpbnRlZ3JhbCBhbmQgZml4ZWQgdHlwZXMKIChpbnQ2NCwgdWludDY0LCBzaW50NjQsIGZpeGVkNjQsIHNmaXhlZDY0KS4gIEEgZmllbGQgd2l0aCBqc3R5cGUgSlNfU1RSSU5HCiBpcyByZXByZXNlbnRlZCBhcyBKYXZhU2NyaXB0IHN0cmluZywgd2hpY2ggYXZvaWRzIGxvc3Mgb2YgcHJlY2lzaW9uIHRoYXQKIGNhbiBoYXBwZW4gd2hlbiBhIGxhcmdlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBhIGZsb2F0aW5nIHBvaW50IEphdmFTY3JpcHQuCiBTcGVjaWZ5aW5nIEpTX05VTUJFUiBmb3IgdGhlIGpzdHlwZSBjYXVzZXMgdGhlIGdlbmVyYXRlZCBKYXZhU2NyaXB0IGNvZGUgdG8KIHVzZSB0aGUgSmF2YVNjcmlwdCAibnVtYmVyIiB0eXBlLiAgVGhlIGJlaGF2aW9yIG9mIHRoZSBkZWZhdWx0IG9wdGlvbgogSlNfTk9STUFMIGlzIGltcGxlbWVudGF0aW9uIGRlcGVuZGVudC4KCiBUaGlzIG9wdGlvbiBpcyBhbiBlbnVtIHRvIHBlcm1pdCBhZGRpdGlvbmFsIHR5cGVzIHRvIGJlIGFkZGVkLCBlLmcuCiBnb29nLm1hdGguSW50ZWdlci4KCg0KBQQMAgIEEgScBQIKCg0KBQQMAgIGEgScBQsRCg0KBQQMAgIBEgScBRIYCg0KBQQMAgIDEgScBRscCg0KBQQMAgIIEgScBR0yCg0KBQQMAgIHEgScBSgxCg4KBAQMBAESBp0FAqYFAwoNCgUEDAQBARIEnQUHDQonCgYEDAQBAgASBJ8FBBIaFyBVc2UgdGhlIGRlZmF1bHQgdHlwZS4KCg8KBwQMBAECAAESBJ8FBA0KDwoHBAwEAQIAAhIEnwUQEQopCgYEDAQBAgESBKIFBBIaGSBVc2UgSmF2YVNjcmlwdCBzdHJpbmdzLgoKDwoHBAwEAQIBARIEogUEDQoPCgcEDAQBAgECEgSiBRARCikKBgQMBAECAhIEpQUEEhoZIFVzZSBKYXZhU2NyaXB0IG51bWJlcnMuCgoPCgcEDAQBAgIBEgSlBQQNCg8KBwQMBAECAgISBKUFEBEKmQoKBAQMAgMSBL4FAisaigogU2hvdWxkIHRoaXMgZmllbGQgYmUgcGFyc2VkIGxhemlseT8gIExhenkgYXBwbGllcyBvbmx5IHRvIG1lc3NhZ2UtdHlwZQogZmllbGRzLiAgSXQgbWVhbnMgdGhhdCB3aGVuIHRoZSBvdXRlciBtZXNzYWdlIGlzIGluaXRpYWxseSBwYXJzZWQsIHRoZQogaW5uZXIgbWVzc2FnZSdzIGNvbnRlbnRzIHdpbGwgbm90IGJlIHBhcnNlZCBidXQgaW5zdGVhZCBzdG9yZWQgaW4gZW5jb2RlZAogZm9ybS4gIFRoZSBpbm5lciBtZXNzYWdlIHdpbGwgYWN0dWFsbHkgYmUgcGFyc2VkIHdoZW4gaXQgaXMgZmlyc3QgYWNjZXNzZWQuCgogVGhpcyBpcyBvbmx5IGEgaGludC4gIEltcGxlbWVudGF0aW9ucyBhcmUgZnJlZSB0byBjaG9vc2Ugd2hldGhlciB0byB1c2UKIGVhZ2VyIG9yIGxhenkgcGFyc2luZyByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvbi4gIEhvd2V2ZXIsCiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRydWUgc3VnZ2VzdHMgdGhhdCB0aGUgcHJvdG9jb2wgYXV0aG9yIGJlbGlldmVzIHRoYXQKIHVzaW5nIGxhenkgcGFyc2luZyBvbiB0aGlzIGZpZWxkIGlzIHdvcnRoIHRoZSBhZGRpdGlvbmFsIGJvb2trZWVwaW5nCiBvdmVyaGVhZCB0eXBpY2FsbHkgbmVlZGVkIHRvIGltcGxlbWVudCBpdC4KCiBUaGlzIG9wdGlvbiBkb2VzIG5vdCBhZmZlY3QgdGhlIHB1YmxpYyBpbnRlcmZhY2Ugb2YgYW55IGdlbmVyYXRlZCBjb2RlOwogYWxsIG1ldGhvZCBzaWduYXR1cmVzIHJlbWFpbiB0aGUgc2FtZS4gIEZ1cnRoZXJtb3JlLCB0aHJlYWQtc2FmZXR5IG9mIHRoZQogaW50ZXJmYWNlIGlzIG5vdCBhZmZlY3RlZCBieSB0aGlzIG9wdGlvbjsgY29uc3QgbWV0aG9kcyByZW1haW4gc2FmZSB0bwogY2FsbCBmcm9tIG11bHRpcGxlIHRocmVhZHMgY29uY3VycmVudGx5LCB3aGlsZSBub24tY29uc3QgbWV0aG9kcyBjb250aW51ZQogdG8gcmVxdWlyZSBleGNsdXNpdmUgYWNjZXNzLgoKIE5vdGUgdGhhdCBsYXp5IG1lc3NhZ2UgZmllbGRzIGFyZSBzdGlsbCBlYWdlcmx5IHZlcmlmaWVkIHRvIGNoZWNrCiBpbGwtZm9ybWVkIHdpcmVmb3JtYXQgb3IgbWlzc2luZyByZXF1aXJlZCBmaWVsZHMuIENhbGxpbmcgSXNJbml0aWFsaXplZCgpCiBvbiB0aGUgb3V0ZXIgbWVzc2FnZSB3b3VsZCBmYWlsIGlmIHRoZSBpbm5lciBtZXNzYWdlIGhhcyBtaXNzaW5nIHJlcXVpcmVkCiBmaWVsZHMuIEZhaWxlZCB2ZXJpZmljYXRpb24gd291bGQgcmVzdWx0IGluIHBhcnNpbmcgZmFpbHVyZSAoZXhjZXB0IHdoZW4KIHVuaW5pdGlhbGl6ZWQgbWVzc2FnZXMgYXJlIGFjY2VwdGFibGUpLgoKDQoFBAwCAwQSBL4FAgoKDQoFBAwCAwUSBL4FCw8KDQoFBAwCAwESBL4FEBQKDQoFBAwCAwMSBL4FFxgKDQoFBAwCAwgSBL4FGSoKDQoFBAwCAwcSBL4FJCkKrwEKBAQMAgQSBMMFAjcaoAEgdW52ZXJpZmllZF9sYXp5IGRvZXMgbm8gY29ycmVjdG5lc3MgY2hlY2tzIG9uIHRoZSBieXRlIHN0cmVhbS4gVGhpcyBzaG91bGQKIG9ubHkgYmUgdXNlZCB3aGVyZSBsYXp5IHdpdGggdmVyaWZpY2F0aW9uIGlzIHByb2hpYml0aXZlIGZvciBwZXJmb3JtYW5jZQogcmVhc29ucy4KCg0KBQQMAgQEEgTDBQIKCg0KBQQMAgQFEgTDBQsPCg0KBQQMAgQBEgTDBRAfCg0KBQQMAgQDEgTDBSIkCg0KBQQMAgQIEgTDBSU2Cg0KBQQMAgQHEgTDBTA1CugBCgQEDAIFEgTJBQIxGtkBIElzIHRoaXMgZmllbGQgZGVwcmVjYXRlZD8KIERlcGVuZGluZyBvbiB0aGUgdGFyZ2V0IHBsYXRmb3JtLCB0aGlzIGNhbiBlbWl0IERlcHJlY2F0ZWQgYW5ub3RhdGlvbnMKIGZvciBhY2Nlc3NvcnMsIG9yIGl0IHdpbGwgYmUgY29tcGxldGVseSBpZ25vcmVkOyBpbiB0aGUgdmVyeSBsZWFzdCwgdGhpcwogaXMgYSBmb3JtYWxpemF0aW9uIGZvciBkZXByZWNhdGlu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CgUEEQUAARIE+gYNEQoNCgUEEQUAAhIE+gYVGAqLAwoCBBISBoMHAJcHARr8AiBBIG1lc3NhZ2UgcmVwcmVzZW50aW5nIGEgb3B0aW9uIHRoZSBwYXJzZXIgZG9lcyBub3QgcmVjb2duaXplLiBUaGlzIG9ubHkKIGFwcGVhcnMgaW4gb3B0aW9ucyBwcm90b3MgY3JlYXRlZCBieSB0aGUgY29tcGlsZXI6OlBhcnNlciBjbGFzcy4KIERlc2NyaXB0b3JQb29sIHJlc29sdmVzIHRoZXNlIHdoZW4gYnVpbGRpbmcgRGVzY3JpcHRvciBvYmplY3RzLiBUaGVyZWZvcmUsCiBvcHRpb25zIHByb3RvcyBpbiBkZXNjcmlwdG9yIG9iamVjdHMgKGUuZy4gcmV0dXJuZWQgYnkgRGVzY3JpcHRvcjo6b3B0aW9ucygpLAogb3IgcHJvZHVjZWQgYnkgRGVzY3JpcHRvcjo6Q29weVRvKCkpIHdpbGwgbmV2ZXIgaGF2ZSBVbmludGVycHJldGVkT3B0aW9ucwogaW4gdGhlbS4KCgsKAwQSARIEgwcIGwrLAgoEBBIDABIGiQcCjAcDGroCIFRoZSBuYW1lIG9mIHRoZSB1bmludGVycHJldGVkIG9wdGlvbi4gIEVhY2ggc3RyaW5nIHJlcHJlc2VudHMgYSBzZWdtZW50IGluCiBhIGRvdC1zZXBhcmF0ZWQgbmFtZS4gIGlzX2V4dGVuc2lvbiBpcyB0cnVlIGlmZiBhIHNlZ21lbnQgcmVwcmVzZW50cyBhbgogZXh0ZW5zaW9uIChkZW5vdGVkIHdpdGggcGFyZW50aGVzZXMgaW4gb3B0aW9ucyBzcGVjcyBpbiAucHJvdG8gZmlsZXMpLgogRS5nLix7IFsiZm9vIiwgZmFsc2VdLCBbImJhci5iYXoiLCB0cnVlXSwgWyJtb28iLCBmYWxzZV0gfSByZXByZXNlbnRzCiAiZm9vLihiYXIuYmF6KS5tb28iLgoKDQoFBBIDAAESBIkHChIKDgoGBBIDAAIAEgSKBwQiCg8KBwQSAwACAAQSBIoHBAwKDwoHBBIDAAIABRIEigcNEwoPCgcEEgMAAgABEgSKBxQdCg8KBwQSAwACAAMSBIoHICEKDgoGBBIDAAIBEgSLBwQjCg8KBwQSAwACAQQS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cywgY29kZSBpbmRleGVycywgZG9jdW1lbnRhdGlvbiBnZW5lcmF0b3JzLCBhbmQgc2ltaWxhcgogdG9vbHMuCgogRm9yIGV4YW1wbGUsIHNheSB3ZSBoYXZlIGEgZmlsZSBsaWtlOgogICBtZXNzYWdlIEZvbyB7CiAgICAgb3B0aW9uYWwgc3RyaW5nIGZvbyA9IDE7CiAgIH0KIExldCdzIGxvb2sgYXQganVzdCB0aGUgZmllbGQgZGVmaW5pdGlvbjoKICAgb3B0aW9uYWwgc3RyaW5nIGZvbyA9IDE7CiAgIF4gICAgICAgXl4gICAgIF5eICBeICBeXl4KICAgYSAgICAgICBiYyAgICAgZGUgIGYgIGdoaQogV2UgaGF2ZSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKICAgc3BhbiAgIHBhdGggICAgICAgICAgICAgICByZXByZXNlbnRzCiAgIFthLGkpICBbIDQsIDAsIDIsIDAgXSAgICAgVGhlIHdob2xlIGZpZWxkIGRlZmluaXRpb24uCiAgIFthLGIpICBbIDQsIDAsIDIsIDAsIDQgXSAgVGhlIGxhYmVsIChvcHRpb25hbCkuCiAgIFtjLGQpICBbIDQsIDAsIDIsIDAsIDUgXSAgVGhlIHR5cGUgKHN0cmluZykuCiAgIFtlLGYpICBbIDQsIDAsIDIsIDAsIDEgXSAgVGhlIG5hbWUgKGZvbykuCiAgIFtnLGgpICBbIDQsIDAsIDIsIDAsIDMgXSAgVGhlIG51bWJlciAoMSkuCgogTm90ZXM6CiAtIEEgbG9jYXRpb24gbWF5IHJlZmVyIHRvIGEgcmVwZWF0ZWQgZmllbGQgaXRzZWxmIChpLmUuIG5vdCB0byBhbnkKICAgcGFydGljdWxhciBpbmRleCB3aXRoaW4gaXQpLiAgVGhpcyBpcyB1c2VkIHdoZW5ldmVyIGEgc2V0IG9mIGVsZW1lbnRzIGFyZQogICBsb2dpY2FsbHkgZW5jbG9zZWQgaW4gYSBzaW5nbGUgY29kZSBzZWdtZW50LiAgRm9yIGV4YW1wbGUsIGFuIGVudGlyZQogICBleHRlbmQgYmxvY2sgKHBvc3NpYmx5IGNvbnRhaW5pbmcgbXVsdGlwbGUgZXh0ZW5zaW9uIGRlZmluaXRpb25zKSB3aWxsCiAgIGhhdmUgYW4gb3V0ZXIgbG9jYXRpb24gd2hvc2UgcGF0aCByZWZlcnMgdG8gdGhlICJleHRlbnNpb25zIiByZXBlYXRlZAogICBmaWVsZCB3aXRob3V0IGFuIGluZGV4LgogLSBNdWx0aXBsZSBsb2NhdGlvbnMgbWF5IGhhdmUgdGhlIHNhbWUgcGF0aC4gIFRoaXMgaGFwcGVucyB3aGVuIGEgc2luZ2xlCiAgIGxvZ2ljYWwgZGVjbGFyYXRpb24gaXMgc3ByZWFkIG91dCBhY3Jvc3MgbXVsdGlwbGUgcGxhY2VzLiAgVGhlIG1vc3QKICAgb2J2aW91cyBleGFtcGxlIGlzIHRoZSAiZXh0ZW5kIiBibG9jayBhZ2FpbiAtLSB0aGVyZSBtYXkgYmUgbXVsdGlwbGUKICAgZXh0ZW5kIGJsb2NrcyBpbiB0aGUgc2FtZSBzY29wZSwgZWFjaCBvZiB3aGljaCB3aWxsIGhhdmUgdGhlIHNhbWUgcGF0aC4KIC0gQSBsb2NhdGlvbidzIHNwYW4gaXMgbm90IGFsd2F5cyBhIHN1YnNldCBvZiBpdHMgcGFyZW50J3Mgc3Bhbi4gIEZvcgogICBleGFtcGxlLCB0aGUgImV4dGVuZGVlIiBvZiBhbiBleHRlbnNpb24gZGVjbGFyYXRpb24gYXBwZWFycyBhdCB0aGUKICAgYmVnaW5uaW5nIG9mIHRoZSAiZXh0ZW5kIiBibG9jayBhbmQgaXMgc2hhcmVkIGJ5IGFsbCBleHRlbnNpb25zIHdpdGhpbgogICB0aGUgYmxvY2suCiAtIEp1c3QgYmVjYXVzZSBhIGxvY2F0aW9uJ3Mgc3BhbiBpcyBhIHN1YnNldCBvZiBzb21lIG90aGVyIGxvY2F0aW9uJ3Mgc3BhbgogICBkb2VzIG5vdCBtZWFuIHRoYXQgaXQgaXMgYSBkZXNjZW5kYW50LiAgRm9yIGV4YW1wbGUsIGEgImdyb3VwIiBkZWZpbmVzCiAgIGJvdGggYSB0eXBlIGFuZCBhIGZpZWxkIGluIGEgc2luZ2xlIGRlY2xhcmF0aW9uLiAgVGh1cywgdGhlIGxvY2F0aW9ucwogICBjb3JyZXNwb25kaW5nIHRvIHRoZSB0eXBlIGFuZCBmaWVsZCBhbmQgdGhlaXIgY29tcG9uZW50cyB3aWxsIG92ZXJsYXAuCiAtIENvZGUgd2hpY2ggdHJpZXMgdG8gaW50ZXJwcmV0IGxvY2F0aW9ucyBzaG91bGQgcHJvYmFibHkgYmUgZGVzaWduZWQgdG8KICAgaWdub3JlIHRob3NlIHRoYXQgaXQgZG9lc24ndCB1bmRlcnN0YW5kLCBhcyBtb3JlIHR5cGVzIG9mIGxvY2F0aW9ucyBjb3VsZAogICBiZSByZWNvcmRlZCBpbiB0aGUgZnV0dXJlLgoKDQoFBBUCAAQSBMQIAgoKDQoFBBUCAAYSBMQICxMKDQoFBBUCAAESBMQIFBwKDQoFBBUCAAMSBMQIHyAKDgoEBBUDABIGxQgCmAkDCg0KBQQVAwABEgTFCAoSCooHCgYEFQMAAgASBN0IBCwa+QYgSWRlbnRpZmllcyB3aGljaCBwYXJ0IG9mIHRoZSBGaWxlRGVzY3JpcHRvclByb3RvIHdhcyBkZWZpbmVkIGF0IHRoaXMKIGxvY2F0aW9uLgoKIEVhY2ggZWxlbWVudCBpcyBhIGZpZWxkIG51bWJlciBvciBhbiBpbmRleC4gIFRoZXkgZm9ybSBhIHBhdGggZnJvbQogdGhlIHJvb3QgRmlsZURlc2NyaXB0b3JQcm90byB0byB0aGUgcGxhY2Ugd2hlcmUgdGhlIGRlZmluaXRpb24gYXBwZWFycy4KIEZvciBleGFtcGxlLCB0aGlzIHBhdGg6CiAgIFsgNCwgMywgMiwgNywgMSBdCiByZWZlcnMgdG86CiAgIGZpbGUubWVzc2FnZV90eXBlKDMpICAvLyA0LCAzCiAgICAgICAuZmllbGQoNykgICAgICAgICAvLyAyLCA3CiAgICAgICAubmFtZSgpICAgICAgICAgICAvLyAxCiBUaGlzIGlzIGJlY2F1c2UgRmlsZURlc2NyaXB0b3JQcm90by5tZXNzYWdlX3R5cGUgaGFzIGZpZWxkIG51bWJlciA0OgogICByZXBlYXRlZCBEZXNjcmlwdG9yUHJvdG8gbWVzc2FnZV90eXBlID0gNDsKIGFuZCBEZXNjcmlwdG9yUHJvdG8uZmllbGQgaGFzIGZpZWxkIG51bWJlciAyOgogICByZXBlYXRlZCBGaWVsZERlc2NyaXB0b3JQcm90byBmaWVsZCA9IDI7CiBhbmQgRmllbGREZXNjcmlwdG9yUHJvdG8ubmFtZSBoYXMgZmllbGQgbnVtYmVyIDE6CiAgIG9wdGlvbmFsIHN0cmluZyBuYW1lID0gMTsKCiBUaHVzLCB0aGUgYWJvdmUgcGF0aCBnaXZlcyB0aGUgbG9jYXRpb24gb2YgYSBmaWVsZCBuYW1lLiAgSWYgd2UgcmVtb3ZlZAogdGhlIGxhc3QgZWxlbWVudDoKICAgWyA0LCAzLCAyLCA3IF0KIHRoaXMgcGF0aCByZWZlcnMgdG8gdGhlIHdob2xlIGZpZWxkIGRlY2xhcmF0aW9uIChmcm9tIHRoZSBiZWdpbm5pbmcKIG9mIHRoZSBsYWJlbCB0byB0aGUgdGVybWluYXRpbmcgc2VtaWNvbG9uKS4KCg8KBwQVAwACAAQSBN0IBAwKDwoHBBUDAAIABRIE3QgNEgoPCgcEFQMAAgABEgTdCBMXCg8KBwQVAwACAAMSBN0IGhsKDwoHBBUDAAIACBIE3QgcKwoQCggEFQMAAgAIAhIE3QgdKgrSAgoGBBUDAAIBEgTkCAQsGsECIEFsd2F5cyBoYXMgZXhhY3RseSB0aHJlZSBvciBmb3VyIGVsZW1lbnRzOiBzdGFydCBsaW5lLCBzdGFydCBjb2x1bW4sCiBlbmQgbGluZSAob3B0aW9uYWwsIG90aGVyd2lzZSBhc3N1bWVkIHNhbWUgYXMgc3RhcnQgbGluZSksIGVuZCBjb2x1bW4uCiBUaGVzZSBhcmUgcGFja2VkIGludG8gYSBzaW5nbGUgZmllbGQgZm9yIGVmZmljaWVuY3kuICBOb3RlIHRoYXQgbGluZQogYW5kIGNvbHVtbiBudW1iZXJzIGFyZSB6ZXJvLWJhc2VkIC0tIHR5cGljYWxseSB5b3Ugd2lsbCB3YW50IHRvIGFkZAogMSB0byBlYWNoIGJlZm9yZSBkaXNwbGF5aW5nIHRvIGEgdXNlci4KCg8KBwQVAwACAQQSBOQIBAwKDwoHBBUDAAIBBRIE5AgNEgoPCgcEFQMAAgEBEgTkCBMXCg8KBwQVAwACAQMSBOQIGhsKDwoHBBUDAAIBCBIE5AgcKwoQCggEFQMAAgEIAhIE5AgdKgqlDAoGBBUDAAICEgSVCQQpGpQMIElmIHRoaXMgU291cmNlQ29kZUluZm8gcmVwcmVzZW50cyBhIGNvbXBsZXRlIGRlY2xhcmF0aW9uLCB0aGVzZSBhcmUgYW55CiBjb21tZW50cyBhcHBlYXJpbmcgYmVmb3JlIGFuZCBhZnRlciB0aGUgZGVjbGFyYXRpb24gd2hpY2ggYXBwZWFyIHRvIGJlCiBhdHRhY2hlZCB0byB0aGUgZGVjbGFyYXRpb24uCgogQSBzZXJpZXMgb2YgbGluZSBjb21tZW50cyBhcHBlYXJpbmcgb24gY29uc2VjdXRpdmUgbGluZXMsIHdpdGggbm8gb3RoZXIKIHRva2VucyBhcHBlYXJpbmcgb24gdGhvc2UgbGluZXMsIHdpbGwgYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSBjb21tZW50LgoKIGxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMgd2lsbCBrZWVwIHBhcmFncmFwaHMgb2YgY29tbWVudHMgdGhhdCBhcHBlYXIKIGJlZm9yZSAoYnV0IG5vdCBjb25uZWN0ZWQgdG8pIHRoZSBjdXJyZW50IGVsZW1lbnQuIEVhY2ggcGFyYWdyYXBoLAogc2VwYXJhdGVkIGJ5IGVtcHR5IGxpbmVzLCB3aWxsIGJlIG9uZSBjb21tZW50IGVsZW1lbnQgaW4gdGhlIHJlcGVhdGVkCiBmaWVsZC4KCiBPbmx5IHRoZSBjb21tZW50IGNvbnRlbnQgaXMgcHJvdmlkZWQ7IGNvbW1lbnQgbWFya2VycyAoZS5nLiAvLykgYXJlCiBzdHJpcHBlZCBvdXQuICBGb3IgYmxvY2sgY29tbWVudHMsIGxlYWRpbmcgd2hpdGVzcGFjZSBhbmQgYW4gYXN0ZXJpc2sKIHdpbGwgYmUgc3RyaXBwZWQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggbGluZSBvdGhlciB0aGFuIHRoZSBmaXJzdC4KIE5ld2xpbmVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LgoKIEV4YW1wbGVzOgoKICAgb3B0aW9uYWwgaW50MzIgZm9vID0gMTsgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gZm9vLgogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhci4KICAgb3B0aW9uYWwgaW50MzIgYmFyID0gMjsKCiAgIG9wdGlvbmFs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vQkWHgoPCgcEFgMAAgQDEgS9CSEiCvtxCjJjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2N1c3RvbV9vcHRpb25zX3Byb3RvMy5wcm90bxIRcHJvdG9idWZfdW5pdHRlc3QaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvIusBChxUZXN0TWVzc2FnZVdpdGhDdXN0b21PcHRpb25zEiYKBmZpZWxkMRgBIAEoCUIOCAHB4MMdLeF1CgIAAABSBmZpZWxkMRIhCgtvbmVvZl9maWVsZBgCIAEoBUgAUgpvbmVvZkZpZWxkIlMKBkFuRW51bRIWChJBTkVOVU1fVU5TUEVDSUZJRUQQABIPCgtBTkVOVU1fVkFMMRABEhYKC0FORU5VTV9WQUwyEAIaBbCG+gV7GgjF9skd6/z//zoQCADg6cIdyP//////////AUIZCgdBbk9uZW9mEg74rMMdnf//////////ASIYChZDdXN0b21PcHRpb25Gb29SZXF1ZXN0IhkKF0N1c3RvbU9wdGlvbkZvb1Jlc3BvbnNlIh4KHEN1c3RvbU9wdGlvbkZvb0NsaWVudE1lc3NhZ2UiHgocQ3VzdG9tT3B0aW9uRm9vU2VydmVyTWVzc2FnZSKPAQoaRHVtbXlNZXNzYWdlQ29udGFpbmluZ0VudW0icQoMVGVzdEVudW1UeXBlEiAKHFRFU1RfT1BUSU9OX0VOVU1fVU5TUEVDSUZJRUQQABIaChZURVNUX09QVElPTl9FTlVNX1RZUEUxEBYSIwoWVEVTVF9PUFRJT05fRU5VTV9UWVBFMhDp//////////8BIiEKH0R1bW15TWVzc2FnZUludmFsaWRBc09wdGlvblR5cGUiigEKHEN1c3RvbU9wdGlvbk1pbkludGVnZXJWYWx1ZXM6apnWqB0AAAAAAAAAgK2Nrx0AAACAke6vHQAAAAAAAAAAnfWvHQAAAAD4l7Ad////////////AYDEsB3/////D/j1sB0AgJOyHQCwvLIdgICAgICAgICAAejGsh2AgICA+P////8B0N6yHQAikQEKHEN1c3RvbU9wdGlvbk1heEludGVnZXJWYWx1ZXM6cZnWqB3/////////f62Nrx3///9/ke6vHf//////////nfWvHf/////4l7Ad/v//////////AYDEsB3+////D/j1sB3///////////8BgJOyHf////8PsLyyHf//////////f+jGsh3/////B9Desh0BIm4KF0N1c3RvbU9wdGlvbk90aGVyVmFsdWVzOlOI2aId6f//////////AbLZoh0LSGVsbG8AV29ybGSq3KIdDkhlbGxvLCAiV29ybGQi6dyiHftZjELKwPM/9d+jHeeHRUHoxrIdnP//////////ASI0ChxTZXR0aW5nUmVhbHNGcm9tUG9zaXRpdmVJbnRzOhTp3KIdAAAAAABAY0D136MdAABAQSI0ChxTZXR0aW5nUmVhbHNGcm9tTmVnYXRpdmVJbnRzOhTp3KIdAAAAAABAY8D136MdAABAwSJiChJDb21wbGV4T3B0aW9uVHlwZTESEAoDZm9vGAEgASgFUgNmb28SEgoEZm9vMhgCIAEoBVIEZm9vMhISCgRmb28zGAMgASgFUgRmb28zEhIKBGZvbzQYBCADKAVSBGZvbzQirQMKEkNvbXBsZXhPcHRpb25UeXBlMhI3CgNiYXIYASABKAsyJS5wcm90b2J1Zl91bml0dGVzdC5Db21wbGV4T3B0aW9uVHlwZTFSA2JhchIQCgNiYXoYAiABKAVSA2JhehJMCgRmcmVkGAMgASgLMjgucHJvdG9idWZfdW5pdHRlc3QuQ29tcGxleE9wdGlvblR5cGUyLkNvbXBsZXhPcHRpb25UeXBlNFIEZnJlZBJQCgZiYXJuZXkYBCADKAsyOC5wcm90b2J1Zl91bml0dGVzdC5Db21wbGV4T3B0aW9uVHlwZTIuQ29tcGxleE9wdGlvblR5cGU0UgZiYXJuZXkaqwEKEkNvbXBsZXhPcHRpb25UeXBlNBIUCgV3YWxkbxgBIAEoBVIFd2FsZG8yfwoMY29tcGxleF9vcHQ0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGIr10QMgASgLMjgucHJvdG9idWZfdW5pdHRlc3QuQ29tcGxleE9wdGlvblR5cGUyLkNvbXBsZXhPcHRpb25UeXBlNFILY29tcGxleE9wdDQiJgoSQ29tcGxleE9wdGlvblR5cGUzEhAKA3F1eBgBIAEoBVIDcXV4Ik4KFVZhcmlvdXNDb21wbGV4T3B0aW9uczo10qiPHQMIsw/63pAdAggJqv2QHRYKAwjnBRDbBxoDCMECIgIIZSIDCNQBouKVHQYIKiICY1giVwoJQWdncmVnYXRlEgwKAWkYASABKAVSAWkSDAoBcxgCIAEoCVIBcxIuCgNzdWIYAyABKAsyHC5wcm90b2J1Zl91bml0dGVzdC5BZ2dyZWdhdGVSA3N1YiJkChBBZ2dyZWdhdGVNZXNzYWdlEjQKCWZpZWxkbmFtZRgBIAEoBUIW8qGHOxESD0ZpZWxkQW5ub3RhdGlvblIJZmllbGRuYW1lOhrC0YY7FQhlEhFNZXNzYWdlQW5ub3RhdGlvbiKkAQoQTmVzdGVkT3B0aW9uVHlwZRpICg1OZXN0ZWRNZXNzYWdlEi8KDG5lc3RlZF9maWVsZBgBIAEoBUIMweDDHeoDAAAAAAAAUgtuZXN0ZWRGaWVsZDoG4OnCHekHIkYKCk5lc3RlZEVudW0SDwoLVU5TUEVDSUZJRUQQABIdChFORVNURURfRU5VTV9WQUxVRRABGgawhvoF7AcaCMX2yR3rAwAAKlIKCk1ldGhvZE9wdDESGgoWTUVUSE9ET1BUMV9VTlNQRUNJRklFRBAAEhMKD01FVEhPRE9QVDFfVkFMMRABEhMKD01FVEhPRE9QVDFfVkFMMhACKl4KDUFnZ3JlZ2F0ZUVudW0SDwoLVU5TUEVDSUZJRUQQABIlCgVWQUxVRRABGhrK/Ik7FRITRW51bVZhbHVlQW5ub3RhdGlvbhoVkpWIOxASDkVudW1Bbm5vdGF0aW9uMo4BChxUZXN0U2VydmljZVdpdGhDdXN0b21PcHRpb25zEmMKA0ZvbxIpLnByb3RvYnVmX3VuaXR0ZXN0LkN1c3RvbU9wdGlvbkZvb1JlcXVlc3QaKi5wcm90b2J1Zl91bml0dGVzdC5DdXN0b21PcHRpb25Gb29SZXNwb25zZSIF4PqMHgIaCZCyix7T24DLSTKZAQoQQWdncmVnYXRlU2VydmljZRJrCgZNZXRob2QSIy5wcm90b2J1Zl91bml0dGVzdC5BZ2dyZWdhdGVNZXNzYWdlGiMucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlTWVzc2FnZSIXysiWOxISEE1ldGhvZEFubm90YXRpb24aGMr7jjsTEhFTZXJ2aWNlQW5ub3RhdGlvbjo8CglmaWxlX29wdDESHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYjp3YAyABKARSCGZpbGVPcHQxOkUKDG1lc3NhZ2Vfb3B0MRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxicrdgDIAEoBVILbWVzc2FnZU9wdDE6PwoKZmllbGRfb3B0MRIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYiLzYAyABKAZSCWZpZWxkT3B0MTo/CgpvbmVvZl9vcHQxEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxjPtdgDIAEoBVIJb25lb2ZPcHQxOjwKCWVudW1fb3B0MRIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9ucxjontkDIAEoD1IIZW51bU9wdDE6SwoPZW51bV92YWx1ZV9vcHQxEiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnMY5qBfIAEoBVINZW51bVZhbHVlT3B0MTpFCgxzZXJ2aWNlX29wdDESHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYorbhAyABKBJSC3NlcnZpY2VPcHQxOmEKC21ldGhvZF9vcHQxEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYrM/hAyABKA4yHS5wcm90b2J1Zl91bml0dGVzdC5NZXRob2RPcHQxUgptZXRob2RPcHQxOj0KCGJvb2xfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGOqr1gMgASgIUgdib29sT3B0Oj8KCWludDMyX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjtqNYDIAEoBVIIaW50MzJPcHQ6PwoJaW50NjRfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGMan1gMgASgDUghpbnQ2NE9wdDpBCgp1aW50MzJfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGLCi1gMgASgNUgl1aW50MzJPcHQ6QQoKdWludDY0X29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjfjtYDIAEoBFIJdWludDY0T3B0OkEKCnNpbnQzMl9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYwIjWAyABKBFSCXNpbnQzMk9wdDpBCgpzaW50NjRfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGP+C1gMgASgSUglzaW50NjRPcHQ6QwoLZml4ZWQzMl9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY0/7VAyABKAdSCmZpeGVkMzJPcHQ6QwoLZml4ZWQ2NF9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY4v3VAyABKAZSCmZpeGVkNjRPcHQ6RQoMc2ZpeGVkMzJfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGNXx1QMgASgPUgtzZml4ZWQzMk9wdDpFCgxzZml4ZWQ2NF9vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY44rVAyABKBBSC3NmaXhlZDY0T3B0Oj8KCWZsb2F0X29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxj+u9QDIAEoAlIIZmxvYXRPcHQ6QQoKZG91YmxlX29wdBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjNq9QDIAEoAVIJZG91YmxlT3B0OkEKCnN0cmluZ19vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYxavUAyABKAlSCXN0cmluZ09wdDo/CglieXRlc19vcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYlqvUAyABKAxSCGJ5dGVzT3B0OnkKCGVudW1fb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJGr1AMgASgOMjoucHJvdG9idWZfdW5pdHRlc3QuRHVtbXlNZXNzYWdlQ29udGFpbmluZ0VudW0uVGVzdEVudW1UeXBlUgdlbnVtT3B0OoABChBtZXNzYWdlX3R5cGVfb3B0Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGK/y0wMgASgLMjIucHJvdG9idWZfdW5pdHRlc3QuRHVtbXlNZXNzYWdlSW52YWxpZEFzT3B0aW9uVHlwZVIObWVzc2FnZVR5cGVPcHQ6bAoMY29tcGxleF9vcHQxEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGKTc0gMgASgLMiUucHJvdG9idWZfdW5pdHRlc3QuQ29tcGxleE9wdGlvblR5cGUxUgtjb21wbGV4T3B0MTpsCgxjb21wbGV4X29wdDISHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY1Y/SAyABKAsyJS5wcm90b2J1Zl91bml0dGVzdC5Db21wbGV4T3B0aW9uVHlwZTJSC2NvbXBsZXhPcHQyOmwKDGNvbXBsZXhfb3B0MxIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjvi9IDIAEoCzIlLnByb3RvYnVmX3VuaXR0ZXN0LkNvbXBsZXhPcHRpb25UeXBlM1ILY29tcGxleE9wdDM6VwoHZmlsZW9wdBIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxjP3bAHIAEoCzIcLnByb3RvYnVmX3VuaXR0ZXN0LkFnZ3JlZ2F0ZVIHZmlsZW9wdDpYCgZtc2dvcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYmOqwByABKAsyHC5wcm90b2J1Zl91bml0dGVzdC5BZ2dyZWdhdGVSBm1zZ29wdDpaCghmaWVsZG9wdBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYnvSwByABKAsyHC5wcm90b2J1Zl91bml0dGVzdC5BZ2dyZWdhdGVSCGZpZWxkb3B0OlcKB2VudW1vcHQSHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnMY0oKxByABKAsyHC5wcm90b2J1Zl91bml0dGVzdC5BZ2dyZWdhdGVSB2VudW1vcHQ6YgoKZW51bXZhbG9wdBIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zGMmfsQcgASgLMhwucHJvdG9idWZfdW5pdHRlc3QuQWdncmVnYXRlUgplbnVtdmFsb3B0OmAKCnNlcnZpY2VvcHQSHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYue+xByABKAsyHC5wcm90b2J1Zl91bml0dGVzdC5BZ2dyZWdhdGVSCnNlcnZpY2VvcHQ6XQoJbWV0aG9kb3B0Eh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYiemyByABKAsyHC5wcm90b2J1Zl91bml0dGVzdC5BZ2dyZWdhdGVSCW1ldGhvZG9wdEJVqgIaVW5pdFRlc3QuSXNzdWVzLlRlc3RQcm90b3Pw6MEd6q3A5ST67IU7KghkEg5GaWxlQW5ub3RhdGlvbhoWEhROZXN0ZWRGaWxlQW5ub3RhdGlvbkrKRgoHEgUUANACAQq+BgoBDBIDFAASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCjLTASBBdXRob3I6IGJlbmp5QGdvb2dsZS5jb20gKEJlbmp5IFdlaW5iZXJnZXIpCiAgQmFzZWQgb24gb3JpZ2luYWwgUHJvdG9jb2wgQnVmZmVycyBkZXNpZ24gYnkKICBTYW5qYXkgR2hlbWF3YXQsIEplZmYgRGVhbiwgYW5kIG90aGVycy4KCiBBIHByb3RvIGZpbGUgdXNlZCB0byB0ZXN0IHRoZSAiY3VzdG9tIG9wdGlvbnMiIGZlYXR1cmUgb2YgZ29vZ2xlLnByb3RvYnVmLgoy0QIgVGhpcyBmaWxlIGlzIGJhc2VkIG9uIHVuaXR0ZXN0X2N1c3RvbV9vcHRpb25zLnByb3RvIGluCiBzcmMvZ29vZ2xlL3Byb3RvYnVmLCBidXQgaXMgbW9kaWZpZWQgZm9yIHByb3RvMy4gSXQgY291bGQKIHBvdGVudGlhbGx5IGJlIG1vdmVkIGludG8gc3JjL2dvb2dsZS9wcm90b2J1ZiwgYnV0IGN1cnJlbnRseSBDIwogaXMgdGhlIG9ubHkgbGFuZ3VhZ2UgdGhhdCByZWFsbHkgbmVlZHMgaXQsIGFzIHdlIGRvbid0IHN1cHBvcnQKIHByb3RvMiBzeW50YXguIEl0J3MgY3V0IGRvd24gc2lnbmlmaWNhbnRseSBhcyBwcm90bzMgb25seSBzdXBwb3J0cwogZXh0ZW5zaW9ucyBmb3Igb3B0aW9ucy4KCggKAQgSAxcAIAo1CgUIjp3YAxIDFwAgGicgQSBjdXN0b20gZmlsZSBvcHRpb24gKGRlZmluZWQgYmVsb3cpLgoKCQoCAwASAxkAKgqgAQoBAhIDHQAaGpUBIFdlIGRvbid0IHB1dCB0aGlzIGluIGEgcGFja2FnZSB3aXRoaW4gcHJvdG8yIGJlY2F1c2Ugd2UgbmVlZCB0byBtYWtlIHN1cmUKIHRoYXQgdGhlIGdlbmVyYXRlZCBjb2RlIGRvZXNuJ3QgZGVwZW5kIG9uIGJlaW5nIGluIHRoZSBwcm90bzIgbmFtZXNwYWNlLgoKCAoBCBIDHgA3CgkKAgglEgMeADcKPgoBBxIEIgAkATIzIFNvbWUgc2ltcGxlIHRlc3QgY3VzdG9tIG9wdGlvbnMgb2YgdmFyaW91cyB0eXBlcy4KCgkKAgcAEgMjAh0KCgoDBwACEgMiByIKCgoDBwAFEgMjAggKCgoDBwABEgMjCRIKCgoDBwADEgMjFRwKCQoBBxIEJgAoAQoJCgIHARIDJwIfCgoKAwcBAhIDJgclCgoKAwcBBRIDJwIHCgoKAwcBARIDJwgUCgoKAwcBAxIDJxceCgkKAQcSBCoALAEKCQoCBwISAysCHwoKCgMHAgISAyoHIwoKCgMHAgUSAysCCQoKCgMHAgESAysKFAoKCgMHAgMSAysXHgoJCgEHEgQuADABCgkKAgcDEgMvAh0KCgoDBwMCEgMuByMKCgoDBwMFEgMvAgcKCgoDBwMBEgMvCBIKCgoDBwMDEgMvFRwKCQoBBxIEMgA0AQoJCgIHBBIDMwIfCgoKAwcEAhIDMgciCgoKAwcEBRIDMwIKCgoKAwcEARIDMwsUCgoKAwcEAxIDMxceCgkKAQcSBDYAOAEKCQoCBwUSAzcCIgoKCgMHBQISAzYHJwoKCgMHBQUSAzcCBwoKCgMHBQESAzcIFwoKCgMHBQMSAzcaIQoJCgEHEgQ6ADwBCgkKAgcGEgM7AiAKCgoDBwYCEgM6ByUKCgoDBwYFEgM7AggKCgoDBwYBEgM7CRUKCgoDBwYDEgM7GB8KCgoCBQASBD4AQgEKCgoDBQABEgM+BQ8KCwoEBQACABIDPwIdCgwKBQUAAgABEgM/AhgKDAoFBQACAAISAz8bHAoLCgQFAAIBEgNAAhYKDAoFBQACAQESA0ACEQoMCgUFAAIBAhIDQBQVCgsKBAUAAgISA0ECFgoMCgUFAAICARIDQQIRCgwKBQUAAgICEgNBFBUKCQoBBxIERABGAQoJCgIHBxIDRQIjCgoKAwcHAhIDRAckCgoKAwcHBhIDRQIMCgoKAwcHARIDRQ0YCgoKAwcHAxIDRRsiCpABCgIEABIESgBdARqDASBBIHRlc3QgbWVzc2FnZSB3aXRoIGN1c3RvbSBvcHRpb25zIGF0IGFsbCBwb3NzaWJsZSBsb2NhdGlvbnMgKGFuZCBhbHNvIHNvbWUKIHJlZ3VsYXIgb3B0aW9ucywgdG8gbWFrZSBzdXJlIHRoZXkgaW50ZXJhY3QgbmljZWx5KS4KCgoKAwQAARIDSggkCgoKAwQABxIDSwIpCgsKBAQABwESA0sCKQoKCgMEAAcSA0wCHgoOCgcEAAecrdgDEgNMAh4KCwoEBAACABIDTgI+CgwKBQQAAgAFEgNOAggKDAoFBAACAAESA04JDwoMCgUEAAIAAxIDThITCgwKBQQAAgAIEgNOFD0KDQoGBAACAAgBEgNOFSEKEAoJBAACAAiIvNgDEgNOIzwKDAoEBAAIABIEUAJUAwoMCgUEAAgAARIDUAgPCgwKBQQACAACEgNRBB4KEAoJBAAIAALPtdgDEgNRBB4KCwoEBAACARIDUwQaCgwKBQQAAgEFEgNTBAkKDAoFBAACAQESA1MKFQoMCgUEAAIBAxIDUxgZCgwKBAQABAASBFYCXAMKDAoFBAAEAAESA1YHDQoMCgUEAAQAAxIDVwQeChAKCQQABAAD6J7ZAxIDVwQeCg0KBgQABAACABIDWQQbCg4KBwQABAACAAESA1kEFgoOCgcEAAQAAgACEgNZGRoKDQoGBAAEAAIBEgNaBBQKDgoHBAAEAAIBARIDWgQPCg4KBwQABAACAQISA1oSEwoNCgYEAAQAAgISA1sELgoOCgcEAAQAAgIBEgNbBA8KDgoHBAAEAAICAhIDWxITCg4KBwQABAACAgMSA1sULQoRCgoEAAQAAgID5qBfEgNbFSwKkwEKAgQBEgNhACEahwEgQSB0ZXN0IFJQQyBzZXJ2aWNlIHdpdGggY3VzdG9tIG9wdGlvbnMgYXQgYWxsIHBvc3NpYmxlIGxvY2F0aW9ucyAoYW5kIGFsc28KIHNvbWUgcmVndWxhciBvcHRpb25zLCB0byBtYWtlIHN1cmUgdGhleSBpbnRlcmFjdCBuaWNlbHkpLgoKCgoDBAEBEgNhCB4KCQoCBAISA2MAIgoKCgMEAgESA2MIHwoJCgIEAxIDZQAnCgoKAwQDARIDZQgkCgkKAgQEEgNnACcKCgoDBAQBEgNnCCQKCgoCBgASBGkAbwEKCgoDBgABEgNpCCQKCgoDBgADEgNqAiYKDgoHBgADorbhAxIDagImCgwKBAYAAgASBGwCbgMKDAoFBgACAAESA2wGCQoMCgUGAAIAAhIDbAogCgwKBQYAAgADEgNsK0IKDAoFBgACAAQSA20EKwoQCgkGAAIABKzP4QMSA20EKwpZCgIEBRIEcwB5ATJNIE9wdGlvbnMgb2YgZXZlcnkgcG9zc2libGUgZmllbGQgdHlwZSwgc28gd2UgY2FuIHRlc3QgdGhlbSBhbGwgZXhoYXVzdGl2ZWx5LgoKCgoDBAUBEgNzCCIKDAoEBAUEABIEdAJ4AwoMCgUEBQQAARIDdAcTCg0KBgQFBAACABIDdQQlCg4KBwQFBAACAAESA3UEIAoOCgcEBQQAAgACEgN1IyQKDQoGBAUEAAIBEgN2BCAKDgoHBAUEAAIBARIDdgQaCg4KBwQFBAACAQISA3YdHwoNCgYEBQQAAgISA3cEIQoOCgcEBQQAAgIBEgN3BBoKDgoHBAUEAAICAhIDdx0gCgkKAgQGEgN7ACoKCgoDBAYBEgN7CCcKCgoBBxIFfQCPAQEKCQoCBwgSA34CGgoKCgMHCAISA30HJQoKCgMHCAUSA34CBgoKCgMHCAESA34HDwoKCgMHCAMSA34SGQoJCgIHCRIDfwIcCgoKAwcJAhIDfQclCgoKAwcJBRIDfwIHCgoKAwcJARIDfwgRCgoKAwcJAxIDfxQbCgoKAgcKEgSAAQIcCgoKAwcKAhIDfQclCgsKAwcKBRIEgAECBwoLCgMHCgESBIABCBEKCwoDBwoDEgSAARQbCgoKAgcLEgSBAQIeCgoKAwcLAhIDfQclCgsKAwcLBRIEgQECCAoLCgMHCwESBIEBCRMKCwoDBwsDEgSBARYdCgoKAgcMEgSCAQIeCgoKAwcMAhIDfQclCgsKAwcMBRIEggECCAoLCgMHDAESBIIBCRMKCwoDBwwDEgSCARYdCgoKAgcNEgSDAQIeCgoKAwcNAhIDfQclCgsKAwcNBRIEgwECCAoLCgMHDQESBIMBCRMKCwoDBw0DEgSDARYdCgoKAgcOEgSEAQIeCgoKAwcOAhIDfQclCgsKAwcOBRIEhAECCAoLCgMHDgESBIQBCRMKCwoDBw4DEgSEARYdCgoKAgcPEgSFAQIgCgoKAwcPAhIDfQclCgsKAwcPBRIEhQECCQoLCgMHDwESBIUBChUKCwoDBw8DEgSFARgfCgoKAgcQEgSGAQIgCgoKAwcQAhIDfQclCgsKAwcQBRIEhgECCQoLCgMHEAESBIYBChUKCwoDBxADEgSGARgfCgoKAgcREgSHAQIiCgoKAwcRAhIDfQclCgsKAwcRBRIEhwECCgoLCgMHEQESBIcBCxcKCwoDBxEDEgSHARohCgoKAgcSEgSIAQIiCgoKAwcSAhIDfQclCgsKAwcSBRIEiAECCgoLCgMHEgESBIgBCxcKCwoDBxIDEgSIARohCgoKAgcTEgSJAQIcCgoKAwcTAhIDfQclCgsKAwcTBRIEiQECBwoLCgMHEwESBIkBCBEKCwoDBxMDEgSJARQbCgoKAgcUEgSKAQIeCgoKAwcUAhIDfQclCgsKAwcUBRIEigECCAoLCgMHFAESBIoBCRMKCwoDBxQDEgSKARYdCgoKAgcVEgSLAQIeCgoKAwcVAhIDfQclCgsKAwcVBRIEiwECCAoLCgMHFQESBIsBCRMKCwoDBxUDEgSLARYdCgoKAgcWEgSMAQIcCgoKAwcWAhIDfQclCgsKAwcWBRIEjAECBwoLCgMHFgESBIwBCBEKCwoDBxYDEgSMARQbCgoKAgcXEgSNAQI9CgoKAwcXAhIDfQclCgsKAwcXBhIEjQECKQoLCgMHFwESBI0BKjIKCwoDBxcDEgSNATU8CgoKAgcYEgSOAQI9CgoKAwcYAhIDfQclCgsKAwcYBhIEjgECIQoLCgMHGAESBI4BIjIKCwoDBxgDEgSOATU8CgwKAgQHEgaRAQCdAQEKCwoDBAcBEgSRAQgkCgsKAwQHBxIEkgECHAoPCgcEBwfqq9YDEgSSAQIcCgsKAwQHBxIEkwECIwoPCgcEBwftqNYDEgSTAQIjCgsKAwQHBxIElAECKwoPCgcEBwfGp9YDEgSUAQIrCgsKAwQHBxIElQECGgoPCgcEBwewotYDEgSVAQIaCgsKAwQHBxIElgECGgoPCgcEBwffjtYDEgSWAQIaCgsKAwQHBxIElwECJAoPCgcEBwfAiNYDEgSXAQIkCgsKAwQHBxIEmAECLAoPCgcEBwf/gtYDEgSYAQIsCgsKAwQHBxIEmQECGwoPCgcEBwfT/tUDEgSZAQIbCgsKAwQHBxIEmgECGwoPCgcEBwfi/dUDEgSaAQIbCgsKAwQHBxIEmwECJgoPCgcEBwfV8dUDEgSbAQImCgsKAwQHBxIEnAECLgoPCgcEBwfjitUDEgScAQIuCgwKAgQIEgafAQCrAQEKCwoDBAgBEgSfAQgkCgsKAwQIBxIEoAECGwoPCgcECAfqq9YDEgSgAQIbCgsKAwQIBxIEoQECIgoPCgcECAftqNYDEgShAQIiCgsKAwQIBxIEogECKgoPCgcECAfGp9YDEgSiAQIqCgsKAwQIBxIEowECIwoPCgcECAewotYDEgSjAQIjCgsKAwQIBxIEpAECKwoPCgcECAffjtYDEgSkAQIrCgsKAwQIBxIEpQECIwoPCgcECAfAiNYDEgSlAQIjCgsKAwQIBxIEpgECKwoPCgcECAf/gtYDEgSmAQIrCgsKAwQIBxIEpwECJAoPCgcECAfT/tUDEgSnAQIkCgsKAwQIBxIEqAECLAoPCgcECAfi/dUDEgSoAQIsCgsKAwQIBxIEqQECJQoPCgcECAfV8dUDEgSpAQIlCgsKAwQIBxIEqgECLQoPCgcECAfjitUDEgSqAQItCgwKAgQJEgatAQC0AQEKCwoDBAkBEgStAQgfCgsKAwQJBxIErgECHAoqCgcECQftqNYDEgSuAQIcIhkgVG8gdGVzdCBzaWduLWV4dGVuc2lvbi4KCgsKAwQJBxIErwECIgoPCgcECQf+u9QDEgSvAQIiCgsKAwQJBxIEsAECLQoPCgcECQfNq9QDEgSwAQItCgsKAwQJBxIEsQECKwoPCgcECQfFq9QDEgSxAQIrCgsKAwQJBxIEsgECJgoPCgcECQeWq9QDEgSyAQImCgsKAwQJBxIEswECLQoPCgcECQeRq9QDEgSzAQItCgwKAgQKEga2AQC5AQEKCwoDBAoBEgS2AQgkCgsKAwQKBxIEtwECGgoPCgcECgf+u9QDEgS3AQIaCgsKAwQKBxIEuAECHAoPCgcECgfNq9QDEgS4AQIcCgwKAgQLEga7AQC+AQEKCwoDBAsBEgS7AQgkCgsKAwQLBxIEvAECGwoPCgcECwf+u9QDEgS8AQIbCgsKAwQLBxIEvQECHQoPCgcECwfNq9QDEgS9AQIdCmQKAgQMEgbDAQDIAQEyViBPcHRpb25zIG9mIGNvbXBsZXggbWVzc2FnZSB0eXBlcywgdGhlbXNlbHZlcyBjb21iaW5lZCBhbmQgZXh0ZW5kZWQgaW4KIHZhcmlvdXMgd2F5cy4KCgsKAwQMARIEwwEIGgoMCgQEDAIAEgTEAQIQCg0KBQQMAgAFEgTEAQIHCg0KBQQMAgABEgTEAQgLCg0KBQQMAgADEgTEAQ4PCgwKBAQMAgESBMUBAhEKDQoFBAwCAQUSBMUBAgcKDQoFBAwCAQESBMUBCAwKDQoFBAwCAQMSBMUBDxAKDAoEBAwCAhIExgECEQoNCgUEDAICBRIExgECBwoNCgUEDAICARIExgEIDAoNCgUEDAICAxIExgEPEAoMCgQEDAIDEgTHAQIaCg0KBQQMAgMEEgTHAQIKCg0KBQQMAgMFEgTHAQsQCg0KBQQMAgMBEgTHAREVCg0KBQQMAgMDEgTHARgZCgwKAgQNEgbKAQDYAQEKCwoDBA0BEgTKAQgaCgwKBAQNAgASBMsBAh0KDQoFBA0CAAYSBMsBAhQKDQoFBA0CAAESBMsBFRgKDQoFBA0CAAMSBMsBGxwKDAoEBA0CARIEzAECEAoNCgUEDQIBBRIEzAECBwoNCgUEDQIBARIEzAEICwoNCgUEDQIBAxIEzAEODwoOCgQEDQMAEgbOAQLUAQMKDQoFBA0DAAESBM4BChwKDgoGBA0DAAIAEgTPAQQUCg8KBwQNAwACAAUSBM8BBAkKDwoHBA0DAAIAARIEzwEKDwoPCgcEDQMAAgADEgTPARITCg8KBQQNAwAGEgbRAQTTAQUKDgoGBA0DAAYAEgTSAQYwCg8KBwQNAwAGAAISBNEBCykKDwoHBA0DAAYABhIE0gEGGAoPCgcEDQMABgABEgTSARklCg8KBwQNAwAGAAMSBNIBKC8KDAoEBA0CAhIE1gECHgoNCgUEDQICBhIE1gECFAoNCgUEDQICARIE1gEVGQoNCgUEDQICAxIE1gEcHQoMCgQEDQIDEgTXAQIpCg0KBQQNAgMEEgTXAQIKCg0KBQQNAgMGEgTXAQsdCg0KBQQNAgMBEgTXAR4kCg0KBQQNAgMDEgTXAScoCgwKAgQOEgbaAQDcAQEKCwoDBA4BEgTaAQgaCgwKBAQOAgASBNsBAhAKDQoFBA4CAAUSBNsBAgcKDQoFBA4CAAESBNsBCAsKDQoFBA4CAAMSBNsBDg8KCwoBBxIG3gEA4gEBCgoKAgcZEgTfAQI+CgsKAwcZAhIE3gEHJQoLCgMHGQYSBN8BAiYKCwoDBxkBEgTfASczCgsKAwcZAxIE3wE2PQoKCgIHGhIE4AECLAoLCgMHGgISBN4BByUKCwoDBxoGEgTgAQIUCgsKAwcaARIE4AEVIQoLCgMHGgMSBOABJCsKCgoCBxsSBOEBAiwKCwoDBxsCEgTeAQclCgsKAwcbBhIE4QECFAoLCgMHGwESBOEBFSEKCwoDBxsDEgThASQrClUKAgQPEgblAQD0AQEaRyBOb3RlIHRoYXQgd2UgdHJ5IHZhcmlvdXMgZGlmZmVyZW50IHdheXMgb2YgbmFtaW5nIHRoZSBzYW1lIGV4dGVuc2lvbi4KCgsKAwQPARIE5QEIHQoLCgMEDwcSBOYBAjQKEAoIBA8HpNzSAwESBOYBAjQKCwoDBA8HEgTnAQI0ChEKCQQPB6Tc0gMEABIE5wECNAoLCgMEDwcSBOgBAjQKEQoJBA8HpNzSAwQBEgToAQI0CgsKAwQPBxIE6QECIgoQCggEDwfVj9IDAhIE6QECIgoLCgMEDwcSBOoBAiYKEQoJBA8H1Y/SAwEBEgTqAQImCgsKAwQPBxIE6wECSwoQCggEDweK9dEDARIE6wECSwoLCgMEDwcSBOwBAikKEQoJBA8H1Y/SAwMBEgTsAQIpCg0KAwQPBxIG7QEC7wEEChMKCQQPB9WP0gMEABIG7QEC7wEECg0KAwQPBxIG8AEC8gEEChMKCQQPB9WP0gMEARIG8AEC8gEECgsKAwQPBxIE8wECMgoQCggEDwfvi9IDARIE8wECMgrOAQoCBBASBvsBAIECARo1IEEgaGVscGVyIHR5cGUgdXNlZCB0byB0ZXN0IGFnZ3JlZ2F0ZSBvcHRpb24gcGFyc2luZwoyiAEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBEZWZpbml0aW9ucyBmb3IgdGVzdGluZyBhZ2dyZWdhdGUgb3B0aW9uIHBhcnNpbmcuCiBTZWUgZGVzY3JpcHRvcl91bml0dGVzdC5jYy4KCgsKAwQQARIE+wEIEQoMCgQEEAIAEgT8AQIOCg0KBQQQAgAFEgT8AQIHCg0KBQQQAgABEgT8AQgJCg0KBQQQAgADEgT8AQwNCgwKBAQQAgESBP0BAg8KDQoFBBACAQUSBP0BAggKDQoFBBACAQESBP0BCQoKDQoFBBACAQMSBP0BDQ4KHwoEBBACAhIEgAICFBoRIEEgbmVzdGVkIG9iamVjdAoKDQoFBBACAgYSBIACAgsKDQoFBBACAgESBIACDA8KDQoFBBACAgMSBIACEhMKaAoBBxIGhQIAhwIBGlsgQWxsb3cgQWdncmVnYXRlIHRvIGJlIHVzZWQgYXMgYW4gb3B0aW9uIGF0IGFsbCBwb3NzaWJsZSBsb2NhdGlvbnMKIGluIHRoZSAucHJvdG8gZ3JhbW1hci4KCgoKAgccEgSGAgIfCgsKAwccAhIEhQIHIgoLCgMHHAYSBIYCAgsKCwoDBxwBEgSGAgwTCgsKAwccAxIEhgIWHgoLCgEHEgaIAgCKAgEKCgoCBx0SBIkCAh4KCwoDBx0CEgSIAgclCgsKAwcdBhIEiQICCwoLCgMHHQESBIkCDBIKCwoDBx0DEgSJAhUdCgsKAQcSBosCAI0CAQoKCgIHHhIEjAICIAoLCgMHHgISBIsCByMKCwoDBx4GEgSMAgILCgsKAwceARIEjAIMFAoLCgMHHgMSBIwCFx8KCwoBBxIGjgIAkAIBCgoKAgcfEgSPAgIfCgsKAwcfAhIEjgIHIgoLCgMHHwYSBI8CAgsKCwoDBx8BEgSPAgwTCgsKAwcfAxIEjwIWHgoLCgEHEgaRAgCTAgEKCgoCByASBJICAiIKCwoDByACEgSRAgcnCgsKAwcgBhIEkgICCwoLCgMHIAESBJICDBYKCwoDByADEgSSAhkhCgsKAQcSBpQCAJYCAQoKCgIHIRIElQICIgoLCgMHIQISBJQCByUKCwoDByEGEgSVAgILCgsKAwchARIElQIMFgoLCgMHIQMSBJUCGSEKCwoBBxIGlwIAmQIBCgoKAgciEgSYAgIhCgsKAwciAhIElwIHJAoLCgMHIgYSBJgCAgsKCwoDByIBEgSYAgwVCgsKAwciAxIEmAIYIAoLCgEIEgacAgCjAgIKVQoFCM/dsAcSBpwCAKMCAhpEIFRyeSB1c2luZyBBZ2dyZWdhdGVPcHRpb24gYXQgZGlmZmVyZW50IHBvaW50cyBpbiB0aGUgcHJvdG8gZ3JhbW1hcgoKDAoCBBESBqUCAKwCAQoLCgMEEQESBKUCCBgKDQoDBBEHEgamAgKpAgQKEQoHBBEHmOqwBxIGpgICqQIECgwKBAQRAgASBKsCAj4KDQoFBBECAAUSBKsCAgcKDQoFBBECAAESBKsCCBEKDQoFBBECAAMSBKsCFBUKDQoFBBECAAgSBKsCFj0KEQoJBBECAAie9LAHEgSrAhc8CgwKAgYBEgauAgC4AgEKCwoDBgEBEgSuAggYCg0KAwYBAxIGrwICsQIEChEKBwYBA7nvsQcSBq8CArECBAoOCgQGAQIAEgazAgK3AgMKDQoFBgECAAESBLMCBgwKDQoFBgECAAISBLMCDR0KDQoFBgECAAMSBLMCKDgKDwoFBgECAAQSBrQCBLYCBgoTCgkGAQIABInpsgcSBrQCBLYCBgoMCgIFARIGugIAwQIBCgsKAwUBARIEugIFEgoNCgMFAQMSBrsCAr0CBAoRCgcFAQPSgrEHEga7AgK9AgQKDAoEBQECABIEvwICEgoNCgUFAQIAARIEvwICDQoNCgUFAQIAAhIEvwIQEQoMCgQFAQIBEgTAAgI6Cg0KBQUBAgEBEgTAAgIHCg0KBQUBAgECEgTAAgoLCg0KBQUBAgEDEgTAAgw5ChEKCQUBAgEDyZ+xBxIEwAINOAo0CgIEEhIGxAIA0AIBGiYgVGVzdCBjdXN0b20gb3B0aW9ucyBmb3IgbmVzdGVkIHR5cGUuCgoLCgMEEgESBMQCCBgKDgoEBBIDABIGxQICyQIDCg0KBQQSAwABEgTFAgoXCg0KBQQSAwAHEgTGAgQhChEKCQQSAwAHnK3YAxIExgIEIQoOCgYEEgMAAgASBMgCBDEKDwoHBBIDAAIABRIEyAIECQoPCgcEEgMAAgABEgTIAgoWCg8KBwQSAwACAAMSBMgCGRoKDwoHBBIDAAIACBIEyAIbMAoTCgsEEgMAAgAIiLzYAxIEyAIcLwoOCgQEEgQAEgbKAgLPAgMKDQoFBBIEAAESBMoCBxEKDQoFBBIEAAMSBMsCBB4KEQoJBBIEAAPontkDEgTLAgQeCg4KBgQSBAACABIEzQIEFAoPCgcEEgQAAgABEgTNAgQPCg8KBwQSBAACAAISBM0CEhMKDgoGBBIEAAIBEgTOAgQ1Cg8KBwQSBAACAQESBM4CBBUKDwoHBBIEAAIBAhIEzgIYGQoPCgcEEgQAAgEDEgTOAho0ChIKCgQSBAACAQPmoF8SBM4CGzNiBnByb3RvMwrgBAoqY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pbXBvcnRfcHVibGljLnByb3RvEh9wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yIiMKE1B1YmxpY0ltcG9ydE1lc3NhZ2USDAoBZRgBIAEoBVIBZUIkqgIhR29vZ2xlLlByb3RvYnVmLlRlc3RQcm90b3MuUHJvdG8ySsUDCgYSBAkAEQEKvgIKAQwSAwkAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoyKCBBdXRob3I6IGxpdWppc2lAZ29vZ2xlLmNvbSAoUGhlcmwgTGl1KQoKCAoBAhIDCwAoCggKAQgSAw0APgoJCgIIJRIDDQA+CgoKAgQAEgQPABEBCgoKAwQAARIDDwgbCgsKBAQAAgASAxACFwoMCgUEAAIABBIDEAIKCgwKBQQAAgAFEgMQCxAKDAoFBAACAAESAxAREgoMCgUEAAIAAxIDEBUWCsEMCiNjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2ltcG9ydC5wcm90bxIfcHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMhoqY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pbXBvcnRfcHVibGljLnByb3RvIh0KDUltcG9ydE1lc3NhZ2USDAoBZBgBIAEoBVIBZCo8CgpJbXBvcnRFbnVtEg4KCklNUE9SVF9GT08QBxIOCgpJTVBPUlRfQkFSEAgSDgoKSU1QT1JUX0JBWhAJKjEKEEltcG9ydEVudW1Gb3JNYXASCwoHVU5LTk9XThAAEgcKA0ZPTxABEgcKA0JBUhACQilIAfgBAaoCIUdvb2dsZS5Qcm90b2J1Zi5UZXN0UHJvdG9zLlByb3RvMkqPCgoGEgQNACsBCuADCgEMEgMNABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKMskBIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIEEgcHJvdG8gZmlsZSB3aGljaCBpcyBpbXBvcnRlZCBieSB1bml0dGVzdC5wcm90byB0byB0ZXN0IGltcG9ydGluZy4KCvUBCgECEgMTACga6gEgV2UgZG9uJ3QgcHV0IHRoaXMgaW4gYSBwYWNrYWdlIHdpdGhpbiBwcm90bzIgYmVjYXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZQogdGhhdCB0aGUgZ2VuZXJhdGVkIGNvZGUgZG9lc24ndCBkZXBlbmQgb24gYmVpbmcgaW4gdGhlIHByb3RvMiBuYW1lc3BhY2UuCiBJbiB0ZXN0X3V0aWwuaCB3ZSBkbwogInVzaW5nIG5hbWVzcGFjZSB1bml0dGVzdF9pbXBvcnQgPSBwcm90b2J1Zl91bml0dGVzdF9pbXBvcnQiLgoKCAoBCBIDFQAcCgkKAggJEgMVABwKCAoBCBIDFgAfCgkKAggfEgMWAB8KCAoBCBIDFwA+CgkKAgglEgMXAD4KHwoCAwASAxoAOxoUIFRlc3QgcHVibGljIGltcG9ydAoKCQoCCgASAxoHDQoKCgIEABIEHAAeAQoKCgMEAAESAxwIFQoLCgQEAAIAEgMdAhcKDAoFBAACAAQSAx0CCgoMCgUEAAIABRIDHQsQCgwKBQQAAgABEgMdERIKDAoFBAACAAMSAx0VFgoKCgIFABIEIAAkAQoKCgMFAAESAyAFDwoLCgQFAAIAEgMhAhEKDAoFBQACAAESAyECDAoMCgUFAAIAAhIDIQ8QCgsKBAUAAgESAyICEQoMCgUFAAIBARIDIgIMCgwKBQUAAgECEgMiDxAKCwoEBQACAhIDIwIRCgwKBQUAAgIBEgMjAgwKDAoFBQACAgISAyMPEApICgIFARIEJwArARo8IFRvIHVzZSBhbiBlbnVtIGluIGEgbWFwLCBpdCBtdXN0IGhhcyB0aGUgZmlyc3QgdmFsdWUgYXMgMC4KCgoKAwUBARIDJwUVCgsKBAUBAgASAygCDgoMCgUFAQIAARIDKAIJCgwKBQUBAgACEgMoDA0KCwoEBQECARIDKQIKCgwKBQUBAgEBEgMpAgUKDAoFBQECAQISAykICQoLCgQFAQICEgMqAgoKDAoFBQECAgESAyoCBQoMCgUFAQICAhIDKggJUAAKw8cFChxjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0LnByb3RvEhhwcm90b2J1Zl91bml0dGVzdF9wcm90bzIaI2NzaGFycC9wcm90b3MvdW5pdHRlc3RfaW1wb3J0LnByb3RvIpEkCgxUZXN0QWxsVHlwZXMSJQoOb3B0aW9uYWxfaW50MzIYASABKAVSDW9wdGlvbmFsSW50MzISJQoOb3B0aW9uYWxfaW50NjQYAiABKANSDW9wdGlvbmFsSW50NjQSJwoPb3B0aW9uYWxfdWludDMyGAMgASgNUg5vcHRpb25hbFVpbnQzMhInCg9vcHRpb25hbF91aW50NjQYBCABKARSDm9wdGlvbmFsVWludDY0EicKD29wdGlvbmFsX3NpbnQzMhgFIAEoEVIOb3B0aW9uYWxTaW50MzISJwoPb3B0aW9uYWxfc2ludDY0GAYgASgSUg5vcHRpb25hbFNpbnQ2NBIpChBvcHRpb25hbF9maXhlZDMyGAcgASgHUg9vcHRpb25hbEZpeGVkMzISKQoQb3B0aW9uYWxfZml4ZWQ2NBgIIAEoBlIPb3B0aW9uYWxGaXhlZDY0EisKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPUhBvcHRpb25hbFNmaXhlZDMyEisKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQUhBvcHRpb25hbFNmaXhlZDY0EiUKDm9wdGlvbmFsX2Zsb2F0GAsgASgCUg1vcHRpb25hbEZsb2F0EicKD29wdGlvbmFsX2RvdWJsZRgMIAEoAVIOb3B0aW9uYWxEb3VibGUSIwoNb3B0aW9uYWxfYm9vbBgNIAEoCFIMb3B0aW9uYWxCb29sEicKD29wdGlvbmFsX3N0cmluZxgOIAEoCVIOb3B0aW9uYWxTdHJpbmcSJQoOb3B0aW9uYWxfYnl0ZXMYDyABKAxSDW9wdGlvbmFsQnl0ZXMSWgoNb3B0aW9uYWxncm91cBgQIAEoCjI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuT3B0aW9uYWxHcm91cFINb3B0aW9uYWxncm91cBJsChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgSIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlEmIKGG9wdGlvbmFsX2ZvcmVpZ25fbWVzc2FnZRgTIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIWb3B0aW9uYWxGb3JlaWduTWVzc2FnZRJmChdvcHRpb25hbF9pbXBvcnRfbWVzc2FnZRgUIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0TWVzc2FnZVIVb3B0aW9uYWxJbXBvcnRNZXNzYWdlEmMKFG9wdGlvbmFsX25lc3RlZF9lbnVtGBUgASgOMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtUhJvcHRpb25hbE5lc3RlZEVudW0SWQoVb3B0aW9uYWxfZm9yZWlnbl9lbnVtGBYgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhNvcHRpb25hbEZvcmVpZ25FbnVtEl0KFG9wdGlvbmFsX2ltcG9ydF9lbnVtGBcgASgOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtUhJvcHRpb25hbEltcG9ydEVudW0SNgoVb3B0aW9uYWxfc3RyaW5nX3BpZWNlGBggASgJQgIIAlITb3B0aW9uYWxTdHJpbmdQaWVjZRInCg1vcHRpb25hbF9jb3JkGBkgASgJQgIIAVIMb3B0aW9uYWxDb3JkEnkKHm9wdGlvbmFsX3B1YmxpY19pbXBvcnRfbWVzc2FnZRgaIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuUHVibGljSW1wb3J0TWVzc2FnZVIbb3B0aW9uYWxQdWJsaWNJbXBvcnRNZXNzYWdlEmwKFW9wdGlvbmFsX2xhenlfbWVzc2FnZRgbIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUICKAFSE29wdGlvbmFsTGF6eU1lc3NhZ2USJQoOcmVwZWF0ZWRfaW50MzIYHyADKAVSDXJlcGVhdGVkSW50MzISJQoOcmVwZWF0ZWRfaW50NjQYICADKANSDXJlcGVhdGVkSW50NjQSJwoPcmVwZWF0ZWRfdWludDMyGCEgAygNUg5yZXBlYXRlZFVpbnQzMhInCg9yZXBlYXRlZF91aW50NjQYIiADKARSDnJlcGVhdGVkVWludDY0EicKD3JlcGVhdGVkX3NpbnQzMhgjIAMoEVIOcmVwZWF0ZWRTaW50MzISJwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSUg5yZXBlYXRlZFNpbnQ2NBIpChByZXBlYXRlZF9maXhlZDMyGCUgAygHUg9yZXBlYXRlZEZpeGVkMzISKQoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EisKEXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPUhByZXBlYXRlZFNmaXhlZDMyEisKEXJlcGVhdGVkX3NmaXhlZDY0GCggAygQUhByZXBlYXRlZFNmaXhlZDY0EiUKDnJlcGVhdGVkX2Zsb2F0GCkgAygCUg1yZXBlYXRlZEZsb2F0EicKD3JlcGVhdGVkX2RvdWJsZRgqIAMoAVIOcmVwZWF0ZWREb3VibGUSIwoNcmVwZWF0ZWRfYm9vbBgrIAMoCFIMcmVwZWF0ZWRCb29sEicKD3JlcGVhdGVkX3N0cmluZxgsIAMoCVIOcmVwZWF0ZWRTdHJpbmcSJQoOcmVwZWF0ZWRfYnl0ZXMYLSADKAxSDXJlcGVhdGVkQnl0ZXMSWgoNcmVwZWF0ZWRncm91cBguIAMoCjI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuUmVwZWF0ZWRHcm91cFINcmVwZWF0ZWRncm91cBJsChdyZXBlYXRlZF9uZXN0ZWRfbWVzc2FnZRgwIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZVIVcmVwZWF0ZWROZXN0ZWRNZXNzYWdlEmIKGHJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZRgxIAMoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIWcmVwZWF0ZWRGb3JlaWduTWVzc2FnZRJmChdyZXBlYXRlZF9pbXBvcnRfbWVzc2FnZRgyIAMoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0TWVzc2FnZVIVcmVwZWF0ZWRJbXBvcnRNZXNzYWdlEmMKFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtUhJyZXBlYXRlZE5lc3RlZEVudW0SWQoVcmVwZWF0ZWRfZm9yZWlnbl9lbnVtGDQgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhNyZXBlYXRlZEZvcmVpZ25FbnVtEl0KFHJlcGVhdGVkX2ltcG9ydF9lbnVtGDUgAygOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtUhJyZXBlYXRlZEltcG9ydEVudW0SNgoVcmVwZWF0ZWRfc3RyaW5nX3BpZWNlGDYgAygJQgIIAlITcmVwZWF0ZWRTdHJpbmdQaWVjZRInCg1yZXBlYXRlZF9jb3JkGDcgAygJQgIIAVIMcmVwZWF0ZWRDb3JkEmwKFXJlcGVhdGVkX2xhenlfbWVzc2FnZRg5IAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUICKAFSE3JlcGVhdGVkTGF6eU1lc3NhZ2USJwoNZGVmYXVsdF9pbnQzMhg9IAEoBToCNDFSDGRlZmF1bHRJbnQzMhInCg1kZWZhdWx0X2ludDY0GD4gASgDOgI0MlIMZGVmYXVsdEludDY0EikKDmRlZmF1bHRfdWludDMyGD8gASgNOgI0M1INZGVmYXVsdFVpbnQzMhIpCg5kZWZhdWx0X3VpbnQ2NBhAIAEoBDoCNDRSDWRlZmF1bHRVaW50NjQSKgoOZGVmYXVsdF9zaW50MzIYQSABKBE6Ay00NVINZGVmYXVsdFNpbnQzMhIpCg5kZWZhdWx0X3NpbnQ2NBhCIAEoEjoCNDZSDWRlZmF1bHRTaW50NjQSKwoPZGVmYXVsdF9maXhlZDMyGEMgASgHOgI0N1IOZGVmYXVsdEZpeGVkMzISKwoPZGVmYXVsdF9maXhlZDY0GEQgASgGOgI0OFIOZGVmYXVsdEZpeGVkNjQSLQoQZGVmYXVsdF9zZml4ZWQzMhhFIAEoDzoCNDlSD2RlZmF1bHRTZml4ZWQzMhIuChBkZWZhdWx0X3NmaXhlZDY0GEYgASgQOgMtNTBSD2RlZmF1bHRTZml4ZWQ2NBIpCg1kZWZhdWx0X2Zsb2F0GEcgASgCOgQ1MS41UgxkZWZhdWx0RmxvYXQSLAoOZGVmYXVsdF9kb3VibGUYSCABKAE6BTUyMDAwUg1kZWZhdWx0RG91YmxlEicKDGRlZmF1bHRfYm9vbBhJIAEoCDoEdHJ1ZVILZGVmYXVsdEJvb2wSLAoOZGVmYXVsdF9zdHJpbmcYSiABKAk6BWhlbGxvUg1kZWZhdWx0U3RyaW5nEioKDWRlZmF1bHRfYnl0ZXMYSyABKAw6BXdvcmxkUgxkZWZhdWx0Qnl0ZXMSZgoTZGVmYXVsdF9uZXN0ZWRfZW51bRhRIAEoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bToDQkFSUhFkZWZhdWx0TmVzdGVkRW51bRJkChRkZWZhdWx0X2ZvcmVpZ25fZW51bRhSIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bToLRk9SRUlHTl9CQVJSEmRlZmF1bHRGb3JlaWduRW51bRJnChNkZWZhdWx0X2ltcG9ydF9lbnVtGFMgASgOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtOgpJTVBPUlRfQkFSUhFkZWZhdWx0SW1wb3J0RW51bRI5ChRkZWZhdWx0X3N0cmluZ19waWVjZRhUIAEoCToDYWJjQgIIAlISZGVmYXVsdFN0cmluZ1BpZWNlEioKDGRlZmF1bHRfY29yZBhVIAEoCToDMTIzQgIIAVILZGVmYXVsdENvcmQSIwoMb25lb2ZfdWludDMyGG8gASgNSABSC29uZW9mVWludDMyEmgKFG9uZW9mX25lc3RlZF9tZXNzYWdlGHAgASgLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlSABSEm9uZW9mTmVzdGVkTWVzc2FnZRIjCgxvbmVvZl9zdHJpbmcYcSABKAlIAFILb25lb2ZTdHJpbmcSIQoLb25lb2ZfYnl0ZXMYciABKAxIAFIKb25lb2ZCeXRlcxofCg1OZXN0ZWRNZXNzYWdlEg4KAmJiGAEgASgFUgJiYhodCg1PcHRpb25hbEdyb3VwEgwKAWEYESABKAVSAWEaHQoNUmVwZWF0ZWRHcm91cBIMCgFhGC8gASgFUgFhIjkKCk5lc3RlZEVudW0SBwoDRk9PEAESBwoDQkFSEAISBwoDQkFaEAMSEAoDTkVHEP///////////wFCDQoLb25lb2ZfZmllbGQi7wEKEk5lc3RlZFRlc3RBbGxUeXBlcxJCCgVjaGlsZBgBIAEoCzIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5OZXN0ZWRUZXN0QWxsVHlwZXNSBWNoaWxkEkAKB3BheWxvYWQYAiABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgdwYXlsb2FkElMKDnJlcGVhdGVkX2NoaWxkGAMgAygLMiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLk5lc3RlZFRlc3RBbGxUeXBlc1INcmVwZWF0ZWRDaGlsZCKWAQoUVGVzdERlcHJlY2F0ZWRGaWVsZHMSLQoQZGVwcmVjYXRlZF9pbnQzMhgBIAEoBUICGAFSD2RlcHJlY2F0ZWRJbnQzMhI/ChlkZXByZWNhdGVkX2ludDMyX2luX29uZW9mGAIgASgFQgIYAUgAUhZkZXByZWNhdGVkSW50MzJJbk9uZW9mQg4KDG9uZW9mX2ZpZWxkcyIbChVUZXN0RGVwcmVjYXRlZE1lc3NhZ2U6AhgBIiwKDkZvcmVpZ25NZXNzYWdlEgwKAWMYASABKAVSAWMSDAoBZBgCIAEoBVIBZCIwChJUZXN0UmVzZXJ2ZWRGaWVsZHNKBAgCEANKBAgPEBBKBAgJEAxSA2JhclIDYmF6Ih0KEVRlc3RBbGxFeHRlbnNpb25zKggIARCAgICAAiInChdPcHRpb25hbEdyb3VwX2V4dGVuc2lvbhIMCgFhGBEgASgFUgFhIicKF1JlcGVhdGVkR3JvdXBfZXh0ZW5zaW9uEgwKAWEYLyABKAVSAWEi3gEKCVRlc3RHcm91cBJXCg1vcHRpb25hbGdyb3VwGBAgASgKMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RHcm91cC5PcHRpb25hbEdyb3VwUg1vcHRpb25hbGdyb3VwElkKFW9wdGlvbmFsX2ZvcmVpZ25fZW51bRgWIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVITb3B0aW9uYWxGb3JlaWduRW51bRodCg1PcHRpb25hbEdyb3VwEgwKAWEYESABKAVSAWEiHgoSVGVzdEdyb3VwRXh0ZW5zaW9uKggIARCAgICAAiK4BAoTVGVzdE5lc3RlZEV4dGVuc2lvbhonChdPcHRpb25hbEdyb3VwX2V4dGVuc2lvbhIMCgFhGBEgASgFUgFhMkYKBHRlc3QSKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMY6gcgASgJOgR0ZXN0UgR0ZXN0MmQKF25lc3RlZF9zdHJpbmdfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGOsHIAEoCVIVbmVzdGVkU3RyaW5nRXh0ZW5zaW9uMqwBChdvcHRpb25hbGdyb3VwX2V4dGVuc2lvbhIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0R3JvdXBFeHRlbnNpb24YECABKAoyRS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE5lc3RlZEV4dGVuc2lvbi5PcHRpb25hbEdyb3VwX2V4dGVuc2lvblIWb3B0aW9uYWxncm91cEV4dGVuc2lvbjKaAQofb3B0aW9uYWxfZm9yZWlnbl9lbnVtX2V4dGVuc2lvbhIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0R3JvdXBFeHRlbnNpb24YFiABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SHG9wdGlvbmFsRm9yZWlnbkVudW1FeHRlbnNpb24ikAgKDFRlc3RSZXF1aXJlZBIMCgFhGAEgAigFUgFhEhYKBmR1bW15MhgCIAEoBVIGZHVtbXkyEgwKAWIYAyACKAVSAWISFgoGZHVtbXk0GAQgASgFUgZkdW1teTQSFgoGZHVtbXk1GAUgASgFUgZkdW1teTUSFgoGZHVtbXk2GAYgASgFUgZkdW1teTYSFgoGZHVtbXk3GAcgASgFUgZkdW1teTcSFgoGZHVtbXk4GAggASgFUgZkdW1teTgSFgoGZHVtbXk5GAkgASgFUgZkdW1teTkSGAoHZHVtbXkxMBgKIAEoBVIHZHVtbXkxMBIYCgdkdW1teTExGAsgASgFUgdkdW1teTExEhgKB2R1bW15MTIYDCABKAVSB2R1bW15MTISGAoHZHVtbXkxMxgNIAEoBVIHZHVtbXkxMxIYCgdkdW1teTE0GA4gASgFUgdkdW1teTE0EhgKB2R1bW15MTUYDyABKAVSB2R1bW15MTUSGAoHZHVtbXkxNhgQIAEoBVIHZHVtbXkxNhIYCgdkdW1teTE3GBEgASgFUgdkdW1teTE3EhgKB2R1bW15MTgYEiABKAVSB2R1bW15MTgSGAoHZHVtbXkxORgTIAEoBVIHZHVtbXkxORIYCgdkdW1teTIwGBQgASgFUgdkdW1teTIwEhgKB2R1bW15MjEYFSABKAVSB2R1bW15MjESGAoHZHVtbXkyMhgWIAEoBVIHZHVtbXkyMhIYCgdkdW1teTIzGBcgASgFUgdkdW1teTIzEhgKB2R1bW15MjQYGCABKAVSB2R1bW15MjQSGAoHZHVtbXkyNRgZIAEoBVIHZHVtbXkyNRIYCgdkdW1teTI2GBogASgFUgdkdW1teTI2EhgKB2R1bW15MjcYGyABKAVSB2R1bW15MjcSGAoHZHVtbXkyOBgcIAEoBVIHZHVtbXkyOBIYCgdkdW1teTI5GB0gASgFUgdkdW1teTI5EhgKB2R1bW15MzAYHiABKAVSB2R1bW15MzASGAoHZHVtbXkzMRgfIAEoBVIHZHVtbXkzMRIYCgdkdW1teTMyGCAgASgFUgdkdW1teTMyEgwKAWMYISACKAVSAWMybAoGc2luZ2xlEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGOgHIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRSBnNpbmdsZTJqCgVtdWx0aRIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxjpByADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUgVtdWx0aSLRAQoTVGVzdFJlcXVpcmVkRm9yZWlnbhJRChBvcHRpb25hbF9tZXNzYWdlGAEgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZFIPb3B0aW9uYWxNZXNzYWdlElEKEHJlcGVhdGVkX21lc3NhZ2UYAiADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUg9yZXBlYXRlZE1lc3NhZ2USFAoFZHVtbXkYAyABKAVSBWR1bW15Io4CChNUZXN0UmVxdWlyZWRNZXNzYWdlElEKEG9wdGlvbmFsX21lc3NhZ2UYASABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUg9vcHRpb25hbE1lc3NhZ2USUQoQcmVwZWF0ZWRfbWVzc2FnZRgCIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRSD3JlcGVhdGVkTWVzc2FnZRJRChByZXF1aXJlZF9tZXNzYWdlGAMgAigLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZFIPcmVxdWlyZWRNZXNzYWdlInAKEVRlc3RGb3JlaWduTmVzdGVkElsKDmZvcmVpZ25fbmVzdGVkGAEgASgLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlUg1mb3JlaWduTmVzdGVkIhIKEFRlc3RFbXB0eU1lc3NhZ2UiKgoeVGVzdEVtcHR5TWVzc2FnZVdpdGhFeHRlbnNpb25zKggIARCAgICAAiI3ChtUZXN0TXVsdGlwbGVFeHRlbnNpb25SYW5nZXMqBAgqECsqBgivIBCUISoKCICABBCAgICAAiI7ChhUZXN0UmVhbGx5TGFyZ2VUYWdOdW1iZXISDAoBYRgBIAEoBVIBYRIRCgJiYhj///9/IAEoBVICYmIiYgoUVGVzdFJlY3Vyc2l2ZU1lc3NhZ2USPAoBYRgBIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVjdXJzaXZlTWVzc2FnZVIBYRIMCgFpGAIgASgFUgFpIq8DChRUZXN0TXV0dWFsUmVjdXJzaW9uQRI+CgJiYhgBIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TXV0dWFsUmVjdXJzaW9uQlICYmISUwoIc3ViZ3JvdXAYAiABKAoyNy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE11dHVhbFJlY3Vyc2lvbkEuU3ViR3JvdXBSCHN1Ymdyb3VwGkoKClN1Yk1lc3NhZ2USPAoBYhgBIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TXV0dWFsUmVjdXJzaW9uQlIBYhq1AQoIU3ViR3JvdXASWgoLc3ViX21lc3NhZ2UYAyABKAsyOS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE11dHVhbFJlY3Vyc2lvbkEuU3ViTWVzc2FnZVIKc3ViTWVzc2FnZRJNCg9ub3RfaW5fdGhpc19zY2MYBCABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgxub3RJblRoaXNTY2MiewoUVGVzdE11dHVhbFJlY3Vyc2lvbkISPAoBYRgBIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TXV0dWFsUmVjdXJzaW9uQVIBYRIlCg5vcHRpb25hbF9pbnQzMhgCIAEoBVINb3B0aW9uYWxJbnQzMiLyAQoRVGVzdElzSW5pdGlhbGl6ZWQSVwoLc3ViX21lc3NhZ2UYASABKAsyNi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdElzSW5pdGlhbGl6ZWQuU3ViTWVzc2FnZVIKc3ViTWVzc2FnZRqDAQoKU3ViTWVzc2FnZRJbCghzdWJncm91cBgBIAEoCjI/LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0SXNJbml0aWFsaXplZC5TdWJNZXNzYWdlLlN1Ykdyb3VwUghzdWJncm91cBoYCghTdWJHcm91cBIMCgFpGAIgAigFUgFpItQBChJUZXN0RHVwRmllbGROdW1iZXISDAoBYRgBIAEoBVIBYRJCCgNmb28YAiABKAoyMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdER1cEZpZWxkTnVtYmVyLkZvb1IDZm9vEkIKA2JhchgDIAEoCjIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RHVwRmllbGROdW1iZXIuQmFyUgNiYXIaEwoDRm9vEgwKAWEYASABKAVSAWEaEwoDQmFyEgwKAWEYASABKAVSAWEiXwoQVGVzdEVhZ2VyTWVzc2FnZRJLCgtzdWJfbWVzc2FnZRgBIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNCAigAUgpzdWJNZXNzYWdlIl4KD1Rlc3RMYXp5TWVzc2FnZRJLCgtzdWJfbWVzc2FnZRgBIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNCAigBUgpzdWJNZXNzYWdlIuYCChhUZXN0TmVzdGVkTWVzc2FnZUhhc0JpdHMSeAoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYASABKAsyQC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE5lc3RlZE1lc3NhZ2VIYXNCaXRzLk5lc3RlZE1lc3NhZ2VSFW9wdGlvbmFsTmVzdGVkTWVzc2FnZRrPAQoNTmVzdGVkTWVzc2FnZRJAChxuZXN0ZWRtZXNzYWdlX3JlcGVhdGVkX2ludDMyGAEgAygFUhpuZXN0ZWRtZXNzYWdlUmVwZWF0ZWRJbnQzMhJ8CiVuZXN0ZWRtZXNzYWdlX3JlcGVhdGVkX2ZvcmVpZ25tZXNzYWdlGAIgAygLMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25NZXNzYWdlUiNuZXN0ZWRtZXNzYWdlUmVwZWF0ZWRGb3JlaWdubWVzc2FnZSLXBQoXVGVzdENhbWVsQ2FzZUZpZWxkTmFtZXMSJgoOUHJpbWl0aXZlRmllbGQYASABKAVSDlByaW1pdGl2ZUZpZWxkEiAKC1N0cmluZ0ZpZWxkGAIgASgJUgtTdHJpbmdGaWVsZBJDCglFbnVtRmllbGQYAyABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SCUVudW1GaWVsZBJMCgxNZXNzYWdlRmllbGQYBCABKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSDE1lc3NhZ2VGaWVsZBIuChBTdHJpbmdQaWVjZUZpZWxkGAUgASgJQgIIAlIQU3RyaW5nUGllY2VGaWVsZBIgCglDb3JkRmllbGQYBiABKAlCAggBUglDb3JkRmllbGQSNgoWUmVwZWF0ZWRQcmltaXRpdmVGaWVsZBgHIAMoBVIWUmVwZWF0ZWRQcmltaXRpdmVGaWVsZBIwChNSZXBlYXRlZFN0cmluZ0ZpZWxkGAggAygJUhNSZXBlYXRlZFN0cmluZ0ZpZWxkElMKEVJlcGVhdGVkRW51bUZpZWxkGAkgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhFSZXBlYXRlZEVudW1GaWVsZBJcChRSZXBlYXRlZE1lc3NhZ2VGaWVsZBgKIAMoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIUUmVwZWF0ZWRNZXNzYWdlRmllbGQSPgoYUmVwZWF0ZWRTdHJpbmdQaWVjZUZpZWxkGAsgAygJQgIIAlIYUmVwZWF0ZWRTdHJpbmdQaWVjZUZpZWxkEjAKEVJlcGVhdGVkQ29yZEZpZWxkGAwgAygJQgIIAVIRUmVwZWF0ZWRDb3JkRmllbGQilQIKElRlc3RGaWVsZE9yZGVyaW5ncxIbCglteV9zdHJpbmcYCyABKAlSCG15U3RyaW5nEhUKBm15X2ludBgBIAEoA1IFbXlJbnQSGQoIbXlfZmxvYXQYZSABKAJSB215RmxvYXQScwoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYyAEgASgLMjoucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RGaWVsZE9yZGVyaW5ncy5OZXN0ZWRNZXNzYWdlUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2UaLwoNTmVzdGVkTWVzc2FnZRIOCgJvbxgCIAEoA1ICb28SDgoCYmIYASABKAVSAmJiKgQIAhALKgQIDBBlIsgBChdUZXN0RXh0ZW5zaW9uT3JkZXJpbmdzMRIbCglteV9zdHJpbmcYASABKAlSCG15U3RyaW5nMo8BChN0ZXN0X2V4dF9vcmRlcmluZ3MxEiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RGaWVsZE9yZGVyaW5ncxgNIAEoCzIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RXh0ZW5zaW9uT3JkZXJpbmdzMVIRdGVzdEV4dE9yZGVyaW5nczEiqwMKF1Rlc3RFeHRlbnNpb25PcmRlcmluZ3MyEhsKCW15X3N0cmluZxgBIAEoCVIIbXlTdHJpbmca4AEKF1Rlc3RFeHRlbnNpb25PcmRlcmluZ3MzEhsKCW15X3N0cmluZxgBIAEoCVIIbXlTdHJpbmcypwEKE3Rlc3RfZXh0X29yZGVyaW5nczMSLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEZpZWxkT3JkZXJpbmdzGA4gASgLMkkucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RFeHRlbnNpb25PcmRlcmluZ3MyLlRlc3RFeHRlbnNpb25PcmRlcmluZ3MzUhF0ZXN0RXh0T3JkZXJpbmdzMzKPAQoTdGVzdF9leHRfb3JkZXJpbmdzMhIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RmllbGRPcmRlcmluZ3MYDCABKAsyMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEV4dGVuc2lvbk9yZGVyaW5nczJSEXRlc3RFeHRPcmRlcmluZ3MyIq8KChhUZXN0RXh0cmVtZURlZmF1bHRWYWx1ZXMSTQoNZXNjYXBlZF9ieXRlcxgBIAEoDDooXDAwMFwwMDFcMDA3XDAxMFwwMTRcblxyXHRcMDEzXFxcJ1wiXDM3NlIMZXNjYXBlZEJ5dGVzEi0KDGxhcmdlX3VpbnQzMhgCIAEoDToKNDI5NDk2NzI5NVILbGFyZ2VVaW50MzISNwoMbGFyZ2VfdWludDY0GAMgASgEOhQxODQ0Njc0NDA3MzcwOTU1MTYxNVILbGFyZ2VVaW50NjQSLAoLc21hbGxfaW50MzIYBCABKAU6Cy0yMTQ3NDgzNjQ3UgpzbWFsbEludDMyEjUKC3NtYWxsX2ludDY0GAUgASgDOhQtOTIyMzM3MjAzNjg1NDc3NTgwN1IKc21hbGxJbnQ2NBI5ChJyZWFsbHlfc21hbGxfaW50MzIYFSABKAU6Cy0yMTQ3NDgzNjQ4UhByZWFsbHlTbWFsbEludDMyEkIKEnJlYWxseV9zbWFsbF9pbnQ2NBgWIAEoAzoULTkyMjMzNzIwMzY4NTQ3NzU4MDhSEHJlYWxseVNtYWxsSW50NjQSJAoLdXRmOF9zdHJpbmcYBiABKAk6A+GItFIKdXRmOFN0cmluZxIgCgp6ZXJvX2Zsb2F0GAcgASgCOgEwUgl6ZXJvRmxvYXQSHgoJb25lX2Zsb2F0GAggASgCOgExUghvbmVGbG9hdBIkCgtzbWFsbF9mbG9hdBgJIAEoAjoDMS41UgpzbWFsbEZsb2F0EjAKEm5lZ2F0aXZlX29uZV9mbG9hdBgKIAEoAjoCLTFSEG5lZ2F0aXZlT25lRmxvYXQSKwoObmVnYXRpdmVfZmxvYXQYCyABKAI6BC0xLjVSDW5lZ2F0aXZlRmxvYXQSJgoLbGFyZ2VfZmxvYXQYDCABKAI6BTJlKzA4UgpsYXJnZUZsb2F0EjgKFHNtYWxsX25lZ2F0aXZlX2Zsb2F0GA0gASgCOgYtOGUtMjhSEnNtYWxsTmVnYXRpdmVGbG9hdBIiCgppbmZfZG91YmxlGA4gASgBOgNpbmZSCWluZkRvdWJsZRIqCg5uZWdfaW5mX2RvdWJsZRgPIAEoAToELWluZlIMbmVnSW5mRG91YmxlEiIKCm5hbl9kb3VibGUYECABKAE6A25hblIJbmFuRG91YmxlEiAKCWluZl9mbG9hdBgRIAEoAjoDaW5mUghpbmZGbG9hdBIoCg1uZWdfaW5mX2Zsb2F0GBIgASgCOgQtaW5mUgtuZWdJbmZGbG9hdBIgCgluYW5fZmxvYXQYEyABKAI6A25hblIIbmFuRmxvYXQSOAoMY3BwX3RyaWdyYXBoGBQgASgJOhU/ID8gPz8gPz8gPz8/ID8/LyA/Py1SC2NwcFRyaWdyYXBoEjAKEHN0cmluZ193aXRoX3plcm8YFyABKAk6BmhlbABsb1IOc3RyaW5nV2l0aFplcm8SMQoPYnl0ZXNfd2l0aF96ZXJvGBggASgMOgl3b3JcMDAwbGRSDWJ5dGVzV2l0aFplcm8SPQoWc3RyaW5nX3BpZWNlX3dpdGhfemVybxgZIAEoCToEYWIAY0ICCAJSE3N0cmluZ1BpZWNlV2l0aFplcm8SLgoOY29yZF93aXRoX3plcm8YGiABKAk6BDEyADNCAggBUgxjb3JkV2l0aFplcm8SOQoScmVwbGFjZW1lbnRfc3RyaW5nGBsgASgJOgoke3Vua25vd259UhFyZXBsYWNlbWVudFN0cmluZyJeChFTcGFyc2VFbnVtTWVzc2FnZRJJCgtzcGFyc2VfZW51bRgBIAEoDjIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0U3BhcnNlRW51bVIKc3BhcnNlRW51bSIfCglPbmVTdHJpbmcSEgoEZGF0YRgBIAEoCVIEZGF0YSIgCgpNb3JlU3RyaW5nEhIKBGRhdGEYASADKAlSBGRhdGEiHgoIT25lQnl0ZXMSEgoEZGF0YRgBIAEoDFIEZGF0YSIfCglNb3JlQnl0ZXMSEgoEZGF0YRgBIAMoDFIEZGF0YSIiCgxJbnQzMk1lc3NhZ2USEgoEZGF0YRgBIAEoBVIEZGF0YSIjCg1VaW50MzJNZXNzYWdlEhIKBGRhdGEYASABKA1SBGRhdGEiIgoMSW50NjRNZXNzYWdlEhIKBGRhdGEYASABKANSBGRhdGEiIwoNVWludDY0TWVzc2FnZRISCgRkYXRhGAEgASgEUgRkYXRhIiEKC0Jvb2xNZXNzYWdlEhIKBGRhdGEYASABKAhSBGRhdGEijQIKCVRlc3RPbmVvZhIZCgdmb29faW50GAEgASgFSABSBmZvb0ludBIfCgpmb29fc3RyaW5nGAIgASgJSABSCWZvb1N0cmluZxJJCgtmb29fbWVzc2FnZRgDIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNIAFIKZm9vTWVzc2FnZRJKCghmb29ncm91cBgEIAEoCjIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2YuRm9vR3JvdXBIAFIIZm9vZ3JvdXAaJgoIRm9vR3JvdXASDAoBYRgFIAEoBVIBYRIMCgFiGAYgASgJUgFiQgUKA2ZvbyKkAgocVGVzdE9uZW9mQmFja3dhcmRzQ29tcGF0aWJsZRIXCgdmb29faW50GAEgASgFUgZmb29JbnQSHQoKZm9vX3N0cmluZxgCIAEoCVIJZm9vU3RyaW5nEkcKC2Zvb19tZXNzYWdlGAMgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IKZm9vTWVzc2FnZRJbCghmb29ncm91cBgEIAEoCjI/LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2ZCYWNrd2FyZHNDb21wYXRpYmxlLkZvb0dyb3VwUghmb29ncm91cBomCghGb29Hcm91cBIMCgFhGAUgASgFUgFhEgwKAWIYBiABKAlSAWIikAgKClRlc3RPbmVvZjISGQoHZm9vX2ludBgBIAEoBUgAUgZmb29JbnQSHwoKZm9vX3N0cmluZxgCIAEoCUgAUglmb29TdHJpbmcSHwoIZm9vX2NvcmQYAyABKAlCAggBSABSB2Zvb0NvcmQSLgoQZm9vX3N0cmluZ19waWVjZRgEIAEoCUICCAJIAFIOZm9vU3RyaW5nUGllY2USHQoJZm9vX2J5dGVzGAUgASgMSABSCGZvb0J5dGVzEkwKCGZvb19lbnVtGAYgASgOMi8ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZjIuTmVzdGVkRW51bUgAUgdmb29FbnVtElUKC2Zvb19tZXNzYWdlGAcgASgLMjIucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZjIuTmVzdGVkTWVzc2FnZUgAUgpmb29NZXNzYWdlEksKCGZvb2dyb3VwGAggASgKMi0ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZjIuRm9vR3JvdXBIAFIIZm9vZ3JvdXASYgoQZm9vX2xhenlfbWVzc2FnZRgLIAEoCzIyLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0T25lb2YyLk5lc3RlZE1lc3NhZ2VCAigBSABSDmZvb0xhenlNZXNzYWdlEhwKB2Jhcl9pbnQYDCABKAU6ATVIAVIGYmFySW50EicKCmJhcl9zdHJpbmcYDSABKAk6BlNUUklOR0gBUgliYXJTdHJpbmcSJQoIYmFyX2NvcmQYDiABKAk6BENPUkRCAggBSAFSB2JhckNvcmQSNgoQYmFyX3N0cmluZ19waWVjZRgPIAEoCToGU1BJRUNFQgIIAkgBUg5iYXJTdHJpbmdQaWVjZRIkCgliYXJfYnl0ZXMYECABKAw6BUJZVEVTSAFSCGJhckJ5dGVzElEKCGJhcl9lbnVtGBEgASgOMi8ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZjIuTmVzdGVkRW51bToDQkFSSAFSB2JhckVudW0SFwoHYmF6X2ludBgSIAEoBVIGYmF6SW50EiIKCmJhel9zdHJpbmcYEyABKAk6A0JBWlIJYmF6U3RyaW5nGiYKCEZvb0dyb3VwEgwKAWEYCSABKAVSAWESDAoBYhgKIAEoCVIBYhpFCg1OZXN0ZWRNZXNzYWdlEhcKB3F1eF9pbnQYASABKANSBnF1eEludBIbCgljb3JnZV9pbnQYAiADKAVSCGNvcmdlSW50IicKCk5lc3RlZEVudW0SBwoDRk9PEAESBwoDQkFSEAISBwoDQkFaEANCBQoDZm9vQgUKA2JhciLuAQoRVGVzdFJlcXVpcmVkT25lb2YSGQoHZm9vX2ludBgBIAEoBUgAUgZmb29JbnQSHwoKZm9vX3N0cmluZxgCIAEoCUgAUglmb29TdHJpbmcSXAoLZm9vX21lc3NhZ2UYAyABKAsyOS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkT25lb2YuTmVzdGVkTWVzc2FnZUgAUgpmb29NZXNzYWdlGjgKDU5lc3RlZE1lc3NhZ2USJwoPcmVxdWlyZWRfZG91YmxlGAEgAigBUg5yZXF1aXJlZERvdWJsZUIFCgNmb28igAIKD1Rlc3RSZXF1aXJlZE1hcBJECgNmb28YASADKAsyMi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkTWFwLkZvb0VudHJ5UgNmb28abwoIRm9vRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSTQoFdmFsdWUYAiABKAsyNy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkTWFwLk5lc3RlZE1lc3NhZ2VSBXZhbHVlOgI4ARo2Cg1OZXN0ZWRNZXNzYWdlEiUKDnJlcXVpcmVkX2ludDMyGAEgAigFUg1yZXF1aXJlZEludDMyIvQECg9UZXN0UGFja2VkVHlwZXMSJQoMcGFja2VkX2ludDMyGFogAygFQgIQAVILcGFja2VkSW50MzISJQoMcGFja2VkX2ludDY0GFsgAygDQgIQAVILcGFja2VkSW50NjQSJwoNcGFja2VkX3VpbnQzMhhcIAMoDUICEAFSDHBhY2tlZFVpbnQzMhInCg1wYWNrZWRfdWludDY0GF0gAygEQgIQAVIMcGFja2VkVWludDY0EicKDXBhY2tlZF9zaW50MzIYXiADKBFCAhABUgxwYWNrZWRTaW50MzISJwoNcGFja2VkX3NpbnQ2NBhfIAMoEkICEAFSDHBhY2tlZFNpbnQ2NBIpCg5wYWNrZWRfZml4ZWQzMhhgIAMoB0ICEAFSDXBhY2tlZEZpeGVkMzISKQoOcGFja2VkX2ZpeGVkNjQYYSADKAZCAhABUg1wYWNrZWRGaXhlZDY0EisKD3BhY2tlZF9zZml4ZWQzMhhiIAMoD0ICEAFSDnBhY2tlZFNmaXhlZDMyEisKD3BhY2tlZF9zZml4ZWQ2NBhjIAMoEEICEAFSDnBhY2tlZFNmaXhlZDY0EiUKDHBhY2tlZF9mbG9hdBhkIAMoAkICEAFSC3BhY2tlZEZsb2F0EicKDXBhY2tlZF9kb3VibGUYZSADKAFCAhABUgxwYWNrZWREb3VibGUSIwoLcGFja2VkX2Jvb2wYZiADKAhCAhABUgpwYWNrZWRCb29sEkoKC3BhY2tlZF9lbnVtGGcgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtQgIQAVIKcGFja2VkRW51bSKuBQoRVGVzdFVucGFja2VkVHlwZXMSKQoOdW5wYWNrZWRfaW50MzIYWiADKAVCAhAAUg11bnBhY2tlZEludDMyEikKDnVucGFja2VkX2ludDY0GFsgAygDQgIQAFINdW5wYWNrZWRJbnQ2NBIrCg91bnBhY2tlZF91aW50MzIYXCADKA1CAhAAUg51bnBhY2tlZFVpbnQzMhIrCg91bnBhY2tlZF91aW50NjQYXSADKARCAhAAUg51bnBhY2tlZFVpbnQ2NBIrCg91bnBhY2tlZF9zaW50MzIYXiADKBFCAhAAUg51bnBhY2tlZFNpbnQzMhIrCg91bnBhY2tlZF9zaW50NjQYXyADKBJCAhAAUg51bnBhY2tlZFNpbnQ2NBItChB1bnBhY2tlZF9maXhlZDMyGGAgAygHQgIQAFIPdW5wYWNrZWRGaXhlZDMyEi0KEHVucGFja2VkX2ZpeGVkNjQYYSADKAZCAhAAUg91bnBhY2tlZEZpeGVkNjQSLwoRdW5wYWNrZWRfc2ZpeGVkMzIYYiADKA9CAhAAUhB1bnBhY2tlZFNmaXhlZDMyEi8KEXVucGFja2VkX3NmaXhlZDY0GGMgAygQQgIQAFIQdW5wYWNrZWRTZml4ZWQ2NBIpCg51bnBhY2tlZF9mbG9hdBhkIAMoAkICEABSDXVucGFja2VkRmxvYXQSKwoPdW5wYWNrZWRfZG91YmxlGGUgAygBQgIQAFIOdW5wYWNrZWREb3VibGUSJwoNdW5wYWNrZWRfYm9vbBhmIAMoCEICEABSDHVucGFja2VkQm9vbBJOCg11bnBhY2tlZF9lbnVtGGcgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtQgIQAFIMdW5wYWNrZWRFbnVtIiAKFFRlc3RQYWNrZWRFeHRlbnNpb25zKggIARCAgICAAiIiChZUZXN0VW5wYWNrZWRFeHRlbnNpb25zKggIARCAgICAAiLIBQoVVGVzdER5bmFtaWNFeHRlbnNpb25zEioKEHNjYWxhcl9leHRlbnNpb24Y0A8gASgHUg9zY2FsYXJFeHRlbnNpb24STQoOZW51bV9leHRlbnNpb24Y0Q8gASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUg1lbnVtRXh0ZW5zaW9uEnYKFmR5bmFtaWNfZW51bV9leHRlbnNpb24Y0g8gASgOMj8ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3REeW5hbWljRXh0ZW5zaW9ucy5EeW5hbWljRW51bVR5cGVSFGR5bmFtaWNFbnVtRXh0ZW5zaW9uElYKEW1lc3NhZ2VfZXh0ZW5zaW9uGNMPIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIQbWVzc2FnZUV4dGVuc2lvbhJ/ChlkeW5hbWljX21lc3NhZ2VfZXh0ZW5zaW9uGNQPIAEoCzJCLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RHluYW1pY0V4dGVuc2lvbnMuRHluYW1pY01lc3NhZ2VUeXBlUhdkeW5hbWljTWVzc2FnZUV4dGVuc2lvbhIuChJyZXBlYXRlZF9leHRlbnNpb24Y1Q8gAygJUhFyZXBlYXRlZEV4dGVuc2lvbhIuChBwYWNrZWRfZXh0ZW5zaW9uGNYPIAMoEUICEAFSD3BhY2tlZEV4dGVuc2lvbho6ChJEeW5hbWljTWVzc2FnZVR5cGUSJAoNZHluYW1pY19maWVsZBi0ECABKAVSDGR5bmFtaWNGaWVsZCJHCg9EeW5hbWljRW51bVR5cGUSEAoLRFlOQU1JQ19GT08QmBESEAoLRFlOQU1JQ19CQVIQmRESEAoLRFlOQU1JQ19CQVoQmhEinwIKI1Rlc3RSZXBlYXRlZFNjYWxhckRpZmZlcmVudFRhZ1NpemVzEikKEHJlcGVhdGVkX2ZpeGVkMzIYDCADKAdSD3JlcGVhdGVkRml4ZWQzMhIlCg5yZXBlYXRlZF9pbnQzMhgNIAMoBVINcmVwZWF0ZWRJbnQzMhIqChByZXBlYXRlZF9maXhlZDY0GP4PIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EiYKDnJlcGVhdGVkX2ludDY0GP8PIAMoA1INcmVwZWF0ZWRJbnQ2NBInCg5yZXBlYXRlZF9mbG9hdBj+/w8gAygCUg1yZXBlYXRlZEZsb2F0EikKD3JlcGVhdGVkX3VpbnQ2NBj//w8gAygEUg5yZXBlYXRlZFVpbnQ2NCLjDAoQVGVzdFBhcnNpbmdNZXJnZRJUChJyZXF1aXJlZF9hbGxfdHlwZXMYASACKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUhByZXF1aXJlZEFsbFR5cGVzElQKEm9wdGlvbmFsX2FsbF90eXBlcxgCIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSEG9wdGlvbmFsQWxsVHlwZXMSVAoScmVwZWF0ZWRfYWxsX3R5cGVzGAMgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IQcmVwZWF0ZWRBbGxUeXBlcxJeCg1vcHRpb25hbGdyb3VwGAogASgKMjgucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UuT3B0aW9uYWxHcm91cFINb3B0aW9uYWxncm91cBJeCg1yZXBlYXRlZGdyb3VwGBQgAygKMjgucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UuUmVwZWF0ZWRHcm91cFINcmVwZWF0ZWRncm91cBqtBQoXUmVwZWF0ZWRGaWVsZHNHZW5lcmF0b3ISPgoGZmllbGQxGAEgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IGZmllbGQxEj4KBmZpZWxkMhgCIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSBmZpZWxkMhI+CgZmaWVsZDMYAyADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgZmaWVsZDMSYQoGZ3JvdXAxGAogAygKMkkucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UuUmVwZWF0ZWRGaWVsZHNHZW5lcmF0b3IuR3JvdXAxUgZncm91cDESYQoGZ3JvdXAyGBQgAygKMkkucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYXJzaW5nTWVyZ2UuUmVwZWF0ZWRGaWVsZHNHZW5lcmF0b3IuR3JvdXAyUgZncm91cDISOwoEZXh0MRjoByADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgRleHQxEjsKBGV4dDIY6QcgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IEZXh0MhpICgZHcm91cDESPgoGZmllbGQxGAsgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IGZmllbGQxGkgKBkdyb3VwMhI+CgZmaWVsZDEYFSABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgZmaWVsZDEacAoNT3B0aW9uYWxHcm91cBJfChhvcHRpb25hbF9ncm91cF9hbGxfdHlwZXMYCyABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUhVvcHRpb25hbEdyb3VwQWxsVHlwZXMacAoNUmVwZWF0ZWRHcm91cBJfChhyZXBlYXRlZF9ncm91cF9hbGxfdHlwZXMYFSABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUhVyZXBlYXRlZEdyb3VwQWxsVHlwZXMqCQjoBxCAgICAAjJ2CgxvcHRpb25hbF9leHQSKi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhcnNpbmdNZXJnZRjoByABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgtvcHRpb25hbEV4dDJ2CgxyZXBlYXRlZF9leHQSKi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhcnNpbmdNZXJnZRjpByADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgtyZXBlYXRlZEV4dCJHChtUZXN0Q29tbWVudEluamVjdGlvbk1lc3NhZ2USKAoBYRgBIAEoCToaKi8gPC0gTmVpdGhlciBzaG91bGQgdGhpcy5SAWEiDAoKRm9vUmVxdWVzdCINCgtGb29SZXNwb25zZSISChBGb29DbGllbnRNZXNzYWdlIhIKEEZvb1NlcnZlck1lc3NhZ2UiDAoKQmFyUmVxdWVzdCINCgtCYXJSZXNwb25zZSLOAQoMVGVzdEpzb25OYW1lEh8KC2ZpZWxkX25hbWUxGAEgASgFUgpmaWVsZE5hbWUxEh4KCmZpZWxkTmFtZTIYAiABKAVSCmZpZWxkTmFtZTISHgoKRmllbGROYW1lMxgDIAEoBVIKRmllbGROYW1lMxIgCgxfZmllbGRfbmFtZTQYBCABKAVSCkZpZWxkTmFtZTQSHwoLRklFTERfTkFNRTUYBSABKAVSCkZJRUxETkFNRTUSGgoLZmllbGRfbmFtZTYYBiABKAVSBUB0eXBlIv8HChRUZXN0SHVnZUZpZWxkTnVtYmVycxIpCg5vcHRpb25hbF9pbnQzMhjw+P//ASABKAVSDW9wdGlvbmFsSW50MzISHQoIZml4ZWRfMzIY8fj//wEgASgFUgdmaXhlZDMyEi0KDnJlcGVhdGVkX2ludDMyGPL4//8BIAMoBUICEABSDXJlcGVhdGVkSW50MzISKQoMcGFja2VkX2ludDMyGPP4//8BIAMoBUICEAFSC3BhY2tlZEludDMyEk4KDW9wdGlvbmFsX2VudW0Y9Pj//wEgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUgxvcHRpb25hbEVudW0SKwoPb3B0aW9uYWxfc3RyaW5nGPX4//8BIAEoCVIOb3B0aW9uYWxTdHJpbmcSKQoOb3B0aW9uYWxfYnl0ZXMY9vj//wEgASgMUg1vcHRpb25hbEJ5dGVzElcKEG9wdGlvbmFsX21lc3NhZ2UY9/j//wEgASgLMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25NZXNzYWdlUg9vcHRpb25hbE1lc3NhZ2USZgoNb3B0aW9uYWxncm91cBj4+P//ASABKAoyPC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEh1Z2VGaWVsZE51bWJlcnMuT3B0aW9uYWxHcm91cFINb3B0aW9uYWxncm91cBJzChFzdHJpbmdfc3RyaW5nX21hcBj6+P//ASADKAsyQy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEh1Z2VGaWVsZE51bWJlcnMuU3RyaW5nU3RyaW5nTWFwRW50cnlSD3N0cmluZ1N0cmluZ01hcBInCgxvbmVvZl91aW50MzIY+/j//wEgASgNSABSC29uZW9mVWludDMyEl0KFG9uZW9mX3Rlc3RfYWxsX3R5cGVzGPz4//8BIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNIAFIRb25lb2ZUZXN0QWxsVHlwZXMSJwoMb25lb2Zfc3RyaW5nGP34//8BIAEoCUgAUgtvbmVvZlN0cmluZxIlCgtvbmVvZl9ieXRlcxj++P//ASABKAxIAFIKb25lb2ZCeXRlcxosCg1PcHRpb25hbEdyb3VwEhsKB2dyb3VwX2EY+fj//wEgASgFUgZncm91cEEaQgoUU3RyaW5nU3RyaW5nTWFwRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASoMCOCq//8BEPD4//8BQg0KC29uZW9mX2ZpZWxkIvoBChhUZXN0RXh0ZW5zaW9uSW5zaWRlVGFibGUSFgoGZmllbGQxGAEgASgFUgZmaWVsZDESFgoGZmllbGQyGAIgASgFUgZmaWVsZDISFgoGZmllbGQzGAMgASgFUgZmaWVsZDMSFgoGZmllbGQ0GAQgASgFUgZmaWVsZDQSFgoGZmllbGQ2GAYgASgFUgZmaWVsZDYSFgoGZmllbGQ3GAcgASgFUgZmaWVsZDcSFgoGZmllbGQ4GAggASgFUgZmaWVsZDgSFgoGZmllbGQ5GAkgASgFUgZmaWVsZDkSGAoHZmllbGQxMBgKIAEoBVIHZmllbGQxMCoECAUQBipACgtGb3JlaWduRW51bRIPCgtGT1JFSUdOX0ZPTxAEEg8KC0ZPUkVJR05fQkFSEAUSDwoLRk9SRUlHTl9CQVoQBipLChRUZXN0RW51bVdpdGhEdXBWYWx1ZRIICgRGT08xEAESCAoEQkFSMRACEgcKA0JBWhADEggKBEZPTzIQARIICgRCQVIyEAIaAhABKokBCg5UZXN0U3BhcnNlRW51bRIMCghTUEFSU0VfQRB7Eg4KCFNQQVJTRV9CEKbnAxIPCghTUEFSU0VfQxCysYAGEhUKCFNQQVJTRV9EEPH//////////wESFQoIU1BBUlNFX0UQtN78////////ARIMCghTUEFSU0VfRhAAEgwKCFNQQVJTRV9HEAIqiw8KDVZlcnlMYXJnZUVudW0SFgoSRU5VTV9MQUJFTF9ERUZBVUxUEAASEAoMRU5VTV9MQUJFTF8xEAESEAoMRU5VTV9MQUJFTF8yEAISEAoMRU5VTV9MQUJFTF8zEAMSEAoMRU5VTV9MQUJFTF80EAQSEAoMRU5VTV9MQUJFTF81EAUSEAoMRU5VTV9MQUJFTF82EAYSEAoMRU5VTV9MQUJFTF83EAcSEAoMRU5VTV9MQUJFTF84EAgSEAoMRU5VTV9MQUJFTF85EAkSEQoNRU5VTV9MQUJFTF8xMBAKEhEKDUVOVU1fTEFCRUxfMTEQCxIRCg1FTlVNX0xBQkVMXzEyEAwSEQoNRU5VTV9MQUJFTF8xMxANEhEKDUVOVU1fTEFCRUxfMTQQDhIRCg1FTlVNX0xBQkVMXzE1EA8SEQoNRU5VTV9MQUJFTF8xNhAQEhEKDUVOVU1fTEFCRUxfMTcQERIRCg1FTlVNX0xBQkVMXzE4EBISEQoNRU5VTV9MQUJFTF8xORATEhEKDUVOVU1fTEFCRUxfMjAQFBIRCg1FTlVNX0xBQkVMXzIxEBUSEQoNRU5VTV9MQUJFTF8yMhAWEhEKDUVOVU1fTEFCRUxfMjMQFxIRCg1FTlVNX0xBQkVMXzI0EBgSEQoNRU5VTV9MQUJFTF8yNRAZEhEKDUVOVU1fTEFCRUxfMjYQGhIRCg1FTlVNX0xBQkVMXzI3EBsSEQoNRU5VTV9MQUJFTF8yOBAcEhEKDUVOVU1fTEFCRUxfMjkQHRIRCg1FTlVNX0xBQkVMXzMwEB4SEQoNRU5VTV9MQUJFTF8zMRAfEhEKDUVOVU1fTEFCRUxfMzIQIBIRCg1FTlVNX0xBQkVMXzMzECESEQoNRU5VTV9MQUJFTF8zNBAiEhEKDUVOVU1fTEFCRUxfMzUQIxIRCg1FTlVNX0xBQkVMXzM2ECQSEQoNRU5VTV9MQUJFTF8zNxAlEhEKDUVOVU1fTEFCRUxfMzgQJhIRCg1FTlVNX0xBQkVMXzM5ECcSEQoNRU5VTV9MQUJFTF80MBAoEhEKDUVOVU1fTEFCRUxfNDEQKRIRCg1FTlVNX0xBQkVMXzQyECoSEQoNRU5VTV9MQUJFTF80MxArEhEKDUVOVU1fTEFCRUxfNDQQLBIRCg1FTlVNX0xBQkVMXzQ1EC0SEQoNRU5VTV9MQUJFTF80NhAuEhEKDUVOVU1fTEFCRUxfNDcQLxIRCg1FTlVNX0xBQkVMXzQ4EDASEQoNRU5VTV9MQUJFTF80ORAxEhEKDUVOVU1fTEFCRUxfNTAQMhIRCg1FTlVNX0xBQkVMXzUxEDMSEQoNRU5VTV9MQUJFTF81MhA0EhEKDUVOVU1fTEFCRUxfNTMQNRIRCg1FTlVNX0xBQkVMXzU0EDYSEQoNRU5VTV9MQUJFTF81NRA3EhEKDUVOVU1fTEFCRUxfNTYQOBIRCg1FTlVNX0xBQkVMXzU3EDkSEQoNRU5VTV9MQUJFTF81OBA6EhEKDUVOVU1fTEFCRUxfNTkQOxIRCg1FTlVNX0xBQkVMXzYwEDwSEQoNRU5VTV9MQUJFTF82MRA9EhEKDUVOVU1fTEFCRUxfNjIQPhIRCg1FTlVNX0xBQkVMXzYzED8SEQoNRU5VTV9MQUJFTF82NBBAEhEKDUVOVU1fTEFCRUxfNjUQQRIRCg1FTlVNX0xBQkVMXzY2EEISEQoNRU5VTV9MQUJFTF82NxBDEhEKDUVOVU1fTEFCRUxfNjgQRBIRCg1FTlVNX0xBQkVMXzY5EEUSEQoNRU5VTV9MQUJFTF83MBBGEhEKDUVOVU1fTEFCRUxfNzEQRxIRCg1FTlVNX0xBQkVMXzcyEEgSEQoNRU5VTV9MQUJFTF83MxBJEhEKDUVOVU1fTEFCRUxfNzQQShIRCg1FTlVNX0xBQkVMXzc1EEsSEQoNRU5VTV9MQUJFTF83NhBMEhEKDUVOVU1fTEFCRUxfNzcQTRIRCg1FTlVNX0xBQkVMXzc4EE4SEQoNRU5VTV9MQUJFTF83ORBPEhEKDUVOVU1fTEFCRUxfODAQUBIRCg1FTlVNX0xBQkVMXzgxEFESEQoNRU5VTV9MQUJFTF84MhBSEhEKDUVOVU1fTEFCRUxfODMQUxIRCg1FTlVNX0xBQkVMXzg0EFQSEQoNRU5VTV9MQUJFTF84NRBVEhEKDUVOVU1fTEFCRUxfODYQVhIRCg1FTlVNX0xBQkVMXzg3EFcSEQoNRU5VTV9MQUJFTF84OBBYEhEKDUVOVU1fTEFCRUxfODkQWRIRCg1FTlVNX0xBQkVMXzkwEFoSEQoNRU5VTV9MQUJFTF85MRBbEhEKDUVOVU1fTEFCRUxfOTIQXBIRCg1FTlVNX0xBQkVMXzkzEF0SEQoNRU5VTV9MQUJFTF85NBBeEhEKDUVOVU1fTEFCRUxfOTUQXxIRCg1FTlVNX0xBQkVMXzk2EGASEQoNRU5VTV9MQUJFTF85NxBhEhEKDUVOVU1fTEFCRUxfOTgQYhIRCg1FTlVNX0xBQkVMXzk5EGMSEgoORU5VTV9MQUJFTF8xMDAQZDK1AQoLVGVzdFNlcnZpY2USUgoDRm9vEiQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvb1JlcXVlc3QaJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9vUmVzcG9uc2USUgoDQmFyEiQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkJhclJlcXVlc3QaJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuQmFyUmVzcG9uc2U6ZQoYb3B0aW9uYWxfaW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAEgASgFUhZvcHRpb25hbEludDMyRXh0ZW5zaW9uOmUKGG9wdGlvbmFsX2ludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgCIAEoA1IWb3B0aW9uYWxJbnQ2NEV4dGVuc2lvbjpnChlvcHRpb25hbF91aW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAMgASgNUhdvcHRpb25hbFVpbnQzMkV4dGVuc2lvbjpnChlvcHRpb25hbF91aW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAQgASgEUhdvcHRpb25hbFVpbnQ2NEV4dGVuc2lvbjpnChlvcHRpb25hbF9zaW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAUgASgRUhdvcHRpb25hbFNpbnQzMkV4dGVuc2lvbjpnChlvcHRpb25hbF9zaW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAYgASgSUhdvcHRpb25hbFNpbnQ2NEV4dGVuc2lvbjppChpvcHRpb25hbF9maXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgHIAEoB1IYb3B0aW9uYWxGaXhlZDMyRXh0ZW5zaW9uOmkKGm9wdGlvbmFsX2ZpeGVkNjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAggASgGUhhvcHRpb25hbEZpeGVkNjRFeHRlbnNpb246awobb3B0aW9uYWxfc2ZpeGVkMzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAkgASgPUhlvcHRpb25hbFNmaXhlZDMyRXh0ZW5zaW9uOmsKG29wdGlvbmFsX3NmaXhlZDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgKIAEoEFIZb3B0aW9uYWxTZml4ZWQ2NEV4dGVuc2lvbjplChhvcHRpb25hbF9mbG9hdF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYCyABKAJSFm9wdGlvbmFsRmxvYXRFeHRlbnNpb246ZwoZb3B0aW9uYWxfZG91YmxlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgMIAEoAVIXb3B0aW9uYWxEb3VibGVFeHRlbnNpb246YwoXb3B0aW9uYWxfYm9vbF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYDSABKAhSFW9wdGlvbmFsQm9vbEV4dGVuc2lvbjpnChlvcHRpb25hbF9zdHJpbmdfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGA4gASgJUhdvcHRpb25hbFN0cmluZ0V4dGVuc2lvbjplChhvcHRpb25hbF9ieXRlc19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYDyABKAxSFm9wdGlvbmFsQnl0ZXNFeHRlbnNpb246lwEKF29wdGlvbmFsZ3JvdXBfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBAgASgKMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLk9wdGlvbmFsR3JvdXBfZXh0ZW5zaW9uUhZvcHRpb25hbGdyb3VwRXh0ZW5zaW9uOqwBCiFvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYEiABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSHm9wdGlvbmFsTmVzdGVkTWVzc2FnZUV4dGVuc2lvbjqiAQoib3B0aW9uYWxfZm9yZWlnbl9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgTIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIfb3B0aW9uYWxGb3JlaWduTWVzc2FnZUV4dGVuc2lvbjqmAQohb3B0aW9uYWxfaW1wb3J0X21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBQgASgLMi4ucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRNZXNzYWdlUh5vcHRpb25hbEltcG9ydE1lc3NhZ2VFeHRlbnNpb246owEKHm9wdGlvbmFsX25lc3RlZF9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgVIAEoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bVIbb3B0aW9uYWxOZXN0ZWRFbnVtRXh0ZW5zaW9uOpkBCh9vcHRpb25hbF9mb3JlaWduX2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBYgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhxvcHRpb25hbEZvcmVpZ25FbnVtRXh0ZW5zaW9uOp0BCh5vcHRpb25hbF9pbXBvcnRfZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYFyABKA4yKy5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydEVudW1SG29wdGlvbmFsSW1wb3J0RW51bUV4dGVuc2lvbjp2Ch9vcHRpb25hbF9zdHJpbmdfcGllY2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBggASgJQgIIAlIcb3B0aW9uYWxTdHJpbmdQaWVjZUV4dGVuc2lvbjpjChdvcHRpb25hbF9jb3JkX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgZIAEoCVIVb3B0aW9uYWxDb3JkRXh0ZW5zaW9uOrkBCihvcHRpb25hbF9wdWJsaWNfaW1wb3J0X21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBogASgLMjQucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5QdWJsaWNJbXBvcnRNZXNzYWdlUiRvcHRpb25hbFB1YmxpY0ltcG9ydE1lc3NhZ2VFeHRlbnNpb246rAEKH29wdGlvbmFsX2xhenlfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYGyABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VCAigBUhxvcHRpb25hbExhenlNZXNzYWdlRXh0ZW5zaW9uOmUKGHJlcGVhdGVkX2ludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgfIAMoBVIWcmVwZWF0ZWRJbnQzMkV4dGVuc2lvbjplChhyZXBlYXRlZF9pbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYICADKANSFnJlcGVhdGVkSW50NjRFeHRlbnNpb246ZwoZcmVwZWF0ZWRfdWludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxghIAMoDVIXcmVwZWF0ZWRVaW50MzJFeHRlbnNpb246ZwoZcmVwZWF0ZWRfdWludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgiIAMoBFIXcmVwZWF0ZWRVaW50NjRFeHRlbnNpb246ZwoZcmVwZWF0ZWRfc2ludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgjIAMoEVIXcmVwZWF0ZWRTaW50MzJFeHRlbnNpb246ZwoZcmVwZWF0ZWRfc2ludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgkIAMoElIXcmVwZWF0ZWRTaW50NjRFeHRlbnNpb246aQoacmVwZWF0ZWRfZml4ZWQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYJSADKAdSGHJlcGVhdGVkRml4ZWQzMkV4dGVuc2lvbjppChpyZXBlYXRlZF9maXhlZDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgmIAMoBlIYcmVwZWF0ZWRGaXhlZDY0RXh0ZW5zaW9uOmsKG3JlcGVhdGVkX3NmaXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgnIAMoD1IZcmVwZWF0ZWRTZml4ZWQzMkV4dGVuc2lvbjprChtyZXBlYXRlZF9zZml4ZWQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYKCADKBBSGXJlcGVhdGVkU2ZpeGVkNjRFeHRlbnNpb246ZQoYcmVwZWF0ZWRfZmxvYXRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCkgAygCUhZyZXBlYXRlZEZsb2F0RXh0ZW5zaW9uOmcKGXJlcGVhdGVkX2RvdWJsZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYKiADKAFSF3JlcGVhdGVkRG91YmxlRXh0ZW5zaW9uOmMKF3JlcGVhdGVkX2Jvb2xfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCsgAygIUhVyZXBlYXRlZEJvb2xFeHRlbnNpb246ZwoZcmVwZWF0ZWRfc3RyaW5nX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgsIAMoCVIXcmVwZWF0ZWRTdHJpbmdFeHRlbnNpb246ZQoYcmVwZWF0ZWRfYnl0ZXNfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGC0gAygMUhZyZXBlYXRlZEJ5dGVzRXh0ZW5zaW9uOpcBChdyZXBlYXRlZGdyb3VwX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxguIAMoCjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5SZXBlYXRlZEdyb3VwX2V4dGVuc2lvblIWcmVwZWF0ZWRncm91cEV4dGVuc2lvbjqsAQohcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDAgAygLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlUh5yZXBlYXRlZE5lc3RlZE1lc3NhZ2VFeHRlbnNpb246ogEKInJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYMSADKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSH3JlcGVhdGVkRm9yZWlnbk1lc3NhZ2VFeHRlbnNpb246pgEKIXJlcGVhdGVkX2ltcG9ydF9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgyIAMoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0TWVzc2FnZVIecmVwZWF0ZWRJbXBvcnRNZXNzYWdlRXh0ZW5zaW9uOqMBCh5yZXBlYXRlZF9uZXN0ZWRfZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYMyADKA4yMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZEVudW1SG3JlcGVhdGVkTmVzdGVkRW51bUV4dGVuc2lvbjqZAQofcmVwZWF0ZWRfZm9yZWlnbl9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg0IAMoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVIccmVwZWF0ZWRGb3JlaWduRW51bUV4dGVuc2lvbjqdAQoecmVwZWF0ZWRfaW1wb3J0X2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDUgAygOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtUhtyZXBlYXRlZEltcG9ydEVudW1FeHRlbnNpb246dgofcmVwZWF0ZWRfc3RyaW5nX3BpZWNlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg2IAMoCUICCAJSHHJlcGVhdGVkU3RyaW5nUGllY2VFeHRlbnNpb246YwoXcmVwZWF0ZWRfY29yZF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYNyADKAlSFXJlcGVhdGVkQ29yZEV4dGVuc2lvbjqsAQofcmVwZWF0ZWRfbGF6eV9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg5IAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUICKAFSHHJlcGVhdGVkTGF6eU1lc3NhZ2VFeHRlbnNpb246ZwoXZGVmYXVsdF9pbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYPSABKAU6AjQxUhVkZWZhdWx0SW50MzJFeHRlbnNpb246ZwoXZGVmYXVsdF9pbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYPiABKAM6AjQyUhVkZWZhdWx0SW50NjRFeHRlbnNpb246aQoYZGVmYXVsdF91aW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGD8gASgNOgI0M1IWZGVmYXVsdFVpbnQzMkV4dGVuc2lvbjppChhkZWZhdWx0X3VpbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYQCABKAQ6AjQ0UhZkZWZhdWx0VWludDY0RXh0ZW5zaW9uOmoKGGRlZmF1bHRfc2ludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhBIAEoEToDLTQ1UhZkZWZhdWx0U2ludDMyRXh0ZW5zaW9uOmkKGGRlZmF1bHRfc2ludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhCIAEoEjoCNDZSFmRlZmF1bHRTaW50NjRFeHRlbnNpb246awoZZGVmYXVsdF9maXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhDIAEoBzoCNDdSF2RlZmF1bHRGaXhlZDMyRXh0ZW5zaW9uOmsKGWRlZmF1bHRfZml4ZWQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYRCABKAY6AjQ4UhdkZWZhdWx0Rml4ZWQ2NEV4dGVuc2lvbjptChpkZWZhdWx0X3NmaXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhFIAEoDzoCNDlSGGRlZmF1bHRTZml4ZWQzMkV4dGVuc2lvbjpuChpkZWZhdWx0X3NmaXhlZDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhGIAEoEDoDLTUwUhhkZWZhdWx0U2ZpeGVkNjRFeHRlbnNpb246aQoXZGVmYXVsdF9mbG9hdF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYRyABKAI6BDUxLjVSFWRlZmF1bHRGbG9hdEV4dGVuc2lvbjpsChhkZWZhdWx0X2RvdWJsZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYSCABKAE6BTUyMDAwUhZkZWZhdWx0RG91YmxlRXh0ZW5zaW9uOmcKFmRlZmF1bHRfYm9vbF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYSSABKAg6BHRydWVSFGRlZmF1bHRCb29sRXh0ZW5zaW9uOmwKGGRlZmF1bHRfc3RyaW5nX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhKIAEoCToFaGVsbG9SFmRlZmF1bHRTdHJpbmdFeHRlbnNpb246agoXZGVmYXVsdF9ieXRlc19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYSyABKAw6BXdvcmxkUhVkZWZhdWx0Qnl0ZXNFeHRlbnNpb246pgEKHWRlZmF1bHRfbmVzdGVkX2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGFEgASgOMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtOgNCQVJSGmRlZmF1bHROZXN0ZWRFbnVtRXh0ZW5zaW9uOqQBCh5kZWZhdWx0X2ZvcmVpZ25fZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYUiABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW06C0ZPUkVJR05fQkFSUhtkZWZhdWx0Rm9yZWlnbkVudW1FeHRlbnNpb246pwEKHWRlZmF1bHRfaW1wb3J0X2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGFMgASgOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtOgpJTVBPUlRfQkFSUhpkZWZhdWx0SW1wb3J0RW51bUV4dGVuc2lvbjp5Ch5kZWZhdWx0X3N0cmluZ19waWVjZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYVCABKAk6A2FiY0ICCAJSG2RlZmF1bHRTdHJpbmdQaWVjZUV4dGVuc2lvbjpmChZkZWZhdWx0X2NvcmRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGFUgASgJOgMxMjNSFGRlZmF1bHRDb3JkRXh0ZW5zaW9uOmEKFm9uZW9mX3VpbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYbyABKA1SFG9uZW9mVWludDMyRXh0ZW5zaW9uOqYBCh5vbmVvZl9uZXN0ZWRfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYcCABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSG29uZW9mTmVzdGVkTWVzc2FnZUV4dGVuc2lvbjphChZvbmVvZl9zdHJpbmdfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGHEgASgJUhRvbmVvZlN0cmluZ0V4dGVuc2lvbjpfChVvbmVvZl9ieXRlc19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYciABKAxSE29uZW9mQnl0ZXNFeHRlbnNpb246XAoTbXlfZXh0ZW5zaW9uX3N0cmluZxIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RmllbGRPcmRlcmluZ3MYMiABKAlSEW15RXh0ZW5zaW9uU3RyaW5nOlYKEG15X2V4dGVuc2lvbl9pbnQSLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEZpZWxkT3JkZXJpbmdzGAUgASgFUg5teUV4dGVuc2lvbkludDpoChZwYWNrZWRfaW50MzJfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGFogAygFQgIQAVIUcGFja2VkSW50MzJFeHRlbnNpb246aAoWcGFja2VkX2ludDY0X2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhbIAMoA0ICEAFSFHBhY2tlZEludDY0RXh0ZW5zaW9uOmoKF3BhY2tlZF91aW50MzJfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGFwgAygNQgIQAVIVcGFja2VkVWludDMyRXh0ZW5zaW9uOmoKF3BhY2tlZF91aW50NjRfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGF0gAygEQgIQAVIVcGFja2VkVWludDY0RXh0ZW5zaW9uOmoKF3BhY2tlZF9zaW50MzJfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGF4gAygRQgIQAVIVcGFja2VkU2ludDMyRXh0ZW5zaW9uOmoKF3BhY2tlZF9zaW50NjRfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGF8gAygSQgIQAVIVcGFja2VkU2ludDY0RXh0ZW5zaW9uOmwKGHBhY2tlZF9maXhlZDMyX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhgIAMoB0ICEAFSFnBhY2tlZEZpeGVkMzJFeHRlbnNpb246bAoYcGFja2VkX2ZpeGVkNjRfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGEgAygGQgIQAVIWcGFja2VkRml4ZWQ2NEV4dGVuc2lvbjpuChlwYWNrZWRfc2ZpeGVkMzJfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGIgAygPQgIQAVIXcGFja2VkU2ZpeGVkMzJFeHRlbnNpb246bgoZcGFja2VkX3NmaXhlZDY0X2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhjIAMoEEICEAFSF3BhY2tlZFNmaXhlZDY0RXh0ZW5zaW9uOmgKFnBhY2tlZF9mbG9hdF9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYZCADKAJCAhABUhRwYWNrZWRGbG9hdEV4dGVuc2lvbjpqChdwYWNrZWRfZG91YmxlX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhlIAMoAUICEAFSFXBhY2tlZERvdWJsZUV4dGVuc2lvbjpmChVwYWNrZWRfYm9vbF9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYZiADKAhCAhABUhNwYWNrZWRCb29sRXh0ZW5zaW9uOo0BChVwYWNrZWRfZW51bV9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYZyADKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1CAhABUhNwYWNrZWRFbnVtRXh0ZW5zaW9uOm4KGHVucGFja2VkX2ludDMyX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGFogAygFQgIQAFIWdW5wYWNrZWRJbnQzMkV4dGVuc2lvbjpuChh1bnBhY2tlZF9pbnQ2NF9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhbIAMoA0ICEABSFnVucGFja2VkSW50NjRFeHRlbnNpb246cAoZdW5wYWNrZWRfdWludDMyX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGFwgAygNQgIQAFIXdW5wYWNrZWRVaW50MzJFeHRlbnNpb246cAoZdW5wYWNrZWRfdWludDY0X2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGF0gAygEQgIQAFIXdW5wYWNrZWRVaW50NjRFeHRlbnNpb246cAoZdW5wYWNrZWRfc2ludDMyX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGF4gAygRQgIQAFIXdW5wYWNrZWRTaW50MzJFeHRlbnNpb246cAoZdW5wYWNrZWRfc2ludDY0X2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGF8gAygSQgIQAFIXdW5wYWNrZWRTaW50NjRFeHRlbnNpb246cgoadW5wYWNrZWRfZml4ZWQzMl9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhgIAMoB0ICEABSGHVucGFja2VkRml4ZWQzMkV4dGVuc2lvbjpyChp1bnBhY2tlZF9maXhlZDY0X2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGEgAygGQgIQAFIYdW5wYWNrZWRGaXhlZDY0RXh0ZW5zaW9uOnQKG3VucGFja2VkX3NmaXhlZDMyX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGIgAygPQgIQAFIZdW5wYWNrZWRTZml4ZWQzMkV4dGVuc2lvbjp0Cht1bnBhY2tlZF9zZml4ZWQ2NF9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhjIAMoEEICEABSGXVucGFja2VkU2ZpeGVkNjRFeHRlbnNpb246bgoYdW5wYWNrZWRfZmxvYXRfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYZCADKAJCAhAAUhZ1bnBhY2tlZEZsb2F0RXh0ZW5zaW9uOnAKGXVucGFja2VkX2RvdWJsZV9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhlIAMoAUICEABSF3VucGFja2VkRG91YmxlRXh0ZW5zaW9uOmwKF3VucGFja2VkX2Jvb2xfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYZiADKAhCAhAAUhV1bnBhY2tlZEJvb2xFeHRlbnNpb246kwEKF3VucGFja2VkX2VudW1fZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYZyADKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1CAhAAUhV1bnBhY2tlZEVudW1FeHRlbnNpb246gAEKDnRlc3RfYWxsX3R5cGVzEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RIdWdlRmllbGROdW1iZXJzGOCq//8BIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSDHRlc3RBbGxUeXBlczqEAQoldGVzdF9leHRlbnNpb25faW5zaWRlX3RhYmxlX2V4dGVuc2lvbhIyLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RXh0ZW5zaW9uSW5zaWRlVGFibGUYBSABKAVSIXRlc3RFeHRlbnNpb25JbnNpZGVUYWJsZUV4dGVuc2lvbkIySAGAAQGIAQGQAQH4AQGqAiFHb29nbGUuUHJvdG9idWYuVGVzdFByb3Rvcy5Qcm90bzJK5qwDCgcSBQ8AxggBCuoDCgEMEgMPABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKMtMBIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIEEgcHJvdG8gZmlsZSB3ZSB3aWxsIHVzZSBmb3IgdW5pdCB0ZXN0aW5nLgoKIExJTlQ6IEFMTE9XX0dST1VQUywgTEVHQUNZX05BTUVTCgoICgEIEgMTACIKgAEKAggQEgMTACIaZyBTb21lIGdlbmVyaWNfc2VydmljZXMgb3B0aW9uKHMpIGFkZGVkIGF1dG9tYXRpY2FsbHkuCiBTZWU6ICBodHRwOi8vZ28vcHJvdG8yLWdlbmVyaWMtc2VydmljZXMtZGVmYXVsdAoiDCBhdXRvLWFkZGVkCgoICgEIEgMUACQKFwoCCBESAxQAJCIMIGF1dG8tYWRkZWQKCggKAQgSAxUAIgoXCgIIEhIDFQAiIgwgYXV0by1hZGRlZAoKCAoBCBIDFgAfCgkKAggfEgMWAB8KCQoCAwASAxgALQrmAQoBAhIDHQAhGtsBIFdlIGRvbid0IHB1dCB0aGlzIGluIGEgcGFja2FnZSB3aXRoaW4gcHJvdG8yIGJlY2F1c2Ugd2UgbmVlZCB0byBtYWtlIHN1cmUKIHRoYXQgdGhlIGdlbmVyYXRlZCBjb2RlIGRvZXNuJ3QgZGVwZW5kIG9uIGJlaW5nIGluIHRoZSBwcm90bzIgbmFtZXNwYWNlLgogSW4gdGVzdF91dGlsLmggd2UgZG8gInVzaW5nIG5hbWVzcGFjZSB1bml0dGVzdCA9IHByb3RvYnVmX3VuaXR0ZXN0Ii4KCggK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AgoKDQoFBDACAQUSBPUFCxAKDQoFBDACAQESBPUFER0KDQoFBDACAQMSBPUFICIKDQoFBDACAQgSBPUFIzIKDgoGBDACAQgCEgT1BSQxCgwKBAQwAgISBPYFAjUKDQoFBDACAgQSBPYFAgoKDQoFBDACAgUSBPYFCxEKDQoFBDACAgESBPYFEh8KDQoFBDACAgMSBPYFIiQKDQoFBDACAggSBPYFJTQKDgoGBDACAggCEgT2BSYzCgwKBAQwAgMSBPcFAjUKDQoFBDACAwQSBPcFAgoKDQoFBDACAwUSBPcFCxEKDQoFBDACAwESBPcFEh8KDQoFBDACAwMSBPcFIiQKDQoFBDACAwgSBPcFJTQKDgoGBDACAwgCEgT3BSYzCgwKBAQwAgQSBPgFAjUKDQoFBDACBAQSBPgFAgoKDQoFBDACBAUSBPgFCxEKDQoFBDACBAESBPgFEh8KDQoFBDACBAMSBPgFIiQKDQoFBDACBAgSBPgFJTQKDgoGBDACBAgCEgT4BSYzCgwKBAQwAgUSBPkFAjUKDQoFBDACBQQSBPkFAgoKDQoFBDACBQUSBPkFCxEKDQoFBDACBQESBPkFEh8KDQoFBDACBQMSBPkFIiQKDQoFBDACBQgSBPkFJTQKDgoGBDACBQgCEgT5BSYzCgwKBAQwAgYSBPoFAjcKDQoFBDACBgQSBPoFAgoKDQoFBDACBgUSBPoFCxIKDQoFBDACBgESBPoFEyEKDQoFBDACBgMSBPoFJCYKDQoFBDACBggSBPoFJzYKDgoGBDACBggCEgT6BSg1CgwKBAQwAgcSBPsFAjcKDQoFBDACBwQSBPsFAgoKDQoFBDACBwUSBPsFCxIKDQoFBDACBwESBPsFEyEKDQoFBDACBwMSBPsFJCYKDQoFBDACBwgSBPsFJzYKDgoGBDACBwgCEgT7BSg1CgwKBAQwAggSBPwFAjkKDQoFBDACCAQSBPwFAgoKDQoFBDACCAUSBPwFCxMKDQoFBDACCAESBPwFFCMKDQoFBDACCAMSBPwFJigKDQoFBDACCAgSBPwFKTgKDgoGBDACCAgCEgT8BSo3CgwKBAQwAgkSBP0FAjkKDQoFBDACCQQSBP0FAgoKDQoFBDACCQUSBP0FCxMKDQoFBDACCQESBP0FFCMKDQoFBDACCQMSBP0FJigKDQoFBDACCQgSBP0F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bzozCgNvcHQSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY0IYDIAEoCVIDb3B0Qh2qAhpVbml0VGVzdC5Jc3N1ZXMuVGVzdFByb3Rvc0rLBAoGEgQHABUBCpQCCgEMEgMHABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCggKAQISAwkAGAoICgEIEgMLADcKCQoCCCUSAwsANwrEAQoCAwASAxEAKjK4ASBUaGlzIGZpbGUgaXMgdXNlZCBhcyBwYXJ0IG9mIGEgdW5pdCB0ZXN0IGZvciBpc3N1ZSA2OTM2CiBXZSBkb24ndCBuZWVkIHRvIHVzZSBpdCwgd2UganVzdCBoYXZlIHRvIGltcG9ydCBpdCBpbiBib3RoCiAiZXh0ZW5zaW9uc19pc3N1ZTY5MzZfYi5wcm90byIgYW5kICJleHRlbnNpb25zX2lzc3VlNjkzNl9jLnByb3RvIgoKCQoBBxIEEwAVAQoJCgIHABIDFAIVCgoKAwcAAhIDEwclCgoKAwcABRIDFAIICgoKAwcAARIDFAkMCgoKAwcAAxIDFA8UYgZwcm90bzMKrQUKKGNzaGFycC9wcm90b3MvdW5pdHRlc3RfaXNzdWU2OTM2X2IucHJvdG8SD3VuaXR0ZXN0X2lzc3VlcxooY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pc3N1ZTY5MzZfYS5wcm90byIOCgNGb286B4K1GANmb29CHaoCGlVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9zSo4ECgYSBAcAFQEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKCAoBAhIDCQAYCgkKAgMAEgMLADIKCAoBCBIDDQA3CgkKAgglEgMNADcKmwEKAgQAEgQTABUBMo4BIFRoaXMgZmlsZSBpcyB1c2VkIGFzIHBhcnQgb2YgYSB1bml0IHRlc3QgZm9yIGlzc3VlIDY5MzYKIFdlIGRvbid0IG5lZWQgdG8gdXNlIGl0LCB3ZSBqdXN0IGhhdmUgdG8gaW1wb3J0IGl0IGluCiAidW5pdHRlc3RfaXNzdWU2OTM2X2MucHJvdG8iCgoKCgMEAAESAxMICwoKCgMEAAcSAxQCFwoNCgYEAAfQhgMSAxQCF2IGcHJvdG8zCqgGCihjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3VlNjkzNl9jLnByb3RvEg91bml0dGVzdF9pc3N1ZXMaKGNzaGFycC9wcm90b3MvdW5pdHRlc3RfaXNzdWU2OTM2X2EucHJvdG8aKGNzaGFycC9wcm90b3MvdW5pdHRlc3RfaXNzdWU2OTM2X2IucHJvdG8iNgoDQmFyEiYKA2ZvbxgBIAEoCzIULnVuaXR0ZXN0X2lzc3Vlcy5Gb29SA2ZvbzoHgrUYA2JhckIdqgIaVW5pdFRlc3QuSXNzdWVzLlRlc3RQcm90b3NKtwQKBhIEBwAXAQqUAgoBDBIDBwASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgoICgECEgMJABgKCQoCAwASAwsAMgoJCgIDARIDDAAyCggKAQgSAw4ANwoJCgIIJRIDDgA3CoIBCgIEABIEEwAXATJ2IFRoaXMgZmlsZSBpcyB1c2VkIGFzIHBhcnQgb2YgYSB1bml0IHRlc3QgZm9yIGlzc3VlIDY5MzYKIFdlIGRvbid0IG5lZWQgdG8gdXNlIGl0LCB3ZSBqdXN0IGhhdmUgdG8gbG9hZCBpdCBhdCBydW50aW1lCgoKCgMEAAESAxMICwoKCgMEAAcSAxQCFwoNCgYEAAfQhgMSAxQCFwoLCgQEAAIAEgMWAg4KDAoFBAACAAYSAxYCBQoMCgUEAAIAARIDFgYJCgwKBQQAAgADEgMWDA1iBnByb3RvMwq7Dgo0Y3NoYXJwL3Byb3Rvcy91bml0dGVzdF9zZWxmcmVmZXJlbnRpYWxfb3B0aW9ucy5wcm90bxIpcHJvdG9idWZfdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvIlkKCkZvb09wdGlvbnMSJgoHaW50X29wdBgBIAEoBUINyj4KCAHAPgLKPgIIA1IGaW50T3B0EhgKA2ZvbxgCIAEoBUIGyj4DENIJUgNmb28qCQjoBxCAgICAAjpFCgtiYXJfb3B0aW9ucxIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMY6AcgASgFQgTAPtIJUgpiYXJPcHRpb25zOnYKC2Zvb19vcHRpb25zEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxjpByABKAsyNS5wcm90b2J1Zl91bml0dGVzdF9zZWxmcmVmZXJlbnRpYWxfb3B0aW9ucy5Gb29PcHRpb25zUgpmb29PcHRpb25zOlYKC2Zvb19pbnRfb3B0EjUucHJvdG9idWZfdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMuRm9vT3B0aW9ucxjoByABKAVSCWZvb0ludE9wdDqNAQoLZm9vX2Zvb19v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dGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiAEMKCQoCCAsSAyIAQwoICgEIEgMjACwKCQoCCAESAyMALAoICgEIEgMkACkKCQoCCAgSAyQAKQoICgEIEgMlACIKCQoCCAoSAyUAIgoICgEIEgMmACEKCQoCCCQSAyYAIQoICgEIEgMnADsKCQoCCCUSAycAOwr8EQoCBAASBX8AoQEBGu4RIGBBbnlgIGNvbnRhaW5zIGFuIGFyYml0cmFyeSBzZXJpYWxpemVkIHByb3RvY29sIGJ1ZmZlciBtZXNzYWdlIGFsb25nIHdpdGggYQogVVJMIHRoYXQgZGVzY3JpYmVzIHRoZSB0eXBlIG9mIHRoZSBzZXJpYWxpemVkIG1lc3NhZ2UuCgogUHJvdG9idWYgbGlicmFyeSBwcm92aWRlcyBzdXBwb3J0IHRvIHBhY2svdW5wYWNrIEFueSB2YWx1ZXMgaW4gdGhlIGZvcm0KIG9mIHV0aWxpdHkgZnVuY3Rpb25zIG9yIGFkZGl0aW9uYWwgZ2VuZXJhdGVkIG1ldGhvZHMgb2YgdGhlIEFueSB0eXBlLgoKIEV4YW1wbGUgMTogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBDKysuCgogICAgIEZvbyBmb28gPSAuLi47CiAgICAgQW55IGFueTsKICAgICBhbnkuUGFja0Zyb20oZm9vKTsKICAgICAuLi4KICAgICBpZiAoYW55LlVucGFja1RvKCZmb28pKSB7CiAgICAgICAuLi4KICAgICB9CgogRXhhbXBsZSAyOiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIEphdmEuCgogICAgIEZvbyBmb28gPSAuLi47CiAgICAgQW55IGFueSA9IEFueS5wYWNrKGZvbyk7CiAgICAgLi4uCiAgICAgaWYgKGFueS5pcyhGb28uY2xhc3MpKSB7CiAgICAgICBmb28gPSBhbnkudW5wYWNrKEZvby5jbGFzcyk7CiAgICAgfQogICAgIC8vIG9yIC4uLgogICAgIGlmIChhbnkuaXNTYW1lVHlwZUFzKEZvby5nZXREZWZhdWx0SW5zdGFuY2UoKSkpIHsKICAgICAgIGZvbyA9IGFueS51bnBhY2soRm9vLmdldERlZmF1bHRJbnN0YW5jZSgpKTsKICAgICB9CgogIEV4YW1wbGUgMzogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBQeXRob24uCgogICAgIGZvbyA9IEZvbyguLi4pCiAgICAgYW55ID0gQW55KCkKICAgICBhbnkuUGFjayhmb28pCiAgICAgLi4uCiAgICAgaWYgYW55LklzKEZvby5ERVNDUklQVE9SKToKICAgICAgIGFueS5VbnBhY2soZm9vKQogICAgICAgLi4uCgogIEV4YW1wbGUgNDogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBHbwoKICAgICAgZm9vIDo9ICZwYi5Gb297Li4ufQogICAgICBhbnksIGVyciA6PSBhbnlwYi5OZXcoZm9vKQogICAgICBpZiBlcnIgIT0gbmlsIHsKICAgICAgICAuLi4KICAgICAgfQogICAgICAuLi4KICAgICAgZm9vIDo9ICZwYi5Gb297fQogICAgICBpZiBlcnIgOj0gYW55LlVubWFyc2hhbFRvKGZvbyk7IGVyciAhPSBuaWwgewogICAgICAgIC4uLgogICAgICB9CgogVGhlIHBhY2sgbWV0aG9kcyBwcm92aWRlZCBieSBwcm90b2J1ZiBsaWJyYXJ5IHdpbGwgYnkgZGVmYXVsdCB1c2UKICd0eXBlLmdvb2dsZWFwaXMuY29tL2Z1bGwudHlwZS5uYW1lJyBhcyB0aGUgdHlwZSBVUkwgYW5kIHRoZSB1bnBhY2sKIG1ldGhvZHMgb25seSB1c2UgdGhlIGZ1bGx5IHF1YWxpZmllZCB0eXBlIG5hbWUgYWZ0ZXIgdGhlIGxhc3QgJy8nCiBpbiB0aGUgdHlwZSBVUkwsIGZvciBleGFtcGxlICJmb28uYmFyLmNvbS94L3kueiIgd2lsbCB5aWVsZCB0eXBlCiBuYW1lICJ5LnoiLgoKIEpTT04KID09PT0KIFRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGFuIGBBbnlgIHZhbHVlIHVzZXMgdGhlIHJlZ3VsYXIKIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkZXNlcmlhbGl6ZWQsIGVtYmVkZGVkIG1lc3NhZ2UsIHdpdGggYW4KIGFkZGl0aW9uYWwgZmllbGQgYEB0eXBlYCB3aGljaCBjb250YWlucyB0aGUgdHlwZSBVUkwuIEV4YW1wbGU6CgogICAgIHBhY2thZ2UgZ29vZ2xlLnByb2ZpbGU7CiAgICAgbWVzc2FnZSBQZXJzb24gewogICAgICAgc3RyaW5nIGZpcnN0X25hbWUgPSAxOwogICAgICAgc3RyaW5nIGxhc3RfbmFtZSA9IDI7CiAgICAgfQoKICAgICB7CiAgICAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucHJvZmlsZS5QZXJzb24iLAogICAgICAgImZpcnN0TmFtZSI6IDxzdHJpbmc+LAogICAgICAgImxhc3ROYW1lIjogPHN0cmluZz4KICAgICB9CgogSWYgdGhlIGVtYmVkZGVkIG1lc3NhZ2UgdHlwZSBpcyB3ZWxsLWtub3duIGFuZCBoYXMgYSBjdXN0b20gSlNPTgogcmVwcmVzZW50YXRpb24sIHRoYXQgcmVwcmVzZW50YXRpb24gd2lsbCBiZSBlbWJlZGRlZCBhZGRpbmcgYSBmaWVsZAogYHZhbHVlYCB3aGljaCBob2xkcyB0aGUgY3VzdG9tIEpTT04gaW4gYWRkaXRpb24gdG8gdGhlIGBAdHlwZWAKIGZpZWxkLiBFeGFtcGxlIChmb3IgbWVzc2FnZSBbZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uXVtdKToKCiAgICAgewogICAgICAgIkB0eXBlIjogInR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIiwKICAgICAgICJ2YWx1ZSI6ICIxLjIxMnMiCiAgICAgfQoKCgoKAwQAARIDfwgLCrwLCgQEAAIAEgSdAQIWGq0LIEEgVVJML3Jlc291cmNlIG5hbWUgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSB0eXBlIG9mIHRoZSBzZXJpYWxpemVkCiBwcm90b2NvbCBidWZmZXIgbWVzc2FnZS4gVGhpcyBzdHJpbmcgbXVzdCBjb250YWluIGF0IGxlYXN0CiBvbmUgIi8iIGNoYXJhY3Rlci4gVGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgVVJMJ3MgcGF0aCBtdXN0IHJlcHJlc2VudAogdGhlIGZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIHRoZSB0eXBlIChhcyBpbgogYHBhdGgvZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uYCkuIFRoZSBuYW1lIHNob3VsZCBiZSBpbiBhIGNhbm9uaWNhbCBmb3JtCiAoZS5nLiwgbGVhZGluZyAiLiIgaXMgbm90IGFjY2VwdGVkKS4KCiBJbiBwcmFjdGljZSwgdGVhbXMgdXN1YWxseSBwcmVjb21waWxlIGludG8gdGhlIGJpbmFyeSBhbGwgdHlwZXMgdGhhdCB0aGV5CiBleHBlY3QgaXQgdG8gdXNlIGluIHRoZSBjb250ZXh0IG9mIEFueS4gSG93ZXZlciwgZm9yIFVSTHMgd2hpY2ggdXNlIHRoZQogc2NoZW1lIGBodHRwYCwgYGh0dHBzYCwgb3Igbm8gc2NoZW1lLCBvbmUgY2FuIG9wdGlvbmFsbHkgc2V0IHVwIGEgdHlwZQogc2VydmVyIHRoYXQgbWFwcyB0eXBlIFVSTHMgdG8gbWVzc2FnZSBkZWZpbml0aW9ucyBhcyBmb2xsb3dzOgoKICogSWYgbm8gc2NoZW1lIGlzIHByb3ZpZGVkLCBgaHR0cHNgIGlzIGFzc3VtZWQuCiAqIEFuIEhUVFAgR0VUIG9uIHRoZSBVUkwgbXVzdCB5aWVsZCBhIFtnb29nbGUucHJvdG9idWYuVHlwZV1bXQogICB2YWx1ZSBpbiBiaW5hcnkgZm9ybWF0LCBvciBwcm9kdWNlIGFuIGVycm9yLgogKiBBcHBsaWNhdGlvbnMgYXJlIGFsbG93ZWQgdG8gY2FjaGUgbG9va3VwIHJlc3VsdHMgYmFzZWQgb24gdGhlCiAgIFVSTCwgb3IgaGF2ZSB0aGVtIHByZWNvbXBpbGVkIGludG8gYSBiaW5hcnkgdG8gYXZvaWQgYW55CiAgIGxvb2t1cC4gVGhlcmVmb3JlLCBiaW5hcnkgY29tcGF0aWJpbGl0eSBuZWVkcyB0byBiZSBwcmVzZXJ2ZWQKICAgb24gY2hhbmdlcyB0byB0eXBlcy4gKFVzZSB2ZXJzaW9uZWQgdHlwZSBuYW1lcyB0byBtYW5hZ2UKICAgYnJlYWtpbmcgY2hhbmdlcy4pCgogTm90ZTogdGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIGluIHRoZSBvZmZpY2lhbAogcHJvdG9idWYgcmVsZWFzZSwgYW5kIGl0IGlzIG5vdCB1c2VkIGZvciB0eXBlIFVSTHMgYmVnaW5uaW5nIHdpdGgKIHR5cGUuZ29vZ2xlYXBpcy5jb20uIEFzIG9mIE1heSAyMDIzLCB0aGVyZSBhcmUgbm8gd2lkZWx5IHVzZWQgdHlwZSBzZXJ2ZXIKIGltcGxlbWVudGF0aW9ucyBhbmQgbm8gcGxhbnMgdG8gaW1wbGVtZW50IG9uZS4KCiBTY2hlbWVzIG90aGVyIHRoYW4gYGh0dHBgLCBgaHR0cHNgIChvciB0aGUgZW1wdHkgc2NoZW1lKSBtaWdodCBiZQogdXNlZCB3aXRoIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHNlbWFudGljcy4KCgoNCgUEAAIABRIEnQECCAoNCgUEAAIAARIEnQEJEQoNCgUEAAIAAxIEnQEUFQpXCgQEAAIBEgSgAQISGkkgTXVzdCBiZSBhIHZhbGlkIHNlcmlhbGl6ZWQgcHJvdG9jb2wgYnVmZmVyIG9mIHRoZSBhYm92ZSBzcGVjaWZpZWQgdHlwZS4KCg0KBQQAAgEFEgSgAQIHCg0KBQQAAgEBEgSgAQgNCg0KBQQAAgEDEgSgARARYgZwcm90bzMKvhIKJGdvb2dsZS9wcm90b2J1Zi9zb3VyY2VfY29udGV4dC5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiwKDVNvdXJjZUNvbnRleHQSGwoJZmlsZV9uYW1lGAEgASgJUghmaWxlTmFtZUKKAQoTY29tLmdvb2dsZS5wcm90b2J1ZkISU291cmNlQ29udGV4dFByb3RvUAFaNmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3NvdXJjZWNvbnRleHRwYqICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0rBEAoGEgQeAC8BCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgAsCgkKAggBEgMiACwKCAoBCBIDIwAzCgkKAggIEgMjADMKCAoBCBIDJAAiCgkKAggKEgMkACIKCAoBCBIDJQAhCgkKAggkEgMlACEKCAoBCBIDJgA7CgkKAgglEgMmADsKCAoBCBIDJwBNCgkKAggLEgMnAE0KgwEKAgQAEgQrAC8BGncgYFNvdXJjZUNvbnRleHRgIHJlcHJlc2VudHMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNvdXJjZSBvZiBhCiBwcm90b2J1ZiBlbGVtZW50LCBsaWtlIHRoZSBmaWxlIGluIHdoaWNoIGl0IGlzIGRlZmluZWQuCgoKCgMEAAESAysIFQqjAQoEBAACABIDLgIXGpUBIFRoZSBwYXRoLXF1YWxpZmllZCBuYW1lIG9mIHRoZSAucHJvdG8gZmlsZSB0aGF0IGNvbnRhaW5lZCB0aGUgYXNzb2NpYXRlZAogcHJvdG9idWYgZWxlbWVudC4gIEZvciBleGFtcGxlOiBgImdvb2dsZS9wcm90b2J1Zi9zb3VyY2VfY29udGV4dC5wcm90byJgLgoKDAoFBAACAAUSAy4CCAoMCgUEAAIAARIDLgkSCgwKBQQAAgADEgMuFRZiBnByb3RvMwr7SQoaZ29vZ2xlL3Byb3RvYnVmL3R5cGUucHJvdG8SD2dvb2dsZS5wcm90b2J1ZhoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxokZ29vZ2xlL3Byb3RvYnVmL3NvdXJjZV9jb250ZXh0LnByb3RvIqcCCgRUeXBlEhIKBG5hbWUYASABKAlSBG5hbWUSLgoGZmllbGRzGAIgAygLMhYuZ29vZ2xlLnByb3RvYnVmLkZpZWxkUgZmaWVsZHMSFgoGb25lb2ZzGAMgAygJUgZvbmVvZnMSMQoHb3B0aW9ucxgEIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb25SB29wdGlvbnMSRQoOc291cmNlX2NvbnRleHQYBSABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFINc291cmNlQ29udGV4dBIvCgZzeW50YXgYBiABKA4yFy5nb29nbGUucHJvdG9idWYuU3ludGF4UgZzeW50YXgSGAoHZWRpdGlvbhgHIAEoCVIHZWRpdGlvbiK0BgoFRmllbGQSLwoEa2luZBgBIAEoDjIbLmdvb2dsZS5wcm90b2J1Zi5GaWVsZC5LaW5kUgRraW5kEkQKC2NhcmRpbmFsaXR5GAIgASgOMiIuZ29vZ2xlLnByb3RvYnVmLkZpZWxkLkNhcmRpbmFsaXR5UgtjYXJkaW5hbGl0eRIWCgZudW1iZXIYAyABKAVSBm51bWJlchISCgRuYW1lGAQgASgJUgRuYW1lEhkKCHR5cGVfdXJsGAYgASgJUgd0eXBlVXJsEh8KC29uZW9mX2luZGV4GAcgASgFUgpvbmVvZkluZGV4EhYKBnBhY2tlZBgIIAEoCFIGcGFja2VkEjEKB29wdGlvbnMYCSADKAsyFy5nb29nbGUucHJvdG9idWYuT3B0aW9uUgdvcHRpb25zEhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSIwoNZGVmYXVsdF92YWx1ZRgLIAEoCVIMZGVmYXVsdFZhbHVlIsgCCgRLaW5kEhAKDFRZUEVfVU5LTk9XThAAEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJ0CgtDYXJkaW5hbGl0eRIXChNDQVJESU5BTElUWV9VTktOT1dOEAASGAoUQ0FSRElOQUxJVFlfT1BUSU9OQUwQARIYChRDQVJESU5BTElUWV9SRVFVSVJFRBACEhgKFENBUkRJTkFMSVRZX1JFUEVBVEVEEAMimQIKBEVudW0SEgoEbmFtZRgBIAEoCVIEbmFtZRI4CgllbnVtdmFsdWUYAiADKAsyGi5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlUgllbnVtdmFsdWUSMQoHb3B0aW9ucxgDIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb25SB29wdGlvbnMSRQoOc291cmNlX2NvbnRleHQYBCABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFINc291cmNlQ29udGV4dBIvCgZzeW50YXgYBSABKA4yFy5nb29nbGUucHJvdG9idWYuU3ludGF4UgZzeW50YXgSGAoHZWRpdGlvbhgGIAEoCVIHZWRpdGlvbiJqCglFbnVtVmFsdWUSEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAiABKAVSBm51bWJlchIxCgdvcHRpb25zGAMgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvblIHb3B0aW9ucyJICgZPcHRpb24SEgoEbmFtZRgBIAEoCVIEbmFtZRIqCgV2YWx1ZRgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBXZhbHVlKkMKBlN5bnRheBIRCg1TWU5UQVhfUFJPVE8yEAASEQoNU1lOVEFYX1BST1RPMxABEhMKD1NZTlRBWF9FRElUSU9OUxACQnsKE2NvbS5nb29nbGUucHJvdG9idWZCCVR5cGVQcm90b1ABWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi90eXBlcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKjTsKBxIFHgDAAQEKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB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bGVtZW50IGlzIGRlZmluZWQuCgoLCgMFAAESBLkBBQsKIAoEBQACABIEuwECFBoSIFN5bnRheCBgcHJvdG8yYC4KCg0KBQUAAgABEgS7AQIPCg0KBQUAAgACEgS7ARITCiAKBAUAAgESBL0BAhQaEiBTeW50YXggYHByb3RvM2AuCgoNCgUFAAIBARIEvQECDwoNCgUFAAIBAhIEvQESEwoiCgQFAAICEgS/AQIWGhQgU3ludGF4IGBlZGl0aW9uc2AuCgoNCgUFAAICARIEvwECEQoNCgUFAAICAhIEvwEUFWIGcHJvdG8zCppDChlnb29nbGUvcHJvdG9idWYvYXBpLnByb3RvEg9nb29nbGUucHJvdG9idWYaJGdvb2dsZS9wcm90b2J1Zi9zb3VyY2VfY29udGV4dC5wcm90bxoaZ29vZ2xlL3Byb3RvYnVmL3R5cGUucHJvdG8iwQIKA0FwaRISCgRuYW1lGAEgASgJUgRuYW1lEjEKB21ldGhvZHMYAiADKAsyFy5nb29nbGUucHJvdG9idWYuTWV0aG9kUgdtZXRob2RzEjEKB29wdGlvbnMYAyADKAsyFy5nb29nbGUucHJvdG9idWYuT3B0aW9uUgdvcHRpb25zEhgKB3ZlcnNpb24YBCABKAlSB3ZlcnNpb24SRQoOc291cmNlX2NvbnRleHQYBSABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFINc291cmNlQ29udGV4dBIuCgZtaXhpbnMYBiADKAsyFi5nb29nbGUucHJvdG9idWYuTWl4aW5SBm1peGlucxIvCgZzeW50YXgYByABKA4yFy5nb29nbGUucHJvdG9idWYuU3ludGF4UgZzeW50YXgisgIKBk1ldGhvZBISCgRuYW1lGAEgASgJUgRuYW1lEigKEHJlcXVlc3RfdHlwZV91cmwYAiABKAlSDnJlcXVlc3RUeXBlVXJsEisKEXJlcXVlc3Rfc3RyZWFtaW5nGAMgASgIUhByZXF1ZXN0U3RyZWFtaW5nEioKEXJlc3BvbnNlX3R5cGVfdXJsGAQgASgJUg9yZXNwb25zZVR5cGVVcmwSLQoScmVzcG9uc2Vfc3RyZWFtaW5nGAUgASgIUhFyZXNwb25zZVN0cmVhbWluZxIxCgdvcHRpb25zGAYgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvblIHb3B0aW9ucxIvCgZzeW50YXgYByABKA4yFy5nb29nbGUucHJvdG9idWYuU3ludGF4UgZzeW50YXgiLwoFTWl4aW4SEgoEbmFtZRgBIAEoCVIEbmFtZRISCgRyb290GAIgASgJUgRyb290QnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFwaVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FwaXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSv87CgcSBR4AzgEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCQoCAwASAyIALgoJCgIDARIDIwAkCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYAKQoJCgIICBIDJgApCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCggKAQgSAykAOwoJCgIIJRIDKQA7CggKAQgSAyoAQwoJCgIICxIDKgBDCqsECgIEABIENQBfARqeBCBBcGkgaXMgYSBsaWdodC13ZWlnaHQgZGVzY3JpcHRvciBmb3IgYW4gQVBJIEludGVyZmFjZS4KCiBJbnRlcmZhY2VzIGFyZSBhbHNvIGRlc2NyaWJlZCBhcyAicHJvdG9jb2wgYnVmZmVyIHNlcnZpY2VzIiBpbiBzb21lIGNvbnRleHRzLAogc3VjaCBhcyBieSB0aGUgInNlcnZpY2UiIGtleXdvcmQgaW4gYSAucHJvdG8gZmlsZSwgYnV0IHRoZXkgYXJlIGRpZmZlcmVudAogZnJvbSBBUEkgU2VydmljZXMsIHdoaWNoIHJlcHJlc2VudCBhIGNvbmNyZXRlIGltcGxlbWVudGF0aW9uIG9mIGFuIGludGVyZmFjZQogYXMgb3Bwb3NlZCB0byBzaW1wbHkgYSBkZXNjcmlwdGlvbiBvZiBtZXRob2RzIGFuZCBiaW5kaW5ncy4gVGhleSBhcmUgYWxzbwogc29tZXRpbWVzIHNpbXBseSByZWZlcnJlZCB0byBhcyAiQVBJcyIgaW4gb3RoZXIgY29udGV4dHMsIHN1Y2ggYXMgdGhlIG5hbWUgb2YKIHRoaXMgbWVzc2FnZSBpdHNlbGYuIFNlZSBodHRwczovL2Nsb3VkLmdvb2dsZS5jb20vYXBpcy9kZXNpZ24vZ2xvc3NhcnkgZm9yCiBkZXRhaWxlZCB0ZXJtaW5vbG9neS4KCgoKAwQAARIDNQgLCnsKBAQAAgASAzgCEhpuIFRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGlzIGludGVyZmFjZSwgaW5jbHVkaW5nIHBhY2thZ2UgbmFtZQogZm9sbG93ZWQgYnkg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c3BhY2Ugc3RyaXBwaW5nLCB0aGUgZG9jdW1lbnRhdGlvbgogICBzdHJpbmcgb2YgdGhlIHJlZGVjbGFyZWQgbWV0aG9kIGlzIGVtcHR5LCBpdCB3aWxsIGJlIGluaGVyaXRlZAogICBmcm9tIHRoZSBvcmlnaW5hbCBtZXRob2QuCgogLSBFYWNoIGFubm90YXRpb24gYmVsb25naW5nIHRvIHRoZSBzZXJ2aWNlIGNvbmZpZyAoaHR0cCwKICAgdmlzaWJpbGl0eSkgd2hpY2ggaXMgbm90IHNldCBpbiB0aGUgcmVkZWNsYXJlZCBtZXRob2Qgd2lsbCBiZQogICBpbmhlcml0ZWQuCgogLSBJZiBhbiBodHRwIGFubm90YXRpb24gaXMgaW5oZXJpdGVkLCB0aGUgcGF0aCBwYXR0ZXJuIHdpbGwgYmUKICAgbW9kaWZpZWQgYXMgZm9sbG93cy4gQW55IHZlcnNpb24gcHJlZml4IHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlCiAgIHZlcnNpb24gb2YgdGhlIGluY2x1ZGluZyBpbnRlcmZhY2UgcGx1cyB0aGUgW3Jvb3RdW10gcGF0aCBpZgogICBzcGVjaWZpZWQuCgogRXhhbXBsZSBvZiBhIHNpbXBsZSBtaXhpbjoKCiAgICAgcGFja2FnZSBnb29nbGUuYWNsLnYxOwogICAgIHNlcnZpY2UgQWNjZXNzQ29udHJvbCB7CiAgICAgICAvLyBHZXQgdGhlIHVuZGVybHlpbmcgQUNMIG9iamVjdC4KICAgICAgIHJwYyBHZXRBY2woR2V0QWNsUmVxdWVzdCkgcmV0dXJucyAoQWNsKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKS5nZXQgPSAiL3YxL3tyZXNvdXJjZT0qKn06Z2V0QWNsIjsKICAgICAgIH0KICAgICB9CgogICAgIHBhY2thZ2UgZ29vZ2xlLnN0b3JhZ2UudjI7CiAgICAgc2VydmljZSBTdG9yYWdlIHsKICAgICAgIHJwYyBHZXRBY2woR2V0QWNsUmVxdWVzdCkgcmV0dXJucyAoQWNsKTsKCiAgICAgICAvLyBHZXQgYSBkYXRhIHJlY29yZC4KICAgICAgIHJwYyBHZXREYXRhKEdldERhdGFSZXF1ZXN0KSByZXR1cm5zIChEYXRhKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKS5nZXQgPSAiL3YyL3tyZXNvdXJjZT0qKn0iOwogICAgICAgfQogICAgIH0KCiBFeGFtcGxlIG9mIGEgbWl4aW4gY29uZmlndXJhdGlvbjoKCiAgICAgYXBpczoKICAgICAtIG5hbWU6IGdvb2dsZS5zdG9yYWdlLnYyLlN0b3JhZ2UKICAgICAgIG1peGluczoKICAgICAgIC0gbmFtZTogZ29vZ2xlLmFjbC52MS5BY2Nlc3NDb250cm9sCgogVGhlIG1peGluIGNvbnN0cnVjdCBpbXBsaWVzIHRoYXQgYWxsIG1ldGhvZHMgaW4gYEFjY2Vzc0NvbnRyb2xgIGFyZQogYWxzbyBkZWNsYXJlZCB3aXRoIHNhbWUgbmFtZSBhbmQgcmVxdWVzdC9yZXNwb25zZSB0eXBlcyBpbgogYFN0b3JhZ2VgLiBBIGRvY3VtZW50YXRpb24gZ2VuZXJhdG9yIG9yIGFubm90YXRpb24gcHJvY2Vzc29yIHdpbGwKIHNlZSB0aGUgZWZmZWN0aXZlIGBTdG9yYWdlLkdldEFjbGAgbWV0aG9kIGFmdGVyIGluaGVydGluZwogZG9jdW1lbnRhdGlvbiBhbmQgYW5ub3RhdGlvbnMgYXMgZm9sbG93czoKCiAgICAgc2VydmljZSBTdG9yYWdlIHsKICAgICAgIC8vIEdldCB0aGUgdW5kZXJseWluZyBBQ0wgb2JqZWN0LgogICAgICAgcnBjIEdldEFjbChHZXRBY2xSZXF1ZXN0KSByZXR1cm5zIChBY2wpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApLmdldCA9ICIvdjIve3Jlc291cmNlPSoqfTpnZXRBY2wiOwogICAgICAgfQogICAgICAgLi4uCiAgICAgfQoKIE5vdGUgaG93IHRoZSB2ZXJzaW9uIGluIHRoZSBwYXRoIHBhdHRlcm4gY2hhbmdlZCBmcm9tIGB2MWAgdG8gYHYyYC4KCiBJZiB0aGUgYHJvb3RgIGZpZWxkIGluIHRoZSBtaXhpbiBpcyBzcGVjaWZpZWQsIGl0IHNob3VsZCBiZSBhCiByZWxhdGl2ZSBwYXRoIHVuZGVyIHdoaWNoIGluaGVyaXRlZCBIVFRQIHBhdGhzIGFyZSBwbGFjZWQuIEV4YW1wbGU6CgogICAgIGFwaXM6CiAgICAgLSBuYW1lOiBnb29nbGUuc3RvcmFnZS52Mi5TdG9yYWdlCiAgICAgICBtaXhpbnM6CiAgICAgICAtIG5hbWU6IGdvb2dsZS5hY2wudjEuQWNjZXNzQ29udHJvbAogICAgICAgICByb290OiBhY2xzCgogVGhpcyBpbXBsaWVzIHRoZSBmb2xsb3dpbmcgaW5oZXJpdGVkIEhUVFAgYW5ub3RhdGlvbjoKCiAgICAgc2VydmljZSBTdG9yYWdlIHsKICAgICAgIC8vIEdldCB0aGUgdW5kZXJseWluZyBBQ0wgb2JqZWN0LgogICAgICAgcnBjIEdldEFjbChHZXRBY2xSZXF1ZXN0KSByZXR1cm5zIChBY2wpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApLmdldCA9ICIvdjIvYWNscy97cmVzb3VyY2U9Kip9OmdldEFjbCI7CiAgICAgICB9CiAgICAgICAuLi4KICAgICB9CgoLCgMEAgESBMcBCA0KTAoEBAICABIEyQECEho+IFRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgaW50ZXJmYWNlIHdoaWNoIGlzIGluY2x1ZGVkLgoKDQoFBAICAAUSBMkBAggKDQoFBAICAAESBMkBCQ0KDQoFBAICAAMSBMkBEBEKWwoEBAICARIEzQECEhpNIElmIG5vbi1lbXB0eSBzcGVjaWZpZXMgYSBwYXRoIHVuZGVyIHdoaWNoIGluaGVyaXRlZCBIVFRQIHBhdGhzCiBhcmUgcm9vdGVkLgoKDQoFBAICAQUSBM0BAggKDQoFBAICAQESBM0BCQ0KDQoFBAICAQMSBM0BEBFiBnByb3RvMwrXJQoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvEg9nb29nbGUucHJvdG9idWYiOgoIRHVyYXRpb24SGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCgwEKE2NvbS5nb29nbGUucHJvdG9idWZCDUR1cmF0aW9uUHJvdG9QAVoxZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vZHVyYXRpb25wYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0rZIwoGEgQeAHIBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgAfCgkKAggfEgMiAB8KCAoBCBIDIwBICgkKAggLEgMjAEgKCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQAuCgkKAggIEgMlAC4KCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEKCAoBCBIDKAA7CgkKAgglEgMoADsKnRAKAgQAEgRlAHIBGpAQIEEgRHVyYXRpb24gcmVwcmVzZW50cyBhIHNpZ25lZCwgZml4ZWQtbGVuZ3RoIHNwYW4gb2YgdGltZSByZXByZXNlbnRlZAogYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdCBuYW5vc2Vjb25kCiByZXNvbHV0aW9uLiBJdCBpcyBpbmRlcGVuZGVudCBvZiBhbnkgY2FsZW5kYXIgYW5kIGNvbmNlcHRzIGxpa2UgImRheSIKIG9yICJtb250aCIuIEl0IGlzIHJlbGF0ZWQgdG8gVGltZXN0YW1wIGluIHRoYXQgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbgogdHdvIFRpbWVzdGFtcCB2YWx1ZXMgaXMgYSBEdXJhdGlvbiBhbmQgaXQgY2FuIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQKIGZyb20gYSBUaW1lc3RhbXAuIFJhbmdlIGlzIGFwcHJveGltYXRlbHkgKy0xMCwwMDAgeWVhcnMuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBEdXJhdGlvbiBmcm9tIHR3byBUaW1lc3RhbXBzIGluIHBzZXVkbyBjb2RlLgoKICAgICBUaW1lc3RhbXAgc3RhcnQgPSAuLi47CiAgICAgVGltZXN0YW1wIGVuZCA9IC4uLjsKICAgICBEdXJhdGlvbiBkdXJhdGlvbiA9IC4uLjsKCiAgICAgZHVyYXRpb24uc2Vjb25kcyA9IGVuZC5zZWNvbmRzIC0gc3RhcnQuc2Vjb25kczsKICAgICBkdXJhdGlvbi5uYW5vcyA9IGVuZC5uYW5vcyAtIHN0YXJ0Lm5hbm9zOwoKICAgICBpZiAoZHVyYXRpb24uc2Vjb25kcyA8IDAgJiYgZHVyYXRpb24ubmFub3MgPiAwKSB7CiAgICAgICBkdXJhdGlvbi5zZWNvbmRzICs9IDE7CiAgICAgICBkdXJhdGlvbi5uYW5vcyAtPSAxMDAwMDAwMDAwOwogICAgIH0gZWxzZSBpZiAoZHVyYXRpb24uc2Vjb25kcyA+IDAgJiYgZHVyYXRpb24ubmFub3MgPCAwKSB7CiAgICAgICBkdXJhdGlvbi5zZWNvbmRzIC09IDE7CiAgICAgICBkdXJhdGlvbi5uYW5vcyArPSAxMDAwMDAwMDAwOwogICAgIH0KCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gVGltZXN0YW1wICsgRHVyYXRpb24gaW4gcHNldWRvIGNvZGUuCgogICAgIFRpbWVzdGFtcCBzdGFydCA9IC4uLjsKICAgICBEdXJhdGlvbiBkdXJhdGlvbiA9IC4uLjsKICAgICBUaW1lc3RhbXAgZW5kID0gLi4uOwoKICAgICBlbmQuc2Vjb25kcyA9IHN0YXJ0LnNlY29uZHMgKyBkdXJhdGlvbi5zZWNvbmRzOwogICAgIGVuZC5uYW5vcyA9IHN0YXJ0Lm5hbm9zICsgZHVyYXRpb24ubmFub3M7CgogICAgIGlmIChlbmQubmFub3MgPCAwKSB7CiAgICAgICBlbmQuc2Vjb25kcyAtPSAxOwogICAgICAgZW5kLm5hbm9zICs9IDEwMDAwMDAwMDA7CiAgICAgfSBlbHNlIGlmIChlbmQubmFub3MgPj0gMTAwMDAwMDAwMCkgewogICAgICAgZW5kLnNlY29uZHMgKz0gMTsKICAgICAgIGVuZC5uYW5vcyAtPSAxMDAwMDAwMDAwOwogICAgIH0KCiBFeGFtcGxlIDM6IENvbXB1dGUgRHVyYXRpb24gZnJvbSBkYXRldGltZS50aW1lZGVsdGEgaW4gUHl0aG9uLgoKICAgICB0ZCA9IGRhdGV0aW1lLnRpbWVkZWx0YShkYXlzPTMsIG1pbnV0ZXM9MTApCiAgICAgZHVyYXRpb24gPSBEdXJhdGlvbigpCiAgICAgZHVyYXRpb24uRnJvbVRpbWVkZWx0YSh0ZCkKCiAjIEpTT04gTWFwcGluZwoKIEluIEpTT04gZm9ybWF0LCB0aGUgRHVyYXRpb24gdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIHJhdGhlciB0aGFuIGFuCiBvYmplY3QsIHdoZXJlIHRoZSBzdHJpbmcgZW5kcyBpbiB0aGUgc3VmZml4ICJzIiAoaW5kaWNhdGluZyBzZWNvbmRzKSBhbmQKIGlzIHByZWNlZGVkIGJ5IHRoZSBudW1iZXIgb2Ygc2Vjb25kcywgd2l0aCBuYW5vc2Vjb25kcyBleHByZXNzZWQgYXMKIGZyYWN0aW9uYWwgc2Vjb25kcy4gRm9yIGV4YW1wbGUsIDMgc2Vjb25kcyB3aXRoIDAgbmFub3NlY29uZHMgc2hvdWxkIGJlCiBlbmNvZGVkIGluIEpTT04gZm9ybWF0IGFzICIzcyIsIHdoaWxlIDMgc2Vjb25kcyBhbmQgMSBuYW5vc2Vjb25kIHNob3VsZAogYmUgZXhwcmVzc2VkIGluIEpTT04gZm9ybWF0IGFzICIzLjAwMDAwMDAwMXMiLCBhbmQgMyBzZWNvbmRzIGFuZCAxCiBtaWNyb3NlY29uZCBzaG91bGQgYmUgZXhwcmVzc2VkIGluIEpTT04gZm9ybWF0IGFzICIzLjAwMDAwMXMiLgoKCgoKAwQAARIDZQgQCtwBCgQEAAIAEgNpAhQazgEgU2lnbmVkIHNlY29uZHMgb2YgdGhlIHNwYW4gb2YgdGltZS4gTXVzdCBiZSBmcm9tIC0zMTUsNTc2LDAwMCwwMDAKIHRvICszMTUsNTc2LDAwMCwwMDAgaW5jbHVzaXZlLiBOb3RlOiB0aGVzZSBib3VuZHMgYXJlIGNvbXB1dGVkIGZyb206CiA2MCBzZWMvbWluICogNjAgbWluL2hyICogMjQgaHIvZGF5ICogMzY1LjI1IGRheXMveWVhciAqIDEwMDAwIHllYXJzCgoMCgUEAAIABRIDaQIHCgwKBQQAAgABEgNpCA8KDAoFBAACAAMSA2kSEwqDAwoEBAACARIDcQISGvUCIFNpZ25lZCBmcmFjdGlvbnMgb2YgYSBzZWNvbmQgYXQgbmFub3NlY29uZCByZXNvbHV0aW9uIG9mIHRoZSBzcGFuCiBvZiB0aW1lLiBEdXJhdGlvbnMgbGVzcyB0aGFuIG9uZSBzZWNvbmQgYXJlIHJlcHJlc2VudGVkIHdpdGggYSAwCiBgc2Vjb25kc2AgZmllbGQgYW5kIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYG5hbm9zYCBmaWVsZC4gRm9yIGR1cmF0aW9ucwogb2Ygb25lIHNlY29uZCBvciBtb3JlLCBhIG5vbi16ZXJvIHZhbHVlIGZvciB0aGUgYG5hbm9zYCBmaWVsZCBtdXN0IGJlCiBvZiB0aGUgc2FtZSBzaWduIGFzIHRoZSBgc2Vjb25kc2AgZmllbGQuIE11c3QgYmUgZnJvbSAtOTk5LDk5OSw5OTkKIHRvICs5OTksOTk5LDk5OSBpbmNsdXNpdmUuCgoMCgUEAAIBBRIDcQIHCgwKBQQAAgEBEgNxCA0KDAoFBAACAQMSA3EQEWIGcHJvdG8zCv8RChtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIHCgVFbXB0eUJ9ChNjb20uZ29vZ2xlLnByb3RvYnVmQgpFbXB0eVByb3RvUAFaLmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2VtcHR5cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKvhAKBhIEHgAyEArMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIARQoJCgIICxIDIgBFCggKAQgSAyMALAoJCgIIARIDIwAsCggKAQgSAyQAKwoJCgIICBIDJAArCggKAQgSAyUAIgoJCgIIChIDJQAiCggKAQgSAyYAIQoJCgIIJBIDJgAhCggKAQgSAycAOwoJCgIIJRIDJwA7CggKAQgSAygAHwoJCgIIHxIDKAAfCrsCCgIEABIDMgAQGq8CIEEgZ2VuZXJpYyBlbXB0eSBtZXNzYWdlIHRoYXQgeW91IGNhbiByZS11c2UgdG8gYXZvaWQgZGVmaW5pbmcgZHVwbGljYXRlZAogZW1wdHkgbWVzc2FnZXMgaW4geW91ciBBUElzLiBBIHR5cGljYWwgZXhhbXBsZSBpcyB0byB1c2UgaXQgYXMgdGhlIHJlcXVlc3QKIG9yIHRoZSByZXNwb25zZSB0eXBlIG9mIGFuIEFQSSBtZXRob2QuIEZvciBpbnN0YW5jZToKCiAgICAgc2VydmljZSBGb28gewogICAgICAgcnBjIEJhcihnb29nbGUucHJvdG9idWYuRW1wdHkpIHJldHVybnMgKGdvb2dsZS5wcm90b2J1Zi5FbXB0eSk7CiAgICAgfQoKCgoKAwQAARIDMggNYgZwcm90bzMKij0KIGdvb2dsZS9wcm90b2J1Zi9maWVsZF9tYXNrLnByb3RvEg9nb29nbGUucHJvdG9idWYiIQoJRmllbGRNYXNrEhQKBXBhdGhzGAEgAygJUgVwYXRoc0KFAQoTY29tLmdvb2dsZS5wcm90b2J1ZkIORmllbGRNYXNrUHJvdG9QAVoyZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vZmllbGRtYXNrcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKoTsKBxIFHgD0AQEKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiACwKCQoCCAESAyIALAoICgEIEgMjAC8KCQoCCAgSAyMALwoICgEIEgMkACIKCQoCCAoSAyQAIgoICgEIEgMlACEKCQoCCCQSAyUAIQoICgEIEgMmADsKCQoCCCUSAyYAOwoICgEIEgMnAEkKCQoCCAsSAycASQoICgEIEgMoAB8KCQoCCB8SAygAHwqyLAoCBAASBvEBAPQBARqjLCBgRmllbGRNYXNrYCByZXByZXNlbnRzIGEgc2V0IG9mIHN5bWJvbGljIGZpZWxkIHBhdGhzLCBmb3IgZXhhbXBsZToKCiAgICAgcGF0aHM6ICJmLmEiCiAgICAgcGF0aHM6ICJmLmIuZCIKCiBIZXJlIGBmYCByZXByZXNlbnRzIGEgZmllbGQgaW4gc29tZSByb290IG1lc3NhZ2UsIGBhYCBhbmQgYGJgCiBmaWVsZHMgaW4gdGhlIG1lc3NhZ2UgZm91bmQgaW4gYGZgLCBhbmQgYGRgIGEgZmllbGQgZm91bmQgaW4gdGhlCiBtZXNzYWdlIGluIGBmLmJgLgoKIEZpZWxkIG1hc2tzIGFyZSB1c2VkIHRvIHNwZWNpZnkgYSBzdWJzZXQgb2YgZmllbGRzIHRoYXQgc2hvdWxkIGJlCiByZXR1cm5lZCBieSBhIGdldCBvcGVyYXRpb24gb3IgbW9kaWZpZWQgYnkgYW4gdXBkYXRlIG9wZXJhdGlvbi4KIEZpZWxkIG1hc2tzIGFsc28gaGF2ZSBhIGN1c3RvbSBKU09OIGVuY29kaW5nIChzZWUgYmVsb3cpLgoKICMgRmllbGQgTWFza3MgaW4gUHJvamVjdGlvbnMKCiBXaGVuIHVzZWQgaW4gdGhlIGNvbnRleHQgb2YgYSBwcm9qZWN0aW9uLCBhIHJlc3BvbnNlIG1lc3NhZ2Ugb3IKIHN1Yi1tZXNzYWdlIGlzIGZpbHRlcmVkIGJ5IHRoZSBBUEkgdG8gb25seSBjb250YWluIHRob3NlIGZpZWxkcyBhcwogc3BlY2lmaWVkIGluIHRoZSBtYXNrLiBGb3IgZXhhbXBsZSwgaWYgdGhlIG1hc2sgaW4gdGhlIHByZXZpb3VzCiBleGFtcGxlIGlzIGFwcGxpZWQgdG8gYSByZXNwb25zZSBtZXNzYWdlIGFzIGZvbGxvd3M6CgogICAgIGYgewogICAgICAgYSA6IDIyCiAgICAgICBiIHsKICAgICAgICAgZCA6IDEKICAgICAgICAgeCA6IDIKICAgICAgIH0KICAgICAgIHkgOiAxMwogICAgIH0KICAgICB6OiA4CgogVGhlIHJlc3VsdCB3aWxsIG5vdCBjb250YWluIHNwZWNpZmljIHZhbHVlcyBmb3IgZmllbGRzIHgseSBhbmQgegogKHRoZWlyIHZhbHVlIHdpbGwgYmUgc2V0IHRvIHRoZSBkZWZhdWx0LCBhbmQgb21pdHRlZCBpbiBwcm90byB0ZXh0CiBvdXRwdXQpOgoKCiAgICAgZiB7CiAgICAgICBhIDogMjIKICAgICAgIGIgewogICAgICAgICBkIDogMQogICAgICAgfQogICAgIH0KCiBBIHJlcGVhdGVkIGZpZWxkIGlzIG5vdCBhbGxvd2VkIGV4Y2VwdCBhdCB0aGUgbGFzdCBwb3NpdGlvbiBvZiBhCiBwYXRocyBzdHJpbmcuCgogSWYgYSBGaWVsZE1hc2sgb2JqZWN0IGlzIG5vdCBwcmVzZW50IGluIGEgZ2V0IG9wZXJhdGlvbiwgdGhlCiBvcGVyYXRpb24gYXBwbGllcyB0byBhbGwgZmllbGRzIChhcyBpZiBhIEZpZWxkTWFzayBvZiBhbGwgZmllbGRzCiBoYWQgYmVlbiBzcGVjaWZpZWQpLgoKIE5vdGUgdGhhdCBhIGZpZWxkIG1hc2sgZG9lcyBub3QgbmVjZXNzYXJpbHkgYXBwbHkgdG8gdGhlCiB0b3AtbGV2ZWwgcmVzcG9uc2UgbWVzc2FnZS4gSW4gY2FzZSBvZiBhIFJFU1QgZ2V0IG9wZXJhdGlvbiwgdGhlCiBmaWVsZCBtYXNrIGFwcGxpZXMgZGlyZWN0bHkgdG8gdGhlIHJlc3BvbnNlLCBidXQgaW4gY2FzZSBvZiBhIFJFU1QKIGxpc3Qgb3BlcmF0aW9uLCB0aGUgbWFzayBpbnN0ZWFkIGFwcGxpZXMgdG8gZWFjaCBpbmRpdmlkdWFsIG1lc3NhZ2UKIGluIHRoZSByZXR1cm5lZCByZXNvdXJjZSBsaXN0LiBJbiBjYXNlIG9mIGEgUkVTVCBjdXN0b20gbWV0aG9kLAogb3RoZXIgZGVmaW5pdGlvbnMgbWF5IGJlIHVzZWQuIFdoZXJlIHRoZSBtYXNrIGFwcGxpZXMgd2lsbCBiZQogY2xlYXJseSBkb2N1bWVudGVkIHRvZ2V0aGVyIHdpdGggaXRzIGRlY2xhcmF0aW9uIGluIHRoZSBBUEkuICBJbgogYW55IGNhc2UsIHRoZSBlZmZlY3Qgb24gdGhlIHJldHVybmVkIHJlc291cmNlL3Jlc291cmNlcyBpcyByZXF1aXJlZAogYmVoYXZpb3IgZm9yIEFQSXMuCgogIyBGaWVsZCBNYXNrcyBpbiBVcGRhdGUgT3BlcmF0aW9ucwoKIEEgZmllbGQgbWFzayBpbiB1cGRhdGUgb3BlcmF0aW9ucyBzcGVjaWZpZXMgd2hpY2ggZmllbGRzIG9mIHRoZQogdGFyZ2V0ZWQgcmVzb3VyY2UgYXJlIGdvaW5nIHRvIGJlIHVwZGF0ZWQuIFRoZSBBUEkgaXMgcmVxdWlyZWQKIHRvIG9ubHkgY2hhbmdlIHRoZSB2YWx1ZXMgb2YgdGhlIGZpZWxkcyBhcyBzcGVjaWZpZWQgaW4gdGhlIG1hc2sKIGFuZCBsZWF2ZSB0aGUgb3RoZXJzIHVudG91Y2hlZC4gSWYgYSByZXNvdXJjZSBpcyBwYXNzZWQgaW4gdG8KIGRlc2NyaWJlIHRoZSB1cGRhdGVkIHZhbHVlcywgdGhlIEFQSSBpZ25vcmVzIHRoZSB2YWx1ZXMgb2YgYWxsCiBmaWVsZHMgbm90IGNvdmVyZWQgYnkgdGhlIG1hc2suCgogSWYgYSByZXBlYXRlZCBmaWVsZCBpcyBzcGVjaWZpZWQgZm9yIGFuIHVwZGF0ZSBvcGVyYXRpb24sIG5ldyB2YWx1ZXMgd2lsbAogYmUgYXBwZW5kZWQgdG8gdGhlIGV4aXN0aW5nIHJlcGVhdGVkIGZpZWxkIGluIHRoZSB0YXJnZXQgcmVzb3VyY2UuIE5vdGUgdGhhdAogYSByZXBlYXRlZCBmaWVsZCBpcyBvbmx5IGFsbG93ZWQgaW4gdGhlIGxhc3QgcG9zaXRpb24gb2YgYSBgcGF0aHNgIHN0cmluZy4KCiBJZiBhIHN1Yi1tZXNzYWdlIGlzIHNwZWNpZmllZCBpbiB0aGUgbGFzdCBwb3NpdGlvbiBvZiB0aGUgZmllbGQgbWFzayBmb3IgYW4KIHVwZGF0ZSBvcGVyYXRpb24sIHRoZW4gbmV3IHZhbHVlIHdpbGwgYmUgbWVyZ2VkIGludG8gdGhlIGV4aXN0aW5nIHN1Yi1tZXNzYWdlCiBpbiB0aGUgdGFyZ2V0IHJlc291cmNlLgoKIEZvciBleGFtcGxlLCBnaXZlbiB0aGUgdGFyZ2V0IG1lc3NhZ2U6CgogICAgIGYgewogICAgICAgYiB7CiAgICAgICAgIGQ6IDEKICAgICAgICAgeDogMgogICAgICAgfQogICAgICAgYzogWzFdCiAgICAgfQoKIEFuZCBhbiB1cGRhdGUgbWVzc2FnZToKCiAgICAgZiB7CiAgICAgICBiIHsKICAgICAgICAgZDogMTAKICAgICAgIH0KICAgICAgIGM6IFsyXQogICAgIH0KCiB0aGVuIGlmIHRoZSBmaWVsZCBtYXNrIGlzOgoKICBwYXRoczogWyJmLmIiLCAiZi5jIl0KCiB0aGVuIHRoZSByZXN1bHQgd2lsbCBiZToKCiAgICAgZiB7CiAgICAgICBiIHsKICAgICAgICAgZDogMTAKICAgICAgICAgeDogMgogICAgICAgfQogICAgICAgYzogWzEsIDJdCiAgICAgfQoKIEFuIGltcGxlbWVudGF0aW9uIG1heSBwcm92aWRlIG9wdGlvbnMgdG8gb3ZlcnJpZGUgdGhpcyBkZWZhdWx0IGJlaGF2aW9yIGZvcgogcmVwZWF0ZWQgYW5kIG1lc3NhZ2UgZmllbGRzLgoKIEluIG9yZGVyIHRvIHJlc2V0IGEgZmllbGQncyB2YWx1ZSB0byB0aGUgZGVmYXVsdCwgdGhlIGZpZWxkIG11c3QKIGJlIGluIHRoZSBtYXNrIGFuZCBzZXQgdG8gdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIHByb3ZpZGVkIHJlc291cmNlLgogSGVuY2UsIGluIG9yZGVyIHRvIHJlc2V0IGFsbCBmaWVsZHMgb2YgYSByZXNvdXJjZSwgcHJvdmlkZSBhIGRlZmF1bHQKIGluc3RhbmNlIG9mIHRoZSByZXNvdXJjZSBhbmQgc2V0IGFsbCBmaWVsZHMgaW4gdGhlIG1hc2ssIG9yIGRvCiBub3QgcHJvdmlkZSBhIG1hc2sgYXMgZGVzY3JpYmVkIGJlbG93LgoKIElmIGEgZmllbGQgbWFzayBpcyBub3QgcHJlc2VudCBvbiB1cGRhdGUsIHRoZSBvcGVyYXRpb24gYXBwbGllcyB0bwogYWxsIGZpZWxkcyAoYXMgaWYgYSBmaWVsZCBtYXNrIG9mIGFsbCBmaWVsZHMgaGFzIGJlZW4gc3BlY2lmaWVkKS4KIE5vdGUgdGhhdCBpbiB0aGUgcHJlc2VuY2Ugb2Ygc2NoZW1hIGV2b2x1dGlvbiwgdGhpcyBtYXkgbWVhbiB0aGF0CiBmaWVsZHMgdGhlIGNsaWVudCBkb2VzIG5vdCBrbm93IGFuZCBoYXMgdGhlcmVmb3JlIG5vdCBmaWxsZWQgaW50bwogdGhlIHJlcXVlc3Qgd2lsbCBiZSByZXNldCB0byB0aGVpciBkZWZhdWx0LiBJZiB0aGlzIGlzIHVud2FudGVkCiBiZWhhdmlvciwgYSBzcGVjaWZpYyBzZXJ2aWNlIG1heSByZXF1aXJlIGEgY2xpZW50IHRvIGFsd2F5cyBzcGVjaWZ5CiBhIGZpZWxkIG1hc2ssIHByb2R1Y2luZyBhbiBlcnJvciBpZiBub3QuCgogQXMgd2l0aCBnZXQgb3BlcmF0aW9ucywgdGhlIGxvY2F0aW9uIG9mIHRoZSByZXNvdXJjZSB3aGljaAogZGVzY3JpYmVzIHRoZSB1cGRhdGVkIHZhbHVlcyBpbiB0aGUgcmVxdWVzdCBtZXNzYWdlIGRlcGVuZHMgb24gdGhlCiBvcGVyYXRpb24ga2luZC4gSW4gYW55IGNhc2UsIHRoZSBlZmZlY3Qgb2YgdGhlIGZpZWxkIG1hc2sgaXMKIHJlcXVpcmVkIHRvIGJlIGhvbm9yZWQgYnkgdGhlIEFQSS4KCiAjIyBDb25zaWRlcmF0aW9ucyBmb3IgSFRUUCBSRVNUCgogVGhlIEhUVFAga2luZCBvZiBhbiB1cGRhdGUgb3BlcmF0aW9uIHdoaWNoIHVzZXMgYSBmaWVsZCBtYXNrIG11c3QKIGJlIHNldCB0byBQQVRDSCBpbnN0ZWFkIG9mIFBVVCBpbiBvcmRlciB0byBzYXRpc2Z5IEhUVFAgc2VtYW50aWNzCiAoUFVUIG11c3Qgb25seSBiZSB1c2VkIGZvciBmdWxsIHVwZGF0ZXMpLgoKICMgSlNPTiBFbmNvZGluZyBvZiBGaWVsZCBNYXNrcwoKIEluIEpTT04sIGEgZmllbGQgbWFzayBpcyBlbmNvZGVkIGFzIGEgc2luZ2xlIHN0cmluZyB3aGVyZSBwYXRocyBhcmUKIHNlcGFyYXRlZCBieSBhIGNvbW1hLiBGaWVsZHMgbmFtZSBpbiBlYWNoIHBhdGggYXJlIGNvbnZlcnRlZAogdG8vZnJvbSBsb3dlci1jYW1lbCBuYW1pbmcgY29udmVudGlvbnMuCgogQXMgYW4gZXhhbXBsZSwgY29uc2lkZXIgdGhlIGZvbGxvd2luZyBtZXNzYWdlIGRlY2xhcmF0aW9uczoKCiAgICAgbWVzc2FnZSBQcm9maWxlIHsKICAgICAgIFVzZXIgdXNlciA9IDE7CiAgICAgICBQaG90byBwaG90byA9IDI7CiAgICAgfQogICAgIG1lc3NhZ2UgVXNlciB7CiAgICAgICBzdHJpbmcgZGlzcGxheV9uYW1lID0gMTsKICAgICAgIHN0cmluZyBhZGRyZXNzID0gMjsKICAgICB9CgogSW4gcHJvdG8gYSBmaWVsZCBtYXNrIGZvciBgUHJvZmlsZWAgbWF5IGxvb2sgYXMgc3VjaDoKCiAgICAgbWFzayB7CiAgICAgICBwYXRoczogInVzZXIuZGlzcGxheV9uYW1lIgogICAgICAgcGF0aHM6ICJwaG90byIKICAgICB9CgogSW4gSlNPTiwgdGhlIHNhbWUgbWFzayBpcyByZXByZXNlbnRlZCBhcyBiZWxvdzoKCiAgICAgewogICAgICAgbWFzazogInVzZXIuZGlzcGxheU5hbWUscGhvdG8iCiAgICAgfQoKICMgRmllbGQgTWFza3MgYW5kIE9uZW9mIEZpZWxkcwoKIEZpZWxkIG1hc2tzIHRyZWF0IGZpZWxkcyBpbiBvbmVvZnMganVzdCBhcyByZWd1bGFyIGZpZWxkcy4gQ29uc2lkZXIgdGhlCiBmb2xsb3dpbmcgbWVzc2FnZToKCiAgICAgbWVzc2FnZSBTYW1wbGVNZXNzYWdlIHsKICAgICAgIG9uZW9mIHRlc3Rfb25lb2YgewogICAgICAgICBzdHJpbmcgbmFtZSA9IDQ7CiAgICAgICAgIFN1Yk1lc3NhZ2Ugc3ViX21lc3NhZ2UgPSA5OwogICAgICAgfQogICAgIH0KCiBUaGUgZmllbGQgbWFzayBjYW4gYmU6CgogICAgIG1hc2sgewogICAgICAgcGF0aHM6ICJuYW1lIgogICAgIH0KCiBPcjoKCiAgICAgbWFzayB7CiAgICAgICBwYXRoczogInN1Yl9tZXNzYWdlIgogICAgIH0KCiBOb3RlIHRoYXQgb25lb2YgdHlwZSBuYW1lcyAoInRlc3Rfb25lb2YiIGluIHRoaXMgY2FzZSkgY2Fubm90IGJlIHVzZWQgaW4KIHBhdGhzLgoKICMjIEZpZWxkIE1hc2sgVmVyaWZpY2F0aW9uCgogVGhlIGltcGxlbWVudGF0aW9uIG9mIGFueSBBUEkgbWV0aG9kIHdoaWNoIGhhcyBhIEZpZWxkTWFzayB0eXBlIGZpZWxkIGluIHRoZQogcmVxdWVzdCBzaG91bGQgdmVyaWZ5IHRoZSBpbmNsdWRlZCBmaWVsZCBwYXRocywgYW5kIHJldHVybiBhbgogYElOVkFMSURfQVJHVU1FTlRgIGVycm9yIGlmIGFueSBwYXRoIGlzIHVubWFwcGFibGUuCgoLCgMEAAESBPEBCBEKLAoEBAACABIE8wECHBoeIFRoZSBzZXQgb2YgZmllbGQgbWFzayBwYXRocy4KCg0KBQQAAgAEEgTzAQIKCg0KBQQAAgAFEgTzAQsRCg0KBQQAAgABEgTzARIXCg0KBQQAAgADEgTzARobYgZwcm90bzMKwzEKH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI7CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSsEvCgcSBR4AjwEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgAfCgkKAggfEgMiAB8KCAoBCBIDIwBJCgkKAggLEgMjAEkKCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQAvCgkKAggIEgMlAC8KCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEKCAoBCBIDKAA7CgkKAgglEgMoADsK2h0KAgQAEgaEAQCPAQEayx0gQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKIEV4YW1wbGUgNTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBKYXZhIGBJbnN0YW50Lm5vdygpYC4KCiAgICAgSW5zdGFudCBub3cgPSBJbnN0YW50Lm5vdygpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wID0KICAgICAgICAgVGltZXN0YW1wLm5ld0J1aWxkZXIoKS5zZXRTZWNvbmRzKG5vdy5nZXRFcG9jaFNlY29uZCgpKQogICAgICAgICAgICAgLnNldE5hbm9zKG5vdy5nZXROYW5vKCkpLmJ1aWxkKCk7CgogRXhhbXBsZSA2OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIGN1cnJlbnQgdGltZSBpbiBQeXRob24uCgogICAgIHRpbWVzdGFtcCA9IFRpbWVzdGFtcCgpCiAgICAgdGltZXN0YW1wLkdldEN1cnJlbnRUaW1lKCkKCiAjIEpTT04gTWFwcGluZwoKIEluIEpTT04gZm9ybWF0LCB0aGUgVGltZXN0YW1wIHR5cGUgaXMgZW5jb2RlZCBhcyBhIHN0cmluZyBpbiB0aGUKIFtSRkMgMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBmb3JtYXQuIFRoYXQgaXMsIHRoZQogZm9ybWF0IGlzICJ7eWVhcn0te21vbnRofS17ZGF5fVR7aG91cn06e21pbn06e3NlY31bLntmcmFjX3NlY31dWiIKIHdoZXJlIHt5ZWFyfSBpcyBhbHdheXMgZXhwcmVzc2VkIHVzaW5nIGZvdXIgZGlnaXRzIHdoaWxlIHttb250aH0sIHtkYXl9LAoge2hvdXJ9LCB7bWlufSwgYW5kIHtzZWN9IGFyZSB6ZXJvLXBhZGRlZCB0byB0d28gZGlnaXRzIGVhY2guIFRoZSBmcmFjdGlvbmFsCiBzZWNvbmRzLCB3aGljaCBjYW4gZ28gdXAgdG8gOSBkaWdpdHMgKGkuZS4gdXAgdG8gMSBuYW5vc2Vjb25kIHJlc29sdXRpb24pLAogYXJlIG9wdGlvbmFsLiBUaGUgIloiIHN1ZmZpeCBpbmRpY2F0ZXMgdGhlIHRpbWV6b25lICgiVVRDIik7IHRoZSB0aW1lem9uZQogaXMgcmVxdWlyZWQuIEEgcHJvdG8zIEpTT04gc2VyaWFsaXplciBzaG91bGQgYWx3YXlzIHVzZSBVVEMgKGFzIGluZGljYXRlZCBieQogIloiKSB3aGVuIHByaW50aW5nIHRoZSBUaW1lc3RhbXAgdHlwZSBhbmQgYSBwcm90bzMgSlNPTiBwYXJzZXIgc2hvdWxkIGJlCiBhYmxlIHRvIGFjY2VwdCBib3RoIFVUQyBhbmQgb3RoZXIgdGltZXpvbmVzIChhcyBpbmRpY2F0ZWQgYnkgYW4gb2Zmc2V0KS4KCiBGb3IgZXhhbXBsZSwgIjIwMTctMDEtMTVUMDE6MzA6MTUuMDFaIiBlbmNvZGVzIDE1LjAxIHNlY29uZHMgcGFzdAogMDE6MzAgVVRDIG9uIEphbnVhcnkgMTUsIDIwMTcuCgogSW4gSmF2YVNjcmlwdCwgb25lIGNhbiBjb252ZXJ0IGEgRGF0ZSBvYmplY3QgdG8gdGhpcyBmb3JtYXQgdXNpbmcgdGhlCiBzdGFuZGFyZAogW3RvSVNPU3RyaW5nKCldKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGUvdG9JU09TdHJpbmcpCiBtZXRob2QuIEluIFB5dGhvbiwgYSBzdGFuZGFyZCBgZGF0ZXRpbWUuZGF0ZXRpbWVgIG9iamVjdCBjYW4gYmUgY29udmVydGVkCiB0byB0aGlzIGZvcm1hdCB1c2luZwogW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkgd2l0aAogdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUgY2FuIHVzZQogdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL2pvZGEtdGltZS5zb3VyY2Vmb3JnZS5uZXQvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lKCkKICkgdG8gb2J0YWluIGEgZm9ybWF0dGVyIGNhcGFibGUgb2YgZ2VuZXJhdGluZyB0aW1lc3RhbXBzIGluIHRoaXMgZm9ybWF0LgoKCgsKAwQAARIEhAEIEQqdAQoEBAACABIEiAECFBqOASBSZXByZXNlbnRzIHNlY29uZHMgb2YgVVRDIHRpbWUgc2luY2UgVW5peCBlcG9jaAogMTk3MC0wMS0wMVQwMDowMDowMFouIE11c3QgYmUgZnJvbSAwMDAxLTAxLTAxVDAwOjAwOjAwWiB0bwogOTk5OS0xMi0zMVQyMzo1OTo1OVogaW5jbHVzaXZlLgoKDQoFBAACAAUSBIgBAgcKDQoFBAACAAESBIgBCA8KDQoFBAACAAMSBIgBEhMK5QEKBAQAAgESBI4BAhIa1gEgTm9uLW5lZ2F0aXZlIGZyYWN0aW9ucyBvZiBhIHNlY29uZCBhdCBuYW5vc2Vjb25kIHJlc29sdXRpb24uIE5lZ2F0aXZlCiBzZWNvbmQgdmFsdWVzIHdpdGggZnJhY3Rpb25zIG11c3Qgc3RpbGwgaGF2ZSBub24tbmVnYXRpdmUgbmFub3MgdmFsdWVzCiB0aGF0IGNvdW50IGZvcndhcmQgaW4gdGltZS4gTXVzdCBiZSBmcm9tIDAgdG8gOTk5LDk5OSw5OTkKIGluY2x1c2l2ZS4KCg0KBQQAAgEFEgSOAQIHCg0KBQQAAgEBEgSOAQgNCg0KBQQAAgEDEgSOARARYgZwcm90bzMKzSMKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKxB8KBhIEKAB6AQrZEAoBDBIDKAASMs4QIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKIFdyYXBwZXJzIGZvciBwcmltaXRpdmUgKG5vbi1tZXNzYWdlKSB0eXBlcy4gVGhlc2UgdHlwZXMgYXJlIHVzZWZ1bAogZm9yIGVtYmVkZGluZyBwcmltaXRpdmVzIGluIHRoZSBgZ29vZ2xlLnByb3RvYnVmLkFueWAgdHlw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dWVgIGFuZCBgZmFsc2VgLgoKCgoDBAYBEgNnCBEKHgoEBAYCABIDaQIRGhEgVGhlIGJvb2wgdmFsdWUuCgoMCgUEBgIABRIDaQIGCgwKBQQGAgABEgNpBwwKDAoFBAYCAAMSA2kPEApnCgIEBxIEbwByARpbIFdyYXBwZXIgbWVzc2FnZSBmb3IgYHN0cmluZ2AuCgogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBTdHJpbmdWYWx1ZWAgaXMgSlNPTiBzdHJpbmcuCgoKCgMEBwESA28IEwogCgQEBwIAEgNxAhMaEyBUaGUgc3RyaW5nIHZhbHVlLgoKDAoFBAcCAAUSA3ECCAoMCgUEBwIAARIDcQkOCgwKBQQHAgADEgNxERIKZQoCBAgSBHcAegEaWSBXcmFwcGVyIG1lc3NhZ2UgZm9yIGBieXRlc2AuCgogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBCeXRlc1ZhbHVlYCBpcyBKU09OIHN0cmluZy4KCgoKAwQIARIDdwgSCh8KBAQIAgASA3kCEhoSIFRoZSBieXRlcyB2YWx1ZS4KCgwKBQQIAgAFEgN5AgcKDAoFBAgCAAESA3kIDQoMCgUECAIAAxIDeRARYgZwcm90bzMK9GIKL2dvb2dsZS9wcm90b2J1Zi91bml0dGVzdF93ZWxsX2tub3duX3R5cGVzLnByb3RvEhFwcm90b2J1Zl91bml0dGVzdBoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoZZ29vZ2xlL3Byb3RvYnVmL2FwaS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9maWVsZF9tYXNrLnByb3RvGiRnb29nbGUvcHJvdG9idWYvc291cmNlX2NvbnRleHQucHJvdG8aHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8aH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8aGmdvb2dsZS9wcm90b2J1Zi90eXBlLnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8itAkKElRlc3RXZWxsS25vd25UeXBlcxIxCglhbnlfZmllbGQYASABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UghhbnlGaWVsZBIxCglhcGlfZmllbGQYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQXBpUghhcGlGaWVsZBJACg5kdXJhdGlvbl9maWVsZBgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblINZHVyYXRpb25GaWVsZBI3CgtlbXB0eV9maWVsZBgEIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIKZW1wdHlGaWVsZBJEChBmaWVsZF9tYXNrX2ZpZWxkGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IOZmllbGRNYXNrRmllbGQSUAoUc291cmNlX2NvbnRleHRfZmllbGQYBiABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFISc291cmNlQ29udGV4dEZpZWxkEjoKDHN0cnVjdF9maWVsZBgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSC3N0cnVjdEZpZWxkEkMKD3RpbWVzdGFtcF9maWVsZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSDnRpbWVzdGFtcEZpZWxkEjQKCnR5cGVfZmllbGQYCSABKAsyFS5nb29nbGUucHJvdG9idWYuVHlwZVIJdHlwZUZpZWxkEj8KDGRvdWJsZV9maWVsZBgKIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVILZG91YmxlRmllbGQSPAoLZmxvYXRfZmllbGQYCyABKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZVIKZmxvYXRGaWVsZBI8CgtpbnQ2NF9maWVsZBgMIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUgppbnQ2NEZpZWxkEj8KDHVpbnQ2NF9maWVsZBgNIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50NjRWYWx1ZVILdWludDY0RmllbGQSPAoLaW50MzJfZmllbGQYDiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIKaW50MzJGaWVsZBI/Cgx1aW50MzJfZmllbGQYDyABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSC3VpbnQzMkZpZWxkEjkKCmJvb2xfZmllbGQYECABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUglib29sRmllbGQSPwoMc3RyaW5nX2ZpZWxkGBEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtzdHJpbmdGaWVsZBI8CgtieXRlc19maWVsZBgSIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUgpieXRlc0ZpZWxkEjcKC3ZhbHVlX2ZpZWxkGBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgp2YWx1ZUZpZWxkIv8IChZSZXBlYXRlZFdlbGxLbm93blR5cGVzEjEKCWFueV9maWVsZBgBIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSCGFueUZpZWxkEjEKCWFwaV9maWVsZBgCIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BcGlSCGFwaUZpZWxkEkAKDmR1cmF0aW9uX2ZpZWxkGAMgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUg1kdXJhdGlvbkZpZWxkEjcKC2VtcHR5X2ZpZWxkGAQgAygLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5UgplbXB0eUZpZWxkEkQKEGZpZWxkX21hc2tfZmllbGQYBSADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUg5maWVsZE1hc2tGaWVsZBJQChRzb3VyY2VfY29udGV4dF9maWVsZBgGIAMoCzIeLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb250ZXh0UhJzb3VyY2VDb250ZXh0RmllbGQSOgoMc3RydWN0X2ZpZWxkGAcgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFILc3RydWN0RmllbGQSQwoPdGltZXN0YW1wX2ZpZWxkGAggAygLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIOdGltZXN0YW1wRmllbGQSNAoKdHlwZV9maWVsZBgJIAMoCzIVLmdvb2dsZS5wcm90b2J1Zi5UeXBlUgl0eXBlRmllbGQSPwoMZG91YmxlX2ZpZWxkGAogAygLMhwuZ29vZ2xlLnByb3RvYnVmLkRvdWJsZVZhbHVlUgtkb3VibGVGaWVsZBI8CgtmbG9hdF9maWVsZBgLIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlUgpmbG9hdEZpZWxkEjwKC2ludDY0X2ZpZWxkGAwgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSCmludDY0RmllbGQSPwoMdWludDY0X2ZpZWxkGA0gAygLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlUgt1aW50NjRGaWVsZBI8CgtpbnQzMl9maWVsZBgOIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUgppbnQzMkZpZWxkEj8KDHVpbnQzMl9maWVsZBgPIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZVILdWludDMyRmllbGQSOQoKYm9vbF9maWVsZBgQIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCWJvb2xGaWVsZBI/CgxzdHJpbmdfZmllbGQYESADKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC3N0cmluZ0ZpZWxkEjwKC2J5dGVzX2ZpZWxkGBIgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWVSCmJ5dGVzRmllbGQirwkKE09uZW9mV2VsbEtub3duVHlwZXMSMwoJYW55X2ZpZWxkGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueUgAUghhbnlGaWVsZBIzCglhcGlfZmllbGQYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQXBpSABSCGFwaUZpZWxkEkIKDmR1cmF0aW9uX2ZpZWxkGAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uSABSDWR1cmF0aW9uRmllbGQSOQoLZW1wdHlfZmllbGQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIAFIKZW1wdHlGaWVsZBJGChBmaWVsZF9tYXNrX2ZpZWxkGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0gAUg5maWVsZE1hc2tGaWVsZBJSChRzb3VyY2VfY29udGV4dF9maWVsZBgGIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb250ZXh0SABSEnNvdXJjZUNvbnRleHRGaWVsZBI8CgxzdHJ1Y3RfZmllbGQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdEZpZWxkEkUKD3RpbWVzdGFtcF9maWVsZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAFIOdGltZXN0YW1wRmllbGQSNgoKdHlwZV9maWVsZBgJIAEoCzIVLmdvb2dsZS5wcm90b2J1Zi5UeXBlSABSCXR5cGVGaWVsZBJBCgxkb3VibGVfZmllbGQYCiABKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVIAFILZG91YmxlRmllbGQSPgoLZmxvYXRfZmllbGQYCyABKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZUgAUgpmbG9hdEZpZWxkEj4KC2ludDY0X2ZpZWxkGAwgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVIAFIKaW50NjRGaWVsZBJBCgx1aW50NjRfZmllbGQYDSABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVIAFILdWludDY0RmllbGQSPgoLaW50MzJfZmllbGQYDiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZUgAUgppbnQzMkZpZWxkEkEKDHVpbnQzMl9maWVsZBgPIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZUgAUgt1aW50MzJGaWVsZBI7Cgpib29sX2ZpZWxkGBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUgAUglib29sRmllbGQSQQoMc3RyaW5nX2ZpZWxkGBEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlSABSC3N0cmluZ0ZpZWxkEj4KC2J5dGVzX2ZpZWxkGBIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWVIAFIKYnl0ZXNGaWVsZEINCgtvbmVvZl9maWVsZCLYGQoRTWFwV2VsbEtub3duVHlwZXMSTwoJYW55X2ZpZWxkGAEgAygLMjIucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuQW55RmllbGRFbnRyeVIIYW55RmllbGQSTwoJYXBpX2ZpZWxkGAIgAygLMjIucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuQXBpRmllbGRFbnRyeVIIYXBpRmllbGQSXgoOZHVyYXRpb25fZmllbGQYAyADKAsyNy5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5EdXJhdGlvbkZpZWxkRW50cnlSDWR1cmF0aW9uRmllbGQSVQoLZW1wdHlfZmllbGQYBCADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5FbXB0eUZpZWxkRW50cnlSCmVtcHR5RmllbGQSYgoQZmllbGRfbWFza19maWVsZBgFIAMoCzI4LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkZpZWxkTWFza0ZpZWxkRW50cnlSDmZpZWxkTWFza0ZpZWxkEm4KFHNvdXJjZV9jb250ZXh0X2ZpZWxkGAYgAygLMjwucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuU291cmNlQ29udGV4dEZpZWxkRW50cnlSEnNvdXJjZUNvbnRleHRGaWVsZBJYCgxzdHJ1Y3RfZmllbGQYByADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5TdHJ1Y3RGaWVsZEVudHJ5UgtzdHJ1Y3RGaWVsZBJhCg90aW1lc3RhbXBfZmllbGQYCCADKAsyOC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5UaW1lc3RhbXBGaWVsZEVudHJ5Ug50aW1lc3RhbXBGaWVsZBJSCgp0eXBlX2ZpZWxkGAkgAygLMjMucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuVHlwZUZpZWxkRW50cnlSCXR5cGVGaWVsZBJYCgxkb3VibGVfZmllbGQYCiADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5Eb3VibGVGaWVsZEVudHJ5Ugtkb3VibGVGaWVsZBJVCgtmbG9hdF9maWVsZBgLIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkZsb2F0RmllbGRFbnRyeVIKZmxvYXRGaWVsZBJVCgtpbnQ2NF9maWVsZBgMIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkludDY0RmllbGRFbnRyeVIKaW50NjRGaWVsZBJYCgx1aW50NjRfZmllbGQYDSADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5VaW50NjRGaWVsZEVudHJ5Ugt1aW50NjRGaWVsZBJVCgtpbnQzMl9maWVsZBgOIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkludDMyRmllbGRFbnRyeVIKaW50MzJGaWVsZBJYCgx1aW50MzJfZmllbGQYDyADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5VaW50MzJGaWVsZEVudHJ5Ugt1aW50MzJGaWVsZBJSCgpib29sX2ZpZWxkGBAgAygLMjMucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuQm9vbEZpZWxkRW50cnlSCWJvb2xGaWVsZBJYCgxzdHJpbmdfZmllbGQYESADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5TdHJpbmdGaWVsZEVudHJ5UgtzdHJpbmdGaWVsZBJVCgtieXRlc19maWVsZBgSIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkJ5dGVzRmllbGRFbnRyeVIKYnl0ZXNGaWVsZBpRCg1BbnlGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EioKBXZhbHVlGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIFdmFsdWU6AjgBGlEKDUFwaUZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSKgoFdmFsdWUYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQXBpUgV2YWx1ZToCOAEaWwoSRHVyYXRpb25GaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5Ei8KBXZhbHVlGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUgV2YWx1ZToCOAEaVQoPRW1wdHlGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5UgV2YWx1ZToCOAEaXQoTRmllbGRNYXNrRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIwCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSBXZhbHVlOgI4ARplChdTb3VyY2VDb250ZXh0RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRI0CgV2YWx1ZRgCIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb250ZXh0UgV2YWx1ZToCOAEaVwoQU3RydWN0RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRItCgV2YWx1ZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSBXZhbHVlOgI4ARpdChNUaW1lc3RhbXBGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjAKBXZhbHVlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIFdmFsdWU6AjgBGlMKDlR5cGVGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EisKBXZhbHVlGAIgASgLMhUuZ29vZ2xlLnByb3RvYnVmLlR5cGVSBXZhbHVlOgI4ARpcChBEb3VibGVGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkRvdWJsZVZhbHVlUgV2YWx1ZToCOAEaWgoPRmxvYXRGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEKBXZhbHVlGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVSBXZhbHVlOgI4ARpaCg9JbnQ2NEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMQoFdmFsdWUYAiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZVIFdmFsdWU6AjgBGlwKEFVpbnQ2NEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMgoFdmFsdWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSBXZhbHVlOgI4ARpaCg9JbnQzMkZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMQoFdmFsdWUYAiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIFdmFsdWU6AjgBGlwKEFVpbnQzMkZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMgoFdmFsdWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSBXZhbHVlOgI4ARpYCg5Cb29sRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIwCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSBXZhbHVlOgI4ARpcChBTdHJpbmdGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgV2YWx1ZToCOAEaWgoPQnl0ZXNGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEKBXZhbHVlGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWVSBXZhbHVlOgI4AUI5Chhjb20uZ29vZ2xlLnByb3RvYnVmLnRlc3RQAaoCGkdvb2dsZS5Qcm90b2J1Zi5UZXN0UHJvdG9zSu4pCgYSBAcAeAEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKCAoBAhIDCQAaCggKAQgSAwsANwoJ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bnQ2NBgCIAEoA1INb3B0aW9uYWxJbnQ2NBInCg9vcHRpb25hbF91aW50MzIYAyABKA1SDm9wdGlvbmFsVWludDMyEicKD29wdGlvbmFsX3VpbnQ2NBgEIAEoBFIOb3B0aW9uYWxVaW50NjQSJwoPb3B0aW9uYWxfc2ludDMyGAUgASgRUg5vcHRpb25hbFNpbnQzMhInCg9vcHRpb25hbF9zaW50NjQYBiABKBJSDm9wdGlvbmFsU2ludDY0EikKEG9wdGlvbmFsX2ZpeGVkMzIYByABKAdSD29wdGlvbmFsRml4ZWQzMhIpChBvcHRpb25hbF9maXhlZDY0GAggASgGUg9vcHRpb25hbEZpeGVkNjQSKwoRb3B0aW9uYWxfc2ZpeGVkMzIYCSABKA9SEG9wdGlvbmFsU2ZpeGVkMzISKwoRb3B0aW9uYWxfc2ZpeGVkNjQYCiABKBBSEG9wdGlvbmFsU2ZpeGVkNjQSJQoOb3B0aW9uYWxfZmxvYXQYCyABKAJSDW9wdGlvbmFsRmxvYXQSJwoPb3B0aW9uYWxfZG91YmxlGAwgASgBUg5vcHRpb25hbERvdWJsZRIjCg1vcHRpb25hbF9ib29sGA0gASgIUgxvcHRpb25hbEJvb2wSJwoPb3B0aW9uYWxfc3RyaW5nGA4gASgJUg5vcHRpb25hbFN0cmluZxIlCg5vcHRpb25hbF9ieXRlcxgPIAEoDFINb3B0aW9uYWxCeXRlcxJ3ChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgSIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRNZXNzYWdlUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2USZwoYb3B0aW9uYWxfZm9yZWlnbl9tZXNzYWdlGBMgASgLMi0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbk1lc3NhZ2VSFm9wdGlvbmFsRm9yZWlnbk1lc3NhZ2USbgoUb3B0aW9uYWxfbmVzdGVkX2VudW0YFSABKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkRW51bVISb3B0aW9uYWxOZXN0ZWRFbnVtEl4KFW9wdGlvbmFsX2ZvcmVpZ25fZW51bRgWIAEoDjIqLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25FbnVtUhNvcHRpb25hbEZvcmVpZ25FbnVtEnEKFW9wdGlvbmFsX2FsaWFzZWRfZW51bRgXIAEoDjI9LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5BbGlhc2VkRW51bVITb3B0aW9uYWxBbGlhc2VkRW51bRI2ChVvcHRpb25hbF9zdHJpbmdfcGllY2UYGCABKAlCAggCUhNvcHRpb25hbFN0cmluZ1BpZWNlEicKDW9wdGlvbmFsX2NvcmQYGSABKAlCAggBUgxvcHRpb25hbENvcmQSXgoRcmVjdXJzaXZlX21lc3NhZ2UYGyABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzNSEHJlY3Vyc2l2ZU1lc3NhZ2USJQoOcmVwZWF0ZWRfaW50MzIYHyADKAVSDXJlcGVhdGVkSW50MzISJQoOcmVwZWF0ZWRfaW50NjQYICADKANSDXJlcGVhdGVkSW50NjQSJwoPcmVwZWF0ZWRfdWludDMyGCEgAygNUg5yZXBlYXRlZFVpbnQzMhInCg9yZXBlYXRlZF91aW50NjQYIiADKARSDnJlcGVhdGVkVWludDY0EicKD3JlcGVhdGVkX3NpbnQzMhgjIAMoEVIOcmVwZWF0ZWRTaW50MzISJwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSUg5yZXBlYXRlZFNpbnQ2NBIpChByZXBlYXRlZF9maXhlZDMyGCUgAygHUg9yZXBlYXRlZEZpeGVkMzISKQoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EisKEXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPUhByZXBlYXRlZFNmaXhlZDMyEisKEXJlcGVhdGVkX3NmaXhlZDY0GCggAygQUhByZXBlYXRlZFNmaXhlZDY0EiUKDnJlcGVhdGVkX2Zsb2F0GCkgAygCUg1yZXBlYXRlZEZsb2F0EicKD3JlcGVhdGVkX2RvdWJsZRgqIAMoAVIOcmVwZWF0ZWREb3VibGUSIwoNcmVwZWF0ZWRfYm9vbBgrIAMoCFIMcmVwZWF0ZWRCb29sEicKD3JlcGVhdGVkX3N0cmluZxgsIAMoCVIOcmVwZWF0ZWRTdHJpbmcSJQoOcmVwZWF0ZWRfYnl0ZXMYLSADKAxSDXJlcGVhdGVkQnl0ZXMSdwoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkTWVzc2FnZVIVcmVwZWF0ZWROZXN0ZWRNZXNzYWdlEmcKGHJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZRgxIAMoCzItLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25NZXNzYWdlUhZyZXBlYXRlZEZvcmVpZ25NZXNzYWdlEm4KFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1SEnJlcGVhdGVkTmVzdGVkRW51bRJeChVyZXBlYXRlZF9mb3JlaWduX2VudW0YNCADKA4yKi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduRW51bVITcmVwZWF0ZWRGb3JlaWduRW51bRI2ChVyZXBlYXRlZF9zdHJpbmdfcGllY2UYNiADKAlCAggCUhNyZXBlYXRlZFN0cmluZ1BpZWNlEicKDXJlcGVhdGVkX2NvcmQYNyADKAlCAggBUgxyZXBlYXRlZENvcmQSJQoMcGFja2VkX2ludDMyGEsgAygFQgIQAVILcGFja2VkSW50MzISJQoMcGFja2VkX2ludDY0GEwgAygDQgIQAVILcGFja2VkSW50NjQSJwoNcGFja2VkX3VpbnQzMhhNIAMoDUICEAFSDHBhY2tlZFVpbnQzMhInCg1wYWNrZWRfdWludDY0GE4gAygEQgIQAVIMcGFja2VkVWludDY0EicKDXBhY2tlZF9zaW50MzIYTyADKBFCAhABUgxwYWNrZWRTaW50MzISJwoNcGFja2VkX3NpbnQ2NBhQIAMoEkICEAFSDHBhY2tlZFNpbnQ2NBIpCg5wYWNrZWRfZml4ZWQzMhhRIAMoB0ICEAFSDXBhY2tlZEZpeGVkMzISKQoOcGFja2VkX2ZpeGVkNjQYUiADKAZCAhABUg1wYWNrZWRGaXhlZDY0EisKD3BhY2tlZF9zZml4ZWQzMhhTIAMoD0ICEAFSDnBhY2tlZFNmaXhlZDMyEisKD3BhY2tlZF9zZml4ZWQ2NBhUIAMoEEICEAFSDnBhY2tlZFNmaXhlZDY0EiUKDHBhY2tlZF9mbG9hdBhVIAMoAkICEAFSC3BhY2tlZEZsb2F0EicKDXBhY2tlZF9kb3VibGUYViADKAFCAhABUgxwYWNrZWREb3VibGUSIwoLcGFja2VkX2Jvb2wYVyADKAhCAhABUgpwYWNrZWRCb29sEm4KEnBhY2tlZF9uZXN0ZWRfZW51bRhYIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtQgIQAVIQcGFja2VkTmVzdGVkRW51bRIpCg51bnBhY2tlZF9pbnQzMhhZIAMoBUICEABSDXVucGFja2VkSW50MzISKQoOdW5wYWNrZWRfaW50NjQYWiADKANCAhAAUg11bnBhY2tlZEludDY0EisKD3VucGFja2VkX3VpbnQzMhhbIAMoDUICEABSDnVucGFja2VkVWludDMyEisKD3VucGFja2VkX3VpbnQ2NBhcIAMoBEICEABSDnVucGFja2VkVWludDY0EisKD3VucGFja2VkX3NpbnQzMhhdIAMoEUICEABSDnVucGFja2VkU2ludDMyEisKD3VucGFja2VkX3NpbnQ2NBheIAMoEkICEABSDnVucGFja2VkU2ludDY0Ei0KEHVucGFja2VkX2ZpeGVkMzIYXyADKAdCAhAAUg91bnBhY2tlZEZpeGVkMzISLQoQdW5wYWNrZWRfZml4ZWQ2NBhgIAMoBkICEABSD3VucGFja2VkRml4ZWQ2NBIvChF1bnBhY2tlZF9zZml4ZWQzMhhhIAMoD0ICEABSEHVucGFja2VkU2ZpeGVkMzISLwoRdW5wYWNrZWRfc2ZpeGVkNjQYYiADKBBCAhAAUhB1bnBhY2tlZFNmaXhlZDY0EikKDnVucGFja2VkX2Zsb2F0GGMgAygCQgIQAFINdW5wYWNrZWRGbG9hdBIrCg91bnBhY2tlZF9kb3VibGUYZCADKAFCAhAAUg51bnBhY2tlZERvdWJsZRInCg11bnBhY2tlZF9ib29sGGUgAygIQgIQAFIMdW5wYWNrZWRCb29sEnIKFHVucGFja2VkX25lc3RlZF9lbnVtGGYgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1CAhAAUhJ1bnBhY2tlZE5lc3RlZEVudW0SbAoPbWFwX2ludDMyX2ludDMyGDggAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMySW50MzJFbnRyeVINbWFwSW50MzJJbnQzMhJsCg9tYXBfaW50NjRfaW50NjQYOSADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwSW50NjRJbnQ2NEVudHJ5Ug1tYXBJbnQ2NEludDY0EnIKEW1hcF91aW50MzJfdWludDMyGDogAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFVpbnQzMlVpbnQzMkVudHJ5Ug9tYXBVaW50MzJVaW50MzIScgoRbWFwX3VpbnQ2NF91aW50NjQYOyADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwVWludDY0VWludDY0RW50cnlSD21hcFVpbnQ2NFVpbnQ2NBJyChFtYXBfc2ludDMyX3NpbnQzMhg8IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTaW50MzJTaW50MzJFbnRyeVIPbWFwU2ludDMyU2ludDMyEnIKEW1hcF9zaW50NjRfc2ludDY0GD0gAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFNpbnQ2NFNpbnQ2NEVudHJ5Ug9tYXBTaW50NjRTaW50NjQSeAoTbWFwX2ZpeGVkMzJfZml4ZWQzMhg+IAMoCzJILnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBGaXhlZDMyRml4ZWQzMkVudHJ5UhFtYXBGaXhlZDMyRml4ZWQzMhJ4ChNtYXBfZml4ZWQ2NF9maXhlZDY0GD8gAygLMkgucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEZpeGVkNjRGaXhlZDY0RW50cnlSEW1hcEZpeGVkNjRGaXhlZDY0En4KFW1hcF9zZml4ZWQzMl9zZml4ZWQzMhhAIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTZml4ZWQzMlNmaXhlZDMyRW50cnlSE21hcFNmaXhlZDMyU2ZpeGVkMzISfgoVbWFwX3NmaXhlZDY0X3NmaXhlZDY0GEEgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeVITbWFwU2ZpeGVkNjRTZml4ZWQ2NBJsCg9tYXBfaW50MzJfZmxvYXQYQiADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwSW50MzJGbG9hdEVudHJ5Ug1tYXBJbnQzMkZsb2F0Em8KEG1hcF9pbnQzMl9kb3VibGUYQyADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwSW50MzJEb3VibGVFbnRyeVIObWFwSW50MzJEb3VibGUSZgoNbWFwX2Jvb2xfYm9vbBhEIAMoCzJCLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBCb29sQm9vbEVudHJ5UgttYXBCb29sQm9vbBJyChFtYXBfc3RyaW5nX3N0cmluZxhFIAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTdHJpbmdTdHJpbmdFbnRyeVIPbWFwU3RyaW5nU3RyaW5nEm8KEG1hcF9zdHJpbmdfYnl0ZXMYRiADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nQnl0ZXNFbnRyeVIObWFwU3RyaW5nQnl0ZXMSiAEKGW1hcF9zdHJpbmdfbmVzdGVkX21lc3NhZ2UYRyADKAsyTS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5UhZtYXBTdHJpbmdOZXN0ZWRNZXNzYWdlEosBChptYXBfc3RyaW5nX2ZvcmVpZ25fbWVzc2FnZRhIIAMoCzJOLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5UhdtYXBTdHJpbmdGb3JlaWduTWVzc2FnZRJ/ChZtYXBfc3RyaW5nX25lc3RlZF9lbnVtGEkgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ05lc3RlZEVudW1FbnRyeVITbWFwU3RyaW5nTmVzdGVkRW51bRKCAQoXbWFwX3N0cmluZ19mb3JlaWduX2VudW0YSiADKAsySy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nRm9yZWlnbkVudW1FbnRyeVIUbWFwU3RyaW5nRm9yZWlnbkVudW0SIwoMb25lb2ZfdWludDMyGG8gASgNSABSC29uZW9mVWludDMyEnMKFG9uZW9mX25lc3RlZF9tZXNzYWdlGHAgASgLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZE1lc3NhZ2VIAFISb25lb2ZOZXN0ZWRNZXNzYWdlEiMKDG9uZW9mX3N0cmluZxhxIAEoCUgAUgtvbmVvZlN0cmluZxIhCgtvbmVvZl9ieXRlcxhyIAEoDEgAUgpvbmVvZkJ5dGVzEh8KCm9uZW9mX2Jvb2wYcyABKAhIAFIJb25lb2ZCb29sEiMKDG9uZW9mX3VpbnQ2NBh0IAEoBEgAUgtvbmVvZlVpbnQ2NBIhCgtvbmVvZl9mbG9hdBh1IAEoAkgAUgpvbmVvZkZsb2F0EiMKDG9uZW9mX2RvdWJsZRh2IAEoAUgAUgtvbmVvZkRvdWJsZRJdCgpvbmVvZl9lbnVtGHcgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1IAFIJb25lb2ZFbnVtEkYKEG9uZW9mX251bGxfdmFsdWUYeCABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSABSDm9uZW9mTnVsbFZhbHVlEk8KFW9wdGlvbmFsX2Jvb2xfd3JhcHBlchjJASABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUhNvcHRpb25hbEJvb2xXcmFwcGVyElIKFm9wdGlvbmFsX2ludDMyX3dyYXBwZXIYygEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSFG9wdGlvbmFsSW50MzJXcmFwcGVyElIKFm9wdGlvbmFsX2ludDY0X3dyYXBwZXIYywEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSFG9wdGlvbmFsSW50NjRXcmFwcGVyElUKF29wdGlvbmFsX3VpbnQzMl93cmFwcGVyGMwBIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZVIVb3B0aW9uYWxVaW50MzJXcmFwcGVyElUKF29wdGlvbmFsX3VpbnQ2NF93cmFwcGVyGM0BIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50NjRWYWx1ZVIVb3B0aW9uYWxVaW50NjRXcmFwcGVyElIKFm9wdGlvbmFsX2Zsb2F0X3dyYXBwZXIYzgEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVSFG9wdGlvbmFsRmxvYXRXcmFwcGVyElUKF29wdGlvbmFsX2RvdWJsZV93cmFwcGVyGM8BIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVIVb3B0aW9uYWxEb3VibGVXcmFwcGVyElUKF29wdGlvbmFsX3N0cmluZ193cmFwcGVyGNABIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIVb3B0aW9uYWxTdHJpbmdXcmFwcGVyElIKFm9wdGlvbmFsX2J5dGVzX3dyYXBwZXIY0QEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWVSFG9wdGlvbmFsQnl0ZXNXcmFwcGVyEk8KFXJlcGVhdGVkX2Jvb2xfd3JhcHBlchjTASADKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUhNyZXBlYXRlZEJvb2xXcmFwcGVyElIKFnJlcGVhdGVkX2ludDMyX3dyYXBwZXIY1AEgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSFHJlcGVhdGVkSW50MzJXcmFwcGVyElIKFnJlcGVhdGVkX2ludDY0X3dyYXBwZXIY1QEgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSFHJlcGVhdGVkSW50NjRXcmFwcGVyElUKF3JlcGVhdGVkX3VpbnQzMl93cmFwcGVyGNYBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZVIVcmVwZWF0ZWRVaW50MzJXcmFwcGVyElUKF3JlcGVhdGVkX3VpbnQ2NF93cmFwcGVyGNcBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50NjRWYWx1ZVIVcmVwZWF0ZWRVaW50NjRXcmFwcGVyElIKFnJlcGVhdGVkX2Zsb2F0X3dyYXBwZXIY2AEgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVSFHJlcGVhdGVkRmxvYXRXcmFwcGVyElUKF3JlcGVhdGVkX2RvdWJsZV93cmFwcGVyGNkBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVIVcmVwZWF0ZWREb3VibGVXcmFwcGVyElUKF3JlcGVhdGVkX3N0cmluZ193cmFwcGVyGNoBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIVcmVwZWF0ZWRTdHJpbmdXcmFwcGVyElIKFnJlcGVhdGVkX2J5dGVzX3dyYXBwZXIY2wEgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWVSFHJlcGVhdGVkQnl0ZXNXcmFwcGVyEkcKEW9wdGlvbmFsX2R1cmF0aW9uGK0CIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIQb3B0aW9uYWxEdXJhdGlvbhJKChJvcHRpb25hbF90aW1lc3RhbXAYrgIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIRb3B0aW9uYWxUaW1lc3RhbXASSwoTb3B0aW9uYWxfZmllbGRfbWFzaxivAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUhFvcHRpb25hbEZpZWxkTWFzaxJBCg9vcHRpb25hbF9zdHJ1Y3QYsAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIOb3B0aW9uYWxTdHJ1Y3QSOAoMb3B0aW9uYWxfYW55GLECIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSC29wdGlvbmFsQW55Ej4KDm9wdGlvbmFsX3ZhbHVlGLICIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVINb3B0aW9uYWxWYWx1ZRJLChNvcHRpb25hbF9udWxsX3ZhbHVlGLMCIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVSEW9wdGlvbmFsTnVsbFZhbHVlEkcKEXJlcGVhdGVkX2R1cmF0aW9uGLcCIAMoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIQcmVwZWF0ZWREdXJhdGlvbhJKChJyZXBlYXRlZF90aW1lc3RhbXAYuAIgAygLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIRcmVwZWF0ZWRUaW1lc3RhbXASSgoScmVwZWF0ZWRfZmllbGRtYXNrGLkCIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSEXJlcGVhdGVkRmllbGRtYXNrEkEKD3JlcGVhdGVkX3N0cnVjdBjEAiADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ug5yZXBlYXRlZFN0cnVjdBI4CgxyZXBlYXRlZF9hbnkYuwIgAygLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVILcmVwZWF0ZWRBbnkSPgoOcmVwZWF0ZWRfdmFsdWUYvAIgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUg1yZXBlYXRlZFZhbHVlEksKE3JlcGVhdGVkX2xpc3RfdmFsdWUYvQIgAygLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZVIRcmVwZWF0ZWRMaXN0VmFsdWUSHwoKZmllbGRuYW1lMRiRAyABKAVSCmZpZWxkbmFtZTESIAoLZmllbGRfbmFtZTIYkgMgASgFUgpmaWVsZE5hbWUyEiEKDF9maWVsZF9uYW1lMxiTAyABKAVSCkZpZWxkTmFtZTMSIgoNZmllbGRfX25hbWU0XxiUAyABKAVSCmZpZWxkTmFtZTQSIQoLZmllbGQwbmFtZTUYlQMgASgFUgtmaWVsZDBuYW1lNRIjCg1maWVsZF8wX25hbWU2GJYDIAEoBVILZmllbGQwTmFtZTYSHwoKZmllbGROYW1lNxiXAyABKAVSCmZpZWxkTmFtZTcSHwoKRmllbGROYW1lOBiYAyABKAVSCkZpZWxkTmFtZTgSIAoLZmllbGRfTmFtZTkYmQMgASgFUgpmaWVsZE5hbWU5EiIKDEZpZWxkX05hbWUxMBiaAyABKAVSC0ZpZWxkTmFtZTEwEiIKDEZJRUxEX05BTUUxMRibAyABKAVSC0ZJRUxETkFNRTExEiIKDEZJRUxEX25hbWUxMhicAyABKAVSC0ZJRUxETmFtZTEyEiQKDl9fZmllbGRfbmFtZTEzGJ0DIAEoBVILRmllbGROYW1lMTMSJAoOX19GaWVsZF9uYW1lMTQYngMgASgFUgtGaWVsZE5hbWUxNBIjCg1maWVsZF9fbmFtZTE1GJ8DIAEoBVILZmllbGROYW1lMTUSIwoNZmllbGRfX05hbWUxNhigAyABKAVSC2ZpZWxkTmFtZTE2EiQKDmZpZWxkX25hbWUxN19fGKEDIAEoBVILZmllbGROYW1lMTcSJAoORmllbGRfbmFtZTE4X18YogMgASgFUgtGaWVsZE5hbWUxOBpyCg1OZXN0ZWRNZXNzYWdlEgwKAWEYASABKAVSAWESUwoLY29yZWN1cnNpdmUYAiABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzNSC2NvcmVjdXJzaXZlGkAKEk1hcEludDMySW50MzJFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoBVIFdmFsdWU6AjgBGkAKEk1hcEludDY0SW50NjRFbnRyeRIQCgNrZXkYASABKANSA2tleRIUCgV2YWx1ZRgCIAEoA1IFdmFsdWU6AjgBGkIKFE1hcFVpbnQzMlVpbnQzMkVudHJ5EhAKA2tleRgBIAEoDVIDa2V5EhQKBXZhbHVlGAIgASgNUgV2YWx1ZToCOAEaQgoUTWFwVWludDY0VWludDY0RW50cnkSEAoDa2V5GAEgASgEUgNrZXkSFAoFdmFsdWUYAiABKARSBXZhbHVlOgI4ARpCChRNYXBTaW50MzJTaW50MzJFbnRyeRIQCgNrZXkYASABKBFSA2tleRIUCgV2YWx1ZRgCIAEoEVIFdmFsdWU6AjgBGkIKFE1hcFNpbnQ2NFNpbnQ2NEVudHJ5EhAKA2tleRgBIAEoElIDa2V5EhQKBXZhbHVlGAIgASgSUgV2YWx1ZToCOAEaRAoWTWFwRml4ZWQzMkZpeGVkMzJFbnRyeRIQCgNrZXkYASABKAdSA2tleRIUCgV2YWx1ZRgCIAEoB1IFdmFsdWU6AjgBGkQKFk1hcEZpeGVkNjRGaXhlZDY0RW50cnkSEAoDa2V5GAEgASgGUgNrZXkSFAoFdmFsdWUYAiABKAZSBXZhbHVlOgI4ARpGChhNYXBTZml4ZWQzMlNmaXhlZDMyRW50cnkSEAoDa2V5GAEgASgPUgNrZXkSFAoFdmFsdWUYAiABKA9SBXZhbHVlOgI4ARpGChhNYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnkSEAoDa2V5GAEgASgQUgNrZXkSFAoFdmFsdWUYAiABKBBSBXZhbHVlOgI4ARpAChJNYXBJbnQzMkZsb2F0RW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAJSBXZhbHVlOgI4ARpBChNNYXBJbnQzMkRvdWJsZUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgBUgV2YWx1ZToCOAEaPgoQTWFwQm9vbEJvb2xFbnRyeRIQCgNrZXkYASABKAhSA2tleRIUCgV2YWx1ZRgCIAEoCFIFdmFsdWU6AjgBGkIKFE1hcFN0cmluZ1N0cmluZ0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaQQoTTWFwU3RyaW5nQnl0ZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoDFIFdmFsdWU6AjgBGooBChtNYXBTdHJpbmdOZXN0ZWRNZXNzYWdlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSVQoFdmFsdWUYAiABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkTWVzc2FnZVIFdmFsdWU6AjgBGnkKHE1hcFN0cmluZ0ZvcmVpZ25NZXNzYWdlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSQwoFdmFsdWUYAiABKAsyLS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduTWVzc2FnZVIFdmFsdWU6AjgBGoQBChhNYXBTdHJpbmdOZXN0ZWRFbnVtRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSUgoFdmFsdWUYAiABKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkRW51bVIFdmFsdWU6AjgBGnMKGU1hcFN0cmluZ0ZvcmVpZ25FbnVtRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSQAoFdmFsdWUYAiABKA4yKi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduRW51bVIFdmFsdWU6AjgBIjkKCk5lc3RlZEVudW0SBwoDRk9PEAASBwoDQkFSEAESBwoDQkFaEAISEAoDTkVHEP///////////wEiWQoLQWxpYXNlZEVudW0SDQoJQUxJQVNfRk9PEAASDQoJQUxJQVNfQkFSEAESDQoJQUxJQVNfQkFaEAISBwoDTU9PEAISBwoDbW9vEAISBwoDYkF6EAIaAhABQg0KC29uZW9mX2ZpZWxkSgYI9QMQ/wMiHgoORm9yZWlnbk1lc3NhZ2USDAoBYxgBIAEoBVIBYyIWChROdWxsSHlwb3RoZXNpc1Byb3RvMyIvCg5FbnVtT25seVByb3RvMyIdCgRCb29sEgoKBmtGYWxzZRAAEgkKBWtUcnVlEAEqQAoLRm9yZWlnbkVudW0SDwoLRk9SRUlHTl9GT08QABIPCgtGT1JFSUdOX0JBUhABEg8KC0ZPUkVJR05fQkFaEAJCOAooY29tLmdvb2dsZS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvM0gB+AEBogIGUHJvdG8zSutmCgcSBQ4AiAIBCogDCgEMEgMOABIy/QIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCiBUZXN0IHNjaGVtYSBmb3IgcHJvdG8zIG1lc3NhZ2VzLiAgVGhpcyB0ZXN0IHNjaGVtYSBpcyB1c2VkIGJ5OgoKIC0gYmVuY2htYXJrcwogLSBmdXp6IHRlc3RzCiAtIGNvbmZvcm1hbmNlIHRlc3RzCgoKCAoBAhIDEAAmCggKAQgSAxIAQQoJCgIIARIDEgBBCggKAQgSAxMAJAoJCgIIJBIDEwAkCggKAQgSAxYAHApECgIICRIDFgAcGjkgVGhpcyBpcyB0aGUgZGVmYXVsdCwgYnV0IHdlIHNwZWNpZnkgaXQgaGVyZSBleHBsaWNpdGx5LgoKCQoCAwASAxgAIwoJCgIDARIDGQAoCgkKAgMCEgMaACoKCQoCAwMSAxsAJgoJCgIDBBIDHAApCgkKAgMFEgMdACgKCAoBCBIDHwAfCgkKAggfEgMfAB8K2wIKAgQAEgUoAPUBARrNAiBUaGlzIHByb3RvIGluY2x1ZGVzIGV2ZXJ5IHR5cGUgb2YgZmllbGQgaW4gYm90aCBzaW5ndWxhciBhbmQgcmVwZWF0ZWQKIGZvcm1zLgoKIEFsc28sIGNydWNpYWxseSwgYWxsIG1lc3NhZ2VzIGFuZCBlbnVtcyBpbiB0aGlz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MzIYAyABKA1SDm9wdGlvbmFsVWludDMyEicKD29wdGlvbmFsX3VpbnQ2NBgEIAEoBFIOb3B0aW9uYWxVaW50NjQSJwoPb3B0aW9uYWxfc2ludDMyGAUgASgRUg5vcHRpb25hbFNpbnQzMhInCg9vcHRpb25hbF9zaW50NjQYBiABKBJSDm9wdGlvbmFsU2ludDY0EikKEG9wdGlvbmFsX2ZpeGVkMzIYByABKAdSD29wdGlvbmFsRml4ZWQzMhIpChBvcHRpb25hbF9maXhlZDY0GAggASgGUg9vcHRpb25hbEZpeGVkNjQSKwoRb3B0aW9uYWxfc2ZpeGVkMzIYCSABKA9SEG9wdGlvbmFsU2ZpeGVkMzISKwoRb3B0aW9uYWxfc2ZpeGVkNjQYCiABKBBSEG9wdGlvbmFsU2ZpeGVkNjQSJQoOb3B0aW9uYWxfZmxvYXQYCyABKAJSDW9wdGlvbmFsRmxvYXQSJwoPb3B0aW9uYWxfZG91YmxlGAwgASgBUg5vcHRpb25hbERvdWJsZRIjCg1vcHRpb25hbF9ib29sGA0gASgIUgxvcHRpb25hbEJvb2wSJwoPb3B0aW9uYWxfc3RyaW5nGA4gASgJUg5vcHRpb25hbFN0cmluZxIlCg5vcHRpb25hbF9ieXRlcxgPIAEoDFINb3B0aW9uYWxCeXRlcxJ3ChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgSIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRNZXNzYWdlUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2USbQoYb3B0aW9uYWxfZm9yZWlnbl9tZXNzYWdlGBMgASgLMjMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuRm9yZWlnbk1lc3NhZ2VQcm90bzJSFm9wdGlvbmFsRm9yZWlnbk1lc3NhZ2USbgoUb3B0aW9uYWxfbmVzdGVkX2VudW0YFSABKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkRW51bVISb3B0aW9uYWxOZXN0ZWRFbnVtEmQKFW9wdGlvbmFsX2ZvcmVpZ25fZW51bRgWIAEoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25FbnVtUHJvdG8yUhNvcHRpb25hbEZvcmVpZ25FbnVtEjYKFW9wdGlvbmFsX3N0cmluZ19waWVjZRgYIAEoCUICCAJSE29wdGlvbmFsU3RyaW5nUGllY2USJwoNb3B0aW9uYWxfY29yZBgZIAEoCUICCAFSDG9wdGlvbmFsQ29yZBJeChFyZWN1cnNpdmVfbWVzc2FnZRgbIAEoCzIxLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMlIQcmVjdXJzaXZlTWVzc2FnZRIlCg5yZXBlYXRlZF9pbnQzMhgfIAMoBVINcmVwZWF0ZWRJbnQzMhIlCg5yZXBlYXRlZF9pbnQ2NBggIAMoA1INcmVwZWF0ZWRJbnQ2NBInCg9yZXBlYXRlZF91aW50MzIYISADKA1SDnJlcGVhdGVkVWludDMyEicKD3JlcGVhdGVkX3VpbnQ2NBgiIAMoBFIOcmVwZWF0ZWRVaW50NjQSJwoPcmVwZWF0ZWRfc2ludDMyGCMgAygRUg5yZXBlYXRlZFNpbnQzMhInCg9yZXBlYXRlZF9zaW50NjQYJCADKBJSDnJlcGVhdGVkU2ludDY0EikKEHJlcGVhdGVkX2ZpeGVkMzIYJSADKAdSD3JlcGVhdGVkRml4ZWQzMhIpChByZXBlYXRlZF9maXhlZDY0GCYgAygGUg9yZXBlYXRlZEZpeGVkNjQSKwoRcmVwZWF0ZWRfc2ZpeGVkMzIYJyADKA9SEHJlcGVhdGVkU2ZpeGVkMzISKwoRcmVwZWF0ZWRfc2ZpeGVkNjQYKCADKBBSEHJlcGVhdGVkU2ZpeGVkNjQSJQoOcmVwZWF0ZWRfZmxvYXQYKSADKAJSDXJlcGVhdGVkRmxvYXQSJwoPcmVwZWF0ZWRfZG91YmxlGCogAygBUg5yZXBlYXRlZERvdWJsZRIjCg1yZXBlYXRlZF9ib29sGCsgAygIUgxyZXBlYXRlZEJvb2wSJwoPcmVwZWF0ZWRfc3RyaW5nGCwgAygJUg5yZXBlYXRlZFN0cmluZxIlCg5yZXBlYXRlZF9ieXRlcxgtIAMoDFINcmVwZWF0ZWRCeXRlcxJ3ChdyZXBlYXRlZF9uZXN0ZWRfbWVzc2FnZRgwIAMoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRNZXNzYWdlUhVyZXBlYXRlZE5lc3RlZE1lc3NhZ2USbQoYcmVwZWF0ZWRfZm9yZWlnbl9tZXNzYWdlGDEgAygLMjMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuRm9yZWlnbk1lc3NhZ2VQcm90bzJSFnJlcGVhdGVkRm9yZWlnbk1lc3NhZ2USbgoUcmVwZWF0ZWRfbmVzdGVkX2VudW0YMyADKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkRW51bVIScmVwZWF0ZWROZXN0ZWRFbnVtEmQKFXJlcGVhdGVkX2ZvcmVpZ25fZW51bRg0IAMoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25FbnVtUHJvdG8yUhNyZXBlYXRlZEZvcmVpZ25FbnVtEjYKFXJlcGVhdGVkX3N0cmluZ19waWVjZRg2IAMoCUICCAJSE3JlcGVhdGVkU3RyaW5nUGllY2USJwoNcmVwZWF0ZWRfY29yZBg3IAMoCUICCAFSDHJlcGVhdGVkQ29yZBIlCgxwYWNrZWRfaW50MzIYSyADKAVCAhABUgtwYWNrZWRJbnQzMhIlCgxwYWNrZWRfaW50NjQYTCADKANCAhABUgtwYWNrZWRJbnQ2NBInCg1wYWNrZWRfdWludDMyGE0gAygNQgIQAVIMcGFja2VkVWludDMyEicKDXBhY2tlZF91aW50NjQYTiADKARCAhABUgxwYWNrZWRVaW50NjQSJwoNcGFja2VkX3NpbnQzMhhPIAMoEUICEAFSDHBhY2tlZFNpbnQzMhInCg1wYWNrZWRfc2ludDY0GFAgAygSQgIQAVIMcGFja2VkU2ludDY0EikKDnBhY2tlZF9maXhlZDMyGFEgAygHQgIQAVINcGFja2VkRml4ZWQzMhIpCg5wYWNrZWRfZml4ZWQ2NBhSIAMoBkICEAFSDXBhY2tlZEZpeGVkNjQSKwoPcGFja2VkX3NmaXhlZDMyGFMgAygPQgIQAVIOcGFja2VkU2ZpeGVkMzISKwoPcGFja2VkX3NmaXhlZDY0GFQgAygQQgIQAVIOcGFja2VkU2ZpeGVkNjQSJQoMcGFja2VkX2Zsb2F0GFUgAygCQgIQAVILcGFja2VkRmxvYXQSJwoNcGFja2VkX2RvdWJsZRhWIAMoAUICEAFSDHBhY2tlZERvdWJsZRIjCgtwYWNrZWRfYm9vbBhXIAMoCEICEAFSCnBhY2tlZEJvb2wSbgoScGFja2VkX25lc3RlZF9lbnVtGFggAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1CAhABUhBwYWNrZWROZXN0ZWRFbnVtEikKDnVucGFja2VkX2ludDMyGFkgAygFQgIQAFINdW5wYWNrZWRJbnQzMhIpCg51bnBhY2tlZF9pbnQ2NBhaIAMoA0ICEABSDXVucGFja2VkSW50NjQSKwoPdW5wYWNrZWRfdWludDMyGFsgAygNQgIQAFIOdW5wYWNrZWRVaW50MzISKwoPdW5wYWNrZWRfdWludDY0GFwgAygEQgIQAFIOdW5wYWNrZWRVaW50NjQSKwoPdW5wYWNrZWRfc2ludDMyGF0gAygRQgIQAFIOdW5wYWNrZWRTaW50MzISKwoPdW5wYWNrZWRfc2ludDY0GF4gAygSQgIQAFIOdW5wYWNrZWRTaW50NjQSLQoQdW5wYWNrZWRfZml4ZWQzMhhfIAMoB0ICEABSD3VucGFja2VkRml4ZWQzMhItChB1bnBhY2tlZF9maXhlZDY0GGAgAygGQgIQAFIPdW5wYWNrZWRGaXhlZDY0Ei8KEXVucGFja2VkX3NmaXhlZDMyGGEgAygPQgIQAFIQdW5wYWNrZWRTZml4ZWQzMhIvChF1bnBhY2tlZF9zZml4ZWQ2NBhiIAMoEEICEABSEHVucGFja2VkU2ZpeGVkNjQSKQoOdW5wYWNrZWRfZmxvYXQYYyADKAJCAhAAUg11bnBhY2tlZEZsb2F0EisKD3VucGFja2VkX2RvdWJsZRhkIAMoAUICEABSDnVucGFja2VkRG91YmxlEicKDXVucGFja2VkX2Jvb2wYZSADKAhCAhAAUgx1bnBhY2tlZEJvb2wScgoUdW5wYWNrZWRfbmVzdGVkX2VudW0YZiADKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkRW51bUICEABSEnVucGFja2VkTmVzdGVkRW51bRJsCg9tYXBfaW50MzJfaW50MzIYOCADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50MzJJbnQzMkVudHJ5Ug1tYXBJbnQzMkludDMyEmwKD21hcF9pbnQ2NF9pbnQ2NBg5IAMoCzJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBJbnQ2NEludDY0RW50cnlSDW1hcEludDY0SW50NjQScgoRbWFwX3VpbnQzMl91aW50MzIYOiADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwVWludDMyVWludDMyRW50cnlSD21hcFVpbnQzMlVpbnQzMhJyChFtYXBfdWludDY0X3VpbnQ2NBg7IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBVaW50NjRVaW50NjRFbnRyeVIPbWFwVWludDY0VWludDY0EnIKEW1hcF9zaW50MzJfc2ludDMyGDwgAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNpbnQzMlNpbnQzMkVudHJ5Ug9tYXBTaW50MzJTaW50MzIScgoRbWFwX3NpbnQ2NF9zaW50NjQYPSADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU2ludDY0U2ludDY0RW50cnlSD21hcFNpbnQ2NFNpbnQ2NBJ4ChNtYXBfZml4ZWQzMl9maXhlZDMyGD4gAygLMkgucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEZpeGVkMzJGaXhlZDMyRW50cnlSEW1hcEZpeGVkMzJGaXhlZDMyEngKE21hcF9maXhlZDY0X2ZpeGVkNjQYPyADKAsySC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwRml4ZWQ2NEZpeGVkNjRFbnRyeVIRbWFwRml4ZWQ2NEZpeGVkNjQSfgoVbWFwX3NmaXhlZDMyX3NmaXhlZDMyGEAgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeVITbWFwU2ZpeGVkMzJTZml4ZWQzMhJ+ChVtYXBfc2ZpeGVkNjRfc2ZpeGVkNjQYQSADKAsySi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5UhNtYXBTZml4ZWQ2NFNmaXhlZDY0EmwKD21hcF9pbnQzMl9mbG9hdBhCIAMoCzJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBJbnQzMkZsb2F0RW50cnlSDW1hcEludDMyRmxvYXQSbwoQbWFwX2ludDMyX2RvdWJsZRhDIAMoCzJFLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBJbnQzMkRvdWJsZUVudHJ5Ug5tYXBJbnQzMkRvdWJsZRJmCg1tYXBfYm9vbF9ib29sGEQgAygLMkIucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEJvb2xCb29sRW50cnlSC21hcEJvb2xCb29sEnIKEW1hcF9zdHJpbmdfc3RyaW5nGEUgAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFN0cmluZ1N0cmluZ0VudHJ5Ug9tYXBTdHJpbmdTdHJpbmcSbwoQbWFwX3N0cmluZ19ieXRlcxhGIAMoCzJFLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdCeXRlc0VudHJ5Ug5tYXBTdHJpbmdCeXRlcxKIAQoZbWFwX3N0cmluZ19uZXN0ZWRfbWVzc2FnZRhHIAMoCzJNLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdOZXN0ZWRNZXNzYWdlRW50cnlSFm1hcFN0cmluZ05lc3RlZE1lc3NhZ2USiwEKGm1hcF9zdHJpbmdfZm9yZWlnbl9tZXNzYWdlGEggAygLMk4ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFN0cmluZ0ZvcmVpZ25NZXNzYWdlRW50cnlSF21hcFN0cmluZ0ZvcmVpZ25NZXNzYWdlEn8KFm1hcF9zdHJpbmdfbmVzdGVkX2VudW0YSSADKAsySi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nTmVzdGVkRW51bUVudHJ5UhNtYXBTdHJpbmdOZXN0ZWRFbnVtEoIBChdtYXBfc3RyaW5nX2ZvcmVpZ25fZW51bRhKIAMoCzJLLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdGb3JlaWduRW51bUVudHJ5UhRtYXBTdHJpbmdGb3JlaWduRW51bRIjCgxvbmVvZl91aW50MzIYbyABKA1IAFILb25lb2ZVaW50MzIScwoUb25lb2ZfbmVzdGVkX21lc3NhZ2UYcCABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZUgAUhJvbmVvZk5lc3RlZE1lc3NhZ2USIwoMb25lb2Zfc3RyaW5nGHEgASgJSABSC29uZW9mU3RyaW5nEiEKC29uZW9mX2J5dGVzGHIgASgMSABSCm9uZW9mQnl0ZXMSHwoKb25lb2ZfYm9vbBhzIAEoCEgAUglvbmVvZkJvb2wSIwoMb25lb2ZfdWludDY0GHQgASgESABSC29uZW9mVWludDY0EiEKC29uZW9mX2Zsb2F0GHUgASgCSABSCm9uZW9mRmxvYXQSIwoMb25lb2ZfZG91YmxlGHYgASgBSABSC29uZW9mRG91YmxlEl0KCm9uZW9mX2VudW0YdyABKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkRW51bUgAUglvbmVvZkVudW0SSwoEZGF0YRjJASABKAoyNi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuRGF0YVIEZGF0YRIwCg1kZWZhdWx0X2ludDMyGPEBIAEoBToKLTEyMzQ1Njc4OVIMZGVmYXVsdEludDMyEjoKDWRlZmF1bHRfaW50NjQY8gEgASgDOhQtOTEyMzQ1Njc4OTEyMzQ1Njc4OVIMZGVmYXVsdEludDY0EjIKDmRlZmF1bHRfdWludDMyGPMBIAEoDToKMjEyMzQ1Njc4OVINZGVmYXVsdFVpbnQzMhI8Cg5kZWZhdWx0X3VpbnQ2NBj0ASABKAQ6FDEwMTIzNDU2Nzg5MTIzNDU2Nzg5Ug1kZWZhdWx0VWludDY0EjIKDmRlZmF1bHRfc2ludDMyGPUBIAEoEToKLTEyMzQ1Njc4OVINZGVmYXVsdFNpbnQzMhI8Cg5kZWZhdWx0X3NpbnQ2NBj2ASABKBI6FC05MTIzNDU2Nzg5MTIzNDU2Nzg5Ug1kZWZhdWx0U2ludDY0EjQKD2RlZmF1bHRfZml4ZWQzMhj3ASABKAc6CjIxMjM0NTY3ODlSDmRlZmF1bHRGaXhlZDMyEj4KD2RlZmF1bHRfZml4ZWQ2NBj4ASABKAY6FDEwMTIzNDU2Nzg5MTIzNDU2Nzg5Ug5kZWZhdWx0Rml4ZWQ2NBI2ChBkZWZhdWx0X3NmaXhlZDMyGPkBIAEoDzoKLTEyMzQ1Njc4OVIPZGVmYXVsdFNmaXhlZDMyEkAKEGRlZmF1bHRfc2ZpeGVkNjQY+gEgASgQOhQtOTEyMzQ1Njc4OTEyMzQ1Njc4OVIPZGVmYXVsdFNmaXhlZDY0EisKDWRlZmF1bHRfZmxvYXQY+wEgASgCOgU5ZSswOVIMZGVmYXVsdEZsb2F0Ei0KDmRlZmF1bHRfZG91YmxlGPwBIAEoAToFN2UrMjJSDWRlZmF1bHREb3VibGUSKAoMZGVmYXVsdF9ib29sGP0BIAEoCDoEdHJ1ZVILZGVmYXVsdEJvb2wSLwoOZGVmYXVsdF9zdHJpbmcY/gEgASgJOgdSb3NlYnVkUg1kZWZhdWx0U3RyaW5nEiwKDWRlZmF1bHRfYnl0ZXMY/wEgASgMOgZqb3NodWFSDGRlZmF1bHRCeXRlcxIfCgpmaWVsZG5hbWUxGJEDIAEoBVIKZmllbGRuYW1lMRIgCgtmaWVsZF9uYW1lMhiSAyABKAVSCmZpZWxkTmFtZTISIQoMX2ZpZWxkX25hbWUzGJMDIAEoBVIKRmllbGROYW1lMxIiCg1maWVsZF9fbmFtZTRfGJQDIAEoBVIKZmllbGROYW1lNBIhCgtmaWVsZDBuYW1lNRiVAyABKAVSC2ZpZWxkMG5hbWU1EiMKDWZpZWxkXzBfbmFtZTYYlgMgASgFUgtmaWVsZDBOYW1lNhIfCgpmaWVsZE5hbWU3GJcDIAEoBVIKZmllbGROYW1lNxIfCgpGaWVsZE5hbWU4GJgDIAEoBVIKRmllbGROYW1lOBIgCgtmaWVsZF9OYW1lORiZAyABKAVSCmZpZWxkTmFtZTkSIgoMRmllbGRfTmFtZTEwGJoDIAEoBVILRmllbGROYW1lMTASIgoMRklFTERfTkFNRTExGJsDIAEoBVILRklFTEROQU1FMTESIgoMRklFTERfbmFtZTEyGJwDIAEoBVILRklFTEROYW1lMTISJAoOX19maWVsZF9uYW1lMTMYnQMgASgFUgtGaWVsZE5hbWUxMxIkCg5fX0ZpZWxkX25hbWUxNBieAyABKAVSC0ZpZWxkTmFtZTE0EiMKDWZpZWxkX19uYW1lMTUYnwMgASgFUgtmaWVsZE5hbWUxNRIjCg1maWVsZF9fTmFtZTE2GKADIAEoBVILZmllbGROYW1lMTYSJAoOZmllbGRfbmFtZTE3X18YoQMgASgFUgtmaWVsZE5hbWUxNxIkCg5GaWVsZF9uYW1lMThfXxiiAyABKAVSC0ZpZWxkTmFtZTE4GnIKDU5lc3RlZE1lc3NhZ2USDAoBYRgBIAEoBVIBYRJTCgtjb3JlY3Vyc2l2ZRgCIAEoCzIxLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMlILY29yZWN1cnNpdmUaQAoSTWFwSW50MzJJbnQzMkVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgFUgV2YWx1ZToCOAEaQAoSTWFwSW50NjRJbnQ2NEVudHJ5EhAKA2tleRgBIAEoA1IDa2V5EhQKBXZhbHVlGAIgASgDUgV2YWx1ZToCOAEaQgoUTWFwVWludDMyVWludDMyRW50cnkSEAoDa2V5GAEgASgNUgNrZXkSFAoFdmFsdWUYAiABKA1SBXZhbHVlOgI4ARpCChRNYXBVaW50NjRVaW50NjRFbnRyeRIQCgNrZXkYASABKARSA2tleRIUCgV2YWx1ZRgCIAEoBFIFdmFsdWU6AjgBGkIKFE1hcFNpbnQzMlNpbnQzMkVudHJ5EhAKA2tleRgBIAEoEVIDa2V5EhQKBXZhbHVlGAIgASgRUgV2YWx1ZToCOAEaQgoUTWFwU2ludDY0U2ludDY0RW50cnkSEAoDa2V5GAEgASgSUgNrZXkSFAoFdmFsdWUYAiABKBJSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDMyRml4ZWQzMkVudHJ5EhAKA2tleRgBIAEoB1IDa2V5EhQKBXZhbHVlGAIgASgHUgV2YWx1ZToCOAEaRAoWTWFwRml4ZWQ2NEZpeGVkNjRFbnRyeRIQCgNrZXkYASABKAZSA2tleRIUCgV2YWx1ZRgCIAEoBlIFdmFsdWU6AjgBGkYKGE1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeRIQCgNrZXkYASABKA9SA2tleRIUCgV2YWx1ZRgCIAEoD1IFdmFsdWU6AjgBGkYKGE1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeRIQCgNrZXkYASABKBBSA2tleRIUCgV2YWx1ZRgCIAEoEFIFdmFsdWU6AjgBGkAKEk1hcEludDMyRmxvYXRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAlIFdmFsdWU6AjgBGkEKE01hcEludDMyRG91YmxlRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAFSBXZhbHVlOgI4ARo+ChBNYXBCb29sQm9vbEVudHJ5EhAKA2tleRgBIAEoCFIDa2V5EhQKBXZhbHVlGAIgASgIUgV2YWx1ZToCOAEaQgoUTWFwU3RyaW5nU3RyaW5nRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpBChNNYXBTdHJpbmdCeXRlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgMUgV2YWx1ZToCOAEaigEKG01hcFN0cmluZ05lc3RlZE1lc3NhZ2VFbnRyeRIQCgNrZXkYASABKAlSA2tleRJVCgV2YWx1ZRgCIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRNZXNzYWdlUgV2YWx1ZToCOAEafwocTWFwU3RyaW5nRm9yZWlnbk1lc3NhZ2VFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUgV2YWx1ZToCOAEahAEKGE1hcFN0cmluZ05lc3RlZEVudW1FbnRyeRIQCgNrZXkYASABKAlSA2tleRJSCgV2YWx1ZRgCIAEoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRFbnVtUgV2YWx1ZToCOAEaeQoZTWFwU3RyaW5nRm9yZWlnbkVudW1FbnRyeRIQCgNrZXkYASABKAlSA2tleRJGCgV2YWx1ZRgCIAEoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25FbnVtUHJvdG8yUgV2YWx1ZToCOAEaTAoERGF0YRIgCgtncm91cF9pbnQzMhjKASABKAVSCmdyb3VwSW50MzISIgoMZ3JvdXBfdWludDMyGMsBIAEoDVILZ3JvdXBVaW50MzIaIQoRTWVzc2FnZVNldENvcnJlY3QqCAgEEP////8HOgIIARr6AQobTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24xEhAKA3N0chgZIAEoCVIDc3RyMsgBChVtZXNzYWdlX3NldF9leHRlbnNpb24SQy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3QY+bteIAEoCzJNLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjFSE21lc3NhZ2VTZXRFeHRlbnNpb24a9wEKG01lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMhIMCgFpGAkgASgFUgFpMskBChVtZXNzYWdlX3NldF9leHRlbnNpb24SQy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3QYkLP8ASABKAsyTS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24yUhNtZXNzYWdlU2V0RXh0ZW5zaW9uIjkKCk5lc3RlZEVudW0SBwoDRk9PEAASBwoDQkFSEAESBwoDQkFaEAISEAoDTkVHEP///////////wEqBQh4EMkBQg0KC29uZW9mX2ZpZWxkSgYI6AcQkE4iJAoURm9yZWlnbk1lc3NhZ2VQcm90bzISDAoBYxgBIAEoBVIBYyKeAwoVVW5rbm93blRvVGVzdEFsbFR5cGVzEiYKDm9wdGlvbmFsX2ludDMyGOkHIAEoBVINb3B0aW9uYWxJbnQzMhIoCg9vcHRpb25hbF9zdHJpbmcY6gcgASgJUg5vcHRpb25hbFN0cmluZxJbCg5uZXN0ZWRfbWVzc2FnZRjrByABKAsyMy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduTWVzc2FnZVByb3RvMlINbmVzdGVkTWVzc2FnZRJpCg1vcHRpb25hbGdyb3VwGOwHIAEoCjJCLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlVua25vd25Ub1Rlc3RBbGxUeXBlcy5PcHRpb25hbEdyb3VwUg1vcHRpb25hbGdyb3VwEiQKDW9wdGlvbmFsX2Jvb2wY7gcgASgIUgxvcHRpb25hbEJvb2wSJgoOcmVwZWF0ZWRfaW50MzIY8wcgAygFUg1yZXBlYXRlZEludDMyGh0KDU9wdGlvbmFsR3JvdXASDAoBYRgBIAEoBVIBYSIWChROdWxsSHlwb3RoZXNpc1Byb3RvMiIvCg5FbnVtT25seVByb3RvMiIdCgRCb29sEgoKBmtGYWxzZRAAEgkKBWtUcnVlEAEiJQoPT25lU3RyaW5nUHJvdG8yEhIKBGRhdGEYASABKAlSBGRhdGEiYQoRUHJvdG9XaXRoS2V5d29yZHMSFgoGaW5saW5lGAEgASgFUgZpbmxpbmUSGAoHY29uY2VwdBgCIAEoCVIHY29uY2VwdBIaCghyZXF1aXJlcxgDIAMoCVIIcmVxdWlyZXMizBkKGlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yEiUKDnJlcXVpcmVkX2ludDMyGAEgAigFUg1yZXF1aXJlZEludDMyEiUKDnJlcXVpcmVkX2ludDY0GAIgAigDUg1yZXF1aXJlZEludDY0EicKD3JlcXVpcmVkX3VpbnQzMhgDIAIoDVIOcmVxdWlyZWRVaW50MzISJwoPcmVxdWlyZWRfdWludDY0GAQgAigEUg5yZXF1aXJlZFVpbnQ2NBInCg9yZXF1aXJlZF9zaW50MzIYBSACKBFSDnJlcXVpcmVkU2ludDMyEicKD3JlcXVpcmVkX3NpbnQ2NBgGIAIoElIOcmVxdWlyZWRTaW50NjQSKQoQcmVxdWlyZWRfZml4ZWQzMhgHIAIoB1IPcmVxdWlyZWRGaXhlZDMyEikKEHJlcXVpcmVkX2ZpeGVkNjQYCCACKAZSD3JlcXVpcmVkRml4ZWQ2NBIrChFyZXF1aXJlZF9zZml4ZWQzMhgJIAIoD1IQcmVxdWlyZWRTZml4ZWQzMhIrChFyZXF1aXJlZF9zZml4ZWQ2NBgKIAIoEFIQcmVxdWlyZWRTZml4ZWQ2NBIlCg5yZXF1aXJlZF9mbG9hdBgLIAIoAlINcmVxdWlyZWRGbG9hdBInCg9yZXF1aXJlZF9kb3VibGUYDCACKAFSDnJlcXVpcmVkRG91YmxlEiMKDXJlcXVpcmVkX2Jvb2wYDSACKAhSDHJlcXVpcmVkQm9vbBInCg9yZXF1aXJlZF9zdHJpbmcYDiACKAlSDnJlcXVpcmVkU3RyaW5nEiUKDnJlcXVpcmVkX2J5dGVzGA8gAigMUg1yZXF1aXJlZEJ5dGVzEn8KF3JlcXVpcmVkX25lc3RlZF9tZXNzYWdlGBIgAigLMkcucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZVIVcmVxdWlyZWROZXN0ZWRNZXNzYWdlEm0KGHJlcXVpcmVkX2ZvcmVpZ25fbWVzc2FnZRgTIAIoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUhZyZXF1aXJlZEZvcmVpZ25NZXNzYWdlEnYKFHJlcXVpcmVkX25lc3RlZF9lbnVtGBUgAigOMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzIuTmVzdGVkRW51bVIScmVxdWlyZWROZXN0ZWRFbnVtEmQKFXJlcXVpcmVkX2ZvcmVpZ25fZW51bRgWIAIoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25FbnVtUHJvdG8yUhNyZXF1aXJlZEZvcmVpZ25FbnVtEjYKFXJlcXVpcmVkX3N0cmluZ19waWVjZRgYIAIoCUICCAJSE3JlcXVpcmVkU3RyaW5nUGllY2USJwoNcmVxdWlyZWRfY29yZBgZIAIoCUICCAFSDHJlcXVpcmVkQ29yZBJmChFyZWN1cnNpdmVfbWVzc2FnZRgbIAIoCzI5LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yUhByZWN1cnNpdmVNZXNzYWdlEncKGm9wdGlvbmFsX3JlY3Vyc2l2ZV9tZXNzYWdlGBwgASgLMjkucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzJSGG9wdGlvbmFsUmVjdXJzaXZlTWVzc2FnZRJTCgRkYXRhGMkBIAIoCjI+LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLkRhdGFSBGRhdGESMAoNZGVmYXVsdF9pbnQzMhjxASACKAU6Ci0xMjM0NTY3ODlSDGRlZmF1bHRJbnQzMhI6Cg1kZWZhdWx0X2ludDY0GPIBIAIoAzoULTkxMjM0NTY3ODkxMjM0NTY3ODlSDGRlZmF1bHRJbnQ2NBIyCg5kZWZhdWx0X3VpbnQzMhjzASACKA06CjIxMjM0NTY3ODlSDWRlZmF1bHRVaW50MzISPAoOZGVmYXVsdF91aW50NjQY9AEgAigEOhQxMDEyMzQ1Njc4OTEyMzQ1Njc4OVINZGVmYXVsdFVpbnQ2NBIyCg5kZWZhdWx0X3NpbnQzMhj1ASACKBE6Ci0xMjM0NTY3ODlSDWRlZmF1bHRTaW50MzISPAoOZGVmYXVsdF9zaW50NjQY9gEgAigSOhQtOTEyMzQ1Njc4OTEyMzQ1Njc4OVINZGVmYXVsdFNpbnQ2NBI0Cg9kZWZhdWx0X2ZpeGVkMzIY9wEgAigHOgoyMTIzNDU2Nzg5Ug5kZWZhdWx0Rml4ZWQzMhI+Cg9kZWZhdWx0X2ZpeGVkNjQY+AEgAigGOhQxMDEyMzQ1Njc4OTEyMzQ1Njc4OVIOZGVmYXVsdEZpeGVkNjQSNgoQZGVmYXVsdF9zZml4ZWQzMhj5ASACKA86Ci0xMjM0NTY3ODlSD2RlZmF1bHRTZml4ZWQzMhJAChBkZWZhdWx0X3NmaXhlZDY0GPoBIAIoEDoULTkxMjM0NTY3ODkxMjM0NTY3ODlSD2RlZmF1bHRTZml4ZWQ2NBIrCg1kZWZhdWx0X2Zsb2F0GPsBIAIoAjoFOWUrMDlSDGRlZmF1bHRGbG9hdBItCg5kZWZhdWx0X2RvdWJsZRj8ASACKAE6BTdlKzIyUg1kZWZhdWx0RG91YmxlEigKDGRlZmF1bHRfYm9vbBj9ASACKAg6BHRydWVSC2RlZmF1bHRCb29sEi8KDmRlZmF1bHRfc3RyaW5nGP4BIAIoCToHUm9zZWJ1ZFINZGVmYXVsdFN0cmluZxIsCg1kZWZhdWx0X2J5dGVzGP8BIAIoDDoGam9zaHVhUgxkZWZhdWx0Qnl0ZXMa6AEKDU5lc3RlZE1lc3NhZ2USDAoBYRgBIAIoBVIBYRJbCgtjb3JlY3Vyc2l2ZRgCIAIoCzI5LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yUgtjb3JlY3Vyc2l2ZRJsChRvcHRpb25hbF9jb3JlY3Vyc2l2ZRgDIAEoCzI5LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yUhNvcHRpb25hbENvcmVjdXJzaXZlGkwKBERhdGESIAoLZ3JvdXBfaW50MzIYygEgAigFUgpncm91cEludDMyEiIKDGdyb3VwX3VpbnQzMhjLASACKA1SC2dyb3VwVWludDMyGiEKEU1lc3NhZ2VTZXRDb3JyZWN0KggIBBD/////BzoCCAEaigIKG01lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMRIQCgNzdHIYGSACKAlSA3N0cjLYAQoVbWVzc2FnZV9zZXRfZXh0ZW5zaW9uEksucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3QY+bteIAEoCzJVLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMVITbWVzc2FnZVNldEV4dGVuc2lvbhqHAgobTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24yEgwKAWkYCSACKAVSAWky2QEKFW1lc3NhZ2Vfc2V0X2V4dGVuc2lvbhJLLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0GJCz/AEgASgLMlUucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24yUhNtZXNzYWdlU2V0RXh0ZW5zaW9uIjkKCk5lc3RlZEVudW0SBwoDRk9PEAASBwoDQkFSEAESBwoDQkFaEAISEAoDTkVHEP///////////wEqBQh4EMkBSgYI6AcQkE4qRgoRRm9yZWlnbkVudW1Qcm90bzISDwoLRk9SRUlHTl9GT08QABIPCgtGT1JFSUdOX0JBUhABEg8KC0ZPUkVJR05fQkFaEAI6WgoPZXh0ZW5zaW9uX2ludDMyEjEucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yGHggASgFUg5leHRlbnNpb25JbnQzMkI4Cihjb20uZ29vZ2xlLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8ySAH4AQGiAgZQcm90bzJK05gBCgcSBQ4A9QIBCoIDCgEMEgMOABIy4QIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCiBUZXN0IHNjaGVtYSBmb3IgcHJvdG8yIG1lc3NhZ2VzLiAgVGhpcyB0ZXN0IHNjaGVtYSBpcyB1c2VkIGJ5OgoKIC0gY29uZm9ybWFuY2UgdGVzdHMKCjIUIExJTlQ6IEFMTE9XX0dST1VQUwoKCAoBAhIDEAAmCggKAQgSAxIAQQoJCgIIARIDEgBBCggKAQgSAxMAJAoJCgIIJBIDEwAkCggKAQgSAxYAHApECgIICRIDFgAcGjkgVGhpcyBpcyB0aGUgZGVmYXVsdCwgYnV0IHdlIHNwZWNpZnkgaXQgaGVyZSBleHBsaWNpdGx5LgoKCAoBCBIDGAAfCgkKAggfEgMYAB8K2wIKAgQAEgUhAOsBARrNAiBUaGlzIHByb3RvIGluY2x1ZGVzIGV2ZXJ5IHR5cGUgb2YgZmllbGQgaW4gYm90aCBzaW5ndWxhciBhbmQgcmVwZWF0ZWQKIGZvcm1zLgoKIEFsc28sIGNydWNpYWxseSwgYWxsIG1lc3NhZ2VzIGFuZCBlbnVtcyBpbiB0aGlzIGZpbGUgYXJlIGV2ZW50dWFsbHkKIHN1Ym1lc3NhZ2VzIG9mIHRoaXMgbWVzc2FnZS4gIFNvIGZvciBleGFtcGxlLCBhIGZ1enogdGVzdCBvZiBUZXN0QWxsVHlwZXMKIGNvdWxkIHRyaWdnZXIgYnVncyB0aGF0IG9j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bmFsX2ludDY0GAIgASgDSAFSDW9wdGlvbmFsSW50NjSIAQESLAoPb3B0aW9uYWxfdWludDMyGAMgASgNSAJSDm9wdGlvbmFsVWludDMyiAEBEiwKD29wdGlvbmFsX3VpbnQ2NBgEIAEoBEgDUg5vcHRpb25hbFVpbnQ2NIgBARIsCg9vcHRpb25hbF9zaW50MzIYBSABKBFIBFIOb3B0aW9uYWxTaW50MzKIAQESLAoPb3B0aW9uYWxfc2ludDY0GAYgASgSSAVSDm9wdGlvbmFsU2ludDY0iAEBEi4KEG9wdGlvbmFsX2ZpeGVkMzIYByABKAdIBlIPb3B0aW9uYWxGaXhlZDMyiAEBEi4KEG9wdGlvbmFsX2ZpeGVkNjQYCCABKAZIB1IPb3B0aW9uYWxGaXhlZDY0iAEBEjAKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPSAhSEG9wdGlvbmFsU2ZpeGVkMzKIAQESMAoRb3B0aW9uYWxfc2ZpeGVkNjQYCiABKBBICVIQb3B0aW9uYWxTZml4ZWQ2NIgBARIqCg5vcHRpb25hbF9mbG9hdBgLIAEoAkgKUg1vcHRpb25hbEZsb2F0iAEBEiwKD29wdGlvbmFsX2RvdWJsZRgMIAEoAUgLUg5vcHRpb25hbERvdWJsZYgBARIoCg1vcHRpb25hbF9ib29sGA0gASgISAxSDG9wdGlvbmFsQm9vbIgBARIsCg9vcHRpb25hbF9zdHJpbmcYDiABKAlIDVIOb3B0aW9uYWxTdHJpbmeIAQESKgoOb3B0aW9uYWxfYnl0ZXMYDyABKAxIDlINb3B0aW9uYWxCeXRlc4gBARIsCg1vcHRpb25hbF9jb3JkGBAgASgJQgIIAUgPUgxvcHRpb25hbENvcmSIAQEScAoXb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2UYEiABKAsyMy5wcm90b2J1Zl91bml0dGVzdC5UZXN0UHJvdG8zT3B0aW9uYWwuTmVzdGVkTWVzc2FnZUgQUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2WIAQESbAoTbGF6eV9uZXN0ZWRfbWVzc2FnZRgTIAEoCzIzLnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RQcm90bzNPcHRpb25hbC5OZXN0ZWRNZXNzYWdlQgIoAUgRUhFsYXp5TmVzdGVkTWVzc2FnZYgBARJnChRvcHRpb25hbF9uZXN0ZWRfZW51bRgVIAEoDjIwLnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RQcm90bzNPcHRpb25hbC5OZXN0ZWRFbnVtSBJSEm9wdGlvbmFsTmVzdGVkRW51bYgBARIlCg5zaW5ndWxhcl9pbnQzMhgWIAEoBVINc2luZ3VsYXJJbnQzMhIlCg5zaW5ndWxhcl9pbnQ2NBgXIAEoA1INc2luZ3VsYXJJbnQ2NBorCg1OZXN0ZWRNZXNzYWdlEhMKAmJiGAEgASgFSABSAmJiiAEBQgUKA19iYiJKCgpOZXN0ZWRFbnVtEg8KC1VOU1BFQ0lGSUVEEAASBwoDRk9PEAESBwoDQkFSEAISBwoDQkFaEAMSEAoDTkVHEP///////////wFCEQoPX29wdGlvbmFsX2ludDMyQhEKD19vcHRpb25hbF9pbnQ2NEISChBfb3B0aW9uYWxfdWludDMyQhIKEF9vcHRpb25hbF91aW50NjRCEgoQX29wdGlvbmFsX3NpbnQzMkISChBfb3B0aW9uYWxfc2ludDY0QhMKEV9vcHRpb25hbF9maXhlZDMyQhMKEV9vcHRpb25hbF9maXhlZDY0QhQKEl9vcHRpb25hbF9zZml4ZWQzMkIUChJfb3B0aW9uYWxfc2ZpeGVkNjRCEQoPX29wdGlvbmFsX2Zsb2F0QhIKEF9vcHRpb25hbF9kb3VibGVCEAoOX29wdGlvbmFsX2Jvb2xCEgoQX29wdGlvbmFsX3N0cmluZ0IRCg9fb3B0aW9uYWxfYnl0ZXNCEAoOX29wdGlvbmFsX2NvcmRCGgoYX29wdGlvbmFsX25lc3RlZF9tZXNzYWdlQhYKFF9sYXp5X25lc3RlZF9tZXNzYWdlQhcKFV9vcHRpb25hbF9uZXN0ZWRfZW51bSKyAgoZVGVzdFByb3RvM09wdGlvbmFsTWVzc2FnZRJhCg5uZXN0ZWRfbWVzc2FnZRgBIAEoCzI6LnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RQcm90bzNPcHRpb25hbE1lc3NhZ2UuTmVzdGVkTWVzc2FnZVINbmVzdGVkTWVzc2FnZRJ3ChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgCIAEoCzI6LnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RQcm90bzNPcHRpb25hbE1lc3NhZ2UuTmVzdGVkTWVzc2FnZUgAUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2WIAQEaHQoNTmVzdGVkTWVzc2FnZRIMCgFzGAEgASgJUgFzQhoKGF9vcHRpb25hbF9uZXN0ZWRfbWVzc2FnZSLJAQoYUHJvdG8zT3B0aW9uYWxFeHRlbnNpb25zMksKD2V4dF9ub19vcHRpb25hbBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiIzdmpASABKAVSDWV4dE5vT3B0aW9uYWwyUgoRZXh0X3dpdGhfb3B0aW9uYWwSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYic3ZqQEgASgFUg9leHRXaXRoT3B0aW9uYWyIAQE6DMDozM0KCMjozM0KEEI4CiFjb20uZ29vZ2xlLnByb3RvYnVmLnRlc3RpbmcucHJvdG9QAaoCEFByb3RvYnVmVW5pdHRlc3RK4xcKBhIEBwBNAQqUAgoBDBIDBwASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgoICgECEgMJABoKCQoCAwASAwsAKgoICgEIEgMNAC0KCQoCCCUSAw0ALQoICgEIEgMOACIKCQoCCAoSAw4AIgoICgEIEgMPADoKCQoCCAESAw8AOgoKCgIEABIEEQA6AQoKCgMEAAESAxEIGgoMCgQEAAMAEgQSAhcDCgwKBQQAAwABEgMSChcK4wEKBgQAAwACABIDFgQaGtMBIFRoZSBmaWVsZCBuYW1lICJiIiBmYWlscyB0byBjb21waWxlIGluIHByb3RvMSBiZWNhdXNlIGl0IGNvbmZsaWN0cyB3aXRoCiBhIGxv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b25fZmllbGQYAiABKAVCA4gBAVIVcnVudGltZVJldGVudGlvbkZpZWxkEjkKFnNvdXJjZV9yZXRlbnRpb25fZmllbGQYAyABKAVCA4gBAlIUc291cmNlUmV0ZW50aW9uRmllbGQiFgoIRXh0ZW5kZWUqBAgBEAIqBAgCEAMi7AEKD1RvcExldmVsTWVzc2FnZRIYCgFmGAEgASgCQgqauu2EDwQIARACUgFmEg4KAWkYAiABKANIAFIBaRobCg1OZXN0ZWRNZXNzYWdlOgqaxd6FDwQIARACIiwKCk5lc3RlZEVudW0SEgoOTkVTVEVEX1VOS05PV04QABoK+p6qhA8ECAEQAioQCAoQZRoKopjfhQ8ECAEQAjI1CgFzEhsucHJvdG9idWZfdW5pdHRlc3QuRXh0ZW5kZWUYAiABKAlCCpq67YQPBAgBEAJSAXM6CprF3oUPBAgBEAJCDwoBbxIKitu3hA8ECAEQAio9CgxUb3BMZXZlbEVudW0SIQoRVE9QX0xFVkVMX1VOS05PV04QABoK0t2phA8ECAEQAhoK+p6qhA8ECAEQAjJ0CgdTZXJ2aWNlEl0KB0RvU3R1ZmYSIi5wcm90b2J1Zl91bml0dGVzdC5Ub3BMZXZlbE1lc3NhZ2UaIi5wcm90b2J1Zl91bml0dGVzdC5Ub3BMZXZlbE1lc3NhZ2UiCuKu+IMPBAgBEAIaCuqHi4QPBAgBEAI6QwoMcGxhaW5fb3B0aW9uEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGMa17PABIAEoBVILcGxhaW5PcHRpb246XwoYcnVudGltZV9yZXRlbnRpb25fb3B0aW9uEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJyS6fABIAEoBUIDiAEBUhZydW50aW1lUmV0ZW50aW9uT3B0aW9uOl0KF3NvdXJjZV9yZXRlbnRpb25fb3B0aW9uEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGNSs3/ABIAEoBUIDiAECUhVzb3VyY2VSZXRlbnRpb25PcHRpb246ZAoLZmlsZV9vcHRpb24SHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYgPLe8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSCmZpbGVPcHRpb246bgoQcmVwZWF0ZWRfb3B0aW9ucxIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxiS/tvwASADKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVIPcmVwZWF0ZWRPcHRpb25zOoMBChZleHRlbnNpb25fcmFuZ2Vfb3B0aW9uEiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucxiE89vwASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVIUZXh0ZW5zaW9uUmFuZ2VPcHRpb246bQoObWVzc2FnZV9vcHRpb24SHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY0+jb8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSDW1lc3NhZ2VPcHRpb246ZwoMZmllbGRfb3B0aW9uEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxij183wASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVILZmllbGRPcHRpb246ZwoMb25lb2Zfb3B0aW9uEh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9ucxix+8bwASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVILb25lb2ZPcHRpb246ZAoLZW51bV9vcHRpb24SHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnMY76PF8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSCmVudW1PcHRpb246dAoRZW51bV9lbnRyeV9vcHRpb24SIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9ucxjam8XwASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVIPZW51bUVudHJ5T3B0aW9uOm0KDnNlcnZpY2Vfb3B0aW9uEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGP2wwfABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUg1zZXJ2aWNl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