tx · 3nvQxbFtSuZgraJLAPMZLVVn1K45kZYKZjy2KXiMWaXH

3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h:  -0.02700000 Waves

2024.11.05 18:01 [3358320] smart account 3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h > SELF 0.00000000 Waves

{ "type": 13, "id": "3nvQxbFtSuZgraJLAPMZLVVn1K45kZYKZjy2KXiMWaXH", "fee": 2700000, "feeAssetId": null, "timestamp": 1730818933293, "version": 1, "sender": "3NCWFHDzdPHZC6636ZkMLNDup9mjpbTLs7h", "senderPublicKey": "3z8Q6Zu3KppVmn6fJJvrLc1Wo3krVHSvfaNcerm82md2", "proofs": [ "3mwHqGBVfg2DyU9uNeRekK7U8tkHGHLrE84WRHLVXhHCyabqz34aREm6YM5GNBhxAfAkceDMEQ7hUa7xRYX3vYnQ" ], "script": "base64:BgJQCAISAwoBARIAEgMKAQQSAwoBBBIDCgEIEgQKAggIEgMKAQgSBAoCCAgSAwoBCBIECgIIARIECgIIARIDCgEBEgASAwoBCBIDCgEBEgMKAQhPAAxjb250cmFjdEZpbGUCEWwybXBfbGVhc2luZy5yaWRlAANTRVACAl9fABJCTE9DS1NfSU5fSU5URVJWQUwA6AcABnNjYWxlOACAwtcvAAdzY2FsZTE2CQBoAgUGc2NhbGU4BQZzY2FsZTgBCHRocm93RXJyAQNtc2cJAAIBCQCsAgIJAKwCAgUMY29udHJhY3RGaWxlAgI6IAUDbXNnAAxrZXlMMkFzc2V0SWQJALkJAgkAzAgCAgIlcwkAzAgCAgdhc3NldElkBQNuaWwFA1NFUAAMa2V5Rm9yY2VTdG9wCQC5CQIJAMwIAgICJXMJAMwIAgIJZm9yY2VTdG9wBQNuaWwFA1NFUAAPa2V5Rm9yY2VPdXRTdG9wCQC5CQIJAMwIAgICJXMJAMwIAgIMZm9yY2VPdXRTdG9wBQNuaWwFA1NFUAAPa2V5VW5pdHNBc3NldElkCQC5CQIJAMwIAgICJXMJAMwIAgIMdW5pdHNBc3NldElkBQNuaWwFA1NFUAAXa2V5VW5pdHNQZXJCbG9ja1NjYWxlMTYJALkJAgkAzAgCAgIlcwkAzAgCAhR1bml0c1BlckJsb2NrU2NhbGUxNgUDbmlsBQNTRVAAEWtleVBlcmlvZE9mZnNldElkCQC5CQIJAMwIAgICJXMJAMwIAgIIb2Zmc2V0SWQFA25pbAUDU0VQABVrZXlQZXJpb2RPZmZzZXRIZWlnaHQJALkJAgkAzAgCAgIlcwkAzAgCAgxvZmZzZXRIZWlnaHQFA25pbAUDU0VQAA9rZXlQZXJpb2RMZW5ndGgJALkJAgkAzAgCAgIlcwkAzAgCAgxwZXJpb2RMZW5ndGgFA25pbAUDU0VQABhrZXlVbml0c0NsYWltU3RhcnRIZWlnaHQJALkJAgkAzAgCAgIlcwkAzAgCAhV1bml0c0NsYWltU3RhcnRIZWlnaHQFA25pbAUDU0VQABVrZXlVbml0c0NsYWltSW50ZXJ2YWwJALkJAgkAzAgCAgIlcwkAzAgCAhJ1bml0c0NsYWltSW50ZXJ2YWwFA25pbAUDU0VQAA5wZXJpb2RPZmZzZXRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBRFrZXlQZXJpb2RPZmZzZXRJZAAAAAxwZXJpb2RMZW5ndGgJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUPa2V5UGVyaW9kTGVuZ3RoAJBOABJwZXJpb2RPZmZzZXRIZWlnaHQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUVa2V5UGVyaW9kT2Zmc2V0SGVpZ2h0AP///////////wEAD2N1cnJlbnRQZXJpb2RJZAMDCQBmAgUGaGVpZ2h0BRJwZXJpb2RPZmZzZXRIZWlnaHQJAQIhPQIFEnBlcmlvZE9mZnNldEhlaWdodAD///////////8BBwkAZAIJAGkCCQBlAgUGaGVpZ2h0BRJwZXJpb2RPZmZzZXRIZWlnaHQFDHBlcmlvZExlbmd0aAUOcGVyaW9kT2Zmc2V0SWQJAJYDAQkAzAgCAAAJAMwIAgkAZQIFDnBlcmlvZE9mZnNldElkAAEFA25pbAATY3VycmVudFBlcmlvZEhlaWdodAMDCQAAAgUScGVyaW9kT2Zmc2V0SGVpZ2h0AP///////////wEGAwkAAAIFD2N1cnJlbnRQZXJpb2RJZAAACQBmAgUScGVyaW9kT2Zmc2V0SGVpZ2h0BQZoZWlnaHQHAAAJAGQCBRJwZXJpb2RPZmZzZXRIZWlnaHQJAGgCCQBlAgUPY3VycmVudFBlcmlvZElkBQ5wZXJpb2RPZmZzZXRJZAUMcGVyaW9kTGVuZ3RoABBuZXh0UGVyaW9kSGVpZ2h0AwMJAAACBRJwZXJpb2RPZmZzZXRIZWlnaHQA////////////AQYDCQAAAgUPY3VycmVudFBlcmlvZElkAAAJAGYCBRJwZXJpb2RPZmZzZXRIZWlnaHQFBmhlaWdodAcAAAkAZAIFE2N1cnJlbnRQZXJpb2RIZWlnaHQFDHBlcmlvZExlbmd0aAAVdW5pdHNDbGFpbVN0YXJ0SGVpZ2h0CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFGGtleVVuaXRzQ2xhaW1TdGFydEhlaWdodAUGaGVpZ2h0ABJ1bml0c0NsYWltSW50ZXJ2YWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUVa2V5VW5pdHNDbGFpbUludGVydmFsAAEBEmtleUxlYXNpbmdOb2RlRGF0YQELbm9kZUFkZHJlc3MJALkJAgkAzAgCAgIlcwkAzAgCBQtub2RlQWRkcmVzcwUDbmlsBQNTRVABFmtleVVzZXJMZWFzaW5nTm9kZURhdGECC3VzZXJBZGRyZXNzC25vZGVBZGRyZXNzCQC5CQIJAMwIAgIEJXMlcwkAzAgCBQtub2RlQWRkcmVzcwkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABDmtleVVzZXJUb0NsYWltAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIHdG9DbGFpbQkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABEmtleVVzZXJUb3RhbExvY2tlZAELdXNlckFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICD3VzZXJUb3RhbExvY2tlZAkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABFGtleVVuaXRzQ2xhaW1lZEJsb2NrAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIRdW5pdHNDbGFpbWVkQmxvY2sJAMwIAgULdXNlckFkZHJlc3MFA25pbAUDU0VQARBrZXlVbmxvY2tlZFVuaXRzAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgINdW5sb2NrZWRVbml0cwkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsBQNTRVABFGtleVRvdGFsVW5pdHNDbGFpbWVkAQt1c2VyQWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgIRdG90YWxVbml0c0NsYWltZWQJAMwIAgULdXNlckFkZHJlc3MFA25pbAUDU0VQAQtrZXlMMlRvQnVybgELdXNlckFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICCGwyVG9CdXJuCQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwFA1NFUAEQa2V5TDJCdXJuZWRUb3RhbAELdXNlckFkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICDWwyQnVybmVkVG90YWwJAMwIAgULdXNlckFkZHJlc3MFA25pbAUDU0VQARZrZXlOb2RlTGVhc2luZ0J5SGVpZ2h0AQtub2RlQWRkcmVzcwQBaAMJAAACBRJwZXJpb2RPZmZzZXRIZWlnaHQA////////////AQAABQZoZWlnaHQJALkJAgkAzAgCAgQlcyVkCQDMCAIFC25vZGVBZGRyZXNzCQDMCAIJAKQDAQUBaAUDbmlsBQNTRVABFmtleVVzZXJMZWFzaW5nQnlIZWlnaHQCC25vZGVBZGRyZXNzC3VzZXJBZGRyZXNzBAFoAwkAAAIFEnBlcmlvZE9mZnNldEhlaWdodAD///////////8BAAAFBmhlaWdodAkAuQkCCQDMCAICBiVzJXMlZAkAzAgCBQtub2RlQWRkcmVzcwkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCCQCkAwEFAWgFA25pbAUDU0VQARJhc3NldFN0cmluZ1RvQnl0ZXMBDWFzc2V0SWRTdHJpbmcDCQAAAgUNYXNzZXRJZFN0cmluZwIFV0FWRVMFBHVuaXQJANkEAQUNYXNzZXRJZFN0cmluZwESYXNzZXRCeXRlc1RvU3RyaW5nAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWEFByRtYXRjaDAJANgEAQUBYQIFV0FWRVMAD2wyQXNzZXRJZFN0cmluZwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQxrZXlMMkFzc2V0SWQCBVdBVkVTABJ1bml0c0Fzc2V0SWRTdHJpbmcJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwUPa2V5VW5pdHNBc3NldElkAgVXQVZFUwAObDJBc3NldElkQnl0ZXMJARJhc3NldFN0cmluZ1RvQnl0ZXMBBQ9sMkFzc2V0SWRTdHJpbmcAEXVuaXRzQXNzZXRJZEJ5dGVzCQESYXNzZXRTdHJpbmdUb0J5dGVzAQUSdW5pdHNBc3NldElkU3RyaW5nAAtpc0ZvcmNlU3RvcAkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzBQxrZXlGb3JjZVN0b3AHAA5pc0ZvcmNlT3V0U3RvcAkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzBQ9rZXlGb3JjZU91dFN0b3AHAQ5pc1ZhbGlkQWRkcmVzcwEHYWRkcmVzcwQHJG1hdGNoMAkApggBBQdhZGRyZXNzAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAGBwAPQURNSU5fTElTVF9TSVpFAAUABlFVT1JVTQADABFUWElEX0JZVEVTX0xFTkdUSAAgARhrZXlBbGxvd2VkVHhJZFZvdGVQcmVmaXgBBHR4SWQJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIJYWxsb3dUeElkCQDMCAIFBHR4SWQFA25pbAUDU0VQARBrZXlGdWxsQWRtaW5Wb3RlAgZwcmVmaXgMYWRtaW5BZGRyZXNzCQC5CQIJAMwIAgUGcHJlZml4CQDMCAIFDGFkbWluQWRkcmVzcwUDbmlsBQNTRVABE2tleUFkbWluQWRkcmVzc0xpc3QACQC5CQIJAMwIAgICJXMJAMwIAgIQYWRtaW5BZGRyZXNzTGlzdAUDbmlsBQNTRVABDmtleUFsbG93ZWRUeElkAAkAuQkCCQDMCAICAiVzCQDMCAICBHR4SWQFA25pbAUDU0VQAQxnZXRBZG1pblZvdGUCBnByZWZpeAVhZG1pbgQHdm90ZUtleQkBEGtleUZ1bGxBZG1pblZvdGUCBQZwcmVmaXgFBWFkbWluCQELdmFsdWVPckVsc2UCCQCfCAEFB3ZvdGVLZXkAAAENZ2V0QWRtaW5zTGlzdAAEByRtYXRjaDAJAJ0IAgUEdGhpcwkBE2tleUFkbWluQWRkcmVzc0xpc3QAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkAtQkCBQFzBQNTRVAFA25pbAENaXNJbkFkbWluTGlzdAEHYWRkcmVzcwkBD2NvbnRhaW5zRWxlbWVudAIJAQ1nZXRBZG1pbnNMaXN0AAUHYWRkcmVzcwESZ2VuVm90ZXNLZXlzSGVscGVyAgFhDGFkbWluQWRkcmVzcwQLJHQwNTE4NTUyMDkFAWEEBnJlc3VsdAgFCyR0MDUxODU1MjA5Al8xBAZwcmVmaXgIBQskdDA1MTg1NTIwOQJfMgkAlAoCCQDNCAIFBnJlc3VsdAkBEGtleUZ1bGxBZG1pblZvdGUCBQZwcmVmaXgFDGFkbWluQWRkcmVzcwUGcHJlZml4AQxnZW5Wb3Rlc0tleXMBCWtleVByZWZpeAQJYWRtaW5MaXN0CQETa2V5QWRtaW5BZGRyZXNzTGlzdAAECyR0MDUzNTY1NDQwCgACJGwJAQ1nZXRBZG1pbnNMaXN0AAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsBQlrZXlQcmVmaXgKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBEmdlblZvdGVzS2V5c0hlbHBlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUEBnJlc3VsdAgFCyR0MDUzNTY1NDQwAl8xBAZwcmVmaXgIBQskdDA1MzU2NTQ0MAJfMgUGcmVzdWx0ARBjb3VudFZvdGVzSGVscGVyAgZyZXN1bHQHdm90ZUtleQkAZAIFBnJlc3VsdAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQd2b3RlS2V5AAABCmNvdW50Vm90ZXMBBnByZWZpeAQFdm90ZXMJAQxnZW5Wb3Rlc0tleXMBBQZwcmVmaXgKAAIkbAUFdm90ZXMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBEGNvdW50Vm90ZXNIZWxwZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDUJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFARBjbGVhclZvdGVzSGVscGVyAgZyZXN1bHQDa2V5CQDNCAIFBnJlc3VsdAkBC0RlbGV0ZUVudHJ5AQUDa2V5ARNnZXRDbGVhclZvdGVFbnRyaWVzAQZwcmVmaXgEBXZvdGVzCQEMZ2VuVm90ZXNLZXlzAQUGcHJlZml4CgACJGwFBXZvdGVzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARBjbGVhclZvdGVzSGVscGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA1CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQEMdm90ZUlOVEVSTkFMBBNjYWxsZXJBZGRyZXNzU3RyaW5nCWtleVByZWZpeAhtaW5Wb3Rlcwp2b3RlUmVzdWx0BAd2b3RlS2V5CQEQa2V5RnVsbEFkbWluVm90ZQIFCWtleVByZWZpeAUTY2FsbGVyQWRkcmVzc1N0cmluZwQQYWRtaW5DdXJyZW50Vm90ZQkBDGdldEFkbWluVm90ZQIFCWtleVByZWZpeAUTY2FsbGVyQWRkcmVzc1N0cmluZwQDZXJyAwkBASEBCQENaXNJbkFkbWluTGlzdAEFE2NhbGxlckFkZHJlc3NTdHJpbmcJAQh0aHJvd0VycgEJAKwCAgkArAICAglBZGRyZXNzOiAFE2NhbGxlckFkZHJlc3NTdHJpbmcCEiBub3QgaW4gQWRtaW4gbGlzdAMJAAACBRBhZG1pbkN1cnJlbnRWb3RlAAEJAQh0aHJvd0VycgEJAKwCAgUHdm90ZUtleQISIHlvdSBhbHJlYWR5IHZvdGVkBQR1bml0AwkAAAIFA2VycgUDZXJyBAV2b3RlcwkBCmNvdW50Vm90ZXMBBQlrZXlQcmVmaXgDCQBnAgkAZAIFBXZvdGVzAAEFCG1pblZvdGVzBBBjbGVhclZvdGVFbnRyaWVzCQETZ2V0Q2xlYXJWb3RlRW50cmllcwEFCWtleVByZWZpeAkAzggCBRBjbGVhclZvdGVFbnRyaWVzBQp2b3RlUmVzdWx0CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQd2b3RlS2V5AAEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgETZ2V0TGVhc2luZ05vZGVFbnRyeQMLbm9kZUFkZHJlc3MNY3VycmVudExlYXNlZApuZXh0TGVhc2VkBAt2YWx1ZVN0cmluZwkAuQkCCQDMCAICCCVkJWQlZCVkCQDMCAIJAKQDAQUTY3VycmVudFBlcmlvZEhlaWdodAkAzAgCCQCkAwEFDWN1cnJlbnRMZWFzZWQJAMwIAgkApAMBBRBuZXh0UGVyaW9kSGVpZ2h0CQDMCAIJAKQDAQUKbmV4dExlYXNlZAUDbmlsBQNTRVAJAQtTdHJpbmdFbnRyeQIJARJrZXlMZWFzaW5nTm9kZURhdGEBBQtub2RlQWRkcmVzcwULdmFsdWVTdHJpbmcBEmdldExlYXNpbmdOb2RlRGF0YQELbm9kZUFkZHJlc3MEGGxlYXNpbmdOb2RlRGF0YVN0cmluZ1JhdwkAnQgCBQR0aGlzCQESa2V5TGVhc2luZ05vZGVEYXRhAQULbm9kZUFkZHJlc3MEByRtYXRjaDAFGGxlYXNpbmdOb2RlRGF0YVN0cmluZ1JhdwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAmRzBQckbWF0Y2gwBAhkYXRhTGlzdAkAtQkCBQJkcwUDU0VQBBFub2RlQ3VycmVudFBlcmlvZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCGRhdGFMaXN0AAEEEW5vZGVDdXJyZW50TGVhc2VkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIZGF0YUxpc3QAAgQObm9kZU5leHRQZXJpb2QJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhkYXRhTGlzdAADBA5ub2RlTmV4dExlYXNlZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCGRhdGFMaXN0AAQDAwkAZgIFDm5vZGVOZXh0UGVyaW9kBQZoZWlnaHQGCQAAAgUScGVyaW9kT2Zmc2V0SGVpZ2h0AP///////////wEJAJQKAgURbm9kZUN1cnJlbnRMZWFzZWQFDm5vZGVOZXh0TGVhc2VkCQCUCgIFDm5vZGVOZXh0TGVhc2VkBQ5ub2RlTmV4dExlYXNlZAkAlAoCAAAAAAETZ2V0VXNlckxlYXNpbmdFbnRyeQQLbm9kZUFkZHJlc3MLdXNlckFkZHJlc3MRdXNlckN1cnJlbnRMZWFzZWQOdXNlck5leHRMZWFzZWQEC3ZhbHVlU3RyaW5nCQC5CQIJAMwIAgIIJWQlZCVkJWQJAMwIAgkApAMBBRNjdXJyZW50UGVyaW9kSGVpZ2h0CQDMCAIJAKQDAQURdXNlckN1cnJlbnRMZWFzZWQJAMwIAgkApAMBBRBuZXh0UGVyaW9kSGVpZ2h0CQDMCAIJAKQDAQUOdXNlck5leHRMZWFzZWQFA25pbAUDU0VQCQELU3RyaW5nRW50cnkCCQEWa2V5VXNlckxlYXNpbmdOb2RlRGF0YQIFC3VzZXJBZGRyZXNzBQtub2RlQWRkcmVzcwULdmFsdWVTdHJpbmcBEmdldFVzZXJMZWFzaW5nRGF0YQILbm9kZUFkZHJlc3MLdXNlckFkZHJlc3MEGGxlYXNpbmdVc2VyRGF0YVN0cmluZ1JhdwkAnQgCBQR0aGlzCQEWa2V5VXNlckxlYXNpbmdOb2RlRGF0YQIFC3VzZXJBZGRyZXNzBQtub2RlQWRkcmVzcwQHJG1hdGNoMAUYbGVhc2luZ1VzZXJEYXRhU3RyaW5nUmF3AwkAAQIFByRtYXRjaDACBlN0cmluZwQCZHMFByRtYXRjaDAECGRhdGFMaXN0CQC1CQIFAmRzBQNTRVAEEXVzZXJDdXJyZW50UGVyaW9kCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIZGF0YUxpc3QAAQQRdXNlckN1cnJlbnRMZWFzZWQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhkYXRhTGlzdAACBA51c2VyTmV4dFBlcmlvZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCGRhdGFMaXN0AAMEDnVzZXJOZXh0TGVhc2VkCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIZGF0YUxpc3QABAMDCQBmAgUOdXNlck5leHRQZXJpb2QFBmhlaWdodAYJAAACBRJwZXJpb2RPZmZzZXRIZWlnaHQA////////////AQkAlAoCBRF1c2VyQ3VycmVudExlYXNlZAUOdXNlck5leHRMZWFzZWQJAJQKAgUOdXNlck5leHRMZWFzZWQFDnVzZXJOZXh0TGVhc2VkCQCUCgIAAAAAARNnZXRVc2VyVG9DbGFpbUVudHJ5Awt1c2VyQWRkcmVzcwd0b0NsYWltCHRvVW5sb2NrBAt2YWx1ZVN0cmluZwkAuQkCCQDMCAICCCVkJWQlZCVkCQDMCAIJAKQDAQUTY3VycmVudFBlcmlvZEhlaWdodAkAzAgCCQCkAwEFB3RvQ2xhaW0JAMwIAgkApAMBBRBuZXh0UGVyaW9kSGVpZ2h0CQDMCAIJAKQDAQUIdG9VbmxvY2sFA25pbAUDU0VQCQELU3RyaW5nRW50cnkCCQEOa2V5VXNlclRvQ2xhaW0BBQt1c2VyQWRkcmVzcwULdmFsdWVTdHJpbmcBFWdldFVzZXJUb0NsYWltQmFsYW5jZQELdXNlckFkZHJlc3MEGHVzZXJUb0NsYWltRGF0YVN0cmluZ1JhdwkAnQgCBQR0aGlzCQEOa2V5VXNlclRvQ2xhaW0BBQt1c2VyQWRkcmVzcwQHJG1hdGNoMAUYdXNlclRvQ2xhaW1EYXRhU3RyaW5nUmF3AwkAAQIFByRtYXRjaDACBlN0cmluZwQCZHMFByRtYXRjaDAECGRhdGFMaXN0CQC1CQIFAmRzBQNTRVAEDWN1cnJlbnRQZXJpb2QJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQhkYXRhTGlzdAABBAd0b0NsYWltCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIZGF0YUxpc3QAAgQKbmV4dFBlcmlvZAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFCGRhdGFMaXN0AAMECHRvVW5sb2NrCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUIZGF0YUxpc3QABAMDCQBmAgUKbmV4dFBlcmlvZAUGaGVpZ2h0BgkAAAIFD2N1cnJlbnRQZXJpb2RJZAAACQCUCgIFB3RvQ2xhaW0FCHRvVW5sb2NrCQCUCgIJAGQCBQd0b0NsYWltBQh0b1VubG9jawAACQCUCgIAAAAAARdnZXRVc2VyVG90YWxMb2NrZWRFbnRyeQILdXNlckFkZHJlc3MPdXNlclRvdGFsTG9ja2VkCQEMSW50ZWdlckVudHJ5AgkBEmtleVVzZXJUb3RhbExvY2tlZAEFC3VzZXJBZGRyZXNzBQ91c2VyVG90YWxMb2NrZWQBEmdldFVzZXJUb3RhbExvY2tlZAELdXNlckFkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBEmtleVVzZXJUb3RhbExvY2tlZAEFC3VzZXJBZGRyZXNzAAABFWNhbGN1bGF0ZVVuaXRzVG9DbGFpbQELdXNlckFkZHJlc3MED2NsYWltZWRCbG9ja0tleQkBFGtleVVuaXRzQ2xhaW1lZEJsb2NrAQULdXNlckFkZHJlc3MEDGNsYWltZWRCbG9jawkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQ9jbGFpbWVkQmxvY2tLZXkFFXVuaXRzQ2xhaW1TdGFydEhlaWdodAQUdW5pdHNQZXJCbG9ja1NjYWxlMTYJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUXa2V5VW5pdHNQZXJCbG9ja1NjYWxlMTYAAAQMY3VycmVudEJsb2NrCQCXAwEJAMwIAgkAZAIFFXVuaXRzQ2xhaW1TdGFydEhlaWdodAUSdW5pdHNDbGFpbUludGVydmFsCQDMCAIFBmhlaWdodAUDbmlsBAxibG9ja3NQYXNzZWQJAGUCBQxjdXJyZW50QmxvY2sFDGNsYWltZWRCbG9jawQMYW1vdW50U3Rha2VkCQESZ2V0VXNlclRvdGFsTG9ja2VkAQULdXNlckFkZHJlc3MECGwyVG9CdXJuCQBrAwUMYW1vdW50U3Rha2VkBQxibG9ja3NQYXNzZWQFEnVuaXRzQ2xhaW1JbnRlcnZhbAQPdW5pdHNUb0NsYWltTm93CQBrAwUMYW1vdW50U3Rha2VkCQBoAgUUdW5pdHNQZXJCbG9ja1NjYWxlMTYFDGJsb2Nrc1Bhc3NlZAUHc2NhbGUxNgkAlgoEBQ91bml0c1RvQ2xhaW1Ob3cFCGwyVG9CdXJuBQxjdXJyZW50QmxvY2sJAJUKAwUMYmxvY2tzUGFzc2VkBRV1bml0c0NsYWltU3RhcnRIZWlnaHQFEnVuaXRzQ2xhaW1JbnRlcnZhbAEUZ2V0VW5sb2NrVW5pdHNBY3Rpb24BC3VzZXJBZGRyZXNzBA5rVW5sb2NrZWRVbml0cwkBEGtleVVubG9ja2VkVW5pdHMBBQt1c2VyQWRkcmVzcwQNdW5sb2NrZWRVbml0cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQ5rVW5sb2NrZWRVbml0cwAABAlrTDJUb0J1cm4JAQtrZXlMMlRvQnVybgEFC3VzZXJBZGRyZXNzBAhsMlRvQnVybgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQlrTDJUb0J1cm4AAAQNdG90YWxMMkxvY2tlZAkBEmdldFVzZXJUb3RhbExvY2tlZAEFC3VzZXJBZGRyZXNzBA0kdDAxMTQ5NjExNzA2CQEVY2FsY3VsYXRlVW5pdHNUb0NsYWltAQULdXNlckFkZHJlc3MED3VuaXRzVG9DbGFpbU5vdwgFDSR0MDExNDk2MTE3MDYCXzEEC2wyVG9CdXJuTm93CAUNJHQwMTE0OTYxMTcwNgJfMgQMY3VycmVudEJsb2NrCAUNJHQwMTE0OTYxMTcwNgJfMwQEX3RtcAgFDSR0MDExNDk2MTE3MDYCXzQDCQBnAgAABQ91bml0c1RvQ2xhaW1Ob3cDCQBmAgUNdG90YWxMMkxvY2tlZAAABQNuaWwJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlVbml0c0NsYWltZWRCbG9jawEFC3VzZXJBZGRyZXNzBQxjdXJyZW50QmxvY2sFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleVVuaXRzQ2xhaW1lZEJsb2NrAQULdXNlckFkZHJlc3MFDGN1cnJlbnRCbG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgUJa0wyVG9CdXJuCQBkAgUIbDJUb0J1cm4FC2wyVG9CdXJuTm93CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ5rVW5sb2NrZWRVbml0cwkAZAIFDXVubG9ja2VkVW5pdHMFD3VuaXRzVG9DbGFpbU5vdwUDbmlsARFnZXRVbnN0YWtlQWN0aW9ucwMLbm9kZUFkZHJlc3MLdXNlckFkZHJlc3MNdW5zdGFrZUFtb3VudAQNJHQwMTIyNzcxMjM1MAkBEmdldExlYXNpbmdOb2RlRGF0YQEFC25vZGVBZGRyZXNzBBFub2RlQ3VycmVudExlYXNlZAgFDSR0MDEyMjc3MTIzNTACXzEEDm5vZGVOZXh0TGVhc2VkCAUNJHQwMTIyNzcxMjM1MAJfMgQNJHQwMTIzNTUxMjQ0MQkBEmdldFVzZXJMZWFzaW5nRGF0YQIFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwQRdXNlckN1cnJlbnRMZWFzZWQIBQ0kdDAxMjM1NTEyNDQxAl8xBA51c2VyTmV4dExlYXNlZAgFDSR0MDEyMzU1MTI0NDECXzIEBmNoZWNrcwkAzAgCAwkBASEBBQtpc0ZvcmNlU3RvcAYJAQh0aHJvd0VycgECHWNvbnRyYWN0IGlzIHRlbXBvcmFyeSBzdG9wcGVkCQDMCAIDCQEBIQEFDmlzRm9yY2VPdXRTdG9wBgkBCHRocm93RXJyAQIddW5zdGFrZSBpcyB0ZW1wb3JhcnkgZGlzYWJsZWQJAMwIAgMJAGYCBQ11bnN0YWtlQW1vdW50AAAGCQEIdGhyb3dFcnIBAid1bnN0YWtlIGFtb3VudCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAJAMwIAgMJAGcCBQ51c2VyTmV4dExlYXNlZAUNdW5zdGFrZUFtb3VudAYJAQh0aHJvd0VycgECOXVuc3Rha2UgYW1vdW50IHNob3VsZCBiZSBsZXNzIG9yIGVxdWFsIHVzZXIgc3Rha2VkIGFtb3VudAkAzAgCAwkAZwIFDm5vZGVOZXh0TGVhc2VkBQ11bnN0YWtlQW1vdW50BgkBCHRocm93RXJyAQI5dW5zdGFrZSBhbW91bnQgc2hvdWxkIGJlIGxlc3Mgb3IgZXF1YWwgbm9kZSBzdGFrZWQgYW1vdW50CQDMCAIDCQEOaXNWYWxpZEFkZHJlc3MBBQtub2RlQWRkcmVzcwYJAQh0aHJvd0VycgEJALkJAgkAzAgCAhpub2RlIGFkZHJlc3MgaXMgbm90IHZhbGlkOgkAzAgCBQtub2RlQWRkcmVzcwUDbmlsAgEgCQDMCAIDCQEOaXNWYWxpZEFkZHJlc3MBBQt1c2VyQWRkcmVzcwYJAQh0aHJvd0VycgEJALkJAgkAzAgCAhp1c2VyIGFkZHJlc3MgaXMgbm90IHZhbGlkOgkAzAgCBQt1c2VyQWRkcmVzcwUDbmlsAgEgBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MEEG5ld05vZGVOZXh0TGVhc2UJAGUCBQ5ub2RlTmV4dExlYXNlZAUNdW5zdGFrZUFtb3VudAQRbmV3VXNlck5leHRMZWFzZWQJAGUCBQ51c2VyTmV4dExlYXNlZAUNdW5zdGFrZUFtb3VudAQNJHQwMTMzMjUxMzM4NQkBFWdldFVzZXJUb0NsYWltQmFsYW5jZQEFC3VzZXJBZGRyZXNzBAd0b0NsYWltCAUNJHQwMTMzMjUxMzM4NQJfMQQIdG9VbmxvY2sIBQ0kdDAxMzMyNTEzMzg1Al8yBAtuZXdUb1VubG9jawkAZAIFCHRvVW5sb2NrBQ11bnN0YWtlQW1vdW50BA91c2VyVG90YWxMb2NrZWQJARJnZXRVc2VyVG90YWxMb2NrZWQBBQt1c2VyQWRkcmVzcwQSbmV3VXNlclRvdGFsTG9ja2VkCQBlAgUPdXNlclRvdGFsTG9ja2VkBQ11bnN0YWtlQW1vdW50BBR1bml0c1VubG9ja2VkQWN0aW9ucwkBFGdldFVubG9ja1VuaXRzQWN0aW9uAQULdXNlckFkZHJlc3MJAM4IAgkAzAgCCQETZ2V0TGVhc2luZ05vZGVFbnRyeQMFC25vZGVBZGRyZXNzBRFub2RlQ3VycmVudExlYXNlZAUQbmV3Tm9kZU5leHRMZWFzZQkAzAgCCQETZ2V0VXNlckxlYXNpbmdFbnRyeQQFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwURdXNlckN1cnJlbnRMZWFzZWQFEW5ld1VzZXJOZXh0TGVhc2VkCQDMCAIJARNnZXRVc2VyVG9DbGFpbUVudHJ5AwULdXNlckFkZHJlc3MFB3RvQ2xhaW0FC25ld1RvVW5sb2NrCQDMCAIJARdnZXRVc2VyVG90YWxMb2NrZWRFbnRyeQIFC3VzZXJBZGRyZXNzBRJuZXdVc2VyVG90YWxMb2NrZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJARZrZXlOb2RlTGVhc2luZ0J5SGVpZ2h0AQULbm9kZUFkZHJlc3MFEG5ld05vZGVOZXh0TGVhc2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARZrZXlVc2VyTGVhc2luZ0J5SGVpZ2h0AgULbm9kZUFkZHJlc3MFC3VzZXJBZGRyZXNzBRFuZXdVc2VyTmV4dExlYXNlZAUDbmlsBRR1bml0c1VubG9ja2VkQWN0aW9ucwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEXZ2V0Q2xhaW1VbmxvY2tlZEFjdGlvbnMCC3VzZXJBZGRyZXNzC2NsYWltQW1vdW50BA0kdDAxNDIwNDE0MjY0CQEVZ2V0VXNlclRvQ2xhaW1CYWxhbmNlAQULdXNlckFkZHJlc3MEB3RvQ2xhaW0IBQ0kdDAxNDIwNDE0MjY0Al8xBAh0b1VubG9jawgFDSR0MDE0MjA0MTQyNjQCXzIEBmNoZWNrcwkAzAgCAwkBASEBBQtpc0ZvcmNlU3RvcAYJAQh0aHJvd0VycgECHWNvbnRyYWN0IGlzIHRlbXBvcmFyeSBzdG9wcGVkCQDMCAIDCQEBIQEFDmlzRm9yY2VPdXRTdG9wBgkBCHRocm93RXJyAQIbY2xhaW0gaXMgdGVtcG9yYXJ5IGRpc2FibGVkCQDMCAIDCQBmAgULY2xhaW1BbW91bnQAAAYJAQh0aHJvd0VycgECJWNsYWltIGFtb3VudCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAJAMwIAgMJAGcCBQd0b0NsYWltBQtjbGFpbUFtb3VudAYJAQh0aHJvd0VycgECNGNsYWltIGFtb3VudCBzaG91bGQgYmUgbGVzcyBvciBlcXVhbCB1bmxvY2tlZCBhbW91bnQJAMwIAgMJAQ5pc1ZhbGlkQWRkcmVzcwEFC3VzZXJBZGRyZXNzBgkBCHRocm93RXJyAQkAuQkCCQDMCAICGnVzZXIgYWRkcmVzcyBpcyBub3QgdmFsaWQ6CQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwCASAFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQKbmV3VG9DbGFpbQkAZQIFB3RvQ2xhaW0FC2NsYWltQW1vdW50CQDMCAIJARNnZXRVc2VyVG9DbGFpbUVudHJ5AwULdXNlckFkZHJlc3MFCm5ld1RvQ2xhaW0FCHRvVW5sb2NrCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFC3VzZXJBZGRyZXNzBQtjbGFpbUFtb3VudAUObDJBc3NldElkQnl0ZXMFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgESZ2V0U3Rha2VGb3JBY3Rpb25zAgt1c2VyQWRkcmVzcwFpBA0kdDAxNTAzMDE1MDkwCQEVZ2V0VXNlclRvQ2xhaW1CYWxhbmNlAQULdXNlckFkZHJlc3MEB3RvQ2xhaW0IBQ0kdDAxNTAzMDE1MDkwAl8xBAh0b1VubG9jawgFDSR0MDE1MDMwMTUwOTACXzIEBmNoZWNrcwkAzAgCAwkBASEBBQtpc0ZvcmNlU3RvcAYJAQh0aHJvd0VycgECHWNvbnRyYWN0IGlzIHRlbXBvcmFyeSBzdG9wcGVkCQDMCAIDCQBnAgABCQCQAwEIBQFpCHBheW1lbnRzBgkBCHRocm93RXJyAQIRbWF4aW11bSAxIHBheW1lbnQJAMwIAgMDCQAAAgkAkAMBCAUBaQhwYXltZW50cwAABgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUObDJBc3NldElkQnl0ZXMGCQEIdGhyb3dFcnIBCQC5CQIJAMwIAgIacGF5bWVudCBhc3NldElkIHNob3VsZCBiZToJAMwIAgUPbDJBc3NldElkU3RyaW5nBQNuaWwCASAJAMwIAgMJAQ5pc1ZhbGlkQWRkcmVzcwEFC3VzZXJBZGRyZXNzBgkBCHRocm93RXJyAQkAuQkCCQDMCAICGnVzZXIgYWRkcmVzcyBpcyBub3QgdmFsaWQ6CQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwCASAFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQKbmV3VG9DbGFpbQkAZAIFB3RvQ2xhaW0ICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CQDMCAIJARNnZXRVc2VyVG9DbGFpbUVudHJ5AwULdXNlckFkZHJlc3MFCm5ld1RvQ2xhaW0FCHRvVW5sb2NrBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BD2dldFN0YWtlQWN0aW9ucwQLbm9kZUFkZHJlc3MLdXNlckFkZHJlc3MRdXNlckxlYXNpbmdBbW91bnQBaQQNJHQwMTU4MjIxNTg4MgkBFWdldFVzZXJUb0NsYWltQmFsYW5jZQEFC3VzZXJBZGRyZXNzBAd0b0NsYWltCAUNJHQwMTU4MjIxNTg4MgJfMQQIdG9VbmxvY2sIBQ0kdDAxNTgyMjE1ODgyAl8yBA1wYXltZW50QW1vdW50AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAAAACAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQJYXZhaWxhYmxlCQBkAgkAZAIFCHRvVW5sb2NrBQd0b0NsYWltBQ1wYXltZW50QW1vdW50BAZjaGVja3MJAMwIAgMJAQEhAQULaXNGb3JjZVN0b3AGCQEIdGhyb3dFcnIBAh1jb250cmFjdCBpcyB0ZW1wb3Jhcnkgc3RvcHBlZAkAzAgCAwkAZwIAAQkAkAMBCAUBaQhwYXltZW50cwYJAQh0aHJvd0VycgECEW1heGltdW0gMSBwYXltZW50CQDMCAIDAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAAYJAAACCAkAkQMCCAUBaQhwYXltZW50cwAAB2Fzc2V0SWQFDmwyQXNzZXRJZEJ5dGVzBgkBCHRocm93RXJyAQkAuQkCCQDMCAICGnBheW1lbnQgYXNzZXRJZCBzaG91bGQgYmU6CQDMCAIFD2wyQXNzZXRJZFN0cmluZwUDbmlsAgEgCQDMCAIDCQBmAgURdXNlckxlYXNpbmdBbW91bnQAAAYJAQh0aHJvd0VycgECH2Ftb3VudCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAJAMwIAgMJAGcCBQlhdmFpbGFibGUFEXVzZXJMZWFzaW5nQW1vdW50BgkBCHRocm93RXJyAQI7YW1vdW50IHNob3VsZCBiZSBsZXNzIG9yIGVxdWFsIChwYXltZW50ICsgYXZhaWxhYmxlKSBhbW91bnQJAMwIAgMJAGcCBRF1c2VyTGVhc2luZ0Ftb3VudAUNcGF5bWVudEFtb3VudAYJAAIBAjBhbW91bnQgc2hvdWxkIGJlIGdyZWF0ZXIgb3IgZXF1YWwgcGF5bWVudCBhbW91bnQJAMwIAgMJAQ5pc1ZhbGlkQWRkcmVzcwEFC25vZGVBZGRyZXNzBgkBCHRocm93RXJyAQkAuQkCCQDMCAICGm5vZGUgYWRkcmVzcyBpcyBub3QgdmFsaWQ6CQDMCAIFC25vZGVBZGRyZXNzBQNuaWwCASAJAMwIAgMJAQ5pc1ZhbGlkQWRkcmVzcwEFC3VzZXJBZGRyZXNzBgkBCHRocm93RXJyAQkAuQkCCQDMCAICGnVzZXIgYWRkcmVzcyBpcyBub3QgdmFsaWQ6CQDMCAIFC3VzZXJBZGRyZXNzBQNuaWwCASAFA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwQNJHQwMTY5NTcxNzAzMAkBEmdldExlYXNpbmdOb2RlRGF0YQEFC25vZGVBZGRyZXNzBBFub2RlQ3VycmVudExlYXNlZAgFDSR0MDE2OTU3MTcwMzACXzEEDm5vZGVOZXh0TGVhc2VkCAUNJHQwMTY5NTcxNzAzMAJfMgQQbmV3Tm9kZU5leHRMZWFzZQkAZAIFDm5vZGVOZXh0TGVhc2VkBRF1c2VyTGVhc2luZ0Ftb3VudAQNJHQwMTcwOTgxNzE4NAkBEmdldFVzZXJMZWFzaW5nRGF0YQIFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwQRdXNlckN1cnJlbnRMZWFzZWQIBQ0kdDAxNzA5ODE3MTg0Al8xBA51c2VyTmV4dExlYXNlZAgFDSR0MDE3MDk4MTcxODQCXzIEEW5ld1VzZXJOZXh0TGVhc2VkCQBkAgUOdXNlck5leHRMZWFzZWQFEXVzZXJMZWFzaW5nQW1vdW50BBJmcm9tVW5sb2NrZWRBbW91bnQJAGUCBRF1c2VyTGVhc2luZ0Ftb3VudAUNcGF5bWVudEFtb3VudAQLbmV3VG9VbmxvY2sJAJYDAQkAzAgCAAAJAMwIAgkAZQIFCHRvVW5sb2NrBRJmcm9tVW5sb2NrZWRBbW91bnQFA25pbAQKbmV3VG9DbGFpbQkAlwMBCQDMCAIFB3RvQ2xhaW0JAMwIAgkAZAIFB3RvQ2xhaW0JAGUCBQh0b1VubG9jawUSZnJvbVVubG9ja2VkQW1vdW50BQNuaWwED3VzZXJUb3RhbExvY2tlZAkBEmdldFVzZXJUb3RhbExvY2tlZAEFC3VzZXJBZGRyZXNzBBJuZXdVc2VyVG90YWxMb2NrZWQJAGQCBQ91c2VyVG90YWxMb2NrZWQFEXVzZXJMZWFzaW5nQW1vdW50BBR1bml0c1VubG9ja2VkQWN0aW9ucwkBFGdldFVubG9ja1VuaXRzQWN0aW9uAQULdXNlckFkZHJlc3MJAM4IAgkAzAgCCQETZ2V0TGVhc2luZ05vZGVFbnRyeQMFC25vZGVBZGRyZXNzBRFub2RlQ3VycmVudExlYXNlZAUQbmV3Tm9kZU5leHRMZWFzZQkAzAgCCQETZ2V0VXNlckxlYXNpbmdFbnRyeQQFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwURdXNlckN1cnJlbnRMZWFzZWQFEW5ld1VzZXJOZXh0TGVhc2VkCQDMCAIJARNnZXRVc2VyVG9DbGFpbUVudHJ5AwULdXNlckFkZHJlc3MFCm5ld1RvQ2xhaW0FC25ld1RvVW5sb2NrCQDMCAIJARdnZXRVc2VyVG90YWxMb2NrZWRFbnRyeQIFC3VzZXJBZGRyZXNzBRJuZXdVc2VyVG90YWxMb2NrZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJARZrZXlOb2RlTGVhc2luZ0J5SGVpZ2h0AQULbm9kZUFkZHJlc3MFEG5ld05vZGVOZXh0TGVhc2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARZrZXlVc2VyTGVhc2luZ0J5SGVpZ2h0AgULbm9kZUFkZHJlc3MFC3VzZXJBZGRyZXNzBRFuZXdVc2VyTmV4dExlYXNlZAUDbmlsBRR1bml0c1VubG9ja2VkQWN0aW9ucwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEaZ2V0U3Rha2VGcm9tUGF5bWVudEFjdGlvbnMDC25vZGVBZGRyZXNzC3VzZXJBZGRyZXNzAWkEBmNoZWNrcwkAzAgCAwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQYJAQh0aHJvd0VycgECIHBheW1lbnQgc2l6ZSBzaG91bGQgYmUgZXhhY3RseSAxBQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MJAQ9nZXRTdGFrZUFjdGlvbnMEBQtub2RlQWRkcmVzcwULdXNlckFkZHJlc3MICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BQFpCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARxnZXRTZXROZXdQZXJpb2RMZW5ndGhBY3Rpb25zAQ9uZXdQZXJpb2RMZW5ndGgEBWNoZWNrCQDMCAIDCQBmAgUPbmV3UGVyaW9kTGVuZ3RoAAAGCQEIdGhyb3dFcnIBAiZwZXJpb2QgbGVuZ3RoIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMAUDbmlsAwkAAAIFBWNoZWNrBQVjaGVjawMJAAACBRJwZXJpb2RPZmZzZXRIZWlnaHQA////////////AQkAzAgCCQEMSW50ZWdlckVudHJ5AgUPa2V5UGVyaW9kTGVuZ3RoBQ9uZXdQZXJpb2RMZW5ndGgJAMwIAgkBDEludGVnZXJFbnRyeQIFFWtleVBlcmlvZE9mZnNldEhlaWdodAUGaGVpZ2h0BQNuaWwJAMwIAgkBDEludGVnZXJFbnRyeQIFEWtleVBlcmlvZE9mZnNldElkCQBkAgUPY3VycmVudFBlcmlvZElkAAEJAMwIAgkBDEludGVnZXJFbnRyeQIFFWtleVBlcmlvZE9mZnNldEhlaWdodAUQbmV4dFBlcmlvZEhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUPa2V5UGVyaW9kTGVuZ3RoBQ9uZXdQZXJpb2RMZW5ndGgFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgERZ2V0VW5pdHNDbGFpbURhdGEBC3VzZXJBZGRyZXNzBA0kdDAxOTA2OTE5MTYwCQEVY2FsY3VsYXRlVW5pdHNUb0NsYWltAQULdXNlckFkZHJlc3MED3VubG9ja2VkVW5pdE5vdwgFDSR0MDE5MDY5MTkxNjACXzEEC2wyVG9CdXJuTm93CAUNJHQwMTkwNjkxOTE2MAJfMgQMY3VycmVudEJsb2NrCAUNJHQwMTkwNjkxOTE2MAJfMwQEX3RtcAgFDSR0MDE5MDY5MTkxNjACXzQEEXVubG9ja2VkVW5pdHNQcmV2CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARBrZXlVbmxvY2tlZFVuaXRzAQULdXNlckFkZHJlc3MAAAQLdW5pdHNUb1NlbmQJAGQCBQ91bmxvY2tlZFVuaXROb3cFEXVubG9ja2VkVW5pdHNQcmV2BAxsMlRvQnVyblByZXYJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBC2tleUwyVG9CdXJuAQULdXNlckFkZHJlc3MAAAQIbDJUb0J1cm4JAGQCBQxsMlRvQnVyblByZXYFC2wyVG9CdXJuTm93BBF0b3RhbFVuaXRzQ2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEUa2V5VG90YWxVbml0c0NsYWltZWQBBQt1c2VyQWRkcmVzcwAABA10b3RhbEwyQnVybmVkCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJARBrZXlMMkJ1cm5lZFRvdGFsAQULdXNlckFkZHJlc3MAAAkAlwoFBQt1bml0c1RvU2VuZAURdG90YWxVbml0c0NsYWltZWQFCGwyVG9CdXJuBQ10b3RhbEwyQnVybmVkBQxjdXJyZW50QmxvY2sBFGdldENsYWltVW5pdHNBY3Rpb25zAQt1c2VyQWRkcmVzcwQNJHQwMTk3NTIxOTg2MAkBEWdldFVuaXRzQ2xhaW1EYXRhAQULdXNlckFkZHJlc3MEC3VuaXRzVG9TZW5kCAUNJHQwMTk3NTIxOTg2MAJfMQQRdG90YWxVbml0c0NsYWltZWQIBQ0kdDAxOTc1MjE5ODYwAl8yBAhsMlRvQnVybggFDSR0MDE5NzUyMTk4NjACXzMEDXRvdGFsTDJCdXJuZWQIBQ0kdDAxOTc1MjE5ODYwAl80BAxjbGFpbWVkQmxvY2sIBQ0kdDAxOTc1MjE5ODYwAl81BAVjaGVjawkAzAgCAwkAZgIFC3VuaXRzVG9TZW5kAAAGCQEIdGhyb3dFcnIBAhBub3RoaW5nIHRvIGNsYWltBQNuaWwDCQAAAgUFY2hlY2sFBWNoZWNrBApidXJuQWN0aW9uBAckbWF0Y2gwBQ5sMkFzc2V0SWRCeXRlcwMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJpZAUHJG1hdGNoMAkAzAgCCQEEQnVybgIFAmlkBQhsMlRvQnVybgUDbmlsBQNuaWwJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleVVuaXRzQ2xhaW1lZEJsb2NrAQULdXNlckFkZHJlc3MFDGNsYWltZWRCbG9jawkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleVRvdGFsVW5pdHNDbGFpbWVkAQULdXNlckFkZHJlc3MJAGQCBRF0b3RhbFVuaXRzQ2xhaW1lZAULdW5pdHNUb1NlbmQJAMwIAgkBDEludGVnZXJFbnRyeQIJARBrZXlMMkJ1cm5lZFRvdGFsAQULdXNlckFkZHJlc3MJAGQCBQ10b3RhbEwyQnVybmVkBQhsMlRvQnVybgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEGtleVVubG9ja2VkVW5pdHMBBQt1c2VyQWRkcmVzcwAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQELa2V5TDJUb0J1cm4BBQt1c2VyQWRkcmVzcwAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFC3VzZXJBZGRyZXNzBQt1bml0c1RvU2VuZAURdW5pdHNBc3NldElkQnl0ZXMFA25pbAUKYnVybkFjdGlvbgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLhABaQESc2V0TmV3UGVyaW9kTGVuZ3RoAQ9uZXdQZXJpb2RMZW5ndGgEBmNoZWNrcwkAzAgCAwkBDWlzSW5BZG1pbkxpc3QBCQClCAEIBQFpBmNhbGxlcgYJAQh0aHJvd0VycgECGmNhbGxlciBpcyBub3QgaW4gYWRtaW5MaXN0BQNuaWwDCQAAAgUGY2hlY2tzBQZjaGVja3MJARxnZXRTZXROZXdQZXJpb2RMZW5ndGhBY3Rpb25zAQUPbmV3UGVyaW9kTGVuZ3RoCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCmNsYWltVW5pdHMABAt1c2VyQWRkcmVzcwkApQgBCAUBaQZjYWxsZXIJARRnZXRDbGFpbVVuaXRzQWN0aW9ucwEFC3VzZXJBZGRyZXNzAWkBEHNldEZvcmNlU3RvcEZsYWcBBHN0b3AEBWNoZWNrCQDMCAIDCQENaXNJbkFkbWluTGlzdAEJAKUIAQgFAWkGY2FsbGVyBgkBCHRocm93RXJyAQIaY2FsbGVyIGlzIG5vdCBpbiBhZG1pbkxpc3QFA25pbAMJAAACBQVjaGVjawUFY2hlY2sJAMwIAgkBDEJvb2xlYW5FbnRyeQIFDGtleUZvcmNlU3RvcAUEc3RvcAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBE3NldEZvcmNlT3V0U3RvcEZsYWcBBHN0b3AEBWNoZWNrCQDMCAIDCQENaXNJbkFkbWluTGlzdAEJAKUIAQgFAWkGY2FsbGVyBgkBCHRocm93RXJyAQIaY2FsbGVyIGlzIG5vdCBpbiBhZG1pbkxpc3QFA25pbAMJAAACBQVjaGVjawUFY2hlY2sJAMwIAgkBDEJvb2xlYW5FbnRyeQIFD2tleUZvcmNlT3V0U3RvcAUEc3RvcAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBE2dldE5vZGVEYXRhUkVBRE9OTFkBC25vZGVBZGRyZXNzBA0kdDAyMTU5MjIxNjU2CQESZ2V0TGVhc2luZ05vZGVEYXRhAQULbm9kZUFkZHJlc3MEDGN1cnJlbnRMZWFzZQgFDSR0MDIxNTkyMjE2NTYCXzEECm5leHRMZWFzZWQIBQ0kdDAyMTU5MjIxNjU2Al8yCQCUCgIFA25pbAkAlwoFBRNjdXJyZW50UGVyaW9kSGVpZ2h0BQxjdXJyZW50TGVhc2UFEG5leHRQZXJpb2RIZWlnaHQFCm5leHRMZWFzZWQFBmhlaWdodAFpARpnZXRVc2VyTGVhc2luZ0RhdGFSRUFET05MWQILbm9kZUFkZHJlc3MLdXNlckFkZHJlc3MEDSR0MDIyMDI2MjIxMDMJARJnZXRVc2VyTGVhc2luZ0RhdGECBQtub2RlQWRkcmVzcwULdXNlckFkZHJlc3MEDGN1cnJlbnRMZWFzZQgFDSR0MDIyMDI2MjIxMDMCXzEECm5leHRMZWFzZWQIBQ0kdDAyMjAyNjIyMTAzAl8yCQCUCgIFA25pbAkAlwoFBRNjdXJyZW50UGVyaW9kSGVpZ2h0BQxjdXJyZW50TGVhc2UFEG5leHRQZXJpb2RIZWlnaHQFCm5leHRMZWFzZWQFBmhlaWdodAFpARNnZXRVc2VyRGF0YVJFQURPTkxZAQt1c2VyQWRkcmVzcwQNJHQwMjI3MDcyMjc2NwkBFWdldFVzZXJUb0NsYWltQmFsYW5jZQEFC3VzZXJBZGRyZXNzBAd0b0NsYWltCAUNJHQwMjI3MDcyMjc2NwJfMQQIdG9VbmxvY2sIBQ0kdDAyMjcwNzIyNzY3Al8yBA91c2VyVG90YWxMb2NrZWQJARJnZXRVc2VyVG90YWxMb2NrZWQBBQt1c2VyQWRkcmVzcwQNJHQwMjI4MzAyMjkzOAkBEWdldFVuaXRzQ2xhaW1EYXRhAQULdXNlckFkZHJlc3MEC3VuaXRzVG9TZW5kCAUNJHQwMjI4MzAyMjkzOAJfMQQRdG90YWxVbml0c0NsYWltZWQIBQ0kdDAyMjgzMDIyOTM4Al8yBAhsMlRvQnVybggFDSR0MDIyODMwMjI5MzgCXzMEDXRvdGFsTDJCdXJuZWQIBQ0kdDAyMjgzMDIyOTM4Al80BAxjbGFpbWVkQmxvY2sIBQ0kdDAyMjgzMDIyOTM4Al81BBR1bml0c1BlckJsb2NrU2NhbGUxNgkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBRdrZXlVbml0c1BlckJsb2NrU2NhbGUxNgAABA9yZW1haW5pbmdibG9ja3MJAJYDAQkAzAgCAAAJAMwIAgkAZQIJAGQCBRV1bml0c0NsYWltU3RhcnRIZWlnaHQFEnVuaXRzQ2xhaW1JbnRlcnZhbAUGaGVpZ2h0BQNuaWwJAJQKAgUDbmlsCQCfCg0FE2N1cnJlbnRQZXJpb2RIZWlnaHQFB3RvQ2xhaW0FEG5leHRQZXJpb2RIZWlnaHQFCHRvVW5sb2NrBQ91c2VyVG90YWxMb2NrZWQFBmhlaWdodAULdW5pdHNUb1NlbmQFEXRvdGFsVW5pdHNDbGFpbWVkBQhsMlRvQnVybgUNdG90YWxMMkJ1cm5lZAUMY2xhaW1lZEJsb2NrBRR1bml0c1BlckJsb2NrU2NhbGUxNgUPcmVtYWluaW5nYmxvY2tzAWkBDmxlYXNlQnlBZGRyZXNzAgtub2RlQWRkcmVzcwt1c2VyQWRkcmVzcwkBGmdldFN0YWtlRnJvbVBheW1lbnRBY3Rpb25zAwULbm9kZUFkZHJlc3MFC3VzZXJBZGRyZXNzBQFpAWkBBWxlYXNlAQtub2RlQWRkcmVzcwQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyCQEaZ2V0U3Rha2VGcm9tUGF5bWVudEFjdGlvbnMDBQtub2RlQWRkcmVzcwULdXNlckFkZHJlc3MFAWkBaQEPbGVhc2VGcm9tTG9ja2VkAgtub2RlQWRkcmVzcwZhbW91bnQEC3VzZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgkBD2dldFN0YWtlQWN0aW9ucwQFC25vZGVBZGRyZXNzBQt1c2VyQWRkcmVzcwUGYW1vdW50BQFpAWkBC2NhbmNlbExlYXNlAgtub2RlQWRkcmVzcwZhbW91bnQEC3VzZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgkBEWdldFVuc3Rha2VBY3Rpb25zAwULbm9kZUFkZHJlc3MFC3VzZXJBZGRyZXNzBQZhbW91bnQBaQEFY2xhaW0BBmFtb3VudAQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyCQEXZ2V0Q2xhaW1VbmxvY2tlZEFjdGlvbnMCBQt1c2VyQWRkcmVzcwUGYW1vdW50AWkBCGNsYWltQWxsAAQLdXNlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBA0kdDAyNDM2ODI0NDI4CQEVZ2V0VXNlclRvQ2xhaW1CYWxhbmNlAQULdXNlckFkZHJlc3MEB3RvQ2xhaW0IBQ0kdDAyNDM2ODI0NDI4Al8xBAh0b1VubG9jawgFDSR0MDI0MzY4MjQ0MjgCXzIEBmNoZWNrcwkAzAgCAwkAZgIFB3RvQ2xhaW0AAAYJAQh0aHJvd0VycgECEG5vdGhpbmcgdG8gY2xhaW0FA25pbAMJAAACBQZjaGVja3MFBmNoZWNrcwkBF2dldENsYWltVW5sb2NrZWRBY3Rpb25zAgULdXNlckFkZHJlc3MFB3RvQ2xhaW0JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIc3Rha2VGb3IBC3VzZXJBZGRyZXNzCQESZ2V0U3Rha2VGb3JBY3Rpb25zAgULdXNlckFkZHJlc3MFAWkBaQERc3RhcnRVbml0c1Zlc3RpbmcBFXVuaXRzQ2xhaW1OZXdJbnRlcnZhbAQHdG90YWxMMgCAgKjsha/RsQEECnRvdGFsVW5pdHMICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BBR1bml0c1BlckJsb2NrU2NhbGUxNgkAaQIJAGsDBQp0b3RhbFVuaXRzBQdzY2FsZTE2BQd0b3RhbEwyBRV1bml0c0NsYWltTmV3SW50ZXJ2YWwEBWNoZWNrCQDMCAIDCQENaXNJbkFkbWluTGlzdAEJAKUIAQgFAWkGY2FsbGVyBgkBCHRocm93RXJyAQIaY2FsbGVyIGlzIG5vdCBpbiBhZG1pbkxpc3QJAMwIAgMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAEGCQEIdGhyb3dFcnIBAhNzaG91bGQgYmUgMSBwYXltZW50CQDMCAIDCQBmAgUUdW5pdHNQZXJCbG9ja1NjYWxlMTYAAAYJAQh0aHJvd0VycgECKHVuaXRzIHBlciBibG9jayBzaG91bGQgYmUgZ3JlYXRlZCB0aGFuIDAFA25pbAMJAAACBQVjaGVjawUFY2hlY2sJAMwIAgkBDEludGVnZXJFbnRyeQIFF2tleVVuaXRzUGVyQmxvY2tTY2FsZTE2BRR1bml0c1BlckJsb2NrU2NhbGUxNgkAzAgCCQEMSW50ZWdlckVudHJ5AgUYa2V5VW5pdHNDbGFpbVN0YXJ0SGVpZ2h0BQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFFWtleVVuaXRzQ2xhaW1JbnRlcnZhbAUVdW5pdHNDbGFpbU5ld0ludGVydmFsCQDMCAIJAQtTdHJpbmdFbnRyeQIFD2tleVVuaXRzQXNzZXRJZAkBEmFzc2V0Qnl0ZXNUb1N0cmluZwEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBC3ZvdGVGb3JUeElkAQR0eElkBBNjYWxsZXJBZGRyZXNzU3RyaW5nCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMECWtleVByZWZpeAkBGGtleUFsbG93ZWRUeElkVm90ZVByZWZpeAEFBHR4SWQEBnJlc3VsdAkAzAgCCQELU3RyaW5nRW50cnkCCQEOa2V5QWxsb3dlZFR4SWQABQR0eElkBQNuaWwEEWFsbG93ZWRUeElkT3B0aW9uCQCdCAIFBHRoaXMJAQ5rZXlBbGxvd2VkVHhJZAAEA2VycgkAzAgCAwkAAAIJAMgBAQkA2QQBBQR0eElkBRFUWElEX0JZVEVTX0xFTkdUSAYJAQh0aHJvd0VycgEJAKwCAgUEdHhJZAISIGlzIG5vdCB2YWxpZCB0eElkCQDMCAIDAwkAAAIFEWFsbG93ZWRUeElkT3B0aW9uBQR1bml0BgkBAiE9AgkBBXZhbHVlAQURYWxsb3dlZFR4SWRPcHRpb24FBHR4SWQGCQEIdGhyb3dFcnIBCQCsAgIFBHR4SWQCEyBpcyBhbHJlYWR5IGFsbG93ZWQFA25pbAMJAAACBQNlcnIFA2VycgkBDHZvdGVJTlRFUk5BTAQFE2NhbGxlckFkZHJlc3NTdHJpbmcFCWtleVByZWZpeAUGUVVPUlVNBQZyZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAhieUFkbWlucwkAAAIIBQJ0eAJpZAkA2QQBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ5rZXlBbGxvd2VkVHhJZAACAAQHYnlPd25lcgMJAGcCCQCQAwEJAQ1nZXRBZG1pbnNMaXN0AAUGUVVPUlVNBwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQMFCGJ5QWRtaW5zBgUHYnlPd25lcgWDYl4=", "chainId": 84, "height": 3358320, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DyDaUSJJcu6bZSchTPg2usMRpdhEdJPJrWUmtz7uskoY Next: 4hAnjG8MDu7XfuLiLxBNXGEvnoE1rRnpZXvDXvcLy37z Diff:
OldNewDifferences
6464
6565 let x = valueOrElse(getInteger(this, p), height)
6666
67-let y = valueOrElse(getInteger(this, q), 0)
67+let y = valueOrElse(getInteger(this, q), 1)
6868
6969 func z (A) = makeString(["%s", A], b)
7070
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "l2mp_leasing.ride"
55
66 let b = "__"
77
88 let c = 1000
99
1010 let d = 100000000
1111
1212 let e = (d * d)
1313
1414 func f (g) = throw(((a + ": ") + g))
1515
1616
1717 let h = makeString(["%s", "assetId"], b)
1818
1919 let i = makeString(["%s", "forceStop"], b)
2020
2121 let j = makeString(["%s", "forceOutStop"], b)
2222
2323 let k = makeString(["%s", "unitsAssetId"], b)
2424
2525 let l = makeString(["%s", "unitsPerBlockScale16"], b)
2626
2727 let m = makeString(["%s", "offsetId"], b)
2828
2929 let n = makeString(["%s", "offsetHeight"], b)
3030
3131 let o = makeString(["%s", "periodLength"], b)
3232
3333 let p = makeString(["%s", "unitsClaimStartHeight"], b)
3434
3535 let q = makeString(["%s", "unitsClaimInterval"], b)
3636
3737 let r = valueOrElse(getInteger(this, m), 0)
3838
3939 let s = valueOrElse(getInteger(this, o), 10000)
4040
4141 let t = valueOrElse(getInteger(this, n), -1)
4242
4343 let u = if (if ((height > t))
4444 then (t != -1)
4545 else false)
4646 then (((height - t) / s) + r)
4747 else max([0, (r - 1)])
4848
4949 let v = if (if ((t == -1))
5050 then true
5151 else if ((u == 0))
5252 then (t > height)
5353 else false)
5454 then 0
5555 else (t + ((u - r) * s))
5656
5757 let w = if (if ((t == -1))
5858 then true
5959 else if ((u == 0))
6060 then (t > height)
6161 else false)
6262 then 0
6363 else (v + s)
6464
6565 let x = valueOrElse(getInteger(this, p), height)
6666
67-let y = valueOrElse(getInteger(this, q), 0)
67+let y = valueOrElse(getInteger(this, q), 1)
6868
6969 func z (A) = makeString(["%s", A], b)
7070
7171
7272 func B (C,A) = makeString(["%s%s", A, C], b)
7373
7474
7575 func D (C) = makeString(["%s%s", "toClaim", C], b)
7676
7777
7878 func E (C) = makeString(["%s%s", "userTotalLocked", C], b)
7979
8080
8181 func F (C) = makeString(["%s%s", "unitsClaimedBlock", C], b)
8282
8383
8484 func G (C) = makeString(["%s%s", "unlockedUnits", C], b)
8585
8686
8787 func H (C) = makeString(["%s%s", "totalUnitsClaimed", C], b)
8888
8989
9090 func I (C) = makeString(["%s%s", "l2ToBurn", C], b)
9191
9292
9393 func J (C) = makeString(["%s%s", "l2BurnedTotal", C], b)
9494
9595
9696 func K (A) = {
9797 let L = if ((t == -1))
9898 then 0
9999 else height
100100 makeString(["%s%d", A, toString(L)], b)
101101 }
102102
103103
104104 func M (A,C) = {
105105 let L = if ((t == -1))
106106 then 0
107107 else height
108108 makeString(["%s%s%d", A, C, toString(L)], b)
109109 }
110110
111111
112112 func N (O) = if ((O == "WAVES"))
113113 then unit
114114 else fromBase58String(O)
115115
116116
117117 func P (Q) = {
118118 let R = Q
119119 if ($isInstanceOf(R, "ByteVector"))
120120 then {
121121 let S = R
122122 toBase58String(S)
123123 }
124124 else "WAVES"
125125 }
126126
127127
128128 let T = valueOrElse(getString(this, h), "WAVES")
129129
130130 let U = valueOrElse(getString(this, k), "WAVES")
131131
132132 let V = N(T)
133133
134134 let W = N(U)
135135
136136 let X = valueOrElse(getBoolean(this, i), false)
137137
138138 let Y = valueOrElse(getBoolean(this, j), false)
139139
140140 func Z (aa) = {
141141 let R = addressFromString(aa)
142142 if ($isInstanceOf(R, "Address"))
143143 then {
144144 let S = R
145145 true
146146 }
147147 else false
148148 }
149149
150150
151151 let ab = 5
152152
153153 let ac = 3
154154
155155 let ad = 32
156156
157157 func ae (af) = makeString(["%s%s%s", "allowTxId", af], b)
158158
159159
160160 func ag (ah,ai) = makeString([ah, ai], b)
161161
162162
163163 func aj () = makeString(["%s", "adminAddressList"], b)
164164
165165
166166 func ak () = makeString(["%s", "txId"], b)
167167
168168
169169 func al (ah,am) = {
170170 let an = ag(ah, am)
171171 valueOrElse(getInteger(an), 0)
172172 }
173173
174174
175175 func ao () = {
176176 let R = getString(this, aj())
177177 if ($isInstanceOf(R, "String"))
178178 then {
179179 let ap = R
180180 split(ap, b)
181181 }
182182 else nil
183183 }
184184
185185
186186 func aq (aa) = containsElement(ao(), aa)
187187
188188
189189 func ar (S,ai) = {
190190 let as = S
191191 let at = as._1
192192 let ah = as._2
193193 $Tuple2((at :+ ag(ah, ai)), ah)
194194 }
195195
196196
197197 func au (av) = {
198198 let aw = aj()
199199 let ax = {
200200 let ay = ao()
201201 let az = size(ay)
202202 let aA = $Tuple2(nil, av)
203203 func aB (aC,aD) = if ((aD >= az))
204204 then aC
205205 else ar(aC, ay[aD])
206206
207207 func aE (aC,aD) = if ((aD >= az))
208208 then aC
209209 else throw("List size exceeds 5")
210210
211211 aE(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5)
212212 }
213213 let at = ax._1
214214 let ah = ax._2
215215 at
216216 }
217217
218218
219219 func aF (at,an) = (at + valueOrElse(getInteger(an), 0))
220220
221221
222222 func aG (ah) = {
223223 let aH = au(ah)
224224 let ay = aH
225225 let az = size(ay)
226226 let aA = 0
227227 func aB (aC,aD) = if ((aD >= az))
228228 then aC
229229 else aF(aC, ay[aD])
230230
231231 func aE (aC,aD) = if ((aD >= az))
232232 then aC
233233 else throw("List size exceeds 5")
234234
235235 aE(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5)
236236 }
237237
238238
239239 func aI (at,aJ) = (at :+ DeleteEntry(aJ))
240240
241241
242242 func aK (ah) = {
243243 let aH = au(ah)
244244 let ay = aH
245245 let az = size(ay)
246246 let aA = nil
247247 func aB (aC,aD) = if ((aD >= az))
248248 then aC
249249 else aI(aC, ay[aD])
250250
251251 func aE (aC,aD) = if ((aD >= az))
252252 then aC
253253 else throw("List size exceeds 5")
254254
255255 aE(aB(aB(aB(aB(aB(aA, 0), 1), 2), 3), 4), 5)
256256 }
257257
258258
259259 func aL (aM,av,aN,aO) = {
260260 let an = ag(av, aM)
261261 let aP = al(av, aM)
262262 let aQ = if (!(aq(aM)))
263263 then f((("Address: " + aM) + " not in Admin list"))
264264 else if ((aP == 1))
265265 then f((an + " you already voted"))
266266 else unit
267267 if ((aQ == aQ))
268268 then {
269269 let aH = aG(av)
270270 if (((aH + 1) >= aN))
271271 then {
272272 let aR = aK(av)
273273 (aR ++ aO)
274274 }
275275 else [IntegerEntry(an, 1)]
276276 }
277277 else throw("Strict value is not equal to itself.")
278278 }
279279
280280
281281 func aS (A,aT,aU) = {
282282 let aV = makeString(["%d%d%d%d", toString(v), toString(aT), toString(w), toString(aU)], b)
283283 StringEntry(z(A), aV)
284284 }
285285
286286
287287 func aW (A) = {
288288 let aX = getString(this, z(A))
289289 let R = aX
290290 if ($isInstanceOf(R, "String"))
291291 then {
292292 let aY = R
293293 let aZ = split(aY, b)
294294 let ba = parseIntValue(aZ[1])
295295 let bb = parseIntValue(aZ[2])
296296 let bc = parseIntValue(aZ[3])
297297 let bd = parseIntValue(aZ[4])
298298 if (if ((bc > height))
299299 then true
300300 else (t == -1))
301301 then $Tuple2(bb, bd)
302302 else $Tuple2(bd, bd)
303303 }
304304 else $Tuple2(0, 0)
305305 }
306306
307307
308308 func be (A,C,bf,bg) = {
309309 let aV = makeString(["%d%d%d%d", toString(v), toString(bf), toString(w), toString(bg)], b)
310310 StringEntry(B(C, A), aV)
311311 }
312312
313313
314314 func bh (A,C) = {
315315 let bi = getString(this, B(C, A))
316316 let R = bi
317317 if ($isInstanceOf(R, "String"))
318318 then {
319319 let aY = R
320320 let aZ = split(aY, b)
321321 let bj = parseIntValue(aZ[1])
322322 let bf = parseIntValue(aZ[2])
323323 let bk = parseIntValue(aZ[3])
324324 let bg = parseIntValue(aZ[4])
325325 if (if ((bk > height))
326326 then true
327327 else (t == -1))
328328 then $Tuple2(bf, bg)
329329 else $Tuple2(bg, bg)
330330 }
331331 else $Tuple2(0, 0)
332332 }
333333
334334
335335 func bl (C,bm,bn) = {
336336 let aV = makeString(["%d%d%d%d", toString(v), toString(bm), toString(w), toString(bn)], b)
337337 StringEntry(D(C), aV)
338338 }
339339
340340
341341 func bo (C) = {
342342 let bp = getString(this, D(C))
343343 let R = bp
344344 if ($isInstanceOf(R, "String"))
345345 then {
346346 let aY = R
347347 let aZ = split(aY, b)
348348 let bq = parseIntValue(aZ[1])
349349 let bm = parseIntValue(aZ[2])
350350 let br = parseIntValue(aZ[3])
351351 let bn = parseIntValue(aZ[4])
352352 if (if ((br > height))
353353 then true
354354 else (u == 0))
355355 then $Tuple2(bm, bn)
356356 else $Tuple2((bm + bn), 0)
357357 }
358358 else $Tuple2(0, 0)
359359 }
360360
361361
362362 func bs (C,bt) = IntegerEntry(E(C), bt)
363363
364364
365365 func bu (C) = valueOrElse(getInteger(this, E(C)), 0)
366366
367367
368368 func bv (C) = {
369369 let bw = F(C)
370370 let bx = valueOrElse(getInteger(this, bw), x)
371371 let by = valueOrElse(getInteger(this, l), 0)
372372 let bz = min([(x + y), height])
373373 let bA = (bz - bx)
374374 let bB = bu(C)
375375 let bC = fraction(bB, bA, y)
376376 let bD = fraction(bB, (by * bA), e)
377377 $Tuple4(bD, bC, bz, $Tuple3(bA, x, y))
378378 }
379379
380380
381381 func bE (C) = {
382382 let bF = G(C)
383383 let bG = valueOrElse(getInteger(this, bF), 0)
384384 let bH = I(C)
385385 let bC = valueOrElse(getInteger(this, bH), 0)
386386 let bI = bu(C)
387387 let bJ = bv(C)
388388 let bD = bJ._1
389389 let bK = bJ._2
390390 let bz = bJ._3
391391 let bL = bJ._4
392392 if ((0 >= bD))
393393 then if ((bI > 0))
394394 then nil
395395 else [IntegerEntry(F(C), bz)]
396396 else [IntegerEntry(F(C), bz), IntegerEntry(bH, (bC + bK)), IntegerEntry(bF, (bG + bD))]
397397 }
398398
399399
400400 func bM (A,C,bN) = {
401401 let bO = aW(A)
402402 let bb = bO._1
403403 let bd = bO._2
404404 let bP = bh(A, C)
405405 let bf = bP._1
406406 let bg = bP._2
407407 let bQ = [if (!(X))
408408 then true
409409 else f("contract is temporary stopped"), if (!(Y))
410410 then true
411411 else f("unstake is temporary disabled"), if ((bN > 0))
412412 then true
413413 else f("unstake amount should be greater than 0"), if ((bg >= bN))
414414 then true
415415 else f("unstake amount should be less or equal user staked amount"), if ((bd >= bN))
416416 then true
417417 else f("unstake amount should be less or equal node staked amount"), if (Z(A))
418418 then true
419419 else f(makeString(["node address is not valid:", A], " ")), if (Z(C))
420420 then true
421421 else f(makeString(["user address is not valid:", C], " "))]
422422 if ((bQ == bQ))
423423 then {
424424 let bR = (bd - bN)
425425 let bS = (bg - bN)
426426 let bT = bo(C)
427427 let bm = bT._1
428428 let bn = bT._2
429429 let bU = (bn + bN)
430430 let bt = bu(C)
431431 let bV = (bt - bN)
432432 let bW = bE(C)
433433 ([aS(A, bb, bR), be(A, C, bf, bS), bl(C, bm, bU), bs(C, bV), IntegerEntry(K(A), bR), IntegerEntry(M(A, C), bS)] ++ bW)
434434 }
435435 else throw("Strict value is not equal to itself.")
436436 }
437437
438438
439439 func bX (C,bY) = {
440440 let bZ = bo(C)
441441 let bm = bZ._1
442442 let bn = bZ._2
443443 let bQ = [if (!(X))
444444 then true
445445 else f("contract is temporary stopped"), if (!(Y))
446446 then true
447447 else f("claim is temporary disabled"), if ((bY > 0))
448448 then true
449449 else f("claim amount should be greater than 0"), if ((bm >= bY))
450450 then true
451451 else f("claim amount should be less or equal unlocked amount"), if (Z(C))
452452 then true
453453 else f(makeString(["user address is not valid:", C], " "))]
454454 if ((bQ == bQ))
455455 then {
456456 let ca = (bm - bY)
457457 [bl(C, ca, bn), ScriptTransfer(addressFromStringValue(C), bY, V)]
458458 }
459459 else throw("Strict value is not equal to itself.")
460460 }
461461
462462
463463 func cb (C,cc) = {
464464 let cd = bo(C)
465465 let bm = cd._1
466466 let bn = cd._2
467467 let bQ = [if (!(X))
468468 then true
469469 else f("contract is temporary stopped"), if ((1 >= size(cc.payments)))
470470 then true
471471 else f("maximum 1 payment"), if (if ((size(cc.payments) == 0))
472472 then true
473473 else (cc.payments[0].assetId == V))
474474 then true
475475 else f(makeString(["payment assetId should be:", T], " ")), if (Z(C))
476476 then true
477477 else f(makeString(["user address is not valid:", C], " "))]
478478 if ((bQ == bQ))
479479 then {
480480 let ca = (bm + cc.payments[0].amount)
481481 [bl(C, ca, bn)]
482482 }
483483 else throw("Strict value is not equal to itself.")
484484 }
485485
486486
487487 func ce (A,C,cf,cc) = {
488488 let cg = bo(C)
489489 let bm = cg._1
490490 let bn = cg._2
491491 let ch = if ((size(cc.payments) == 0))
492492 then 0
493493 else cc.payments[0].amount
494494 let ci = ((bn + bm) + ch)
495495 let bQ = [if (!(X))
496496 then true
497497 else f("contract is temporary stopped"), if ((1 >= size(cc.payments)))
498498 then true
499499 else f("maximum 1 payment"), if (if ((size(cc.payments) == 0))
500500 then true
501501 else (cc.payments[0].assetId == V))
502502 then true
503503 else f(makeString(["payment assetId should be:", T], " ")), if ((cf > 0))
504504 then true
505505 else f("amount should be greater than 0"), if ((ci >= cf))
506506 then true
507507 else f("amount should be less or equal (payment + available) amount"), if ((cf >= ch))
508508 then true
509509 else throw("amount should be greater or equal payment amount"), if (Z(A))
510510 then true
511511 else f(makeString(["node address is not valid:", A], " ")), if (Z(C))
512512 then true
513513 else f(makeString(["user address is not valid:", C], " "))]
514514 if ((bQ == bQ))
515515 then {
516516 let cj = aW(A)
517517 let bb = cj._1
518518 let bd = cj._2
519519 let bR = (bd + cf)
520520 let ck = bh(A, C)
521521 let bf = ck._1
522522 let bg = ck._2
523523 let bS = (bg + cf)
524524 let cl = (cf - ch)
525525 let bU = max([0, (bn - cl)])
526526 let ca = min([bm, (bm + (bn - cl))])
527527 let bt = bu(C)
528528 let bV = (bt + cf)
529529 let bW = bE(C)
530530 ([aS(A, bb, bR), be(A, C, bf, bS), bl(C, ca, bU), bs(C, bV), IntegerEntry(K(A), bR), IntegerEntry(M(A, C), bS)] ++ bW)
531531 }
532532 else throw("Strict value is not equal to itself.")
533533 }
534534
535535
536536 func cm (A,C,cc) = {
537537 let bQ = [if ((size(cc.payments) == 1))
538538 then true
539539 else f("payment size should be exactly 1")]
540540 if ((bQ == bQ))
541541 then ce(A, C, cc.payments[0].amount, cc)
542542 else throw("Strict value is not equal to itself.")
543543 }
544544
545545
546546 func cn (co) = {
547547 let cp = [if ((co > 0))
548548 then true
549549 else f("period length should be greater than 0")]
550550 if ((cp == cp))
551551 then if ((t == -1))
552552 then [IntegerEntry(o, co), IntegerEntry(n, height)]
553553 else [IntegerEntry(m, (u + 1)), IntegerEntry(n, w), IntegerEntry(o, co)]
554554 else throw("Strict value is not equal to itself.")
555555 }
556556
557557
558558 func cq (C) = {
559559 let cr = bv(C)
560560 let cs = cr._1
561561 let bK = cr._2
562562 let bz = cr._3
563563 let bL = cr._4
564564 let ct = valueOrElse(getInteger(this, G(C)), 0)
565565 let cu = (cs + ct)
566566 let cv = valueOrElse(getInteger(this, I(C)), 0)
567567 let bC = (cv + bK)
568568 let cw = valueOrElse(getInteger(this, H(C)), 0)
569569 let cx = valueOrElse(getInteger(this, J(C)), 0)
570570 $Tuple5(cu, cw, bC, cx, bz)
571571 }
572572
573573
574574 func cy (C) = {
575575 let cz = cq(C)
576576 let cu = cz._1
577577 let cw = cz._2
578578 let bC = cz._3
579579 let cx = cz._4
580580 let bx = cz._5
581581 let cp = [if ((cu > 0))
582582 then true
583583 else f("nothing to claim")]
584584 if ((cp == cp))
585585 then {
586586 let cA = {
587587 let R = V
588588 if ($isInstanceOf(R, "ByteVector"))
589589 then {
590590 let cB = R
591591 [Burn(cB, bC)]
592592 }
593593 else nil
594594 }
595595 ([IntegerEntry(F(C), bx), IntegerEntry(H(C), (cw + cu)), IntegerEntry(J(C), (cx + bC)), IntegerEntry(G(C), 0), IntegerEntry(I(C), 0), ScriptTransfer(addressFromStringValue(C), cu, W)] ++ cA)
596596 }
597597 else throw("Strict value is not equal to itself.")
598598 }
599599
600600
601601 @Callable(cc)
602602 func setNewPeriodLength (co) = {
603603 let bQ = [if (aq(toString(cc.caller)))
604604 then true
605605 else f("caller is not in adminList")]
606606 if ((bQ == bQ))
607607 then cn(co)
608608 else throw("Strict value is not equal to itself.")
609609 }
610610
611611
612612
613613 @Callable(cc)
614614 func claimUnits () = {
615615 let C = toString(cc.caller)
616616 cy(C)
617617 }
618618
619619
620620
621621 @Callable(cc)
622622 func setForceStopFlag (cC) = {
623623 let cp = [if (aq(toString(cc.caller)))
624624 then true
625625 else f("caller is not in adminList")]
626626 if ((cp == cp))
627627 then [BooleanEntry(i, cC)]
628628 else throw("Strict value is not equal to itself.")
629629 }
630630
631631
632632
633633 @Callable(cc)
634634 func setForceOutStopFlag (cC) = {
635635 let cp = [if (aq(toString(cc.caller)))
636636 then true
637637 else f("caller is not in adminList")]
638638 if ((cp == cp))
639639 then [BooleanEntry(j, cC)]
640640 else throw("Strict value is not equal to itself.")
641641 }
642642
643643
644644
645645 @Callable(cc)
646646 func getNodeDataREADONLY (A) = {
647647 let cD = aW(A)
648648 let cE = cD._1
649649 let aU = cD._2
650650 $Tuple2(nil, $Tuple5(v, cE, w, aU, height))
651651 }
652652
653653
654654
655655 @Callable(cc)
656656 func getUserLeasingDataREADONLY (A,C) = {
657657 let cF = bh(A, C)
658658 let cE = cF._1
659659 let aU = cF._2
660660 $Tuple2(nil, $Tuple5(v, cE, w, aU, height))
661661 }
662662
663663
664664
665665 @Callable(cc)
666666 func getUserDataREADONLY (C) = {
667667 let cG = bo(C)
668668 let bm = cG._1
669669 let bn = cG._2
670670 let bt = bu(C)
671671 let cH = cq(C)
672672 let cu = cH._1
673673 let cw = cH._2
674674 let bC = cH._3
675675 let cx = cH._4
676676 let bx = cH._5
677677 let by = valueOrElse(getInteger(this, l), 0)
678678 let cI = max([0, ((x + y) - height)])
679679 $Tuple2(nil, $Tuple13(v, bm, w, bn, bt, height, cu, cw, bC, cx, bx, by, cI))
680680 }
681681
682682
683683
684684 @Callable(cc)
685685 func leaseByAddress (A,C) = cm(A, C, cc)
686686
687687
688688
689689 @Callable(cc)
690690 func lease (A) = {
691691 let C = toString(cc.caller)
692692 cm(A, C, cc)
693693 }
694694
695695
696696
697697 @Callable(cc)
698698 func leaseFromLocked (A,cJ) = {
699699 let C = toString(cc.caller)
700700 ce(A, C, cJ, cc)
701701 }
702702
703703
704704
705705 @Callable(cc)
706706 func cancelLease (A,cJ) = {
707707 let C = toString(cc.caller)
708708 bM(A, C, cJ)
709709 }
710710
711711
712712
713713 @Callable(cc)
714714 func claim (cJ) = {
715715 let C = toString(cc.caller)
716716 bX(C, cJ)
717717 }
718718
719719
720720
721721 @Callable(cc)
722722 func claimAll () = {
723723 let C = toString(cc.caller)
724724 let cK = bo(C)
725725 let bm = cK._1
726726 let bn = cK._2
727727 let bQ = [if ((bm > 0))
728728 then true
729729 else f("nothing to claim")]
730730 if ((bQ == bQ))
731731 then bX(C, bm)
732732 else throw("Strict value is not equal to itself.")
733733 }
734734
735735
736736
737737 @Callable(cc)
738738 func stakeFor (C) = cb(C, cc)
739739
740740
741741
742742 @Callable(cc)
743743 func startUnitsVesting (cL) = {
744744 let cM = 100000000000000000
745745 let cN = cc.payments[0].amount
746746 let by = (fraction(cN, e, cM) / cL)
747747 let cp = [if (aq(toString(cc.caller)))
748748 then true
749749 else f("caller is not in adminList"), if ((size(cc.payments) == 1))
750750 then true
751751 else f("should be 1 payment"), if ((by > 0))
752752 then true
753753 else f("units per block should be greated than 0")]
754754 if ((cp == cp))
755755 then [IntegerEntry(l, by), IntegerEntry(p, height), IntegerEntry(q, cL), StringEntry(k, P(cc.payments[0].assetId))]
756756 else throw("Strict value is not equal to itself.")
757757 }
758758
759759
760760
761761 @Callable(cc)
762762 func voteForTxId (af) = {
763763 let aM = toBase58String(cc.caller.bytes)
764764 let av = ae(af)
765765 let at = [StringEntry(ak(), af)]
766766 let cO = getString(this, ak())
767767 let aQ = [if ((size(fromBase58String(af)) == ad))
768768 then true
769769 else f((af + " is not valid txId")), if (if ((cO == unit))
770770 then true
771771 else (value(cO) != af))
772772 then true
773773 else f((af + " is already allowed"))]
774774 if ((aQ == aQ))
775775 then aL(aM, av, ac, at)
776776 else throw("Strict value is not equal to itself.")
777777 }
778778
779779
780780 @Verifier(cP)
781781 func cQ () = {
782782 let cR = (cP.id == fromBase58String(valueOrElse(getString(this, ak()), "")))
783783 let cS = if ((size(ao()) >= ac))
784784 then false
785785 else sigVerify(cP.bodyBytes, cP.proofs[0], cP.senderPublicKey)
786786 if (cR)
787787 then true
788788 else cS
789789 }
790790

github/deemru/w8io/169f3d6 
68.19 ms