{"id":"ssc-mainnet-hive","json":{"contractName":"contract","contractAction":"update","contractPayload":{"name":"witnesses","params":"","code":"Y29uc3QgTkJfQVBQUk9WQUxTX0FMTE9XRUQ9MzAsTkJfVE9QX1dJVE5FU1NFUz0yMCxOQl9CQUNLVVBfV0lUTkVTU0VTPTEsTkJfV0lUTkVTU0VTPTIxLE5CX1dJVE5FU1NFU19TSUdOQVRVUkVTX1JFUVVJUkVEPTE0LE1BWF9ST1VORFNfTUlTU0VEX0lOX0FfUk9XPTMsTUFYX1JPVU5EX1BST1BPU0lUSU9OX1dBSVRJTkdfUEVSSU9EPTQwLE5CX1RPS0VOU19UT19SRVdBUkRfUEVSX0JMT0NLPSIwLjAxOTAyNTg2IixOQl9UT0tFTlNfTkVFREVEX0JFRk9SRV9SRVdBUkRJTkc9IjAuMzk5NTQzMDYiLFdJVE5FU1NfQVBQUk9WRV9FWFBJUkVfQkxPQ0tTPTUxODRlMyxXSVRORVNTX01BWF9BQ0NPVU5UX0VYUElSRV9QRVJfQkxPQ0s9MTAsVVRJTElUWV9UT0tFTl9TWU1CT0w9IkJFRSIsVVRJTElUWV9UT0tFTl9QUkVDSVNJT049OCxHT1ZFUk5BTkNFX1RPS0VOX1NZTUJPTD0iV09SS0VSQkVFIixHT1ZFUk5BTkNFX1RPS0VOX1BSRUNJU0lPTj01LEdPVkVSTkFOQ0VfVE9LRU5fTUlOX1ZBTFVFPSIwLjAwMDAxIixyZWNhbGNUb3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodD1hc3luYygpPT57bGV0IHdpdHMsdG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQ9IjAiLG9mZnNldD0wO2Rve3dpdHM9YXdhaXQgYXBpLmRiLmZpbmQoIndpdG5lc3NlcyIse30sMWUzLG9mZnNldCxbe2luZGV4OiJfaWQiLGRlc2NlbmRpbmc6ITF9XSk7Zm9yKGxldCBpPTA7aTx3aXRzLmxlbmd0aDtpKz0xKXtjb25zdCB3aXQ9d2l0c1tpXTt3aXQuZW5hYmxlZCYmKHRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIodG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQpLnBsdXMod2l0LmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS50b0ZpeGVkKDUpKX1vZmZzZXQrPTFlM313aGlsZSgxZTM9PT13aXRzLmxlbmd0aCk7cmV0dXJuIHRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0fTthY3Rpb25zLmNyZWF0ZVNTQz1hc3luYygpPT57aWYoITE9PT1hd2FpdCBhcGkuZGIudGFibGVFeGlzdHMoIndpdG5lc3NlcyIpKXthd2FpdCBhcGkuZGIuY3JlYXRlVGFibGUoIndpdG5lc3NlcyIsWyJhcHByb3ZhbFdlaWdodCJdKSxhd2FpdCBhcGkuZGIuY3JlYXRlVGFibGUoImFwcHJvdmFscyIsWyJmcm9tIiwidG8iXSksYXdhaXQgYXBpLmRiLmNyZWF0ZVRhYmxlKCJhY2NvdW50cyIsWyJhY2NvdW50Il0pLGF3YWl0IGFwaS5kYi5jcmVhdGVUYWJsZSgic2NoZWR1bGVzIiksYXdhaXQgYXBpLmRiLmNyZWF0ZVRhYmxlKCJwYXJhbXMiKTtjb25zdCBwYXJhbXM9e3RvdGFsQXBwcm92YWxXZWlnaHQ6IjAiLHRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0OiIwIixudW1iZXJPZkFwcHJvdmVkV2l0bmVzc2VzOjAsbGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI6MCxyb3VuZDowLGxhc3RCbG9ja1JvdW5kOjAsY3VycmVudFdpdG5lc3M6bnVsbCxibG9ja051bWJlcldpdG5lc3NDaGFuZ2U6MCxsYXN0V2l0bmVzc2VzOltdLG51bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudDozMCxudW1iZXJPZlRvcFdpdG5lc3NlczoyMCxudW1iZXJPZldpdG5lc3NTbG90czoyMSx3aXRuZXNzU2lnbmF0dXJlc1JlcXVpcmVkOjE0LG1heFJvdW5kc01pc3NlZEluQVJvdzozLG1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kOjQwLHdpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzOjUxODRlM307YXdhaXQgYXBpLmRiLmluc2VydCgicGFyYW1zIixwYXJhbXMpfWVsc2V7Y29uc3QgcGFyYW1zPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KTtwYXJhbXMudG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQmJiJOYU4iIT09cGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0fHwocGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0PWF3YWl0IHJlY2FsY1RvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0KCksYXdhaXQgYXBpLmRiLnVwZGF0ZSgicGFyYW1zIixwYXJhbXMpKX19LGFjdGlvbnMucmVzZXRTY2hlZHVsZT1hc3luYygpPT57aWYoYXBpLnNlbmRlciE9PWFwaS5vd25lcilyZXR1cm47Y29uc3Qgc2NoZWR1bGVzPWF3YWl0IGFwaS5kYi5maW5kKCJzY2hlZHVsZXMiLHt9KTtmb3IobGV0IGluZGV4PTA7aW5kZXg8c2NoZWR1bGVzLmxlbmd0aDtpbmRleCs9MSl7Y29uc3Qgc2NoZWR1bGU9c2NoZWR1bGVzW2luZGV4XTthd2FpdCBhcGkuZGIucmVtb3ZlKCJzY2hlZHVsZXMiLHNjaGVkdWxlKX1jb25zdCBwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pO3BhcmFtcy5jdXJyZW50V2l0bmVzcz1udWxsLHBhcmFtcy5ibG9ja051bWJlcldpdG5lc3NDaGFuZ2U9MCxwYXJhbXMubGFzdFdpdG5lc3Nlcz1bXSxwYXJhbXMudG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQ9YXdhaXQgcmVjYWxjVG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQoKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyl9LGFjdGlvbnMudXBkYXRlUGFyYW1zPWFzeW5jIHBheWxvYWQ9PntpZihhcGkuc2VuZGVyIT09YXBpLm93bmVyKXJldHVybjtjb25zdHtudW1iZXJPZkFwcHJvdmFsc1BlckFjY291bnQ6bnVtYmVyT2ZBcHByb3ZhbHNQZXJBY2NvdW50LG51bWJlck9mVG9wV2l0bmVzc2VzOm51bWJlck9mVG9wV2l0bmVzc2VzLG51bWJlck9mV2l0bmVzc1Nsb3RzOm51bWJlck9mV2l0bmVzc1Nsb3RzLHdpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQ6d2l0bmVzc1NpZ25hdHVyZXNSZXF1aXJlZCxtYXhSb3VuZHNNaXNzZWRJbkFSb3c6bWF4Um91bmRzTWlzc2VkSW5BUm93LG1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kOm1heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kLHdpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzOndpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzfT1wYXlsb2FkLHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSk7bGV0IHNob3VsZFJlc2V0U2NoZWR1bGU9ITE7bnVtYmVyT2ZBcHByb3ZhbHNQZXJBY2NvdW50JiZOdW1iZXIuaXNJbnRlZ2VyKG51bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudCkmJihwYXJhbXMubnVtYmVyT2ZBcHByb3ZhbHNQZXJBY2NvdW50PW51bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudCksbnVtYmVyT2ZUb3BXaXRuZXNzZXMmJk51bWJlci5pc0ludGVnZXIobnVtYmVyT2ZUb3BXaXRuZXNzZXMpJiYocGFyYW1zLm51bWJlck9mVG9wV2l0bmVzc2VzPW51bWJlck9mVG9wV2l0bmVzc2VzKSxudW1iZXJPZldpdG5lc3NTbG90cyYmTnVtYmVyLmlzSW50ZWdlcihudW1iZXJPZldpdG5lc3NTbG90cykmJnBhcmFtcy5udW1iZXJPZldpdG5lc3NTbG90cyE9PW51bWJlck9mV2l0bmVzc1Nsb3RzJiYoc2hvdWxkUmVzZXRTY2hlZHVsZT0hMCxwYXJhbXMubnVtYmVyT2ZXaXRuZXNzU2xvdHM9bnVtYmVyT2ZXaXRuZXNzU2xvdHMpLHdpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWQmJk51bWJlci5pc0ludGVnZXIod2l0bmVzc1NpZ25hdHVyZXNSZXF1aXJlZCkmJihwYXJhbXMud2l0bmVzc1NpZ25hdHVyZXNSZXF1aXJlZD13aXRuZXNzU2lnbmF0dXJlc1JlcXVpcmVkKSxtYXhSb3VuZHNNaXNzZWRJbkFSb3cmJk51bWJlci5pc0ludGVnZXIobWF4Um91bmRzTWlzc2VkSW5BUm93KSYmKHBhcmFtcy5tYXhSb3VuZHNNaXNzZWRJbkFSb3c9bWF4Um91bmRzTWlzc2VkSW5BUm93KSxtYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZCYmTnVtYmVyLmlzSW50ZWdlcihtYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZCkmJihwYXJhbXMubWF4Um91bmRQcm9wb3NpdGlvbldhaXRpbmdQZXJpb2Q9bWF4Um91bmRQcm9wb3NpdGlvbldhaXRpbmdQZXJpb2QpLGFwaS5hc3NlcnQocGFyYW1zLm51bWJlck9mVG9wV2l0bmVzc2VzKzE9PT1wYXJhbXMubnVtYmVyT2ZXaXRuZXNzU2xvdHMsIm9ubHkgMSBiYWNrdXAgYWxsb3dlZCIpJiYod2l0bmVzc0FwcHJvdmVFeHBpcmVCbG9ja3MmJk51bWJlci5pc0ludGVnZXIod2l0bmVzc0FwcHJvdmVFeHBpcmVCbG9ja3MpJiZhcGkuYXNzZXJ0KHdpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzPnBhcmFtcy5udW1iZXJPZldpdG5lc3NTbG90cywid2l0bmVzc0FwcHJvdmVFeHBpcmVCbG9ja3Mgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBudW1iZXJPZldpdG5lc3NTbG90cyIpJiYocGFyYW1zLndpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzPXdpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyksc2hvdWxkUmVzZXRTY2hlZHVsZSYmYXdhaXQgYWN0aW9ucy5yZXNldFNjaGVkdWxlKCkpfTtjb25zdCB1cGRhdGVXaXRuZXNzUmFuaz1hc3luYyh3aXRuZXNzLGFwcHJvdmFsV2VpZ2h0KT0+e2NvbnN0IHdpdG5lc3NSZWM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6d2l0bmVzc30pO2lmKHdpdG5lc3NSZWMpe2NvbnN0IG9sZEFwcHJvdmFsV2VpZ2h0PXdpdG5lc3NSZWMuYXBwcm92YWxXZWlnaHQuJG51bWJlckRlY2ltYWw7d2l0bmVzc1JlYy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbD1hcGkuQmlnTnVtYmVyKHdpdG5lc3NSZWMuYXBwcm92YWxXZWlnaHQuJG51bWJlckRlY2ltYWwpLnBsdXMoYXBwcm92YWxXZWlnaHQpLnRvRml4ZWQoNSksYXBpLkJpZ051bWJlcih3aXRuZXNzUmVjLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS5sdCgwKSYmKHdpdG5lc3NSZWMuYXBwcm92YWxXZWlnaHQuJG51bWJlckRlY2ltYWw9YXBpLkJpZ051bWJlcigwKSksYXdhaXQgYXBpLmRiLnVwZGF0ZSgid2l0bmVzc2VzIix3aXRuZXNzUmVjKTtjb25zdCBwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pO3BhcmFtcy50b3RhbEFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIocGFyYW1zLnRvdGFsQXBwcm92YWxXZWlnaHQpLnBsdXMoYXBwcm92YWxXZWlnaHQpLnRvRml4ZWQoNSksd2l0bmVzc1JlYy5lbmFibGVkJiYocGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIocGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0KS5wbHVzKGFwcHJvdmFsV2VpZ2h0KS50b0ZpeGVkKDUpKSxhcGkuQmlnTnVtYmVyKG9sZEFwcHJvdmFsV2VpZ2h0KS5lcSgwKSYmYXBpLkJpZ051bWJlcih3aXRuZXNzUmVjLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS5ndCgwKT9wYXJhbXMubnVtYmVyT2ZBcHByb3ZlZFdpdG5lc3Nlcys9MTphcGkuQmlnTnVtYmVyKG9sZEFwcHJvdmFsV2VpZ2h0KS5ndCgwKSYmYXBpLkJpZ051bWJlcih3aXRuZXNzUmVjLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS5lcSgwKSYmKHBhcmFtcy5udW1iZXJPZkFwcHJvdmVkV2l0bmVzc2VzLT0xKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyl9fTthY3Rpb25zLnVwZGF0ZVdpdG5lc3Nlc0FwcHJvdmFscz1hc3luYyBwYXlsb2FkPT57Y29uc3R7YWNjb3VudDphY2NvdW50LGNhbGxpbmdDb250cmFjdEluZm86Y2FsbGluZ0NvbnRyYWN0SW5mb309cGF5bG9hZDtpZih2b2lkIDA9PT1jYWxsaW5nQ29udHJhY3RJbmZvKXJldHVybjtpZigidG9rZW5zIiE9PWNhbGxpbmdDb250cmFjdEluZm8ubmFtZSlyZXR1cm47Y29uc3QgYWNjdD1hd2FpdCBhcGkuZGIuZmluZE9uZSgiYWNjb3VudHMiLHthY2NvdW50OmFjY291bnR9KTtpZihudWxsIT09YWNjdCl7Y29uc3QgYmFsYW5jZT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsImJhbGFuY2VzIix7YWNjb3VudDphY2NvdW50LHN5bWJvbDoiV09SS0VSQkVFIn0pO2xldCBhcHByb3ZhbFdlaWdodD0wO2JhbGFuY2UmJmJhbGFuY2Uuc3Rha2UmJihhcHByb3ZhbFdlaWdodD1iYWxhbmNlLnN0YWtlKSxiYWxhbmNlJiZiYWxhbmNlLmRlbGVnYXRpb25zSW4mJihhcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKGFwcHJvdmFsV2VpZ2h0KS5wbHVzKGJhbGFuY2UuZGVsZWdhdGlvbnNJbikudG9GaXhlZCg1KSk7Y29uc3Qgb2xkQXBwcm92YWxXZWlnaHQ9YWNjdC5hcHByb3ZhbFdlaWdodCxkZWx0YUFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIoYXBwcm92YWxXZWlnaHQpLm1pbnVzKG9sZEFwcHJvdmFsV2VpZ2h0KS50b0ZpeGVkKDUpO2lmKGFjY3QuYXBwcm92YWxXZWlnaHQ9YXBwcm92YWxXZWlnaHQsIWFwaS5CaWdOdW1iZXIoZGVsdGFBcHByb3ZhbFdlaWdodCkuZXEoMCkpe2F3YWl0IGFwaS5kYi51cGRhdGUoImFjY291bnRzIixhY2N0KTtjb25zdCBhcHByb3ZhbHM9YXdhaXQgYXBpLmRiLmZpbmQoImFwcHJvdmFscyIse2Zyb206YWNjb3VudH0pO2ZvcihsZXQgaW5kZXg9MDtpbmRleDxhcHByb3ZhbHMubGVuZ3RoO2luZGV4Kz0xKXtjb25zdCBhcHByb3ZhbD1hcHByb3ZhbHNbaW5kZXhdO2F3YWl0IHVwZGF0ZVdpdG5lc3NSYW5rKGFwcHJvdmFsLnRvLGRlbHRhQXBwcm92YWxXZWlnaHQpfX19fSxhY3Rpb25zLnJlZ2lzdGVyPWFzeW5jIHBheWxvYWQ9Pntjb25zdHtkb21haW46ZG9tYWluLElQOklQLFJQQ1BvcnQ6UlBDUG9ydCxQMlBQb3J0OlAyUFBvcnQsc2lnbmluZ0tleTpzaWduaW5nS2V5LGVuYWJsZWQ6ZW5hYmxlZCxpc1NpZ25lZFdpdGhBY3RpdmVLZXk6aXNTaWduZWRXaXRoQWN0aXZlS2V5fT1wYXlsb2FkO2lmKGFwaS5hc3NlcnQoITA9PT1pc1NpZ25lZFdpdGhBY3RpdmVLZXksImFjdGl2ZSBrZXkgcmVxdWlyZWQiKSYmYXBpLmFzc2VydChkb21haW58fElQLCJuZWl0aGVyIGRvbWFpbiBub3IgaXAgcHJvdmlkZWQiKSYmYXBpLmFzc2VydCghKGRvbWFpbiYmSVApLCJib3RoIGRvbWFpbiBhbmQgaXAgcHJvdmlkZWQiKSYmKGRvbWFpbiYmYXBpLmFzc2VydChkb21haW4mJiJzdHJpbmciPT10eXBlb2YgZG9tYWluJiZhcGkudmFsaWRhdG9yLmlzRlFETihkb21haW4pLCJkb21haW4gaXMgaW52YWxpZCIpfHxJUCYmYXBpLmFzc2VydChJUCYmInN0cmluZyI9PXR5cGVvZiBJUCYmYXBpLnZhbGlkYXRvci5pc0lQKElQKSwiSVAgaXMgaW52YWxpZCIpKSYmYXBpLmFzc2VydChSUENQb3J0JiZOdW1iZXIuaXNJbnRlZ2VyKFJQQ1BvcnQpJiZSUENQb3J0Pj0wJiZSUENQb3J0PD02NTUzNSwiUlBDUG9ydCBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCA2NTUzNSIpJiZhcGkuYXNzZXJ0KFAyUFBvcnQmJk51bWJlci5pc0ludGVnZXIoUDJQUG9ydCkmJlAyUFBvcnQ+PTAmJlAyUFBvcnQ8PTY1NTM1LCJQMlBQb3J0IG11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDY1NTM1IikmJmFwaS5hc3NlcnQoYXBpLnZhbGlkYXRvci5pc0FscGhhbnVtZXJpYyhzaWduaW5nS2V5KSYmNTM9PT1zaWduaW5nS2V5Lmxlbmd0aCwiaW52YWxpZCBzaWduaW5nIGtleSIpJiZhcGkuYXNzZXJ0KCJib29sZWFuIj09dHlwZW9mIGVuYWJsZWQsImVuYWJsZWQgbXVzdCBiZSBhIGJvb2xlYW4iKSl7bGV0IHdpdG5lc3M9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse3NpZ25pbmdLZXk6c2lnbmluZ0tleX0pO2lmKGFwaS5hc3NlcnQobnVsbD09PXdpdG5lc3N8fHdpdG5lc3MuYWNjb3VudD09PWFwaS5zZW5kZXIsImEgd2l0bmVzcyBpcyBhbHJlYWR5IHVzaW5nIHRoaXMgc2lnbmluZyBrZXkiKSYmKHdpdG5lc3M9SVA/YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse0lQOklQLFAyUFBvcnQ6UDJQUG9ydH0pOmF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHtkb21haW46ZG9tYWluLFAyUFBvcnQ6UDJQUG9ydH0pLGFwaS5hc3NlcnQobnVsbD09PXdpdG5lc3N8fHdpdG5lc3MuYWNjb3VudD09PWFwaS5zZW5kZXIsYGEgd2l0bmVzcyBpcyBhbHJlYWR5IHVzaW5nIHRoaXMgJHtJUD8iSVAiOiJkb21haW4ifS9Qb3J0YCkpKWlmKHdpdG5lc3M9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6YXBpLnNlbmRlcn0pLHdpdG5lc3Mpe2NvbnN0IGVuYWJsZWRDaGFuZ2VkPXdpdG5lc3MuZW5hYmxlZCE9PWVuYWJsZWQ7bGV0IHVzZVVuc2V0cz0hMTtjb25zdCB1bnNldHM9e307SVA/KHdpdG5lc3MuSVA9SVAsd2l0bmVzcy5kb21haW4mJihkZWxldGUgd2l0bmVzcy5kb21haW4sdW5zZXRzLmRvbWFpbj0iIix1c2VVbnNldHM9ITApKTood2l0bmVzcy5kb21haW49ZG9tYWluLHdpdG5lc3MuSVAmJihkZWxldGUgd2l0bmVzcy5JUCx1bnNldHMuSVA9IiIsdXNlVW5zZXRzPSEwKSksd2l0bmVzcy5SUENQb3J0PVJQQ1BvcnQsd2l0bmVzcy5QMlBQb3J0PVAyUFBvcnQsd2l0bmVzcy5zaWduaW5nS2V5PXNpZ25pbmdLZXksd2l0bmVzcy5lbmFibGVkPWVuYWJsZWQsdXNlVW5zZXRzP2F3YWl0IGFwaS5kYi51cGRhdGUoIndpdG5lc3NlcyIsd2l0bmVzcyx1bnNldHMpOmF3YWl0IGFwaS5kYi51cGRhdGUoIndpdG5lc3NlcyIsd2l0bmVzcyk7Y29uc3QgcGFyYW1zPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KTtlbmFibGVkQ2hhbmdlZCYmd2l0bmVzcy5lbmFibGVkP3BhcmFtcy50b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKHBhcmFtcy50b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodCkucGx1cyh3aXRuZXNzLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS50b0ZpeGVkKDUpOmVuYWJsZWRDaGFuZ2VkJiYhd2l0bmVzcy5lbmFibGVkJiYocGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIocGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0KS5taW51cyh3aXRuZXNzLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS50b0ZpeGVkKDUpKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyl9ZWxzZSB3aXRuZXNzPXthY2NvdW50OmFwaS5zZW5kZXIsYXBwcm92YWxXZWlnaHQ6eyRudW1iZXJEZWNpbWFsOiIwIn0sc2lnbmluZ0tleTpzaWduaW5nS2V5LFJQQ1BvcnQ6UlBDUG9ydCxQMlBQb3J0OlAyUFBvcnQsZW5hYmxlZDplbmFibGVkLG1pc3NlZFJvdW5kczowLG1pc3NlZFJvdW5kc0luQVJvdzowLHZlcmlmaWVkUm91bmRzOjAsbGFzdFJvdW5kVmVyaWZpZWQ6bnVsbCxsYXN0QmxvY2tWZXJpZmllZDpudWxsfSxJUD93aXRuZXNzLklQPUlQOndpdG5lc3MuZG9tYWluPWRvbWFpbixhd2FpdCBhcGkuZGIuaW5zZXJ0KCJ3aXRuZXNzZXMiLHdpdG5lc3MpfX07Y29uc3QgcmVtb3ZlQXBwcm92YWw9YXN5bmMoYXBwcm92YWwsYWNjdCxibG5jZSxtYW51YWw9ITApPT57aWYoYXBpLmFzc2VydChudWxsIT09YXBwcm92YWwsInlvdSBoYXZlIG5vdCBhcHByb3ZlZCB0aGlzIHdpdG5lc3MiKSl7Y29uc3R7ZnJvbTpmcm9tLHRvOnRvfT1hcHByb3ZhbDtsZXQgYWNjb3VudD1hY2N0O2FjY3QmJmFjY3QuYWNjb3VudD09PWZyb218fChhY2NvdW50PWF3YWl0IGFwaS5kYi5maW5kT25lKCJhY2NvdW50cyIse2FjY291bnQ6ZnJvbX0pKSxhd2FpdCBhcGkuZGIucmVtb3ZlKCJhcHByb3ZhbHMiLGFwcHJvdmFsKTtsZXQgYmFsYW5jZT1ibG5jZTtiYWxhbmNlfHwoYmFsYW5jZT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsImJhbGFuY2VzIix7YWNjb3VudDpmcm9tLHN5bWJvbDoiV09SS0VSQkVFIn0pKTtsZXQgYXBwcm92YWxXZWlnaHQ9MDtiYWxhbmNlJiZiYWxhbmNlLnN0YWtlJiYoYXBwcm92YWxXZWlnaHQ9YmFsYW5jZS5zdGFrZSksYmFsYW5jZSYmYmFsYW5jZS5kZWxlZ2F0aW9uc0luJiYoYXBwcm92YWxXZWlnaHQ9YXBpLkJpZ051bWJlcihhcHByb3ZhbFdlaWdodCkucGx1cyhiYWxhbmNlLmRlbGVnYXRpb25zSW4pLnRvRml4ZWQoNSkpLG1hbnVhbCYmKGFjY291bnQuYXBwcm92YWxzLT0xLGFjY291bnQuYXBwcm92YWxXZWlnaHQ9YXBwcm92YWxXZWlnaHQsYWNjb3VudC5sYXN0QXBwcm92ZUJsb2NrPWFwaS5ibG9ja051bWJlcixhd2FpdCBhcGkuZGIudXBkYXRlKCJhY2NvdW50cyIsYWNjb3VudCkpLGF3YWl0IHVwZGF0ZVdpdG5lc3NSYW5rKHRvLCItIithcHByb3ZhbFdlaWdodCksYXBpLmVtaXQoIndpdG5lc3NBcHByb3ZhbFJlbW92ZWQiLHthY2NvdW50OmZyb20sdG86dG8sYXBwcm92YWxXZWlnaHQ6YXBwcm92YWxXZWlnaHR9KX19O2FjdGlvbnMuYXBwcm92ZT1hc3luYyBwYXlsb2FkPT57Y29uc3R7d2l0bmVzczp3aXRuZXNzfT1wYXlsb2FkLHBhcmFtcz1hd2FpdCBhcGkuZGIuZmluZE9uZSgicGFyYW1zIix7fSk7aWYoYXBpLmFzc2VydCh3aXRuZXNzJiYic3RyaW5nIj09dHlwZW9mIHdpdG5lc3MmJndpdG5lc3MubGVuZ3RoPj0zJiZ3aXRuZXNzLmxlbmd0aDw9MTYsImludmFsaWQgd2l0bmVzcyBhY2NvdW50Iikpe2NvbnN0IHdpdG5lc3NSZWM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6d2l0bmVzc30pO2lmKGFwaS5hc3NlcnQod2l0bmVzc1JlYywid2l0bmVzcyBkb2VzIG5vdCBleGlzdCIpKXtsZXQgYWNjdD1hd2FpdCBhcGkuZGIuZmluZE9uZSgiYWNjb3VudHMiLHthY2NvdW50OmFwaS5zZW5kZXJ9KTtpZihudWxsPT09YWNjdCYmKGFjY3Q9e2FjY291bnQ6YXBpLnNlbmRlcixhcHByb3ZhbHM6MCxhcHByb3ZhbFdlaWdodDp7JG51bWJlckRlY2ltYWw6IjAifSxsYXN0QXBwcm92ZUJsb2NrOmFwaS5ibG9ja051bWJlcn0sYWNjdD1hd2FpdCBhcGkuZGIuaW5zZXJ0KCJhY2NvdW50cyIsYWNjdCkpLGFwaS5hc3NlcnQoYWNjdC5hcHByb3ZhbHM8cGFyYW1zLm51bWJlck9mQXBwcm92YWxzUGVyQWNjb3VudCxgeW91IGNhbiBvbmx5IGFwcHJvdmUgJHtwYXJhbXMubnVtYmVyT2ZBcHByb3ZhbHNQZXJBY2NvdW50fSB3aXRuZXNzZXNgKSl7bGV0IGFwcHJvdmFsPWF3YWl0IGFwaS5kYi5maW5kT25lKCJhcHByb3ZhbHMiLHtmcm9tOmFwaS5zZW5kZXIsdG86d2l0bmVzc30pO2lmKGFwaS5hc3NlcnQobnVsbD09PWFwcHJvdmFsLCJ5b3UgYWxyZWFkeSBhcHByb3ZlZCB0aGlzIHdpdG5lc3MiKSl7YXBwcm92YWw9e2Zyb206YXBpLnNlbmRlcix0bzp3aXRuZXNzfSxhd2FpdCBhcGkuZGIuaW5zZXJ0KCJhcHByb3ZhbHMiLGFwcHJvdmFsKTtjb25zdCBiYWxhbmNlPWF3YWl0IGFwaS5kYi5maW5kT25lSW5UYWJsZSgidG9rZW5zIiwiYmFsYW5jZXMiLHthY2NvdW50OmFwaS5zZW5kZXIsc3ltYm9sOiJXT1JLRVJCRUUifSk7bGV0IGFwcHJvdmFsV2VpZ2h0PTA7YmFsYW5jZSYmYmFsYW5jZS5zdGFrZSYmKGFwcHJvdmFsV2VpZ2h0PWJhbGFuY2Uuc3Rha2UpLGJhbGFuY2UmJmJhbGFuY2UuZGVsZWdhdGlvbnNJbiYmKGFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIoYXBwcm92YWxXZWlnaHQpLnBsdXMoYmFsYW5jZS5kZWxlZ2F0aW9uc0luKS50b0ZpeGVkKDUpKSxhY2N0LmFwcHJvdmFscys9MSxhY2N0LmFwcHJvdmFsV2VpZ2h0PWFwcHJvdmFsV2VpZ2h0LGFjY3QubGFzdEFwcHJvdmVCbG9jaz1hcGkuYmxvY2tOdW1iZXIsYXdhaXQgYXBpLmRiLnVwZGF0ZSgiYWNjb3VudHMiLGFjY3QpLGF3YWl0IHVwZGF0ZVdpdG5lc3NSYW5rKHdpdG5lc3MsYXBwcm92YWxXZWlnaHQpLGFwaS5lbWl0KCJ3aXRuZXNzQXBwcm92YWxBZGRlZCIse2FjY291bnQ6YXBpLnNlbmRlcix0bzp3aXRuZXNzLGFwcHJvdmFsV2VpZ2h0OmFwcHJvdmFsV2VpZ2h0fSl9fX19fSxhY3Rpb25zLmRpc2FwcHJvdmU9YXN5bmMgcGF5bG9hZD0+e2NvbnN0e3dpdG5lc3M6d2l0bmVzc309cGF5bG9hZDtpZihhcGkuYXNzZXJ0KHdpdG5lc3MmJiJzdHJpbmciPT10eXBlb2Ygd2l0bmVzcyYmd2l0bmVzcy5sZW5ndGg+PTMmJndpdG5lc3MubGVuZ3RoPD0xNiwiaW52YWxpZCB3aXRuZXNzIGFjY291bnQiKSl7Y29uc3Qgd2l0bmVzc1JlYz1hd2FpdCBhcGkuZGIuZmluZE9uZSgid2l0bmVzc2VzIix7YWNjb3VudDp3aXRuZXNzfSk7aWYoYXBpLmFzc2VydCh3aXRuZXNzUmVjLCJ3aXRuZXNzIGRvZXMgbm90IGV4aXN0Iikpe2xldCBhY2N0PWF3YWl0IGFwaS5kYi5maW5kT25lKCJhY2NvdW50cyIse2FjY291bnQ6YXBpLnNlbmRlcn0pO2lmKG51bGw9PT1hY2N0JiYoYWNjdD17YWNjb3VudDphcGkuc2VuZGVyLGFwcHJvdmFsczowLGFwcHJvdmFsV2VpZ2h0OnskbnVtYmVyRGVjaW1hbDoiMCJ9LGxhc3RBcHByb3ZlQmxvY2s6YXBpLmJsb2NrTnVtYmVyfSxhd2FpdCBhcGkuZGIuaW5zZXJ0KCJhY2NvdW50cyIsYWNjdCkpLGFwaS5hc3NlcnQoYWNjdC5hcHByb3ZhbHM+MCwibm8gYXBwcm92YWxzIGZvdW5kIikpe2NvbnN0IGFwcHJvdmFsPWF3YWl0IGFwaS5kYi5maW5kT25lKCJhcHByb3ZhbHMiLHtmcm9tOmFjY3QuYWNjb3VudCx0bzp3aXRuZXNzfSksYmFsYW5jZT1hd2FpdCBhcGkuZGIuZmluZE9uZUluVGFibGUoInRva2VucyIsImJhbGFuY2VzIix7YWNjb3VudDphcGkuc2VuZGVyLHN5bWJvbDoiV09SS0VSQkVFIn0pO2F3YWl0IHJlbW92ZUFwcHJvdmFsKGFwcHJvdmFsLGFjY3QsYmFsYW5jZSwhMCl9fX19O2NvbnN0IGV4cGlyZUFsbFVzZXJBcHByb3ZhbHM9YXN5bmMgYWNjdD0+e2NvbnN0IGFwcHJvdmFscz1hd2FpdCBhcGkuZGIuZmluZCgiYXBwcm92YWxzIix7ZnJvbTphY2N0LmFjY291bnR9KSxiYWxhbmNlPWF3YWl0IGFwaS5kYi5maW5kT25lSW5UYWJsZSgidG9rZW5zIiwiYmFsYW5jZXMiLHthY2NvdW50OmFjY3QuYWNjb3VudCxzeW1ib2w6IldPUktFUkJFRSJ9KTtmb3IobGV0IGk9MDtpPGFwcHJvdmFscy5sZW5ndGg7aSs9MSl7Y29uc3QgYXBwcm92YWw9YXBwcm92YWxzW2ldO2F3YWl0IHJlbW92ZUFwcHJvdmFsKGFwcHJvdmFsLGFjY3QsYmFsYW5jZSwhMSl9bGV0IGFwcHJvdmFsV2VpZ2h0PTA7YmFsYW5jZSYmYmFsYW5jZS5zdGFrZSYmKGFwcHJvdmFsV2VpZ2h0PWJhbGFuY2Uuc3Rha2UpLGJhbGFuY2UmJmJhbGFuY2UuZGVsZWdhdGlvbnNJbiYmKGFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIoYXBwcm92YWxXZWlnaHQpLnBsdXMoYmFsYW5jZS5kZWxlZ2F0aW9uc0luKS50b0ZpeGVkKDUpKTtjb25zdCBhY2NvdW50PWFjY3Q7YWNjb3VudC5hcHByb3ZhbHM9MCxhY2NvdW50LmFwcHJvdmFsV2VpZ2h0PWFwcHJvdmFsV2VpZ2h0LGF3YWl0IGFwaS5kYi51cGRhdGUoImFjY291bnRzIixhY2NvdW50KSxhcGkuZW1pdCgid2l0bmVzc0FwcHJvdmFsc0V4cGlyZWQiLHthY2NvdW50OmFjY3QuYWNjb3VudH0pfSxmaW5kQW5kRXhwaXJlQXBwcm92YWxzPWFzeW5jIHdpdG5lc3NBcHByb3ZlRXhwaXJlQmxvY2tzPT57Y29uc3QgYWNjb3VudHM9YXdhaXQgYXBpLmRiLmZpbmQoImFjY291bnRzIix7bGFzdEFwcHJvdmVCbG9jazp7JGx0OmFwaS5ibG9ja051bWJlci13aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2Nrc30sYXBwcm92YWxzOnskZ3Q6MH19LDEwLDAsW3tpbmRleDoibGFzdEFwcHJvdmVCbG9jayIsZGVzY2VuZGluZzohMX1dKTtmb3IobGV0IGk9MDtpPGFjY291bnRzLmxlbmd0aDtpKz0xKWF3YWl0IGV4cGlyZUFsbFVzZXJBcHByb3ZhbHMoYWNjb3VudHNbaV0pfSxjaGFuZ2VDdXJyZW50V2l0bmVzcz1hc3luYygpPT57Y29uc3QgcGFyYW1zPWF3YWl0IGFwaS5kYi5maW5kT25lKCJwYXJhbXMiLHt9KSx7Y3VycmVudFdpdG5lc3M6Y3VycmVudFdpdG5lc3MsdG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQ6dG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQsbGFzdFdpdG5lc3NlczpsYXN0V2l0bmVzc2VzLGxhc3RCbG9ja1JvdW5kOmxhc3RCbG9ja1JvdW5kLHJvdW5kOnJvdW5kLG1heFJvdW5kc01pc3NlZEluQVJvdzptYXhSb3VuZHNNaXNzZWRJbkFSb3csbWF4Um91bmRQcm9wb3NpdGlvbldhaXRpbmdQZXJpb2Q6bWF4Um91bmRQcm9wb3NpdGlvbldhaXRpbmdQZXJpb2R9PXBhcmFtcztsZXQgd2l0bmVzc0ZvdW5kPSExO2NvbnN0IHJhbmRvbT1hcGkucmFuZG9tKCkscmFuZG9tV2VpZ2h0PWFwaS5CaWdOdW1iZXIodG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQpLnRpbWVzKHJhbmRvbSkudG9GaXhlZCg1LDEpO2xldCBvZmZzZXQ9MCxhY2NXZWlnaHQ9MCx3aXRuZXNzZXM9YXdhaXQgYXBpLmRiLmZpbmQoIndpdG5lc3NlcyIse2FwcHJvdmFsV2VpZ2h0OnskZ3Q6eyRudW1iZXJEZWNpbWFsOiIwIn19LGVuYWJsZWQ6ITB9LDEwMCxvZmZzZXQsW3tpbmRleDoiYXBwcm92YWxXZWlnaHQiLGRlc2NlbmRpbmc6ITB9XSk7Y29uc3Qgc2NoZWR1bGVzPWF3YWl0IGFwaS5kYi5maW5kKCJzY2hlZHVsZXMiLHtyb3VuZDpyb3VuZH0pLHByZXZpb3VzUm91bmRXaXRuZXNzPWxhc3RXaXRuZXNzZXMubGVuZ3RoPjE/bGFzdFdpdG5lc3Nlc1tsYXN0V2l0bmVzc2VzLmxlbmd0aC0yXToiIixzY2hlZHVsZT1hd2FpdCBhcGkuZGIuZmluZE9uZSgic2NoZWR1bGVzIix7cm91bmQ6cm91bmQsd2l0bmVzczpjdXJyZW50V2l0bmVzcyxibG9ja051bWJlcjpsYXN0QmxvY2tSb3VuZH0pO2Rve2ZvcihsZXQgaW5kZXg9MDtpbmRleDx3aXRuZXNzZXMubGVuZ3RoO2luZGV4Kz0xKXtjb25zdCB3aXRuZXNzPXdpdG5lc3Nlc1tpbmRleF07aWYoYWNjV2VpZ2h0PWFwaS5CaWdOdW1iZXIoYWNjV2VpZ2h0KS5wbHVzKHdpdG5lc3MuYXBwcm92YWxXZWlnaHQuJG51bWJlckRlY2ltYWwpLnRvRml4ZWQoNSksITA9PT13aXRuZXNzLmVuYWJsZWQmJndpdG5lc3MuYWNjb3VudCE9PXByZXZpb3VzUm91bmRXaXRuZXNzJiZ2b2lkIDA9PT1zY2hlZHVsZXMuZmluZChzPT5zLndpdG5lc3M9PT13aXRuZXNzLmFjY291bnQpJiZhcGkuQmlnTnVtYmVyKHJhbmRvbVdlaWdodCkubHRlKGFjY1dlaWdodCkpe2FwaS5kZWJ1ZyhgY2hhbmdlZCBjdXJyZW50IHdpdG5lc3MgZnJvbSAke3NjaGVkdWxlLndpdG5lc3N9IHRvICR7d2l0bmVzcy5hY2NvdW50fWApLHNjaGVkdWxlLndpdG5lc3M9d2l0bmVzcy5hY2NvdW50LGF3YWl0IGFwaS5kYi51cGRhdGUoInNjaGVkdWxlcyIsc2NoZWR1bGUpLHBhcmFtcy5jdXJyZW50V2l0bmVzcz13aXRuZXNzLmFjY291bnQscGFyYW1zLmxhc3RXaXRuZXNzZXMucHVzaCh3aXRuZXNzLmFjY291bnQpLHBhcmFtcy5ibG9ja051bWJlcldpdG5lc3NDaGFuZ2U9YXBpLmJsb2NrTnVtYmVyK21heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kO2NvbnN0IHNjaGVkdWxlZFdpdG5lc3M9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6Y3VycmVudFdpdG5lc3N9KTtzY2hlZHVsZWRXaXRuZXNzLm1pc3NlZFJvdW5kcys9MSxzY2hlZHVsZWRXaXRuZXNzLm1pc3NlZFJvdW5kc0luQVJvdys9MSxhcGkuZW1pdCgid2l0bmVzc01pc3NlZFJvdW5kIix7d2l0bmVzczpzY2hlZHVsZWRXaXRuZXNzLmFjY291bnR9KSxzY2hlZHVsZWRXaXRuZXNzLm1pc3NlZFJvdW5kc0luQVJvdz49bWF4Um91bmRzTWlzc2VkSW5BUm93JiYoc2NoZWR1bGVkV2l0bmVzcy5taXNzZWRSb3VuZHNJbkFSb3c9MCxzY2hlZHVsZWRXaXRuZXNzLmVuYWJsZWQ9ITEscGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0PWFwaS5CaWdOdW1iZXIocGFyYW1zLnRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0KS5taW51cyhzY2hlZHVsZWRXaXRuZXNzLmFwcHJvdmFsV2VpZ2h0LiRudW1iZXJEZWNpbWFsKS50b0ZpeGVkKDUpLGFwaS5lbWl0KCJ3aXRuZXNzRGlzYWJsZWRGb3JNaXNzaW5nVG9vTWFueVJvdW5kc0luQVJvdyIse3dpdG5lc3M6c2NoZWR1bGVkV2l0bmVzcy5hY2NvdW50fSkpLGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHNjaGVkdWxlZFdpdG5lc3MpLHdpdG5lc3NGb3VuZD0hMCxhcGkuZW1pdCgiY3VycmVudFdpdG5lc3NDaGFuZ2VkIix7fSk7YnJlYWt9fSExPT09d2l0bmVzc0ZvdW5kJiYob2Zmc2V0Kz0xMDAsd2l0bmVzc2VzPWF3YWl0IGFwaS5kYi5maW5kKCJ3aXRuZXNzZXMiLHthcHByb3ZhbFdlaWdodDp7JGd0OnskbnVtYmVyRGVjaW1hbDoiMCJ9fX0sMTAwLG9mZnNldCxbe2luZGV4OiJhcHByb3ZhbFdlaWdodCIsZGVzY2VuZGluZzohMH1dKSl9d2hpbGUod2l0bmVzc2VzLmxlbmd0aD4wJiYhMT09PXdpdG5lc3NGb3VuZCk7aWYoITE9PT13aXRuZXNzRm91bmQpe2FwaS5kZWJ1Zygibm8gYmFja3VwIHdpdG5lc3Mgd2FzIGZvdW5kLCBpbnRlcmNoYW5naW5nIHdpdG5lc3NlcyB3aXRoaW4gdGhlIGN1cnJlbnQgc2NoZWR1bGUiKTtmb3IobGV0IGluZGV4PTA7aW5kZXg8c2NoZWR1bGVzLmxlbmd0aC0xO2luZGV4Kz0xKXtjb25zdCBzY2hlZD1zY2hlZHVsZXNbaW5kZXhdLG5ld1dpdG5lc3M9c2NoZWQud2l0bmVzcztpZihuZXdXaXRuZXNzIT09cHJldmlvdXNSb3VuZFdpdG5lc3Mpe2FwaS5kZWJ1ZyhgY2hhbmdlZCBjdXJyZW50IHdpdG5lc3MgZnJvbSAke2N1cnJlbnRXaXRuZXNzfSB0byAke25ld1dpdG5lc3N9YCksc2NoZWR1bGUud2l0bmVzcz1uZXdXaXRuZXNzLGF3YWl0IGFwaS5kYi51cGRhdGUoInNjaGVkdWxlcyIsc2NoZWR1bGUpLHNjaGVkLndpdG5lc3M9Y3VycmVudFdpdG5lc3MsYXdhaXQgYXBpLmRiLnVwZGF0ZSgic2NoZWR1bGVzIixzY2hlZCkscGFyYW1zLmN1cnJlbnRXaXRuZXNzPW5ld1dpdG5lc3MscGFyYW1zLmxhc3RXaXRuZXNzZXMucHVzaChuZXdXaXRuZXNzKSxwYXJhbXMuYmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlPWFwaS5ibG9ja051bWJlcittYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZDtjb25zdCBzY2hlZHVsZWRXaXRuZXNzPWF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHthY2NvdW50OmN1cnJlbnRXaXRuZXNzfSk7c2NoZWR1bGVkV2l0bmVzcy5taXNzZWRSb3VuZHMrPTEsc2NoZWR1bGVkV2l0bmVzcy5taXNzZWRSb3VuZHNJbkFSb3crPTEsYXBpLmVtaXQoIndpdG5lc3NNaXNzZWRSb3VuZCIse3dpdG5lc3M6c2NoZWR1bGVkV2l0bmVzcy5hY2NvdW50fSksc2NoZWR1bGVkV2l0bmVzcy5taXNzZWRSb3VuZHNJbkFSb3c+PW1heFJvdW5kc01pc3NlZEluQVJvdyYmKHNjaGVkdWxlZFdpdG5lc3MubWlzc2VkUm91bmRzSW5BUm93PTAsc2NoZWR1bGVkV2l0bmVzcy5lbmFibGVkPSExLHBhcmFtcy50b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodD1hcGkuQmlnTnVtYmVyKHBhcmFtcy50b3RhbEVuYWJsZWRBcHByb3ZhbFdlaWdodCkubWludXMoc2NoZWR1bGVkV2l0bmVzcy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkudG9GaXhlZCg1KSxhcGkuZW1pdCgid2l0bmVzc0Rpc2FibGVkRm9yTWlzc2luZ1Rvb01hbnlSb3VuZHNJbkFSb3ciLHt3aXRuZXNzOnNjaGVkdWxlZFdpdG5lc3MuYWNjb3VudH0pKSxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyksYXdhaXQgYXBpLmRiLnVwZGF0ZSgid2l0bmVzc2VzIixzY2hlZHVsZWRXaXRuZXNzKSxhcGkuZW1pdCgiY3VycmVudFdpdG5lc3NDaGFuZ2VkIix7fSk7YnJlYWt9fX19LG1hbmFnZVdpdG5lc3Nlc1NjaGVkdWxlPWFzeW5jKCk9PntpZigibnVsbCIhPT1hcGkuc2VuZGVyKXJldHVybjtjb25zdCBwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pLHtudW1iZXJPZkFwcHJvdmVkV2l0bmVzc2VzOm51bWJlck9mQXBwcm92ZWRXaXRuZXNzZXMsdG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQ6dG90YWxFbmFibGVkQXBwcm92YWxXZWlnaHQsbGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI6bGFzdFZlcmlmaWVkQmxvY2tOdW1iZXIsYmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlOmJsb2NrTnVtYmVyV2l0bmVzc0NoYW5nZSxsYXN0QmxvY2tSb3VuZDpsYXN0QmxvY2tSb3VuZCxudW1iZXJPZlRvcFdpdG5lc3NlczpudW1iZXJPZlRvcFdpdG5lc3NlcyxudW1iZXJPZldpdG5lc3NTbG90czpudW1iZXJPZldpdG5lc3NTbG90cyxtYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZDptYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZCx3aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2Nrczp3aXRuZXNzQXBwcm92ZUV4cGlyZUJsb2Nrc309cGFyYW1zO2F3YWl0IGZpbmRBbmRFeHBpcmVBcHByb3ZhbHMod2l0bmVzc0FwcHJvdmVFeHBpcmVCbG9ja3MpO2NvbnN0IGN1cnJlbnRCbG9jaz1sYXN0VmVyaWZpZWRCbG9ja051bWJlcisxO2xldCBzY2hlZHVsZT1hd2FpdCBhcGkuZGIuZmluZE9uZSgic2NoZWR1bGVzIix7YmxvY2tOdW1iZXI6Y3VycmVudEJsb2NrfSk7aWYobnVsbD09PXNjaGVkdWxlKXtpZihhcGkuZGVidWcoImNhbGN1bGF0aW5nIG5ldyBzY2hlZHVsZSIpLHNjaGVkdWxlPVtdLG51bWJlck9mQXBwcm92ZWRXaXRuZXNzZXM+PW51bWJlck9mV2l0bmVzc1Nsb3RzKXtjb25zdCByYW5kb209YXBpLnJhbmRvbSgpO2xldCByYW5kb21XZWlnaHQ9bnVsbCxvZmZzZXQ9MCxhY2NXZWlnaHQ9MCx3aXRuZXNzZXM9YXdhaXQgYXBpLmRiLmZpbmQoIndpdG5lc3NlcyIse2FwcHJvdmFsV2VpZ2h0OnskZ3Q6eyRudW1iZXJEZWNpbWFsOiIwIn19LGVuYWJsZWQ6ITB9LDEwMCxvZmZzZXQsW3tpbmRleDoiYXBwcm92YWxXZWlnaHQiLGRlc2NlbmRpbmc6ITB9XSk7ZG97Zm9yKGxldCBpbmRleD0wO2luZGV4PHdpdG5lc3Nlcy5sZW5ndGg7aW5kZXgrPTEpe2NvbnN0IHdpdG5lc3M9d2l0bmVzc2VzW2luZGV4XTtzY2hlZHVsZS5sZW5ndGg+PW51bWJlck9mVG9wV2l0bmVzc2VzJiZudWxsPT09cmFuZG9tV2VpZ2h0JiYocmFuZG9tV2VpZ2h0PWFwaS5CaWdOdW1iZXIoYWNjV2VpZ2h0KS5wbHVzKCIwLjAwMDAxIikucGx1cyhhcGkuQmlnTnVtYmVyKHRvdGFsRW5hYmxlZEFwcHJvdmFsV2VpZ2h0KS5taW51cyhhY2NXZWlnaHQpLnRpbWVzKHJhbmRvbSkudG9GaXhlZCg1LDEpKS50b0ZpeGVkKDUpKSxhY2NXZWlnaHQ9YXBpLkJpZ051bWJlcihhY2NXZWlnaHQpLnBsdXMod2l0bmVzcy5hcHByb3ZhbFdlaWdodC4kbnVtYmVyRGVjaW1hbCkudG9GaXhlZCg1KSwhMD09PXdpdG5lc3MuZW5hYmxlZCYmKHNjaGVkdWxlLmxlbmd0aDxudW1iZXJPZlRvcFdpdG5lc3Nlc3x8YXBpLkJpZ051bWJlcihyYW5kb21XZWlnaHQpLmx0ZShhY2NXZWlnaHQpKSYmc2NoZWR1bGUucHVzaCh7d2l0bmVzczp3aXRuZXNzLmFjY291bnQsYmxvY2tOdW1iZXI6bnVsbH0pLHNjaGVkdWxlLmxlbmd0aD49bnVtYmVyT2ZXaXRuZXNzU2xvdHMmJihpbmRleD13aXRuZXNzZXMubGVuZ3RoKX1zY2hlZHVsZS5sZW5ndGg8bnVtYmVyT2ZXaXRuZXNzU2xvdHMmJihvZmZzZXQrPTEwMCx3aXRuZXNzZXM9YXdhaXQgYXBpLmRiLmZpbmQoIndpdG5lc3NlcyIse2FwcHJvdmFsV2VpZ2h0OnskZ3Q6eyRudW1iZXJEZWNpbWFsOiIwIn19fSwxMDAsb2Zmc2V0LFt7aW5kZXg6ImFwcHJvdmFsV2VpZ2h0IixkZXNjZW5kaW5nOiEwfV0pKX13aGlsZSh3aXRuZXNzZXMubGVuZ3RoPjAmJnNjaGVkdWxlLmxlbmd0aDxudW1iZXJPZldpdG5lc3NTbG90cyl9aWYoc2NoZWR1bGUubGVuZ3RoPT09bnVtYmVyT2ZXaXRuZXNzU2xvdHMpe2xldCBqLHg7Zm9yKGxldCBpPXNjaGVkdWxlLmxlbmd0aC0xO2k+MDtpLT0xKXtjb25zdCByYW5kb209YXBpLnJhbmRvbSgpO2o9TWF0aC5mbG9vcihyYW5kb20qKGkrMSkpLHg9c2NoZWR1bGVbaV0sc2NoZWR1bGVbaV09c2NoZWR1bGVbal0sc2NoZWR1bGVbal09eH1sZXQgbGFzdFdpdG5lc3Nlcz1wYXJhbXMubGFzdFdpdG5lc3Nlcztjb25zdCBwcmV2aW91c1JvdW5kV2l0bmVzcz1sYXN0V2l0bmVzc2VzLmxlbmd0aD4wP2xhc3RXaXRuZXNzZXNbbGFzdFdpdG5lc3Nlcy5sZW5ndGgtMV06IiI7bGFzdFdpdG5lc3Nlcy5sZW5ndGg+PW51bWJlck9mV2l0bmVzc1Nsb3RzJiYobGFzdFdpdG5lc3Nlcz1bXSk7Y29uc3QgbGFzdFdpdG5lc3M9c2NoZWR1bGVbc2NoZWR1bGUubGVuZ3RoLTFdLndpdG5lc3M7aWYobGFzdFdpdG5lc3Nlcy5pbmNsdWRlcyhsYXN0V2l0bmVzcyl8fHByZXZpb3VzUm91bmRXaXRuZXNzPT09bGFzdFdpdG5lc3MpZm9yKGxldCBpPTA7aTxzY2hlZHVsZS5sZW5ndGg7aSs9MSlpZighbGFzdFdpdG5lc3Nlcy5pbmNsdWRlcyhzY2hlZHVsZVtpXS53aXRuZXNzKSYmc2NoZWR1bGVbaV0ud2l0bmVzcyE9PXByZXZpb3VzUm91bmRXaXRuZXNzKXtjb25zdCB0aGlzV2l0bmVzcz1zY2hlZHVsZVtpXS53aXRuZXNzO3NjaGVkdWxlW2ldLndpdG5lc3M9bGFzdFdpdG5lc3Msc2NoZWR1bGVbc2NoZWR1bGUubGVuZ3RoLTFdLndpdG5lc3M9dGhpc1dpdG5lc3M7YnJlYWt9aWYoc2NoZWR1bGVbMF0ud2l0bmVzcz09PXByZXZpb3VzUm91bmRXaXRuZXNzKXtjb25zdCBmaXJzdFdpdG5lc3M9c2NoZWR1bGVbMF0ud2l0bmVzcyxzZWNvbmRXaXRuZXNzPXNjaGVkdWxlWzFdLndpdG5lc3M7c2NoZWR1bGVbMF0ud2l0bmVzcz1zZWNvbmRXaXRuZXNzLHNjaGVkdWxlWzFdLndpdG5lc3M9Zmlyc3RXaXRuZXNzfWxldCBibG9ja051bWJlcj0wPT09bGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI/YXBpLmJsb2NrTnVtYmVyOmxhc3RWZXJpZmllZEJsb2NrTnVtYmVyKzE7cGFyYW1zLnJvdW5kKz0xO2ZvcihsZXQgaT0wO2k8c2NoZWR1bGUubGVuZ3RoO2krPTEpc2NoZWR1bGVbaV0uYmxvY2tOdW1iZXI9YmxvY2tOdW1iZXIsc2NoZWR1bGVbaV0ucm91bmQ9cGFyYW1zLnJvdW5kLGFwaS5kZWJ1Zyhgc2NoZWR1bGVkIHdpdG5lc3MgJHtzY2hlZHVsZVtpXS53aXRuZXNzfSBmb3IgYmxvY2sgJHtibG9ja051bWJlcn0gKHJvdW5kICR7cGFyYW1zLnJvdW5kfSlgKSxhd2FpdCBhcGkuZGIuaW5zZXJ0KCJzY2hlZHVsZXMiLHNjaGVkdWxlW2ldKSxibG9ja051bWJlcis9MTswPT09bGFzdFZlcmlmaWVkQmxvY2tOdW1iZXImJihwYXJhbXMubGFzdFZlcmlmaWVkQmxvY2tOdW1iZXI9YXBpLmJsb2NrTnVtYmVyLTEpO2NvbnN0IGxhc3RXaXRuZXNzUm91bmRTY2hlZHVsZT1zY2hlZHVsZVtzY2hlZHVsZS5sZW5ndGgtMV07cGFyYW1zLmxhc3RCbG9ja1JvdW5kPWxhc3RXaXRuZXNzUm91bmRTY2hlZHVsZS5ibG9ja051bWJlcixwYXJhbXMuY3VycmVudFdpdG5lc3M9bGFzdFdpdG5lc3NSb3VuZFNjaGVkdWxlLndpdG5lc3MsbGFzdFdpdG5lc3Nlcy5wdXNoKGxhc3RXaXRuZXNzUm91bmRTY2hlZHVsZS53aXRuZXNzKSxwYXJhbXMubGFzdFdpdG5lc3Nlcz1sYXN0V2l0bmVzc2VzLHBhcmFtcy5ibG9ja051bWJlcldpdG5lc3NDaGFuZ2U9YXBpLmJsb2NrTnVtYmVyK21heFJvdW5kUHJvcG9zaXRpb25XYWl0aW5nUGVyaW9kLGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKSxhcGkuZW1pdCgibmV3U2NoZWR1bGUiLHt9KX19ZWxzZSBhcGkuYmxvY2tOdW1iZXI+PWJsb2NrTnVtYmVyV2l0bmVzc0NoYW5nZSYmKGFwaS5ibG9ja051bWJlcj5sYXN0QmxvY2tSb3VuZD9hd2FpdCBjaGFuZ2VDdXJyZW50V2l0bmVzcygpOihwYXJhbXMuYmxvY2tOdW1iZXJXaXRuZXNzQ2hhbmdlPWFwaS5ibG9ja051bWJlcittYXhSb3VuZFByb3Bvc2l0aW9uV2FpdGluZ1BlcmlvZCxhd2FpdCBhcGkuZGIudXBkYXRlKCJwYXJhbXMiLHBhcmFtcyksYXBpLmVtaXQoImF3YWl0aW5nUm91bmRFbmQiLHt9KSkpfTthY3Rpb25zLnByb3Bvc2VSb3VuZD1hc3luYyBwYXlsb2FkPT57Y29uc3R7cm91bmRIYXNoOnJvdW5kSGFzaCxpc1NpZ25lZFdpdGhBY3RpdmVLZXk6aXNTaWduZWRXaXRoQWN0aXZlS2V5LHNpZ25hdHVyZXM6c2lnbmF0dXJlc309cGF5bG9hZCxwYXJhbXM9YXdhaXQgYXBpLmRiLmZpbmRPbmUoInBhcmFtcyIse30pLHtsYXN0VmVyaWZpZWRCbG9ja051bWJlcjpsYXN0VmVyaWZpZWRCbG9ja051bWJlcixyb3VuZDpyb3VuZCxsYXN0QmxvY2tSb3VuZDpsYXN0QmxvY2tSb3VuZCxjdXJyZW50V2l0bmVzczpjdXJyZW50V2l0bmVzc309cGFyYW1zLHNjaGVkdWxlcz1hd2FpdCBhcGkuZGIuZmluZCgic2NoZWR1bGVzIix7cm91bmQ6cm91bmR9LDFlMywwLFt7aW5kZXg6Il9pZCIsZGVzY2VuZGluZzohMX1dKSxudW1iZXJPZldpdG5lc3NTbG90cz1zY2hlZHVsZXMubGVuZ3RoLHt3aXRuZXNzU2lnbmF0dXJlc1JlcXVpcmVkOndpdG5lc3NTaWduYXR1cmVzUmVxdWlyZWR9PXBhcmFtcztpZighMD09PWlzU2lnbmVkV2l0aEFjdGl2ZUtleSYmcm91bmRIYXNoJiYic3RyaW5nIj09dHlwZW9mIHJvdW5kSGFzaCYmNjQ9PT1yb3VuZEhhc2gubGVuZ3RoJiZBcnJheS5pc0FycmF5KHNpZ25hdHVyZXMpJiZzaWduYXR1cmVzLmxlbmd0aDw9bnVtYmVyT2ZXaXRuZXNzU2xvdHMmJnNpZ25hdHVyZXMubGVuZ3RoPj13aXRuZXNzU2lnbmF0dXJlc1JlcXVpcmVkKXtsZXQgY3VycmVudEJsb2NrPWxhc3RWZXJpZmllZEJsb2NrTnVtYmVyKzEsY2FsY3VsYXRlZFJvdW5kSGFzaD0iIjtpZihhcGkuc2VuZGVyPT09Y3VycmVudFdpdG5lc3Mpe2Zvcig7Y3VycmVudEJsb2NrPD1sYXN0QmxvY2tSb3VuZDspe2NvbnN0IGJsb2NrPWF3YWl0IGFwaS5kYi5nZXRCbG9ja0luZm8oY3VycmVudEJsb2NrKTtpZihudWxsPT09YmxvY2spe2NhbGN1bGF0ZWRSb3VuZEhhc2g9IiI7YnJlYWt9Y2FsY3VsYXRlZFJvdW5kSGFzaD1hcGkuU0hBMjU2KGAke2NhbGN1bGF0ZWRSb3VuZEhhc2h9JHtibG9jay5oYXNofWApLGN1cnJlbnRCbG9jays9MX1pZigiIiE9PWNhbGN1bGF0ZWRSb3VuZEhhc2gmJmNhbGN1bGF0ZWRSb3VuZEhhc2g9PT1yb3VuZEhhc2gpe2xldCBzaWduYXR1cmVzQ2hlY2tlZD0wO2NvbnN0IHZlcmlmaWVkQmxvY2tJbmZvcm1hdGlvbj1bXSxjdXJyZW50V2l0bmVzc0luZm89YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6Y3VycmVudFdpdG5lc3N9KSxjdXJyZW50V2l0bmVzc1NpZ25hdHVyZT1zaWduYXR1cmVzLmZpbmQocz0+c1swXT09PWN1cnJlbnRXaXRuZXNzKTtmb3IobGV0IGluZGV4PTA7aW5kZXg8c2NoZWR1bGVzLmxlbmd0aDtpbmRleCs9MSl7Y29uc3Qgc2NoZWR1bGVkV2l0bmVzcz1zY2hlZHVsZXNbaW5kZXhdLHdpdG5lc3M9YXdhaXQgYXBpLmRiLmZpbmRPbmUoIndpdG5lc3NlcyIse2FjY291bnQ6c2NoZWR1bGVkV2l0bmVzcy53aXRuZXNzfSk7aWYobnVsbCE9PXdpdG5lc3Mpe2NvbnN0IHNpZ25hdHVyZT1zaWduYXR1cmVzLmZpbmQocz0+c1swXT09PXdpdG5lc3MuYWNjb3VudCk7c2lnbmF0dXJlJiZhcGkuY2hlY2tTaWduYXR1cmUoY2FsY3VsYXRlZFJvdW5kSGFzaCxzaWduYXR1cmVbMV0sd2l0bmVzcy5zaWduaW5nS2V5LCEwKSYmKGFwaS5kZWJ1Zyhgd2l0bmVzcyAke3dpdG5lc3MuYWNjb3VudH0gc2lnbmVkIHJvdW5kICR7cm91bmR9YCksc2lnbmF0dXJlc0NoZWNrZWQrPTEpLHZlcmlmaWVkQmxvY2tJbmZvcm1hdGlvbi5wdXNoKHtibG9ja051bWJlcjpzY2hlZHVsZWRXaXRuZXNzLmJsb2NrTnVtYmVyLHdpdG5lc3M6Y3VycmVudFdpdG5lc3Msc2lnbmluZ0tleTpjdXJyZW50V2l0bmVzc0luZm8uc2lnbmluZ0tleSxyb3VuZFNpZ25hdHVyZTpjdXJyZW50V2l0bmVzc1NpZ25hdHVyZVsxXSxyb3VuZDpyb3VuZCxyb3VuZEhhc2g6cm91bmRIYXNofSl9fWlmKHNpZ25hdHVyZXNDaGVja2VkPj13aXRuZXNzU2lnbmF0dXJlc1JlcXVpcmVkKXtmb3IobGV0IGluZGV4PTA7aW5kZXg8dmVyaWZpZWRCbG9ja0luZm9ybWF0aW9uLmxlbmd0aDtpbmRleCs9MSlhd2FpdCBhcGkudmVyaWZ5QmxvY2sodmVyaWZpZWRCbG9ja0luZm9ybWF0aW9uW2luZGV4XSk7Zm9yKGxldCBpbmRleD0wO2luZGV4PHNjaGVkdWxlcy5sZW5ndGg7aW5kZXgrPTEpe2NvbnN0IHNjaGVkdWxlPXNjaGVkdWxlc1tpbmRleF07YXdhaXQgYXBpLmRiLnJlbW92ZSgic2NoZWR1bGVzIixzY2hlZHVsZSl9Y29uc3QgY29udHJhY3RCYWxhbmNlPWF3YWl0IGFwaS5kYi5maW5kT25lSW5UYWJsZSgidG9rZW5zIiwiY29udHJhY3RzQmFsYW5jZXMiLHthY2NvdW50OiJ3aXRuZXNzZXMiLHN5bWJvbDoiQkVFIn0pO2lmKGNvbnRyYWN0QmFsYW5jZSYmYXBpLkJpZ051bWJlcihjb250cmFjdEJhbGFuY2UuYmFsYW5jZSkuZ3RlKCIwLjM5OTU0MzA2Iikpe2NvbnN0IHJld2FyZEFtb3VudD1hcGkuQmlnTnVtYmVyKCIwLjAxOTAyNTg2IikubXVsdGlwbGllZEJ5KG51bWJlck9mV2l0bmVzc1Nsb3RzKS50b0ZpeGVkKDgpO2F3YWl0IGFwaS5leGVjdXRlU21hcnRDb250cmFjdCgidG9rZW5zIiwic3Rha2VGcm9tQ29udHJhY3QiLHt0bzpjdXJyZW50V2l0bmVzcyxzeW1ib2w6IkJFRSIscXVhbnRpdHk6cmV3YXJkQW1vdW50fSl9cGFyYW1zLmN1cnJlbnRXaXRuZXNzPW51bGwscGFyYW1zLmxhc3RWZXJpZmllZEJsb2NrTnVtYmVyPWxhc3RCbG9ja1JvdW5kLGF3YWl0IGFwaS5kYi51cGRhdGUoInBhcmFtcyIscGFyYW1zKTtjb25zdCB3aXRuZXNzPWF3YWl0IGFwaS5kYi5maW5kT25lKCJ3aXRuZXNzZXMiLHthY2NvdW50OmN1cnJlbnRXaXRuZXNzfSk7d2l0bmVzcy5taXNzZWRSb3VuZHNJbkFSb3c9MCx3aXRuZXNzLmxhc3RSb3VuZFZlcmlmaWVkPXJvdW5kLHdpdG5lc3MubGFzdEJsb2NrVmVyaWZpZWQ9bGFzdEJsb2NrUm91bmQsd2l0bmVzcy52ZXJpZmllZFJvdW5kcys9MSxhd2FpdCBhcGkuZGIudXBkYXRlKCJ3aXRuZXNzZXMiLHdpdG5lc3MpLGF3YWl0IG1hbmFnZVdpdG5lc3Nlc1NjaGVkdWxlKCl9fX19fSxhY3Rpb25zLnNjaGVkdWxlV2l0bmVzc2VzPWFzeW5jKCk9PnsibnVsbCI9PT1hcGkuc2VuZGVyJiZhd2FpdCBtYW5hZ2VXaXRuZXNzZXNTY2hlZHVsZSgpfTs="}}}