Mw0NChZae2NbaQAA4wAAAAAAAAAAAAAAAAgAAABAAAAAc2gDAABVAGQAZAFsAFoAZABkAWwBWgFkAGQBbAJaAmQAZAFsA1oDZABkAWwEWgVkAGQBbAZaBmQAZAJsB20IWggBAGQAZANsB20JWgkBAGQAZARsCm0LWgsBAGQAZAVsCm0MWgwBAGQAZAZsDW0OWg4BAGQAZAdsD20QWhABAGQAZAhsEW0SWhIBAGQAZAFsE1oTZQVqFHKcZABkAWwVWhZlBWoXZAllBWoYZAplBWoZZgIZAGQLjQJaGmUbZAxmAGQNZA5kD4QAaQGDA4MAWhxlBWoZfxxlHYMAWh5lBWofZRAZAH8eZBBqIFohZRplGmQRnAJkEmQThARaImUaZRpkEZwCZBRkFYQEWiNlGmUaZBGcAmQWZBeEBFokRwBkGGQZhABkGWUAaiWDA1omZRplGmQRnAJkGmQbhARaJ2UaZRpkEZwCZBxkHYQEWihlGmUaZBGcAmQeZB+EBFopZRplGmQRnAJkIGQhhARaKmUFahllK2QinAJkI2QkhARaLGUFai1lBWoZGQBkAWQlnAJkJmQnhARaLmQBZCicAWQpZCqEBFovZF9lMGUrZQVqGWQsnANkLWQuhAVaMWRgZTBlMGUFajJlBWozGQBkMJwDZDFkMoQFWjRlBWoZZTBkIpwCZDNkNIQEWjVlBWoZZTBkIpwCZDVkNoQEWjZlA2o3ZDdlA2o4ZQNqOUIAgwJaOmUDajdkOIMBWjtkYWUwZQVqMmU8GQBlBWoyZTAZAGUFajJlMBkAZQVqMmUFai1lMBkAGQBlMGQ5nAZkOmQ7hAVaPWRiZTxlK2U8ZTxlMGRAnAVkQWRChAVaPmRjZQVqGWUwZStlMGREnARkRWRGhAVaP2RkZQVqGWUwZStlMGREnARkR2RIhAVaQGUIakFqQkcAZElkSoQAZEqDAoMBWkNkZWYAZD1kK2YEZQVqRGUwGQBlBWpEZTAZAGUrZStlBWoYZQVqMmUwGQBnAWUrZgIZAGROnAVkT2RQhAVaRWRmZQVqGWUFajJlBWoYZAplMGYCGQAZAGUFahllE2pGZFGcBGRSZFOEBVpHRwBkVGRVhABkVYMCWkhHAGRWZFeEAGRXgwJaSUcAZFhkWYQAZFmDAlpKRwBkWmRbhABkW2UTakaDA1pGZQVqGWUwZFycAmRdZF6EBFpLZAFTACln6QAAAABOKQHaA2FiYykB2gVkZXF1ZSkB2gZjaG9pY2UpAdoJcmFuZHJhbmdlKQHaBExvY2spAdoIQ29kZVR5cGUpAdoQcXVvdGVfZnJvbV9ieXRlc9oBRi4pAdoFYm91bmRaC01pc3NpbmdUeXBl2ghfX3JlcHJfX2MBAAAAAAAAAAEAAAABAAAAQwAAAHMEAAAAZAFTACkCTtoHbWlzc2luZ6kAKQHaAXhyDQAAAHINAAAA+n0vaG9tZS91ZXRsaHIvRG9jdW1lbnRzL1Nlcm1vUGxvdF9iYWNrZW5kL2RyYWZ0X1NSQU1fYmxhY2tib3gvVUVUUlZfRVNvQ19tcHc4L3ZlbnYvbGliL3B5dGhvbjMuNi9zaXRlLXBhY2thZ2VzL2ppbmphMi91dGlscy5wedoIPGxhbWJkYT4XAAAAcwAAAAByEAAAANoAKQLaAWbaBnJldHVybmMBAAAAAAAAAAEAAAACAAAAQwAAAHMMAAAAdABqAXwAXwJ8AFMAKQFhtwEAAFBhc3MgdGhlIDpjbGFzczpgfmppbmphMi5ydW50aW1lLkNvbnRleHRgIGFzIHRoZSBmaXJzdCBhcmd1bWVudAogICAgdG8gdGhlIGRlY29yYXRlZCBmdW5jdGlvbiB3aGVuIGNhbGxlZCB3aGlsZSByZW5kZXJpbmcgYSB0ZW1wbGF0ZS4KCiAgICBDYW4gYmUgdXNlZCBvbiBmdW5jdGlvbnMsIGZpbHRlcnMsIGFuZCB0ZXN0cy4KCiAgICBJZiBvbmx5IGBgQ29udGV4dC5ldmFsX2NvbnRleHRgYCBpcyBuZWVkZWQsIHVzZQogICAgOmZ1bmM6YHBhc3NfZXZhbF9jb250ZXh0YC4gSWYgb25seSBgYENvbnRleHQuZW52aXJvbm1lbnRgYCBpcwogICAgbmVlZGVkLCB1c2UgOmZ1bmM6YHBhc3NfZW52aXJvbm1lbnRgLgoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMC4wCiAgICAgICAgUmVwbGFjZXMgYGBjb250ZXh0ZnVuY3Rpb25gYCBhbmQgYGBjb250ZXh0ZmlsdGVyYGAuCiAgICApA9oIX1Bhc3NBcmfaB2NvbnRleHTaDmppbmphX3Bhc3NfYXJnKQFyEgAAAHINAAAAcg0AAAByDwAAANoMcGFzc19jb250ZXh0HgAAAHMEAAAAAA0IAXIXAAAAYwEAAAAAAAAAAQAAAAIAAABDAAAAcwwAAAB0AGoBfABfAnwAUwApAWGTAQAAUGFzcyB0aGUgOmNsYXNzOmB+amluamEyLm5vZGVzLkV2YWxDb250ZXh0YCBhcyB0aGUgZmlyc3QgYXJndW1lbnQKICAgIHRvIHRoZSBkZWNvcmF0ZWQgZnVuY3Rpb24gd2hlbiBjYWxsZWQgd2hpbGUgcmVuZGVyaW5nIGEgdGVtcGxhdGUuCiAgICBTZWUgOnJlZjpgZXZhbC1jb250ZXh0YC4KCiAgICBDYW4gYmUgdXNlZCBvbiBmdW5jdGlvbnMsIGZpbHRlcnMsIGFuZCB0ZXN0cy4KCiAgICBJZiBvbmx5IGBgRXZhbENvbnRleHQuZW52aXJvbm1lbnRgYCBpcyBuZWVkZWQsIHVzZQogICAgOmZ1bmM6YHBhc3NfZW52aXJvbm1lbnRgLgoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMC4wCiAgICAgICAgUmVwbGFjZXMgYGBldmFsY29udGV4dGZ1bmN0aW9uYGAgYW5kIGBgZXZhbGNvbnRleHRmaWx0ZXJgYC4KICAgICkDchQAAADaDGV2YWxfY29udGV4dHIWAAAAKQFyEgAAAHINAAAAcg0AAAByDwAAANoRcGFzc19ldmFsX2NvbnRleHQvAAAAcwQAAAAADQgBchkAAABjAQAAAAAAAAABAAAAAgAAAEMAAABzDAAAAHQAagF8AF8CfABTACkBYRoBAABQYXNzIHRoZSA6Y2xhc3M6YH5qaW5qYTIuRW52aXJvbm1lbnRgIGFzIHRoZSBmaXJzdCBhcmd1bWVudCB0bwogICAgdGhlIGRlY29yYXRlZCBmdW5jdGlvbiB3aGVuIGNhbGxlZCB3aGlsZSByZW5kZXJpbmcgYSB0ZW1wbGF0ZS4KCiAgICBDYW4gYmUgdXNlZCBvbiBmdW5jdGlvbnMsIGZpbHRlcnMsIGFuZCB0ZXN0cy4KCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjAuMAogICAgICAgIFJlcGxhY2VzIGBgZW52aXJvbm1lbnRmdW5jdGlvbmBgIGFuZCBgYGVudmlyb25tZW50ZmlsdGVyYGAuCiAgICApA3IUAAAA2gtlbnZpcm9ubWVudHIWAAAAKQFyEgAAAHINAAAAcg0AAAByDwAAANoQcGFzc19lbnZpcm9ubWVudEAAAABzBAAAAAAJCAFyGwAAAGMAAAAAAAAAAAAAAAAEAAAAQAAAAHM+AAAAZQBaAWQAWgJlA2oEgwBaBWUDagSDAFoGZQNqBIMAWgdlCGUJZQpqC2QAGQBkAZwCZAJkA4QEgwFaDGQEUwApBXIUAAAAKQLaA29ianITAAAAYwIAAAAAAAAABQAAAAcAAABDAAAAc4AAAAB0AHwBZAGDAnIQfAFqAVMAeGpkD0QAXWJ9AnwCagJkBWQGgwJ9A3hQfAObAGQHnQJ8A5sAZAidAmYCRABdOH0EdAN8AXwEZAmDA2QKawhyPHQEagV8BJsCZAt8ApsAZAydBHQGZA1kDo0DAQB8AHwCGQBTAHE8VwBxFlcAZABTACkQTnIWAAAAchUAAAByGAAAAHIaAAAA2gFfchEAAADaCGZ1bmN0aW9u2gZmaWx0ZXJGVHo9IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgc3RvcCB3b3JraW5nIGluIEppbmphIDMuMS4gVXNlICdwYXNzX3oKJyBpbnN0ZWFkLukCAAAAKQHaCnN0YWNrbGV2ZWwpA3IVAAAAchgAAAByGgAAACkH2gdoYXNhdHRychYAAADaB3JlcGxhY2XaB2dldGF0dHLaCHdhcm5pbmdz2gR3YXJu2hJEZXByZWNhdGlvbldhcm5pbmcpBdoDY2xzchwAAADaBnByZWZpeFoIc3F1YXNoZWTaBG5hbWVyDQAAAHINAAAAcg8AAADaCGZyb21fb2JqUgAAAHMYAAAAAAIKAQYCCgEMAhoBEAEEAQ4CAgEIAhACehFfUGFzc0FyZy5mcm9tX29iak4pDdoIX19uYW1lX1/aCl9fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oEZW51bdoEYXV0b3IVAAAAchgAAAByGgAAANoLY2xhc3NtZXRob2RyCQAAANoBdNoIT3B0aW9uYWxyKwAAAHINAAAAcg0AAAByDQAAAHIPAAAAchQAAABNAAAAcwoAAAAIAQgBCAEIAgIBchQAAABjAQAAAAAAAAABAAAABQAAAEMAAABzGAAAAHQAagFkAXQCZAJkA40DAQB0A3wAgwFTACkEerdQYXNzIHRoZSBjb250ZXh0IGFzIHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgZGVjb3JhdGVkIGZ1bmN0aW9uLgoKICAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjAKICAgICAgICBXaWxsIGJlIHJlbW92ZWQgaW4gSmluamEgMy4xLiBVc2UgOmZ1bmM6YH5qaW5qYTIucGFzc19jb250ZXh0YAogICAgICAgIGluc3RlYWQuCiAgICB6Widjb250ZXh0ZnVuY3Rpb24nIGlzIHJlbmFtZWQgdG8gJ3Bhc3NfY29udGV4dCcsIHRoZSBvbGQgbmFtZSB3aWxsIGJlIHJlbW92ZWQgaW4gSmluamEgMy4xLnIgAAAAKQFyIQAAACkEciUAAAByJgAAAHInAAAAchcAAAApAXISAAAAcg0AAAByDQAAAHIPAAAA2g9jb250ZXh0ZnVuY3Rpb25nAAAAcwoAAAAABwQBAgICAQgCcjQAAABjAQAAAAAAAAABAAAABQAAAEMAAABzGAAAAHQAagFkAXQCZAJkA40DAQB0A3wAgwFTACkEeuBQYXNzIHRoZSBldmFsIGNvbnRleHQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBkZWNvcmF0ZWQKICAgIGZ1bmN0aW9uLgoKICAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjAKICAgICAgICBXaWxsIGJlIHJlbW92ZWQgaW4gSmluamEgMy4xLiBVc2UKICAgICAgICA6ZnVuYzpgfmppbmphMi5wYXNzX2V2YWxfY29udGV4dGAgaW5zdGVhZC4KCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyLjQKICAgIHpjJ2V2YWxjb250ZXh0ZnVuY3Rpb24nIGlzIHJlbmFtZWQgdG8gJ3Bhc3NfZXZhbF9jb250ZXh0JywgdGhlIG9sZCBuYW1lIHdpbGwgYmUgcmVtb3ZlZCBpbiBKaW5qYSAzLjEuciAAAAApAXIhAAAAKQRyJQAAAHImAAAAcicAAAByGQAAACkBchIAAAByDQAAAHINAAAAcg8AAADaE2V2YWxjb250ZXh0ZnVuY3Rpb253AAAAcwoAAAAACgQBAgICAQgCcjUAAABjAQAAAAAAAAABAAAABQAAAEMAAABzGAAAAHQAagFkAXQCZAJkA40DAQB0A3wAgwFTACkEesNQYXNzIHRoZSBlbnZpcm9ubWVudCBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhlIGRlY29yYXRlZAogICAgZnVuY3Rpb24uCgogICAgLi4gZGVwcmVjYXRlZDo6IDMuMAogICAgICAgIFdpbGwgYmUgcmVtb3ZlZCBpbiBKaW5qYSAzLjEuIFVzZQogICAgICAgIDpmdW5jOmB+amluamEyLnBhc3NfZW52aXJvbm1lbnRgIGluc3RlYWQuCiAgICB6YidlbnZpcm9ubWVudGZ1bmN0aW9uJyBpcyByZW5hbWVkIHRvICdwYXNzX2Vudmlyb25tZW50JywgdGhlIG9sZCBuYW1lIHdpbGwgYmUgcmVtb3ZlZCBpbiBKaW5qYSAzLjEuciAAAAApAXIhAAAAKQRyJQAAAHImAAAAcicAAAByGwAAACkBchIAAAByDQAAAHINAAAAcg8AAADaE2Vudmlyb25tZW50ZnVuY3Rpb26KAAAAcwoAAAAACAQBAgICAQgCcjYAAABjAQAAAAAAAAABAAAAAgAAAEMAAABzEAAAAHQAagF8AGoCgwEBAHwAUwApAXolTWFya3MgdGhlIGZ1bmN0aW9uIGFzIGludGVybmFsbHkgdXNlZCkD2g1pbnRlcm5hbF9jb2Rl2gNhZGTaCF9fY29kZV9fKQFyEgAAAHINAAAAcg0AAAByDwAAANoMaW50ZXJuYWxjb2RlmwAAAHMEAAAAAAIMAXI6AAAAKQJyHAAAAHITAAAAYwEAAAAAAAAAAgAAAAMAAABDAAAAcxYAAABkAWQCbABtAX0BAQB0AnwAfAGDAlMAKQNhtAEAAENoZWNrIGlmIHRoZSBvYmplY3QgcGFzc2VkIGlzIHVuZGVmaW5lZC4gIFRoaXMgZG9lcyBub3RoaW5nIG1vcmUgdGhhbgogICAgcGVyZm9ybWluZyBhbiBpbnN0YW5jZSBjaGVjayBhZ2FpbnN0IDpjbGFzczpgVW5kZWZpbmVkYCBidXQgbG9va3MgbmljZXIuCiAgICBUaGlzIGNhbiBiZSB1c2VkIGZvciBjdXN0b20gZmlsdGVycyBvciB0ZXN0cyB0aGF0IHdhbnQgdG8gcmVhY3QgdG8KICAgIHVuZGVmaW5lZCB2YXJpYWJsZXMuICBGb3IgZXhhbXBsZSBhIGN1c3RvbSBkZWZhdWx0IGZpbHRlciBjYW4gbG9vayBsaWtlCiAgICB0aGlzOjoKCiAgICAgICAgZGVmIGRlZmF1bHQodmFyLCBkZWZhdWx0PScnKToKICAgICAgICAgICAgaWYgaXNfdW5kZWZpbmVkKHZhcik6CiAgICAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdAogICAgICAgICAgICByZXR1cm4gdmFyCiAgICDpAQAAACkB2glVbmRlZmluZWQpA1oHcnVudGltZXI8AAAA2gppc2luc3RhbmNlKQJyHAAAAHI8AAAAcg0AAAByDQAAAHIPAAAA2gxpc191bmRlZmluZWShAAAAcwQAAAAADAwCcj4AAAApAtoIaXRlcmFibGVyEwAAAGMBAAAAAAAAAAIAAAACAAAAQwAAAHMSAAAAeAx8AEQAXQR9AXEGVwBkAVMAKQJ6NENvbnN1bWVzIGFuIGl0ZXJhYmxlIHdpdGhvdXQgZG9pbmcgYW55dGhpbmcgd2l0aCBpdC5Ocg0AAAApAnI/AAAAch0AAAByDQAAAHINAAAAcg8AAADaB2NvbnN1bWWyAAAAcwQAAAAAAgoBckAAAAApAXITAAAAYwAAAAAAAAAAAgAAAAIAAABDAAAAcywAAABkAWQCbABtAX0AAQBkAWQDbAJtA30BAQB8AGoEgwABAHwBagWDAAEAZARTACkFYSABAABKaW5qYSBrZWVwcyBpbnRlcm5hbCBjYWNoZXMgZm9yIGVudmlyb25tZW50cyBhbmQgbGV4ZXJzLiAgVGhlc2UgYXJlCiAgICB1c2VkIHNvIHRoYXQgSmluamEgZG9lc24ndCBoYXZlIHRvIHJlY3JlYXRlIGVudmlyb25tZW50cyBhbmQgbGV4ZXJzIGFsbAogICAgdGhlIHRpbWUuICBOb3JtYWxseSB5b3UgZG9uJ3QgaGF2ZSB0byBjYXJlIGFib3V0IHRoYXQgYnV0IGlmIHlvdSBhcmUKICAgIG1lYXN1cmluZyBtZW1vcnkgY29uc3VtcHRpb24geW91IG1heSB3YW50IHRvIGNsZWFuIHRoZSBjYWNoZXMuCiAgICByOwAAACkB2htnZXRfc3BvbnRhbmVvdXNfZW52aXJvbm1lbnQpAdoMX2xleGVyX2NhY2hlTikGchoAAAByQQAAANoFbGV4ZXJyQgAAANoLY2FjaGVfY2xlYXLaBWNsZWFyKQJyQQAAAHJCAAAAcg0AAAByDQAAAHIPAAAA2gxjbGVhcl9jYWNoZXO4AAAAcwgAAAAABgwBDAIIAXJGAAAARikD2gtpbXBvcnRfbmFtZdoGc2lsZW50chMAAABjAgAAAAAAAAAFAAAADAAAAEMAAABzdgAAAHlSZAF8AGsGchx8AGoAZAFkAoMCXAJ9An0DbiJkA3wAawZyNnwAagFkA4MBXAN9An0EfQNuCHQCfACDAVMAdAN0AnwCZARkBHwDZwGDBHwDgwJTAAQAdAR0BWYCawpycAEAAQABAHwBc2yCAFkAbgJYAGQEUwApBWGYAQAASW1wb3J0cyBhbiBvYmplY3QgYmFzZWQgb24gYSBzdHJpbmcuICBUaGlzIGlzIHVzZWZ1bCBpZiB5b3Ugd2FudCB0bwogICAgdXNlIGltcG9ydCBwYXRocyBhcyBlbmRwb2ludHMgb3Igc29tZXRoaW5nIHNpbWlsYXIuICBBbiBpbXBvcnQgcGF0aCBjYW4KICAgIGJlIHNwZWNpZmllZCBlaXRoZXIgaW4gZG90dGVkIG5vdGF0aW9uIChgYHhtbC5zYXguc2F4dXRpbHMuZXNjYXBlYGApCiAgICBvciB3aXRoIGEgY29sb24gYXMgb2JqZWN0IGRlbGltaXRlciAoYGB4bWwuc2F4LnNheHV0aWxzOmVzY2FwZWBgKS4KCiAgICBJZiB0aGUgYHNpbGVudGAgaXMgVHJ1ZSB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgYE5vbmVgIGlmIHRoZSBpbXBvcnQKICAgIGZhaWxzLgoKICAgIDpyZXR1cm46IGltcG9ydGVkIG9iamVjdAogICAg+gE6cjsAAADaAS5OKQbaBXNwbGl02gpycGFydGl0aW9u2gpfX2ltcG9ydF9fciQAAADaC0ltcG9ydEVycm9y2g5BdHRyaWJ1dGVFcnJvcikFckcAAABySAAAANoGbW9kdWxlchwAAAByHQAAAHINAAAAcg0AAAByDwAAANoNaW1wb3J0X3N0cmluZ8UAAABzFAAAAAALAgEIARIBCAESAggBFgESAQQBclEAAADaAnJiKQPaCGZpbGVuYW1l2gRtb2RlchMAAABjAgAAAAAAAAACAAAAAwAAAEMAAABzGgAAAHQAagFqAnwAgwFzEGQBUwB0A3wAfAGDAlMAKQJ6XFJldHVybnMgYSBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSBmaWxlbmFtZSBpZiB0aGF0IGZpbGUgZXhpc3RzLAogICAgb3RoZXJ3aXNlIGBgTm9uZWBgLgogICAgTikE2gJvc9oEcGF0aNoGaXNmaWxl2gRvcGVuKQJyUwAAAHJUAAAAcg0AAAByDQAAAHIPAAAA2g5vcGVuX2lmX2V4aXN0c90AAABzBgAAAAAEDAEEAnJZAAAAYwEAAAAAAAAAAgAAAAQAAABDAAAAc0oAAAB8AGQBawhyDGQCUwB8AHQAawhyGGQDUwB0AXwAgwF9AXwBagJkBGsCcjZ8AWoDmwBkBZ0CUwB8AWoCmwBkBnwBagObAGQFnQRTACkHeqhSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBvYmplY3QncyB0eXBlLiAgRm9yIHNvbWUgcmVjb2duaXplZAogICAgc2luZ2xldG9ucyB0aGUgbmFtZSBvZiB0aGUgb2JqZWN0IGlzIHJldHVybmVkIGluc3RlYWQuIChGb3IKICAgIGV4YW1wbGUgZm9yIGBOb25lYCBhbmQgYEVsbGlwc2lzYCkuCiAgICBO2gROb25l2ghFbGxpcHNpc9oIYnVpbHRpbnN6ByBvYmplY3RySgAAACkEclsAAADaBHR5cGVyLQAAAHIsAAAAKQJyHAAAAHIoAAAAcg0AAAByDQAAAHIPAAAA2hBvYmplY3RfdHlwZV9yZXBy5wAAAHMQAAAAAAUIAQQBCAEEAggCCgEMAnJeAAAAYwEAAAAAAAAAAgAAAAIAAABDAAAAcxQAAABkAWQCbABtAX0BAQB8AXwAgwFTACkDei5Gb3JtYXQgYW4gb2JqZWN0IHVzaW5nIDpmdW5jOmBwcHJpbnQucGZvcm1hdGAucgEAAAApAdoHcGZvcm1hdCkC2gZwcHJpbnRyXwAAACkCchwAAAByXwAAAHINAAAAcg0AAAByDwAAAHJfAAAA+QAAAHMEAAAAAAIMAnJfAAAAYUACAAAKICAgIF4KICAgICgKICAgICAgICAoaHR0cHM/Oi8vfHd3d1wuKSAgIyBzY2hlbWUgb3Igd3d3CiAgICAgICAgKChbXHclLV0rXC4pKyk/ICAjIHN1YmRvbWFpbgogICAgICAgICgKICAgICAgICAgICAgW2Etel17Miw2M30gICMgYmFzaWMgdGxkCiAgICAgICAgfAogICAgICAgICAgICB4bi0tW1x3JV17Miw1OX0gICMgaWRuYSB0bGQKICAgICAgICApCiAgICB8CiAgICAgICAgKFtcdyUtXXsyLDYzfVwuKSsgICMgYmFzaWMgZG9tYWluCiAgICAgICAgKGNvbXxuZXR8aW50fGVkdXxnb3Z8b3JnfGluZm98bWlsKSAgIyBiYXNpYyB0bGQKICAgIHwKICAgICAgICAoaHR0cHM/Oi8vKSAgIyBzY2hlbWUKICAgICAgICAoCiAgICAgICAgICAgICgoW1xkXXsxLDN9KShcLltcZF17MSwzfSl7M30pICAjIElQdjQKICAgICAgICB8CiAgICAgICAgICAgIChcWyhbXGRhLWZdezAsNH06KXsyfShbXGRhLWZdezAsNH06Pyl7MSw2fV0pICAjIElQdjYKICAgICAgICApCiAgICApCiAgICAoPzo6W1xkXXsxLDV9KT8gICMgcG9ydAogICAgKD86Wy8/I11cUyopPyAgIyBwYXRoLCBxdWVyeSwgYW5kIGZyYWdtZW50CiAgICAkCiAgICB6FF5cUytAXHdbXHcuLV0qXC5cdyskKQbaBHRleHTaDnRyaW1fdXJsX2xpbWl02gNyZWzaBnRhcmdldNoNZXh0cmFfc2NoZW1lc3ITAAAAYwUAAAAAAAAAFQAAAAoAAAADAAAAc9ACAACIAGQBawlyHnQAdABkApwChwBmAWQDZASEDH0FbhB0AHQAZAKcAmQFZASEBH0FdAFqAmQGdAB0A2oEfACDAYMBgwJ9BnwCclpkB3QDagR8AoMBmwBkCJ0DbgJkCX0HfANydGQKdANqBHwDgwGbAGQInQNuAmQJfQiQAnhKdAV8BoMBRACQAl08XAJ9CX0KZAl8CmQJAwACAH0LfQx9DXQBagZkC3wMgwJ9DnwOcsZ8DmoHgwB9C3wMfA5qCIMAZAGFAhkAfQx8DGoJZCKDAZAAcvx0AWoKZBJ8DIMCfQ58DpAAcvx8DmoHgwB9DXwMZAF8DmoLgwCFAhkAfQx4fmQmRABddlwCfQ99EHwMagx8D4MBfRF8EXwMagx8EIMBawGQAXIokAFxAnhMdA10DnwRfA1qDHwQgwGDAoMBRABdNH0SfA1qD3wQgwF0EHwQgwEXAH0TfAx8DWQBfBOFAhkANwB9DHwNfBNkAYUCGQB9DZABcT5XAJABcQJXAHQRagZ8DIMBkAFy5HwMahJkFoMBkAFzoHwMahJkF4MBkAFywmQYfAybAGQIfAebAHwImwBkDXwFfAyDAZsAZBmdCH0MbiBkGnwMmwBkCHwHmwB8CJsAZA18BXwMgwGbAGQZnQh9DG7KfAxqEmQbgwGQAnIgdBNqBnwMZBxkAYUCGQCDAZACciBkGHwMmwBkHXwMZBxkAYUCGQCbAGQZnQV9DG6OZB58DGsGkAJyYnwMahJkH4MBDACQAnJiZCB8DGsHkAJyYnQTagZ8DIMBkAJyYmQhfAybAGQdfAybAGQZnQV9DG5MfARkAWsJkAJyrnhAfAREAF04fRR8DHwUawOQAnJyfAxqEnwUgwGQAnJyZBh8DJsAZAh8B5sAfAibAGQNfAybAGQZnQh9DJACcXJXAHwLmwB8DJsAfA2bAJ0DfAZ8CTwAcYRXAGQJahR8BoMBUwApJ2E7BQAAQ29udmVydCBVUkxzIGluIHRleHQgaW50byBjbGlja2FibGUgbGlua3MuCgogICAgVGhpcyBtYXkgbm90IHJlY29nbml6ZSBsaW5rcyBpbiBzb21lIHNpdHVhdGlvbnMuIFVzdWFsbHksIGEgbW9yZQogICAgY29tcHJlaGVuc2l2ZSBmb3JtYXR0ZXIsIHN1Y2ggYXMgYSBNYXJrZG93biBsaWJyYXJ5LCBpcyBhIGJldHRlcgogICAgY2hvaWNlLgoKICAgIFdvcmtzIG9uIGBgaHR0cDovL2BgLCBgYGh0dHBzOi8vYGAsIGBgd3d3LmBgLCBgYG1haWx0bzpgYCwgYW5kIGVtYWlsCiAgICBhZGRyZXNzZXMuIExpbmtzIHdpdGggdHJhaWxpbmcgcHVuY3R1YXRpb24gKHBlcmlvZHMsIGNvbW1hcywgY2xvc2luZwogICAgcGFyZW50aGVzZXMpIGFuZCBsZWFkaW5nIHB1bmN0dWF0aW9uIChvcGVuaW5nIHBhcmVudGhlc2VzKSBhcmUKICAgIHJlY29nbml6ZWQgZXhjbHVkaW5nIHRoZSBwdW5jdHVhdGlvbi4gRW1haWwgYWRkcmVzc2VzIHRoYXQgaW5jbHVkZQogICAgaGVhZGVyIGZpZWxkcyBhcmUgbm90IHJlY29nbml6ZWQgKGZvciBleGFtcGxlLAogICAgYGBtYWlsdG86YWRkcmVzc0BleGFtcGxlLmNvbT9jYz1jb3B5QGV4YW1wbGUuY29tYGApLgoKICAgIDpwYXJhbSB0ZXh0OiBPcmlnaW5hbCB0ZXh0IGNvbnRhaW5pbmcgVVJMcyB0byBsaW5rLgogICAgOnBhcmFtIHRyaW1fdXJsX2xpbWl0OiBTaG9ydGVuIGRpc3BsYXllZCBVUkwgdmFsdWVzIHRvIHRoaXMgbGVuZ3RoLgogICAgOnBhcmFtIHRhcmdldDogQWRkIHRoZSBgYHRhcmdldGBgIGF0dHJpYnV0ZSB0byBsaW5rcy4KICAgIDpwYXJhbSByZWw6IEFkZCB0aGUgYGByZWxgYCBhdHRyaWJ1dGUgdG8gbGlua3MuCiAgICA6cGFyYW0gZXh0cmFfc2NoZW1lczogUmVjb2duaXplIFVSTHMgdGhhdCBzdGFydCB3aXRoIHRoZXNlIHNjaGVtZXMKICAgICAgICBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdCBiZWhhdmlvci4KCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMAogICAgICAgIFRoZSBgYGV4dHJhX3NjaGVtZXNgYCBwYXJhbWV0ZXIgd2FzIGFkZGVkLgoKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4wCiAgICAgICAgR2VuZXJhdGUgYGBodHRwczovL2BgIGxpbmtzIGZvciBVUkxzIHdpdGhvdXQgYSBzY2hlbWUuCgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjAKICAgICAgICBUaGUgcGFyc2luZyBydWxlcyB3ZXJlIHVwZGF0ZWQuIFJlY29nbml6ZSBlbWFpbCBhZGRyZXNzZXMgd2l0aAogICAgICAgIG9yIHdpdGhvdXQgdGhlIGBgbWFpbHRvOmBgIHNjaGVtZS4gVmFsaWRhdGUgSVAgYWRkcmVzc2VzLiBJZ25vcmUKICAgICAgICBwYXJlbnRoZXNlcyBhbmQgYnJhY2tldHMgaW4gbW9yZSBjYXNlcy4KICAgIE4pAnIOAAAAchMAAABjAQAAAAAAAAABAAAAAwAAABMAAABzIgAAAHQAfACDAYgAawRyHnwAZACIAIUC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dGVuc2lvbnPaEmRlZmF1bHRfZm9yX3N0cmluZ3LLAAAAchMAAABjBAAAAAAAAAAFAAAABQAAAAMAAABzSAAAAHQAZAFkAoQAfABEAIMBgwGJA3QAZANkAoQAfAFEAIMBgwGJAnQBagJ0AxkAdARkBJwChwCHAYcChwNmBGQFZAaEDH0EfARTACkHYWMFAABJbnRlbGxpZ2VudGx5IHNldHMgdGhlIGluaXRpYWwgdmFsdWUgb2YgYXV0b2VzY2FwaW5nIGJhc2VkIG9uIHRoZQogICAgZmlsZW5hbWUgb2YgdGhlIHRlbXBsYXRlLiAgVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvIGNvbmZpZ3VyZQogICAgYXV0b2VzY2FwaW5nIGlmIHlvdSBkbyBub3Qgd2FudCB0byB3cml0ZSBhIGN1c3RvbSBmdW5jdGlvbiB5b3Vyc2VsZi4KCiAgICBJZiB5b3Ugd2FudCB0byBlbmFibGUgaXQgZm9yIGFsbCB0ZW1wbGF0ZXMgY3JlYXRlZCBmcm9tIHN0cmluZ3Mgb3IKICAgIGZvciBhbGwgdGVtcGxhdGVzIHdpdGggYC5odG1sYCBhbmQgYC54bWxgIGV4dGVuc2lvbnM6OgoKICAgICAgICBmcm9tIGppbmphMiBpbXBvcnQgRW52aXJvbm1lbnQsIHNlbGVjdF9hdXRvZXNjYXBlCiAgICAgICAgZW52ID0gRW52aXJvbm1lbnQoYXV0b2VzY2FwZT1zZWxlY3RfYXV0b2VzY2FwZSgKICAgICAgICAgICAgZW5hYmxlZF9leHRlbnNpb25zPSgnaHRtbCcsICd4bWwnKSwKICAgICAgICAgICAgZGVmYXVsdF9mb3Jfc3RyaW5nPVRydWUsCiAgICAgICAgKSkKCiAgICBFeGFtcGxlIGNvbmZpZ3VyYXRpb24gdG8gdHVybiBpdCBvbiBhdCBhbGwgdGltZXMgZXhjZXB0IGlmIHRoZSB0ZW1wbGF0ZQogICAgZW5kcyB3aXRoIGAudHh0YDo6CgogICAgICAgIGZyb20gamluamEyIGltcG9ydCBFbnZpcm9ubWVudCwgc2VsZWN0X2F1dG9lc2NhcGUKICAgICAgICBlbnYgPSBFbnZpcm9ubWVudChhdXRvZXNjYXBlPXNlbGVjdF9hdXRvZXNjYXBlKAogICAgICAgICAgICBkaXNhYmxlZF9leHRlbnNpb25zPSgndHh0JywpLAogICAgICAgICAgICBkZWZhdWx0X2Zvcl9zdHJpbmc9VHJ1ZSwKICAgICAgICAgICAgZGVmYXVsdD1UcnVlLAogICAgICAgICkpCgogICAgVGhlIGBlbmFibGVkX2V4dGVuc2lvbnNgIGlzIGFuIGl0ZXJhYmxlIG9mIGFsbCB0aGUgZXh0ZW5zaW9ucyB0aGF0CiAgICBhdXRvZXNjYXBpbmcgc2hvdWxkIGJlIGVuYWJsZWQgZm9yLiAgTGlrZXdpc2UgYGRpc2FibGVkX2V4dGVuc2lvbnNgIGlzCiAgICBhIGxpc3Qgb2YgYWxsIHRlbXBsYXRlcyBpdCBzaG91bGQgYmUgZGlzYWJsZWQgZm9yLiAgSWYgYSB0ZW1wbGF0ZSBpcwogICAgbG9hZGVkIGZyb20gYSBzdHJpbmcgdGhlbiB0aGUgZGVmYXVsdCBmcm9tIGBkZWZhdWx0X2Zvcl9zdHJpbmdgIGlzIHVzZWQuCiAgICBJZiBub3RoaW5nIG1hdGNoZXMgdGhlbiB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBhdXRvZXNjYXBpbmcgaXMgc2V0IHRvIHRoZQogICAgdmFsdWUgb2YgYGRlZmF1bHRgLgoKICAgIEZvciBzZWN1cml0eSByZWFzb25zIHRoaXMgZnVuY3Rpb24gb3BlcmF0ZXMgY2FzZSBpbnNlbnNpdGl2ZS4KCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyLjkKICAgIGMBAAAAAAAAAAIAAAAEAAAAcwAAAHMiAAAAfABdGn0BZAB8AWoAZACDAWoBgwCbAJ0CVgABAHECZAFTACkCckoAAABOKQLaBmxzdHJpcNoFbG93ZXIpAnKbAAAAcg4AAAByDQAAAHINAAAAcg8AAABynAAAALACAABzAgAAAAQAeiRzZWxlY3RfYXV0b2VzY2FwZS48bG9jYWxzPi48Z2VuZXhwcj5jAQAAAAAAAAACAAAABAAAAHMAAABzIgAAAHwAXRp9AWQAfAFqAGQAgwFqAYMAmwCdAlYAAQBxAmQBUwApAnJKAAAATikCcu8AAABy8AAAACkCcpsAAAByDgAAAHINAAAAcg0AAAByDwAAAHKcAAAAsQIAAHMCAAAABAApAtoNdGVtcGxhdGVfbmFtZXITAAAAYwEAAAAAAAAAAQAAAAIAAAATAAAAczQAAAB8AGQAawhyDIgBUwB8AGoAgwB9AHwAagGIA4MBciJkAVMAfABqAYgCgwFyMGQCUwCIAFMAKQNOVEYpAnLwAAAAcn4AAAApAXLxAAAAKQRyywAAAHLuAAAA2hFkaXNhYmxlZF9wYXR0ZXJuc9oQZW5hYmxlZF9wYXR0ZXJuc3INAAAAcg8AAADaCmF1dG9lc2NhcGWzAgAAcxAAAAAAAQgBBAEIAQoBBAEKAQQBeiVzZWxlY3RfYXV0b2VzY2FwZS48bG9jYWxzPi5hdXRvZXNjYXBlKQVy3QAAAHIyAAAAcjMAAABydgAAAHLmAAAAKQVy7AAAAHLtAAAAcu4AAAByywAAAHL0AAAAcg0AAAApBHLLAAAAcu4AAABy8gAAAHLzAAAAcg8AAADaEXNlbGVjdF9hdXRvZXNjYXBliAIAAHMIAAAAACgSARICIApy9QAAACkEchwAAADaBWR1bXBz2gZrd2FyZ3NyEwAAAGMCAAAAAAAAAAMAAAAEAAAASwAAAHNAAAAAfAFkAWsIcg50AGoBfQF0AmoDfAF8AGYBfAKOAWoEZAJkA4MCagRkBGQFgwJqBGQGZAeDAmoEZAhkCYMCgwFTACkKYdADAABTZXJpYWxpemUgYW4gb2JqZWN0IHRvIGEgc3RyaW5nIG9mIEpTT04gd2l0aCA6ZnVuYzpganNvbi5kdW1wc2AsCiAgICB0aGVuIHJlcGxhY2UgSFRNTC11bnNhZmUgY2hhcmFjdGVycyB3aXRoIFVuaWNvZGUgZXNjYXBlcyBhbmQgbWFyawogICAgdGhlIHJlc3VsdCBzYWZlIHdpdGggOmNsYXNzOmB+bWFya3Vwc2FmZS5NYXJrdXBgLgoKICAgIFRoaXMgaXMgYXZhaWxhYmxlIGluIHRlbXBsYXRlcyBhcyB0aGUgYGB8dG9qc29uYGAgZmlsdGVyLgoKICAgIFRoZSBmb2xsb3dpbmcgY2hhcmFjdGVycyBhcmUgZXNjYXBlZDogYGA8YGAsIGBgPmBgLCBgYCZgYCwgYGAnYGAuCgogICAgVGhlIHJldHVybmVkIHN0cmluZyBpcyBzYWZlIHRvIHJlbmRlciBpbiBIVE1MIGRvY3VtZW50cyBhbmQKICAgIGBgPHNjcmlwdD5gYCB0YWdzLiBUaGUgZXhjZXB0aW9uIGlzIGluIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFyZQogICAgZG91YmxlIHF1b3RlZDsgZWl0aGVyIHVzZSBzaW5nbGUgcXVvdGVzIG9yIHRoZSBgYHxmb3JjZWVzY2FwZWBgCiAgICBmaWx0ZXIuCgogICAgOnBhcmFtIG9iajogVGhlIG9iamVjdCB0byBzZXJpYWxpemUgdG8gSlNPTi4KICAgIDpwYXJhbSBkdW1wczogVGhlIGBgZHVtcHNgYCBmdW5jdGlvbiB0byB1c2UuIERlZmF1bHRzIHRvCiAgICAgICAgYGBlbnYucG9saWNpZXNbImpzb24uZHVtcHNfZnVuY3Rpb24iXWBgLCB3aGljaCBkZWZhdWx0cyB0bwogICAgICAgIDpmdW5jOmBqc29uLmR1bXBzYC4KICAgIDpwYXJhbSBrd2FyZ3M6IEV4dHJhIGFyZ3VtZW50cyB0byBwYXNzIHRvIGBgZHVtcHNgYC4gTWVyZ2VkIG9udG8KICAgICAgICBgYGVudi5wb2xpY2llc1sianNvbi5kdW1wc19rd2FyZ3MiXWBgLgoKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4wCiAgICAgICAgVGhlIGBgZHVtcGVyYGAgcGFyYW1ldGVyIGlzIHJlbmFtZWQgdG8gYGBkdW1wc2BgLgoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDIuOQogICAgTnJvAAAAegZcdTAwM2NyagAAAHoGXHUwMDNl+gEmegZcdTAwMjb6ASd6Blx1MDAyNykF2gRqc29ucvYAAAByeAAAAHKhAAAAciMAAAApA3IcAAAAcvYAAABy9wAAAHINAAAAcg0AAAByDwAAANoTaHRtbHNhZmVfanNvbl9kdW1wc8ACAABzEAAAAAAcCAEGAgQBDAEIAQgBCAFy+wAAAGMAAAAAAAAAAAAAAAAEAAAAQAAAAHNYAAAAZQBaAWQAWgJkAVoDZQRqBWQCZAOcAmQEZAWEBFoGZAJkBpwBZAdkCIQEWgdlCGUEagVkBpwBZAlkCoQEgwFaCWUEagVkBpwBZAtkDIQEWgplCloLZAJTACkN2gZDeWNsZXJhRAMAAEN5Y2xlIHRocm91Z2ggdmFsdWVzIGJ5IHlpZWxkIHRoZW0gb25lIGF0IGEgdGltZSwgdGhlbiByZXN0YXJ0aW5nCiAgICBvbmNlIHRoZSBlbmQgaXMgcmVhY2hlZC4gQXZhaWxhYmxlIGFzIGBgY3ljbGVyYGAgaW4gdGVtcGxhdGVzLgoKICAgIFNpbWlsYXIgdG8gYGBsb29wLmN5Y2xlYGAsIGJ1dCBjYW4gYmUgdXNlZCBvdXRzaWRlIGxvb3BzIG9yIGFjcm9zcwogICAgbXVsdGlwbGUgbG9vcHMuIEZvciBleGFtcGxlLCByZW5kZXIgYSBsaXN0IG9mIGZvbGRlcnMgYW5kIGZpbGVzIGluIGEKICAgIGxpc3QsIGFsdGVybmF0aW5nIGdpdmluZyB0aGVtICJvZGQiIGFuZCAiZXZlbiIgY2xhc3Nlcy4KCiAgICAuLiBjb2RlLWJsb2NrOjogaHRtbCtqaW5qYQoKICAgICAgICB7JSBzZXQgcm93X2NsYXNzID0gY3ljbGVyKCJvZGQiLCAiZXZlbiIpICV9CiAgICAgICAgPHVsIGNsYXNzPSJicm93c2VyIj4KICAgICAgICB7JSBmb3IgZm9sZGVyIGluIGZvbGRlcnMgJX0KICAgICAgICAgIDxsaSBjbGFzcz0iZm9sZGVyIHt7IHJvd19jbGFzcy5uZXh0KCkgfX0iPnt7IGZvbGRlciB9fQogICAgICAgIHslIGVuZGZvciAlfQogICAgICAgIHslIGZvciBmaWxlIGluIGZpbGVzICV9CiAgICAgICAgICA8bGkgY2xhc3M9ImZpbGUge3sgcm93X2NsYXNzLm5leHQoKSB9fSI+e3sgZmlsZSB9fQogICAgICAgIHslIGVuZGZvciAlfQogICAgICAgIDwvdWw+CgogICAgOnBhcmFtIGl0ZW1zOiBFYWNoIHBvc2l0aW9uYWwgYXJndW1lbnQgd2lsbCBiZSB5aWVsZGVkIGluIHRoZSBvcmRlcgogICAgICAgIGdpdmVuIGZvciBlYWNoIGN5Y2xlLgoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDIuMQogICAgTikCctkAAAByEwAAAGMBAAAAAAAAAAIAAAACAAAARwAAAHMcAAAAfAFzDHQAZAGDAYIBfAF8AF8BZAJ8AF8CZABTACkDTnokYXQgbGVhc3Qgb25lIGl0ZW0gaGFzIHRvIGJlIHByb3ZpZGVkcgEAAAApA9oMUnVudGltZUVycm9yctkAAADaA3BvcykCcrgAAABy2QAAAHINAAAAcg0AAAByDwAAAHK5AAAAAgMAAHMIAAAAAAEEAQgBBgF6D0N5Y2xlci5fX2luaXRfXykBchMAAABjAQAAAAAAAAABAAAAAgAAAEMAAABzCgAAAGQBfABfAGQCUwApA3oqUmVzZXRzIHRoZSBjdXJyZW50IGl0ZW0gdG8gdGhlIGZpcnN0IGl0ZW0ucgEAAABOKQFy/gAAACkBcrgAAAByDQAAAHINAAAAcg8AAADaBXJlc2V0CAMAAHMCAAAAAAJ6DEN5Y2xlci5yZXNldGMBAAAAAAAAAAEAAAACAAAAQwAAAHMMAAAAfABqAHwAagEZAFMAKQF6eFJldHVybiB0aGUgY3VycmVudCBpdGVtLiBFcXVpdmFsZW50IHRvIHRoZSBpdGVtIHRoYXQgd2lsbCBiZQogICAgICAgIHJldHVybmVkIG5leHQgdGltZSA6bWV0aDpgbmV4dGAgaXMgY2FsbGVkLgogICAgICAgICkCctkAAABy/gAAACkBcrgAAAByDQAAAHINAAAAcg8AAADaB2N1cnJlbnQMAwAAcwIAAAAABXoOQ3ljbGVyLmN1cnJlbnRjAQAAAAAAAAACAAAAAwAAAEMAAABzIAAAAHwAagB9AXwAagFkARcAdAJ8AGoDgwEWAHwAXwF8AVMAKQJ6WFJldHVybiB0aGUgY3VycmVudCBpdGVtLCB0aGVuIGFkdmFuY2UgOmF0dHI6YGN1cnJlbnRgIHRvIHRoZQogICAgICAgIG5leHQgaXRlbS4KICAgICAgICByOwAAACkEcgABAABy/gAAAHJmAAAActkAAAApAnK4AAAAcrAAAAByDQAAAHINAAAAcg8AAADaBG5leHQTAwAAcwYAAAAABAYBFgF6C0N5Y2xlci5uZXh0KQxyLAAAAHItAAAAci4AAABy4QAAAHIyAAAAcuQAAAByuQAAAHL/AAAA2ghwcm9wZXJ0eXIAAQAAcgEBAADaCF9fbmV4dF9fcg0AAAByDQAAAHINAAAAcg8AAABy/AAAAOgCAABzDgAAAAgYBAISBg4EAgESBhAIcvwAAABjAAAAAAAAAAAAAAAABAAAAEAAAABzMAAAAGUAWgFkAFoCZAFaA2QKZQRkA2QEnAJkBWQGhAVaBWUEZAecAWQIZAmEBFoGZANTACkL2gZKb2luZXJ6H0Egam9pbmluZyBoZWxwZXIgZm9yIHRlbXBsYXRlcy76AiwgTikC2gNzZXByEwAAAGMCAAAAAAAAAAIAAAACAAAAQwAAAHMQAAAAfAF8AF8AZAF8AF8BZABTACkCTkYpAnIGAQAA2gR1c2VkKQJyuAAAAHIGAQAAcg0AAAByDQAAAHIPAAAAcrkAAAAhAwAAcwQAAAAAAQYBeg9Kb2luZXIuX19pbml0X18pAXITAAAAYwEAAAAAAAAAAQAAAAIAAABDAAAAcxYAAAB8AGoAcxBkAXwAXwBkAlMAfABqAVMAKQNOVHIRAAAAKQJyBwEAAHIGAQAAKQFyuAAAAHINAAAAcg0AAAByDwAAANoIX19jYWxsX18lAwAAcwgAAAAAAQYBBgEEAXoPSm9pbmVyLl9fY2FsbF9fKQFyBQEAACkHciwAAAByLQAAAHIuAAAAcuEAAABydgAAAHK5AAAAcggBAAByDQAAAHINAAAAcg0AAAByDwAAAHIEAQAAHgMAAHMGAAAACAEEAhIEcgQBAABjAAAAAAAAAAAAAAAABAAAAEAAAABzWgAAAGUAWgFkAFoCZAFaA2UEagVlBGoFZAJkA5wDZARkBYQEWgZlB2UEagVkBpwCZAdkCIQEWghlB2UEagVkAmQJnANkCmQLhARaCWUHZAycAWQNZA6EBFoKZAJTACkP2glOYW1lc3BhY2V6fkEgbmFtZXNwYWNlIG9iamVjdCB0aGF0IGNhbiBob2xkIGFyYml0cmFyeSBhdHRyaWJ1dGVzLiAgSXQgbWF5IGJlCiAgICBpbml0aWFsaXplZCBmcm9tIGEgZGljdGlvbmFyeSBvciB3aXRoIGtleXdvcmQgYXJndW1lbnRzLk4pA9oEYXJnc3L3AAAAchMAAABjAAAAAAAAAAADAAAABAAAAE8AAABzJgAAAHwAZAEZAHwAZAJkAIUCGQACAH0CfQB0AHwAfAGOAXwCXwFkAFMAKQNOcgEAAAByOwAAACkC2gRkaWN02hFfTmFtZXNwYWNlX19hdHRycykDcgoBAABy9wAAAHK4AAAAcg0AAAByDQAAAHIPAAAAcrkAAAAwAwAAcwQAAAAAARYBehJOYW1lc3BhY2UuX19pbml0X18pAnIqAAAAchMAAABjAgAAAAAAAAACAAAACwAAAEMAAABzQgAAAHwBZANrBnIUdABqAXwAfAGDAlMAeQp8AGoCfAEZAFMABAB0A2sKcjwBAAEAAQB0BHwBgwFkAIICWQBuAlgAZABTACkETnIMAQAAcscAAAA+AgAAAHIMAQAAcscAAAApBdoGb2JqZWN02hBfX2dldGF0dHJpYnV0ZV9fcgwBAAByzAAAAHJPAAAAKQJyuAAAAHIqAAAAcg0AAAByDQAAAHIPAAAAcg4BAAA0AwAAcwwAAAAAAggBDAECAQoBDgF6Gk5hbWVzcGFjZS5fX2dldGF0dHJpYnV0ZV9fKQNyKgAAAHLTAAAAchMAAABjAwAAAAAAAAADAAAAAwAAAEMAAABzDgAAAHwCfABqAHwBPABkAFMAKQFOKQFyDAEAACkDcrgAAAByKgAAAHLTAAAAcg0AAAByDQAAAHIPAAAActQAAAA9AwAAcwIAAAAAAXoVTmFtZXNwYWNlLl9fc2V0aXRlbV9fKQFyEwAAAGMBAAAAAAAAAAEAAAADAAAAQwAAAHMOAAAAZAF8AGoAmwJkAp0DUwApA056CzxOYW1lc3BhY2UgcmoAAAApAXIMAQAAKQFyuAAAAHINAAAAcg0AAAByDwAAAHILAAAAQAMAAHMCAAAAAAF6Ek5hbWVzcGFjZS5fX3JlcHJfXykLciwAAAByLQAAAHIuAAAAcuEAAAByMgAAAHLkAAAAcrkAAABydgAAAHIOAQAActQAAAByCwAAAHINAAAAcg0AAAByDQAAAHIPAAAAcgkBAAAsAwAAcwoAAAAIAgQCFgQSCRQDcgkBAABjAAAAAAAAAAAAAAAABAAAAAAAAABzHgAAAGUAWgFkAFoCZAaHAGYBZARkBYQJWgOHAAQAWgRTACkHcqEAAAByEQAAAE7aBnN0cmljdGMEAAAAAAAAAAQAAAAFAAAAAwAAAHMiAAAAdABqAWQBdAJkAmQDjQMBAHQDgwBqBHwAfAF8AnwDgwRTACkETnpjJ2ppbmphMi5NYXJrdXAnIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBKaW5qYSAzLjEuIEltcG9ydCAnbWFya3Vwc2FmZS5NYXJrdXAnIGluc3RlYWQuciAAAAApAXIhAAAAKQVyJQAAAHImAAAAcicAAADaBXN1cGVy2gdfX25ld19fKQRyKAAAANoEYmFzZdoIZW5jb2RpbmfaBmVycm9ycykBcscAAAByDQAAAHIPAAAAchEBAABFAwAAcwoAAAAAAQQBAgICAQgCeg5NYXJrdXAuX19uZXdfXykDchEAAABOcg8BAAApBXIsAAAAci0AAAByLgAAAHIRAQAA2g1fX2NsYXNzY2VsbF9fcg0AAAByDQAAACkBcscAAAByDwAAAHKhAAAARAMAAHMCAAAACAFyoQAAACkC2gFzchMAAABjAQAAAAAAAAABAAAABQAAAEMAAABzGgAAAHQAagFkAXQCZAJkA40DAQB0A2oEfACDAVMAKQROemMnamluamEyLmVzY2FwZScgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIEppbmphIDMuMS4gSW1wb3J0ICdtYXJrdXBzYWZlLmVzY2FwZScgaW5zdGVhZC5yIAAAACkBciEAAAApBXIlAAAAciYAAAByJwAAAHJ4AAAAcnkAAAApAXIWAQAAcg0AAAByDQAAAHIPAAAAcnkAAABPAwAAcwoAAAAAAQQBAgICAQgCcnkAAAApAUYpAXJSAAAAKQROTk5OKQRykAAAAFRykQAAAHKSAAAAKQJypwAAAEYpAnKnAAAARikDcpQAAABy6gAAAHLrAAAAKQFOKUxyLwAAAHL6AAAAclUAAABydwAAANoGdHlwaW5ncjIAAAByJQAAANoLY29sbGVjdGlvbnNyAgAAAHIDAAAA2gZyYW5kb21yBAAAAHIFAAAA2gl0aHJlYWRpbmdyBgAAANoFdHlwZXNyBwAAANoMdXJsbGliLnBhcnNlcggAAAByeAAAANoNVFlQRV9DSEVDS0lOR1oRdHlwaW5nX2V4dGVuc2lvbnPaAnRl2gdUeXBlVmFy2ghDYWxsYWJsZXLkAAAAcgkAAAByXQAAAHIMAAAA2gNzZXRyNwAAANoKTXV0YWJsZVNldHKIAAAA2gZjb25jYXRyFwAAAHIZAAAAchsAAADaBEVudW1yFAAAAHI0AAAAcjUAAAByNgAAAHI6AAAAcuYAAAByPgAAAHLnAAAAckAAAAByRgAAAHJ2AAAAclEAAAByMwAAANoCSU9yWQAAAHJeAAAAcl8AAADaB2NvbXBpbGXaCklHTk9SRUNBU0XaB1ZFUkJPU0VyhQAAAHKHAAAAcuIAAAByjwAAAHKmAAAAcrEAAABysgAAANoOTXV0YWJsZU1hcHBpbmfaCHJlZ2lzdGVycrMAAADaCkNvbGxlY3Rpb25y9QAAAHKhAAAAcvsAAABy/AAAAHIEAQAAcgkBAAByeQAAAHINAAAAcg0AAAByDQAAAHIPAAAA2gg8bW9kdWxlPgEAAABzfAAAAAIACAEIAQgBCAEIAQgBDAEMAQwBDAEMAQwBDAIIAgYBCAIaAxwCEAIGAxAREBEQDRIaEBAQExAREAYSERgGDg0WGBwKEhISBwQZAgEOAgoFAAEAAQABKgEOdAoBDjUYFxgMFn8AGAIBAgECARgBIDQcARAmDjYODg4YEgs=