Transaction executed successfully
Transaction Details
Inspect execution, participants, message data, gas usage, events and raw transaction data.
Transaction hash
1A4BAFDE27B86B350D16D1BF66D0410E4532F438ED4AEB1BC790B933281BA403
Transaction overview
Execution summary
TX INDEX
0
Position in block
GAS WANTED
16,731,045
Requested gas limit
GAS USED
13,942,488
Gas consumed
FEE
1000000ugnot
Transaction fee
Participants
Message
Message #1
m_addpkg
Arguments
g1manfred47kzduec920z88wfr64ylksmdcedlf5
Execution log
msg:0,success:true,log:,events:[]
Events
No events emitted by this transaction.
Raw encoded transaction
CoZJCgwvdm0ubV9hZGRwa2cS9UgKKGcxbWFuZnJlZDQ3a3pkdWVjOTIwejg4d2ZyNjR5bGtzbWRjZWRsZjUSyEgKCWNyb3dkZnVuZBIkZ25vLmxhbmQvci9tb3VsL3gvZGFpbHkvY3Jvd2RmdW5kL3YwGswVCglSRUFETUUubWQSvhUjIENyb3dkZnVuZAoKPiDimqDvuI8gKipFeHBlcmltZW50YWwg4oCUIGdlbmVyYXRlZCB3aXRoIG5vIGh1bWFuIHN1cGVydmlzaW9uKiogYnkgdGhlIGRhaWx5IE1DUCBwaXBlbGluZSAoU29saWRpdHnihpJHbm8gcG9ydCkuIE5vdCBhdWRpdGVkLiBTZWUgW3IvbW91bC94L2RhaWx5XShodHRwczovL2dpdGh1Yi5jb20vbW91bC9nbm8tY29udHJhY3RzL2Jsb2IvbWFpbi9yL21vdWwveC9kYWlseS9SRUFETUUubWQpLgoKLS0tCgoKQSBnbm8ubGFuZCByZWFsbSBwb3J0IG9mIHRoZSBjbGFzc2ljIFNvbGlkaXR5ICoqS2lja3N0YXJ0ZXItc3R5bGUgY3Jvd2RmdW5kaW5nKioKY29udHJhY3QuIEl0IGtlZXBzIHRoZSBzYW1lIGxpZmVjeWNsZSDigJQgbGF1bmNoIGEgY2FtcGFpZ24gd2l0aCBhIGdvYWwgYW5kIGEKZGVhZGxpbmUsIGxldCBiYWNrZXJzIHBsZWRnZSBhbmQgdW5wbGVkZ2UsIHRoZW4gZWl0aGVyIGxldCB0aGUgY3JlYXRvciBjbGFpbSBvbgpzdWNjZXNzIG9yIGxldCBiYWNrZXJzIHJlZnVuZCBvbiBmYWlsdXJlIOKAlCBidXQgbW9kZWxzIGV2ZXJ5dGhpbmcgYXMgcGxhaW4KYHVpbnQ2NGAgYWNjb3VudGluZyAobm8gcmVhbCBjb2luIHRyYW5zZmVyKSwgdGhlIGlkaW9tYXRpYyBHbm8gZXF1aXZhbGVudCBvZiB0aGUKU29saWRpdHkgYG1hcHBpbmcoYWRkcmVzcyA9PiB1aW50KWAgYmFsYW5jZXMuCgpEZWFkbGluZXMgdXNlIGBydW50aW1lLkNoYWluSGVpZ2h0KClgIChibG9jayBoZWlnaHQpIGluc3RlYWQgb2YKYGJsb2NrLnRpbWVzdGFtcGAsIGBtc2cuc2VuZGVyYCBiZWNvbWVzIGB1bnNhZmUuUHJldmlvdXNSZWFsbSgpLkFkZHJlc3MoKWAsCmByZXF1aXJlYCBiZWNvbWVzIGBwYW5pY2AsIGFuZCBjYW1wYWlnbnMgbGl2ZSBpbiBhbiBvcmRlcmVkIGBhdmwuVHJlZWAgc28KYFJlbmRlcmAgbGlzdHMgdGhlbSBkZXRlcm1pbmlzdGljYWxseSB3aXRoIGEgYOKWk+KWkWAgcHJvZ3Jlc3MgYmFyLgoKIyMgVHJhbnNhY3Rpb25zCgotIGBMYXVuY2goZ29hbCB1aW50NjQsIGR1cmF0aW9uQmxvY2tzIGludCkgaW50YCDigJQgY3JlYXRlIGEgY2FtcGFpZ24gKHJldHVybnMgaWQpOyBkZWFkbGluZSA9IGN1cnJlbnQgaGVpZ2h0ICsgZHVyYXRpb24uCi0gYFBsZWRnZShpZCBpbnQsIGFtb3VudCB1aW50NjQpYCDigJQgYmFjayBhIGNhbXBhaWduIGJlZm9yZSBpdHMgZGVhZGxpbmUuCi0gYFVucGxlZGdlKGlkIGludCwgYW1vdW50IHVpbnQ2NClgIOKAlCB3aXRoZHJhdyBwYXJ0L2FsbCBvZiB5b3VyIHBsZWRnZSBiZWZvcmUgdGhlIGRlYWRsaW5lLgotIGBDbGFpbShpZCBpbnQpYCDigJQgY3JlYXRvciBjbGFpbXMgZnVuZHMgYWZ0ZXIgdGhlIGRlYWRsaW5lIGlmIGBwbGVkZ2VkID49IGdvYWxgLgotIGBSZWZ1bmQoaWQgaW50KWAg4oCUIGJhY2tlciByZWNsYWltcyB0aGVpciBwbGVkZ2UgYWZ0ZXIgdGhlIGRlYWRsaW5lIGlmIHRoZSBnb2FsIHdhcyBtaXNzZWQuCgojIyBFeGFtcGxlCgpgYGAKTGF1bmNoKDEwMDAsIDEwMCkgICAgICAvLyBjYW1wYWlnbiAjMSwgZ29hbCAxMDAwLCBlbmRzIDEwMCBibG9ja3MgZnJvbSBub3cgLT4gcmV0dXJucyAxClBsZWRnZSgxLCA0MDApICAgICAgICAgLy8gYmFjayBjYW1wYWlnbiAjMSB3aXRoIDQwMApQbGVkZ2UoMSwgNzAwKSAgICAgICAgIC8vIHRvdGFsIG5vdyAxMTAwICg+PSBnb2FsKQpVbnBsZWRnZSgxLCAxMDApICAgICAgIC8vIGNoYW5nZSBvZiBtaW5kOiB0b3RhbCBiYWNrIHRvIDEwMDAKLy8gLi4uIGFmdGVyIGJsb2NrIGhlaWdodCBwYXNzZXMgdGhlIGRlYWRsaW5lIC4uLgpDbGFpbSgxKSAgICAgICAgICAgICAgIC8vIGNyZWF0b3IgY2xhaW1zIDEwMDAgKGdvYWwgbWV0KQpgYGAKClJlYWQtb25seSBgUmVuZGVyKCIiKWAgc2hvd3MgZXZlcnkgY2FtcGFpZ24gd2l0aCBpdHMgcHJvZ3Jlc3MgYmFyLCBnb2FsLApwbGVkZ2VkIHRvdGFsLCBkZWFkbGluZSBibG9jayBhbmQgc3RhdGUgKEFjdGl2ZSAvIEZ1bmRlZCAvIEZ1bmRlZCAoY2xhaW1lZCkgLwpGYWlsZWQpLgoKPCEtLSBCRUdJTiBHTk9DT05UUkFDVFMgRk9PVEVSIChnZW5lcmF0ZWQgYnkgYG1ha2UgcmVhZG1lc2A7IGRvIG5vdCBlZGl0IGJlbG93KSAtLT4KCi0tLQoKUGFydCBvZiAqKlttb3VsL2duby1jb250cmFjdHNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3VsL2duby1jb250cmFjdHMpKiog4oCUIG1vdWwncyB2ZXJzaW9uZWQgZ25vLmxhbmQgY29udHJhY3RzLiBTZWUgdGhlIHJlcG9zaXRvcnkgZm9yIHRoZSBmdWxsIGNhdGFsb2csIGJ1aWxkL3Rlc3QgdG9vbGluZywgYW5kIHVzYWdlLgoKKipEZXBlbmRlbmN5IGdyYXBoOioqCgohW2duby5sYW5kL3IvbW91bC94L2RhaWx5L2Nyb3dkZnVuZC92MCBkZXBlbmRlbmN5IGdyYXBoXShodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW91bC9nbm8tY29udHJhY3RzL21haW4vX2Fzc2V0cy9nbm8ubGFuZC9yL21vdWwveC9kYWlseS9jcm93ZGZ1bmQvdjAvZGVwcy5wbmcpCgo+IPCfp6ogKipIaWdobHkgZXhwZXJpbWVudGFsIOKAlCBwb3RlbnRpYWxseSB2aWJlLWNvZGVkLioqIE5vdCBhdWRpdGVkOyBtYXkgYnJlYWssIGNoYW5nZSwgb3IgYmUgcmVtb3ZlZCBhdCBhbnkgdGltZS4gRG8gbm90IHVzZSB3aXRoIGFueXRoaW5nIG9mIHZhbHVlLiBGdWxsIGRpc2NsYWltZXI6IFtESVNDTEFJTUVSXShodHRwczovL2dpdGh1Yi5jb20vbW91bC9nbm8tY29udHJhY3RzL2Jsb2IvbWFpbi9ESVNDTEFJTUVSLm1kKS4KCjwhLS0gRU5EIEdOT0NPTlRSQUNUUyBGT09URVIgLS0+ChrTMQoNY3Jvd2RmdW5kLmdubxLBMS8vIFBhY2thZ2UgY3Jvd2RmdW5kIGlzIGFuIGFjY291bnRpbmctb25seSBwb3J0IG9mIHRoZSBjbGFzc2ljIFNvbGlkaXR5Ci8vIEtpY2tzdGFydGVyLXN0eWxlIGNyb3dkZnVuZGluZyBjb250cmFjdCB0byBhIGduby5sYW5kIHJlYWxtLgovLwovLyBBIGNyZWF0b3IgTGF1bmNoZXMgYSBjYW1wYWlnbiB3aXRoIGEgZnVuZGluZyBnb2FsIGFuZCBhIGR1cmF0aW9uIChpbiBibG9ja3MpLgovLyBCYWNrZXJzIFBsZWRnZSAoYW5kIG1heSBVbnBsZWRnZSBiZWZvcmUgdGhlIGRlYWRsaW5lKS4gQWZ0ZXIgdGhlIGRlYWRsaW5lIHRoZQovLyBjcmVhdG9yIGNhbiBDbGFpbSBpZiB0aGUgZ29hbCB3YXMgbWV0LCBvdGhlcndpc2UgYmFja2VycyBjYW4gUmVmdW5kLgovLwovLyBObyByZWFsIGNvaW4gbW92ZXM6IHBsZWRnZXMgYXJlIHRyYWNrZWQgYXMgcGxhaW4gdWludDY0IGFjY291bnRpbmcsIGV4YWN0bHkKLy8gbGlrZSB0aGUgbWFwcGluZyhhZGRyZXNzID0+IHVpbnQpIGJhbGFuY2VzIG9mIHRoZSBTb2xpZGl0eSBvcmlnaW5hbC4KcGFja2FnZSBjcm93ZGZ1bmQKCmltcG9ydCAoCgkic3RyY29udiIKCgkiY2hhaW4iCgkiY2hhaW4vcnVudGltZSIKCSJjaGFpbi9ydW50aW1lL3Vuc2FmZSIKCgkiZ25vLmxhbmQvcC9udC9hdmwvdjAiCikKCi8vIENhbXBhaWduIGhvbGRzIHRoZSBzdGF0ZSBvZiBhIHNpbmdsZSBjcm93ZGZ1bmRpbmcgY2FtcGFpZ24uCnR5cGUgQ2FtcGFpZ24gc3RydWN0IHsKCUlEICAgICAgIGludAoJQ3JlYXRvciAgYWRkcmVzcwoJR29hbCAgICAgdWludDY0CglEZWFkbGluZSBpbnQ2NCAgICAgLy8gYmxvY2sgaGVpZ2h0IGFmdGVyIHdoaWNoIHRoZSBjYW1wYWlnbiBpcyBjbG9zZWQKCVBsZWRnZWQgIHVpbnQ2NCAgICAvLyBydW5uaW5nIHRvdGFsIHBsZWRnZWQKCUNsYWltZWQgIGJvb2wgICAgICAvLyBjcmVhdG9yIGFscmVhZHkgY2xhaW1lZCB0aGUgZnVuZHMKCXBsZWRnZXMgICphdmwuVHJlZSAvLyBiYWNrZXIgYWRkcmVzcyAoc3RyaW5nKSAtPiBwbGVkZ2VkIHVpbnQ2NAp9Cgp2YXIgKAoJY2FtcGFpZ25zID0gYXZsLk5ld1RyZWUoKSAvLyBwYWRkZWQgaWQgLT4gKkNhbXBhaWduIChvcmRlcmVkIGJ5IGlkKQoJbmV4dElEICAgID0gMQopCgovLyBrZXkgemVyby1wYWRzIGFuIGlkIHNvIGF2bCBpdGVyYXRpb24gaXMgaW4gbnVtZXJpYyBvcmRlci4KZnVuYyBrZXkoaWQgaW50KSBzdHJpbmcgewoJcyA6PSBzdHJjb252Lkl0b2EoaWQpCglmb3IgbGVuKHMpIDwgMTIgewoJCXMgPSAiMCIgKyBzCgl9CglyZXR1cm4gcwp9CgpmdW5jIG11c3RHZXQoaWQgaW50KSAqQ2FtcGFpZ24gewoJdiA6PSBjYW1wYWlnbnMuR2V0KGtleShpZCkpCglpZiB2ID09IG5pbCB7CgkJcGFuaWMoImNhbXBhaWduIG5vdCBmb3VuZCIpCgl9CglyZXR1cm4gdi4oKkNhbXBhaWduKQp9CgovLyBMYXVuY2ggY3JlYXRlcyBhIG5ldyBjYW1wYWlnbiBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCByZXR1cm5zIGl0cyBpZC4KZnVuYyBMYXVuY2goY3VyIHJlYWxtLCBnb2FsIHVpbnQ2NCwgZHVyYXRpb25CbG9ja3MgaW50KSBpbnQgewoJaWYgZ29hbCA9PSAwIHsKCQlwYW5pYygiZ29hbCBtdXN0IGJlID4gMCIpCgl9CglpZiBkdXJhdGlvbkJsb2NrcyA8PSAwIHsKCQlwYW5pYygiZHVyYXRpb24gbXVzdCBiZSA+IDAiKQoJfQoJY2FsbGVyIDo9IHVuc2FmZS5QcmV2aW91c1JlYWxtKCkuQWRkcmVzcygpCglpZCA6PSBuZXh0SUQKCW5leHRJRCsrCgljIDo9ICZDYW1wYWlnbnsKCQlJRDogICAgICAgaWQsCgkJQ3JlYXRvcjogIGNhbGxlciwKCQlHb2FsOiAgICAgZ29hbCwKCQlEZWFkbGluZTogcnVudGltZS5DaGFpbkhlaWdodCgpICsgaW50NjQoZHVyYXRpb25CbG9ja3MpLAoJCXBsZWRnZXM6ICBhdmwuTmV3VHJlZSgpLAoJfQoJY2FtcGFpZ25zLlNldChrZXkoaWQpLCBjKQoJY2hhaW4uRW1pdCgiTGF1bmNoIiwKCQkiaWQiLCBzdHJjb252Lkl0b2EoaWQpLAoJCSJjcmVhdG9yIiwgY2FsbGVyLlN0cmluZygpLAoJCSJnb2FsIiwgc3RyY29udi5Gb3JtYXRVaW50KGdvYWwsIDEwKSkKCXJldHVybiBpZAp9CgovLyBQbGVkZ2UgYmFja3MgY2FtcGFpZ24gaWQgd2l0aCBhbW91bnQgKGJlZm9yZSB0aGUgZGVhZGxpbmUpLgpmdW5jIFBsZWRnZShjdXIgcmVhbG0sIGlkIGludCwgYW1vdW50IHVpbnQ2NCkgewoJaWYgYW1vdW50ID09IDAgewoJCXBhbmljKCJhbW91bnQgbXVzdCBiZSA+IDAiKQoJfQoJYyA6PSBtdXN0R2V0KGlkKQoJaWYgcnVudGltZS5DaGFpbkhlaWdodCgpID4gYy5EZWFkbGluZSB7CgkJcGFuaWMoImNhbXBhaWduIGVuZGVkIikKCX0KCWNhbGxlciA6PSB1bnNhZmUuUHJldmlvdXNSZWFsbSgpLkFkZHJlc3MoKQoJcHJldiA6PSB1aW50NjQoMCkKCWlmIHYgOj0gYy5wbGVkZ2VzLkdldChjYWxsZXIuU3RyaW5nKCkpOyB2ICE9IG5pbCB7CgkJcHJldiA9IHYuKHVpbnQ2NCkKCX0KCWMucGxlZGdlcy5TZXQoY2FsbGVyLlN0cmluZygpLCBwcmV2K2Ftb3VudCkKCWMuUGxlZGdlZCArPSBhbW91bnQKCWNoYWluLkVtaXQoIlBsZWRnZSIsCgkJImlkIiwgc3RyY29udi5JdG9hKGlkKSwKCQkiZnJvbSIsIGNhbGxlci5TdHJpbmcoKSwKCQkiYW1vdW50Iiwgc3RyY29udi5Gb3JtYXRVaW50KGFtb3VudCwgMTApKQp9CgovLyBVbnBsZWRnZSB3aXRoZHJhd3MgYW1vdW50IGZyb20gdGhlIGNhbGxlcidzIHBsZWRnZSAoYmVmb3JlIHRoZSBkZWFkbGluZSkuCmZ1bmMgVW5wbGVkZ2UoY3VyIHJlYWxtLCBpZCBpbnQsIGFtb3VudCB1aW50NjQpIHsKCWlmIGFtb3VudCA9PSAwIHsKCQlwYW5pYygiYW1vdW50IG11c3QgYmUgPiAwIikKCX0KCWMgOj0gbXVzdEdldChpZCkKCWlmIHJ1bnRpbWUuQ2hhaW5IZWlnaHQoKSA+IGMuRGVhZGxpbmUgewoJCXBhbmljKCJjYW1wYWlnbiBlbmRlZCIpCgl9CgljYWxsZXIgOj0gdW5zYWZlLlByZXZpb3VzUmVhbG0oKS5BZGRyZXNzKCkKCXYgOj0gYy5wbGVkZ2VzLkdldChjYWxsZXIuU3RyaW5nKCkpCglpZiB2ID09IG5pbCB7CgkJcGFuaWMoIm5vdGhpbmcgcGxlZGdlZCIpCgl9CgloYXZlIDo9IHYuKHVpbnQ2NCkKCWlmIGFtb3VudCA+IGhhdmUgewoJCXBhbmljKCJhbW91bnQgZXhjZWVkcyBwbGVkZ2UiKQoJfQoJaWYgcmVtYWluaW5nIDo9IGhhdmUgLSBhbW91bnQ7IHJlbWFpbmluZyA9PSAwIHsKCQljLnBsZWRnZXMuUmVtb3ZlKGNhbGxlci5TdHJpbmcoKSkKCX0gZWxzZSB7CgkJYy5wbGVkZ2VzLlNldChjYWxsZXIuU3RyaW5nKCksIHJlbWFpbmluZykKCX0KCWMuUGxlZGdlZCAtPSBhbW91bnQKCWNoYWluLkVtaXQoIlVucGxlZGdlIiwKCQkiaWQiLCBzdHJjb252Lkl0b2EoaWQpLAoJCSJmcm9tIiwgY2FsbGVyLlN0cmluZygpLAoJCSJhbW91bnQiLCBzdHJjb252LkZvcm1hdFVpbnQoYW1vdW50LCAxMCkpCn0KCi8vIENsYWltIGxldHMgdGhlIGNyZWF0b3IgdGFrZSB0aGUgZnVuZHMgaWYgdGhlIGdvYWwgd2FzIG1ldCBhZnRlciB0aGUgZGVhZGxpbmUuCmZ1bmMgQ2xhaW0oY3VyIHJlYWxtLCBpZCBpbnQpIHsKCWMgOj0gbXVzdEdldChpZCkKCWlmIHJ1bnRpbWUuQ2hhaW5IZWlnaHQoKSA8PSBjLkRlYWRsaW5lIHsKCQlwYW5pYygiY2FtcGFpZ24gbm90IGVuZGVkIikKCX0KCWNhbGxlciA6PSB1bnNhZmUuUHJldmlvdXNSZWFsbSgpLkFkZHJlc3MoKQoJaWYgY2FsbGVyICE9IGMuQ3JlYXRvciB7CgkJcGFuaWMoIm9ubHkgY3JlYXRvciBjYW4gY2xhaW0iKQoJfQoJaWYgYy5QbGVkZ2VkIDwgYy5Hb2FsIHsKCQlwYW5pYygiZ29hbCBub3QgcmVhY2hlZCIpCgl9CglpZiBjLkNsYWltZWQgewoJCXBhbmljKCJhbHJlYWR5IGNsYWltZWQiKQoJfQoJYy5DbGFpbWVkID0gdHJ1ZQoJY2hhaW4uRW1pdCgiQ2xhaW0iLAoJCSJpZCIsIHN0cmNvbnYuSXRvYShpZCksCgkJImFtb3VudCIsIHN0cmNvbnYuRm9ybWF0VWludChjLlBsZWRnZWQsIDEwKSkKfQoKLy8gUmVmdW5kIHJldHVybnMgdGhlIGNhbGxlcidzIHBsZWRnZSBpZiB0aGUgY2FtcGFpZ24gZmFpbGVkIGFmdGVyIHRoZSBkZWFkbGluZS4KZnVuYyBSZWZ1bmQoY3VyIHJlYWxtLCBpZCBpbnQpIHsKCWMgOj0gbXVzdEdldChpZCkKCWlmIHJ1bnRpbWUuQ2hhaW5IZWlnaHQoKSA8PSBjLkRlYWRsaW5lIHsKCQlwYW5pYygiY2FtcGFpZ24gbm90IGVuZGVkIikKCX0KCWlmIGMuUGxlZGdlZCA+PSBjLkdvYWwgewoJCXBhbmljKCJjYW1wYWlnbiBzdWNjZWVkZWQsIG5vIHJlZnVuZCIpCgl9CgljYWxsZXIgOj0gdW5zYWZlLlByZXZpb3VzUmVhbG0oKS5BZGRyZXNzKCkKCXYgOj0gYy5wbGVkZ2VzLkdldChjYWxsZXIuU3RyaW5nKCkpCglpZiB2ID09IG5pbCB7CgkJcGFuaWMoIm5vdGhpbmcgdG8gcmVmdW5kIikKCX0KCWFtb3VudCA6PSB2Lih1aW50NjQpCgljLnBsZWRnZXMuUmVtb3ZlKGNhbGxlci5TdHJpbmcoKSkKCWMuUGxlZGdlZCAtPSBhbW91bnQKCWNoYWluLkVtaXQoIlJlZnVuZCIsCgkJImlkIiwgc3RyY29udi5JdG9hKGlkKSwKCQkidG8iLCBjYWxsZXIuU3RyaW5nKCksCgkJImFtb3VudCIsIHN0cmNvbnYuRm9ybWF0VWludChhbW91bnQsIDEwKSkKfQoKLy8gLS0tIHB1cmUvcmVhZC1vbmx5IGhlbHBlcnMgKGFsc28gdXNlZCBieSBSZW5kZXIpIC0tLQoKLy8gcGN0IHJldHVybnMgdGhlIGZ1bmRlZCBwZXJjZW50YWdlICgwLi4xMDApLgpmdW5jIHBjdChwbGVkZ2VkLCBnb2FsIHVpbnQ2NCkgaW50IHsKCWlmIGdvYWwgPT0gMCB7CgkJcmV0dXJuIDAKCX0KCXAgOj0gaW50KHBsZWRnZWQgKiAxMDAgLyBnb2FsKQoJaWYgcCA+IDEwMCB7CgkJcCA9IDEwMAoJfQoJcmV0dXJuIHAKfQoKLy8gcHJvZ3Jlc3NCYXIgcmVuZGVycyBhIGZpeGVkLXdpZHRoIOKWk+KWkSBiYXIgZm9yIHBsZWRnZWQvZ29hbC4KZnVuYyBwcm9ncmVzc0JhcihwbGVkZ2VkLCBnb2FsIHVpbnQ2NCkgc3RyaW5nIHsKCWNvbnN0IHdpZHRoID0gMjAKCWZpbGxlZCA6PSAwCglpZiBnb2FsID4gMCB7CgkJZmlsbGVkID0gaW50KHBsZWRnZWQgKiB3aWR0aCAvIGdvYWwpCgkJaWYgZmlsbGVkID4gd2lkdGggewoJCQlmaWxsZWQgPSB3aWR0aAoJCX0KCX0KCWJhciA6PSAiIgoJZm9yIGkgOj0gMDsgaSA8IHdpZHRoOyBpKysgewoJCWlmIGkgPCBmaWxsZWQgewoJCQliYXIgKz0gIuKWkyIKCQl9IGVsc2UgewoJCQliYXIgKz0gIuKWkSIKCQl9Cgl9CglyZXR1cm4gYmFyCn0KCi8vIHN0YXRlIGRlc2NyaWJlcyBhIGNhbXBhaWduIHJlbGF0aXZlIHRvIGEgZ2l2ZW4gYmxvY2sgaGVpZ2h0LgpmdW5jIHN0YXRlKGMgKkNhbXBhaWduLCBoZWlnaHQgaW50NjQpIHN0cmluZyB7CglpZiBoZWlnaHQgPD0gYy5EZWFkbGluZSB7CgkJcmV0dXJuICJBY3RpdmUiCgl9CglpZiBjLlBsZWRnZWQgPj0gYy5Hb2FsIHsKCQlpZiBjLkNsYWltZWQgewoJCQlyZXR1cm4gIkZ1bmRlZCAoY2xhaW1lZCkiCgkJfQoJCXJldHVybiAiRnVuZGVkIgoJfQoJcmV0dXJuICJGYWlsZWQiCn0KCi8vIFJlbmRlciBzaG93cyBhbGwgY2FtcGFpZ25zIHdpdGggYSBwcm9ncmVzcyBiYXIsIGdvYWwsIHBsZWRnZWQgYW5kIHN0YXRlLgpmdW5jIFJlbmRlcihwYXRoIHN0cmluZykgc3RyaW5nIHsKCWlmIGNhbXBhaWducy5TaXplKCkgPT0gMCB7CgkJcmV0dXJuICIjIENyb3dkZnVuZFxuXG5ObyBjYW1wYWlnbnMgeWV0LiBDYWxsIGBMYXVuY2goZ29hbCwgZHVyYXRpb25CbG9ja3MpYCB0byBzdGFydCBvbmUuXG4iCgl9CgloZWlnaHQgOj0gcnVudGltZS5DaGFpbkhlaWdodCgpCglvdXQgOj0gIiMgQ3Jvd2RmdW5kXG5cbiIKCW91dCArPSAiQ3VycmVudCBibG9jayBoZWlnaHQ6ICoqIiArIHN0cmNvbnYuRm9ybWF0SW50KGhlaWdodCwgMTApICsgIioqXG5cbiIKCWNhbXBhaWducy5JdGVyYXRlKCIiLCAiIiwgZnVuYyhrIHN0cmluZywgdiBhbnkpIGJvb2wgewoJCWMgOj0gdi4oKkNhbXBhaWduKQoJCW91dCArPSAiIyMgQ2FtcGFpZ24gIyIgKyBzdHJjb252Lkl0b2EoYy5JRCkgKyAiXG5cbiIKCQlvdXQgKz0gImAiICsgcHJvZ3Jlc3NCYXIoYy5QbGVkZ2VkLCBjLkdvYWwpICsgImAgIiArIHN0cmNvbnYuSXRvYShwY3QoYy5QbGVkZ2VkLCBjLkdvYWwpKSArICIlXG5cbiIKCQlvdXQgKz0gIi0gU3RhdGU6ICoqIiArIHN0YXRlKGMsIGhlaWdodCkgKyAiKipcbiIKCQlvdXQgKz0gIi0gR29hbDogIiArIHN0cmNvbnYuRm9ybWF0VWludChjLkdvYWwsIDEwKSArICJcbiIKCQlvdXQgKz0gIi0gUGxlZGdlZDogIiArIHN0cmNvbnYuRm9ybWF0VWludChjLlBsZWRnZWQsIDEwKSArICJcbiIKCQlvdXQgKz0gIi0gRGVhZGxpbmU6IGJsb2NrICIgKyBzdHJjb252LkZvcm1hdEludChjLkRlYWRsaW5lLCAxMCkgKyAiXG4iCgkJb3V0ICs9ICItIENyZWF0b3I6IGAiICsgYy5DcmVhdG9yLlN0cmluZygpICsgImBcblxuIgoJCXJldHVybiBmYWxzZQoJfSkKCXJldHVybiBvdXQKfQoaSwoLZ25vbW9kLnRvbWwSPG1vZHVsZSA9ICJnbm8ubGFuZC9yL21vdWwveC9kYWlseS9jcm93ZGZ1bmQvdjAiCmdubyA9ICIwLjkiCiIjChMvZ25vLk1lbVBhY2thZ2VUeXBlEgwKCk1QVXNlclByb2QSEwjKrvoPEgwxMDAwMDAwdWdub3QaqAEKOgoTL3RtLlB1YktleVNlY3AyNTZrMRIjCiECAFJKP40sADqJxD9F/q9uuO1FtuOjX3u+aztJ/54tg8gSQEaZtzj2jXhj0/qs58HCYXGWffYM8Ske/mBS/3TFfge0d6EUkhbOYAzYKBodk1rULH8T+UqjCMgJOuOBCNnadVQaKGcxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxbHV1eGUiCmdub3B1Ymxpc2g=