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aXRlWg1fZW5jb2RlX2ZpZWxkqQLaA2tleXI1AAAAqQJySwAAAHIwAAAAch4AAAByHwAAANoLd3JpdGVfZmllbGSEAAAAcwIAAAAAAXojd3JpdGVfcGtnX2ZpbGUuPGxvY2Fscz4ud3JpdGVfZmllbGRjAgAAAAAAAAAAAAAAAgAAAAUAAAATAAAAcxYAAACIAKAAZAF8AHwBZgIWAKEBAQBkAFMAck0AAAApAXJOAAAAck8AAAApAXJLAAAAch4AAAByHwAAAHJSAAAAhwAAAHMCAAAAAAF6EE1ldGFkYXRhLVZlcnNpb27aBE5hbWXaB1ZlcnNpb25aB1N1bW1hcnl6CUhvbWUtcGFnZXIjAAAA2gZBdXRob3L6DEF1dGhvci1lbWFpbCkEKQJyVQAAAHI/AAAAKQJyVgAAAHJGAAAAKQJaCk1haW50YWluZXJyKAAAACkCehBNYWludGFpbmVyLWVtYWlscikAAABOWgdMaWNlbnNlegxEb3dubG9hZC1VUkx6C1Byb2plY3QtVVJMegYlcywgJXPaC0Rlc2NyaXB0aW9uckMAAABaCEtleXdvcmRz2ghQbGF0Zm9ybdoKQ2xhc3NpZmllctoIUmVxdWlyZXPaCFByb3ZpZGVz2glPYnNvbGV0ZXNyIgAAAHoPUmVxdWlyZXMtUHl0aG9uehhEZXNjcmlwdGlvbi1Db250ZW50LVR5cGV6DlByb3ZpZGVzLUV4dHJhKR9yMgAAAHIOAAAA2gNQWTLaA3N0ctoIZ2V0X25hbWXaC2dldF92ZXJzaW9u2g9nZXRfZGVzY3JpcHRpb27aB2dldF91cmxyDQAAANoLZ2V0X2NvbnRhY3TaEWdldF9jb250YWN0X2VtYWlsciUAAADaC2dldF9saWNlbnNlci8AAAByKgAAANoFaXRlbXNyDAAAANoUZ2V0X2xvbmdfZGVzY3JpcHRpb27aBGpvaW7aDGdldF9rZXl3b3Jkc9oNZ2V0X3BsYXRmb3Jtc9oLX3dyaXRlX2xpc3TaD2dldF9jbGFzc2lmaWVyc9oMZ2V0X3JlcXVpcmVz2gxnZXRfcHJvdmlkZXPaDWdldF9vYnNvbGV0ZXPaB2hhc2F0dHJyIgAAAHImAAAAcicAAADaBnNvcnRlZCkNcjAAAABySwAAAHI9AAAAclIAAABaD29wdGlvbmFsX2ZpZWxkc9oFZmllbGTaBGF0dHJaCGF0dHJfdmFs2gtwcm9qZWN0X3VybNoJbG9uZ19kZXNjckIAAAByRAAAANoFZXh0cmFyHgAAAHJRAAAAch8AAADaDndyaXRlX3BrZ19maWxlfgAAAHNaAAAAAAMIAgYBEAMMAw4BDgEOAQ4BDgIMAQ4BEAIEBwwBCgIIAQwCDgEGAQwBDgEQAgwBCgIOAQYBCgIOAQwBEAISAhIDEgESARIDDAEMAwgBAgECAQT+BAQIAQ4BcncAAABjAwAAAAAAAAAAAAAABAAAAAsAAABDAAAAc1AAAAB6HnQAagGgAmQBfAIXAKEBfQN8A2oDchx0BIIBVwBuLAQAdAV0BnQHdARmBGsKckoBAAEAAQB0CGQCfAF8AmYCFgCDAYIBWQBuAlgAZABTACkDTnoCeD16NCVyIG11c3QgYmUgaW1wb3J0YWJsZSAnbW9kdWxlOmF0dHJzJyBzdHJpbmcgKGdvdCAlcikpCdoNcGtnX3Jlc291cmNlc9oKRW50cnlQb2ludNoFcGFyc2XaBmV4dHJhc9oOQXNzZXJ0aW9uRXJyb3LaCVR5cGVFcnJvctoKVmFsdWVFcnJvctoOQXR0cmlidXRlRXJyb3JyCwAAACkE2gRkaXN0cnMAAAByNQAAANoCZXByHgAAAHIeAAAAch8AAADaEGNoZWNrX2ltcG9ydGFibGXNAAAAcxIAAAAAAQIBEAEOARYBAgECAQb/Av9yggAAAGMDAAAAAAAAAAAAAAADAAAACwAAAEMAAABzWgAAAHoodAB8AnQBdAJmAoMCcxR0A4IBZAGgBHwCoQF8AmsDcyZ0A4IBVwBuLAQAdAV0BnQHdANmBGsKclQBAAEAAQB0CGQCfAF8AmYCFgCDAYIBWQBuAlgAZANTACkEeiJWZXJpZnkgdGhhdCB2YWx1ZSBpcyBhIHN0cmluZyBsaXN02gB6JSVyIG11c3QgYmUgYSBsaXN0IG9mIHN0cmluZ3MgKGdvdCAlcilOKQnaCmlzaW5zdGFuY2XaBGxpc3TaBXR1cGxlcnwAAAByaAAAAHJ9AAAAcn4AAAByfwAAAHILAAAAqQNygAAAAHJzAAAAcjUAAAByHgAAAHIeAAAAch8AAADaEmFzc2VydF9zdHJpbmdfbGlzdNgAAABzDgAAAAACAgMSAhYBFgECAQr/cogAAABjAwAAAAAAAAAAAAAACAAAAAYAAABDAAAAc2QAAAB8An0DdAB8AHwBfAODAwEAfANEAF1KfQR8AKABfAShAXMydAJkAWQCfAQWABcAgwGCAXwEoANkA6EBXAN9BX0GfQd8BXIUfAV8A2sHchR0BGoFoAZkBHwEfAWhAwEAcRRkBVMAKQZ6KFZlcmlmeSB0aGF0IG5hbWVzcGFjZSBwYWNrYWdlcyBhcmUgdmFsaWR6MURpc3RyaWJ1dGlvbiBjb250YWlucyBubyBtb2R1bGVzIG9yIHBhY2thZ2VzIGZvciB6FG5hbWVzcGFjZSBwYWNrYWdlICVy2gEuel5XQVJOSU5HOiAlciBpcyBkZWNsYXJlZCBhcyBhIHBhY2thZ2UgbmFtZXNwYWNlLCBidXQgJXIgaXMgbm90OiBwbGVhc2UgY29ycmVjdCB0aGlzIGluIHNldHVwLnB5TikHcogAAADaEGhhc19jb250ZW50c19mb3JyCwAAANoKcnBhcnRpdGlvbtoJZGlzdHV0aWxz2gNsb2dyGwAAACkIcoAAAABycwAAAHI1AAAAWgtuc19wYWNrYWdlc9oDbnNw2gZwYXJlbnTaA3NlcNoFY2hpbGRyHgAAAHIeAAAAch8AAADaCWNoZWNrX25zcOYAAABzIAAAAAACBAEMAQgBCgECAQIBBv8C/wQEEAEMAQYBAgECAAL+cpIAAABjAwAAAAAAAAAAAAAAAwAAAAoAAABDAAAAc0AAAAB6GHQAdAGgAnQDfAKgBKEAoQKDAQEAVwBuIgQAdAV0BnQHZgNrCnI6AQABAAEAdAhkAYMBggFZAG4CWABkAlMAKQN6K1ZlcmlmeSB0aGF0IGV4dHJhc19yZXF1aXJlIG1hcHBpbmcgaXMgdmFsaWR6iydleHRyYXNfcmVxdWlyZScgbXVzdCBiZSBhIGRpY3Rpb25hcnkgd2hvc2UgdmFsdWVzIGFyZSBzdHJpbmdzIG9yIGxpc3RzIG9mIHN0cmluZ3MgY29udGFpbmluZyB2YWxpZCBwcm9qZWN0L3ZlcnNpb24gcmVxdWlyZW1lbnQgc3BlY2lmaWVycy5OKQlyhQAAANoJaXRlcnRvb2xz2gdzdGFybWFw2gxfY2hlY2tfZXh0cmFyZgAAAHJ9AAAAcn4AAAByfwAAAHILAAAAcocAAAByHgAAAHIeAAAAch8AAADaDGNoZWNrX2V4dHJhc/gAAABzDAAAAAACAgEYARQBAgEC/3KWAAAAYwIAAAAAAAAAAAAAAAUAAAAEAAAAQwAAAHM8AAAAfACgAGQBoQFcA30CfQN9BHwEcip0AaACfAShAXIqdANkAnwEFwCDAYIBdAR0AaAFfAGhAYMBAQBkAFMAKQNO+gE6ehxJbnZhbGlkIGVudmlyb25tZW50IG1hcmtlcjogKQbaCXBhcnRpdGlvbnJ4AAAA2g5pbnZhbGlkX21hcmtlcnILAAAAcoUAAADaEnBhcnNlX3JlcXVpcmVtZW50cykFcnYAAADaBHJlcXNyNAAAAHKQAAAA2gZtYXJrZXJyHgAAAHIeAAAAch8AAABylQAAAAQBAABzCAAAAAABEAEOAQwBcpUAAABjAwAAAAAAAAAAAAAABAAAAAUAAABDAAAAcyYAAAB0AHwCgwF8AmsDciJkAX0DdAF8A2oCfAF8AmQCjQKDAYIBZANTACkEeilWZXJpZnkgdGhhdCB2YWx1ZSBpcyBUcnVlLCBGYWxzZSwgMCwgb3IgMXowe2F0dHIhcn0gbXVzdCBiZSBhIGJvb2xlYW4gdmFsdWUgKGdvdCB7dmFsdWUhcn0pKQJycwAAAHI1AAAATikD2gRib29scgsAAADaBmZvcm1hdCkEcoAAAABycwAAAHI1AAAA2gR0bXBsch4AAAByHgAAAHIfAAAA2gthc3NlcnRfYm9vbAsBAABzBgAAAAACDAEEAXKgAAAAYwMAAAAAAAAAAAAAAAUAAAAKAAAAQwAAAHNqAAAAeih0AHQBoAJ8AqEBgwEBAHQDfAJ0BHQFZgKDAnImdAZkAYMBggFXAG48BAB0BnQHZgJrCnJkAQB9AwEAehpkAn0EdAh8BGoJfAF8A2QDjQKDAYIBVwA1AGQEfQN+A1gAWQBuAlgAZARTACkFejlWZXJpZnkgdGhhdCBpbnN0YWxsX3JlcXVpcmVzIGlzIGEgdmFsaWQgcmVxdWlyZW1lbnRzIGxpc3R6H1Vub3JkZXJlZCB0eXBlcyBhcmUgbm90IGFsbG93ZWR6bXthdHRyIXJ9IG11c3QgYmUgYSBzdHJpbmcgb3IgbGlzdCBvZiBzdHJpbmdzIGNvbnRhaW5pbmcgdmFsaWQgcHJvamVjdC92ZXJzaW9uIHJlcXVpcmVtZW50IHNwZWNpZmllcnM7IHtlcnJvcn2pAnJzAAAA2gVlcnJvck4pCnKFAAAAcngAAABymgAAAHKEAAAA2gRkaWN02gNzZXRyfQAAAHJ+AAAAcgsAAAByngAAAKkFcoAAAABycwAAAHI1AAAAcqIAAABynwAAAHIeAAAAch4AAAByHwAAANoSY2hlY2tfcmVxdWlyZW1lbnRzEgEAAHMQAAAAAAICAQ4BDgEMARQCAv8CBHKmAAAAYwMAAAAAAAAAAAAAAAUAAAAKAAAAQwAAAHNSAAAAehB0AGoBoAJ8AqEBAQBXAG48BAB0AGoBagNrCnJMAQB9AwEAehpkAX0EdAR8BGoFfAF8A2QCjQKDAYIBVwA1AGQDfQN+A1gAWQBuAlgAZANTACkEei5WZXJpZnkgdGhhdCB2YWx1ZSBpcyBhIHZhbGlkIHZlcnNpb24gc3BlY2lmaWVyekZ7YXR0ciFyfSBtdXN0IGJlIGEgc3RyaW5nIGNvbnRhaW5pbmcgdmFsaWQgdmVyc2lvbiBzcGVjaWZpZXJzOyB7ZXJyb3J9cqEAAABOKQZyDwAAANoKc3BlY2lmaWVyc9oMU3BlY2lmaWVyU2V02hBJbnZhbGlkU3BlY2lmaWVycgsAAAByngAAAHKlAAAAch4AAAByHgAAAHIfAAAA2g9jaGVja19zcGVjaWZpZXIgAQAAcwwAAAAAAgIBEAEUAgL/AgRyqgAAAGMDAAAAAAAAAAAAAAAEAAAACgAAAEMAAABzQAAAAHoQdABqAaACfAKhAQEAVwBuKgQAdANrCnI6AQB9AwEAegx0BHwDgwGCAVcANQBkAX0DfgNYAFkAbgJYAGQBUwApAnopVmVyaWZ5IHRoYXQgZW50cnlfcG9pbnRzIG1hcCBpcyBwYXJzZWFibGVOKQVyeAAAAHJ5AAAA2glwYXJzZV9tYXByfgAAAHILAAAAKQRygAAAAHJzAAAAcjUAAADaAWVyHgAAAHIeAAAAch8AAADaEmNoZWNrX2VudHJ5X3BvaW50cywBAABzCAAAAAACAgEQARABcq0AAABjAwAAAAAAAAAAAAAAAwAAAAMAAABDAAAAcxgAAAB0AHwCdAFqAoMCcxR0A2QBgwGCAWQAUwApAk56G3Rlc3Rfc3VpdGUgbXVzdCBiZSBhIHN0cmluZykEcoQAAAByDgAAANoMc3RyaW5nX3R5cGVzcgsAAAByhwAAAHIeAAAAch4AAAByHwAAANoQY2hlY2tfdGVzdF9zdWl0ZTQBAABzBAAAAAABDAFyrwAAAGMDAAAAAAAAAAAAAAAFAAAABgAAAEMAAABzXAAAAHQAfAJ0AYMCcxh0AmQBoAN8AaEBgwGCAXwCoAShAEQAXTZcAn0DfQR0AHwDdAVqBoMCc0R0AmQCoAN8AXwDoQKDAYIBdAd8AGQDoAN8AaEBfASDAwEAcSBkBFMAKQV6QFZlcmlmeSB0aGF0IHZhbHVlIGlzIGEgZGljdGlvbmFyeSBvZiBwYWNrYWdlIG5hbWVzIHRvIGdsb2IgbGlzdHN6VHshcn0gbXVzdCBiZSBhIGRpY3Rpb25hcnkgbWFwcGluZyBwYWNrYWdlIG5hbWVzIHRvIGxpc3RzIG9mIHN0cmluZyB3aWxkY2FyZCBwYXR0ZXJuc3osa2V5cyBvZiB7IXJ9IGRpY3QgbXVzdCBiZSBzdHJpbmdzIChnb3QgeyFyfSl6E3ZhbHVlcyBvZiB7IXJ9IGRpY3ROKQhyhAAAAHKjAAAAcgsAAAByngAAAHJmAAAAcg4AAAByrgAAAHKIAAAAKQVygAAAAHJzAAAAcjUAAADaAWvaAXZyHgAAAHIeAAAAch8AAADaEmNoZWNrX3BhY2thZ2VfZGF0YTkBAABzHgAAAAACCgECAQQBAv8C/wQDEAEMAQIBBAECAAL/Av8EBHKyAAAAYwMAAAAAAAAAAAAAAAQAAAAFAAAAQwAAAHMoAAAAfAJEAF0efQN0AKABZAF8A6ECcwR0AmoDoARkAnwDoQIBAHEEZABTACkDTnoLXHcrKFwuXHcrKSp6W1dBUk5JTkc6ICVyIG5vdCBhIHZhbGlkIHBhY2thZ2UgbmFtZTsgcGxlYXNlIHVzZSBvbmx5IC4tc2VwYXJhdGVkIHBhY2thZ2UgbmFtZXMgaW4gc2V0dXAucHkpBdoCcmXaBW1hdGNocowAAAByjQAAAHIbAAAAKQRygAAAAHJzAAAAcjUAAADaB3BrZ25hbWVyHgAAAHIeAAAAch8AAADaDmNoZWNrX3BhY2thZ2VzSAEAAHMMAAAAAAEIAQwBBgECAQL+crYAAABjAAAAAAAAAAAAAAAAAAAAAAUAAABAAAAAc2YBAABlAFoBZABaAmQBWgNkAmUEZQVqBmUFagZkA5wEWgdkAloIZARkBYQAWglkUWQGZAeEAVoKZAhkCYQAWgtkCmQLhABaDGUNZAxkDYQAgwFaDmQOZA+EAFoPZBBkEYQAWhBkUmQSZBOEAVoRZQ1kFGQVhACDAVoSZFNkFmQXhAFaE2RUZBlkGoQBWhRkG2QchABaFWQdZB6EAFoWZB9kIIQAWhdkIWQihABaGGQjZCSEAFoZZCVkJoQAWhpkJ2QohABaG2QpZCqEAFocZCtkLIQAWh1kLWQuhABaHmQvZDCEAFofZDFkMoQAWiBkM2Q0hABaIWQ1ZDaEAFoiZDdkOIQAWiNkOWQ6hABaJGQ7ZDyEAFolZD1kPoQAWiZkP2RAhABaJ2RBZEKEAFooZENkRIQAWilkRWRGhABaKmRHZEiEAForZElkSoQAWixkS2RMhABaLWRNZE6EAFouZE9kUIQAWi9kAlMAKVVyAQAAAGGPDwAARGlzdHJpYnV0aW9uIHdpdGggc3VwcG9ydCBmb3IgZmVhdHVyZXMsIHRlc3RzLCBhbmQgcGFja2FnZSBkYXRhCgogICAgVGhpcyBpcyBhbiBlbmhhbmNlZCB2ZXJzaW9uIG9mICdkaXN0dXRpbHMuZGlzdC5EaXN0cmlidXRpb24nIHRoYXQKICAgIGVmZmVjdGl2ZWx5IGFkZHMgdGhlIGZvbGxvd2luZyBuZXcgb3B0aW9uYWwga2V5d29yZCBhcmd1bWVudHMgdG8gJ3NldHVwKCknOgoKICAgICAnaW5zdGFsbF9yZXF1aXJlcycgLS0gYSBzdHJpbmcgb3Igc2VxdWVuY2Ugb2Ygc3RyaW5ncyBzcGVjaWZ5aW5nIHByb2plY3QKICAgICAgICB2ZXJzaW9ucyB0aGF0IHRoZSBkaXN0cmlidXRpb24gcmVxdWlyZXMgd2hlbiBpbnN0YWxsZWQsIGluIHRoZSBmb3JtYXQKICAgICAgICB1c2VkIGJ5ICdwa2dfcmVzb3VyY2VzLnJlcXVpcmUoKScuICBUaGV5IHdpbGwgYmUgaW5zdGFsbGVkCiAgICAgICAgYXV0b21hdGljYWxseSB3aGVuIHRoZSBwYWNrYWdlIGlzIGluc3RhbGxlZC4gIElmIHlvdSB3aXNoIHRvIHVzZQogICAgICAgIHBhY2thZ2VzIHRoYXQgYXJlIG5vdCBhdmFpbGFibGUgaW4gUHlQSSwgb3Igd2FudCB0byBnaXZlIHlvdXIgdXNlcnMgYW4KICAgICAgICBhbHRlcm5hdGUgZG93bmxvYWQgbG9jYXRpb24sIHlvdSBjYW4gYWRkIGEgJ2ZpbmRfbGlua3MnIG9wdGlvbiB0byB0aGUKICAgICAgICAnW2Vhc3lfaW5zdGFsbF0nIHNlY3Rpb24gb2YgeW91ciBwcm9qZWN0J3MgJ3NldHVwLmNmZycgZmlsZSwgYW5kIHRoZW4KICAgICAgICBzZXR1cHRvb2xzIHdpbGwgc2NhbiB0aGUgbGlzdGVkIHdlYiBwYWdlcyBmb3IgbGlua3MgdGhhdCBzYXRpc2Z5IHRoZQogICAgICAgIHJlcXVpcmVtZW50cy4KCiAgICAgJ2V4dHJhc19yZXF1aXJlJyAtLSBhIGRpY3Rpb25hcnkgbWFwcGluZyBuYW1lcyBvZiBvcHRpb25hbCAiZXh0cmFzIiB0byB0aGUKICAgICAgICBhZGRpdGlvbmFsIHJlcXVpcmVtZW50KHMpIHRoYXQgdXNpbmcgdGhvc2UgZXh0cmFzIGluY3Vycy4gRm9yIGV4YW1wbGUsCiAgICAgICAgdGhpczo6CgogICAgICAgICAgICBleHRyYXNfcmVxdWlyZSA9IGRpY3QocmVTVCA9IFsiZG9jdXRpbHM+PTAuMyIsICJyZVNUZWRpdCJdKQoKICAgICAgICBpbmRpY2F0ZXMgdGhhdCB0aGUgZGlzdHJpYnV0aW9uIGNhbiBvcHRpb25hbGx5IHByb3ZpZGUgYW4gZXh0cmEKICAgICAgICBjYXBhYmlsaXR5IGNhbGxlZCAicmVTVCIsIGJ1dCBpdCBjYW4gb25seSBiZSB1c2VkIGlmIGRvY3V0aWxzIGFuZAogICAgICAgIHJlU1RlZGl0IGFyZSBpbnN0YWxsZWQuICBJZiB0aGUgdXNlciBpbnN0YWxscyB5b3VyIHBhY2thZ2UgdXNpbmcKICAgICAgICBFYXN5SW5zdGFsbCBhbmQgcmVxdWVzdHMgb25lIG9mIHlvdXIgZXh0cmFzLCB0aGUgY29ycmVzcG9uZGluZwogICAgICAgIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzIHdpbGwgYmUgaW5zdGFsbGVkIGlmIG5lZWRlZC4KCiAgICAgJ2ZlYXR1cmVzJyAqKmRlcHJlY2F0ZWQqKiAtLSBhIGRpY3Rpb25hcnkgbWFwcGluZyBvcHRpb24gbmFtZXMgdG8KICAgICAgICAnc2V0dXB0b29scy5GZWF0dXJlJwogICAgICAgIG9iamVjdHMuICBGZWF0dXJlcyBhcmUgYSBwb3J0aW9uIG9mIHRoZSBkaXN0cmlidXRpb24gdGhhdCBjYW4gYmUKICAgICAgICBpbmNsdWRlZCBvciBleGNsdWRlZCBiYXNlZCBvbiB1c2VyIG9wdGlvbnMsIGludGVyLWZlYXR1cmUgZGVwZW5kZW5jaWVzLAogICAgICAgIGFuZCBhdmFpbGFiaWxpdHkgb24gdGhlIGN1cnJlbnQgc3lzdGVtLiAgRXhjbHVkZWQgZmVhdHVyZXMgYXJlIG9taXR0ZWQKICAgICAgICBmcm9tIGFsbCBzZXR1cCBjb21tYW5kcywgaW5jbHVkaW5nIHNvdXJjZSBhbmQgYmluYXJ5IGRpc3RyaWJ1dGlvbnMsIHNvCiAgICAgICAgeW91IGNhbiBjcmVhdGUgbXVsdGlwbGUgZGlzdHJpYnV0aW9ucyBmcm9tIHRoZSBzYW1lIHNvdXJjZSB0cmVlLgogICAgICAgIEZlYXR1cmUgbmFtZXMgc2hvdWxkIGJlIHZhbGlkIFB5dGhvbiBpZGVudGlmaWVycywgZXhjZXB0IHRoYXQgdGhleSBtYXkKICAgICAgICBjb250YWluIHRoZSAnLScgKG1pbnVzKSBzaWduLiAgRmVhdHVyZXMgY2FuIGJlIGluY2x1ZGVkIG9yIGV4Y2x1ZGVkCiAgICAgICAgdmlhIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9ucyAnLS13aXRoLVgnIGFuZCAnLS13aXRob3V0LVgnLCB3aGVyZSAnWCcgaXMKICAgICAgICB0aGUgbmFtZSBvZiB0aGUgZmVhdHVyZS4gIFdoZXRoZXIgYSBmZWF0dXJlIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQsIGFuZAogICAgICAgIHdoZXRoZXIgeW91IGFyZSBhbGxvd2VkIHRvIGNvbnRyb2wgdGhpcyBmcm9tIHRoZSBjb21tYW5kIGxpbmUsIGlzCiAgICAgICAgZGV0ZXJtaW5lZCBieSB0aGUgRmVhdHVyZSBvYmplY3QuICBTZWUgdGhlICdGZWF0dXJlJyBjbGFzcyBmb3IgbW9yZQogICAgICAgIGluZm9ybWF0aW9uLgoKICAgICAndGVzdF9zdWl0ZScgLS0gdGhlIG5hbWUgb2YgYSB0ZXN0IHN1aXRlIHRvIHJ1biBmb3IgdGhlICd0ZXN0JyBjb21tYW5kLgogICAgICAgIElmIHRoZSB1c2VyIHJ1bnMgJ3B5dGhvbiBzZXR1cC5weSB0ZXN0JywgdGhlIHBhY2thZ2Ugd2lsbCBiZSBpbnN0YWxsZWQsCiAgICAgICAgYW5kIHRoZSBuYW1lZCB0ZXN0IHN1aXRlIHdpbGwgYmUgcnVuLiAgVGhlIGZvcm1hdCBpcyB0aGUgc2FtZSBhcwogICAgICAgIHdvdWxkIGJlIHVzZWQgb24gYSAndW5pdHRlc3QucHknIGNvbW1hbmQgbGluZS4gIFRoYXQgaXMsIGl0IGlzIHRoZQogICAgICAgIGRvdHRlZCBuYW1lIG9mIGFuIG9iamVjdCB0byBpbXBvcnQgYW5kIGNhbGwgdG8gZ2VuZXJhdGUgYSB0ZXN0IHN1aXRlLgoKICAgICAncGFja2FnZV9kYXRhJyAtLSBhIGRpY3Rpb25hcnkgbWFwcGluZyBwYWNrYWdlIG5hbWVzIHRvIGxpc3RzIG9mIGZpbGVuYW1lcwogICAgICAgIG9yIGdsb2JzIHRvIHVzZSB0byBmaW5kIGRhdGEgZmlsZXMgY29udGFpbmVkIGluIHRoZSBuYW1lZCBwYWNrYWdlcy4KICAgICAgICBJZiB0aGUgZGljdGlvbmFyeSBoYXMgZmlsZW5hbWVzIG9yIGdsb2JzIGxpc3RlZCB1bmRlciAnIiInICh0aGUgZW1wdHkKICAgICAgICBzdHJpbmcpLCB0aG9zZSBuYW1lcyB3aWxsIGJlIHNlYXJjaGVkIGZvciBpbiBldmVyeSBwYWNrYWdlLCBpbiBhZGRpdGlvbgogICAgICAgIHRvIGFueSBuYW1lcyBmb3IgdGhlIHNwZWNpZmljIHBhY2thZ2UuICBEYXRhIGZpbGVzIGZvdW5kIHVzaW5nIHRoZXNlCiAgICAgICAgbmFtZXMvZ2xvYnMgd2lsbCBiZSBpbnN0YWxsZWQgYWxvbmcgd2l0aCB0aGUgcGFja2FnZSwg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AXoaRGlzdHJpYnV0aW9uLl9pbmNsdWRlX21pc2NjAQAAAAAAAAAAAAAABQAAAAUAAABLAAAAc0AAAAB8AaAAoQBEAF0yXAJ9An0DdAF8AGQBfAIXAGQCgwN9BHwEci58BHwDgwEBAHEIfACgAnwCfAOhAgEAcQhkAlMAKQNhfwMAAFJlbW92ZSBpdGVtcyBmcm9tIGRpc3RyaWJ1dGlvbiB0aGF0IGFyZSBuYW1lZCBpbiBrZXl3b3JkIGFyZ3VtZW50cwoKICAgICAgICBGb3IgZXhhbXBsZSwgJ2Rpc3QuZXhjbHVkZShweV9tb2R1bGVzPVsieCJdKScgd291bGQgcmVtb3ZlICd4JyBmcm9tCiAgICAgICAgdGhlIGRpc3RyaWJ1dGlvbidzICdweV9tb2R1bGVzJyBhdHRyaWJ1dGUuICBFeGNsdWRpbmcgcGFja2FnZXMgdXNlcwogICAgICAgIHRoZSAnZXhjbHVkZV9wYWNrYWdlKCknIG1ldGhvZCwgc28gYWxsIG9mIHRoZSBwYWNrYWdlJ3MgY29udGFpbmVkCiAgICAgICAgcGFja2FnZXMsIG1vZHVsZXMsIGFuZCBleHRlbnNpb25zIGFyZSBhbHNvIGV4Y2x1ZGVkLgoKICAgICAgICBDdXJyZW50bHksIHRoaXMgbWV0aG9kIG9ubHkgc3VwcG9ydHMgZXhjbHVzaW9uIGZyb20gYXR0cmlidXRlcyB0aGF0IGFyZQogICAgICAgIGxpc3RzIG9yIHR1cGxlcy4gIElmIHlvdSBuZWVkIHRvIGFkZCBzdXBwb3J0IGZvciBleGNsdWRpbmcgZnJvbSBvdGhlcgogICAgICAgIGF0dHJpYnV0ZXMgaW4gdGhpcyBvciBhIHN1YmNsYXNzLCB5b3UgY2FuIGFkZCBhbiAnX2V4Y2x1ZGVfWCcgbWV0aG9kLAogICAgICAgIHdoZXJlICdYJyBpcyB0aGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlLiAgVGhlIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCB3aXRoCiAgICAgICAgdGhlIHZhbHVlIHBhc3NlZCB0byAnZXhjbHVkZSgpJy4gIFNvLCAnZGlzdC5leGNsdWRlKGZvbz17ImJhciI6ImJheiJ9KScKICAgICAgICB3aWxsIHRyeSB0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ZAtkDIQAWghkDWQOhABaCWQPZBCEAFoKZBFTACkTcs4AAABh8wsAAAogICAgKipkZXByZWNhdGVkKiogLS0gVGhlIGBGZWF0dXJlYCBmYWNpbGl0eSB3YXMgbmV2ZXIgY29tcGxldGVseSBpbXBsZW1lbnRlZAogICAgb3Igc3VwcG9ydGVkLCBgaGFzIHJlcG9ydGVkIGlzc3VlcwogICAgPGh0dHBzOi8vZ2l0aHViLmNvbS9weXBhL3NldHVwdG9vbHMvaXNzdWVzLzU4PmBfIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4KICAgIGEgZnV0dXJlIHZlcnNpb24uCgogICAgQSBzdWJzZXQgb2YgdGhlIGRpc3RyaWJ1dGlvbiB0aGF0IGNhbiBiZSBleGNsdWRlZCBpZiB1bm5lZWRlZC93YW50ZWQKCiAgICBGZWF0dXJlcyBhcmUgY3JlYXRlZCB1c2luZyB0aGVzZSBrZXl3b3JkIGFyZ3VtZW50czoKCiAgICAgICdkZXNjcmlwdGlvbicgLS0gYSBzaG9ydCwgaHVtYW4gcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIGZlYXR1cmUsIHRvCiAgICAgICAgIGJlIHVzZWQgaW4gZXJyb3IgbWVzc2FnZXMsIGFuZCBvcHRpb24gaGVscCBtZXNzYWdlcy4KCiAgICAgICdzdGFuZGFyZCcgLS0gaWYgdHJ1ZSwgdGhlIGZlYXR1cmUgaXMgaW5jbHVkZWQgYnkgZGVmYXVsdCBpZiBpdCBpcwogICAgICAgICBhdmFpbGFibGUgb24gdGhlIGN1cnJlbnQgc3lzdGVtLiAgT3RoZXJ3aXNlLCB0aGUgZmVhdHVyZSBpcyBvbmx5CiAgICAgICAgIGluY2x1ZGVkIGlmIHJlcXVlc3RlZCB2aWEgYSBjb21tYW5kIGxpbmUgJy0td2l0aC1YJyBvcHRpb24sIG9yIGlmCiAgICAgICAgIGFub3RoZXIgaW5jbHVkZWQgZmVhdHVyZSByZXF1aXJlcyBpdC4gIFRoZSBkZWZhdWx0IHNldHRpbmcgaXMgJ0ZhbHNlJy4KCiAgICAgICdhdmFpbGFibGUnIC0tIGlmIHRydWUsIHRoZSBmZWF0dXJlIGlzIGF2YWlsYWJsZSBmb3IgaW5zdGFsbGF0aW9uIG9uIHRoZQogICAgICAgICBjdXJyZW50IHN5c3RlbS4gIFRoZSBkZWZhdWx0IHNldHRpbmcgaXMgJ1RydWUnLgoKICAgICAgJ29wdGlvbmFsJyAtLSBpZiB0cnVlLCB0aGUgZmVhdHVyZSdzIGluY2x1c2lvbiBjYW4gYmUgY29udHJvbGxlZCBmcm9tIHRoZQogICAgICAgICBjb21tYW5kIGxpbmUsIHVzaW5nIHRoZSAnLS13aXRoLVgnIG9yICctLXdpdGhvdXQtWCcgb3B0aW9ucy4gIElmCiAgICAgICAgIGZhbHNlLCB0aGUgZmVhdHVyZSdzIGluY2x1c2lvbiBzdGF0dXMgaXMgZGV0ZXJtaW5lZCBhdXRvbWF0aWNhbGx5LAogICAgICAgICBiYXNlZCBvbiAnYXZhaWxhYmlsZScsICdzdGFuZGFyZCcsIGFuZCB3aGV0aGVyIGFueSBvdGhlciBmZWF0dXJlCiAgICAgICAgIHJlcXVpcmVzIGl0LiAgVGhlIGRlZmF1bHQgc2V0dGluZyBpcyAnVHJ1ZScuCgogICAgICAncmVxdWlyZV9mZWF0dXJlcycgLS0gYSBzdHJpbmcgb3Igc2VxdWVuY2Ugb2Ygc3RyaW5ncyBuYW1pbmcgZmVhdHVyZXMKICAgICAgICAgdGhhdCBzaG91bGQgYWxzbyBiZSBpbmNsdWRlZCBpZiB0aGlzIGZlYXR1cmUgaXMgaW5jbHVkZWQuICBEZWZhdWx0cyB0bwogICAgICAgICBlbXB0eSBsaXN0LiAgTWF5IGFsc28gY29udGFpbiAnUmVxdWlyZScgb2JqZWN0cyB0aGF0IHNob3VsZCBiZQogICAgICAgICBhZGRlZC9yZW1vdmVkIGZyb20gdGhlIGRpc3RyaWJ1dGlvbi4KCiAgICAgICdyZW1vdmUnIC0tIGEgc3RyaW5nIG9yIGxpc3Qgb2Ygc3RyaW5ncyBuYW1pbmcgcGFja2FnZXMgdG8gYmUgcmVtb3ZlZAogICAgICAgICBmcm9tIHRoZSBkaXN0cmlidXRpb24gaWYgdGhpcyBmZWF0dXJlIGlzICpub3QqIGluY2x1ZGVkLiAgSWYgdGhlCiAgICAgICAgIGZlYXR1cmUgKmlzKiBpbmNsdWRlZCwgdGhpcyBhcmd1bWVudCBpcyBpZ25vcmVkLiAgVGhpcyBhcmd1bWVudCBleGlzdHMKICAgICAgICAgdG8gc3VwcG9ydCByZW1vdmluZyBmZWF0dXJlcyB0aGF0ICJjcm9zc2N1dCIgYSBkaXN0cmlidXRpb24sIHN1Y2ggYXMKICAgICAgICAgZGVmaW5pbmcgYSAndGVzdHMnIGZlYXR1cmUgdGhhdCByZW1vdmVzIGFsbCB0aGUgJ3Rlc3RzJyBzdWJwYWNrYWdlcwogICAgICAgICBwcm92aWRlZCBieSBvdGhlciBmZWF0dXJlcy4gIFRoZSBkZWZhdWx0IGZvciB0aGlzIGFyZ3VtZW50IGlzIGFuIGVtcHR5CiAgICAgICAgIGxpc3QuICAoTm90ZTogdGhlIG5hbWVkIHBhY2thZ2Uocykgb3IgbW9kdWxlcyBtdXN0IGV4aXN0IGluIHRoZSBiYXNlCiAgICAgICAgIGRpc3RyaWJ1dGlvbiB3aGVuIHRoZSAnc2V0dXAoKScgZnVuY3Rpb24gaXMgaW5pdGlhbGx5IGNhbGxlZC4pCgogICAgICBvdGhlciBrZXl3b3JkcyAtLSBhbnkgb3RoZXIga2V5d29yZCBhcmd1bWVudHMgYXJlIHNhdmVkLCBhbmQgcGFzc2VkIHRvCiAgICAgICAgIHRoZSBkaXN0cmlidXRpb24ncyAnaW5jbHVkZSgpJyBhbmQgJ2V4Y2x1ZGUoKScgbWV0aG9kcyB3aGVuIHRoZQogICAgICAgICBmZWF0dXJlIGlzIGluY2x1ZGVkIG9yIGV4Y2x1ZGVkLCByZXNwZWN0aXZlbHkuICBTbywgZm9yIGV4YW1wbGUsIHlvdQogICAgICAgICBjb3VsZCBwYXNzICdwYWNrYWdlcz1bImEiLCJiIl0nIHRvIGNhdXNlIHBhY2thZ2VzICdhJyBhbmQgJ2InIHRvIGJlCiAgICAgICAgIGFkZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgZGlzdHJpYnV0aW9uIGFzIGFwcHJvcHJpYXRlLgoKICAgIEEgZmVhdHVyZSBtdXN0IGluY2x1ZGUgYXQgbGVhc3Qgb25lICdyZXF1aXJlcycsICdyZW1vdmUnLCBvciBvdGhlcgogICAga2V5d29yZCBhcmd1bWVudC4gIE90aGVyd2lzZSwgaXQgY2Fu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