YQ0NCgAAAABDGnxj3cIAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzGAIAAGQAZwFaAGQBZAJsAVoBZAFkAmwCWgJkAWQCbANaA2QBZAJsBFoEZAFkAmwFWgVkAWQCbAZaBmQBZAJsB1oIZAFkAmwJWghkAWQCbApaCGQBZAJsC1oIZAFkA2wMbQ1aDQEAZAFkBGwObQ9aDwEAZAFkBWwQbRFaEQEAZAFkAmwSWhJkAWQGbBNtFFoUAQBkAWQHbBVtFloWAQBkAWQIbBdtGFoYbRlaGW0aWhoBAGQBZAlsDG0bWhsBAGQBZApsHG0dWh0BAGQBZAtsHm0fWh8BAGQBZAxsHm0gWiABAGQBZA1sHm0hWiEBAGQBZA5sIm0jWiNtJFokbSVaJQEAZA9kEGwmbSdaJwEAZAFkEWwobSlaKQEAZAFkEmwqbStaKwEAZAFkE2wsbS1aLQEAZAFkFGwubS9aLwEAZAFkAmwwWjBlMWQVgwEBAGUxZBaDAQEAZBdkGIQAWjJkGWQahABaM2QbZByEAFo0ZB1kHoQAWjVlNmU3ZgJaOGQfZCCEAFo5ZCFkIoQAWjpkI2QkhABaO2QlZCaEAFo8ZCdkKIQAWj1kKWQqhABaPmQrZCyEAFo/ZC1kLoQAWkBkL2QwhABaQWQxZDKEAFpCZDNkNIQAWkNkNWQ2hABaRGUtZQhqRWpGgwFaR0cAZDdkAIQAZABlR4MDWkZHAGQ4ZDmEAGQ5gwJaSEcAZDpkO4QAZDtlJ4MDWklkAlMAKTzaDERpc3RyaWJ1dGlvbukAAAAATikB2glzdHJ0b2Jvb2wpAdoFREVCVUepAdoRdHJhbnNsYXRlX2xvbmdvcHQpAdoLZGVmYXVsdGRpY3QpAdoRbWVzc2FnZV9mcm9tX2ZpbGUpA9oURGlzdHV0aWxzT3B0aW9uRXJyb3LaFkRpc3R1dGlsc1BsYXRmb3JtRXJyb3LaE0Rpc3R1dGlsc1NldHVwRXJyb3IpAdoNcmZjODIyX2VzY2FwZSkB2g1TdHJpY3RWZXJzaW9uKQHaA3NpeCkB2glwYWNrYWdpbmcpAdoLb3JkZXJlZF9zZXQpA9oDbWFw2gZmaWx0ZXLaC2ZpbHRlcmZhbHNl6QEAAAApAdocU2V0dXB0b29sc0RlcHJlY2F0aW9uV2FybmluZykB2gdSZXF1aXJlKQHaD3dpbmRvd3Nfc3VwcG9ydCkB2g1nZXRfdW5wYXRjaGVkKQHaE3BhcnNlX2NvbmZpZ3VyYXRpb256JnNldHVwdG9vbHMuZXh0ZXJuLnBhY2thZ2luZy5zcGVjaWZpZXJzeiNzZXR1cHRvb2xzLmV4dGVybi5wYWNrYWdpbmcudmVyc2lvbmMBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzFAAAAHQAoAFkAXQCoQIBAHQDfACDAVMAKQJOehlEbyBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uKQTaCHdhcm5pbmdz2gR3YXJu2hZEaXN0RGVwcmVjYXRpb25XYXJuaW5nchgAAAApAdoDY2xzqQByHgAAAPpML2hvbWUvaG5pL1RvcG1ldGFsU2UtRFBTL3ZlbnYvbGliL3B5dGhvbjMuOS9zaXRlLXBhY2thZ2VzL3NldHVwdG9vbHMvZGlzdC5wedoOX2dldF91bnBhdGNoZWQtAAAAcwQAAAAAAQwBciAAAABjAQAAAAAAAAAAAAAAAgAAAAQAAABDAAAAc5gAAAB0AHwAZAFkAIMDfQF8AWQAdQBylHwAagFzIHwAagJyKnQDZAKDAX0BbmR8AGoEZAB1AXNUfABqBWQAdQFzVHQAfABkA2QAgwNkAHUBc1R8AGoGcl50A2QEgwF9AW4wfABqB3N8fABqCHN8fABqCXN8fABqCnN8fABqC3KGdANkBYMBfQFuCHQDZAaDAX0BfAF8AF8MfAFTACkHTtoQbWV0YWRhdGFfdmVyc2lvbnoDMi4x2g9weXRob25fcmVxdWlyZXP6AzEuMvoDMS4xegMxLjApDdoHZ2V0YXR0ctodbG9uZ19kZXNjcmlwdGlvbl9jb250ZW50X3R5cGXaD3Byb3ZpZGVzX2V4dHJhc3INAAAA2gptYWludGFpbmVy2hBtYWludGFpbmVyX2VtYWls2gxwcm9qZWN0X3VybHPaCHByb3ZpZGVz2ghyZXF1aXJlc9oJb2Jzb2xldGVz2gtjbGFzc2lmaWVyc9oMZG93bmxvYWRfdXJsciEAAAApAtoEc2VsZtoCbXZyHgAAAHIeAAAAch8AAADaFGdldF9tZXRhZGF0YV92ZXJzaW9uMgAAAHMqAAAAAAEMAggBDAEKAQoBCP8CAg7+AgME/QIECgESAQT/AgEE/wICCgIIAgYCcjIA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AQEAZABTAKkCTnoHJXM6ICVzCikC2gV3cml0ZVoNX2VuY29kZV9maWVsZKkC2gNrZXlyNQAAAKkCcksAAAByMAAAAHIeAAAAch8AAADaC3dyaXRlX2ZpZWxkhAAAAHMCAAAAAAF6I3dyaXRlX3BrZ19maWxlLjxsb2NhbHM+LndyaXRlX2ZpZWxkYwIAAAAAAAAAAAAAAAIAAAAFAAAAEwAAAHMWAAAAiACgAGQBfAB8AWYCFgChAQEAZABTAHJNAAAAKQFyTgAAAHJPAAAAKQFySwAAAHIeAAAAch8AAAByUgAAAIcAAABzAgAAAAABehBNZXRhZGF0YS1WZXJzaW9u2gROYW1l2gdWZXJzaW9uWgdTdW1tYXJ5eglIb21lLXBhZ2VyIwAAANoGQXV0aG9y+gxBdXRob3ItZW1haWwpBCkCclUAAAByPwAAACkCclYAAAByRgAAACkCWgpNYWludGFpbmVycigAAAApAnoQTWFpbnRhaW5lci1lbWFpbHIpAAAATloHTGljZW5zZXoMRG93bmxvYWQtVVJMegtQcm9qZWN0LVVSTHoGJXMsICVz2gtEZXNjcmlwdGlvbnJDAAAAWghLZXl3b3Jkc9oIUGxhdGZvcm3aCkNsYXNzaWZpZXLaCFJlcXVpcmVz2ghQcm92aWRlc9oJT2Jzb2xldGVzciIAAAB6D1JlcXVpcmVzLVB5dGhvbnoYRGVzY3JpcHRpb24tQ29udGVudC1UeXBleg5Qcm92aWRlcy1FeHRyYSkfcjIAAAByDgAAANoDUFky2gNzdHLaCGdldF9uYW1l2gtnZXRfdmVyc2lvbtoPZ2V0X2Rlc2NyaXB0aW9u2gdnZXRfdXJscg0AAADaC2dldF9jb250YWN02hFnZXRfY29udGFjdF9lbWFpbHIlAAAA2gtnZXRfbGljZW5zZXIvAAAAcioAAADaBWl0ZW1zcgwAAADaFGdldF9sb25nX2Rlc2NyaXB0aW9u2gRqb2lu2gxnZXRfa2V5d29yZHPaDWdldF9wbGF0Zm9ybXPaC193cml0ZV9saXN02g9nZXRfY2xhc3NpZmllcnPaDGdldF9yZXF1aXJlc9oMZ2V0X3Byb3ZpZGVz2g1nZXRfb2Jzb2xldGVz2gdoYXNhdHRyciIAAAByJgAAAHInAAAA2gZzb3J0ZWQpDXIwAAAAcksA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ZABaAmQBWgNkAmUEZQVqBmUFagZkA5wEWgdkAloIZARkBYQAWglkUWQGZAeEAVoKZAhkCYQAWgtkCmQLhABaDGUNZAxkDYQAgwFaDmQOZA+EAFoPZBBkEYQAWhBkUmQSZBOEAVoRZQ1kFGQVhACDAVoSZFNkFmQXhAFaE2RUZBlkGoQBWhRkG2QchABaFWQdZB6EAFoWZB9kIIQAWhdkIWQihABaGGQjZCSEAFoZZCVkJoQAWhpkJ2QohABaG2QpZCqEAFocZCtkLIQAWh1kLWQuhABaHmQvZDCEAFofZDFkMoQAWiBkM2Q0hABaIWQ1ZDaEAFoiZDdkOIQAWiNkOWQ6hABaJGQ7ZDyEAFolZD1kPoQAWiZkP2RAhABaJ2RBZEKEAFooZENkRIQAWilkRWRGhABaKmRHZEiEAForZElkSoQAWixkS2RMhABaLWRNZE6EAFouZE9kUIQAWi9kAlMAKVVyAQAAAGGPDwAARGlzdHJpYnV0aW9uIHdpdGggc3VwcG9ydCBmb3IgZmVhdHVyZXMsIHRlc3RzLCBhbmQgcGFja2FnZSBkYXRhCgogICAgVGhpcyBpcyBhbiBlbmhhbmNlZCB2ZXJzaW9uIG9mICdkaXN0dXRpbHMuZGlzdC5EaXN0cmlidXRpb24nIHRoYXQKICAgIGVmZmVjdGl2ZWx5IGFkZHMgdGhlIGZvbGxvd2luZyBuZXcgb3B0aW9uYWwga2V5d29yZCBhcmd1bWVudHMgdG8gJ3NldHVwKCknOgoKICAgICAnaW5zdGFsbF9yZXF1aXJlcycgLS0gYSBzdHJpbmcgb3Igc2VxdWVuY2Ugb2Ygc3RyaW5ncyBzcGVjaWZ5aW5nIHByb2plY3QKICAgICAgICB2ZXJzaW9ucyB0aGF0IHRoZSBkaXN0cmlidXRpb24gcmVxdWlyZXMgd2hlbiBpbnN0YWxsZWQsIGluIHRoZSBmb3JtYXQKICAgICAgICB1c2VkIGJ5ICdwa2dfcmVzb3VyY2VzLnJlcXVpcmUoKScuICBUaGV5IHdpbGwgYmUgaW5zdGFsbGVkCiAgICAgICAgYXV0b21hdGljYWxseSB3aGVuIHRoZSBwYWNrYWdlIGlzIGluc3RhbGxlZC4gIElmIHlvdSB3aXNoIHRvIHVzZQogICAgICAgIHBhY2thZ2VzIHRoYXQgYXJlIG5vdCBhdmFpbGFibGUgaW4gUHlQSSwgb3Igd2FudCB0byBnaXZlIHlvdXIgdXNlcnMgYW4KICAgICAgICBhbHRlcm5hdGUgZG93bmxvYWQgbG9jYXRpb24sIHlvdSBjYW4gYWRkIGEgJ2ZpbmRfbGlua3MnIG9wdGlvbiB0byB0aGUKICAgICAgICAnW2Vhc3lfaW5zdGFsbF0nIHNlY3Rpb24gb2YgeW91ciBwcm9qZWN0J3MgJ3NldHVwLmNmZycgZmlsZSwgYW5kIHRoZW4KICAgICAgICBzZXR1cHRvb2xzIHdpbGwgc2NhbiB0aGUgbGlzdGVkIHdlYiBwYWdlcyBmb3IgbGlua3MgdGhhdCBzYXRpc2Z5IHRoZQogICAgICAgIHJlcXVpcmVtZW50cy4KCiAgICAgJ2V4dHJhc19yZXF1aXJlJyAtLSBhIGRpY3Rpb25hcnkgbWFwcGluZyBuYW1lcyBvZiBvcHRpb25hbCAiZXh0cmFzIiB0byB0aGUKICAgICAgICBhZGRpdGlvbmFsIHJlcXVpcmVtZW50KHMpIHRoYXQgdXNpbmcgdGhvc2UgZXh0cmFzIGluY3Vycy4gRm9yIGV4YW1wbGUsCiAgICAgICAgdGhpczo6CgogICAgICAgICAgICBleHRyYXNfcmVxdWlyZSA9IGRpY3QocmVTVCA9IFsiZG9jdXRpbHM+PTAuMyIsICJyZVNUZWRpdCJdKQoKICAgICAgICBpbmRpY2F0ZXMgdGhhdCB0aGUgZGlzdHJpYnV0aW9uIGNhbiBvcHRpb25hbGx5IHByb3ZpZGUgYW4gZXh0cmEKICAgICAgICBjYXBhYmlsaXR5IGNhbGxlZCAicmVTVCIsIGJ1dCBpdCBjYW4gb25seSBiZSB1c2VkIGlmIGRvY3V0aWxzIGFuZAogICAgICAgIHJlU1RlZGl0IGFyZSBpbnN0YWxsZWQuICBJZiB0aGUgdXNlciBpbnN0YWxscyB5b3VyIHBhY2thZ2UgdXNpbmcKICAgICAgICBFYXN5SW5zdGFsbCBhbmQgcmVxdWVzdHMgb25lIG9mIHlvdXIgZXh0cmFzLCB0aGUgY29ycmVzcG9uZGluZwogICAgICAgIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzIHdpbGwgYmUgaW5zdGFsbGVkIGlmIG5lZWRlZC4KCiAgICAgJ2ZlYXR1cmVzJyAqKmRlcHJlY2F0ZWQqKiAtLSBhIGRpY3Rpb25hcnkgbWFwcGluZyBvcHRpb24gbmFtZXMgdG8KICAgICAgICAnc2V0dXB0b29scy5GZWF0dXJlJwogICAgICAgIG9iamVjdHMuICBGZWF0dXJlcyBhcmUgYSBwb3J0aW9uIG9mIHRoZSBkaXN0cmlidXRpb24gdGhhdCBjYW4gYmUKICAgICAgICBpbmNsdWRlZCBvciBleGNsdWRlZCBiYXNlZCBvbiB1c2VyIG9wdGlvbnMsIGludGVyLWZlYXR1cmUgZGVwZW5kZW5jaWVzLAogICAgICAgIGFuZCBhdmFpbGFiaWxpdHkgb24gdGhlIGN1cnJlbnQgc3lzdGVtLiAgRXhjbHVkZWQgZmVhdHVyZXMgYXJlIG9taXR0ZWQKICAgICAgICBmcm9tIGFsbCBzZXR1cCBjb21tYW5kcywgaW5jbHVkaW5nIHNvdXJjZSBhbmQgYmluYXJ5IGRpc3RyaWJ1dGlvbnMsIHNvCiAgICAgICAgeW91IGNhbiBjcmVhdGUgbXVsdGlwbGUgZGlzdHJpYnV0aW9ucyBmcm9tIHRoZSBzYW1lIHNvdXJjZSB0cmVlLgogICAgICAgIEZlYXR1cmUgbmFtZXMgc2hvdWxkIGJlIHZhbGlkIFB5dGhvbiBpZGVudGlmaWVycywgZXhjZXB0IHRoYXQgdGhleSBtYXkKICAgICAgICBjb250YWluIHRoZSAnLScgKG1pbnVzKSBzaWduLiAgRmVhdHVyZXMgY2FuIGJlIGluY2x1ZGVkIG9yIGV4Y2x1ZGVkCiAgICAgICAgdmlhIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9ucyAnLS13aXRoLVgnIGFuZCAnLS13aXRob3V0LVgnLCB3aGVyZSAnWCcgaXMKICAgICAgICB0aGUgbmFtZSBvZiB0aGUgZmVhdHVyZS4gIFdoZXRoZXIgYSBmZWF0dXJlIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQsIGFuZAogICAgICAgIHdoZXRoZXIgeW91IGFyZSBhbGxvd2VkIHRvIGNvbnRyb2wgdGhpcyBmcm9tIHRoZSBjb21tYW5kIGxpbmUsIGlzCiAgICAgICAgZGV0ZXJtaW5lZCBieSB0aGUgRmVhdHVyZSBvYmplY3QuICBTZWUgdGhlICdGZWF0dXJlJyBjbGFzcyBmb3IgbW9yZQogICAgICAgIGluZm9ybWF0aW9uLgoKICAgICAndGVzdF9zdWl0ZScgLS0gdGhlIG5hbWUgb2YgYSB0ZXN0IHN1aXRlIHRvIHJ1biBmb3IgdGhlICd0ZXN0JyBjb21tYW5kLgogICAgICAgIElmIHRoZSB1c2VyIHJ1bnMgJ3B5dGhvbiBzZXR1cC5weSB0ZXN0JywgdGhlIHBhY2thZ2Ugd2lsbCBiZSBpbnN0YWxsZWQsCiAgICAgICAgYW5kIHRoZSBuYW1lZCB0ZXN0IHN1aXRlIHdpbGwgYmUgcnVuLiAgVGhlIGZvcm1hdCBpcyB0aGUgc2FtZSBhcwogICAgICAgIHdvdWxkIGJlIHVzZWQgb24gYSAndW5pdHRlc3QucHknIGNvbW1hbmQgbGluZS4gIFRoYXQgaXMsIGl0IGlzIHRoZQogICAgICAgIGRvdHRlZCBuYW1lIG9mIGFuIG9iamVjdCB0byBpbXBvcnQgYW5kIGNhbGwgdG8gZ2VuZXJhdGUgYSB0ZXN0IHN1aXRlLgoKICAgICAncGFja2FnZV9kYXRhJyAtLSBhIGRpY3Rpb25hcnkgbWFwcGluZyBwYWNrYWdlIG5hbWVzIHRvIGxpc3RzIG9mIGZpbGVuYW1lcwogICAgICAgIG9yIGdsb2JzIHRvIHVzZSB0byBmaW5kIGRhdGEgZmlsZXMgY29udGFpbmVkIGluIHRoZSBuYW1lZCBwYWNrYWdlcy4KICAgICAgICBJZiB0aGUgZGljdGlvbmFyeSBoYXMgZmlsZW5hbWVzIG9yIGdsb2JzIGxpc3RlZCB1bmRlciAnIiInICh0aGUgZW1wdHkKICAgICAgICBzdHJpbmcpLCB0aG9zZSBuYW1lcyB3aWxsIGJlIHNlYXJjaGVkIGZvciBpbiBldmVyeSBwYWNrYWdlLCBpbiBhZGRpdGlvbgogICAgICAgIHRvIGFueSBuYW1lcyBmb3IgdGhlIHNwZWNpZmljIHBhY2thZ2UuICBEYXRhIGZpbGVzIGZvdW5kIHVzaW5nIHRoZXNlCiAgICAgICAgbmFtZXMvZ2xvYnMgd2lsbCBiZSBpbnN0YWxsZWQgYWxv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CiAgICAgICAgIGFub3RoZXIgaW5jbHVkZWQgZmVhdHVyZSByZXF1aXJlcyBpdC4gIFRoZSBkZWZhdWx0IHNldHRpbmcgaXMgJ0ZhbHNlJy4KCiAgICAgICdhdmFpbGFibGUnIC0tIGlmIHRydWUsIHRoZSBmZWF0dXJlIGlzIGF2YWlsYWJsZSBmb3IgaW5zdGFsbGF0aW9uIG9uIHRoZQogICAgICAgICBjdXJyZW50IHN5c3RlbS4gIFRoZSBkZWZhdWx0IHNldHRpbmcgaXMgJ1RydWUnLgoKICAgICAgJ29wdGlvbmFsJyAtLSBpZiB0cnVlLCB0aGUgZmVhdHVyZSdzIGluY2x1c2lvbiBjYW4gYmUgY29udHJvbGxlZCBmcm9tIHRoZQogICAgICAgICBjb21tYW5kIGxpbmUsIHVzaW5nIHRoZSAnLS13aXRoLVgnIG9yICctLXdpdGhvdXQtWCcgb3B0aW9ucy4gIElmCiAgICAgICAgIGZhbHNlLCB0aGUgZmVhdHVyZSdzIGluY2x1c2lvbiBzdGF0dXMgaXMgZGV0ZXJtaW5lZCBhdXRvbWF0aWNhbGx5LAogICAgICAgICBiYXNlZCBvbiAnYXZhaWxhYmlsZScsICdzdGFuZGFyZCcsIGFuZCB3aGV0aGVyIGFueSBvdGhlciBmZWF0dXJlCiAgICAgICAgIHJlcXVpcmVzIGl0LiAgVGhlIGRlZmF1bHQgc2V0dGluZyBpcyAnVHJ1ZScuCgogICAgICAncmVxdWlyZV9mZWF0dXJlcycgLS0gYSBzdHJpbmcgb3Igc2VxdWVuY2Ugb2Ygc3RyaW5ncyBuYW1pbmcgZmVhdHVyZXMKICAgICAgICAgdGhhdCBzaG91bGQgYWxzbyBiZSBpbmNsdWRlZCBpZiB0aGlzIGZlYXR1cmUgaXMgaW5jbHVkZWQuICBEZWZhdWx0cyB0bwogICAgICAgICBlbXB0eSBsaXN0LiAgTWF5IGFsc28gY29udGFpbiAnUmVxdWlyZScgb2JqZWN0cyB0aGF0IHNob3VsZCBiZQogICAgICAgICBhZGRlZC9yZW1vdmVkIGZyb20gdGhlIGRpc3RyaWJ1dGlvbi4KCiAgICAgICdyZW1vdmUnIC0tIGEgc3RyaW5nIG9yIGxpc3Qgb2Ygc3RyaW5ncyBuYW1pbmcgcGFja2FnZXMgdG8gYmUgcmVtb3ZlZAogICAgICAgICBmcm9tIHRoZSBkaXN0cmlidXRpb24gaWYgdGhpcyBmZWF0dXJlIGlzICpub3QqIGluY2x1ZGVkLiAgSWYgdGhlCiAgICAgICAgIGZlYXR1cmUgKmlzKiBpbmNsdWRlZCwgdGhpcyBhcmd1bWVudCBpcyBpZ25vcmVkLiAgVGhpcyBhcmd1bWVudCBleGlzdHMKICAgICAgICAgdG8gc3VwcG9ydCByZW1vdmluZyBmZWF0dXJlcyB0aGF0ICJjcm9zc2N1dCIgYSBkaXN0cmlidXRpb24sIHN1Y2ggYXMKICAgICAgICAgZGVmaW5pbmcgYSAndGVzdHMnIGZlYXR1cmUgdGhhdCByZW1vdmVzIGFsbCB0aGUgJ3Rlc3RzJyBzdWJwYWNrYWdlcwogICAgICAgICBwcm92aWRlZCBieSBvdGhlciBmZWF0dXJlcy4gIFRoZSBkZWZhdWx0IGZvciB0aGlzIGFyZ3VtZW50IGlzIGFuIGVtcHR5CiAgICAgICAgIGxpc3QuICAoTm90ZTogdGhlIG5hbWVkIHBhY2thZ2Uocykgb3IgbW9kdWxlcyBtdXN0IGV4aXN0IGluIHRoZSBiYXNlCiAgICAgICAgIGRpc3RyaWJ1dGlvbiB3aGVuIHRoZSAnc2V0dXAoKScgZnVuY3Rpb24gaXMgaW5pdGlhbGx5IGNhbGxlZC4pCgogICAgICBvdGhlciBrZXl3b3JkcyAtLSBhbnkgb3RoZXIga2V5d29yZCBhcmd1bWVudHMgYXJlIHNhdmVkLCBhbmQgcGFzc2VkIHRvCiAgICAgICAgIHRoZSBkaXN0cmlidXRpb24ncyAnaW5jbHVkZSgpJyBhbmQgJ2V4Y2x1ZGUoKScgbWV0aG9kcyB3aGVuIHRoZQogICAgICAgICBmZWF0dXJlIGlzIGluY2x1ZGVkIG9yIGV4Y2x1ZGVkLCByZXNwZWN0aXZlbHkuICBTbywgZm9yIGV4YW1wbGUsIHlvdQogICAgICAgICBjb3VsZCBwYXNzICdwYWNrYWdlcz1bImEiLCJiIl0nIHRvIGNhdXNlIHBhY2thZ2VzICdhJyBhbmQgJ2InIHRvIGJlCiAgICAgICAgIGFkZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgZGlzdHJpYnV0aW9uIGFzIGFwcHJvcHJpYXRlLgoKICAgIEEgZmVhdHVyZSBtdXN0IGluY2x1ZGUgYXQgbGVhc3Qgb25lICdyZXF1aXJlcycsICdyZW1vdmUnLCBvciBvdGhlcgogICAga2V5d29yZCBhcmd1bWVudC4gIE90aGVyd2lzZSwgaXQgY2FuJ3QgYWZmZWN0IHRoZSBkaXN0cmlidXRpb24gaW4gYW55IHdheS4KICAgIE5vdGUgYWxzbyB0aGF0IHlvdSBjYW4gc3ViY2xhc3MgJ0ZlYXR1cmUnIHRvIGNyZWF0ZSB5b3VyIG93biBzcGVjaWFsaXplZAogICAgZmVhdHVyZSB0eXBlcyB0aGF0IG1vZGlmeSB0aGUgZGlzdHJpYnV0aW9uIGluIG90aGVyIHdheXMgd2hlbiBpbmNsdWRlZCBvcgogICAgZXhjbHVkZWQuICBTZWUgdGhlIGRvY3N0cmluZ3MgZm9yIHRoZSB2YXJpb3VzIG1ldGhvZHMgaGVyZSBmb3IgbW9yZSBkZXRhaWwuCiAgICBBc2lkZSBmcm9tIHRoZSBtZXRob2RzLCB0aGUgb25seSBmZWF0dXJlIGF0dHJpYnV0ZXMgdGhhdCBkaXN0cmlidXRpb25zIGxvb2sKICAgIGF0IGFyZSAnZGVzY3JpcHRpb24nIGFuZCAnb3B0aW9uYWwnLgogICAgYwAAAAAAAAAAAAAAAAEAAAAFAAAAQwAAAHMYAAAAZAF9AHQAagF8AHQCZAJkA40DAQBkAFMAKQROenJGZWF0dXJlcyBhcmUgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHlwYS9zZXR1cHRvb2xzL2lzc3Vlcy82NS7pAwAAACkB2gpzdGFja2xldmVsKQNyGgAAAHIbAAAAchwAAAByNgAAAHIeAAAAch4AAAByHwAAAHLPAAAAlwQAAHMGAAAAAAMC/wIEehdGZWF0dXJlLndhcm5fZGVwcmVjYXRlZEZUch4AAABjBwAAAAAAAAAAAAAACQAAAAQAAABLAAAAc5IAAAB8AKAAoQABAHwBfABfAXwCfABfAnwDfABfA3wEfABfBHQFfAV0BnQH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