A/MNCmT5IVRjAAAAAAAAAAADAAAAQAAAAHNEAQAAZAAAWgAAZAEAZAIAbAEAWgEAZAEAZAIAbAIAWgIAZAEAZAIAbAMAWgMAZAEAZAMAbAQAbQUAWgUAAWQBAGQEAGwGAG0GAFoGAG0HAFoHAG0IAFoIAAFkBQBlCQBmAQBkBgCEAACDAABZWgoAZAcAZQkAZgEAZAgAhAAAgwAAWVoLAGQJAGUJAGYBAGQKAIQAAIMAAFlaDABkCwBlCQBmAQBkDACEAACDAABZWg0AZA0AZQYAZgEAZA4AhAAAgwAAWVoOAGQPAGUOAGYBAGQQAIQAAIMAAFlaDwBkEQBmAABkEgCEAACDAABZWhAAZRAAgwAAWhEAZRIAZBMAawIAckABZBQAhAAAWhMAZRMAZREAahQAgwEAAWUTAGURAGoVAIMBAAFlEQBqFQBkFQAZahYAZBYAZBcAgwIAR0huAABkAgBTKBgAAABz1gMAAFByb3ZpZGVzIGFjY2VzcyB0byBzdG9yZWQgSURMRSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgoKUmVmZXIgdG8gdGhlIGNvbW1lbnRzIGF0IHRoZSBiZWdpbm5pbmcgb2YgY29uZmlnLW1haW4uZGVmIGZvciBhIGRlc2NyaXB0aW9uIG9mCnRoZSBhdmFpbGFibGUgY29uZmlndXJhdGlvbiBmaWxlcyBhbmQgdGhlIGRlc2lnbiBpbXBsZW1lbnRlZCB0byB1cGRhdGUgdXNlcgpjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLiAgSW4gcGFydGljdWxhciwgdXNlciBjb25maWd1cmF0aW9uIGNob2ljZXMgd2hpY2gKZHVwbGljYXRlIHRoZSBkZWZhdWx0cyB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgdXNlcidzIGNvbmZpZ3VyYXRpb24gZmlsZXMsCmFuZCBpZiBhIGZpbGUgYmVjb21lcyBlbXB0eSwgaXQgd2lsbCBiZSBkZWxldGVkLgoKVGhlIGNvbnRlbnRzIG9mIHRoZSB1c2VyIGZpbGVzIG1heSBiZSBhbHRlcmVkIHVzaW5nIHRoZSBPcHRpb25zL0NvbmZpZ3VyZSBJRExFCm1lbnUgdG8gYWNjZXNzIHRoZSBjb25maWd1cmF0aW9uIEdVSSAoY29uZmlnRGlhbG9nLnB5KSwgb3IgbWFudWFsbHkuCgpUaHJvdWdob3V0IHRoaXMgbW9kdWxlIHRoZXJlIGlzIGFuIGVtcGhhc2lzIG9uIHJldHVybmluZyB1c2VhYmxlIGRlZmF1bHRzCndoZW4gYSBwcm9ibGVtIG9jY3VycyBpbiByZXR1cm5pbmcgYSByZXF1ZXN0ZWQgY29uZmlndXJhdGlvbiB2YWx1ZSBiYWNrIHRvCmlkbGUuIFRoaXMgaXMgdG8gYWxsb3cgSURMRSB0byBjb250aW51ZSB0byBmdW5jdGlvbiBpbiBzcGl0ZSBvZiBlcnJvcnMgaW4KdGhlIHJldHJpZXZhbCBvZiBjb25maWcgaW5mb3JtYXRpb24uIFdoZW4gYSBkZWZhdWx0IGlzIHJldHVybmVkIGluc3RlYWQgb2YKYSByZXF1ZXN0ZWQgY29uZmlnIHZhbHVlLCBhIG1lc3NhZ2UgaXMgcHJpbnRlZCB0byBzdGRlcnIgdG8gYWlkIGluCmNvbmZpZ3VyYXRpb24gcHJvYmxlbSBub3RpZmljYXRpb24gYW5kIHJlc29sdXRpb24uCgpp/////04oAQAAAHQNAAAAbWFjb3N4U3VwcG9ydCgDAAAAdAwAAABDb25maWdQYXJzZXJ0DQAAAE5vT3B0aW9uRXJyb3J0DgAAAE5vU2VjdGlvbkVycm9ydBEAAABJbnZhbGlkQ29uZmlnVHlwZWMAAAAAAAAAAAEAAABCAAAAcwgAAABlAABaAQBSUygAAAAAKAIAAAB0CAAAAF9fbmFtZV9fdAoAAABfX21vZHVsZV9fKAAAAAAoAAAAACgAAAAAc4AAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2lkbGVsaWIvY29uZmlnSGFuZGxlci5weVIEAAAAGgAAAHMCAAAABgB0EAAAAEludmFsaWRDb25maWdTZXRjAAAAAAAAAAABAAAAQgAAAHMIAAAAZQAAWgEAUlMoAAAAACgCAAAAUgUAAABSBgAAACgAAAAAKAAAAAAoAAAAAHOAAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9pZGxlbGliL2NvbmZpZ0hhbmRsZXIucHlSBwAAABsAAABzAgAAAAYAdAsAAABJbnZhbGlkRmdCZ2MAAAAAAAAAAAEAAABCAAAAcwgAAABlAABaAQBSUygAAAAAKAIAAABSBQAAAFIGAAAAKAAAAAAoAAAAACgAAAAAc4AAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2lkbGVsaWIvY29uZmlnSGFuZGxlci5weVIIAAAAHAAAAHMCAAAABgB0DAAAAEludmFsaWRUaGVtZWMAAAAAAAAAAAEAAABCAAAAcwgAAABlAABaAQBSUygAAAAAKAIAAABSBQAAAFIGAAAAKAAAAAAoAAAAACgAAAAAc4AAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2lkbGVsaWIvY29uZmlnSGFuZGxlci5weVIJAAAAHQAAAHMCAAAABgB0DgAAAElkbGVDb25mUGFyc2VyYwAAAAAAAAAABAAAAEIAAABzPgAAAGUAAFoBAGQAAFoCAGQFAGQBAIQBAFoEAGQFAGQFAGUFAGQCAIQDAFoGAGQDAIQAAFoHAGQEAIQAAFoIAFJTKAYAAABzSQAAAAogICAgQSBDb25maWdQYXJzZXIgc3BlY2lhbGlzZWQgZm9yIGlkbGUgY29uZmlndXJhdGlvbiBmaWxlIGhhbmRsaW5nCiAgICBjAwAAAAMAAAAEAAAAQwAAAHMgAAAAfAEAfAAAXwAAdAEAagIAfAAAZAEAfAIAgwEBAWQCAFMoAwAAAHNLAAAACiAgICAgICAgY2ZnRmlsZSAtIHN0cmluZywgZnVsbHkgc3BlY2lmaWVkIGNvbmZpZ3VyYXRpb24gZmlsZSBuYW1lCiAgICAgICAgdAgAAABkZWZhdWx0c04oAwAAAHQEAAAAZmlsZVIBAAAAdAgAAABfX2luaXRfXygDAAAAdAQAAABzZWxmdAcAAABjZmdGaWxldAsAAABjZmdEZWZhdWx0cygAAAAAKAAAAABzgAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvaWRsZWxpYi9jb25maWdIYW5kbGVyLnB5Ug0AAAAjAAAAcwQAAAAABAkBYwYAAAAGAAAABQAAAEMAAABzaAAAAHwAAGoAAHwBAHwCAIMCAHMWAHwEAFN8AwBkAQBrAgByMgB8AABqAQB8AQB8AgCDAgBTfAMAZAIAawIAck4AfAAAagIAfAEAfAIAgwIAU3wAAGoDAHwBAHwCAGQDAHwFAIMCAVNkBABTKAUAAABzfwAAAAogICAgICAgIEdldCBhbiBvcHRpb24gdmFsdWUgZm9yIGdpdmVuIHNlY3Rpb24vb3B0aW9uIG9yIHJldHVybiBkZWZhdWx0LgogICAgICAgIElmIHR5cGUgaXMgc3BlY2lmaWVkLCByZXR1cm4gYXMgdHlwZS4KICAgICAgICB0BAAAAGJvb2x0AwAAAGludHQDAAAAcmF3TigEAAAAdAoAAABoYXNfb3B0aW9udAoAAABnZXRib29sZWFudAYAAABnZXRpbnR0AwAAAGdldCgGAAAAUg4AAAB0BwAAAHNlY3Rpb250BgAAAG9wdGlvbnQEAAAAdHlwZXQHAAAAZGVmYXVsdFITAAAAKAAAAAAoAAAAAHOAAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9pZGxlbGliL2NvbmZpZ0hhbmRsZXIucHl0AwAAAEdldCoAAABzDgAAAAAFEgEEAQwBEAEMARACYwIAAAACAAAAAgAAAEMAAABzJAAAAHwAAGoAAHwBAIMBAHIcAHwAAGoBAHwBAIMBAFNnAABTZAEAUygCAAAAczYAAAAKICAgICAgICBHZXQgYW4gb3B0aW9uIGxpc3QgZm9yIGdpdmVuIHNlY3Rpb24KICAgICAgICBOKAIAAAB0CwAAAGhhc19zZWN0aW9udAcAAABvcHRpb25zKAIAAABSDgAAAFIYAAAAKAAAAAAoAAAAAHOAAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9pZGxlbGliL2NvbmZpZ0hhbmRsZXIucHl0DQAAAEdldE9wdGlvbkxpc3Q4AAAAcwYAAAAABA8BDQJjAQAAAAEAAAACAAAAQwAAAHMUAAAAfAAAagAAfAAAagEAgwEAAWQBAFMoAgAAAHM3AAAACiAgICAgICAgTG9hZCB0aGUgY29uZmlndXJhdGlvbiBmaWxlIGZyb20gZGlzawogICAgICAgIE4oAgAAAHQEAAAAcmVhZFIMAAAAKAEAAABSDgAAACgAAAAAKAAAAABzgAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvaWRsZWxpYi9jb25maWdIYW5kbGVyLnB5dAQAAABMb2FkQQAAAHMCAAAAAAROKAkAAABSBQAAAFIGAAAAdAcAAABfX2RvY19fdAQAAABOb25lUg0AAAB0BQAAAEZhbHNlUhwAAABSHwAAAFIhAAAAKAAAAAAoAAAAACgAAAAAc4AAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2lkbGVsaWIvY29uZmlnSGFuZGxlci5weVIKAAAAHwAAAHMKAAAABgMGAQwHEg4JCXQSAAAASWRsZVVzZXJDb25mUGFyc2VyYwAAAAAAAAAAAQAAAEIAAABzTQAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAGQCAIQAAFoEAGQDAIQA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hAAAWhMAZA8AhAAAWhQAZBAAhAAAWhUAZBEAhAAAWhYAZBIAhAAAWhcAZBMAhAAAWhgAZBQAhAAAWhkAZBoAZBUAhAEAWhoAZBYAhAAAWhsAZBcAhAAAWhwAZBgAhAAAWh0AZBkAhAAAWh4AUlMoGwAAAHPrAQAACiAgICBob2xkcyBjb25maWcgcGFyc2VycyBmb3IgYWxsIGlkbGUgY29uZmlnIGZpbGVzOgogICAgZGVmYXVsdCBjb25maWcgZmlsZXMKICAgICAgICAoaWRsZSBpbnN0YWxsIGRpcikvY29uZmlnLW1haW4uZGVmCiAgICAgICAgKGlkbGUgaW5zdGFsbCBkaXIpL2NvbmZpZy1leHRlbnNpb25zLmRlZgogICAgICAgIChpZGxlIGluc3RhbGwgZGlyKS9jb25maWctaGlnaGxpZ2h0LmRlZgogICAgICAgIChpZGxlIGluc3RhbGwgZGlyKS9jb25maWcta2V5cy5kZWYKICAgIHVzZXIgY29uZmlnICBmaWxlcwogICAgICAgICh1c2VyIGhvbWUgZGlyKS8uaWRsZXJjL2NvbmZpZy1tYWluLmNmZwogICAgICAgICh1c2VyIGhvbWUgZGlyKS8uaWRsZXJjL2NvbmZpZy1leHRlbnNpb25zLmNmZwogICAgICAgICh1c2VyIGhvbWUgZGlyKS8uaWRsZXJjL2NvbmZpZy1oaWdobGlnaHQuY2ZnCiAgICAgICAgKHVzZXIgaG9tZSBkaXIpLy5pZGxlcmMvY29uZmlnLWtleXMuY2ZnCiAgICBjAQAAAAEAAAACAAAAQwAAAHMzAAAAaQAAfAAAXwAAaQAAfAAAXwEAaQAAfAAAXwIAfAAAagMAgwAAAXwAAGoEAIMAAAFkAABTKAEAAABOKAUAAAB0CgAAAGRlZmF1bHRDZmd0BwAAAHVzZXJDZmd0AwAAAGNmZ3QUAAAAQ3JlYXRlQ29uZmlnSGFuZGxlcnN0DAAAAExvYWRDZmdGaWxlcygBAAAAUg4AAAAoAAAAACgAAAAAc4AAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43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dCBjb25maWd1cmF0aW9uLgogICAgICAgIGNvbmZpZ1R5cGUgbXVzdCBiZSBvbmUgb2YgKCdtYWluJywnZXh0ZW5zaW9ucycsJ2hpZ2hsaWdodCcsJ2tleXMnKQogICAgICAgIElmIGEgZGVmYXVsdCBpcyByZXR1cm5lZCwgYW5kIHdhcm5fb25fZGVmYXVsdCBpcyBUcnVlLCBhIHdhcm5pbmcgaXMKICAgICAgICBwcmludGVkIHRvIHN0ZGVyci4KCiAgICAgICAgUhoAAABSEwAAAHN2AAAACiBXYXJuaW5nOiBjb25maWdIYW5kbGVyLnB5IC0gSWRsZUNvbmYuR2V0T3B0aW9uIC0KIGludmFsaWQgJXIgdmFsdWUgZm9yIGNvbmZpZ3VyYXRpb24gb3B0aW9uICVyCiBmcm9tIHNlY3Rpb24gJXI6ICVyCnOOAAAACiBXYXJuaW5nOiBjb25maWdIYW5kbGVyLnB5IC0gSWRsZUNvbmYuR2V0T3B0aW9uIC0KIHByb2JsZW0gcmV0cmlldmluZyBjb25maWd1cmF0aW9uIG9wdGlvbiAlcgogZnJvbSBzZWN0aW9uICVyLgogcmV0dXJuaW5nIGRlZmF1bHQgdmFsdWU6ICVyCigJAAAAUj8AAABSFAAAAFIcAAAAdAoAAABWYWx1ZUVycm9yUksAAABSVgAAAFI6AAAAUjgAAABSPgAAACgJAAAAUg4AAAB0CgAAAGNvbmZpZ1R5cGVSGAAAAFIZAAAAUhsAAABSGgAAAHQPAAAAd2Fybl9vbl9kZWZhdWx0UhMAAAB0BwAAAHdhcm5pbmcoAAAAACgAAAAAc4AAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2lkbGVsaWIvY29uZmlnSGFuZGxlci5weXQJAAAAR2V0T3B0aW9u4gAAAHM2AAAAAA4DARkBFgERAQ0BAwMJARYBDQEDARQBDQEIAQMBGQEWAREBDQEEAgYBAwQQAQMBFAENAQcBYwUAAAAFAAAABAAAAEMAAABzHgAAAHwAAGoAAHwBABlqAQB8AgB8AwB8BACDAwABZAEAUygC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YWRlZCBvdmVyIGEgc2V0IG9mIHVsdGltYXRlIGxhc3QKICAgICAgICBmYWxsYmFjayBkZWZhdWx0cyB0byBndWFyYW50ZWUgdGhhdCBhbGwgdGhlbWUgZWxlbWVudHMgYXJlIHByZXNlbnQgaW4KICAgICAgICBhIG5ld2x5IGNyZWF0ZWQgdGhlbWUuCiAgICAgICAgUmIAAABSRgAAAFIbAAAAcxwAAABJbnZhbGlkIHRoZW1lIHR5cGUgc3BlY2lmaWVkcwcAAAAjMDAwMDAwcxEAAABub3JtYWwtZm9yZWdyb3VuZHMHAAAAI2ZmZmZmZnMRAAAAbm9ybWFsLWJhY2tncm91bmRzEgAAAGtleXdvcmQtZm9yZWdyb3VuZHMSAAAAa2V5d29yZC1iYWNrZ3JvdW5kcxIAAABidWlsdGluLWZvcmVncm91bmRzEgAAAGJ1aWx0aW4tYmFja2dyb3VuZHMSAAAAY29tbWVudC1mb3JlZ3JvdW5kcxIAAABjb21tZW50LWJhY2tncm91bmRzEQAAAHN0cmluZy1mb3JlZ3JvdW5kcxEAAABzdHJpbmctYmFja2dyb3VuZHMVAAAAZGVmaW5pdGlvbi1mb3JlZ3JvdW5kcxUAAABkZWZpbml0aW9uLWJhY2tncm91bmRzEQAAAGhpbGl0ZS1mb3JlZ3JvdW5kdAQAAABncmF5cxEAAABoaWxpdGUtYmFja2dyb3VuZHMQAAAAYnJlYWstZm9yZWdyb3VuZHMQAAAAYnJlYWstYmFja2dyb3VuZHMOAAAAaGl0LWZvcmVncm91bmRzDgAAAGhpdC1iYWNrZ3JvdW5kcxAAAABlcnJvci1mb3JlZ3JvdW5kcxAAAABlcnJvci1iYWNrZ3JvdW5kcxEAAABjdXJzb3ItZm9yZWdyb3VuZHMRAAAAc3Rkb3V0LWZvcmVncm91bmRzEQAAAHN0ZG91dC1iYWNrZ3JvdW5kcxEAAABzdGRlcnItZm9yZWdyb3VuZHMRAAAAc3RkZXJyLWJhY2tncm91bmRzEgAAAGNvbnNvbGUtZm9yZWdyb3VuZHMSAAAAY29uc29sZS1iYWNrZ3JvdW5kc4gAAAAKIFdhcm5pbmc6IGNvbmZpZ0hhbmRsZXIucHkgLSBJZGxlQ29uZi5HZXRUaGVtZURpY3QgLQogcHJvYmxlbSBy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Pj5zCwAAADxDb250cm9sLXE+cxUAAAA8PGNsb3NlLWFsbC13aW5kb3dzPj5zCAAAADxBbHQtRjQ+cxAAAAA8PGNsb3NlLXdpbmRvdz4+cw4AAAA8PGRvLW5vdGhpbmc+PnMLAAAAPENvbnRyb2wtZD5zDwAAADw8ZW5kLW9mLWZpbGU+PnMEAAAAPEYxPnMPAAAAPDxweXRob24tZG9jcz4+cwoAAAA8U2hpZnQtRjE+cxcAAAA8PHB5dGhvbi1jb250ZXh0LWhlbHA+PnMHAAAAPEFsdC1uPnMQAAAAPDxoaXN0b3J5LW5leHQ+PnMHAAAAPEFsdC1wPnMUAAAAPDxoaXN0b3J5LXByZXZpb3VzPj5zFwAAADw8aW50ZXJydXB0LWV4ZWN1dGlvbj4+cwQAAAA8RjY+cxAAAAA8PHZpZXctcmVzdGFydD4+cwwAAAA8Q29udHJvbC1GNj5zEQAAADw8cmVzdGFydC1zaGVsbD4+cwcAAAA8QWx0LWM+cxYAAAA8PG9wZW4tY2xhc3MtYnJvd3Nlcj4+cwcAAAA8QWx0LW0+cw8AAAA8PG9wZW4tbW9kdWxlPj5zCwAAADxDb250cm9sLW4+cxMAAAA8PG9wZW4tbmV3LXdpbmRvdz4+cwsAAAA8Q29udHJvbC1vPnMZAAAAPDxvcGVuLXdpbmRvdy1mcm9tLWZpbGU+PnMLAAAAPENvbnRyb2wtaj5zHAAAADw8cGxhaW4tbmV3bGluZS1hbmQtaW5kZW50Pj5zCwAAADxDb250cm9sLXA+cxAAAAA8PHByaW50LXdpbmRvdz4+cwsAAAA8Q29udHJvbC15PnMIAAAAPDxyZWRvPj5zCAAAADxFc2NhcGU+cxQAAAA8PHJlbW92ZS1zZWxlY3Rpb24+PnMNAAAAPEFsdC1TaGlmdC1TPnMfAAAAPDxzYXZlLWNvcHktb2Ytd2luZG93LWFzLWZpbGU+PnMHAAAAPEFsdC1zPnMXAAAAPDxzYXZlLXdpbmRvdy1hcy1maWxlPj5zCwAAADxDb250cm9sLXM+cw8AAAA8PHNhdmUtd2luZG93Pj5zBwAAADxBbHQtYT5zDgAAADw8c2VsZWN0LWFsbD4+cw8AAAA8Q29udHJvbC1zbGFzaD5zGAAAADw8dG9nZ2xlLWF1dG8tY29sb3Jpbmc+PnMLAAAAPENvbnRyb2wtej5zCAAAADw8dW5kbz4+cwsAAAA8Q29udHJvbC1nPnMEAAAAPEYzPnMOAAAAPDxmaW5kLWFnYWluPj5zCAAAADxBbHQtRjM+cxEAAAA8PGZpbmQtaW4tZmlsZXM+PnMMAAAAPENvbnRyb2wtRjM+cxIAAAA8PGZpbmQtc2VsZWN0aW9uPj5zCwAAADxDb250cm9sLWY+cwgAAAA8PGZpbmQ+PnMLAAAAPENvbnRyb2wtaD5zCwAAADw8cmVwbGFjZT4+cwcAAAA8QWx0LWc+cw0AAAA8PGdvdG8tbGluZT4+cw8AAAA8S2V5LUJhY2tTcGFjZT5zEwAAADw8c21hcnQtYmFja3NwYWNlPj5zDAAAADxLZXktUmV0dXJuPnMOAAAAPEtleS1LUF9FbnRlcj5zFgAAADw8bmV3bGluZS1hbmQtaW5kZW50Pj5zCQAAADxLZXktVGFiPnMQAAAAPDxzbWFydC1pbmRlbnQ+PnMaAAAAPENvbnRyb2wtS2V5LWJyYWNrZXRyaWdodD5zEQAAADw8aW5kZW50LXJlZ2lvbj4+cxkAAAA8Q29udHJvbC1LZXktYnJhY2tldGxlZnQ+cxEAAAA8PGRlZGVudC1yZWdpb24+PnMLAAAAPEFsdC1LZXktMz5zEgAAADw8Y29tbWVudC1yZWdpb24+PnMLAAAAPEFsdC1LZXktND5zFAAAADw8dW5jb21tZW50LXJlZ2lvbj4+cwsAAAA8QWx0LUtleS01PnMRAAAAPDx0YWJpZnktcmVnaW9uPj5zCwAAADxBbHQtS2V5LTY+cxMAAAA8PHVudGFiaWZ5LXJlZ2lvbj4+cwsAAAA8QWx0LUtleS10PnMPAAAAPDx0b2dnbGUtdGFicz4+cwsAAAA8QWx0LUtleS11PnMWAAAAPDxjaGFuZ2UtaW5kZW50d2lkdGg+PnMXAAAAPENvbnRyb2wtS2V5LUJhY2tTcGFjZT5zEQAAADw8ZGVsLXdvcmQtbGVmdD4+cxQAAAA8Q29udHJvbC1LZXktRGVsZXRlPnMSAAAAPDxkZWwtd29yZC1yaWdodD4+c5EAAAAKIFdhcm5pbmc6IGNvbmZpZ0hhbmRsZXIucHkgLSBJZGxlQ29uZi5HZXRDb3JlS2V5cyAtCiBwcm9ibGVtIHJldHJpZXZpbmcga2V5IGJpbmRpbmcgZm9yIGV2ZW50ICVyCiBmcm9tIGtleSBzZXQgJXIuCiByZXR1cm5pbmcgZGVmYXVsdCB2YWx1ZTogJXIKKAYAAABSRwAAAFKoAAAAUksAAABSVgAAAFI6AAAAUjgAAAAoBgAAAFIOAAAAUqYAAAB0CwAAAGtleUJpbmRpbmdzUpcAAABSoAAAAFJgAAAAKAAAAAAoAAAAAHOAAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9pZGxlbGliL2NvbmZpZ0hhbmRsZXIucHlSsgAAADYCAABzfAAAAAAJAwENAQ0BDQENAQoBCgEKAQoBCgEKAQoBCgEKAQoBCgEKAQoBCgEKAQoBCgEKAQoBCgEKAQoBCgEKAQoBCgENAQoBCgEKAQoBCgEKAQ0BCgEKAQoBCgEKAQoBCgEKAQoBCgENAgYBEwESAQYBDQIDBBQBAwEUAQ0BCwFjAgAAAAkAAAAGAAAAQwAAAHMRAQAAZwAAfQIAfAEAZAEAawIAciIAfAAAagAAZAIAGX0DAG4lAHwBAGQDAGsCAHI+AHwAAGoBAGQCABl9AwBuCQB0AgBkBACCAgB8AwBqAwBkBQCDAQB9BAB4oQB8BABEXZkAfQUAfAMAagQAZAUAfAUAZAMAZAYAgwIBfQYAfAYAagUAZAYAgwEAZAcAawIAcp8AZAgAfQcAZAgAfQgAbjIAdAYAagcAfAYAZAYAgwIAfQYAfAYAZAkAGWoIAIMAAH0HAHwGAGQKABlqCACDAAB9CAB8BwByXQB8CAByXQB8AgBqCQB8BwB8CAB8BQBmAwCDAQABcV0AcV0AV3wCAGoKAGQLAGQMAIQAAIMAAQF8AgBTKA0AAABzuQEAAEZldGNoIGxpc3Qgb2YgZXh0cmEgaGVscCBzb3VyY2VzIGZyb20gYSBnaXZlbiBjb25maWdTZXQuCgogICAgICAgIFZhbGlkIGNvbmZpZ1NldHMgYXJlICd1c2VyJyBvciAnZGVmYXVsdCcuICBSZXR1cm4gYSBsaXN0IG9mIHR1cGxlcyBvZgogICAgICAgIHRoZSBmb3JtIChtZW51X2l0ZW0gLCBwYXRoX3RvX2hlbHBfZmlsZSAsIG9wdGlvbiksIG9yIHJldHVybiB0aGUgZW1wdHkKICAgICAgICBsaXN0LiAgJ29wdGlvbicgaXMgdGhlIHNlcXVlbmNlIG51bWJlciBvZiB0aGUgaGVscCByZXNvdXJjZS4gICdvcHRpb24nCiAgICAgICAgdmFsdWVzIGRldGVybWluZSB0aGUgcG9zaXRpb24gb2YgdGhlIG1lbnUgaXRlbXMgb24gdGhlIEhlbHAgbWVudSwKICAgICAgICB0aGVyZWZvcmUgdGhlIHJldHVybmVkIGxpc3QgbXVzdCBiZSBzb3J0ZWQgYnkgJ29wdGlvbicuCgogICAgICAgIFJiAAAAUkQAAABSGwAAAHMbAAAASW52YWxpZCBjb25maWdTZXQgc3BlY2lmaWVkdAkAAABIZWxwRmlsZXN0AQAAADtp/////1J4AAAAaQAAAABpAQAAAHQDAAAAa2V5YwEAAAABAAAAAwAAAFMAAABzDgAAAHQAAHwAAGQBABmDAQBTKAIAAABOaQIAAAAoAQAAAFISAAAAKAEAAABSsAAAACgAAAAAKAAAAABzgAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvaWRsZWxpYi9jb25maWdIYW5kbGVyLnB5dAgAAAA8bGFtYmRhPqACAABzAAAAACgLAAAAUj8AAABSPgAAAFIHAAAAUh8AAABSHAAAAHQEAAAAZmluZHQGAAAAc3RyaW5nUqEAAAB0BQAAAHN0cmlwUoAAAABSjgAAACgJAAAAUg4AAABSYwAAAHQLAAAAaGVscFNvdXJjZXNSZAAAAFIeAAAAUhkAAABSLwAAAHQIAAAAbWVudUl0ZW10CAAAAGhlbHBQYXRoKAAAAAAoAAAAAHOAAAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9pZGxlbGliL2NvbmZpZ0hhbmRsZXIucHl0FgAAAEdl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