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+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVBFQVRFRBADEhIKDkxBQkVMX1JFUVVJUkVEEAIiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKXCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRI3CghmZWF0dXJlcxgyIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIKhArSgQIJhAnIvQDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzEjcKCGZlYXR1cmVzGAwgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoirQoKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSAoHdGFyZ2V0cxgTIAMoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZVIHdGFyZ2V0cxJXChBlZGl0aW9uX2RlZmF1bHRzGBQgAygLMiwuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5FZGl0aW9uRGVmYXVsdFIPZWRpdGlvbkRlZmF1bHRzEjcKCGZlYXR1cmVzGBUgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uGloKDkVkaXRpb25EZWZhdWx0EjIKB2VkaXRpb24YAyABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbhIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBUoECBIQEyKsAQoMT25lb2ZPcHRpb25zEjcKCGZlYXR1cmVzGAEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi0QIKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAYgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxI3CghmZWF0dXJlcxgHIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIoECChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkEjcKCGZlYXR1cmVzGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEigKDGRlYnVnX3JlZGFjdBgDIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0ElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi1QEKDlNlcnZpY2VPcHRpb25zEjcKCGZlYXR1cmVzGCIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIimQMKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsEjcKCGZlYXR1cmVzGCMgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXRSCGZlYXR1cmVzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ilAoKCkZlYXR1cmVTZXQSiwEKDmZpZWxkX3ByZXNlbmNlGAEgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuRmllbGRQcmVzZW5jZUI5iAEBmAEEmAEBogENEghFWFBMSUNJVBjmB6IBDRIISU1QTElDSVQY5weiAQ0SCEVYUExJQ0lUGOgHUg1maWVsZFByZXNlbmNlEmYKCWVudW1fdHlwZRgCIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0LkVudW1UeXBlQiOIAQGYAQaYAQGiAQsSBkNMT1NFRBjmB6IBCRIET1BFThjnB1IIZW51bVR5cGUSkgEKF3JlcGVhdGVkX2ZpZWxkX2VuY29kaW5nGAMgASgOMjEuZ29vZ2xlLnByb3RvYnVmLkZlYXR1cmVTZXQuUmVwZWF0ZWRGaWVsZEVuY29kaW5nQieIAQGYAQSYAQGiAQ0SCEVYUEFOREVEGOYHogELEgZQQUNLRUQY5wdSFXJlcGVhdGVkRmllbGRFbmNvZGluZxJ4Cg91dGY4X3ZhbGlkYXRpb24YBCABKA4yKi5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5VdGY4VmFsaWRhdGlvbkIjiAEBmAEEmAEBogEJEgROT05FGOYHogELEgZWRVJJRlkY5wdSDnV0ZjhWYWxpZGF0aW9uEngKEG1lc3NhZ2VfZW5jb2RpbmcYBSABKA4yKy5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5NZXNzYWdlRW5jb2RpbmdCIIgBAZgBBJgBAaIBFBIPTEVOR1RIX1BSRUZJWEVEGOYHUg9tZXNzYWdlRW5jb2RpbmcSfAoLanNvbl9mb3JtYXQYBiABKA4yJi5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldC5Kc29uRm9ybWF0QjOIAQGYAQOYAQaYAQGiARcSEkxFR0FDWV9CRVNUX0VGRk9SVBjmB6IBChIFQUxMT1cY5wdSCmpzb25Gb3JtYXQiXAoNRmllbGRQcmVzZW5jZRIaChZGSUVMRF9QUkVTRU5DRV9VTktOT1dOEAASDAoIRVhQTElDSVQQARIMCghJTVBMSUNJVBACEhMKD0xFR0FDWV9SRVFVSVJFRBADIjcKCEVudW1UeXBlEhUKEUVOVU1fVFlQRV9VTktOT1dOEAASCAoET1BFThABEgoKBkNMT1NFRBACIlYKFVJlcGVhdGVkRmllbGRFbmNvZGluZxIjCh9SRVBFQVRFRF9GSUVMRF9FTkNPRElOR19VTktOT1dOEAASCgoGUEFDS0VEEAESDAoIRVhQQU5ERUQQAiJDCg5VdGY4VmFsaWRhdGlvbhIbChdVVEY4X1ZBTElEQVRJT05fVU5LTk9XThAAEgoKBlZFUklGWRACEggKBE5PTkUQAyJTCg9NZXNzYWdlRW5jb2RpbmcSHAoYTUVTU0FHRV9FTkNPRElOR19VTktOT1dOEAASEwoPTEVOR1RIX1BSRUZJWEVEEAESDQoJREVMSU1JVEVEEAIiSAoKSnNvbkZvcm1hdBIXChNKU09OX0ZPUk1BVF9VTktOT1dOEAASCQoFQUxMT1cQARIWChJMRUdBQ1lfQkVTVF9FRkZPUlQQAioGCOgHEOkHKgYI6QcQ6gcqBgjqBxDrByoGCIZOEIdOKgYIi04QkE4qBgiQThCRTkoGCOcHEOgHIv4CChJGZWF0dXJlU2V0RGVmYXVsdHMSWAoIZGVmYXVsdHMYASADKAsyPC5nb29nbGUucHJvdG9idWYuRmVhdHVyZVNldERlZmF1bHRzLkZlYXR1cmVTZXRFZGl0aW9uRGVmYXVsdFIIZGVmYXVsdHMSQQoPbWluaW11bV9lZGl0aW9uGAQgASgOMhguZ29vZ2xlLnByb3RvYnVmLkVkaXRpb25SDm1pbmltdW1FZGl0aW9uEkEKD21heGltdW1fZWRpdGlvbhgFIAEoDjIYLmdvb2dsZS5wcm90b2J1Zi5FZGl0aW9uUg5tYXhpbXVtRWRpdGlvbhqHAQoYRmVhdHVyZVNldEVkaXRpb25EZWZhdWx0EjIKB2VkaXRpb24YAyABKA4yGC5nb29nbGUucHJvdG9idWYuRWRpdGlvblIHZWRpdGlvbhI3CghmZWF0dXJlcxgCIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GZWF0dXJlU2V0UghmZWF0dXJlcyKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAIqkgIKB0VkaXRpb24SEwoPRURJVElPTl9VTktOT1dOEAASEwoORURJVElPTl9QUk9UTzIQ5gcSEwoORURJVElPTl9QUk9UTzMQ5wcSEQoMRURJVElPTl8yMDIzEOgHEhEKDEVESVRJT05fMjAyNBDpBxIXChNFRElUSU9OXzFfVEVTVF9PTkxZEAESFwoTRURJVElPTl8yX1RFU1RfT05MWRACEh0KF0VESVRJT05fOTk5OTdfVEVTVF9PTkxZEJ2NBhIdChdFRElUSU9OXzk5OTk4X1RFU1RfT05MWRCejQYSHQoXRURJVElPTl85OTk5OV9URVNUX09OTFkQn40GEhMKC0VESVRJT05fTUFYEP////8HQn4KE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMvZGVzY3JpcHRvcnBi+AEBogIDR1BCqgIaR29vZ2xlLlByb3RvYnVmLlJlZmxlY3Rpb25KsrUDCgcSBSYAyAkBCqoPCgEMEgMmABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCjLbAiBBdXRob3I6IGtlbnRvbkBnb29nbGUuY29tIChLZW50b24gVmFyZGEpCiAgQmFzZWQgb24gb3JpZ2luYWwgUHJvdG9jb2wgQnVmZmVycyBkZXNpZ24gYnkKICBTYW5qYXkgR2hlbWF3YXQsIEplZmYgRGVhbiwgYW5kIG90aGVycy4KCiBUaGUgbWVzc2FnZXMgaW4gdGhpcyBmaWxlIGRlc2NyaWJlIHRoZSBkZWZpbml0aW9ucyBmb3VuZCBpbiAucHJvdG8gZmlsZXMuCiBBIHZhbGlkIC5wcm90byBmaWxlIGNhbiBiZSB0cmFuc2xhdGVkIGRpcmVjdGx5IHRvIGEgRmlsZURlc2NyaXB0b3JQcm90bwogd2l0aG91dCBhbnkgb3RoZXIgaW5mb3JtYXRpb24gKGUuZy4gd2l0aG91dCByZWFkaW5nIGl0cyBpbXBvcnRzKS4KCggKAQISAygAGAoICgEIEgMqAEQKCQoCCAsSAyoARAoICgEIEgMrACwKCQoCCAESAysALAoICgEIEgMsADEKCQoCCAgSAywAMQoICgEIEgMtADcKCQoCCCUSAy0ANwoICgEIEgMuACEKCQoCCCQSAy4AIQoICgEIEgMvAB8KCQoCCB8SAy8AHwoICgEIEgMzABwKfwoCCAkSAzMAHBp0IGRlc2NyaXB0b3IucHJvdG8gbXVzdCBiZSBvcHRpbWl6ZWQgZm9yIHNwZWVkIGJlY2F1c2UgcmVmbGVjdGlvbi1iYXNlZAogYWxnb3JpdGhtcyBkb24ndCB3b3JrIGR1cmluZyBib290c3RyYXBwaW5nLgoKagoCBAASBDcAOQEaXiBUaGUgcHJvdG9jb2wgY29tcGlsZXIgY2FuIG91dHB1dCBhIEZpbGVEZXNjcmlwdG9yU2V0IGNvbnRhaW5pbmcgdGhlIC5wcm90bwogZmlsZXMgaXQgcGFyc2VzLgoKCgoDBAABEgM3CBkKCwoEBAACABIDOAIoCgwKBQQAAgAEEgM4AgoKDAoFBAACAAYSAzgL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Y2VkIGZyb20gdGhlIGZpZWxkJ3MgbmFtZSBieSBjb252ZXJ0aW5nCiBpdCB0byBjYW1lbENhc2UuCgoNCgUEBAIIBBIEqAICCgoNCgUEBAIIBRIEqAILEQoNCgUEBAIIARIEqAISGwoNCgUEBAIIAxIEqAIeIAoMCgQEBAIJEgSqAgIkCg0KBQQEAgkEEgSqAgIKCg0KBQQEAgkGEgSqAgsXCg0KBQQEAgkBEgSqAhgfCg0KBQQEAgkDEgSqAiIjCrAJCgQEBAIKEgTBAgIlGqEJIElmIHRydWUsIHRoaXMgaXMgYSBwcm90bzMgIm9wdGlvbmFsIi4gV2hlbiBhIHByb3RvMyBmaWVsZCBpcyBvcHRpb25hbCwgaXQKIHRyYWNrcyBwcmVzZW5jZSByZWdhcmRsZXNzIG9mIGZpZWxkIHR5cGUuCgogV2hlbiBwcm90bzNfb3B0aW9uYWwgaXMgdHJ1ZSwgdGhpcyBmaWVsZCBtdXN0IGJlbG9uZyB0byBhIG9uZW9mIHRvIHNpZ25hbAogdG8gb2xkIHByb3RvMyBjbGllbnRzIHRoYXQgcHJlc2VuY2UgaXMgdHJhY2tlZCBmb3IgdGhpcyBmaWVsZC4gVGhpcyBvbmVvZgogaXMga25vd24gYXMgYSAic3ludGhldGljIiBvbmVvZiwgYW5kIHRoaXMgZmllbGQgbXVzdCBiZSBpdHMgc29sZSBtZW1iZXIKIChlYWNoIHByb3RvMyBvcHRpb25hbCBmaWVsZCBnZXRzIGl0cyBvd24gc3ludGhldGljIG9uZW9mKS4gU3ludGhldGljIG9uZW9mcwogZXhpc3QgaW4gdGhlIGRlc2NyaXB0b3Igb25seSwgYW5kIGRvIG5vdCBnZW5lcmF0ZSBhbnkgQVBJLiBTeW50aGV0aWMgb25lb2ZzCiBtdXN0IGJlIG9yZGVyZWQgYWZ0ZXIgYWxsICJyZWFsIiBvbmVvZnMuCgogRm9yIG1lc3NhZ2UgZmllbGRzLCBwcm90bzNfb3B0aW9uYWwgZG9lc24ndCBjcmVhdGUgYW55IHNlbWFudGljIGNoYW5nZSwKIHNpbmNlIG5vbi1yZXBlYXRlZCBtZXNzYWdlIGZpZWxkcyBhbHdheXMgdHJhY2sgcHJlc2VuY2UuIEhvd2V2ZXIgaXQgc3RpbGwKIGlu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b2RlIHRoYXQgbWFuaXB1bGF0ZXMgcHJvdG9jb2wgbWVzc2FnZXMuCgogQ2xpZW50cyBtYXkgZGVmaW5lIGN1c3RvbSBvcHRpb25zIGFzIGV4dGVuc2lvbnMgb2YgdGhlICpPcHRpb25zIG1lc3NhZ2VzLgogVGhlc2UgZXh0ZW5zaW9ucyBtYXkgbm90IHlldCBiZSBrbm93biBhdCBwYXJzaW5nIHRpbWUsIHNvIHRoZSBwYXJzZXIgY2Fubm90CiBzdG9yZSB0aGUgdmFsdWVzIGluIHRoZW0uICBJbnN0ZWFkIGl0IHN0b3JlcyB0aGVtIGluIGEgZmllbGQgaW4gdGhlICpPcHRpb25zCiBtZXNzYWdlIGNhbGxlZCB1bmludGVycHJldGVkX29wdGlvbi4gVGhpcyBmaWVsZCBtdXN0IGhhdmUgdGhlIHNhbWUgbmFtZQogYWNyb3NzIGFsbCAqT3B0aW9ucyBtZXNzYWdlcy4gV2UgdGhlbiB1c2UgdGhpcyBmaWVsZCB0byBwb3B1bGF0ZSB0aGUKIGV4dGVuc2lvbnMgd2hlbiB3ZSBidWlsZCBhIGRlc2NyaXB0b3IsIGF0IHdoaWNoIHBvaW50IGFsbCBwcm90b3MgaGF2ZSBiZWVuCiBwYXJzZWQgYW5kIHNvIGFsbCBleHRlbnNpb25zIGFyZSBrbm93bi4KCiBFeHRlbnNpb24gbnVtYmVycyBmb3IgY3VzdG9tIG9wdGlvbnMgbWF5IGJlIGNob3NlbiBhcyBmb2xsb3dzOgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBzaW5nbGUgYXBwbGljYXRpb24gb3IKICAgb3JnYW5pemF0aW9uLCBvciBmb3IgZXhwZXJpbWVudGFsIG9wdGlvbnMsIHVzZSBmaWVsZCBudW1iZXJzIDUwMDAwCiAgIHRocm91Z2ggOTk5OTkuICBJdCBpcyB1cCB0byB5b3UgdG8gZW5zdXJlIHRoYXQgeW91IGRvIG5vdCB1c2UgdGhlCiAgIHNhbWUgbnVtYmVyIGZvciBtdWx0aXBsZSBvcHRpb25zLgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIGJlIHB1Ymxpc2hlZCBhbmQgdXNlZCBwdWJsaWNseSBieSBtdWx0aXBsZQogICBpbmRlcGVuZGVudCBlbnRpdGllcywgZS1tYWlsIHByb3RvYnVmLWdsb2JhbC1leHRlbnNpb24tcmVnaXN0cnlAZ29vZ2xlLmNvbQogICB0byByZXNlcnZlIGV4dGVuc2lvbiBudW1iZXJzLiBTaW1wbHkgcHJvdmlkZSB5b3VyIHByb2plY3QgbmFtZSAoZS5nLgogICBPYmplY3RpdmUtQyBwbHVnaW4pIGFuZCB5b3VyIHByb2plY3Qgd2Vic2l0ZSAoaWYgYXZhaWxhYmxlKSAtLSB0aGVyZSdzIG5vCiAgIG5lZWQgdG8gZXhwbGFpbiBob3cgeW91IGludGVuZCB0byB1c2UgdGhlbS4gVXN1YWxseSB5b3Ugb25seSBuZWVkIG9uZQogICBleHRlbnNpb24gbnVtYmVyLiBZb3UgY2FuIGRlY2xhcmUgbXVsdGlwbGUgb3B0aW9ucyB3aXRoIG9ubHkgb25lIGV4dGVuc2lvbgogICBudW1iZXIgYnkgcHV0dGluZyB0aGVtIGluIGEgc3ViLW1lc3NhZ2UuIFNlZSB0aGUgQ3VzdG9tIE9wdGlvbnMgc2VjdGlvbiBvZgogICB0aGUgZG9jcyBmb3IgZXhhbXBsZXM6CiAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90byNvcHRpb25zCiAgIElmIHRoaXMgdHVybnMgb3V0IHRvIGJlIHBvcHVsYXIsIGEgd2ViIHNlcnZpY2Ugd2lsbCBiZSBzZXQgdXAKICAgdG8gYXV0b21hdGljYWxseSBhc3NpZ24gb3B0aW9uIG51bWJlcnMuCgoLCgMECgESBKgDCBMK9AEKBAQKAgASBK4DAiMa5QEgU2V0cyB0aGUgSmF2YSBwYWNrYWdlIHdoZXJlIGNsYXNzZXMgZ2VuZXJhdGVkIGZyb20gdGhpcyAucHJvdG8gd2lsbCBiZQogcGxhY2VkLiAgQnkgZGVmYXVsdCwgdGhlIHByb3RvIHBhY2thZ2UgaXMgdXNlZCwgYnV0IHRoaXMgaXMgb2Z0ZW4KIGluYXBwcm9wcmlhdGUgYmVjYXVzZSBwcm90byBwYWNrYWdlcyBkbyBub3Qgbm9ybWFsbHkgc3RhcnQgd2l0aCBiYWNrd2FyZHMKIGRvbWFpbiBuYW1lcy4KCg0KBQQKAgAEEgSuAwIKCg0KBQQKAgAFEgSuAwsRCg0KBQQKAgABEgSuAxIeCg0KBQQKAgADEgSuAyEiCvECCgQECgIBEgS1AwIrGuICIENvbnRyb2xzIHRoZSBuYW1lIG9mIHRoZSB3cmFwcGVyIEphdmEgY2xhc3MgZ2VuZXJhdGVkIGZvciB0aGUgLnByb3RvIGZpbGUuCiBUaGF0IGNsYXNzIHdpbGwgYWx3YXlzIGNvbnRhaW4gdGhlIC5wcm90byBmaWxlJ3MgZ2V0RGVzY3JpcHRvcigpIG1ldGhvZCBhcwogd2VsbCBhcyBhbnkgdG9wLWxldmVsIGV4dGVuc2lvbnMgZGVmaW5lZCBpbiB0aGUgLnByb3RvIGZpbGUuCiBJZiBqYXZhX211bHRpcGxlX2ZpbGVzIGlzIGRpc2FibGVkLCB0aGVuIGFsbCB0aGUgb3RoZXIgY2xhc3NlcyBmcm9tIHRoZQogLnByb3RvIGZpbGUgd2lsbCBiZSBuZXN0ZWQgaW5zaWRlIHRoZSBzaW5nbGUgd3JhcHBlciBvdXRlciBjbGFzcy4KCg0KBQQKAgEEEgS1AwIKCg0KBQQKAgEFEgS1AwsRCg0KBQQKAgEBEgS1AxImCg0KBQQKAgEDEgS1AykqCqYDCgQECgICEgS9AwI7GpcDIElmIGVuYWJsZWQsIHRoZW4gdGhlIEphdmEgY29kZSBnZW5lcmF0b3Igd2lsbCBnZW5lcmF0ZSBhIHNlcGFyYXRlIC5qYXZhCiBmaWxlIGZvciBlYWNoIHRvcC1sZXZlbCBtZXNzYWdlLCBlbnVtLCBhbmQgc2VydmljZSBkZWZpbmVkIGluIHRoZSAucHJvdG8KIGZpbGUuICBUaHVzLCB0aGVzZSB0eXBlcyB3aWxsICpub3QqIGJlIG5lc3RlZCBpbnNpZGUgdGhlIHdyYXBwZXIgY2xhc3MKIG5hbWVkIGJ5IGphdmFfb3V0ZXJfY2xhc3NuYW1lLiAgSG93ZXZlciwgdGhlIHdyYXBwZXIgY2xhc3Mgd2lsbCBzdGlsbCBiZQogZ2VuZXJhdGVkIHRvIGNvbnRhaW4gdGhlIGZpbGUncyBnZXREZXNjcmlwdG9yKCkgbWV0aG9kIGFzIHdlbGwgYXMg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oAQNGAoNCgUECgUAARIEoAQNEQoNCgUECgUAAhIEoAQVGAoLCgMECgkSBKIEAg4KDAoEBAoJARIEogQLDQoNCgUECgkBARIEogQLDQoNCgUECgkBAhIEogQLDQoMCgIECxIGpQQA9QQBCgsKAwQLARIEpQQIFgrYBQoEBAsCABIEuAQCPhrJBSBTZXQgdHJ1ZSB0byB1c2UgdGhlIG9sZCBwcm90bzEgTWVzc2FnZVNldCB3aXJlIGZvcm1hdCBmb3IgZXh0ZW5zaW9ucy4KIFRoaXMgaXMgcHJvdmlkZWQgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggdGhlIE1lc3NhZ2VTZXQgd2lyZQogZm9ybWF0LiAgWW91IHNob3VsZCBub3QgdXNlIHRoaXMgZm9yIGFueSBvdGhlciByZWFzb246ICBJdCdzIGxlc3MKIGVmZmljaWVudCwgaGFzIGZld2VyIGZlYXR1cmVzLCBhbmQgaXMgbW9yZSBjb21wbGljYXRlZC4KCiBUaGUgbWVzc2FnZSBtdXN0IGJlIGRlZmluZWQgZXhhY3RseSBhcyBmb2xsb3dzOgogICBtZXNzYWdlIEZvbyB7CiAgICAgb3B0aW9uIG1lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0ID0gdHJ1ZTsKICAgICBleHRlbnNpb25zIDQgdG8gbWF4OwogICB9CiBOb3RlIHRoYXQgdGhlIG1lc3NhZ2UgY2Fubm90IGhhdmUgYW55IGRlZmluZWQgZmllbGRzOyBNZXNzYWdlU2V0cyBvbmx5CiBoYXZlIGV4dGVuc2lvbnMuCgogQWxsIGV4dGVuc2lvbnMgb2YgeW91ciB0eXBlIG11c3QgYmUgc2luZ3VsYXIgbWVzc2FnZXM7IGUuZy4gdGhleSBjYW5ub3QKIGJlIGludDMycywgZW51bXMsIG9yIHJlcGVhdGVkIG1lc3NhZ2VzLgoKIEJlY2F1c2UgdGhpcyBpcyBhbiBvcHRpb24sIHRoZSBhYm92ZSB0d28gcmVzdHJpY3Rpb25zIGFyZSBub3QgZW5mb3JjZWQgYnkKIHRoZSBwcm90b2NvbCBjb21waWxlci4KCg0KBQQLAgAEEgS4BAIKCg0KBQQLAgAFEgS4BAsPCg0KBQQLAgABEgS4BBAnCg0KBQQLAgADEgS4BCorCg0KBQQLAgAIEgS4BCw9Cg0KBQQLAgAHEgS4BDc8CusBCgQECwIBEgS9BAJGGtwBIERpc2FibGVzIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSBzdGFuZGFyZCAiZGVzY3JpcHRvcigpIiBhY2Nlc3Nvciwgd2hpY2ggY2FuCiBjb25mbGljdCB3aXRoIGEgZmllbGQgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgaXMgbWVhbnQgdG8gbWFrZSBtaWdyYXRpb24KIGZyb20gcHJvdG8xIGVhc2llcjsgbmV3IGNvZGUgc2hvdWxkIGF2b2lkIGZpZWxkcyBuYW1lZCAiZGVzY3JpcHRvciIuCgoNCgUECwIBBBIEvQQCCgoNCgUECwIBBRIEvQQLDwoNCgUECwIBARIEvQQQLwoNCgUECwIBAxIEvQQyMwoNCgUECwIBCBIEvQQ0RQoNCgUECwIBBxIEvQQ/RAruAQoEBAsCAhIEwwQCMRrfASBJcyB0aGlzIG1lc3NhZ2UgZGVwcmVjYXRlZD8KIERlcGVuZGluZyBvbiB0aGUgdGFyZ2V0IHBsYXRmb3JtLCB0aGlzIGNhbiBlbWl0IERlcHJlY2F0ZWQgYW5ub3RhdGlvbnMKIGZvciB0aGUgbWVzc2FnZSwgb3IgaXQgd2lsbCBiZSBjb21wbGV0ZWx5IGlnbm9yZWQ7IGluIHRoZSB2ZXJ5IGxlYXN0LAogdGhpcyBpcyBhIGZvcm1hbGl6YXRpb24gZm9yIGRlcHJlY2F0aW5nIG1lc3NhZ2VzLgoKDQoFBAsCAgQSBMMEAgoKDQoFBAsCAgUSBMMECw8KDQoFBAsCAgESBMMEEBoKDQoFBAsCAgMSBMMEHR4KDQoFBAsCAggSBMMEHzAKDQoFBAsCAgcSBMMEKi8KCwoDBAsJEgTFBAITCgwKBAQLCQASBMUECwwKDQoFBAsJAAESBMUECwwKDQoFBAsJAAISBMUECwwKDAoEBAsJARIExQQODwoNCgUECwkBARIExQQODwoNCgUECwkBAhIExQQODwoMCgQECwkCEgTFBBESCg0KBQQLCQIBEgTFBBESCg0KBQQLCQICEgTFBBESCqAGCgQECwIDEgTcBAIeGpEGIFdoZXRoZXIgdGhlIG1lc3NhZ2UgaXMgYW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFwIGVudHJ5IHR5cGUgZm9yIHRoZQogbWFwcyBmaWVsZC4KCiBGb3IgbWFwcyBmaWVsZHM6CiAgICAgbWFwPEtleVR5cGUsIFZhbHVlVHlwZT4gbWFwX2ZpZWxkID0gMTsKIFRoZSBwYXJzZWQgZGVzY3JpcHRvciBsb29rcyBsaWtlOgogICAgIG1lc3NhZ2UgTWFwRmllbGRFbnRyeSB7CiAgICAgICAgIG9wdGlvbiBtYXBfZW50cnkgPSB0cnVlOwogICAgICAgICBvcHRpb25hbCBLZXlUeXBlIGtleSA9IDE7CiAgICAgICAgIG9wdGlvbmFsIFZhbHVlVHlwZSB2YWx1ZSA9IDI7CiAgICAgfQogICAgIHJlcGVhdGVkIE1hcEZpZWxkRW50cnkgbWFwX2ZpZWxkID0gMTsKCiBJbXBsZW1lbnRhdGlvbnMgbWF5IGNob29zZSBub3QgdG8gZ2VuZXJhdGUgdGhlIG1hcF9lbnRyeT10cnVlIG1lc3NhZ2UsIGJ1dAogdXNlIGEgbmF0aXZlIG1hcCBpbiB0aGUgdGFyZ2V0IGxhbmd1YWdlIHRvIGhvbGQgdGhlIGtleXMgYW5kIHZhbHVlcy4KIFRoZSByZWZsZWN0aW9uIEFQSXMgaW4gc3VjaCBpbXBsZW1lbnRhdGlvbnMgc3RpbGwgbmVlZCB0byB3b3JrIGFzCiBpZiB0aGUgZmllbGQgaXMgYSByZXBlYXRlZCBtZXNzYWdlIGZpZWxkLgoKIE5PVEU6IERvIG5vdCBzZXQgdGhlIG9wdGlvbiBpbiAucHJvdG8gZmlsZXMuIEFsd2F5cyB1c2UgdGhlIG1hcHMgc3ludGF4CiBpbnN0ZWFkLiBUaGUgb3B0aW9uIHNob3VsZCBvbmx5IGJlIGltcGxpY2l0bHkgc2V0IGJ5IHRoZSBwcm90byBjb21waWxlcgogcGFyc2VyLgoKDQoFBAsCAwQSBNwEAgoKDQoFBAsCAwUSBNwECw8KDQoFBAsCAwESBNwEEBkKDQoFBAsCAwMSBNwEHB0KJAoDBAsJEgTeBAINIhcgamF2YWxpdGVfc2VyaWFsaXphYmxlCgoMCgQECwkDEgTeBAsMCg0KBQQLCQMBEgTeBAsMCg0KBQQLCQMCEgTeBAsMCh8KAwQLCRIE3wQC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YmUgc3RvcmVkIGluIGEgQ29yZAogaW5zdGVhZCBvZiBhIHN0cmluZy4gIEZvciB2ZXJ5IGxhcmdlIHN0cmluZ3MsIHRoaXMgbWF5IHJlZHVjZSBtZW1vcnkKIGZyYWdtZW50YXRpb24uIEl0IG1heSBhbHNvIGFsbG93IGJldHRlciBwZXJmb3JtYW5jZSB3aGVuIHBhcnNpbmcgZnJvbSBhCiBDb3JkLCBvciB3aGVuIHBhcnNpbmcgd2l0aCBhbGlhc2luZyBlbmFibGVkLCBhcyB0aGUgcGFyc2VkIENvcmQgbWF5IHRoZW4KIGFsaWFzIHRoZSBvcmlnaW5hbCBidWZmZXIuCgoPCgcEDAQAAgEBEgSJBQQICg8KBwQMBAACAQISBIkFCwwKDgoGBAwEAAICEgSLBQQVCg8KBwQMBAACAgESBIsFBBAKDwoHBAwEAAICAhIEiwUTFArTAwoEBAwCARIElAUCGxrEAyBUaGUgcGFja2VkIG9wdGlvbiBjYW4gYmUgZW5hYmxlZCBmb3IgcmVwZWF0ZWQgcHJpbWl0aXZlIGZpZWxkcyB0byBlbmFibGUKIGEgbW9yZSBlZmZpY2llbnQgcmVwcmVzZW50YXRpb24gb24gdGhlIHdpcmUuIFJhdGhlciB0aGFuIHJlcGVhdGVkbHkKIHdyaXRpbmcgdGhlIHRhZyBhbmQgdHlwZSBmb3IgZWFjaCBlbGVtZW50LCB0aGUgZW50aXJlIGFycmF5IGlzIGVuY29kZWQgYXMKIGEgc2luZ2xlIGxlbmd0aC1kZWxpbWl0ZWQgYmxvYi4gSW4gcHJvdG8zLCBvbmx5IGV4cGxpY2l0IHNldHRpbmcgaXQgdG8KIGZhbHNlIHdpbGwgYXZvaWQgdXNpbmcgcGFja2VkIGVuY29kaW5nLiAgVGhpcyBvcHRpb24gaXMgcHJvaGliaXRlZCBpbgogRWRpdGlvbnMsIGJ1dCB0aGUgYHJlcGVhdGVkX2ZpZWxkX2VuY29kaW5nYCBmZWF0dXJlIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wKIHRoZSBiZWhhdmlvci4KCg0KBQQMAgEEEgSUBQIKCg0KBQQMAgEFEgSUBQsPCg0KBQQMAgEBEgSUBRAWCg0KBQQMAgEDEgSUBRkaCpoFCgQEDAICEgShBQIzGosFIFRoZSBqc3R5cGUgb3B0aW9uIGRldGVybWluZXMgdGhlIEphdmFTY3JpcHQgdHlwZSB1c2VkIGZvciB2YWx1ZXMgb2YgdGhlCiBmaWVsZC4gIFRoZSBvcHRpb24gaXMgcGVybWl0dGVkIG9ubHkgZm9yIDY0IGJpdCBpbnRlZ3JhbCBhbmQgZml4ZWQgdHlwZXMKIChpbnQ2NCwgdWludDY0LCBzaW50NjQsIGZpeGVkNjQsIHNmaXhlZDY0KS4gIEEgZmllbGQgd2l0aCBqc3R5cGUgSlNfU1RSSU5HCiBpcyByZXByZXNlbnRlZCBhcyBKYXZhU2NyaXB0IHN0cmluZywgd2hpY2ggYXZvaWRzIGxvc3Mgb2YgcHJlY2lzaW9uIHRoYXQKIGNhbiBoYXBwZW4gd2hlbiBhIGxhcmdlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBhIGZsb2F0aW5nIHBvaW50IEphdmFTY3JpcHQuCiBTcGVjaWZ5aW5nIEpTX05VTUJFUiBmb3IgdGhlIGpzdHlwZSBjYXVzZXMgdGhlIGdlbmVyYXRlZCBKYXZhU2NyaXB0IGNvZGUgdG8KIHVzZSB0aGUgSmF2YVNjcmlwdCAibnVtYmVyIiB0eXBlLiAgVGhlIGJlaGF2aW9yIG9mIHRoZSBkZWZhdWx0IG9wdGlvbgogSlNfTk9STUFMIGlzIGltcGxlbWVudGF0aW9uIGRlcGVuZGVudC4KCiBUaGlzIG9wdGlvbiBpcyBhbiBlbnVtIHRvIHBlcm1pdCBhZGRpdGlvbmFsIHR5cGVzIHRvIGJlIGFkZGVkLCBlLmcuCiBnb29nLm1hdGguSW50ZWdlci4KCg0KBQQMAgIEEgShBQIKCg0KBQQMAgIGEgShBQsRCg0KBQQMAgIBEgShBRIYCg0KBQQMAgIDEgShBRscCg0KBQQMAgIIEgShBR0yCg0KBQQMAgIHEgShBSgxCg4KBAQMBAESBqIFAqsFAwoNCgUEDAQBARIEogUHDQonCgYEDAQBAgASBKQFBBIaFyBVc2UgdGhlIGRlZmF1bHQgdHlwZS4KCg8KBwQMBAECAAESBKQFBA0KDwoHBAwEAQIAAhIEpAUQEQopCgYEDAQBAgESBKcFBBIaGSBVc2UgSmF2YVNjcmlwdCBzdHJpbmdzLgoKDwoHBAwEAQIBARIEpwUEDQoPCgcEDAQBAgECEgSnBRARCikKBgQMBAECAhIEqgUEEhoZIFVzZSBKYXZhU2NyaXB0IG51bWJlcnMuCgoPCgcEDAQBAgIBEgSqBQQNCg8KBwQMBAECAgISBKoFEBEKmQoKBAQMAgMSBMMFAisaigogU2hvdWxkIHRoaXMgZmllbGQgYmUgcGFyc2VkIGxhemlseT8gIExhenkgYXBwbGllcyBvbmx5IHRvIG1lc3NhZ2UtdHlwZQogZmllbGRzLiAgSXQgbWVhbnMgdGhhdCB3aGVuIHRoZSBvdXRlciBtZXNzYWdlIGlzIGluaXRpYWxseSBwYXJzZWQsIHRoZQogaW5uZXIgbWVzc2FnZSdzIGNvbnRlbnRzIHdpbGwgbm90IGJlIHBhcnNlZCBidXQgaW5zdGVhZCBzdG9yZWQgaW4gZW5jb2RlZAogZm9ybS4gIFRoZSBpbm5lciBtZXNzYWdlIHdpbGwgYWN0dWFsbHkgYmUgcGFyc2VkIHdoZW4gaXQgaXMgZmlyc3QgYWNjZXNzZWQuCgogVGhpcyBpcyBvbmx5IGEgaGludC4gIEltcGxlbWVudGF0aW9ucyBhcmUgZnJlZSB0byBjaG9vc2Ugd2hldGhlciB0byB1c2UKIGVhZ2VyIG9yIGxhenkgcGFyc2luZyByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvbi4gIEhvd2V2ZXIsCiBzZXR0aW5nIHRoaXMgb3B0aW9uIHRydWUgc3VnZ2VzdHMgdGhhdCB0aGUgcHJvdG9jb2wgYXV0aG9yIGJlbGlldmVzIHRoYXQKIHVzaW5nIGxhenkgcGFyc2luZyBvbiB0aGlzIGZpZWxkIGlzIHdvcnRoIHRoZSBhZGRpdGlvbmFsIGJvb2trZWVwaW5nCiBvdmVyaGVhZCB0eXBpY2FsbHkgbmVlZGVkIHRvIGltcGxlbWVudCBpdC4KCiBUaGlzIG9wdGlvbiBkb2VzIG5vdCBhZmZlY3QgdGhlIHB1YmxpYyBpbnRlcmZhY2Ugb2YgYW55IGdlbmVyYXRlZCBjb2RlOwogYWxsIG1ldGhvZCBzaWduYXR1cmVzIHJlbWFpbiB0aGUgc2FtZS4gIEZ1cnRoZXJtb3JlLCB0aHJlYWQtc2FmZXR5IG9mIHRoZQogaW50ZXJmYWNlIGlzIG5vdCBhZmZlY3RlZCBieSB0aGlzIG9wdGlvbjsgY29uc3QgbWV0aG9kcyByZW1haW4gc2FmZSB0bwogY2FsbCBmcm9tIG11bHRpcGxlIHRocmVhZHMgY29uY3VycmVudGx5LCB3aGlsZSBub24tY29uc3QgbWV0aG9kcyBjb250aW51ZQogdG8gcmVxdWlyZSBleGNsdXNpdmUgYWNjZXNzLgoKIE5vdGUgdGhhdCBsYXp5IG1lc3NhZ2UgZmllbGRzIGFyZSBzdGlsbCBlYWdlcmx5IHZlcmlmaWVkIHRvIGNoZWNrCiBpbGwtZm9ybWVkIHdpcmVmb3JtYXQgb3IgbWlzc2luZyByZXF1aXJlZCBmaWVsZHMuIENhbGxpbmcgSXNJbml0aWFsaXplZCgpCiBvbiB0aGUgb3V0ZXIgbWVzc2FnZSB3b3VsZCBmYWlsIGlmIHRoZSBpbm5lciBtZXNzYWdlIGhhcyBtaXNzaW5nIHJlcXVpcmVkCiBmaWVsZHMuIEZhaWxlZCB2ZXJpZmljYXRpb24gd291bGQgcmVzdWx0IGluIHBhcnNpbmcgZmFpbHVyZSAoZXhjZXB0IHdoZW4KIHVuaW5pdGlhbGl6ZWQgbWVzc2FnZXMgYXJlIGFjY2VwdGFibGUpLgoKDQoFBAwCAwQSBMMFAgoKDQoFBAwCAwUSBMMFCw8KDQoFBAwCAwESBMMFEBQKDQoFBAwCAwMSBMMFFxgKDQoFBAwCAwgSBMMFGSoKDQoFBAwCAwcSBMMFJCkKrwEKBAQMAgQSBMgFAjcaoAEgdW52ZXJpZmllZF9sYXp5IGRvZXMgbm8gY29ycmVjdG5lc3MgY2hlY2tzIG9uIHRoZSBieXRlIHN0cmVhbS4gVGhpcyBzaG91bGQKIG9ubHkgYmUgdXNlZCB3aGVyZSBsYXp5IHdpdGggdmVyaWZpY2F0aW9uIGlzIHByb2hpYml0aXZlIGZvciBwZXJmb3JtYW5jZQogcmVhc29ucy4KCg0KBQQMAgQEEgTIBQIKCg0KBQQMAgQFEgTIBQsPCg0KBQQMAgQBEgTIBRAfCg0KBQQMAgQDEgTIBSIkCg0KBQQMAgQIEgTIBSU2Cg0KBQQMAgQHEgTIBTA1CugBCgQEDAIFEgTOBQIxGtkBIElzIHRoaXMgZmllbGQgZGVw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aXplIGhlcmUuIFNlZSBhYm92ZS4KCg0KBQQRAgMEEgT8BgIKCg0KBQQRAgMGEgT8BgseCg0KBQQRAgMBEgT8Bh8zCg0KBQQRAgMDEgT8BjY5CloKAwQRBRIE/wYCGRpNIENsaWVudHMgY2FuIGRlZmluZSBjdXN0b20gb3B0aW9ucyBpbiBleHRlbnNpb25zIG9mIHRoaXMgbWVzc2FnZS4gU2VlIGFib3ZlLgoKDAoEBBEFABIE/wYNGAoNCgUEEQUAARIE/wYNEQoNCgUEEQUAAhIE/wYVGAqLAwoCBBISBogHAJwHARr8AiBBIG1lc3NhZ2UgcmVwcmVzZW50aW5nIGEgb3B0aW9uIHRoZSBwYXJzZXIgZG9lcyBub3QgcmVjb2duaXplLiBUaGlzIG9ubHkKIGFwcGVhcnMgaW4gb3B0aW9ucyBwcm90b3MgY3JlYXRlZCBieSB0aGUgY29tcGlsZXI6OlBhcnNlciBjbGFzcy4KIERlc2NyaXB0b3JQb29sIHJlc29sdmVzIHRoZXNlIHdoZW4gYnVpbGRpbmcgRGVzY3JpcHRvciBvYmplY3RzLiBUaGVyZWZvcmUsCiBvcHRpb25zIHByb3RvcyBpbiBkZXNjcmlwdG9yIG9iamVjdHMgKGUuZy4gcmV0dXJuZWQgYnkgRGVzY3JpcHRvcjo6b3B0aW9ucygpLAogb3IgcHJvZHVjZWQgYnkgRGVzY3JpcHRvcjo6Q29weVRvKCkpIHdpbGwgbmV2ZXIgaGF2ZSBVbmludGVycHJldGVkT3B0aW9ucwogaW4gdGhlbS4KCgsKAwQSARIEiAcIGwrLAgoEBBIDABIGjgcCkQcDGroCIFRoZSBuYW1lIG9mIHRoZSB1bmludGVycHJldGVkIG9wdGlvbi4gIEVhY2ggc3RyaW5nIHJlcHJlc2VudHMgYSBzZWdtZW50IGluCiBhIGRvdC1zZXBhcmF0ZWQgbmFtZS4gIGlzX2V4dGVuc2lvbiBpcyB0cnVlIGlmZiBhIHNlZ21lbnQgcmVwcmVzZW50cyBhbgogZXh0ZW5zaW9uIChkZW5vdGVkIHdpdGggcGFyZW50aGVzZXMgaW4gb3B0aW9ucyBzcGVjcyBpbiAucHJvdG8gZmlsZXMpLgogRS5nLix7IFsiZm9vIiwgZmFsc2VdLCBbImJhci5i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VGhlIGxhYmVsIChvcHRpb25hbCkuCiAgIFtjLGQpICBbIDQsIDAsIDIsIDAsIDUgXSAgVGhlIHR5cGUgKHN0cmluZykuCiAgIFtlLGYpICBbIDQsIDAsIDIsIDAsIDEgXSAgVGhlIG5hbWUgKGZvbykuCiAgIFtnLGgpICBbIDQsIDAsIDIsIDAsIDMgXSAgVGhlIG51bWJlciAoMSkuCgogTm90ZXM6CiAtIEEgbG9jYXRpb24gbWF5IHJlZmVyIHRvIGEgcmVwZWF0ZWQgZmllbGQgaXRzZWxmIChpLmUuIG5vdCB0byBhbnkKICAgcGFydGljdWxhciBpbmRleCB3aXRoaW4gaXQpLiAgVGhpcyBpcyB1c2VkIHdoZW5ldmVyIGEgc2V0IG9mIGVsZW1lbnRzIGFyZQogICBsb2dpY2FsbHkgZW5jbG9zZWQgaW4gYSBzaW5nbGUgY29kZSBzZWdtZW50LiAgRm9yIGV4YW1wbGUsIGFuIGVudGlyZQogICBleHRlbmQgYmxvY2sgKHBvc3NpYmx5IGNvbnRhaW5pbmcgbXVsdGlwbGUgZXh0ZW5zaW9uIGRlZmluaXRpb25zKSB3aWxsCiAgIGhhdmUgYW4gb3V0ZXIgbG9jYXRpb24gd2hvc2UgcGF0aCByZWZlcnMgdG8gdGhlICJleHRlbnNpb25zIiByZXBlYXRlZAogICBmaWVsZCB3aXRob3V0IGFuIGluZGV4LgogLSBNdWx0aXBsZSBsb2NhdGlvbnMgbWF5IGhhdmUgdGhlIHNhbWUgcGF0aC4gIFRoaXMgaGFwcGVucyB3aGVuIGEgc2luZ2xlCiAgIGxvZ2ljYWwgZGVjbGFyYXRpb24gaXMgc3ByZWFkIG91dCBhY3Jvc3MgbXVsdGlwbGUgcGxhY2VzLiAgVGhlIG1vc3QKICAgb2J2aW91cyBleGFtcGxlIGlzIHRoZSAiZXh0ZW5kIiBibG9jayBhZ2FpbiAtLSB0aGVyZSBtYXkgYmUgbXVsdGlwbGUKICAgZXh0ZW5kIGJsb2NrcyBpbiB0aGUgc2FtZSBzY29wZSwgZWFjaCBvZiB3aGljaCB3aWxsIGhhdmUgdGhlIHNhbWUgcGF0aC4KIC0gQSBsb2NhdGlvbidzIHNwYW4gaXMgbm90IGFsd2F5cyBhIHN1YnNldCBvZiBpdHMgcGFyZW50J3Mgc3Bhbi4gIEZvcgogICBleGFtcGxlLCB0aGUgImV4dGVuZGVlIiBvZiBhbiBleHRlbnNpb24gZGVjbGFyYXRpb24gYXBwZWFycyBhdCB0aGUKICAgYmVnaW5uaW5nIG9mIHRoZSAiZXh0ZW5kIiBibG9jayBhbmQgaXMgc2hhcmVkIGJ5IGFsbCBleHRlbnNpb25zIHdpdGhpbgogICB0aGUgYmxvY2suCiAtIEp1c3QgYmVjYXVzZSBhIGxvY2F0aW9uJ3Mgc3BhbiBpcyBhIHN1YnNldCBvZiBzb21lIG90aGVyIGxvY2F0aW9uJ3Mgc3BhbgogICBkb2VzIG5vdCBtZWFuIHRoYXQgaXQgaXMgYSBkZXNjZW5kYW50LiAgRm9yIGV4YW1wbGUsIGEgImdyb3VwIiBkZWZpbmVzCiAgIGJvdGggYSB0eXBlIGFuZCBhIGZpZWxkIGluIGEgc2luZ2xlIGRlY2xhcmF0aW9uLiAgVGh1cywgdGhlIGxvY2F0aW9ucwogICBjb3JyZXNwb25kaW5nIHRvIHRoZSB0eXBlIGFuZCBmaWVsZCBhbmQgdGhlaXIgY29tcG9uZW50cyB3aWxsIG92ZXJsYXAuCiAtIENvZGUgd2hpY2ggdHJpZXMgdG8gaW50ZXJwcmV0IGxvY2F0aW9ucyBzaG91bGQgcHJvYmFibHkgYmUgZGVzaWduZWQgdG8KICAgaWdub3JlIHRob3NlIHRoYXQgaXQgZG9lc24ndCB1bmRlcnN0YW5kLCBhcyBtb3JlIHR5cGVzIG9mIGxvY2F0aW9ucyBjb3VsZAogICBiZSByZWNvcmRlZCBpbiB0aGUgZnV0dXJlLgoKDQoFBBUCAAQSBM0IAgoKDQoFBBUCAAYSBM0ICxMKDQoFBBUCAAESBM0IFBwKDQoFBBUCAAMSBM0IHyAKDgoEBBUDABIGzggCoQkDCg0KBQQVAwABEgTOCAoSCooHCgYEFQMAAgASBOYIBCwa+QYgSWRlbnRpZmllcyB3aGljaCBwYXJ0IG9mIHRoZSBGaWxlRGVzY3JpcHRvclByb3RvIHdhcyBkZWZpbmVkIGF0IHRoaXMKIGxvY2F0aW9uLgoKIEVhY2ggZWxlbWVudCBpcyBhIGZpZWxkIG51bWJlciBvciBhbiBpbmRleC4gIFRoZXkgZm9ybSBhIHBhdGggZnJvbQogdGhlIHJvb3QgRmlsZURlc2NyaXB0b3JQcm90byB0byB0aGUgcGxhY2Ugd2hlcmUgdGhlIGRlZmluaXRpb24gYXBwZWFycy4KIEZvciBleGFtcGxlLCB0aGlzIHBhdGg6CiAgIFsgNCwgMywgMiwgNywgMSBdCiByZWZlcnMgdG86CiAgIGZpbGUubWVzc2FnZV90eXBlKDMpICAvLyA0LCAzCiAgICAgICAuZmllbGQoNykgICAgICAgICAvLyAyLCA3CiAgICAgICAubmFtZSgpICAgICAgICAgICAvLyAxCiBUaGlzIGlzIGJlY2F1c2UgRmlsZURlc2NyaXB0b3JQcm90by5tZXNzYWdlX3R5cGUgaGFzIGZpZWxkIG51bWJlciA0OgogICByZXBlYXRlZCBEZXNjcmlwdG9yUHJvdG8gbWVzc2FnZV90eXBlID0gNDsKIGFuZCBEZXNjcmlwdG9yUHJvdG8uZmllbGQgaGFzIGZpZWxkIG51bWJlciAyOgogICByZXBlYXRlZCBGaWVsZERlc2NyaXB0b3JQcm90byBmaWVsZCA9IDI7CiBhbmQgRmllbGREZXNjcmlwdG9yUHJvdG8ubmFtZSBoYXMgZmllbGQgbnVtYmVyIDE6CiAgIG9wdGlvbmFsIHN0cmluZyBuYW1lID0gMTsKCiBUaHVzLCB0aGUgYWJvdmUgcGF0aCBnaXZlcyB0aGUgbG9jYXRpb24gb2YgYSBmaWVsZCBuYW1lLiAgSWYgd2UgcmVtb3ZlZAogdGhlIGxhc3QgZWxlbWVudDoKICAgWyA0LCAzLCAyLCA3IF0KIHRoaXMgcGF0aCByZWZlcnMgdG8gdGhlIHdob2xlIGZpZWxkIGRlY2xhcmF0aW9uIChmcm9tIHRoZSBiZWdpbm5pbmcKIG9mIHRoZSBsYWJlbCB0byB0aGUgdGVybWluYXRpbmcgc2VtaWNvbG9uKS4KCg8KBwQVAwACAAQSBOYIBAwKDwoHBBUDAAIABRIE5ggNEgoPCgcEFQMAAgABEgTmCBMXCg8KBwQVAwACAAMSBOYIGhsKDwoHBBUDAAIACBIE5ggcKwoQCggEFQMAAgAIAhIE5ggdKgrSAgoGBBUDAAIBEgTtCAQsGsECIEFsd2F5cyBoYXMgZXhhY3RseSB0aHJlZSBvciBmb3VyIGVsZW1lbnRzOiBzdGFydCBsaW5lLCBzdGFydCBjb2x1bW4sCiBlbmQgbGluZSAob3B0aW9uYWwsIG90aGVyd2lzZSBhc3N1bWVkIHNhbWUgYXMgc3RhcnQgbGluZSksIGVuZCBjb2x1bW4uCiBUaGVzZSBhcmUgcGFja2VkIGludG8gYSBzaW5nbGUgZmllbGQgZm9yIGVmZmljaWVuY3kuICBOb3RlIHRoYXQgbGluZQogYW5kIGNvbHVtbiBudW1iZXJzIGFyZSB6ZXJvLWJhc2VkIC0tIHR5cGljYWxseSB5b3Ugd2lsbCB3YW50IHRvIGFkZAogMSB0byBlYWNoIGJlZm9yZSBkaXNwbGF5aW5nIHRvIGEgdXNlci4KCg8KBwQVAwACAQQSBO0IBAwKDwoHBBUDAAIBBRIE7QgNEgoPCgcEFQMAAgEBEgTtCBMXCg8KBwQVAwACAQMSBO0IGhsKDwoHBBUDAAIBCBIE7QgcKwoQCggEFQMAAgEIAhIE7QgdKgqlDAoGBBUDAAICEgSeCQQpGpQMIElmIHRoaXMgU291cmNlQ29kZUluZm8gcmVwcmVzZW50cyBhIGNvbXBsZXRlIGRlY2xhcmF0aW9uLCB0aGVzZSBhcmUgYW55CiBjb21tZW50cyBhcHBlYXJpbmcgYmVmb3JlIGFuZCBhZnRlciB0aGUgZGVjbGFyYXRpb24gd2hpY2ggYXBwZWFyIHRvIGJlCiBhdHRhY2hlZCB0byB0aGUgZGVjbGFyYXRpb24uCgogQSBzZXJpZXMgb2YgbGluZSBjb21tZW50cyBhcHBlYXJpbmcgb24gY29uc2VjdXRpdmUgbGluZXMsIHdpdGggbm8gb3RoZXIKIHRva2VucyBhcHBlYXJpbmcgb24gdGhvc2UgbGluZXMsIHdpbGwgYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSBjb21tZW50LgoKIGxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMgd2lsbCBrZWVwIHBhcmFncmFwaHMgb2YgY29tbWVudHMgdGhhdCBhcHBlYXIKIGJlZm9yZSAoYnV0IG5vdCBjb25uZWN0ZWQgdG8pIHRoZSBjdXJyZW50IGVsZW1lbnQuIEVhY2ggcGFyYWdyYXBoLAogc2VwYXJhdGVkIGJ5IGVtcHR5IGxpbmVzLCB3aWxsIGJlIG9uZSBjb21tZW50IGVsZW1lbnQgaW4gdGhlIHJlcGVhdGVkCiBmaWVsZC4KCiBPbmx5IHRoZSBjb21tZW50IGNvbnRlbnQgaXMgcHJvdmlkZWQ7IGNvbW1lbnQgbWFya2VycyAoZS5nLiAvLykgYXJlCiBzdHJpcHBlZCBvdXQuICBGb3IgYmxvY2sgY29tbWVudHMsIGxlYWRpbmcgd2hpdGVzcGFjZSBhbmQgYW4gYXN0ZXJpc2sKIHdpbGwgYmUgc3RyaXBwZWQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggbGluZSBvdGhlciB0aGFuIHRoZSBmaXJzdC4KIE5ld2xpbmVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LgoKIEV4YW1wbGVzOgoKICAgb3B0aW9uYWwgaW50MzIgZm9vID0gMTsgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gZm9vLgogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhci4KICAgb3B0aW9uYWwgaW50MzIgYmFyID0gMjsKCiAgIG9wdGlvbmFsIHN0cmluZyBiYXogPSAzOwogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhei4KICAgLy8gQW5vdGhlciBsaW5lIGF0dGFjaGVkIHRvIGJhei4KCiAgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gbW9vLgogICAvLwogICAvLyBBbm90aGVyIGxpbmUgYXR0YWNoZWQgdG8gbW9vLgogICBvcHRpb25hbCBkb3VibGUgbW9vID0gNDsKCiAgIC8vIERldGFjaGVkIGNvbW1lbnQgZm9yIGNvcmdlLiBUaGlzIGlzIG5vdCBsZWFkaW5nIG9yIHRyYWlsaW5nIGNvbW1lbnRzCiAgIC8vIHRvIG1vbyBvciBjb3JnZSBiZWNhdXNlIHRoZXJlIGFyZSBibGFuayBsaW5lcyBzZXBhcmF0aW5nIGl0IGZyb20KICAgLy8gYm90aC4KCiAgIC8vIERldGFjaGVkIGNvbW1lbnQgZm9yIGNvcmdlIHBhcmFncmFwaCAyLgoKICAgb3B0aW9uYWwgc3RyaW5nIGNvcmdlID0gNTsKICAgLyogQmxvY2sgY29tbWVudCBhdHRhY2hlZAogICAgKiB0byBjb3JnZS4gIExlYWRpbmcgYXN0ZXJpc2tzCiAgICAqIHdpbGwgYmUgcmVtb3ZlZC4gKi8KICAgLyogQmxvY2sgY29tbWVudCBhdHRhY2hlZCB0bwogICAgKiBncmF1bHQuICovCiAgIG9wdGlvbmFsIGludDMyIGdyYXVsdCA9IDY7CgogICAvLyBpZ25vcmVkIGRldGFjaGVkIGNvbW1lbnRzLgoKDwoHBBUDAAICBBIEngkEDAoPCgcEFQMAAgIFEgSeCQ0TCg8KBwQVAwACAgESBJ4JFCQKDwoHBBUDAAICAxIEngknKAoOCgYEFQMAAgMSBJ8JBCoKDwoHBBUDAAIDBBIEnwkEDAoPCgcEFQMAAgMFEgSfCQ0TCg8KBwQVAwACAwESBJ8JFCUKDwoHBBUDAAIDAxIEnwkoKQoOCgYEFQMAAgQSBKAJBDIKDwoHBBUDAAIEBBIEoAkEDAoPCgcEFQMAAgQFEgSgCQ0TCg8KBwQVAwACBAESBKAJFC0KDwoHBBUDAAIEAxIEoAkwMQruAQoCBBYSBqcJAMgJARrfASBEZXNjcmliZXMgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGdlbmVyYXRlZCBjb2RlIGFuZCBpdHMgb3JpZ2luYWwgc291cmNlCiBmaWxlLiBBIEdlbmVyYXRlZENvZGVJbmZvIG1lc3NhZ2UgaXMgYXNzb2NpYXRlZCB3aXRoIG9ubHkgb25lIGdlbmVyYXRlZAogc291cmNlIGZpbGUsIGJ1dCBtYXkgY29udGFpbiByZWZlcmVuY2VzIHRvIGRpZmZlcmVudCBzb3VyY2UgLnByb3RvIGZpbGVzLgoKCwoDBBYBEgSnCQgZCngKBAQWAgASBKoJAiUaaiBBbiBBbm5vdGF0aW9uIGNvbm5lY3RzIHNvbWUgc3BhbiBvZiB0ZXh0IGluIGdlbmVyYXRlZCBjb2RlIHRvIGFuIGVsZW1lbnQKIG9mIGl0cyBnZW5lcmF0aW5nIC5wcm90byBmaWxlLgoKDQoFBBYCAAQSBKoJAgoKDQoFBBYCAAYSBKoJCxUKDQoFBBYCAAESBKoJFiAKDQoFBBYCAAMSBKoJIyQKDgoEBBYDABIGqwkCxwkDCg0KBQQWAwABEgSrCQoUCo8BCgYEFgMAAgASBK4JBCwafyBJZGVudGlmaWVzIHRoZSBlbGVtZW50IGluIHRoZSBvcmlnaW5hbCBzb3VyY2UgLnByb3RvIGZpbGUuIFRoaXMgZmllbGQKIGlzIGZvcm1hdHRlZCB0aGUgc2FtZSBhcyBTb3VyY2VDb2RlSW5mby5Mb2NhdGlvbi5wYXRoLgoKDwoHBBYDAAIABBIErgkEDAoPCgcEFgMAAgAFEgSuCQ0SCg8KBwQWAwACAAESBK4JExcKDwoHBBYDAAIAAxIErgkaGwoPCgcEFgMAAgAIEgSuCRwrChAKCAQWAwACAAgCEgSuCR0qCk8KBgQWAwACARIEsQkEJBo/IElkZW50aWZpZXMgdGhlIGZpbGVzeXN0ZW0gcGF0aCB0byB0aGUgb3JpZ2luYWwgc291cmNlIC5wcm90by4KCg8KBwQWAwACAQQSBLEJBAwKDwoHBBYDAAIBBRIEsQkNEwoPCgcEFgMAAgEBEgSxCRQfCg8KBwQWAwACAQMSBLEJIiMKdwoGBBYDAAICEgS1CQQdGmcgSWRlbnRpZmllcyB0aGUgc3RhcnRpbmcgb2Zmc2V0IGluIGJ5dGVzIGluIHRoZSBnZW5lcmF0ZWQgY29kZQogdGhhdCByZWxhdGVzIHRvIHRoZSBpZGVudGlmaWVkIG9iamVjdC4KCg8KBwQWAwACAgQSBLUJBAwKDwoHBBYDAAICBRIEtQkNEgoPCgcEFgMAAgIBEgS1CRMYCg8KBwQWAwACAgMSBLUJGxwK2wEKBgQWAwACAxIEugkEGxrKASBJZGVudGlmaWVzIHRoZSBlbmRpbmcgb2Zmc2V0IGluIGJ5dGVzIGluIHRoZSBnZW5lcmF0ZWQgY29kZSB0aGF0CiByZWxhdGVzIHRvIHRoZSBpZGVudGlmaWVkIG9iamVjdC4gVGhlIGVuZCBvZmZzZXQgc2hvdWxkIGJlIG9uZSBwYXN0CiB0aGUgbGFzdCByZWxldmFudCBieXRlIChzbyB0aGUgbGVuZ3RoIG9mIHRoZSB0ZXh0ID0gZW5kIC0gYmVnaW4pLgoKDwoHBBYDAAIDBBIEugkEDAoPCgcEFgMAAgMFEgS6CQ0SCg8KBwQWAwACAwESBLoJExYKDwoHBBYDAAIDAxIEugkZGgpqCgYEFgMABAASBr4JBMUJBRpYIFJlcHJlc2VudHMgdGhlIGlkZW50aWZpZWQgb2JqZWN0J3MgZWZmZWN0IG9uIHRoZSBlbGVtZW50IGluIHRoZSBvcmlnaW5hbAogLnByb3RvIGZpbGUuCgoPCgcEFgMABAABEgS+CQkRCkYKCAQWAwAEAAIAEgTACQYPGjQgVGhlcmUgaXMgbm8gZWZmZWN0IG9yIHRoZSBlZmZlY3QgaXMgaW5kZXNjcmliYWJsZS4KChEKCQQWAwAEAAIAARIEwAkGCgoRCgkEFgMABAACAAISBMAJDQ4KPAoIBBYDAAQAAgESBMIJBg4aKiBUaGUgZWxlbWVudCBpcyBzZXQgb3Igb3RoZXJ3aXNlIG11dGF0ZWQuCgoRCgkEFgMABAACAQESBMIJBgkKEQoJBBYDAAQAAgECEgTCCQwNCjgKCAQWAwAEAAICEgTECQYQGiYgQW4gYWxpYXMgdG8gdGhlIGVsZW1lbnQgaXMgcmV0dXJuZWQuCgoRCgkEFgMABAACAgESBMQJBgsKEQoJBBYDAAQAAgICEgTECQ4PCg4KBgQWAwACBBIExgkEIwoPCgcEFgMAAgQEEgTGCQQMCg8KBwQWAwACBAYSBMYJDRUKDwoHBBYDAAIEARIExgkWHgoPCgcEFgMAAgQDEgTGCSEiCvtxCjJjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2N1c3RvbV9vcHRpb25zX3Byb3RvMy5wcm90bxIRcHJvdG9idWZfdW5pdHRlc3QaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvIusBChxUZXN0TWVzc2FnZVdpdGhDdXN0b21PcHRpb25zEiYKBmZpZWxkMRgBIAEoCUIOCAHB4MMdLeF1CgIAAABSBmZpZWxkMRIhCgtvbmVvZl9maWVsZBgCIAEoBUgAUgpvbmVvZkZpZWxkIlMKBkFuRW51bRIWChJBTkVOVU1fVU5TUEVDSUZJRUQQABIPCgtBTkVOVU1fVkFMMRABEhYKC0FORU5VTV9WQUwyEAIaBbCG+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+BgoBDBIDFAASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCjLTASBBdXRob3I6IGJlbmp5QGdvb2dsZS5jb20gKEJlbmp5IFdlaW5iZXJnZXIpCiAgQmFzZWQgb24gb3JpZ2luYWwgUHJvdG9jb2wgQnVmZmVycyBkZXNpZ24gYnkKICBTYW5qYXkgR2hlbWF3YXQsIEplZmYgRGVhbiwgYW5kIG90aGVycy4KCiBBIHByb3RvIGZpbGUgdXNlZCB0byB0ZXN0IHRoZSAiY3VzdG9tIG9wdGlvbnMiIGZlYXR1cmUgb2YgZ29vZ2xlLnByb3RvYnVmLgoy0QIgVGhpcyBmaWxlIGlzIGJhc2VkIG9uIHVuaXR0ZXN0X2N1c3RvbV9vcHRpb25zLnByb3RvIGluCiBzcmMvZ29vZ2xlL3Byb3RvYnVmLCBidXQgaXMgbW9kaWZpZWQgZm9yIHByb3RvMy4gSXQgY291bGQKIHBvdGVudGlhbGx5IGJlIG1vdmVkIGludG8gc3JjL2dvb2dsZS9wcm90b2J1ZiwgYnV0IGN1cnJlbnRseSBDIwogaXMgdGhlIG9ubHkgbGFuZ3VhZ2UgdGhhdCByZWFsbHkgbmVlZHMgaXQsIGFzIHdlIGRvbid0IHN1cHBvcnQKIHByb3RvMiBzeW50YXguIEl0J3MgY3V0IGRvd24gc2lnbmlmaWNhbnRseSBhcyBwcm90bzMgb25seSBzdXBwb3J0cwogZXh0ZW5zaW9ucyBmb3Igb3B0aW9ucy4KCggKAQgSAxcAIAo1CgUIjp3YAxIDFwAgGicgQSBjdXN0b20gZmlsZSBvcHRpb24gKGRlZmluZWQgYmVsb3cpLgoKCQoCAwASAxkAKgqgAQoBAhIDHQAaGpUBIFdlIGRvbid0IHB1dCB0aGlzIGluIGEgcGFja2FnZSB3aXRoaW4gcHJvdG8yIGJlY2F1c2Ugd2UgbmVlZCB0byBtYWtlIHN1cmUKIHRoYXQgdGhlIGdlbmVyYXRlZCBjb2RlIGRvZXNuJ3QgZGVwZW5kIG9uIGJlaW5nIGluIHRoZSBwcm90bzIgbmFtZXNwYWNlLgoKCAoBCBIDHgA3CgkKAgglEgMeADcKPgoBBxIEIgAkATIzIFNvbWUgc2ltcGxlIHRlc3QgY3VzdG9tIG9wdGlvbnMgb2YgdmFyaW91cyB0eXBlcy4KCgkKAgcAEgMj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IENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoyKCBBdXRob3I6IGxpdWppc2lAZ29vZ2xlLmNvbSAoUGhlcmwgTGl1KQoKCAoBAhIDCwAoCggKAQgSAw0APgoJCgIIJRIDDQA+CgoKAgQAEgQPABEBCgoKAwQAARIDDwgbCgsKBAQAAgASAxACFwoMCgUEAAIABBIDEAIKCgwKBQQAAgAFEgMQCxAKDAoFBAACAAESAxAREgoMCgUEAAIAAxIDEBUWCsEMCiNjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2ltcG9ydC5wcm90bxIfcHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMhoqY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pbXBvcnRfcHVibGljLnByb3RvIh0KDUltcG9ydE1lc3NhZ2USDAoBZBgBIAEoBVIBZCo8CgpJbXBvcnRFbnVtEg4KCklNUE9SVF9GT08QBxIOCgpJTVBPUlRfQkFSEAgSDgoKSU1QT1JUX0JBWhAJKjEKEEltcG9ydEVudW1Gb3JNYXASCwoHVU5LTk9XThAAEgcKA0ZPTxABEgcKA0JBUhACQilIAfgBAaoCIUdvb2dsZS5Qcm90b2J1Zi5UZXN0UHJvdG9zLlByb3RvMkqPCgoGEgQNACsBCuADCgEMEgMNABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKMskBIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIEEgcHJvdG8gZmlsZSB3aGljaCBpcyBpbXBvcnRlZCBieSB1bml0dGVzdC5wcm90byB0byB0ZXN0IGltcG9ydGluZy4KCvUBCgECEgMTACga6gEgV2UgZG9uJ3QgcHV0IHRoaXMgaW4gYSBwYWNrYWdlIHdpdGhpbiBwcm90bzIgYmVjYXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZQogdGhhdCB0aGUgZ2VuZXJhdGVkIGNvZGUgZG9lc24ndCBkZXBlbmQgb24gYmVpbmcgaW4gdGhlIHByb3RvMiBuYW1lc3BhY2UuCiBJbiB0ZXN0X3V0aWwuaCB3ZSBkbwogInVzaW5nIG5hbWVzcGFjZSB1bml0dGVzdF9pbXBvcnQgPSBwcm90b2J1Zl91bml0dGVzdF9pbXBvcnQiLgoKCAoBCBIDFQAcCgkKAggJEgMVABwKCAoBCBIDFgAfCgkKAggfEgMWAB8KCAoBCBIDFwA+CgkKAgglEgMXAD4KHwoCAwASAxoAOxoUIFRlc3QgcHVibGljIGltcG9ydAoKCQoCCgASAxoHDQoKCgIEABIEHAAeAQoKCgMEAAESAxwIFQoLCgQEAAIAEgMdAhcKDAoFBAACAAQSAx0CCgoMCgUEAAIABRIDHQsQCgwKBQQAAgABEgMdERIKDAoFBAACAAMSAx0VFgoKCgIFABIEIAAkAQoKCgMFAAESAyAFDwoLCgQFAAIAEgMhAhEKDAoFBQACAAESAyECDAoMCgUFAAIAAhIDIQ8QCgsKBAUAAgESAyICEQoMCgUFAAIBARIDIgIMCgwKBQUAAgECEgMiDxAKCwoEBQACAhIDIwIRCgwKBQUAAgIBEgMjAgwKDAoFBQACAgISAyMPEApICgIFARIEJwArARo8IFRvIHVzZSBhbiBlbnVtIGluIGEgbWFwLCBpdCBtdXN0IGhhcyB0aGUgZmlyc3QgdmFsdWUgYXMgMC4KCgoKAwUBARIDJwUVCgsKBAUBAgASAygCDgoMCgUFAQIAARIDKAIJCgwKBQUBAgACEgMoDA0KCwoEBQECARIDKQIKCgwKBQUBAgEBEgMpAgUKDAoFBQECAQISAykICQoLCgQFAQICEgMqAgoKDAoFBQECAgESAyoCBQoMCgUFAQICAhIDKggJUAAKoscFChxjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0LnByb3RvEhhwcm90b2J1Zl91bml0dGVzdF9wcm90bzIaI2NzaGFycC9wcm90b3MvdW5pdHRlc3RfaW1wb3J0LnByb3RvIo0kCgxUZXN0QWxsVHlwZXMSJQoOb3B0aW9uYWxfaW50MzIYASABKAVSDW9wdGlvbmFsSW50MzISJQoOb3B0aW9uYWxfaW50NjQYAiABKANSDW9wdGlvbmFsSW50NjQSJwoPb3B0aW9uYWxfdWludDMyGAMgASgNUg5vcHRpb25hbFVpbnQzMhInCg9vcHRpb25hbF91aW50NjQYBCABKARSDm9wdGlvbmFsVWludDY0EicKD29wdGlvbmFsX3NpbnQzMhgFIAEoEVIOb3B0aW9uYWxTaW50MzISJwoPb3B0aW9uYWxfc2ludDY0GAYgASgSUg5vcHRpb25hbFNpbnQ2NBIpChBvcHRpb25hbF9maXhlZDMyGAcgASgHUg9vcHRpb25hbEZpeGVkMzISKQoQb3B0aW9uYWxfZml4ZWQ2NBgIIAEoBlIPb3B0aW9uYWxGaXhlZDY0EisKEW9wdGlvbmFsX3NmaXhlZDMyGAkgASgPUhBvcHRpb25hbFNmaXhlZDMyEisKEW9wdGlvbmFsX3NmaXhlZDY0GAogASgQUhBvcHRpb25hbFNmaXhlZDY0EiUKDm9wdGlvbmFsX2Zsb2F0GAsgASgCUg1vcHRpb25hbEZsb2F0EicKD29wdGlvbmFsX2RvdWJsZRgMIAEoAVIOb3B0aW9uYWxEb3VibGUSIwoNb3B0aW9uYWxfYm9vbBgNIAEoCFIMb3B0aW9uYWxCb29sEicKD29wdGlvbmFsX3N0cmluZxgOIAEoCVIOb3B0aW9uYWxTdHJpbmcSJQoOb3B0aW9uYWxfYnl0ZXMYDyABKAxSDW9wdGlvbmFsQnl0ZXMSWgoNb3B0aW9uYWxncm91cBgQIAEoCjI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuT3B0aW9uYWxHcm91cFINb3B0aW9uYWxncm91cBJsChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgSIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlEmIKGG9wdGlvbmFsX2ZvcmVpZ25fbWVzc2FnZRgTIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIWb3B0aW9uYWxGb3JlaWduTWVzc2FnZRJmChdvcHRpb25hbF9pbXBvcnRfbWVzc2FnZRgUIAEoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0TWVzc2FnZVIVb3B0aW9uYWxJbXBvcnRNZXNzYWdlEmMKFG9wdGlvbmFsX25lc3RlZF9lbnVtGBUgASgOMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtUhJvcHRpb25hbE5lc3RlZEVudW0SWQoVb3B0aW9uYWxfZm9yZWlnbl9lbnVtGBYgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhNvcHRpb25hbEZvcmVpZ25FbnVtEl0KFG9wdGlvbmFsX2ltcG9ydF9lbnVtGBcgASgOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtUhJvcHRpb25hbEltcG9ydEVudW0SNgoVb3B0aW9uYWxfc3RyaW5nX3BpZWNlGBggASgJQgIIAlITb3B0aW9uYWxTdHJpbmdQaWVjZRInCg1vcHRpb25hbF9jb3JkGBkgASgJQgIIAVIMb3B0aW9uYWxDb3JkEnkKHm9wdGlvbmFsX3B1YmxpY19pbXBvcnRfbWVzc2FnZRgaIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuUHVibGljSW1wb3J0TWVzc2FnZVIbb3B0aW9uYWxQdWJsaWNJbXBvcnRNZXNzYWdlEmwKFW9wdGlvbmFsX2xhenlfbWVzc2FnZRgbIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUICKAFSE29wdGlvbmFsTGF6eU1lc3NhZ2USJQoOcmVwZWF0ZWRfaW50MzIYHyADKAVSDXJlcGVhdGVkSW50MzISJQoOcmVwZWF0ZWRfaW50NjQYICADKANSDXJlcGVhdGVkSW50NjQSJwoPcmVwZWF0ZWRfdWludDMyGCEgAygNUg5yZXBlYXRlZFVpbnQzMhInCg9yZXBlYXRlZF91aW50NjQYIiADKARSDnJlcGVhdGVkVWludDY0EicKD3JlcGVhdGVkX3NpbnQzMhgjIAMoEVIOcmVwZWF0ZWRTaW50MzISJwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSUg5yZXBlYXRlZFNpbnQ2NBIpChByZXBlYXRlZF9maXhlZDMyGCUgAygHUg9yZXBlYXRlZEZpeGVkMzISKQoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EisKEXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPUhByZXBlYXRlZFNmaXhlZDMyEisKEXJlcGVhdGVkX3NmaXhlZDY0GCggAygQUhByZXBlYXRlZFNmaXhlZDY0EiUKDnJlcGVhdGVkX2Zsb2F0GCkgAygCUg1yZXBlYXRlZEZsb2F0EicKD3JlcGVhdGVkX2RvdWJsZRgqIAMoAVIOcmVwZWF0ZWREb3VibGUSIwoNcmVwZWF0ZWRfYm9vbBgrIAMoCFIMcmVwZWF0ZWRCb29sEicKD3JlcGVhdGVkX3N0cmluZxgsIAMoCVIOcmVwZWF0ZWRTdHJpbmcSJQoOcmVwZWF0ZWRfYnl0ZXMYLSADKAxSDXJlcGVhdGVkQnl0ZXMSWgoNcmVwZWF0ZWRncm91cBguIAMoCjI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuUmVwZWF0ZWRHcm91cFINcmVwZWF0ZWRncm91cBJsChdyZXBlYXRlZF9uZXN0ZWRfbWVzc2FnZRgwIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZVIVcmVwZWF0ZWROZXN0ZWRNZXNzYWdlEmIKGHJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZRgxIAMoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIWcmVwZWF0ZWRGb3JlaWduTWVzc2FnZRJmChdyZXBlYXRlZF9pbXBvcnRfbWVzc2FnZRgyIAMoCzIuLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0TWVzc2FnZVIVcmVwZWF0ZWRJbXBvcnRNZXNzYWdlEmMKFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtUhJyZXBlYXRlZE5lc3RlZEVudW0SWQoVcmVwZWF0ZWRfZm9yZWlnbl9lbnVtGDQgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhNyZXBlYXRlZEZvcmVpZ25FbnVtEl0KFHJlcGVhdGVkX2ltcG9ydF9lbnVtGDUgAygOMisucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRFbnVtUhJyZXBlYXRlZEltcG9ydEVudW0SNgoVcmVwZWF0ZWRfc3RyaW5nX3BpZWNlGDYgAygJQgIIAlITcmVwZWF0ZWRTdHJpbmdQaWVjZRInCg1yZXBlYXRlZF9jb3JkGDcgAygJQgIIAVIMcmVwZWF0ZWRDb3JkEmgKFXJlcGVhdGVkX2xhenlfbWVzc2FnZRg5IAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZVITcmVwZWF0ZWRMYXp5TWVzc2FnZRInCg1kZWZhdWx0X2ludDMyGD0gASgFOgI0MVIMZGVmYXVsdEludDMyEicKDWRlZmF1bHRfaW50NjQYPiABKAM6AjQyUgxkZWZhdWx0SW50NjQSKQoOZGVmYXVsdF91aW50MzIYPyABKA06AjQzUg1kZWZhdWx0VWludDMyEikKDmRlZmF1bHRfdWludDY0GEAgASgEOgI0NFINZGVmYXVsdFVpbnQ2NBIqCg5kZWZhdWx0X3NpbnQzMhhBIAEoEToDLTQ1Ug1kZWZhdWx0U2ludDMyEikKDmRlZmF1bHRfc2ludDY0GEIgASgSOgI0NlINZGVmYXVsdFNpbnQ2NBIrCg9kZWZhdWx0X2ZpeGVkMzIYQyABKAc6AjQ3Ug5kZWZhdWx0Rml4ZWQzMhIrCg9kZWZhdWx0X2ZpeGVkNjQYRCABKAY6AjQ4Ug5kZWZhdWx0Rml4ZWQ2NBItChBkZWZhdWx0X3NmaXhlZDMyGEUgASgPOgI0OVIPZGVmYXVsdFNmaXhlZDMyEi4KEGRlZmF1bHRfc2ZpeGVkNjQYRiABKBA6Ay01MFIPZGVmYXVsdFNmaXhlZDY0EikKDWRlZmF1bHRfZmxvYXQYRyABKAI6BDUxLjVSDGRlZmF1bHRGbG9hdBIsCg5kZWZhdWx0X2RvdWJsZRhIIAEoAToFNTIwMDBSDWRlZmF1bHREb3VibGUSJwoMZGVmYXVsdF9ib29sGEkgASgIOgR0cnVlUgtkZWZhdWx0Qm9vbBIsCg5kZWZhdWx0X3N0cmluZxhKIAEoCToFaGVsbG9SDWRlZmF1bHRTdHJpbmcSKgoNZGVmYXVsdF9ieXRlcxhLIAEoDDoFd29ybGRSDGRlZmF1bHRCeXRlcxJmChNkZWZhdWx0X25lc3RlZF9lbnVtGFEgASgOMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtOgNCQVJSEWRlZmF1bHROZXN0ZWRFbnVtEmQKFGRlZmF1bHRfZm9yZWlnbl9lbnVtGFIgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtOgtGT1JFSUdOX0JBUlISZGVmYXVsdEZvcmVpZ25FbnVtEmcKE2RlZmF1bHRfaW1wb3J0X2VudW0YUyABKA4yKy5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydEVudW06CklNUE9SVF9CQVJSEWRlZmF1bHRJbXBvcnRFbnVtEjkKFGRlZmF1bHRfc3RyaW5nX3BpZWNlGFQgASgJOgNhYmNCAggCUhJkZWZhdWx0U3RyaW5nUGllY2USKgoMZGVmYXVsdF9jb3JkGFUgASgJOgMxMjNCAggBUgtkZWZhdWx0Q29yZBIjCgxvbmVvZl91aW50MzIYbyABKA1IAFILb25lb2ZVaW50MzISaAoUb25lb2ZfbmVzdGVkX21lc3NhZ2UYcCABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VIAFISb25lb2ZOZXN0ZWRNZXNzYWdlEiMKDG9uZW9mX3N0cmluZxhxIAEoCUgAUgtvbmVvZlN0cmluZxIhCgtvbmVvZl9ieXRlcxhyIAEoDEgAUgpvbmVvZkJ5dGVzGh8KDU5lc3RlZE1lc3NhZ2USDgoCYmIYASABKAVSAmJiGh0KDU9wdGlvbmFsR3JvdXASDAoBYRgRIAEoBVIBYRodCg1SZXBlYXRlZEdyb3VwEgwKAWEYLyABKAVSAWEiOQoKTmVzdGVkRW51bRIHCgNGT08QARIHCgNCQVIQAhIHCgNCQVoQAxIQCgNORUcQ////////////AUINCgtvbmVvZl9maWVsZCLvAQoSTmVzdGVkVGVzdEFsbFR5cGVzEkIKBWNoaWxkGAEgASgLMiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLk5lc3RlZFRlc3RBbGxUeXBlc1IFY2hpbGQSQAoHcGF5bG9hZBgCIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSB3BheWxvYWQSUwoOcmVwZWF0ZWRfY2hpbGQYAyADKAsyLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuTmVzdGVkVGVzdEFsbFR5cGVzUg1yZXBlYXRlZENoaWxkIpYBChRUZXN0RGVwcmVjYXRlZEZpZWxkcxItChBkZXByZWNhdGVkX2ludDMyGAEgASgFQgIYAVIPZGVwcmVjYXRlZEludDMyEj8KGWRlcHJlY2F0ZWRfaW50MzJfaW5fb25lb2YYAiABKAVCAhgBSABSFmRlcHJlY2F0ZWRJbnQzMkluT25lb2ZCDgoMb25lb2ZfZmllbGRzIhsKFVRlc3REZXByZWNhdGVkTWVzc2FnZToCGAEiLAoORm9yZWlnbk1lc3NhZ2USDAoBYxgBIAEoBVIBYxIMCgFkGAIgASgFUgFkIjAKElRlc3RSZXNlcnZlZEZpZWxkc0oECAIQA0oECA8QEEoECAkQDFIDYmFyUgNiYXoiHQoRVGVzdEFsbEV4dGVuc2lvbnMqCAgBEICAgIACIicKF09wdGlvbmFsR3JvdXBfZXh0ZW5zaW9uEgwKAWEYESABKAVSAWEiJwoXUmVwZWF0ZWRHcm91cF9leHRlbnNpb24SDAoBYRgvIAEoBVIBYSLeAQoJVGVzdEdyb3VwElcKDW9wdGlvbmFsZ3JvdXAYECABKAoyMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEdyb3VwLk9wdGlvbmFsR3JvdXBSDW9wdGlvbmFsZ3JvdXASWQoVb3B0aW9uYWxfZm9yZWlnbl9lbnVtGBYgASgOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhNvcHRpb25hbEZvcmVpZ25FbnVtGh0KDU9wdGlvbmFsR3JvdXASDAoBYRgRIAEoBVIBYSIeChJUZXN0R3JvdXBFeHRlbnNpb24qCAgBEICAgIACIrgEChNUZXN0TmVzdGVkRXh0ZW5zaW9uGicKF09wdGlvbmFsR3JvdXBfZXh0ZW5zaW9uEgwKAWEYESABKAVSAWEyRgoEdGVzdBIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxjqByABKAk6BHRlc3RSBHRlc3QyZAoXbmVzdGVkX3N0cmluZ19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMY6wcgASgJUhVuZXN0ZWRTdHJpbmdFeHRlbnNpb24yrAEKF29wdGlvbmFsZ3JvdXBfZXh0ZW5zaW9uEiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RHcm91cEV4dGVuc2lvbhgQIAEoCjJFLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TmVzdGVkRXh0ZW5zaW9uLk9wdGlvbmFsR3JvdXBfZXh0ZW5zaW9uUhZvcHRpb25hbGdyb3VwRXh0ZW5zaW9uMpoBCh9vcHRpb25hbF9mb3JlaWduX2VudW1fZXh0ZW5zaW9uEiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RHcm91cEV4dGVuc2lvbhgWIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVIcb3B0aW9uYWxGb3JlaWduRW51bUV4dGVuc2lvbiKQCAoMVGVzdFJlcXVpcmVkEgwKAWEYASACKAVSAWESFgoGZHVtbXkyGAIgASgFUgZkdW1teTISDAoBYhgDIAIoBVIBYhIWCgZkdW1teTQYBCABKAVSBmR1bW15NBIWCgZkdW1teTUYBSABKAVSBmR1bW15NRIWCgZkdW1teTYYBiABKAVSBmR1bW15NhIWCgZkdW1teTcYByABKAVSBmR1bW15NxIWCgZkdW1teTgYCCABKAVSBmR1bW15OBIWCgZkdW1teTkYCSABKAVSBmR1bW15ORIYCgdkdW1teTEwGAogASgFUgdkdW1teTEwEhgKB2R1bW15MTEYCyABKAVSB2R1bW15MTESGAoHZHVtbXkxMhgMIAEoBVIHZHVtbXkxMhIYCgdkdW1teTEzGA0gASgFUgdkdW1teTEzEhgKB2R1bW15MTQYDiABKAVSB2R1bW15MTQSGAoHZHVtbXkxNRgPIAEoBVIHZHVtbXkxNRIYCgdkdW1teTE2GBAgASgFUgdkdW1teTE2EhgKB2R1bW15MTcYESABKAVSB2R1bW15MTcSGAoHZHVtbXkxOBgSIAEoBVIHZHVtbXkxOBIYCgdkdW1teTE5GBMgASgFUgdkdW1teTE5EhgKB2R1bW15MjAYFCABKAVSB2R1bW15MjASGAoHZHVtbXkyMRgVIAEoBVIHZHVtbXkyMRIYCgdkdW1teTIyGBYgASgFUgdkdW1teTIyEhgKB2R1bW15MjMYFyABKAVSB2R1bW15MjMSGAoHZHVtbXkyNBgYIAEoBVIHZHVtbXkyNBIYCgdkdW1teTI1GBkgASgFUgdkdW1teTI1EhgKB2R1bW15MjYYGiABKAVSB2R1bW15MjYSGAoHZHVtbXkyNxgbIAEoBVIHZHVtbXkyNxIYCgdkdW1teTI4GBwgASgFUgdkdW1teTI4EhgKB2R1bW15MjkYHSABKAVSB2R1bW15MjkSGAoHZHVtbXkzMBgeIAEoBVIHZHVtbXkzMBIYCgdkdW1teTMxGB8gASgFUgdkdW1teTMxEhgKB2R1bW15MzIYICABKAVSB2R1bW15MzISDAoBYxghIAIoBVIBYzJsCgZzaW5nbGUSKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMY6AcgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZFIGc2luZ2xlMmoKBW11bHRpEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGOkHIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRSBW11bHRpItEBChNUZXN0UmVxdWlyZWRGb3JlaWduElEKEG9wdGlvbmFsX21lc3NhZ2UYASABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUg9vcHRpb25hbE1lc3NhZ2USUQoQcmVwZWF0ZWRfbWVzc2FnZRgCIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRSD3JlcGVhdGVkTWVzc2FnZRIUCgVkdW1teRgDIAEoBVIFZHVtbXkijgIKE1Rlc3RSZXF1aXJlZE1lc3NhZ2USUQoQb3B0aW9uYWxfbWVzc2FnZRgBIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRSD29wdGlvbmFsTWVzc2FnZRJRChByZXBlYXRlZF9tZXNzYWdlGAIgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZXF1aXJlZFIPcmVwZWF0ZWRNZXNzYWdlElEKEHJlcXVpcmVkX21lc3NhZ2UYAyACKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFJlcXVpcmVkUg9yZXF1aXJlZE1lc3NhZ2UicAoRVGVzdEZvcmVpZ25OZXN0ZWQSWwoOZm9yZWlnbl9uZXN0ZWQYASABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSDWZvcmVpZ25OZXN0ZWQiEgoQVGVzdEVtcHR5TWVzc2FnZSIqCh5UZXN0RW1wdHlNZXNzYWdlV2l0aEV4dGVuc2lvbnMqCAgBEICAgIACIjcKG1Rlc3RNdWx0aXBsZUV4dGVuc2lvblJhbmdlcyoECCoQKyoGCK8gEJQhKgoIgIAEEICAgIACIjsKGFRlc3RSZWFsbHlMYXJnZVRhZ051bWJlchIMCgFhGAEgASgFUgFhEhEKAmJiGP///38gASgFUgJiYiJiChRUZXN0UmVjdXJzaXZlTWVzc2FnZRI8CgFhGAEgASgLMi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RSZWN1cnNpdmVNZXNzYWdlUgFhEgwKAWkYAiABKAVSAWkirwMKFFRlc3RNdXR1YWxSZWN1cnNpb25BEj4KAmJiGAEgASgLMi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RNdXR1YWxSZWN1cnNpb25CUgJiYhJTCghzdWJncm91cBgCIAEoCjI3LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TXV0dWFsUmVjdXJzaW9uQS5TdWJHcm91cFIIc3ViZ3JvdXAaSgoKU3ViTWVzc2FnZRI8CgFiGAEgASgLMi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RNdXR1YWxSZWN1cnNpb25CUgFiGrUBCghTdWJHcm91cBJaCgtzdWJfbWVzc2FnZRgDIAEoCzI5LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TXV0dWFsUmVjdXJzaW9uQS5TdWJNZXNzYWdlUgpzdWJNZXNzYWdlEk0KD25vdF9pbl90aGlzX3NjYxgEIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSDG5vdEluVGhpc1NjYyJ7ChRUZXN0TXV0dWFsUmVjdXJzaW9uQhI8CgFhGAEgASgLMi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RNdXR1YWxSZWN1cnNpb25BUgFhEiUKDm9wdGlvbmFsX2ludDMyGAIgASgFUg1vcHRpb25hbEludDMyIvIBChFUZXN0SXNJbml0aWFsaXplZBJXCgtzdWJfbWVzc2FnZRgBIAEoCzI2LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0SXNJbml0aWFsaXplZC5TdWJNZXNzYWdlUgpzdWJNZXNzYWdlGoMBCgpTdWJNZXNzYWdlElsKCHN1Ymdyb3VwGAEgASgKMj8ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RJc0luaXRpYWxpemVkLlN1Yk1lc3NhZ2UuU3ViR3JvdXBSCHN1Ymdyb3VwGhgKCFN1Ykdyb3VwEgwKAWkYAiACKAVSAWki1AEKElRlc3REdXBGaWVsZE51bWJlchIMCgFhGAEgASgFUgFhEkIKA2ZvbxgCIAEoCjIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RHVwRmllbGROdW1iZXIuRm9vUgNmb28SQgoDYmFyGAMgASgKMjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3REdXBGaWVsZE51bWJlci5CYXJSA2JhchoTCgNGb28SDAoBYRgBIAEoBVIBYRoTCgNCYXISDAoBYRgBIAEoBVIBYSJfChBUZXN0RWFnZXJNZXNzYWdlEksKC3N1Yl9tZXNzYWdlGAEgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc0ICKABSCnN1Yk1lc3NhZ2UiXgoPVGVzdExhenlNZXNzYWdlEksKC3N1Yl9tZXNzYWdlGAEgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc0ICKAFSCnN1Yk1lc3NhZ2Ui5gIKGFRlc3ROZXN0ZWRNZXNzYWdlSGFzQml0cxJ4ChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgBIAEoCzJALnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0TmVzdGVkTWVzc2FnZUhhc0JpdHMuTmVzdGVkTWVzc2FnZVIVb3B0aW9uYWxOZXN0ZWRNZXNzYWdlGs8BCg1OZXN0ZWRNZXNzYWdlEkAKHG5lc3RlZG1lc3NhZ2VfcmVwZWF0ZWRfaW50MzIYASADKAVSGm5lc3RlZG1lc3NhZ2VSZXBlYXRlZEludDMyEnwKJW5lc3RlZG1lc3NhZ2VfcmVwZWF0ZWRfZm9yZWlnbm1lc3NhZ2UYAiADKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSI25lc3RlZG1lc3NhZ2VSZXBlYXRlZEZvcmVpZ25tZXNzYWdlItcFChdUZXN0Q2FtZWxDYXNlRmllbGROYW1lcxImCg5QcmltaXRpdmVGaWVsZBgBIAEoBVIOUHJpbWl0aXZlRmllbGQSIAoLU3RyaW5nRmllbGQYAiABKAlSC1N0cmluZ0ZpZWxkEkMKCUVudW1GaWVsZBgDIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bVIJRW51bUZpZWxkEkwKDE1lc3NhZ2VGaWVsZBgEIAEoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIMTWVzc2FnZUZpZWxkEi4KEFN0cmluZ1BpZWNlRmllbGQYBSABKAlCAggCUhBTdHJpbmdQaWVjZUZpZWxkEiAKCUNvcmRGaWVsZBgGIAEoCUICCAFSCUNvcmRGaWVsZBI2ChZSZXBlYXRlZFByaW1pdGl2ZUZpZWxkGAcgAygFUhZSZXBlYXRlZFByaW1pdGl2ZUZpZWxkEjAKE1JlcGVhdGVkU3RyaW5nRmllbGQYCCADKAlSE1JlcGVhdGVkU3RyaW5nRmllbGQSUwoRUmVwZWF0ZWRFbnVtRmllbGQYCSADKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SEVJlcGVhdGVkRW51bUZpZWxkElwKFFJlcGVhdGVkTWVzc2FnZUZpZWxkGAogAygLMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25NZXNzYWdlUhRSZXBlYXRlZE1lc3NhZ2VGaWVsZBI+ChhSZXBlYXRlZFN0cmluZ1BpZWNlRmllbGQYCyADKAlCAggCUhhSZXBlYXRlZFN0cmluZ1BpZWNlRmllbGQSMAoRUmVwZWF0ZWRDb3JkRmllbGQYDCADKAlCAggBUhFSZXBlYXRlZENvcmRGaWVsZCKVAgoSVGVzdEZpZWxkT3JkZXJpbmdzEhsKCW15X3N0cmluZxgLIAEoCVIIbXlTdHJpbmcSFQoGbXlfaW50GAEgASgDUgVteUludBIZCghteV9mbG9hdBhlIAEoAlIHbXlGbG9hdBJzChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRjIASABKAsyOi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEZpZWxkT3JkZXJpbmdzLk5lc3RlZE1lc3NhZ2VSFW9wdGlvbmFsTmVzdGVkTWVzc2FnZRovCg1OZXN0ZWRNZXNzYWdlEg4KAm9vGAIgASgDUgJvbxIOCgJiYhgBIAEoBVICYmIqBAgCEAsqBAgMEGUiyAEKF1Rlc3RFeHRlbnNpb25PcmRlcmluZ3MxEhsKCW15X3N0cmluZxgBIAEoCVIIbXlTdHJpbmcyjwEKE3Rlc3RfZXh0X29yZGVyaW5nczESLC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEZpZWxkT3JkZXJpbmdzGA0gASgLMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RFeHRlbnNpb25PcmRlcmluZ3MxUhF0ZXN0RXh0T3JkZXJpbmdzMSKrAwoXVGVzdEV4dGVuc2lvbk9yZGVyaW5nczISGwoJbXlfc3RyaW5nGAEgASgJUghteVN0cmluZxrgAQoXVGVzdEV4dGVuc2lvbk9yZGVyaW5nczMSGwoJbXlfc3RyaW5nGAEgASgJUghteVN0cmluZzKnAQoTdGVzdF9leHRfb3JkZXJpbmdzMxIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RmllbGRPcmRlcmluZ3MYDiABKAsySS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEV4dGVuc2lvbk9yZGVyaW5nczIuVGVzdEV4dGVuc2lvbk9yZGVyaW5nczNSEXRlc3RFeHRPcmRlcmluZ3MzMo8BChN0ZXN0X2V4dF9vcmRlcmluZ3MyEiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RGaWVsZE9yZGVyaW5ncxgMIAEoCzIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RXh0ZW5zaW9uT3JkZXJpbmdzMlIRdGVzdEV4dE9yZGVyaW5nczIirwoKGFRlc3RFeHRyZW1lRGVmYXVsdFZhbHVlcxJNCg1lc2NhcGVkX2J5dGVzGAEgASgMOihcMDAwXDAwMVwwMDdcMDEwXDAxNFxuXHJcdFwwMTNcXFwnXCJcMzc2Ugxlc2NhcGVkQnl0ZXMSLQoMbGFyZ2VfdWludDMyGAIgASgNOgo0Mjk0OTY3Mjk1UgtsYXJnZVVpbnQzMhI3CgxsYXJnZV91aW50NjQYAyABKAQ6FDE4NDQ2NzQ0MDczNzA5NTUxNjE1UgtsYXJnZVVpbnQ2NBIsCgtzbWFsbF9pbnQzMhgEIAEoBToLLTIxNDc0ODM2NDdSCnNtYWxsSW50MzISNQoLc21hbGxfaW50NjQYBSABKAM6FC05MjIzMzcyMDM2ODU0Nzc1ODA3UgpzbWFsbEludDY0EjkKEnJlYWxseV9zbWFsbF9pbnQzMhgVIAEoBToLLTIxNDc0ODM2NDhSEHJlYWxseVNtYWxsSW50MzISQgoScmVhbGx5X3NtYWxsX2ludDY0GBYgASgDOhQtOTIyMzM3MjAzNjg1NDc3NTgwOFIQcmVhbGx5U21hbGxJbnQ2NBIkCgt1dGY4X3N0cmluZxgGIAEoCToD4Yi0Ugp1dGY4U3RyaW5nEiAKCnplcm9fZmxvYXQYByABKAI6ATBSCXplcm9GbG9hdBIeCglvbmVfZmxvYXQYCCABKAI6ATFSCG9uZUZsb2F0EiQKC3NtYWxsX2Zsb2F0GAkgASgCOgMxLjVSCnNtYWxsRmxvYXQSMAoSbmVnYXRpdmVfb25lX2Zsb2F0GAogASgCOgItMVIQbmVnYXRpdmVPbmVGbG9hdBIrCg5uZWdhdGl2ZV9mbG9hdBgLIAEoAjoELTEuNVINbmVnYXRpdmVGbG9hdBImCgtsYXJnZV9mbG9hdBgMIAEoAjoFMmUrMDhSCmxhcmdlRmxvYXQSOAoUc21hbGxfbmVnYXRpdmVfZmxvYXQYDSABKAI6Bi04ZS0yOFISc21hbGxOZWdhdGl2ZUZsb2F0EiIKCmluZl9kb3VibGUYDiABKAE6A2luZlIJaW5mRG91YmxlEioKDm5lZ19pbmZfZG91YmxlGA8gASgBOgQtaW5mUgxuZWdJbmZEb3VibGUSIgoKbmFuX2RvdWJsZRgQIAEoAToDbmFuUgluYW5Eb3VibGUSIAoJaW5mX2Zsb2F0GBEgASgCOgNpbmZSCGluZkZsb2F0EigKDW5lZ19pbmZfZmxvYXQYEiABKAI6BC1pbmZSC25lZ0luZkZsb2F0EiAKCW5hbl9mbG9hdBgTIAEoAjoDbmFuUghuYW5GbG9hdBI4CgxjcHBfdHJpZ3JhcGgYFCABKAk6FT8gPyA/PyA/PyA/Pz8gPz8vID8/LVILY3BwVHJpZ3JhcGgSMAoQc3RyaW5nX3dpdGhfemVybxgXIAEoCToGaGVsAGxvUg5zdHJpbmdXaXRoWmVybxIxCg9ieXRlc193aXRoX3plcm8YGCABKAw6CXdvclwwMDBsZFINYnl0ZXNXaXRoWmVybxI9ChZzdHJpbmdfcGllY2Vfd2l0aF96ZXJvGBkgASgJOgRhYgBjQgIIAlITc3RyaW5nUGllY2VXaXRoWmVybxIuCg5jb3JkX3dpdGhfemVybxgaIAEoCToEMTIAM0ICCAFSDGNvcmRXaXRoWmVybxI5ChJyZXBsYWNlbWVudF9zdHJpbmcYGyABKAk6CiR7dW5rbm93bn1SEXJlcGxhY2VtZW50U3RyaW5nIl4KEVNwYXJzZUVudW1NZXNzYWdlEkkKC3NwYXJzZV9lbnVtGAEgASgOMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RTcGFyc2VFbnVtUgpzcGFyc2VFbnVtIh8KCU9uZVN0cmluZxISCgRkYXRhGAEgASgJUgRkYXRhIiAKCk1vcmVTdHJpbmcSEgoEZGF0YRgBIAMoCVIEZGF0YSIeCghPbmVCeXRlcxISCgRkYXRhGAEgASgMUgRkYXRhIh8KCU1vcmVCeXRlcxISCgRkYXRhGAEgAygMUgRkYXRhIiIKDEludDMyTWVzc2FnZRISCgRkYXRhGAEgASgFUgRkYXRhIiMKDVVpbnQzMk1lc3NhZ2USEgoEZGF0YRgBIAEoDVIEZGF0YSIiCgxJbnQ2NE1lc3NhZ2USEgoEZGF0YRgBIAEoA1IEZGF0YSIjCg1VaW50NjRNZXNzYWdlEhIKBGRhdGEYASABKARSBGRhdGEiIQoLQm9vbE1lc3NhZ2USEgoEZGF0YRgBIAEoCFIEZGF0YSKNAgoJVGVzdE9uZW9mEhkKB2Zvb19pbnQYASABKAVIAFIGZm9vSW50Eh8KCmZvb19zdHJpbmcYAiABKAlIAFIJZm9vU3RyaW5nEkkKC2Zvb19tZXNzYWdlGAMgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc0gAUgpmb29NZXNzYWdlEkoKCGZvb2dyb3VwGAQgASgKMiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZi5Gb29Hcm91cEgAUghmb29ncm91cBomCghGb29Hcm91cBIMCgFhGAUgASgFUgFhEgwKAWIYBiABKAlSAWJCBQoDZm9vIqQCChxUZXN0T25lb2ZCYWNrd2FyZHNDb21wYXRpYmxlEhcKB2Zvb19pbnQYASABKAVSBmZvb0ludBIdCgpmb29fc3RyaW5nGAIgASgJUglmb29TdHJpbmcSRwoLZm9vX21lc3NhZ2UYAyABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgpmb29NZXNzYWdlElsKCGZvb2dyb3VwGAQgASgKMj8ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZkJhY2t3YXJkc0NvbXBhdGlibGUuRm9vR3JvdXBSCGZvb2dyb3VwGiYKCEZvb0dyb3VwEgwKAWEYBSABKAVSAWESDAoBYhgGIAEoCVIBYiKQCAoKVGVzdE9uZW9mMhIZCgdmb29faW50GAEgASgFSABSBmZvb0ludBIfCgpmb29fc3RyaW5nGAIgASgJSABSCWZvb1N0cmluZxIfCghmb29fY29yZBgDIAEoCUICCAFIAFIHZm9vQ29yZBIuChBmb29fc3RyaW5nX3BpZWNlGAQgASgJQgIIAkgAUg5mb29TdHJpbmdQaWVjZRIdCglmb29fYnl0ZXMYBSABKAxIAFIIZm9vQnl0ZXMSTAoIZm9vX2VudW0YBiABKA4yLy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE9uZW9mMi5OZXN0ZWRFbnVtSABSB2Zvb0VudW0SVQoLZm9vX21lc3NhZ2UYByABKAsyMi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE9uZW9mMi5OZXN0ZWRNZXNzYWdlSABSCmZvb01lc3NhZ2USSwoIZm9vZ3JvdXAYCCABKAoyLS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE9uZW9mMi5Gb29Hcm91cEgAUghmb29ncm91cBJiChBmb29fbGF6eV9tZXNzYWdlGAsgASgLMjIucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RPbmVvZjIuTmVzdGVkTWVzc2FnZUICKAFIAFIOZm9vTGF6eU1lc3NhZ2USHAoHYmFyX2ludBgMIAEoBToBNUgBUgZiYXJJbnQSJwoKYmFyX3N0cmluZxgNIAEoCToGU1RSSU5HSAFSCWJhclN0cmluZxIlCghiYXJfY29yZBgOIAEoCToEQ09SREICCAFIAVIHYmFyQ29yZBI2ChBiYXJfc3RyaW5nX3BpZWNlGA8gASgJOgZTUElFQ0VCAggCSAFSDmJhclN0cmluZ1BpZWNlEiQKCWJhcl9ieXRlcxgQIAEoDDoFQllURVNIAVIIYmFyQnl0ZXMSUQoIYmFyX2VudW0YESABKA4yLy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdE9uZW9mMi5OZXN0ZWRFbnVtOgNCQVJIAVIHYmFyRW51bRIXCgdiYXpfaW50GBIgASgFUgZiYXpJbnQSIgoKYmF6X3N0cmluZxgTIAEoCToDQkFaUgliYXpTdHJpbmcaJgoIRm9vR3JvdXASDAoBYRgJIAEoBVIBYRIMCgFiGAogASgJUgFiGkUKDU5lc3RlZE1lc3NhZ2USFwoHcXV4X2ludBgBIAEoA1IGcXV4SW50EhsKCWNvcmdlX2ludBgCIAMoBVIIY29yZ2VJbnQiJwoKTmVzdGVkRW51bRIHCgNGT08QARIHCgNCQVIQAhIHCgNCQVoQA0IFCgNmb29CBQoDYmFyIu4BChFUZXN0UmVxdWlyZWRPbmVvZhIZCgdmb29faW50GAEgASgFSABSBmZvb0ludBIfCgpmb29fc3RyaW5nGAIgASgJSABSCWZvb1N0cmluZxJcCgtmb29fbWVzc2FnZRgDIAEoCzI5LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRPbmVvZi5OZXN0ZWRNZXNzYWdlSABSCmZvb01lc3NhZ2UaOAoNTmVzdGVkTWVzc2FnZRInCg9yZXF1aXJlZF9kb3VibGUYASACKAFSDnJlcXVpcmVkRG91YmxlQgUKA2ZvbyKAAgoPVGVzdFJlcXVpcmVkTWFwEkQKA2ZvbxgBIAMoCzIyLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRNYXAuRm9vRW50cnlSA2ZvbxpvCghGb29FbnRyeRIQCgNrZXkYASABKAVSA2tleRJNCgV2YWx1ZRgCIAEoCzI3LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UmVxdWlyZWRNYXAuTmVzdGVkTWVzc2FnZVIFdmFsdWU6AjgBGjYKDU5lc3RlZE1lc3NhZ2USJQoOcmVxdWlyZWRfaW50MzIYASACKAVSDXJlcXVpcmVkSW50MzIi9AQKD1Rlc3RQYWNrZWRUeXBlcxIlCgxwYWNrZWRfaW50MzIYWiADKAVCAhABUgtwYWNrZWRJbnQzMhIlCgxwYWNrZWRfaW50NjQYWyADKANCAhABUgtwYWNrZWRJbnQ2NBInCg1wYWNrZWRfdWludDMyGFwgAygNQgIQAVIMcGFja2VkVWludDMyEicKDXBhY2tlZF91aW50NjQYXSADKARCAhABUgxwYWNrZWRVaW50NjQSJwoNcGFja2VkX3NpbnQzMhheIAMoEUICEAFSDHBhY2tlZFNpbnQzMhInCg1wYWNrZWRfc2ludDY0GF8gAygSQgIQAVIMcGFja2VkU2ludDY0EikKDnBhY2tlZF9maXhlZDMyGGAgAygHQgIQAVINcGFja2VkRml4ZWQzMhIpCg5wYWNrZWRfZml4ZWQ2NBhhIAMoBkICEAFSDXBhY2tlZEZpeGVkNjQSKwoPcGFja2VkX3NmaXhlZDMyGGIgAygPQgIQAVIOcGFja2VkU2ZpeGVkMzISKwoPcGFja2VkX3NmaXhlZDY0GGMgAygQQgIQAVIOcGFja2VkU2ZpeGVkNjQSJQoMcGFja2VkX2Zsb2F0GGQgAygCQgIQAVILcGFja2VkRmxvYXQSJwoNcGFja2VkX2RvdWJsZRhlIAMoAUICEAFSDHBhY2tlZERvdWJsZRIjCgtwYWNrZWRfYm9vbBhmIAMoCEICEAFSCnBhY2tlZEJvb2wSSgoLcGFja2VkX2VudW0YZyADKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1CAhABUgpwYWNrZWRFbnVtIq4FChFUZXN0VW5wYWNrZWRUeXBlcxIpCg51bnBhY2tlZF9pbnQzMhhaIAMoBUICEABSDXVucGFja2VkSW50MzISKQoOdW5wYWNrZWRfaW50NjQYWyADKANCAhAAUg11bnBhY2tlZEludDY0EisKD3VucGFja2VkX3VpbnQzMhhcIAMoDUICEABSDnVucGFja2VkVWludDMyEisKD3VucGFja2VkX3VpbnQ2NBhdIAMoBEICEABSDnVucGFja2VkVWludDY0EisKD3VucGFja2VkX3NpbnQzMhheIAMoEUICEABSDnVucGFja2VkU2ludDMyEisKD3VucGFja2VkX3NpbnQ2NBhfIAMoEkICEABSDnVucGFja2VkU2ludDY0Ei0KEHVucGFja2VkX2ZpeGVkMzIYYCADKAdCAhAAUg91bnBhY2tlZEZpeGVkMzISLQoQdW5wYWNrZWRfZml4ZWQ2NBhhIAMoBkICEABSD3VucGFja2VkRml4ZWQ2NBIvChF1bnBhY2tlZF9zZml4ZWQzMhhiIAMoD0ICEABSEHVucGFja2VkU2ZpeGVkMzISLwoRdW5wYWNrZWRfc2ZpeGVkNjQYYyADKBBCAhAAUhB1bnBhY2tlZFNmaXhlZDY0EikKDnVucGFja2VkX2Zsb2F0GGQgAygCQgIQAFINdW5wYWNrZWRGbG9hdBIrCg91bnBhY2tlZF9kb3VibGUYZSADKAFCAhAAUg51bnBhY2tlZERvdWJsZRInCg11bnBhY2tlZF9ib29sGGYgAygIQgIQAFIMdW5wYWNrZWRCb29sEk4KDXVucGFja2VkX2VudW0YZyADKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1CAhAAUgx1bnBhY2tlZEVudW0iIAoUVGVzdFBhY2tlZEV4dGVuc2lvbnMqCAgBEICAgIACIiIKFlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMqCAgBEICAgIACIsgFChVUZXN0RHluYW1pY0V4dGVuc2lvbnMSKgoQc2NhbGFyX2V4dGVuc2lvbhjQDyABKAdSD3NjYWxhckV4dGVuc2lvbhJNCg5lbnVtX2V4dGVuc2lvbhjRDyABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SDWVudW1FeHRlbnNpb24SdgoWZHluYW1pY19lbnVtX2V4dGVuc2lvbhjSDyABKA4yPy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdER5bmFtaWNFeHRlbnNpb25zLkR5bmFtaWNFbnVtVHlwZVIUZHluYW1pY0VudW1FeHRlbnNpb24SVgoRbWVzc2FnZV9leHRlbnNpb24Y0w8gASgLMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25NZXNzYWdlUhBtZXNzYWdlRXh0ZW5zaW9uEn8KGWR5bmFtaWNfbWVzc2FnZV9leHRlbnNpb24Y1A8gASgLMkIucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3REeW5hbWljRXh0ZW5zaW9ucy5EeW5hbWljTWVzc2FnZVR5cGVSF2R5bmFtaWNNZXNzYWdlRXh0ZW5zaW9uEi4KEnJlcGVhdGVkX2V4dGVuc2lvbhjVDyADKAlSEXJlcGVhdGVkRXh0ZW5zaW9uEi4KEHBhY2tlZF9leHRlbnNpb24Y1g8gAygRQgIQAVIPcGFja2VkRXh0ZW5zaW9uGjoKEkR5bmFtaWNNZXNzYWdlVHlwZRIkCg1keW5hbWljX2ZpZWxkGLQQIAEoBVIMZHluYW1pY0ZpZWxkIkcKD0R5bmFtaWNFbnVtVHlwZRIQCgtEWU5BTUlDX0ZPTxCYERIQCgtEWU5BTUlDX0JBUhCZERIQCgtEWU5BTUlDX0JBWhCaESKfAgojVGVzdFJlcGVhdGVkU2NhbGFyRGlmZmVyZW50VGFnU2l6ZXMSKQoQcmVwZWF0ZWRfZml4ZWQzMhgMIAMoB1IPcmVwZWF0ZWRGaXhlZDMyEiUKDnJlcGVhdGVkX2ludDMyGA0gAygFUg1yZXBlYXRlZEludDMyEioKEHJlcGVhdGVkX2ZpeGVkNjQY/g8gAygGUg9yZXBlYXRlZEZpeGVkNjQSJgoOcmVwZWF0ZWRfaW50NjQY/w8gAygDUg1yZXBlYXRlZEludDY0EicKDnJlcGVhdGVkX2Zsb2F0GP7/DyADKAJSDXJlcGVhdGVkRmxvYXQSKQoPcmVwZWF0ZWRfdWludDY0GP//DyADKARSDnJlcGVhdGVkVWludDY0IuMMChBUZXN0UGFyc2luZ01lcmdlElQKEnJlcXVpcmVkX2FsbF90eXBlcxgBIAIoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSEHJlcXVpcmVkQWxsVHlwZXMSVAoSb3B0aW9uYWxfYWxsX3R5cGVzGAIgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IQb3B0aW9uYWxBbGxUeXBlcxJUChJyZXBlYXRlZF9hbGxfdHlwZXMYAyADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUhByZXBlYXRlZEFsbFR5cGVzEl4KDW9wdGlvbmFsZ3JvdXAYCiABKAoyOC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhcnNpbmdNZXJnZS5PcHRpb25hbEdyb3VwUg1vcHRpb25hbGdyb3VwEl4KDXJlcGVhdGVkZ3JvdXAYFCADKAoyOC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhcnNpbmdNZXJnZS5SZXBlYXRlZEdyb3VwUg1yZXBlYXRlZGdyb3VwGq0FChdSZXBlYXRlZEZpZWxkc0dlbmVyYXRvchI+CgZmaWVsZDEYASADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgZmaWVsZDESPgoGZmllbGQyGAIgAygLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IGZmllbGQyEj4KBmZpZWxkMxgDIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSBmZpZWxkMxJhCgZncm91cDEYCiADKAoySS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhcnNpbmdNZXJnZS5SZXBlYXRlZEZpZWxkc0dlbmVyYXRvci5Hcm91cDFSBmdyb3VwMRJhCgZncm91cDIYFCADKAoySS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhcnNpbmdNZXJnZS5SZXBlYXRlZEZpZWxkc0dlbmVyYXRvci5Hcm91cDJSBmdyb3VwMhI7CgRleHQxGOgHIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSBGV4dDESOwoEZXh0MhjpByADKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgRleHQyGkgKBkdyb3VwMRI+CgZmaWVsZDEYCyABKAsyJi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzUgZmaWVsZDEaSAoGR3JvdXAyEj4KBmZpZWxkMRgVIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSBmZpZWxkMRpwCg1PcHRpb25hbEdyb3VwEl8KGG9wdGlvbmFsX2dyb3VwX2FsbF90eXBlcxgLIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSFW9wdGlvbmFsR3JvdXBBbGxUeXBlcxpwCg1SZXBlYXRlZEdyb3VwEl8KGHJlcGVhdGVkX2dyb3VwX2FsbF90eXBlcxgVIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSFXJlcGVhdGVkR3JvdXBBbGxUeXBlcyoJCOgHEICAgIACMnYKDG9wdGlvbmFsX2V4dBIqLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFyc2luZ01lcmdlGOgHIAEoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSC29wdGlvbmFsRXh0MnYKDHJlcGVhdGVkX2V4dBIqLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFyc2luZ01lcmdlGOkHIAMoCzImLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXNSC3JlcGVhdGVkRXh0IkcKG1Rlc3RDb21tZW50SW5qZWN0aW9uTWVzc2FnZRIoCgFhGAEgASgJOhoqLyA8LSBOZWl0aGVyIHNob3VsZCB0aGlzLlIBYSIMCgpGb29SZXF1ZXN0Ig0KC0Zvb1Jlc3BvbnNlIhIKEEZvb0NsaWVudE1lc3NhZ2UiEgoQRm9vU2VydmVyTWVzc2FnZSIMCgpCYXJSZXF1ZXN0Ig0KC0JhclJlc3BvbnNlIs4BCgxUZXN0SnNvbk5hbWUSHwoLZmllbGRfbmFtZTEYASABKAVSCmZpZWxkTmFtZTESHgoKZmllbGROYW1lMhgCIAEoBVIKZmllbGROYW1lMhIeCgpGaWVsZE5hbWUzGAMgASgFUgpGaWVsZE5hbWUzEiAKDF9maWVsZF9uYW1lNBgEIAEoBVIKRmllbGROYW1lNBIfCgtGSUVMRF9OQU1FNRgFIAEoBVIKRklFTEROQU1FNRIaCgtmaWVsZF9uYW1lNhgGIAEoBVIFQHR5cGUi/wcKFFRlc3RIdWdlRmllbGROdW1iZXJzEikKDm9wdGlvbmFsX2ludDMyGPD4//8BIAEoBVINb3B0aW9uYWxJbnQzMhIdCghmaXhlZF8zMhjx+P//ASABKAVSB2ZpeGVkMzISLQoOcmVwZWF0ZWRfaW50MzIY8vj//wEgAygFQgIQAFINcmVwZWF0ZWRJbnQzMhIpCgxwYWNrZWRfaW50MzIY8/j//wEgAygFQgIQAVILcGFja2VkSW50MzISTgoNb3B0aW9uYWxfZW51bRj0+P//ASABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SDG9wdGlvbmFsRW51bRIrCg9vcHRpb25hbF9zdHJpbmcY9fj//wEgASgJUg5vcHRpb25hbFN0cmluZxIpCg5vcHRpb25hbF9ieXRlcxj2+P//ASABKAxSDW9wdGlvbmFsQnl0ZXMSVwoQb3B0aW9uYWxfbWVzc2FnZRj3+P//ASABKAsyKC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbk1lc3NhZ2VSD29wdGlvbmFsTWVzc2FnZRJmCg1vcHRpb25hbGdyb3VwGPj4//8BIAEoCjI8LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0SHVnZUZpZWxkTnVtYmVycy5PcHRpb25hbEdyb3VwUg1vcHRpb25hbGdyb3VwEnMKEXN0cmluZ19zdHJpbmdfbWFwGPr4//8BIAMoCzJDLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0SHVnZUZpZWxkTnVtYmVycy5TdHJpbmdTdHJpbmdNYXBFbnRyeVIPc3RyaW5nU3RyaW5nTWFwEicKDG9uZW9mX3VpbnQzMhj7+P//ASABKA1IAFILb25lb2ZVaW50MzISXQoUb25lb2ZfdGVzdF9hbGxfdHlwZXMY/Pj//wEgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc0gAUhFvbmVvZlRlc3RBbGxUeXBlcxInCgxvbmVvZl9zdHJpbmcY/fj//wEgASgJSABSC29uZW9mU3RyaW5nEiUKC29uZW9mX2J5dGVzGP74//8BIAEoDEgAUgpvbmVvZkJ5dGVzGiwKDU9wdGlvbmFsR3JvdXASGwoHZ3JvdXBfYRj5+P//ASABKAVSBmdyb3VwQRpCChRTdHJpbmdTdHJpbmdNYXBFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKgwI4Kr//wEQ8Pj//wFCDQoLb25lb2ZfZmllbGQi+gEKGFRlc3RFeHRlbnNpb25JbnNpZGVUYWJsZRIWCgZmaWVsZDEYASABKAVSBmZpZWxkMRIWCgZmaWVsZDIYAiABKAVSBmZpZWxkMhIWCgZmaWVsZDMYAyABKAVSBmZpZWxkMxIWCgZmaWVsZDQYBCABKAVSBmZpZWxkNBIWCgZmaWVsZDYYBiABKAVSBmZpZWxkNhIWCgZmaWVsZDcYByABKAVSBmZpZWxkNxIWCgZmaWVsZDgYCCABKAVSBmZpZWxkOBIWCgZmaWVsZDkYCSABKAVSBmZpZWxkORIYCgdmaWVsZDEwGAogASgFUgdmaWVsZDEwKgQIBRAGKkAKC0ZvcmVpZ25FbnVtEg8KC0ZPUkVJR05fRk9PEAQSDwoLRk9SRUlHTl9CQVIQBRIPCgtGT1JFSUdOX0JBWhAGKksKFFRlc3RFbnVtV2l0aER1cFZhbHVlEggKBEZPTzEQARIICgRCQVIxEAISBwoDQkFaEAMSCAoERk9PMhABEggKBEJBUjIQAhoCEAEqiQEKDlRlc3RTcGFyc2VFbnVtEgwKCFNQQVJTRV9BEHsSDgoIU1BBUlNFX0IQpucDEg8KCFNQQVJTRV9DELKxgAYSFQoIU1BBUlNFX0QQ8f//////////ARIVCghTUEFSU0VfRRC03vz///////8BEgwKCFNQQVJTRV9GEAASDAoIU1BBUlNFX0cQAiqLDwoNVmVyeUxhcmdlRW51bRIWChJFTlVNX0xBQkVMX0RFRkFVTFQQABIQCgxFTlVNX0xBQkVMXzEQARIQCgxFTlVNX0xBQkVMXzIQAhIQCgxFTlVNX0xBQkVMXzMQAxIQCgxFTlVNX0xBQkVMXzQQBBIQCgxFTlVNX0xBQkVMXzUQBRIQCgxFTlVNX0xBQkVMXzYQBhIQCgxFTlVNX0xBQkVMXzcQBxIQCgxFTlVNX0xBQkVMXzgQCBIQCgxFTlVNX0xBQkVMXzkQCRIRCg1FTlVNX0xBQkVMXzEwEAoSEQoNRU5VTV9MQUJFTF8xMRALEhEKDUVOVU1fTEFCRUxfMTIQDBIRCg1FTlVNX0xBQkVMXzEzEA0SEQoNRU5VTV9MQUJFTF8xNBAOEhEKDUVOVU1fTEFCRUxfMTUQDxIRCg1FTlVNX0xBQkVMXzE2EBASEQoNRU5VTV9MQUJFTF8xNxAREhEKDUVOVU1fTEFCRUxfMTgQEhIRCg1FTlVNX0xBQkVMXzE5EBMSEQoNRU5VTV9MQUJFTF8yMBAUEhEKDUVOVU1fTEFCRUxfMjEQFRIRCg1FTlVNX0xBQkVMXzIyEBYSEQoNRU5VTV9MQUJFTF8yMxAXEhEKDUVOVU1fTEFCRUxfMjQQGBIRCg1FTlVNX0xBQkVMXzI1EBkSEQoNRU5VTV9MQUJFTF8yNhAaEhEKDUVOVU1fTEFCRUxfMjcQGxIRCg1FTlVNX0xBQkVMXzI4EBwSEQoNRU5VTV9MQUJFTF8yORAdEhEKDUVOVU1fTEFCRUxfMzAQHhIRCg1FTlVNX0xBQkVMXzMxEB8SEQoNRU5VTV9MQUJFTF8zMhAgEhEKDUVOVU1fTEFCRUxfMzMQIRIRCg1FTlVNX0xBQkVMXzM0ECISEQoNRU5VTV9MQUJFTF8zNRAjEhEKDUVOVU1fTEFCRUxfMzYQJBIRCg1FTlVNX0xBQkVMXzM3ECUSEQoNRU5VTV9MQUJFTF8zOBAmEhEKDUVOVU1fTEFCRUxfMzkQJxIRCg1FTlVNX0xBQkVMXzQwECgSEQoNRU5VTV9MQUJFTF80MRApEhEKDUVOVU1fTEFCRUxfNDIQKhIRCg1FTlVNX0xBQkVMXzQzECsSEQoNRU5VTV9MQUJFTF80NBAsEhEKDUVOVU1fTEFCRUxfNDUQLRIRCg1FTlVNX0xBQkVMXzQ2EC4SEQoNRU5VTV9MQUJFTF80NxAvEhEKDUVOVU1fTEFCRUxfNDgQMBIRCg1FTlVNX0xBQkVMXzQ5EDESEQoNRU5VTV9MQUJFTF81MBAyEhEKDUVOVU1fTEFCRUxfNTEQMxIRCg1FTlVNX0xBQkVMXzUyEDQSEQoNRU5VTV9MQUJFTF81MxA1EhEKDUVOVU1fTEFCRUxfNTQQNhIRCg1FTlVNX0xBQkVMXzU1EDcSEQoNRU5VTV9MQUJFTF81NhA4EhEKDUVOVU1fTEFCRUxfNTcQORIRCg1FTlVNX0xBQkVMXzU4EDoSEQoNRU5VTV9MQUJFTF81ORA7EhEKDUVOVU1fTEFCRUxfNjAQPBIRCg1FTlVNX0xBQkVMXzYxED0SEQoNRU5VTV9MQUJFTF82MhA+EhEKDUVOVU1fTEFCRUxfNjMQPxIRCg1FTlVNX0xBQkVMXzY0EEASEQoNRU5VTV9MQUJFTF82NRBBEhEKDUVOVU1fTEFCRUxfNjYQQhIRCg1FTlVNX0xBQkVMXzY3EEMSEQoNRU5VTV9MQUJFTF82OBBEEhEKDUVOVU1fTEFCRUxfNjkQRRIRCg1FTlVNX0xBQkVMXzcwEEYSEQoNRU5VTV9MQUJFTF83MRBHEhEKDUVOVU1fTEFCRUxfNzIQSBIRCg1FTlVNX0xBQkVMXzczEEkSEQoNRU5VTV9MQUJFTF83NBBKEhEKDUVOVU1fTEFCRUxfNzUQSxIRCg1FTlVNX0xBQkVMXzc2EEwSEQoNRU5VTV9MQUJFTF83NxBNEhEKDUVOVU1fTEFCRUxfNzgQThIRCg1FTlVNX0xBQkVMXzc5EE8SEQoNRU5VTV9MQUJFTF84MBBQEhEKDUVOVU1fTEFCRUxfODEQURIRCg1FTlVNX0xBQkVMXzgyEFISEQoNRU5VTV9MQUJFTF84MxBTEhEKDUVOVU1fTEFCRUxfODQQVBIRCg1FTlVNX0xBQkVMXzg1EFUSEQoNRU5VTV9MQUJFTF84NhBWEhEKDUVOVU1fTEFCRUxfODcQVxIRCg1FTlVNX0xBQkVMXzg4EFgSEQoNRU5VTV9MQUJFTF84ORBZEhEKDUVOVU1fTEFCRUxfOTAQWhIRCg1FTlVNX0xBQkVMXzkxEFsSEQoNRU5VTV9MQUJFTF85MhBcEhEKDUVOVU1fTEFCRUxfOTMQXRIRCg1FTlVNX0xBQkVMXzk0EF4SEQoNRU5VTV9MQUJFTF85NRBfEhEKDUVOVU1fTEFCRUxfOTYQYBIRCg1FTlVNX0xBQkVMXzk3EGESEQoNRU5VTV9MQUJFTF85OBBiEhEKDUVOVU1fTEFCRUxfOTkQYxISCg5FTlVNX0xBQkVMXzEwMBBkMrUBCgtUZXN0U2VydmljZRJSCgNGb28SJC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9vUmVxdWVzdBolLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb29SZXNwb25zZRJSCgNCYXISJC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuQmFyUmVxdWVzdBolLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5CYXJSZXNwb25zZTplChhvcHRpb25hbF9pbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYASABKAVSFm9wdGlvbmFsSW50MzJFeHRlbnNpb246ZQoYb3B0aW9uYWxfaW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAIgASgDUhZvcHRpb25hbEludDY0RXh0ZW5zaW9uOmcKGW9wdGlvbmFsX3VpbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYAyABKA1SF29wdGlvbmFsVWludDMyRXh0ZW5zaW9uOmcKGW9wdGlvbmFsX3VpbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYBCABKARSF29wdGlvbmFsVWludDY0RXh0ZW5zaW9uOmcKGW9wdGlvbmFsX3NpbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYBSABKBFSF29wdGlvbmFsU2ludDMyRXh0ZW5zaW9uOmcKGW9wdGlvbmFsX3NpbnQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYBiABKBJSF29wdGlvbmFsU2ludDY0RXh0ZW5zaW9uOmkKGm9wdGlvbmFsX2ZpeGVkMzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAcgASgHUhhvcHRpb25hbEZpeGVkMzJFeHRlbnNpb246aQoab3B0aW9uYWxfZml4ZWQ2NF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYCCABKAZSGG9wdGlvbmFsRml4ZWQ2NEV4dGVuc2lvbjprChtvcHRpb25hbF9zZml4ZWQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYCSABKA9SGW9wdGlvbmFsU2ZpeGVkMzJFeHRlbnNpb246awobb3B0aW9uYWxfc2ZpeGVkNjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAogASgQUhlvcHRpb25hbFNmaXhlZDY0RXh0ZW5zaW9uOmUKGG9wdGlvbmFsX2Zsb2F0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgLIAEoAlIWb3B0aW9uYWxGbG9hdEV4dGVuc2lvbjpnChlvcHRpb25hbF9kb3VibGVfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGAwgASgBUhdvcHRpb25hbERvdWJsZUV4dGVuc2lvbjpjChdvcHRpb25hbF9ib29sX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgNIAEoCFIVb3B0aW9uYWxCb29sRXh0ZW5zaW9uOmcKGW9wdGlvbmFsX3N0cmluZ19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYDiABKAlSF29wdGlvbmFsU3RyaW5nRXh0ZW5zaW9uOmUKGG9wdGlvbmFsX2J5dGVzX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgPIAEoDFIWb3B0aW9uYWxCeXRlc0V4dGVuc2lvbjqXAQoXb3B0aW9uYWxncm91cF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYECABKAoyMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuT3B0aW9uYWxHcm91cF9leHRlbnNpb25SFm9wdGlvbmFsZ3JvdXBFeHRlbnNpb246rAEKIW9wdGlvbmFsX25lc3RlZF9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgSIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZVIeb3B0aW9uYWxOZXN0ZWRNZXNzYWdlRXh0ZW5zaW9uOqIBCiJvcHRpb25hbF9mb3JlaWduX21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBMgASgLMigucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25NZXNzYWdlUh9vcHRpb25hbEZvcmVpZ25NZXNzYWdlRXh0ZW5zaW9uOqYBCiFvcHRpb25hbF9pbXBvcnRfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYFCABKAsyLi5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydE1lc3NhZ2VSHm9wdGlvbmFsSW1wb3J0TWVzc2FnZUV4dGVuc2lvbjqjAQoeb3B0aW9uYWxfbmVzdGVkX2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBUgASgOMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRFbnVtUhtvcHRpb25hbE5lc3RlZEVudW1FeHRlbnNpb246mQEKH29wdGlvbmFsX2ZvcmVpZ25fZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYFiABKA4yJS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuRm9yZWlnbkVudW1SHG9wdGlvbmFsRm9yZWlnbkVudW1FeHRlbnNpb246nQEKHm9wdGlvbmFsX2ltcG9ydF9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgXIAEoDjIrLnByb3RvYnVmX3VuaXR0ZXN0X2ltcG9ydF9wcm90bzIuSW1wb3J0RW51bVIbb3B0aW9uYWxJbXBvcnRFbnVtRXh0ZW5zaW9uOnYKH29wdGlvbmFsX3N0cmluZ19waWVjZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYGCABKAlCAggCUhxvcHRpb25hbFN0cmluZ1BpZWNlRXh0ZW5zaW9uOmMKF29wdGlvbmFsX2NvcmRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGBkgASgJUhVvcHRpb25hbENvcmRFeHRlbnNpb246uQEKKG9wdGlvbmFsX3B1YmxpY19pbXBvcnRfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYGiABKAsyNC5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLlB1YmxpY0ltcG9ydE1lc3NhZ2VSJG9wdGlvbmFsUHVibGljSW1wb3J0TWVzc2FnZUV4dGVuc2lvbjqsAQofb3B0aW9uYWxfbGF6eV9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgbIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZUICKAFSHG9wdGlvbmFsTGF6eU1lc3NhZ2VFeHRlbnNpb246ZQoYcmVwZWF0ZWRfaW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGB8gAygFUhZyZXBlYXRlZEludDMyRXh0ZW5zaW9uOmUKGHJlcGVhdGVkX2ludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxggIAMoA1IWcmVwZWF0ZWRJbnQ2NEV4dGVuc2lvbjpnChlyZXBlYXRlZF91aW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCEgAygNUhdyZXBlYXRlZFVpbnQzMkV4dGVuc2lvbjpnChlyZXBlYXRlZF91aW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCIgAygEUhdyZXBlYXRlZFVpbnQ2NEV4dGVuc2lvbjpnChlyZXBlYXRlZF9zaW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCMgAygRUhdyZXBlYXRlZFNpbnQzMkV4dGVuc2lvbjpnChlyZXBlYXRlZF9zaW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCQgAygSUhdyZXBlYXRlZFNpbnQ2NEV4dGVuc2lvbjppChpyZXBlYXRlZF9maXhlZDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxglIAMoB1IYcmVwZWF0ZWRGaXhlZDMyRXh0ZW5zaW9uOmkKGnJlcGVhdGVkX2ZpeGVkNjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCYgAygGUhhyZXBlYXRlZEZpeGVkNjRFeHRlbnNpb246awobcmVwZWF0ZWRfc2ZpeGVkMzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCcgAygPUhlyZXBlYXRlZFNmaXhlZDMyRXh0ZW5zaW9uOmsKG3JlcGVhdGVkX3NmaXhlZDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgoIAMoEFIZcmVwZWF0ZWRTZml4ZWQ2NEV4dGVuc2lvbjplChhyZXBlYXRlZF9mbG9hdF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYKSADKAJSFnJlcGVhdGVkRmxvYXRFeHRlbnNpb246ZwoZcmVwZWF0ZWRfZG91YmxlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgqIAMoAVIXcmVwZWF0ZWREb3VibGVFeHRlbnNpb246YwoXcmVwZWF0ZWRfYm9vbF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYKyADKAhSFXJlcGVhdGVkQm9vbEV4dGVuc2lvbjpnChlyZXBlYXRlZF9zdHJpbmdfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGCwgAygJUhdyZXBlYXRlZFN0cmluZ0V4dGVuc2lvbjplChhyZXBlYXRlZF9ieXRlc19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYLSADKAxSFnJlcGVhdGVkQnl0ZXNFeHRlbnNpb246lwEKF3JlcGVhdGVkZ3JvdXBfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGC4gAygKMjEucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlJlcGVhdGVkR3JvdXBfZXh0ZW5zaW9uUhZyZXBlYXRlZGdyb3VwRXh0ZW5zaW9uOqwBCiFyZXBlYXRlZF9uZXN0ZWRfbWVzc2FnZV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYMCADKAsyNC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZE1lc3NhZ2VSHnJlcGVhdGVkTmVzdGVkTWVzc2FnZUV4dGVuc2lvbjqiAQoicmVwZWF0ZWRfZm9yZWlnbl9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgxIAMoCzIoLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduTWVzc2FnZVIfcmVwZWF0ZWRGb3JlaWduTWVzc2FnZUV4dGVuc2lvbjqmAQohcmVwZWF0ZWRfaW1wb3J0X21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDIgAygLMi4ucHJvdG9idWZfdW5pdHRlc3RfaW1wb3J0X3Byb3RvMi5JbXBvcnRNZXNzYWdlUh5yZXBlYXRlZEltcG9ydE1lc3NhZ2VFeHRlbnNpb246owEKHnJlcGVhdGVkX25lc3RlZF9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxgzIAMoDjIxLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkRW51bVIbcmVwZWF0ZWROZXN0ZWRFbnVtRXh0ZW5zaW9uOpkBCh9yZXBlYXRlZF9mb3JlaWduX2VudW1fZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDQgAygOMiUucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLkZvcmVpZ25FbnVtUhxyZXBlYXRlZEZvcmVpZ25FbnVtRXh0ZW5zaW9uOp0BCh5yZXBlYXRlZF9pbXBvcnRfZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYNSADKA4yKy5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydEVudW1SG3JlcGVhdGVkSW1wb3J0RW51bUV4dGVuc2lvbjp2Ch9yZXBlYXRlZF9zdHJpbmdfcGllY2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDYgAygJQgIIAlIccmVwZWF0ZWRTdHJpbmdQaWVjZUV4dGVuc2lvbjpjChdyZXBlYXRlZF9jb3JkX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg3IAMoCVIVcmVwZWF0ZWRDb3JkRXh0ZW5zaW9uOqwBCh9yZXBlYXRlZF9sYXp5X21lc3NhZ2VfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGDkgAygLMjQucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlcy5OZXN0ZWRNZXNzYWdlQgIoAVIccmVwZWF0ZWRMYXp5TWVzc2FnZUV4dGVuc2lvbjpnChdkZWZhdWx0X2ludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg9IAEoBToCNDFSFWRlZmF1bHRJbnQzMkV4dGVuc2lvbjpnChdkZWZhdWx0X2ludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxg+IAEoAzoCNDJSFWRlZmF1bHRJbnQ2NEV4dGVuc2lvbjppChhkZWZhdWx0X3VpbnQzMl9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYPyABKA06AjQzUhZkZWZhdWx0VWludDMyRXh0ZW5zaW9uOmkKGGRlZmF1bHRfdWludDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhAIAEoBDoCNDRSFmRlZmF1bHRVaW50NjRFeHRlbnNpb246agoYZGVmYXVsdF9zaW50MzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEEgASgROgMtNDVSFmRlZmF1bHRTaW50MzJFeHRlbnNpb246aQoYZGVmYXVsdF9zaW50NjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEIgASgSOgI0NlIWZGVmYXVsdFNpbnQ2NEV4dGVuc2lvbjprChlkZWZhdWx0X2ZpeGVkMzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEMgASgHOgI0N1IXZGVmYXVsdEZpeGVkMzJFeHRlbnNpb246awoZZGVmYXVsdF9maXhlZDY0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhEIAEoBjoCNDhSF2RlZmF1bHRGaXhlZDY0RXh0ZW5zaW9uOm0KGmRlZmF1bHRfc2ZpeGVkMzJfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEUgASgPOgI0OVIYZGVmYXVsdFNmaXhlZDMyRXh0ZW5zaW9uOm4KGmRlZmF1bHRfc2ZpeGVkNjRfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEYgASgQOgMtNTBSGGRlZmF1bHRTZml4ZWQ2NEV4dGVuc2lvbjppChdkZWZhdWx0X2Zsb2F0X2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhHIAEoAjoENTEuNVIVZGVmYXVsdEZsb2F0RXh0ZW5zaW9uOmwKGGRlZmF1bHRfZG91YmxlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhIIAEoAToFNTIwMDBSFmRlZmF1bHREb3VibGVFeHRlbnNpb246ZwoWZGVmYXVsdF9ib29sX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhJIAEoCDoEdHJ1ZVIUZGVmYXVsdEJvb2xFeHRlbnNpb246bAoYZGVmYXVsdF9zdHJpbmdfZXh0ZW5zaW9uEisucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxFeHRlbnNpb25zGEogASgJOgVoZWxsb1IWZGVmYXVsdFN0cmluZ0V4dGVuc2lvbjpqChdkZWZhdWx0X2J5dGVzX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhLIAEoDDoFd29ybGRSFWRlZmF1bHRCeXRlc0V4dGVuc2lvbjqmAQodZGVmYXVsdF9uZXN0ZWRfZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYUSABKA4yMS5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbFR5cGVzLk5lc3RlZEVudW06A0JBUlIaZGVmYXVsdE5lc3RlZEVudW1FeHRlbnNpb246pAEKHmRlZmF1bHRfZm9yZWlnbl9lbnVtX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhSIAEoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bToLRk9SRUlHTl9CQVJSG2RlZmF1bHRGb3JlaWduRW51bUV4dGVuc2lvbjqnAQodZGVmYXVsdF9pbXBvcnRfZW51bV9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYUyABKA4yKy5wcm90b2J1Zl91bml0dGVzdF9pbXBvcnRfcHJvdG8yLkltcG9ydEVudW06CklNUE9SVF9CQVJSGmRlZmF1bHRJbXBvcnRFbnVtRXh0ZW5zaW9uOnkKHmRlZmF1bHRfc3RyaW5nX3BpZWNlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhUIAEoCToDYWJjQgIIAlIbZGVmYXVsdFN0cmluZ1BpZWNlRXh0ZW5zaW9uOmYKFmRlZmF1bHRfY29yZF9leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYVSABKAk6AzEyM1IUZGVmYXVsdENvcmRFeHRlbnNpb246YQoWb25lb2ZfdWludDMyX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhvIAEoDVIUb25lb2ZVaW50MzJFeHRlbnNpb246pgEKHm9uZW9mX25lc3RlZF9tZXNzYWdlX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhwIAEoCzI0LnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsVHlwZXMuTmVzdGVkTWVzc2FnZVIbb25lb2ZOZXN0ZWRNZXNzYWdlRXh0ZW5zaW9uOmEKFm9uZW9mX3N0cmluZ19leHRlbnNpb24SKy5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEFsbEV4dGVuc2lvbnMYcSABKAlSFG9uZW9mU3RyaW5nRXh0ZW5zaW9uOl8KFW9uZW9mX2J5dGVzX2V4dGVuc2lvbhIrLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0QWxsRXh0ZW5zaW9ucxhyIAEoDFITb25lb2ZCeXRlc0V4dGVuc2lvbjpcChNteV9leHRlbnNpb25fc3RyaW5nEiwucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RGaWVsZE9yZGVyaW5ncxgyIAEoCVIRbXlFeHRlbnNpb25TdHJpbmc6VgoQbXlfZXh0ZW5zaW9uX2ludBIsLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0RmllbGRPcmRlcmluZ3MYBSABKAVSDm15RXh0ZW5zaW9uSW50OmgKFnBhY2tlZF9pbnQzMl9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYWiADKAVCAhABUhRwYWNrZWRJbnQzMkV4dGVuc2lvbjpoChZwYWNrZWRfaW50NjRfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGFsgAygDQgIQAVIUcGFja2VkSW50NjRFeHRlbnNpb246agoXcGFja2VkX3VpbnQzMl9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYXCADKA1CAhABUhVwYWNrZWRVaW50MzJFeHRlbnNpb246agoXcGFja2VkX3VpbnQ2NF9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYXSADKARCAhABUhVwYWNrZWRVaW50NjRFeHRlbnNpb246agoXcGFja2VkX3NpbnQzMl9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYXiADKBFCAhABUhVwYWNrZWRTaW50MzJFeHRlbnNpb246agoXcGFja2VkX3NpbnQ2NF9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYXyADKBJCAhABUhVwYWNrZWRTaW50NjRFeHRlbnNpb246bAoYcGFja2VkX2ZpeGVkMzJfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGAgAygHQgIQAVIWcGFja2VkRml4ZWQzMkV4dGVuc2lvbjpsChhwYWNrZWRfZml4ZWQ2NF9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYYSADKAZCAhABUhZwYWNrZWRGaXhlZDY0RXh0ZW5zaW9uOm4KGXBhY2tlZF9zZml4ZWQzMl9leHRlbnNpb24SLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFBhY2tlZEV4dGVuc2lvbnMYYiADKA9CAhABUhdwYWNrZWRTZml4ZWQzMkV4dGVuc2lvbjpuChlwYWNrZWRfc2ZpeGVkNjRfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGMgAygQQgIQAVIXcGFja2VkU2ZpeGVkNjRFeHRlbnNpb246aAoWcGFja2VkX2Zsb2F0X2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhkIAMoAkICEAFSFHBhY2tlZEZsb2F0RXh0ZW5zaW9uOmoKF3BhY2tlZF9kb3VibGVfZXh0ZW5zaW9uEi4ucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RQYWNrZWRFeHRlbnNpb25zGGUgAygBQgIQAVIVcGFja2VkRG91YmxlRXh0ZW5zaW9uOmYKFXBhY2tlZF9ib29sX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhmIAMoCEICEAFSE3BhY2tlZEJvb2xFeHRlbnNpb246jQEKFXBhY2tlZF9lbnVtX2V4dGVuc2lvbhIuLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0UGFja2VkRXh0ZW5zaW9ucxhnIAMoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bUICEAFSE3BhY2tlZEVudW1FeHRlbnNpb246bgoYdW5wYWNrZWRfaW50MzJfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYWiADKAVCAhAAUhZ1bnBhY2tlZEludDMyRXh0ZW5zaW9uOm4KGHVucGFja2VkX2ludDY0X2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGFsgAygDQgIQAFIWdW5wYWNrZWRJbnQ2NEV4dGVuc2lvbjpwChl1bnBhY2tlZF91aW50MzJfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYXCADKA1CAhAAUhd1bnBhY2tlZFVpbnQzMkV4dGVuc2lvbjpwChl1bnBhY2tlZF91aW50NjRfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYXSADKARCAhAAUhd1bnBhY2tlZFVpbnQ2NEV4dGVuc2lvbjpwChl1bnBhY2tlZF9zaW50MzJfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYXiADKBFCAhAAUhd1bnBhY2tlZFNpbnQzMkV4dGVuc2lvbjpwChl1bnBhY2tlZF9zaW50NjRfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYXyADKBJCAhAAUhd1bnBhY2tlZFNpbnQ2NEV4dGVuc2lvbjpyChp1bnBhY2tlZF9maXhlZDMyX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGAgAygHQgIQAFIYdW5wYWNrZWRGaXhlZDMyRXh0ZW5zaW9uOnIKGnVucGFja2VkX2ZpeGVkNjRfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYYSADKAZCAhAAUhh1bnBhY2tlZEZpeGVkNjRFeHRlbnNpb246dAobdW5wYWNrZWRfc2ZpeGVkMzJfZXh0ZW5zaW9uEjAucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RVbnBhY2tlZEV4dGVuc2lvbnMYYiADKA9CAhAAUhl1bnBhY2tlZFNmaXhlZDMyRXh0ZW5zaW9uOnQKG3VucGFja2VkX3NmaXhlZDY0X2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGMgAygQQgIQAFIZdW5wYWNrZWRTZml4ZWQ2NEV4dGVuc2lvbjpuChh1bnBhY2tlZF9mbG9hdF9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhkIAMoAkICEABSFnVucGFja2VkRmxvYXRFeHRlbnNpb246cAoZdW5wYWNrZWRfZG91YmxlX2V4dGVuc2lvbhIwLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5UZXN0VW5wYWNrZWRFeHRlbnNpb25zGGUgAygBQgIQAFIXdW5wYWNrZWREb3VibGVFeHRlbnNpb246bAoXdW5wYWNrZWRfYm9vbF9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhmIAMoCEICEABSFXVucGFja2VkQm9vbEV4dGVuc2lvbjqTAQoXdW5wYWNrZWRfZW51bV9leHRlbnNpb24SMC5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdFVucGFja2VkRXh0ZW5zaW9ucxhnIAMoDjIlLnByb3RvYnVmX3VuaXR0ZXN0X3Byb3RvMi5Gb3JlaWduRW51bUICEABSFXVucGFja2VkRW51bUV4dGVuc2lvbjqAAQoOdGVzdF9hbGxfdHlwZXMSLi5wcm90b2J1Zl91bml0dGVzdF9wcm90bzIuVGVzdEh1Z2VGaWVsZE51bWJlcnMY4Kr//wEgASgLMiYucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RBbGxUeXBlc1IMdGVzdEFsbFR5cGVzOoQBCiV0ZXN0X2V4dGVuc2lvbl9pbnNpZGVfdGFibGVfZXh0ZW5zaW9uEjIucHJvdG9idWZfdW5pdHRlc3RfcHJvdG8yLlRlc3RFeHRlbnNpb25JbnNpZGVUYWJsZRgFIAEoBVIhdGVzdEV4dGVuc2lvbkluc2lkZVRhYmxlRXh0ZW5zaW9uQjJIAYABAYgBAZABAfgBAaoCIUdvb2dsZS5Qcm90b2J1Zi5UZXN0UHJvdG9zLlByb3RvMkrJrAMKBxIFDwDGCAEK6gMKAQwSAw8AEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoy0wEgQXV0aG9yOiBrZW50b25AZ29vZ2xlLmNvbSAoS2VudG9uIFZhcmRhKQogIEJhc2VkIG9uIG9yaWdpbmFsIFByb3RvY29sIEJ1ZmZlcnMgZGVzaWduIGJ5CiAgU2FuamF5IEdoZW1hd2F0LCBKZWZmIERlYW4sIGFuZCBvdGhlcnMuCgogQSBwcm90byBmaWxlIHdlIHdpbGwgdXNlIGZvciB1bml0IHRlc3RpbmcuCgogTElOVDogQUxMT1dfR1JPVVBTLCBMRUdBQ1lfTkFNRVMKCggKAQgSAxMAIgqAAQoCCBASAxMAIhpnIFNvbWUgZ2VuZXJpY19zZXJ2aWNlcyBvcHRpb24ocykgYWRkZWQgYXV0b21hdGljYWxseS4KIFNlZTogIGh0dHA6Ly9nby9wcm90bzItZ2VuZXJpYy1zZXJ2aWNlcy1kZWZhdWx0CiIMIGF1dG8tYWRkZWQKCggKAQgSAxQAJAoXCgIIERIDFAAkIgwgYXV0by1hZGRlZAoKCAoBCBIDFQAiChcKAggSEgMVACIiDCBhdXRvLWFkZGVkCgoICgEIEgMWAB8KCQoCCB8SAxYAHwoJCgIDABIDGAAtCuYBCgECEgMdACEa2wEgV2UgZG9uJ3QgcHV0IHRoaXMgaW4gYSBwYWNrYWdlIHdpdGhpbiBwcm90bzIgYmVjYXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZQogdGhhdCB0aGUgZ2VuZXJhdGVkIGNvZGUgZG9lc24ndCBkZXBlbmQgb24gYmVpbmcgaW4gdGhlIHByb3RvMiBuYW1lc3BhY2UuCiBJbiB0ZXN0X3V0aWwuaCB3ZSBkbyAidXNpbmcgbmFtZXNwYWNlIHVuaXR0ZXN0ID0gcHJvdG9idWZfdW5pdHRlc3QiLgoKCAoBCBIDIgAcCuIBCgIICRIDIgAcGtYBIFByb3RvcyBvcHRpbWl6ZWQgZm9yIFNQRUVEIHVzZSBhIHN0cmljdCBzdXBlcnNldCBvZiB0aGUgZ2VuZXJhdGVkIGNvZGUKIG9mIGVxdWl2YWxlbnQgb25lcyBvcHRpbWl6ZWQgZm9yIENPREVfU0laRSwgc28gd2Ugc2hvdWxkIG9wdGltaXplIGFsbCBvdXIKIHRlc3RzIGZvciBzcGVlZCB1bmxlc3MgZXhwbGljaXRseSB0ZXN0aW5nIGNvZGUgc2l6ZSBvcHRpbWl6YXRpb24uCgoICgEIEgMkAD4KCQoCCCUSAyQAPgpcCgIEABIFKACiAQEaTyBUaGlzIHByb3RvIGluY2x1ZGVzIGV2ZXJ5IHR5cGUgb2YgZmllbGQgaW4gYm90aCBzaW5ndWxhciBhbmQgcmVwZWF0ZWQKIGZvcm1zLgoKCgoDBAABEgMoCBQKDAoEBAADABIEKQIuAwoMCgUEAAMAARIDKQoXCuMBCgYEAAMAAgASAy0EGhrTASBUaGUgZmllbGQgbmFtZSAiYiIgZmFpbHMgdG8gY29tcGlsZSBp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CiBXZSBkb24ndCBuZWVkIHRvIHVzZSBpdCwgd2UganVzdCBoYXZlIHRvIGltcG9ydCBpdCBpbiBib3RoCiAiZXh0ZW5zaW9uc19pc3N1ZTY5MzZfYi5wcm90byIgYW5kICJleHRlbnNpb25zX2lzc3VlNjkzNl9jLnByb3RvIgoKCQoBBxIEEwAVAQoJCgIHABIDFAIVCgoKAwcAAhIDEwclCgoKAwcABRIDFAIICgoKAwcAARIDFAkMCgoKAwcAAxIDFA8UYgZwcm90bzMKrQUKKGNzaGFycC9wcm90b3MvdW5pdHRlc3RfaXNzdWU2OTM2X2IucHJvdG8SD3VuaXR0ZXN0X2lzc3VlcxooY3NoYXJwL3Byb3Rvcy91bml0dGVzdF9pc3N1ZTY5MzZfYS5wcm90byIOCgNGb286B4K1GANmb29CHaoCGlVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9zSo4ECgYSBAcAFQEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKCAoBAhIDCQAYCgkKAgMAEgMLADIKCAoBCBIDDQA3CgkKAgglEgMNADcKmwEKAgQAEgQTABUBMo4BIFRoaXMgZmlsZSBpcyB1c2VkIGFzIHBhcnQgb2YgYSB1bml0IHRlc3QgZm9yIGlzc3VlIDY5MzYKIFdlIGRvbid0IG5lZWQgdG8gdXNlIGl0LCB3ZSBqdXN0IGhhdmUgdG8gaW1wb3J0IGl0IGluCiAidW5pdHRlc3RfaXNzdWU2OTM2X2MucHJvdG8iCgoKCgMEAAESAxMICwoKCgMEAAcSAxQCFwoNCgYEAAfQhgMSAxQCF2IGcHJvdG8zCqgGCihjc2hhcnAvcHJvdG9zL3VuaXR0ZXN0X2lzc3VlNjkzNl9jLnByb3RvEg91bml0dGVzdF9pc3N1ZXMaKGNzaGFycC9wcm90b3MvdW5pdHRlc3RfaXNzdWU2OTM2X2EucHJvdG8aKGNzaGFycC9wcm90b3MvdW5pdHRlc3RfaXNzdWU2OTM2X2IucHJvdG8iNgoDQmFyEiYKA2ZvbxgBIAEoCzIULnVuaXR0ZXN0X2lzc3Vlcy5Gb29SA2ZvbzoHgrUYA2JhckIdqgIaVW5pdFRlc3QuSXNzdWVzLlRlc3RQcm90b3NKtwQKBhIEBwAXAQqUAgoBDBIDBwASMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCgoICgECEgMJABgKCQoCAwASAwsAMgoJCgIDARIDDAAyCggKAQgSAw4ANwoJCgIIJRIDDgA3CoIBCgIEABIEEwAXATJ2IFRoaXMgZmlsZSBpcyB1c2VkIGFzIHBhcnQgb2YgYSB1bml0IHRlc3QgZm9yIGlzc3VlIDY5MzYKIFdlIGRvbid0IG5lZWQgdG8gdXNlIGl0LCB3ZSBqdXN0IGhhdmUgdG8gbG9hZCBpdCBhdCBydW50aW1lCgoKCgMEAAESAxMICwoKCgMEAAcSAxQCFwoNCgYEAAfQhgMSAxQCFwoLCgQEAAIAEgMWAg4KDAoFBAACAAYSAxYCBQoMCgUEAAIAARIDFgYJCgwKBQQAAgADEgMWDA1iBnByb3RvMwq7Dgo0Y3NoYXJwL3Byb3Rvcy91bml0dGVzdF9zZWxmcmVmZXJlbnRpYWxfb3B0aW9ucy5wcm90bxIpcHJvdG9idWZfdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvIlkKCkZvb09wdGlvbnMSJgoHaW50X29wdBgBIAEoBUINyj4KCAHAPgLKPgIIA1IGaW50T3B0EhgKA2ZvbxgCIAEoBUIGyj4DENIJUgNmb28qCQjoBxCAgICAAjpFCgtiYXJfb3B0aW9ucxIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMY6AcgASgFQgTAPtIJUgpiYXJPcHRpb25zOnYKC2Zvb19vcHRpb25zEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxjpByABKAsyNS5wcm90b2J1Zl91bml0dGVzdF9zZWxmcmVmZXJlbnRpYWxfb3B0aW9ucy5Gb29PcHRpb25zUgpmb29PcHRpb25zOlYKC2Zvb19pbnRfb3B0EjUucHJvdG9idWZfdW5pdHRlc3Rfc2VsZnJlZmVyZW50aWFsX29wdGlvbnMuRm9vT3B0aW9ucxjoByABKAVSCWZvb0ludE9wdDqNAQoLZm9vX2Zvb19vcHQSNS5wcm90b2J1Zl91bml0dGVzdF9zZWxmcmVmZXJlbnRpYWxfb3B0aW9ucy5Gb29PcHRpb25zGOkHIAEoCzI1LnByb3RvYnVmX3VuaXR0ZXN0X3NlbGZyZWZlcmVudGlhbF9vcHRpb25zLkZvb09wdGlvbnNSCWZvb0Zvb09wdEI0qgIxVW5pdFRlc3QuSXNzdWVzLlRlc3RQcm90b3MuU2VsZnJlZmVyZW50aWFsT3B0aW9uc0r9CAoGEgQHACcBCpQCCgEMEgMHABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCggKAQISAwkAMgoJCgIDABIDCwAqCggKAQgSAw0ATgoJCgIIJRIDDQBOCgoKAgQAEgQPABsBCgoKAwQAARIDDwgSClAKBAQAAgASBBECFQUaQiBDdXN0b20gZmllbGQgb3B0aW9uIHVzZWQgaW4gZGVmaW5pdGlvbiBvZiB0aGUgZXh0ZW5zaW9uIG1lc3NhZ2UuCgoMCgUEAAIABBIDEQIKCgwKBQQAAgAFEgMRCxAKDAoFBAACAAESAxERGAoMCgUEAAIAAxIDERscCg0KBQQAAgAIEgQRHRUECg8KBwQAAgAI6QcSBBEeFQMKVQoEBAACARIDGAI5GkggQ3VzdG9tIGZpZWxkIG9wdGlvbiB1c2VkIGluIGRlZmluaXRpb24gb2YgdGhlIGN1c3RvbSBvcHRpb24ncyBtZXNzYWdlLgoKDAoFBAACAQQSAxgCCgoMCgUEAAIBBRIDGAsQCgwKBQQAAgEBEgMYERQKDAoFBAACAQMSAxgXGAoMCgUEAAIBCBIDGBk4Cg4KBwQAAgEI6QcSAxgaNwoKCgMEAAUSAxoCGQoLCgQEAAUAEgMaDRgKDAoFBAAFAAESAxoNEQoMCgUEAAUAAhIDGhUYCgkKAQcSBB0AIgEKTQoCBwASAx8COxpCIEN1c3RvbSBmaWVsZCBvcHRpb24gdXNlZCBvbiB0aGUgZGVmaW5pdGlvbiBvZiB0aGF0IGZpZWxkIG9wdGlvbi4KCgoKAwcAAhIDHQcjCgoKAwcABBIDHwIKCgoKAwcABRIDHwsQCgoKAwcAARIDHxEcCgoKAwcAAxIDHx8jCgoKAwcACBIDHyQ6CgwKBQcACOgHEgMfJTkKCQoCBwESAyECKQoKCgMHAQISAx0HIwoKCgMHAQQSAyECCgoKCgMHAQYSAyELFQoKCgMHAQESAyEWIQoKCgMHAQMSAyEkKAoJCgEHEgQkACcBCgkKAgcCEgMlAiQKCgoDBwICEgMkBxEKCgoDBwIEEgMlAgoKCgoDBwIFEgMlCxAKCgoDBwIBEgMlERwKCgoDBwIDEgMlHyMKCQoCBwMSAyYCKQoKCgMHAwISAyQHEQoKCgMHAwQSAyYCCgoKCgMHAwYSAyYLFQoKCgMHAwESAyYWIQoKCgMHAwMSAyYkKArELgoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIjYKA0FueRIZCgh0eXBlX3VybBgBIAEoCVIHdHlwZVVybBIUCgV2YWx1ZRgCIAEoDFIFdmFsdWVCdgoTY29tLmdvb2dsZS5wcm90b2J1ZkIIQW55UHJvdG9QAVosZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vYW55cGKiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNK3SwKBxIFHgChAQEKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiAEMKCQoCCAsSAyIAQwoICgEIEgMjACwKCQoCCAESAyMALAoICgEIEgMkACkKCQoCCAgSAyQAKQoICgEIEgMlACIKCQoCCAoSAyUAIgoICgEIEgMmACEKCQoCCCQSAyYAIQoICgEIEgMnADsKCQoCCCUSAycAOwr8EQoCBAASBX8AoQEBGu4RIGBBbnlgIGNvbnRhaW5zIGFuIGFyYml0cmFyeSBzZXJpYWxpemVkIHByb3RvY29sIGJ1ZmZlciBtZXNzYWdlIGFsb25nIHdpdGggYQogVVJMIHRoYXQgZGVzY3JpYmVzIHRoZSB0eXBlIG9mIHRoZSBzZXJpYWxpemVkIG1lc3NhZ2UuCgogUHJvdG9idWYgbGlicmFyeSBwcm92aWRlcyBzdXBwb3J0IHRvIHBhY2svdW5wYWNrIEFueSB2YWx1ZXMgaW4gdGhlIGZvcm0KIG9mIHV0aWxpdHkgZnVuY3Rpb25zIG9yIGFkZGl0aW9uYWwgZ2VuZXJhdGVkIG1ldGhvZHMgb2YgdGhlIEFueSB0eXBlLgoKIEV4YW1wbGUgMTogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBDKysuCgogICAgIEZvbyBmb28gPSAuLi47CiAgICAgQW55IGFueTsKICAgICBhbnkuUGFja0Zyb20oZm9vKTsKICAgICAuLi4KICAgICBpZiAoYW55LlVucGFja1RvKCZmb28pKSB7CiAgICAgICAuLi4KICAgICB9CgogRXhhbXBsZSAyOiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIEphdmEuCgogICAgIEZvbyBmb28gPSAuLi47CiAgICAgQW55IGFueSA9IEFueS5wYWNrKGZvbyk7CiAgICAgLi4uCiAgICAgaWYgKGFueS5pcyhGb28uY2xhc3MpKSB7CiAgICAgICBmb28gPSBhbnkudW5wYWNrKEZvby5jbGFzcyk7CiAgICAgfQogICAgIC8vIG9yIC4uLgogICAgIGlmIChhbnkuaXNTYW1lVHlwZUFzKEZvby5nZXREZWZhdWx0SW5zdGFuY2UoKSkpIHsKICAgICAgIGZvbyA9IGFueS51bnBhY2soRm9vLmdldERlZmF1bHRJbnN0YW5jZSgpKTsKICAgICB9CgogIEV4YW1wbGUgMzogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBQeXRob24uCgogICAgIGZvbyA9IEZvbyguLi4pCiAgICAgYW55ID0gQW55KCkKICAgICBhbnkuUGFjayhmb28pCiAgICAgLi4uCiAgICAgaWYgYW55LklzKEZvby5ERVNDUklQVE9SKToKICAgICAgIGFueS5VbnBhY2soZm9vKQogICAgICAgLi4uCgogIEV4YW1wbGUgNDogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBHbwoKICAgICAgZm9vIDo9ICZwYi5Gb297Li4ufQogICAgICBhbnksIGVyciA6PSBhbnlwYi5OZXcoZm9vKQogICAgICBpZiBlcnIgIT0gbmlsIHsKICAgICAgICAuLi4KICAgICAgfQogICAgICAuLi4KICAgICAgZm9vIDo9ICZwYi5Gb297fQogICAgICBpZiBlcnIgOj0gYW55LlVubWFyc2hhbFRvKGZvbyk7IGVyciAhPSBuaWwgewogICAgICAgIC4uLgogICAgICB9CgogVGhlIHBhY2sgbWV0aG9kcyBwcm92aWRlZCBieSBwcm90b2J1ZiBsaWJyYXJ5IHdpbGwgYnkgZGVmYXVsdCB1c2UKICd0eXBlLmdvb2dsZWFwaXMuY29tL2Z1bGwudHlwZS5uYW1lJyBhcyB0aGUgdHlwZSBVUkwgYW5kIHRoZSB1bnBhY2sKIG1ldGhvZHMgb25seSB1c2UgdGhlIGZ1bGx5IHF1YWxpZmllZCB0eXBlIG5hbWUgYWZ0ZXIgdGhlIGxhc3QgJy8nCiBpbiB0aGUgdHlwZSBVUkwsIGZvciBleGFtcGxlICJmb28uYmFyLmNvbS94L3kueiIgd2lsbCB5aWVsZCB0eXBlCiBuYW1lICJ5LnoiLgoKIEpTT04KID09PT0KIFRoZSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIGFuIGBBbnlgIHZhbHVlIHVzZXMgdGhlIHJlZ3VsYXIKIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkZXNlcmlhbGl6ZWQsIGVtYmVkZGVkIG1lc3NhZ2UsIHdpdGggYW4KIGFkZGl0aW9uYWwgZmllbGQgYEB0eXBlYCB3aGljaCBjb250YWlucyB0aGUgdHlwZSBVUkwuIEV4YW1wbGU6CgogICAgIHBhY2thZ2UgZ29vZ2xlLnByb2ZpbGU7CiAgICAgbWVzc2FnZSBQZXJzb24gewogICAgICAgc3RyaW5nIGZpcnN0X25hbWUgPSAxOwogICAgICAgc3RyaW5nIGxhc3RfbmFtZSA9IDI7CiAgICAgfQoKICAgICB7CiAgICAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucHJvZmlsZS5QZXJzb24iLAogICAgICAgImZpcnN0TmFtZSI6IDxzdHJpbmc+LAogICAgICAgImxhc3ROYW1lIjogPHN0cmluZz4KICAgICB9CgogSWYgdGhlIGVtYmVkZGVkIG1lc3NhZ2UgdHlwZSBpcyB3ZWxsLWtub3duIGFuZCBoYXMgYSBjdXN0b20gSlNPTgogcmVwcmVzZW50YXRpb24sIHRoYXQgcmVwcmVzZW50YXRpb24gd2lsbCBiZSBlbWJlZGRlZCBhZGRpbmcgYSBmaWVsZAogYHZhbHVlYCB3aGljaCBob2xkcyB0aGUgY3VzdG9tIEpTT04gaW4gYWRkaXRpb24gdG8gdGhlIGBAdHlwZWAKIGZpZWxkLiBFeGFtcGxlIChmb3IgbWVzc2FnZSBbZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uXVtdKToKCiAgICAgewogICAgICAgIkB0eXBlIjogInR5cGUuZ29vZ2xlYXBpcy5jb20vZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIiwKICAgICAgICJ2YWx1ZSI6ICIxLjIxMnMiCiAgICAgfQoKCgoKAwQAARIDfwgLCrwLCgQEAAIAEgSdAQIWGq0LIEEgVVJML3Jlc291cmNlIG5hbWUgdGhhdCB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSB0eXBlIG9mIHRoZSBzZXJpYWxpemVkCiBwcm90b2NvbCBidWZmZXIgbWVzc2FnZS4gVGhpcyBzdHJpbmcgbXVzdCBjb250YWluIGF0IGxlYXN0CiBvbmUgIi8iIGNoYXJhY3Rlci4gVGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgVVJMJ3MgcGF0aCBtdXN0IHJlcHJlc2VudAogdGhlIGZ1bGx5IHF1YWxpZmllZCBuYW1lIG9mIHRoZSB0eXBlIChhcyBpbgogYHBhdGgvZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uYCkuIFRoZSBuYW1lIHNob3VsZCBiZSBpbiBhIGNhbm9uaWNhbCBmb3JtCiAoZS5nLiwgbGVhZGluZyAiLiIgaXMgbm90IGFjY2VwdGVkKS4KCiBJbiBwcmFjdGljZSwgdGVhbXMgdXN1YWxseSBwcmVjb21waWxlIGludG8gdGhlIGJpbmFyeSBhbGwgdHlwZXMgdGhhdCB0aGV5CiBleHBlY3QgaXQgdG8gdXNlIGluIHRoZSBjb250ZXh0IG9mIEFueS4gSG93ZXZlciwgZm9yIFVSTHMgd2hpY2ggdXNlIHRoZQogc2NoZW1lIGBodHRwYCwgYGh0dHBzYCwgb3Igbm8gc2NoZW1lLCBvbmUgY2FuIG9wdGlvbmFsbHkgc2V0IHVwIGEgdHlwZQogc2VydmVyIHRoYXQgbWFwcyB0eXBlIFVSTHMgdG8gbWVzc2FnZSBkZWZpbml0aW9ucyBhcyBmb2xsb3dzOgoKICogSWYgbm8gc2NoZW1lIGlzIHByb3ZpZGVkLCBgaHR0cHNgIGlzIGFzc3VtZWQuCiAqIEFuIEhUVFAgR0VUIG9uIHRoZSBVUkwgbXVzdCB5aWVsZCBhIFtnb29nbGUucHJvdG9idWYuVHlwZV1bXQogICB2YWx1ZSBpbiBiaW5hcnkgZm9ybWF0LCBvciBwcm9kdWNlIGFuIGVycm9yLgogKiBBcHBsaWNhdGlvbnMgYXJlIGFsbG93ZWQgdG8gY2FjaGUgbG9va3VwIHJlc3VsdHMgYmFzZWQgb24gdGhlCiAgIFVSTCwgb3IgaGF2ZSB0aGVtIHByZWNvbXBpbGVkIGludG8gYSBiaW5hcnkgdG8gYXZvaWQgYW55CiAgIGxvb2t1cC4gVGhlcmVmb3JlLCBiaW5hcnkgY29tcGF0aWJpbGl0eSBuZWVkcyB0byBiZSBwcmVzZXJ2ZWQKICAgb24gY2hhbmdlcyB0byB0eXBlcy4gKFVzZSB2ZXJzaW9uZWQgdHlwZSBuYW1lcyB0byBtYW5hZ2UKICAgYnJlYWtpbmcgY2hhbmdlcy4pCgogTm90ZTogdGhpcyBmdW5jdGlvbmFsaXR5IGlzIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIGluIHRoZSBvZmZpY2lhbAogcHJvdG9idWYgcmVsZWFzZSwgYW5kIGl0IGlzIG5vdCB1c2VkIGZvciB0eXBlIFVSTHMgYmVnaW5uaW5nIHdpdGgKIHR5cGUuZ29vZ2xlYXBpcy5jb20uIEFzIG9mIE1heSAyMDIzLCB0aGVyZSBhcmUgbm8gd2lkZWx5IHVzZWQgdHlwZSBzZXJ2ZXIKIGltcGxlbWVudGF0aW9ucyBhbmQgbm8gcGxhbnMgdG8gaW1wbGVtZW50IG9uZS4KCiBTY2hlbWVzIG90aGVyIHRoYW4gYGh0dHBgLCBgaHR0cHNgIChvciB0aGUgZW1wdHkgc2NoZW1lKSBtaWdodCBiZQogdXNlZCB3aXRoIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHNlbWFudGljcy4KCgoNCgUEAAIABRIEnQECCAoNCgUEAAIAARIEnQEJEQoNCgUEAAIAAxIEnQEUFQpXCgQEAAIBEgSgAQISGkkgTXVzdCBiZSBhIHZhbGlkIHNlcmlhbGl6ZWQgcHJvdG9jb2wgYnVmZmVyIG9mIHRoZSBhYm92ZSBzcGVjaWZpZWQgdHlwZS4KCg0KBQQAAgEFEgSgAQIHCg0KBQQAAgEBEgSgAQgNCg0KBQQAAgEDEgSgARARYgZwcm90bzMKvhIKJGdvb2dsZS9wcm90b2J1Zi9zb3VyY2VfY29udGV4dC5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiwKDVNvdXJjZUNvbnRleHQSGwoJZmlsZV9uYW1lGAEgASgJUghmaWxlTmFtZUKKAQoTY29tLmdvb2dsZS5wcm90b2J1ZkISU291cmNlQ29udGV4dFByb3RvUAFaNmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3NvdXJjZWNvbnRleHRwYqICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0rBEAoGEgQeAC8BCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgAsCgkKAggBEgMiACwKCAoBCBIDIwAzCgkKAggIEgMjADMKCAoBCBIDJAAiCgkKAggKEgMkACIKCAoBCBIDJQAhCgkKAggkEgMlACEKCAoBCBIDJgA7CgkKAgglEgMmADsKCAoBCBIDJwBNCgkKAggLEgMnAE0KgwEKAgQAEgQrAC8BGncgYFNvdXJjZUNvbnRleHRgIHJlcHJlc2VudHMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNvdXJjZSBvZiBhCiBwcm90b2J1ZiBlbGVtZW50LCBsaWtlIHRoZSBmaWxlIGluIHdoaWNoIGl0IGlzIGRlZmluZWQuCgoKCgMEAAESAysIFQqjAQoEBAACABIDLgIXGpUBIFRoZSBwYXRoLXF1YWxpZmllZCBuYW1lIG9mIHRoZSAucHJvdG8gZmlsZSB0aGF0IGNvbnRhaW5lZCB0aGUgYXNzb2NpYXRlZAogcHJvdG9idWYgZWxlbWVudC4gIEZvciBleGFtcGxlOiBgImdvb2dsZS9wcm90b2J1Zi9zb3VyY2VfY29udGV4dC5wcm90byJgLgoKDAoFBAACAAUSAy4CCAoMCgUEAAIAARIDLgkSCgwKBQQAAgADEgMuFRZiBnByb3RvMwr7SQoaZ29vZ2xlL3Byb3RvYnVmL3R5cGUucHJvdG8SD2dvb2dsZS5wcm90b2J1ZhoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxokZ29vZ2xlL3Byb3RvYnVmL3NvdXJjZV9jb250ZXh0LnByb3RvIqcCCgRUeXBlEhIKBG5hbWUYASABKAlSBG5hbWUSLgoGZmllbGRzGAIgAygLMhYuZ29vZ2xlLnByb3RvYnVmLkZpZWxkUgZmaWVsZHMSFgoGb25lb2ZzGAMgAygJUgZvbmVvZnMSMQoHb3B0aW9ucxgEIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb25SB29wdGlvbnMSRQoOc291cmNlX2NvbnRleHQYBSABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFINc291cmNlQ29udGV4dBIvCgZzeW50YXgYBiABKA4yFy5nb29nbGUucHJvdG9idWYuU3ludGF4UgZzeW50YXgSGAoHZWRpdGlvbhgHIAEoCVIHZWRpdGlvbiK0BgoFRmllbGQSLwoEa2luZBgBIAEoDjIbLmdvb2dsZS5wcm90b2J1Zi5GaWVsZC5LaW5kUgRraW5kEkQKC2NhcmRpbmFsaXR5GAIgASgOMiIuZ29vZ2xlLnByb3RvYnVmLkZpZWxkLkNhcmRpbmFsaXR5UgtjYXJkaW5hbGl0eRIWCgZudW1iZXIYAyABKAVSBm51bWJlchISCgRuYW1lGAQgASgJUgRuYW1lEhkKCHR5cGVfdXJsGAYgASgJUgd0eXBlVXJsEh8KC29uZW9mX2luZGV4GAcgASgFUgpvbmVvZkluZGV4EhYKBnBhY2tlZBgIIAEoCFIGcGFja2VkEjEKB29wdGlvbnMYCSADKAsyFy5nb29nbGUucHJvdG9idWYuT3B0aW9uUgdvcHRpb25zEhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSIwoNZGVmYXVsdF92YWx1ZRgLIAEoCVIMZGVmYXVsdFZhbHVlIsgCCgRLaW5kEhAKDFRZUEVfVU5LTk9XThAAEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJ0CgtDYXJkaW5hbGl0eRIXChNDQVJESU5BTElUWV9VTktOT1dOEAASGAoUQ0FSRElOQUxJVFlfT1BUSU9OQUwQARIYChRDQVJESU5BTElUWV9SRVFVSVJFRBACEhgKFENBUkRJTkFMSVRZX1JFUEVBVEVEEAMimQIKBEVudW0SEgoEbmFtZRgBIAEoCVIEbmFtZRI4CgllbnVtdmFsdWUYAiADKAsyGi5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlUgllbnVtdmFsdWUSMQoHb3B0aW9ucxgDIAMoCzIXLmdvb2dsZS5wcm90b2J1Zi5PcHRpb25SB29wdGlvbnMSRQoOc291cmNlX2NvbnRleHQYBCABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFINc291cmNlQ29udGV4dBIvCgZzeW50YXgYBSABKA4yFy5nb29nbGUucHJvdG9idWYuU3ludGF4UgZzeW50YXgSGAoHZWRpdGlvbhgGIAEoCVIHZWRpdGlvbiJqCglFbnVtVmFsdWUSEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAiABKAVSBm51bWJlchIxCgdvcHRpb25zGAMgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvblIHb3B0aW9ucyJICgZPcHRpb24SEgoEbmFtZRgBIAEoCVIEbmFtZRIqCgV2YWx1ZRgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBXZhbHVlKkMKBlN5bnRheBIRCg1TWU5UQVhfUFJPVE8yEAASEQoNU1lOVEFYX1BST1RPMxABEhMKD1NZTlRBWF9FRElUSU9OUxACQnsKE2NvbS5nb29nbGUucHJvdG9idWZCCVR5cGVQcm90b1ABWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi90eXBlcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKjTsKBxIFHgDAAQEKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ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EhgKB3ZlcnNpb24YBCABKAlSB3ZlcnNpb24SRQoOc291cmNlX2NvbnRleHQYBSABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFINc291cmNlQ29udGV4dBIuCgZtaXhpbnMYBiADKAsyFi5nb29nbGUucHJvdG9idWYuTWl4aW5SBm1peGlucxIvCgZzeW50YXgYByABKA4yFy5nb29nbGUucHJvdG9idWYuU3ludGF4UgZzeW50YXgisgIKBk1ldGhvZBISCgRuYW1lGAEgASgJUgRuYW1lEigKEHJlcXVlc3RfdHlwZV91cmwYAiABKAlSDnJlcXVlc3RUeXBlVXJsEisKEXJlcXVlc3Rfc3RyZWFtaW5nGAMgASgIUhByZXF1ZXN0U3RyZWFtaW5nEioKEXJlc3BvbnNlX3R5cGVfdXJsGAQgASgJUg9yZXNwb25zZVR5cGVVcmwSLQoScmVzcG9uc2Vfc3RyZWFtaW5nGAUgASgIUhFyZXNwb25zZVN0cmVhbWluZxIxCgdvcHRpb25zGAYgAygLMhcuZ29vZ2xlLnByb3RvYnVmLk9wdGlvblIHb3B0aW9ucxIvCgZzeW50YXgYByABKA4yFy5nb29nbGUucHJvdG9idWYuU3ludGF4UgZzeW50YXgiLwoFTWl4aW4SEgoEbmFtZRgBIAEoCVIEbmFtZRISCgRyb290GAIgASgJUgRyb290QnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFwaVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FwaXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSv87CgcSBR4AzgEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCQoCAwASAyIALgoJCgIDARIDIwAkCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYAKQoJCgIICBIDJgApCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCggKAQgSAykAOwoJCgIIJRIDKQA7CggKAQgSAyoAQwoJCgIICxIDKgBDCqsECgIEABIENQBfARqeBCBBcGkgaXMgYSBsaWdodC13ZWlnaHQgZGVzY3JpcHRvciBmb3IgYW4gQVBJIEludGVyZmFjZS4KCiBJbnRlcmZhY2VzIGFyZSBhbHNvIGRlc2NyaWJlZCBhcyAicHJvdG9jb2wgYnVmZmVyIHNlcnZpY2VzIiBpbiBzb21lIGNvbnRleHRzLAogc3VjaCBhcyBieSB0aGUgInNlcnZpY2UiIGtleXdvcmQgaW4gYSAucHJvdG8gZmlsZSwgYnV0IHRoZXkgYXJlIGRpZmZlcmVudAogZnJvbSBBUEkgU2VydmljZXMsIHdoaWNoIHJlcHJlc2VudCBhIGNvbmNyZXRlIGltcGxlbWVudGF0aW9uIG9mIGFuIGludGVyZmFjZQogYXMgb3Bwb3NlZCB0byBzaW1wbHkgYSBkZXNjcmlwdGlvbiBvZiBtZXRob2RzIGFuZCBiaW5kaW5ncy4gVGhleSBhcmUgYWxzbwogc29tZXRpbWVzIHNpbXBseSByZWZlcnJlZCB0byBhcyAiQVBJcyIgaW4gb3RoZXIgY29udGV4dHMsIHN1Y2ggYXMgdGhlIG5hbWUgb2YKIHRoaXMgbWVzc2FnZSBpdHNlbGYuIFNlZSBodHRwczovL2Nsb3VkLmdvb2dsZS5jb20vYXBpcy9kZXNpZ24vZ2xvc3NhcnkgZm9yCiBkZXRhaWxlZCB0ZXJtaW5vbG9neS4KCgoKAwQAARIDNQgLCnsKBAQAAgASAzgCEhpuIFRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGlzIGludGVyZmFjZSwgaW5jbHVkaW5nIHBhY2thZ2UgbmFtZQogZm9sbG93ZWQgYnkgdGhlIGludGVyZmFjZSdzIHNpbXBsZSBuYW1lLgoKDAoFBAACAAUSAzgCCAoMCgUEAAIAARIDOAkNCgwKBQQAAgADEgM4EBEKQwoEBAACARIDOwIeGjYgVGhlIG1ldGhvZHMgb2YgdGhpcyBpbnRlcmZhY2UsIGluIHVuc3BlY2lmaWVkIG9yZGVyLgoKDAoFBAACAQQSAzsCCgoMCgUEAAIBBhIDOwsRCgwKBQQAAgEBEgM7EhkKDAoFBAACAQMSAzscHQo2CgQEAAICEgM+Ah4aKSBBbnkgbWV0YWRhdGEgYXR0YWNoZWQgdG8gdGhlIGludGVyZmFjZS4KCgwKBQQAAgIEEgM+AgoKDAoFBAACAgYSAz4LEQoMCgUEAAICARIDPhIZCgwKBQQAAgIDEgM+HB0KgQgKBAQAAgMSA1QCFRrzByBBIHZlcnNpb24gc3RyaW5nIGZvciB0aGlzIGludGVyZmFjZS4gSWYgc3BlY2lmaWVkLCBtdXN0IGhhdmUgdGhlIGZvcm0KIGBtYWpvci12ZXJzaW9uLm1pbm9yLXZlcnNpb25gLCBhcyBpbiBgMS4xMGAuIElmIHRoZSBtaW5vciB2ZXJzaW9uIGlzCiBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB6ZXJvLiBJZiB0aGUgZW50aXJlIHZlcnNpb24gZmllbGQgaXMgZW1wdHksIHRoZQogbWFqb3IgdmVyc2lvbiBpcyBkZXJpdmVkIGZyb20gdGhlIHBhY2thZ2UgbmFtZSwgYXMgb3V0bGluZWQgYmVsb3cuIElmIHRoZQogZmllbGQgaXMgbm90IGVtcHR5LCB0aGUgdmVyc2lvbiBpbiB0aGUgcGFja2FnZSBuYW1lIHdpbGwgYmUgdmVyaWZpZWQgdG8gYmUKIGNvbnNpc3RlbnQgd2l0aCB3aGF0IGlzIHByb3ZpZGVkIGhlcmUuCgogVGhlIHZlcnNpb25pbmcgc2NoZW1hIHVzZXMgW3NlbWFudGljCiB2ZXJzaW9uaW5nXShodHRwOi8vc2VtdmVyLm9yZykgd2hlcmUgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVyCiBpbmRpY2F0ZXMgYSBicmVha2luZyBjaGFuZ2UgYW5kIHRoZSBtaW5vciB2ZXJzaW9uIGFuIGFkZGl0aXZlLAogbm9uLWJyZWFraW5nIGNoYW5nZS4gQm90aCB2ZXJzaW9uIG51bWJlcnMgYXJlIHNpZ25hbHMgdG8gdXNlcnMKIHdoYXQgdG8gZXhwZWN0IGZyb20gZGlmZmVyZW50IHZlcnNpb25zLCBhbmQgc2hvdWxkIGJlIGNhcmVmdWxseQogY2hvc2VuIGJhc2VkIG9uIHRoZSBwcm9kdWN0IHBsYW4uCgogVGhlIG1ham9yIHZlcnNpb24gaXMgYWxzbyByZWZsZWN0ZWQgaW4gdGhlIHBhY2thZ2UgbmFtZSBvZiB0aGUKIGludGVyZmFjZSwgd2hpY2ggbXVzdCBlbmQgaW4gYHY8bWFqb3ItdmVyc2lvbj5gLCBhcyBpbgogYGdvb2dsZS5mZWF0dXJlLnYxYC4gRm9yIG1ham9yIHZlcnNpb25zIDAgYW5kIDEsIHRoZSBzdWZmaXggY2FuCiBiZSBvbWl0dGVkLiBaZXJvIG1ham9yIHZlcnNpb25zIG11c3Qgb25seSBiZSB1c2VkIGZvcgogZXhwZXJpbWVudGFsLCBub24tR0EgaW50ZXJmYWNlcy4KCgoMCgUEAAIDBRIDVAIICgwKBQQAAgMBEgNUCRAKDAoFBAACAwMSA1QTFApbCgQEAAIEEgNYAiMaTiBTb3VyY2UgY29udGV4dCBmb3IgdGhlIHByb3RvY29sIGJ1ZmZlciBzZXJ2aWNlIHJlcHJlc2VudGVkIGJ5IHRoaXMKIG1lc3NhZ2UuCgoMCgUEAAIEBhIDWAIPCgwKBQQAAgQBEgNYEB4KDAoFBAACBAMSA1ghIgoyCgQEAAIFEgNbAhwaJSBJbmNsdWRlZCBpbnRlcmZhY2VzLiBTZWUgW01peGluXVtdLgoKDAoFBAACBQQSA1sCCgoMCgUEAAIFBhIDWwsQCgwKBQQAAgUBEgNbERcKDAoFBAACBQMSA1saGwowCgQEAAIGEgNeAhQaIyBUaGUgc291cmNlIHN5bnRheCBvZiB0aGUgc2VydmljZS4KCgwKBQQAAgYGEgNeAggKDAoFBAACBgESA14JDwoMCgUEAAIGAxIDXhITCj0KAgQBEgRiAHcBGjEgTWV0aG9kIHJlcHJlc2VudHMgYSBtZXRob2Qgb2YgYW4gQVBJIGludGVyZmFjZS4KCgoKAwQBARIDYggOCi4KBAQBAgASA2QCEhohIFRoZSBzaW1wbGUgbmFtZSBvZiB0aGlzIG1ldGhvZC4KCgwKBQQBAgAFEgNkAggKDAoFBAECAAESA2QJDQoMCgUEAQIAAxIDZBARCi8KBAQBAgESA2cCHhoiIEEgVVJMIG9mIHRoZSBpbnB1dCBtZXNzYWdlIHR5cGUuCgoMCgUEAQIBBRIDZwIICgwKBQQBAgEBEgNnCRkKDAoFBAECAQMSA2ccHQowCgQEAQICEgNqAh0aIyBJZiB0cnVlLCB0aGUgcmVxdWVzdCBpcyBzdHJlYW1lZC4KCgwKBQQBAgIFEgNqAgYKDAoFBAECAgESA2oHGAoMCgUEAQICAxIDahscCjIKBAQBAgMSA20CHxolIFRoZSBVUkwgb2YgdGhlIG91dHB1dCBtZXNzYWdlIHR5cGUuCgoMCgUEAQIDBRIDbQIICgwKBQQBAgMBEgNtCRoKDAoFBAECAwMSA20dHgoxCgQEAQIEEgNwAh4aJCBJZiB0cnVlLCB0aGUgcmVzcG9uc2UgaXMgc3RyZWFtZWQuCgoMCgUEAQIEBRIDcAIGCgwKBQQBAgQBEgNwBxkKDAoFBAECBAMSA3AcHQozCgQEAQIFEgNzAh4aJiBBbnkgbWV0YWRhdGEgYXR0YWNoZWQgdG8gdGhlIG1ldGhvZC4KCgwKBQQBAgUEEgNzAgoKDAoFBAECBQYSA3MLEQoMCgUEAQIFARIDcxIZCgwKBQQBAgUDEgNzHB0KMAoEBAECBhIDdgIUGiMgVGhlIHNvdXJjZSBzeW50YXggb2YgdGhpcyBtZXRob2QuCgoMCgUEAQIGBhIDdgIICgwKBQQBAgYBEgN2CQ8KDAoFBAECBgMSA3YSEwrJEwoCBAISBscBAM4BARq6EyBEZWNsYXJlcyBhbiBBUEkgSW50ZXJmYWNlIHRvIGJlIGluY2x1ZGVkIGluIHRoaXMgaW50ZXJmYWNlLiBUaGUgaW5jbHVkaW5nCiBpbnRlcmZhY2UgbXVzdCByZWRlY2xhcmUgYWxsIHRoZSBtZXRob2RzIGZyb20gdGhlIGluY2x1ZGVkIGludGVyZmFjZSwgYnV0CiBkb2N1bWVudGF0aW9uIGFuZCBvcHRpb25zIGFyZSBpbmhlcml0ZWQgYXMgZm9sbG93czoKCiAtIElmIGFmdGVyIGNvbW1lbnQgYW5kIHdoaXRlc3BhY2Ugc3RyaXBwaW5nLCB0aGUgZG9jdW1lbnRhdGlvbgogICBzdHJpbmcgb2YgdGhlIHJlZGVjbGFyZWQgbWV0aG9kIGlzIGVtcHR5LCBpdCB3aWxsIGJlIGluaGVyaXRlZAogICBmcm9tIHRoZSBvcmlnaW5hbCBtZXRob2QuCgogLSBFYWNoIGFubm90YXRpb24gYmVsb25naW5nIHRvIHRoZSBzZXJ2aWNlIGNvbmZpZyAoaHR0cCwKICAgdmlzaWJpbGl0eSkgd2hpY2ggaXMgbm90IHNldCBpbiB0aGUgcmVkZWNsYXJlZCBtZXRob2Qgd2lsbCBiZQogICBpbmhlcml0ZWQuCgogLSBJZiBhbiBodHRwIGFubm90YXRpb24gaXMgaW5oZXJpdGVkLCB0aGUgcGF0aCBwYXR0ZXJuIHdpbGwgYmUKICAgbW9kaWZpZWQgYXMgZm9sbG93cy4gQW55IHZlcnNpb24gcHJlZml4IHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlCiAgIHZlcnNpb24gb2YgdGhlIGluY2x1ZGluZyBpbnRlcmZhY2UgcGx1cyB0aGUgW3Jvb3RdW10gcGF0aCBpZgogICBzcGVjaWZpZWQuCgogRXhhbXBsZSBvZiBhIHNpbXBsZSBtaXhpbjoKCiAgICAgcGFja2FnZSBnb29nbGUuYWNsLnYxOwogICAgIHNlcnZpY2UgQWNjZXNzQ29udHJvbCB7CiAgICAgICAvLyBHZXQgdGhlIHVuZGVybHlpbmcgQUNMIG9iamVjdC4KICAgICAgIHJwYyBHZXRBY2woR2V0QWNsUmVxdWVzdCkgcmV0dXJucyAoQWNsKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKS5nZXQgPSAiL3YxL3tyZXNvdXJjZT0qKn06Z2V0QWNsIjsKICAgICAgIH0KICAgICB9CgogICAgIHBhY2thZ2UgZ29vZ2xlLnN0b3JhZ2UudjI7CiAgICAgc2VydmljZSBTdG9yYWdlIHsKICAgICAgIHJwYyBHZXRBY2woR2V0QWNsUmVxdWVzdCkgcmV0dXJucyAoQWNsKTsKCiAgICAgICAvLyBHZXQgYSBkYXRhIHJlY29yZC4KICAgICAgIHJwYyBHZXREYXRhKEdldERhdGFSZXF1ZXN0KSByZXR1cm5zIChEYXRhKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKS5nZXQgPSAiL3YyL3tyZXNvdXJjZT0qKn0iOwogICAgICAgfQogICAgIH0KCiBFeGFtcGxlIG9mIGEgbWl4aW4gY29uZmlndXJhdGlvbjoKCiAgICAgYXBpczoKICAgICAtIG5hbWU6IGdvb2dsZS5zdG9yYWdlLnYyLlN0b3JhZ2UKICAgICAgIG1peGluczoKICAgICAgIC0gbmFtZTogZ29vZ2xlLmFjbC52MS5BY2Nlc3NDb250cm9sCgogVGhlIG1peGluIGNvbnN0cnVjdCBpbXBsaWVzIHRoYXQgYWxsIG1ldGhvZHMgaW4gYEFjY2Vzc0NvbnRyb2xgIGFyZQogYWxzbyBkZWNsYXJlZCB3aXRoIHNhbWUgbmFtZSBhbmQgcmVxdWVzdC9yZXNwb25zZSB0eXBlcyBpbgogYFN0b3JhZ2VgLiBBIGRvY3VtZW50YXRpb24gZ2VuZXJhdG9yIG9yIGFubm90YXRpb24gcHJvY2Vzc29yIHdpbGwKIHNlZSB0aGUgZWZmZWN0aXZlIGBTdG9yYWdlLkdldEFjbGAgbWV0aG9kIGFmdGVyIGluaGVydGluZwogZG9jdW1lbnRhdGlvbiBhbmQgYW5ub3RhdGlvbnMgYXMgZm9sbG93czoKCiAgICAgc2VydmljZSBTdG9yYWdlIHsKICAgICAgIC8vIEdldCB0aGUgdW5kZXJseWluZyBBQ0wgb2JqZWN0LgogICAgICAgcnBjIEdldEFjbChHZXRBY2xSZXF1ZXN0KSByZXR1cm5zIChBY2wpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApLmdldCA9ICIvdjIve3Jlc291cmNlPSoqfTpnZXRBY2wiOwogICAgICAgfQogICAgICAgLi4uCiAgICAgfQoKIE5vdGUgaG93IHRoZSB2ZXJzaW9uIGluIHRoZSBwYXRoIHBhdHRlcm4gY2hhbmdlZCBmcm9tIGB2MWAgdG8gYHYyYC4KCiBJZiB0aGUgYHJvb3RgIGZpZWxkIGluIHRoZSBtaXhpbiBpcyBzcGVjaWZpZWQsIGl0IHNob3VsZCBiZSBhCiByZWxhdGl2ZSBwYXRoIHVuZGVyIHdoaWNoIGluaGVyaXRlZCBIVFRQIHBhdGhzIGFyZSBwbGFjZWQuIEV4YW1wbGU6CgogICAgIGFwaXM6CiAgICAgLSBuYW1lOiBnb29nbGUuc3RvcmFnZS52Mi5TdG9yYWdlCiAgICAgICBtaXhpbnM6CiAgICAgICAtIG5hbWU6IGdvb2dsZS5hY2wudjEuQWNjZXNzQ29udHJvbAogICAgICAgICByb290OiBhY2xzCgogVGhpcyBpbXBsaWVzIHRoZSBmb2xsb3dpbmcgaW5oZXJpdGVkIEhUVFAgYW5ub3RhdGlvbjoKCiAgICAgc2VydmljZSBTdG9yYWdlIHsKICAgICAgIC8vIEdldCB0aGUgdW5kZXJseWluZyBBQ0wgb2JqZWN0LgogICAgICAgcnBjIEdldEFjbChHZXRBY2xSZXF1ZXN0KSByZXR1cm5zIChBY2wpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApLmdldCA9ICIvdjIvYWNscy97cmVzb3VyY2U9Kip9OmdldEFjbCI7CiAgICAgICB9CiAgICAgICAuLi4KICAgICB9CgoLCgMEAgESBMcBCA0KTAoEBAICABIEyQECEho+IFRoZSBmdWxseSBxdWFsaWZpZWQgbmFtZSBvZiB0aGUgaW50ZXJmYWNlIHdoaWNoIGlzIGluY2x1ZGVkLgoKDQoFBAICAAUSBMkBAggKDQoFBAICAAESBMkBCQ0KDQoFBAICAAMSBMkBEBEKWwoEBAICARIEzQECEhpNIElmIG5vbi1lbXB0eSBzcGVjaWZpZXMgYSBwYXRoIHVuZGVyIHdoaWNoIGluaGVyaXRlZCBIVFRQIHBhdGhzCiBhcmUgcm9vdGVkLgoKDQoFBAICAQUSBM0BAggKDQoFBAICAQESBM0BCQ0KDQoFBAICAQMSBM0BEBFiBnByb3RvMwrXJQoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvEg9nb29nbGUucHJvdG9idWYiOgoIRHVyYXRpb24SGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCgwEKE2NvbS5nb29nbGUucHJvdG9idWZCDUR1cmF0aW9uUHJvdG9QAVoxZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vZHVyYXRpb25wYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0rZIwoGEgQeAHIBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgAfCgkKAggfEgMiAB8KCAoBCBIDIwBICgkKAggLEgMjAEgKCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQAuCgkKAggIEgMlAC4KCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEKCAoBCBIDKAA7CgkKAgglEgMoADsKnRAKAgQAEgRlAHIBGpAQIEEgRHVyYXRpb24gcmVwcmVzZW50cyBhIHNpZ25lZCwgZml4ZWQtbGVuZ3RoIHNwYW4gb2YgdGltZSByZXByZXNlbnRlZAogYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdCBuYW5vc2Vjb25kCiByZXNvbHV0aW9uLiBJdCBpcyBpbmRlcGVuZGVudCBvZiBhbnkgY2FsZW5kYXIgYW5kIGNvbmNlcHRzIGxpa2UgImRheSIKIG9yICJtb250aCIuIEl0IGlzIHJlbGF0ZWQgdG8gVGltZXN0YW1wIGluIHRoYXQgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbgogdHdvIFRpbWVzdGFtcCB2YWx1ZXMgaXMgYSBEdXJhdGlvbiBhbmQgaXQgY2FuIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQKIGZyb20gYSBUaW1lc3RhbXAuIFJhbmdlIGlzIGFwcHJveGltYXRlbHkgKy0xMCwwMDAgeWVhcnMuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBEdXJhdGlvbiBmcm9tIHR3byBUaW1lc3RhbXBzIGluIHBzZXVkbyBjb2RlLgoKICAgICBUaW1lc3RhbXAgc3RhcnQgPSAuLi47CiAgICAgVGltZXN0YW1wIGVuZCA9IC4uLjsKICAgICBEdXJhdGlvbiBkdXJhdGlvbiA9IC4uLjsKCiAgICAgZHVyYXRpb24uc2Vjb25kcyA9IGVuZC5zZWNvbmRzIC0gc3RhcnQuc2Vjb25kczsKICAgICBkdXJhdGlvbi5uYW5vcyA9IGVuZC5uYW5vcyAtIHN0YXJ0Lm5hbm9zOwoKICAgICBpZiAoZHVyYXRpb24uc2Vjb25kcyA8IDAgJiYgZHVyYXRpb24ubmFub3MgPiAwKSB7CiAgICAgICBkdXJhdGlvbi5zZWNvbmRzICs9IDE7CiAgICAgICBkdXJhdGlvbi5uYW5vcyAtPSAxMDAwMDAwMDAwOwogICAgIH0gZWxzZSBpZiAoZHVyYXRpb24uc2Vjb25kcyA+IDAgJiYgZHVyYXRpb24ubmFub3MgPCAwKSB7CiAgICAgICBkdXJhdGlvbi5zZWNvbmRzIC09IDE7CiAgICAgICBkdXJhdGlvbi5uYW5vcyArPSAxMDAwMDAwMDAwOwogICAgIH0KCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gVGltZXN0YW1wICsgRHVyYXRpb24gaW4gcHNldWRvIGNvZGUuCgogICAgIFRpbWVzdGFtcCBzdGFydCA9IC4uLjsKICAgICBEdXJhdGlvbiBkdXJhdGlvbiA9IC4uLjsKICAgICBUaW1lc3RhbXAgZW5kID0gLi4uOwoKICAgICBlbmQuc2Vjb25kcyA9IHN0YXJ0LnNlY29uZHMgKyBkdXJhdGlvbi5zZWNvbmRzOwogICAgIGVuZC5uYW5vcyA9IHN0YXJ0Lm5hbm9zICsgZHVyYXRpb24ubmFub3M7CgogICAgIGlmIChlbmQubmFub3MgPCAwKSB7CiAgICAgICBlbmQuc2Vjb25kcyAtPSAxOwogICAgICAgZW5kLm5hbm9zICs9IDEwMDAwMDAwMDA7CiAgICAgfSBlbHNlIGlmIChlbmQubmFub3MgPj0gMTAwMDAwMDAwMCkgewogICAgICAgZW5kLnNlY29uZHMgKz0gMTsKICAgICAgIGVuZC5uYW5vcyAtPSAxMDAwMDAwMDAwOwogICAgIH0KCiBFeGFtcGxlIDM6IENvbXB1dGUgRHVyYXRpb24gZnJvbSBkYXRldGltZS50aW1lZGVsdGEgaW4gUHl0aG9uLgoKICAgICB0ZCA9IGRhdGV0aW1lLnRpbWVkZWx0YShkYXlzPTMsIG1pbnV0ZXM9MTApCiAgICAgZHVyYXRpb24gPSBEdXJhdGlvbigpCiAgICAgZHVyYXRpb24uRnJvbVRpbWVkZWx0YSh0ZCkKCiAjIEpTT04gTWFwcGluZwoKIEluIEpTT04gZm9ybWF0LCB0aGUgRHVyYXRpb24gdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIHJhdGhlciB0aGFuIGFuCiBvYmplY3QsIHdoZXJlIHRoZSBzdHJpbmcgZW5kcyBpbiB0aGUgc3VmZml4ICJzIiAoaW5kaWNhdGluZyBzZWNvbmRzKSBhbmQKIGlzIHByZWNlZGVkIGJ5IHRoZSBudW1iZXIgb2Ygc2Vjb25kcywgd2l0aCBuYW5vc2Vjb25kcyBleHByZXNzZWQgYXMKIGZyYWN0aW9uYWwgc2Vjb25kcy4gRm9yIGV4YW1wbGUsIDMgc2Vjb25kcyB3aXRoIDAgbmFub3NlY29uZHMgc2hvdWxkIGJlCiBlbmNvZGVkIGluIEpTT04gZm9ybWF0IGFzICIzcyIsIHdoaWxlIDMgc2Vjb25kcyBhbmQgMSBuYW5vc2Vjb25kIHNob3VsZAogYmUgZXhwcmVzc2VkIGluIEpTT04gZm9ybWF0IGFzICIzLjAwMDAwMDAwMXMiLCBhbmQgMyBzZWNvbmRzIGFuZCAxCiBtaWNyb3NlY29uZCBzaG91bGQgYmUgZXhwcmVzc2VkIGluIEpTT04gZm9ybWF0IGFzICIzLjAwMDAwMXMiLgoKCgoKAwQAARIDZQgQCtwBCgQEAAIAEgNpAhQazgEgU2lnbmVkIHNlY29uZHMgb2YgdGhlIHNwYW4gb2YgdGltZS4gTXVzdCBiZSBmcm9tIC0zMTUsNTc2LDAwMCwwMDAKIHRvICszMTUsNTc2LDAwMCwwMDAgaW5jbHVzaXZlLiBOb3RlOiB0aGVzZSBib3VuZHMgYXJlIGNvbXB1dGVkIGZyb206CiA2MCBzZWMvbWluICogNjAgbWluL2hyICogMjQgaHIvZGF5ICogMzY1LjI1IGRheXMveWVhciAqIDEwMDAwIHllYXJzCgoMCgUEAAIABRIDaQIHCgwKBQQAAgABEgNpCA8KDAoFBAACAAMSA2kSEwqDAwoEBAACARIDcQISGvUCIFNpZ25lZCBmcmFjdGlvbnMgb2YgYSBzZWNvbmQgYXQgbmFub3NlY29uZCByZXNvbHV0aW9uIG9mIHRoZSBzcGFuCiBvZiB0aW1lLiBEdXJhdGlvbnMgbGVzcyB0aGFuIG9uZSBzZWNvbmQgYXJlIHJlcHJlc2VudGVkIHdpdGggYSAwCiBgc2Vjb25kc2AgZmllbGQgYW5kIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYG5hbm9zYCBmaWVsZC4gRm9yIGR1cmF0aW9ucwogb2Ygb25lIHNlY29uZCBvciBtb3JlLCBhIG5vbi16ZXJvIHZhbHVlIGZvciB0aGUgYG5hbm9zYCBmaWVsZCBtdXN0IGJlCiBvZiB0aGUgc2FtZSBzaWduIGFzIHRoZSBgc2Vjb25kc2AgZmllbGQuIE11c3QgYmUgZnJvbSAtOTk5LDk5OSw5OTkKIHRvICs5OTksOTk5LDk5OSBpbmNsdXNpdmUuCgoMCgUEAAIBBRIDcQIHCgwKBQQAAgEBEgNxCA0KDAoFBAACAQMSA3EQEWIGcHJvdG8zCv8RChtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIHCgVFbXB0eUJ9ChNjb20uZ29vZ2xlLnByb3RvYnVmQgpFbXB0eVByb3RvUAFaLmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2VtcHR5cGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKvhAKBhIEHgAyEArMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIARQoJCgIICxIDIgBFCggKAQgSAyMALAoJCgIIARIDIwAsCggKAQgSAyQAKwoJCgIICBIDJAArCggKAQgSAyUAIgoJCgIIChIDJQAiCggKAQgSAyYAIQoJCgIIJBIDJgAhCggKAQgSAycAOwoJCgIIJRIDJwA7CggKAQgSAygAHwoJCgIIHxIDKAAfCrsCCgIEABIDMgAQGq8CIEEgZ2VuZXJpYyBlbXB0eSBtZXNzYWdlIHRoYXQgeW91IGNhbiByZS11c2UgdG8gYXZvaWQgZGVmaW5pbmcgZHVwbGljYXRlZAogZW1wdHkgbWVzc2FnZXMgaW4geW91ciBBUElzLiBBIHR5cGljYWwgZXhhbXBsZSBpcyB0byB1c2UgaXQgYXMgdGhlIHJlcXVlc3QKIG9yIHRoZSByZXNwb25zZSB0eXBlIG9mIGFuIEFQSSBtZXRob2QuIEZvciBpbnN0YW5jZToKCiAgICAgc2VydmljZSBGb28gewogICAgICAgcnBjIEJhcihnb29nbGUucHJvdG9idWYuRW1wdHkpIHJldHVybnMgKGdvb2dsZS5wcm90b2J1Zi5FbXB0eSk7CiAgICAgfQoKCgoKAwQAARIDMggNYgZwcm90bzMKij0KIGdvb2dsZS9wcm90b2J1Zi9maWVsZF9tYXNrLnByb3RvEg9nb29nbGUucHJvdG9idWYiIQoJRmllbGRNYXNrEhQKBXBhdGhzGAEgAygJUgVwYXRoc0KFAQoTY29tLmdvb2dsZS5wcm90b2J1ZkIORmllbGRNYXNrUHJvdG9QAVoyZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vZmllbGRtYXNrcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKoTsKBxIFHgD0AQEKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiACwKCQoCCAESAyIALAoICgEIEgMjAC8KCQoCCAgSAyMALwoICgEIEgMkACIKCQoCCAoSAyQAIgoICgEIEgMlACEKCQoCCCQSAyUAIQoICgEIEgMmADsKCQoCCCUSAyYAOwoICgEIEgMnAEkKCQoCCAsSAycASQoICgEIEgMoAB8KCQoCCB8SAygAHwqyLAoCBAASBvEBAPQBARqjLCBgRmllbGRNYXNrYCByZXByZXNlbnRzIGEgc2V0IG9mIHN5bWJvbGljIGZpZWxkIHBhdGhzLCBmb3IgZXhhbXBsZToKCiAgICAgcGF0aHM6ICJmLmEiCiAgICAgcGF0aHM6ICJmLmIuZCIKCiBIZXJlIGBmYCByZXByZXNlbnRzIGEgZmllbGQgaW4gc29tZSByb290IG1lc3NhZ2UsIGBhYCBhbmQgYGJgCiBmaWVsZHMgaW4gdGhlIG1lc3NhZ2UgZm91bmQgaW4gYGZgLCBhbmQgYGRgIGEgZmllbGQgZm91bmQgaW4gdGhlCiBtZXNzYWdlIGluIGBmLmJgLgoKIEZpZWxkIG1hc2tzIGFyZSB1c2VkIHRvIHNwZWNpZnkgYSBzdWJzZXQgb2YgZmllbGRzIHRoYXQgc2hvdWxkIGJlCiByZXR1cm5lZCBieSBhIGdldCBvcGVyYXRpb24gb3IgbW9kaWZpZWQgYnkgYW4gdXBkYXRlIG9wZXJhdGlvbi4KIEZpZWxkIG1hc2tzIGFsc28gaGF2ZSBhIGN1c3RvbSBKU09OIGVuY29kaW5nIChzZWUgYmVsb3cpLgoKICMgRmllbGQgTWFza3MgaW4gUHJvamVjdGlvbnMKCiBXaGVuIHVzZWQgaW4gdGhlIGNvbnRleHQgb2YgYSBwcm9qZWN0aW9uLCBhIHJlc3BvbnNlIG1lc3NhZ2Ugb3IKIHN1Yi1tZXNzYWdlIGlzIGZpbHRlcmVkIGJ5IHRoZSBBUEkgdG8gb25seSBjb250YWluIHRob3NlIGZpZWxkcyBhcwogc3BlY2lmaWVkIGluIHRoZSBtYXNrLiBGb3IgZXhhbXBsZSwgaWYgdGhlIG1hc2sgaW4gdGhlIHByZXZpb3VzCiBleGFtcGxlIGlzIGFwcGxpZWQgdG8gYSByZXNwb25zZSBtZXNzYWdlIGFzIGZvbGxvd3M6CgogICAgIGYgewogICAgICAgYSA6IDIyCiAgICAgICBiIHsKICAgICAgICAgZCA6IDEKICAgICAgICAgeCA6IDIKICAgICAgIH0KICAgICAgIHkgOiAxMwogICAgIH0KICAgICB6OiA4CgogVGhlIHJlc3VsdCB3aWxsIG5vdCBjb250YWluIHNwZWNpZmljIHZhbHVlcyBmb3IgZmllbGRzIHgseSBhbmQgegogKHRoZWlyIHZhbHVlIHdpbGwgYmUgc2V0IHRvIHRoZSBkZWZhdWx0LCBhbmQgb21pdHRlZCBpbiBwcm90byB0ZXh0CiBvdXRwdXQpOgoKCiAgICAgZiB7CiAgICAgICBhIDogMjIKICAgICAgIGIgewogICAgICAgICBkIDogMQogICAgICAgfQogICAgIH0KCiBBIHJlcGVhdGVkIGZpZWxkIGlzIG5vdCBhbGxvd2VkIGV4Y2VwdCBhdCB0aGUgbGFzdCBwb3NpdGlvbiBvZiBhCiBwYXRocyBzdHJpbmcuCgogSWYgYSBGaWVsZE1hc2sgb2JqZWN0IGlzIG5vdCBwcmVzZW50IGluIGEgZ2V0IG9wZXJhdGlvbiwgdGhlCiBvcGVyYXRpb24gYXBwbGllcyB0byBhbGwgZmllbGRzIChhcyBpZiBhIEZpZWxkTWFzayBvZiBhbGwgZmllbGRzCiBoYWQgYmVlbiBzcGVjaWZpZWQpLgoKIE5vdGUgdGhhdCBhIGZpZWxkIG1hc2sgZG9lcyBub3QgbmVjZXNzYXJpbHkgYXBwbHkgdG8gdGhlCiB0b3AtbGV2ZWwgcmVzcG9uc2UgbWVzc2FnZS4gSW4gY2FzZSBvZiBhIFJFU1QgZ2V0IG9wZXJhdGlvbiwgdGhlCiBmaWVsZCBtYXNrIGFwcGxpZXMgZGlyZWN0bHkgdG8gdGhlIHJlc3BvbnNlLCBidXQgaW4gY2FzZSBvZiBhIFJFU1QKIGxpc3Qgb3BlcmF0aW9uLCB0aGUgbWFzayBpbnN0ZWFkIGFwcGxpZXMgdG8gZWFjaCBpbmRpdmlkdWFsIG1lc3NhZ2UKIGluIHRoZSByZXR1cm5lZCByZXNvdXJjZSBsaXN0LiBJbiBjYXNlIG9mIGEgUkVTVCBjdXN0b20gbWV0aG9kLAogb3RoZXIgZGVmaW5pdGlvbnMgbWF5IGJlIHVzZWQuIFdoZXJlIHRoZSBtYXNrIGFwcGxpZXMgd2lsbCBiZQogY2xlYXJseSBkb2N1bWVudGVkIHRvZ2V0aGVyIHdpdGggaXRzIGRlY2xhcmF0aW9uIGluIHRoZSBBUEkuICBJbgogYW55IGNhc2UsIHRoZSBlZmZlY3Qgb24gdGhlIHJldHVybmVkIHJlc291cmNlL3Jlc291cmNlcyBpcyByZXF1aXJlZAogYmVoYXZpb3IgZm9yIEFQSXMuCgogIyBGaWVsZCBNYXNrcyBpbiBVcGRhdGUgT3BlcmF0aW9ucwoKIEEgZmllbGQgbWFzayBpbiB1cGRhdGUgb3BlcmF0aW9ucyBzcGVjaWZpZXMgd2hpY2ggZmllbGRzIG9mIHRoZQogdGFyZ2V0ZWQgcmVzb3VyY2UgYXJlIGdvaW5nIHRvIGJlIHVwZGF0ZWQuIFRoZSBBUEkgaXMgcmVxdWlyZWQKIHRvIG9ubHkgY2hhbmdlIHRoZSB2YWx1ZXMgb2YgdGhlIGZpZWxkcyBhcyBzcGVjaWZpZWQgaW4gdGhlIG1hc2sKIGFuZCBsZWF2ZSB0aGUgb3RoZXJzIHVudG91Y2hlZC4gSWYgYSByZXNvdXJjZSBpcyBwYXNzZWQgaW4gdG8KIGRlc2NyaWJlIHRoZSB1cGRhdGVkIHZhbHVlcywgdGhlIEFQSSBpZ25vcmVzIHRoZSB2YWx1ZXMgb2YgYWxsCiBmaWVsZHMgbm90IGNvdmVyZWQgYnkgdGhlIG1hc2suCgogSWYgYSByZXBlYXRlZCBmaWVsZCBpcyBzcGVjaWZpZWQgZm9yIGFuIHVwZGF0ZSBvcGVyYXRpb24sIG5ldyB2YWx1ZXMgd2lsbAogYmUgYXBwZW5kZWQgdG8gdGhlIGV4aXN0aW5nIHJlcGVhdGVkIGZpZWxkIGluIHRoZSB0YXJnZXQgcmVzb3VyY2UuIE5vdGUgdGhhdAogYSByZXBlYXRlZCBmaWVsZCBpcyBvbmx5IGFsbG93ZWQgaW4gdGhlIGxhc3QgcG9zaXRpb24gb2YgYSBgcGF0aHNgIHN0cmluZy4KCiBJZiBhIHN1Yi1tZXNzYWdlIGlzIHNwZWNpZmllZCBpbiB0aGUgbGFzdCBwb3NpdGlvbiBvZiB0aGUgZmllbGQgbWFzayBmb3IgYW4KIHVwZGF0ZSBvcGVyYXRpb24sIHRoZW4gbmV3IHZhbHVlIHdpbGwgYmUgbWVyZ2VkIGludG8gdGhlIGV4aXN0aW5nIHN1Yi1tZXNzYWdlCiBpbiB0aGUgdGFyZ2V0IHJlc291cmNlLgoKIEZvciBleGFtcGxlLCBnaXZlbiB0aGUgdGFyZ2V0IG1lc3NhZ2U6CgogICAgIGYgewogICAgICAgYiB7CiAgICAgICAgIGQ6IDEKICAgICAgICAgeDogMgogICAgICAgfQogICAgICAgYzogWzFdCiAgICAgfQoKIEFuZCBhbiB1cGRhdGUgbWVzc2FnZToKCiAgICAgZiB7CiAgICAgICBiIHsKICAgICAgICAgZDogMTAKICAgICAgIH0KICAgICAgIGM6IFsyXQogICAgIH0KCiB0aGVuIGlmIHRoZSBmaWVsZCBtYXNrIGlzOgoKICBwYXRoczogWyJmLmIiLCAiZi5jIl0KCiB0aGVuIHRoZSByZXN1bHQgd2lsbCBiZToKCiAgICAgZiB7CiAgICAgICBiIHsKICAgICAgICAgZDogMTAKICAgICAgICAgeDogMgogICAgICAgfQogICAgICAgYzogWzEsIDJdCiAgICAgfQoKIEFuIGltcGxlbWVudGF0aW9uIG1heSBwcm92aWRlIG9wdGlvbnMgdG8gb3ZlcnJpZGUgdGhpcyBkZWZhdWx0IGJlaGF2aW9yIGZvcgogcmVwZWF0ZWQgYW5kIG1lc3NhZ2UgZmllbGRzLgoKIEluIG9yZGVyIHRvIHJlc2V0IGEgZmllbGQncyB2YWx1ZSB0byB0aGUgZGVmYXVsdCwgdGhlIGZpZWxkIG11c3QKIGJlIGluIHRoZSBtYXNrIGFuZCBzZXQgdG8gdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIHByb3ZpZGVkIHJlc291cmNlLgogSGVuY2UsIGluIG9yZGVyIHRvIHJlc2V0IGFsbCBmaWVsZHMgb2YgYSByZXNvdXJjZSwgcHJvdmlkZSBhIGRlZmF1bHQKIGluc3RhbmNlIG9mIHRoZSByZXNvdXJjZSBhbmQgc2V0IGFsbCBmaWVsZHMgaW4gdGhlIG1hc2ssIG9yIGRvCiBub3QgcHJvdmlkZSBhIG1hc2sgYXMgZGVzY3JpYmVkIGJlbG93LgoKIElmIGEgZmllbGQgbWFzayBpcyBub3QgcHJlc2VudCBvbiB1cGRhdGUsIHRoZSBvcGVyYXRpb24gYXBwbGllcyB0bwogYWxsIGZpZWxkcyAoYXMgaWYgYSBmaWVsZCBtYXNrIG9mIGFsbCBmaWVsZHMgaGFzIGJlZW4gc3BlY2lmaWVkKS4KIE5vdGUgdGhhdCBpbiB0aGUgcHJlc2VuY2Ugb2Ygc2NoZW1hIGV2b2x1dGlvbiwgdGhpcyBtYXkgbWVhbiB0aGF0CiBmaWVsZHMgdGhlIGNsaWVudCBkb2VzIG5vdCBrbm93IGFuZCBoYXMgdGhlcmVmb3JlIG5vdCBmaWxsZWQgaW50bwogdGhlIHJlcXVlc3Qgd2lsbCBiZSByZXNldCB0byB0aGVpciBkZWZhdWx0LiBJZiB0aGlzIGlzIHVud2FudGVkCiBiZWhhdmlvciwgYSBzcGVjaWZpYyBzZXJ2aWNlIG1heSByZXF1aXJlIGEgY2xpZW50IHRvIGFsd2F5cyBzcGVjaWZ5CiBhIGZpZWxkIG1hc2ssIHByb2R1Y2luZyBhbiBlcnJvciBpZiBub3QuCgogQXMgd2l0aCBnZXQgb3BlcmF0aW9ucywgdGhlIGxvY2F0aW9uIG9mIHRoZSByZXNvdXJjZSB3aGljaAogZGVzY3JpYmVzIHRoZSB1cGRhdGVkIHZhbHVlcyBpbiB0aGUgcmVxdWVzdCBtZXNzYWdlIGRlcGVuZHMgb24gdGhlCiBvcGVyYXRpb24ga2luZC4gSW4gYW55IGNhc2UsIHRoZSBlZmZlY3Qgb2YgdGhlIGZpZWxkIG1hc2sgaXMKIHJlcXVpcmVkIHRvIGJlIGhvbm9yZWQgYnkgdGhlIEFQSS4KCiAjIyBDb25zaWRlcmF0aW9ucyBmb3IgSFRUUCBSRVNUCgogVGhlIEhUVFAga2luZCBvZiBhbiB1cGRhdGUgb3BlcmF0aW9uIHdoaWNoIHVzZXMgYSBmaWVsZCBtYXNrIG11c3QKIGJlIHNldCB0byBQQVRDSCBpbnN0ZWFkIG9mIFBVVCBpbiBvcmRlciB0byBzYXRpc2Z5IEhUVFAgc2VtYW50aWNzCiAoUFVUIG11c3Qgb25seSBiZSB1c2VkIGZvciBmdWxsIHVwZGF0ZXMpLgoKICMgSlNPTiBFbmNvZGluZyBvZiBGaWVsZCBNYXNrcwoKIEluIEpTT04sIGEgZmllbGQgbWFzayBpcyBlbmNvZGVkIGFzIGEgc2luZ2xlIHN0cmluZyB3aGVyZSBwYXRocyBhcmUKIHNlcGFyYXRlZCBieSBhIGNvbW1hLiBGaWVsZHMgbmFtZSBpbiBlYWNoIHBhdGggYXJlIGNvbnZlcnRlZAogdG8vZnJvbSBsb3dlci1jYW1lbCBuYW1pbmcgY29udmVudGlvbnMuCgogQXMgYW4gZXhhbXBsZSwgY29uc2lkZXIgdGhlIGZvbGxvd2luZyBtZXNzYWdlIGRlY2xhcmF0aW9uczoKCiAgICAgbWVzc2FnZSBQcm9maWxlIHsKICAgICAgIFVzZXIgdXNlciA9IDE7CiAgICAgICBQaG90byBwaG90byA9IDI7CiAgICAgfQogICAgIG1lc3NhZ2UgVXNlciB7CiAgICAgICBzdHJpbmcgZGlzcGxheV9uYW1lID0gMTsKICAgICAgIHN0cmluZyBhZGRyZXNzID0gMjsKICAgICB9CgogSW4gcHJvdG8gYSBmaWVsZCBtYXNrIGZvciBgUHJvZmlsZWAgbWF5IGxvb2sgYXMgc3VjaDoKCiAgICAgbWFzayB7CiAgICAgICBwYXRoczogInVzZXIuZGlzcGxheV9uYW1lIgogICAgICAgcGF0aHM6ICJwaG90byIKICAgICB9CgogSW4gSlNPTiwgdGhlIHNhbWUgbWFzayBpcyByZXByZXNlbnRlZCBhcyBiZWxvdzoKCiAgICAgewogICAgICAgbWFzazogInVzZXIuZGlzcGxheU5hbWUscGhvdG8iCiAgICAgfQoKICMgRmllbGQgTWFza3MgYW5kIE9uZW9mIEZpZWxkcwoKIEZpZWxkIG1hc2tzIHRyZWF0IGZpZWxkcyBpbiBvbmVvZnMganVzdCBhcyByZWd1bGFyIGZpZWxkcy4gQ29uc2lkZXIgdGhlCiBmb2xsb3dpbmcgbWVzc2FnZToKCiAgICAgbWVzc2FnZSBTYW1wbGVNZXNzYWdlIHsKICAgICAgIG9uZW9mIHRlc3Rfb25lb2YgewogICAgICAgICBzdHJpbmcgbmFtZSA9IDQ7CiAgICAgICAgIFN1Yk1lc3NhZ2Ugc3ViX21lc3NhZ2UgPSA5OwogICAgICAgfQogICAgIH0KCiBUaGUgZmllbGQgbWFzayBjYW4gYmU6CgogICAgIG1hc2sgewogICAgICAgcGF0aHM6ICJuYW1lIgogICAgIH0KCiBPcjoKCiAgICAgbWFzayB7CiAgICAgICBwYXRoczogInN1Yl9tZXNzYWdlIgogICAgIH0KCiBOb3RlIHRoYXQgb25lb2YgdHlwZSBuYW1lcyAoInRlc3Rfb25lb2YiIGluIHRoaXMgY2FzZSkgY2Fubm90IGJlIHVzZWQgaW4KIHBhdGhzLgoKICMjIEZpZWxkIE1hc2sgVmVyaWZpY2F0aW9uCgogVGhlIGltcGxlbWVudGF0aW9uIG9mIGFueSBBUEkgbWV0aG9kIHdoaWNoIGhhcyBhIEZpZWxkTWFzayB0eXBlIGZpZWxkIGluIHRoZQogcmVxdWVzdCBzaG91bGQgdmVyaWZ5IHRoZSBpbmNsdWRlZCBmaWVsZCBwYXRocywgYW5kIHJldHVybiBhbgogYElOVkFMSURfQVJHVU1FTlRgIGVycm9yIGlmIGFueSBwYXRoIGlzIHVubWFwcGFibGUuCgoLCgMEAAESBPEBCBEKLAoEBAACABIE8wECHBoeIFRoZSBzZXQgb2YgZmllbGQgbWFzayBwYXRocy4KCg0KBQQAAgAEEgTzAQIKCg0KBQQAAgAFEgTzAQsRCg0KBQQAAgABEgTzARIXCg0KBQQAAgADEgTzARobYgZwcm90bzMKwzEKH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI7CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSsEvCgcSBR4AjwEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgAfCgkKAggfEgMiAB8KCAoBCBIDIwBJCgkKAggLEgMjAEkKCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQAvCgkKAggIEgMlAC8KCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEKCAoBCBIDKAA7CgkKAgglEgMoADsK2h0KAgQAEgaEAQCPAQEayx0gQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKIEV4YW1wbGUgNTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBKYXZhIGBJbnN0YW50Lm5vdygpYC4KCiAgICAgSW5zdGFudCBub3cgPSBJbnN0YW50Lm5vdygpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wID0KICAgICAgICAgVGltZXN0YW1wLm5ld0J1aWxkZXIoKS5zZXRTZWNvbmRzKG5vdy5nZXRFcG9jaFNlY29uZCgpKQogICAgICAgICAgICAgLnNldE5hbm9zKG5vdy5nZXROYW5vKCkpLmJ1aWxkKCk7CgogRXhhbXBsZSA2OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIGN1cnJlbnQgdGltZSBpbiBQeXRob24uCgogICAgIHRpbWVzdGFtcCA9IFRpbWVzdGFtcCgpCiAgICAgdGltZXN0YW1wLkdldEN1cnJlbnRUaW1lKCkKCiAjIEpTT04gTWFwcGluZwoKIEluIEpTT04gZm9ybWF0LCB0aGUgVGltZXN0YW1wIHR5cGUgaXMgZW5jb2RlZCBhcyBhIHN0cmluZyBpbiB0aGUKIFtSRkMgMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBmb3JtYXQuIFRoYXQgaXMsIHRoZQogZm9ybWF0IGlzICJ7eWVhcn0te21vbnRofS17ZGF5fVR7aG91cn06e21pbn06e3NlY31bLntmcmFjX3NlY31dWiIKIHdoZXJlIHt5ZWFyfSBpcyBhbHdheXMgZXhwcmVzc2VkIHVzaW5nIGZvdXIgZGlnaXRzIHdoaWxlIHttb250aH0sIHtkYXl9LAoge2hvdXJ9LCB7bWlufSwgYW5kIHtzZWN9IGFyZSB6ZXJvLXBhZGRlZCB0byB0d28gZGlnaXRzIGVhY2guIFRoZSBmcmFjdGlvbmFsCiBzZWNvbmRzLCB3aGljaCBjYW4gZ28gdXAgdG8gOSBkaWdpdHMgKGkuZS4gdXAgdG8gMSBuYW5vc2Vjb25kIHJlc29sdXRpb24pLAogYXJlIG9wdGlvbmFsLiBUaGUgIloiIHN1ZmZpeCBpbmRpY2F0ZXMgdGhlIHRpbWV6b25lICgiVVRDIik7IHRoZSB0aW1lem9uZQogaXMgcmVxdWlyZWQuIEEgcHJvdG8zIEpTT04gc2VyaWFsaXplciBzaG91bGQgYWx3YXlzIHVzZSBVVEMgKGFzIGluZGljYXRlZCBieQogIloiKSB3aGVuIHByaW50aW5nIHRoZSBUaW1lc3RhbXAgdHlwZSBhbmQgYSBwcm90bzMgSlNPTiBwYXJzZXIgc2hvdWxkIGJlCiBhYmxlIHRvIGFjY2VwdCBib3RoIFVUQyBhbmQgb3RoZXIgdGltZXpvbmVzIChhcyBpbmRpY2F0ZWQgYnkgYW4gb2Zmc2V0KS4KCiBGb3IgZXhhbXBsZSwgIjIwMTctMDEtMTVUMDE6MzA6MTUuMDFaIiBlbmNvZGVzIDE1LjAxIHNlY29uZHMgcGFzdAogMDE6MzAgVVRDIG9uIEphbnVhcnkgMTUsIDIwMTcuCgogSW4gSmF2YVNjcmlwdCwgb25lIGNhbiBjb252ZXJ0IGEgRGF0ZSBvYmplY3QgdG8gdGhpcyBmb3JtYXQgdXNpbmcgdGhlCiBzdGFuZGFyZAogW3RvSVNPU3RyaW5nKCldKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGUvdG9JU09TdHJpbmcpCiBtZXRob2QuIEluIFB5dGhvbiwgYSBzdGFuZGFyZCBgZGF0ZXRpbWUuZGF0ZXRpbWVgIG9iamVjdCBjYW4gYmUgY29udmVydGVkCiB0byB0aGlzIGZvcm1hdCB1c2luZwogW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkgd2l0aAogdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUgY2FuIHVzZQogdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL2pvZGEtdGltZS5zb3VyY2Vmb3JnZS5uZXQvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lKCkKICkgdG8gb2J0YWluIGEgZm9ybWF0dGVyIGNhcGFibGUgb2YgZ2VuZXJhdGluZyB0aW1lc3RhbXBzIGluIHRoaXMgZm9ybWF0LgoKCgsKAwQAARIEhAEIEQqdAQoEBAACABIEiAECFBqOASBSZXByZXNlbnRzIHNlY29uZHMgb2YgVVRDIHRpbWUgc2luY2UgVW5peCBlcG9jaAogMTk3MC0wMS0wMVQwMDowMDowMFouIE11c3QgYmUgZnJvbSAwMDAxLTAxLTAxVDAwOjAwOjAwWiB0bwogOTk5OS0xMi0zMVQyMzo1OTo1OVogaW5jbHVzaXZlLgoKDQoFBAACAAUSBIgBAgcKDQoFBAACAAESBIgBCA8KDQoFBAACAAMSBIgBEhMK5QEKBAQAAgESBI4BAhIa1gEgTm9uLW5lZ2F0aXZlIGZyYWN0aW9ucyBvZiBhIHNlY29uZCBhdCBuYW5vc2Vjb25kIHJlc29sdXRpb24uIE5lZ2F0aXZlCiBzZWNvbmQgdmFsdWVzIHdpdGggZnJhY3Rpb25zIG11c3Qgc3RpbGwgaGF2ZSBub24tbmVnYXRpdmUgbmFub3MgdmFsdWVzCiB0aGF0IGNvdW50IGZvcndhcmQgaW4gdGltZS4gTXVzdCBiZSBmcm9tIDAgdG8gOTk5LDk5OSw5OTkKIGluY2x1c2l2ZS4KCg0KBQQAAgEFEgSOAQIHCg0KBQQAAgEBEgSOAQgNCg0KBQQAAgEDEgSOARARYgZwcm90bzMKzSMKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNKxB8KBhIEKAB6AQrZEAoBDBIDKAASMs4QIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKIFdyYXBwZXJzIGZvciBwcmltaXRpdmUgKG5vbi1tZXNzYWdlKSB0eXBlcy4gVGhlc2UgdHlwZXMgYXJlIHVzZWZ1bAogZm9yIGVtYmVkZGluZyBwcmltaXRpdmVzIGluIHRoZSBgZ29vZ2xlLnByb3RvYnVmLkFueWAgdHlwZSBhbmQgZm9yIHBsYWNlcwogd2hlcmUgd2UgbmVlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBhYnNlbmNlIG9mIGEgcHJpbWl0aXZlCiB0eXBlZCBmaWVsZCBhbmQgaXRzIGRlZmF1bHQgdmFsdWUuCgogVGhlc2Ugd3JhcHBlcnMgaGF2ZSBubyBtZWFuaW5nZnVsIHVzZSB3aXRoaW4gcmVwZWF0ZWQgZmllbGRzIGFzIHRoZXkgbGFjawogdGhlIGFiaWxpdHkgdG8gZGV0ZWN0IHByZXNlbmNlIG9uIGluZGl2aWR1YWwgZWxlbWVudHMuCiBUaGVzZSB3cmFwcGVycyBoYXZlIG5vIG1lYW5pbmdmdWwgdXNlIHdpdGhpbiBhIG1hcCBvciBhIG9uZW9mIHNpbmNlCiBpbmRpdmlkdWFsIGVudHJpZXMgb2YgYSBtYXAgb3IgZmllbGRzIG9mIGEgb25lb2YgY2FuIGFscmVhZHkgZGV0ZWN0IHByZXNlbmNlLgoKCAoBAhIDKgAYCggKAQgSAywAHwoJCgIIHxIDLAAfCggKAQgSAy0ASAoJCgIICxIDLQBICggKAQgSAy4ALAoJCgIIARIDLgAsCggKAQgS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CAIAAxIDeRARYgZwcm90bzMK9GIKL2dvb2dsZS9wcm90b2J1Zi91bml0dGVzdF93ZWxsX2tub3duX3R5cGVzLnByb3RvEhFwcm90b2J1Zl91bml0dGVzdBoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoZZ29vZ2xlL3Byb3RvYnVmL2FwaS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9maWVsZF9tYXNrLnByb3RvGiRnb29nbGUvcHJvdG9idWYvc291cmNlX2NvbnRleHQucHJvdG8aHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8aH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8aGmdvb2dsZS9wcm90b2J1Zi90eXBlLnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8itAkKElRlc3RXZWxsS25vd25UeXBlcxIxCglhbnlfZmllbGQYASABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UghhbnlGaWVsZBIxCglhcGlfZmllbGQYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQXBpUghhcGlGaWVsZBJACg5kdXJhdGlvbl9maWVsZBgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblINZHVyYXRpb25GaWVsZBI3CgtlbXB0eV9maWVsZBgEIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIKZW1wdHlGaWVsZBJEChBmaWVsZF9tYXNrX2ZpZWxkGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza1IOZmllbGRNYXNrRmllbGQSUAoUc291cmNlX2NvbnRleHRfZmllbGQYBiABKAsyHi5nb29nbGUucHJvdG9idWYuU291cmNlQ29udGV4dFISc291cmNlQ29udGV4dEZpZWxkEjoKDHN0cnVjdF9maWVsZBgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSC3N0cnVjdEZpZWxkEkMKD3RpbWVzdGFtcF9maWVsZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSDnRpbWVzdGFtcEZpZWxkEjQKCnR5cGVfZmllbGQYCSABKAsyFS5nb29nbGUucHJvdG9idWYuVHlwZVIJdHlwZUZpZWxkEj8KDGRvdWJsZV9maWVsZBgKIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVILZG91YmxlRmllbGQSPAoLZmxvYXRfZmllbGQYCyABKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZVIKZmxvYXRGaWVsZBI8CgtpbnQ2NF9maWVsZBgMIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUgppbnQ2NEZpZWxkEj8KDHVpbnQ2NF9maWVsZBgNIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50NjRWYWx1ZVILdWludDY0RmllbGQSPAoLaW50MzJfZmllbGQYDiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIKaW50MzJGaWVsZBI/Cgx1aW50MzJfZmllbGQYDyABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSC3VpbnQzMkZpZWxkEjkKCmJvb2xfZmllbGQYECABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUglib29sRmllbGQSPwoMc3RyaW5nX2ZpZWxkGBEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtzdHJpbmdGaWVsZBI8CgtieXRlc19maWVsZBgSIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5CeXRlc1ZhbHVlUgpieXRlc0ZpZWxkEjcKC3ZhbHVlX2ZpZWxkGBMgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgp2YWx1ZUZpZWxkIv8IChZSZXBlYXRlZFdlbGxLbm93blR5cGVzEjEKCWFueV9maWVsZBgBIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSCGFueUZpZWxkEjEKCWFwaV9maWVsZBgCIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BcGlSCGFwaUZpZWxkEkAKDmR1cmF0aW9uX2ZpZWxkGAMgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUg1kdXJhdGlvbkZpZWxkEjcKC2VtcHR5X2ZpZWxkGAQgAygLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5UgplbXB0eUZpZWxkEkQKEGZpZWxkX21hc2tfZmllbGQYBSADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUg5maWVsZE1hc2tGaWVsZBJQChRzb3VyY2VfY29udGV4dF9maWVsZBgGIAMoCzIeLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb250ZXh0UhJzb3VyY2VDb250ZXh0RmllbGQSOgoMc3RydWN0X2ZpZWxkGAcgAygLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFILc3RydWN0RmllbGQSQwoPdGltZXN0YW1wX2ZpZWxkGAggAygLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIOdGltZXN0YW1wRmllbGQSNAoKdHlwZV9maWVsZBgJIAMoCzIVLmdvb2dsZS5wcm90b2J1Zi5UeXBlUgl0eXBlRmllbGQSPwoMZG91YmxlX2ZpZWxkGAogAygLMhwuZ29vZ2xlLnByb3RvYnVmLkRvdWJsZVZhbHVlUgtkb3VibGVGaWVsZBI8CgtmbG9hdF9maWVsZBgLIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlUgpmbG9hdEZpZWxkEjwKC2ludDY0X2ZpZWxkGAwgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSCmludDY0RmllbGQSPwoMdWludDY0X2ZpZWxkGA0gAygLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQ2NFZhbHVlUgt1aW50NjRGaWVsZBI8CgtpbnQzMl9maWVsZBgOIAMoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUgppbnQzMkZpZWxkEj8KDHVpbnQzMl9maWVsZBgPIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZVILdWludDMyRmllbGQSOQoKYm9vbF9maWVsZBgQIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCWJvb2xGaWVsZBI/CgxzdHJpbmdfZmllbGQYESADKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC3N0cmluZ0ZpZWxkEjwKC2J5dGVzX2ZpZWxkGBIgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWVSCmJ5dGVzRmllbGQirwkKE09uZW9mV2VsbEtub3duVHlwZXMSMwoJYW55X2ZpZWxkGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueUgAUghhbnlGaWVsZBIzCglhcGlfZmllbGQYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQXBpSABSCGFwaUZpZWxkEkIKDmR1cmF0aW9uX2ZpZWxkGAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uSABSDWR1cmF0aW9uRmllbGQSOQoLZW1wdHlfZmllbGQYBCABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIAFIKZW1wdHlGaWVsZBJGChBmaWVsZF9tYXNrX2ZpZWxkGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0gAUg5maWVsZE1hc2tGaWVsZBJSChRzb3VyY2VfY29udGV4dF9maWVsZBgGIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb250ZXh0SABSEnNvdXJjZUNvbnRleHRGaWVsZBI8CgxzdHJ1Y3RfZmllbGQYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdEZpZWxkEkUKD3RpbWVzdGFtcF9maWVsZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAFIOdGltZXN0YW1wRmllbGQSNgoKdHlwZV9maWVsZBgJIAEoCzIVLmdvb2dsZS5wcm90b2J1Zi5UeXBlSABSCXR5cGVGaWVsZBJBCgxkb3VibGVfZmllbGQYCiABKAsyHC5nb29nbGUucHJvdG9idWYuRG91YmxlVmFsdWVIAFILZG91YmxlRmllbGQSPgoLZmxvYXRfZmllbGQYCyABKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZUgAUgpmbG9hdEZpZWxkEj4KC2ludDY0X2ZpZWxkGAwgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVIAFIKaW50NjRGaWVsZBJBCgx1aW50NjRfZmllbGQYDSABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVIAFILdWludDY0RmllbGQSPgoLaW50MzJfZmllbGQYDiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZUgAUgppbnQzMkZpZWxkEkEKDHVpbnQzMl9maWVsZBgPIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZUgAUgt1aW50MzJGaWVsZBI7Cgpib29sX2ZpZWxkGBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUgAUglib29sRmllbGQSQQoMc3RyaW5nX2ZpZWxkGBEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlSABSC3N0cmluZ0ZpZWxkEj4KC2J5dGVzX2ZpZWxkGBIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWVIAFIKYnl0ZXNGaWVsZEINCgtvbmVvZl9maWVsZCLYGQoRTWFwV2VsbEtub3duVHlwZXMSTwoJYW55X2ZpZWxkGAEgAygLMjIucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuQW55RmllbGRFbnRyeVIIYW55RmllbGQSTwoJYXBpX2ZpZWxkGAIgAygLMjIucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuQXBpRmllbGRFbnRyeVIIYXBpRmllbGQSXgoOZHVyYXRpb25fZmllbGQYAyADKAsyNy5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5EdXJhdGlvbkZpZWxkRW50cnlSDWR1cmF0aW9uRmllbGQSVQoLZW1wdHlfZmllbGQYBCADKAsyNC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5FbXB0eUZpZWxkRW50cnlSCmVtcHR5RmllbGQSYgoQZmllbGRfbWFza19maWVsZBgFIAMoCzI4LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkZpZWxkTWFza0ZpZWxkRW50cnlSDmZpZWxkTWFza0ZpZWxkEm4KFHNvdXJjZV9jb250ZXh0X2ZpZWxkGAYgAygLMjwucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuU291cmNlQ29udGV4dEZpZWxkRW50cnlSEnNvdXJjZUNvbnRleHRGaWVsZBJYCgxzdHJ1Y3RfZmllbGQYByADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5TdHJ1Y3RGaWVsZEVudHJ5UgtzdHJ1Y3RGaWVsZBJhCg90aW1lc3RhbXBfZmllbGQYCCADKAsyOC5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5UaW1lc3RhbXBGaWVsZEVudHJ5Ug50aW1lc3RhbXBGaWVsZBJSCgp0eXBlX2ZpZWxkGAkgAygLMjMucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuVHlwZUZpZWxkRW50cnlSCXR5cGVGaWVsZBJYCgxkb3VibGVfZmllbGQYCiADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5Eb3VibGVGaWVsZEVudHJ5Ugtkb3VibGVGaWVsZBJVCgtmbG9hdF9maWVsZBgLIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkZsb2F0RmllbGRFbnRyeVIKZmxvYXRGaWVsZBJVCgtpbnQ2NF9maWVsZBgMIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkludDY0RmllbGRFbnRyeVIKaW50NjRGaWVsZBJYCgx1aW50NjRfZmllbGQYDSADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5VaW50NjRGaWVsZEVudHJ5Ugt1aW50NjRGaWVsZBJVCgtpbnQzMl9maWVsZBgOIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkludDMyRmllbGRFbnRyeVIKaW50MzJGaWVsZBJYCgx1aW50MzJfZmllbGQYDyADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5VaW50MzJGaWVsZEVudHJ5Ugt1aW50MzJGaWVsZBJSCgpib29sX2ZpZWxkGBAgAygLMjMucHJvdG9idWZfdW5pdHRlc3QuTWFwV2VsbEtub3duVHlwZXMuQm9vbEZpZWxkRW50cnlSCWJvb2xGaWVsZBJYCgxzdHJpbmdfZmllbGQYESADKAsyNS5wcm90b2J1Zl91bml0dGVzdC5NYXBXZWxsS25vd25UeXBlcy5TdHJpbmdGaWVsZEVudHJ5UgtzdHJpbmdGaWVsZBJVCgtieXRlc19maWVsZBgSIAMoCzI0LnByb3RvYnVmX3VuaXR0ZXN0Lk1hcFdlbGxLbm93blR5cGVzLkJ5dGVzRmllbGRFbnRyeVIKYnl0ZXNGaWVsZBpRCg1BbnlGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EioKBXZhbHVlGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIFdmFsdWU6AjgBGlEKDUFwaUZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSKgoFdmFsdWUYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQXBpUgV2YWx1ZToCOAEaWwoSRHVyYXRpb25GaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5Ei8KBXZhbHVlGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUgV2YWx1ZToCOAEaVQoPRW1wdHlGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5UgV2YWx1ZToCOAEaXQoTRmllbGRNYXNrRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIwCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSBXZhbHVlOgI4ARplChdTb3VyY2VDb250ZXh0RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRI0CgV2YWx1ZRgCIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb250ZXh0UgV2YWx1ZToCOAEaVwoQU3RydWN0RmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRItCgV2YWx1ZRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RSBXZhbHVlOgI4ARpdChNUaW1lc3RhbXBGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjAKBXZhbHVlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIFdmFsdWU6AjgBGlMKDlR5cGVGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EisKBXZhbHVlGAIgASgLMhUuZ29vZ2xlLnByb3RvYnVmLlR5cGVSBXZhbHVlOgI4ARpcChBEb3VibGVGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkRvdWJsZVZhbHVlUgV2YWx1ZToCOAEaWgoPRmxvYXRGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEKBXZhbHVlGAIgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVSBXZhbHVlOgI4ARpaCg9JbnQ2NEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMQoFdmFsdWUYAiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50NjRWYWx1ZVIFdmFsdWU6AjgBGlwKEFVpbnQ2NEZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMgoFdmFsdWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDY0VmFsdWVSBXZhbHVlOgI4ARpaCg9JbnQzMkZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMQoFdmFsdWUYAiABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIFdmFsdWU6AjgBGlwKEFVpbnQzMkZpZWxkRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSMgoFdmFsdWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVSBXZhbHVlOgI4ARpYCg5Cb29sRmllbGRFbnRyeRIQCgNrZXkYASABKAVSA2tleRIwCgV2YWx1ZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSBXZhbHVlOgI4ARpcChBTdHJpbmdGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjIKBXZhbHVlGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgV2YWx1ZToCOAEaWgoPQnl0ZXNGaWVsZEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EjEK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dik1CgwKBQQDAhADEgN2ODoKCwoEBAMCERIDdwI5CgwKBQQDAhEGEgN3AicKDAoFBAMCEQESA3coMwoMCgUEAwIRAxIDdzY4YgZwcm90bzMK/sUBCipnb29nbGUvcHJvdG9idWYvdGVzdF9tZXNzYWdlc19wcm90bzMucHJvdG8SHXByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zGhlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvGh5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9maWVsZF9tYXNrLnByb3RvGhxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8imVsKElRlc3RBbGxUeXBlc1Byb3RvMxIlCg5vcHRpb25hbF9pbnQzMhgBIAEoBVINb3B0aW9uYWxJbnQzMhIlCg5vcHRpb25hbF9pbnQ2NBgCIAEoA1INb3B0aW9uYWxJbnQ2NBInCg9vcHRpb25hbF91aW50MzIYAyABKA1SDm9wdGlvbmFsVWludDMyEicKD29wdGlvbmFsX3VpbnQ2NBgEIAEoBFIOb3B0aW9uYWxVaW50NjQSJwoPb3B0aW9uYWxfc2ludDMyGAUgASgRUg5vcHRpb25hbFNpbnQzMhInCg9vcHRpb25hbF9zaW50NjQYBiABKBJSDm9wdGlvbmFsU2ludDY0EikKEG9wdGlvbmFsX2ZpeGVkMzIYByABKAdSD29wdGlvbmFsRml4ZWQzMhIpChBvcHRpb25hbF9maXhlZDY0GAggASgGUg9vcHRpb25hbEZpeGVkNjQSKwoRb3B0aW9uYWxfc2ZpeGVkMzIYCSABKA9SEG9wdGlvbmFsU2ZpeGVkMzISKwoRb3B0aW9uYWxfc2ZpeGVkNjQYCiABKBBSEG9wdGlvbmFsU2ZpeGVkNjQSJQoOb3B0aW9uYWxfZmxvYXQYCyABKAJSDW9wdGlvbmFsRmxvYXQSJwoPb3B0aW9uYWxfZG91YmxlGAwgASgBUg5vcHRpb25hbERvdWJsZRIjCg1vcHRpb25hbF9ib29sGA0gASgIUgxvcHRpb25hbEJvb2wSJwoPb3B0aW9uYWxfc3RyaW5nGA4gASgJUg5vcHRpb25hbFN0cmluZxIlCg5vcHRpb25hbF9ieXRlcxgPIAEoDFINb3B0aW9uYWxCeXRlcxJ3ChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgSIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRNZXNzYWdlUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2USZwoYb3B0aW9uYWxfZm9yZWlnbl9tZXNzYWdlGBMgASgLMi0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuRm9yZWlnbk1lc3NhZ2VSFm9wdGlvbmFsRm9yZWlnbk1lc3NhZ2USbgoUb3B0aW9uYWxfbmVzdGVkX2VudW0YFSABKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkRW51bVISb3B0aW9uYWxOZXN0ZWRFbnVtEl4KFW9wdGlvbmFsX2ZvcmVpZ25fZW51bRgWIAEoDjIqLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25FbnVtUhNvcHRpb25hbEZvcmVpZ25FbnVtEnEKFW9wdGlvbmFsX2FsaWFzZWRfZW51bRgXIAEoDjI9LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5BbGlhc2VkRW51bVITb3B0aW9uYWxBbGlhc2VkRW51bRI2ChVvcHRpb25hbF9zdHJpbmdfcGllY2UYGCABKAlCAggCUhNvcHRpb25hbFN0cmluZ1BpZWNlEicKDW9wdGlvbmFsX2NvcmQYGSABKAlCAggBUgxvcHRpb25hbENvcmQSXgoRcmVjdXJzaXZlX21lc3NhZ2UYGyABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzNSEHJlY3Vyc2l2ZU1lc3NhZ2USJQoOcmVwZWF0ZWRfaW50MzIYHyADKAVSDXJlcGVhdGVkSW50MzISJQoOcmVwZWF0ZWRfaW50NjQYICADKANSDXJlcGVhdGVkSW50NjQSJwoPcmVwZWF0ZWRfdWludDMyGCEgAygNUg5yZXBlYXRlZFVpbnQzMhInCg9yZXBlYXRlZF91aW50NjQYIiADKARSDnJlcGVhdGVkVWludDY0EicKD3JlcGVhdGVkX3NpbnQzMhgjIAMoEVIOcmVwZWF0ZWRTaW50MzISJwoPcmVwZWF0ZWRfc2ludDY0GCQgAygSUg5yZXBlYXRlZFNpbnQ2NBIpChByZXBlYXRlZF9maXhlZDMyGCUgAygHUg9yZXBlYXRlZEZpeGVkMzISKQoQcmVwZWF0ZWRfZml4ZWQ2NBgmIAMoBlIPcmVwZWF0ZWRGaXhlZDY0EisKEXJlcGVhdGVkX3NmaXhlZDMyGCcgAygPUhByZXBlYXRlZFNmaXhlZDMyEisKEXJlcGVhdGVkX3NmaXhlZDY0GCggAygQUhByZXBlYXRlZFNmaXhlZDY0EiUKDnJlcGVhdGVkX2Zsb2F0GCkgAygCUg1yZXBlYXRlZEZsb2F0EicKD3JlcGVhdGVkX2RvdWJsZRgqIAMoAVIOcmVwZWF0ZWREb3VibGUSIwoNcmVwZWF0ZWRfYm9vbBgrIAMoCFIMcmVwZWF0ZWRCb29sEicKD3JlcGVhdGVkX3N0cmluZxgsIAMoCVIOcmVwZWF0ZWRTdHJpbmcSJQoOcmVwZWF0ZWRfYnl0ZXMYLSADKAxSDXJlcGVhdGVkQnl0ZXMSdwoXcmVwZWF0ZWRfbmVzdGVkX21lc3NhZ2UYMCADKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkTWVzc2FnZVIVcmVwZWF0ZWROZXN0ZWRNZXNzYWdlEmcKGHJlcGVhdGVkX2ZvcmVpZ25fbWVzc2FnZRgxIAMoCzItLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLkZvcmVpZ25NZXNzYWdlUhZyZXBlYXRlZEZvcmVpZ25NZXNzYWdlEm4KFHJlcGVhdGVkX25lc3RlZF9lbnVtGDMgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1SEnJlcGVhdGVkTmVzdGVkRW51bRJeChVyZXBlYXRlZF9mb3JlaWduX2VudW0YNCADKA4yKi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduRW51bVITcmVwZWF0ZWRGb3JlaWduRW51bRI2ChVyZXBlYXRlZF9zdHJpbmdfcGllY2UYNiADKAlCAggCUhNyZXBlYXRlZFN0cmluZ1BpZWNlEicKDXJlcGVhdGVkX2NvcmQYNyADKAlCAggBUgxyZXBlYXRlZENvcmQSJQoMcGFja2VkX2ludDMyGEsgAygFQgIQAVILcGFja2VkSW50MzISJQoMcGFja2VkX2ludDY0GEwgAygDQgIQAVILcGFja2VkSW50NjQSJwoNcGFja2VkX3VpbnQzMhhNIAMoDUICEAFSDHBhY2tlZFVpbnQzMhInCg1wYWNrZWRfdWludDY0GE4gAygEQgIQAVIMcGFja2VkVWludDY0EicKDXBhY2tlZF9zaW50MzIYTyADKBFCAhABUgxwYWNrZWRTaW50MzISJwoNcGFja2VkX3NpbnQ2NBhQIAMoEkICEAFSDHBhY2tlZFNpbnQ2NBIpCg5wYWNrZWRfZml4ZWQzMhhRIAMoB0ICEAFSDXBhY2tlZEZpeGVkMzISKQoOcGFja2VkX2ZpeGVkNjQYUiADKAZCAhABUg1wYWNrZWRGaXhlZDY0EisKD3BhY2tlZF9zZml4ZWQzMhhTIAMoD0ICEAFSDnBhY2tlZFNmaXhlZDMyEisKD3BhY2tlZF9zZml4ZWQ2NBhUIAMoEEICEAFSDnBhY2tlZFNmaXhlZDY0EiUKDHBhY2tlZF9mbG9hdBhVIAMoAkICEAFSC3BhY2tlZEZsb2F0EicKDXBhY2tlZF9kb3VibGUYViADKAFCAhABUgxwYWNrZWREb3VibGUSIwoLcGFja2VkX2Jvb2wYVyADKAhCAhABUgpwYWNrZWRCb29sEm4KEnBhY2tlZF9uZXN0ZWRfZW51bRhYIAMoDjI8LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5OZXN0ZWRFbnVtQgIQAVIQcGFja2VkTmVzdGVkRW51bRIpCg51bnBhY2tlZF9pbnQzMhhZIAMoBUICEABSDXVucGFja2VkSW50MzISKQoOdW5wYWNrZWRfaW50NjQYWiADKANCAhAAUg11bnBhY2tlZEludDY0EisKD3VucGFja2VkX3VpbnQzMhhbIAMoDUICEABSDnVucGFja2VkVWludDMyEisKD3VucGFja2VkX3VpbnQ2NBhcIAMoBEICEABSDnVucGFja2VkVWludDY0EisKD3VucGFja2VkX3NpbnQzMhhdIAMoEUICEABSDnVucGFja2VkU2ludDMyEisKD3VucGFja2VkX3NpbnQ2NBheIAMoEkICEABSDnVucGFja2VkU2ludDY0Ei0KEHVucGFja2VkX2ZpeGVkMzIYXyADKAdCAhAAUg91bnBhY2tlZEZpeGVkMzISLQoQdW5wYWNrZWRfZml4ZWQ2NBhgIAMoBkICEABSD3VucGFja2VkRml4ZWQ2NBIvChF1bnBhY2tlZF9zZml4ZWQzMhhhIAMoD0ICEABSEHVucGFja2VkU2ZpeGVkMzISLwoRdW5wYWNrZWRfc2ZpeGVkNjQYYiADKBBCAhAAUhB1bnBhY2tlZFNmaXhlZDY0EikKDnVucGFja2VkX2Zsb2F0GGMgAygCQgIQAFINdW5wYWNrZWRGbG9hdBIrCg91bnBhY2tlZF9kb3VibGUYZCADKAFCAhAAUg51bnBhY2tlZERvdWJsZRInCg11bnBhY2tlZF9ib29sGGUgAygIQgIQAFIMdW5wYWNrZWRCb29sEnIKFHVucGFja2VkX25lc3RlZF9lbnVtGGYgAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1CAhAAUhJ1bnBhY2tlZE5lc3RlZEVudW0SbAoPbWFwX2ludDMyX2ludDMyGDggAygLMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEludDMySW50MzJFbnRyeVINbWFwSW50MzJJbnQzMhJsCg9tYXBfaW50NjRfaW50NjQYOSADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwSW50NjRJbnQ2NEVudHJ5Ug1tYXBJbnQ2NEludDY0EnIKEW1hcF91aW50MzJfdWludDMyGDogAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFVpbnQzMlVpbnQzMkVudHJ5Ug9tYXBVaW50MzJVaW50MzIScgoRbWFwX3VpbnQ2NF91aW50NjQYOyADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwVWludDY0VWludDY0RW50cnlSD21hcFVpbnQ2NFVpbnQ2NBJyChFtYXBfc2ludDMyX3NpbnQzMhg8IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTaW50MzJTaW50MzJFbnRyeVIPbWFwU2ludDMyU2ludDMyEnIKEW1hcF9zaW50NjRfc2ludDY0GD0gAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFNpbnQ2NFNpbnQ2NEVudHJ5Ug9tYXBTaW50NjRTaW50NjQSeAoTbWFwX2ZpeGVkMzJfZml4ZWQzMhg+IAMoCzJILnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBGaXhlZDMyRml4ZWQzMkVudHJ5UhFtYXBGaXhlZDMyRml4ZWQzMhJ4ChNtYXBfZml4ZWQ2NF9maXhlZDY0GD8gAygLMkgucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcEZpeGVkNjRGaXhlZDY0RW50cnlSEW1hcEZpeGVkNjRGaXhlZDY0En4KFW1hcF9zZml4ZWQzMl9zZml4ZWQzMhhAIAMoCzJKLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTZml4ZWQzMlNmaXhlZDMyRW50cnlSE21hcFNmaXhlZDMyU2ZpeGVkMzISfgoVbWFwX3NmaXhlZDY0X3NmaXhlZDY0GEEgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFNmaXhlZDY0U2ZpeGVkNjRFbnRyeVITbWFwU2ZpeGVkNjRTZml4ZWQ2NBJsCg9tYXBfaW50MzJfZmxvYXQYQiADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwSW50MzJGbG9hdEVudHJ5Ug1tYXBJbnQzMkZsb2F0Em8KEG1hcF9pbnQzMl9kb3VibGUYQyADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwSW50MzJEb3VibGVFbnRyeVIObWFwSW50MzJEb3VibGUSZgoNbWFwX2Jvb2xfYm9vbBhEIAMoCzJCLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBCb29sQm9vbEVudHJ5UgttYXBCb29sQm9vbBJyChFtYXBfc3RyaW5nX3N0cmluZxhFIAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTdHJpbmdTdHJpbmdFbnRyeVIPbWFwU3RyaW5nU3RyaW5nEm8KEG1hcF9zdHJpbmdfYnl0ZXMYRiADKAsyRS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nQnl0ZXNFbnRyeVIObWFwU3RyaW5nQnl0ZXMSiAEKGW1hcF9zdHJpbmdfbmVzdGVkX21lc3NhZ2UYRyADKAsyTS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5UhZtYXBTdHJpbmdOZXN0ZWRNZXNzYWdlEosBChptYXBfc3RyaW5nX2ZvcmVpZ25fbWVzc2FnZRhIIAMoCzJOLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8zLlRlc3RBbGxUeXBlc1Byb3RvMy5NYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5UhdtYXBTdHJpbmdGb3JlaWduTWVzc2FnZRJ/ChZtYXBfc3RyaW5nX25lc3RlZF9lbnVtGEkgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk1hcFN0cmluZ05lc3RlZEVudW1FbnRyeVITbWFwU3RyaW5nTmVzdGVkRW51bRKCAQoXbWFwX3N0cmluZ19mb3JlaWduX2VudW0YSiADKAsySy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTWFwU3RyaW5nRm9yZWlnbkVudW1FbnRyeVIUbWFwU3RyaW5nRm9yZWlnbkVudW0SIwoMb25lb2ZfdWludDMyGG8gASgNSABSC29uZW9mVWludDMyEnMKFG9uZW9mX25lc3RlZF9tZXNzYWdlGHAgASgLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZE1lc3NhZ2VIAFISb25lb2ZOZXN0ZWRNZXNzYWdlEiMKDG9uZW9mX3N0cmluZxhxIAEoCUgAUgtvbmVvZlN0cmluZxIhCgtvbmVvZl9ieXRlcxhyIAEoDEgAUgpvbmVvZkJ5dGVzEh8KCm9uZW9mX2Jvb2wYcyABKAhIAFIJb25lb2ZCb29sEiMKDG9uZW9mX3VpbnQ2NBh0IAEoBEgAUgtvbmVvZlVpbnQ2NBIhCgtvbmVvZl9mbG9hdBh1IAEoAkgAUgpvbmVvZkZsb2F0EiMKDG9uZW9mX2RvdWJsZRh2IAEoAUgAUgtvbmVvZkRvdWJsZRJdCgpvbmVvZl9lbnVtGHcgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzMuVGVzdEFsbFR5cGVzUHJvdG8zLk5lc3RlZEVudW1IAFIJb25lb2ZFbnVtEkYKEG9uZW9mX251bGxfdmFsdWUYeCABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSABSDm9uZW9mTnVsbFZhbHVlEk8KFW9wdGlvbmFsX2Jvb2xfd3JhcHBlchjJASABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUhNvcHRpb25hbEJvb2xXcmFwcGVyElIKFm9wdGlvbmFsX2ludDMyX3dyYXBwZXIYygEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSFG9wdGlvbmFsSW50MzJXcmFwcGVyElIKFm9wdGlvbmFsX2ludDY0X3dyYXBwZXIYywEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSFG9wdGlvbmFsSW50NjRXcmFwcGVyElUKF29wdGlvbmFsX3VpbnQzMl93cmFwcGVyGMwBIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZVIVb3B0aW9uYWxVaW50MzJXcmFwcGVyElUKF29wdGlvbmFsX3VpbnQ2NF93cmFwcGVyGM0BIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50NjRWYWx1ZVIVb3B0aW9uYWxVaW50NjRXcmFwcGVyElIKFm9wdGlvbmFsX2Zsb2F0X3dyYXBwZXIYzgEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVSFG9wdGlvbmFsRmxvYXRXcmFwcGVyElUKF29wdGlvbmFsX2RvdWJsZV93cmFwcGVyGM8BIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVIVb3B0aW9uYWxEb3VibGVXcmFwcGVyElUKF29wdGlvbmFsX3N0cmluZ193cmFwcGVyGNABIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIVb3B0aW9uYWxTdHJpbmdXcmFwcGVyElIKFm9wdGlvbmFsX2J5dGVzX3dyYXBwZXIY0QEgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWVSFG9wdGlvbmFsQnl0ZXNXcmFwcGVyEk8KFXJlcGVhdGVkX2Jvb2xfd3JhcHBlchjTASADKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUhNyZXBlYXRlZEJvb2xXcmFwcGVyElIKFnJlcGVhdGVkX2ludDMyX3dyYXBwZXIY1AEgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSFHJlcGVhdGVkSW50MzJXcmFwcGVyElIKFnJlcGVhdGVkX2ludDY0X3dyYXBwZXIY1QEgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSFHJlcGVhdGVkSW50NjRXcmFwcGVyElUKF3JlcGVhdGVkX3VpbnQzMl93cmFwcGVyGNYBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZVIVcmVwZWF0ZWRVaW50MzJXcmFwcGVyElUKF3JlcGVhdGVkX3VpbnQ2NF93cmFwcGVyGNcBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50NjRWYWx1ZVIVcmVwZWF0ZWRVaW50NjRXcmFwcGVyElIKFnJlcGVhdGVkX2Zsb2F0X3dyYXBwZXIY2AEgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWVSFHJlcGVhdGVkRmxvYXRXcmFwcGVyElUKF3JlcGVhdGVkX2RvdWJsZV93cmFwcGVyGNkBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5Eb3VibGVWYWx1ZVIVcmVwZWF0ZWREb3VibGVXcmFwcGVyElUKF3JlcGVhdGVkX3N0cmluZ193cmFwcGVyGNoBIAMoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIVcmVwZWF0ZWRTdHJpbmdXcmFwcGVyElIKFnJlcGVhdGVkX2J5dGVzX3dyYXBwZXIY2wEgAygLMhsuZ29vZ2xlLnByb3RvYnVmLkJ5dGVzVmFsdWVSFHJlcGVhdGVkQnl0ZXNXcmFwcGVyEkcKEW9wdGlvbmFsX2R1cmF0aW9uGK0CIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIQb3B0aW9uYWxEdXJhdGlvbhJKChJvcHRpb25hbF90aW1lc3RhbXAYrgIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIRb3B0aW9uYWxUaW1lc3RhbXASSwoTb3B0aW9uYWxfZmllbGRfbWFzaxivAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrUhFvcHRpb25hbEZpZWxkTWFzaxJBCg9vcHRpb25hbF9zdHJ1Y3QYsAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdFIOb3B0aW9uYWxTdHJ1Y3QSOAoMb3B0aW9uYWxfYW55GLECIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSC29wdGlvbmFsQW55Ej4KDm9wdGlvbmFsX3ZhbHVlGLICIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVINb3B0aW9uYWxWYWx1ZRJLChNvcHRpb25hbF9udWxsX3ZhbHVlGLMCIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVSEW9wdGlvbmFsTnVsbFZhbHVlEkcKEXJlcGVhdGVkX2R1cmF0aW9uGLcCIAMoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvblIQcmVwZWF0ZWREdXJhdGlvbhJKChJyZXBlYXRlZF90aW1lc3RhbXAYuAIgAygLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIRcmVwZWF0ZWRUaW1lc3RhbXASSgoScmVwZWF0ZWRfZmllbGRtYXNrGLkCIAMoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tSEXJlcGVhdGVkRmllbGRtYXNrEkEKD3JlcGVhdGVkX3N0cnVjdBjEAiADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ug5yZXBlYXRlZFN0cnVjdBI4CgxyZXBlYXRlZF9hbnkYuwIgAygLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVILcmVwZWF0ZWRBbnkSPgoOcmVwZWF0ZWRfdmFsdWUYvAIgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUg1yZXBlYXRlZFZhbHVlEksKE3JlcGVhdGVkX2xpc3RfdmFsdWUYvQIgAygLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZVIRcmVwZWF0ZWRMaXN0VmFsdWUSHwoKZmllbGRuYW1lMRiRAyABKAVSCmZpZWxkbmFtZTESIAoLZmllbGRfbmFtZTIYkgMgASgFUgpmaWVsZE5hbWUyEiEKDF9maWVsZF9uYW1lMxiTAyABKAVSCkZpZWxkTmFtZTMSIgoNZmllbGRfX25hbWU0XxiUAyABKAVSCmZpZWxkTmFtZTQSIQoLZmllbGQwbmFtZTUYlQMgASgFUgtmaWVsZDBuYW1lNRIjCg1maWVsZF8wX25hbWU2GJYDIAEoBVILZmllbGQwTmFtZTYSHwoKZmllbGROYW1lNxiXAyABKAVSCmZpZWxkTmFtZTcSHwoKRmllbGROYW1lOBiYAyABKAVSCkZpZWxkTmFtZTgSIAoLZmllbGRfTmFtZTkYmQMgASgFUgpmaWVsZE5hbWU5EiIKDEZpZWxkX05hbWUxMBiaAyABKAVSC0ZpZWxkTmFtZTEwEiIKDEZJRUxEX05BTUUxMRibAyABKAVSC0ZJRUxETkFNRTExEiIKDEZJRUxEX25hbWUxMhicAyABKAVSC0ZJRUxETmFtZTEyEiQKDl9fZmllbGRfbmFtZTEzGJ0DIAEoBVILRmllbGROYW1lMTMSJAoOX19GaWVsZF9uYW1lMTQYngMgASgFUgtGaWVsZE5hbWUxNBIjCg1maWVsZF9fbmFtZTE1GJ8DIAEoBVILZmllbGROYW1lMTUSIwoNZmllbGRfX05hbWUxNhigAyABKAVSC2ZpZWxkTmFtZTE2EiQKDmZpZWxkX25hbWUxN19fGKEDIAEoBVILZmllbGROYW1lMTcSJAoORmllbGRfbmFtZTE4X18YogMgASgFUgtGaWVsZE5hbWUxOBpyCg1OZXN0ZWRNZXNzYWdlEgwKAWEYASABKAVSAWESUwoLY29yZWN1cnNpdmUYAiABKAsyMS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzNSC2NvcmVjdXJzaXZlGkAKEk1hcEludDMySW50MzJFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoBVIFdmFsdWU6AjgBGkAKEk1hcEludDY0SW50NjRFbnRyeRIQCgNrZXkYASABKANSA2tleRIUCgV2YWx1ZRgCIAEoA1IFdmFsdWU6AjgBGkIKFE1hcFVpbnQzMlVpbnQzMkVudHJ5EhAKA2tleRgBIAEoDVIDa2V5EhQKBXZhbHVlGAIgASgNUgV2YWx1ZToCOAEaQgoUTWFwVWludDY0VWludDY0RW50cnkSEAoDa2V5GAEgASgEUgNrZXkSFAoFdmFsdWUYAiABKARSBXZhbHVlOgI4ARpCChRNYXBTaW50MzJTaW50MzJFbnRyeRIQCgNrZXkYASABKBFSA2tleRIUCgV2YWx1ZRgCIAEoEVIFdmFsdWU6AjgBGkIKFE1hcFNpbnQ2NFNpbnQ2NEVudHJ5EhAKA2tleRgBIAEoElIDa2V5EhQKBXZhbHVlGAIgASgSUgV2YWx1ZToCOAEaRAoWTWFwRml4ZWQzMkZpeGVkMzJFbnRyeRIQCgNrZXkYASABKAdSA2tleRIUCgV2YWx1ZRgCIAEoB1IFdmFsdWU6AjgBGkQKFk1hcEZpeGVkNjRGaXhlZDY0RW50cnkSEAoDa2V5GAEgASgGUgNrZXkSFAoFdmFsdWUYAiABKAZSBXZhbHVlOgI4ARpGChhNYXBTZml4ZWQzMlNmaXhlZDMyRW50cnkSEAoDa2V5GAEgASgPUgNrZXkSFAoFdmFsdWUYAiABKA9SBXZhbHVlOgI4ARpGChhNYXBTZml4ZWQ2NFNmaXhlZDY0RW50cnkSEAoDa2V5GAEgASgQUgNrZXkSFAoFdmFsdWUYAiABKBBSBXZhbHVlOgI4ARpAChJNYXBJbnQzMkZsb2F0RW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAJSBXZhbHVlOgI4ARpBChNNYXBJbnQzMkRvdWJsZUVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgBUgV2YWx1ZToCOAEaPgoQTWFwQm9vbEJvb2xFbnRyeRIQCgNrZXkYASABKAhSA2tleRIUCgV2YWx1ZRgCIAEoCFIFdmFsdWU6AjgBGkIKFE1hcFN0cmluZ1N0cmluZ0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaQQoTTWFwU3RyaW5nQnl0ZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoDFIFdmFsdWU6AjgBGooBChtNYXBTdHJpbmdOZXN0ZWRNZXNzYWdlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSVQoFdmFsdWUYAiABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkTWVzc2FnZVIFdmFsdWU6AjgBGnkKHE1hcFN0cmluZ0ZvcmVpZ25NZXNzYWdlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSQwoFdmFsdWUYAiABKAsyLS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduTWVzc2FnZVIFdmFsdWU6AjgBGoQBChhNYXBTdHJpbmdOZXN0ZWRFbnVtRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSUgoFdmFsdWUYAiABKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5UZXN0QWxsVHlwZXNQcm90bzMuTmVzdGVkRW51bVIFdmFsdWU6AjgBGnMKGU1hcFN0cmluZ0ZvcmVpZ25FbnVtRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSQAoFdmFsdWUYAiABKA4yKi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMy5Gb3JlaWduRW51bVIFdmFsdWU6AjgBIjkKCk5lc3RlZEVudW0SBwoDRk9PEAASBwoDQkFSEAESBwoDQkFaEAISEAoDTkVHEP///////////wEiWQoLQWxpYXNlZEVudW0SDQoJQUxJQVNfRk9PEAASDQoJQUxJQVNfQkFSEAESDQoJQUxJQVNfQkFaEAISBwoDTU9PEAISBwoDbW9vEAISBwoDYkF6EAIaAhABQg0KC29uZW9mX2ZpZWxkSgYI9QMQ/wMiHgoORm9yZWlnbk1lc3NhZ2USDAoBYxgBIAEoBVIBYyIWChROdWxsSHlwb3RoZXNpc1Byb3RvMyIvCg5FbnVtT25seVByb3RvMyIdCgRCb29sEgoKBmtGYWxzZRAAEgkKBWtUcnVlEAEqQAoLRm9yZWlnbkVudW0SDwoLRk9SRUlHTl9GT08QABIPCgtGT1JFSUdOX0JBUhABEg8KC0ZPUkVJR05fQkFaEAJCOAooY29tLmdvb2dsZS5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvM0gB+AEBogIGUHJvdG8zSutmCgcSBQ4AiAIBCogDCgEMEgMOABIy/QIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCiBUZXN0IHNjaGVtYSBmb3IgcHJvdG8zIG1lc3NhZ2VzLiAgVGhpcyB0ZXN0IHNjaGVtYSBpcyB1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BP4BAhIKDQoFBQACAgESBP4BAg0KDQoFBQACAgISBP4BEBEKCgoCBAISBIECAB8KCwoDBAIBEgSBAggcCgwKAgQDEgaDAgCIAgEKCwoDBAMBEgSDAggWCg4KBAQDBAASBoQCAocCAwoNCgUEAwQAARIEhAIHCwoOCgYEAwQAAgASBIUCBA8KDwoHBAMEAAIAARIEhQIECgoPCgcEAwQAAgACEgSFAg0OCg4KBgQDBAACARIEhgIEDgoPCgcEAwQAAgEBEgSGAgQJCg8KBwQDBAACAQISBIYCDA1iBnByb3RvMwqSkwIKKmdvb2dsZS9wcm90b2J1Zi90ZXN0X21lc3NhZ2VzX3Byb3RvMi5wcm90bxIdcHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIikFMKElRlc3RBbGxUeXBlc1Byb3RvMhIlCg5vcHRpb25hbF9pbnQzMhgBIAEoBVINb3B0aW9uYWxJbnQzMhIlCg5vcHRpb25hbF9pbnQ2NBgCIAEoA1INb3B0aW9uYWxJbnQ2NBInCg9vcHRpb25hbF91aW50MzIYAyABKA1SDm9wdGlvbmFsVWludDMyEicKD29wdGlvbmFsX3VpbnQ2NBgEIAEoBFIOb3B0aW9uYWxVaW50NjQSJwoPb3B0aW9uYWxfc2ludDMyGAUgASgRUg5vcHRpb25hbFNpbnQzMhInCg9vcHRpb25hbF9zaW50NjQYBiABKBJSDm9wdGlvbmFsU2ludDY0EikKEG9wdGlvbmFsX2ZpeGVkMzIYByABKAdSD29wdGlvbmFsRml4ZWQzMhIpChBvcHRpb25hbF9maXhlZDY0GAggASgGUg9vcHRpb25hbEZpeGVkNjQSKwoRb3B0aW9uYWxfc2ZpeGVkMzIYCSABKA9SEG9wdGlvbmFsU2ZpeGVkMzISKwoRb3B0aW9uYWxfc2ZpeGVkNjQYCiABKBBSEG9wdGlvbmFsU2ZpeGVkNjQSJQoOb3B0aW9uYWxfZmxvYXQYCyABKAJSDW9wdGlvbmFsRmxvYXQSJwoPb3B0aW9uYWxfZG91YmxlGAwgASgBUg5vcHRpb25hbERvdWJsZRIjCg1vcHRpb25hbF9ib29sGA0gASgIUgxvcHRpb25hbEJvb2wSJwoPb3B0aW9uYWxfc3RyaW5nGA4gASgJUg5vcHRpb25hbFN0cmluZxIlCg5vcHRpb25hbF9ieXRlcxgPIAEoDFINb3B0aW9uYWxCeXRlcxJ3ChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgSIAEoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRNZXNzYWdlUhVvcHRpb25hbE5lc3RlZE1lc3NhZ2USbQoYb3B0aW9uYWxfZm9yZWlnbl9tZXNzYWdlGBMgASgLMjMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuRm9yZWlnbk1lc3NhZ2VQcm90bzJSFm9wdGlvbmFsRm9yZWlnbk1lc3NhZ2USbgoUb3B0aW9uYWxfbmVzdGVkX2VudW0YFSABKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkRW51bVISb3B0aW9uYWxOZXN0ZWRFbnVtEmQKFW9wdGlvbmFsX2ZvcmVpZ25fZW51bRgWIAEoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25FbnVtUHJvdG8yUhNvcHRpb25hbEZvcmVpZ25FbnVtEjYKFW9wdGlvbmFsX3N0cmluZ19waWVjZRgYIAEoCUICCAJSE29wdGlvbmFsU3RyaW5nUGllY2USJwoNb3B0aW9uYWxfY29yZBgZIAEoCUICCAFSDG9wdGlvbmFsQ29yZBJeChFyZWN1cnNpdmVfbWVzc2FnZRgbIAEoCzIxLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMlIQcmVjdXJzaXZlTWVzc2FnZRIlCg5yZXBlYXRlZF9pbnQzMhgfIAMoBVINcmVwZWF0ZWRJbnQzMhIlCg5yZXBlYXRlZF9pbnQ2NBggIAMoA1INcmVwZWF0ZWRJbnQ2NBInCg9yZXBlYXRlZF91aW50MzIYISADKA1SDnJlcGVhdGVkVWludDMyEicKD3JlcGVhdGVkX3VpbnQ2NBgiIAMoBFIOcmVwZWF0ZWRVaW50NjQSJwoPcmVwZWF0ZWRfc2ludDMyGCMgAygRUg5yZXBlYXRlZFNpbnQzMhInCg9yZXBlYXRlZF9zaW50NjQYJCADKBJSDnJlcGVhdGVkU2ludDY0EikKEHJlcGVhdGVkX2ZpeGVkMzIYJSADKAdSD3JlcGVhdGVkRml4ZWQzMhIpChByZXBlYXRlZF9maXhlZDY0GCYgAygGUg9yZXBlYXRlZEZpeGVkNjQSKwoRcmVwZWF0ZWRfc2ZpeGVkMzIYJyADKA9SEHJlcGVhdGVkU2ZpeGVkMzISKwoRcmVwZWF0ZWRfc2ZpeGVkNjQYKCADKBBSEHJlcGVhdGVkU2ZpeGVkNjQSJQoOcmVwZWF0ZWRfZmxvYXQYKSADKAJSDXJlcGVhdGVkRmxvYXQSJwoPcmVwZWF0ZWRfZG91YmxlGCogAygBUg5yZXBlYXRlZERvdWJsZRIjCg1yZXBlYXRlZF9ib29sGCsgAygIUgxyZXBlYXRlZEJvb2wSJwoPcmVwZWF0ZWRfc3RyaW5nGCwgAygJUg5yZXBlYXRlZFN0cmluZxIlCg5yZXBlYXRlZF9ieXRlcxgtIAMoDFINcmVwZWF0ZWRCeXRlcxJ3ChdyZXBlYXRlZF9uZXN0ZWRfbWVzc2FnZRgwIAMoCzI/LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5OZXN0ZWRNZXNzYWdlUhVyZXBlYXRlZE5lc3RlZE1lc3NhZ2USbQoYcmVwZWF0ZWRfZm9yZWlnbl9tZXNzYWdlGDEgAygLMjMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuRm9yZWlnbk1lc3NhZ2VQcm90bzJSFnJlcGVhdGVkRm9yZWlnbk1lc3NhZ2USbgoUcmVwZWF0ZWRfbmVzdGVkX2VudW0YMyADKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkRW51bVIScmVwZWF0ZWROZXN0ZWRFbnVtEmQKFXJlcGVhdGVkX2ZvcmVpZ25fZW51bRg0IAMoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25FbnVtUHJvdG8yUhNyZXBlYXRlZEZvcmVpZ25FbnVtEjYKFXJlcGVhdGVkX3N0cmluZ19waWVjZRg2IAMoCUICCAJSE3JlcGVhdGVkU3RyaW5nUGllY2USJwoNcmVwZWF0ZWRfY29yZBg3IAMoCUICCAFSDHJlcGVhdGVkQ29yZBIlCgxwYWNrZWRfaW50MzIYSyADKAVCAhABUgtwYWNrZWRJbnQzMhIlCgxwYWNrZWRfaW50NjQYTCADKANCAhABUgtwYWNrZWRJbnQ2NBInCg1wYWNrZWRfdWludDMyGE0gAygNQgIQAVIMcGFja2VkVWludDMyEicKDXBhY2tlZF91aW50NjQYTiADKARCAhABUgxwYWNrZWRVaW50NjQSJwoNcGFja2VkX3NpbnQzMhhPIAMoEUICEAFSDHBhY2tlZFNpbnQzMhInCg1wYWNrZWRfc2ludDY0GFAgAygSQgIQAVIMcGFja2VkU2ludDY0EikKDnBhY2tlZF9maXhlZDMyGFEgAygHQgIQAVINcGFja2VkRml4ZWQzMhIpCg5wYWNrZWRfZml4ZWQ2NBhSIAMoBkICEAFSDXBhY2tlZEZpeGVkNjQSKwoPcGFja2VkX3NmaXhlZDMyGFMgAygPQgIQAVIOcGFja2VkU2ZpeGVkMzISKwoPcGFja2VkX3NmaXhlZDY0GFQgAygQQgIQAVIOcGFja2VkU2ZpeGVkNjQSJQoMcGFja2VkX2Zsb2F0GFUgAygCQgIQAVILcGFja2VkRmxvYXQSJwoNcGFja2VkX2RvdWJsZRhWIAMoAUICEAFSDHBhY2tlZERvdWJsZRIjCgtwYWNrZWRfYm9vbBhXIAMoCEICEAFSCnBhY2tlZEJvb2wSbgoScGFja2VkX25lc3RlZF9lbnVtGFggAygOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1CAhABUhBwYWNrZWROZXN0ZWRFbnVtEikKDnVucGFja2VkX2ludDMyGFkgAygFQgIQAFINdW5wYWNrZWRJbnQzMhIpCg51bnBhY2tlZF9pbnQ2NBhaIAMoA0ICEABSDXVucGFja2VkSW50NjQSKwoPdW5wYWNrZWRfdWludDMyGFsgAygNQgIQAFIOdW5wYWNrZWRVaW50MzISKwoPdW5wYWNrZWRfdWludDY0GFwgAygEQgIQAFIOdW5wYWNrZWRVaW50NjQSKwoPdW5wYWNrZWRfc2ludDMyGF0gAygRQgIQAFIOdW5wYWNrZWRTaW50MzISKwoPdW5wYWNrZWRfc2ludDY0GF4gAygSQgIQAFIOdW5wYWNrZWRTaW50NjQSLQoQdW5wYWNrZWRfZml4ZWQzMhhfIAMoB0ICEABSD3VucGFja2VkRml4ZWQzMhItChB1bnBhY2tlZF9maXhlZDY0GGAgAygGQgIQAFIPdW5wYWNrZWRGaXhlZDY0Ei8KEXVucGFja2VkX3NmaXhlZDMyGGEgAygPQgIQAFIQdW5wYWNrZWRTZml4ZWQzMhIvChF1bnBhY2tlZF9zZml4ZWQ2NBhiIAMoEEICEABSEHVucGFja2VkU2ZpeGVkNjQSKQoOdW5wYWNrZWRfZmxvYXQYYyADKAJCAhAAUg11bnBhY2tlZEZsb2F0EisKD3VucGFja2VkX2RvdWJsZRhkIAMoAUICEABSDnVucGFja2VkRG91YmxlEicKDXVucGFja2VkX2Jvb2wYZSADKAhCAhAAUgx1bnBhY2tlZEJvb2wScgoUdW5wYWNrZWRfbmVzdGVkX2VudW0YZiADKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkRW51bUICEABSEnVucGFja2VkTmVzdGVkRW51bRJsCg9tYXBfaW50MzJfaW50MzIYOCADKAsyRC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwSW50MzJJbnQzMkVudHJ5Ug1tYXBJbnQzMkludDMyEmwKD21hcF9pbnQ2NF9pbnQ2NBg5IAMoCzJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBJbnQ2NEludDY0RW50cnlSDW1hcEludDY0SW50NjQScgoRbWFwX3VpbnQzMl91aW50MzIYOiADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwVWludDMyVWludDMyRW50cnlSD21hcFVpbnQzMlVpbnQzMhJyChFtYXBfdWludDY0X3VpbnQ2NBg7IAMoCzJGLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBVaW50NjRVaW50NjRFbnRyeVIPbWFwVWludDY0VWludDY0EnIKEW1hcF9zaW50MzJfc2ludDMyGDwgAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNpbnQzMlNpbnQzMkVudHJ5Ug9tYXBTaW50MzJTaW50MzIScgoRbWFwX3NpbnQ2NF9zaW50NjQYPSADKAsyRi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU2ludDY0U2ludDY0RW50cnlSD21hcFNpbnQ2NFNpbnQ2NBJ4ChNtYXBfZml4ZWQzMl9maXhlZDMyGD4gAygLMkgucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEZpeGVkMzJGaXhlZDMyRW50cnlSEW1hcEZpeGVkMzJGaXhlZDMyEngKE21hcF9maXhlZDY0X2ZpeGVkNjQYPyADKAsySC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwRml4ZWQ2NEZpeGVkNjRFbnRyeVIRbWFwRml4ZWQ2NEZpeGVkNjQSfgoVbWFwX3NmaXhlZDMyX3NmaXhlZDMyGEAgAygLMkoucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFNmaXhlZDMyU2ZpeGVkMzJFbnRyeVITbWFwU2ZpeGVkMzJTZml4ZWQzMhJ+ChVtYXBfc2ZpeGVkNjRfc2ZpeGVkNjQYQSADKAsySi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5UhNtYXBTZml4ZWQ2NFNmaXhlZDY0EmwKD21hcF9pbnQzMl9mbG9hdBhCIAMoCzJELnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBJbnQzMkZsb2F0RW50cnlSDW1hcEludDMyRmxvYXQSbwoQbWFwX2ludDMyX2RvdWJsZRhDIAMoCzJFLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBJbnQzMkRvdWJsZUVudHJ5Ug5tYXBJbnQzMkRvdWJsZRJmCg1tYXBfYm9vbF9ib29sGEQgAygLMkIucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcEJvb2xCb29sRW50cnlSC21hcEJvb2xCb29sEnIKEW1hcF9zdHJpbmdfc3RyaW5nGEUgAygLMkYucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFN0cmluZ1N0cmluZ0VudHJ5Ug9tYXBTdHJpbmdTdHJpbmcSbwoQbWFwX3N0cmluZ19ieXRlcxhGIAMoCzJFLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdCeXRlc0VudHJ5Ug5tYXBTdHJpbmdCeXRlcxKIAQoZbWFwX3N0cmluZ19uZXN0ZWRfbWVzc2FnZRhHIAMoCzJNLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdOZXN0ZWRNZXNzYWdlRW50cnlSFm1hcFN0cmluZ05lc3RlZE1lc3NhZ2USiwEKGm1hcF9zdHJpbmdfZm9yZWlnbl9tZXNzYWdlGEggAygLMk4ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1hcFN0cmluZ0ZvcmVpZ25NZXNzYWdlRW50cnlSF21hcFN0cmluZ0ZvcmVpZ25NZXNzYWdlEn8KFm1hcF9zdHJpbmdfbmVzdGVkX2VudW0YSSADKAsySi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTWFwU3RyaW5nTmVzdGVkRW51bUVudHJ5UhNtYXBTdHJpbmdOZXN0ZWRFbnVtEoIBChdtYXBfc3RyaW5nX2ZvcmVpZ25fZW51bRhKIAMoCzJLLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NYXBTdHJpbmdGb3JlaWduRW51bUVudHJ5UhRtYXBTdHJpbmdGb3JlaWduRW51bRIjCgxvbmVvZl91aW50MzIYbyABKA1IAFILb25lb2ZVaW50MzIScwoUb25lb2ZfbmVzdGVkX21lc3NhZ2UYcCABKAsyPy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZUgAUhJvbmVvZk5lc3RlZE1lc3NhZ2USIwoMb25lb2Zfc3RyaW5nGHEgASgJSABSC29uZW9mU3RyaW5nEiEKC29uZW9mX2J5dGVzGHIgASgMSABSCm9uZW9mQnl0ZXMSHwoKb25lb2ZfYm9vbBhzIAEoCEgAUglvbmVvZkJvb2wSIwoMb25lb2ZfdWludDY0GHQgASgESABSC29uZW9mVWludDY0EiEKC29uZW9mX2Zsb2F0GHUgASgCSABSCm9uZW9mRmxvYXQSIwoMb25lb2ZfZG91YmxlGHYgASgBSABSC29uZW9mRG91YmxlEl0KCm9uZW9mX2VudW0YdyABKA4yPC5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuTmVzdGVkRW51bUgAUglvbmVvZkVudW0SSwoEZGF0YRjJASABKAoyNi5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5UZXN0QWxsVHlwZXNQcm90bzIuRGF0YVIEZGF0YRJ4ChNtdWx0aXdvcmRncm91cGZpZWxkGMwBIAEoCjJFLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NdWx0aVdvcmRHcm91cEZpZWxkUhNtdWx0aXdvcmRncm91cGZpZWxkEjAKDWRlZmF1bHRfaW50MzIY8QEgASgFOgotMTIzNDU2Nzg5UgxkZWZhdWx0SW50MzISOgoNZGVmYXVsdF9pbnQ2NBjyASABKAM6FC05MTIzNDU2Nzg5MTIzNDU2Nzg5UgxkZWZhdWx0SW50NjQSMgoOZGVmYXVsdF91aW50MzIY8wEgASgNOgoyMTIzNDU2Nzg5Ug1kZWZhdWx0VWludDMyEjwKDmRlZmF1bHRfdWludDY0GPQBIAEoBDoUMTAxMjM0NTY3ODkxMjM0NTY3ODlSDWRlZmF1bHRVaW50NjQSMgoOZGVmYXVsdF9zaW50MzIY9QEgASgROgotMTIzNDU2Nzg5Ug1kZWZhdWx0U2ludDMyEjwKDmRlZmF1bHRfc2ludDY0GPYBIAEoEjoULTkxMjM0NTY3ODkxMjM0NTY3ODlSDWRlZmF1bHRTaW50NjQSNAoPZGVmYXVsdF9maXhlZDMyGPcBIAEoBzoKMjEyMzQ1Njc4OVIOZGVmYXVsdEZpeGVkMzISPgoPZGVmYXVsdF9maXhlZDY0GPgBIAEoBjoUMTAxMjM0NTY3ODkxMjM0NTY3ODlSDmRlZmF1bHRGaXhlZDY0EjYKEGRlZmF1bHRfc2ZpeGVkMzIY+QEgASgPOgotMTIzNDU2Nzg5Ug9kZWZhdWx0U2ZpeGVkMzISQAoQZGVmYXVsdF9zZml4ZWQ2NBj6ASABKBA6FC05MTIzNDU2Nzg5MTIzNDU2Nzg5Ug9kZWZhdWx0U2ZpeGVkNjQSKwoNZGVmYXVsdF9mbG9hdBj7ASABKAI6BTllKzA5UgxkZWZhdWx0RmxvYXQSLQoOZGVmYXVsdF9kb3VibGUY/AEgASgBOgU3ZSsyMlINZGVmYXVsdERvdWJsZRIoCgxkZWZhdWx0X2Jvb2wY/QEgASgIOgR0cnVlUgtkZWZhdWx0Qm9vbBIvCg5kZWZhdWx0X3N0cmluZxj+ASABKAk6B1Jvc2VidWRSDWRlZmF1bHRTdHJpbmcSLAoNZGVmYXVsdF9ieXRlcxj/ASABKAw6Bmpvc2h1YVIMZGVmYXVsdEJ5dGVzEh8KCmZpZWxkbmFtZTEYkQMgASgFUgpmaWVsZG5hbWUxEiAKC2ZpZWxkX25hbWUyGJIDIAEoBVIKZmllbGROYW1lMhIhCgxfZmllbGRfbmFtZTMYkwMgASgFUgpGaWVsZE5hbWUzEiIKDWZpZWxkX19uYW1lNF8YlAMgASgFUgpmaWVsZE5hbWU0EiEKC2ZpZWxkMG5hbWU1GJUDIAEoBVILZmllbGQwbmFtZTUSIwoNZmllbGRfMF9uYW1lNhiWAyABKAVSC2ZpZWxkME5hbWU2Eh8KCmZpZWxkTmFtZTcYlwMgASgFUgpmaWVsZE5hbWU3Eh8KCkZpZWxkTmFtZTgYmAMgASgFUgpGaWVsZE5hbWU4EiAKC2ZpZWxkX05hbWU5GJkDIAEoBVIKZmllbGROYW1lORIiCgxGaWVsZF9OYW1lMTAYmgMgASgFUgtGaWVsZE5hbWUxMBIiCgxGSUVMRF9OQU1FMTEYmwMgASgFUgtGSUVMRE5BTUUxMRIiCgxGSUVMRF9uYW1lMTIYnAMgASgFUgtGSUVMRE5hbWUxMhIkCg5fX2ZpZWxkX25hbWUxMxidAyABKAVSC0ZpZWxkTmFtZTEzEiQKDl9fRmllbGRfbmFtZTE0GJ4DIAEoBVILRmllbGROYW1lMTQSIwoNZmllbGRfX25hbWUxNRifAyABKAVSC2ZpZWxkTmFtZTE1EiMKDWZpZWxkX19OYW1lMTYYoAMgASgFUgtmaWVsZE5hbWUxNhIkCg5maWVsZF9uYW1lMTdfXxihAyABKAVSC2ZpZWxkTmFtZTE3EiQKDkZpZWxkX25hbWUxOF9fGKIDIAEoBVILRmllbGROYW1lMTgacgoNTmVzdGVkTWVzc2FnZRIMCgFhGAEgASgFUgFhElMKC2NvcmVjdXJzaXZlGAIgASgLMjEucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yUgtjb3JlY3Vyc2l2ZRpAChJNYXBJbnQzMkludDMyRW50cnkSEAoDa2V5GAEgASgFUgNrZXkSFAoFdmFsdWUYAiABKAVSBXZhbHVlOgI4ARpAChJNYXBJbnQ2NEludDY0RW50cnkSEAoDa2V5GAEgASgDUgNrZXkSFAoFdmFsdWUYAiABKANSBXZhbHVlOgI4ARpCChRNYXBVaW50MzJVaW50MzJFbnRyeRIQCgNrZXkYASABKA1SA2tleRIUCgV2YWx1ZRgCIAEoDVIFdmFsdWU6AjgBGkIKFE1hcFVpbnQ2NFVpbnQ2NEVudHJ5EhAKA2tleRgBIAEoBFIDa2V5EhQKBXZhbHVlGAIgASgEUgV2YWx1ZToCOAEaQgoUTWFwU2ludDMyU2ludDMyRW50cnkSEAoDa2V5GAEgASgRUgNrZXkSFAoFdmFsdWUYAiABKBFSBXZhbHVlOgI4ARpCChRNYXBTaW50NjRTaW50NjRFbnRyeRIQCgNrZXkYASABKBJSA2tleRIUCgV2YWx1ZRgCIAEoElIFdmFsdWU6AjgBGkQKFk1hcEZpeGVkMzJGaXhlZDMyRW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVlOgI4ARpEChZNYXBGaXhlZDY0Rml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoBlIDa2V5EhQKBXZhbHVlGAIgASgGUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkMzJTZml4ZWQzMkVudHJ5EhAKA2tleRgBIAEoD1IDa2V5EhQKBXZhbHVlGAIgASgPUgV2YWx1ZToCOAEaRgoYTWFwU2ZpeGVkNjRTZml4ZWQ2NEVudHJ5EhAKA2tleRgBIAEoEFIDa2V5EhQKBXZhbHVlGAIgASgQUgV2YWx1ZToCOAEaQAoSTWFwSW50MzJGbG9hdEVudHJ5EhAKA2tleRgBIAEoBVIDa2V5EhQKBXZhbHVlGAIgASgCUgV2YWx1ZToCOAEaQQoTTWFwSW50MzJEb3VibGVFbnRyeRIQCgNrZXkYASABKAVSA2tleRIUCgV2YWx1ZRgCIAEoAVIFdmFsdWU6AjgBGj4KEE1hcEJvb2xCb29sRW50cnkSEAoDa2V5GAEgASgIUgNrZXkSFAoFdmFsdWUYAiABKAhSBXZhbHVlOgI4ARpCChRNYXBTdHJpbmdTdHJpbmdFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBGkEKE01hcFN0cmluZ0J5dGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAxSBXZhbHVlOgI4ARqKAQobTWFwU3RyaW5nTmVzdGVkTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5ElUKBXZhbHVlGAIgASgLMj8ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZE1lc3NhZ2VSBXZhbHVlOgI4ARp/ChxNYXBTdHJpbmdGb3JlaWduTWVzc2FnZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkkKBXZhbHVlGAIgASgLMjMucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuRm9yZWlnbk1lc3NhZ2VQcm90bzJSBXZhbHVlOgI4ARqEAQoYTWFwU3RyaW5nTmVzdGVkRW51bUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5ElIKBXZhbHVlGAIgASgOMjwucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk5lc3RlZEVudW1SBXZhbHVlOgI4ARp5ChlNYXBTdHJpbmdGb3JlaWduRW51bUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkYKBXZhbHVlGAIgASgOMjAucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuRm9yZWlnbkVudW1Qcm90bzJSBXZhbHVlOgI4ARpMCgREYXRhEiAKC2dyb3VwX2ludDMyGMoBIAEoBVIKZ3JvdXBJbnQzMhIiCgxncm91cF91aW50MzIYywEgASgNUgtncm91cFVpbnQzMhpbChNNdWx0aVdvcmRHcm91cEZpZWxkEiAKC2dyb3VwX2ludDMyGM0BIAEoBVIKZ3JvdXBJbnQzMhIiCgxncm91cF91aW50MzIYzgEgASgNUgtncm91cFVpbnQzMhohChFNZXNzYWdlU2V0Q29ycmVjdCoICAQQ/////wc6AggBGvoBChtNZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjESEAoDc3RyGBkgASgJUgNzdHIyyAEKFW1lc3NhZ2Vfc2V0X2V4dGVuc2lvbhJDLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdBj5u14gASgLMk0ucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMVITbWVzc2FnZVNldEV4dGVuc2lvbhr3AQobTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24yEgwKAWkYCSABKAVSAWkyyQEKFW1lc3NhZ2Vfc2V0X2V4dGVuc2lvbhJDLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdBiQs/wBIAEoCzJNLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxUeXBlc1Byb3RvMi5NZXNzYWdlU2V0Q29ycmVjdEV4dGVuc2lvbjJSE21lc3NhZ2VTZXRFeHRlbnNpb24iOQoKTmVzdGVkRW51bRIHCgNGT08QABIHCgNCQVIQARIHCgNCQVoQAhIQCgNORUcQ////////////ASoFCHgQyQFCDQoLb25lb2ZfZmllbGRKBgjoBxCQTiIkChRGb3JlaWduTWVzc2FnZVByb3RvMhIMCgFjGAEgASgFUgFjIlAKCkdyb3VwRmllbGQSHwoLZ3JvdXBfaW50MzIYeiABKAVSCmdyb3VwSW50MzISIQoMZ3JvdXBfdWludDMyGHsgASgNUgtncm91cFVpbnQzMiKeAwoVVW5rbm93blRvVGVzdEFsbFR5cGVzEiYKDm9wdGlvbmFsX2ludDMyGOkHIAEoBVINb3B0aW9uYWxJbnQzMhIoCg9vcHRpb25hbF9zdHJpbmcY6gcgASgJUg5vcHRpb25hbFN0cmluZxJbCg5uZXN0ZWRfbWVzc2FnZRjrByABKAsyMy5wcm90b2J1Zl90ZXN0X21lc3NhZ2VzLnByb3RvMi5Gb3JlaWduTWVzc2FnZVByb3RvMlINbmVzdGVkTWVzc2FnZRJpCg1vcHRpb25hbGdyb3VwGOwHIAEoCjJCLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlVua25vd25Ub1Rlc3RBbGxUeXBlcy5PcHRpb25hbEdyb3VwUg1vcHRpb25hbGdyb3VwEiQKDW9wdGlvbmFsX2Jvb2wY7gcgASgIUgxvcHRpb25hbEJvb2wSJgoOcmVwZWF0ZWRfaW50MzIY8wcgAygFUg1yZXBlYXRlZEludDMyGh0KDU9wdGlvbmFsR3JvdXASDAoBYRgBIAEoBVIBYSIWChROdWxsSHlwb3RoZXNpc1Byb3RvMiIvCg5FbnVtT25seVByb3RvMiIdCgRCb29sEgoKBmtGYWxzZRAAEgkKBWtUcnVlEAEiJQoPT25lU3RyaW5nUHJvdG8yEhIKBGRhdGEYASABKAlSBGRhdGEiYQoRUHJvdG9XaXRoS2V5d29yZHMSFgoGaW5saW5lGAEgASgFUgZpbmxpbmUSGAoHY29uY2VwdBgCIAEoCVIHY29uY2VwdBIaCghyZXF1aXJlcxgDIAMoCVIIcmVxdWlyZXMizBkKGlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yEiUKDnJlcXVpcmVkX2ludDMyGAEgAigFUg1yZXF1aXJlZEludDMyEiUKDnJlcXVpcmVkX2ludDY0GAIgAigDUg1yZXF1aXJlZEludDY0EicKD3JlcXVpcmVkX3VpbnQzMhgDIAIoDVIOcmVxdWlyZWRVaW50MzISJwoPcmVxdWlyZWRfdWludDY0GAQgAigEUg5yZXF1aXJlZFVpbnQ2NBInCg9yZXF1aXJlZF9zaW50MzIYBSACKBFSDnJlcXVpcmVkU2ludDMyEicKD3JlcXVpcmVkX3NpbnQ2NBgGIAIoElIOcmVxdWlyZWRTaW50NjQSKQoQcmVxdWlyZWRfZml4ZWQzMhgHIAIoB1IPcmVxdWlyZWRGaXhlZDMyEikKEHJlcXVpcmVkX2ZpeGVkNjQYCCACKAZSD3JlcXVpcmVkRml4ZWQ2NBIrChFyZXF1aXJlZF9zZml4ZWQzMhgJIAIoD1IQcmVxdWlyZWRTZml4ZWQzMhIrChFyZXF1aXJlZF9zZml4ZWQ2NBgKIAIoEFIQcmVxdWlyZWRTZml4ZWQ2NBIlCg5yZXF1aXJlZF9mbG9hdBgLIAIoAlINcmVxdWlyZWRGbG9hdBInCg9yZXF1aXJlZF9kb3VibGUYDCACKAFSDnJlcXVpcmVkRG91YmxlEiMKDXJlcXVpcmVkX2Jvb2wYDSACKAhSDHJlcXVpcmVkQm9vbBInCg9yZXF1aXJlZF9zdHJpbmcYDiACKAlSDnJlcXVpcmVkU3RyaW5nEiUKDnJlcXVpcmVkX2J5dGVzGA8gAigMUg1yZXF1aXJlZEJ5dGVzEn8KF3JlcXVpcmVkX25lc3RlZF9tZXNzYWdlGBIgAigLMkcucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzIuTmVzdGVkTWVzc2FnZVIVcmVxdWlyZWROZXN0ZWRNZXNzYWdlEm0KGHJlcXVpcmVkX2ZvcmVpZ25fbWVzc2FnZRgTIAIoCzIzLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25NZXNzYWdlUHJvdG8yUhZyZXF1aXJlZEZvcmVpZ25NZXNzYWdlEnYKFHJlcXVpcmVkX25lc3RlZF9lbnVtGBUgAigOMkQucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzIuTmVzdGVkRW51bVIScmVxdWlyZWROZXN0ZWRFbnVtEmQKFXJlcXVpcmVkX2ZvcmVpZ25fZW51bRgWIAIoDjIwLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLkZvcmVpZ25FbnVtUHJvdG8yUhNyZXF1aXJlZEZvcmVpZ25FbnVtEjYKFXJlcXVpcmVkX3N0cmluZ19waWVjZRgYIAIoCUICCAJSE3JlcXVpcmVkU3RyaW5nUGllY2USJwoNcmVxdWlyZWRfY29yZBgZIAIoCUICCAFSDHJlcXVpcmVkQ29yZBJmChFyZWN1cnNpdmVfbWVzc2FnZRgbIAIoCzI5LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yUhByZWN1cnNpdmVNZXNzYWdlEncKGm9wdGlvbmFsX3JlY3Vyc2l2ZV9tZXNzYWdlGBwgASgLMjkucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzJSGG9wdGlvbmFsUmVjdXJzaXZlTWVzc2FnZRJTCgRkYXRhGMkBIAIoCjI+LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLkRhdGFSBGRhdGESMAoNZGVmYXVsdF9pbnQzMhjxASACKAU6Ci0xMjM0NTY3ODlSDGRlZmF1bHRJbnQzMhI6Cg1kZWZhdWx0X2ludDY0GPIBIAIoAzoULTkxMjM0NTY3ODkxMjM0NTY3ODlSDGRlZmF1bHRJbnQ2NBIyCg5kZWZhdWx0X3VpbnQzMhjzASACKA06CjIxMjM0NTY3ODlSDWRlZmF1bHRVaW50MzISPAoOZGVmYXVsdF91aW50NjQY9AEgAigEOhQxMDEyMzQ1Njc4OTEyMzQ1Njc4OVINZGVmYXVsdFVpbnQ2NBIyCg5kZWZhdWx0X3NpbnQzMhj1ASACKBE6Ci0xMjM0NTY3ODlSDWRlZmF1bHRTaW50MzISPAoOZGVmYXVsdF9zaW50NjQY9gEgAigSOhQtOTEyMzQ1Njc4OTEyMzQ1Njc4OVINZGVmYXVsdFNpbnQ2NBI0Cg9kZWZhdWx0X2ZpeGVkMzIY9wEgAigHOgoyMTIzNDU2Nzg5Ug5kZWZhdWx0Rml4ZWQzMhI+Cg9kZWZhdWx0X2ZpeGVkNjQY+AEgAigGOhQxMDEyMzQ1Njc4OTEyMzQ1Njc4OVIOZGVmYXVsdEZpeGVkNjQSNgoQZGVmYXVsdF9zZml4ZWQzMhj5ASACKA86Ci0xMjM0NTY3ODlSD2RlZmF1bHRTZml4ZWQzMhJAChBkZWZhdWx0X3NmaXhlZDY0GPoBIAIoEDoULTkxMjM0NTY3ODkxMjM0NTY3ODlSD2RlZmF1bHRTZml4ZWQ2NBIrCg1kZWZhdWx0X2Zsb2F0GPsBIAIoAjoFOWUrMDlSDGRlZmF1bHRGbG9hdBItCg5kZWZhdWx0X2RvdWJsZRj8ASACKAE6BTdlKzIyUg1kZWZhdWx0RG91YmxlEigKDGRlZmF1bHRfYm9vbBj9ASACKAg6BHRydWVSC2RlZmF1bHRCb29sEi8KDmRlZmF1bHRfc3RyaW5nGP4BIAIoCToHUm9zZWJ1ZFINZGVmYXVsdFN0cmluZxIsCg1kZWZhdWx0X2J5dGVzGP8BIAIoDDoGam9zaHVhUgxkZWZhdWx0Qnl0ZXMa6AEKDU5lc3RlZE1lc3NhZ2USDAoBYRgBIAIoBVIBYRJbCgtjb3JlY3Vyc2l2ZRgCIAIoCzI5LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yUgtjb3JlY3Vyc2l2ZRJsChRvcHRpb25hbF9jb3JlY3Vyc2l2ZRgDIAEoCzI5LnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yUhNvcHRpb25hbENvcmVjdXJzaXZlGkwKBERhdGESIAoLZ3JvdXBfaW50MzIYygEgAigFUgpncm91cEludDMyEiIKDGdyb3VwX3VpbnQzMhjLASACKA1SC2dyb3VwVWludDMyGiEKEU1lc3NhZ2VTZXRDb3JyZWN0KggIBBD/////BzoCCAEaigIKG01lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMRIQCgNzdHIYGSACKAlSA3N0cjLYAQoVbWVzc2FnZV9zZXRfZXh0ZW5zaW9uEksucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3QY+bteIAEoCzJVLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0RXh0ZW5zaW9uMVITbWVzc2FnZVNldEV4dGVuc2lvbhqHAgobTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24yEgwKAWkYCSACKAVSAWky2QEKFW1lc3NhZ2Vfc2V0X2V4dGVuc2lvbhJLLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8yLlRlc3RBbGxSZXF1aXJlZFR5cGVzUHJvdG8yLk1lc3NhZ2VTZXRDb3JyZWN0GJCz/AEgASgLMlUucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFJlcXVpcmVkVHlwZXNQcm90bzIuTWVzc2FnZVNldENvcnJlY3RFeHRlbnNpb24yUhNtZXNzYWdlU2V0RXh0ZW5zaW9uIjkKCk5lc3RlZEVudW0SBwoDRk9PEAASBwoDQkFSEAESBwoDQkFaEAISEAoDTkVHEP///////////wEqBQh4EMkBSgYI6AcQkE4qRgoRRm9yZWlnbkVudW1Qcm90bzISDwoLRk9SRUlHTl9GT08QABIPCgtGT1JFSUdOX0JBUhABEg8KC0ZPUkVJR05fQkFaEAI6WgoPZXh0ZW5zaW9uX2ludDMyEjEucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yGHggASgFUg5leHRlbnNpb25JbnQzMjp8Cgpncm91cGZpZWxkEjEucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuVGVzdEFsbFR5cGVzUHJvdG8yGHkgASgKMikucHJvdG9idWZfdGVzdF9tZXNzYWdlcy5wcm90bzIuR3JvdXBGaWVsZFIKZ3JvdXBmaWVsZEI4Cihjb20uZ29vZ2xlLnByb3RvYnVmX3Rlc3RfbWVzc2FnZXMucHJvdG8ySAH4AQGiAgZQcm90bzJKmZ0BCgcSBQ4AggMBCoIDCgEMEgMOABIy4QIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZQogbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIG9yIGF0CiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9vcGVuLXNvdXJjZS9saWNlbnNlcy9ic2QKCiBUZXN0IHNjaGVtYSBmb3IgcHJvdG8yIG1lc3NhZ2VzLiAgVGhpcyB0ZXN0IHNjaGVtYSBpcyB1c2VkIGJ5OgoKIC0gY29uZm9ybWFuY2UgdGVzdHMKCjIUIExJTlQ6IEFMTE9XX0dST1VQUwoKCAoBAhIDEAAmCggKAQgSAxIAQQoJCgIIARIDEgBBCggKAQgSAxMAJAoJCgIIJBIDEwAkCggKAQgSAxYAHApECgIICRIDFgAcGjkgVGhpcyBpcyB0aGUgZGVmYXVsdCwgYnV0IHdlIHNwZWNpZnkgaXQgaGVyZSBleHBsaWNpdGx5LgoKCAoBCBIDGAAfCgkKAggfEgMYAB8K2wIKAgQAEgUiAPEBARrNAiBUaGlzIHByb3RvIGluY2x1ZGVzIGV2ZXJ5IHR5cGUgb2YgZmllbGQgaW4gYm90aCBzaW5ndWxhciBhbmQgcmVwZWF0ZWQKIGZvcm1zLgoKIEFsc28sIGNydWNpYWxseSwgYWxsIG1lc3NhZ2VzIGFuZCBlbnVtcyBpbiB0aGlzIGZpbGUgYXJlIGV2ZW50dWFsbHkKIHN1Ym1lc3NhZ2VzIG9mIHRoaXMgbWVzc2FnZS4gIFNvIGZvciBleGFtcGxlLCBhIGZ1enogdGVzdCBvZiBUZXN0QWxsVHlwZXMKIGNvdWxkIHRyaWdnZXIgYnVncyB0aGF0IG9jY3VyIGluIGFueSBtZXNzYWdlIHR5cGUgaW4gdGhpcyBmaWxlLiAgV2UgdmVyaWZ5CiB0aGlz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RmVhdHVyZUIUiAEBmAEDogELEgZWQUxVRTEY5gdSDm1lc3NhZ2VGZWF0dXJlEkoKDWZpZWxkX2ZlYXR1cmUYBCABKA4yDy5wYi5FbnVtRmVhdHVyZUIUiAEBmAEEogELEgZWQUxVRTEY5gdSDGZpZWxkRmVhdHVyZRJKCg1vbmVvZl9mZWF0dXJlGAUgASgOMg8ucGIuRW51bUZlYXR1cmVCFIgBAZgBBaIBCxIGVkFMVUUxGOYHUgxvbmVvZkZlYXR1cmUSSAoMZW51bV9mZWF0dXJlGAYgASgOMg8ucGIuRW51bUZlYXR1cmVCFIgBAZgBBqIBCxIGVkFMVUUxGOYHUgtlbnVtRmVhdHVyZRJTChJlbnVtX2VudHJ5X2ZlYXR1cmUYByABKA4yDy5wYi5FbnVtRmVhdHVyZUIUiAEBmAEHogELEgZWQUxVRTEY5gdSEGVudW1FbnRyeUZlYXR1cmUSTgoPc2VydmljZV9mZWF0dXJlGAggASgOMg8ucGIuRW51bUZlYXR1cmVCFIgBAZgBCKIBCxIGVkFMVUUxGOYHUg5zZXJ2aWNlRmVhdHVyZRJMCg5tZXRob2RfZmVhdHVyZRgJIAEoDjIPLnBiLkVudW1GZWF0dXJlQhSIAQGYAQmiAQsSBlZBTFVFMRjmB1INbWV0aG9kRmVhdHVyZRJoChBtdWx0aXBsZV9mZWF0dXJlGAogASgOMg8ucGIuRW51bUZlYXR1cmVCLIgBAZgBAZgBBJgBA5gBBpgBB5gBCJgBCZgBBZgBAqIBCxIGVkFMVUUxGOYHUg9tdWx0aXBsZUZlYXR1cmUSTgoSYm9vbF9maWVsZF9mZWF0dXJlGAsgASgIQiCIAQGYAQSiAQoSBWZhbHNlGOYHogEKEgR0cnVlGJ2NBlIQYm9vbEZpZWxkRmVhdHVyZRJkCg5zb3VyY2VfZmVhdHVyZRgPIAEoDjIPLnBiLkVudW1GZWF0dXJlQiyIAQKYAQGYAQSYAQOYAQaYAQeYAQiYAQmYAQWYAQKiAQsSBlZBTFVFMRjmB1INc291cmNlRmVhdHVyZRJmCg9zb3VyY2VfZmVhdHVyZTIYECABKA4yDy5wYi5FbnVtRmVhdHVyZUIsiAECmAEBmAEEmAEDmAEGmAEHmAEImAEJmAEFmAECogELEgZWQUxVRTEY5gdSDnNvdXJjZUZl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AgcBEgNXFyYKDAoFBAECBwMSA1cpKgoNCgUEAQIHCBIEVytbAwoNCgYEAQIHCBESA1gEIQoOCgcEAQIHCBMAEgNZBCEKDgoHBAECBwgUABIDWgRDCgwKBAQBAggSBFwCYAQKDAoFBAECCAQSA1wCCgoMCgUEAQIIBhIDXAsWCgwKBQQBAggBEgNcFyUKDAoFBAECCAMSA1woKQoNCgUEAQIICBIEXCpgAwoNCgYEAQIICBESA10EIQoOCgcEAQIICBMAEgNeBCAKDgoHBAECCAgUABIDXwRDCgwKBAQBAgkSBGECbQQKDAoFBAECCQQSA2ECCgoMCgUEAQIJBhIDYQsWCgwKBQQBAgkBEgNhFycKDAoFBAECCQMSA2EqLAoNCgUEAQIJCBIEYS1tAwoNCgYEAQIJCBESA2IEIQoOCgcEAQIJCBMAEgNjBB4KDgoHBAECCQgTARIDZAQfCg4KBwQBAgkIEwISA2UEIQoOCgcEAQIJCBMDEgNmBB4KDgoHBAECCQgTBBIDZwQkCg4KBwQBAgkIEwUSA2gEIQoOCgcEAQIJCBMGEgNpBCAKDgoHBAECCQgTBxIDagQfCg4KBwQBAgkIEwgSA2sEKQoOCgcEAQIJCBQAEgNsBEMKDAoEBAECChIEbwJ0BAoMCgUEAQIKBBIDbwIKCgwKBQQBAgoFEgNvCw8KDAoFBAECCgESA28QIgoMCgUEAQIKAxIDbyUnCg0KBQQBAgoIEgRvKHQDCg0KBgQBAgoIERIDcAQhCg4KBwQBAgoIEwASA3EEHwoOCgcEAQIKCBQAEgNyBEIKDgoHBAECCggUARIDcwRKCg0KBAQBAgsSBXYCggEECgwKBQQBAgsEEgN2AgoKDAoFBAECCwYSA3YLFgoMCgUEAQILARIDdhclCgwKBQQBAgsDEgN2KCoKDgoFBAECCwgSBXYrggEDCg0KBgQBAgsIERIDdwQgCg4KBwQBAgsIEwASA3gEHgoOCgcEAQILCBMBEgN5BB8KDgoHBAECCwgTAhIDegQhCg4KBwQBAgsIEwMSA3sEHgoOCgcEAQILCBMEEgN8BCQKDgoHBAECCwgTBRIDfQQhCg4KBwQBAgsIEwYSA34EIAoOCgcEAQILCBMHEgN/BB8KDwoHBAECCwgTCBIEgAEEKQoPCgcEAQILCBQAEgSBAQRDCg4KBAQBAgwSBoQBApABBAoNCgUEAQIMBBIEhAECCgoNCgUEAQIMBhIEhAELFgoNCgUEAQIMARIEhAEXJgoNCgUEAQIMAxIEhAEpKwoPCgUEAQIMCBIGhAEskAEDCg4KBgQBAgwIERIEhQEEIAoPCgcEAQIMCBMAEgSGAQQeCg8KBwQBAgwIEwESBIcBBB8KDwoHBAECDAgTAhIEiAEEIQoPCgcEAQIMCBMDEgSJAQQeCg8KBwQBAgwIEwQSBIoBBCQKDwoHBAECDAgTBRIEiwEEIQoPCgcEAQIMCBMGEgSMAQQgCg8KBwQBAgwIEwcSBI0BBB8KDwoHBAECDAgTCBIEjgEEKQoPCgcEAQIMCBQAEgSPAQRDCrgGCi5nb29nbGUvcHJvdG9idWYvdW5pdHRlc3RfbGVnYWN5X2ZlYXR1cmVzLnByb3RvEhhsZWdhY3lfZmVhdHVyZXNfdW5pdHRlc3QiogEKE1Rlc3RFZGl0aW9uc01lc3NhZ2USLAoOcmVxdWlyZWRfZmllbGQYASABKAVCBaoBAggDUg1yZXF1aXJlZEZpZWxkEl0KD2RlbGltaXRlZF9maWVsZBgCIAEoCzItLmxlZ2FjeV9mZWF0dXJlc191bml0dGVzdC5UZXN0RWRpdGlvbnNNZXNzYWdlQgWqAQIoAlIOZGVsaW1pdGVkRmllbGRKuQQKBhIECQARAQrhAgoBDBIDCQARMokCIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBvciBhdAogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vb3Blbi1zb3VyY2UvbGljZW5zZXMvYnNkCjJLIFRlc3QgdGhhdCBmZWF0dXJlcyB3aXRoIGxlZ2FjeSBkZXNjcmlwdG9yIGhlbHBlcnMgZ2V0IHByb3Blcmx5IGNvbnZlcnRlZC4KCggKAQISAwsAIQoKCgIEABIEDQARAQoKCgMEAAESAw0IGwoLCgQEAAIAEgMOAkcKDAoFBAACAAUSAw4CBwoMCgUEAAIAARIDDggWCgwKBQQAAgADEgMOGRoKDAoFBAACAAgSAw4bRgoOCgcEAAIACBUBEgMOHEUKDAoEBAACARIEDwIQLgoMCgUEAAIBBhIDDwIVCgwKBQQAAgEBEgMPFiUKDAoFBAACAQMSAw8oKQoMCgUEAAIBCBIDEAYtCg4KBwQAAgEIFQUSAxAHLGIIZWRpdGlvbnNw6AcKoCoKLmdvb2dsZS9wcm90b2J1Zi91bml0dGVzdF9wcm90bzNfb3B0aW9uYWwucHJvdG8SEXByb3RvYnVmX3VuaXR0ZXN0GiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byKPDQoSVGVzdFByb3RvM09wdGlvbmFsEioKDm9wdGlvbmFsX2ludDMyGAEgASgFSABSDW9wdGlvbmFsSW50MzKIAQESKgoOb3B0aW9uYWxfaW50NjQYAiABKANIAVINb3B0aW9uYWxJbnQ2NIgBARIsCg9vcHRpb25hbF91aW50MzIYAyABKA1IAlIOb3B0aW9uYWxVaW50MzKIAQESLAoPb3B0aW9uYWxfdWludDY0GAQgASgESANSDm9wdGlvbmFsVWludDY0iAEBEiwKD29wdGlvbmFsX3NpbnQzMhgFIAEoEUgEUg5vcHRpb25hbFNpbnQzMogBARIsCg9vcHRpb25hbF9zaW50NjQYBiABKBJIBVIOb3B0aW9uYWxTaW50NjSIAQESLgoQb3B0aW9uYWxfZml4ZWQzMhgHIAEoB0gGUg9vcHRpb25hbEZpeGVkMzKIAQESLgoQb3B0aW9uYWxfZml4ZWQ2NBgIIAEoBkgHUg9vcHRpb25hbEZpeGVkNjSIAQESMAoRb3B0aW9uYWxfc2ZpeGVkMzIYCSABKA9ICFIQb3B0aW9uYWxTZml4ZWQzMogBARIwChFvcHRpb25hbF9zZml4ZWQ2NBgKIAEoEEgJUhBvcHRpb25hbFNmaXhlZDY0iAEBEioKDm9wdGlvbmFsX2Zsb2F0GAsgASgCSApSDW9wdGlvbmFsRmxvYXSIAQESLAoPb3B0aW9uYWxfZG91YmxlGAwgASgBSAtSDm9wdGlvbmFsRG91YmxliAEBEigKDW9wdGlvbmFsX2Jvb2wYDSABKAhIDFIMb3B0aW9uYWxCb29siAEBEiwKD29wdGlvbmFsX3N0cmluZxgOIAEoCUgNUg5vcHRpb25hbFN0cmluZ4gBARIqCg5vcHRpb25hbF9ieXRlcxgPIAEoDEgOUg1vcHRpb25hbEJ5dGVziAEBEiwKDW9wdGlvbmFsX2NvcmQYECABKAlCAggBSA9SDG9wdGlvbmFsQ29yZIgBARJwChdvcHRpb25hbF9uZXN0ZWRfbWVzc2FnZRgSIAEoCzIzLnByb3RvYnVmX3VuaXR0ZXN0LlRlc3RQcm90bzNPcHRpb25hbC5OZXN0ZWRNZXNzYWdlSBBSFW9wdGlvbmFsTmVzdGVkTWVzc2FnZYgBARJsChNsYXp5X25lc3RlZF9tZXNzYWdlGBMgASgLMjMucHJvdG9idWZfdW5pdHRlc3QuVGVzdFByb3RvM09wdGlvbmFsLk5lc3RlZE1lc3NhZ2VCAigBSBFSEWxhenlOZXN0ZWRNZXNzYWdliAEBEmcKFG9wdGlvbmFsX25lc3RlZF9lbnVtGBUgASgOMjAucHJvdG9idWZfdW5pdHRlc3QuVGVzdFByb3RvM09wdGlvbmFsLk5lc3RlZEVudW1IElISb3B0aW9uYWxOZXN0ZWRFbnVtiAEBEiUKDnNpbmd1bGFyX2ludDMyGBYgASgFUg1zaW5ndWxhckludDMyEiUKDnNpbmd1bGFyX2ludDY0GBcgASgDUg1zaW5ndWxhckludDY0GisKDU5lc3RlZE1lc3NhZ2USEwoCYmIYASABKAVIAFICYmKIAQFCBQoDX2JiIkoKCk5lc3RlZEVudW0SDwoLVU5TUEVDSUZJRUQQABIHCgNGT08QARIHCgNCQVIQAhIHCgNCQVoQAxIQCgNORUcQ////////////AUIRCg9fb3B0aW9uYWxfaW50MzJCEQoPX29wdGlvbmFsX2ludDY0QhIKEF9vcHRpb25hbF91aW50MzJCEgoQX29wdGlvbmFsX3VpbnQ2NEISChBfb3B0aW9uYWxfc2ludDMyQhIKEF9vcHRpb25hbF9zaW50NjRCEwoRX29wdGlvbmFsX2ZpeGVkMzJCEwoRX29wdGlvbmFsX2ZpeGVkNjRCFAoSX29wdGlvbmFsX3NmaXhlZDMyQhQKEl9vcHRpb25hbF9zZml4ZWQ2NEIRCg9fb3B0aW9uYWxfZmxvYXRCEgoQX29wdGlvbmFsX2RvdWJsZUIQCg5fb3B0aW9uYWxfYm9vbEISChBfb3B0aW9uYWxfc3RyaW5nQhEKD19vcHRpb25hbF9ieXRlc0IQCg5fb3B0aW9uYWxfY29yZEIaChhfb3B0aW9uYWxfbmVzdGVkX21lc3NhZ2VCFgoUX2xhenlfbmVzdGVkX21lc3NhZ2VCFwoVX29wdGlvbmFsX25lc3RlZF9lbnVtIrICChlUZXN0UHJvdG8zT3B0aW9uYWxNZXNzYWdlEmEKDm5lc3RlZF9tZXNzYWdlGAEgASgLMjoucHJvdG9idWZfdW5pdHRlc3QuVGVzdFByb3RvM09wdGlvbmFsTWVzc2FnZS5OZXN0ZWRNZXNzYWdlUg1uZXN0ZWRNZXNzYWdlEncKF29wdGlvbmFsX25lc3RlZF9tZXNzYWdlGAIgASgLMjoucHJvdG9idWZfdW5pdHRlc3QuVGVzdFByb3RvM09wdGlvbmFsTWVzc2FnZS5OZXN0ZWRNZXNzYWdlSABSFW9wdGlvbmFsTmVzdGVkTWVzc2FnZYgBARodCg1OZXN0ZWRNZXNzYWdlEgwKAXMYASABKAlSAXNCGgoYX29wdGlvbmFsX25lc3RlZF9tZXNzYWdlIskBChhQcm90bzNPcHRpb25hbEV4dGVuc2lvbnMySwoPZXh0X25vX29wdGlvbmFsEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGIjN2akBIAEoBVINZXh0Tm9PcHRpb25hbDJSChFleHRfd2l0aF9vcHRpb25hbBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiJzdmpASABKAVSD2V4dFdpdGhPcHRpb25hbIgBAToMwOjMzQoIyOjMzQoQQjgKIWNvbS5nb29nbGUucHJvdG9idWYudGVzdGluZy5wcm90b1ABqgIQUHJvdG9idWZVbml0dGVzdErjFwoGEgQHAE0BCpQCCgEMEgMHABIyiQIgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiBVc2Ugb2YgdGhpcyBzb3VyY2Ug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gw8ECAEQAhoK6oeLhA8ECAEQAjpDCgxwbGFpbl9vcHRpb24SHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYxrXs8AEgASgFUgtwbGFpbk9wdGlvbjpfChhydW50aW1lX3JldGVudGlvbl9vcHRpb24SHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYnJLp8AEgASgFQgOIAQFSFnJ1bnRpbWVSZXRlbnRpb25PcHRpb246XQoXc291cmNlX3JldGVudGlvbl9vcHRpb24SHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMY1Kzf8AEgASgFQgOIAQJSFXNvdXJjZVJldGVudGlvbk9wdGlvbjpkCgtmaWxlX29wdGlvbhIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxiA8t7wASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVIKZmlsZU9wdGlvbjpuChByZXBlYXRlZF9vcHRpb25zEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJL+2/ABIAMoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUg9yZXBlYXRlZE9wdGlvbnM6gwEKFmV4dGVuc2lvbl9yYW5nZV9vcHRpb24SJi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zGITz2/ABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUhRleHRlbnNpb25SYW5nZU9wdGlvbjptCg5tZXNzYWdlX29wdGlvbhIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxjT6NvwASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVINbWVzc2FnZU9wdGlvbjpnCgxmaWVsZF9vcHRpb24SHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGKPXzfABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUgtmaWVsZE9wdGlvbjpnCgxvbmVvZl9vcHRpb24SHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zGLH7xvABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUgtvbmVvZk9wdGlvbjpkCgtlbnVtX29wdGlvbhIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9ucxjvo8XwASABKAsyIS5wcm90b2J1Zl91bml0dGVzdC5PcHRpb25zTWVzc2FnZVIKZW51bU9wdGlvbjp0ChFlbnVtX2VudHJ5X29wdGlvbhIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zGNqbxfABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUg9lbnVtRW50cnlPcHRpb246bQoOc2VydmljZV9vcHRpb24SHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMY/bDB8AEgASgLMiEucHJvdG9idWZfdW5pdHRlc3QuT3B0aW9uc01lc3NhZ2VSDXNlcnZpY2VPcHRpb246agoNbWV0aG9kX29wdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGOyFv/ABIAEoCzIhLnByb3RvYnVmX3VuaXR0ZXN0Lk9wdGlvbnNNZXNzYWdlUgxtZXRob2RPcHRpb246NQoBaRIbLnByb3RvYnVmX3VuaXR0ZXN0LkV4dGVuZGVlGAEgASgFQgqauu2EDwQIARACUgFpQjOqAhBQcm90b2J1ZlVuaXR0ZXN0kvHfhQ8ECAEQAoKQ94UPBAgBEALgkcmGDwKwrOOGDwFKuxkKBxIFBwC4AQEKlAIKAQwSAwcAEjKJAiBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgb3IgYXQKIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL29wZW4tc291cmNlL2xpY2Vuc2VzL2JzZAoKCAoBAhIDCQAaCgkKAgMAEgMLACoKCAoBCBIDDQAtCgkKAgglEgMNAC0KQAoBBxIEEAAWARo1IFJldGVudGlvbiBhdHRyaWJ1dGVzIHNldCBkaXJlY3RseSBvbiBjdXN0b20gb3B0aW9ucwoKCQoCBwASAxECKgoKCgMHAAISAxAHIgoKCgMHAAQSAxECCgoKCgMHAAUSAxELEAoKCgMHAAESAxERHQoKCgMHAAMSAxEgKQoKCgIHARIEEgITJgoKCgMHAQISAxAHIgoKCgMHAQQSAxICCgoKCgMHAQUSAxILEAoKCgMHAQESAxIRKQoKCgMHAQMSAxIsNQoKCgMHAQgSAxMGJQoLCgQHAQgREgMTByQKCgoCBwISBBQCFSUKCgoDBwICEgMQByIKCgoDBwIEEgMUAgoKCgoDBwIFEgMUCxAKCgoDBwIBEgMUESgKCgoDBwIDEgMUKzQKCgoDBwIIEgMVBiQKCwoEBwIIERIDFQcjCggKAQgSAxgAGgoNCgYIxrXs8AESAxgAGgoICgEIEgMZACYKDQoGCJyS6fABEgMZACYKCAoBCBIDGgAlCkgKAgQAEgQdACEBGjwgUmV0ZW50aW9uIGF0dHJpYnV0ZXMgc2V0IG9uIGZpZWxkcyBuZXN0ZWQgd2l0aGluIGEgbWVzc2FnZQoKCgoDBAABEgMdCBYKCwoEBAACABIDHgIhCgwKBQQAAgAEEgMeAgoKDAoFBAACAAUSAx4LEAoMCgUEAAIAARIDHhEcCgwKBQQAAgADEgMeHyAKCwoEBAACARIDHwJNCgwKBQQAAgEEEgMfAgoKDAoFBAACAQUSAx8LEAoMCgUEAAIBARIDHxEoCgwKBQQAAgEDEgMfKywKDAoFBAACAQgSAx8tTAoNCgYEAAIBCBESAx8uSwoLCgQEAAICEgMgAksKDAoFBAACAgQSAyACCgoMCgUEAAICBRIDIAsQCgwKBQQAAgIBEgMgEScKDAoFBAACAgMSAyAqKwoMCgUEAAICCBIDICxKCg0KBgQAAgIIERIDIC1JCgkKAQcSBCMAJQEKCQoCBwMSAyQCMgoKCgMHAwISAyMHIgoKCgMHAwQSAyQCCgoKCgMHAwYSAyQLGQoKCgMHAwESAyQaJQoKCgMHAwMSAyQoMQoJCgEIEgQnACsCCg4KBgiA8t7wARIEJwArAgpHCgEHEgQuADABGjwgUmV0ZW50aW9uIGF0dHJpYnV0ZSBuZXN0ZWQgaW5zaWRlIGEgcmVwZWF0ZWQgbWVzc2FnZSBmaWVsZAoKCQoCBwQSAy8CNwoKCgMHBAISAy4HIgoKCgMHBAQSAy8CCgoKCgMHBAYSAy8LGQoKCgMHBAESAy8aKgoKCgMHBAMSAy8tNgoJCgEIEgQyADYCCg8KBwiS/tvwAQASBDIANgIKCQoBBxIEOAA6AQoJCgIHBRIDOQI9CgoKAwcFAhIDOAcsCgoKAwcFBBIDOQIKCgoKAwcFBhIDOQsZCgoKAwcFARIDORowCgoKAwcFAxIDOTM8CgkKAQcSBDwAPgEKCQoCBwYSAz0CNQoKCgMHBgISAzwHJQoKCgMHBgQSAz0CCgoKCgMHBgYSAz0LGQoKCgMHBgESAz0aKAoKCgMHBgMSAz0rNAoJCgEHEgRAAEIBCgkKAgcHEgNBAjMKCgoDBwcCEgNAByMKCgoDBwcEEgNBAgoKCgoDBwcGEgNBCxkKCgoDBwcBEgNBGiYKCgoDBwcDEgNBKTIKCQoBBxIERABGAQoJCgIHCBIDRQIzCgoKAwcIAhIDRAcjCgoKAwcIBBIDRQIKCgoKAwcIBhIDRQsZCgoKAwcIARIDRRomCgoKAwcIAxIDRSkyCgkKAQcSBEgASgEKCQoCBwkSA0kCMgoKCgMHCQISA0gHIgoKCgMHCQQSA0kCCgoKCgMHCQYSA0kLGQoKCgMHCQESA0kaJQoKCgMHCQMSA0koMQoJCgEHEgRMAE4BCgkKAgcKEgNNAjgKCgoDBwoCEgNMBycKCgoDBwoEEgNNAgoKCgoDBwoGEgNNCxkKCgoDBwoBEgNNGisKCgoDBwoDEgNNLjcKCQoBBxIEUABSAQoJCgIHCxIDUQI1CgoKAwcLAhIDUAclCgoKAwcLBBIDUQIKCgoKAwcLBhIDUQsZCgoKAwcLARIDURooCgoKAwcLAxIDUSs0CgkKAQcSBFQAVgEKCQoCBwwSA1UCNAoKCgMHDAISA1QHJAoKCgMHDAQSA1UCCgoKCgMHDAYSA1ULGQoKCgMHDAESA1UaJwoKCgMHDAMSA1UqMwoKCgIEARIEWABaAQoKCgMEAQESA1gIEAoKCgMEAQUSA1kCEgoLCgQEAQUAEgNZDQ4KDAoFBAEFAAESA1kNDgoMCgUEAQUAAhIDWQ0OCgsKBAQBBQESA1kQEQoMCgUEAQUBARIDWRARCgwKBQQBBQECEgNZEBEKCQoBBxIEXABiAQoKCgIHDRIEXQJhBQoKCgMHDQISA1wHDwoKCgMHDQQSA10CCgoKCgMHDQUSA10LEAoKCgMHDQESA10REgoKCgMHDQMSA10VFgoLCgMHDQgSBF0XYQQKEAoIBw0Io9fN8AESBF0YYQMKCwoCBAISBWQAmgEBCgoKAwQCARIDZAgXCgsKAwQCBxIEZQJpBAoQCggEAgfT6NvwARIEZQJpBAoMCgQEAgMAEgRrAnEDCgwKBQQCAwABEgNrChcKDQoFBAIDAAcSBGwEcAYKEgoKBAIDAAfT6NvwARIEbARwBgoMCgQEAgQAEgRzAnsDCgwKBQQCBAABEgNzBxEKDQoFBAIEAAMSBHQEeAYKEgoKBAIEAAPvo8XwARIEdAR4BgoNCgYEAgQAAgASA3oEFwoOCgcEAgQAAgABEgN6BBIKDgoHBAIEAAIAAhIDehUWCg0KBAQCAgASBX0CgQEFCgwKBQQCAgAEEgN9AgoKDAoFBAICAAUSA30LEAoMCgUEAgIAARIDfRESCgwKBQQCAgADEgN9FRYKDgoFBAICAAgSBX0XgQEEChMKCgQCAgAIo9fN8AESBX0YgQEDCg4KBAQCCAASBoMBAosBAwoNCgUEAggAARIEgwEICQoPCgUEAggAAhIGhAEEiAEGChQKCgQCCAACsfvG8AESBoQBBIgBBgoMCgQEAgIBEgSKAQQQCg0KBQQCAgEFEgSKAQQJCg0KBQQCAgEBEgSKAQoLCg0KBQQCAgEDEgSKAQ4PCg0KAwQCBRIGjQECkQEFCgwKBAQCBQASBI0BDRYKDQoFBAIFAAESBI0BDQ8KDQoFBAIFAAISBI0BExYKDwoFBAIFAAMSBo0BF5EBBAoUCgoEAgUAA4Tz2/ABEgaNARiRAQMKDQoDBAIGEgaTAQKZAQMKDgoEBAIGABIGlAEEmAEHCg0KBQQCBgACEgSTAQkRCg0KBQQCBgAEEgSUAQQMCg0KBQQCBgAFEgSUAQ0TCg0KBQQCBgABEgSUARQVCg0KBQQCBgADEgSUARgZCg8KBQQCBgAIEgaUARqYAQYKFAoKBAIGAAij183wARIGlAEbmAEFCgwKAgUAEgacAQCoAQEKCwoDBQABEgScAQURCg0KAwUAAxIGnQECoQEEChIKCAUAA++jxfABEgadAQKhAQQKDgoEBQACABIGowECpwEFCg0KBQUAAgABEgSjAQITCg0KBQUAAgACEgSjARYXCg8KBQUAAgADEgajARinAQQKFAoKBQACAAPam8XwARIGowEZpwEDCgwKAgYAEgaqAQC4AQEKCwoDBgABEgSqAQgPCg0KAwYAAxIGqwECrwEEChIKCAYAA/2wwfABEgarAQKvAQQKDgoEBgACABIGsQECtwEDCg0KBQYAAgABEgSxAQYNCg0KBQYAAgACEgSxAQ4dCg0KBQYAAgADEgSxASg3Cg8KBQYAAgAEEgayAQS2AQYKFAoKBgACAATshb/wARIGsgEEtgEG