tx · HWanK6PzTPuGB1KZ3wK7oQTmXjENDKdZuPYrZe6RDrWQ

3Mzep1R5kHeC1ecKFkWjuhU3Gw4LAdCib9N:  -0.01700000 Waves

2024.02.13 12:09 [2974260] smart account 3Mzep1R5kHeC1ecKFkWjuhU3Gw4LAdCib9N > SELF 0.00000000 Waves

{ "type": 13, "id": "HWanK6PzTPuGB1KZ3wK7oQTmXjENDKdZuPYrZe6RDrWQ", "fee": 1700000, "feeAssetId": null, "timestamp": 1707815380098, "version": 2, "chainId": 84, "sender": "3Mzep1R5kHeC1ecKFkWjuhU3Gw4LAdCib9N", "senderPublicKey": "41THq9VrFxHEvVGJyz2oMpJQErnSkkqJXpBypSDxa5Mv", "proofs": [ "4KnciNQMZ4dSoKNVk4Lj422uGG1ijW53HtNCL8ePmGqzK12Dvi9t7txrwxBozWoxPv8enEXVBEU9YtGstVpw5S8B" ], "script": "base64:BwIoCAISBAoCAhgSBgoEAgICARIECgICGBIECgICGBIECgICGBIECgICGDEAB2NoYWluSWQJAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEACGNoYWluSWRUAQFUAAhjaGFpbklkVwEBVwADU0VQAgJfXwAFV0FWRVMCBVdBVkVTABBjb250cmFjdEZpbGVuYW1lAhV3eGRhb19jYWxjdWxhdG9yLnJpZGUABW11bHQ4AIDC1y8ABm11bHQxOAkAtgIBAICAkLu61q3wDQANd2F2ZXNEZWNpbWFscwAIAAx1c2R0RGVjaW1hbHMABgEFdG9YMTgCB29yaWdWYWwNb3JpZ1NjYWxlTXVsdAkAvAIDCQC2AgEFB29yaWdWYWwFBm11bHQxOAkAtgIBBQ1vcmlnU2NhbGVNdWx0AQdmcm9tWDE4AgN2YWwPcmVzdWx0U2NhbGVNdWx0CQCgAwEJALwCAwUDdmFsCQC2AgEFD3Jlc3VsdFNjYWxlTXVsdAUGbXVsdDE4AQd3cmFwRXJyAQFzCQCsAgIJAKwCAgUQY29udHJhY3RGaWxlbmFtZQICOiAFAXMBCHRocm93RXJyAQFzCQACAQkBB3dyYXBFcnIBBQFzAQtvbmx5QWRkcmVzcwIBaQdhZGRyZXNzAwkAAAIIBQFpBmNhbGxlcgUHYWRkcmVzcwYJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkAQhvbmx5VGhpcwEBaQkBC29ubHlBZGRyZXNzAgUBaQUEdGhpcwAJd3hBc3NldElkAwkAAAIFB2NoYWluSWQFCGNoYWluSWRXASCTARyrqcduJVfOZp5xtr2qa/g86FgLKu7ZoE67PNwUsQMJAAACBQdjaGFpbklkBQhjaGFpbklkVAEgxlIegU7qbuM8wJewDl8s8mrp7Z2yhtGaQnioYH0+G7EJAQh0aHJvd0VycgECEGludmFsaWQgY2hhaW4gaWQBEGtleUN1cnJlbnRQZXJpb2QACQC5CQIJAMwIAgICJXMJAMwIAgINY3VycmVudFBlcmlvZAUDbmlsBQNTRVABFmtleVN0YXJ0SGVpZ2h0QnlQZXJpb2QBBnBlcmlvZAkAuQkCCQDMCAICBCVzJWQJAMwIAgILc3RhcnRIZWlnaHQJAMwIAgkApAMBBQZwZXJpb2QFA25pbAUDU0VQAQ9rZXlQZXJpb2RMZW5ndGgACQC5CQIJAMwIAgICJXMJAMwIAgIMcGVyaW9kTGVuZ3RoBQNuaWwFA1NFUAEYa2V5VHJlYXN1cnlWYWx1ZUJ5UGVyaW9kAQZwZXJpb2QJALkJAgkAzAgCAgQlcyVkCQDMCAICDXRyZWFzdXJ5VmFsdWUJAMwIAgkApAMBBQZwZXJpb2QFA25pbAUDU0VQARRrZXlMb2NrR2xvYmFsQ291bnRlcgAJALkJAgkAzAgCAgIlcwkAzAgCAhFsb2NrR2xvYmFsQ291bnRlcgUDbmlsBQNTRVABD2tleUxvY2tEdXJhdGlvbgAJALkJAgkAzAgCAgIlcwkAzAgCAgxsb2NrRHVyYXRpb24FA25pbAUDU0VQAQdrZXlMb2NrAgt1c2VyQWRkcmVzcwdjb3VudGVyCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICBGxvY2sJAMwIAgkApQgBBQt1c2VyQWRkcmVzcwkAzAgCCQCkAwEFB2NvdW50ZXIFA25pbAUDU0VQAQxrZXlTa2luVG90YWwBD3RyZWFzdXJ5QWRkcmVzcwkArAICAgtza2luX3RvdGFsXwkApQgBBQ90cmVhc3VyeUFkZHJlc3MBFWtleVBvd2VyQ29uZmlnQWRkcmVzcwACFiVzX19wb3dlckNvbmZpZ0FkZHJlc3MBEnBvd2VyQ29uZmlnQWRkcmVzcwEOZmFjdG9yeUFkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgQHJG1hdGNoMAkAnQgCBQ5mYWN0b3J5QWRkcmVzcwkBFWtleVBvd2VyQ29uZmlnQWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQCmCAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yCQEHd3JhcEVycgECHGludmFsaWQgcG93ZXIgY29uZmlnIGFkZHJlc3MBD2tleVBvd2VyQXNzZXRJZAACDHBvd2VyQXNzZXRJZAEPZ2V0UG93ZXJBc3NldElkAQ5mYWN0b3J5QWRkcmVzcwkA2QQBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgkBEnBvd2VyQ29uZmlnQWRkcmVzcwEFDmZhY3RvcnlBZGRyZXNzCQEPa2V5UG93ZXJBc3NldElkAAkBB3dyYXBFcnIBAhZpbnZhbGlkIHBvd2VyIGFzc2V0IGlkARdrZXlQb3dlckNvbnRyYWN0QWRkcmVzcwACGCVzX19wb3dlckNvbnRyYWN0QWRkcmVzcwEUcG93ZXJDb250cmFjdEFkZHJlc3MBDmZhY3RvcnlBZGRyZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIEByRtYXRjaDAJAJ0IAgUOZmFjdG9yeUFkZHJlc3MJARdrZXlQb3dlckNvbnRyYWN0QWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQCmCAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yCQEHd3JhcEVycgECHmludmFsaWQgcG93ZXIgY29udHJhY3QgYWRkcmVzcwEOa2V5TG9ja0FkZHJlc3MAAg8lc19fbG9ja0FkZHJlc3MBC2xvY2tBZGRyZXNzAQ5mYWN0b3J5QWRkcmVzcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBAckbWF0Y2gwCQCdCAIFDmZhY3RvcnlBZGRyZXNzCQEOa2V5TG9ja0FkZHJlc3MAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkApggBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgkBB3dyYXBFcnIBAh1pbnZhbGlkIGxvY2sgY29udHJhY3QgYWRkcmVzcwEWa2V5UG9vbHNGYWN0b3J5QWRkcmVzcwACFyVzX19wb29sc0ZhY3RvcnlBZGRyZXNzARZnZXRQb29sc0ZhY3RvcnlBZGRyZXNzAQ5mYWN0b3J5QWRkcmVzcwkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCBAckbWF0Y2gwCQCdCAIFDmZhY3RvcnlBZGRyZXNzCQEWa2V5UG9vbHNGYWN0b3J5QWRkcmVzcwADCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwCQCmCAEFAXMDCQABAgUHJG1hdGNoMAIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yCQEHd3JhcEVycgECHWludmFsaWQgcG9vbHMgZmFjdG9yeSBhZGRyZXNzARJrZXlUcmVhc3VyeUFkZHJlc3MAAhMlc19fdHJlYXN1cnlBZGRyZXNzARJnZXRUcmVhc3VyeUFkZHJlc3MBDmZhY3RvcnlBZGRyZXNzCQETdmFsdWVPckVycm9yTWVzc2FnZQIEByRtYXRjaDAJAJ0IAgUOZmFjdG9yeUFkZHJlc3MJARJrZXlUcmVhc3VyeUFkZHJlc3MAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkApggBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgkBB3dyYXBFcnIBAhhpbnZhbGlkIHRyZWFzdXJ5IGFkZHJlc3MBCWtleUFzc2V0cwACCiVzX19hc3NldHMBDGdldEFzc2V0c1N0cgEOZmFjdG9yeUFkZHJlc3MJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ5mYWN0b3J5QWRkcmVzcwkBCWtleUFzc2V0cwAJAQd3cmFwRXJyAQIOaW52YWxpZCBhc3NldHMBDGtleUxwQXNzZXRJZAACDSVzX19scEFzc2V0SWQBDGdldExwQXNzZXRJZAEOZmFjdG9yeUFkZHJlc3MJANkEAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDmZhY3RvcnlBZGRyZXNzCQEMa2V5THBBc3NldElkAAkBB3dyYXBFcnIBAhNpbnZhbGlkIGxwIGFzc2V0IGlkARJnZXRBc3NldEluZm9PckZhaWwBB2Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkA7AcBBQdhc3NldElkCQEHd3JhcEVycgECEmludmFsaWQgYXNzZXQgaW5mbwEKbG9ja0Zvcm1hdAQEZnJvbQJ0bwdhc3NldElkBmFtb3VudAkAuQkCCQDMCAIJAKQDAQUEZnJvbQkAzAgCCQCkAwEFAnRvCQDMCAIJANgEAQUHYXNzZXRJZAkAzAgCCQCkAwEFBmFtb3VudAUDbmlsBQNTRVABCWxvY2tQYXJzZQEBcwQFcGFydHMJALUJAgUBcwUDU0VQCQCWCgQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBCQCRAwIFBXBhcnRzAAAJAQd3cmFwRXJyAQIpZXJyb3IgZHVyaW5nIHByb2Nlc3NpbmcgbG9jayBzdGFydCBoZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBCQCRAwIFBXBhcnRzAAEJAQd3cmFwRXJyAQInZXJyb3IgZHVyaW5nIHByb2Nlc3NpbmcgbG9jayBlbmQgaGVpZ2h0CQDZBAEJAJEDAgUFcGFydHMAAgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUFcGFydHMAAwkBB3dyYXBFcnIBAiNlcnJvciBkdXJpbmcgcHJvY2Vzc2luZyBsb2NrIGFtb3VudAERZ2V0QXNzZXRzQmFsYW5jZXMCDXRhcmdldEFkZHJlc3MLYXNzZXRJZExpc3QKAQNtYXACA2FjYw5uZXh0QXNzZXRJZFN0cgQHYmFsYW5jZQMJAAACBQ5uZXh0QXNzZXRJZFN0cgUFV0FWRVMJAQV0b1gxOAIICQDvBwEFDXRhcmdldEFkZHJlc3MJYXZhaWxhYmxlCQBsBgAKAAAFDXdhdmVzRGVjaW1hbHMAAAAABQRET1dOBAdhc3NldElkCQDZBAEFDm5leHRBc3NldElkU3RyBA1hc3NldERlY2ltYWxzCAkBEmdldEFzc2V0SW5mb09yRmFpbAEFB2Fzc2V0SWQIZGVjaW1hbHMJAQV0b1gxOAIJAPAHAgUNdGFyZ2V0QWRkcmVzcwUHYXNzZXRJZAkAbAYACgAABQ1hc3NldERlY2ltYWxzAAAAAAUERE9XTgkAzQgCBQNhY2MFB2JhbGFuY2UKAAIkbAULYXNzZXRJZExpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA21hcAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgEPZ2V0QXNzZXRzUHJpY2VzAhNwb29sc0ZhY3RvcnlBZGRyZXNzC2Fzc2V0SWRMaXN0AwkAAAIFB2NoYWluSWQFCGNoYWluSWRXBBN3YXZlc1VzZHRBZGRyZXNzU3RyAiMzUEtmcnVwRXlkVTJuWkFnaFZqWkFmdkN3TUJrenVSMUY1MgQOd2F2ZXNVc2R0UHJpY2UJAKcDAQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgUTd2F2ZXNVc2R0QWRkcmVzc1N0cgUDbmlsBQNuaWwDCQABAgUBQAIGU3RyaW5nBQFACQACAQkArAICCQADAQUBQAIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nBBJ3YXZlc1h0bkFkZHJlc3NTdHICIzNQUFpXZ0ZOUktITHZNNTFwd1M5MzRDOFZaN2QyRjRaNThnBA13YXZlc1h0blByaWNlCQCnAwEKAAFACQD8BwQFE3Bvb2xzRmFjdG9yeUFkZHJlc3MCCGdldFByaWNlCQDMCAIFEndhdmVzWHRuQWRkcmVzc1N0cgUDbmlsBQNuaWwDCQABAgUBQAIGU3RyaW5nBQFACQACAQkArAICCQADAQUBQAIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nBAx4dG5Vc2R0UHJpY2UJALwCAwUOd2F2ZXNVc2R0UHJpY2UFBm11bHQxOAUNd2F2ZXNYdG5QcmljZQoBA21hcAIDYWNjC25leHRBc3NldElkBAVwcmljZQQHJG1hdGNoMAULbmV4dEFzc2V0SWQDCQAAAgIsMnRoc0FDdUhtekRNdU5lelBNMzJ3ZzlhM0J3VXpCV0RlU0tha2d6M2N3MjEFByRtYXRjaDAEEnB3cldhdmVzQWRkcmVzc1N0cgIjM1BEaTdRcThwTFFZdnRLeVRmUXVxcVBVV3lob1liVTk1N3QEDXB3cldhdmVzUHJpY2UJAKcDAQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgUScHdyV2F2ZXNBZGRyZXNzU3RyBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcJALwCAwUNcHdyV2F2ZXNQcmljZQUOd2F2ZXNVc2R0UHJpY2UFBm11bHQxOAMJAAACAixBdHF2NTlFWXpqRkd1aXRLVm5NUms2SDhGdWtqb1Yza3RQb3JiRXlzMjVvbgUHJG1hdGNoMAQRd3hXYXZlc0FkZHJlc3NTdHICIzNQRnphSDJnaHB3QU5IRmdqZXZhODNOMXl4ekVyRUx4MmVoBAx3eFdhdmVzUHJpY2UJAKcDAQoAAUAJAPwHBAUTcG9vbHNGYWN0b3J5QWRkcmVzcwIIZ2V0UHJpY2UJAMwIAgURd3hXYXZlc0FkZHJlc3NTdHIFA25pbAUDbmlsAwkAAQIFAUACBlN0cmluZwUBQAkAAgEJAKwCAgkAAwEFAUACGyBjb3VsZG4ndCBiZSBjYXN0IHRvIFN0cmluZwkAvAIDBQx3eFdhdmVzUHJpY2UFDndhdmVzVXNkdFByaWNlBQZtdWx0MTgDCQAAAgIsMzROOVljRUVUTFduOTNxWVE2NEVzUDF4ODl0U3J1SlU0NFJyRU1TWFhFUEoFByRtYXRjaDAEFndhdmVzVXNkdHd4Z0FkZHJlc3NTdHICIzNQS01WWjdrUWVhUkVhallpOFljMjVSbzZtY053NUQ2UVNhBBF3YXZlc1VzZHR3eGdQcmljZQkApwMBCgABQAkA/AcEBRNwb29sc0ZhY3RvcnlBZGRyZXNzAghnZXRQcmljZQkAzAgCBRZ3YXZlc1VzZHR3eGdBZGRyZXNzU3RyBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcJALwCAwUOd2F2ZXNVc2R0UHJpY2UFBm11bHQxOAURd2F2ZXNVc2R0d3hnUHJpY2UDCQAAAgIsNlh0SGpwWGJzOVJSSlAyU3I5R1V5VnF6QUNjYnk5VGtUaEhYbmpWQzVDREoFByRtYXRjaDAEFndhdmVzVXNkY3d4Z0FkZHJlc3NTdHICIzNQM2czZWlwZkcyTlpLS1FFOERaWHQyRTl0UkpxaWk5amNYBBF3YXZlc1VzZGN3eGdQcmljZQkApwMBCgABQAkA/AcEBRNwb29sc0ZhY3RvcnlBZGRyZXNzAghnZXRQcmljZQkAzAgCBRZ3YXZlc1VzZGN3eGdBZGRyZXNzU3RyBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcJALwCAwUOd2F2ZXNVc2R0UHJpY2UFBm11bHQxOAURd2F2ZXNVc2Rjd3hnUHJpY2UDCQAAAgIsSFprMW1iZnVKcG14VTFGczRBWDVNV0xWWXRjdHNOY2c2ZTJDNlZLcUs4emsFByRtYXRjaDAEE2x0Y3d4Z1h0bkFkZHJlc3NTdHICIzNQOTR3dnU1Z0E3VmhqUGdBQjN0d2FlcWR3SEN3TksydnNuBA5sdGN3eGdYdG5QcmljZQkApwMBCgABQAkA/AcEBRNwb29sc0ZhY3RvcnlBZGRyZXNzAghnZXRQcmljZQkAzAgCBRNsdGN3eGdYdG5BZGRyZXNzU3RyBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcJALwCAwUObHRjd3hnWHRuUHJpY2UFDHh0blVzZHRQcmljZQUGbXVsdDE4AwkAAAICLDQ3NGpUZVl4MnIyVmEzNTc5NHRDU2NBWFdKRzloVTJIY2d4ek1vd2FaVW51BQckbWF0Y2gwBBVldGh3eGdXYXZlc0FkZHJlc3NTdHICIzNQM1hHVE42czI5Mmc5aXdZaHMzVEVxSnFIaWZmUVlvanVFBBBldGh3eGdXYXZlc1ByaWNlCQCnAwEKAAFACQD8BwQFE3Bvb2xzRmFjdG9yeUFkZHJlc3MCCGdldFByaWNlCQDMCAIFFWV0aHd4Z1dhdmVzQWRkcmVzc1N0cgUDbmlsBQNuaWwDCQABAgUBQAIGU3RyaW5nBQFACQACAQkArAICCQADAQUBQAIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nCQC8AgMFEGV0aHd4Z1dhdmVzUHJpY2UFDndhdmVzVXNkdFByaWNlBQZtdWx0MTgDCQAAAgIsOExRVzhmN1A1ZDVQWk03R3RaRUJnYXFSUEdTelMzRGZQdWlYclVSSjRBSlMFByRtYXRjaDAEE2J0Y3d4Z1h0bkFkZHJlc3NTdHICIzNQQ0JXRFRBNmpyRnN3ZDdnUWdhRTNYazdnTE01UktvZnZwBA5idGN3eGdYdG5QcmljZQkApwMBCgABQAkA/AcEBRNwb29sc0ZhY3RvcnlBZGRyZXNzAghnZXRQcmljZQkAzAgCBRNidGN3eGdYdG5BZGRyZXNzU3RyBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcJALwCAwUOYnRjd3hnWHRuUHJpY2UFDHh0blVzZHRQcmljZQUGbXVsdDE4CQEIdGhyb3dFcnIBAhBpbnZhbGlkIGFzc2V0IGlkCQDNCAIFA2FjYwUFcHJpY2UKAAIkbAULYXNzZXRJZExpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA21hcAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgMJAAACBQdjaGFpbklkBQhjaGFpbklkVAoBA21hcAIDYWNjC25leHRBc3NldElkBAVwcmljZQQHJG1hdGNoMAULbmV4dEFzc2V0SWQDCQAAAgIsRU1BTUx4RG52M3hpejhSWGc4QnRqMzNqY0V3M3dMY3pMM0pLWVltdXVicGMFByRtYXRjaDAEEHd4VXNkdEFkZHJlc3NTdHICIzNNclVMUVJMYzUyR1dySkYxdE1jQW00TTc4ZlBlNTdvOUt0BAt3eFVzZHRQcmljZQkApwMBCgABQAkA/AcEBRNwb29sc0ZhY3RvcnlBZGRyZXNzAghnZXRQcmljZQkAzAgCBRB3eFVzZHRBZGRyZXNzU3RyBQNuaWwFA25pbAMJAAECBQFAAgZTdHJpbmcFAUAJAAIBCQCsAgIJAAMBBQFAAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcFC3d4VXNkdFByaWNlAwkAAAICLEE3S3NoN2ZYeXFtMUtoS0FpSzNiQUIyYWlQU2l0UVFGNnYxcHl1OVNTM0ZSBQckbWF0Y2gwBBJ1c2RjVXNkdEFkZHJlc3NTdHICIzNNektTZFRIMmpGYnlwTHNvTmZySDdRZ2t6U2J4M0VZd0NBBA11c2RjVXNkdFByaWNlCQCnAwEKAAFACQD8BwQFE3Bvb2xzRmFjdG9yeUFkZHJlc3MCCGdldFByaWNlCQDMCAIFEnVzZGNVc2R0QWRkcmVzc1N0cgUDbmlsBQNuaWwDCQABAgUBQAIGU3RyaW5nBQFACQACAQkArAICCQADAQUBQAIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nBQ11c2RjVXNkdFByaWNlAwkAAAICLDhRNlNFMkFOZWJ1Znc4SnVQakpWUmpaRDZkckQ4aWhqTmpNOHhhR1VTZmRSBQckbWF0Y2gwBAVwcmljZQkBBXRvWDE4AgCAo8NHCQBsBgAKAAAFDHVzZHREZWNpbWFscwAAAAAFBERPV04FBXByaWNlCQEIdGhyb3dFcnIBAhBpbnZhbGlkIGFzc2V0IGlkCQDNCAIFA2FjYwUFcHJpY2UKAAIkbAULYXNzZXRJZExpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA21hcAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgkBCHRocm93RXJyAQIQaW52YWxpZCBjaGFpbiBpZAERY2FsY1RyZWFzdXJ5VmFsdWUBDmZhY3RvcnlBZGRyZXNzBA90cmVhc3VyeUFkZHJlc3MJARJnZXRUcmVhc3VyeUFkZHJlc3MBBQ5mYWN0b3J5QWRkcmVzcwQTcG9vbHNGYWN0b3J5QWRkcmVzcwkBFmdldFBvb2xzRmFjdG9yeUFkZHJlc3MBBQ5mYWN0b3J5QWRkcmVzcwQJYXNzZXRzU3RyCQC1CQIJAQxnZXRBc3NldHNTdHIBBQ5mYWN0b3J5QWRkcmVzcwUDU0VQBA5hc3NldHNCYWxhbmNlcwkBEWdldEFzc2V0c0JhbGFuY2VzAgUPdHJlYXN1cnlBZGRyZXNzBQlhc3NldHNTdHIEDGFzc2V0c1ByaWNlcwkBD2dldEFzc2V0c1ByaWNlcwIFE3Bvb2xzRmFjdG9yeUFkZHJlc3MFCWFzc2V0c1N0cgoBBnJlZHVjZQIDYWNjDm5leHRBc3NldElkU3RyBAdhc3NldElkCQDZBAEFDm5leHRBc3NldElkU3RyBAVpbmRleAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQDPCAIFCWFzc2V0c1N0cgUObmV4dEFzc2V0SWRTdHIJAQd3cmFwRXJyAQIQaW52YWxpZCBhc3NldCBpZAQHYmFsYW5jZQkAkQMCBQ5hc3NldHNCYWxhbmNlcwUFaW5kZXgEBXByaWNlCQCRAwIFDGFzc2V0c1ByaWNlcwUFaW5kZXgECmFzc2V0VmFsdWUJALwCAwUHYmFsYW5jZQUFcHJpY2UFBm11bHQxOAkAtwICBQNhY2MFCmFzc2V0VmFsdWUEDXRyZWFzdXJ5VmFsdWUKAAIkbAUJYXNzZXRzU3RyCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAtgIBAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBnJlZHVjZQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgUNdHJlYXN1cnlWYWx1ZQESY2FsY1Jld2FyZHNBbmRMb2NrAw5mYWN0b3J5QWRkcmVzcw1wYXltZW50QW1vdW50EXVzZXJBZGRyZXNzT3B0aW9uBAlhc3NldHNTdHIJALUJAgkBDGdldEFzc2V0c1N0cgEFDmZhY3RvcnlBZGRyZXNzBQNTRVAEDXd4ZGFvUXVhbnRpdHkICQESZ2V0QXNzZXRJbmZvT3JGYWlsAQkBDGdldExwQXNzZXRJZAEFDmZhY3RvcnlBZGRyZXNzCHF1YW50aXR5AwkAAAIFDXd4ZGFvUXVhbnRpdHkFDXd4ZGFvUXVhbnRpdHkEDmFzc2V0c0JhbGFuY2VzCQERZ2V0QXNzZXRzQmFsYW5jZXMCBQ5mYWN0b3J5QWRkcmVzcwUJYXNzZXRzU3RyCgEDbWFwAgNhY2MObmV4dEFzc2V0SWRTdHIEB2Fzc2V0SWQJANkEAQUObmV4dEFzc2V0SWRTdHIEBWluZGV4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAM8IAgUJYXNzZXRzU3RyBQ5uZXh0QXNzZXRJZFN0cgkBB3dyYXBFcnIBAhVpbnZhbGlkIGFzc2V0IGJhbGFuY2UEDWFzc2V0RGVjaW1hbHMICQESZ2V0QXNzZXRJbmZvT3JGYWlsAQUHYXNzZXRJZAhkZWNpbWFscwQHYmFsYW5jZQkBB2Zyb21YMTgCCQCRAwIFDmFzc2V0c0JhbGFuY2VzBQVpbmRleAkAbAYACgAABQ1hc3NldERlY2ltYWxzAAAAAAUERE9XTgQGYW1vdW50CQBrAwUHYmFsYW5jZQUNcGF5bWVudEFtb3VudAUNd3hkYW9RdWFudGl0eQMJAGYCBQZhbW91bnQAAAQEbG9jawMJAAACBRF1c2VyQWRkcmVzc09wdGlvbgUEdW5pdAUEdW5pdAkA/AcEBQR0aGlzAgxsb2NrSW50ZXJuYWwJAMwIAggFDmZhY3RvcnlBZGRyZXNzBWJ5dGVzCQDMCAIICQEFdmFsdWUBBRF1c2VyQWRkcmVzc09wdGlvbgVieXRlcwkAzAgCBQdhc3NldElkCQDMCAIFBmFtb3VudAUDbmlsBQNuaWwDCQAAAgUEbG9jawUEbG9jawkAlAoCCQDNCAIIBQNhY2MCXzEFB2Fzc2V0SWQJAM0IAggFA2FjYwJfMgUGYW1vdW50CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBQNhY2MKAAIkbAUJYXNzZXRzU3RyCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEDbWFwAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQljYWxjUHJpY2UBDmZhY3RvcnlBZGRyZXNzBBNwb29sc0ZhY3RvcnlBZGRyZXNzCQEWZ2V0UG9vbHNGYWN0b3J5QWRkcmVzcwEFDmZhY3RvcnlBZGRyZXNzBA1jdXJyZW50UGVyaW9kCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUOZmFjdG9yeUFkZHJlc3MJARBrZXlDdXJyZW50UGVyaW9kAAkBB3dyYXBFcnIBAhZpbnZhbGlkIGN1cnJlbnQgcGVyaW9kBBJzdGFydFRyZWFzdXJ5VmFsdWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQ5mYWN0b3J5QWRkcmVzcwkBGGtleVRyZWFzdXJ5VmFsdWVCeVBlcmlvZAEFDWN1cnJlbnRQZXJpb2QJAQd3cmFwRXJyAQkArAICAiJpbnZhbGlkIHRyZWFzdXJ5IHZhbHVlIGZvciBwZXJpb2QgCQCkAwEFDWN1cnJlbnRQZXJpb2QEDXRyZWFzdXJ5VmFsdWUJAQdmcm9tWDE4AgkBEWNhbGNUcmVhc3VyeVZhbHVlAQUOZmFjdG9yeUFkZHJlc3MJAGwGAAoAAAUMdXNkdERlY2ltYWxzAAAAAAUERE9XTgQRdHJlYXN1cnlWYWx1ZURpZmYJAGUCBQ10cmVhc3VyeVZhbHVlBRJzdGFydFRyZWFzdXJ5VmFsdWUEFHRyZWFzdXJ5VmFsdWVEaWZmWDE4CQEFdG9YMTgCBRF0cmVhc3VyeVZhbHVlRGlmZgkAbAYACgAABQx1c2R0RGVjaW1hbHMAAAAABQRET1dOBApwd3JBc3NldElkCQEPZ2V0UG93ZXJBc3NldElkAQUOZmFjdG9yeUFkZHJlc3MEB3B3ckluZm8JARJnZXRBc3NldEluZm9PckZhaWwBBQpwd3JBc3NldElkBAtwd3JQcmljZVgxOAkAkQMCCQEPZ2V0QXNzZXRzUHJpY2VzAgUTcG9vbHNGYWN0b3J5QWRkcmVzcwkAzAgCCQDYBAEFCnB3ckFzc2V0SWQFA25pbAAABAhwd3JQcmljZQMJAL8CAgULcHdyUHJpY2VYMTgJALYCAQAACQEHZnJvbVgxOAIFC3B3clByaWNlWDE4CQBsBgAKAAAFDHVzZHREZWNpbWFscwAAAAAFBERPV04JAQh0aHJvd0VycgECEWludmFsaWQgUFdSIHByaWNlBA90cmVhc3VyeUFkZHJlc3MJARJnZXRUcmVhc3VyeUFkZHJlc3MBBQ5mYWN0b3J5QWRkcmVzcwQJc2tpblRvdGFsCQELdmFsdWVPckVsc2UCCQCaCAIJARRwb3dlckNvbnRyYWN0QWRkcmVzcwEFDmZhY3RvcnlBZGRyZXNzCQEMa2V5U2tpblRvdGFsAQUPdHJlYXN1cnlBZGRyZXNzAAAECXd4ZGFvSW5mbwkBEmdldEFzc2V0SW5mb09yRmFpbAEJAQxnZXRMcEFzc2V0SWQBBQ5mYWN0b3J5QWRkcmVzcwQMcHdyUmVtYWluaW5nCQBpAggFCXd4ZGFvSW5mbwhxdWFudGl0eQBkBAlwd3JBbW91bnQJAGQCBQlza2luVG90YWwFDHB3clJlbWFpbmluZwQMcHdyQW1vdW50WDE4CQEFdG9YMTgCBQlwd3JBbW91bnQJAGwGAAoAAAgFB3B3ckluZm8IZGVjaW1hbHMAAAAABQRET1dOBBpmYWN0b3J5QWRkcmVzc1d4QmFsYW5jZVgxOAkAkQMCCQERZ2V0QXNzZXRzQmFsYW5jZXMCBQ5mYWN0b3J5QWRkcmVzcwkAzAgCCQDYBAEFCXd4QXNzZXRJZAUDbmlsAAAEF2ZhY3RvcnlBZGRyZXNzV3hCYWxhbmNlCQEHZnJvbVgxOAIFGmZhY3RvcnlBZGRyZXNzV3hCYWxhbmNlWDE4CQBsBgAKAAAFDHVzZHREZWNpbWFscwAAAAAFBERPV04ECnd4UHJpY2VYMTgJAJEDAgkBD2dldEFzc2V0c1ByaWNlcwIFE3Bvb2xzRmFjdG9yeUFkZHJlc3MJAMwIAgkA2AQBBQl3eEFzc2V0SWQFA25pbAAABAd3eFByaWNlAwkAvwICBQp3eFByaWNlWDE4CQC2AgEAAAkBB2Zyb21YMTgCBQp3eFByaWNlWDE4CQBsBgAKAAAFDHVzZHREZWNpbWFscwAAAAAFBERPV04JAQh0aHJvd0VycgECEGludmFsaWQgd3ggcHJpY2UEDXd4ZGFvUXVhbnRpdHkIBQl3eGRhb0luZm8IcXVhbnRpdHkEEHd4ZGFvUXVhbnRpdHlYMTgJAQV0b1gxOAIFDXd4ZGFvUXVhbnRpdHkJAGwGAAoAAAgFCXd4ZGFvSW5mbwhkZWNpbWFscwAAAAAFBERPV04EDXd4RGFvUHJpY2VYMTgJALoCAgkAtwICCQC3AgIFC3B3clByaWNlWDE4CQC8AgMJALkCAgUaZmFjdG9yeUFkZHJlc3NXeEJhbGFuY2VYMTgJALYCAQBkBQp3eFByaWNlWDE4BRB3eGRhb1F1YW50aXR5WDE4CQC8AgMJAJgDAQkAzAgCBRR0cmVhc3VyeVZhbHVlRGlmZlgxOAkAzAgCCQC2AgEAAAUDbmlsCQC5AgIJALYCAQACBQZtdWx0MTgJALkCAgkAtgIBAAoFDHB3ckFtb3VudFgxOAkAtgIBAGQECnd4RGFvUHJpY2UJAQdmcm9tWDE4AgUNd3hEYW9QcmljZVgxOAkAbAYACgAABQx1c2R0RGVjaW1hbHMAAAAABQRET1dOBA1yZXdhcmRzUHJpY2VzCQESY2FsY1Jld2FyZHNBbmRMb2NrAwUOZmFjdG9yeUFkZHJlc3MJAGwGAAoAAAgFCXd4ZGFvSW5mbwhkZWNpbWFscwAAAAAFBERPV04FBHVuaXQJAJQKAgkAzAgCBQp3eERhb1ByaWNlCQDMCAIFDXJld2FyZHNQcmljZXMFA25pbAkAzAgCCQDMCAICCnd4RGFvUHJpY2UJAMwIAgUKd3hEYW9QcmljZQUDbmlsCQDMCAIJAMwIAgIIcHdyUHJpY2UJAMwIAgUIcHdyUHJpY2UFA25pbAkAzAgCCQDMCAICF2ZhY3RvcnlBZGRyZXNzV3hCYWxhbmNlCQDMCAIFF2ZhY3RvcnlBZGRyZXNzV3hCYWxhbmNlBQNuaWwJAMwIAgkAzAgCAgd3eFByaWNlCQDMCAIFB3d4UHJpY2UFA25pbAkAzAgCCQDMCAICDXd4ZGFvUXVhbnRpdHkJAMwIAgUNd3hkYW9RdWFudGl0eQUDbmlsCQDMCAIJAMwIAgIRdHJlYXN1cnlWYWx1ZURpZmYJAMwIAgURdHJlYXN1cnlWYWx1ZURpZmYFA25pbAkAzAgCCQDMCAICCXB3ckFtb3VudAkAzAgCBQlwd3JBbW91bnQFA25pbAkAzAgCCQDMCAICCXNraW5Ub3RhbAkAzAgCBQlza2luVG90YWwFA25pbAkAzAgCCQDMCAICDHB3clJlbWFpbmluZwkAzAgCBQxwd3JSZW1haW5pbmcFA25pbAUDbmlsBgFpAQRzd2FwAg9jYWxsZXJQdWJsaWNLZXkEYXJncwQOZmFjdG9yeUFkZHJlc3MIBQFpBmNhbGxlcgQLdXNlckFkZHJlc3MJAKcIAQUPY2FsbGVyUHVibGljS2V5BAdwYXltZW50AwkAAAIJAJADAQgFAWkIcGF5bWVudHMAAQkAkQMCCAUBaQhwYXltZW50cwAACQEIdGhyb3dFcnIBAhUxIHBheW1lbnQgaXMgcmVxdWlyZWQEA2VycgkBB3dyYXBFcnIBAhhpbnZhbGlkIHBheW1lbnQgYXNzZXQgaWQEDnBheW1lbnRBc3NldElkAwkAAAIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFB3BheW1lbnQHYXNzZXRJZAUDZXJyCQEMZ2V0THBBc3NldElkAQUOZmFjdG9yeUFkZHJlc3MJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQJAQh0aHJvd0VycgEFA2VycgQIcHdyUHJpY2UAZAQJcHdyQW1vdW50CQBpAggFB3BheW1lbnQGYW1vdW50BQhwd3JQcmljZQQHcmV3YXJkcwkBEmNhbGNSZXdhcmRzQW5kTG9jawMFDmZhY3RvcnlBZGRyZXNzCAUHcGF5bWVudAZhbW91bnQFC3VzZXJBZGRyZXNzAwkAAAIFB3Jld2FyZHMFB3Jld2FyZHMEFGFkZGl0aW9uYWxMb2NrUm91bmRzAAAEDmZhY3RvcnlBY3Rpb25zCQDMCAIJAPwHBAUOZmFjdG9yeUFkZHJlc3MCIGNvbW1pdEFmdGVyU3RhcnRXaXRoTG9ja1JvdW5kRm9yCQDMCAIJAKUIAQkBFHBvd2VyQ29udHJhY3RBZGRyZXNzAQUOZmFjdG9yeUFkZHJlc3MJAMwIAgkApQgBCQESZ2V0VHJlYXN1cnlBZGRyZXNzAQUOZmFjdG9yeUFkZHJlc3MJAMwIAgkApQgBBQt1c2VyQWRkcmVzcwkAzAgCBRRhZGRpdGlvbmFsTG9ja1JvdW5kcwkAzAgCCQEPZ2V0UG93ZXJBc3NldElkAQUOZmFjdG9yeUFkZHJlc3MJAMwIAgUJcHdyQW1vdW50BQNuaWwFA25pbAUDbmlsCQCUCgIJAMwIAgkBBEJ1cm4CBQ5wYXltZW50QXNzZXRJZAgFB3BheW1lbnQGYW1vdW50BQNuaWwFDmZhY3RvcnlBY3Rpb25zCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDGxvY2tJbnRlcm5hbAQTZmFjdG9yeUFkZHJlc3NCeXRlcxB1c2VyQWRkcmVzc0J5dGVzB2Fzc2V0SWQGYW1vdW50BAtjaGVja0NhbGxlcgkBCG9ubHlUaGlzAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEDmZhY3RvcnlBZGRyZXNzCQEHQWRkcmVzcwEFE2ZhY3RvcnlBZGRyZXNzQnl0ZXMEC3VzZXJBZGRyZXNzCQEHQWRkcmVzcwEFEHVzZXJBZGRyZXNzQnl0ZXMEEWxvY2tHbG9iYWxDb3VudGVyCQELdmFsdWVPckVsc2UCCQCaCAIFDmZhY3RvcnlBZGRyZXNzCQEUa2V5TG9ja0dsb2JhbENvdW50ZXIAAAAEDGxvY2tEdXJhdGlvbgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFDmZhY3RvcnlBZGRyZXNzCQEPa2V5TG9ja0R1cmF0aW9uAAkBB3dyYXBFcnIBAhVpbnZhbGlkIGxvY2sgZHVyYXRpb24EB2FjdGlvbnMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBC2xvY2tBZGRyZXNzAQUOZmFjdG9yeUFkZHJlc3MFBmFtb3VudAUHYXNzZXRJZAUDbmlsBA5mYWN0b3J5QWN0aW9ucwkAzAgCCQD8BwQFDmZhY3RvcnlBZGRyZXNzAgtzdHJpbmdFbnRyeQkAzAgCCQEHa2V5TG9jawIFC3VzZXJBZGRyZXNzBRFsb2NrR2xvYmFsQ291bnRlcgkAzAgCCQEKbG9ja0Zvcm1hdAQFBmhlaWdodAkAZAIFBmhlaWdodAUMbG9ja0R1cmF0aW9uBQdhc3NldElkBQZhbW91bnQFA25pbAUDbmlsCQDMCAIJAPwHBAUOZmFjdG9yeUFkZHJlc3MCDGludGVnZXJFbnRyeQkAzAgCCQEUa2V5TG9ja0dsb2JhbENvdW50ZXIACQDMCAIJAGQCBRFsb2NrR2xvYmFsQ291bnRlcgABBQNuaWwFA25pbAUDbmlsCQCUCgIFB2FjdGlvbnMFDmZhY3RvcnlBY3Rpb25zCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBnVubG9jawIPY2FsbGVyUHVibGljS2V5BGFyZ3MEDmZhY3RvcnlBZGRyZXNzCAUBaQZjYWxsZXIEC3VzZXJBZGRyZXNzCQCnCAEFD2NhbGxlclB1YmxpY0tleQQHY291bnRlcgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEJAJEDAgUEYXJncwAACQEHd3JhcEVycgECD2ludmFsaWQgY291bnRlcgQNJHQwMTc2NDExNzgwNgkBCWxvY2tQYXJzZQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQ5mYWN0b3J5QWRkcmVzcwkBB2tleUxvY2sCBQt1c2VyQWRkcmVzcwUHY291bnRlcgkBB3dyYXBFcnIBAgxpbnZhbGlkIGxvY2sEBGZyb20IBQ0kdDAxNzY0MTE3ODA2Al8xBAJ0bwgFDSR0MDE3NjQxMTc4MDYCXzIEB2Fzc2V0SWQIBQ0kdDAxNzY0MTE3ODA2Al8zBAZhbW91bnQIBQ0kdDAxNzY0MTE3ODA2Al80BAZyZXN1bHQDCQBmAgUGaGVpZ2h0BQJ0bwkAzAgCCQD8BwQJAQtsb2NrQWRkcmVzcwEFDmZhY3RvcnlBZGRyZXNzAg10cmFuc2ZlckFzc2V0CQDMCAIIBQt1c2VyQWRkcmVzcwVieXRlcwkAzAgCBQZhbW91bnQJAMwIAgUHYXNzZXRJZAUDbmlsBQNuaWwJAMwIAgkA/AcEBQ5mYWN0b3J5QWRkcmVzcwILZGVsZXRlRW50cnkJAMwIAgkBB2tleUxvY2sCBQt1c2VyQWRkcmVzcwUHY291bnRlcgUDbmlsBQNuaWwFA25pbAUEdW5pdAkAlAoCBQNuaWwFBnJlc3VsdAFpAQVwcmljZQIPY2FsbGVyUHVibGljS2V5BGFyZ3MEDmZhY3RvcnlBZGRyZXNzCAUBaQZjYWxsZXIJAJQKAgUDbmlsCAkBCWNhbGNQcmljZQEFDmZhY3RvcnlBZGRyZXNzAl8xAWkBCnByaWNlRGVidWcCD2NhbGxlclB1YmxpY0tleQRhcmdzBA5mYWN0b3J5QWRkcmVzcwgFAWkGY2FsbGVyCQCUCgIFA25pbAgJAQljYWxjUHJpY2UBBQ5mYWN0b3J5QWRkcmVzcwJfMgFpARBnZXRUcmVhc3VyeVZhbHVlAg9jYWxsZXJQdWJsaWNLZXkEYXJncwQOZmFjdG9yeUFkZHJlc3MIBQFpBmNhbGxlcgQNdHJlYXN1cnlWYWx1ZQkBB2Zyb21YMTgCCQERY2FsY1RyZWFzdXJ5VmFsdWUBBQ5mYWN0b3J5QWRkcmVzcwkAbAYACgAABQx1c2R0RGVjaW1hbHMAAAAABQRET1dOCQCUCgIFA25pbAUNdHJlYXN1cnlWYWx1ZQECdHgBBnZlcmlmeQAJAAACBQdjaGFpbklkBQhjaGFpbklkVPz5oBo=", "height": 2974260, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7Dm2AdTsyibbZjun99FPgFytSWCPwkkWEyvWNpxEUHKt Next: DsUyoiyAqcepF7tFYb2aLGXY2bu1SNTvek3ocEFKKtWM Diff:
OldNewDifferences
172172 func ac (ad) = valueOrErrorMessage(assetInfo(ad), q("invalid asset info"))
173173
174174
175-func ae (af,ag,ad,ah) = [toString(af), toString(ag), toBase58String(ad), toString(ah)]
175+func ae (af,ag,ad,ah) = makeString([toString(af), toString(ag), toBase58String(ad), toString(ah)], d)
176176
177177
178178 func ai (r) = {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = take(drop(this.bytes, 1), 1)
55
66 let b = base58'2T'
77
88 let c = base58'2W'
99
1010 let d = "__"
1111
1212 let e = "WAVES"
1313
1414 let f = "wxdao_calculator.ride"
1515
1616 let g = 100000000
1717
1818 let h = toBigInt(1000000000000000000)
1919
2020 let i = 8
2121
2222 let j = 6
2323
2424 func k (l,m) = fraction(toBigInt(l), h, toBigInt(m))
2525
2626
2727 func n (o,p) = toInt(fraction(o, toBigInt(p), h))
2828
2929
3030 func q (r) = ((f + ": ") + r)
3131
3232
3333 func s (r) = throw(q(r))
3434
3535
3636 func t (u,v) = if ((u.caller == v))
3737 then true
3838 else s("permission denied")
3939
4040
4141 func w (u) = t(u, this)
4242
4343
4444 let x = if ((a == c))
4545 then base58'Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on'
4646 else if ((a == b))
4747 then base58'EMAMLxDnv3xiz8RXg8Btj33jcEw3wLczL3JKYYmuubpc'
4848 else s("invalid chain id")
4949
5050 func y () = makeString(["%s", "currentPeriod"], d)
5151
5252
5353 func z (A) = makeString(["%s%d", "startHeight", toString(A)], d)
5454
5555
5656 func B () = makeString(["%s", "periodLength"], d)
5757
5858
5959 func C (A) = makeString(["%s%d", "treasuryValue", toString(A)], d)
6060
6161
6262 func D () = makeString(["%s", "lockGlobalCounter"], d)
6363
6464
6565 func E () = makeString(["%s", "lockDuration"], d)
6666
6767
6868 func F (G,H) = makeString(["%s%s%d", "lock", toString(G), toString(H)], d)
6969
7070
7171 func I (J) = ("skin_total_" + toString(J))
7272
7373
7474 func K () = "%s__powerConfigAddress"
7575
7676
7777 func L (M) = valueOrErrorMessage({
7878 let N = getString(M, K())
7979 if ($isInstanceOf(N, "String"))
8080 then {
8181 let r = N
8282 addressFromString(r)
8383 }
8484 else if ($isInstanceOf(N, "Unit"))
8585 then unit
8686 else throw("Match error")
8787 }, q("invalid power config address"))
8888
8989
9090 func O () = "powerAssetId"
9191
9292
9393 func P (M) = fromBase58String(valueOrErrorMessage(getString(L(M), O()), q("invalid power asset id")))
9494
9595
9696 func Q () = "%s__powerContractAddress"
9797
9898
9999 func R (M) = valueOrErrorMessage({
100100 let N = getString(M, Q())
101101 if ($isInstanceOf(N, "String"))
102102 then {
103103 let r = N
104104 addressFromString(r)
105105 }
106106 else if ($isInstanceOf(N, "Unit"))
107107 then unit
108108 else throw("Match error")
109109 }, q("invalid power contract address"))
110110
111111
112112 func S () = "%s__lockAddress"
113113
114114
115115 func T (M) = valueOrErrorMessage({
116116 let N = getString(M, S())
117117 if ($isInstanceOf(N, "String"))
118118 then {
119119 let r = N
120120 addressFromString(r)
121121 }
122122 else if ($isInstanceOf(N, "Unit"))
123123 then unit
124124 else throw("Match error")
125125 }, q("invalid lock contract address"))
126126
127127
128128 func U () = "%s__poolsFactoryAddress"
129129
130130
131131 func V (M) = valueOrErrorMessage({
132132 let N = getString(M, U())
133133 if ($isInstanceOf(N, "String"))
134134 then {
135135 let r = N
136136 addressFromString(r)
137137 }
138138 else if ($isInstanceOf(N, "Unit"))
139139 then unit
140140 else throw("Match error")
141141 }, q("invalid pools factory address"))
142142
143143
144144 func W () = "%s__treasuryAddress"
145145
146146
147147 func X (M) = valueOrErrorMessage({
148148 let N = getString(M, W())
149149 if ($isInstanceOf(N, "String"))
150150 then {
151151 let r = N
152152 addressFromString(r)
153153 }
154154 else if ($isInstanceOf(N, "Unit"))
155155 then unit
156156 else throw("Match error")
157157 }, q("invalid treasury address"))
158158
159159
160160 func Y () = "%s__assets"
161161
162162
163163 func Z (M) = valueOrErrorMessage(getString(M, Y()), q("invalid assets"))
164164
165165
166166 func aa () = "%s__lpAssetId"
167167
168168
169169 func ab (M) = fromBase58String(valueOrErrorMessage(getString(M, aa()), q("invalid lp asset id")))
170170
171171
172172 func ac (ad) = valueOrErrorMessage(assetInfo(ad), q("invalid asset info"))
173173
174174
175-func ae (af,ag,ad,ah) = [toString(af), toString(ag), toBase58String(ad), toString(ah)]
175+func ae (af,ag,ad,ah) = makeString([toString(af), toString(ag), toBase58String(ad), toString(ah)], d)
176176
177177
178178 func ai (r) = {
179179 let aj = split(r, d)
180180 $Tuple4(valueOrErrorMessage(parseInt(aj[0]), q("error during processing lock start height")), valueOrErrorMessage(parseInt(aj[1]), q("error during processing lock end height")), fromBase58String(aj[2]), valueOrErrorMessage(parseInt(aj[3]), q("error during processing lock amount")))
181181 }
182182
183183
184184 func ak (al,am) = {
185185 func an (ao,ap) = {
186186 let aq = if ((ap == e))
187187 then k(wavesBalance(al).available, pow(10, 0, i, 0, 0, DOWN))
188188 else {
189189 let ad = fromBase58String(ap)
190190 let ar = ac(ad).decimals
191191 k(assetBalance(al, ad), pow(10, 0, ar, 0, 0, DOWN))
192192 }
193193 (ao :+ aq)
194194 }
195195
196196 let as = am
197197 let at = size(as)
198198 let au = nil
199199 func av (aw,ax) = if ((ax >= at))
200200 then aw
201201 else an(aw, as[ax])
202202
203203 func ay (aw,ax) = if ((ax >= at))
204204 then aw
205205 else throw("List size exceeds 10")
206206
207207 ay(av(av(av(av(av(av(av(av(av(av(au, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
208208 }
209209
210210
211211 func az (aA,am) = if ((a == c))
212212 then {
213213 let aB = "3PKfrupEydU2nZAghVjZAfvCwMBkzuR1F52"
214214 let aC = parseBigIntValue({
215215 let aD = invoke(aA, "getPrice", [aB], nil)
216216 if ($isInstanceOf(aD, "String"))
217217 then aD
218218 else throw(($getType(aD) + " couldn't be cast to String"))
219219 })
220220 let aE = "3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g"
221221 let aF = parseBigIntValue({
222222 let aD = invoke(aA, "getPrice", [aE], nil)
223223 if ($isInstanceOf(aD, "String"))
224224 then aD
225225 else throw(($getType(aD) + " couldn't be cast to String"))
226226 })
227227 let aG = fraction(aC, h, aF)
228228 func an (ao,aH) = {
229229 let aI = {
230230 let N = aH
231231 if (("2thsACuHmzDMuNezPM32wg9a3BwUzBWDeSKakgz3cw21" == N))
232232 then {
233233 let aJ = "3PDi7Qq8pLQYvtKyTfQuqqPUWyhoYbU957t"
234234 let aK = parseBigIntValue({
235235 let aD = invoke(aA, "getPrice", [aJ], nil)
236236 if ($isInstanceOf(aD, "String"))
237237 then aD
238238 else throw(($getType(aD) + " couldn't be cast to String"))
239239 })
240240 fraction(aK, aC, h)
241241 }
242242 else if (("Atqv59EYzjFGuitKVnMRk6H8FukjoV3ktPorbEys25on" == N))
243243 then {
244244 let aL = "3PFzaH2ghpwANHFgjeva83N1yxzErELx2eh"
245245 let aM = parseBigIntValue({
246246 let aD = invoke(aA, "getPrice", [aL], nil)
247247 if ($isInstanceOf(aD, "String"))
248248 then aD
249249 else throw(($getType(aD) + " couldn't be cast to String"))
250250 })
251251 fraction(aM, aC, h)
252252 }
253253 else if (("34N9YcEETLWn93qYQ64EsP1x89tSruJU44RrEMSXXEPJ" == N))
254254 then {
255255 let aN = "3PKMVZ7kQeaREajYi8Yc25Ro6mcNw5D6QSa"
256256 let aO = parseBigIntValue({
257257 let aD = invoke(aA, "getPrice", [aN], nil)
258258 if ($isInstanceOf(aD, "String"))
259259 then aD
260260 else throw(($getType(aD) + " couldn't be cast to String"))
261261 })
262262 fraction(aC, h, aO)
263263 }
264264 else if (("6XtHjpXbs9RRJP2Sr9GUyVqzACcby9TkThHXnjVC5CDJ" == N))
265265 then {
266266 let aP = "3P3g3eipfG2NZKKQE8DZXt2E9tRJqii9jcX"
267267 let aQ = parseBigIntValue({
268268 let aD = invoke(aA, "getPrice", [aP], nil)
269269 if ($isInstanceOf(aD, "String"))
270270 then aD
271271 else throw(($getType(aD) + " couldn't be cast to String"))
272272 })
273273 fraction(aC, h, aQ)
274274 }
275275 else if (("HZk1mbfuJpmxU1Fs4AX5MWLVYtctsNcg6e2C6VKqK8zk" == N))
276276 then {
277277 let aR = "3P94wvu5gA7VhjPgAB3twaeqdwHCwNK2vsn"
278278 let aS = parseBigIntValue({
279279 let aD = invoke(aA, "getPrice", [aR], nil)
280280 if ($isInstanceOf(aD, "String"))
281281 then aD
282282 else throw(($getType(aD) + " couldn't be cast to String"))
283283 })
284284 fraction(aS, aG, h)
285285 }
286286 else if (("474jTeYx2r2Va35794tCScAXWJG9hU2HcgxzMowaZUnu" == N))
287287 then {
288288 let aT = "3P3XGTN6s292g9iwYhs3TEqJqHiffQYojuE"
289289 let aU = parseBigIntValue({
290290 let aD = invoke(aA, "getPrice", [aT], nil)
291291 if ($isInstanceOf(aD, "String"))
292292 then aD
293293 else throw(($getType(aD) + " couldn't be cast to String"))
294294 })
295295 fraction(aU, aC, h)
296296 }
297297 else if (("8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" == N))
298298 then {
299299 let aV = "3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp"
300300 let aW = parseBigIntValue({
301301 let aD = invoke(aA, "getPrice", [aV], nil)
302302 if ($isInstanceOf(aD, "String"))
303303 then aD
304304 else throw(($getType(aD) + " couldn't be cast to String"))
305305 })
306306 fraction(aW, aG, h)
307307 }
308308 else s("invalid asset id")
309309 }
310310 (ao :+ aI)
311311 }
312312
313313 let as = am
314314 let at = size(as)
315315 let au = nil
316316 func av (aw,ax) = if ((ax >= at))
317317 then aw
318318 else an(aw, as[ax])
319319
320320 func ay (aw,ax) = if ((ax >= at))
321321 then aw
322322 else throw("List size exceeds 10")
323323
324324 ay(av(av(av(av(av(av(av(av(av(av(au, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
325325 }
326326 else if ((a == b))
327327 then {
328328 func an (ao,aH) = {
329329 let aI = {
330330 let N = aH
331331 if (("EMAMLxDnv3xiz8RXg8Btj33jcEw3wLczL3JKYYmuubpc" == N))
332332 then {
333333 let aX = "3MrULQRLc52GWrJF1tMcAm4M78fPe57o9Kt"
334334 let aY = parseBigIntValue({
335335 let aD = invoke(aA, "getPrice", [aX], nil)
336336 if ($isInstanceOf(aD, "String"))
337337 then aD
338338 else throw(($getType(aD) + " couldn't be cast to String"))
339339 })
340340 aY
341341 }
342342 else if (("A7Ksh7fXyqm1KhKAiK3bAB2aiPSitQQF6v1pyu9SS3FR" == N))
343343 then {
344344 let aZ = "3MzKSdTH2jFbypLsoNfrH7QgkzSbx3EYwCA"
345345 let ba = parseBigIntValue({
346346 let aD = invoke(aA, "getPrice", [aZ], nil)
347347 if ($isInstanceOf(aD, "String"))
348348 then aD
349349 else throw(($getType(aD) + " couldn't be cast to String"))
350350 })
351351 ba
352352 }
353353 else if (("8Q6SE2ANebufw8JuPjJVRjZD6drD8ihjNjM8xaGUSfdR" == N))
354354 then {
355355 let aI = k(150000000, pow(10, 0, j, 0, 0, DOWN))
356356 aI
357357 }
358358 else s("invalid asset id")
359359 }
360360 (ao :+ aI)
361361 }
362362
363363 let as = am
364364 let at = size(as)
365365 let au = nil
366366 func av (aw,ax) = if ((ax >= at))
367367 then aw
368368 else an(aw, as[ax])
369369
370370 func ay (aw,ax) = if ((ax >= at))
371371 then aw
372372 else throw("List size exceeds 10")
373373
374374 ay(av(av(av(av(av(av(av(av(av(av(au, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
375375 }
376376 else s("invalid chain id")
377377
378378
379379 func bb (M) = {
380380 let J = X(M)
381381 let aA = V(M)
382382 let bc = split(Z(M), d)
383383 let bd = ak(J, bc)
384384 let be = az(aA, bc)
385385 func bf (ao,ap) = {
386386 let ad = fromBase58String(ap)
387387 let bg = valueOrErrorMessage(indexOf(bc, ap), q("invalid asset id"))
388388 let aq = bd[bg]
389389 let aI = be[bg]
390390 let bh = fraction(aq, aI, h)
391391 (ao + bh)
392392 }
393393
394394 let bi = {
395395 let as = bc
396396 let at = size(as)
397397 let au = toBigInt(0)
398398 func av (aw,ax) = if ((ax >= at))
399399 then aw
400400 else bf(aw, as[ax])
401401
402402 func ay (aw,ax) = if ((ax >= at))
403403 then aw
404404 else throw("List size exceeds 10")
405405
406406 ay(av(av(av(av(av(av(av(av(av(av(au, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
407407 }
408408 bi
409409 }
410410
411411
412412 func bj (M,bk,bl) = {
413413 let bc = split(Z(M), d)
414414 let bm = ac(ab(M)).quantity
415415 if ((bm == bm))
416416 then {
417417 let bd = ak(M, bc)
418418 func an (ao,ap) = {
419419 let ad = fromBase58String(ap)
420420 let bg = valueOrErrorMessage(indexOf(bc, ap), q("invalid asset balance"))
421421 let ar = ac(ad).decimals
422422 let aq = n(bd[bg], pow(10, 0, ar, 0, 0, DOWN))
423423 let ah = fraction(aq, bk, bm)
424424 if ((ah > 0))
425425 then {
426426 let bn = if ((bl == unit))
427427 then unit
428428 else invoke(this, "lockInternal", [M.bytes, value(bl).bytes, ad, ah], nil)
429429 if ((bn == bn))
430430 then $Tuple2((ao._1 :+ ad), (ao._2 :+ ah))
431431 else throw("Strict value is not equal to itself.")
432432 }
433433 else ao
434434 }
435435
436436 let as = bc
437437 let at = size(as)
438438 let au = $Tuple2(nil, nil)
439439 func av (aw,ax) = if ((ax >= at))
440440 then aw
441441 else an(aw, as[ax])
442442
443443 func ay (aw,ax) = if ((ax >= at))
444444 then aw
445445 else throw("List size exceeds 6")
446446
447447 ay(av(av(av(av(av(av(au, 0), 1), 2), 3), 4), 5), 6)
448448 }
449449 else throw("Strict value is not equal to itself.")
450450 }
451451
452452
453453 func bo (M) = {
454454 let aA = V(M)
455455 let bp = valueOrErrorMessage(getInteger(M, y()), q("invalid current period"))
456456 let bq = valueOrErrorMessage(getInteger(M, C(bp)), q(("invalid treasury value for period " + toString(bp))))
457457 let bi = n(bb(M), pow(10, 0, j, 0, 0, DOWN))
458458 let br = (bi - bq)
459459 let bs = k(br, pow(10, 0, j, 0, 0, DOWN))
460460 let bt = P(M)
461461 let bu = ac(bt)
462462 let bv = az(aA, [toBase58String(bt)])[0]
463463 let bw = if ((bv > toBigInt(0)))
464464 then n(bv, pow(10, 0, j, 0, 0, DOWN))
465465 else s("invalid PWR price")
466466 let J = X(M)
467467 let bx = valueOrElse(getInteger(R(M), I(J)), 0)
468468 let by = ac(ab(M))
469469 let bz = (by.quantity / 100)
470470 let bA = (bx + bz)
471471 let bB = k(bA, pow(10, 0, bu.decimals, 0, 0, DOWN))
472472 let bC = ak(M, [toBase58String(x)])[0]
473473 let bD = n(bC, pow(10, 0, j, 0, 0, DOWN))
474474 let bE = az(aA, [toBase58String(x)])[0]
475475 let bF = if ((bE > toBigInt(0)))
476476 then n(bE, pow(10, 0, j, 0, 0, DOWN))
477477 else s("invalid wx price")
478478 let bm = by.quantity
479479 let bG = k(bm, pow(10, 0, by.decimals, 0, 0, DOWN))
480480 let bH = (((bv + fraction((bC * toBigInt(100)), bE, bG)) + fraction(max([bs, toBigInt(0)]), (toBigInt(2) * h), (toBigInt(10) * bB))) / toBigInt(100))
481481 let bI = n(bH, pow(10, 0, j, 0, 0, DOWN))
482482 let bJ = bj(M, pow(10, 0, by.decimals, 0, 0, DOWN), unit)
483483 $Tuple2([bI, bJ], [["wxDaoPrice", bI], ["pwrPrice", bw], ["factoryAddressWxBalance", bD], ["wxPrice", bF], ["wxdaoQuantity", bm], ["treasuryValueDiff", br], ["pwrAmount", bA], ["skinTotal", bx], ["pwrRemaining", bz]])
484484 }
485485
486486
487487 @Callable(u)
488488 func swap (bK,bL) = {
489489 let M = u.caller
490490 let G = addressFromPublicKey(bK)
491491 let bM = if ((size(u.payments) == 1))
492492 then u.payments[0]
493493 else s("1 payment is required")
494494 let bN = q("invalid payment asset id")
495495 let bO = if ((valueOrErrorMessage(bM.assetId, bN) == ab(M)))
496496 then value(bM.assetId)
497497 else s(bN)
498498 let bw = 100
499499 let bA = (bM.amount / bw)
500500 let bP = bj(M, bM.amount, G)
501501 if ((bP == bP))
502502 then {
503503 let bQ = 0
504504 let bR = [invoke(M, "commitAfterStartWithLockRoundFor", [toString(R(M)), toString(X(M)), toString(G), bQ, P(M), bA], nil)]
505505 $Tuple2([Burn(bO, bM.amount)], bR)
506506 }
507507 else throw("Strict value is not equal to itself.")
508508 }
509509
510510
511511
512512 @Callable(u)
513513 func lockInternal (bS,bT,ad,ah) = {
514514 let bU = w(u)
515515 if ((bU == bU))
516516 then {
517517 let M = Address(bS)
518518 let G = Address(bT)
519519 let bV = valueOrElse(getInteger(M, D()), 0)
520520 let bW = valueOrErrorMessage(getInteger(M, E()), q("invalid lock duration"))
521521 let bX = [ScriptTransfer(T(M), ah, ad)]
522522 let bR = [invoke(M, "stringEntry", [F(G, bV), ae(height, (height + bW), ad, ah)], nil), invoke(M, "integerEntry", [D(), (bV + 1)], nil)]
523523 $Tuple2(bX, bR)
524524 }
525525 else throw("Strict value is not equal to itself.")
526526 }
527527
528528
529529
530530 @Callable(u)
531531 func unlock (bK,bL) = {
532532 let M = u.caller
533533 let G = addressFromPublicKey(bK)
534534 let H = valueOrErrorMessage(parseInt(bL[0]), q("invalid counter"))
535535 let bY = ai(valueOrErrorMessage(getString(M, F(G, H)), q("invalid lock")))
536536 let af = bY._1
537537 let ag = bY._2
538538 let ad = bY._3
539539 let ah = bY._4
540540 let bZ = if ((height > ag))
541541 then [invoke(T(M), "transferAsset", [G.bytes, ah, ad], nil), invoke(M, "deleteEntry", [F(G, H)], nil)]
542542 else unit
543543 $Tuple2(nil, bZ)
544544 }
545545
546546
547547
548548 @Callable(u)
549549 func price (bK,bL) = {
550550 let M = u.caller
551551 $Tuple2(nil, bo(M)._1)
552552 }
553553
554554
555555
556556 @Callable(u)
557557 func priceDebug (bK,bL) = {
558558 let M = u.caller
559559 $Tuple2(nil, bo(M)._2)
560560 }
561561
562562
563563
564564 @Callable(u)
565565 func getTreasuryValue (bK,bL) = {
566566 let M = u.caller
567567 let bi = n(bb(M), pow(10, 0, j, 0, 0, DOWN))
568568 $Tuple2(nil, bi)
569569 }
570570
571571
572572 @Verifier(ca)
573573 func cb () = (a == b)
574574

github/deemru/w8io/c3f4982 
56.10 ms