A/MNCjFc/FVjAAAAAAAAAAAVAAAAQAAAAHPpAAAAZAAAWgAAZAEAWgEAZAIAZAMAbAIAWgIAZAIAZAMAbAMAWgMAZAIAZAQAbAQAbQUAWgUAAWQCAGQFAGwGAG0HAFoHAG0IAFoIAG0JAFoJAG0KAFoKAAFkAgBkBgBsCwBtDABaDAABZAIAZAcAbA0AbQ4AWg4AAWQCAGQIAGwPAG0QAFoQAAFkAgBkCQBsEQBtEgBaEgABZAIAZAoAbBMAbRQAWhQAAWQLAFoVAGQMAIQAAFoWAGQDAGEYAGQDAGEZAGQzAFoaAGQ0AFobAGQwAIQAAFocAGQDAGQxAGQyAIQCAFodAGQDAFMoNQAAAHMjAQAAZGlzdHV0aWxzLmNvcmUKClRoZSBvbmx5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIGJlIGltcG9ydGVkIHRvIHVzZSB0aGUgRGlzdHV0aWxzOyBwcm92aWRlcwp0aGUgJ3NldHVwJyBmdW5jdGlvbiAod2hpY2ggaXMgdG8gYmUgY2FsbGVkIGZyb20gdGhlIHNldHVwIHNjcmlwdCkuICBBbHNvCmluZGlyZWN0bHkgcHJvdmlkZXMgdGhlIERpc3RyaWJ1dGlvbiBhbmQgQ29tbWFuZCBjbGFzc2VzLCBhbHRob3VnaCB0aGV5IGFyZQpyZWFsbHkgZGVmaW5lZCBpbiBkaXN0dXRpbHMuZGlzdCBhbmQgZGlzdHV0aWxzLmNtZC4KcwQAAAAkSWQkaf////9OKAEAAAB0BQAAAERFQlVHKAQAAAB0EwAAAERpc3R1dGlsc1NldHVwRXJyb3J0EQAAAERpc3R1dGlsc0FyZ0Vycm9ydA4AAABEaXN0dXRpbHNFcnJvcnQOAAAAQ0NvbXBpbGVyRXJyb3IoAQAAAHQWAAAAZ3Jva19lbnZpcm9ubWVudF9lcnJvcigBAAAAdAwAAABEaXN0cmlidXRpb24oAQAAAHQHAAAAQ29tbWFuZCgBAAAAdA0AAABQeVBJUkNDb21tYW5kKAEAAAB0CQAAAEV4dGVuc2lvbnOwAAAAdXNhZ2U6ICUoc2NyaXB0KXMgW2dsb2JhbF9vcHRzXSBjbWQxIFtjbWQxX29wdHNdIFtjbWQyIFtjbWQyX29wdHNdIC4uLl0KICAgb3I6ICUoc2NyaXB0KXMgLS1oZWxwIFtjbWQxIGNtZDIgLi4uXQogICBvcjogJShzY3JpcHQpcyAtLWhlbHAtY29tbWFuZHMKICAgb3I6ICUoc2NyaXB0KXMgY21kIC0taGVscApjAQAAAAIAAAAEAAAAQwAAAHMhAAAAdAAAagEAagIAfAAAgwEAfQEAdAMAaQEAfAEAZAEANhZTKAIAAABOdAYAAABzY3JpcHQoBAAAAHQCAAAAb3N0BAAAAHBhdGh0CAAAAGJhc2VuYW1ldAUAAABVU0FHRSgCAAAAdAsAAABzY3JpcHRfbmFtZVIKAAAAKAAAAAAoAAAAAHNVAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy9kaXN0dXRpbHMvY29yZS5weXQJAAAAZ2VuX3VzYWdlJAAAAHMEAAAAAAESAXQJAAAAZGlzdGNsYXNzUg8AAAB0CwAAAHNjcmlwdF9hcmdzdAcAAABvcHRpb25zdAQAAABuYW1ldAcAAAB2ZXJzaW9udAYAAABhdXRob3J0DAAAAGF1dGhvcl9lbWFpbHQKAAAAbWFpbnRhaW5lcnQQAAAAbWFpbnRhaW5lcl9lbWFpbHQDAAAAdXJsdAcAAABsaWNlbnNldAsAAABkZXNjcmlwdGlvbnQQAAAAbG9uZ19kZXNjcmlwdGlvbnQIAAAAa2V5d29yZHN0CQAAAHBsYXRmb3Jtc3QLAAAAY2xhc3NpZmllcnN0DAAAAGRvd25sb2FkX3VybHQIAAAAcmVxdWlyZXN0CAAAAHByb3ZpZGVzdAkAAABvYnNvbGV0ZXN0BwAAAHNvdXJjZXN0DAAAAGluY2x1ZGVfZGlyc3QNAAAAZGVmaW5lX21hY3Jvc3QMAAAAdW5kZWZfbWFjcm9zdAwAAABsaWJyYXJ5X2RpcnN0CQAAAGxpYnJhcmllc3QUAAAAcnVudGltZV9saWJyYXJ5X2RpcnN0DQAAAGV4dHJhX29iamVjdHN0EgAAAGV4dHJhX2NvbXBpbGVfYXJnc3QPAAAAZXh0cmFfbGlua19hcmdzdAkAAABzd2lnX29wdHN0DgAAAGV4cG9ydF9zeW1ib2xzdAcAAABkZXBlbmRzdAgAAABsYW5ndWFnZWMAAAAABwAAAAYAAABLAAAAczcCAAB8AABqAABkAQCDAQB9AQB8AQByHwB8AABkAQA9bgYAdAEAfQEAZAIAfAAAawcAclEAdAIAagMAagQAdAUAagYAZAMAGYMBAHwAAGQCADxuAABkBAB8AABrBwBycQB0BQBqBgBkBQAffAAAZAQAPG4AAHkUAHwBAHwAAIMBAARhBwB9AgBXbkYABHQIAGsKAHLNAAF9AwABZAYAfAAAawYAcr0AdAkAZAcAfAAAZAYAGXwDAGYCABaCAgBxzgB0CQBkCAB8AwAWggIAbgEAWHQKAGQJAGsCAHLeAHwCAFN8AgBqCwCDAAABdAwAcgABZAoAR0h8AgBqDQCDAAABbgAAdAoAZAsAawIAchABfAIAU3kQAHwCAGoOAIMAAH0EAFduLQAEdA8AawoAck8BAX0DAAF0CQB0EAB8AgBqEQCDAQBkDAB8AwAWF4ICAG4BAFh0DAByaAFkDQBHSHwCAGoNAIMAAAFuAAB0CgBkDgBrAgByeAF8AgBTfAQAcjMCeQ4AfAIAahIAgwAAAVdxMwIEdBMAawoAcqgBAQEBdAkAZA8AggIAcTMCBHQUAHQCAGoVAGYCAGsKAHL4AQF9BQABdBYAfAUAgwEAfQYAdAwAcuwBdAUAahcAahgAfAYAZBAAF4MBAAGCAABxMAJ0CQB8BgCCAgBxMwIEdBkAdBoAZgIAawoAci8CAX0DAAF0DAByGQKCAABxMAJ0CQBkEQB0GwB8AwCDAQAXggIAcTMCWG4AAHwCAFMoEgAAAHPMBgAAVGhlIGdhdGV3YXkgdG8gdGhlIERpc3R1dGlsczogZG8gZXZlcnl0aGluZyB5b3VyIHNldHVwIHNjcmlwdCBuZWVkcwogICAgdG8gZG8sIGluIGEgaGlnaGx5IGZsZXhpYmxlIGFuZCB1c2VyLWRyaXZlbiB3YXkuICBCcmllZmx5OiBjcmVhdGUgYQogICAgRGlzdHJpYnV0aW9uIGluc3RhbmNlOyBmaW5kIGFuZCBwYXJzZSBjb25maWcgZmlsZXM7IHBhcnNlIHRoZSBjb21tYW5kCiAgICBsaW5lOyBydW4gZWFjaCBEaXN0dXRpbHMgY29tbWFuZCBmb3VuZCB0aGVyZSwgY3VzdG9taXplZCBieSB0aGUgb3B0aW9ucwogICAgc3VwcGxpZWQgdG8gJ3NldHVwKCknIChhcyBrZXl3b3JkIGFyZ3VtZW50cyksIGluIGNvbmZpZyBmaWxlcywgYW5kIG9uCiAgICB0aGUgY29tbWFuZCBsaW5lLgoKICAgIFRoZSBEaXN0cmlidXRpb24gaW5zdGFuY2UgbWlnaHQgYmUgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyBzdXBwbGllZCB2aWEKICAgIHRoZSAnZGlzdGNsYXNzJyBrZXl3b3JkIGFyZ3VtZW50IHRvICdzZXR1cCc7IGlmIG5vIHN1Y2ggY2xhc3MgaXMKICAgIHN1cHBsaWVkLCB0aGVuIHRoZSBEaXN0cmlidXRpb24gY2xhc3MgKGluIGRpc3QucHkpIGlzIGluc3RhbnRpYXRlZC4KICAgIEFsbCBvdGhlciBhcmd1bWVudHMgdG8gJ3NldHVwJyAoZXhjZXB0IGZvciAnY21kY2xhc3MnKSBhcmUgdXNlZCB0byBzZXQKICAgIGF0dHJpYnV0ZXMgb2YgdGhlIERpc3RyaWJ1dGlvbiBpbnN0YW5jZS4KCiAgICBUaGUgJ2NtZGNsYXNzJyBhcmd1bWVudCwgaWYgc3VwcGxpZWQsIGlzIGEgZGljdGlvbmFyeSBtYXBwaW5nIGNvbW1hbmQKICAgIG5hbWVzIHRvIGNvbW1hbmQgY2xhc3Nlcy4gIEVhY2ggY29tbWFuZCBlbmNvdW50ZXJlZCBvbiB0aGUgY29tbWFuZCBsaW5lCiAgICB3aWxsIGJlIHR1cm5lZCBpbnRvIGEgY29tbWFuZCBjbGFzcywgd2hpY2ggaXMgaW4gdHVybiBpbnN0YW50aWF0ZWQ7IGFueQogICAgY2xhc3MgZm91bmQgaW4gJ2NtZGNsYXNzJyBpcyB1c2VkIGluIHBsYWNlIG9mIHRoZSBkZWZhdWx0LCB3aGljaCBpcwogICAgKGZvciBjb21tYW5kICdmb29fYmFyJykgY2xhc3MgJ2Zvb19iYXInIGluIG1vZHVsZQogICAgJ2Rpc3R1dGlscy5jb21tYW5kLmZvb19iYXInLiAgVGhlIGNvbW1hbmQgY2xhc3MgbXVzdCBwcm92aWRlIGEKICAgICd1c2VyX29wdGlvbnMnIGF0dHJpYnV0ZSB3aGljaCBpcyBhIGxpc3Qgb2Ygb3B0aW9uIHNwZWNpZmllcnMgZm9yCiAgICAnZGlzdHV0aWxzLmZhbmN5X2dldG9wdCcuICBBbnkgY29tbWFuZC1saW5lIG9wdGlvbnMgYmV0d2VlbiB0aGUgY3VycmVudAogICAgYW5kIHRoZSBuZXh0IGNvbW1hbmQgYXJlIHVzZWQgdG8gc2V0IGF0dHJpYnV0ZXMgb2YgdGhlIGN1cnJlbnQgY29tbWFuZAogICAgb2JqZWN0LgoKICAgIFdoZW4gdGhlIGVudGlyZSBjb21tYW5kLWxpbmUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHBhcnNlZCwgY2FsbHMgdGhlCiAgICAncnVuKCknIG1ldGhvZCBvbiBlYWNoIGNvbW1hbmQgb2JqZWN0IGluIHR1cm4uICBUaGlzIG1ldGhvZCB3aWxsIGJlCiAgICBkcml2ZW4gZW50aXJlbHkgYnkgdGhlIERpc3RyaWJ1dGlvbiBvYmplY3QgKHdoaWNoIGVhY2ggY29tbWFuZCBvYmplY3QKICAgIGhhcyBhIHJlZmVyZW5jZSB0bywgdGhhbmtzIHRvIGl0cyBjb25zdHJ1Y3RvciksIGFuZCB0aGUKICAgIGNvbW1hbmQtc3BlY2lmaWMgb3B0aW9ucyB0aGF0IGJlY2FtZSBhdHRyaWJ1dGVzIG9mIGVhY2ggY29tbWFuZAogICAgb2JqZWN0LgogICAgUhEAAABSDwAAAGkAAAAAUhIAAABpAQAAAFIUAAAAcx0AAABlcnJvciBpbiAlcyBzZXR1cCBjb21tYW5kOiAlc3MaAAAAZXJyb3IgaW4gc2V0dXAgY29tbWFuZDogJXN0BAAAAGluaXRzJQAAAG9wdGlvbnMgKGFmdGVyIHBhcnNpbmcgY29uZmlnIGZpbGVzKTp0BgAAAGNvbmZpZ3MKAAAACmVycm9yOiAlc3MlAAAAb3B0aW9ucyAoYWZ0ZXIgcGFyc2luZyBjb21tYW5kIGxpbmUpOnQLAAAAY29tbWFuZGxpbmV0CwAAAGludGVycnVwdGVkcwEAAAAKcwcAAABlcnJvcjogKBwAAAB0AwAAAGdldFIGAAAAUgsAAABSDAAAAFINAAAAdAMAAABzeXN0BAAAAGFyZ3Z0EwAAAF9zZXR1cF9kaXN0cmlidXRpb25SAQAAAHQKAAAAU3lzdGVtRXhpdHQRAAAAX3NldHVwX3N0b3BfYWZ0ZXJ0EgAAAHBhcnNlX2NvbmZpZ19maWxlc1IAAAAAdBEAAABkdW1wX29wdGlvbl9kaWN0c3QSAAAAcGFyc2VfY29tbWFuZF9saW5lUgIAAABSEAAAAFIPAAAAdAwAAABydW5fY29tbWFuZHN0EQAAAEtleWJvYXJkSW50ZXJydXB0dAcAAABJT0Vycm9ydAUAAABlcnJvclIFAAAAdAYAAABzdGRlcnJ0BQAAAHdyaXRlUgMAAABSBAAAAHQDAAAAc3RyKAcAAAB0BQAAAGF0dHJzdAUAAABrbGFzc3QEAAAAZGlzdHQDAAAAbXNndAIAAABva3QDAAAAZXhjUkMAAAAoAAAAACgAAAAAc1UAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L2Rpc3R1dGlscy9jb3JlLnB5dAUAAABzZXR1cD0AAABzYgAAAAAlDwEGAQoCBgIMASABDAEUBAMBFAEPAQwBBgEUAhECDAEEBAoCBgEFAQ0CDAEEBQMBEAEPAR4CBgEFAQ0CDAEEAwYBAwEOAQ0BDAEYAQwCBgEUAQYCDAIEAREBBgEGAhoCdAMAAABydW5jAwAAAAcAAAAFAAAAQgAAAHPwAAAAfAIAZAsAawcAch8AZQAAZAUAfAIAZgEAFoICAG4AAHwCAGEBAGUCAGoDAH0DAGkBAHwAAGQGADZ9BABpAAB9BQB5cgB6WwB8AABlAgBqAwBkBwA8fAEAZAkAawkAcnAAfAEAZQIAagMAZAgAKW4AAGUFAHwAAIMBAH0GAHoUAHwGAGoGAIMAAHwEAHwFAFVXZAkAfAYAagcAgwAAAVhXZAkAfAMAZQIAXwMAZAkAYQEAWFduGgAEZQgAawoAcsYAAQEBbgoAAQEBggAAbgEAWHQJAGQJAGsIAHLsAGUKAGQKAHwAABaCAgBuAAB0CQBTKAwAAABzKQUAAFJ1biBhIHNldHVwIHNjcmlwdCBpbiBhIHNvbWV3aGF0IGNvbnRyb2xsZWQgZW52aXJvbm1lbnQsIGFuZAogICAgcmV0dXJuIHRoZSBEaXN0cmlidXRpb24gaW5zdGFuY2UgdGhhdCBkcml2ZXMgdGhpbmdzLiAgVGhpcyBpcyB1c2VmdWwKICAgIGlmIHlvdSBuZWVkIHRvIGZpbmQgb3V0IHRoZSBkaXN0cmlidXRpb24gbWV0YS1kYXRhIChwYXNzZWQgYXMKICAgIGtleXdvcmQgYXJncyBmcm9tICdzY3JpcHQnIHRvICdzZXR1cCgpJywgb3IgdGhlIGNvbnRlbnRzIG9mIHRoZQogICAgY29uZmlnIGZpbGVzIG9yIGNvbW1hbmQtbGluZS4KCiAgICAnc2NyaXB0X25hbWUnIGlzIGEgZmlsZSB0aGF0IHdpbGwgYmUgcnVuIHdpdGggJ2V4ZWNmaWxlKCknOwogICAgJ3N5cy5hcmd2WzBdJyB3aWxsIGJlIHJlcGxhY2VkIHdpdGggJ3NjcmlwdCcgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUKICAgIGNhbGwuICAnc2NyaXB0X2FyZ3MnIGlzIGEgbGlzdCBvZiBzdHJpbmdzOyBpZiBzdXBwbGllZCwKICAgICdzeXMuYXJndlsxOl0nIHdpbGwgYmUgcmVwbGFjZWQgYnkgJ3NjcmlwdF9hcmdzJyBmb3IgdGhlIGR1cmF0aW9uIG9mCiAgICB0aGUgY2FsbC4KCiAgICAnc3RvcF9hZnRlcicgdGVsbHMgJ3NldHVwKCknIHdoZW4gdG8gc3RvcCBwcm9jZXNzaW5nOyBwb3NzaWJsZQogICAgdmFsdWVzOgogICAgICBpbml0CiAgICAgICAgc3RvcCBhZnRlciB0aGUgRGlzdHJpYnV0aW9uIGluc3RhbmNlIGhhcyBiZWVuIGNyZWF0ZWQgYW5kCiAgICAgICAgcG9wdWxhdGVkIHdpdGggdGhlIGtleXdvcmQgYXJndW1lbnRzIHRvICdzZXR1cCgpJwogICAgICBjb25maWcKICAgICAgICBzdG9wIGFmdGVyIGNvbmZpZyBmaWxlcyBoYXZlIGJlZW4gcGFyc2VkIChhbmQgdGhlaXIgZGF0YQogICAgICAgIHN0b3JlZCBpbiB0aGUgRGlzdHJpYnV0aW9uIGluc3RhbmNlKQogICAgICBjb21tYW5kbGluZQogICAgICAgIHN0b3AgYWZ0ZXIgdGhlIGNvbW1hbmQtbGluZSAoJ3N5cy5hcmd2WzE6XScgb3IgJ3NjcmlwdF9hcmdzJykKICAgICAgICBoYXZlIGJlZW4gcGFyc2VkIChhbmQgdGhlIGRhdGEgc3RvcmVkIGluIHRoZSBEaXN0cmlidXRpb24pCiAgICAgIHJ1biBbZGVmYXVsdF0KICAgICAgICBzdG9wIGFmdGVyIGFsbCBjb21tYW5kcyBoYXZlIGJlZW4gcnVuICh0aGUgc2FtZSBhcyBpZiAnc2V0dXAoKScKICAgICAgICBoYWQgYmVlbiBjYWxsZWQgaW4gdGhlIHVzdWFsIHdheQoKICAgIFJldHVybnMgdGhlIERpc3RyaWJ1dGlvbiBpbnN0YW5jZSwgd2hpY2ggcHJvdmlkZXMgYWxsIGluZm9ybWF0aW9uCiAgICB1c2VkIHRvIGRyaXZlIHRoZSBEaXN0dXRpbHMuCiAgICBSMwAAAFI0AAAAUjUAAABSTgAAAHMiAAAAaW52YWxpZCB2YWx1ZSBmb3IgJ3N0b3BfYWZ0ZXInOiAlcnQIAAAAX19maWxlX19pAAAAAGkBAAAATnNaAAAAJ2Rpc3R1dGlscy5jb3JlLnNldHVwKCknIHdhcyBuZXZlciBjYWxsZWQgLS0gcGVyaGFwcyAnJXMnIGlzIG5vdCBhIERpc3R1dGlscyBzZXR1cCBzY3JpcHQ/KAQAAABzBAAAAGluaXRzBgAAAGNvbmZpZ3MLAAAAY29tbWFuZGxpbmVSTgAAACgLAAAAdAoAAABWYWx1ZUVycm9yUjwAAABSOAAAAFI5AAAAdAQAAABOb25ldAQAAABvcGVudAQAAAByZWFkdAUAAABjbG9zZVI7AAAAUjoAAAB0DAAAAFJ1bnRpbWVFcnJvcigHAAAAUg8AAABSEgAAAHQKAAAAc3RvcF9hZnRlcnQJAAAAc2F2ZV9hcmd2dAEAAABndAEAAABsdAEAAABmKAAAAAAoAAAAAHNVAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy9kaXN0dXRpbHMvY29yZS5weXQJAAAAcnVuX3NldHVwrgAAAHM0AAAAAB8MARMDBgIJAQ0BBgEDAQMBDQEMARABDAEDARQCDwIJAQsBDQMDAQMBBwIMAQMBAwIKBCgVAAAAcwkAAABkaXN0Y2xhc3NzCwAAAHNjcmlwdF9uYW1lcwsAAABzY3JpcHRfYXJnc1ITAAAAcwQAAABuYW1lcwcAAAB2ZXJzaW9uUhYAAABSFwAAAFIYAAAAUhkAAABSGgAAAHMHAAAAbGljZW5zZVIcAAAAUh0AAABSHgAAAFIfAAAAUiAAAABSIQAAAFIiAAAAUiMAAABSJAAAACgPAAAAcwQAAABuYW1lUiUAAABSJgAAAFInAAAAUigAAABSKQAAAFIqAAAAUisAAABSLAAAAFItAAAAUi4AAABSLwAAAFIwAAAAUjEAAABSMgAAACgeAAAAdAcAAABfX2RvY19fdAwAAABfX3JldmlzaW9uX19SOAAAAFILAAAAdA8AAABkaXN0dXRpbHMuZGVidWdSAAAAAHQQAAAAZGlzdHV0aWxzLmVycm9yc1IBAAAAUgIAAABSAwAAAFIEAAAAdA4AAABkaXN0dXRpbHMudXRpbFIFAAAAdA4AAABkaXN0dXRpbHMuZGlzdFIGAAAAdA0AAABkaXN0dXRpbHMuY21kUgcAAAB0EAAAAGRpc3R1dGlscy5jb25maWdSCAAAAHQTAAAAZGlzdHV0aWxzLmV4dGVuc2lvblIJAAAAUg4AAABSEAAAAFJRAAAAUjwAAABSOgAAAHQOAAAAc2V0dXBfa2V5d29yZHN0EgAAAGV4dGVuc2lvbl9rZXl3b3Jkc1JNAAAAUlsAAAAoAAAAACgAAAAAKAAAAABzVQAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvZGlzdHV0aWxzL2NvcmUucHl0CAAAADxtb2R1bGU+BwAAAHM2AAAABgIGAgwBDAIQASICEAMQARABEAEQCwYCCQYGAQYDAAEAAQABAAEAAQYEAAEAAQABAAEGAglx