tx · 7QLpzF9MPMAmrpC2xPBu13MtETvTukEJHjPhAqgn326X

3PDB1pdcw6fPCM1WsFmx9VAidTyMouYERC1:  -0.02600000 Waves

2023.10.17 10:20 [3868162] smart account 3PDB1pdcw6fPCM1WsFmx9VAidTyMouYERC1 > SELF 0.00000000 Waves

{ "type": 13, "id": "7QLpzF9MPMAmrpC2xPBu13MtETvTukEJHjPhAqgn326X", "fee": 2600000, "feeAssetId": null, "timestamp": 1697527258298, "version": 2, "chainId": 87, "sender": "3PDB1pdcw6fPCM1WsFmx9VAidTyMouYERC1", "senderPublicKey": "FAdS85KG2ee4mAB8XCDybKpFu79txSRTHQHTFzHcULDn", "proofs": [ "4bEZmNnCfoeHiRHEAk38wowSafU2x5noL7wYoqvEBYgS2qQKntUyy21ejDd5EKyptdxFiZ4gaX6P8y5KNXrTu3Bb" ], "script": "base64:BgJDCAISBQoDCAgBEgASBgoECAgICBIDCgEIEgMKAQQSABIDCgEBEgASAwoBBBIECgIIARIFCgMEAQgSABIHCgUIAQEICDIACXN0YXJ0VHNNcwDo546s8jABF2NhbGN1bGF0ZURheXNTaW5jZVN0YXJ0AAQEZGlmZgkAZQIIBQlsYXN0QmxvY2sJdGltZXN0YW1wBQlzdGFydFRzTXMECmRheXNQYXNzZWQJAGkCBQRkaWZmCQBoAgCAowUA6AcFCmRheXNQYXNzZWQBCmFzSW50VHVwbGUBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgooSW50LCBJbnQpBANpbnQFByRtYXRjaDAFA2ludAkAAgECH1dyb25nIHR5cGUsIGV4cGVjdGVkOiBUdXBsZSBJbnQBEGdldE9yYWNsZUFkZHJlc3MACQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMCDXN0YXRpY19vcmFjbGUCEW9yYWNsZSBub3QgZm91bmQhAhZjb3VsZCBub3QgcGFyc2Ugb3JhY2xlAQ5nZXRGZWVzQWNjb3VudAAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCCQEQZ2V0T3JhY2xlQWRkcmVzcwACFHN0YXRpY19mZWVBZ2dyZWdhdG9yAh9zdGF0aWNfZmVlQWdncmVnYXRvciBub3QgZm91bmQhAQ5nZXROb2RlQWNjb3VudAAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCCQEQZ2V0T3JhY2xlQWRkcmVzcwACEnN0YXRpY19ub2RlQWRkcmVzcwIXbm9kZV9hZGRyZXNzIG5vdCBmb3VuZCEBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAABDHRyeUdldEJpbmFyeQEDa2V5BAckbWF0Y2gwCQCcCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwBQFiAQABDHRyeUdldFN0cmluZwEDa2V5BAckbWF0Y2gwCQCdCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWIFByRtYXRjaDAFAWICAAEOZ2V0QXNzZXRTdHJpbmcBB2Fzc2V0SWQEByRtYXRjaDAFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBYgUHJG1hdGNoMAkA2AQBBQFiAgVXQVZFUwENZ2V0QXNzZXRCeXRlcwEKYXNzZXRJZFN0cgMJAAACBQphc3NldElkU3RyAgVXQVZFUwUEdW5pdAkA2QQBBQphc3NldElkU3RyARNhZGRBc3NldEJ5dGVzVG9MaXN0AgVhY2N1bQRpdGVtCQDOCAIFBWFjY3VtCQDMCAIJAQ1nZXRBc3NldEJ5dGVzAQUEaXRlbQUDbmlsARRhZGRBc3NldFdlaWdodFRvTGlzdAIFYWNjdW0EaXRlbQkAzggCBQVhY2N1bQkAzAgCCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgdzdGF0aWNfCQEOZ2V0QXNzZXRTdHJpbmcBBQRpdGVtAgdfd2VpZ2h0BQNuaWwBFmFkZEFzc2V0RGVjaW1hbHNUb0xpc3QCBWFjY3VtBGl0ZW0JAM4IAgUFYWNjdW0JAMwIAgkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIHc3RhdGljXwkBDmdldEFzc2V0U3RyaW5nAQUEaXRlbQIJX2RlY2ltYWxzBQNuaWwBE2FkZEFzc2V0U2NhbGVUb0xpc3QCBWFjY3VtBGl0ZW0JAM4IAgUFYWNjdW0JAMwIAgkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIHc3RhdGljXwkBDmdldEFzc2V0U3RyaW5nAQUEaXRlbQIGX3NjYWxlBQNuaWwBDGFkZEludFRvTGlzdAIFYWNjdW0EaXRlbQkAzggCBQVhY2N1bQkAzAgCCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0FA25pbAEXcmV2ZW5ldUZvckRheUJ5QXNzZXRPdXQCA2RheQdhc3NldElkCQCsAgIJAKwCAgkArAICAgxyZXZlbmV1X2RheV8FB2Fzc2V0SWQCAV8JAKQDAQUDZGF5ARB2b2x1bWVGb3JEYXlCeUluAgNkYXkHYXNzZXRJZAkArAICCQCsAgIJAKwCAgILdm9sdW1lX2RheV8FB2Fzc2V0SWQCAV8JAKQDAQUDZGF5AAFUCQENdHJ5R2V0SW50ZWdlcgECE3N0YXRpY190b2tlbnNBbW91bnQACGFzc2V0SWRzCgACJGwJALUJAgkBDHRyeUdldFN0cmluZwECD3N0YXRpY190b2tlbklkcwIBLAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQETYWRkQXNzZXRCeXRlc1RvTGlzdAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwANQXNzZXRzV2VpZ2h0cwoAAiRsBQhhc3NldElkcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEUYWRkQXNzZXRXZWlnaHRUb0xpc3QCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjFfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDMJAQUkZjFfMgIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIFBSRhY2MwAAAAAQACAAMACERlY2ltYWxzCgACJGwFCGFzc2V0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYyXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARZhZGRBc3NldERlY2ltYWxzVG9MaXN0AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYyXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGYyXzICCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECBQUkYWNjMAAAAAEAAgADAAZTY2FsZXMKAAIkbAUIYXNzZXRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjNfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBE2FkZEFzc2V0U2NhbGVUb0xpc3QCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjNfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDMJAQUkZjNfMgIJAQUkZjNfMQIJAQUkZjNfMQIJAQUkZjNfMQIFBSRhY2MwAAAAAQACAAMAB3N0YWtlSWQJAQx0cnlHZXRTdHJpbmcBAg1sYXN0X3N0YWtlX2lkAANGZWUJAQ10cnlHZXRJbnRlZ2VyAQIKc3RhdGljX2ZlZQAVQXNzZXRzV2VpZ2h0c0RlY2ltYWxzAAIABVNjYWxlAJBOAAZTY2FsZTgAgMLXLwAIRmVlU2NhbGUAkE4AEVBvb2xUb2tlbkRlY2ltYWxzAAgADlBvb2xUb2tlblNjYWxlCQBsBgAKAAAFEVBvb2xUb2tlbkRlY2ltYWxzAAAAAAUGSEFMRlVQAAxlYXJuZWRBc3NldHMFCGFzc2V0SWRzAQppc1NodXRkb3duAAQIc2h1dGRvd24DCQECIT0CCQEMdHJ5R2V0U3RyaW5nAQINc3RhdGljX29yYWNsZQIABAckbWF0Y2gwCQCbCAIJARBnZXRPcmFjbGVBZGRyZXNzAAIMYW1tX3NodXRkb3duAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXgFByRtYXRjaDAFAXgHBwQJc2h1dGRvd24yBAckbWF0Y2gwCQCbCAIFBHRoaXMCC2lzX3NodXRkb3duAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXgFByRtYXRjaDAFAXgHAwUIc2h1dGRvd24GBQlzaHV0ZG93bjIBCWNhblVwZGF0ZQADCQECIT0CCQEMdHJ5R2V0U3RyaW5nAQINc3RhdGljX29yYWNsZQIABAckbWF0Y2gwCQCbCAIJARBnZXRPcmFjbGVBZGRyZXNzAAIGYW1tX3R4AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXgFByRtYXRjaDAFAXgGBgEWZ2V0Q3VycmVudFRva2VuQmFsYW5jZQEJdG9rZW5UeXBlBAd0b2tlbklkCQEOZ2V0QXNzZXRTdHJpbmcBCQCRAwIFCGFzc2V0SWRzBQl0b2tlblR5cGUJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICB2dsb2JhbF8FB3Rva2VuSWQCCF9iYWxhbmNlARBjYWxjdWxhdGVQSXNzdWVkAgZhbW91bnQHdG9rZW5JZAQHUHN1cHBseQkBDXRyeUdldEludGVnZXIBAhdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAQHQmFsYW5jZQkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIHZ2xvYmFsXwkBDmdldEFzc2V0U3RyaW5nAQUHdG9rZW5JZAIIX2JhbGFuY2UJAG4EBQZhbW91bnQFB1BzdXBwbHkFB0JhbGFuY2UFBERPV04BDWdldE1pblBJc3N1ZWQBCHBheW1lbnRzCgEHaGFuZGxlcgIFYWNjdW0HY3VycmVudAQHUElzc3VlZAkBEGNhbGN1bGF0ZVBJc3N1ZWQCCAUHY3VycmVudAZhbW91bnQIBQdjdXJyZW50B2Fzc2V0SWQDCQAAAgUHUElzc3VlZAAACQACAQIkb25lIG9mIHRoZSB0b2tlbnMgYW1vdW50cyBpcyB0b28gbG93AwMJAAACBQVhY2N1bQAABgkAZgIFBWFjY3VtBQdQSXNzdWVkBQdQSXNzdWVkBQVhY2N1bQQJbWluUElzc2VkCgACJGwFCHBheW1lbnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGY0XzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdoYW5kbGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGY0XzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGY0XzICCQEFJGY0XzECCQEFJGY0XzECCQEFJGY0XzECBQUkYWNjMAAAAAEAAgADBQltaW5QSXNzZWQBE2NoZWNrVG9rZW5zVmFsaWRpdHkBCHBheW1lbnRzCgEIaGFuZGxlcjECBWFjY3VtB3BheW1lbnQJAM4IAgUFYWNjdW0JAMwIAggFB3BheW1lbnQHYXNzZXRJZAUDbmlsBANpZHMKAAIkbAUIcGF5bWVudHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjRfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCGhhbmRsZXIxAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGY0XzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGY0XzICCQEFJGY0XzECCQEFJGY0XzECCQEFJGY0XzECBQUkYWNjMAAAAAEAAgADAwkAAAIFA2lkcwUDaWRzCgEIaGFuZGxlcjICBWFjY3VtB2Fzc2V0SWQDCQECIT0CCQDPCAIFA2lkcwUHYXNzZXRJZAUEdW5pdAkAZAIFBWFjY3VtAAEJAAIBCQCsAgICFGFzc2V0IG5vdCBhdHRhY2hlZDogCQEOZ2V0QXNzZXRTdHJpbmcBBQdhc3NldElkBAZjaGVja3MKAAIkbAUIYXNzZXRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjVfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCGhhbmRsZXIyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGY1XzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGY1XzICCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECBQUkYWNjMAAAAAEAAgADAwkAAAIFBmNoZWNrcwUGY2hlY2tzBgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEMc3Rha2VVbnN0YWtlAwVzdGFrZQZhbW91bnQHYXNzZXRJZAMDCQAAAgUHYXNzZXRJZAIFV0FWRVMJAGYCBQZhbW91bnQAAAcEDWxlYXNpbmdBbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwIObGVhc2luZ19hbW91bnQAAAQObmV3TGVhc2VBbW91bnQDBQVzdGFrZQkAZAIFDWxlYXNpbmdBbW91bnQFBmFtb3VudAkAZQIFDWxlYXNpbmdBbW91bnQFBmFtb3VudAQIbmV3TGVhc2UJAMQIAgkBDmdldE5vZGVBY2NvdW50AAUObmV3TGVhc2VBbW91bnQECm5ld0xlYXNlSWQJALkIAQUIbmV3TGVhc2UEBGRhdGEJAMwIAgUIbmV3TGVhc2UJAMwIAgkBC1N0cmluZ0VudHJ5AgINbGFzdF9zdGFrZV9pZAkA2AQBBQpuZXdMZWFzZUlkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAg5sZWFzaW5nX2Ftb3VudAUObmV3TGVhc2VBbW91bnQFA25pbAMJAQIhPQIFB3N0YWtlSWQCAAkAzggCCQDMCAIJAQtMZWFzZUNhbmNlbAEJANkEAQUHc3Rha2VJZAUDbmlsBQRkYXRhBQRkYXRhBQNuaWwBE2hhbmRsZVBvb2xUb2tlbnNBZGQEB1BJc3N1ZWQIcGF5bWVudHMLdXNlckFkZHJlc3MKbmVlZENoYW5nZQoBFWdldFRva2VuUGF5bWVudEFtb3VudAEHdG9rZW5JZAoBB2hhbmRsZXICBWFjY3VtB3BheW1lbnQDCQAAAggFB3BheW1lbnQHYXNzZXRJZAUHdG9rZW5JZAgFB3BheW1lbnQGYW1vdW50BQVhY2N1bQoAAiRsBQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmNF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHaGFuZGxlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmNF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmNF8yAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgUFJGFjYzAAAAABAAIAAwoBEWhhbmRsZVRva2VuQ2hhbmdlAgVhY2N1bQd0b2tlbklkBAJCawkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIHZ2xvYmFsXwkBDmdldEFzc2V0U3RyaW5nAQUHdG9rZW5JZAIIX2JhbGFuY2UEB1BTdXBwbHkJAQ10cnlHZXRJbnRlZ2VyAQIXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQEDXRva2VuRGVjaW1hbHMJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICB3N0YXRpY18JAQ5nZXRBc3NldFN0cmluZwEFB3Rva2VuSWQCBl9zY2FsZQQGRGtUZW1wCQBuBAkAZQIJAG4ECQBkAgUHUFN1cHBseQUHUElzc3VlZAUNdG9rZW5EZWNpbWFscwUHUFN1cHBseQUHQ0VJTElORwUNdG9rZW5EZWNpbWFscwUCQmsFDXRva2VuRGVjaW1hbHMFB0NFSUxJTkcEDXBheW1lbnRBbW91bnQJARVnZXRUb2tlblBheW1lbnRBbW91bnQBBQd0b2tlbklkBAJEawkAlwMBCQDMCAIFBkRrVGVtcAkAzAgCBQ1wYXltZW50QW1vdW50BQNuaWwECHRvUmV0dXJuCQBlAgMJAQIhPQIFDXBheW1lbnRBbW91bnQAAAUNcGF5bWVudEFtb3VudAAABQJEawQBdAMDBQpuZWVkQ2hhbmdlCQBmAgUIdG9SZXR1cm4AAAcJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULdXNlckFkZHJlc3MFCHRvUmV0dXJuBQd0b2tlbklkBQNuaWwFA25pbAQQc3Rha2VVbnN0YWtlRGF0YQMJAAACCQEOZ2V0QXNzZXRTdHJpbmcBBQd0b2tlbklkAgVXQVZFUwkBDHN0YWtlVW5zdGFrZQMGBQJEawIFV0FWRVMFA25pbAkAzggCCQDOCAIJAM4IAgUFYWNjdW0FAXQFEHN0YWtlVW5zdGFrZURhdGEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgdnbG9iYWxfCQEOZ2V0QXNzZXRTdHJpbmcBBQd0b2tlbklkAghfYmFsYW5jZQkAZAIFAkJrBQJEawUDbmlsCgACJGwFCGFzc2V0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGY0XzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARFoYW5kbGVUb2tlbkNoYW5nZQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmNF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmNF8yAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgUFJGFjYzAAAAABAAIAAwEWaGFuZGxlUG9vbFRva2Vuc1JlZGVlbQIJUFJlZGVlbWVkC3VzZXJBZGRyZXNzCgERaGFuZGxlVG9rZW5SZWRlZW0CBWFjY3VtB3Rva2VuSWQEAkJrCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgdnbG9iYWxfCQEOZ2V0QXNzZXRTdHJpbmcBBQd0b2tlbklkAghfYmFsYW5jZQQHUFN1cHBseQkBDXRyeUdldEludGVnZXIBAhdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAQNdG9rZW5EZWNpbWFscwkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIHc3RhdGljXwkBDmdldEFzc2V0U3RyaW5nAQUHdG9rZW5JZAIGX3NjYWxlBAZhbW91bnQJAKADAQkAvQIECQC4AgIJALYCAQUGU2NhbGU4CQC9AgQJALYCAQkAZQIFB1BTdXBwbHkFCVBSZWRlZW1lZAkAtgIBBQZTY2FsZTgJALYCAQUHUFN1cHBseQUHQ0VJTElORwkAtgIBBQJCawkAtgIBBQZTY2FsZTgFBERPV04EEHN0YWtlVW5zdGFrZURhdGEDCQAAAgkBDmdldEFzc2V0U3RyaW5nAQUHdG9rZW5JZAIFV0FWRVMJAQxzdGFrZVVuc3Rha2UDBwUGYW1vdW50AgVXQVZFUwUDbmlsCQDOCAIJAM4IAgUFYWNjdW0FEHN0YWtlVW5zdGFrZURhdGEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgdnbG9iYWxfCQEOZ2V0QXNzZXRTdHJpbmcBBQd0b2tlbklkAghfYmFsYW5jZQkAZQIFAkJrBQZhbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULdXNlckFkZHJlc3MFBmFtb3VudAUHdG9rZW5JZAUDbmlsCgACJGwFCGFzc2V0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGY0XzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARFoYW5kbGVUb2tlblJlZGVlbQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmNF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmNF8yAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgUFJGFjYzAAAAABAAIAAwESY2FsY3VsYXRlT3V0QW1vdW50BQhBbW91bnRJbgdhc3NldEluCGFzc2V0T3V0CUJhbGFuY2VJbgpCYWxhbmNlT3V0BAdJbmRleEluCQEFdmFsdWUBCQDPCAIFCGFzc2V0SWRzBQdhc3NldEluBAhJbmRleE91dAkBBXZhbHVlAQkAzwgCBQhhc3NldElkcwUIYXNzZXRPdXQDCQAAAgUHSW5kZXhJbgUISW5kZXhPdXQJAAIBAhF3cm9uZyB0b2tlbnMgcGFpcgkAbgQFCkJhbGFuY2VPdXQJAGUCCQBoAgUGU2NhbGU4BQZTY2FsZTgJAKADAQkAdgYJAL0CBAkAtgIBBQlCYWxhbmNlSW4JALYCAQkAaAIFBlNjYWxlOAUGU2NhbGU4CQC2AgEJAGQCBQlCYWxhbmNlSW4FCEFtb3VudEluBQZIQUxGVVAAEAkAtgIBCQBrAwkAkQMCBQ1Bc3NldHNXZWlnaHRzBQdJbmRleEluAJBOCQCRAwIFDUFzc2V0c1dlaWdodHMFCEluZGV4T3V0AAQAEAUHQ0VJTElORwkAaAIFBlNjYWxlOAUGU2NhbGU4BQRET1dOARFjYWxjdWxhdGVNaW5Ub0dldAMGYXNzZXQxBmFzc2V0MgxhbW91bnRUb1N3YXAECWtCYWxhbmNlQQkArAICCQCsAgICB2dsb2JhbF8FBmFzc2V0MQIIX2JhbGFuY2UED0FfYXNzZXRfYmFsYW5jZQkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUJa0JhbGFuY2VBBAlrQmFsYW5jZUIJAKwCAgkArAICAgdnbG9iYWxfBQZhc3NldDICCF9iYWxhbmNlBA9CX2Fzc2V0X2JhbGFuY2UJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFCWtCYWxhbmNlQgQFdG9HZXQJARJjYWxjdWxhdGVPdXRBbW91bnQFBQxhbW91bnRUb1N3YXAJAQ1nZXRBc3NldEJ5dGVzAQUGYXNzZXQxCQENZ2V0QXNzZXRCeXRlcwEFBmFzc2V0MgUPQV9hc3NldF9iYWxhbmNlBQ9CX2Fzc2V0X2JhbGFuY2UECWZlZUFtb3VudAkAawMFBXRvR2V0BQNGZWUFCEZlZVNjYWxlAwkAAAIFCWZlZUFtb3VudAUJZmVlQW1vdW50BA5jbGVhbkFtb3VudE91dAkAZQIFBXRvR2V0BQlmZWVBbW91bnQDCQAAAgUOY2xlYW5BbW91bnRPdXQFDmNsZWFuQW1vdW50T3V0BQ5jbGVhbkFtb3VudE91dAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEPZ2V0VG9rZW5CYWxhbmNlAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXQFByRtYXRjaDAJAPAHAgUEdGhpcwUBdAgJAO8HAQUEdGhpcwdyZWd1bGFyAR1jYWxjdWxhdGVDdXJyZW50QXNzZXRJbnRlcmVzdAQHYXNzZXRJZAphc3NldElkU3RyCGFCYWxhbmNlFnRva2VuRWFybmluZ3NMYXN0Q2hlY2sEC3RvdGFsU3Rha2VkCQENdHJ5R2V0SW50ZWdlcgECEmdsb2JhbF9pbmRleFN0YWtlZAQVdG9rZW5CYWxhbmNlTGFzdENoZWNrBRZ0b2tlbkVhcm5pbmdzTGFzdENoZWNrBBNjdXJyZW50QmFsYW5jZURlbHRhCQBlAgkBD2dldFRva2VuQmFsYW5jZQEFB2Fzc2V0SWQFCGFCYWxhbmNlBBRjdXJyZW50VG9rZW5FYXJuaW5ncwMJAGYCBRNjdXJyZW50QmFsYW5jZURlbHRhBRV0b2tlbkJhbGFuY2VMYXN0Q2hlY2sFE2N1cnJlbnRCYWxhbmNlRGVsdGEFFXRva2VuQmFsYW5jZUxhc3RDaGVjawQLbmV3RWFybmluZ3MJAGUCBRRjdXJyZW50VG9rZW5FYXJuaW5ncwUVdG9rZW5CYWxhbmNlTGFzdENoZWNrBAtuZXdJbnRlcmVzdAMJAAACBQt0b3RhbFN0YWtlZAAAAAAJAGsDBQtuZXdFYXJuaW5ncwUGU2NhbGU4BQt0b3RhbFN0YWtlZAQRbGFzdENoZWNrSW50ZXJlc3QJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICEWdsb2JhbF9sYXN0Q2hlY2tfBQphc3NldElkU3RyAglfaW50ZXJlc3QJAGQCBRFsYXN0Q2hlY2tJbnRlcmVzdAULbmV3SW50ZXJlc3QBC2NsYWltUmVzdWx0AQdhZGRyZXNzBAphZGRyZXNzU3RyCQClCAEFB2FkZHJlc3MEC3NoYXJlQW1vdW50CQENdHJ5R2V0SW50ZWdlcgEJAKwCAgUKYWRkcmVzc1N0cgIMX2luZGV4U3Rha2VkCgEHaGFuZGxlcgIFYWNjdW0HYXNzZXRJZAQKYXNzZXRJZFN0cgkBDmdldEFzc2V0U3RyaW5nAQUHYXNzZXRJZAQIYUJhbGFuY2UJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICB2dsb2JhbF8JAQ5nZXRBc3NldFN0cmluZwEFB2Fzc2V0SWQCCF9iYWxhbmNlBBZ0b2tlbkVhcm5pbmdzTGFzdENoZWNrCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAhFnbG9iYWxfbGFzdENoZWNrXwUKYXNzZXRJZFN0cgIJX2Vhcm5pbmdzBBRjdXJyZW50VG9rZW5JbnRlcmVzdAkBHWNhbGN1bGF0ZUN1cnJlbnRBc3NldEludGVyZXN0BAUHYXNzZXRJZAUKYXNzZXRJZFN0cgUIYUJhbGFuY2UFFnRva2VuRWFybmluZ3NMYXN0Q2hlY2sEFGN1cnJlbnRUb2tlbkVhcm5pbmdzCQCWAwEJAMwIAgUWdG9rZW5FYXJuaW5nc0xhc3RDaGVjawkAzAgCCQBlAgkBD2dldFRva2VuQmFsYW5jZQEFB2Fzc2V0SWQFCGFCYWxhbmNlBQNuaWwEDHJld2FyZEFtb3VudAkAawMFC3NoYXJlQW1vdW50CQBlAgUUY3VycmVudFRva2VuSW50ZXJlc3QJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgIJAKwCAgUKYWRkcmVzc1N0cgILX2xhc3RDaGVja18FCmFzc2V0SWRTdHICCV9pbnRlcmVzdAUGU2NhbGU4BAh0cmFuc2ZlcgMJAAACBQxyZXdhcmRBbW91bnQAAAUDbmlsCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFB2FkZHJlc3MFDHJld2FyZEFtb3VudAUHYXNzZXRJZAUDbmlsBAdjbGFpbWVkCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICCQCsAgIFCmFkZHJlc3NTdHICC19sYXN0Q2hlY2tfBQphc3NldElkU3RyAghfY2xhaW1lZAkAzggCCQDOCAIFBWFjY3VtBQh0cmFuc2ZlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICEWdsb2JhbF9sYXN0Q2hlY2tfBQphc3NldElkU3RyAglfZWFybmluZ3MJAGUCBRRjdXJyZW50VG9rZW5FYXJuaW5ncwUMcmV3YXJkQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIRZ2xvYmFsX2xhc3RDaGVja18FCmFzc2V0SWRTdHICCV9pbnRlcmVzdAUUY3VycmVudFRva2VuSW50ZXJlc3QJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICCQCsAgIFCmFkZHJlc3NTdHICC19sYXN0Q2hlY2tfBQphc3NldElkU3RyAglfaW50ZXJlc3QFFGN1cnJlbnRUb2tlbkludGVyZXN0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICBQphZGRyZXNzU3RyAgtfbGFzdENoZWNrXwUKYXNzZXRJZFN0cgIIX2NsYWltZWQJAGQCBQdjbGFpbWVkBQxyZXdhcmRBbW91bnQFA25pbAQFYWNjdW0KAAIkbAUMZWFybmVkQXNzZXRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGY0XzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdoYW5kbGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGY0XzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGY0XzICCQEFJGY0XzECCQEFJGY0XzECCQEFJGY0XzECBQUkYWNjMAAAAAEAAgADCQDOCAIFBWFjY3VtCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFCmFkZHJlc3NTdHICCl9sYXN0Q2xhaW0IBQlsYXN0QmxvY2sJdGltZXN0YW1wBQNuaWwBEGluZGV4U3Rha2VSZXN1bHQCCmFkZHJlc3NTdHIGYW1vdW50BAJsaQkBC2NsYWltUmVzdWx0AQkBEUBleHRyTmF0aXZlKDEwNjIpAQUKYWRkcmVzc1N0cgkAzggCBQJsaQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQphZGRyZXNzU3RyAgxfaW5kZXhTdGFrZWQJAGQCCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgUKYWRkcmVzc1N0cgIMX2luZGV4U3Rha2VkBQZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICEmdsb2JhbF9pbmRleFN0YWtlZAkAZAIJAQ10cnlHZXRJbnRlZ2VyAQISZ2xvYmFsX2luZGV4U3Rha2VkBQZhbW91bnQFA25pbAEDc3VtAgVhY2N1bQFuCQBkAgUFYWNjdW0JAQ1wYXJzZUludFZhbHVlAQUBbgEbc2V0T3JhY2xlQWRkcmVzc0FuZEluaXRpYXRlAQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQICDXN0YXRpY19vcmFjbGUFB2FkZHJlc3MFA25pbAEJaXNUZXN0RW52AAQHdGVzdGVudgQHJG1hdGNoMAkAmwgCBQR0aGlzAgdURVNURU5WAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXgFByRtYXRjaDAFAXgHBQd0ZXN0ZW52DQFpAQxyZWFkT25seUZ1bmMDBmFzc2V0MQZhc3NldDIMYW1vdW50VG9Td2FwBAlhbW91bnRPdXQJARFjYWxjdWxhdGVNaW5Ub0dldAMFBmFzc2V0MQUGYXNzZXQyBQxhbW91bnRUb1N3YXAJAMwIAgkBDEludGVnZXJFbnRyeQICBURFQlVHBQlhbW91bnRPdXQFA25pbAFpAQp0b3BVcEZ1bmRzAAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECGFdyb25nIHBheW1lbnRzIGF0dGFjaGVkIQQHcGF5bWVudAkAkQMCCAUBaQhwYXltZW50cwAABAVhc3NldAgFB3BheW1lbnQHYXNzZXRJZAMJAAACCQDPCAIFCGFzc2V0SWRzBQVhc3NldAUEdW5pdAkAAgECFU5vdCBzdXBwb3J0ZWQgYXNzZXRJZAQGYW1vdW50CAUHcGF5bWVudAZhbW91bnQECGFCYWxhbmNlCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICAgdnbG9iYWxfCQEOZ2V0QXNzZXRTdHJpbmcBBQVhc3NldAIIX2JhbGFuY2UEA2RheQkBF2NhbGN1bGF0ZURheXNTaW5jZVN0YXJ0AAQHcmV2ZW5ldQkBDXRyeUdldEludGVnZXIBCQEXcmV2ZW5ldUZvckRheUJ5QXNzZXRPdXQCBQNkYXkJAQ5nZXRBc3NldFN0cmluZwEFBWFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIHZ2xvYmFsXwkBDmdldEFzc2V0U3RyaW5nAQUFYXNzZXQCCF9iYWxhbmNlCQBkAgUIYUJhbGFuY2UFBmFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgIOZGF5c19zaW5jZV9hcHkFA2RheQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBF3JldmVuZXVGb3JEYXlCeUFzc2V0T3V0AgUDZGF5CQEOZ2V0QXNzZXRTdHJpbmcBBQVhc3NldAkAZAIFB3JldmVuZXUFBmFtb3VudAUDbmlsAWkBB3ByZUluaXQEC2Fzc2V0SWRzU3RyD2Fzc2V0V2VpZ2h0c1N0cg5iYXNlVG9rZW5JZFN0cgpwb29sRG9tYWluAwkBAiE9AgUEdGhpcwgFAWkGY2FsbGVyCQACAQIKYWRtaW4gb25seQMJAGYCCQCxAgEFCnBvb2xEb21haW4ADQkAAgECFXRvbyBsYXJnZSBwb29sIGRvbWFpbgQNYXNzZXRJZHNTdHJMaQkAtQkCBQthc3NldElkc1N0cgIBLAQKYXNzZXRJZHNMaQoAAiRsBQ1hc3NldElkc1N0ckxpCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGY0XzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJARNhZGRBc3NldEJ5dGVzVG9MaXN0AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGY0XzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGY0XzICCQEFJGY0XzECCQEFJGY0XzECCQEFJGY0XzECBQUkYWNjMAAAAAEAAgADBBFhc3NldFdlaWdodHNTdHJMaQkAtQkCBQ9hc3NldFdlaWdodHNTdHICASwED2Fzc2V0V2VpZ2h0c1N1bQoAAiRsBRFhc3NldFdlaWdodHNTdHJMaQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmNV8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEDc3VtAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGY1XzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGY1XzICCQEFJGY1XzECCQEFJGY1XzECCQEFJGY1XzECBQUkYWNjMAAAAAEAAgADCgETYWRkVG9rZW5EYXRhRW50cmllcwIFYWNjdW0IYXNzZXROdW0DCQBnAgUIYXNzZXROdW0JAJADAQUKYXNzZXRJZHNMaQUFYWNjdW0EDWFzc2V0RGVjaW1hbHMEByRtYXRjaDAJAJEDAgUKYXNzZXRJZHNMaQUIYXNzZXROdW0DCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBeAUHJG1hdGNoMAgJAQV2YWx1ZQEJAOwHAQkAkQMCBQphc3NldElkc0xpBQhhc3NldE51bQhkZWNpbWFscwAICQDOCAIFBWFjY3VtCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIHc3RhdGljXwkAkQMCBQ1hc3NldElkc1N0ckxpBQhhc3NldE51bQIGX3NjYWxlCQBsBgAKAAAFDWFzc2V0RGVjaW1hbHMAAAAABQRET1dOCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIHc3RhdGljXwkAkQMCBQ1hc3NldElkc1N0ckxpBQhhc3NldE51bQIJX2RlY2ltYWxzBQ1hc3NldERlY2ltYWxzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIHc3RhdGljXwkAkQMCBQ1hc3NldElkc1N0ckxpBQhhc3NldE51bQIHX3dlaWdodAkBBXZhbHVlAQkAtgkBCQCRAwIFEWFzc2V0V2VpZ2h0c1N0ckxpBQhhc3NldE51bQUDbmlsAwkBAiE9AgUPYXNzZXRXZWlnaHRzU3VtAGQJAAIBAilzdW0gb2YgdG9rZW4gd2VpZ2h0cyBtdXN0IGJlIGVxdWFsIHRvIDEwMAkAzggCCgACJGwJAMwIAgAACQDMCAIAAQkAzAgCAAIFA25pbAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmNl8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQETYWRkVG9rZW5EYXRhRW50cmllcwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmNl8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmNl8yAgkBBSRmNl8xAgkBBSRmNl8xAgkBBSRmNl8xAgUFJGFjYzAAAAABAAIAAwkAzAgCCQELU3RyaW5nRW50cnkCAg9zdGF0aWNfdG9rZW5JZHMFC2Fzc2V0SWRzU3RyCQDMCAIJAQtTdHJpbmdFbnRyeQICE3N0YXRpY190b2tlbldlaWdodHMFD2Fzc2V0V2VpZ2h0c1N0cgkAzAgCCQEMSW50ZWdlckVudHJ5AgITc3RhdGljX3Rva2Vuc0Ftb3VudAkAkAMBBQphc3NldElkc0xpCQDMCAIJAQtTdHJpbmdFbnRyeQICEXN0YXRpY19wb29sRG9tYWluBQpwb29sRG9tYWluCQDMCAIJAQtTdHJpbmdFbnRyeQICEnN0YXRpY19iYXNlVG9rZW5JZAUOYmFzZVRva2VuSWRTdHIJAMwIAgkBDEludGVnZXJFbnRyeQICCnN0YXRpY19mZWUAZAUDbmlsAWkBBGluaXQBBm9yYWNsZQoBC3ByZXBhcmVMaXN0AAoBB2hhbmRsZXICBWFjY3VtAW4JAM4IAgUFYWNjdW0JAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgdnbG9iYWxfCQEOZ2V0QXNzZXRTdHJpbmcBCAUBbgdhc3NldElkAghfYmFsYW5jZQgFAW4GYW1vdW50BQNuaWwKAAIkbAgFAWkIcGF5bWVudHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjRfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB2hhbmRsZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjRfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDMJAQUkZjRfMgIJAQUkZjRfMQIJAQUkZjRfMQIJAQUkZjRfMQIFBSRhY2MwAAAAAQACAAMKARljYWxjdWxhdGVQb29sVG9rZW5zQW1vdW50AQhwYXltZW50cwoBB2hhbmRsZXICBWFjY3VtA3BtdAQHYXNzZXRJZAgFA3BtdAdhc3NldElkCgEIaGFuZGxlcjICBWFjY3VtAW4DCQAAAgUBbgUHYXNzZXRJZAkBBXZhbHVlAQkAzwgCBQhhc3NldElkcwUBbgUFYWNjdW0EBVRva2VuCgACJGwFCGFzc2V0SWRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAABCgEFJGY0XzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQhoYW5kbGVyMgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmNF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmNF8yAgkBBSRmNF8xAgkBBSRmNF8xAgkBBSRmNF8xAgUFJGFjYzAAAAABAAIAAwkAawMFBWFjY3VtCQBsBggFA3BtdAZhbW91bnQJAJEDAgUIRGVjaW1hbHMFBVRva2VuCQCRAwIFDUFzc2V0c1dlaWdodHMFBVRva2VuBRVBc3NldHNXZWlnaHRzRGVjaW1hbHMACAUFRkxPT1IFBlNjYWxlOAoAAiRsBQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFDlBvb2xUb2tlblNjYWxlCgEFJGY0XzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdoYW5kbGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGY0XzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGY0XzICCQEFJGY0XzECCQEFJGY0XzECCQEFJGY0XzECBQUkYWNjMAAAAAEAAgADAwkAZgIJAQ10cnlHZXRJbnRlZ2VyAQIQZ2xvYmFsX3dhc0luaXRlZAAACQACAQITcG9vbCBhbHJlYWR5IGluaXRlZAQRaW5pdGlhbFBvb2xUb2tlbnMJARljYWxjdWxhdGVQb29sVG9rZW5zQW1vdW50AQgFAWkIcGF5bWVudHMDCQAAAgURaW5pdGlhbFBvb2xUb2tlbnMAAAkAAgECMnlvdSBuZWVkIGEgYmlnZ2VyIHRva2VucyBhbW91bnQgdG8gbGF1bmNoIHRoZSBwb29sBA5wb29sVG9rZW5Jc3N1ZQkAwwgHCQCsAgICA1dEIAkBDHRyeUdldFN0cmluZwECEXN0YXRpY19wb29sRG9tYWluAg1XRCBwb29sIHRva2VuBRFpbml0aWFsUG9vbFRva2VucwURUG9vbFRva2VuRGVjaW1hbHMGBQR1bml0AAAEC3Bvb2xUb2tlbklkCQC4CAEFDnBvb2xUb2tlbklzc3VlCQDOCAIJAM4IAgkBC3ByZXBhcmVMaXN0AAkAzAgCBQ5wb29sVG9rZW5Jc3N1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgIXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQFEWluaXRpYWxQb29sVG9rZW5zCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhBnbG9iYWxfd2FzSW5pdGVkAAEJAMwIAgkBC0JpbmFyeUVudHJ5AgITZ2xvYmFsX3Bvb2xUb2tlbl9pZAULcG9vbFRva2VuSWQJAMwIAgkBC1N0cmluZ0VudHJ5AgIWc3RhdGljX3Bvb2xUb2tlbl9pZFN0cgkBDmdldEFzc2V0U3RyaW5nAQULcG9vbFRva2VuSWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRFpbml0aWFsUG9vbFRva2VucwULcG9vbFRva2VuSWQFA25pbAkBG3NldE9yYWNsZUFkZHJlc3NBbmRJbml0aWF0ZQEFBm9yYWNsZQFpAQ1nZW5lcmF0ZUluZGV4AQpuZWVkQ2hhbmdlAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwUBVAkAAgEJAKwCAgI7eW91IG5lZWQgdG8gYXR0YWNoIGFsbCBwb29sIHRva2Vucy4gYW1vdW50IG9mIHBvb2wgdG9rZW5zOiAJAKQDAQUBVAMJAQEhAQkBE2NoZWNrVG9rZW5zVmFsaWRpdHkBCAUBaQhwYXltZW50cwkAAgECFXdyb25nIGFzc2V0cyBhdHRhY2hlZAQHUElzc3VlZAkBDWdldE1pblBJc3N1ZWQBCAUBaQhwYXltZW50cwQHcmVpc3N1ZQkBB1JlaXNzdWUDCQERQGV4dHJOYXRpdmUoMTA1NykBAhNnbG9iYWxfcG9vbFRva2VuX2lkBQdQSXNzdWVkBgQGcmVzdWx0CQETaGFuZGxlUG9vbFRva2Vuc0FkZAQFB1BJc3N1ZWQIBQFpCHBheW1lbnRzCAUBaQxvcmlnaW5DYWxsZXIFCm5lZWRDaGFuZ2UJAJQKAgkAzggCBQZyZXN1bHQJAMwIAgUHcmVpc3N1ZQkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFB1BJc3N1ZWQJAQx0cnlHZXRCaW5hcnkBAhNnbG9iYWxfcG9vbFRva2VuX2lkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAkAZAIJAQ10cnlHZXRJbnRlZ2VyAQIXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQFB1BJc3N1ZWQFA25pbAUHUElzc3VlZAFpAQpzdGFrZUluZGV4AAQKYWRkcmVzc1N0cgkApQgBCAUBaQxvcmlnaW5DYWxsZXIEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAAAwkBAiE9AgkBBXZhbHVlAQgFA3BtdAdhc3NldElkCQEMdHJ5R2V0QmluYXJ5AQITZ2xvYmFsX3Bvb2xUb2tlbl9pZAkAAgECFHdyb25nIGFzc2V0IGF0dGFjaGVkCQEQaW5kZXhTdGFrZVJlc3VsdAIFCmFkZHJlc3NTdHIIBQNwbXQGYW1vdW50AWkBDHVuc3Rha2VJbmRleAELc2hhcmVBbW91bnQECmFkZHJlc3NTdHIJAKUIAQgFAWkMb3JpZ2luQ2FsbGVyBA5zaGFyZUF2YWlsYWJsZQkBDXRyeUdldEludGVnZXIBCQCsAgIFCmFkZHJlc3NTdHICDF9pbmRleFN0YWtlZAMJAGYCBQtzaGFyZUFtb3VudAUOc2hhcmVBdmFpbGFibGUJAAIBAiV5b3UgZG9uJ3QgaGF2ZSBpbmRleCB0b2tlbnMgYXZhaWxhYmxlCQDOCAIJAQtjbGFpbVJlc3VsdAEIBQFpDG9yaWdpbkNhbGxlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQphZGRyZXNzU3RyAgxfaW5kZXhTdGFrZWQJAGUCBQ5zaGFyZUF2YWlsYWJsZQULc2hhcmVBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQICEmdsb2JhbF9pbmRleFN0YWtlZAkAZQIJAQ10cnlHZXRJbnRlZ2VyAQISZ2xvYmFsX2luZGV4U3Rha2VkBQtzaGFyZUFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC3NoYXJlQW1vdW50CQERQGV4dHJOYXRpdmUoMTA1NykBAhNnbG9iYWxfcG9vbFRva2VuX2lkBQNuaWwBaQERY2xhaW1JbmRleFJld2FyZHMACQELY2xhaW1SZXN1bHQBCAUBaQZjYWxsZXIBaQELcmVkZWVtSW5kZXgBDHNlbmRUb09yaWdpbgQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAADCQECIT0CCAUDcG10B2Fzc2V0SWQJAQx0cnlHZXRCaW5hcnkBAhNnbG9iYWxfcG9vbFRva2VuX2lkCQACAQIecGxlYXNlIGF0dGFjaCBwb29sIHNoYXJlIHRva2VuBAlQUmVkZWVtZWQIBQNwbXQGYW1vdW50BAZyZXN1bHQJARZoYW5kbGVQb29sVG9rZW5zUmVkZWVtAgUJUFJlZGVlbWVkAwUMc2VuZFRvT3JpZ2luCAUBaQxvcmlnaW5DYWxsZXIIBQFpBmNhbGxlcgkAzggCBQZyZXN1bHQJAMwIAgkBBEJ1cm4CCQEMdHJ5R2V0QmluYXJ5AQITZ2xvYmFsX3Bvb2xUb2tlbl9pZAUJUFJlZGVlbWVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAkAZQIJAQ10cnlHZXRJbnRlZ2VyAQIXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQFCVBSZWRlZW1lZAUDbmlsAWkBBHN3YXACCGFzc2V0T3V0B21pbmltdW0DCQEKaXNTaHV0ZG93bgAJAAIBAhpQb29sIGlzIGN1cnJlbnRseSBzaHV0ZG93bgQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAECEFtb3VudEluCQEFdmFsdWUBCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQHQXNzZXRJbggFA3BtdAdhc3NldElkBAppbnZva2VTd2FwCQEKYXNJbnRUdXBsZQEJAP0HBAUEdGhpcwIMc3dhcEludGVybmFsCQDMCAIFCGFzc2V0T3V0CQDMCAIFB21pbmltdW0JAMwIAgUIQW1vdW50SW4JAMwIAgkBDmdldEFzc2V0U3RyaW5nAQUHQXNzZXRJbgkAzAgCCQClCAEIBQFpBmNhbGxlcgUDbmlsBQNuaWwDCQAAAgUKaW52b2tlU3dhcAUKaW52b2tlU3dhcAQOY2xlYW5BbW91bnRPdXQIBQppbnZva2VTd2FwAl8xAwkAAAIFDmNsZWFuQW1vdW50T3V0BQ5jbGVhbkFtb3VudE91dAQJZmVlQW1vdW50CAUKaW52b2tlU3dhcAJfMgMJAAACBQlmZWVBbW91bnQFCWZlZUFtb3VudAQFdG9wVXAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBDmdldEZlZXNBY2NvdW50AAkAawMFCWZlZUFtb3VudAACAAQJAQ1nZXRBc3NldEJ5dGVzAQUIYXNzZXRPdXQFA25pbAMJAAACBQV0b3BVcAUFdG9wVXAJAJQKAgUFdG9wVXAFDmNsZWFuQW1vdW50T3V0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCGludGVybmFsAwVzdGFrZQZhbW91bnQHYXNzZXRJZAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECC05vdCBhbGxvd2VkCQEMc3Rha2VVbnN0YWtlAwUFc3Rha2UFBmFtb3VudAUHYXNzZXRJZAFpAQhzdGFrZUFsbAAJAQxzdGFrZVVuc3Rha2UDBgkAZQIJAQ10cnlHZXRJbnRlZ2VyAQIUZ2xvYmFsX1dBVkVTX2JhbGFuY2UJAQ10cnlHZXRJbnRlZ2VyAQIObGVhc2luZ19hbW91bnQCBVdBVkVTAWkBDHN3YXBJbnRlcm5hbAUIYXNzZXRPdXQHbWluaW11bQhBbW91bnRJbgdBc3NldEluBmNhbGxlcgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECG1lvdSBjYW50IGNhbGwgdGhpcyBkaXJlY3RseQQIQXNzZXRPdXQJAQ1nZXRBc3NldEJ5dGVzAQUIYXNzZXRPdXQEA2RheQkBF2NhbGN1bGF0ZURheXNTaW5jZVN0YXJ0AAQHcmV2ZW5ldQkBDXRyeUdldEludGVnZXIBCQEXcmV2ZW5ldUZvckRheUJ5QXNzZXRPdXQCBQNkYXkFCGFzc2V0T3V0BA5Bc3NldEluQmFsYW5jZQkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIHZ2xvYmFsXwUHQXNzZXRJbgIIX2JhbGFuY2UDCQAAAgUOQXNzZXRJbkJhbGFuY2UFDkFzc2V0SW5CYWxhbmNlBA9Bc3NldE91dEJhbGFuY2UJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICB2dsb2JhbF8FCGFzc2V0T3V0AghfYmFsYW5jZQMJAAACBQ9Bc3NldE91dEJhbGFuY2UFD0Fzc2V0T3V0QmFsYW5jZQQJQW1vdW50T3V0CQESY2FsY3VsYXRlT3V0QW1vdW50BQUIQW1vdW50SW4JAQ1nZXRBc3NldEJ5dGVzAQUHQXNzZXRJbgUIQXNzZXRPdXQFDkFzc2V0SW5CYWxhbmNlBQ9Bc3NldE91dEJhbGFuY2UDCQAAAgUJQW1vdW50T3V0BQlBbW91bnRPdXQECWZlZUFtb3VudAkAawMFCUFtb3VudE91dAUDRmVlBQhGZWVTY2FsZQMJAAACBQlmZWVBbW91bnQFCWZlZUFtb3VudAQOY2xlYW5BbW91bnRPdXQJAGUCBQlBbW91bnRPdXQFCWZlZUFtb3VudAMJAAACBQ5jbGVhbkFtb3VudE91dAUOY2xlYW5BbW91bnRPdXQDCQBmAgUHbWluaW11bQUOY2xlYW5BbW91bnRPdXQJAAIBCQCsAgICK2Ftb3VudCB0byByZWNpZXZlIGlzIGxvd2VyIHRoYW4gZ2l2ZW4gb25lOiAJAKQDAQUOY2xlYW5BbW91bnRPdXQDCQBmAgAACQBlAgUPQXNzZXRPdXRCYWxhbmNlBQlBbW91bnRPdXQJAAIBAhtjb250cmFjdCBpcyBvdXQgb2YgcmVzZXJ2ZXMDCQAAAgUIQXNzZXRPdXQJAQ1nZXRBc3NldEJ5dGVzAQUHQXNzZXRJbgkAAgECGHRoaXMgc3dhcCBpcyBub3QgYWxsb3dlZAQJdm9sdW1lS2V5CQEQdm9sdW1lRm9yRGF5QnlJbgIFA2RheQUHQXNzZXRJbgQMbmV3QmFsYW5jZUluCQBkAgUOQXNzZXRJbkJhbGFuY2UFCEFtb3VudEluAwkAAAIFDG5ld0JhbGFuY2VJbgUMbmV3QmFsYW5jZUluBAVzdGFrZQkA/QcEBQR0aGlzAghpbnRlcm5hbAkAzAgCBgkAzAgCBQhBbW91bnRJbgkAzAgCBQdBc3NldEluBQNuaWwFA25pbAMJAAACBQVzdGFrZQUFc3Rha2UEDW5ld0JhbGFuY2VPdXQJAGUCBQ9Bc3NldE91dEJhbGFuY2UFCUFtb3VudE91dAMJAAACBQ1uZXdCYWxhbmNlT3V0BQ1uZXdCYWxhbmNlT3V0BAd1bnN0YWtlCQD9BwQFBHRoaXMCCGludGVybmFsCQDMCAIHCQDMCAIJAGQCBQ5jbGVhbkFtb3VudE91dAkAawMFCWZlZUFtb3VudAADAAQJAMwIAgUIYXNzZXRPdXQFA25pbAUDbmlsAwkAAAIFB3Vuc3Rha2UFB3Vuc3Rha2UJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICB2dsb2JhbF8FCGFzc2V0T3V0AghfYmFsYW5jZQkAZAIFDW5ld0JhbGFuY2VPdXQJAGsDBQlmZWVBbW91bnQAAQAECQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBmNhbGxlcgUOY2xlYW5BbW91bnRPdXQFCEFzc2V0T3V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIHZ2xvYmFsXwUHQXNzZXRJbgIIX2JhbGFuY2UFDG5ld0JhbGFuY2VJbgkAzAgCCQEMSW50ZWdlckVudHJ5AgIOZGF5c19zaW5jZV9hcHkFA2RheQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBF3JldmVuZXVGb3JEYXlCeUFzc2V0T3V0AgUDZGF5BQhhc3NldE91dAkAZAIFB3JldmVuZXUFCWZlZUFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUJdm9sdW1lS2V5BQhBbW91bnRJbgUDbmlsCQCUCgIFDmNsZWFuQW1vdW50T3V0BQlmZWVBbW91bnQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkAAwkBCWlzVGVzdEVudgAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkECWZpcnN0VXNlcgEgURzk/Wb/EmnS8VoUnzuy4vQ7f8HLaCeiNF5sONdX3W0ECnNlY29uZFVzZXIBIMFs347t041zj4ui+fqJD/R1zUQbVHJSo7Sc0lakLeB1BAl0aGlyZFVzZXIBIOdb9I6q0vlJnm6EJrj5fh/cZ6h93Cu41Op7zfJoCsElBA9maXJzdFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQlmaXJzdFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCWZpcnN0VXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUJZmlyc3RVc2VyAAEAAAQQc2Vjb25kVXNlclNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCnNlY29uZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCnNlY29uZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCnNlY29uZFVzZXIAAQAABA90aGlyZFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQl0aGlyZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCXRoaXJkVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUJdGhpcmRVc2VyAAEAAAQPc2lnbmF0dXJlc0NvdW50CQBkAgkAZAIFD2ZpcnN0VXNlclNpZ25lZAUQc2Vjb25kVXNlclNpZ25lZAUPdGhpcmRVc2VyU2lnbmVkBAckbWF0Y2gwBQJ0eAkAZwIFD3NpZ25hdHVyZXNDb3VudAAC9BjUyg==", "height": 3868162, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5ySJsxv2xrtphK7WBr4iQMQd3UmQepqr5kJmAgyugwwk Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1679961601000
55
66 func b () = {
77 let c = (lastBlock.timestamp - a)
88 let d = (c / (86400 * 1000))
99 d
1010 }
1111
1212
1313 func e (f) = {
1414 let g = f
1515 if ($isInstanceOf(g, "(Int, Int)"))
1616 then {
1717 let h = g
1818 h
1919 }
2020 else throw("Wrong type, expected: Tuple Int")
2121 }
2222
2323
2424 func i () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, "static_oracle"), "oracle not found!")), "could not parse oracle")
2525
2626
2727 func j () = addressFromStringValue(valueOrErrorMessage(getString(i(), "static_feeAggregator"), "static_feeAggregator not found!"))
2828
2929
3030 func k () = addressFromStringValue(valueOrErrorMessage(getString(i(), "static_nodeAddress"), "node_address not found!"))
3131
3232
3333 func l (m) = {
3434 let g = getInteger(this, m)
3535 if ($isInstanceOf(g, "Int"))
3636 then {
3737 let n = g
3838 n
3939 }
4040 else 0
4141 }
4242
4343
4444 func o (m) = {
4545 let g = getBinary(this, m)
4646 if ($isInstanceOf(g, "ByteVector"))
4747 then {
4848 let n = g
4949 n
5050 }
5151 else base58''
5252 }
5353
5454
5555 func p (m) = {
5656 let g = getString(this, m)
5757 if ($isInstanceOf(g, "String"))
5858 then {
5959 let n = g
6060 n
6161 }
6262 else ""
6363 }
6464
6565
6666 func q (r) = {
6767 let g = r
6868 if ($isInstanceOf(g, "ByteVector"))
6969 then {
7070 let n = g
7171 toBase58String(n)
7272 }
7373 else "WAVES"
7474 }
7575
7676
7777 func s (t) = if ((t == "WAVES"))
7878 then unit
7979 else fromBase58String(t)
8080
8181
8282 func u (v,w) = (v ++ [s(w)])
8383
8484
8585 func x (v,w) = (v ++ [l((("static_" + q(w)) + "_weight"))])
8686
8787
8888 func y (v,w) = (v ++ [l((("static_" + q(w)) + "_decimals"))])
8989
9090
9191 func z (v,w) = (v ++ [l((("static_" + q(w)) + "_scale"))])
9292
9393
9494 func A (v,w) = (v ++ [parseIntValue(w)])
9595
9696
9797 func B (C,r) = ((("reveneu_day_" + r) + "_") + toString(C))
9898
9999
100100 func D (C,r) = ((("volume_day_" + r) + "_") + toString(C))
101101
102102
103103 let E = l("static_tokensAmount")
104104
105105 let F = {
106106 let G = split(p("static_tokenIds"), ",")
107107 let H = size(G)
108108 let I = nil
109109 func J (K,L) = if ((L >= H))
110110 then K
111111 else u(K, G[L])
112112
113113 func M (K,L) = if ((L >= H))
114114 then K
115115 else throw("List size exceeds 3")
116116
117117 M(J(J(J(I, 0), 1), 2), 3)
118118 }
119119
120120 let N = {
121121 let G = F
122122 let H = size(G)
123123 let I = nil
124124 func O (K,L) = if ((L >= H))
125125 then K
126126 else x(K, G[L])
127127
128128 func P (K,L) = if ((L >= H))
129129 then K
130130 else throw("List size exceeds 3")
131131
132132 P(O(O(O(I, 0), 1), 2), 3)
133133 }
134134
135135 let Q = {
136136 let G = F
137137 let H = size(G)
138138 let I = nil
139139 func R (K,L) = if ((L >= H))
140140 then K
141141 else y(K, G[L])
142142
143143 func S (K,L) = if ((L >= H))
144144 then K
145145 else throw("List size exceeds 3")
146146
147147 S(R(R(R(I, 0), 1), 2), 3)
148148 }
149149
150150 let T = {
151151 let G = F
152152 let H = size(G)
153153 let I = nil
154154 func U (K,L) = if ((L >= H))
155155 then K
156156 else z(K, G[L])
157157
158158 func V (K,L) = if ((L >= H))
159159 then K
160160 else throw("List size exceeds 3")
161161
162162 V(U(U(U(I, 0), 1), 2), 3)
163163 }
164164
165165 let W = p("last_stake_id")
166166
167167 let X = l("static_fee")
168168
169169 let Y = 2
170170
171171 let Z = 10000
172172
173173 let aa = 100000000
174174
175175 let ab = 10000
176176
177177 let ac = 8
178178
179179 let ad = pow(10, 0, ac, 0, 0, HALFUP)
180180
181181 let ae = F
182182
183183 func af () = {
184184 let ag = if ((p("static_oracle") != ""))
185185 then {
186186 let g = getBoolean(i(), "amm_shutdown")
187187 if ($isInstanceOf(g, "Boolean"))
188188 then {
189189 let ah = g
190190 ah
191191 }
192192 else false
193193 }
194194 else false
195195 let ai = {
196196 let g = getBoolean(this, "is_shutdown")
197197 if ($isInstanceOf(g, "Boolean"))
198198 then {
199199 let ah = g
200200 ah
201201 }
202202 else false
203203 }
204204 if (ag)
205205 then true
206206 else ai
207207 }
208208
209209
210210 func aj () = if ((p("static_oracle") != ""))
211211 then {
212212 let g = getBoolean(i(), "amm_tx")
213213 if ($isInstanceOf(g, "Boolean"))
214214 then {
215215 let ah = g
216216 ah
217217 }
218218 else true
219219 }
220220 else true
221221
222222
223223 func ak (al) = {
224224 let am = q(F[al])
225225 l((("global_" + am) + "_balance"))
226226 }
227227
228228
229229 func an (ao,am) = {
230230 let ap = l("global_poolToken_amount")
231231 let aq = l((("global_" + q(am)) + "_balance"))
232232 fraction(ao, ap, aq, DOWN)
233233 }
234234
235235
236236 func ar (as) = {
237237 func at (v,au) = {
238238 let av = an(au.amount, au.assetId)
239239 if ((av == 0))
240240 then throw("one of the tokens amounts is too low")
241241 else if (if ((v == 0))
242242 then true
243243 else (v > av))
244244 then av
245245 else v
246246 }
247247
248248 let aw = {
249249 let G = as
250250 let H = size(G)
251251 let I = 0
252252 func ax (K,L) = if ((L >= H))
253253 then K
254254 else at(K, G[L])
255255
256256 func ay (K,L) = if ((L >= H))
257257 then K
258258 else throw("List size exceeds 3")
259259
260260 ay(ax(ax(ax(I, 0), 1), 2), 3)
261261 }
262262 aw
263263 }
264264
265265
266266 func az (as) = {
267267 func aA (v,aB) = (v ++ [aB.assetId])
268268
269269 let aC = {
270270 let G = as
271271 let H = size(G)
272272 let I = nil
273273 func ax (K,L) = if ((L >= H))
274274 then K
275275 else aA(K, G[L])
276276
277277 func ay (K,L) = if ((L >= H))
278278 then K
279279 else throw("List size exceeds 3")
280280
281281 ay(ax(ax(ax(I, 0), 1), 2), 3)
282282 }
283283 if ((aC == aC))
284284 then {
285285 func aD (v,r) = if ((indexOf(aC, r) != unit))
286286 then (v + 1)
287287 else throw(("asset not attached: " + q(r)))
288288
289289 let aE = {
290290 let G = F
291291 let H = size(G)
292292 let I = 0
293293 func aF (K,L) = if ((L >= H))
294294 then K
295295 else aD(K, G[L])
296296
297297 func aG (K,L) = if ((L >= H))
298298 then K
299299 else throw("List size exceeds 3")
300300
301301 aG(aF(aF(aF(I, 0), 1), 2), 3)
302302 }
303303 if ((aE == aE))
304304 then true
305305 else throw("Strict value is not equal to itself.")
306306 }
307307 else throw("Strict value is not equal to itself.")
308308 }
309309
310310
311311 func aH (aI,ao,r) = if (if ((r == "WAVES"))
312312 then (ao > 0)
313313 else false)
314314 then {
315315 let aJ = valueOrElse(getInteger(this, "leasing_amount"), 0)
316316 let aK = if (aI)
317317 then (aJ + ao)
318318 else (aJ - ao)
319319 let aL = Lease(k(), aK)
320320 let aM = calculateLeaseId(aL)
321321 let aN = [aL, StringEntry("last_stake_id", toBase58String(aM)), IntegerEntry("leasing_amount", aK)]
322322 if ((W != ""))
323323 then ([LeaseCancel(fromBase58String(W))] ++ aN)
324324 else aN
325325 }
326326 else nil
327327
328328
329329 func aO (av,as,aP,aQ) = {
330330 func aR (am) = {
331331 func at (v,aB) = if ((aB.assetId == am))
332332 then aB.amount
333333 else v
334334
335335 let G = as
336336 let H = size(G)
337337 let I = 0
338338 func ax (K,L) = if ((L >= H))
339339 then K
340340 else at(K, G[L])
341341
342342 func ay (K,L) = if ((L >= H))
343343 then K
344344 else throw("List size exceeds 3")
345345
346346 ay(ax(ax(ax(I, 0), 1), 2), 3)
347347 }
348348
349349 func aS (v,am) = {
350350 let aT = l((("global_" + q(am)) + "_balance"))
351351 let aU = l("global_poolToken_amount")
352352 let aV = l((("static_" + q(am)) + "_scale"))
353353 let aW = fraction((fraction((aU + av), aV, aU, CEILING) - aV), aT, aV, CEILING)
354354 let aX = aR(am)
355355 let aY = min([aW, aX])
356356 let aZ = ((if ((aX != 0))
357357 then aX
358358 else 0) - aY)
359359 let ba = if (if (aQ)
360360 then (aZ > 0)
361361 else false)
362362 then [ScriptTransfer(aP, aZ, am)]
363363 else nil
364364 let bb = if ((q(am) == "WAVES"))
365365 then aH(true, aY, "WAVES")
366366 else nil
367367 (((v ++ ba) ++ bb) ++ [IntegerEntry((("global_" + q(am)) + "_balance"), (aT + aY))])
368368 }
369369
370370 let G = F
371371 let H = size(G)
372372 let I = nil
373373 func ax (K,L) = if ((L >= H))
374374 then K
375375 else aS(K, G[L])
376376
377377 func ay (K,L) = if ((L >= H))
378378 then K
379379 else throw("List size exceeds 3")
380380
381381 ay(ax(ax(ax(I, 0), 1), 2), 3)
382382 }
383383
384384
385385 func bc (bd,aP) = {
386386 func be (v,am) = {
387387 let aT = l((("global_" + q(am)) + "_balance"))
388388 let aU = l("global_poolToken_amount")
389389 let aV = l((("static_" + q(am)) + "_scale"))
390390 let ao = toInt(fraction((toBigInt(aa) - fraction(toBigInt((aU - bd)), toBigInt(aa), toBigInt(aU), CEILING)), toBigInt(aT), toBigInt(aa), DOWN))
391391 let bb = if ((q(am) == "WAVES"))
392392 then aH(false, ao, "WAVES")
393393 else nil
394394 ((v ++ bb) ++ [IntegerEntry((("global_" + q(am)) + "_balance"), (aT - ao)), ScriptTransfer(aP, ao, am)])
395395 }
396396
397397 let G = F
398398 let H = size(G)
399399 let I = nil
400400 func ax (K,L) = if ((L >= H))
401401 then K
402402 else be(K, G[L])
403403
404404 func ay (K,L) = if ((L >= H))
405405 then K
406406 else throw("List size exceeds 3")
407407
408408 ay(ax(ax(ax(I, 0), 1), 2), 3)
409409 }
410410
411411
412412 func bf (bg,bh,bi,bj,bk) = {
413413 let bl = value(indexOf(F, bh))
414414 let bm = value(indexOf(F, bi))
415415 if ((bl == bm))
416416 then throw("wrong tokens pair")
417417 else fraction(bk, ((aa * aa) - toInt(pow(fraction(toBigInt(bj), toBigInt((aa * aa)), toBigInt((bj + bg)), HALFUP), 16, toBigInt(fraction(N[bl], 10000, N[bm])), 4, 16, CEILING))), (aa * aa), DOWN)
418418 }
419419
420420
421421 func bn (bo,bp,bq) = {
422422 let br = (("global_" + bo) + "_balance")
423423 let bs = getIntegerValue(this, br)
424424 let bt = (("global_" + bp) + "_balance")
425425 let bu = getIntegerValue(this, bt)
426426 let bv = bf(bq, s(bo), s(bp), bs, bu)
427427 let bw = fraction(bv, X, ab)
428428 if ((bw == bw))
429429 then {
430430 let bx = (bv - bw)
431431 if ((bx == bx))
432432 then bx
433433 else throw("Strict value is not equal to itself.")
434434 }
435435 else throw("Strict value is not equal to itself.")
436436 }
437437
438438
439439 func by (r) = {
440440 let g = r
441441 if ($isInstanceOf(g, "ByteVector"))
442442 then {
443443 let ba = g
444444 assetBalance(this, ba)
445445 }
446446 else wavesBalance(this).regular
447447 }
448448
449449
450450 func bz (r,t,bA,bB) = {
451451 let bC = l("global_indexStaked")
452452 let bD = bB
453453 let bE = (by(r) - bA)
454454 let bF = if ((bE > bD))
455455 then bE
456456 else bD
457457 let bG = (bF - bD)
458458 let bH = if ((bC == 0))
459459 then 0
460460 else fraction(bG, aa, bC)
461461 let bI = l((("global_lastCheck_" + t) + "_interest"))
462462 (bI + bH)
463463 }
464464
465465
466466 func bJ (bK) = {
467467 let bL = toString(bK)
468468 let bM = l((bL + "_indexStaked"))
469469 func at (v,r) = {
470470 let t = q(r)
471471 let bA = l((("global_" + q(r)) + "_balance"))
472472 let bB = l((("global_lastCheck_" + t) + "_earnings"))
473473 let bN = bz(r, t, bA, bB)
474474 let bF = max([bB, (by(r) - bA)])
475475 let bO = fraction(bM, (bN - l((((bL + "_lastCheck_") + t) + "_interest"))), aa)
476476 let bP = if ((bO == 0))
477477 then nil
478478 else [ScriptTransfer(bK, bO, r)]
479479 let bQ = l((((bL + "_lastCheck_") + t) + "_claimed"))
480480 ((v ++ bP) ++ [IntegerEntry((("global_lastCheck_" + t) + "_earnings"), (bF - bO)), IntegerEntry((("global_lastCheck_" + t) + "_interest"), bN), IntegerEntry((((bL + "_lastCheck_") + t) + "_interest"), bN), IntegerEntry((((bL + "_lastCheck_") + t) + "_claimed"), (bQ + bO))])
481481 }
482482
483483 let v = {
484484 let G = ae
485485 let H = size(G)
486486 let I = nil
487487 func ax (K,L) = if ((L >= H))
488488 then K
489489 else at(K, G[L])
490490
491491 func ay (K,L) = if ((L >= H))
492492 then K
493493 else throw("List size exceeds 3")
494494
495495 ay(ax(ax(ax(I, 0), 1), 2), 3)
496496 }
497497 (v ++ [IntegerEntry((bL + "_lastClaim"), lastBlock.timestamp)])
498498 }
499499
500500
501501 func bR (bL,ao) = {
502502 let bS = bJ(addressFromStringValue(bL))
503503 (bS ++ [IntegerEntry((bL + "_indexStaked"), (l((bL + "_indexStaked")) + ao)), IntegerEntry("global_indexStaked", (l("global_indexStaked") + ao))])
504504 }
505505
506506
507507 func bT (v,bU) = (v + parseIntValue(bU))
508508
509509
510510 func bV (bK) = [StringEntry("static_oracle", bK)]
511511
512512
513513 func bW () = {
514514 let bX = {
515515 let g = getBoolean(this, "TESTENV")
516516 if ($isInstanceOf(g, "Boolean"))
517517 then {
518518 let ah = g
519519 ah
520520 }
521521 else false
522522 }
523523 bX
524524 }
525525
526526
527527 @Callable(bY)
528528 func readOnlyFunc (bo,bp,bq) = {
529529 let bZ = bn(bo, bp, bq)
530530 [IntegerEntry("DEBUG", bZ)]
531531 }
532532
533533
534534
535535 @Callable(bY)
536536 func topUpFunds () = if ((size(bY.payments) != 1))
537537 then throw("Wrong payments attached!")
538538 else {
539539 let aB = bY.payments[0]
540540 let ca = aB.assetId
541541 if ((indexOf(F, ca) == unit))
542542 then throw("Not supported assetId")
543543 else {
544544 let ao = aB.amount
545545 let bA = l((("global_" + q(ca)) + "_balance"))
546546 let C = b()
547547 let cb = l(B(C, q(ca)))
548548 [IntegerEntry((("global_" + q(ca)) + "_balance"), (bA + ao)), IntegerEntry("days_since_apy", C), IntegerEntry(B(C, q(ca)), (cb + ao))]
549549 }
550550 }
551551
552552
553553
554554 @Callable(bY)
555555 func preInit (cc,cd,ce,cf) = if ((this != bY.caller))
556556 then throw("admin only")
557557 else if ((size(cf) > 13))
558558 then throw("too large pool domain")
559559 else {
560560 let cg = split(cc, ",")
561561 let ch = {
562562 let G = cg
563563 let H = size(G)
564564 let I = nil
565565 func ax (K,L) = if ((L >= H))
566566 then K
567567 else u(K, G[L])
568568
569569 func ay (K,L) = if ((L >= H))
570570 then K
571571 else throw("List size exceeds 3")
572572
573573 ay(ax(ax(ax(I, 0), 1), 2), 3)
574574 }
575575 let ci = split(cd, ",")
576576 let cj = {
577577 let G = ci
578578 let H = size(G)
579579 let I = 0
580580 func aF (K,L) = if ((L >= H))
581581 then K
582582 else bT(K, G[L])
583583
584584 func aG (K,L) = if ((L >= H))
585585 then K
586586 else throw("List size exceeds 3")
587587
588588 aG(aF(aF(aF(I, 0), 1), 2), 3)
589589 }
590590 func ck (v,cl) = if ((cl >= size(ch)))
591591 then v
592592 else {
593593 let cm = {
594594 let g = ch[cl]
595595 if ($isInstanceOf(g, "ByteVector"))
596596 then {
597597 let ah = g
598598 value(assetInfo(ch[cl])).decimals
599599 }
600600 else 8
601601 }
602602 (v ++ [IntegerEntry((("static_" + cg[cl]) + "_scale"), pow(10, 0, cm, 0, 0, DOWN)), IntegerEntry((("static_" + cg[cl]) + "_decimals"), cm), IntegerEntry((("static_" + cg[cl]) + "_weight"), value(parseInt(ci[cl])))])
603603 }
604604
605605 if ((cj != 100))
606606 then throw("sum of token weights must be equal to 100")
607607 else ({
608608 let G = [0, 1, 2]
609609 let H = size(G)
610610 let I = nil
611611 func cn (K,L) = if ((L >= H))
612612 then K
613613 else ck(K, G[L])
614614
615615 func co (K,L) = if ((L >= H))
616616 then K
617617 else throw("List size exceeds 3")
618618
619619 co(cn(cn(cn(I, 0), 1), 2), 3)
620620 } ++ [StringEntry("static_tokenIds", cc), StringEntry("static_tokenWeights", cd), IntegerEntry("static_tokensAmount", size(ch)), StringEntry("static_poolDomain", cf), StringEntry("static_baseTokenId", ce), IntegerEntry("static_fee", 100)])
621621 }
622622
623623
624624
625625 @Callable(bY)
626626 func init (cp) = {
627627 func cq () = {
628628 func at (v,bU) = (v ++ [IntegerEntry((("global_" + q(bU.assetId)) + "_balance"), bU.amount)])
629629
630630 let G = bY.payments
631631 let H = size(G)
632632 let I = nil
633633 func ax (K,L) = if ((L >= H))
634634 then K
635635 else at(K, G[L])
636636
637637 func ay (K,L) = if ((L >= H))
638638 then K
639639 else throw("List size exceeds 3")
640640
641641 ay(ax(ax(ax(I, 0), 1), 2), 3)
642642 }
643643
644644 func cr (as) = {
645645 func at (v,cs) = {
646646 let r = cs.assetId
647647 func aD (v,bU) = if ((bU == r))
648648 then value(indexOf(F, bU))
649649 else v
650650
651651 let ct = {
652652 let G = F
653653 let H = size(G)
654654 let I = 1
655655 func ax (K,L) = if ((L >= H))
656656 then K
657657 else aD(K, G[L])
658658
659659 func ay (K,L) = if ((L >= H))
660660 then K
661661 else throw("List size exceeds 3")
662662
663663 ay(ax(ax(ax(I, 0), 1), 2), 3)
664664 }
665665 fraction(v, pow(cs.amount, Q[ct], N[ct], Y, 8, FLOOR), aa)
666666 }
667667
668668 let G = as
669669 let H = size(G)
670670 let I = ad
671671 func ax (K,L) = if ((L >= H))
672672 then K
673673 else at(K, G[L])
674674
675675 func ay (K,L) = if ((L >= H))
676676 then K
677677 else throw("List size exceeds 3")
678678
679679 ay(ax(ax(ax(I, 0), 1), 2), 3)
680680 }
681681
682682 if ((l("global_wasInited") > 0))
683683 then throw("pool already inited")
684684 else {
685685 let cu = cr(bY.payments)
686686 if ((cu == 0))
687687 then throw("you need a bigger tokens amount to launch the pool")
688688 else {
689689 let cv = Issue(("WD " + p("static_poolDomain")), "WD pool token", cu, ac, true, unit, 0)
690690 let cw = calculateAssetId(cv)
691691 ((cq() ++ [cv, IntegerEntry("global_poolToken_amount", cu), IntegerEntry("global_wasInited", 1), BinaryEntry("global_poolToken_id", cw), StringEntry("static_poolToken_idStr", q(cw)), ScriptTransfer(bY.caller, cu, cw)]) ++ bV(cp))
692692 }
693693 }
694694 }
695695
696696
697697
698698 @Callable(bY)
699699 func generateIndex (aQ) = if ((size(bY.payments) != E))
700700 then throw(("you need to attach all pool tokens. amount of pool tokens: " + toString(E)))
701701 else if (!(az(bY.payments)))
702702 then throw("wrong assets attached")
703703 else {
704704 let av = ar(bY.payments)
705705 let cx = Reissue(getBinaryValue("global_poolToken_id"), av, true)
706706 let cy = aO(av, bY.payments, bY.originCaller, aQ)
707707 $Tuple2((cy ++ [cx, ScriptTransfer(bY.caller, av, o("global_poolToken_id")), IntegerEntry("global_poolToken_amount", (l("global_poolToken_amount") + av))]), av)
708708 }
709709
710710
711711
712712 @Callable(bY)
713713 func stakeIndex () = {
714714 let bL = toString(bY.originCaller)
715715 let cs = bY.payments[0]
716716 if ((value(cs.assetId) != o("global_poolToken_id")))
717717 then throw("wrong asset attached")
718718 else bR(bL, cs.amount)
719719 }
720720
721721
722722
723723 @Callable(bY)
724724 func unstakeIndex (bM) = {
725725 let bL = toString(bY.originCaller)
726726 let cz = l((bL + "_indexStaked"))
727727 if ((bM > cz))
728728 then throw("you don't have index tokens available")
729729 else (bJ(bY.originCaller) ++ [IntegerEntry((bL + "_indexStaked"), (cz - bM)), IntegerEntry("global_indexStaked", (l("global_indexStaked") - bM)), ScriptTransfer(bY.caller, bM, getBinaryValue("global_poolToken_id"))])
730730 }
731731
732732
733733
734734 @Callable(bY)
735735 func claimIndexRewards () = bJ(bY.caller)
736736
737737
738738
739739 @Callable(bY)
740740 func redeemIndex (cA) = {
741741 let cs = bY.payments[0]
742742 if ((cs.assetId != o("global_poolToken_id")))
743743 then throw("please attach pool share token")
744744 else {
745745 let bd = cs.amount
746746 let cy = bc(bd, if (cA)
747747 then bY.originCaller
748748 else bY.caller)
749749 (cy ++ [Burn(o("global_poolToken_id"), bd), IntegerEntry("global_poolToken_amount", (l("global_poolToken_amount") - bd))])
750750 }
751751 }
752752
753753
754754
755755 @Callable(bY)
756756 func swap (bi,cB) = if (af())
757757 then throw("Pool is currently shutdown")
758758 else {
759759 let cs = value(bY.payments[0])
760760 let bg = value(bY.payments[0].amount)
761761 let cC = cs.assetId
762762 let cD = e(reentrantInvoke(this, "swapInternal", [bi, cB, bg, q(cC), toString(bY.caller)], nil))
763763 if ((cD == cD))
764764 then {
765765 let bx = cD._1
766766 if ((bx == bx))
767767 then {
768768 let bw = cD._2
769769 if ((bw == bw))
770770 then {
771771 let cE = [ScriptTransfer(j(), fraction(bw, 2, 4), s(bi))]
772772 if ((cE == cE))
773773 then $Tuple2(cE, bx)
774774 else throw("Strict value is not equal to itself.")
775775 }
776776 else throw("Strict value is not equal to itself.")
777777 }
778778 else throw("Strict value is not equal to itself.")
779779 }
780780 else throw("Strict value is not equal to itself.")
781781 }
782782
783783
784784
785785 @Callable(bY)
786786 func internal (aI,ao,r) = if ((bY.caller != this))
787787 then throw("Not allowed")
788788 else aH(aI, ao, r)
789789
790790
791791
792792 @Callable(bY)
793793 func stakeAll () = aH(true, (l("global_WAVES_balance") - l("leasing_amount")), "WAVES")
794794
795795
796796
797797 @Callable(bY)
798798 func swapInternal (bi,cB,bg,cC,cF) = if ((bY.caller != this))
799799 then throw("You cant call this directly")
800800 else {
801801 let cG = s(bi)
802802 let C = b()
803803 let cb = l(B(C, bi))
804804 let cH = l((("global_" + cC) + "_balance"))
805805 if ((cH == cH))
806806 then {
807807 let cI = l((("global_" + bi) + "_balance"))
808808 if ((cI == cI))
809809 then {
810810 let cJ = bf(bg, s(cC), cG, cH, cI)
811811 if ((cJ == cJ))
812812 then {
813813 let bw = fraction(cJ, X, ab)
814814 if ((bw == bw))
815815 then {
816816 let bx = (cJ - bw)
817817 if ((bx == bx))
818818 then if ((cB > bx))
819819 then throw(("amount to recieve is lower than given one: " + toString(bx)))
820820 else if ((0 > (cI - cJ)))
821821 then throw("contract is out of reserves")
822822 else if ((cG == s(cC)))
823823 then throw("this swap is not allowed")
824824 else {
825825 let cK = D(C, cC)
826826 let cL = (cH + bg)
827827 if ((cL == cL))
828828 then {
829829 let aI = reentrantInvoke(this, "internal", [true, bg, cC], nil)
830830 if ((aI == aI))
831831 then {
832832 let cM = (cI - cJ)
833833 if ((cM == cM))
834834 then {
835835 let cN = reentrantInvoke(this, "internal", [false, (bx + fraction(bw, 3, 4)), bi], nil)
836836 if ((cN == cN))
837837 then $Tuple2([IntegerEntry((("global_" + bi) + "_balance"), (cM + fraction(bw, 1, 4))), ScriptTransfer(addressFromStringValue(cF), bx, cG), IntegerEntry((("global_" + cC) + "_balance"), cL), IntegerEntry("days_since_apy", C), IntegerEntry(B(C, bi), (cb + bw)), IntegerEntry(cK, bg)], $Tuple2(bx, bw))
838838 else throw("Strict value is not equal to itself.")
839839 }
840840 else throw("Strict value is not equal to itself.")
841841 }
842842 else throw("Strict value is not equal to itself.")
843843 }
844844 else throw("Strict value is not equal to itself.")
845845 }
846846 else throw("Strict value is not equal to itself.")
847847 }
848848 else throw("Strict value is not equal to itself.")
849849 }
850850 else throw("Strict value is not equal to itself.")
851851 }
852852 else throw("Strict value is not equal to itself.")
853853 }
854854 else throw("Strict value is not equal to itself.")
855855 }
856856
857857
858858 @Verifier(cO)
859859 func cP () = if (bW())
860860 then sigVerify(cO.bodyBytes, cO.proofs[0], cO.senderPublicKey)
861861 else {
862862 let cQ = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
863863 let cR = base58'E23yUg8eun5nXB1nZRDf7RTyRADKxQhGNXdpTYonEvtU'
864864 let cS = base58'Ga8WEBTPXbHuoXRD355mQ6ms8PsM2RFYKeA1mEP32CFe'
865865 let cT = if (sigVerify(cO.bodyBytes, cO.proofs[0], cQ))
866866 then 1
867867 else if (sigVerify(cO.bodyBytes, cO.proofs[1], cQ))
868868 then 1
869869 else if (sigVerify(cO.bodyBytes, cO.proofs[2], cQ))
870870 then 1
871871 else 0
872872 let cU = if (sigVerify(cO.bodyBytes, cO.proofs[0], cR))
873873 then 1
874874 else if (sigVerify(cO.bodyBytes, cO.proofs[1], cR))
875875 then 1
876876 else if (sigVerify(cO.bodyBytes, cO.proofs[2], cR))
877877 then 1
878878 else 0
879879 let cV = if (sigVerify(cO.bodyBytes, cO.proofs[0], cS))
880880 then 1
881881 else if (sigVerify(cO.bodyBytes, cO.proofs[1], cS))
882882 then 1
883883 else if (sigVerify(cO.bodyBytes, cO.proofs[2], cS))
884884 then 1
885885 else 0
886886 let cW = ((cT + cU) + cV)
887887 let g = cO
888888 (cW >= 2)
889889 }
890890

github/deemru/w8io/3ef1775 
65.88 ms