tx · 4dqtKBM9rsxi1b3rV36zf4d4RraCaZ21zMrc2EdSKs1N

3N8y11BBhwvWJ8H7ZJhRdj4RSaCS4F1kmnq:  -0.01900000 Waves

2023.02.22 12:40 [2460685] smart account 3N8y11BBhwvWJ8H7ZJhRdj4RSaCS4F1kmnq > SELF 0.00000000 Waves

{ "type": 13, "id": "4dqtKBM9rsxi1b3rV36zf4d4RraCaZ21zMrc2EdSKs1N", "fee": 1900000, "feeAssetId": null, "timestamp": 1677058820453, "version": 2, "chainId": 84, "sender": "3N8y11BBhwvWJ8H7ZJhRdj4RSaCS4F1kmnq", "senderPublicKey": "9h5JzYfTWnVh4h7BT6Dk43FESut9R47V6knaMeebAvMj", "proofs": [ "3nLoYk6JsxKF5oa3eiJ28nVKrG8VYp88YPiZ6cPh181AUhn2ZsPZzD9bpe3Zx5RjSoxNRaVJfZ7gA8gK92fMmJY4" ], "script": "base64:BgI4CAISBwoFAQEBCAESBQoDARgBEgUKAwEBCBIHCgUBAQgICBIFCgMBAQgSAwoBCBIDCgEBEgMKAQhmAAlTRVBBUkFUT1ICAl9fAAhLRVlfSU5JVAIESU5JVAAMS0VZX01VTFRJU0lHAghNVUxUSVNJRwAKS0VZX1NUQVRVUwIGU1RBVFVTABBLRVlfTUlOX1NFQ19ERVBPAgxNSU5fU0VDX0RFUE8ADktFWV9QVU5JU0hNRU5UAgpQVU5JU0hNRU5UABVLRVlfUkVTRVRfQkxPQ0tfREVMVEECEVJFU0VUX0JMT0NLX0RFTFRBAAxLRVlfU0VDX0RFUE8CCFNFQ19ERVBPABhLRVlfUkVXQVJEX1RPS0VOX0FERFJFU1MCFFJFV0FSRF9UT0tFTl9BRERSRVNTABFLRVlfUkVXQVJEX0FNT1VOVAINUkVXQVJEX0FNT1VOVAARS0VZX0NVUlJFTlRfRVBPQ0gCDUNVUlJFTlRfRVBPQ0gAFUtFWV9TSUdORVJTX1BFUl9FUE9DSAIRU0lHTkVSU19QRVJfRVBPQ0gAEEtFWV9FVkVOVF9TVEFUVVMCDEVWRU5UX1NUQVRVUwAJS0VZX0xPQ0tTAgVMT0NLUwAFS0VZX1QCAVQABUtFWV9SAgFSAAVLRVlfUwIBUwANS0VZX1JfU0lHTkVSUwIJUl9TSUdORVJTABVLRVlfRVZFTlRfU1RBUlRfQkxPQ0sCEUVWRU5UX1NUQVJUX0JMT0NLAAtLRVlfUl9TSUdNQQIHUl9TSUdNQQALS0VZX1NfU0lHTUECB1NfU0lHTUEADUtFWV9TX1NJR05FUlMCCVNfU0lHTkVSUwAZS0VZX1NJR05FRF9FVkVOVF9FWEVDVVRPUgIVU0lHTkVEX0VWRU5UX0VYRUNVVE9SAAhLRVlfU0laRQIEU0laRQAORlVOQ19NSU5UX01BTlkCCG1pbnRNYW55ABFFVkVOVF9TVEFUVVNfSU5JVAABABFFVkVOVF9TVEFUVVNfU0lHTgACABFFVkVOVF9TVEFUVVNfRE9ORQADAAdNQVhfSU5UAP//////////fwEQX3ZhbGlkYXRlQWRkcmVzcwIIYWRkcmVzc18EZXJyXwQHJG1hdGNoMAkApggBBQhhZGRyZXNzXwMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBgkAAgEFBGVycl8BDl92YWxpZGF0ZUFzc2V0Aghhc3NldElkXwRlcnJfBAckbWF0Y2gwCQDsBwEJANkEAQUIYXNzZXRJZF8DCQABAgUHJG1hdGNoMAIFQXNzZXQEAWEFByRtYXRjaDAGCQACAQUEZXJyXwEMX3ZhbGlkYXRlSW50BAR2YWxfDmxvd2VyQm91bmRhcnlfDnVwcGVyQm91bmRhcnlfBGVycl8DAwkAZgIFDmxvd2VyQm91bmRhcnlfBQR2YWxfBgkAZgIFBHZhbF8FDnVwcGVyQm91bmRhcnlfCQACAQUEZXJyXwYBD192YWxpZGF0ZVN0cmluZwIEdmFsXwRlcnJfAwkAZwIAAAkAsQIBBQR2YWxfCQACAQUEZXJyXwYBFV92YWxpZGF0ZVBheW1lbnRzU2l6ZQMJcGF5bWVudHNfB3RhcmdldF8EZXJyXwMJAQIhPQIJAJADAQUJcGF5bWVudHNfBQd0YXJnZXRfCQACAQUEZXJyXwYBFV92YWxpZGF0ZVBheW1lbnRBc3NldAMIcGF5bWVudF8GYXNzZXRfBGVycl8DCQECIT0CCAUIcGF5bWVudF8HYXNzZXRJZAUGYXNzZXRfCQACAQUEZXJyXwYBEl92YWxpZGF0ZVB1YmxpY0tleQIKcHVibGljS2V5XwRlcnJfAwkBAiE9AgkAyAEBCQDZBAEFCnB1YmxpY0tleV8AIAkAAgEFBGVycl8GARNfdmFsaWRhdGVQdWJsaWNLZXlzAgtwdWJsaWNLZXlzXwRlcnJfCgEIZm9sZEZ1bmMCA2FjYwRlbGVtCQCUCgIDCAUDYWNjAl8xCQESX3ZhbGlkYXRlUHVibGljS2V5AgUEZWxlbQgFA2FjYwJfMgcIBQNhY2MCXzIEBnJlc3VsdAoAAiRsBQtwdWJsaWNLZXlzXwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgYFBGVycl8KAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCGZvbGRGdW5jAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKCAUGcmVzdWx0Al8xAQlfbG9hZEluaXQABAckbWF0Y2gwCQCgCAEFCEtFWV9JTklUAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQlfc2F2ZUluaXQBB2lzSW5pdF8JAMwIAgkBDEJvb2xlYW5FbnRyeQIFCEtFWV9JTklUBQdpc0luaXRfBQNuaWwBDV9sb2FkTXVsdGlzaWcABAckbWF0Y2gwCQCiCAEFDEtFWV9NVUxUSVNJRwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAAQ1fc2F2ZU11bHRpc2lnAQltdWx0aXNpZ18JAMwIAgkBC1N0cmluZ0VudHJ5AgUMS0VZX01VTFRJU0lHCQClCAEFCW11bHRpc2lnXwUDbmlsAQ9fbG9hZE1pblNlY0RlcG8ABAckbWF0Y2gwCQCfCAEFEEtFWV9NSU5fU0VDX0RFUE8DCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABD19zYXZlTWluU2VjRGVwbwEEdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgUQS0VZX01JTl9TRUNfREVQTwUEdmFsXwUDbmlsAQxfbG9hZFNlY0RlcG8BCGFjY291bnRfBAckbWF0Y2gwCQCfCAEJALkJAgkAzAgCBQxLRVlfU0VDX0RFUE8JAMwIAgkApQgBBQhhY2NvdW50XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABDF9zYXZlU2VjRGVwbwIIYWNjb3VudF8EdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFDEtFWV9TRUNfREVQTwkAzAgCCQClCAEFCGFjY291bnRfBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsAQ9fbG9hZFB1bmlzaG1lbnQABAckbWF0Y2gwCQCfCAEFDktFWV9QVU5JU0hNRU5UAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAQ9fc2F2ZVB1bmlzaG1lbnQBBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIFDktFWV9QVU5JU0hNRU5UBQR2YWxfBQNuaWwBFF9sb2FkUmVzZXRCbG9ja0RlbHRhAAQHJG1hdGNoMAkAnwgBBRVLRVlfUkVTRVRfQkxPQ0tfREVMVEEDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABFF9zYXZlUmVzZXRCbG9ja0RlbHRhAQR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRVLRVlfUkVTRVRfQkxPQ0tfREVMVEEFBHZhbF8FA25pbAEXX2xvYWRSZXdhcmRUb2tlbkFkZHJlc3MABAckbWF0Y2gwCQCiCAEFGEtFWV9SRVdBUkRfVE9LRU5fQUREUkVTUwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAARdfc2F2ZVJld2FyZFRva2VuQWRkcmVzcwEEdmFsXwkAzAgCCQELU3RyaW5nRW50cnkCBRhLRVlfUkVXQVJEX1RPS0VOX0FERFJFU1MJAKUIAQUEdmFsXwUDbmlsARFfbG9hZFJld2FyZEFtb3VudAAEByRtYXRjaDAJAJ8IAQURS0VZX1JFV0FSRF9BTU9VTlQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABEV9zYXZlUmV3YXJkQW1vdW50AQR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRFLRVlfUkVXQVJEX0FNT1VOVAUEdmFsXwUDbmlsARFfbG9hZEN1cnJlbnRFcG9jaAEMZXhlY0NoYWluSWRfBAckbWF0Y2gwCQCfCAEJALkJAgkAzAgCBRFLRVlfQ1VSUkVOVF9FUE9DSAkAzAgCCQCkAwEFDGV4ZWNDaGFpbklkXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABEV9zYXZlQ3VycmVudEVwb2NoAgxleGVjQ2hhaW5JZF8EdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFEUtFWV9DVVJSRU5UX0VQT0NICQDMCAIJAKQDAQUMZXhlY0NoYWluSWRfBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsAQxfbG9hZFNpZ25lcnMCDGV4ZWNDaGFpbklkXwZlcG9jaF8EByRtYXRjaDAJAKIIAQkAuQkCCQDMCAIFFUtFWV9TSUdORVJTX1BFUl9FUE9DSAkAzAgCCQCkAwEFDGV4ZWNDaGFpbklkXwkAzAgCCQCkAwEFBmVwb2NoXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQC1CQIFAWEFCVNFUEFSQVRPUgUDbmlsAQxfc2F2ZVNpZ25lcnMDDGV4ZWNDaGFpbklkXwZlcG9jaF8Ic2lnbmVyc18JAMwIAgkBC1N0cmluZ0VudHJ5AgkAuQkCCQDMCAIFFUtFWV9TSUdORVJTX1BFUl9FUE9DSAkAzAgCCQCkAwEFDGV4ZWNDaGFpbklkXwkAzAgCCQCkAwEFBmVwb2NoXwUDbmlsBQlTRVBBUkFUT1IJALkJAgUIc2lnbmVyc18FCVNFUEFSQVRPUgUDbmlsARBfbG9hZEV2ZW50U3RhdHVzAQhldmVudElkXwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgUQS0VZX0VWRU5UX1NUQVRVUwkAzAgCCQCkAwEFCGV2ZW50SWRfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEFEUVWRU5UX1NUQVRVU19JTklUARBfc2F2ZUV2ZW50U3RhdHVzAghldmVudElkXwdzdGF0dXNfCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQC5CQIJAMwIAgUQS0VZX0VWRU5UX1NUQVRVUwkAzAgCCQCkAwEFCGV2ZW50SWRfBQNuaWwFCVNFUEFSQVRPUgUHc3RhdHVzXwUDbmlsAQlfbG9hZExvY2sBCnB1YmxpY0tleV8EByRtYXRjaDAJAJ8IAQkAuQkCCQDMCAIFCUtFWV9MT0NLUwkAzAgCBQpwdWJsaWNLZXlfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAEJX3NhdmVMb2NrAgpwdWJsaWNLZXlfBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIJALkJAgkAzAgCBQlLRVlfTE9DS1MJAMwIAgUKcHVibGljS2V5XwUDbmlsBQlTRVBBUkFUT1IFBHZhbF8FA25pbAEGX2xvYWRUAgxleGVjQ2hhaW5JZF8GZXBvY2hfBAckbWF0Y2gwCQCfCAEJALkJAgkAzAgCBQVLRVlfVAkAzAgCCQCkAwEFDGV4ZWNDaGFpbklkXwkAzAgCCQCkAwEFBmVwb2NoXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABBl9zYXZlVAMMZXhlY0NoYWluSWRfBmVwb2NoXwR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQC5CQIJAMwIAgUFS0VZX1QJAMwIAgkApAMBBQxleGVjQ2hhaW5JZF8JAMwIAgkApAMBBQZlcG9jaF8FA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBDl9sb2FkUnNCeUV2ZW50AQhldmVudElkXwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUFS0VZX1IJAMwIAgkApAMBBQhldmVudElkXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQC1CQIFAWEFCVNFUEFSQVRPUgUDbmlsAQ5fc2F2ZVJzQnlFdmVudAIIZXZlbnRJZF8DcnNfCQDMCAIJAQtTdHJpbmdFbnRyeQIJALkJAgkAzAgCBQVLRVlfUgkAzAgCCQCkAwEFCGV2ZW50SWRfBQNuaWwFCVNFUEFSQVRPUgkAuQkCBQNyc18FCVNFUEFSQVRPUgUDbmlsAQ5fbG9hZFNzQnlFdmVudAEIZXZlbnRJZF8EByRtYXRjaDAJAKIIAQkAuQkCCQDMCAIFBUtFWV9TCQDMCAIJAKQDAQUIZXZlbnRJZF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkAtQkCBQFhBQlTRVBBUkFUT1IFA25pbAEOX3NhdmVTc0J5RXZlbnQCCGV2ZW50SWRfA3NzXwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgUFS0VZX1MJAMwIAgkApAMBBQhldmVudElkXwUDbmlsBQlTRVBBUkFUT1IJALkJAgUDc3NfBQlTRVBBUkFUT1IFA25pbAESX2xvYWRSU2lnbWFCeUV2ZW50AQhldmVudElkXwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgULS0VZX1JfU0lHTUEJAMwIAgkApAMBBQhldmVudElkXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABEl9zYXZlUlNpZ21hQnlFdmVudAIIZXZlbnRJZF8HclNpZ21hXwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgULS0VZX1JfU0lHTUEJAMwIAgkApAMBBQhldmVudElkXwUDbmlsBQlTRVBBUkFUT1IFB3JTaWdtYV8FA25pbAESX2xvYWRTU2lnbWFCeUV2ZW50AQhldmVudElkXwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgULS0VZX1NfU0lHTUEJAMwIAgkApAMBBQhldmVudElkXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABEl9zYXZlU1NpZ21hQnlFdmVudAIIZXZlbnRJZF8Hc1NpZ21hXwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgULS0VZX1NfU0lHTUEJAMwIAgkApAMBBQhldmVudElkXwUDbmlsBQlTRVBBUkFUT1IFB3NTaWdtYV8FA25pbAEWX2xvYWRSQnlFdmVudEFuZFNpZ25lcgIIZXZlbnRJZF8Hc2lnbmVyXwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUFS0VZX1IJAMwIAgkApAMBBQhldmVudElkXwkAzAgCBQdzaWduZXJfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAEWX3NhdmVSQnlFdmVudEFuZFNpZ25lcgMIZXZlbnRJZF8Hc2lnbmVyXwJyXwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgUFS0VZX1IJAMwIAgkApAMBBQhldmVudElkXwkAzAgCBQdzaWduZXJfBQNuaWwFCVNFUEFSQVRPUgUCcl8FA25pbAEWX2xvYWRTQnlFdmVudEFuZFNpZ25lcgIIZXZlbnRJZF8Hc2lnbmVyXwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUFS0VZX1MJAMwIAgkApAMBBQhldmVudElkXwkAzAgCBQdzaWduZXJfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAEWX3NhdmVTQnlFdmVudEFuZFNpZ25lcgMIZXZlbnRJZF8Hc2lnbmVyXwJzXwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgUFS0VZX1MJAMwIAgkApAMBBQhldmVudElkXwkAzAgCBQdzaWduZXJfBQNuaWwFCVNFUEFSQVRPUgUCc18FA25pbAEYX2xvYWRTaWduZXJzV2l0aFJCeUV2ZW50AQhldmVudElkXwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUNS0VZX1JfU0lHTkVSUwkAzAgCCQCkAwEFCGV2ZW50SWRfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJALUJAgUBYQUJU0VQQVJBVE9SBQNuaWwBGF9zYXZlU2lnbmVyc1dpdGhSQnlFdmVudAIIZXZlbnRJZF8DcnNfCQDMCAIJAQtTdHJpbmdFbnRyeQIJALkJAgkAzAgCBQ1LRVlfUl9TSUdORVJTCQDMCAIJAKQDAQUIZXZlbnRJZF8FA25pbAUJU0VQQVJBVE9SCQC5CQIFA3JzXwUJU0VQQVJBVE9SBQNuaWwBGF9sb2FkU2lnbmVyc1dpdGhTQnlFdmVudAEIZXZlbnRJZF8EByRtYXRjaDAJAKIIAQkAuQkCCQDMCAIFDUtFWV9TX1NJR05FUlMJAMwIAgkApAMBBQhldmVudElkXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQC1CQIFAWEFCVNFUEFSQVRPUgUDbmlsARhfc2F2ZVNpZ25lcnNXaXRoU0J5RXZlbnQCCGV2ZW50SWRfA3NzXwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgUNS0VZX1NfU0lHTkVSUwkAzAgCCQCkAwEFCGV2ZW50SWRfBQNuaWwFCVNFUEFSQVRPUgkAuQkCBQNzc18FCVNFUEFSQVRPUgUDbmlsARRfbG9hZEV2ZW50U3RhcnRCbG9jawEIZXZlbnRJZF8EByRtYXRjaDAJAJ8IAQkAuQkCCQDMCAIFFUtFWV9FVkVOVF9TVEFSVF9CTE9DSwkAzAgCCQCkAwEFCGV2ZW50SWRfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAEUX3NhdmVFdmVudFN0YXJ0QmxvY2sCCGV2ZW50SWRfBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIJALkJAgkAzAgCBRVLRVlfRVZFTlRfU1RBUlRfQkxPQ0sJAMwIAgkApAMBBQhldmVudElkXwUDbmlsBQlTRVBBUkFUT1IFBHZhbF8FA25pbAEfX2xvYWRTaWduZWRFdmVudEV4ZWN1dG9ySWR4U2l6ZQERZXhlY3V0aW9uQ2hhaW5JZF8EByRtYXRjaDAJAJ8IAQkAuQkCCQDMCAIFGUtFWV9TSUdORURfRVZFTlRfRVhFQ1VUT1IJAMwIAgkApAMBBRFleGVjdXRpb25DaGFpbklkXwkAzAgCBQhLRVlfU0laRQUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABH19zYXZlU2lnbmVkRXZlbnRFeGVjdXRvcklkeFNpemUCEWV4ZWN1dGlvbkNoYWluSWRfBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIJALkJAgkAzAgCBRlLRVlfU0lHTkVEX0VWRU5UX0VYRUNVVE9SCQDMCAIJAKQDAQURZXhlY3V0aW9uQ2hhaW5JZF8JAMwIAgUIS0VZX1NJWkUFA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBG19sb2FkU2lnbmVkRXZlbnRFeGVjdXRvcklkeAIRZXhlY3V0aW9uQ2hhaW5JZF8EaWR4XwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgUZS0VZX1NJR05FRF9FVkVOVF9FWEVDVVRPUgkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIJAKQDAQUEaWR4XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABG19zYXZlU2lnbmVkRXZlbnRFeGVjdXRvcklkeAMRZXhlY3V0aW9uQ2hhaW5JZF8EaWR4XwR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQC5CQIJAMwIAgUZS0VZX1NJR05FRF9FVkVOVF9FWEVDVVRPUgkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIJAKQDAQUEaWR4XwUDbmlsBQlTRVBBUkFUT1IFBHZhbF8FA25pbAERX29ubHlUaGlzQ29udHJhY3QBB2NhbGxlcl8DCQECIT0CBQdjYWxsZXJfBQR0aGlzCQACAQIZX29ubHlUaGlzQ29udHJhY3Q6IHJldmVydAYBEF93aGVuTXVsdGlzaWdTZXQAAwkAAAIJAQ1fbG9hZE11bHRpc2lnAAkBB0FkZHJlc3MBAQAJAAIBAhhfd2hlbk11bHRpc2lnU2V0OiByZXZlcnQGARNfd2hlbk5vdEluaXRpYWxpemVkAAMJAQlfbG9hZEluaXQACQACAQIbX3doZW5Ob3RJbml0aWFsaXplZDogcmV2ZXJ0BgEQX3doZW5Jbml0aWFsaXplZAADCQEBIQEJAQlfbG9hZEluaXQACQACAQIYX3doZW5Jbml0aWFsaXplZDogcmV2ZXJ0BgEPX2lzQWN0aXZlU2lnbmVyAwpwdWJsaWNLZXlfC3B1YmxpY0tleXNfBGVycl8DCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBQtwdWJsaWNLZXlzXwUKcHVibGljS2V5XwkAAgEFBGVycl8GAQ1fY2hlY2tTZWNEZXBvAgdzaWduZXJfBGVycl8DCQBmAgkBD19sb2FkTWluU2VjRGVwbwAJAQxfbG9hZFNlY0RlcG8BCQCnCAEJANkEAQUHc2lnbmVyXwkAAgEFBGVycl8GARtfY2hlY2tFdmVudFN0YXR1c0ZvclN1Ym1pdFICCGV2ZW50SWRfBGVycl8DCQECIT0CCQEQX2xvYWRFdmVudFN0YXR1cwEFCGV2ZW50SWRfBRFFVkVOVF9TVEFUVVNfSU5JVAkAAgEFBGVycl8GARtfY2hlY2tFdmVudFN0YXR1c0ZvclN1Ym1pdFMCCGV2ZW50SWRfBGVycl8DCQECIT0CCQEQX2xvYWRFdmVudFN0YXR1cwEFCGV2ZW50SWRfBRFFVkVOVF9TVEFUVVNfU0lHTgkAAgEFBGVycl8GARlfY2hlY2tFdmVudFN0YXR1c0ZvclJlc2V0AghldmVudElkXwRlcnJfAwMJAQIhPQIJARBfbG9hZEV2ZW50U3RhdHVzAQUIZXZlbnRJZF8FEUVWRU5UX1NUQVRVU19TSUdOBgkAZwIFBmhlaWdodAkAZAIJARRfbG9hZEV2ZW50U3RhcnRCbG9jawEFCGV2ZW50SWRfCQEUX2xvYWRSZXNldEJsb2NrRGVsdGEACQACAQUEZXJyXwYBD19pbmNyZW1lbnRMb2NrcwEIc2lnbmVyc18KAQhmb2xkRnVuYwIDYWNjBGVsZW0JAM0IAgUDYWNjCQEJX3NhdmVMb2NrAgUEZWxlbQkAZAIJAQlfbG9hZExvY2sBBQRlbGVtAAEKAAIkbAUIc2lnbmVyc18KAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCGZvbGRGdW5jAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAQtfaXNaZXJvTG9jawIKcHVibGljS2V5XwRlcnJfAwkAZgIJAQlfbG9hZExvY2sBBQpwdWJsaWNLZXlfAAAJAAIBBQRlcnJfBgEOX25vdFN1Ym1pdHRlZFIDCGV2ZW50SWRfB3NpZ25lcl8EZXJyXwMJAQIhPQIJARZfbG9hZFJCeUV2ZW50QW5kU2lnbmVyAgUIZXZlbnRJZF8FB3NpZ25lcl8CAAkAAgEFBGVycl8GAQ5fbm90U3VibWl0dGVkUwMIZXZlbnRJZF8Hc2lnbmVyXwRlcnJfAwkBAiE9AgkBFl9sb2FkU0J5RXZlbnRBbmRTaWduZXICBQhldmVudElkXwUHc2lnbmVyXwIACQACAQUEZXJyXwYBC19zdWJtaXR0ZWRSAwhldmVudElkXwdzaWduZXJfBGVycl8EAXIJARZfbG9hZFJCeUV2ZW50QW5kU2lnbmVyAgUIZXZlbnRJZF8FB3NpZ25lcl8DCQAAAgUBcgIACQACAQUEZXJyXwMJAQEhAQkBD2NvbnRhaW5zRWxlbWVudAIJAQ5fbG9hZFJzQnlFdmVudAEFCGV2ZW50SWRfBQFyCQACAQUEZXJyXwYBD19zbGFzaEluY29ycmVjdAINc2lnbmVyc1dpdGhSXw1zaWduZXJzV2l0aFNfBApwdW5pc2htZW50CQEPX2xvYWRQdW5pc2htZW50AAoBCGZvbGRGdW5jAgNhY2MEZWxlbQMJAQ9jb250YWluc0VsZW1lbnQCBQ1zaWduZXJzV2l0aFNfBQRlbGVtCQCVCgMIBQNhY2MCXzEJAM0IAggFA2FjYwJfMgUEZWxlbQgFA2FjYwJfMwQNc2lnbmVyQWRkcmVzcwkApwgBCQDZBAEFBGVsZW0JAJUKAwkAzggCCAUDYWNjAl8xCQEMX3NhdmVTZWNEZXBvAgUNc2lnbmVyQWRkcmVzcwkAZQIJAQxfbG9hZFNlY0RlcG8BBQ1zaWduZXJBZGRyZXNzBQpwdW5pc2htZW50CAUDYWNjAl8yCQBkAggFA2FjYwJfMwUKcHVuaXNobWVudAoAAiRsBQ1zaWduZXJzV2l0aFJfCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlQoDBQNuaWwFA25pbAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhmb2xkRnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgESX2NvbXBlbnNhdGVDb3JyZWN0AghzaWduZXJzXw1jb21wZW5zYXRpb25fBAlwZXJTaWduZXIJAGkCBQ1jb21wZW5zYXRpb25fCQCQAwEFCHNpZ25lcnNfCgEIZm9sZEZ1bmMCA2FjYwRlbGVtCQDNCAIFA2FjYwkBDlNjcmlwdFRyYW5zZmVyAwkApwgBCQDZBAEFBGVsZW0FCXBlclNpZ25lcgUEdW5pdAoAAiRsBQhzaWduZXJzXwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEIZm9sZEZ1bmMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoBFV9wdWJsaWNLZXlzVG9BZGRyc1N0cgELcHVibGljS2V5c18KAQhmb2xkZnVuYwIEYWNjXwVlbGVtXwkAzQgCBQRhY2NfCQCnCAEJANkEAQUFZWxlbV8KAAIkbAULcHVibGljS2V5c18KAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCGZvbGRmdW5jAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyA1MQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwgBaQEEaW5pdAULbWluU2VjRGVwb18LcHVuaXNobWVudF8QcmVzZXRCbG9ja0RlbHRhXxNyZXdhcmRUb2tlbkFkZHJlc3NfDXJld2FyZEFtb3VudF8EA2VycgMDAwMDAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBE193aGVuTm90SW5pdGlhbGl6ZWQABwkBEF93aGVuTXVsdGlzaWdTZXQABwkBDF92YWxpZGF0ZUludAQFC21pblNlY0RlcG9fBQtwdW5pc2htZW50XwUHTUFYX0lOVAIYaW5pdDogaW52YWxpZCBtaW5TZWNEZXBvBwkBDF92YWxpZGF0ZUludAQFC3B1bmlzaG1lbnRfAAAFB01BWF9JTlQCGGluaXQ6IGludmFsaWQgcHVuaXNobWVudAcJAQxfdmFsaWRhdGVJbnQEBRByZXNldEJsb2NrRGVsdGFfAAAFB01BWF9JTlQCHWluaXQ6IGludmFsaWQgcmVzZXRCbG9ja0RlbHRhBwkBEF92YWxpZGF0ZUFkZHJlc3MCBRNyZXdhcmRUb2tlbkFkZHJlc3NfAiBpbml0OiBpbnZhbGlkIHJld2FyZFRva2VuQWRkcmVzcwcJAQxfdmFsaWRhdGVJbnQEBQ1yZXdhcmRBbW91bnRfAAAFB01BWF9JTlQCGmluaXQ6IGludmFsaWQgcmV3YXJkQW1vdW50BwMJAAACBQNlcnIFA2VycgkAlAoCCQDOCAIJAM4IAgkAzggCCQDOCAIJAM4IAgkBCV9zYXZlSW5pdAEGCQEPX3NhdmVNaW5TZWNEZXBvAQULbWluU2VjRGVwb18JAQ9fc2F2ZVB1bmlzaG1lbnQBBQtwdW5pc2htZW50XwkBFF9zYXZlUmVzZXRCbG9ja0RlbHRhAQUQcmVzZXRCbG9ja0RlbHRhXwkBF19zYXZlUmV3YXJkVG9rZW5BZGRyZXNzAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUTcmV3YXJkVG9rZW5BZGRyZXNzXwkBEV9zYXZlUmV3YXJkQW1vdW50AQUNcmV3YXJkQW1vdW50XwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARBzZXRBY3RpdmVTaWduZXJzAwxleGVjQ2hhaW5JZF8Ic2lnbmVyc18CdF8EA2VycgMDAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHCQETX3ZhbGlkYXRlUHVibGljS2V5cwIFCHNpZ25lcnNfAiFzZXRBY3RpdmVTaWduZXJzOiBpbnZhbGlkIHNpZ25lcnMHCQEMX3ZhbGlkYXRlSW50BAUCdF8AAgkAkAMBBQhzaWduZXJzXwIbc2V0QWN0aXZlU2lnbmVyczogaW52YWxpZCBUBwMJAAACBQNlcnIFA2VycgQFZXBvY2gJARFfbG9hZEN1cnJlbnRFcG9jaAEFDGV4ZWNDaGFpbklkXwkAlAoCCQDOCAIJAM4IAgkAzggCCQERX3NhdmVDdXJyZW50RXBvY2gCBQxleGVjQ2hhaW5JZF8JAGQCBQVlcG9jaAABCQEGX3NhdmVUAwUMZXhlY0NoYWluSWRfCQBkAgUFZXBvY2gAAQUCdF8JAQxfc2F2ZVNpZ25lcnMDBQxleGVjQ2hhaW5JZF8JAGQCBQVlcG9jaAABBQhzaWduZXJzXwkBD19pbmNyZW1lbnRMb2NrcwEFCHNpZ25lcnNfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB3N1Ym1pdFIDCGV2ZW50SWRfDGV4ZWNDaGFpbklkXwJyXwQPY2FsbGVyUHVibGljS2V5CQDYBAEIBQFpD2NhbGxlclB1YmxpY0tleQQFZXBvY2gJARFfbG9hZEN1cnJlbnRFcG9jaAEFDGV4ZWNDaGFpbklkXwQBdAkBBl9sb2FkVAIFDGV4ZWNDaGFpbklkXwUFZXBvY2gEA2VycgMDAwMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDF92YWxpZGF0ZUludAQFCGV2ZW50SWRfAAAFB01BWF9JTlQCGHN1Ym1pdFI6IGludmFsaWQgZXZlbnRJZAcJAQxfdmFsaWRhdGVJbnQEBQxleGVjQ2hhaW5JZF8AAAUHTUFYX0lOVAIcc3VibWl0UjogaW52YWxpZCBleGVjQ2hhaW5JZAcJAQ9fdmFsaWRhdGVTdHJpbmcCBQJyXwISc3VibWl0UjogaW52YWxpZCByBwkBD19pc0FjdGl2ZVNpZ25lcgMFD2NhbGxlclB1YmxpY0tleQkBDF9sb2FkU2lnbmVycwIFDGV4ZWNDaGFpbklkXwUFZXBvY2gCE3N1Ym1pdFI6IG5vdCBhY3RpdmUHCQENX2NoZWNrU2VjRGVwbwIFD2NhbGxlclB1YmxpY0tleQIkc3VibWl0Ujogbm90IGVub3VnaCBzZWN1cml0eSBkZXBvc2l0BwkBG19jaGVja0V2ZW50U3RhdHVzRm9yU3VibWl0UgIFCGV2ZW50SWRfAh1zdWJtaXRSOiBpbnZhbGlkIGV2ZW50IHN0YXR1cwcJAQ5fbm90U3VibWl0dGVkUgMFCGV2ZW50SWRfBQ9jYWxsZXJQdWJsaWNLZXkCGnN1Ym1pdFI6IGFscmVhZHkgc3VibWl0dGVkBwMJAAACBQNlcnIFA2VycgQGckFycmF5CQEOX2xvYWRSc0J5RXZlbnQBBQhldmVudElkXwQMc2lnbmVyc0FycmF5CQEYX2xvYWRTaWduZXJzV2l0aFJCeUV2ZW50AQUIZXZlbnRJZF8EEmV2ZW50U3RhdHVzQWN0aW9ucwMJAAACCQBkAgkAkAMBBQZyQXJyYXkAAQUBdAkAzggCCQEQX3NhdmVFdmVudFN0YXR1cwIFCGV2ZW50SWRfBRFFVkVOVF9TVEFUVVNfU0lHTgkBFF9zYXZlRXZlbnRTdGFydEJsb2NrAgUIZXZlbnRJZF8FBmhlaWdodAUDbmlsCQCUCgIJAM4IAgkAzggCCQDOCAIJAQ5fc2F2ZVJzQnlFdmVudAIFCGV2ZW50SWRfCQDNCAIFBnJBcnJheQUCcl8JARZfc2F2ZVJCeUV2ZW50QW5kU2lnbmVyAwUIZXZlbnRJZF8FD2NhbGxlclB1YmxpY0tleQUCcl8JARhfc2F2ZVNpZ25lcnNXaXRoUkJ5RXZlbnQCBQhldmVudElkXwkAzQgCBQxzaWduZXJzQXJyYXkFD2NhbGxlclB1YmxpY0tleQUSZXZlbnRTdGF0dXNBY3Rpb25zBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB3N1Ym1pdFMFCGV2ZW50SWRfDGV4ZWNDaGFpbklkXwdyU2lnbWFfAnNfB3NTaWdtYV8ED2NhbGxlclB1YmxpY0tleQkA2AQBCAUBaQ9jYWxsZXJQdWJsaWNLZXkEBWVwb2NoCQERX2xvYWRDdXJyZW50RXBvY2gBBQxleGVjQ2hhaW5JZF8EAXQJAQZfbG9hZFQCBQxleGVjQ2hhaW5JZF8FBWVwb2NoBANlcnIDAwMDAwMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDF92YWxpZGF0ZUludAQFCGV2ZW50SWRfAAAFB01BWF9JTlQCGHN1Ym1pdFM6IGludmFsaWQgZXZlbnRJZAcJAQxfdmFsaWRhdGVJbnQEBQxleGVjQ2hhaW5JZF8AAAUHTUFYX0lOVAIcc3VibWl0UzogaW52YWxpZCBleGVjQ2hhaW5JZAcJAQ9fdmFsaWRhdGVTdHJpbmcCBQdyU2lnbWFfAhhzdWJtaXRTOiBpbnZhbGlkIHIgc2lnbWEHCQEPX3ZhbGlkYXRlU3RyaW5nAgUCc18CEnN1Ym1pdFM6IGludmFsaWQgcwcJAQ9faXNBY3RpdmVTaWduZXIDBQ9jYWxsZXJQdWJsaWNLZXkJAQxfbG9hZFNpZ25lcnMCBQxleGVjQ2hhaW5JZF8FBWVwb2NoAhNzdWJtaXRTOiBub3QgYWN0aXZlBwkBDV9jaGVja1NlY0RlcG8CBQ9jYWxsZXJQdWJsaWNLZXkCJHN1Ym1pdFM6IG5vdCBlbm91Z2ggc2VjdXJpdHkgZGVwb3NpdAcJARtfY2hlY2tFdmVudFN0YXR1c0ZvclN1Ym1pdFMCBQhldmVudElkXwIdc3VibWl0UzogaW52YWxpZCBldmVudCBzdGF0dXMHCQEOX25vdFN1Ym1pdHRlZFMDBQhldmVudElkXwUPY2FsbGVyUHVibGljS2V5AhpzdWJtaXRTOiBhbHJlYWR5IHN1Ym1pdHRlZAcJAQtfc3VibWl0dGVkUgMFCGV2ZW50SWRfBQ9jYWxsZXJQdWJsaWNLZXkCG3N1Ym1pdFM6IFIgaXMgbm90IHN1Ym1pdHRlZAcDCQAAAgUDZXJyBQNlcnIEBnNBcnJheQkBDl9sb2FkU3NCeUV2ZW50AQUIZXZlbnRJZF8EDHNpZ25lcnNBcnJheQkBGF9sb2FkU2lnbmVyc1dpdGhTQnlFdmVudAEFCGV2ZW50SWRfBBJldmVudFN0YXR1c0FjdGlvbnMDCQAAAgkAZAIJAJADAQUGc0FycmF5AAEFAXQEBGVycjEJAQ9fdmFsaWRhdGVTdHJpbmcCBQdzU2lnbWFfAhhzdWJtaXRTOiBpbnZhbGlkIHMgc2lnbWEDCQAAAgUEZXJyMQUEZXJyMQQPZXhlY3V0b3JJZHhTaXplCQEfX2xvYWRTaWduZWRFdmVudEV4ZWN1dG9ySWR4U2l6ZQEFDGV4ZWNDaGFpbklkXwQPcmV3YXJkQWRkcmVzc2VzCQEVX3B1YmxpY0tleXNUb0FkZHJzU3RyAQkAzQgCBQxzaWduZXJzQXJyYXkFD2NhbGxlclB1YmxpY0tleQQQd2l0bmVzc2VzUmV3YXJkcwkA/AcECQEXX2xvYWRSZXdhcmRUb2tlbkFkZHJlc3MABQ5GVU5DX01JTlRfTUFOWQkAzAgCCQERX2xvYWRSZXdhcmRBbW91bnQACQDMCAIFD3Jld2FyZEFkZHJlc3NlcwUDbmlsBQNuaWwDCQAAAgUQd2l0bmVzc2VzUmV3YXJkcwUQd2l0bmVzc2VzUmV3YXJkcwkAzggCCQDOCAIJAM4IAgkBEF9zYXZlRXZlbnRTdGF0dXMCBQhldmVudElkXwURRVZFTlRfU1RBVFVTX0RPTkUJARtfc2F2ZVNpZ25lZEV2ZW50RXhlY3V0b3JJZHgDBQxleGVjQ2hhaW5JZF8FD2V4ZWN1dG9ySWR4U2l6ZQUIZXZlbnRJZF8JAR9fc2F2ZVNpZ25lZEV2ZW50RXhlY3V0b3JJZHhTaXplAgUMZXhlY0NoYWluSWRfCQBkAgUPZXhlY3V0b3JJZHhTaXplAAEJARJfc2F2ZVNTaWdtYUJ5RXZlbnQCBQhldmVudElkXwUHc1NpZ21hXwkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUDbmlsCQCUCgIJAM4IAgkAzggCCQDOCAIJAM4IAgkBDl9zYXZlU3NCeUV2ZW50AgUIZXZlbnRJZF8JAM0IAgUGc0FycmF5BQJzXwkBFl9zYXZlU0J5RXZlbnRBbmRTaWduZXIDBQhldmVudElkXwUPY2FsbGVyUHVibGljS2V5BQJzXwkBGF9zYXZlU2lnbmVyc1dpdGhTQnlFdmVudAIFCGV2ZW50SWRfCQDNCAIFDHNpZ25lcnNBcnJheQUPY2FsbGVyUHVibGljS2V5CQESX3NhdmVSU2lnbWFCeUV2ZW50AgUIZXZlbnRJZF8FB3JTaWdtYV8FEmV2ZW50U3RhdHVzQWN0aW9ucwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVyZXNldAMIZXZlbnRJZF8MZXhlY0NoYWluSWRfAnJfBA9jYWxsZXJQdWJsaWNLZXkJANgEAQgFAWkPY2FsbGVyUHVibGljS2V5BAVlcG9jaAkBEV9sb2FkQ3VycmVudEVwb2NoAQUMZXhlY0NoYWluSWRfBANlcnIDAwMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDF92YWxpZGF0ZUludAQFCGV2ZW50SWRfAAAFB01BWF9JTlQCFnJlc2V0OiBpbnZhbGlkIGV2ZW50SWQHCQEMX3ZhbGlkYXRlSW50BAUMZXhlY0NoYWluSWRfAAAFB01BWF9JTlQCGnJlc2V0OiBpbnZhbGlkIGV4ZWNDaGFpbklkBwkBD192YWxpZGF0ZVN0cmluZwIFAnJfAhByZXNldDogaW52YWxpZCByBwkBD19pc0FjdGl2ZVNpZ25lcgMFD2NhbGxlclB1YmxpY0tleQkBDF9sb2FkU2lnbmVycwIFDGV4ZWNDaGFpbklkXwUFZXBvY2gCEXJlc2V0OiBub3QgYWN0aXZlBwkBDV9jaGVja1NlY0RlcG8CBQ9jYWxsZXJQdWJsaWNLZXkCInJlc2V0OiBub3QgZW5vdWdoIHNlY3VyaXR5IGRlcG9zaXQHCQEZX2NoZWNrRXZlbnRTdGF0dXNGb3JSZXNldAIFCGV2ZW50SWRfAhtyZXNldDogaW52YWxpZCBldmVudCBzdGF0dXMHAwkAAAIFA2VycgUDZXJyBAtzbGFzaEFtb3VudAAABAxzaWduZXJzV2l0aFIJARhfbG9hZFNpZ25lcnNXaXRoUkJ5RXZlbnQBBQhldmVudElkXwQMc2lnbmVyc1dpdGhTCQEYX2xvYWRTaWduZXJzV2l0aFNCeUV2ZW50AQUIZXZlbnRJZF8EBnJlc3VsdAkBD19zbGFzaEluY29ycmVjdAIFDHNpZ25lcnNXaXRoUgUMc2lnbmVyc1dpdGhTBA9zbGFzaGluZ0FjdGlvbnMIBQZyZXN1bHQCXzEEEmNvbXBlbnNhdGVkU2lnbmVycwgFBnJlc3VsdAJfMgQMY29tcGVuc2F0aW9uCAUGcmVzdWx0Al8zBBNjb21wZW5zYXRpb25BY3Rpb25zCQESX2NvbXBlbnNhdGVDb3JyZWN0AgUSY29tcGVuc2F0ZWRTaWduZXJzBQxjb21wZW5zYXRpb24JAJQKAgkAzggCCQDOCAIJAM4IAgkAzggCCQDOCAIJAM4IAgkAzggCCQEOX3NhdmVSc0J5RXZlbnQCBQhldmVudElkXwkAzAgCBQJyXwUDbmlsCQEWX3NhdmVSQnlFdmVudEFuZFNpZ25lcgMFCGV2ZW50SWRfBQ9jYWxsZXJQdWJsaWNLZXkFAnJfCQEYX3NhdmVTaWduZXJzV2l0aFJCeUV2ZW50AgUIZXZlbnRJZF8JAMwIAgUPY2FsbGVyUHVibGljS2V5BQNuaWwJARJfc2F2ZVJTaWdtYUJ5RXZlbnQCBQhldmVudElkXwIACQESX3NhdmVTU2lnbWFCeUV2ZW50AgUIZXZlbnRJZF8CAAkBEF9zYXZlRXZlbnRTdGF0dXMCBQhldmVudElkXwURRVZFTlRfU1RBVFVTX0lOSVQFD3NsYXNoaW5nQWN0aW9ucwUTY29tcGVuc2F0aW9uQWN0aW9ucwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJhZGRTZWN1cml0eURlcG9zaXQBCnJlY2lwaWVudF8ECXJlY2lwaWVudAMJAAACBQpyZWNpcGllbnRfAgAJAKUIAQgFAWkGY2FsbGVyBQpyZWNpcGllbnRfBANlcnIDAwkBEF92YWxpZGF0ZUFkZHJlc3MCBQlyZWNpcGllbnQCJWFkZFNlY3VyaXR5RGVwb3NpdDogaW52YWxpZCByZWNpcGllbnQJARVfdmFsaWRhdGVQYXltZW50c1NpemUDCAUBaQhwYXltZW50cwABAh5hZGRTZWN1cml0eURlcG9zaXQ6IG5vIHBheW1lbnQHCQEVX3ZhbGlkYXRlUGF5bWVudEFzc2V0AwkAkQMCCAUBaQhwYXltZW50cwAABQR1bml0AiFhZGRTZWN1cml0eURlcG9zaXQ6IGludmFsaWQgYXNzZXQHAwkAAAIFA2VycgUDZXJyBA1yZWNpcGllbnRBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBBQlyZWNpcGllbnQEB2JhbGFuY2UJAQxfbG9hZFNlY0RlcG8BBQ1yZWNpcGllbnRBZGRyBA51cGRhdGVkQmFsYW5jZQkAZAIFB2JhbGFuY2UICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50CQCUCgIJAQxfc2F2ZVNlY0RlcG8CBQ1yZWNpcGllbnRBZGRyBQ51cGRhdGVkQmFsYW5jZQUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJzdWJTZWN1cml0eURlcG9zaXQBB2Ftb3VudF8EB2JhbGFuY2UJAQxfbG9hZFNlY0RlcG8BCAUBaQZjYWxsZXIEA2VycgMJAQtfaXNaZXJvTG9jawIJANgEAQgFAWkPY2FsbGVyUHVibGljS2V5AhpzdWJTZWN1cml0eURlcG9zaXQ6IGxvY2tlZAMJAGYCBQdhbW91bnRfBQdiYWxhbmNlCQACAQIoc3ViU2VjdXJpdHlEZXBvc2l0OiBpbnN1ZmZpY2llbnQgYmFsYW5jZQYHAwkAAAIFA2VycgUDZXJyCQCUCgIJAM4IAgkBDF9zYXZlU2VjRGVwbwIIBQFpBmNhbGxlcgkAZQIFB2JhbGFuY2UFB2Ftb3VudF8JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQdhbW91bnRfBQR1bml0BQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELc2V0TXVsdGlzaWcBCW11bHRpc2lnXwQDZXJyAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCW11bHRpc2lnXwIlc2V0TXVsdGlzaWc6IGludmFsaWQgbXVsdGlzaWcgYWRkcmVzcwcDCQAAAgUDZXJyBQNlcnIJAJQKAgkBDV9zYXZlTXVsdGlzaWcBCQERQGV4dHJOYXRpdmUoMTA2MikBBQltdWx0aXNpZ18FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAckbWF0Y2gwCQCiCAEFDEtFWV9NVUxUSVNJRwMJAAECBQckbWF0Y2gwAgZTdHJpbmcECG11bHRpc2lnBQckbWF0Y2gwCQELdmFsdWVPckVsc2UCCQCbCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCG11bHRpc2lnCQC5CQIJAMwIAgUKS0VZX1NUQVRVUwkAzAgCCQClCAEFBHRoaXMJAMwIAgkA2AQBCAUCdHgCaWQFA25pbAUJU0VQQVJBVE9SBwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQzxd8s=", "height": 2460685, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H4YEN2wfFoxtbRV4vHBCvsVa3H8ZCX5uFQqdkJJJh6jU Next: BdV5Z7Rnpzjch5sCVB6EiNtKqpt4RSM7t2tCCoDQ9atM Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "INIT"
77
88 let c = "MULTISIG"
99
1010 let d = "STATUS"
1111
1212 let e = "MIN_SEC_DEPO"
1313
1414 let f = "PUNISHMENT"
1515
1616 let g = "RESET_BLOCK_DELTA"
1717
1818 let h = "SEC_DEPO"
1919
2020 let i = "REWARD_TOKEN_ADDRESS"
2121
2222 let j = "REWARD_AMOUNT"
2323
2424 let k = "CURRENT_EPOCH"
2525
2626 let l = "SIGNERS_PER_EPOCH"
2727
2828 let m = "EVENT_STATUS"
2929
3030 let n = "LOCKS"
3131
3232 let o = "T"
3333
3434 let p = "R"
3535
3636 let q = "S"
3737
3838 let r = "R_SIGNERS"
3939
4040 let s = "EVENT_START_BLOCK"
4141
4242 let t = "R_SIGMA"
4343
4444 let u = "S_SIGMA"
4545
4646 let v = "S_SIGNERS"
4747
4848 let w = "SIGNED_EVENT_EXECUTOR"
4949
5050 let x = "SIZE"
5151
5252 let y = "mintMany"
5353
5454 let z = 1
5555
5656 let A = 2
5757
5858 let B = 3
5959
6060 let C = 9223372036854775807
6161
6262 func D (E,F) = {
6363 let G = addressFromString(E)
6464 if ($isInstanceOf(G, "Address"))
6565 then {
6666 let H = G
6767 true
6868 }
6969 else throw(F)
7070 }
7171
7272
7373 func I (J,F) = {
7474 let G = assetInfo(fromBase58String(J))
7575 if ($isInstanceOf(G, "Asset"))
7676 then {
7777 let H = G
7878 true
7979 }
8080 else throw(F)
8181 }
8282
8383
8484 func K (L,M,N,F) = if (if ((M > L))
8585 then true
8686 else (L > N))
8787 then throw(F)
8888 else true
8989
9090
9191 func O (L,F) = if ((0 >= size(L)))
9292 then throw(F)
9393 else true
9494
9595
9696 func P (Q,R,F) = if ((size(Q) != R))
9797 then throw(F)
9898 else true
9999
100100
101101 func S (T,U,F) = if ((T.assetId != U))
102102 then throw(F)
103103 else true
104104
105105
106106 func V (W,F) = if ((size(fromBase58String(W)) != 32))
107107 then throw(F)
108108 else true
109109
110110
111111 func X (Y,F) = {
112112 func Z (aa,ab) = $Tuple2(if (aa._1)
113113 then V(ab, aa._2)
114114 else false, aa._2)
115115
116116 let ac = {
117117 let ad = Y
118118 let ae = size(ad)
119119 let af = $Tuple2(true, F)
120120 func ag (ah,ai) = if ((ai >= ae))
121121 then ah
122122 else Z(ah, ad[ai])
123123
124124 func aj (ah,ai) = if ((ai >= ae))
125125 then ah
126126 else throw("List size exceeds 10")
127127
128128 aj(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
129129 }
130130 ac._1
131131 }
132132
133133
134134 func ak () = {
135135 let G = getBoolean(b)
136136 if ($isInstanceOf(G, "Boolean"))
137137 then {
138138 let H = G
139139 H
140140 }
141141 else false
142142 }
143143
144144
145145 func al (am) = [BooleanEntry(b, am)]
146146
147147
148148 func an () = {
149149 let G = getString(c)
150150 if ($isInstanceOf(G, "String"))
151151 then {
152152 let H = G
153153 addressFromStringValue(H)
154154 }
155155 else Address(base58'')
156156 }
157157
158158
159159 func ao (ap) = [StringEntry(c, toString(ap))]
160160
161161
162162 func aq () = {
163163 let G = getInteger(e)
164164 if ($isInstanceOf(G, "Int"))
165165 then {
166166 let H = G
167167 H
168168 }
169169 else 0
170170 }
171171
172172
173173 func ar (L) = [IntegerEntry(e, L)]
174174
175175
176176 func as (at) = {
177177 let G = getInteger(makeString([h, toString(at)], a))
178178 if ($isInstanceOf(G, "Int"))
179179 then {
180180 let H = G
181181 H
182182 }
183183 else 0
184184 }
185185
186186
187187 func au (at,L) = [IntegerEntry(makeString([h, toString(at)], a), L)]
188188
189189
190190 func av () = {
191191 let G = getInteger(f)
192192 if ($isInstanceOf(G, "Int"))
193193 then {
194194 let H = G
195195 H
196196 }
197197 else 0
198198 }
199199
200200
201201 func aw (L) = [IntegerEntry(f, L)]
202202
203203
204204 func ax () = {
205205 let G = getInteger(g)
206206 if ($isInstanceOf(G, "Int"))
207207 then {
208208 let H = G
209209 H
210210 }
211211 else 0
212212 }
213213
214214
215215 func ay (L) = [IntegerEntry(g, L)]
216216
217217
218218 func az () = {
219219 let G = getString(i)
220220 if ($isInstanceOf(G, "String"))
221221 then {
222222 let H = G
223223 addressFromStringValue(H)
224224 }
225225 else Address(base58'')
226226 }
227227
228228
229229 func aA (L) = [StringEntry(i, toString(L))]
230230
231231
232232 func aB () = {
233233 let G = getInteger(j)
234234 if ($isInstanceOf(G, "Int"))
235235 then {
236236 let H = G
237237 H
238238 }
239239 else 0
240240 }
241241
242242
243243 func aC (L) = [IntegerEntry(j, L)]
244244
245245
246246 func aD (aE) = {
247247 let G = getInteger(makeString([k, toString(aE)], a))
248248 if ($isInstanceOf(G, "Int"))
249249 then {
250250 let H = G
251251 H
252252 }
253253 else 0
254254 }
255255
256256
257257 func aF (aE,L) = [IntegerEntry(makeString([k, toString(aE)], a), L)]
258258
259259
260260 func aG (aE,aH) = {
261261 let G = getString(makeString([l, toString(aE), toString(aH)], a))
262262 if ($isInstanceOf(G, "String"))
263263 then {
264264 let H = G
265265 split(H, a)
266266 }
267267 else nil
268268 }
269269
270270
271271 func aI (aE,aH,aJ) = [StringEntry(makeString([l, toString(aE), toString(aH)], a), makeString(aJ, a))]
272272
273273
274274 func aK (aL) = {
275275 let G = getInteger(makeString([m, toString(aL)], a))
276276 if ($isInstanceOf(G, "Int"))
277277 then {
278278 let H = G
279279 H
280280 }
281281 else z
282282 }
283283
284284
285285 func aM (aL,aN) = [IntegerEntry(makeString([m, toString(aL)], a), aN)]
286286
287287
288288 func aO (W) = {
289289 let G = getInteger(makeString([n, W], a))
290290 if ($isInstanceOf(G, "Int"))
291291 then {
292292 let H = G
293293 H
294294 }
295295 else 0
296296 }
297297
298298
299299 func aP (W,L) = [IntegerEntry(makeString([n, W], a), L)]
300300
301301
302302 func aQ (aE,aH) = {
303303 let G = getInteger(makeString([o, toString(aE), toString(aH)], a))
304304 if ($isInstanceOf(G, "Int"))
305305 then {
306306 let H = G
307307 H
308308 }
309309 else 0
310310 }
311311
312312
313313 func aR (aE,aH,L) = [IntegerEntry(makeString([o, toString(aE), toString(aH)], a), L)]
314314
315315
316316 func aS (aL) = {
317317 let G = getString(makeString([p, toString(aL)], a))
318318 if ($isInstanceOf(G, "String"))
319319 then {
320320 let H = G
321321 split(H, a)
322322 }
323323 else nil
324324 }
325325
326326
327327 func aT (aL,aU) = [StringEntry(makeString([p, toString(aL)], a), makeString(aU, a))]
328328
329329
330330 func aV (aL) = {
331331 let G = getString(makeString([q, toString(aL)], a))
332332 if ($isInstanceOf(G, "String"))
333333 then {
334334 let H = G
335335 split(H, a)
336336 }
337337 else nil
338338 }
339339
340340
341341 func aW (aL,aX) = [StringEntry(makeString([q, toString(aL)], a), makeString(aX, a))]
342342
343343
344344 func aY (aL) = {
345345 let G = getString(makeString([t, toString(aL)], a))
346346 if ($isInstanceOf(G, "String"))
347347 then {
348348 let H = G
349349 H
350350 }
351351 else ""
352352 }
353353
354354
355355 func aZ (aL,ba) = [StringEntry(makeString([t, toString(aL)], a), ba)]
356356
357357
358358 func bb (aL) = {
359359 let G = getString(makeString([u, toString(aL)], a))
360360 if ($isInstanceOf(G, "String"))
361361 then {
362362 let H = G
363363 H
364364 }
365365 else ""
366366 }
367367
368368
369369 func bc (aL,bd) = [StringEntry(makeString([u, toString(aL)], a), bd)]
370370
371371
372372 func be (aL,bf) = {
373373 let G = getString(makeString([p, toString(aL), bf], a))
374374 if ($isInstanceOf(G, "String"))
375375 then {
376376 let H = G
377377 H
378378 }
379379 else ""
380380 }
381381
382382
383383 func bg (aL,bf,bh) = [StringEntry(makeString([p, toString(aL), bf], a), bh)]
384384
385385
386386 func bi (aL,bf) = {
387387 let G = getString(makeString([q, toString(aL), bf], a))
388388 if ($isInstanceOf(G, "String"))
389389 then {
390390 let H = G
391391 H
392392 }
393393 else ""
394394 }
395395
396396
397397 func bj (aL,bf,bk) = [StringEntry(makeString([q, toString(aL), bf], a), bk)]
398398
399399
400400 func bl (aL) = {
401401 let G = getString(makeString([r, toString(aL)], a))
402402 if ($isInstanceOf(G, "String"))
403403 then {
404404 let H = G
405405 split(H, a)
406406 }
407407 else nil
408408 }
409409
410410
411411 func bm (aL,aU) = [StringEntry(makeString([r, toString(aL)], a), makeString(aU, a))]
412412
413413
414414 func bn (aL) = {
415415 let G = getString(makeString([v, toString(aL)], a))
416416 if ($isInstanceOf(G, "String"))
417417 then {
418418 let H = G
419419 split(H, a)
420420 }
421421 else nil
422422 }
423423
424424
425425 func bo (aL,aX) = [StringEntry(makeString([v, toString(aL)], a), makeString(aX, a))]
426426
427427
428428 func bp (aL) = {
429429 let G = getInteger(makeString([s, toString(aL)], a))
430430 if ($isInstanceOf(G, "Int"))
431431 then {
432432 let H = G
433433 H
434434 }
435435 else 0
436436 }
437437
438438
439439 func bq (aL,L) = [IntegerEntry(makeString([s, toString(aL)], a), L)]
440440
441441
442442 func br (bs) = {
443443 let G = getInteger(makeString([w, toString(bs), x], a))
444444 if ($isInstanceOf(G, "Int"))
445445 then {
446446 let H = G
447447 H
448448 }
449449 else 0
450450 }
451451
452452
453453 func bt (bs,L) = [IntegerEntry(makeString([w, toString(bs), x], a), L)]
454454
455455
456456 func bu (bs,bv) = {
457457 let G = getInteger(makeString([w, toString(bs), toString(bv)], a))
458458 if ($isInstanceOf(G, "Int"))
459459 then {
460460 let H = G
461461 H
462462 }
463463 else 0
464464 }
465465
466466
467467 func bw (bs,bv,L) = [IntegerEntry(makeString([w, toString(bs), toString(bv)], a), L)]
468468
469469
470470 func bx (by) = if ((by != this))
471471 then throw("_onlyThisContract: revert")
472472 else true
473473
474474
475475 func bz () = if ((an() == Address(base58'')))
476476 then throw("_whenMultisigSet: revert")
477477 else true
478478
479479
480480 func bA () = if (ak())
481481 then throw("_whenNotInitialized: revert")
482482 else true
483483
484484
485485 func bB () = if (!(ak()))
486486 then throw("_whenInitialized: revert")
487487 else true
488488
489489
490490 func bC (W,Y,F) = if (!(containsElement(Y, W)))
491491 then throw(F)
492492 else true
493493
494494
495495 func bD (bf,F) = if ((aq() > as(addressFromPublicKey(fromBase58String(bf)))))
496496 then throw(F)
497497 else true
498498
499499
500500 func bE (aL,F) = if ((aK(aL) != z))
501501 then throw(F)
502502 else true
503503
504504
505505 func bF (aL,F) = if ((aK(aL) != A))
506506 then throw(F)
507507 else true
508508
509509
510510 func bG (aL,F) = if (if ((aK(aL) != A))
511511 then true
512512 else (height >= (bp(aL) + ax())))
513513 then throw(F)
514514 else true
515515
516516
517517 func bH (aJ) = {
518518 func Z (aa,ab) = (aa :+ aP(ab, (aO(ab) + 1)))
519519
520520 let ad = aJ
521521 let ae = size(ad)
522522 let af = nil
523523 func ag (ah,ai) = if ((ai >= ae))
524524 then ah
525525 else Z(ah, ad[ai])
526526
527527 func aj (ah,ai) = if ((ai >= ae))
528528 then ah
529529 else throw("List size exceeds 10")
530530
531531 aj(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
532532 }
533533
534534
535535 func bI (W,F) = if ((aO(W) > 0))
536536 then throw(F)
537537 else true
538538
539539
540540 func bJ (aL,bf,F) = if ((be(aL, bf) != ""))
541541 then throw(F)
542542 else true
543543
544544
545545 func bK (aL,bf,F) = if ((bi(aL, bf) != ""))
546546 then throw(F)
547547 else true
548548
549549
550550 func bL (aL,bf,F) = {
551551 let bM = be(aL, bf)
552552 if ((bM == ""))
553553 then throw(F)
554554 else if (!(containsElement(aS(aL), bM)))
555555 then throw(F)
556556 else true
557557 }
558558
559559
560560 func bN (bO,bP) = {
561561 let bQ = av()
562562 func Z (aa,ab) = if (containsElement(bP, ab))
563563 then $Tuple3(aa._1, (aa._2 :+ ab), aa._3)
564564 else {
565565 let bR = addressFromPublicKey(fromBase58String(ab))
566566 $Tuple3((aa._1 ++ au(bR, (as(bR) - bQ))), aa._2, (aa._3 + bQ))
567567 }
568568
569569 let ad = bO
570570 let ae = size(ad)
571571 let af = $Tuple3(nil, nil, 0)
572572 func ag (ah,ai) = if ((ai >= ae))
573573 then ah
574574 else Z(ah, ad[ai])
575575
576576 func aj (ah,ai) = if ((ai >= ae))
577577 then ah
578578 else throw("List size exceeds 10")
579579
580580 aj(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
581581 }
582582
583583
584584 func bS (aJ,bT) = {
585585 let bU = (bT / size(aJ))
586586 func Z (aa,ab) = (aa :+ ScriptTransfer(addressFromPublicKey(fromBase58String(ab)), bU, unit))
587587
588588 let ad = aJ
589589 let ae = size(ad)
590590 let af = nil
591591 func ag (ah,ai) = if ((ai >= ae))
592592 then ah
593593 else Z(ah, ad[ai])
594594
595595 func aj (ah,ai) = if ((ai >= ae))
596596 then ah
597597 else throw("List size exceeds 10")
598598
599599 aj(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
600600 }
601601
602602
603603 func bV (Y) = {
604604 func bW (bX,bY) = (bX :+ addressFromPublicKey(fromBase58String(bY)))
605605
606606 let ad = Y
607607 let ae = size(ad)
608608 let af = nil
609609 func ag (ah,ai) = if ((ai >= ae))
610610 then ah
611611 else bW(ah, ad[ai])
612612
613613 func aj (ah,ai) = if ((ai >= ae))
614614 then ah
615615 else throw("List size exceeds 51")
616616
617617 aj(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51)
618618 }
619619
620620
621621 @Callable(bZ)
622622 func init (ca,cb,cc,cd,ce) = {
623623 let cf = if (if (if (if (if (if (if (bx(bZ.caller))
624624 then bA()
625625 else false)
626626 then bz()
627627 else false)
628628 then K(ca, cb, C, "init: invalid minSecDepo")
629629 else false)
630630 then K(cb, 0, C, "init: invalid punishment")
631631 else false)
632632 then K(cc, 0, C, "init: invalid resetBlockDelta")
633633 else false)
634634 then D(cd, "init: invalid rewardTokenAddress")
635635 else false)
636636 then K(ce, 0, C, "init: invalid rewardAmount")
637637 else false
638638 if ((cf == cf))
639639 then $Tuple2((((((al(true) ++ ar(ca)) ++ aw(cb)) ++ ay(cc)) ++ aA(addressFromStringValue(cd))) ++ aC(ce)), unit)
640640 else throw("Strict value is not equal to itself.")
641641 }
642642
643643
644644
645645 @Callable(bZ)
646646 func setActiveSigners (aE,aJ,cg) = {
647647 let cf = if (if (if (bx(bZ.caller))
648648 then bB()
649649 else false)
650650 then X(aJ, "setActiveSigners: invalid signers")
651651 else false)
652652 then K(cg, 2, size(aJ), "setActiveSigners: invalid T")
653653 else false
654654 if ((cf == cf))
655655 then {
656656 let ch = aD(aE)
657657 $Tuple2((((aF(aE, (ch + 1)) ++ aR(aE, (ch + 1), cg)) ++ aI(aE, (ch + 1), aJ)) ++ bH(aJ)), unit)
658658 }
659659 else throw("Strict value is not equal to itself.")
660660 }
661661
662662
663663
664664 @Callable(bZ)
665665 func submitR (aL,aE,bh) = {
666666 let ci = toBase58String(bZ.callerPublicKey)
667667 let ch = aD(aE)
668668 let cj = aQ(aE, ch)
669669 let cf = if (if (if (if (if (if (if (bB())
670670 then K(aL, 0, C, "submitR: invalid eventId")
671671 else false)
672672 then K(aE, 0, C, "submitR: invalid execChainId")
673673 else false)
674674 then O(bh, "submitR: invalid r")
675675 else false)
676676 then bC(ci, aG(aE, ch), "submitR: not active")
677677 else false)
678678 then bD(ci, "submitR: not enough security deposit")
679679 else false)
680680 then bE(aL, "submitR: invalid event status")
681681 else false)
682682 then bJ(aL, ci, "submitR: already submitted")
683683 else false
684684 if ((cf == cf))
685685 then {
686686 let ck = aS(aL)
687687 let cl = bl(aL)
688688 let cm = if (((size(ck) + 1) == cj))
689689 then (aM(aL, A) ++ bq(aL, height))
690690 else nil
691691 $Tuple2((((aT(aL, (ck :+ bh)) ++ bg(aL, ci, bh)) ++ bm(aL, (cl :+ ci))) ++ cm), unit)
692692 }
693693 else throw("Strict value is not equal to itself.")
694694 }
695695
696696
697697
698698 @Callable(bZ)
699699 func submitS (aL,aE,ba,bk,bd) = {
700700 let ci = toBase58String(bZ.callerPublicKey)
701701 let ch = aD(aE)
702702 let cj = aQ(aE, ch)
703703 let cf = if (if (if (if (if (if (if (if (if (bB())
704704 then K(aL, 0, C, "submitS: invalid eventId")
705705 else false)
706706 then K(aE, 0, C, "submitS: invalid execChainId")
707707 else false)
708708 then O(ba, "submitS: invalid r sigma")
709709 else false)
710710 then O(bk, "submitS: invalid s")
711711 else false)
712712 then bC(ci, aG(aE, ch), "submitS: not active")
713713 else false)
714714 then bD(ci, "submitS: not enough security deposit")
715715 else false)
716716 then bF(aL, "submitS: invalid event status")
717717 else false)
718718 then bK(aL, ci, "submitS: already submitted")
719719 else false)
720720 then bL(aL, ci, "submitS: R is not submitted")
721721 else false
722722 if ((cf == cf))
723723 then {
724724 let cn = aV(aL)
725725 let cl = bn(aL)
726726 let cm = if (((size(cn) + 1) == cj))
727727 then {
728728 let co = O(bd, "submitS: invalid s sigma")
729729 if ((co == co))
730730 then {
731731 let cp = br(aE)
732732 let cq = bV((cl :+ ci))
733733 let cr = invoke(az(), y, [aB(), cq], nil)
734734 if ((cr == cr))
735735 then (((aM(aL, B) ++ bw(aE, cp, aL)) ++ bt(aE, (cp + 1))) ++ bc(aL, bd))
736736 else throw("Strict value is not equal to itself.")
737737 }
738738 else throw("Strict value is not equal to itself.")
739739 }
740740 else nil
741741 $Tuple2(((((aW(aL, (cn :+ bk)) ++ bj(aL, ci, bk)) ++ bo(aL, (cl :+ ci))) ++ aZ(aL, ba)) ++ cm), unit)
742742 }
743743 else throw("Strict value is not equal to itself.")
744744 }
745745
746746
747747
748748 @Callable(bZ)
749749 func reset (aL,aE,bh) = {
750750 let ci = toBase58String(bZ.callerPublicKey)
751751 let ch = aD(aE)
752752 let cf = if (if (if (if (if (if (bB())
753753 then K(aL, 0, C, "reset: invalid eventId")
754754 else false)
755755 then K(aE, 0, C, "reset: invalid execChainId")
756756 else false)
757757 then O(bh, "reset: invalid r")
758758 else false)
759759 then bC(ci, aG(aE, ch), "reset: not active")
760760 else false)
761761 then bD(ci, "reset: not enough security deposit")
762762 else false)
763763 then bG(aL, "reset: invalid event status")
764764 else false
765765 if ((cf == cf))
766766 then {
767767 let cs = 0
768768 let ct = bl(aL)
769769 let cu = bn(aL)
770770 let ac = bN(ct, cu)
771771 let cv = ac._1
772772 let cw = ac._2
773773 let cx = ac._3
774774 let cy = bS(cw, cx)
775775 $Tuple2((((((((aT(aL, [bh]) ++ bg(aL, ci, bh)) ++ bm(aL, [ci])) ++ aZ(aL, "")) ++ bc(aL, "")) ++ aM(aL, z)) ++ cv) ++ cy), unit)
776776 }
777777 else throw("Strict value is not equal to itself.")
778778 }
779779
780780
781781
782782 @Callable(bZ)
783783 func addSecurityDeposit (cz) = {
784784 let cA = if ((cz == ""))
785785 then toString(bZ.caller)
786786 else cz
787787 let cf = if (if (D(cA, "addSecurityDeposit: invalid recipient"))
788788 then P(bZ.payments, 1, "addSecurityDeposit: no payment")
789789 else false)
790790 then S(bZ.payments[0], unit, "addSecurityDeposit: invalid asset")
791791 else false
792792 if ((cf == cf))
793793 then {
794794 let cB = addressFromStringValue(cA)
795795 let cC = as(cB)
796796 let cD = (cC + bZ.payments[0].amount)
797797 $Tuple2(au(cB, cD), unit)
798798 }
799799 else throw("Strict value is not equal to itself.")
800800 }
801801
802802
803803
804804 @Callable(bZ)
805805 func subSecurityDeposit (cE) = {
806806 let cC = as(bZ.caller)
807807 let cf = if (bI(toBase58String(bZ.callerPublicKey), "subSecurityDeposit: locked"))
808808 then if ((cE > cC))
809809 then throw("subSecurityDeposit: insufficient balance")
810810 else true
811811 else false
812812 if ((cf == cf))
813813 then $Tuple2((au(bZ.caller, (cC - cE)) ++ [ScriptTransfer(bZ.caller, cE, unit)]), unit)
814814 else throw("Strict value is not equal to itself.")
815815 }
816816
817817
818818
819819 @Callable(bZ)
820820 func setMultisig (ap) = {
821821 let cf = if (bx(bZ.caller))
822822 then D(ap, "setMultisig: invalid multisig address")
823823 else false
824824 if ((cf == cf))
825825 then $Tuple2(ao(addressFromStringValue(ap)), unit)
826826 else throw("Strict value is not equal to itself.")
827827 }
828828
829829
830830 @Verifier(cF)
831831 func cG () = {
832832 let G = getString(c)
833833 if ($isInstanceOf(G, "String"))
834834 then {
835835 let cH = G
836836 valueOrElse(getBoolean(addressFromStringValue(cH), makeString([d, toString(this), toBase58String(cF.id)], a)), false)
837837 }
838838 else sigVerify(cF.bodyBytes, cF.proofs[0], cF.senderPublicKey)
839839 }
840840

github/deemru/w8io/026f985 
71.31 ms