tx · 2WKUirVcMpQUDDokDWowue7hGuXqGuH2riBivzimqcN5

3Mx4GxjrawhKHBgMKH9C5Hmbj8ePZDrs8ed:  -0.01800000 Waves

2023.07.03 12:24 [2649543] smart account 3Mx4GxjrawhKHBgMKH9C5Hmbj8ePZDrs8ed > SELF 0.00000000 Waves

{ "type": 13, "id": "2WKUirVcMpQUDDokDWowue7hGuXqGuH2riBivzimqcN5", "fee": 1800000, "feeAssetId": null, "timestamp": 1688376132446, "version": 2, "chainId": 84, "sender": "3Mx4GxjrawhKHBgMKH9C5Hmbj8ePZDrs8ed", "senderPublicKey": "9DpEgmia9fGpxtGGDeSMtER4g9qB7WQPPYTKTHzqSFuX", "proofs": [ "2S9W9z7FG3Htuj2F5wNg6ep5JuRJrSyp133Pekr9xFH8Bu79niBYBe2q8LCVoo3PH7xvDQ4uNbSfAh1hh3h7FdTC" ], "script": "base64:BgJcCAISBgoECAgICBIJCgcICAgICAgIEgUKAwEIARIGCgQBCAgBEgQKAgEIEgMKAQgSBAoCAQQSAwoBCBIFCgMBCAESCwoJAQgIAQEBAQEEEgASABIDCgEIEgMKAQhAAAlTRVBBUkFUT1ICAl9fAAhLRVlfSU5JVAIESU5JVAAMS0VZX01VTFRJU0lHAghNVUxUSVNJRwAKS0VZX1NUQVRVUwIGU1RBVFVTAApLRVlfUEFVU0VEAgZQQVVTRUQACktFWV9QQVVTRVICBlBBVVNFUgAMS0VZX0VYRUNVVE9SAghFWEVDVVRPUgAQS0VZX1JPT1RfQURBUFRFUgIMUk9PVF9BREFQVEVSABNLRVlfQ0FMTEVSX0NPTlRSQUNUAg9DQUxMRVJfQ09OVFJBQ1QACUtFWV9DSEFJTgIFQ0hBSU4AC0tFWV9CSU5ESU5HAgdCSU5ESU5HAAdLRVlfRkVFAgNGRUUAEUtFWV9GRUVfUkVDSVBJRU5UAg1GRUVfUkVDSVBJRU5UABhLRVlfUkVGRVJSRVJfRkVFX1BFUkNFTlQCFFJFRkVSUkVSX0ZFRV9QRVJDRU5UABNGVU5DX1JFTEVBU0VfVE9LRU5TAg1yZWxlYXNlVG9rZW5zAAVXQVZFUwIFV0FWRVMADldBVkVTX0RFQ0lNQUxTAAgACERFQ0lNQUxTAAYADlBFUkNFTlRfRkFDVE9SAMCEPQAQTUFYX1JFRkVSUkVSX0ZFRQDAmgwAB01BWF9JTlQA//////////9/ARBfdmFsaWRhdGVBZGRyZXNzAghhZGRyZXNzXwRlcnJfBAckbWF0Y2gwCQCmCAEFCGFkZHJlc3NfAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAGCQACAQUEZXJyXwEOX3ZhbGlkYXRlQXNzZXQCCGFzc2V0SWRfBGVycl8EByRtYXRjaDAJAOwHAQkA2QQBBQhhc3NldElkXwMJAAECBQckbWF0Y2gwAgVBc3NldAQBYQUHJG1hdGNoMAYJAAIBBQRlcnJfAQxfdmFsaWRhdGVJbnQEBHZhbF8ObG93ZXJCb3VuZGFyeV8OdXBwZXJCb3VuZGFyeV8EZXJyXwMDCQBmAgUObG93ZXJCb3VuZGFyeV8FBHZhbF8GCQBmAgUEdmFsXwUOdXBwZXJCb3VuZGFyeV8JAAIBBQRlcnJfBgENX3ZhbGlkYXRlQm9vbAMEdmFsXwd0YXJnZXRfBGVycl8DCQECIT0CBQR2YWxfBQd0YXJnZXRfCQACAQUEZXJyXwYBFV92YWxpZGF0ZVBheW1lbnRzU2l6ZQMJcGF5bWVudHNfB3RhcmdldF8EZXJyXwMJAQIhPQIJAJADAQUJcGF5bWVudHNfBQd0YXJnZXRfCQACAQUEZXJyXwYBEV92YWxpZGF0ZVJlZmVycmVyAglyZWZlcnJlcl8EZXJyXwMJAQIhPQIFCXJlZmVycmVyXwIACQEQX3ZhbGlkYXRlQWRkcmVzcwIFCXJlZmVycmVyXwUEZXJyXwYBEl9ub3JtYWxpemVEZWNpbWFscwMHYW1vdW50Xw9zb3VyY2VEZWNpbWFsc18PdGFyZ2V0RGVjaW1hbHNfAwkAZwIFD3NvdXJjZURlY2ltYWxzXwUPdGFyZ2V0RGVjaW1hbHNfCQBpAgUHYW1vdW50XwkAbAYACgAACQBlAgUPc291cmNlRGVjaW1hbHNfBQ90YXJnZXREZWNpbWFsc18AAAAABQRET1dOCQBoAgUHYW1vdW50XwkAbAYACgAACQBlAgUPdGFyZ2V0RGVjaW1hbHNfBQ9zb3VyY2VEZWNpbWFsc18AAAAABQRET1dOAQlfbG9hZEluaXQABAckbWF0Y2gwCQCgCAEFCEtFWV9JTklUAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQlfc2F2ZUluaXQBB2lzSW5pdF8JAMwIAgkBDEJvb2xlYW5FbnRyeQIFCEtFWV9JTklUBQdpc0luaXRfBQNuaWwBCl9sb2FkUGF1c2UABAckbWF0Y2gwCQCgCAEFCktFWV9QQVVTRUQDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYQUHJG1hdGNoMAUBYQcBCl9zYXZlUGF1c2UBCWlzUGF1c2VkXwkAzAgCCQEMQm9vbGVhbkVudHJ5AgUKS0VZX1BBVVNFRAUJaXNQYXVzZWRfBQNuaWwBC19sb2FkUGF1c2VyAAQHJG1hdGNoMAkAoggBBQpLRVlfUEFVU0VSAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABC19zYXZlUGF1c2VyAQdwYXVzZXJfCQDMCAIJAQtTdHJpbmdFbnRyeQIFCktFWV9QQVVTRVIJAKUIAQUHcGF1c2VyXwUDbmlsAQ1fbG9hZE11bHRpc2lnAAQHJG1hdGNoMAkAoggBBQxLRVlfTVVMVElTSUcDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAENX3NhdmVNdWx0aXNpZwEJbXVsdGlzaWdfCQDMCAIJAQtTdHJpbmdFbnRyeQIFDEtFWV9NVUxUSVNJRwkApQgBBQltdWx0aXNpZ18FA25pbAENX2xvYWRFeGVjdXRvcgAEByRtYXRjaDAJAKIIAQUMS0VZX0VYRUNVVE9SAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABDV9zYXZlRXhlY3V0b3IBCWV4ZWN1dG9yXwkAzAgCCQELU3RyaW5nRW50cnkCBQxLRVlfRVhFQ1VUT1IJAKUIAQUJZXhlY3V0b3JfBQNuaWwBE19sb2FkQ2FsbGVyQ29udHJhY3QABAckbWF0Y2gwCQCiCAEFE0tFWV9DQUxMRVJfQ09OVFJBQ1QDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABE19zYXZlQ2FsbGVyQ29udHJhY3QBB2NhbGxlcl8JAMwIAgkBC1N0cmluZ0VudHJ5AgUTS0VZX0NBTExFUl9DT05UUkFDVAUHY2FsbGVyXwUDbmlsAQpfbG9hZENoYWluAQhjaGFpbklkXwQHJG1hdGNoMAkAoAgBCQC5CQIJAMwIAgUJS0VZX0NIQUlOCQDMCAIJAKQDAQUIY2hhaW5JZF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQpfc2F2ZUNoYWluAghjaGFpbklkXwR2YWxfCQDMCAIJAQxCb29sZWFuRW50cnkCCQC5CQIJAMwIAgUJS0VZX0NIQUlOCQDMCAIJAKQDAQUIY2hhaW5JZF8FA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBDF9sb2FkQmluZGluZwIRZXhlY3V0aW9uQ2hhaW5JZF8IYXNzZXRJZF8EByRtYXRjaDAJAKIIAQkAuQkCCQDMCAIFC0tFWV9CSU5ESU5HCQDMCAIJAKQDAQURZXhlY3V0aW9uQ2hhaW5JZF8JAMwIAgkA2AQBBQhhc3NldElkXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBAZzdHJ1Y3QJALUJAgUBYQUJU0VQQVJBVE9SCQCaCggJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUGc3RydWN0AAAJAJEDAgUGc3RydWN0AAEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QAAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnN0cnVjdAADCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGc3RydWN0AAQJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QABQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnN0cnVjdAAGAwkAAAIJAJEDAgUGc3RydWN0AAcCATEGBwkAmgoICQEHQWRkcmVzcwEBAAIAAAAAAAAAAAAAAAcBDF9zYXZlQmluZGluZwMRZXhlY3V0aW9uQ2hhaW5JZF8IYXNzZXRJZF8IYmluZGluZ18JAMwIAgkBC1N0cmluZ0VudHJ5AgkAuQkCCQDMCAIFC0tFWV9CSU5ESU5HCQDMCAIJAKQDAQURZXhlY3V0aW9uQ2hhaW5JZF8JAMwIAgkA2AQBBQhhc3NldElkXwUDbmlsBQlTRVBBUkFUT1IJALkJAgkAzAgCCQClCAEIBQhiaW5kaW5nXwJfMQkAzAgCCAUIYmluZGluZ18CXzIJAMwIAgkApAMBCAUIYmluZGluZ18CXzMJAMwIAgkApAMBCAUIYmluZGluZ18CXzQJAMwIAgkApAMBCAUIYmluZGluZ18CXzUJAMwIAgkApAMBCAUIYmluZGluZ18CXzYJAMwIAgkApAMBCAUIYmluZGluZ18CXzcJAMwIAgMIBQhiaW5kaW5nXwJfOAIBMQIBMAUDbmlsBQlTRVBBUkFUT1IFA25pbAEIX2xvYWRGZWUBCGFzc2V0SWRfBAckbWF0Y2gwCQCfCAEJALkJAgkAzAgCBQdLRVlfRkVFCQDMCAIJANgEAQUIYXNzZXRJZF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAQhfc2F2ZUZlZQIIYXNzZXRJZF8EdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFB0tFWV9GRUUJAMwIAgkA2AQBBQhhc3NldElkXwUDbmlsBQlTRVBBUkFUT1IFBHZhbF8FA25pbAEQX2xvYWRSb290QWRhcHRlcgAEByRtYXRjaDAJAKIIAQUQS0VZX1JPT1RfQURBUFRFUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAARBfc2F2ZVJvb3RBZGFwdGVyAQhhZGFwdGVyXwkAzAgCCQELU3RyaW5nRW50cnkCBRBLRVlfUk9PVF9BREFQVEVSCQClCAEFCGFkYXB0ZXJfBQNuaWwBEV9sb2FkRmVlUmVjaXBpZW50AAQHJG1hdGNoMAkAoggBBRFLRVlfRkVFX1JFQ0lQSUVOVAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAARFfc2F2ZUZlZVJlY2lwaWVudAEEdmFsXwkAzAgCCQELU3RyaW5nRW50cnkCBRFLRVlfRkVFX1JFQ0lQSUVOVAkApQgBBQR2YWxfBQNuaWwBF19sb2FkUmVmZXJyZXJGZWVQZXJjZW50AhFleGVjdXRpb25DaGFpbklkXwlyZWZlcnJlcl8EByRtYXRjaDAJAJ8IAQkAuQkCCQDMCAIFGEtFWV9SRUZFUlJFUl9GRUVfUEVSQ0VOVAkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIJAKUIAQUJcmVmZXJyZXJfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAEXX3NhdmVSZWZlcnJlckZlZVBlcmNlbnQDEWV4ZWN1dGlvbkNoYWluSWRfCXJlZmVycmVyXwR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQC5CQIJAMwIAgUYS0VZX1JFRkVSUkVSX0ZFRV9QRVJDRU5UCQDMCAIJAKQDAQURZXhlY3V0aW9uQ2hhaW5JZF8JAMwIAgkApQgBBQlyZWZlcnJlcl8FA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBEV9vbmx5VGhpc0NvbnRyYWN0AQdjYWxsZXJfAwkBAiE9AgUHY2FsbGVyXwUEdGhpcwkAAgECGV9vbmx5VGhpc0NvbnRyYWN0OiByZXZlcnQGARBfd2hlbk11bHRpc2lnU2V0AAMJAAACCQENX2xvYWRNdWx0aXNpZwAJAQdBZGRyZXNzAQEACQACAQIYX3doZW5NdWx0aXNpZ1NldDogcmV2ZXJ0BgETX3doZW5Ob3RJbml0aWFsaXplZAADCQEJX2xvYWRJbml0AAkAAgECG193aGVuTm90SW5pdGlhbGl6ZWQ6IHJldmVydAYBEF93aGVuSW5pdGlhbGl6ZWQAAwkBASEBCQEJX2xvYWRJbml0AAkAAgECGF93aGVuSW5pdGlhbGl6ZWQ6IHJldmVydAYBDl93aGVuTm90UGF1c2VkAAMJAQpfbG9hZFBhdXNlAAkAAgECFl93aGVuTm90UGF1c2VkOiByZXZlcnQGAQtfd2hlblBhdXNlZAADCQEBIQEJAQpfbG9hZFBhdXNlAAkAAgECE193aGVuUGF1c2VkOiByZXZlcnQGAQtfb25seVBhdXNlcgEHY2FsbGVyXwMJAQIhPQIFB2NhbGxlcl8JAQtfbG9hZFBhdXNlcgAJAAIBAhNfb25seVBhdXNlcjogcmV2ZXJ0BgEGX2FzSW50AQR2YWxfBAckbWF0Y2gwBQR2YWxfAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQkAAgECDl9hc0ludDogcmV2ZXJ0AQhfYXNCeXRlcwEEdmFsXwQHJG1hdGNoMAUEdmFsXwMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFhBQckbWF0Y2gwBQFhCQACAQIQX2FzQnl0ZXM6IHJldmVydAERX3ZhbGlkYXRlRXhlY3V0b3ICBHZhbF8EZXJyXwMJAQIhPQIFBHZhbF8JAQ1fbG9hZEV4ZWN1dG9yAAkAAgEFBGVycl8GAQ9fdmFsaWRhdGVDYWxsZXICBHZhbF8EZXJyXwMJAQIhPQIFBHZhbF8JARNfbG9hZENhbGxlckNvbnRyYWN0AAkAAgEFBGVycl8GAQ5fdmFsaWRhdGVDaGFpbgIRZXhlY3V0aW9uQ2hhaW5JZF8EZXJyXwMJAQEhAQkBCl9sb2FkQ2hhaW4BBRFleGVjdXRpb25DaGFpbklkXwkAAgEFBGVycl8GDgFpAQRpbml0BAlleGVjdXRvcl8IYWRhcHRlcl8HcGF1c2VyXw1mZWVSZWNpcGllbnRfBANlcnIDAwMDAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBE193aGVuTm90SW5pdGlhbGl6ZWQABwkBEF93aGVuTXVsdGlzaWdTZXQABwkBEF92YWxpZGF0ZUFkZHJlc3MCBQlleGVjdXRvcl8CFmluaXQ6IGludmFsaWQgZXhlY3V0b3IHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCGFkYXB0ZXJfAhVpbml0OiBpbnZhbGlkIGFkYXB0ZXIHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFB3BhdXNlcl8CFGluaXQ6IGludmFsaWQgcGF1c2VyBwkBEF92YWxpZGF0ZUFkZHJlc3MCBQ1mZWVSZWNpcGllbnRfAhppbml0OiBpbnZhbGlkIGZlZVJlY2lwaWVudAcDCQAAAgUDZXJyBQNlcnIJAJQKAgkAzggCCQDOCAIJAM4IAgkAzggCCQEJX3NhdmVJbml0AQYJAQ1fc2F2ZUV4ZWN1dG9yAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUJZXhlY3V0b3JfCQEQX3NhdmVSb290QWRhcHRlcgEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCGFkYXB0ZXJfCQELX3NhdmVQYXVzZXIBCQERQGV4dHJOYXRpdmUoMTA2MikBBQdwYXVzZXJfCQERX3NhdmVGZWVSZWNpcGllbnQBCQERQGV4dHJOYXRpdmUoMTA2MikBBQ1mZWVSZWNpcGllbnRfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCm1pbnRUb2tlbnMHD2NhbGxlckNvbnRyYWN0Xw5hc3NldENvbnRyYWN0XwdhbW91bnRfCnJlY2lwaWVudF8OZ2FzbGVzc1Jld2FyZF8JcmVmZXJyZXJfDHJlZmVycmVyRmVlXwQGYW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQUHYW1vdW50XwIXbWludDogYW1vdW50IGlzIG5vdCBJbnQEDWdhc2xlc3NSZXdhcmQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBBQ5nYXNsZXNzUmV3YXJkXwIebWludDogZ2FzbGVzc1Jld2FyZCBpcyBub3QgSW50BAtyZWZlcnJlckZlZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEFDHJlZmVycmVyRmVlXwIcbWludDogcmVmZXJyZXJGZWUgaXMgbm90IEludAQDZXJyAwMDAwMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDl93aGVuTm90UGF1c2VkAAcJARBfdmFsaWRhdGVBZGRyZXNzAgUOYXNzZXRDb250cmFjdF8CHG1pbnQ6IGludmFsaWQgYXNzZXQgY29udHJhY3QHCQERX3ZhbGlkYXRlRXhlY3V0b3ICCAUBaQZjYWxsZXICFm1pbnQ6IGludmFsaWQgZXhlY3V0b3IHCQEPX3ZhbGlkYXRlQ2FsbGVyAgUPY2FsbGVyQ29udHJhY3RfAhRtaW50OiBpbnZhbGlkIGNhbGxlcgcJARBfdmFsaWRhdGVBZGRyZXNzAgUKcmVjaXBpZW50XwIfbWludDogaW52YWxpZCByZWNpcGllbnQgYWRkcmVzcwcJAQxfdmFsaWRhdGVJbnQEBQZhbW91bnQAAAUHTUFYX0lOVAIUbWludDogaW52YWxpZCBhbW91bnQHCQEMX3ZhbGlkYXRlSW50BAUNZ2FzbGVzc1Jld2FyZAAABQdNQVhfSU5UAhttaW50OiBpbnZhbGlkIGdhc2xlc3NSZXdhcmQHCQEMX3ZhbGlkYXRlSW50BAULcmVmZXJyZXJGZWUAAAUHTUFYX0lOVAIabWludDogaW52YWxpZCByZWZlcnJlciBmZWUHAwkAAAIFA2VycgUDZXJyBAdhc3NldElkCQEIX2FzQnl0ZXMBCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDmFzc2V0Q29udHJhY3RfAgpnZXRBc3NldElkBQNuaWwFA25pbAMJAAACBQdhc3NldElkBQdhc3NldElkBA1hc3NldERlY2ltYWxzCQEGX2FzSW50AQkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBBQ5hc3NldENvbnRyYWN0XwILZ2V0RGVjaW1hbHMFA25pbAUDbmlsAwkAAAIFDWFzc2V0RGVjaW1hbHMFDWFzc2V0RGVjaW1hbHMEEG5vcm1hbGl6ZWRBbW91bnQJARJfbm9ybWFsaXplRGVjaW1hbHMDBQZhbW91bnQFCERFQ0lNQUxTBQ1hc3NldERlY2ltYWxzBBFub3JtYWxpemVkR2FzbGVzcwkBEl9ub3JtYWxpemVEZWNpbWFscwMFDWdhc2xlc3NSZXdhcmQFCERFQ0lNQUxTBQ1hc3NldERlY2ltYWxzBAhyZWZlcnJlcgQHJG1hdGNoMAkApggBBQlyZWZlcnJlcl8DCQABAgUHJG1hdGNoMAIHQWRkcmVzcwQOcmVmZXJlckFkZHJlc3MFByRtYXRjaDAEFW5vcm1hbGl6ZWRSZWZlcnJlckZlZQkBEl9ub3JtYWxpemVEZWNpbWFscwMFC3JlZmVycmVyRmVlBQhERUNJTUFMUwUNYXNzZXREZWNpbWFscwkAlAoCBRVub3JtYWxpemVkUmVmZXJyZXJGZWUJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUOcmVmZXJlckFkZHJlc3MFFW5vcm1hbGl6ZWRSZWZlcnJlckZlZQUHYXNzZXRJZAUDbmlsCQCUCgIAAAUDbmlsBBVub3JtYWxpemVkUmVmZXJyZXJGZWUIBQhyZWZlcnJlcgJfMQQPcmVmZXJyZXJBY3Rpb25zCAUIcmVmZXJyZXICXzIECmludm9jYXRpb24JAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUOYXNzZXRDb250cmFjdF8CBG1pbnQJAMwIAgkAZAIFEG5vcm1hbGl6ZWRBbW91bnQFFW5vcm1hbGl6ZWRSZWZlcnJlckZlZQkAzAgCCQClCAEFBHRoaXMFA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24EB2FjdGlvbnMDAwkAZgIFEW5vcm1hbGl6ZWRHYXNsZXNzAAAJAQIhPQIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCnJlY2lwaWVudF8IBQFpDG9yaWdpbkNhbGxlcgcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUKcmVjaXBpZW50XwkAZQIFEG5vcm1hbGl6ZWRBbW91bnQFEW5vcm1hbGl6ZWRHYXNsZXNzBQdhc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpDG9yaWdpbkNhbGxlcgURbm9ybWFsaXplZEdhc2xlc3MFB2Fzc2V0SWQFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQpyZWNpcGllbnRfBRBub3JtYWxpemVkQW1vdW50BQdhc3NldElkBQNuaWwJAJQKAgkAzggCBQdhY3Rpb25zBQ9yZWZlcnJlckFjdGlvbnMFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKYnVyblRva2VucwMRZXhlY3V0aW9uQ2hhaW5JZF8KcmVjaXBpZW50Xw5nYXNsZXNzUmV3YXJkXwQDZXJyAwMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDl93aGVuTm90UGF1c2VkAAcJAQ5fdmFsaWRhdGVDaGFpbgIFEWV4ZWN1dGlvbkNoYWluSWRfAiNidXJuVG9rZW5zOiBpbnZhbGlkIGV4ZWN1dGlvbiBjaGFpbgcJARVfdmFsaWRhdGVQYXltZW50c1NpemUDCAUBaQhwYXltZW50cwABAhZidXJuVG9rZW5zOiBubyBwYXltZW50BwkBDF92YWxpZGF0ZUludAQFDmdhc2xlc3NSZXdhcmRfAAAFB01BWF9JTlQCIWJ1cm5Ub2tlbnM6IGludmFsaWQgZ2FzbGVzc1Jld2FyZAcJAQxfdmFsaWRhdGVJbnQECAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAABQdNQVhfSU5UAiJidXJuVG9rZW5zOiBpbnZhbGlkIHBheW1lbnQgYW1vdW50BwMJAAACBQNlcnIFA2VycgQGYW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQHYXNzZXRJZAQHJG1hdGNoMAgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWEFByRtYXRjaDAFAWEJAAIBAhlidXJuVG9rZW5zOiBpbnZhbGlkIGFzc2V0BAdiaW5kaW5nCQEMX2xvYWRCaW5kaW5nAgURZXhlY3V0aW9uQ2hhaW5JZF8FB2Fzc2V0SWQEDWFzc2V0Q29udHJhY3QIBQdiaW5kaW5nAl8xBA5leGVjdXRpb25Bc3NldAgFB2JpbmRpbmcCXzIECW1pbkFtb3VudAgFB2JpbmRpbmcCXzMEBm1pbkZlZQgFB2JpbmRpbmcCXzQEDHRocmVzaG9sZEZlZQgFB2JpbmRpbmcCXzUEEGJlZm9yZVBlcmNlbnRGZWUIBQdiaW5kaW5nAl82BA9hZnRlclBlcmNlbnRGZWUIBQdiaW5kaW5nAl83BAdlbmFibGVkCAUHYmluZGluZwJfOAQEZXJyMQMDCQEQX3ZhbGlkYXRlQWRkcmVzcwIJAKUIAQUNYXNzZXRDb250cmFjdAIbYnVyblRva2Vuczogbm8gc3VjaCBiaW5kaW5nCQEMX3ZhbGlkYXRlSW50BAUGYW1vdW50BQltaW5BbW91bnQFB01BWF9JTlQCGWJ1cm5Ub2tlbnM6IGxlc3MgdGhhbiBtaW4HCQENX3ZhbGlkYXRlQm9vbAMFB2VuYWJsZWQGAh1idXJuVG9rZW5zOiB0b2tlbiBpcyBkaXNhYmxlZAcDCQAAAgUEZXJyMQUEZXJyMQQNYXNzZXREZWNpbWFscwkBBl9hc0ludAEJAPwHBAUNYXNzZXRDb250cmFjdAILZ2V0RGVjaW1hbHMFA25pbAUDbmlsAwkAAAIFDWFzc2V0RGVjaW1hbHMFDWFzc2V0RGVjaW1hbHMEB3BlcmNlbnQDCQBmAgUGYW1vdW50BQx0aHJlc2hvbGRGZWUFD2FmdGVyUGVyY2VudEZlZQUQYmVmb3JlUGVyY2VudEZlZQQDZmVlCQBkAgUGbWluRmVlCQBrAwUGYW1vdW50BQdwZXJjZW50BQ5QRVJDRU5UX0ZBQ1RPUgQEZXJyMgkBDF92YWxpZGF0ZUludAQFBmFtb3VudAkAZAIFA2ZlZQABBQdNQVhfSU5UAiBidXJuVG9rZW5zOiBmZWUgbW9yZSB0aGFuIGFtb3VudAMJAAACBQRlcnIyBQRlcnIyBAxhbW91bnRUb1NlbmQJAGUCBQZhbW91bnQFA2ZlZQQEZXJyMwkBDF92YWxpZGF0ZUludAQFDGFtb3VudFRvU2VuZAkAZAIFDmdhc2xlc3NSZXdhcmRfAAEFB01BWF9JTlQCI2J1cm5Ub2tlbnM6IHJld2FyZCBtb3JlIHRoYW4gYW1vdW50AwkAAAIFBGVycjMFBGVycjMECXVwZGF0ZUZlZQkAZAIJAQhfbG9hZEZlZQEFB2Fzc2V0SWQFA2ZlZQQQbm9ybWFsaXplZEFtb3VudAkBEl9ub3JtYWxpemVEZWNpbWFscwMFDGFtb3VudFRvU2VuZAUNYXNzZXREZWNpbWFscwUIREVDSU1BTFMEEW5vcm1hbGl6ZWRHYXNsZXNzCQESX25vcm1hbGl6ZURlY2ltYWxzAwUOZ2FzbGVzc1Jld2FyZF8FDWFzc2V0RGVjaW1hbHMFCERFQ0lNQUxTBAppbnZvY2F0aW9uCQD8BwQJARBfbG9hZFJvb3RBZGFwdGVyAAUTRlVOQ19SRUxFQVNFX1RPS0VOUwkAzAgCBRFleGVjdXRpb25DaGFpbklkXwkAzAgCBQ5leGVjdXRpb25Bc3NldAkAzAgCBRBub3JtYWxpemVkQW1vdW50CQDMCAIFCnJlY2lwaWVudF8JAMwIAgURbm9ybWFsaXplZEdhc2xlc3MFA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24JAJQKAgkAzggCCQEIX3NhdmVGZWUCBQdhc3NldElkBQl1cGRhdGVGZWUJAMwIAgkBBEJ1cm4CBQdhc3NldElkBQxhbW91bnRUb1NlbmQFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQxidXJuVG9rZW5zVjIEEWV4ZWN1dGlvbkNoYWluSWRfCnJlY2lwaWVudF8JcmVmZXJyZXJfDmdhc2xlc3NSZXdhcmRfBANlcnIDAwMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDl93aGVuTm90UGF1c2VkAAcJAQ5fdmFsaWRhdGVDaGFpbgIFEWV4ZWN1dGlvbkNoYWluSWRfAiVidXJuVG9rZW5zVjI6IGludmFsaWQgZXhlY3V0aW9uIGNoYWluBwkBFV92YWxpZGF0ZVBheW1lbnRzU2l6ZQMIBQFpCHBheW1lbnRzAAECGGJ1cm5Ub2tlbnNWMjogbm8gcGF5bWVudAcJAQxfdmFsaWRhdGVJbnQEBQ5nYXNsZXNzUmV3YXJkXwAABQdNQVhfSU5UAiNidXJuVG9rZW5zVjI6IGludmFsaWQgZ2FzbGVzc1Jld2FyZAcJAQxfdmFsaWRhdGVJbnQECAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAABQdNQVhfSU5UAiRidXJuVG9rZW5zVjI6IGludmFsaWQgcGF5bWVudCBhbW91bnQHCQERX3ZhbGlkYXRlUmVmZXJyZXICBQlyZWZlcnJlcl8CHmJ1cm5Ub2tlbnNWMjogaW52YWxpZCByZWZlcnJlcgcDCQAAAgUDZXJyBQNlcnIEBmFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEB2Fzc2V0SWQEByRtYXRjaDAICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFhBQckbWF0Y2gwBQFhCQACAQIbYnVyblRva2Vuc1YyOiBpbnZhbGlkIGFzc2V0BAdiaW5kaW5nCQEMX2xvYWRCaW5kaW5nAgURZXhlY3V0aW9uQ2hhaW5JZF8FB2Fzc2V0SWQEDWFzc2V0Q29udHJhY3QIBQdiaW5kaW5nAl8xBA5leGVjdXRpb25Bc3NldAgFB2JpbmRpbmcCXzIECW1pbkFtb3VudAgFB2JpbmRpbmcCXzMEBm1pbkZlZQgFB2JpbmRpbmcCXzQEDHRocmVzaG9sZEZlZQgFB2JpbmRpbmcCXzUEEGJlZm9yZVBlcmNlbnRGZWUIBQdiaW5kaW5nAl82BA9hZnRlclBlcmNlbnRGZWUIBQdiaW5kaW5nAl83BAdlbmFibGVkCAUHYmluZGluZwJfOAQEZXJyMQMDCQEQX3ZhbGlkYXRlQWRkcmVzcwIJAKUIAQUNYXNzZXRDb250cmFjdAIdYnVyblRva2Vuc1YyOiBubyBzdWNoIGJpbmRpbmcJAQxfdmFsaWRhdGVJbnQEBQZhbW91bnQFCW1pbkFtb3VudAUHTUFYX0lOVAIbYnVyblRva2Vuc1YyOiBsZXNzIHRoYW4gbWluBwkBDV92YWxpZGF0ZUJvb2wDBQdlbmFibGVkBgIfYnVyblRva2Vuc1YyOiB0b2tlbiBpcyBkaXNhYmxlZAcDCQAAAgUEZXJyMQUEZXJyMQQNYXNzZXREZWNpbWFscwkBBl9hc0ludAEJAPwHBAUNYXNzZXRDb250cmFjdAILZ2V0RGVjaW1hbHMFA25pbAUDbmlsAwkAAAIFDWFzc2V0RGVjaW1hbHMFDWFzc2V0RGVjaW1hbHMEB3BlcmNlbnQDCQBmAgUGYW1vdW50BQx0aHJlc2hvbGRGZWUFD2FmdGVyUGVyY2VudEZlZQUQYmVmb3JlUGVyY2VudEZlZQQDZmVlCQBkAgUGbWluRmVlCQBrAwUGYW1vdW50BQdwZXJjZW50BQ5QRVJDRU5UX0ZBQ1RPUgQEZXJyMgkBDF92YWxpZGF0ZUludAQFBmFtb3VudAkAZAIFA2ZlZQABBQdNQVhfSU5UAiJidXJuVG9rZW5zVjI6IGZlZSBtb3JlIHRoYW4gYW1vdW50AwkAAAIFBGVycjIFBGVycjIEDSR0MDE2MjAxMTY2MDYDCQECIT0CBQlyZWZlcnJlcl8CAAQIcmVmZXJyZXIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCXJlZmVycmVyXwQRcmVmZXJyZXJGZWVBbW91bnQJAGsDCQEXX2xvYWRSZWZlcnJlckZlZVBlcmNlbnQCBRFleGVjdXRpb25DaGFpbklkXwUIcmVmZXJyZXIFA2ZlZQUOUEVSQ0VOVF9GQUNUT1IJAJQKAgURcmVmZXJyZXJGZWVBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUIcmVmZXJyZXIFEXJlZmVycmVyRmVlQW1vdW50BQdhc3NldElkBQNuaWwJAJQKAgAABQNuaWwEC3JlZmVycmVyRmVlCAUNJHQwMTYyMDExNjYwNgJfMQQPcmVmZXJyZXJBY3Rpb25zCAUNJHQwMTYyMDExNjYwNgJfMgQMYW1vdW50VG9TZW5kCQBlAgUGYW1vdW50BQNmZWUEBGVycjMJAQxfdmFsaWRhdGVJbnQEBQxhbW91bnRUb1NlbmQJAGQCBQ5nYXNsZXNzUmV3YXJkXwABBQdNQVhfSU5UAiVidXJuVG9rZW5zVjI6IHJld2FyZCBtb3JlIHRoYW4gYW1vdW50AwkAAAIFBGVycjMFBGVycjMECXVwZGF0ZUZlZQkAZQIJAGQCCQEIX2xvYWRGZWUBBQdhc3NldElkBQNmZWUFC3JlZmVycmVyRmVlBBBub3JtYWxpemVkQW1vdW50CQESX25vcm1hbGl6ZURlY2ltYWxzAwUMYW1vdW50VG9TZW5kBQ1hc3NldERlY2ltYWxzBQhERUNJTUFMUwQRbm9ybWFsaXplZEdhc2xlc3MJARJfbm9ybWFsaXplRGVjaW1hbHMDBQ5nYXNsZXNzUmV3YXJkXwUNYXNzZXREZWNpbWFscwUIREVDSU1BTFMECmludm9jYXRpb24JAPwHBAkBEF9sb2FkUm9vdEFkYXB0ZXIABRNGVU5DX1JFTEVBU0VfVE9LRU5TCQDMCAIFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIFDmV4ZWN1dGlvbkFzc2V0CQDMCAIFEG5vcm1hbGl6ZWRBbW91bnQJAMwIAgUKcmVjaXBpZW50XwkAzAgCBRFub3JtYWxpemVkR2FzbGVzcwUDbmlsBQNuaWwDCQAAAgUKaW52b2NhdGlvbgUKaW52b2NhdGlvbgkAlAoCCQDOCAIJAM4IAgkBCF9zYXZlRmVlAgUHYXNzZXRJZAUJdXBkYXRlRmVlBQ9yZWZlcnJlckFjdGlvbnMJAMwIAgkBBEJ1cm4CBQdhc3NldElkBQxhbW91bnRUb1NlbmQFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQt0cmFuc2ZlckZlZQIRZXhlY3V0aW9uQ2hhaW5JZF8IYXNzZXRJZF8EA2VycgMDCQEQX3doZW5Jbml0aWFsaXplZAAJAQ5fd2hlbk5vdFBhdXNlZAAHCQEOX3ZhbGlkYXRlQXNzZXQCBQhhc3NldElkXwIadHJhbnNmZXJGZWU6IGludmFsaWQgYXNzZXQHAwkAAAIFA2VycgUDZXJyBAdhc3NldElkCQDZBAEFCGFzc2V0SWRfBAdiaW5kaW5nCQEMX2xvYWRCaW5kaW5nAgURZXhlY3V0aW9uQ2hhaW5JZF8FB2Fzc2V0SWQEDWFzc2V0Q29udHJhY3QIBQdiaW5kaW5nAl8xBAdlbmFibGVkCAUHYmluZGluZwJfOAQEZXJyMQMJARBfdmFsaWRhdGVBZGRyZXNzAgkApQgBBQ1hc3NldENvbnRyYWN0Ahx0cmFuc2ZlckZlZTogbm8gc3VjaCBiaW5kaW5nCQENX3ZhbGlkYXRlQm9vbAMFB2VuYWJsZWQGAh50cmFuc2ZlckZlZTogdG9rZW4gaXMgZGlzYWJsZWQHAwkAAAIFBGVycjEFBGVycjEJAJQKAgkAzggCCQEIX3NhdmVGZWUCBQdhc3NldElkAAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEV9sb2FkRmVlUmVjaXBpZW50AAkBCF9sb2FkRmVlAQUHYXNzZXRJZAUHYXNzZXRJZAUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFHVwZGF0ZUNhbGxlckNvbnRyYWN0AQ9jYWxsZXJDb250cmFjdF8EA2VycgMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwMJAAACBQNlcnIFA2VycgkAlAoCCQETX3NhdmVDYWxsZXJDb250cmFjdAEFD2NhbGxlckNvbnRyYWN0XwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARR1cGRhdGVFeGVjdXRpb25DaGFpbgIRZXhlY3V0aW9uQ2hhaW5JZF8IZW5hYmxlZF8EA2VycgMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQxfdmFsaWRhdGVJbnQEBRFleGVjdXRpb25DaGFpbklkXwAABQdNQVhfSU5UAi51cGRhdGVFeGVjdXRpb25DaGFpbjogaW52YWxpZCBleGVjdXRpb25DaGFpbklkBwMJAAACBQNlcnIFA2VycgkAlAoCCQEKX3NhdmVDaGFpbgIFEWV4ZWN1dGlvbkNoYWluSWRfBQhlbmFibGVkXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJ1cGRhdGVGZWVSZWNpcGllbnQBDWZlZVJlY2lwaWVudF8EA2VycgMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJARBfdmFsaWRhdGVBZGRyZXNzAgUNZmVlUmVjaXBpZW50XwIodXBkYXRlRmVlUmVjaXBpZW50OiBpbnZhbGlkIGZlZVJlY2lwaWVudAcDCQAAAgUDZXJyBQNlcnIJAJQKAgkBEV9zYXZlRmVlUmVjaXBpZW50AQkBEUBleHRyTmF0aXZlKDEwNjIpAQUNZmVlUmVjaXBpZW50XwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ51cGRhdGVSZWZlcnJlcgMRZXhlY3V0aW9uQ2hhaW5JZF8JcmVmZXJyZXJfBGZlZV8EA2VycgMDAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBDl92YWxpZGF0ZUNoYWluAgURZXhlY3V0aW9uQ2hhaW5JZF8CJ3VwZGF0ZVJlZmVycmVyOiBpbnZhbGlkIGV4ZWN1dGlvbiBjaGFpbgcJARBfdmFsaWRhdGVBZGRyZXNzAgUJcmVmZXJyZXJfAiB1cGRhdGVSZWZlcnJlcjogaW52YWxpZCByZWZlcnJlcgcJAQxfdmFsaWRhdGVJbnQEBQRmZWVfAAAFEE1BWF9SRUZFUlJFUl9GRUUCG3VwZGF0ZVJlZmVycmVyOiBpbnZhbGlkIGZlZQcDCQAAAgUDZXJyBQNlcnIJAJQKAgkBF19zYXZlUmVmZXJyZXJGZWVQZXJjZW50AwURZXhlY3V0aW9uQ2hhaW5JZF8JARFAZXh0ck5hdGl2ZSgxMDYyKQEFCXJlZmVycmVyXwUEZmVlXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARF1cGRhdGVCaW5kaW5nSW5mbwkRZXhlY3V0aW9uQ2hhaW5JZF8OYXNzZXRDb250cmFjdF8PZXhlY3V0aW9uQXNzZXRfCm1pbkFtb3VudF8HbWluRmVlXw10aHJlc2hvbGRGZWVfEWJlZm9yZVBlcmNlbnRGZWVfEGFmdGVyUGVyY2VudEZlZV8IZW5hYmxlZF8EA2VycgMDAwMDAwMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJARBfdmFsaWRhdGVBZGRyZXNzAgUOYXNzZXRDb250cmFjdF8CKXVwZGF0ZUJpbmRpbmdJbmZvOiBpbnZhbGlkIGFzc2V0IGNvbnRyYWN0BwkBDF92YWxpZGF0ZUludAQFEWV4ZWN1dGlvbkNoYWluSWRfAAAFB01BWF9JTlQCK3VwZGF0ZUJpbmRpbmdJbmZvOiBpbnZhbGlkIGV4ZWN1dGlvbkNoYWluSWQHCQEMX3ZhbGlkYXRlSW50BAUKbWluQW1vdW50XwAABQdNQVhfSU5UAiR1cGRhdGVCaW5kaW5nSW5mbzogaW52YWxpZCBtaW5BbW91bnQHCQEMX3ZhbGlkYXRlSW50BAUHbWluRmVlXwAABQdNQVhfSU5UAiF1cGRhdGVCaW5kaW5nSW5mbzogaW52YWxpZCBtaW5GZWUHCQEMX3ZhbGlkYXRlSW50BAUNdGhyZXNob2xkRmVlXwAABQdNQVhfSU5UAid1cGRhdGVCaW5kaW5nSW5mbzogaW52YWxpZCB0aHJlc2hvbGRGZWUHCQEMX3ZhbGlkYXRlSW50BAURYmVmb3JlUGVyY2VudEZlZV8AAAUHTUFYX0lOVAIrdXBkYXRlQmluZGluZ0luZm86IGludmFsaWQgYmVmb3JlUGVyY2VudEZlZQcJAQxfdmFsaWRhdGVJbnQEBRBhZnRlclBlcmNlbnRGZWVfAAAFB01BWF9JTlQCKnVwZGF0ZUJpbmRpbmdJbmZvOiBpbnZhbGlkIGFmdGVyUGVyY2VudEZlZQcDCQAAAgUDZXJyBQNlcnIEB2Fzc2V0SWQJAQhfYXNCeXRlcwEJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUOYXNzZXRDb250cmFjdF8CCmdldEFzc2V0SWQFA25pbAUDbmlsAwkAAAIFB2Fzc2V0SWQFB2Fzc2V0SWQEB2JpbmRpbmcJAJoKCAkBEUBleHRyTmF0aXZlKDEwNjIpAQUOYXNzZXRDb250cmFjdF8FD2V4ZWN1dGlvbkFzc2V0XwUKbWluQW1vdW50XwUHbWluRmVlXwUNdGhyZXNob2xkRmVlXwURYmVmb3JlUGVyY2VudEZlZV8FEGFmdGVyUGVyY2VudEZlZV8FCGVuYWJsZWRfCQCUCgIJAQxfc2F2ZUJpbmRpbmcDBRFleGVjdXRpb25DaGFpbklkXwUHYXNzZXRJZAUHYmluZGluZwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVwYXVzZQAEA2VycgMDCQELX29ubHlQYXVzZXIBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQ5fd2hlbk5vdFBhdXNlZAAHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQpfc2F2ZVBhdXNlAQYFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHdW5wYXVzZQAEA2VycgMDCQELX29ubHlQYXVzZXIBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQtfd2hlblBhdXNlZAAHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQpfc2F2ZVBhdXNlAQcFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMdXBkYXRlUGF1c2VyAQdwYXVzZXJfBANlcnIDAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFB3BhdXNlcl8CHHVwZGF0ZVBhdXNlcjogaW52YWxpZCBwYXVzZXIHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQtfc2F2ZVBhdXNlcgEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB3BhdXNlcl8FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELc2V0TXVsdGlzaWcBCW11bHRpc2lnXwQDZXJyAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCW11bHRpc2lnXwIdc2V0TXVsdGlzaWc6IGludmFsaWQgbXVsdGlzaWcHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQ1fc2F2ZU11bHRpc2lnAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUJbXVsdGlzaWdfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQHJG1hdGNoMAkAoggBBQxLRVlfTVVMVElTSUcDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAhtdWx0aXNpZwUHJG1hdGNoMAkBC3ZhbHVlT3JFbHNlAgkAmwgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQhtdWx0aXNpZwkAuQkCCQDMCAIFCktFWV9TVEFUVVMJAMwIAgkApQgBBQR0aGlzCQDMCAIJANgEAQgFAnR4AmlkBQNuaWwFCVNFUEFSQVRPUgcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXlCupyZ", "height": 2649543, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CutHDDT3ZWqnnsLpCRLmXhXX1GbbmRJseeNLkgQeUveE Next: HQk1zzpFd1kqKkmmzkK3P4NjC9YomXh6g3Jtdg6PPGxA Diff:
OldNewDifferences
425425
426426
427427 @Callable(aL)
428-func burnTokens (am,aQ,L,aR) = {
428+func burnTokens (am,aQ,aR) = {
429429 let aN = if (if (if (if (if (aC())
430430 then aD()
431431 else false)
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 = "PAUSED"
1313
1414 let f = "PAUSER"
1515
1616 let g = "EXECUTOR"
1717
1818 let h = "ROOT_ADAPTER"
1919
2020 let i = "CALLER_CONTRACT"
2121
2222 let j = "CHAIN"
2323
2424 let k = "BINDING"
2525
2626 let l = "FEE"
2727
2828 let m = "FEE_RECIPIENT"
2929
3030 let n = "REFERRER_FEE_PERCENT"
3131
3232 let o = "releaseTokens"
3333
3434 let p = "WAVES"
3535
3636 let q = 8
3737
3838 let r = 6
3939
4040 let s = 1000000
4141
4242 let t = 200000
4343
4444 let u = 9223372036854775807
4545
4646 func v (w,x) = {
4747 let y = addressFromString(w)
4848 if ($isInstanceOf(y, "Address"))
4949 then {
5050 let z = y
5151 true
5252 }
5353 else throw(x)
5454 }
5555
5656
5757 func A (B,x) = {
5858 let y = assetInfo(fromBase58String(B))
5959 if ($isInstanceOf(y, "Asset"))
6060 then {
6161 let z = y
6262 true
6363 }
6464 else throw(x)
6565 }
6666
6767
6868 func C (D,E,F,x) = if (if ((E > D))
6969 then true
7070 else (D > F))
7171 then throw(x)
7272 else true
7373
7474
7575 func G (D,H,x) = if ((D != H))
7676 then throw(x)
7777 else true
7878
7979
8080 func I (J,H,x) = if ((size(J) != H))
8181 then throw(x)
8282 else true
8383
8484
8585 func K (L,x) = if ((L != ""))
8686 then v(L, x)
8787 else true
8888
8989
9090 func M (N,O,P) = if ((O >= P))
9191 then (N / pow(10, 0, (O - P), 0, 0, DOWN))
9292 else (N * pow(10, 0, (P - O), 0, 0, DOWN))
9393
9494
9595 func Q () = {
9696 let y = getBoolean(b)
9797 if ($isInstanceOf(y, "Boolean"))
9898 then {
9999 let z = y
100100 z
101101 }
102102 else false
103103 }
104104
105105
106106 func R (S) = [BooleanEntry(b, S)]
107107
108108
109109 func T () = {
110110 let y = getBoolean(e)
111111 if ($isInstanceOf(y, "Boolean"))
112112 then {
113113 let z = y
114114 z
115115 }
116116 else false
117117 }
118118
119119
120120 func U (V) = [BooleanEntry(e, V)]
121121
122122
123123 func W () = {
124124 let y = getString(f)
125125 if ($isInstanceOf(y, "String"))
126126 then {
127127 let z = y
128128 addressFromStringValue(z)
129129 }
130130 else Address(base58'')
131131 }
132132
133133
134134 func X (Y) = [StringEntry(f, toString(Y))]
135135
136136
137137 func Z () = {
138138 let y = getString(c)
139139 if ($isInstanceOf(y, "String"))
140140 then {
141141 let z = y
142142 addressFromStringValue(z)
143143 }
144144 else Address(base58'')
145145 }
146146
147147
148148 func aa (ab) = [StringEntry(c, toString(ab))]
149149
150150
151151 func ac () = {
152152 let y = getString(g)
153153 if ($isInstanceOf(y, "String"))
154154 then {
155155 let z = y
156156 addressFromStringValue(z)
157157 }
158158 else Address(base58'')
159159 }
160160
161161
162162 func ad (ae) = [StringEntry(g, toString(ae))]
163163
164164
165165 func af () = {
166166 let y = getString(i)
167167 if ($isInstanceOf(y, "String"))
168168 then {
169169 let z = y
170170 z
171171 }
172172 else ""
173173 }
174174
175175
176176 func ag (ah) = [StringEntry(i, ah)]
177177
178178
179179 func ai (aj) = {
180180 let y = getBoolean(makeString([j, toString(aj)], a))
181181 if ($isInstanceOf(y, "Boolean"))
182182 then {
183183 let z = y
184184 z
185185 }
186186 else false
187187 }
188188
189189
190190 func ak (aj,D) = [BooleanEntry(makeString([j, toString(aj)], a), D)]
191191
192192
193193 func al (am,B) = {
194194 let y = getString(makeString([k, toString(am), toBase58String(B)], a))
195195 if ($isInstanceOf(y, "String"))
196196 then {
197197 let z = y
198198 let an = split(z, a)
199199 $Tuple8(addressFromStringValue(an[0]), an[1], parseIntValue(an[2]), parseIntValue(an[3]), parseIntValue(an[4]), parseIntValue(an[5]), parseIntValue(an[6]), if ((an[7] == "1"))
200200 then true
201201 else false)
202202 }
203203 else $Tuple8(Address(base58''), "", 0, 0, 0, 0, 0, false)
204204 }
205205
206206
207207 func ao (am,B,ap) = [StringEntry(makeString([k, toString(am), toBase58String(B)], a), makeString([toString(ap._1), ap._2, toString(ap._3), toString(ap._4), toString(ap._5), toString(ap._6), toString(ap._7), if (ap._8)
208208 then "1"
209209 else "0"], a))]
210210
211211
212212 func aq (B) = {
213213 let y = getInteger(makeString([l, toBase58String(B)], a))
214214 if ($isInstanceOf(y, "Int"))
215215 then {
216216 let z = y
217217 z
218218 }
219219 else 0
220220 }
221221
222222
223223 func ar (B,D) = [IntegerEntry(makeString([l, toBase58String(B)], a), D)]
224224
225225
226226 func as () = {
227227 let y = getString(h)
228228 if ($isInstanceOf(y, "String"))
229229 then {
230230 let z = y
231231 addressFromStringValue(z)
232232 }
233233 else Address(base58'')
234234 }
235235
236236
237237 func at (au) = [StringEntry(h, toString(au))]
238238
239239
240240 func av () = {
241241 let y = getString(m)
242242 if ($isInstanceOf(y, "String"))
243243 then {
244244 let z = y
245245 addressFromStringValue(z)
246246 }
247247 else Address(base58'')
248248 }
249249
250250
251251 func aw (D) = [StringEntry(m, toString(D))]
252252
253253
254254 func ax (am,L) = {
255255 let y = getInteger(makeString([n, toString(am), toString(L)], a))
256256 if ($isInstanceOf(y, "Int"))
257257 then {
258258 let z = y
259259 z
260260 }
261261 else 0
262262 }
263263
264264
265265 func ay (am,L,D) = [IntegerEntry(makeString([n, toString(am), toString(L)], a), D)]
266266
267267
268268 func az (ah) = if ((ah != this))
269269 then throw("_onlyThisContract: revert")
270270 else true
271271
272272
273273 func aA () = if ((Z() == Address(base58'')))
274274 then throw("_whenMultisigSet: revert")
275275 else true
276276
277277
278278 func aB () = if (Q())
279279 then throw("_whenNotInitialized: revert")
280280 else true
281281
282282
283283 func aC () = if (!(Q()))
284284 then throw("_whenInitialized: revert")
285285 else true
286286
287287
288288 func aD () = if (T())
289289 then throw("_whenNotPaused: revert")
290290 else true
291291
292292
293293 func aE () = if (!(T()))
294294 then throw("_whenPaused: revert")
295295 else true
296296
297297
298298 func aF (ah) = if ((ah != W()))
299299 then throw("_onlyPauser: revert")
300300 else true
301301
302302
303303 func aG (D) = {
304304 let y = D
305305 if ($isInstanceOf(y, "Int"))
306306 then {
307307 let z = y
308308 z
309309 }
310310 else throw("_asInt: revert")
311311 }
312312
313313
314314 func aH (D) = {
315315 let y = D
316316 if ($isInstanceOf(y, "ByteVector"))
317317 then {
318318 let z = y
319319 z
320320 }
321321 else throw("_asBytes: revert")
322322 }
323323
324324
325325 func aI (D,x) = if ((D != ac()))
326326 then throw(x)
327327 else true
328328
329329
330330 func aJ (D,x) = if ((D != af()))
331331 then throw(x)
332332 else true
333333
334334
335335 func aK (am,x) = if (!(ai(am)))
336336 then throw(x)
337337 else true
338338
339339
340340 @Callable(aL)
341341 func init (ae,au,Y,aM) = {
342342 let aN = if (if (if (if (if (if (az(aL.caller))
343343 then aB()
344344 else false)
345345 then aA()
346346 else false)
347347 then v(ae, "init: invalid executor")
348348 else false)
349349 then v(au, "init: invalid adapter")
350350 else false)
351351 then v(Y, "init: invalid pauser")
352352 else false)
353353 then v(aM, "init: invalid feeRecipient")
354354 else false
355355 if ((aN == aN))
356356 then $Tuple2(((((R(true) ++ ad(addressFromStringValue(ae))) ++ at(addressFromStringValue(au))) ++ X(addressFromStringValue(Y))) ++ aw(addressFromStringValue(aM))), unit)
357357 else throw("Strict value is not equal to itself.")
358358 }
359359
360360
361361
362362 @Callable(aL)
363363 func mintTokens (aO,aP,N,aQ,aR,L,aS) = {
364364 let aT = valueOrErrorMessage(parseInt(N), "mint: amount is not Int")
365365 let aU = valueOrErrorMessage(parseInt(aR), "mint: gaslessReward is not Int")
366366 let aV = valueOrErrorMessage(parseInt(aS), "mint: referrerFee is not Int")
367367 let aN = if (if (if (if (if (if (if (if (aC())
368368 then aD()
369369 else false)
370370 then v(aP, "mint: invalid asset contract")
371371 else false)
372372 then aI(aL.caller, "mint: invalid executor")
373373 else false)
374374 then aJ(aO, "mint: invalid caller")
375375 else false)
376376 then v(aQ, "mint: invalid recipient address")
377377 else false)
378378 then C(aT, 0, u, "mint: invalid amount")
379379 else false)
380380 then C(aU, 0, u, "mint: invalid gaslessReward")
381381 else false)
382382 then C(aV, 0, u, "mint: invalid referrer fee")
383383 else false
384384 if ((aN == aN))
385385 then {
386386 let aW = aH(invoke(addressFromStringValue(aP), "getAssetId", nil, nil))
387387 if ((aW == aW))
388388 then {
389389 let aX = aG(invoke(addressFromStringValue(aP), "getDecimals", nil, nil))
390390 if ((aX == aX))
391391 then {
392392 let aY = M(aT, r, aX)
393393 let aZ = M(aU, r, aX)
394394 let ba = {
395395 let y = addressFromString(L)
396396 if ($isInstanceOf(y, "Address"))
397397 then {
398398 let bb = y
399399 let bc = M(aV, r, aX)
400400 $Tuple2(bc, [ScriptTransfer(bb, bc, aW)])
401401 }
402402 else $Tuple2(0, nil)
403403 }
404404 let bc = ba._1
405405 let bd = ba._2
406406 let be = invoke(addressFromStringValue(aP), "mint", [(aY + bc), toString(this)], nil)
407407 if ((be == be))
408408 then {
409409 let bf = if (if ((aZ > 0))
410410 then (addressFromStringValue(aQ) != aL.originCaller)
411411 else false)
412412 then [ScriptTransfer(addressFromStringValue(aQ), (aY - aZ), aW), ScriptTransfer(aL.originCaller, aZ, aW)]
413413 else [ScriptTransfer(addressFromStringValue(aQ), aY, aW)]
414414 $Tuple2((bf ++ bd), unit)
415415 }
416416 else throw("Strict value is not equal to itself.")
417417 }
418418 else throw("Strict value is not equal to itself.")
419419 }
420420 else throw("Strict value is not equal to itself.")
421421 }
422422 else throw("Strict value is not equal to itself.")
423423 }
424424
425425
426426
427427 @Callable(aL)
428-func burnTokens (am,aQ,L,aR) = {
428+func burnTokens (am,aQ,aR) = {
429429 let aN = if (if (if (if (if (aC())
430430 then aD()
431431 else false)
432432 then aK(am, "burnTokens: invalid execution chain")
433433 else false)
434434 then I(aL.payments, 1, "burnTokens: no payment")
435435 else false)
436436 then C(aR, 0, u, "burnTokens: invalid gaslessReward")
437437 else false)
438438 then C(aL.payments[0].amount, 0, u, "burnTokens: invalid payment amount")
439439 else false
440440 if ((aN == aN))
441441 then {
442442 let aT = aL.payments[0].amount
443443 let aW = {
444444 let y = aL.payments[0].assetId
445445 if ($isInstanceOf(y, "ByteVector"))
446446 then {
447447 let z = y
448448 z
449449 }
450450 else throw("burnTokens: invalid asset")
451451 }
452452 let bg = al(am, aW)
453453 let bh = bg._1
454454 let bi = bg._2
455455 let bj = bg._3
456456 let bk = bg._4
457457 let bl = bg._5
458458 let bm = bg._6
459459 let bn = bg._7
460460 let bo = bg._8
461461 let bp = if (if (v(toString(bh), "burnTokens: no such binding"))
462462 then C(aT, bj, u, "burnTokens: less than min")
463463 else false)
464464 then G(bo, true, "burnTokens: token is disabled")
465465 else false
466466 if ((bp == bp))
467467 then {
468468 let aX = aG(invoke(bh, "getDecimals", nil, nil))
469469 if ((aX == aX))
470470 then {
471471 let bq = if ((aT > bl))
472472 then bn
473473 else bm
474474 let br = (bk + fraction(aT, bq, s))
475475 let bs = C(aT, (br + 1), u, "burnTokens: fee more than amount")
476476 if ((bs == bs))
477477 then {
478478 let bt = (aT - br)
479479 let bu = C(bt, (aR + 1), u, "burnTokens: reward more than amount")
480480 if ((bu == bu))
481481 then {
482482 let bv = (aq(aW) + br)
483483 let aY = M(bt, aX, r)
484484 let aZ = M(aR, aX, r)
485485 let be = invoke(as(), o, [am, bi, aY, aQ, aZ], nil)
486486 if ((be == be))
487487 then $Tuple2((ar(aW, bv) ++ [Burn(aW, bt)]), unit)
488488 else throw("Strict value is not equal to itself.")
489489 }
490490 else throw("Strict value is not equal to itself.")
491491 }
492492 else throw("Strict value is not equal to itself.")
493493 }
494494 else throw("Strict value is not equal to itself.")
495495 }
496496 else throw("Strict value is not equal to itself.")
497497 }
498498 else throw("Strict value is not equal to itself.")
499499 }
500500
501501
502502
503503 @Callable(aL)
504504 func burnTokensV2 (am,aQ,L,aR) = {
505505 let aN = if (if (if (if (if (if (aC())
506506 then aD()
507507 else false)
508508 then aK(am, "burnTokensV2: invalid execution chain")
509509 else false)
510510 then I(aL.payments, 1, "burnTokensV2: no payment")
511511 else false)
512512 then C(aR, 0, u, "burnTokensV2: invalid gaslessReward")
513513 else false)
514514 then C(aL.payments[0].amount, 0, u, "burnTokensV2: invalid payment amount")
515515 else false)
516516 then K(L, "burnTokensV2: invalid referrer")
517517 else false
518518 if ((aN == aN))
519519 then {
520520 let aT = aL.payments[0].amount
521521 let aW = {
522522 let y = aL.payments[0].assetId
523523 if ($isInstanceOf(y, "ByteVector"))
524524 then {
525525 let z = y
526526 z
527527 }
528528 else throw("burnTokensV2: invalid asset")
529529 }
530530 let bg = al(am, aW)
531531 let bh = bg._1
532532 let bi = bg._2
533533 let bj = bg._3
534534 let bk = bg._4
535535 let bl = bg._5
536536 let bm = bg._6
537537 let bn = bg._7
538538 let bo = bg._8
539539 let bp = if (if (v(toString(bh), "burnTokensV2: no such binding"))
540540 then C(aT, bj, u, "burnTokensV2: less than min")
541541 else false)
542542 then G(bo, true, "burnTokensV2: token is disabled")
543543 else false
544544 if ((bp == bp))
545545 then {
546546 let aX = aG(invoke(bh, "getDecimals", nil, nil))
547547 if ((aX == aX))
548548 then {
549549 let bq = if ((aT > bl))
550550 then bn
551551 else bm
552552 let br = (bk + fraction(aT, bq, s))
553553 let bs = C(aT, (br + 1), u, "burnTokensV2: fee more than amount")
554554 if ((bs == bs))
555555 then {
556556 let bw = if ((L != ""))
557557 then {
558558 let ba = addressFromStringValue(L)
559559 let bx = fraction(ax(am, ba), br, s)
560560 $Tuple2(bx, [ScriptTransfer(ba, bx, aW)])
561561 }
562562 else $Tuple2(0, nil)
563563 let aV = bw._1
564564 let bd = bw._2
565565 let bt = (aT - br)
566566 let bu = C(bt, (aR + 1), u, "burnTokensV2: reward more than amount")
567567 if ((bu == bu))
568568 then {
569569 let bv = ((aq(aW) + br) - aV)
570570 let aY = M(bt, aX, r)
571571 let aZ = M(aR, aX, r)
572572 let be = invoke(as(), o, [am, bi, aY, aQ, aZ], nil)
573573 if ((be == be))
574574 then $Tuple2(((ar(aW, bv) ++ bd) ++ [Burn(aW, bt)]), unit)
575575 else throw("Strict value is not equal to itself.")
576576 }
577577 else throw("Strict value is not equal to itself.")
578578 }
579579 else throw("Strict value is not equal to itself.")
580580 }
581581 else throw("Strict value is not equal to itself.")
582582 }
583583 else throw("Strict value is not equal to itself.")
584584 }
585585 else throw("Strict value is not equal to itself.")
586586 }
587587
588588
589589
590590 @Callable(aL)
591591 func transferFee (am,B) = {
592592 let aN = if (if (aC())
593593 then aD()
594594 else false)
595595 then A(B, "transferFee: invalid asset")
596596 else false
597597 if ((aN == aN))
598598 then {
599599 let aW = fromBase58String(B)
600600 let bg = al(am, aW)
601601 let bh = bg._1
602602 let bo = bg._8
603603 let bp = if (v(toString(bh), "transferFee: no such binding"))
604604 then G(bo, true, "transferFee: token is disabled")
605605 else false
606606 if ((bp == bp))
607607 then $Tuple2((ar(aW, 0) ++ [ScriptTransfer(av(), aq(aW), aW)]), unit)
608608 else throw("Strict value is not equal to itself.")
609609 }
610610 else throw("Strict value is not equal to itself.")
611611 }
612612
613613
614614
615615 @Callable(aL)
616616 func updateCallerContract (aO) = {
617617 let aN = if (az(aL.caller))
618618 then aC()
619619 else false
620620 if ((aN == aN))
621621 then $Tuple2(ag(aO), unit)
622622 else throw("Strict value is not equal to itself.")
623623 }
624624
625625
626626
627627 @Callable(aL)
628628 func updateExecutionChain (am,by) = {
629629 let aN = if (if (az(aL.caller))
630630 then aC()
631631 else false)
632632 then C(am, 0, u, "updateExecutionChain: invalid executionChainId")
633633 else false
634634 if ((aN == aN))
635635 then $Tuple2(ak(am, by), unit)
636636 else throw("Strict value is not equal to itself.")
637637 }
638638
639639
640640
641641 @Callable(aL)
642642 func updateFeeRecipient (aM) = {
643643 let aN = if (if (az(aL.caller))
644644 then aC()
645645 else false)
646646 then v(aM, "updateFeeRecipient: invalid feeRecipient")
647647 else false
648648 if ((aN == aN))
649649 then $Tuple2(aw(addressFromStringValue(aM)), unit)
650650 else throw("Strict value is not equal to itself.")
651651 }
652652
653653
654654
655655 @Callable(aL)
656656 func updateReferrer (am,L,bz) = {
657657 let aN = if (if (if (if (az(aL.caller))
658658 then aC()
659659 else false)
660660 then aK(am, "updateReferrer: invalid execution chain")
661661 else false)
662662 then v(L, "updateReferrer: invalid referrer")
663663 else false)
664664 then C(bz, 0, t, "updateReferrer: invalid fee")
665665 else false
666666 if ((aN == aN))
667667 then $Tuple2(ay(am, addressFromStringValue(L), bz), unit)
668668 else throw("Strict value is not equal to itself.")
669669 }
670670
671671
672672
673673 @Callable(aL)
674674 func updateBindingInfo (am,aP,bA,bB,bC,bD,bE,bF,by) = {
675675 let aN = if (if (if (if (if (if (if (if (az(aL.caller))
676676 then aC()
677677 else false)
678678 then v(aP, "updateBindingInfo: invalid asset contract")
679679 else false)
680680 then C(am, 0, u, "updateBindingInfo: invalid executionChainId")
681681 else false)
682682 then C(bB, 0, u, "updateBindingInfo: invalid minAmount")
683683 else false)
684684 then C(bC, 0, u, "updateBindingInfo: invalid minFee")
685685 else false)
686686 then C(bD, 0, u, "updateBindingInfo: invalid thresholdFee")
687687 else false)
688688 then C(bE, 0, u, "updateBindingInfo: invalid beforePercentFee")
689689 else false)
690690 then C(bF, 0, u, "updateBindingInfo: invalid afterPercentFee")
691691 else false
692692 if ((aN == aN))
693693 then {
694694 let aW = aH(invoke(addressFromStringValue(aP), "getAssetId", nil, nil))
695695 if ((aW == aW))
696696 then {
697697 let bg = $Tuple8(addressFromStringValue(aP), bA, bB, bC, bD, bE, bF, by)
698698 $Tuple2(ao(am, aW, bg), unit)
699699 }
700700 else throw("Strict value is not equal to itself.")
701701 }
702702 else throw("Strict value is not equal to itself.")
703703 }
704704
705705
706706
707707 @Callable(aL)
708708 func pause () = {
709709 let aN = if (if (aF(aL.caller))
710710 then aC()
711711 else false)
712712 then aD()
713713 else false
714714 if ((aN == aN))
715715 then $Tuple2(U(true), unit)
716716 else throw("Strict value is not equal to itself.")
717717 }
718718
719719
720720
721721 @Callable(aL)
722722 func unpause () = {
723723 let aN = if (if (aF(aL.caller))
724724 then aC()
725725 else false)
726726 then aE()
727727 else false
728728 if ((aN == aN))
729729 then $Tuple2(U(false), unit)
730730 else throw("Strict value is not equal to itself.")
731731 }
732732
733733
734734
735735 @Callable(aL)
736736 func updatePauser (Y) = {
737737 let aN = if (if (az(aL.caller))
738738 then aC()
739739 else false)
740740 then v(Y, "updatePauser: invalid pauser")
741741 else false
742742 if ((aN == aN))
743743 then $Tuple2(X(addressFromStringValue(Y)), unit)
744744 else throw("Strict value is not equal to itself.")
745745 }
746746
747747
748748
749749 @Callable(aL)
750750 func setMultisig (ab) = {
751751 let aN = if (az(aL.caller))
752752 then v(ab, "setMultisig: invalid multisig")
753753 else false
754754 if ((aN == aN))
755755 then $Tuple2(aa(addressFromStringValue(ab)), unit)
756756 else throw("Strict value is not equal to itself.")
757757 }
758758
759759
760760 @Verifier(bG)
761761 func bH () = {
762762 let y = getString(c)
763763 if ($isInstanceOf(y, "String"))
764764 then {
765765 let bI = y
766766 valueOrElse(getBoolean(addressFromStringValue(bI), makeString([d, toString(this), toBase58String(bG.id)], a)), false)
767767 }
768768 else sigVerify(bG.bodyBytes, bG.proofs[0], bG.senderPublicKey)
769769 }
770770

github/deemru/w8io/026f985 
65.63 ms