tx · 7y7YFye6eYvuFc8HZC6uY6Ld3ckoeH9LaHP414BqS6YA

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.03100000 Waves

2023.07.19 17:38 [2672874] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "7y7YFye6eYvuFc8HZC6uY6Ld3ckoeH9LaHP414BqS6YA", "fee": 3100000, "feeAssetId": null, "timestamp": 1689777582910, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "5moxgBaueSGQrHGWWj9tpm2tqaemRcGSqsZLAAAHsAszNMhA7rgwEbnhYRJkVwPoSSLJFZt9sw8biQJL7aRFxxPY" ], "script": "base64:BgJKCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBGBIDCgEIEgMKARgSAwoBGBIDCgEYEgMKARgSAwoBCBIAEgMKAQiZAQACTTYAwIQ9AAJNOACAwtcvAAhNSUxMSU9ONgCAgOmDsd4WAA5NQVJLRVRJTkdTSEFSRQCgjQYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UAA0RBWQCAuJkpABBtYXJrZXRpbmdBZGRyS2V5Ag1tYXJrZXRpbmdBZGRyAAt0ZWFtQWRkcktleQIIdGVhbUFkZHIAFGxhc3RNYXJrZXRpbmdUaW1lS2V5AhlsYXN0Q2xhaW1lZFRpbWVfbWFya2V0aW5nABZtYXJrZXRpbmdBbW91bnRMZWZ0S2V5AhNtYXJrZXRpbmdBbW91bnRMZWZ0AA9sYXN0VGVhbVRpbWVLZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtABF0ZWFtQW1vdW50TGVmdEtleQIOdGVhbUFtb3VudExlZnQAFWxhc3RBY3Rpdml0aWVzVGltZUtleQIabGFzdENsYWltZWRUaW1lX2FjdGl2aXRpZXMAEGFjdEFtb3VudExlZnRLZXkCFGFjdGl2aXRpZXNBbW91bnRMZWZ0ABRzdGFrZXJzQW1vdW50TGVmdEtleQIRc3Rha2Vyc0Ftb3VudExlZnQBGGtleUxhc3RDbGFpbWVkVGltZUJ5VXNlcgEEYWRkcgkArAICAhRsYXN0Q2xhaW1lZFRpbWVVc2VyXwUEYWRkcgEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBBnBlcmlvZAkAawMFCE1JTExJT042CQBoAgULUExBWUVSU0hBUkUJAGQCBQZwZXJpb2QAAQkAaAIABgUCTTYAD3dsZ0lzc3VlVGltZUtleQINd2xnX2lzc3VlVGltZQASd2xnSXNzdWVkQW1vdW50S2V5AhB3bGdfaXNzdWVkQW1vdW50AAxpZHhXbGdBbW91bnQAAAALaWR4V2xnUHJpY2UAAQALaWR4V2xnRnVuZHMAAgANaWR4V2xnRWNvbm9teQADAA5pZHhXbGdBY3Rpdml0eQAEAA9pZHhXbGdBcmJpdHJhZ2UABQAKaWR4V2xnUG9vbAAGAA9pZHhXbGdJc3N1ZVRpbWUABwARaWR4V2xnTGFzdE1UQVRpbWUACAAUaWR4V2xnTWFya2V0aW5nVG90YWwACQAVaWR4V2xnTWFya2V0aW5nQW1MZWZ0AAoAGWlkeFdsZ01hcmtldGluZ0FtQXZhaWxOb3cACwAVaWR4V2xnTWFya2V0aW5nV2xnb2xkAAwAD2lkeFdsZ1RlYW1Ub3RhbAANABBpZHhXbGdUZWFtQW1MZWZ0AA4AFGlkeFdsZ1RlYW1BbUF2YWlsTm93AA8AEGlkeFdsZ1RlYW1XbGdvbGQAEAAOaWR4V2xnQWN0VG90YWwAEQAPaWR4V2xnQWN0QW1MZWZ0ABIAE2lkeFdsZ0FjdEFtQXZhaWxOb3cAEwAPaWR4V2xnQWN0V2xnb2xkABQAD2lkeFdsZ0N1clBlcmlvZAAVABFpZHhXbGdBbUxlZnRUb3RhbAAWABtpZHhXbGdDdXJQZXJpb2REaXN0cmlidXRpb24AFwASaWR4V2xnTGFzdFVzZXJUaW1lABgAFGlkeFdsZ1VzZXJBbUF2YWlsTm93ABkAFmlkeFdsZ1NMYW5kRGFpbHlBbW91bnQAGgAIZGFwcFJlc3QAAAALZGFwcFN0YWtpbmcAAQALZGFwcEVjb25vbXkAAgAHZGFwcFdsZwAEAApkYXBwUHV6emxlAAUBCWdldFBpZWNlcwISdXNlckFkZHJTdHJPckVtcHR5D3N0YWtpbmdDb250cmFjdAQFcHJvcHMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QCE3Jlc1R5cGVzUHJvcG9ydGlvbnMCCzBfMF8wXzBfMF8wAgFfCgEFYWRkZXICA2FjYwRpdGVtCQBkAgUDYWNjCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0ECnRvdGFsUG93ZXIKAAIkbAUFcHJvcHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBWFkZGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGBAp1c2Vyc1Bvd2VyCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkArAICAhRzdGFrZWRQaWVjZXNCeU93bmVyXwUSdXNlckFkZHJTdHJPckVtcHR5AAAJAMwIAgUKdG90YWxQb3dlcgkAzAgCBQp1c2Vyc1Bvd2VyBQNuaWwBC2dldFdsZ1N0YXRzBAt1c2VyQWRkck9wdAljb250cmFjdHMGdXNkdElkFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQMaXNzdWVkQW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFEndsZ0lzc3VlZEFtb3VudEtleQIYV0xHT0xEIGlzIG5vdCBpc3N1ZWQgeWV0BAplY29ub215VXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQtkYXBwRWNvbm9teQUGdXNkdElkBAdyZXN0VXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQhkYXBwUmVzdAUGdXNkdElkBAZ3bGdVc2QJAGUCCQDwBwIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBQZ1c2R0SWQFFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQJcHV6emxlVXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQpkYXBwUHV6emxlBQZ1c2R0SWQEDXRvdGFsRnVuZHNVc2QJAGQCBQplY29ub215VXNkBQZ3bGdVc2QEBXdsZ0lkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcCC3dsZ19hc3NldElkAhNOb3QgaW5pdGlhbGl6ZWQgeWV0BANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAlpc3N1ZVRpbWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUPd2xnSXNzdWVUaW1lS2V5Ag9Ob3QgaW5pdGlhbGl6ZWQEDm1hcmtldGluZ1RvdGFsCQBrAwUITUlMTElPTjYFDk1BUktFVElOR1NIQVJFBQJNNgQTbWFya2V0aW5nQW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUWbWFya2V0aW5nQW1vdW50TGVmdEtleQUObWFya2V0aW5nVG90YWwEEWxhc3RNYXJrZXRpbmdUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRRsYXN0TWFya2V0aW5nVGltZUtleQUJaXNzdWVUaW1lBA1tYXJrZXRpbmdBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCdCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRBtYXJrZXRpbmdBZGRyS2V5BBttYXJrZXRpbmdBbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUObWFya2V0aW5nVG90YWwJAGUCBQNub3cFEWxhc3RNYXJrZXRpbmdUaW1lBQpZRUFSTUlMTElTCQDMCAIFE21hcmtldGluZ0Ftb3VudExlZnQFA25pbAQPbWFya2V0aW5nV2xnb2xkCQDwBwIFDW1hcmtldGluZ0FkZHIFBXdsZ0lkBAl0ZWFtVG90YWwJAGsDBQhNSUxMSU9ONgUJVEVBTVNIQVJFBQJNNgQOdGVhbUFtb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFEXRlYW1BbW91bnRMZWZ0S2V5BQl0ZWFtVG90YWwEDGxhc3RUZWFtVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUPbGFzdFRlYW1UaW1lS2V5BQlpc3N1ZVRpbWUECHRlYW1BZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCdCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBQt0ZWFtQWRkcktleQQWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAlwMBCQDMCAIJAGsDBQl0ZWFtVG90YWwJAGUCBQNub3cFDGxhc3RUZWFtVGltZQkAaAIAAwUKWUVBUk1JTExJUwkAzAgCBQ50ZWFtQW1vdW50TGVmdAUDbmlsBAp0ZWFtV2xnb2xkCQDwBwIFCHRlYW1BZGRyBQV3bGdJZAQIYWN0VG90YWwJAGsDBQhNSUxMSU9ONgUNQUNUSVZJVFlTSEFSRQUCTTYEDWFjdEFtb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFEGFjdEFtb3VudExlZnRLZXkFCGFjdFRvdGFsBBJsYXN0QWN0aXZpdGllc1RpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFWxhc3RBY3Rpdml0aWVzVGltZUtleQUJaXNzdWVUaW1lBBVhY3RBbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUIYWN0VG90YWwJAGUCBQNub3cFEmxhc3RBY3Rpdml0aWVzVGltZQkAaAIAAwUKWUVBUk1JTExJUwkAzAgCBQ1hY3RBbW91bnRMZWZ0BQNuaWwECWFjdFdsZ29sZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUIZGFwcFJlc3QFBXdsZ0lkBAxsYXN0VXNlclRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcJARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBQt1c2VyQWRkck9wdAUJaXNzdWVUaW1lBA5sYXN0VXNlclBlcmlvZAkAaQIJAGUCBQxsYXN0VXNlclRpbWUFCWlzc3VlVGltZQUKWUVBUk1JTExJUwQKbm93TGltaXRlZAkAlwMBCQDMCAIFA25vdwkAzAgCCQBkAgUJaXNzdWVUaW1lCQBoAgADBQpZRUFSTUlMTElTBQNuaWwECWN1clBlcmlvZAkAlwMBCQDMCAIJAGkCCQBlAgUDbm93BQlpc3N1ZVRpbWUFCllFQVJNSUxMSVMJAMwIAgACBQNuaWwEA2VmZgkBCWdldFBpZWNlcwIFC3VzZXJBZGRyT3B0CQCRAwIFCWNvbnRyYWN0cwULZGFwcFN0YWtpbmcEFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQUJY3VyUGVyaW9kBAp1c2VyQW1vdW50CQBrAwMJAAACBQ5sYXN0VXNlclBlcmlvZAUJY3VyUGVyaW9kCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTAwkAAAIFDmxhc3RVc2VyUGVyaW9kCQBlAgUJY3VyUGVyaW9kAAEJAGQCCQBrAwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBlAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUKWUVBUk1JTExJUwkAZAIJAGQCCQBrAwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAACCQBlAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMJAGUCBQljdXJQZXJpb2QAAQUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAGUCBQpub3dMaW1pdGVkCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kBQpZRUFSTUlMTElTCQCRAwIFA2VmZgABCQCRAwIFA2VmZgAABBBzTGFuZERhaWx5QW1vdW50CQBrAwkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgUDREFZBQpZRUFSTUlMTElTABkJAJEDAgUDZWZmAAAED2Ftb3VudExlZnRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUUc3Rha2Vyc0Ftb3VudExlZnRLZXkAAAkAzAgCBQxpc3N1ZWRBbW91bnQJAMwIAgkAawMFDXRvdGFsRnVuZHNVc2QFAk04BQxpc3N1ZWRBbW91bnQJAMwIAgUNdG90YWxGdW5kc1VzZAkAzAgCBQplY29ub215VXNkCQDMCAIFB3Jlc3RVc2QJAMwIAgUGd2xnVXNkCQDMCAIFCXB1enpsZVVzZAkAzAgCBQlpc3N1ZVRpbWUJAMwIAgURbGFzdE1hcmtldGluZ1RpbWUJAMwIAgUObWFya2V0aW5nVG90YWwJAMwIAgUTbWFya2V0aW5nQW1vdW50TGVmdAkAzAgCBRttYXJrZXRpbmdBbW91bnRBdmFpbGFibGVOb3cJAMwIAgUPbWFya2V0aW5nV2xnb2xkCQDMCAIFCXRlYW1Ub3RhbAkAzAgCBQ50ZWFtQW1vdW50TGVmdAkAzAgCBRZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCnRlYW1XbGdvbGQJAMwIAgUIYWN0VG90YWwJAMwIAgUNYWN0QW1vdW50TGVmdAkAzAgCBRVhY3RBbW91bnRBdmFpbGFibGVOb3cJAMwIAgUJYWN0V2xnb2xkCQDMCAIFCWN1clBlcmlvZAkAzAgCBQ9hbW91bnRMZWZ0VG90YWwJAMwIAgUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQDMCAIFDGxhc3RVc2VyVGltZQkAzAgCBQp1c2VyQW1vdW50CQDMCAIFEHNMYW5kRGFpbHlBbW91bnQFA25pbAEMa2V5RHVja0NoYXJzAQtkdWNrQXNzZXRJZAkArAICAgpkdWNrQ2hhcnNfBQtkdWNrQXNzZXRJZAEJa2V5RHVja1hQAQtkdWNrQXNzZXRJZAkArAICAgdkdWNrWFBfBQtkdWNrQXNzZXRJZAEMa2V5RHVja0xldmVsAQtkdWNrQXNzZXRJZAkArAICAgpkdWNrTGV2ZWxfBQtkdWNrQXNzZXRJZAERa2V5RHVja0ZyZWVQb2ludHMBC2R1Y2tBc3NldElkCQCsAgICD2R1Y2tGcmVlUG9pbnRzXwULZHVja0Fzc2V0SWQBEGtleUR1Y2tFcXVpcG1lbnQBC2R1Y2tBc3NldElkCQCsAgICDmR1Y2tFcXVpcG1lbnRfBQtkdWNrQXNzZXRJZAEJa2V5VXNlclhQAQRhZGRyCQCsAgICB3VzZXJYUF8FBGFkZHIBDGtleVVzZXJMZXZlbAEEYWRkcgkArAICAgp1c2VyTGV2ZWxfBQRhZGRyARFrZXlVc2VyRnJlZVBvaW50cwEEYWRkcgkArAICAg91c2VyRnJlZVBvaW50c18FBGFkZHIBCW1heEhlYWx0aAEFbGV2ZWwJAGQCAGQFBWxldmVsAApBUlRQUkVTQUxFAgdQUkVTQUxFAApBUlRPTkJPQVJEAgdPTkJPQVJEAAZOVU1SRVMABgAPREFJTFlSRVNCWVBJRUNFAID40gEACURBWU1JTExJUwCAuJkpAAxXSE1VTFRJUExJRVIAgMivoCUAEFJFU09VUkNFUFJJQ0VNSU4A1bUCAA1FU01BWFBBQ0tBR0VTAAMACUVTQlVZQ09FRgAEAApFU1NFTExDT0VGAAoACUNPRUZGMk1BVACAreIEABBwcm9kdWN0aW9uTWF0cml4CQDMCAICJThfOF84XzE3XzE3XzQyXzEyXzBfMzBfMCwwLDAsMCwwLDAsMF8JAMwIAgIlOF84XzhfMTdfMTdfNDJfMjRfMF82MF8wLDAsNSwyLDAsMCwwXwkAzAgCAic4XzhfOF8xN18xN180Ml8zNl8wXzEyMF8wLDAsMTAsNCwwLDAsMF8JAMwIAgIpOF8xOV8xOV84XzI3XzE5XzI2XzFfMjBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIpOF8xOV8xOV84XzI3XzE5XzUyXzFfNDBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIpOF8xOV8xOV84XzI3XzE5Xzc4XzFfODBfMCwwLDAsMCwwLDAsMF8wMDEJAMwIAgIiOF84XzhfOF84XzYwXzEzXzJfMl8wLDAsMCwwLDAsMCwwXwkAzAgCAiI4XzhfOF84XzhfNjBfMjZfMl80XzAsMCwwLDAsMCwwLDBfCQDMCAICIjhfOF84XzhfOF82MF8zOV8yXzhfMCwwLDAsMCwwLDAsMF8JAMwIAgIpMzBfMzBfM18xN18xN18zXzMwXzNfMzBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzYwXzNfNTBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIpMzBfMzBfM18xN18xN18zXzkwXzNfNzBfMCwwLDAsMCwwLDAsMF8xMTEJAMwIAgIrMThfMThfMTBfMThfMThfMThfMTFfNF8zMF8wLDAsMCwwLDAsMCwwXzIwMQkAzAgCAisxOF8xOF8xMF8xOF8xOF8xOF8yMl80XzUwXzAsMCwwLDAsMCwwLDBfMjAxCQDMCAICKzE4XzE4XzEwXzE4XzE4XzE4XzMzXzRfNzBfMCwwLDAsMCwwLDAsMF8yMDEFA25pbAAJcklkeENvZWZmAAYADlBST0RVQ1RQS0dTSVpFAAoBEWtleUxhc3RUeElkQnlVc2VyAQRhZGRyCQCsAgICD2xhc3RUeElkQnlVc2VyXwUEYWRkcgEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQdhc3NldElkCQCsAgICCW5mdE93bmVyXwUHYXNzZXRJZAEaa2V5TGFuZEFzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYbGFuZEN1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQdhc3NldElkCQCsAgICC3N0YWtlZFRpbWVfBQdhc3NldElkARZrZXlJbmZyYUxldmVsQnlBc3NldElkAQdhc3NldElkCQCsAgICC2luZnJhTGV2ZWxfBQdhc3NldElkASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIEdHlwZQdhc3NldElkCQC5CQIJAMwIAgINbGFuZEFydFN0YXR1cwkAzAgCBQR0eXBlCQDMCAIFB2Fzc2V0SWQFA25pbAIBXwESa2V5V2FyZWhvdXNlQnlMYW5kAQtsYW5kQXNzZXRJZAkArAICAgp3YXJlSG91c2VfBQtsYW5kQXNzZXRJZAEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBB2Fzc2V0SWQJAKwCAgIYZHVja0N1c3RvbU5hbWVCeUFzc2V0SWRfBQdhc3NldElkARZrZXlBZGRyZXNzVG9DdXN0b21OYW1lAQRhZGRyCQCsAgICGGFjY291bnRDdXN0b21OYW1lQnlBZGRyXwUEYWRkcgEPa2V5QWRkcmVzc1JlZkJ5AQRhZGRyCQCsAgICCWFjY1JlZkJ5XwUEYWRkcgEca2V5T25ib2FyZEFydER1Y2tBY3RpdmF0ZWRCeQEEYWRkcgkArAICAhpvbmJvYXJkQXJ0QWN0aXZhdGVkRHVja0J5XwUEYWRkcgETa2V5QWRkcmVzc1JlZmVycmFscwEEYWRkcgkArAICAg1hY2NSZWZlcnJhbHNfBQRhZGRyARBrZXlEdWNrSWRUb093bmVyAQdhc3NldElkCQCsAgICCmR1Y2tPd25lcl8FB2Fzc2V0SWQBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBD2tleUR1Y2tMb2NhdGlvbgELZHVja0Fzc2V0SWQJAKwCAgINZHVja0xvY2F0aW9uXwULZHVja0Fzc2V0SWQBDWtleUR1Y2tIZWFsdGgBC2R1Y2tBc3NldElkCQCsAgICC2R1Y2tIZWFsdGhfBQtkdWNrQXNzZXRJZAEKa2V5QmxvY2tlZAACEGNvbnRyYWN0c0Jsb2NrZWQBDmtleU9yZGVyQnlMYW5kAQtsYW5kQXNzZXRJZAkArAICAgpsYW5kT3JkZXJfBQtsYW5kQXNzZXRJZAEOa2V5RXNXYXJlaG91c2UAAhplbWVyZ2VuY3lXYXJlaG91c2VQcm9kdWN0cwESZ2V0UmVjaXBlTWF0ZXJpYWxzAQZyZWNpcGUJAGgCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGcmVjaXBlBQlySWR4Q29lZmYFCUNPRUZGMk1BVAAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAC3VzZHRBc3NldElkBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwASCE2nqyCAM/TtG7yo7ui5O8yYLdC136B5ao1CP5qA//uQMJAAACAQFUBQckbWF0Y2gwASBVsdifcoeC7+XjW42sBatl3ppDoS8WuwXzGreHpfHFGAkAAgECDVVua25vd24gY2hhaW4AFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BRQ3V2RmJ2aDRMa1BVbnJuVTF6M2puYkExcDltM1dOaHYDCQAAAgEBVAUHJG1hdGNoMAIjM011bWtHR3p0Q0tBWHBXRHF4a2Rkb2ZxWFNVYnFRa3ZTSnkJAAIBAg1Vbmtub3duIGNoYWluABFJbmZyYVVwZ3JhZGVDb3N0UwQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMACAyK+gJQMJAAACAQFUBQckbWF0Y2gwAIDC1y8JAAIBAg1Vbmtub3duIGNoYWluAANTRVACAl9fAAVNVUxUNgDAhD0ABVNTSVpFABkABU1TSVpFAGQABUxTSVpFAOEBAAZYTFNJWkUAkAMAB1hYTFNJWkUA8QQBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABFJZHhDZmdTdGFraW5nRGFwcAABABFJZHhDZmdFY29ub215RGFwcAACABRJZHhDZmdHb3Zlcm5hbmNlRGFwcAADAA1JZHhDZmdXbGdEYXBwAAQAFElkeENmZ1B1enpsZVBvb2xEYXBwAAUBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwEOa2V5UmVzdEFkZHJlc3MAAgwlc19fcmVzdEFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgdyZXN0Q2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUHcmVzdENmZwUDaWR4CQCsAgICKlJlc3QgY2ZnIGRvZXNuJ3QgY29udGFpbiBhZGRyZXNzIGF0IGluZGV4IAkApAMBBQNpZHgADHJlc3RDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEOa2V5UmVzdEFkZHJlc3MABRVkZWZhdWx0UmVzdEFkZHJlc3NTdHIAB3Jlc3RDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDHJlc3RDb250cmFjdAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAAtnb3ZDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ0dvdmVybmFuY2VEYXBwAAt3bGdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ1B1enpsZVBvb2xEYXBwAApyZWNMYW5kTnVtAAAAC3JlY0xhbmRTaXplAAEAC3JlY1RlcnJhaW5zAAIADHJlY0NvbnRpbmVudAADAA13bGdBc3NldElkS2V5Agt3bGdfYXNzZXRJZAAKd2xnQXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIFC3dsZ0NvbnRyYWN0BQ13bGdBc3NldElkS2V5AhNOb3QgaW5pdGlhbGl6ZWQgeWV0AApJZHhFZmZVc2VyAAEBEWtleVJlc1Byb3BvcnRpb25zAAITcmVzVHlwZXNQcm9wb3J0aW9ucwEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQlvd25lckFkZHIJAKwCAgITc3Rha2VkTGFuZHNCeU93bmVyXwUJb3duZXJBZGRyARZrZXlTdGFrZWRQaWVjZXNCeU93bmVyAQlvd25lckFkZHIJAKwCAgIUc3Rha2VkUGllY2VzQnlPd25lcl8FCW93bmVyQWRkcgEIYXNTdHJpbmcBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwBQFzCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQVhc0ludAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgNJbnQEAW4FByRtYXRjaDAFAW4JAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBCWFzQm9vbGVhbgEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFzBQckbWF0Y2gwBQFzCQACAQIZZmFpbCB0byBjYXN0IGludG8gQm9vbGVhbgEPbnVtUGllY2VzQnlTaXplAQhsYW5kU2l6ZQQHJG1hdGNoMAUIbGFuZFNpemUDCQAAAgIBUwUHJG1hdGNoMAUFU1NJWkUDCQAAAgIBTQUHJG1hdGNoMAUFTVNJWkUDCQAAAgIBTAUHJG1hdGNoMAUFTFNJWkUDCQAAAgICWEwFByRtYXRjaDAFBlhMU0laRQMJAAACAgNYWEwFByRtYXRjaDAFB1hYTFNJWkUJAAIBAhFVbmtub3duIGxhbmQgc2l6ZQEOZ2V0Vm90aW5nUG93ZXIBEnVzZXJBZGRyU3RyT3JFbXB0eQQFcHJvcHMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlSZXNQcm9wb3J0aW9ucwACCzBfMF8wXzBfMF8wAgFfCgEFYWRkZXICA2FjYwRpdGVtCQBkAgUDYWNjCQENcGFyc2VJbnRWYWx1ZQEFBGl0ZW0ECnRvdGFsUG93ZXIKAAIkbAUFcHJvcHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBWFkZGVyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGBAp1c2Vyc1Bvd2VyCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFBpZWNlc0J5T3duZXIBBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAkAzAgCBQp0b3RhbFBvd2VyCQDMCAIFCnVzZXJzUG93ZXIFA25pbAANVVNEVFBSSVpFUEFSVACgwh4BEmFzTGlzdEludENvbXBhY3RlZAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIJTGlzdFtBbnldBAp2YWxBbnlMaXN0BQckbWF0Y2gwAwkBAiE9AgkAkAMBBQp2YWxBbnlMaXN0BQZOVU1SRVMJAAIBCQCsAgICDkFycmF5IHNpemUgaXMgCQCkAwEJAJADAQUKdmFsQW55TGlzdAoBBGNvbnYCA2FjYwRpdGVtBAckbWF0Y2gxBQRpdGVtAwkAAQIFByRtYXRjaDECA0ludAQCaXQFByRtYXRjaDEJAM0IAgUDYWNjCQCkAwEFAml0CQACAQIUTGlzdCB0eXBlIGlzIG5vdCBJbnQEAXIKAAIkbAUKdmFsQW55TGlzdAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEEY29udgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgkAuQkCBQFyAgFfCQACAQIWZmFpbCB0byBjYXN0IGludG8gTGlzdAENYXNTcGxpdFJlc3VsdAEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIWKExpc3RbQW55XSwgTGlzdFtBbnldKQQCdDIFByRtYXRjaDAJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMQkBEmFzTGlzdEludENvbXBhY3RlZAEIBQJ0MgJfMgkAAgECHmZhaWwgdG8gY2FzdCBpbnRvIChMaXN0LCBMaXN0KQEOd2FsbGV0SW50ZXJuYWwBDnVzZXJBZGRyZXNzT3B0BARhZGRyCQCmCAEFDnVzZXJBZGRyZXNzT3B0BAdiYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAO8HAQkBBXZhbHVlAQUEYWRkcgkBDkJhbGFuY2VEZXRhaWxzBAAAAAAAAAAABAt1c2R0QmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDwBwIJAQV2YWx1ZQEFBGFkZHIFC3VzZHRBc3NldElkAAAEDXdsZ29sZEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQp3bGdBc3NldElkAAAECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5QWRkcmVzc1RvQ3VzdG9tTmFtZQEFDnVzZXJBZGRyZXNzT3B0BQ51c2VyQWRkcmVzc09wdAQIcmVmQnlLZXkJAQ9rZXlBZGRyZXNzUmVmQnkBBQ51c2VyQWRkcmVzc09wdAQFcmVmQnkJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0BQhyZWZCeUtleQQEcmVmcwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARNrZXlBZGRyZXNzUmVmZXJyYWxzAQUOdXNlckFkZHJlc3NPcHQCAAQIbGFzdFR4SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5TGFzdFR4SWRCeVVzZXIBBQ51c2VyQWRkcmVzc09wdAIABAZwaWVjZXMJAJEDAgkBDmdldFZvdGluZ1Bvd2VyAQUOdXNlckFkZHJlc3NPcHQFCklkeEVmZlVzZXIEAnhwCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBCWtleVVzZXJYUAEFDnVzZXJBZGRyZXNzT3B0AAAEA2x2bAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlVc2VyTGV2ZWwBBQ51c2VyQWRkcmVzc09wdAAABApmcmVlUG9pbnRzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVVzZXJGcmVlUG9pbnRzAQUOdXNlckFkZHJlc3NPcHQAAAQHb25ib2FyZAMJAQlpc0RlZmluZWQBBQVyZWZCeQkArAICBQpBUlRPTkJPQVJEAwMJAQlpc0RlZmluZWQBBQRhZGRyCQEJaXNEZWZpbmVkAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARxrZXlPbmJvYXJkQXJ0RHVja0FjdGl2YXRlZEJ5AQUOdXNlckFkZHJlc3NPcHQHAgI6MQICOjACAAkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJXNfX3JlZmVycmVkQnlfXwkBC3ZhbHVlT3JFbHNlAgUFcmVmQnkCAAkAzAgCCQCsAgICESVzJXNfX3JlZmVycmFsc19fBQRyZWZzCQDMCAIJAKwCAgIQJXMlc19fbGFzdFR4SWRfXwUIbGFzdFR4SWQJAMwIAgkArAICAhQlcyVkX193YXZlc0JhbGFuY2VfXwkApAMBCAUHYmFsYW5jZQlhdmFpbGFibGUJAMwIAgkArAICAhUlcyVkX193bGdvbGRCYWxhbmNlX18JAKQDAQUNd2xnb2xkQmFsYW5jZQkAzAgCCQCsAgICEyVzJWRfX3VzZHRCYWxhbmNlX18JAKQDAQULdXNkdEJhbGFuY2UJAMwIAgkArAICAhQlcyVkX19zdGFrZWRQaWVjZXNfXwkApAMBBQZwaWVjZXMJAMwIAgkArAICAhElcyVkX19jdXJyZW50WHBfXwkApAMBBQJ4cAkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAholcyVkX19wb2ludHNUb0Rpc3RyaWJ1dGVfXwkApAMBBQpmcmVlUG9pbnRzCQDMCAIJAKwCAgIXJXMlc19fd2FsbGV0QXJ0ZWZhY3RzX18FB29uYm9hcmQFA25pbAEMYXBwbHlCb251c2VzAgtsYW5kQXNzZXRJZAZwaWVjZXMECmluZnJhTGV2ZWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAAAECWFydFBpZWNlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIFCkFSVFBSRVNBTEUFC2xhbmRBc3NldElkAAAEBGFkZDYJAGkCBQppbmZyYUxldmVsAAYEBGFkZDcJAGkCBQppbmZyYUxldmVsAAcJAJUKAwUKaW5mcmFMZXZlbAUJYXJ0UGllY2VzCQBkAgkAZAIFD0RBSUxZUkVTQllQSUVDRQkAawMFD0RBSUxZUkVTQllQSUVDRQkAZAIJAGQCBQppbmZyYUxldmVsBQRhZGQ2CQBoAgACBQRhZGQ3AAUJAGsDBQ9EQUlMWVJFU0JZUElFQ0UFCWFydFBpZWNlcwkAaAIFBnBpZWNlcwAFARdnZXRXYXJlaG91c2VUb3RhbFZvbHVtZQEJdm9sUHJlZml4BAVwYXJ0cwkAtQkCBQl2b2xQcmVmaXgCAV8JAGgCCQBoAgUMV0hNVUxUSVBMSUVSCQBkAgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAEAAQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBXBhcnRzAAABDGdldFdhcmVob3VzZQMFd2hLZXkJbGFuZEluZGV4CmluZnJhTGV2ZWwECXZvbFByZWZpeAkArAICCQCsAgIJAKQDAQUJbGFuZEluZGV4AgFfCQCkAwEFCmluZnJhTGV2ZWwEBHRvdFMJAKQDAQkBF2dldFdhcmVob3VzZVRvdGFsVm9sdW1lAQUJdm9sUHJlZml4BAV3aFN0cgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QFBXdoS2V5CQCsAgIJAKwCAgkArAICCQCsAgIFCXZvbFByZWZpeAIeOjBfMF8wXzBfMF8wOjBfMF8wXzBfMF8wOjowXzBfBQR0b3RTAgFfBQR0b3RTCQC1CQIFBXdoU3RyAgE6AQ1kdWNrSW5mb1R1cGxlAQtkdWNrQXNzZXRJZAkAlwoFCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtkdWNrQXNzZXRJZAD///////////8BCAkBBXZhbHVlAQkA7AcBCQDZBAEFC2R1Y2tBc3NldElkBG5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEPa2V5RHVja0xvY2F0aW9uAQULZHVja0Fzc2V0SWQCAAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQ1rZXlEdWNrSGVhbHRoAQULZHVja0Fzc2V0SWQA////////////AQkBCGFzU3RyaW5nAQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCE2dldEJhY2twYWNrUkVBRE9OTFkJAMwIAgULZHVja0Fzc2V0SWQFA25pbAUDbmlsAQ1kdWNrSW5mb0FycmF5AwtkdWNrQXNzZXRJZAVvd25lcgdkdWNrSW5mBApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBGmtleUR1Y2tBc3NldElkVG9DdXN0b21OYW1lAQULZHVja0Fzc2V0SWQIBQdkdWNrSW5mAl8yBAVjaGFycwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrQ2hhcnMBBQtkdWNrQXNzZXRJZAIJMF8wXzBfMF8wBAJ4cAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQlrZXlEdWNrWFABBQtkdWNrQXNzZXRJZAAABANsdmwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0xldmVsAQULZHVja0Fzc2V0SWQAAAQKZnJlZVBvaW50cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlEdWNrRnJlZVBvaW50cwEFC2R1Y2tBc3NldElkAAAEBmVxdWlwbQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrRXF1aXBtZW50AQULZHVja0Fzc2V0SWQCCztfO187XztfO187CQDMCAIJAKwCAgIPJXMlc19fYXNzZXRJZF9fBQtkdWNrQXNzZXRJZAkAzAgCCQCsAgICDSVzJXNfX293bmVyX18FBW93bmVyCQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlZF9fc3Rha2VkVGltZV9fCQCkAwEIBQdkdWNrSW5mAl8xCQDMCAIJAKwCAgIMJXMlc19fbmFtZV9fCAUHZHVja0luZgJfMgkAzAgCCQCsAgICECVzJXNfX2xvY2F0aW9uX18IBQdkdWNrSW5mAl8zCQDMCAIJAKwCAgIOJXMlZF9faGVhbHRoX18JAKQDAQgFB2R1Y2tJbmYCXzQJAMwIAgkArAICAhElcyVkX19tYXhIZWFsdGhfXwkApAMBCQEJbWF4SGVhbHRoAQUDbHZsCQDMCAIJAKwCAgIXJXMlc19fY2hhcmFjdGVyaXN0aWNzX18FBWNoYXJzCQDMCAIJAKwCAgIRJXMlZF9fY3VycmVudFhwX18JAKQDAQUCeHAJAMwIAgkArAICAhIlcyVkX19jdXJyZW50THZsX18JAKQDAQUDbHZsCQDMCAIJAKwCAgIaJXMlZF9fcG9pbnRzVG9EaXN0cmlidXRlX18JAKQDAQUKZnJlZVBvaW50cwkAzAgCCQCsAgICECVzJXNfX2JhY2tQYWNrX18IBQdkdWNrSW5mAl81CQDMCAIJAKwCAgIRJXMlc19fZXF1aXBtZW50X18FBmVxdWlwbQUDbmlsAQ1sYW5kSW5mb0FycmF5AwtsYW5kQXNzZXRJZAVvd25lcgpzdGFrZWRUaW1lAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQBYQkBBXZhbHVlAQkA7AcBCQDZBAEFC2xhbmRBc3NldElkBAFkCQC1CQIIBQFhC2Rlc2NyaXB0aW9uAgFfBAdsYW5kTnVtAwkAZgIIBQFhCHF1YW50aXR5AAAJAJEDAgUBZAUKcmVjTGFuZE51bQkArAICAgEtCQCRAwIFAWQFCnJlY0xhbmROdW0EBnBpZWNlcwkBD251bVBpZWNlc0J5U2l6ZQEJAJEDAgUBZAULcmVjTGFuZFNpemUEDHByb2R1Y3Rpdml0eQkBDGFwcGx5Qm9udXNlcwIFC2xhbmRBc3NldElkBQZwaWVjZXMECWRlbHRhVGltZQkAZQIIBQlsYXN0QmxvY2sJdGltZXN0YW1wBQpzdGFrZWRUaW1lBAhhdmFpbFJlcwMJAGYCBQpzdGFrZWRUaW1lAAAJAGsDBQlkZWx0YVRpbWUJAGgCCAUMcHJvZHVjdGl2aXR5Al8zBQZwaWVjZXMFCURBWU1JTExJUwAABAduZWVkTWF0CQBrAwURSW5mcmFVcGdyYWRlQ29zdFMJAGgCBQZwaWVjZXMJAGQCCAUMcHJvZHVjdGl2aXR5Al8xAAEFBVNTSVpFBA5nbG9iYWxBbmRMb2NhbAMJAGYCBQpzdGFrZWRUaW1lAAAJAQ1hc1NwbGl0UmVzdWx0AQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCJHNwbGl0QnlHbG9iYWxBbmRMb2NhbFdlaWdodHNSRUFET05MWQkAzAgCBQduZWVkTWF0CQDMCAIFCGF2YWlsUmVzCQDMCAIJAJEDAgUBZAULcmVjVGVycmFpbnMFA25pbAUDbmlsCQCUCgIJARJhc0xpc3RJbnRDb21wYWN0ZWQBCQD8BwQFD3N0YWtpbmdDb250cmFjdAIcc3BsaXRCeUdsb2JhbFdlaWdodHNSRUFET05MWQkAzAgCBQduZWVkTWF0BQNuaWwFA25pbAIABApjdXN0b21OYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBGmtleUxhbmRBc3NldElkVG9DdXN0b21OYW1lAQULbGFuZEFzc2V0SWQJAKwCAgkArAICCQCRAwIFAWQFDHJlY0NvbnRpbmVudAIBLQkAkQMCBQFkBQpyZWNMYW5kTnVtCQDMCAIJAKwCAgIPJXMlc19fYXNzZXRJZF9fBQtsYW5kQXNzZXRJZAkAzAgCCQCsAgICDSVzJXNfX293bmVyX18FBW93bmVyCQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlZF9fc3Rha2VkVGltZV9fCQCkAwEFCnN0YWtlZFRpbWUJAMwIAgkArAICAhMlcyVzX19kZXNjcmlwdGlvbl9fCQC5CQIJAMwIAgUHbGFuZE51bQkAzAgCCQCRAwIFAWQFC3JlY0xhbmRTaXplCQDMCAIJAJEDAgUBZAULcmVjVGVycmFpbnMJAMwIAgkAkQMCBQFkBQxyZWNDb250aW5lbnQFA25pbAIBXwkAzAgCCQCsAgICEiVzJWRfX2luZnJhTGV2ZWxfXwkApAMBCAUMcHJvZHVjdGl2aXR5Al8xCQDMCAIJAKwCAgIWJXMlc19fYXZhaWxSZXNCeVR5cGVfXwgFDmdsb2JhbEFuZExvY2FsAl8yCQDMCAIJAKwCAgIVJXMlZF9fYXZhaWxSZXNUb3RhbF9fCQCkAwEFCGF2YWlsUmVzCQDMCAIJAKwCAgIUJXMlc19fbmVlZE1hdGVyaWFsX18IBQ5nbG9iYWxBbmRMb2NhbAJfMQkAzAgCCQCsAgICHSVzJXNfX2xhbmRBcnRlZmFjdHNfX1BSRVNBTEU6CQCkAwEIBQxwcm9kdWN0aXZpdHkCXzIJAMwIAgkArAICAhElcyVzX193YXJlaG91c2VfXwkAuQkCCQEMZ2V0V2FyZWhvdXNlAwkBEmtleVdhcmVob3VzZUJ5TGFuZAEFC2xhbmRBc3NldElkCQBpAgUGcGllY2VzBQVTU0laRQgFDHByb2R1Y3Rpdml0eQJfMQIBOgkAzAgCCQCsAgICESVzJXNfX2xhbmRPcmRlcl9fCQELdmFsdWVPckVsc2UCCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleU9yZGVyQnlMYW5kAQULbGFuZEFzc2V0SWQCMDBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOjBAMF8wQDBfMEAwXzBAMF8wQDBfMEAwOgUDbmlsARJsYW5kT3JkZXJJbmZvQXJyYXkCC2xhbmRBc3NldElkBW93bmVyAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQBYQkBBXZhbHVlAQkA7AcBCQDZBAEFC2xhbmRBc3NldElkBAFkCQC1CQIIBQFhC2Rlc2NyaXB0aW9uAgFfBAZwaWVjZXMJAQ9udW1QaWVjZXNCeVNpemUBCQCRAwIFAWQFC3JlY0xhbmRTaXplBAxwcm9kdWN0aXZpdHkJAQxhcHBseUJvbnVzZXMCBQtsYW5kQXNzZXRJZAUGcGllY2VzCQDMCAIJAKwCAgIPJXMlc19fYXNzZXRJZF9fBQtsYW5kQXNzZXRJZAkAzAgCCQCsAgICDSVzJXNfX293bmVyX18FBW93bmVyCQDMCAIJAKwCAgIRJXMlc19fd2FyZWhvdXNlX18JALkJAgkBDGdldFdhcmVob3VzZQMJARJrZXlXYXJlaG91c2VCeUxhbmQBBQtsYW5kQXNzZXRJZAkAaQIFBnBpZWNlcwUFU1NJWkUIBQxwcm9kdWN0aXZpdHkCXzECAToJAMwIAgkArAICAhElcyVzX19sYW5kT3JkZXJfXwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9lY29ub215Q29udHJhY3QJAQ5rZXlPcmRlckJ5TGFuZAEFC2xhbmRBc3NldElkAjAwQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDowQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDoFA25pbA8BaQENY29uc3RydWN0b3JWMQEJY29udHJhY3RzAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIScGVybWlzc2lvbnMgZGVuaWVkCgEKZGVzY3JpcHRvcgIDYWNjC2lnbm9yZWRJdGVtCQCsAgIFA2FjYwICJXMEBWRlc2NyCgACJGwFCWNvbnRyYWN0cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzACAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKZGVzY3JpcHRvcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgkAzAgCCQELU3RyaW5nRW50cnkCCQEKa2V5UmVzdENmZwAJALkJAgkAzAgCBQVkZXNjcgUJY29udHJhY3RzBQNTRVAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDmtleVJlc3RBZGRyZXNzAAkApQgBBQR0aGlzBQNuaWwBaQESd2FsbGV0SW5mb1JFQURPTkxZAQ51c2VyQWRkcmVzc09wdAkAlAoCBQNuaWwJAQ53YWxsZXRJbnRlcm5hbAEFDnVzZXJBZGRyZXNzT3B0AWkBF2R1Y2tCeU93bmVySW5mb1JFQURPTkxZAQt1c2VyQWRkcmVzcwQKc3Rha2VkRHVjawkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARRrZXlTdGFrZWREdWNrQnlPd25lcgEFC3VzZXJBZGRyZXNzCQCUCgIFA25pbAMDCQEJaXNEZWZpbmVkAQkApggBBQt1c2VyQWRkcmVzcwkBCWlzRGVmaW5lZAEFCnN0YWtlZER1Y2sHBAtkdWNrQXNzZXRJZAkBBXZhbHVlAQUKc3Rha2VkRHVjawkBDWR1Y2tJbmZvQXJyYXkDBQtkdWNrQXNzZXRJZAULdXNlckFkZHJlc3MJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQJAQ1kdWNrSW5mb0FycmF5AwIABQt1c2VyQWRkcmVzcwkAlwoFAP///////////wECAAIAAP///////////wECAAFpARlkdWNrQnlBc3NldElkSW5mb1JFQURPTkxZAQtkdWNrQXNzZXRJZAQFb3duZXIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEQa2V5RHVja0lkVG9Pd25lcgEFC2R1Y2tBc3NldElkBAdkdWNrSW5mCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkCQCUCgIFA25pbAkBDWR1Y2tJbmZvQXJyYXkDBQtkdWNrQXNzZXRJZAMJAQlpc0RlZmluZWQBBQVvd25lcgkBBXZhbHVlAQUFb3duZXICAAkBDWR1Y2tJbmZvVHVwbGUBBQtkdWNrQXNzZXRJZAFpARlsYW5kQnlBc3NldElkSW5mb1JFQURPTkxZAQtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEEBW93bmVyAwkAZgIFCnN0YWtlZFRpbWUAAAkBBXZhbHVlAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBBQtsYW5kQXNzZXRJZAIACQCUCgIFA25pbAkBDWxhbmRJbmZvQXJyYXkDBQtsYW5kQXNzZXRJZAUFb3duZXIFCnN0YWtlZFRpbWUBaQEec3Rha2VkTGFuZHNCeU93bmVySW5mb1JFQURPTkxZARBsYW5kT3duZXJBZGRyZXNzAwkAAAIFEGxhbmRPd25lckFkZHJlc3MCAAkAAgECHGxhbmRPd25lckFkZHJlc3MgaXMgcmVxdWlyZWQECGxhbmRzU3RyCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleVN0YWtlZExhbmRzQnlPd25lcgEFEGxhbmRPd25lckFkZHJlc3MEBWxhbmRzAwkBCWlzRGVmaW5lZAEFCGxhbmRzU3RyCQC9CQIJAQV2YWx1ZQEFCGxhbmRzU3RyAgFfBQNuaWwKAQdvbmVMYW5kAgNhY2MLbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5k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MQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZAkAlAoCBQNuaWwFAXIBaQEjd2FyZWhvdXNlT3JkZXJCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAgAJAJQKAgUDbmlsCQESbGFuZE9yZGVySW5mb0FycmF5AgULbGFuZEFzc2V0SWQFBW93bmVyAWkBG29yZGVyc0J5TGFuZElkc0luZm9SRUFET05MWQEMbGFuZEFzc2V0SWRzCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFu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aWR4V2xnQWN0aXZpdHkJAMwIAgkArAICAhclcyVzJWRfX3VzZHRBcmJpdHJhZ2VfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBcmJpdHJhZ2UJAMwIAgkArAICAhIlcyVzJWRfX3VzZHRQb29sX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUKaWR4V2xnUG9vbAkAzAgCCQCsAgICFiVzJXMlZF9fd2xnSXNzdWVUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnSXNzdWVUaW1lCQDMCAIJAKwCAgIlJXMlcyVkX193bGdMYXN0TWFya2V0aW5nVGVhbUFjdFRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdMYXN0TVRBVGltZQkAzAgCCQCsAgICGyVzJXMlZF9fd2xnTWFya2V0aW5nVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRRpZHhXbGdNYXJrZXRpbmdUb3RhbAkAzAgCCQCsAgICHCVzJXMlZF9fd2xnTWFya2V0aW5nQW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaWR4V2xnTWFya2V0aW5nQW1MZWZ0CQDMCAIJAKwCAgIgJXMlcyVkX193bGdNYXJrZXRpbmdBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUZaWR4V2xnTWFya2V0aW5nQW1BdmFpbE5vdwkAzAgCCQCsAgICHCVzJXMlZF9fd2xnTWFya2V0aW5nV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaWR4V2xnTWFya2V0aW5nV2xnb2xkCQDMCAIJAKwCAgIWJXMlcyVkX193bGdUZWFtVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdUZWFtVG90YWwJAMwIAgkArAICAhclcyVzJWRfX3dsZ1RlYW1BbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtQW1MZWZ0CQDMCAIJAKwCAgIbJXMlcyVkX193bGdUZWFtQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1RlYW1BbUF2YWlsTm93CQDMCAIJAKwCAgIXJXMlcyVkX193bGdUZWFtV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaWR4V2xnVGVhbVdsZ29sZAkAzAgCCQCsAgICFSVzJXMlZF9fd2xnQWN0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5pZHhXbGdBY3RUb3RhbAkAzAgCCQCsAgICFiVzJXMlZF9fd2xnQWN0QW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0QW1MZWZ0CQDMCAIJAKwCAgIaJXMlcyVkX193bGdBY3RBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUTaWR4V2xnQWN0QW1BdmFpbE5vdwkAzAgCCQCsAgICFiVzJXMlZF9fd2xnQWN0V2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0V2xnb2xkCQDMCAIJAKwCAgIWJXMlcyVkX193bGdDdXJQZXJpb2RfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdDdXJQZXJpb2QJAMwIAgkArAICAhglcyVzJWRfX3dsZ0FtTGVmdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwURaWR4V2xnQW1MZWZ0VG90YWwJAMwIAgkArAICAiIlcyVzJWRfX3dsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbl9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFG2lkeFdsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCCQCsAgICGSVzJXMlZF9fd2xnTGFzdFVzZXJUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUSaWR4V2xnTGFzdFVzZXJUaW1lCQDMCAIJAKwCAgIbJXMlcyVkX193bGdVc2VyQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1VzZXJBbUF2YWlsTm93CQDMCAIJAKwCAgIcJXMlcyVkX193bGdHdWVzdFNMYW5kRGFpbHlfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpZHhXbGdTTGFuZERhaWx5QW1vdW50BQNuaWwAHQDdlw==", "height": 2672874, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9d2PR6oxAS24ZKX6qtbE4i5fXo8oWJg6BynjjCtsjjVf Next: HPfTN48VLacKvTn1qDsXXyQBYpPfu5xmYJgkWXMMnEni Diff:
OldNewDifferences
190190 func bm (bj) = ("duckFreePoints_" + bj)
191191
192192
193-func bn (t) = ("userXP_" + t)
193+func bn (bj) = ("duckEquipment_" + bj)
194194
195195
196-func bo (t) = ("userLevel_" + t)
196+func bo (t) = ("userXP_" + t)
197197
198198
199-func bp (t) = ("userFreePoints_" + t)
199+func bp (t) = ("userLevel_" + t)
200200
201201
202-func bq (br) = (100 + br)
202+func bq (t) = ("userFreePoints_" + t)
203203
204204
205-let bs = "PRESALE"
206-
207-let bt = "ONBOARD"
208-
209-let bu = 6
210-
211-let bv = 3456000
212-
213-let bw = 86400000
214-
215-let bx = 10000000000
216-
217-let by = 39637
218-
219-let bz = 3
220-
221-let bA = 4
222-
223-let bB = 10
224-
225-let bC = 10000000
226-
227-let bD = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201"]
228-
229-let bE = 6
230-
231-let bF = 10
232-
233-func bG (t) = ("lastTxIdByUser_" + t)
205+func br (bs) = (100 + bs)
234206
235207
236-func bH (bI) = ("nftOwner_" + bI)
208+let bt = "PRESALE"
209+
210+let bu = "ONBOARD"
211+
212+let bv = 6
213+
214+let bw = 3456000
215+
216+let bx = 86400000
217+
218+let by = 10000000000
219+
220+let bz = 39637
221+
222+let bA = 3
223+
224+let bB = 4
225+
226+let bC = 10
227+
228+let bD = 10000000
229+
230+let bE = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201"]
231+
232+let bF = 6
233+
234+let bG = 10
235+
236+func bH (t) = ("lastTxIdByUser_" + t)
237237
238238
239-func bJ (bI) = ("landCustomNameByAssetId_" + bI)
239+func bI (bJ) = ("nftOwner_" + bJ)
240240
241241
242-func bK (bI) = ("stakedTime_" + bI)
242+func bK (bJ) = ("landCustomNameByAssetId_" + bJ)
243243
244244
245-func bL (bI) = ("infraLevel_" + bI)
245+func bL (bJ) = ("stakedTime_" + bJ)
246246
247247
248-func bM (bN,bI) = makeString(["landArtStatus", bN, bI], "_")
248+func bM (bJ) = ("infraLevel_" + bJ)
249249
250250
251-func bO (bP) = ("wareHouse_" + bP)
251+func bN (bO,bJ) = makeString(["landArtStatus", bO, bJ], "_")
252252
253253
254-func bQ (bI) = ("duckCustomNameByAssetId_" + bI)
254+func bP (bQ) = ("wareHouse_" + bQ)
255255
256256
257-func bR (t) = ("accountCustomNameByAddr_" + t)
257+func bR (bJ) = ("duckCustomNameByAssetId_" + bJ)
258258
259259
260-func bS (t) = ("accRefBy_" + t)
260+func bS (t) = ("accountCustomNameByAddr_" + t)
261261
262262
263-func bT (t) = ("onboardArtActivatedDuckBy_" + t)
263+func bT (t) = ("accRefBy_" + t)
264264
265265
266-func bU (t) = ("accReferrals_" + t)
266+func bU (t) = ("onboardArtActivatedDuckBy_" + t)
267267
268268
269-func bV (bI) = ("duckOwner_" + bI)
269+func bV (t) = ("accReferrals_" + t)
270270
271271
272-func bW (bX) = ("stakedDuckByOwner_" + bX)
272+func bW (bJ) = ("duckOwner_" + bJ)
273273
274274
275-func bY (bj) = ("duckLocation_" + bj)
275+func bX (bY) = ("stakedDuckByOwner_" + bY)
276276
277277
278-func bZ (bj) = ("duckHealth_" + bj)
278+func bZ (bj) = ("duckLocation_" + bj)
279279
280280
281-func ca () = "contractsBlocked"
281+func ca (bj) = ("duckHealth_" + bj)
282282
283283
284-func cb (bP) = ("landOrder_" + bP)
284+func cb () = "contractsBlocked"
285285
286286
287-func cc () = "emergencyWarehouseProducts"
287+func cc (bQ) = ("landOrder_" + bQ)
288288
289289
290-func cd (ce) = (parseIntValue(ce[bE]) * bC)
290+func cd () = "emergencyWarehouseProducts"
291291
292292
293-let cf = take(drop(this.bytes, 1), 1)
293+func ce (cf) = (parseIntValue(cf[bF]) * bD)
294294
295-let cg = {
296- let ch = cf
297- if ((base58'2W' == ch))
295+
296+let cg = take(drop(this.bytes, 1), 1)
297+
298+let ch = {
299+ let ci = cg
300+ if ((base58'2W' == ci))
298301 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
299- else if ((base58'2T' == ch))
302+ else if ((base58'2T' == ci))
300303 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
301304 else throw("Unknown chain")
302305 }
303306
304-let ci = {
305- let ch = cf
306- if ((base58'2W' == ch))
307+let cj = {
308+ let ci = cg
309+ if ((base58'2W' == ci))
307310 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
308- else if ((base58'2T' == ch))
311+ else if ((base58'2T' == ci))
309312 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
310313 else throw("Unknown chain")
311314 }
312315
313-let cj = {
314- let ch = cf
315- if ((base58'2W' == ch))
316+let ck = {
317+ let ci = cg
318+ if ((base58'2W' == ci))
316319 then 10000000000
317- else if ((base58'2T' == ch))
320+ else if ((base58'2T' == ci))
318321 then 100000000
319322 else throw("Unknown chain")
320323 }
321324
322-let ck = "__"
325+let cl = "__"
323326
324-let cl = 1000000
327+let cm = 1000000
325328
326-let cm = 25
329+let cn = 25
327330
328-let cn = 100
331+let co = 100
329332
330-let co = 225
333+let cp = 225
331334
332-let cp = 400
335+let cq = 400
333336
334-let cq = 625
337+let cr = 625
335338
336-func cr (cs,ct) = valueOrErrorMessage(getString(cs, ct), makeString(["mandatory ", toString(cs), ".", ct, " is not defined"], ""))
339+func cs (ct,cu) = valueOrErrorMessage(getString(ct, cu), makeString(["mandatory ", toString(ct), ".", cu, " is not defined"], ""))
337340
338341
339-let cu = 1
342+let cv = 1
340343
341-let cv = 2
344+let cw = 2
342345
343-let cw = 3
346+let cx = 3
344347
345-let cx = 4
348+let cy = 4
346349
347-let cy = 5
350+let cz = 5
348351
349-func cz () = "%s__restConfig"
352+func cA () = "%s__restConfig"
350353
351354
352-func cA () = "%s__restAddr"
355+func cB () = "%s__restAddr"
353356
354357
355-func cB (cC) = split_4C(cr(cC, cz()), ck)
358+func cC (cD) = split_4C(cs(cD, cA()), cl)
356359
357360
358-func cD (cE,cF) = valueOrErrorMessage(addressFromString(cE[cF]), ("Rest cfg doesn't contain address at index " + toString(cF)))
361+func cE (cF,cG) = valueOrErrorMessage(addressFromString(cF[cG]), ("Rest cfg doesn't contain address at index " + toString(cG)))
359362
360363
361-let cG = addressFromStringValue(valueOrElse(getString(this, cA()), ci))
364+let cH = addressFromStringValue(valueOrElse(getString(this, cB()), cj))
362365
363-let cE = cB(cG)
366+let cF = cC(cH)
364367
365-let ag = cD(cE, cu)
368+let ag = cE(cF, cv)
366369
367-let cH = cD(cE, cv)
370+let cI = cE(cF, cw)
368371
369-let cI = cD(cE, cw)
372+let cJ = cE(cF, cx)
370373
371-let cJ = cD(cE, cx)
374+let cK = cE(cF, cy)
372375
373-let cK = cD(cE, cy)
376+let cL = cE(cF, cz)
374377
375-let cL = 0
378+let cM = 0
376379
377-let cM = 1
380+let cN = 1
378381
379-let cN = 2
382+let cO = 2
380383
381-let cO = 3
384+let cP = 3
382385
383-let cP = "wlg_assetId"
386+let cQ = "wlg_assetId"
384387
385-let cQ = valueOrErrorMessage(getBinary(cJ, cP), "Not initialized yet")
388+let cR = valueOrErrorMessage(getBinary(cK, cQ), "Not initialized yet")
386389
387-let cR = 1
390+let cS = 1
388391
389-func cS () = "resTypesProportions"
392+func cT () = "resTypesProportions"
390393
391394
392-func cT (bX) = ("stakedLandsByOwner_" + bX)
395+func cU (bY) = ("stakedLandsByOwner_" + bY)
393396
394397
395-func cU (bX) = ("stakedPiecesByOwner_" + bX)
398+func cV (bY) = ("stakedPiecesByOwner_" + bY)
396399
397400
398-func cV (cW) = {
399- let ch = cW
400- if ($isInstanceOf(ch, "String"))
401+func cW (cX) = {
402+ let ci = cX
403+ if ($isInstanceOf(ci, "String"))
401404 then {
402- let cX = ch
403- cX
405+ let cY = ci
406+ cY
404407 }
405408 else throw("fail to cast into String")
406409 }
407410
408411
409-func cY (cW) = {
410- let ch = cW
411- if ($isInstanceOf(ch, "Int"))
412+func cZ (cX) = {
413+ let ci = cX
414+ if ($isInstanceOf(ci, "Int"))
412415 then {
413- let cZ = ch
414- cZ
416+ let da = ci
417+ da
415418 }
416419 else throw("fail to cast into Int")
417420 }
418421
419422
420-func da (cW) = {
421- let ch = cW
422- if ($isInstanceOf(ch, "Boolean"))
423+func db (cX) = {
424+ let ci = cX
425+ if ($isInstanceOf(ci, "Boolean"))
423426 then {
424- let cX = ch
425- cX
427+ let cY = ci
428+ cY
426429 }
427430 else throw("fail to cast into Boolean")
428431 }
429432
430433
431-func db (dc) = {
432- let ch = dc
433- if (("S" == ch))
434- then cm
435- else if (("M" == ch))
436- then cn
437- else if (("L" == ch))
438- then co
439- else if (("XL" == ch))
440- then cp
441- else if (("XXL" == ch))
442- then cq
434+func dc (dd) = {
435+ let ci = dd
436+ if (("S" == ci))
437+ then cn
438+ else if (("M" == ci))
439+ then co
440+ else if (("L" == ci))
441+ then cp
442+ else if (("XL" == ci))
443+ then cq
444+ else if (("XXL" == ci))
445+ then cr
443446 else throw("Unknown land size")
444447 }
445448
446449
447-func dd (af) = {
448- let ah = split(valueOrElse(getString(ag, cS()), "0_0_0_0_0_0"), "_")
450+func de (af) = {
451+ let ah = split(valueOrElse(getString(ag, cT()), "0_0_0_0_0_0"), "_")
449452 func ai (aj,ak) = (aj + parseIntValue(ak))
450453
451454 let al = {
462465
463466 as(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6)
464467 }
465- let at = valueOrElse(getInteger(ag, cU(af)), 0)
468+ let at = valueOrElse(getInteger(ag, cV(af)), 0)
466469 [al, at]
467470 }
468471
469472
470-let de = 500000
473+let df = 500000
471474
472-func df (dg) = {
473- let ch = dg
474- if ($isInstanceOf(ch, "List[Any]"))
475+func dg (dh) = {
476+ let ci = dh
477+ if ($isInstanceOf(ci, "List[Any]"))
475478 then {
476- let dh = ch
477- if ((size(dh) != bu))
478- then throw(("Array size is " + toString(size(dh))))
479+ let di = ci
480+ if ((size(di) != bv))
481+ then throw(("Array size is " + toString(size(di))))
479482 else {
480- func di (aj,ak) = {
481- let dj = ak
482- if ($isInstanceOf(dj, "Int"))
483+ func dj (aj,ak) = {
484+ let dk = ak
485+ if ($isInstanceOf(dk, "Int"))
483486 then {
484- let dk = dj
485- (aj :+ toString(dk))
487+ let dl = dk
488+ (aj :+ toString(dl))
486489 }
487490 else throw("List type is not Int")
488491 }
489492
490- let dl = {
491- let am = dh
493+ let dm = {
494+ let am = di
492495 let an = size(am)
493496 let ao = nil
494497 func ap (aq,ar) = if ((ar >= an))
495498 then aq
496- else di(aq, am[ar])
499+ else dj(aq, am[ar])
497500
498501 func as (aq,ar) = if ((ar >= an))
499502 then aq
501504
502505 as(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6)
503506 }
504- makeString(dl, "_")
507+ makeString(dm, "_")
505508 }
506509 }
507510 else throw("fail to cast into List")
508511 }
509512
510513
511-func dm (dg) = {
512- let ch = dg
513- if ($isInstanceOf(ch, "(List[Any], List[Any])"))
514+func dn (dh) = {
515+ let ci = dh
516+ if ($isInstanceOf(ci, "(List[Any], List[Any])"))
514517 then {
515- let dn = ch
516- $Tuple2(df(dn._1), df(dn._2))
518+ let do = ci
519+ $Tuple2(dg(do._1), dg(do._2))
517520 }
518521 else throw("fail to cast into (List, List)")
519522 }
520523
521524
522-func do (dp) = {
523- let t = addressFromString(dp)
524- let dq = if (isDefined(t))
525+func dp (dq) = {
526+ let t = addressFromString(dq)
527+ let dr = if (isDefined(t))
525528 then wavesBalance(value(t))
526529 else BalanceDetails(0, 0, 0, 0)
527- let dr = if (isDefined(t))
528- then assetBalance(value(t), cg)
530+ let ds = if (isDefined(t))
531+ then assetBalance(value(t), ch)
529532 else 0
530- let ds = if (isDefined(t))
531- then assetBalance(value(t), cQ)
533+ let dt = if (isDefined(t))
534+ then assetBalance(value(t), cR)
532535 else 0
533- let dt = valueOrElse(getString(ag, bR(dp)), dp)
534- let du = bS(dp)
535- let dv = getString(ag, du)
536- let dw = valueOrElse(getString(ag, bU(dp)), "")
537- let dx = valueOrElse(getString(ag, bG(dp)), "")
538- let dy = dd(dp)[cR]
539- let dz = valueOrElse(getInteger(ag, bn(dp)), 0)
540- let dA = valueOrElse(getInteger(ag, bo(dp)), 0)
541- let dB = valueOrElse(getInteger(ag, bp(dp)), 0)
542- let dC = if (isDefined(dv))
543- then (bt + (if (if (isDefined(t))
544- then isDefined(getString(ag, bT(dp)))
536+ let du = valueOrElse(getString(ag, bS(dq)), dq)
537+ let dv = bT(dq)
538+ let dw = getString(ag, dv)
539+ let dx = valueOrElse(getString(ag, bV(dq)), "")
540+ let dy = valueOrElse(getString(ag, bH(dq)), "")
541+ let dz = de(dq)[cS]
542+ let dA = valueOrElse(getInteger(ag, bo(dq)), 0)
543+ let dB = valueOrElse(getInteger(ag, bp(dq)), 0)
544+ let dC = valueOrElse(getInteger(ag, bq(dq)), 0)
545+ let dD = if (isDefined(dw))
546+ then (bu + (if (if (isDefined(t))
547+ then isDefined(getString(ag, bU(dq)))
545548 else false)
546549 then ":1"
547550 else ":0"))
548551 else ""
549-[("%s%s__customName__" + dt), ("%s%s__referredBy__" + valueOrElse(dv, "")), ("%s%s__referrals__" + dw), ("%s%s__lastTxId__" + dx), ("%s%d__wavesBalance__" + toString(dq.available)), ("%s%d__wlgoldBalance__" + toString(ds)), ("%s%d__usdtBalance__" + toString(dr)), ("%s%d__stakedPieces__" + toString(dy)), ("%s%d__currentXp__" + toString(dz)), ("%s%d__currentLvl__" + toString(dA)), ("%s%d__pointsToDistribute__" + toString(dB)), ("%s%s__walletArtefacts__" + dC)]
552+[("%s%s__customName__" + du), ("%s%s__referredBy__" + valueOrElse(dw, "")), ("%s%s__referrals__" + dx), ("%s%s__lastTxId__" + dy), ("%s%d__wavesBalance__" + toString(dr.available)), ("%s%d__wlgoldBalance__" + toString(dt)), ("%s%d__usdtBalance__" + toString(ds)), ("%s%d__stakedPieces__" + toString(dz)), ("%s%d__currentXp__" + toString(dA)), ("%s%d__currentLvl__" + toString(dB)), ("%s%d__pointsToDistribute__" + toString(dC)), ("%s%s__walletArtefacts__" + dD)]
550553 }
551554
552555
553-func dD (bP,dy) = {
554- let dE = valueOrElse(getInteger(ag, bL(bP)), 0)
555- let dF = valueOrElse(getInteger(ag, bM(bs, bP)), 0)
556- let dG = (dE / 6)
557- let dH = (dE / 7)
558- $Tuple3(dE, dF, ((bv + fraction(bv, ((dE + dG) + (2 * dH)), 5)) + fraction(bv, dF, (dy * 5))))
556+func dE (bQ,dz) = {
557+ let dF = valueOrElse(getInteger(ag, bM(bQ)), 0)
558+ let dG = valueOrElse(getInteger(ag, bN(bt, bQ)), 0)
559+ let dH = (dF / 6)
560+ let dI = (dF / 7)
561+ $Tuple3(dF, dG, ((bw + fraction(bw, ((dF + dH) + (2 * dI)), 5)) + fraction(bw, dG, (dz * 5))))
559562 }
560563
561564
562-func dI (dJ) = {
563- let dK = split(dJ, "_")
564- ((bx * (parseIntValue(dK[1]) + 1)) * parseIntValue(dK[0]))
565+func dJ (dK) = {
566+ let dL = split(dK, "_")
567+ ((by * (parseIntValue(dL[1]) + 1)) * parseIntValue(dL[0]))
565568 }
566569
567570
568-func dL (dM,dN,dE) = {
569- let dJ = ((toString(dN) + "_") + toString(dE))
570- let dO = toString(dI(dJ))
571- let dP = valueOrElse(getString(ag, dM), ((((dJ + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + dO) + "_") + dO))
572- split(dP, ":")
571+func dM (dN,dO,dF) = {
572+ let dK = ((toString(dO) + "_") + toString(dF))
573+ let dP = toString(dJ(dK))
574+ let dQ = valueOrElse(getString(ag, dN), ((((dK + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + dP) + "_") + dP))
575+ split(dQ, ":")
573576 }
574577
575578
576-func dQ (bj) = $Tuple5(valueOrElse(getInteger(ag, bK(bj)), -1), value(assetInfo(fromBase58String(bj))).name, valueOrElse(getString(ag, bY(bj)), ""), valueOrElse(getInteger(ag, bZ(bj)), -1), cV(invoke(ag, "getBackpackREADONLY", [bj], nil)))
579+func dR (bj) = $Tuple5(valueOrElse(getInteger(ag, bL(bj)), -1), value(assetInfo(fromBase58String(bj))).name, valueOrElse(getString(ag, bZ(bj)), ""), valueOrElse(getInteger(ag, ca(bj)), -1), cW(invoke(ag, "getBackpackREADONLY", [bj], nil)))
577580
578581
579-func dR (bj,dS,dT) = {
580- let dt = valueOrElse(getString(ag, bQ(bj)), dT._2)
581- let dU = valueOrElse(getString(ag, bi(bj)), "0_0_0_0_0")
582- let dz = valueOrElse(getInteger(ag, bk(bj)), 0)
583- let dA = valueOrElse(getInteger(ag, bl(bj)), 0)
584- let dB = valueOrElse(getInteger(ag, bm(bj)), 0)
585-[("%s%s__assetId__" + bj), ("%s%s__owner__" + dS), ("%s%s__customName__" + dt), ("%s%d__stakedTime__" + toString(dT._1)), ("%s%s__name__" + dT._2), ("%s%s__location__" + dT._3), ("%s%d__health__" + toString(dT._4)), ("%s%d__maxHealth__" + toString(bq(dA))), ("%s%s__characteristics__" + dU), ("%s%d__currentXp__" + toString(dz)), ("%s%d__currentLvl__" + toString(dA)), ("%s%d__pointsToDistribute__" + toString(dB)), ("%s%s__backPack__" + dT._5)]
582+func dS (bj,dT,dU) = {
583+ let du = valueOrElse(getString(ag, bR(bj)), dU._2)
584+ let dV = valueOrElse(getString(ag, bi(bj)), "0_0_0_0_0")
585+ let dA = valueOrElse(getInteger(ag, bk(bj)), 0)
586+ let dB = valueOrElse(getInteger(ag, bl(bj)), 0)
587+ let dC = valueOrElse(getInteger(ag, bm(bj)), 0)
588+ let dW = valueOrElse(getString(ag, bn(bj)), ";_;_;_;_;_;")
589+[("%s%s__assetId__" + bj), ("%s%s__owner__" + dT), ("%s%s__customName__" + du), ("%s%d__stakedTime__" + toString(dU._1)), ("%s%s__name__" + dU._2), ("%s%s__location__" + dU._3), ("%s%d__health__" + toString(dU._4)), ("%s%d__maxHealth__" + toString(br(dB))), ("%s%s__characteristics__" + dV), ("%s%d__currentXp__" + toString(dA)), ("%s%d__currentLvl__" + toString(dB)), ("%s%d__pointsToDistribute__" + toString(dC)), ("%s%s__backPack__" + dU._5), ("%s%s__equipment__" + dW)]
586590 }
587591
588592
589-func dV (bP,dS,dW) = if ((bP == ""))
593+func dX (bQ,dT,dY) = if ((bQ == ""))
590594 then throw("landAssetId is required")
591595 else {
592- let dX = value(assetInfo(fromBase58String(bP)))
593- let dY = split(dX.description, "_")
594- let dZ = if ((dX.quantity > 0))
595- then dY[cL]
596- else ("-" + dY[cL])
597- let dy = db(dY[cM])
598- let ea = dD(bP, dy)
599- let eb = (lastBlock.timestamp - dW)
600- let ec = if ((dW > 0))
601- then fraction(eb, (ea._3 * dy), bw)
596+ let dZ = value(assetInfo(fromBase58String(bQ)))
597+ let ea = split(dZ.description, "_")
598+ let eb = if ((dZ.quantity > 0))
599+ then ea[cM]
600+ else ("-" + ea[cM])
601+ let dz = dc(ea[cN])
602+ let ec = dE(bQ, dz)
603+ let ed = (lastBlock.timestamp - dY)
604+ let ee = if ((dY > 0))
605+ then fraction(ed, (ec._3 * dz), bx)
602606 else 0
603- let ed = fraction(cj, (dy * (ea._1 + 1)), cm)
604- let ee = if ((dW > 0))
605- then dm(invoke(ag, "splitByGlobalAndLocalWeightsREADONLY", [ed, ec, dY[cN]], nil))
606- else $Tuple2(df(invoke(ag, "splitByGlobalWeightsREADONLY", [ed], nil)), "")
607- let dt = valueOrElse(getString(ag, bJ(bP)), ((dY[cO] + "-") + dY[cL]))
608-[("%s%s__assetId__" + bP), ("%s%s__owner__" + dS), ("%s%s__customName__" + dt), ("%s%d__stakedTime__" + toString(dW)), ("%s%s__description__" + makeString([dZ, dY[cM], dY[cN], dY[cO]], "_")), ("%s%d__infraLevel__" + toString(ea._1)), ("%s%s__availResByType__" + ee._2), ("%s%d__availResTotal__" + toString(ec)), ("%s%s__needMaterial__" + ee._1), ("%s%s__landArtefacts__PRESALE:" + toString(ea._2)), ("%s%s__warehouse__" + makeString(dL(bO(bP), (dy / cm), ea._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cH, cb(bP)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
607+ let ef = fraction(ck, (dz * (ec._1 + 1)), cn)
608+ let eg = if ((dY > 0))
609+ then dn(invoke(ag, "splitByGlobalAndLocalWeightsREADONLY", [ef, ee, ea[cO]], nil))
610+ else $Tuple2(dg(invoke(ag, "splitByGlobalWeightsREADONLY", [ef], nil)), "")
611+ let du = valueOrElse(getString(ag, bK(bQ)), ((ea[cP] + "-") + ea[cM]))
612+[("%s%s__assetId__" + bQ), ("%s%s__owner__" + dT), ("%s%s__customName__" + du), ("%s%d__stakedTime__" + toString(dY)), ("%s%s__description__" + makeString([eb, ea[cN], ea[cO], ea[cP]], "_")), ("%s%d__infraLevel__" + toString(ec._1)), ("%s%s__availResByType__" + eg._2), ("%s%d__availResTotal__" + toString(ee)), ("%s%s__needMaterial__" + eg._1), ("%s%s__landArtefacts__PRESALE:" + toString(ec._2)), ("%s%s__warehouse__" + makeString(dM(bP(bQ), (dz / cn), ec._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cI, cc(bQ)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
609613 }
610614
611615
612-func ef (bP,dS) = if ((bP == ""))
616+func eh (bQ,dT) = if ((bQ == ""))
613617 then throw("landAssetId is required")
614618 else {
615- let dX = value(assetInfo(fromBase58String(bP)))
616- let dY = split(dX.description, "_")
617- let dy = db(dY[cM])
618- let ea = dD(bP, dy)
619-[("%s%s__assetId__" + bP), ("%s%s__owner__" + dS), ("%s%s__warehouse__" + makeString(dL(bO(bP), (dy / cm), ea._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cH, cb(bP)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
619+ let dZ = value(assetInfo(fromBase58String(bQ)))
620+ let ea = split(dZ.description, "_")
621+ let dz = dc(ea[cN])
622+ let ec = dE(bQ, dz)
623+[("%s%s__assetId__" + bQ), ("%s%s__owner__" + dT), ("%s%s__warehouse__" + makeString(dM(bP(bQ), (dz / cn), ec._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cI, cc(bQ)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
620624 }
621625
622626
623-@Callable(eg)
624-func constructorV1 (aw) = if ((eg.caller != this))
627+@Callable(ei)
628+func constructorV1 (aw) = if ((ei.caller != this))
625629 then throw("permissions denied")
626630 else {
627- func eh (aj,ei) = (aj + "%s")
631+ func ej (aj,ek) = (aj + "%s")
628632
629- let ej = {
633+ let el = {
630634 let am = aw
631635 let an = size(am)
632636 let ao = ""
633637 func ap (aq,ar) = if ((ar >= an))
634638 then aq
635- else eh(aq, am[ar])
639+ else ej(aq, am[ar])
636640
637641 func as (aq,ar) = if ((ar >= an))
638642 then aq
640644
641645 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
642646 }
643-[StringEntry(cz(), makeString(ej :: aw, ck)), StringEntry(cA(), toString(this))]
647+[StringEntry(cA(), makeString(el :: aw, cl)), StringEntry(cB(), toString(this))]
644648 }
645649
646650
647651
648-@Callable(eg)
649-func walletInfoREADONLY (dp) = $Tuple2(nil, do(dp))
652+@Callable(ei)
653+func walletInfoREADONLY (dq) = $Tuple2(nil, dp(dq))
650654
651655
652656
653-@Callable(eg)
654-func duckByOwnerInfoREADONLY (ek) = {
655- let el = getString(ag, bW(ek))
656- $Tuple2(nil, if (if (isDefined(addressFromString(ek)))
657- then isDefined(el)
657+@Callable(ei)
658+func duckByOwnerInfoREADONLY (em) = {
659+ let en = getString(ag, bX(em))
660+ $Tuple2(nil, if (if (isDefined(addressFromString(em)))
661+ then isDefined(en)
658662 else false)
659663 then {
660- let bj = value(el)
661- dR(bj, ek, dQ(bj))
664+ let bj = value(en)
665+ dS(bj, em, dR(bj))
662666 }
663- else dR("", ek, $Tuple5(-1, "", "", -1, "")))
667+ else dS("", em, $Tuple5(-1, "", "", -1, "")))
664668 }
665669
666670
667671
668-@Callable(eg)
672+@Callable(ei)
669673 func duckByAssetIdInfoREADONLY (bj) = {
670- let dS = getString(ag, bV(bj))
671- let dT = dQ(bj)
672- $Tuple2(nil, dR(bj, if (isDefined(dS))
673- then value(dS)
674- else "", dQ(bj)))
674+ let dT = getString(ag, bW(bj))
675+ let dU = dR(bj)
676+ $Tuple2(nil, dS(bj, if (isDefined(dT))
677+ then value(dT)
678+ else "", dR(bj)))
675679 }
676680
677681
678682
679-@Callable(eg)
680-func landByAssetIdInfoREADONLY (bP) = if ((bP == ""))
683+@Callable(ei)
684+func landByAssetIdInfoREADONLY (bQ) = if ((bQ == ""))
681685 then throw("landAssetId is required")
682686 else {
683- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
684- let dS = if ((dW > 0))
685- then value(getString(ag, bH(bP)))
687+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
688+ let dT = if ((dY > 0))
689+ then value(getString(ag, bI(bQ)))
686690 else ""
687- $Tuple2(nil, dV(bP, dS, dW))
691+ $Tuple2(nil, dX(bQ, dT, dY))
688692 }
689693
690694
691695
692-@Callable(eg)
693-func stakedLandsByOwnerInfoREADONLY (em) = if ((em == ""))
696+@Callable(ei)
697+func stakedLandsByOwnerInfoREADONLY (eo) = if ((eo == ""))
694698 then throw("landOwnerAddress is required")
695699 else {
696- let en = getString(ag, cT(em))
697- let eo = if (isDefined(en))
698- then split_51C(value(en), "_")
700+ let ep = getString(ag, cU(eo))
701+ let eq = if (isDefined(ep))
702+ then split_51C(value(ep), "_")
699703 else nil
700- func ep (aj,bP) = if ((bP == ""))
704+ func er (aj,bQ) = if ((bQ == ""))
701705 then throw("landAssetId is required")
702706 else {
703- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
704- (aj :+ dV(bP, em, dW))
707+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
708+ (aj :+ dX(bQ, eo, dY))
705709 }
706710
707- let dl = {
708- let am = eo
711+ let dm = {
712+ let am = eq
709713 let an = size(am)
710714 let ao = nil
711715 func ap (aq,ar) = if ((ar >= an))
712716 then aq
713- else ep(aq, am[ar])
717+ else er(aq, am[ar])
714718
715719 func as (aq,ar) = if ((ar >= an))
716720 then aq
718722
719723 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
720724 }
721- $Tuple2(nil, dl)
725+ $Tuple2(nil, dm)
722726 }
723727
724728
725729
726-@Callable(eg)
727-func landsByIdsInfoREADONLY (eq) = {
728- func ep (aj,bP) = if ((bP == ""))
730+@Callable(ei)
731+func landsByIdsInfoREADONLY (es) = {
732+ func er (aj,bQ) = if ((bQ == ""))
729733 then throw("landAssetId is required")
730734 else {
731- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
732- let dS = if ((dW > 0))
733- then value(getString(ag, bH(bP)))
735+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
736+ let dT = if ((dY > 0))
737+ then value(getString(ag, bI(bQ)))
734738 else ""
735- (aj :+ dV(bP, dS, dW))
739+ (aj :+ dX(bQ, dT, dY))
736740 }
737741
738- let dl = {
739- let am = eq
742+ let dm = {
743+ let am = es
740744 let an = size(am)
741745 let ao = nil
742746 func ap (aq,ar) = if ((ar >= an))
743747 then aq
744- else ep(aq, am[ar])
748+ else er(aq, am[ar])
745749
746750 func as (aq,ar) = if ((ar >= an))
747751 then aq
749753
750754 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
751755 }
752- $Tuple2(nil, dl)
756+ $Tuple2(nil, dm)
753757 }
754758
755759
756760
757-@Callable(eg)
758-func warehouseOrderByAssetIdInfoREADONLY (bP) = if ((bP == ""))
761+@Callable(ei)
762+func warehouseOrderByAssetIdInfoREADONLY (bQ) = if ((bQ == ""))
759763 then throw("landAssetId is required")
760764 else {
761- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
762- let dS = if ((dW > 0))
763- then value(getString(ag, bH(bP)))
765+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
766+ let dT = if ((dY > 0))
767+ then value(getString(ag, bI(bQ)))
764768 else ""
765- $Tuple2(nil, ef(bP, dS))
769+ $Tuple2(nil, eh(bQ, dT))
766770 }
767771
768772
769773
770-@Callable(eg)
771-func ordersByLandIdsInfoREADONLY (eq) = {
772- func ep (aj,bP) = if ((bP == ""))
774+@Callable(ei)
775+func ordersByLandIdsInfoREADONLY (es) = {
776+ func er (aj,bQ) = if ((bQ == ""))
773777 then throw("landAssetId is required")
774778 else {
775- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
776- let dS = if ((dW > 0))
777- then value(getString(ag, bH(bP)))
779+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
780+ let dT = if ((dY > 0))
781+ then value(getString(ag, bI(bQ)))
778782 else ""
779- (aj :+ ef(bP, dS))
783+ (aj :+ eh(bQ, dT))
780784 }
781785
782- let dl = {
783- let am = eq
786+ let dm = {
787+ let am = es
784788 let an = size(am)
785789 let ao = nil
786790 func ap (aq,ar) = if ((ar >= an))
787791 then aq
788- else ep(aq, am[ar])
792+ else er(aq, am[ar])
789793
790794 func as (aq,ar) = if ((ar >= an))
791795 then aq
793797
794798 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
795799 }
796- $Tuple2(nil, dl)
800+ $Tuple2(nil, dm)
797801 }
798802
799803
800804
801-@Callable(eg)
802-func cancelWarehouseOrders (eq) = if ((eg.caller != this))
805+@Callable(ei)
806+func cancelWarehouseOrders (es) = if ((ei.caller != this))
803807 then throw("permission denied")
804808 else {
805- let er = getBoolean(ag, ca())
806- if (if (!(isDefined(er)))
809+ let et = getBoolean(ag, cb())
810+ if (if (!(isDefined(et)))
807811 then true
808- else (value(er) == false))
812+ else (value(et) == false))
809813 then throw("Contracts should be blocked before canceling orders")
810814 else {
811- func ep (dX,bP) = if ((bP == ""))
815+ func er (dZ,bQ) = if ((bQ == ""))
812816 then throw("landAssetId is required")
813817 else {
814- let es = da(invoke(cH, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bP], nil))
815- if (if (dX)
818+ let eu = db(invoke(cI, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bQ], nil))
819+ if (if (dZ)
816820 then true
817- else es)
818- then !(if (dX)
819- then es
821+ else eu)
822+ then !(if (dZ)
823+ then eu
820824 else false)
821825 else false
822826 }
823827
824- let dl = {
825- let am = eq
828+ let dm = {
829+ let am = es
826830 let an = size(am)
827831 let ao = false
828832 func ap (aq,ar) = if ((ar >= an))
829833 then aq
830- else ep(aq, am[ar])
834+ else er(aq, am[ar])
831835
832836 func as (aq,ar) = if ((ar >= an))
833837 then aq
835839
836840 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
837841 }
838- $Tuple2(nil, dl)
842+ $Tuple2(nil, dm)
839843 }
840844 }
841845
842846
843847
844-@Callable(eg)
845-func fixWarehouseFormats (eq) = if ((eg.caller != this))
848+@Callable(ei)
849+func fixWarehouseFormats (es) = if ((ei.caller != this))
846850 then throw("permission denied")
847851 else {
848- func ep (aj,bP) = if ((bP == ""))
852+ func er (aj,bQ) = if ((bQ == ""))
849853 then throw("landAssetId is required")
850- else (aj + size(cV(invoke(ag, "fixWarehouseFormat", [bP], nil))))
854+ else (aj + size(cW(invoke(ag, "fixWarehouseFormat", [bQ], nil))))
851855
852- let dl = {
853- let am = eq
856+ let dm = {
857+ let am = es
854858 let an = size(am)
855859 let ao = 0
856860 func ap (aq,ar) = if ((ar >= an))
857861 then aq
858- else ep(aq, am[ar])
862+ else er(aq, am[ar])
859863
860864 func as (aq,ar) = if ((ar >= an))
861865 then aq
863867
864868 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25)
865869 }
866- $Tuple2(nil, dl)
870+ $Tuple2(nil, dm)
867871 }
868872
869873
870874
871-@Callable(eg)
872-func fixStakedPieces (et) = if ((eg.caller != this))
875+@Callable(ei)
876+func fixStakedPieces (ev) = if ((ei.caller != this))
873877 then throw("permission denied")
874878 else {
875- func eu (aj,t) = if ((t == ""))
879+ func ew (aj,t) = if ((t == ""))
876880 then throw("address is required")
877- else (aj + cY(invoke(ag, "fixStakedPieces", [t], nil)))
881+ else (aj + cZ(invoke(ag, "fixStakedPieces", [t], nil)))
878882
879- let dl = {
880- let am = et
883+ let dm = {
884+ let am = ev
881885 let an = size(am)
882886 let ao = 0
883887 func ap (aq,ar) = if ((ar >= an))
884888 then aq
885- else eu(aq, am[ar])
889+ else ew(aq, am[ar])
886890
887891 func as (aq,ar) = if ((ar >= an))
888892 then aq
890894
891895 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
892896 }
893- $Tuple2(nil, dl)
897+ $Tuple2(nil, dm)
894898 }
895899
896900
897901
898-@Callable(eg)
899-func sendUsdtPrize (ek) = if ((eg.caller != ag))
902+@Callable(ei)
903+func sendUsdtPrize (em) = if ((ei.caller != ag))
900904 then throw("permission denied")
901905 else {
902- let ev = fraction(assetBalance(this, cg), de, cl)
903- $Tuple2([ScriptTransfer(addressFromStringValue(ek), ev, cg)], ev)
906+ let ex = fraction(assetBalance(this, ch), df, cm)
907+ $Tuple2([ScriptTransfer(addressFromStringValue(em), ex, ch)], ex)
904908 }
905909
906910
907911
908-@Callable(eg)
912+@Callable(ei)
909913 func getEmergencyServiceDataREADONLY () = {
910- let ew = getString(cH, cc())
911- let ex = if (isDefined(ew))
912- then split(value(ew), "_")
914+ let ey = getString(cI, cd())
915+ let ez = if (isDefined(ey))
916+ then split(value(ey), "_")
913917 else nil
914- func ey (aj,ez) = {
915- let cZ = aj._2
916- let ce = split(ez, "_")
917- let eA = if ((cZ == 0))
918- then (bz * bF)
918+ func eA (aj,eB) = {
919+ let da = aj._2
920+ let cf = split(eB, "_")
921+ let eC = if ((da == 0))
922+ then (bA * bG)
919923 else 0
920- let eB = if ((size(ex) > cZ))
921- then parseIntValue(ex[cZ])
924+ let eD = if ((size(ez) > da))
925+ then parseIntValue(ez[da])
922926 else 0
923- let eC = cd(ce)
924- let eD = fraction((eC * bA), by, (10 * bF))
925- let eE = fraction((eC * bB), by, (10 * bF))
926- let eF = makeString([toString(eA), toString(eB), toString(eD), toString(eE)], "_")
927- $Tuple2((aj._1 :+ eF), (cZ + 1))
927+ let eE = ce(cf)
928+ let eF = fraction((eE * bB), bz, (10 * bG))
929+ let eG = fraction((eE * bC), bz, (10 * bG))
930+ let eH = makeString([toString(eC), toString(eD), toString(eF), toString(eG)], "_")
931+ $Tuple2((aj._1 :+ eH), (da + 1))
928932 }
929933
930- let cX = makeString_2C(( let am = bD
934+ let cY = makeString_2C(( let am = bE
931935 let an = size(am)
932936 let ao = $Tuple2(nil, 0)
933937 func ap (aq,ar) = if ((ar >= an))
934938 then aq
935- else ey(aq, am[ar])
939+ else eA(aq, am[ar])
936940
937941 func as (aq,ar) = if ((ar >= an))
938942 then aq
939943 else throw("List size exceeds 50")
940944
941945 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
942- let eG = ("%s%s__emergencyServiceData__" + cX)
943- $Tuple2(nil, eG)
946+ let eI = ("%s%s__emergencyServiceData__" + cY)
947+ $Tuple2(nil, eI)
944948 }
945949
946950
947951
948-@Callable(eg)
952+@Callable(ei)
949953 func wlgStatsREADONLY (av) = {
950- let eH = au(av, [cG, ag, cH, cI, cJ, cK], cg, 0)
951- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(eH[y])), ("%s%s%d__wlgPrice__" + toString(eH[z])), ("%s%s%d__usdtFunds__" + toString(eH[A])), ("%s%s%d__usdtEconomy__" + toString(eH[B])), ("%s%s%d__usdtActivity__" + toString(eH[C])), ("%s%s%d__usdtArbitrage__" + toString(eH[D])), ("%s%s%d__usdtPool__" + toString(eH[E])), ("%s%s%d__wlgIssueTime__" + toString(eH[F])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(eH[G])), ("%s%s%d__wlgMarketingTotal__" + toString(eH[H])), ("%s%s%d__wlgMarketingAmLeft__" + toString(eH[I])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(eH[J])), ("%s%s%d__wlgMarketingWlgold__" + toString(eH[K])), ("%s%s%d__wlgTeamTotal__" + toString(eH[L])), ("%s%s%d__wlgTeamAmLeft__" + toString(eH[M])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(eH[N])), ("%s%s%d__wlgTeamWlgold__" + toString(eH[O])), ("%s%s%d__wlgActTotal__" + toString(eH[P])), ("%s%s%d__wlgActAmLeft__" + toString(eH[Q])), ("%s%s%d__wlgActAmAvailNow__" + toString(eH[R])), ("%s%s%d__wlgActWlgold__" + toString(eH[S])), ("%s%s%d__wlgCurPeriod__" + toString(eH[T])), ("%s%s%d__wlgAmLeftTotal__" + toString(eH[U])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(eH[V])), ("%s%s%d__wlgLastUserTime__" + toString(eH[W])), ("%s%s%d__wlgUserAmAvailNow__" + toString(eH[X])), ("%s%s%d__wlgGuestSLandDaily__" + toString(eH[Y]))])
954+ let eJ = au(av, [cH, ag, cI, cJ, cK, cL], ch, 0)
955+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(eJ[y])), ("%s%s%d__wlgPrice__" + toString(eJ[z])), ("%s%s%d__usdtFunds__" + toString(eJ[A])), ("%s%s%d__usdtEconomy__" + toString(eJ[B])), ("%s%s%d__usdtActivity__" + toString(eJ[C])), ("%s%s%d__usdtArbitrage__" + toString(eJ[D])), ("%s%s%d__usdtPool__" + toString(eJ[E])), ("%s%s%d__wlgIssueTime__" + toString(eJ[F])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(eJ[G])), ("%s%s%d__wlgMarketingTotal__" + toString(eJ[H])), ("%s%s%d__wlgMarketingAmLeft__" + toString(eJ[I])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(eJ[J])), ("%s%s%d__wlgMarketingWlgold__" + toString(eJ[K])), ("%s%s%d__wlgTeamTotal__" + toString(eJ[L])), ("%s%s%d__wlgTeamAmLeft__" + toString(eJ[M])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(eJ[N])), ("%s%s%d__wlgTeamWlgold__" + toString(eJ[O])), ("%s%s%d__wlgActTotal__" + toString(eJ[P])), ("%s%s%d__wlgActAmLeft__" + toString(eJ[Q])), ("%s%s%d__wlgActAmAvailNow__" + toString(eJ[R])), ("%s%s%d__wlgActWlgold__" + toString(eJ[S])), ("%s%s%d__wlgCurPeriod__" + toString(eJ[T])), ("%s%s%d__wlgAmLeftTotal__" + toString(eJ[U])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(eJ[V])), ("%s%s%d__wlgLastUserTime__" + toString(eJ[W])), ("%s%s%d__wlgUserAmAvailNow__" + toString(eJ[X])), ("%s%s%d__wlgGuestSLandDaily__" + toString(eJ[Y]))])
952956 }
953957
954958
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000000
55
66 let b = 100000000
77
88 let c = 100000000000000
99
1010 let d = 100000
1111
1212 let e = 200000
1313
1414 let f = 100000
1515
1616 let g = 400000
1717
1818 let h = 31557600000
1919
2020 let i = 86400000
2121
2222 let j = "marketingAddr"
2323
2424 let k = "teamAddr"
2525
2626 let l = "lastClaimedTime_marketing"
2727
2828 let m = "marketingAmountLeft"
2929
3030 let n = "lastClaimedTime_team"
3131
3232 let o = "teamAmountLeft"
3333
3434 let p = "lastClaimedTime_activities"
3535
3636 let q = "activitiesAmountLeft"
3737
3838 let r = "stakersAmountLeft"
3939
4040 func s (t) = ("lastClaimedTimeUser_" + t)
4141
4242
4343 func u (v) = fraction(c, (g * (v + 1)), (6 * a))
4444
4545
4646 let w = "wlg_issueTime"
4747
4848 let x = "wlg_issuedAmount"
4949
5050 let y = 0
5151
5252 let z = 1
5353
5454 let A = 2
5555
5656 let B = 3
5757
5858 let C = 4
5959
6060 let D = 5
6161
6262 let E = 6
6363
6464 let F = 7
6565
6666 let G = 8
6767
6868 let H = 9
6969
7070 let I = 10
7171
7272 let J = 11
7373
7474 let K = 12
7575
7676 let L = 13
7777
7878 let M = 14
7979
8080 let N = 15
8181
8282 let O = 16
8383
8484 let P = 17
8585
8686 let Q = 18
8787
8888 let R = 19
8989
9090 let S = 20
9191
9292 let T = 21
9393
9494 let U = 22
9595
9696 let V = 23
9797
9898 let W = 24
9999
100100 let X = 25
101101
102102 let Y = 26
103103
104104 let Z = 0
105105
106106 let aa = 1
107107
108108 let ab = 2
109109
110110 let ac = 4
111111
112112 let ad = 5
113113
114114 func ae (af,ag) = {
115115 let ah = split(valueOrElse(getString(ag, "resTypesProportions"), "0_0_0_0_0_0"), "_")
116116 func ai (aj,ak) = (aj + parseIntValue(ak))
117117
118118 let al = {
119119 let am = ah
120120 let an = size(am)
121121 let ao = 0
122122 func ap (aq,ar) = if ((ar >= an))
123123 then aq
124124 else ai(aq, am[ar])
125125
126126 func as (aq,ar) = if ((ar >= an))
127127 then aq
128128 else throw("List size exceeds 6")
129129
130130 as(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6)
131131 }
132132 let at = valueOrElse(getInteger(ag, ("stakedPiecesByOwner_" + af)), 0)
133133 [al, at]
134134 }
135135
136136
137137 func au (av,aw,ax,ay) = {
138138 let az = valueOrErrorMessage(getInteger(aw[ac], x), "WLGOLD is not issued yet")
139139 let aA = assetBalance(aw[ab], ax)
140140 let aB = assetBalance(aw[Z], ax)
141141 let aC = (assetBalance(aw[ac], ax) - ay)
142142 let aD = assetBalance(aw[ad], ax)
143143 let aE = (aA + aC)
144144 let aF = valueOrErrorMessage(getBinary(aw[ac], "wlg_assetId"), "Not initialized yet")
145145 let aG = lastBlock.timestamp
146146 let aH = valueOrErrorMessage(getInteger(aw[ac], w), "Not initialized")
147147 let aI = fraction(c, d, a)
148148 let aJ = valueOrElse(getInteger(aw[ac], m), aI)
149149 let aK = valueOrElse(getInteger(aw[ac], l), aH)
150150 let aL = addressFromStringValue(value(getString(aw[ac], j)))
151151 let aM = min([fraction(aI, (aG - aK), h), aJ])
152152 let aN = assetBalance(aL, aF)
153153 let aO = fraction(c, e, a)
154154 let aP = valueOrElse(getInteger(aw[ac], o), aO)
155155 let aQ = valueOrElse(getInteger(aw[ac], n), aH)
156156 let aR = addressFromStringValue(value(getString(aw[ac], k)))
157157 let aS = min([fraction(aO, (aG - aQ), (3 * h)), aP])
158158 let aT = assetBalance(aR, aF)
159159 let aU = fraction(c, f, a)
160160 let aV = valueOrElse(getInteger(aw[ac], q), aU)
161161 let aW = valueOrElse(getInteger(aw[ac], p), aH)
162162 let aX = min([fraction(aU, (aG - aW), (3 * h)), aV])
163163 let aY = assetBalance(aw[Z], aF)
164164 let aZ = valueOrElse(getInteger(aw[ac], s(av)), aH)
165165 let ba = ((aZ - aH) / h)
166166 let bb = min([aG, (aH + (3 * h))])
167167 let bc = min([((aG - aH) / h), 2])
168168 let bd = ae(av, aw[aa])
169169 let be = u(bc)
170170 let bf = fraction(if ((ba == bc))
171171 then fraction(be, (bb - aZ), h)
172172 else if ((ba == (bc - 1)))
173173 then (fraction(u((bc - 1)), ((aH + (h * bc)) - aZ), h) + fraction(be, (bb - (aH + (h * bc))), h))
174174 else ((fraction(u((bc - 2)), ((aH + (h * (bc - 1))) - aZ), h) + u((bc - 1))) + fraction(be, (bb - (aH + (h * bc))), h)), bd[1], bd[0])
175175 let bg = fraction(fraction(be, i, h), 25, bd[0])
176176 let bh = valueOrElse(getInteger(aw[ac], r), 0)
177177 [az, fraction(aE, b, az), aE, aA, aB, aC, aD, aH, aK, aI, aJ, aM, aN, aO, aP, aS, aT, aU, aV, aX, aY, bc, bh, be, aZ, bf, bg]
178178 }
179179
180180
181181 func bi (bj) = ("duckChars_" + bj)
182182
183183
184184 func bk (bj) = ("duckXP_" + bj)
185185
186186
187187 func bl (bj) = ("duckLevel_" + bj)
188188
189189
190190 func bm (bj) = ("duckFreePoints_" + bj)
191191
192192
193-func bn (t) = ("userXP_" + t)
193+func bn (bj) = ("duckEquipment_" + bj)
194194
195195
196-func bo (t) = ("userLevel_" + t)
196+func bo (t) = ("userXP_" + t)
197197
198198
199-func bp (t) = ("userFreePoints_" + t)
199+func bp (t) = ("userLevel_" + t)
200200
201201
202-func bq (br) = (100 + br)
202+func bq (t) = ("userFreePoints_" + t)
203203
204204
205-let bs = "PRESALE"
206-
207-let bt = "ONBOARD"
208-
209-let bu = 6
210-
211-let bv = 3456000
212-
213-let bw = 86400000
214-
215-let bx = 10000000000
216-
217-let by = 39637
218-
219-let bz = 3
220-
221-let bA = 4
222-
223-let bB = 10
224-
225-let bC = 10000000
226-
227-let bD = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201"]
228-
229-let bE = 6
230-
231-let bF = 10
232-
233-func bG (t) = ("lastTxIdByUser_" + t)
205+func br (bs) = (100 + bs)
234206
235207
236-func bH (bI) = ("nftOwner_" + bI)
208+let bt = "PRESALE"
209+
210+let bu = "ONBOARD"
211+
212+let bv = 6
213+
214+let bw = 3456000
215+
216+let bx = 86400000
217+
218+let by = 10000000000
219+
220+let bz = 39637
221+
222+let bA = 3
223+
224+let bB = 4
225+
226+let bC = 10
227+
228+let bD = 10000000
229+
230+let bE = ["8_8_8_17_17_42_12_0_30_0,0,0,0,0,0,0_", "8_8_8_17_17_42_24_0_60_0,0,5,2,0,0,0_", "8_8_8_17_17_42_36_0_120_0,0,10,4,0,0,0_", "8_19_19_8_27_19_26_1_20_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_52_1_40_0,0,0,0,0,0,0_001", "8_19_19_8_27_19_78_1_80_0,0,0,0,0,0,0_001", "8_8_8_8_8_60_13_2_2_0,0,0,0,0,0,0_", "8_8_8_8_8_60_26_2_4_0,0,0,0,0,0,0_", "8_8_8_8_8_60_39_2_8_0,0,0,0,0,0,0_", "30_30_3_17_17_3_30_3_30_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_60_3_50_0,0,0,0,0,0,0_111", "30_30_3_17_17_3_90_3_70_0,0,0,0,0,0,0_111", "18_18_10_18_18_18_11_4_30_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_22_4_50_0,0,0,0,0,0,0_201", "18_18_10_18_18_18_33_4_70_0,0,0,0,0,0,0_201"]
231+
232+let bF = 6
233+
234+let bG = 10
235+
236+func bH (t) = ("lastTxIdByUser_" + t)
237237
238238
239-func bJ (bI) = ("landCustomNameByAssetId_" + bI)
239+func bI (bJ) = ("nftOwner_" + bJ)
240240
241241
242-func bK (bI) = ("stakedTime_" + bI)
242+func bK (bJ) = ("landCustomNameByAssetId_" + bJ)
243243
244244
245-func bL (bI) = ("infraLevel_" + bI)
245+func bL (bJ) = ("stakedTime_" + bJ)
246246
247247
248-func bM (bN,bI) = makeString(["landArtStatus", bN, bI], "_")
248+func bM (bJ) = ("infraLevel_" + bJ)
249249
250250
251-func bO (bP) = ("wareHouse_" + bP)
251+func bN (bO,bJ) = makeString(["landArtStatus", bO, bJ], "_")
252252
253253
254-func bQ (bI) = ("duckCustomNameByAssetId_" + bI)
254+func bP (bQ) = ("wareHouse_" + bQ)
255255
256256
257-func bR (t) = ("accountCustomNameByAddr_" + t)
257+func bR (bJ) = ("duckCustomNameByAssetId_" + bJ)
258258
259259
260-func bS (t) = ("accRefBy_" + t)
260+func bS (t) = ("accountCustomNameByAddr_" + t)
261261
262262
263-func bT (t) = ("onboardArtActivatedDuckBy_" + t)
263+func bT (t) = ("accRefBy_" + t)
264264
265265
266-func bU (t) = ("accReferrals_" + t)
266+func bU (t) = ("onboardArtActivatedDuckBy_" + t)
267267
268268
269-func bV (bI) = ("duckOwner_" + bI)
269+func bV (t) = ("accReferrals_" + t)
270270
271271
272-func bW (bX) = ("stakedDuckByOwner_" + bX)
272+func bW (bJ) = ("duckOwner_" + bJ)
273273
274274
275-func bY (bj) = ("duckLocation_" + bj)
275+func bX (bY) = ("stakedDuckByOwner_" + bY)
276276
277277
278-func bZ (bj) = ("duckHealth_" + bj)
278+func bZ (bj) = ("duckLocation_" + bj)
279279
280280
281-func ca () = "contractsBlocked"
281+func ca (bj) = ("duckHealth_" + bj)
282282
283283
284-func cb (bP) = ("landOrder_" + bP)
284+func cb () = "contractsBlocked"
285285
286286
287-func cc () = "emergencyWarehouseProducts"
287+func cc (bQ) = ("landOrder_" + bQ)
288288
289289
290-func cd (ce) = (parseIntValue(ce[bE]) * bC)
290+func cd () = "emergencyWarehouseProducts"
291291
292292
293-let cf = take(drop(this.bytes, 1), 1)
293+func ce (cf) = (parseIntValue(cf[bF]) * bD)
294294
295-let cg = {
296- let ch = cf
297- if ((base58'2W' == ch))
295+
296+let cg = take(drop(this.bytes, 1), 1)
297+
298+let ch = {
299+ let ci = cg
300+ if ((base58'2W' == ci))
298301 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
299- else if ((base58'2T' == ch))
302+ else if ((base58'2T' == ci))
300303 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
301304 else throw("Unknown chain")
302305 }
303306
304-let ci = {
305- let ch = cf
306- if ((base58'2W' == ch))
307+let cj = {
308+ let ci = cg
309+ if ((base58'2W' == ci))
307310 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
308- else if ((base58'2T' == ch))
311+ else if ((base58'2T' == ci))
309312 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
310313 else throw("Unknown chain")
311314 }
312315
313-let cj = {
314- let ch = cf
315- if ((base58'2W' == ch))
316+let ck = {
317+ let ci = cg
318+ if ((base58'2W' == ci))
316319 then 10000000000
317- else if ((base58'2T' == ch))
320+ else if ((base58'2T' == ci))
318321 then 100000000
319322 else throw("Unknown chain")
320323 }
321324
322-let ck = "__"
325+let cl = "__"
323326
324-let cl = 1000000
327+let cm = 1000000
325328
326-let cm = 25
329+let cn = 25
327330
328-let cn = 100
331+let co = 100
329332
330-let co = 225
333+let cp = 225
331334
332-let cp = 400
335+let cq = 400
333336
334-let cq = 625
337+let cr = 625
335338
336-func cr (cs,ct) = valueOrErrorMessage(getString(cs, ct), makeString(["mandatory ", toString(cs), ".", ct, " is not defined"], ""))
339+func cs (ct,cu) = valueOrErrorMessage(getString(ct, cu), makeString(["mandatory ", toString(ct), ".", cu, " is not defined"], ""))
337340
338341
339-let cu = 1
342+let cv = 1
340343
341-let cv = 2
344+let cw = 2
342345
343-let cw = 3
346+let cx = 3
344347
345-let cx = 4
348+let cy = 4
346349
347-let cy = 5
350+let cz = 5
348351
349-func cz () = "%s__restConfig"
352+func cA () = "%s__restConfig"
350353
351354
352-func cA () = "%s__restAddr"
355+func cB () = "%s__restAddr"
353356
354357
355-func cB (cC) = split_4C(cr(cC, cz()), ck)
358+func cC (cD) = split_4C(cs(cD, cA()), cl)
356359
357360
358-func cD (cE,cF) = valueOrErrorMessage(addressFromString(cE[cF]), ("Rest cfg doesn't contain address at index " + toString(cF)))
361+func cE (cF,cG) = valueOrErrorMessage(addressFromString(cF[cG]), ("Rest cfg doesn't contain address at index " + toString(cG)))
359362
360363
361-let cG = addressFromStringValue(valueOrElse(getString(this, cA()), ci))
364+let cH = addressFromStringValue(valueOrElse(getString(this, cB()), cj))
362365
363-let cE = cB(cG)
366+let cF = cC(cH)
364367
365-let ag = cD(cE, cu)
368+let ag = cE(cF, cv)
366369
367-let cH = cD(cE, cv)
370+let cI = cE(cF, cw)
368371
369-let cI = cD(cE, cw)
372+let cJ = cE(cF, cx)
370373
371-let cJ = cD(cE, cx)
374+let cK = cE(cF, cy)
372375
373-let cK = cD(cE, cy)
376+let cL = cE(cF, cz)
374377
375-let cL = 0
378+let cM = 0
376379
377-let cM = 1
380+let cN = 1
378381
379-let cN = 2
382+let cO = 2
380383
381-let cO = 3
384+let cP = 3
382385
383-let cP = "wlg_assetId"
386+let cQ = "wlg_assetId"
384387
385-let cQ = valueOrErrorMessage(getBinary(cJ, cP), "Not initialized yet")
388+let cR = valueOrErrorMessage(getBinary(cK, cQ), "Not initialized yet")
386389
387-let cR = 1
390+let cS = 1
388391
389-func cS () = "resTypesProportions"
392+func cT () = "resTypesProportions"
390393
391394
392-func cT (bX) = ("stakedLandsByOwner_" + bX)
395+func cU (bY) = ("stakedLandsByOwner_" + bY)
393396
394397
395-func cU (bX) = ("stakedPiecesByOwner_" + bX)
398+func cV (bY) = ("stakedPiecesByOwner_" + bY)
396399
397400
398-func cV (cW) = {
399- let ch = cW
400- if ($isInstanceOf(ch, "String"))
401+func cW (cX) = {
402+ let ci = cX
403+ if ($isInstanceOf(ci, "String"))
401404 then {
402- let cX = ch
403- cX
405+ let cY = ci
406+ cY
404407 }
405408 else throw("fail to cast into String")
406409 }
407410
408411
409-func cY (cW) = {
410- let ch = cW
411- if ($isInstanceOf(ch, "Int"))
412+func cZ (cX) = {
413+ let ci = cX
414+ if ($isInstanceOf(ci, "Int"))
412415 then {
413- let cZ = ch
414- cZ
416+ let da = ci
417+ da
415418 }
416419 else throw("fail to cast into Int")
417420 }
418421
419422
420-func da (cW) = {
421- let ch = cW
422- if ($isInstanceOf(ch, "Boolean"))
423+func db (cX) = {
424+ let ci = cX
425+ if ($isInstanceOf(ci, "Boolean"))
423426 then {
424- let cX = ch
425- cX
427+ let cY = ci
428+ cY
426429 }
427430 else throw("fail to cast into Boolean")
428431 }
429432
430433
431-func db (dc) = {
432- let ch = dc
433- if (("S" == ch))
434- then cm
435- else if (("M" == ch))
436- then cn
437- else if (("L" == ch))
438- then co
439- else if (("XL" == ch))
440- then cp
441- else if (("XXL" == ch))
442- then cq
434+func dc (dd) = {
435+ let ci = dd
436+ if (("S" == ci))
437+ then cn
438+ else if (("M" == ci))
439+ then co
440+ else if (("L" == ci))
441+ then cp
442+ else if (("XL" == ci))
443+ then cq
444+ else if (("XXL" == ci))
445+ then cr
443446 else throw("Unknown land size")
444447 }
445448
446449
447-func dd (af) = {
448- let ah = split(valueOrElse(getString(ag, cS()), "0_0_0_0_0_0"), "_")
450+func de (af) = {
451+ let ah = split(valueOrElse(getString(ag, cT()), "0_0_0_0_0_0"), "_")
449452 func ai (aj,ak) = (aj + parseIntValue(ak))
450453
451454 let al = {
452455 let am = ah
453456 let an = size(am)
454457 let ao = 0
455458 func ap (aq,ar) = if ((ar >= an))
456459 then aq
457460 else ai(aq, am[ar])
458461
459462 func as (aq,ar) = if ((ar >= an))
460463 then aq
461464 else throw("List size exceeds 6")
462465
463466 as(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6)
464467 }
465- let at = valueOrElse(getInteger(ag, cU(af)), 0)
468+ let at = valueOrElse(getInteger(ag, cV(af)), 0)
466469 [al, at]
467470 }
468471
469472
470-let de = 500000
473+let df = 500000
471474
472-func df (dg) = {
473- let ch = dg
474- if ($isInstanceOf(ch, "List[Any]"))
475+func dg (dh) = {
476+ let ci = dh
477+ if ($isInstanceOf(ci, "List[Any]"))
475478 then {
476- let dh = ch
477- if ((size(dh) != bu))
478- then throw(("Array size is " + toString(size(dh))))
479+ let di = ci
480+ if ((size(di) != bv))
481+ then throw(("Array size is " + toString(size(di))))
479482 else {
480- func di (aj,ak) = {
481- let dj = ak
482- if ($isInstanceOf(dj, "Int"))
483+ func dj (aj,ak) = {
484+ let dk = ak
485+ if ($isInstanceOf(dk, "Int"))
483486 then {
484- let dk = dj
485- (aj :+ toString(dk))
487+ let dl = dk
488+ (aj :+ toString(dl))
486489 }
487490 else throw("List type is not Int")
488491 }
489492
490- let dl = {
491- let am = dh
493+ let dm = {
494+ let am = di
492495 let an = size(am)
493496 let ao = nil
494497 func ap (aq,ar) = if ((ar >= an))
495498 then aq
496- else di(aq, am[ar])
499+ else dj(aq, am[ar])
497500
498501 func as (aq,ar) = if ((ar >= an))
499502 then aq
500503 else throw("List size exceeds 6")
501504
502505 as(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6)
503506 }
504- makeString(dl, "_")
507+ makeString(dm, "_")
505508 }
506509 }
507510 else throw("fail to cast into List")
508511 }
509512
510513
511-func dm (dg) = {
512- let ch = dg
513- if ($isInstanceOf(ch, "(List[Any], List[Any])"))
514+func dn (dh) = {
515+ let ci = dh
516+ if ($isInstanceOf(ci, "(List[Any], List[Any])"))
514517 then {
515- let dn = ch
516- $Tuple2(df(dn._1), df(dn._2))
518+ let do = ci
519+ $Tuple2(dg(do._1), dg(do._2))
517520 }
518521 else throw("fail to cast into (List, List)")
519522 }
520523
521524
522-func do (dp) = {
523- let t = addressFromString(dp)
524- let dq = if (isDefined(t))
525+func dp (dq) = {
526+ let t = addressFromString(dq)
527+ let dr = if (isDefined(t))
525528 then wavesBalance(value(t))
526529 else BalanceDetails(0, 0, 0, 0)
527- let dr = if (isDefined(t))
528- then assetBalance(value(t), cg)
530+ let ds = if (isDefined(t))
531+ then assetBalance(value(t), ch)
529532 else 0
530- let ds = if (isDefined(t))
531- then assetBalance(value(t), cQ)
533+ let dt = if (isDefined(t))
534+ then assetBalance(value(t), cR)
532535 else 0
533- let dt = valueOrElse(getString(ag, bR(dp)), dp)
534- let du = bS(dp)
535- let dv = getString(ag, du)
536- let dw = valueOrElse(getString(ag, bU(dp)), "")
537- let dx = valueOrElse(getString(ag, bG(dp)), "")
538- let dy = dd(dp)[cR]
539- let dz = valueOrElse(getInteger(ag, bn(dp)), 0)
540- let dA = valueOrElse(getInteger(ag, bo(dp)), 0)
541- let dB = valueOrElse(getInteger(ag, bp(dp)), 0)
542- let dC = if (isDefined(dv))
543- then (bt + (if (if (isDefined(t))
544- then isDefined(getString(ag, bT(dp)))
536+ let du = valueOrElse(getString(ag, bS(dq)), dq)
537+ let dv = bT(dq)
538+ let dw = getString(ag, dv)
539+ let dx = valueOrElse(getString(ag, bV(dq)), "")
540+ let dy = valueOrElse(getString(ag, bH(dq)), "")
541+ let dz = de(dq)[cS]
542+ let dA = valueOrElse(getInteger(ag, bo(dq)), 0)
543+ let dB = valueOrElse(getInteger(ag, bp(dq)), 0)
544+ let dC = valueOrElse(getInteger(ag, bq(dq)), 0)
545+ let dD = if (isDefined(dw))
546+ then (bu + (if (if (isDefined(t))
547+ then isDefined(getString(ag, bU(dq)))
545548 else false)
546549 then ":1"
547550 else ":0"))
548551 else ""
549-[("%s%s__customName__" + dt), ("%s%s__referredBy__" + valueOrElse(dv, "")), ("%s%s__referrals__" + dw), ("%s%s__lastTxId__" + dx), ("%s%d__wavesBalance__" + toString(dq.available)), ("%s%d__wlgoldBalance__" + toString(ds)), ("%s%d__usdtBalance__" + toString(dr)), ("%s%d__stakedPieces__" + toString(dy)), ("%s%d__currentXp__" + toString(dz)), ("%s%d__currentLvl__" + toString(dA)), ("%s%d__pointsToDistribute__" + toString(dB)), ("%s%s__walletArtefacts__" + dC)]
552+[("%s%s__customName__" + du), ("%s%s__referredBy__" + valueOrElse(dw, "")), ("%s%s__referrals__" + dx), ("%s%s__lastTxId__" + dy), ("%s%d__wavesBalance__" + toString(dr.available)), ("%s%d__wlgoldBalance__" + toString(dt)), ("%s%d__usdtBalance__" + toString(ds)), ("%s%d__stakedPieces__" + toString(dz)), ("%s%d__currentXp__" + toString(dA)), ("%s%d__currentLvl__" + toString(dB)), ("%s%d__pointsToDistribute__" + toString(dC)), ("%s%s__walletArtefacts__" + dD)]
550553 }
551554
552555
553-func dD (bP,dy) = {
554- let dE = valueOrElse(getInteger(ag, bL(bP)), 0)
555- let dF = valueOrElse(getInteger(ag, bM(bs, bP)), 0)
556- let dG = (dE / 6)
557- let dH = (dE / 7)
558- $Tuple3(dE, dF, ((bv + fraction(bv, ((dE + dG) + (2 * dH)), 5)) + fraction(bv, dF, (dy * 5))))
556+func dE (bQ,dz) = {
557+ let dF = valueOrElse(getInteger(ag, bM(bQ)), 0)
558+ let dG = valueOrElse(getInteger(ag, bN(bt, bQ)), 0)
559+ let dH = (dF / 6)
560+ let dI = (dF / 7)
561+ $Tuple3(dF, dG, ((bw + fraction(bw, ((dF + dH) + (2 * dI)), 5)) + fraction(bw, dG, (dz * 5))))
559562 }
560563
561564
562-func dI (dJ) = {
563- let dK = split(dJ, "_")
564- ((bx * (parseIntValue(dK[1]) + 1)) * parseIntValue(dK[0]))
565+func dJ (dK) = {
566+ let dL = split(dK, "_")
567+ ((by * (parseIntValue(dL[1]) + 1)) * parseIntValue(dL[0]))
565568 }
566569
567570
568-func dL (dM,dN,dE) = {
569- let dJ = ((toString(dN) + "_") + toString(dE))
570- let dO = toString(dI(dJ))
571- let dP = valueOrElse(getString(ag, dM), ((((dJ + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + dO) + "_") + dO))
572- split(dP, ":")
571+func dM (dN,dO,dF) = {
572+ let dK = ((toString(dO) + "_") + toString(dF))
573+ let dP = toString(dJ(dK))
574+ let dQ = valueOrElse(getString(ag, dN), ((((dK + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + dP) + "_") + dP))
575+ split(dQ, ":")
573576 }
574577
575578
576-func dQ (bj) = $Tuple5(valueOrElse(getInteger(ag, bK(bj)), -1), value(assetInfo(fromBase58String(bj))).name, valueOrElse(getString(ag, bY(bj)), ""), valueOrElse(getInteger(ag, bZ(bj)), -1), cV(invoke(ag, "getBackpackREADONLY", [bj], nil)))
579+func dR (bj) = $Tuple5(valueOrElse(getInteger(ag, bL(bj)), -1), value(assetInfo(fromBase58String(bj))).name, valueOrElse(getString(ag, bZ(bj)), ""), valueOrElse(getInteger(ag, ca(bj)), -1), cW(invoke(ag, "getBackpackREADONLY", [bj], nil)))
577580
578581
579-func dR (bj,dS,dT) = {
580- let dt = valueOrElse(getString(ag, bQ(bj)), dT._2)
581- let dU = valueOrElse(getString(ag, bi(bj)), "0_0_0_0_0")
582- let dz = valueOrElse(getInteger(ag, bk(bj)), 0)
583- let dA = valueOrElse(getInteger(ag, bl(bj)), 0)
584- let dB = valueOrElse(getInteger(ag, bm(bj)), 0)
585-[("%s%s__assetId__" + bj), ("%s%s__owner__" + dS), ("%s%s__customName__" + dt), ("%s%d__stakedTime__" + toString(dT._1)), ("%s%s__name__" + dT._2), ("%s%s__location__" + dT._3), ("%s%d__health__" + toString(dT._4)), ("%s%d__maxHealth__" + toString(bq(dA))), ("%s%s__characteristics__" + dU), ("%s%d__currentXp__" + toString(dz)), ("%s%d__currentLvl__" + toString(dA)), ("%s%d__pointsToDistribute__" + toString(dB)), ("%s%s__backPack__" + dT._5)]
582+func dS (bj,dT,dU) = {
583+ let du = valueOrElse(getString(ag, bR(bj)), dU._2)
584+ let dV = valueOrElse(getString(ag, bi(bj)), "0_0_0_0_0")
585+ let dA = valueOrElse(getInteger(ag, bk(bj)), 0)
586+ let dB = valueOrElse(getInteger(ag, bl(bj)), 0)
587+ let dC = valueOrElse(getInteger(ag, bm(bj)), 0)
588+ let dW = valueOrElse(getString(ag, bn(bj)), ";_;_;_;_;_;")
589+[("%s%s__assetId__" + bj), ("%s%s__owner__" + dT), ("%s%s__customName__" + du), ("%s%d__stakedTime__" + toString(dU._1)), ("%s%s__name__" + dU._2), ("%s%s__location__" + dU._3), ("%s%d__health__" + toString(dU._4)), ("%s%d__maxHealth__" + toString(br(dB))), ("%s%s__characteristics__" + dV), ("%s%d__currentXp__" + toString(dA)), ("%s%d__currentLvl__" + toString(dB)), ("%s%d__pointsToDistribute__" + toString(dC)), ("%s%s__backPack__" + dU._5), ("%s%s__equipment__" + dW)]
586590 }
587591
588592
589-func dV (bP,dS,dW) = if ((bP == ""))
593+func dX (bQ,dT,dY) = if ((bQ == ""))
590594 then throw("landAssetId is required")
591595 else {
592- let dX = value(assetInfo(fromBase58String(bP)))
593- let dY = split(dX.description, "_")
594- let dZ = if ((dX.quantity > 0))
595- then dY[cL]
596- else ("-" + dY[cL])
597- let dy = db(dY[cM])
598- let ea = dD(bP, dy)
599- let eb = (lastBlock.timestamp - dW)
600- let ec = if ((dW > 0))
601- then fraction(eb, (ea._3 * dy), bw)
596+ let dZ = value(assetInfo(fromBase58String(bQ)))
597+ let ea = split(dZ.description, "_")
598+ let eb = if ((dZ.quantity > 0))
599+ then ea[cM]
600+ else ("-" + ea[cM])
601+ let dz = dc(ea[cN])
602+ let ec = dE(bQ, dz)
603+ let ed = (lastBlock.timestamp - dY)
604+ let ee = if ((dY > 0))
605+ then fraction(ed, (ec._3 * dz), bx)
602606 else 0
603- let ed = fraction(cj, (dy * (ea._1 + 1)), cm)
604- let ee = if ((dW > 0))
605- then dm(invoke(ag, "splitByGlobalAndLocalWeightsREADONLY", [ed, ec, dY[cN]], nil))
606- else $Tuple2(df(invoke(ag, "splitByGlobalWeightsREADONLY", [ed], nil)), "")
607- let dt = valueOrElse(getString(ag, bJ(bP)), ((dY[cO] + "-") + dY[cL]))
608-[("%s%s__assetId__" + bP), ("%s%s__owner__" + dS), ("%s%s__customName__" + dt), ("%s%d__stakedTime__" + toString(dW)), ("%s%s__description__" + makeString([dZ, dY[cM], dY[cN], dY[cO]], "_")), ("%s%d__infraLevel__" + toString(ea._1)), ("%s%s__availResByType__" + ee._2), ("%s%d__availResTotal__" + toString(ec)), ("%s%s__needMaterial__" + ee._1), ("%s%s__landArtefacts__PRESALE:" + toString(ea._2)), ("%s%s__warehouse__" + makeString(dL(bO(bP), (dy / cm), ea._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cH, cb(bP)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
607+ let ef = fraction(ck, (dz * (ec._1 + 1)), cn)
608+ let eg = if ((dY > 0))
609+ then dn(invoke(ag, "splitByGlobalAndLocalWeightsREADONLY", [ef, ee, ea[cO]], nil))
610+ else $Tuple2(dg(invoke(ag, "splitByGlobalWeightsREADONLY", [ef], nil)), "")
611+ let du = valueOrElse(getString(ag, bK(bQ)), ((ea[cP] + "-") + ea[cM]))
612+[("%s%s__assetId__" + bQ), ("%s%s__owner__" + dT), ("%s%s__customName__" + du), ("%s%d__stakedTime__" + toString(dY)), ("%s%s__description__" + makeString([eb, ea[cN], ea[cO], ea[cP]], "_")), ("%s%d__infraLevel__" + toString(ec._1)), ("%s%s__availResByType__" + eg._2), ("%s%d__availResTotal__" + toString(ee)), ("%s%s__needMaterial__" + eg._1), ("%s%s__landArtefacts__PRESALE:" + toString(ec._2)), ("%s%s__warehouse__" + makeString(dM(bP(bQ), (dz / cn), ec._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cI, cc(bQ)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
609613 }
610614
611615
612-func ef (bP,dS) = if ((bP == ""))
616+func eh (bQ,dT) = if ((bQ == ""))
613617 then throw("landAssetId is required")
614618 else {
615- let dX = value(assetInfo(fromBase58String(bP)))
616- let dY = split(dX.description, "_")
617- let dy = db(dY[cM])
618- let ea = dD(bP, dy)
619-[("%s%s__assetId__" + bP), ("%s%s__owner__" + dS), ("%s%s__warehouse__" + makeString(dL(bO(bP), (dy / cm), ea._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cH, cb(bP)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
619+ let dZ = value(assetInfo(fromBase58String(bQ)))
620+ let ea = split(dZ.description, "_")
621+ let dz = dc(ea[cN])
622+ let ec = dE(bQ, dz)
623+[("%s%s__assetId__" + bQ), ("%s%s__owner__" + dT), ("%s%s__warehouse__" + makeString(dM(bP(bQ), (dz / cn), ec._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(cI, cc(bQ)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
620624 }
621625
622626
623-@Callable(eg)
624-func constructorV1 (aw) = if ((eg.caller != this))
627+@Callable(ei)
628+func constructorV1 (aw) = if ((ei.caller != this))
625629 then throw("permissions denied")
626630 else {
627- func eh (aj,ei) = (aj + "%s")
631+ func ej (aj,ek) = (aj + "%s")
628632
629- let ej = {
633+ let el = {
630634 let am = aw
631635 let an = size(am)
632636 let ao = ""
633637 func ap (aq,ar) = if ((ar >= an))
634638 then aq
635- else eh(aq, am[ar])
639+ else ej(aq, am[ar])
636640
637641 func as (aq,ar) = if ((ar >= an))
638642 then aq
639643 else throw("List size exceeds 10")
640644
641645 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
642646 }
643-[StringEntry(cz(), makeString(ej :: aw, ck)), StringEntry(cA(), toString(this))]
647+[StringEntry(cA(), makeString(el :: aw, cl)), StringEntry(cB(), toString(this))]
644648 }
645649
646650
647651
648-@Callable(eg)
649-func walletInfoREADONLY (dp) = $Tuple2(nil, do(dp))
652+@Callable(ei)
653+func walletInfoREADONLY (dq) = $Tuple2(nil, dp(dq))
650654
651655
652656
653-@Callable(eg)
654-func duckByOwnerInfoREADONLY (ek) = {
655- let el = getString(ag, bW(ek))
656- $Tuple2(nil, if (if (isDefined(addressFromString(ek)))
657- then isDefined(el)
657+@Callable(ei)
658+func duckByOwnerInfoREADONLY (em) = {
659+ let en = getString(ag, bX(em))
660+ $Tuple2(nil, if (if (isDefined(addressFromString(em)))
661+ then isDefined(en)
658662 else false)
659663 then {
660- let bj = value(el)
661- dR(bj, ek, dQ(bj))
664+ let bj = value(en)
665+ dS(bj, em, dR(bj))
662666 }
663- else dR("", ek, $Tuple5(-1, "", "", -1, "")))
667+ else dS("", em, $Tuple5(-1, "", "", -1, "")))
664668 }
665669
666670
667671
668-@Callable(eg)
672+@Callable(ei)
669673 func duckByAssetIdInfoREADONLY (bj) = {
670- let dS = getString(ag, bV(bj))
671- let dT = dQ(bj)
672- $Tuple2(nil, dR(bj, if (isDefined(dS))
673- then value(dS)
674- else "", dQ(bj)))
674+ let dT = getString(ag, bW(bj))
675+ let dU = dR(bj)
676+ $Tuple2(nil, dS(bj, if (isDefined(dT))
677+ then value(dT)
678+ else "", dR(bj)))
675679 }
676680
677681
678682
679-@Callable(eg)
680-func landByAssetIdInfoREADONLY (bP) = if ((bP == ""))
683+@Callable(ei)
684+func landByAssetIdInfoREADONLY (bQ) = if ((bQ == ""))
681685 then throw("landAssetId is required")
682686 else {
683- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
684- let dS = if ((dW > 0))
685- then value(getString(ag, bH(bP)))
687+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
688+ let dT = if ((dY > 0))
689+ then value(getString(ag, bI(bQ)))
686690 else ""
687- $Tuple2(nil, dV(bP, dS, dW))
691+ $Tuple2(nil, dX(bQ, dT, dY))
688692 }
689693
690694
691695
692-@Callable(eg)
693-func stakedLandsByOwnerInfoREADONLY (em) = if ((em == ""))
696+@Callable(ei)
697+func stakedLandsByOwnerInfoREADONLY (eo) = if ((eo == ""))
694698 then throw("landOwnerAddress is required")
695699 else {
696- let en = getString(ag, cT(em))
697- let eo = if (isDefined(en))
698- then split_51C(value(en), "_")
700+ let ep = getString(ag, cU(eo))
701+ let eq = if (isDefined(ep))
702+ then split_51C(value(ep), "_")
699703 else nil
700- func ep (aj,bP) = if ((bP == ""))
704+ func er (aj,bQ) = if ((bQ == ""))
701705 then throw("landAssetId is required")
702706 else {
703- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
704- (aj :+ dV(bP, em, dW))
707+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
708+ (aj :+ dX(bQ, eo, dY))
705709 }
706710
707- let dl = {
708- let am = eo
711+ let dm = {
712+ let am = eq
709713 let an = size(am)
710714 let ao = nil
711715 func ap (aq,ar) = if ((ar >= an))
712716 then aq
713- else ep(aq, am[ar])
717+ else er(aq, am[ar])
714718
715719 func as (aq,ar) = if ((ar >= an))
716720 then aq
717721 else throw("List size exceeds 100")
718722
719723 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
720724 }
721- $Tuple2(nil, dl)
725+ $Tuple2(nil, dm)
722726 }
723727
724728
725729
726-@Callable(eg)
727-func landsByIdsInfoREADONLY (eq) = {
728- func ep (aj,bP) = if ((bP == ""))
730+@Callable(ei)
731+func landsByIdsInfoREADONLY (es) = {
732+ func er (aj,bQ) = if ((bQ == ""))
729733 then throw("landAssetId is required")
730734 else {
731- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
732- let dS = if ((dW > 0))
733- then value(getString(ag, bH(bP)))
735+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
736+ let dT = if ((dY > 0))
737+ then value(getString(ag, bI(bQ)))
734738 else ""
735- (aj :+ dV(bP, dS, dW))
739+ (aj :+ dX(bQ, dT, dY))
736740 }
737741
738- let dl = {
739- let am = eq
742+ let dm = {
743+ let am = es
740744 let an = size(am)
741745 let ao = nil
742746 func ap (aq,ar) = if ((ar >= an))
743747 then aq
744- else ep(aq, am[ar])
748+ else er(aq, am[ar])
745749
746750 func as (aq,ar) = if ((ar >= an))
747751 then aq
748752 else throw("List size exceeds 100")
749753
750754 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
751755 }
752- $Tuple2(nil, dl)
756+ $Tuple2(nil, dm)
753757 }
754758
755759
756760
757-@Callable(eg)
758-func warehouseOrderByAssetIdInfoREADONLY (bP) = if ((bP == ""))
761+@Callable(ei)
762+func warehouseOrderByAssetIdInfoREADONLY (bQ) = if ((bQ == ""))
759763 then throw("landAssetId is required")
760764 else {
761- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
762- let dS = if ((dW > 0))
763- then value(getString(ag, bH(bP)))
765+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
766+ let dT = if ((dY > 0))
767+ then value(getString(ag, bI(bQ)))
764768 else ""
765- $Tuple2(nil, ef(bP, dS))
769+ $Tuple2(nil, eh(bQ, dT))
766770 }
767771
768772
769773
770-@Callable(eg)
771-func ordersByLandIdsInfoREADONLY (eq) = {
772- func ep (aj,bP) = if ((bP == ""))
774+@Callable(ei)
775+func ordersByLandIdsInfoREADONLY (es) = {
776+ func er (aj,bQ) = if ((bQ == ""))
773777 then throw("landAssetId is required")
774778 else {
775- let dW = valueOrElse(getInteger(ag, bK(bP)), -1)
776- let dS = if ((dW > 0))
777- then value(getString(ag, bH(bP)))
779+ let dY = valueOrElse(getInteger(ag, bL(bQ)), -1)
780+ let dT = if ((dY > 0))
781+ then value(getString(ag, bI(bQ)))
778782 else ""
779- (aj :+ ef(bP, dS))
783+ (aj :+ eh(bQ, dT))
780784 }
781785
782- let dl = {
783- let am = eq
786+ let dm = {
787+ let am = es
784788 let an = size(am)
785789 let ao = nil
786790 func ap (aq,ar) = if ((ar >= an))
787791 then aq
788- else ep(aq, am[ar])
792+ else er(aq, am[ar])
789793
790794 func as (aq,ar) = if ((ar >= an))
791795 then aq
792796 else throw("List size exceeds 40")
793797
794798 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40)
795799 }
796- $Tuple2(nil, dl)
800+ $Tuple2(nil, dm)
797801 }
798802
799803
800804
801-@Callable(eg)
802-func cancelWarehouseOrders (eq) = if ((eg.caller != this))
805+@Callable(ei)
806+func cancelWarehouseOrders (es) = if ((ei.caller != this))
803807 then throw("permission denied")
804808 else {
805- let er = getBoolean(ag, ca())
806- if (if (!(isDefined(er)))
809+ let et = getBoolean(ag, cb())
810+ if (if (!(isDefined(et)))
807811 then true
808- else (value(er) == false))
812+ else (value(et) == false))
809813 then throw("Contracts should be blocked before canceling orders")
810814 else {
811- func ep (dX,bP) = if ((bP == ""))
815+ func er (dZ,bQ) = if ((bQ == ""))
812816 then throw("landAssetId is required")
813817 else {
814- let es = da(invoke(cH, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bP], nil))
815- if (if (dX)
818+ let eu = db(invoke(cI, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", bQ], nil))
819+ if (if (dZ)
816820 then true
817- else es)
818- then !(if (dX)
819- then es
821+ else eu)
822+ then !(if (dZ)
823+ then eu
820824 else false)
821825 else false
822826 }
823827
824- let dl = {
825- let am = eq
828+ let dm = {
829+ let am = es
826830 let an = size(am)
827831 let ao = false
828832 func ap (aq,ar) = if ((ar >= an))
829833 then aq
830- else ep(aq, am[ar])
834+ else er(aq, am[ar])
831835
832836 func as (aq,ar) = if ((ar >= an))
833837 then aq
834838 else throw("List size exceeds 30")
835839
836840 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30)
837841 }
838- $Tuple2(nil, dl)
842+ $Tuple2(nil, dm)
839843 }
840844 }
841845
842846
843847
844-@Callable(eg)
845-func fixWarehouseFormats (eq) = if ((eg.caller != this))
848+@Callable(ei)
849+func fixWarehouseFormats (es) = if ((ei.caller != this))
846850 then throw("permission denied")
847851 else {
848- func ep (aj,bP) = if ((bP == ""))
852+ func er (aj,bQ) = if ((bQ == ""))
849853 then throw("landAssetId is required")
850- else (aj + size(cV(invoke(ag, "fixWarehouseFormat", [bP], nil))))
854+ else (aj + size(cW(invoke(ag, "fixWarehouseFormat", [bQ], nil))))
851855
852- let dl = {
853- let am = eq
856+ let dm = {
857+ let am = es
854858 let an = size(am)
855859 let ao = 0
856860 func ap (aq,ar) = if ((ar >= an))
857861 then aq
858- else ep(aq, am[ar])
862+ else er(aq, am[ar])
859863
860864 func as (aq,ar) = if ((ar >= an))
861865 then aq
862866 else throw("List size exceeds 25")
863867
864868 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25)
865869 }
866- $Tuple2(nil, dl)
870+ $Tuple2(nil, dm)
867871 }
868872
869873
870874
871-@Callable(eg)
872-func fixStakedPieces (et) = if ((eg.caller != this))
875+@Callable(ei)
876+func fixStakedPieces (ev) = if ((ei.caller != this))
873877 then throw("permission denied")
874878 else {
875- func eu (aj,t) = if ((t == ""))
879+ func ew (aj,t) = if ((t == ""))
876880 then throw("address is required")
877- else (aj + cY(invoke(ag, "fixStakedPieces", [t], nil)))
881+ else (aj + cZ(invoke(ag, "fixStakedPieces", [t], nil)))
878882
879- let dl = {
880- let am = et
883+ let dm = {
884+ let am = ev
881885 let an = size(am)
882886 let ao = 0
883887 func ap (aq,ar) = if ((ar >= an))
884888 then aq
885- else eu(aq, am[ar])
889+ else ew(aq, am[ar])
886890
887891 func as (aq,ar) = if ((ar >= an))
888892 then aq
889893 else throw("List size exceeds 16")
890894
891895 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
892896 }
893- $Tuple2(nil, dl)
897+ $Tuple2(nil, dm)
894898 }
895899
896900
897901
898-@Callable(eg)
899-func sendUsdtPrize (ek) = if ((eg.caller != ag))
902+@Callable(ei)
903+func sendUsdtPrize (em) = if ((ei.caller != ag))
900904 then throw("permission denied")
901905 else {
902- let ev = fraction(assetBalance(this, cg), de, cl)
903- $Tuple2([ScriptTransfer(addressFromStringValue(ek), ev, cg)], ev)
906+ let ex = fraction(assetBalance(this, ch), df, cm)
907+ $Tuple2([ScriptTransfer(addressFromStringValue(em), ex, ch)], ex)
904908 }
905909
906910
907911
908-@Callable(eg)
912+@Callable(ei)
909913 func getEmergencyServiceDataREADONLY () = {
910- let ew = getString(cH, cc())
911- let ex = if (isDefined(ew))
912- then split(value(ew), "_")
914+ let ey = getString(cI, cd())
915+ let ez = if (isDefined(ey))
916+ then split(value(ey), "_")
913917 else nil
914- func ey (aj,ez) = {
915- let cZ = aj._2
916- let ce = split(ez, "_")
917- let eA = if ((cZ == 0))
918- then (bz * bF)
918+ func eA (aj,eB) = {
919+ let da = aj._2
920+ let cf = split(eB, "_")
921+ let eC = if ((da == 0))
922+ then (bA * bG)
919923 else 0
920- let eB = if ((size(ex) > cZ))
921- then parseIntValue(ex[cZ])
924+ let eD = if ((size(ez) > da))
925+ then parseIntValue(ez[da])
922926 else 0
923- let eC = cd(ce)
924- let eD = fraction((eC * bA), by, (10 * bF))
925- let eE = fraction((eC * bB), by, (10 * bF))
926- let eF = makeString([toString(eA), toString(eB), toString(eD), toString(eE)], "_")
927- $Tuple2((aj._1 :+ eF), (cZ + 1))
927+ let eE = ce(cf)
928+ let eF = fraction((eE * bB), bz, (10 * bG))
929+ let eG = fraction((eE * bC), bz, (10 * bG))
930+ let eH = makeString([toString(eC), toString(eD), toString(eF), toString(eG)], "_")
931+ $Tuple2((aj._1 :+ eH), (da + 1))
928932 }
929933
930- let cX = makeString_2C(( let am = bD
934+ let cY = makeString_2C(( let am = bE
931935 let an = size(am)
932936 let ao = $Tuple2(nil, 0)
933937 func ap (aq,ar) = if ((ar >= an))
934938 then aq
935- else ey(aq, am[ar])
939+ else eA(aq, am[ar])
936940
937941 func as (aq,ar) = if ((ar >= an))
938942 then aq
939943 else throw("List size exceeds 50")
940944
941945 as(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ap(ao, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50))._1, ":")
942- let eG = ("%s%s__emergencyServiceData__" + cX)
943- $Tuple2(nil, eG)
946+ let eI = ("%s%s__emergencyServiceData__" + cY)
947+ $Tuple2(nil, eI)
944948 }
945949
946950
947951
948-@Callable(eg)
952+@Callable(ei)
949953 func wlgStatsREADONLY (av) = {
950- let eH = au(av, [cG, ag, cH, cI, cJ, cK], cg, 0)
951- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(eH[y])), ("%s%s%d__wlgPrice__" + toString(eH[z])), ("%s%s%d__usdtFunds__" + toString(eH[A])), ("%s%s%d__usdtEconomy__" + toString(eH[B])), ("%s%s%d__usdtActivity__" + toString(eH[C])), ("%s%s%d__usdtArbitrage__" + toString(eH[D])), ("%s%s%d__usdtPool__" + toString(eH[E])), ("%s%s%d__wlgIssueTime__" + toString(eH[F])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(eH[G])), ("%s%s%d__wlgMarketingTotal__" + toString(eH[H])), ("%s%s%d__wlgMarketingAmLeft__" + toString(eH[I])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(eH[J])), ("%s%s%d__wlgMarketingWlgold__" + toString(eH[K])), ("%s%s%d__wlgTeamTotal__" + toString(eH[L])), ("%s%s%d__wlgTeamAmLeft__" + toString(eH[M])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(eH[N])), ("%s%s%d__wlgTeamWlgold__" + toString(eH[O])), ("%s%s%d__wlgActTotal__" + toString(eH[P])), ("%s%s%d__wlgActAmLeft__" + toString(eH[Q])), ("%s%s%d__wlgActAmAvailNow__" + toString(eH[R])), ("%s%s%d__wlgActWlgold__" + toString(eH[S])), ("%s%s%d__wlgCurPeriod__" + toString(eH[T])), ("%s%s%d__wlgAmLeftTotal__" + toString(eH[U])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(eH[V])), ("%s%s%d__wlgLastUserTime__" + toString(eH[W])), ("%s%s%d__wlgUserAmAvailNow__" + toString(eH[X])), ("%s%s%d__wlgGuestSLandDaily__" + toString(eH[Y]))])
954+ let eJ = au(av, [cH, ag, cI, cJ, cK, cL], ch, 0)
955+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(eJ[y])), ("%s%s%d__wlgPrice__" + toString(eJ[z])), ("%s%s%d__usdtFunds__" + toString(eJ[A])), ("%s%s%d__usdtEconomy__" + toString(eJ[B])), ("%s%s%d__usdtActivity__" + toString(eJ[C])), ("%s%s%d__usdtArbitrage__" + toString(eJ[D])), ("%s%s%d__usdtPool__" + toString(eJ[E])), ("%s%s%d__wlgIssueTime__" + toString(eJ[F])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(eJ[G])), ("%s%s%d__wlgMarketingTotal__" + toString(eJ[H])), ("%s%s%d__wlgMarketingAmLeft__" + toString(eJ[I])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(eJ[J])), ("%s%s%d__wlgMarketingWlgold__" + toString(eJ[K])), ("%s%s%d__wlgTeamTotal__" + toString(eJ[L])), ("%s%s%d__wlgTeamAmLeft__" + toString(eJ[M])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(eJ[N])), ("%s%s%d__wlgTeamWlgold__" + toString(eJ[O])), ("%s%s%d__wlgActTotal__" + toString(eJ[P])), ("%s%s%d__wlgActAmLeft__" + toString(eJ[Q])), ("%s%s%d__wlgActAmAvailNow__" + toString(eJ[R])), ("%s%s%d__wlgActWlgold__" + toString(eJ[S])), ("%s%s%d__wlgCurPeriod__" + toString(eJ[T])), ("%s%s%d__wlgAmLeftTotal__" + toString(eJ[U])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(eJ[V])), ("%s%s%d__wlgLastUserTime__" + toString(eJ[W])), ("%s%s%d__wlgUserAmAvailNow__" + toString(eJ[X])), ("%s%s%d__wlgGuestSLandDaily__" + toString(eJ[Y]))])
952956 }
953957
954958

github/deemru/w8io/169f3d6 
832.36 ms