tx · 4xabMYaYSu6mq7EHcUw49MubX22BPp7Ge2WEWPpvc6AF

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.03600000 Waves

2023.08.17 03:24 [2713866] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "4xabMYaYSu6mq7EHcUw49MubX22BPp7Ge2WEWPpvc6AF", "fee": 3600000, "feeAssetId": null, "timestamp": 1692231884971, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "4MfUZcobVh7NePYbB4PXXkE4ew3e9DUdyN99fPPDjuc5CFJR7UyvmeUP7qfzX12ZaTkru1hajapRNEjaZwNVsLWR" ], "script": "base64:BgJcCAISAwoBGBIDCgEIEgMKAQgSAwoBCBIDCgEIEgMKAQgSAwoBGBIDCgEIEgMKARgSAwoBGBIDCgEYEgMKARgSAwoBGBIDCgEIEgASAwoBCBIDCgEBEgASBAoCAQi2AQACTTYAwIQ9AAJNOACAwtcvAAhNSUxMSU9ONgCAgOmDsd4WAA5NQVJLRVRJTkdTSEFSRQCgjQYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UAA0RBWQCAuJkpABBtYXJrZXRpbmdBZGRyS2V5Ag1tYXJrZXRpbmdBZGRyAAt0ZWFtQWRkcktleQIIdGVhbUFkZHIAFGxhc3RNYXJrZXRpbmdUaW1lS2V5AhlsYXN0Q2xhaW1lZFRpbWVfbWFya2V0aW5nABZtYXJrZXRpbmdBbW91bnRMZWZ0S2V5AhNtYXJrZXRpbmdBbW91bnRMZWZ0AA9sYXN0VGVhbVRpbWVLZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtABF0ZWFtQW1vdW50TGVmdEtleQIOdGVhbUFtb3VudExlZnQAFWxhc3RBY3Rpdml0aWVzVGltZUtleQIabGFzdENsYWltZWRUaW1lX2FjdGl2aXRpZXMAEGFjdEFtb3VudExlZnRLZXkCFGFjdGl2aXRpZXNBbW91bnRMZWZ0ABRzdGFrZXJzQW1vdW50TGVmdEtleQIRc3Rha2Vyc0Ftb3VudExlZnQBGGtleUxhc3RDbGFpbWVkVGltZUJ5VXNlcgEEYWRkcgkArAICAhRsYXN0Q2xhaW1lZFRpbWVVc2VyXwUEYWRkcgEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBBnBlcmlvZAkAawMFCE1JTExJT042CQBoAgULUExBWUVSU0hBUkUJAGQCBQZwZXJpb2QAAQkAaAIABgUCTTYAD3dsZ0lzc3VlVGltZUtleQINd2xnX2lzc3VlVGltZQASd2xnSXNzdWVkQW1vdW50S2V5AhB3bGdfaXNzdWVkQW1vdW50ABF6Yklzc3VlZEFtb3VudEtleQISemJpbGxfaXNzdWVkQW1vdW50AAxpZHhXbGdBbW91bnQAAAALaWR4V2xnUHJpY2UAAQALaWR4V2xnRnVuZHMAAgANaWR4V2xnRWNvbm9teQADAA5pZHhXbGdBY3Rpdml0eQAEAA9pZHhXbGdBcmJpdHJhZ2UABQAKaWR4V2xnUG9vbAAGAA9pZHhXbGdJc3N1ZVRpbWUABwARaWR4V2xnTGFzdE1UQVRpbWUACAAUaWR4V2xnTWFya2V0aW5nVG90YWwACQAVaWR4V2xnTWFya2V0aW5nQW1MZWZ0AAoAGWlkeFdsZ01hcmtldGluZ0FtQXZhaWxOb3cACwAVaWR4V2xnTWFya2V0aW5nV2xnb2xkAAwAD2lkeFdsZ1RlYW1Ub3RhbAANABBpZHhXbGdUZWFtQW1MZWZ0AA4AFGlkeFdsZ1RlYW1BbUF2YWlsTm93AA8AEGlkeFdsZ1RlYW1XbGdvbGQAEAAOaWR4V2xnQWN0VG90YWwAEQAPaWR4V2xnQWN0QW1MZWZ0ABIAE2lkeFdsZ0FjdEFtQXZhaWxOb3cAEwAPaWR4V2xnQWN0V2xnb2xkABQAD2lkeFdsZ0N1clBlcmlvZAAVABFpZHhXbGdBbUxlZnRUb3RhbAAWABtpZHhXbGdDdXJQZXJpb2REaXN0cmlidXRpb24AFwASaWR4V2xnTGFzdFVzZXJUaW1lABgAFGlkeFdsZ1VzZXJBbUF2YWlsTm93ABkAFmlkeFdsZ1NMYW5kRGFpbHlBbW91bnQAGgAWaWR4V2xnSW52ZXN0RnVuZEFtb3VudAAbAAhkYXBwUmVzdAAAAAtkYXBwU3Rha2luZwABAAtkYXBwRWNvbm9teQACAAdkYXBwV2xnAAQACmRhcHBQdXp6bGUABQAOZGFwcEludmVzdEZ1bmQABgEJZ2V0UGllY2VzAhJ1c2VyQWRkclN0ck9yRW1wdHkPc3Rha2luZ0NvbnRyYWN0BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAITcmVzVHlwZXNQcm9wb3J0aW9ucwILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQCsAgICFHN0YWtlZFBpZWNlc0J5T3duZXJfBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAkAzAgCBQp0b3RhbFBvd2VyCQDMCAIFCnVzZXJzUG93ZXIFA25pbAELZ2V0V2xnU3RhdHMEC3VzZXJBZGRyT3B0CWNvbnRyYWN0cwZ1c2R0SWQVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAxpc3N1ZWRBbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUSd2xnSXNzdWVkQW1vdW50S2V5AhhXTEdPTEQgaXMgbm90IGlzc3VlZCB5ZXQECmVjb25vbXlVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFC2RhcHBFY29ub215BQZ1c2R0SWQEB3Jlc3RVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQZ1c2R0SWQEBndsZ1VzZAkAZQIJAPAHAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFBnVzZHRJZAUVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAlwdXp6bGVVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCmRhcHBQdXp6bGUFBnVzZHRJZAQSaW52ZXN0RnVuZENvbnRyYWN0CQCRAwIFCWNvbnRyYWN0cwUOZGFwcEludmVzdEZ1bmQED2ludmVzdEZ1bmRUb3RhbAkAZAIJAPAHAgUSaW52ZXN0RnVuZENvbnRyYWN0BQZ1c2R0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSaW52ZXN0RnVuZENvbnRyYWN0BRF6Yklzc3VlZEFtb3VudEtleQAABA10b3RhbEZ1bmRzVXNkCQBkAgkAZAIFCmVjb25vbXlVc2QFBndsZ1VzZAUPaW52ZXN0RnVuZFRvdGFsBAV3bGdJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnAgt3bGdfYXNzZXRJZAITTm90IGluaXRpYWxpemVkIHlldAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD3dsZ0lzc3VlVGltZUtleQIPTm90IGluaXRpYWxpemVkBA5tYXJrZXRpbmdUb3RhbAkAawMFCE1JTExJT042BQ5NQVJLRVRJTkdTSEFSRQUCTTYEE21hcmtldGluZ0Ftb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFm1hcmtldGluZ0Ftb3VudExlZnRLZXkFDm1hcmtldGluZ1RvdGFsBBFsYXN0TWFya2V0aW5nVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUUbGFzdE1hcmtldGluZ1RpbWVLZXkFCWlzc3VlVGltZQQNbWFya2V0aW5nQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAnQgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUQbWFya2V0aW5nQWRkcktleQQbbWFya2V0aW5nQW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFDm1hcmtldGluZ1RvdGFsCQBlAgUDbm93BRFsYXN0TWFya2V0aW5nVGltZQUKWUVBUk1JTExJUwkAzAgCBRNtYXJrZXRpbmdBbW91bnRMZWZ0BQNuaWwED21hcmtldGluZ1dsZ29sZAkA8AcCBQ1tYXJrZXRpbmdBZGRyBQV3bGdJZAQJdGVhbVRvdGFsCQBrAwUITUlMTElPTjYFCVRFQU1TSEFSRQUCTTYEDnRlYW1BbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRF0ZWFtQW1vdW50TGVmdEtleQUJdGVhbVRvdGFsBAxsYXN0VGVhbVRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD2xhc3RUZWFtVGltZUtleQUJaXNzdWVUaW1lBAh0ZWFtQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAnQgCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwULdGVhbUFkZHJLZXkEFnRlYW1BbW91bnRBdmFpbGFibGVOb3cJAJcDAQkAzAgCCQBrAwUJdGVhbVRvdGFsCQBlAgUDbm93BQxsYXN0VGVhbVRpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUOdGVhbUFtb3VudExlZnQFA25pbAQKdGVhbVdsZ29sZAkA8AcCBQh0ZWFtQWRkcgUFd2xnSWQECGFjdFRvdGFsCQBrAwUITUlMTElPTjYFDUFDVElWSVRZU0hBUkUFAk02BA1hY3RBbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRBhY3RBbW91bnRMZWZ0S2V5BQhhY3RUb3RhbAQSbGFzdEFjdGl2aXRpZXNUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBRVsYXN0QWN0aXZpdGllc1RpbWVLZXkFCWlzc3VlVGltZQQVYWN0QW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCGFjdFRvdGFsCQBlAgUDbm93BRJsYXN0QWN0aXZpdGllc1RpbWUJAGgCAAMFCllFQVJNSUxMSVMJAMwIAgUNYWN0QW1vdW50TGVmdAUDbmlsBAlhY3RXbGdvbGQJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQV3bGdJZAQMbGFzdFVzZXJUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnCQEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQULdXNlckFkZHJPcHQFCWlzc3VlVGltZQQObGFzdFVzZXJQZXJpb2QJAGkCCQBlAgUMbGFzdFVzZXJUaW1lBQlpc3N1ZVRpbWUFCllFQVJNSUxMSVMECm5vd0xpbWl0ZWQJAJcDAQkAzAgCBQNub3cJAMwIAgkAZAIFCWlzc3VlVGltZQkAaAIAAwUKWUVBUk1JTExJUwUDbmlsBAljdXJQZXJpb2QJAJcDAQkAzAgCCQBpAgkAZQIFA25vdwUJaXNzdWVUaW1lBQpZRUFSTUlMTElTCQDMCAIAAgUDbmlsBANlZmYJAQlnZXRQaWVjZXMCBQt1c2VyQWRkck9wdAkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nBBVjdXJQZXJpb2REaXN0cmlidXRpb24JARRkaXN0cmlidXRpb25CeVBlcmlvZAEFCWN1clBlcmlvZAQKdXNlckFtb3VudAkAawMDCQAAAgUObGFzdFVzZXJQZXJpb2QFCWN1clBlcmlvZAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwMJAAACBQ5sYXN0VXNlclBlcmlvZAkAZQIFCWN1clBlcmlvZAABCQBkAgkAawMJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFCllFQVJNSUxMSVMJAGQCCQBkAgkAawMJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAgkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTCQBlAgUJY3VyUGVyaW9kAAEFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAUKWUVBUk1JTExJUwkAkQMCBQNlZmYAAQkAkQMCBQNlZmYAAAQQc0xhbmREYWlseUFtb3VudAkAawMJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24FA0RBWQUKWUVBUk1JTExJUwAZCQCRAwIFA2VmZgAABA9hbW91bnRMZWZ0VG90YWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFFHN0YWtlcnNBbW91bnRMZWZ0S2V5AAAJAMwIAgUMaXNzdWVkQW1vdW50CQDMCAIJAGsDBQ10b3RhbEZ1bmRzVXNkBQJNOAUMaXNzdWVkQW1vdW50CQDMCAIFDXRvdGFsRnVuZHNVc2QJAMwIAgUKZWNvbm9teVVzZAkAzAgCBQdyZXN0VXNkCQDMCAIFBndsZ1VzZAkAzAgCBQlwdXp6bGVVc2QJAMwIAgUJaXNzdWVUaW1lCQDMCAIFEWxhc3RNYXJrZXRpbmdUaW1lCQDMCAIFDm1hcmtldGluZ1RvdGFsCQDMCAIFE21hcmtldGluZ0Ftb3VudExlZnQJAMwIAgUbbWFya2V0aW5nQW1vdW50QXZhaWxhYmxlTm93CQDMCAIFD21hcmtldGluZ1dsZ29sZAkAzAgCBQl0ZWFtVG90YWwJAMwIAgUOdGVhbUFtb3VudExlZnQJAMwIAgUWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQp0ZWFtV2xnb2xkCQDMCAIFCGFjdFRvdGFsCQDMCAIFDWFjdEFtb3VudExlZnQJAMwIAgUVYWN0QW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCWFjdFdsZ29sZAkAzAgCBQljdXJQZXJpb2QJAMwIAgUPYW1vdW50TGVmdFRvdGFsCQDMCAIFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCBQxsYXN0VXNlclRpbWUJAMwIAgUKdXNlckFtb3VudAkAzAgCBRBzTGFuZERhaWx5QW1vdW50CQDMCAIFD2ludmVzdEZ1bmRUb3RhbAUDbmlsAQ1rZXlEdWNrSGVhbHRoAQtkdWNrQXNzZXRJZAkArAICAgtkdWNrSGVhbHRoXwULZHVja0Fzc2V0SWQBDGtleUR1Y2tDaGFycwELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0NoYXJzXwULZHVja0Fzc2V0SWQBCWtleUR1Y2tYUAELZHVja0Fzc2V0SWQJAKwCAgIHZHVja1hQXwULZHVja0Fzc2V0SWQBDGtleUR1Y2tMZXZlbAELZHVja0Fzc2V0SWQJAKwCAgIKZHVja0xldmVsXwULZHVja0Fzc2V0SWQBEWtleUR1Y2tGcmVlUG9pbnRzAQtkdWNrQXNzZXRJZAkArAICAg9kdWNrRnJlZVBvaW50c18FC2R1Y2tBc3NldElkARBrZXlEdWNrRXF1aXBtZW50AQtkdWNrQXNzZXRJZAkArAICAg5kdWNrRXF1aXBtZW50XwULZHVja0Fzc2V0SWQBCWtleVVzZXJYUAEEYWRkcgkArAICAgd1c2VyWFBfBQRhZGRyAQxrZXlVc2VyTGV2ZWwBBGFkZHIJAKwCAgIKdXNlckxldmVsXwUEYWRkcgERa2V5VXNlckZyZWVQb2ludHMBBGFkZHIJAKwCAgIPdXNlckZyZWVQb2ludHNfBQRhZGRyAQxrZXlEdWNrQnVmZnMBC2R1Y2tBc3NldElkCQCsAgICCmR1Y2tCdWZmc18FC2R1Y2tBc3NldElkAQltYXhIZWFsdGgBBWxldmVsCQBkAgBkBQVsZXZlbAAKQVJUUFJFU0FMRQIHUFJFU0FMRQAKQVJUT05CT0FSRAIHT05CT0FSRAAGTlVNUkVTAAYAD0RBSUxZUkVTQllQSUVDRQCA+NIBAAlEQVlNSUxMSVMAgLiZKQAMV0hNVUxUSVBMSUVSAIDIr6AlABBSRVNPVVJDRVBSSUNFTUlOANW1AgANRVNNQVhQQUNLQUdFUwADAAlFU0JVWUNPRUYABAAKRVNTRUxMQ09FRgAKAAlDT0VGRjJNQVQAgK3iBAAQcHJvZHVjdGlvbk1hdHJpeAkAzAgCAiU4XzhfOF8xN18xN180Ml8xMl8wXzMwXzAsMCwwLDAsMCwwLDBfCQDMCAICJThfOF84XzE3XzE3XzQyXzI0XzBfNjBfMCwwLDUsMiwwLDAsMF8JAMwIAgInOF84XzhfMTdfMTdfNDJfMzZfMF8xMjBfMCwwLDEwLDQsMCwwLDBfCQDMCAICKThfMTlfMTlfOF8yN18xOV8yNl8xXzIwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICKThfMTlfMTlfOF8yN18xOV81Ml8xXzQwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICKThfMTlfMTlfOF8yN18xOV83OF8xXzgwXzAsMCwwLDAsMCwwLDBfMDAxCQDMCAICIjhfOF84XzhfOF82MF8xM18yXzJfMCwwLDAsMCwwLDAsMF8JAMwIAgIiOF84XzhfOF84XzYwXzI2XzJfNF8wLDAsMCwwLDAsMCwwXwkAzAgCAiI4XzhfOF84XzhfNjBfMzlfMl84XzAsMCwwLDAsMCwwLDBfCQDMCAICKTMwXzMwXzNfMTdfMTdfM18zMF8zXzMwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKTMwXzMwXzNfMTdfMTdfM182MF8zXzUwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKTMwXzMwXzNfMTdfMTdfM185MF8zXzcwXzAsMCwwLDAsMCwwLDBfMTExCQDMCAICKzE4XzE4XzEwXzE4XzE4XzE4XzExXzRfMzBfMCwwLDAsMCwwLDAsMF8yMDEJAMwIAgIrMThfMThfMTBfMThfMThfMThfMjJfNF81MF8wLDAsMCwwLDAsMCwwXzIwMQkAzAgCAisxOF8xOF8xMF8xOF8xOF8xOF8zM180XzcwXzAsMCwwLDAsMCwwLDBfMjAxCQDMCAICKjRfMTNfMjJfNF8zNV8yMl8yM18wXzUwLDEsMF8wLDAsMCwwLDAsMCwwXwkAzAgCAio0XzEzXzIyXzRfMzVfMjJfNDZfMF81MCwxLDFfMCwyLDUsMCwwLDAsMF8JAMwIAgIrNF8xM18yMl80XzM1XzIyXzY5XzBfNTAsMiwxXzAsNSwxMCwwLDAsMCwwXwkAzAgCAio1XzI1XzQwXzVfMTBfMTVfMjBfMV8zMCwxLDFfMCwwLDAsMCwwLDAsMF8JAMwIAgIqNV8yNV80MF81XzEwXzE1XzQwXzFfMzAsMSwyXzIsMSwzLDAsMCwwLDBfCQDMCAICKjVfMjVfNDBfNV8xMF8xNV82MF8xXzMwLDEsM181LDIsOCwwLDAsMCwwXwUDbmlsAAlySWR4Q29lZmYABgAOUFJPRFVDVFBLR1NJWkUACgERa2V5TGFzdFR4SWRCeVVzZXIBBGFkZHIJAKwCAgIPbGFzdFR4SWRCeVVzZXJfBQRhZGRyARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBB2Fzc2V0SWQJAKwCAgIJbmZ0T3duZXJfBQdhc3NldElkARprZXlMYW5kQXNzZXRJZFRvQ3VzdG9tTmFtZQEHYXNzZXRJZAkArAICAhhsYW5kQ3VzdG9tTmFtZUJ5QXNzZXRJZF8FB2Fzc2V0SWQBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgILc3Rha2VkVGltZV8FB2Fzc2V0SWQBFmtleUluZnJhTGV2ZWxCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgILaW5mcmFMZXZlbF8FB2Fzc2V0SWQBIGtleUxhbmRBcnRTdGF0dXNCeVR5cGVBbmRBc3NldElkAgR0eXBlB2Fzc2V0SWQJALkJAgkAzAgCAg1sYW5kQXJ0U3RhdHVzCQDMCAIFBHR5cGUJAMwIAgUHYXNzZXRJZAUDbmlsAgFfARJrZXlXYXJlaG91c2VCeUxhbmQBC2xhbmRBc3NldElkCQCsAgICCndhcmVIb3VzZV8FC2xhbmRBc3NldElkARprZXlEdWNrQXNzZXRJZFRvQ3VzdG9tTmFtZQEHYXNzZXRJZAkArAICAhhkdWNrQ3VzdG9tTmFtZUJ5QXNzZXRJZF8FB2Fzc2V0SWQBFmtleUFkZHJlc3NUb0N1c3RvbU5hbWUBBGFkZHIJAKwCAgIYYWNjb3VudEN1c3RvbU5hbWVCeUFkZHJfBQRhZGRyAQ9rZXlBZGRyZXNzUmVmQnkBBGFkZHIJAKwCAgIJYWNjUmVmQnlfBQRhZGRyARxrZXlPbmJvYXJkQXJ0RHVja0FjdGl2YXRlZEJ5AQRhZGRyCQCsAgICGm9uYm9hcmRBcnRBY3RpdmF0ZWREdWNrQnlfBQRhZGRyARNrZXlBZGRyZXNzUmVmZXJyYWxzAQRhZGRyCQCsAgICDWFjY1JlZmVycmFsc18FBGFkZHIBEGtleUR1Y2tJZFRvT3duZXIBB2Fzc2V0SWQJAKwCAgIKZHVja093bmVyXwUHYXNzZXRJZAEUa2V5U3Rha2VkRHVja0J5T3duZXIBCW93bmVyQWRkcgkArAICAhJzdGFrZWREdWNrQnlPd25lcl8FCW93bmVyQWRkcgEPa2V5RHVja0xvY2F0aW9uAQtkdWNrQXNzZXRJZAkArAICAg1kdWNrTG9jYXRpb25fBQtkdWNrQXNzZXRJZAEKa2V5QmxvY2tlZAACEGNvbnRyYWN0c0Jsb2NrZWQBDmtleU9yZGVyQnlMYW5kAQtsYW5kQXNzZXRJZAkArAICAgpsYW5kT3JkZXJfBQtsYW5kQXNzZXRJZAEOa2V5RXNXYXJlaG91c2UAAhplbWVyZ2VuY3lXYXJlaG91c2VQcm9kdWN0cwANbGFzdFRvdXJJZEtleQIOJXNfX2xhc3RUb3VySWQBFWtleVRvdXJTdGF0aWNEYXRhQnlJZAEDdElkCQCsAgICFiVzJWRfX3RvdXJTdGF0aWNEYXRhX18JAKQDAQUDdElkARZrZXlUb3VyRHluYW1pY0RhdGFCeUlkAQN0SWQJAKwCAgIXJXMlZF9fdG91ckR5bmFtaWNEYXRhX18JAKQDAQUDdElkARdrZXlBbGxSZWdpc3RyYW50c0J5VG91cgEDdElkCQCsAgICFiVzJWRfX2FsbFJlZ2lzdHJhbnRzX18JAKQDAQUDdElkAAlpZHhTdGF0aWMAAAAKaWR4RHluYW1pYwABAQtnZXRUb3VyRGF0YQIMdG91ckNvbnRyYWN0A3RJZAQGc3RhdGljCQC1CQIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQx0b3VyQ29udHJhY3QJARVrZXlUb3VyU3RhdGljRGF0YUJ5SWQBBQN0SWQJAKwCAgkArAICAhlFcnJvciByZWFkaW5nIHRvdXJuYW1lbnQgCQCkAwEFA3RJZAIFIGRhdGECAl9fBAdkeW5hbWljCQC1CQIJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQx0b3VyQ29udHJhY3QJARZrZXlUb3VyRHluYW1pY0RhdGFCeUlkAQUDdElkCQCsAgIJAKwCAgIZRXJyb3IgcmVhZGluZyB0b3VybmFtZW50IAkApAMBBQN0SWQCBSBkYXRhAgJfXwkAzAgCBQZzdGF0aWMJAMwIAgUHZHluYW1pYwUDbmlsABN0U3RhdGljUmVnaXN0ZXJDb3N0AAIAEnRTdGF0aWNBdHRlbXB0Q29zdAADAAx0U3RhdGljU3RhcnQABQAKdFN0YXRpY0VuZAAGAA50RHluYW1pY1N0YXR1cwABAA90RHluYW1pY1dpbkR1Y2sAAgARdER5bmFtaWNXaW5SZXN1bHQAAwAVdER5bmFtaWNUb3RhbFJlZ0NvdW50AAQAFXREeW5hbWljVG90YWxBdHRlbXB0cwAFARxrZXlJc1JlZ2lzdGVyZWRCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAiElcyVkJXNfX2lzUmVnaXN0ZXJlZEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18BG2tleUxhc3RBdHRlbXB0QnlUb3VyQW5kRHVjawIDdElkC2R1Y2tBc3NldElkCQC5CQIJAMwIAgIgJXMlZCVzX19sYXN0QXR0ZW1wdEJ5VG91ckFuZER1Y2sJAMwIAgkApAMBBQN0SWQJAMwIAgULZHVja0Fzc2V0SWQFA25pbAICX18BGmtleUJlc3RSZXN1bHRCeVRvdXJBbmREdWNrAgN0SWQLZHVja0Fzc2V0SWQJALkJAgkAzAgCAh8lcyVkJXNfX2Jlc3RSZXN1bHRCeVRvdXJBbmREdWNrCQDMCAIJAKQDAQUDdElkCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwCAl9fARJnZXRSZWNpcGVNYXRlcmlhbHMBBnJlY2lwZQkAaAIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZyZWNpcGUFCXJJZHhDb2VmZgUJQ09FRkYyTUFUAAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQALdXNkdEFzc2V0SWQEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDABIITaerIIAz9O0bvKju6Lk7zJgt0LXfoHlqjUI/moD/+5AwkAAAIBAVQFByRtYXRjaDABIFWx2J9yh4Lv5eNbjawFq2XemkOhLxa7BfMat4el8cUYCQACAQINVW5rbm93biBjaGFpbgAVZGVmYXVsdFJlc3RBZGRyZXNzU3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUFFDdXZGYnZoNExrUFVucm5VMXozam5iQTFwOW0zV05odgMJAAACAQFUBQckbWF0Y2gwAiMzTXVta0dHenRDS0FYcFdEcXhrZGRvZnFYU1VicVFrdlNKeQkAAgECDVVua25vd24gY2hhaW4AEUluZnJhVXBncmFkZUNvc3RTBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAIDIr6AlAwkAAAIBAVQFByRtYXRjaDAAgMLXLwkAAgECDVVua25vd24gY2hhaW4AA1NFUAICX18ABU1VTFQ2AMCEPQAFTVVMVDgAgMLXLwAFU1NJWkUAGQAFTVNJWkUAZAAFTFNJWkUA4QEABlhMU0laRQCQAwAHWFhMU0laRQDxBAEPZ2V0U3RyaW5nT3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFB2FkZHJlc3MFA2tleQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQdhZGRyZXNzCQDMCAICAS4JAMwIAgUDa2V5CQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgAAEUlkeENmZ1N0YWtpbmdEYXBwAAEAEUlkeENmZ0Vjb25vbXlEYXBwAAIAFElkeENmZ0dvdmVybmFuY2VEYXBwAAMADUlkeENmZ1dsZ0RhcHAABAAUSWR4Q2ZnUHV6emxlUG9vbERhcHAABQAUSWR4Q2ZnSW52ZXN0RnVuZERhcHAABgAUSWR4Q2ZnVG91cm5hbWVudERhcHAABwEKa2V5UmVzdENmZwACDiVzX19yZXN0Q29uZmlnAQ5rZXlSZXN0QWRkcmVzcwACDCVzX19yZXN0QWRkcgERcmVhZFJlc3RDZmdPckZhaWwBBHJlc3QJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHJlc3QJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCB3Jlc3RDZmcDaWR4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQdyZXN0Q2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAAMcmVzdENvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ5rZXlSZXN0QWRkcmVzcwAFFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgAHcmVzdENmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAQUMcmVzdENvbnRyYWN0AA9zdGFraW5nQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdTdGFraW5nRGFwcAAPZWNvbm9teUNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnRWNvbm9teURhcHAAC2dvdkNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnR292ZXJuYW5jZURhcHAAC3dsZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUNSWR4Q2ZnV2xnRGFwcAAScHV6emxlUG9vbENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwUUSWR4Q2ZnUHV6emxlUG9vbERhcHAAEmludmVzdEZ1bmRDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFFElkeENmZ0ludmVzdEZ1bmREYXBwABJ0b3VybmFtZW50Q29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdUb3VybmFtZW50RGFwcAAKcmVjTGFuZE51bQAAAAtyZWNMYW5kU2l6ZQABAAtyZWNUZXJyYWlucwACAAxyZWNDb250aW5lbnQAAwANd2xnQXNzZXRJZEtleQILd2xnX2Fzc2V0SWQACndsZ0Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQt3bGdDb250cmFjdAUNd2xnQXNzZXRJZEtleQITTm90IGluaXRpYWxpemVkIHlldAAKSWR4RWZmVXNlcgABARFrZXlSZXNQcm9wb3J0aW9ucwACE3Jlc1R5cGVzUHJvcG9ydGlvbnMBFWtleVN0YWtlZExhbmRzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICE3N0YWtlZExhbmRzQnlPd25lcl8FCW93bmVyQWRkcgEWa2V5U3Rha2VkUGllY2VzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICFHN0YWtlZFBpZWNlc0J5T3duZXJfBQlvd25lckFkZHIBCGFzU3RyaW5nAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAUBcwkAAgECGGZhaWwgdG8gY2FzdCBpbnRvIFN0cmluZwEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAFuBQckbWF0Y2gwBQFuCQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQlhc0Jvb2xlYW4BAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBcwUHJG1hdGNoMAUBcwkAAgECGWZhaWwgdG8gY2FzdCBpbnRvIEJvb2xlYW4BD251bVBpZWNlc0J5U2l6ZQEIbGFuZFNpemUEByRtYXRjaDAFCGxhbmRTaXplAwkAAAICAVMFByRtYXRjaDAFBVNTSVpFAwkAAAICAU0FByRtYXRjaDAFBU1TSVpFAwkAAAICAUwFByRtYXRjaDAFBUxTSVpFAwkAAAICAlhMBQckbWF0Y2gwBQZYTFNJWkUDCQAAAgIDWFhMBQckbWF0Y2gwBQdYWExTSVpFCQACAQIRVW5rbm93biBsYW5kIHNpemUBDmdldFZvdGluZ1Bvd2VyARJ1c2VyQWRkclN0ck9yRW1wdHkEBXByb3BzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5UmVzUHJvcG9ydGlvbnMAAgswXzBfMF8wXzBfMAIBXwoBBWFkZGVyAgNhY2MEaXRlbQkAZAIFA2FjYwkBDXBhcnNlSW50VmFsdWUBBQRpdGVtBAp0b3RhbFBvd2VyCgACJGwFBXByb3BzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQVhZGRlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgQKdXNlcnNQb3dlcgkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRQaWVjZXNCeU93bmVyAQUSdXNlckFkZHJTdHJPckVtcHR5AAAJAMwIAgUKdG90YWxQb3dlcgkAzAgCBQp1c2Vyc1Bvd2VyBQNuaWwADVVTRFRQUklaRVBBUlQAoMIeAAphZG1pbnNMaXN0CQDMCAIJAKUIAQUEdGhpcwkAzAgCBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUDY0cUVWenVHekJKdVlmRFhZaXNGdG9rSkNoU1JhOHVqYQMJAAACAQFUBQckbWF0Y2gwAiMzTjNnU0ZyVHdnaUxBRlpITXVKckV0dGh0MW5QaG5rcHZqcwkAAgECDVVua25vd24gY2hhaW4FA25pbAESYXNMaXN0SW50Q29tcGFjdGVkAQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAglMaXN0W0FueV0ECnZhbEFueUxpc3QFByRtYXRjaDADCQECIT0CCQCQAwEFCnZhbEFueUxpc3QFBk5VTVJFUwkAAgEJAKwCAgIOQXJyYXkgc2l6ZSBpcyAJAKQDAQkAkAMBBQp2YWxBbnlMaXN0CgEEY29udgIDYWNjBGl0ZW0EByRtYXRjaDEFBGl0ZW0DCQABAgUHJG1hdGNoMQIDSW50BAJpdAUHJG1hdGNoMQkAzQgCBQNhY2MJAKQDAQUCaXQJAAIBAhRMaXN0IHR5cGUgaXMgbm90IEludAQBcgoAAiRsBQp2YWxBbnlMaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQRjb252AgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA2CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGCQC5CQIFAXICAV8JAAIBAhZmYWlsIHRvIGNhc3QgaW50byBMaXN0AQ1hc1NwbGl0UmVzdWx0AQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAhYoTGlzdFtBbnldLCBMaXN0W0FueV0pBAJ0MgUHJG1hdGNoMAkAlAoCCQESYXNMaXN0SW50Q29tcGFjdGVkAQgFAnQyAl8xCQESYXNMaXN0SW50Q29tcGFjdGVkAQgFAnQyAl8yCQACAQIeZmFpbCB0byBjYXN0IGludG8gKExpc3QsIExpc3QpAQ53YWxsZXRJbnRlcm5hbAEOdXNlckFkZHJlc3NPcHQEBGFkZHIJAKYIAQUOdXNlckFkZHJlc3NPcHQEB2JhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA7wcBCQEFdmFsdWUBBQRhZGRyCQEOQmFsYW5jZURldGFpbHMEAAAAAAAAAAAEC3VzZHRCYWxhbmNlAwkBCWlzRGVmaW5lZAEFBGFkZHIJAPAHAgkBBXZhbHVlAQUEYWRkcgULdXNkdEFzc2V0SWQAAAQNd2xnb2xkQmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDwBwIJAQV2YWx1ZQEFBGFkZHIFCndsZ0Fzc2V0SWQAAAQKY3VzdG9tTmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlBZGRyZXNzVG9DdXN0b21OYW1lAQUOdXNlckFkZHJlc3NPcHQFDnVzZXJBZGRyZXNzT3B0BAhyZWZCeUtleQkBD2tleUFkZHJlc3NSZWZCeQEFDnVzZXJBZGRyZXNzT3B0BAVyZWZCeQkAnQgCBQ9zdGFraW5nQ29udHJhY3QFCHJlZkJ5S2V5BARyZWZzCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBE2tleUFkZHJlc3NSZWZlcnJhbHMBBQ51c2VyQWRkcmVzc09wdAIABAhsYXN0VHhJZAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARFrZXlMYXN0VHhJZEJ5VXNlcgEFDnVzZXJBZGRyZXNzT3B0AgAEBnBpZWNlcwkAkQMCCQEOZ2V0Vm90aW5nUG93ZXIBBQ51c2VyQWRkcmVzc09wdAUKSWR4RWZmVXNlcgQCeHAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEJa2V5VXNlclhQAQUOdXNlckFkZHJlc3NPcHQAAAQDbHZsCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleVVzZXJMZXZlbAEFDnVzZXJBZGRyZXNzT3B0AAAECmZyZWVQb2ludHMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQERa2V5VXNlckZyZWVQb2ludHMBBQ51c2VyQWRkcmVzc09wdAAABAdvbmJvYXJkAwkBCWlzRGVmaW5lZAEFBXJlZkJ5CQCsAgIFCkFSVE9OQk9BUkQDAwkBCWlzRGVmaW5lZAEFBGFkZHIJAQlpc0RlZmluZWQBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBHGtleU9uYm9hcmRBcnREdWNrQWN0aXZhdGVkQnkBBQ51c2VyQWRkcmVzc09wdAcCAjoxAgI6MAIACQDMCAIJAKwCAgISJXMlc19fY3VzdG9tTmFtZV9fBQpjdXN0b21OYW1lCQDMCAIJAKwCAgISJXMlc19fcmVmZXJyZWRCeV9fCQELdmFsdWVPckVsc2UCBQVyZWZCeQIACQDMCAIJAKwCAgIRJXMlc19fcmVmZXJyYWxzX18FBHJlZnMJAMwIAgkArAICAhAlcyVzX19sYXN0VHhJZF9fBQhsYXN0VHhJZAkAzAgCCQCsAgICFCVzJWRfX3dhdmVzQmFsYW5jZV9fCQCkAwEIBQdiYWxhbmNlCWF2YWlsYWJsZQkAzAgCCQCsAgICFSVzJWRfX3dsZ29sZEJhbGFuY2VfXwkApAMBBQ13bGdvbGRCYWxhbmNlCQDMCAIJAKwCAgITJXMlZF9fdXNkdEJhbGFuY2VfXwkApAMBBQt1c2R0QmFsYW5jZQkAzAgCCQCsAgICFCVzJWRfX3N0YWtlZFBpZWNlc19fCQCkAwEFBnBpZWNlcwkAzAgCCQCsAgICESVzJWRfX2N1cnJlbnRYcF9fCQCkAwEFAnhwCQDMCAIJAKwCAgISJXMlZF9fY3VycmVudEx2bF9fCQCkAwEFA2x2bAkAzAgCCQCsAgICGiVzJWRfX3BvaW50c1RvRGlzdHJpYnV0ZV9fCQCkAwEFCmZyZWVQb2ludHMJAMwIAgkArAICAhclcyVzX193YWxsZXRBcnRlZmFjdHNfXwUHb25ib2FyZAUDbmlsAQxhcHBseUJvbnVzZXMCC2xhbmRBc3NldElkBnBpZWNlcwQKaW5mcmFMZXZlbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlJbmZyYUxldmVsQnlBc3NldElkAQULbGFuZEFzc2V0SWQAAAQJYXJ0UGllY2VzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBIGtleUxhbmRBcnRTdGF0dXNCeVR5cGVBbmRBc3NldElkAgUKQVJUUFJFU0FMRQULbGFuZEFzc2V0SWQAAAQEYWRkNgkAaQIFCmluZnJhTGV2ZWwABgQEYWRkNwkAaQIFCmluZnJhTGV2ZWwABwkAlQoDBQppbmZyYUxldmVsBQlhcnRQaWVjZXMJAGQCCQBkAgUPREFJTFlSRVNCWVBJRUNFCQBrAwUPREFJTFlSRVNCWVBJRUNFCQBkAgkAZAIFCmluZnJhTGV2ZWwFBGFkZDYJAGgCAAIFBGFkZDcABQkAawMFD0RBSUxZUkVTQllQSUVDRQUJYXJ0UGllY2VzCQBoAgUGcGllY2VzAAUBF2dldFdhcmVob3VzZVRvdGFsVm9sdW1lAQl2b2xQcmVmaXgEBXBhcnRzCQC1CQIFCXZvbFByZWZpeAIBXwkAaAIJAGgCBQxXSE1VTFRJUExJRVIJAGQCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFcGFydHMAAQABCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFcGFydHMAAAEMZ2V0V2FyZWhvdXNlAwV3aEtleQlsYW5kSW5kZXgKaW5mcmFMZXZlbAQJdm9sUHJlZml4CQCsAgIJAKwCAgkApAMBBQlsYW5kSW5kZXgCAV8JAKQDAQUKaW5mcmFMZXZlbAQEdG90UwkApAMBCQEXZ2V0V2FyZWhvdXNlVG90YWxWb2x1bWUBBQl2b2xQcmVmaXgEBXdoU3RyCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAUFd2hLZXkJAKwCAgkArAICCQCsAgIJAKwCAgUJdm9sUHJlZml4Ah46MF8wXzBfMF8wXzA6MF8wXzBfMF8wXzA6OjBfMF8FBHRvdFMCAV8FBHRvdFMJALUJAgUFd2hTdHICAToBDWR1Y2tJbmZvVHVwbGUBC2R1Y2tBc3NldElkBAVtYXhIUAkBCW1heEhlYWx0aAEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5RHVja0xldmVsAQULZHVja0Fzc2V0SWQAAAkAlwoFCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtkdWNrQXNzZXRJZAD///////////8BCAkBBXZhbHVlAQkA7AcBCQDZBAEFC2R1Y2tBc3NldElkBG5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEPa2V5RHVja0xvY2F0aW9uAQULZHVja0Fzc2V0SWQCAAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQ1rZXlEdWNrSGVhbHRoAQULZHVja0Fzc2V0SWQFBW1heEhQCQEIYXNTdHJpbmcBCQD8BwQFD3N0YWtpbmdDb250cmFjdAITZ2V0QmFja3BhY2tSRUFET05MWQkAzAgCBQtkdWNrQXNzZXRJZAUDbmlsBQNuaWwBDWR1Y2tJbmZvQXJyYXkDC2R1Y2tBc3NldElkBW93bmVyB2R1Y2tJbmYECmN1c3RvbU5hbWUJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEaa2V5RHVja0Fzc2V0SWRUb0N1c3RvbU5hbWUBBQtkdWNrQXNzZXRJZAgFB2R1Y2tJbmYCXzIEBWNoYXJzCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tDaGFycwEFC2R1Y2tBc3NldElkAgkwXzBfMF8wXzAEAnhwCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBCWtleUR1Y2tYUAEFC2R1Y2tBc3NldElkAAAEA2x2bAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJAQxrZXlEdWNrTGV2ZWwBBQtkdWNrQXNzZXRJZAAABApmcmVlUG9pbnRzCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleUR1Y2tGcmVlUG9pbnRzAQULZHVja0Fzc2V0SWQAAAQGZXF1aXBtCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEGtleUR1Y2tFcXVpcG1lbnQBBQtkdWNrQXNzZXRJZAILO187XztfO187XzsEBWJ1ZmZzCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBDGtleUR1Y2tCdWZmcwEFC2R1Y2tBc3NldElkAgkwXzBfMF8wXzAJAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2R1Y2tBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhIlcyVzX19jdXN0b21OYW1lX18FCmN1c3RvbU5hbWUJAMwIAgkArAICAhIlcyVkX19zdGFrZWRUaW1lX18JAKQDAQgFB2R1Y2tJbmYCXzEJAMwIAgkArAICAgwlcyVzX19uYW1lX18IBQdkdWNrSW5mAl8yCQDMCAIJAKwCAgIQJXMlc19fbG9jYXRpb25fXwgFB2R1Y2tJbmYCXzMJAMwIAgkArAICAg4lcyVkX19oZWFsdGhfXwkApAMBCAUHZHVja0luZgJfNAkAzAgCCQCsAgICESVzJWRfX21heEhlYWx0aF9fCQCkAwEJAQltYXhIZWFsdGgBBQNsdmwJAMwIAgkArAICAhclcyVzX19jaGFyYWN0ZXJpc3RpY3NfXwUFY2hhcnMJAMwIAgkArAICAhElcyVkX19jdXJyZW50WHBfXwkApAMBBQJ4cAkAzAgCCQCsAgICEiVzJWRfX2N1cnJlbnRMdmxfXwkApAMBBQNsdmwJAMwIAgkArAICAholcyVkX19wb2ludHNUb0Rpc3RyaWJ1dGVfXwkApAMBBQpmcmVlUG9pbnRzCQDMCAIJAKwCAgIQJXMlc19fYmFja1BhY2tfXwgFB2R1Y2tJbmYCXzUJAMwIAgkArAICAhElcyVzX19lcXVpcG1lbnRfXwUGZXF1aXBtCQDMCAIJAKwCAgINJXMlc19fYnVmZnNfXwUFYnVmZnMFA25pbAENbGFuZEluZm9BcnJheQMLbGFuZEFzc2V0SWQFb3duZXIKc3Rha2VkVGltZQMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQHbGFuZE51bQMJAGYCCAUBYQhxdWFudGl0eQAACQCRAwIFAWQFCnJlY0xhbmROdW0JAKwCAgIBLQkAkQMCBQFkBQpyZWNMYW5kTnVtBAZwaWVjZXMJAQ9udW1QaWVjZXNCeVNpemUBCQCRAwIFAWQFC3JlY0xhbmRTaXplBAxwcm9kdWN0aXZpdHkJAQxhcHBseUJvbnVzZXMCBQtsYW5kQXNzZXRJZAUGcGllY2VzBAlkZWx0YVRpbWUJAGUCCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUKc3Rha2VkVGltZQQIYXZhaWxSZXMDCQBmAgUKc3Rha2VkVGltZQAACQBrAwUJZGVsdGFUaW1lCQBoAggFDHByb2R1Y3Rpdml0eQJfMwUGcGllY2VzBQlEQVlNSUxMSVMAAAQHbmVlZE1hdAkAawMFEUluZnJhVXBncmFkZUNvc3RTCQBoAgUGcGllY2VzCQBkAggFDHByb2R1Y3Rpdml0eQJfMQABBQVTU0laRQQOZ2xvYmFsQW5kTG9jYWwDCQBmAgUKc3Rha2VkVGltZQAACQENYXNTcGxpdFJlc3VsdAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AiRzcGxpdEJ5R2xvYmFsQW5kTG9jYWxXZWlnaHRzUkVBRE9OTFkJAMwIAgUHbmVlZE1hdAkAzAgCBQhhdmFpbFJlcwkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zBQNuaWwFA25pbAkAlAoCCQESYXNMaXN0SW50Q29tcGFjdGVkAQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCHHNwbGl0QnlHbG9iYWxXZWlnaHRzUkVBRE9OTFkJAMwIAgUHbmVlZE1hdAUDbmlsBQNuaWwCAAQKY3VzdG9tTmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARprZXlMYW5kQXNzZXRJZFRvQ3VzdG9tTmFtZQEFC2xhbmRBc3NldElkCQCsAgIJAKwCAgkAkQMCBQFkBQxyZWNDb250aW5lbnQCAS0JAJEDAgUBZAUKcmVjTGFuZE51bQkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICEiVzJXNfX2N1c3RvbU5hbWVfXwUKY3VzdG9tTmFtZQkAzAgCCQCsAgICEiVzJWRfX3N0YWtlZFRpbWVfXwkApAMBBQpzdGFrZWRUaW1lCQDMCAIJAKwCAgITJXMlc19fZGVzY3JpcHRpb25fXwkAuQkCCQDMCAIFB2xhbmROdW0JAMwIAgkAkQMCBQFkBQtyZWNMYW5kU2l6ZQkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zCQDMCAIJAJEDAgUBZAUMcmVjQ29udGluZW50BQNuaWwCAV8JAMwIAgkArAICAhIlcyVkX19pbmZyYUxldmVsX18JAKQDAQgFDHByb2R1Y3Rpdml0eQJfMQkAzAgCCQCsAgICFiVzJXNfX2F2YWlsUmVzQnlUeXBlX18IBQ5nbG9iYWxBbmRMb2NhbAJfMgkAzAgCCQCsAgICFSVzJWRfX2F2YWlsUmVzVG90YWxfXwkApAMBBQhhdmFpbFJlcwkAzAgCCQCsAgICFCVzJXNfX25lZWRNYXRlcmlhbF9fCAUOZ2xvYmFsQW5kTG9jYWwCXzEJAMwIAgkArAICAh0lcyVzX19sYW5kQXJ0ZWZhY3RzX19QUkVTQUxFOgkApAMBCAUMcHJvZHVjdGl2aXR5Al8yCQDMCAIJAKwCAgIRJXMlc19fd2FyZWhvdXNlX18JALkJAgkBDGdldFdhcmVob3VzZQMJARJrZXlXYXJlaG91c2VCeUxhbmQBBQtsYW5kQXNzZXRJZAkAaQIFBnBpZWNlcwUFU1NJWkUIBQxwcm9kdWN0aXZpdHkCXzECAToJAMwIAgkArAICAhElcyVzX19sYW5kT3JkZXJfXwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9lY29ub215Q29udHJhY3QJAQ5rZXlPcmRlckJ5TGFuZAEFC2xhbmRBc3NldElkAjAwQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDowQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDoFA25pbAESbGFuZE9yZGVySW5mb0FycmF5AgtsYW5kQXNzZXRJZAVvd25lcgMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwTAWkBDWNvbnN0cnVjdG9yVjEBCWNvbnRyYWN0cwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEnBlcm1pc3Npb25zIGRlbmllZAoBCmRlc2NyaXB0b3ICA2FjYwtpZ25vcmVkSXRlbQkArAICBQNhY2MCAiVzBAVkZXNjcgoAAiRsBQljb250cmFjdHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwAgAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCmRlc2NyaXB0b3ICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoJAMwIAgkBC1N0cmluZ0VudHJ5AgkBCmtleVJlc3RDZmcACQC5CQIJAMwIAgUFZGVzY3IFCWNvbnRyYWN0cwUDU0VQCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlSZXN0QWRkcmVzcwAJAKUIAQUEdGhpcwUDbmlsAWkBEndhbGxldEluZm9SRUFET05MWQEOdXNlckFkZHJlc3NPcHQJAJQKAgUDbmlsCQEOd2FsbGV0SW50ZXJuYWwBBQ51c2VyQWRkcmVzc09wdAFpARdkdWNrQnlPd25lckluZm9SRUFET05MWQELdXNlckFkZHJlc3MECnN0YWtlZER1Y2sJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQt1c2VyQWRkcmVzcwkAlAoCBQNuaWwDAwkBCWlzRGVmaW5lZAEJAKYIAQULdXNlckFkZHJlc3MJAQlpc0RlZmluZWQBBQpzdGFrZWREdWNrBwQLZHVja0Fzc2V0SWQJAQV2YWx1ZQEFCnN0YWtlZER1Y2sJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQFC3VzZXJBZGRyZXNzCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkCQENZHVja0luZm9BcnJheQMCAAULdXNlckFkZHJlc3MJAJcKBQD///////////8BAgACAAD///////////8BAgABaQEZZHVja0J5QXNzZXRJZEluZm9SRUFET05MWQELZHVja0Fzc2V0SWQEBW93bmVyCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEGtleUR1Y2tJZFRvT3duZXIBBQtkdWNrQXNzZXRJZAkAlAoCBQNuaWwJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQDCQEJaXNEZWZpbmVkAQUFb3duZXIJAQV2YWx1ZQEFBW93bmVyAgAJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQBaQEZbGFuZEJ5QXNzZXRJZEluZm9SRUFET05MWQELbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAD///////////8BBAVvd25lcgMJAGYCBQpzdGFrZWRUaW1lAAAJAQV2YWx1ZQEJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQULbGFuZEFzc2V0SWQCAAkAlAoCBQNuaWwJAQ1sYW5kSW5mb0FycmF5AwULbGFuZEFzc2V0SWQFBW93bmVyBQpzdGFrZWRUaW1lAWkBHnN0YWtlZExhbmRzQnlPd25lckluZm9SRUFET05MWQEQbGFuZE93bmVyQWRkcmVzcwMJAAACBRBsYW5kT3duZXJBZGRyZXNzAgAJAAIBAhxsYW5kT3duZXJBZGRyZXNzIGlzIHJlcXVpcmVkBAhsYW5kc1N0cgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBBRBsYW5kT3duZXJBZGRyZXNzBAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQkAzQgCBQNhY2MJAQ1sYW5kSW5mb0FycmF5AwULbGFuZEFzc2V0SWQFEGxhbmRPd25lckFkZHJlc3MFCnN0YWtlZFRpbWUEAXIKAAIkbAUFbGFuZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB29uZUxhbmQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgA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SgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQJAJQKAgUDbmlsBQFyAWkBI3dhcmVob3VzZU9yZGVyQnlBc3NldElkSW5mb1JFQURPTkxZAQtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEEBW93bmVyAwkAZgIFCnN0YWtlZFRpbWUAAAkBBXZhbHVlAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBBQtsYW5kQXNzZXRJZAIACQCUCgIFA25pbAkBEmxhbmRPcmRlckluZm9BcnJheQIFC2xhbmRBc3NldElkBQVvd25lcgFpARtvcmRlcnNCeUxhbmRJZHNJbmZvUkVBRE9OTFkBDGxhbmRBc3NldElkcwoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEEBW93bmVyAwkAZgIFCnN0YWtlZFRpbWUAAAkBBXZhbHVlAQkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlMYW5kQXNzZXRJZFRvT3duZXIBBQtsYW5kQXNzZXRJZAIACQDNCAIFA2FjYwkBEmxhbmRPcmRlckluZm9BcnJheQIFC2xhbmRBc3NldElkBQVvd25lcgQBcgoAAiRsBQxsYW5kQXNzZXRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB29uZUxhbmQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBf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JGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAJAJQKAgUDbmlsBQFyAWkBDmZpeFN0YWtlZExhbmRzAQxsYW5kQXNzZXRJZHMEBmNhbGxlcgkApQgBCAUBaQZjYWxsZXIDCQEBIQEJAQ9jb250YWluc0VsZW1lbnQCBQphZG1pbnNMaXN0BQZjYWxsZXIJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQBcgkBBWFzSW50AQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCF2ZpeENvbnRpbmVudFByb3BvcnRpb25zCQDMCAIFDGxhbmRBc3NldElkcwUDbmlsBQNuaWwJAJQKAgUDbmlsBQFyAWkBDXNlbmRVc2R0UHJpemUBC3VzZXJBZGRyZXNzAwkBAiE9AggFAWkGY2FsbGVyBQ9zdGFraW5nQ29udHJhY3QJAAIBAhFwZXJtaXNzaW9uIGRlbmllZAQDYW10CQBrAwkA8AcCBQR0aGlzBQt1c2R0QXNzZXRJZAUNVVNEVFBSSVpFUEFSVAUFTVVMVDYJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQt1c2VyQWRkcmVzcwUDYW10BQt1c2R0QXNzZXRJZAUDbmlsBQNhbXQBaQEfZ2V0RW1lcmdlbmN5U2VydmljZURhdGFSRUFET05MWQAECGV4aXN0U3RyCQCdCAIFD2Vjb25vbXlDb250cmFjdAkBDmtleUVzV2FyZWhvdXNlAAQMZXhpc3RBbW91bnRzAwkBCWlzRGVmaW5lZAEFCGV4aXN0U3RyCQC8CQIJAQV2YWx1ZQEFCGV4aXN0U3RyAgFfBQNuaWwKAQpzaW5nbGVQcm9kAgNhY2MJcmVjaXBlU3RyBAFuCAUDYWNjAl8yBAZyZWNpcGUJALUJAgUJcmVjaXBlU3RyAgFfBAltYXhBbW91bnQDCQAAAgUBbgAACQBoAgUNRVNNQVhQQUNLQUdFUwUOUFJPRFVDVFBLR1NJWkUAAAQLZXhpc3RBbW91bnQDCQBmAgkAkAMBBQxleGlzdEFtb3VudHMF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AhclcyVzJWRfX3VzZHRBcmJpdHJhZ2VfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdBcmJpdHJhZ2UJAMwIAgkArAICAhIlcyVzJWRfX3VzZHRQb29sX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUKaWR4V2xnUG9vbAkAzAgCCQCsAgICFiVzJXMlZF9fd2xnSXNzdWVUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnSXNzdWVUaW1lCQDMCAIJAKwCAgIlJXMlcyVkX193bGdMYXN0TWFya2V0aW5nVGVhbUFjdFRpbWVfXwkApAMBCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdMYXN0TVRBVGltZQkAzAgCCQCsAgICGyVzJXMlZF9fd2xnTWFya2V0aW5nVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRRpZHhXbGdNYXJrZXRpbmdUb3RhbAkAzAgCCQCsAgICHCVzJXMlZF9fd2xnTWFya2V0aW5nQW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaWR4V2xnTWFya2V0aW5nQW1MZWZ0CQDMCAIJAKwCAgIgJXMlcyVkX193bGdNYXJrZXRpbmdBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUZaWR4V2xnTWFya2V0aW5nQW1BdmFpbE5vdwkAzAgCCQCsAgICHCVzJXMlZF9fd2xnTWFya2V0aW5nV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUVaWR4V2xnTWFya2V0aW5nV2xnb2xkCQDMCAIJAKwCAgIWJXMlcyVkX193bGdUZWFtVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdUZWFtVG90YWwJAMwIAgkArAICAhclcyVzJWRfX3dsZ1RlYW1BbUxlZnRfXwkApAMBCQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtQW1MZWZ0CQDMCAIJAKwCAgIbJXMlcyVkX193bGdUZWFtQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1RlYW1BbUF2YWlsTm93CQDMCAIJAKwCAgIXJXMlcyVkX193bGdUZWFtV2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUQaWR4V2xnVGVhbVdsZ29sZAkAzAgCCQCsAgICFSVzJXMlZF9fd2xnQWN0VG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ5pZHhXbGdBY3RUb3RhbAkAzAgCCQCsAgICFiVzJXMlZF9fd2xnQWN0QW1MZWZ0X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0QW1MZWZ0CQDMCAIJAKwCAgIaJXMlcyVkX193bGdBY3RBbUF2YWlsTm93X18JAKQDAQkAkQMCBQhjdXJTdGF0cwUTaWR4V2xnQWN0QW1BdmFpbE5vdwkAzAgCCQCsAgICFiVzJXMlZF9fd2xnQWN0V2xnb2xkX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0V2xnb2xkCQDMCAIJAKwCAgIWJXMlcyVkX193bGdDdXJQZXJpb2RfXwkApAMBCQCRAwIFCGN1clN0YXRzBQ9pZHhXbGdDdXJQZXJpb2QJAMwIAgkArAICAhglcyVzJWRfX3dsZ0FtTGVmdFRvdGFsX18JAKQDAQkAkQMCBQhjdXJTdGF0cwURaWR4V2xnQW1MZWZ0VG90YWwJAMwIAgkArAICAiIlcyVzJWRfX3dsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbl9fCQCkAwEJAJEDAgUIY3VyU3RhdHMFG2lkeFdsZ0N1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCCQCsAgICGSVzJXMlZF9fd2xnTGFzdFVzZXJUaW1lX18JAKQDAQkAkQMCBQhjdXJTdGF0cwUSaWR4V2xnTGFzdFVzZXJUaW1lCQDMCAIJAKwCAgIbJXMlcyVkX193bGdVc2VyQW1BdmFpbE5vd19fCQCkAwEJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1VzZXJBbUF2YWlsTm93CQDMCAIJAKwCAgIcJXMlcyVkX193bGdHdWVzdFNMYW5kRGFpbHlfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpZHhXbGdTTGFuZERhaWx5QW1vdW50CQDMCAIJAKwCAgIcJXMlcyVkX193bGdJbnZlc3RGdW5kVG90YWxfXwkApAMBCQCRAwIFCGN1clN0YXRzBRZpZHhXbGdJbnZlc3RGdW5kQW1vdW50BQNuaWwBaQEXdG91cm5hbWVudFN0YXRzUkVBRE9OTFkBDHRvdXJuYW1lbnRJZAQFdERhdGEJAQtnZXRUb3VyRGF0YQIFEnRvdXJuYW1lbnRDb250cmFjdAUMdG91cm5hbWVudElkBAZzdGF0aWMJAJEDAgUFdERhdGEFCWlkeFN0YXRpYwQHZHluYW1pYwkAkQMCBQV0RGF0YQUKaWR4RHluYW1pYwQHd2luRHVjawMJAAACCQCRAwIFB2R5bmFtaWMFD3REeW5hbWljV2luRHVjawIAAgEgCQCRAwIFB2R5bmFtaWMFD3REeW5hbWljV2luRHVjawQLcmVnaXN0cmFudHMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUSdG91cm5hbWVudENvbnRyYWN0CQEXa2V5QWxsUmVnaXN0cmFudHNCeVRvdXIBBQx0b3VybmFtZW50SWQCAAkAlAoCBQNuaWwJAMwIAgkArAICAhwlcyVzX190b3VybmFtZW50U3RhdGljRGF0YV9fCQC5CQIJAMwIAgkAkQMCBQZzdGF0aWMFE3RTdGF0aWNSZWdpc3RlckNvc3QJAMwIAgkAkQMCBQZzdGF0aWMFEnRTdGF0aWNBdHRlbXB0Q29zdAkAzAgCCQCRAwIFBnN0YXRpYwUMdFN0YXRpY1N0YXJ0CQDMCAIJAJEDAgUGc3RhdGljBQp0U3RhdGljRW5kBQNuaWwCAV8JAMwIAgkArAICAh0lcyVzX190b3VybmFtZW50RHluYW1pY0RhdGFfXwkAuQkCCQDMCAIJAJEDAgUHZHluYW1pYwUOdER5bmFtaWNTdGF0dXMJAMwIAgUHd2luRHVjawkAzAgCCQCRAwIFB2R5bmFtaWMFEXREeW5hbWljV2luUmVzdWx0CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbFJlZ0NvdW50CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbEF0dGVtcHRzBQNuaWwCAV8JAMwIAgkArAICAh0lcyVzX190b3VybmFtZW50UmVnaXN0cmFudHNfXwULcmVnaXN0cmFudHMFA25pbAFpARtsYXN0VG91cm5hbWVudFN0YXRzUkVBRE9OTFkABAx0b3VybmFtZW50SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSdG91cm5hbWVudENvbnRyYWN0BQ1sYXN0VG91cklkS2V5AAAEBnN0YXRpYwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBFWtleVRvdXJTdGF0aWNEYXRhQnlJZAEFDHRvdXJuYW1lbnRJZAIYJXMlZCVkJWQlZCVkX19fX19fX19fX19fBQNTRVAEB2R5bmFtaWMJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBRJ0b3VybmFtZW50Q29udHJhY3QJARZrZXlUb3VyRHluYW1pY0RhdGFCeUlkAQUMdG91cm5hbWVudElkAhQlcyVzJWQlZCVkX19fX19fX19fXwUDU0VQBAd3aW5EdWNrAwkAAAIJAJEDAgUHZHluYW1pYwUPdER5bmFtaWNXaW5EdWNrAgACASAJAJEDAgUHZHluYW1pYwUPdER5bmFtaWNXaW5EdWNrBAtyZWdpc3RyYW50cwkBC3ZhbHVlT3JFbHNlAgkAnQgCBRJ0b3VybmFtZW50Q29udHJhY3QJARdrZXlBbGxSZWdpc3RyYW50c0J5VG91cgEFDHRvdXJuYW1lbnRJZAIACQCUCgIFA25pbAkAzAgCCQCsAgICGCVzJXNfX2xhc3RUb3VybmFtZW50SWRfXwkApAMBBQx0b3VybmFtZW50SWQJAMwIAgkArAICAhwlcyVzX190b3VybmFtZW50U3RhdGljRGF0YV9fCQC5CQIJAMwIAgkAkQMCBQZzdGF0aWMFE3RTdGF0aWNSZWdpc3RlckNvc3QJAMwIAgkAkQMCBQZzdGF0aWMFEnRTdGF0aWNBdHRlbXB0Q29zdAkAzAgCCQCRAwIFBnN0YXRpYwUMdFN0YXRpY1N0YXJ0CQDMCAIJAJEDAgUGc3RhdGljBQp0U3RhdGljRW5kBQNuaWwCAV8JAMwIAgkArAICAh0lcyVzX190b3VybmFtZW50RHluYW1pY0RhdGFfXwkAuQkCCQDMCAIJAJEDAgUHZHluYW1pYwUOdER5bmFtaWNTdGF0dXMJAMwIAgUHd2luRHVjawkAzAgCCQCRAwIFB2R5bmFtaWMFEXREeW5hbWljV2luUmVzdWx0CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbFJlZ0NvdW50CQDMCAIJAJEDAgUHZHluYW1pYwUVdER5bmFtaWNUb3RhbEF0dGVtcHRzBQNuaWwCAV8JAMwIAgkArAICAh0lcyVzX190b3VybmFtZW50UmVnaXN0cmFudHNfXwULcmVnaXN0cmFudHMFA25pbAFpARt0b3VybmFtZW50RHVja1N0YXRzUkVBRE9OTFkCA3RJZAtkdWNrQXNzZXRJZAQJaXNEdWNrUmVnCQELdmFsdWVPckVsc2UCCQCbCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBHGtleUlzUmVnaXN0ZXJlZEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkBwQPbGFzdER1Y2tBdHRlbXB0CQELdmFsdWVPckVsc2UCCQCaCAIFEnRvdXJuYW1lbnRDb250cmFjdAkBG2tleUxhc3RBdHRlbXB0QnlUb3VyQW5kRHVjawIFA3RJZAULZHVja0Fzc2V0SWQAAAQOYmVzdER1Y2tSZXN1bHQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUSdG91cm5hbWVudENvbnRyYWN0CQEaa2V5QmVzdFJlc3VsdEJ5VG91ckFuZER1Y2sCBQN0SWQFC2R1Y2tBc3NldElkAAAJAJQKAgUDbmlsCQDMCAIJAKwCAgIbJXMlc19fdG91cm5hbWVudER1Y2tTdGF0c19fCQC5CQIJAMwIAgkApQMBBQlpc0R1Y2tSZWcJAMwIAgkApAMBBQ9sYXN0RHVja0F0dGVtcHQJAMwIAgkApAMBBQ5iZXN0RHVja1Jlc3VsdAUDbmlsAgFfBQNuaWwAOeZ3yw==", "height": 2713866, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BTv1RiP1iUEozxPpFZ6U1dRzbm2SkgpHSXrVgzfkdNYP Next: G1fzDyYZWpRFir3HwmZRBwUBjR3Uy7hnqxmonzG9VS6c Diff:
OldNewDifferences
213213 func bw (t) = ("userFreePoints_" + t)
214214
215215
216-func bx (by) = (100 + by)
216+func bx (bo) = ("duckBuffs_" + bo)
217217
218218
219-let bz = "PRESALE"
220-
221-let bA = "ONBOARD"
222-
223-let bB = 6
224-
225-let bC = 3456000
226-
227-let bD = 86400000
228-
229-let bE = 10000000000
230-
231-let bF = 39637
232-
233-let bG = 3
234-
235-let bH = 4
236-
237-let bI = 10
238-
239-let bJ = 10000000
240-
241-let bK = ["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", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_"]
242-
243-let bL = 6
244-
245-let bM = 10
246-
247-func bN (t) = ("lastTxIdByUser_" + t)
219+func by (bz) = (100 + bz)
248220
249221
250-func bO (bP) = ("nftOwner_" + bP)
222+let bA = "PRESALE"
223+
224+let bB = "ONBOARD"
225+
226+let bC = 6
227+
228+let bD = 3456000
229+
230+let bE = 86400000
231+
232+let bF = 10000000000
233+
234+let bG = 39637
235+
236+let bH = 3
237+
238+let bI = 4
239+
240+let bJ = 10
241+
242+let bK = 10000000
243+
244+let bL = ["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", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_"]
245+
246+let bM = 6
247+
248+let bN = 10
249+
250+func bO (t) = ("lastTxIdByUser_" + t)
251251
252252
253-func bQ (bP) = ("landCustomNameByAssetId_" + bP)
253+func bP (bQ) = ("nftOwner_" + bQ)
254254
255255
256-func bR (bP) = ("stakedTime_" + bP)
256+func bR (bQ) = ("landCustomNameByAssetId_" + bQ)
257257
258258
259-func bS (bP) = ("infraLevel_" + bP)
259+func bS (bQ) = ("stakedTime_" + bQ)
260260
261261
262-func bT (bU,bP) = makeString(["landArtStatus", bU, bP], "_")
262+func bT (bQ) = ("infraLevel_" + bQ)
263263
264264
265-func bV (bW) = ("wareHouse_" + bW)
265+func bU (bV,bQ) = makeString(["landArtStatus", bV, bQ], "_")
266266
267267
268-func bX (bP) = ("duckCustomNameByAssetId_" + bP)
268+func bW (bX) = ("wareHouse_" + bX)
269269
270270
271-func bY (t) = ("accountCustomNameByAddr_" + t)
271+func bY (bQ) = ("duckCustomNameByAssetId_" + bQ)
272272
273273
274-func bZ (t) = ("accRefBy_" + t)
274+func bZ (t) = ("accountCustomNameByAddr_" + t)
275275
276276
277-func ca (t) = ("onboardArtActivatedDuckBy_" + t)
277+func ca (t) = ("accRefBy_" + t)
278278
279279
280-func cb (t) = ("accReferrals_" + t)
280+func cb (t) = ("onboardArtActivatedDuckBy_" + t)
281281
282282
283-func cc (bP) = ("duckOwner_" + bP)
283+func cc (t) = ("accReferrals_" + t)
284284
285285
286-func cd (ce) = ("stakedDuckByOwner_" + ce)
286+func cd (bQ) = ("duckOwner_" + bQ)
287287
288288
289-func cf (bo) = ("duckLocation_" + bo)
289+func ce (cf) = ("stakedDuckByOwner_" + cf)
290290
291291
292-func cg () = "contractsBlocked"
292+func cg (bo) = ("duckLocation_" + bo)
293293
294294
295-func ch (bW) = ("landOrder_" + bW)
295+func ch () = "contractsBlocked"
296296
297297
298-func ci () = "emergencyWarehouseProducts"
298+func ci (bX) = ("landOrder_" + bX)
299299
300300
301-let cj = "%s__lastTourId"
302-
303-func ck (cl) = ("%s%d__tourStaticData__" + toString(cl))
301+func cj () = "emergencyWarehouseProducts"
304302
305303
306-func cm (cl) = ("%s%d__tourDynamicData__" + toString(cl))
304+let ck = "%s__lastTourId"
305+
306+func cl (cm) = ("%s%d__tourStaticData__" + toString(cm))
307307
308308
309-func cn (cl) = ("%s%d__allRegistrants__" + toString(cl))
309+func cn (cm) = ("%s%d__tourDynamicData__" + toString(cm))
310310
311311
312-let co = 0
312+func co (cm) = ("%s%d__allRegistrants__" + toString(cm))
313313
314-let cp = 1
315314
316-func cq (cr,cl) = {
317- let cs = split(valueOrErrorMessage(getString(cr, ck(cl)), (("Error reading tournament " + toString(cl)) + " data")), "__")
318- let ct = split(valueOrErrorMessage(getString(cr, cm(cl)), (("Error reading tournament " + toString(cl)) + " data")), "__")
319-[cs, ct]
315+let cp = 0
316+
317+let cq = 1
318+
319+func cr (cs,cm) = {
320+ let ct = split(valueOrErrorMessage(getString(cs, cl(cm)), (("Error reading tournament " + toString(cm)) + " data")), "__")
321+ let cu = split(valueOrErrorMessage(getString(cs, cn(cm)), (("Error reading tournament " + toString(cm)) + " data")), "__")
322+[ct, cu]
320323 }
321324
322325
323-let cu = 2
326+let cv = 2
324327
325-let cv = 3
328+let cw = 3
326329
327-let cw = 5
330+let cx = 5
328331
329-let cx = 6
332+let cy = 6
330333
331-let cy = 1
334+let cz = 1
332335
333-let cz = 2
336+let cA = 2
334337
335-let cA = 3
338+let cB = 3
336339
337-let cB = 4
340+let cC = 4
338341
339-let cC = 5
342+let cD = 5
340343
341-func cD (cl,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cl), bo], "__")
344+func cE (cm,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cm), bo], "__")
342345
343346
344-func cE (cl,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cl), bo], "__")
347+func cF (cm,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cm), bo], "__")
345348
346349
347-func cF (cl,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cl), bo], "__")
350+func cG (cm,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cm), bo], "__")
348351
349352
350-func cG (cH) = (parseIntValue(cH[bL]) * bJ)
353+func cH (cI) = (parseIntValue(cI[bM]) * bK)
351354
352355
353-let cI = take(drop(this.bytes, 1), 1)
356+let cJ = take(drop(this.bytes, 1), 1)
354357
355-let cJ = {
356- let cK = cI
357- if ((base58'2W' == cK))
358+let cK = {
359+ let cL = cJ
360+ if ((base58'2W' == cL))
358361 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
359- else if ((base58'2T' == cK))
362+ else if ((base58'2T' == cL))
360363 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
361364 else throw("Unknown chain")
362365 }
363366
364-let cL = {
365- let cK = cI
366- if ((base58'2W' == cK))
367+let cM = {
368+ let cL = cJ
369+ if ((base58'2W' == cL))
367370 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
368- else if ((base58'2T' == cK))
371+ else if ((base58'2T' == cL))
369372 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
370373 else throw("Unknown chain")
371374 }
372375
373-let cM = {
374- let cK = cI
375- if ((base58'2W' == cK))
376+let cN = {
377+ let cL = cJ
378+ if ((base58'2W' == cL))
376379 then 10000000000
377- else if ((base58'2T' == cK))
380+ else if ((base58'2T' == cL))
378381 then 100000000
379382 else throw("Unknown chain")
380383 }
381384
382-let cN = "__"
385+let cO = "__"
383386
384-let cO = 1000000
387+let cP = 1000000
385388
386-let cP = 100000000
389+let cQ = 100000000
387390
388-let cQ = 25
391+let cR = 25
389392
390-let cR = 100
393+let cS = 100
391394
392-let cS = 225
395+let cT = 225
393396
394-let cT = 400
397+let cU = 400
395398
396-let cU = 625
399+let cV = 625
397400
398-func cV (cW,cX) = valueOrErrorMessage(getString(cW, cX), makeString(["mandatory ", toString(cW), ".", cX, " is not defined"], ""))
401+func cW (cX,cY) = valueOrErrorMessage(getString(cX, cY), makeString(["mandatory ", toString(cX), ".", cY, " is not defined"], ""))
399402
400403
401-let cY = 1
404+let cZ = 1
402405
403-let cZ = 2
406+let da = 2
404407
405-let da = 3
408+let db = 3
406409
407-let db = 4
410+let dc = 4
408411
409-let dc = 5
412+let dd = 5
410413
411-let dd = 6
414+let de = 6
412415
413-let de = 7
416+let df = 7
414417
415-func df () = "%s__restConfig"
418+func dg () = "%s__restConfig"
416419
417420
418-func dg () = "%s__restAddr"
421+func dh () = "%s__restAddr"
419422
420423
421-func dh (di) = split_4C(cV(di, df()), cN)
424+func di (dj) = split_4C(cW(dj, dg()), cO)
422425
423426
424-func dj (dk,dl) = valueOrErrorMessage(addressFromString(dk[dl]), ("Rest cfg doesn't contain address at index " + toString(dl)))
427+func dk (dl,dm) = valueOrErrorMessage(addressFromString(dl[dm]), ("Rest cfg doesn't contain address at index " + toString(dm)))
425428
426429
427-let dm = addressFromStringValue(valueOrElse(getString(this, dg()), cL))
430+let dn = addressFromStringValue(valueOrElse(getString(this, dh()), cM))
428431
429-let dk = dh(dm)
432+let dl = di(dn)
430433
431-let aj = dj(dk, cY)
434+let aj = dk(dl, cZ)
432435
433-let dn = dj(dk, cZ)
436+let do = dk(dl, da)
434437
435-let do = dj(dk, da)
438+let dp = dk(dl, db)
436439
437-let dp = dj(dk, db)
440+let dq = dk(dl, dc)
438441
439-let dq = dj(dk, dc)
442+let dr = dk(dl, dd)
440443
441-let aH = dj(dk, dd)
444+let aH = dk(dl, de)
442445
443-let dr = dj(dk, de)
446+let ds = dk(dl, df)
444447
445-let ds = 0
448+let dt = 0
446449
447-let dt = 1
450+let du = 1
448451
449-let du = 2
452+let dv = 2
450453
451-let dv = 3
454+let dw = 3
452455
453-let dw = "wlg_assetId"
456+let dx = "wlg_assetId"
454457
455-let dx = valueOrErrorMessage(getBinary(dp, dw), "Not initialized yet")
458+let dy = valueOrErrorMessage(getBinary(dq, dx), "Not initialized yet")
456459
457-let dy = 1
460+let dz = 1
458461
459-func dz () = "resTypesProportions"
462+func dA () = "resTypesProportions"
460463
461464
462-func dA (ce) = ("stakedLandsByOwner_" + ce)
465+func dB (cf) = ("stakedLandsByOwner_" + cf)
463466
464467
465-func dB (ce) = ("stakedPiecesByOwner_" + ce)
468+func dC (cf) = ("stakedPiecesByOwner_" + cf)
466469
467470
468-func dC (dD) = {
469- let cK = dD
470- if ($isInstanceOf(cK, "String"))
471+func dD (dE) = {
472+ let cL = dE
473+ if ($isInstanceOf(cL, "String"))
471474 then {
472- let dE = cK
473- dE
475+ let dF = cL
476+ dF
474477 }
475478 else throw("fail to cast into String")
476479 }
477480
478481
479-func dF (dD) = {
480- let cK = dD
481- if ($isInstanceOf(cK, "Int"))
482+func dG (dE) = {
483+ let cL = dE
484+ if ($isInstanceOf(cL, "Int"))
482485 then {
483- let dG = cK
484- dG
486+ let dH = cL
487+ dH
485488 }
486489 else throw("fail to cast into Int")
487490 }
488491
489492
490-func dH (dD) = {
491- let cK = dD
492- if ($isInstanceOf(cK, "Boolean"))
493+func dI (dE) = {
494+ let cL = dE
495+ if ($isInstanceOf(cL, "Boolean"))
493496 then {
494- let dE = cK
495- dE
497+ let dF = cL
498+ dF
496499 }
497500 else throw("fail to cast into Boolean")
498501 }
499502
500503
501-func dI (dJ) = {
502- let cK = dJ
503- if (("S" == cK))
504- then cQ
505- else if (("M" == cK))
506- then cR
507- else if (("L" == cK))
508- then cS
509- else if (("XL" == cK))
510- then cT
511- else if (("XXL" == cK))
512- then cU
504+func dJ (dK) = {
505+ let cL = dK
506+ if (("S" == cL))
507+ then cR
508+ else if (("M" == cL))
509+ then cS
510+ else if (("L" == cL))
511+ then cT
512+ else if (("XL" == cL))
513+ then cU
514+ else if (("XXL" == cL))
515+ then cV
513516 else throw("Unknown land size")
514517 }
515518
516519
517-func dK (ai) = {
518- let ak = split(valueOrElse(getString(aj, dz()), "0_0_0_0_0_0"), "_")
520+func dL (ai) = {
521+ let ak = split(valueOrElse(getString(aj, dA()), "0_0_0_0_0_0"), "_")
519522 func al (am,an) = (am + parseIntValue(an))
520523
521524 let ao = {
532535
533536 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
534537 }
535- let aw = valueOrElse(getInteger(aj, dB(ai)), 0)
538+ let aw = valueOrElse(getInteger(aj, dC(ai)), 0)
536539 [ao, aw]
537540 }
538541
539542
540-let dL = 500000
543+let dM = 500000
541544
542-let dM = [toString(this), {
543- let cK = cI
544- if ((base58'2W' == cK))
545+let dN = [toString(this), {
546+ let cL = cJ
547+ if ((base58'2W' == cL))
545548 then "3P64qEVzuGzBJuYfDXYisFtokJChSRa8uja"
546- else if ((base58'2T' == cK))
549+ else if ((base58'2T' == cL))
547550 then "3N3gSFrTwgiLAFZHMuJrEttht1nPhnkpvjs"
548551 else throw("Unknown chain")
549552 }]
550553
551-func dN (dO) = {
552- let cK = dO
553- if ($isInstanceOf(cK, "List[Any]"))
554+func dO (dP) = {
555+ let cL = dP
556+ if ($isInstanceOf(cL, "List[Any]"))
554557 then {
555- let dP = cK
556- if ((size(dP) != bB))
557- then throw(("Array size is " + toString(size(dP))))
558+ let dQ = cL
559+ if ((size(dQ) != bC))
560+ then throw(("Array size is " + toString(size(dQ))))
558561 else {
559- func dQ (am,an) = {
560- let dR = an
561- if ($isInstanceOf(dR, "Int"))
562+ func dR (am,an) = {
563+ let dS = an
564+ if ($isInstanceOf(dS, "Int"))
562565 then {
563- let dS = dR
564- (am :+ toString(dS))
566+ let dT = dS
567+ (am :+ toString(dT))
565568 }
566569 else throw("List type is not Int")
567570 }
568571
569- let dT = {
570- let ap = dP
572+ let dU = {
573+ let ap = dQ
571574 let aq = size(ap)
572575 let ar = nil
573576 func as (at,au) = if ((au >= aq))
574577 then at
575- else dQ(at, ap[au])
578+ else dR(at, ap[au])
576579
577580 func av (at,au) = if ((au >= aq))
578581 then at
580583
581584 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
582585 }
583- makeString(dT, "_")
586+ makeString(dU, "_")
584587 }
585588 }
586589 else throw("fail to cast into List")
587590 }
588591
589592
590-func dU (dO) = {
591- let cK = dO
592- if ($isInstanceOf(cK, "(List[Any], List[Any])"))
593+func dV (dP) = {
594+ let cL = dP
595+ if ($isInstanceOf(cL, "(List[Any], List[Any])"))
593596 then {
594- let dV = cK
595- $Tuple2(dN(dV._1), dN(dV._2))
597+ let dW = cL
598+ $Tuple2(dO(dW._1), dO(dW._2))
596599 }
597600 else throw("fail to cast into (List, List)")
598601 }
599602
600603
601-func dW (dX) = {
602- let t = addressFromString(dX)
603- let dY = if (isDefined(t))
604+func dX (dY) = {
605+ let t = addressFromString(dY)
606+ let dZ = if (isDefined(t))
604607 then wavesBalance(value(t))
605608 else BalanceDetails(0, 0, 0, 0)
606- let dZ = if (isDefined(t))
607- then assetBalance(value(t), cJ)
609+ let ea = if (isDefined(t))
610+ then assetBalance(value(t), cK)
608611 else 0
609- let ea = if (isDefined(t))
610- then assetBalance(value(t), dx)
612+ let eb = if (isDefined(t))
613+ then assetBalance(value(t), dy)
611614 else 0
612- let eb = valueOrElse(getString(aj, bY(dX)), dX)
613- let ec = bZ(dX)
614- let ed = getString(aj, ec)
615- let ee = valueOrElse(getString(aj, cb(dX)), "")
616- let ef = valueOrElse(getString(aj, bN(dX)), "")
617- let eg = dK(dX)[dy]
618- let eh = valueOrElse(getInteger(aj, bu(dX)), 0)
619- let ei = valueOrElse(getInteger(aj, bv(dX)), 0)
620- let ej = valueOrElse(getInteger(aj, bw(dX)), 0)
621- let ek = if (isDefined(ed))
622- then (bA + (if (if (isDefined(t))
623- then isDefined(getString(aj, ca(dX)))
615+ let ec = valueOrElse(getString(aj, bZ(dY)), dY)
616+ let ed = ca(dY)
617+ let ee = getString(aj, ed)
618+ let ef = valueOrElse(getString(aj, cc(dY)), "")
619+ let eg = valueOrElse(getString(aj, bO(dY)), "")
620+ let eh = dL(dY)[dz]
621+ let ei = valueOrElse(getInteger(aj, bu(dY)), 0)
622+ let ej = valueOrElse(getInteger(aj, bv(dY)), 0)
623+ let ek = valueOrElse(getInteger(aj, bw(dY)), 0)
624+ let el = if (isDefined(ee))
625+ then (bB + (if (if (isDefined(t))
626+ then isDefined(getString(aj, cb(dY)))
624627 else false)
625628 then ":1"
626629 else ":0"))
627630 else ""
628-[("%s%s__customName__" + eb), ("%s%s__referredBy__" + valueOrElse(ed, "")), ("%s%s__referrals__" + ee), ("%s%s__lastTxId__" + ef), ("%s%d__wavesBalance__" + toString(dY.available)), ("%s%d__wlgoldBalance__" + toString(ea)), ("%s%d__usdtBalance__" + toString(dZ)), ("%s%d__stakedPieces__" + toString(eg)), ("%s%d__currentXp__" + toString(eh)), ("%s%d__currentLvl__" + toString(ei)), ("%s%d__pointsToDistribute__" + toString(ej)), ("%s%s__walletArtefacts__" + ek)]
631+[("%s%s__customName__" + ec), ("%s%s__referredBy__" + valueOrElse(ee, "")), ("%s%s__referrals__" + ef), ("%s%s__lastTxId__" + eg), ("%s%d__wavesBalance__" + toString(dZ.available)), ("%s%d__wlgoldBalance__" + toString(eb)), ("%s%d__usdtBalance__" + toString(ea)), ("%s%d__stakedPieces__" + toString(eh)), ("%s%d__currentXp__" + toString(ei)), ("%s%d__currentLvl__" + toString(ej)), ("%s%d__pointsToDistribute__" + toString(ek)), ("%s%s__walletArtefacts__" + el)]
629632 }
630633
631634
632-func el (bW,eg) = {
633- let em = valueOrElse(getInteger(aj, bS(bW)), 0)
634- let en = valueOrElse(getInteger(aj, bT(bz, bW)), 0)
635- let eo = (em / 6)
636- let ep = (em / 7)
637- $Tuple3(em, en, ((bC + fraction(bC, ((em + eo) + (2 * ep)), 5)) + fraction(bC, en, (eg * 5))))
635+func em (bX,eh) = {
636+ let en = valueOrElse(getInteger(aj, bT(bX)), 0)
637+ let eo = valueOrElse(getInteger(aj, bU(bA, bX)), 0)
638+ let ep = (en / 6)
639+ let eq = (en / 7)
640+ $Tuple3(en, eo, ((bD + fraction(bD, ((en + ep) + (2 * eq)), 5)) + fraction(bD, eo, (eh * 5))))
638641 }
639642
640643
641-func eq (er) = {
642- let es = split(er, "_")
643- ((bE * (parseIntValue(es[1]) + 1)) * parseIntValue(es[0]))
644+func er (es) = {
645+ let et = split(es, "_")
646+ ((bF * (parseIntValue(et[1]) + 1)) * parseIntValue(et[0]))
644647 }
645648
646649
647-func et (eu,ev,em) = {
648- let er = ((toString(ev) + "_") + toString(em))
649- let ew = toString(eq(er))
650- let ex = valueOrElse(getString(aj, eu), ((((er + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ew) + "_") + ew))
651- split(ex, ":")
650+func eu (ev,ew,en) = {
651+ let es = ((toString(ew) + "_") + toString(en))
652+ let ex = toString(er(es))
653+ let ey = valueOrElse(getString(aj, ev), ((((es + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ex) + "_") + ex))
654+ split(ey, ":")
652655 }
653656
654657
655-func ey (bo) = {
656- let ez = bx(valueOrElse(getInteger(aj, br(bo)), 0))
657- $Tuple5(valueOrElse(getInteger(aj, bR(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cf(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), ez), dC(invoke(aj, "getBackpackREADONLY", [bo], nil)))
658+func ez (bo) = {
659+ let eA = by(valueOrElse(getInteger(aj, br(bo)), 0))
660+ $Tuple5(valueOrElse(getInteger(aj, bS(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cg(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eA), dD(invoke(aj, "getBackpackREADONLY", [bo], nil)))
658661 }
659662
660663
661-func eA (bo,eB,eC) = {
662- let eb = valueOrElse(getString(aj, bX(bo)), eC._2)
663- let eD = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
664- let eh = valueOrElse(getInteger(aj, bq(bo)), 0)
665- let ei = valueOrElse(getInteger(aj, br(bo)), 0)
666- let ej = valueOrElse(getInteger(aj, bs(bo)), 0)
667- let eE = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
668-[("%s%s__assetId__" + bo), ("%s%s__owner__" + eB), ("%s%s__customName__" + eb), ("%s%d__stakedTime__" + toString(eC._1)), ("%s%s__name__" + eC._2), ("%s%s__location__" + eC._3), ("%s%d__health__" + toString(eC._4)), ("%s%d__maxHealth__" + toString(bx(ei))), ("%s%s__characteristics__" + eD), ("%s%d__currentXp__" + toString(eh)), ("%s%d__currentLvl__" + toString(ei)), ("%s%d__pointsToDistribute__" + toString(ej)), ("%s%s__backPack__" + eC._5), ("%s%s__equipment__" + eE)]
664+func eB (bo,eC,eD) = {
665+ let ec = valueOrElse(getString(aj, bY(bo)), eD._2)
666+ let eE = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
667+ let ei = valueOrElse(getInteger(aj, bq(bo)), 0)
668+ let ej = valueOrElse(getInteger(aj, br(bo)), 0)
669+ let ek = valueOrElse(getInteger(aj, bs(bo)), 0)
670+ let eF = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
671+ let eG = valueOrElse(getString(aj, bx(bo)), "0_0_0_0_0")
672+[("%s%s__assetId__" + bo), ("%s%s__owner__" + eC), ("%s%s__customName__" + ec), ("%s%d__stakedTime__" + toString(eD._1)), ("%s%s__name__" + eD._2), ("%s%s__location__" + eD._3), ("%s%d__health__" + toString(eD._4)), ("%s%d__maxHealth__" + toString(by(ej))), ("%s%s__characteristics__" + eE), ("%s%d__currentXp__" + toString(ei)), ("%s%d__currentLvl__" + toString(ej)), ("%s%d__pointsToDistribute__" + toString(ek)), ("%s%s__backPack__" + eD._5), ("%s%s__equipment__" + eF), ("%s%s__buffs__" + eG)]
669673 }
670674
671675
672-func eF (bW,eB,eG) = if ((bW == ""))
676+func eH (bX,eC,eI) = if ((bX == ""))
673677 then throw("landAssetId is required")
674678 else {
675- let eH = value(assetInfo(fromBase58String(bW)))
676- let eI = split(eH.description, "_")
677- let eJ = if ((eH.quantity > 0))
678- then eI[ds]
679- else ("-" + eI[ds])
680- let eg = dI(eI[dt])
681- let eK = el(bW, eg)
682- let eL = (lastBlock.timestamp - eG)
683- let eM = if ((eG > 0))
684- then fraction(eL, (eK._3 * eg), bD)
679+ let eJ = value(assetInfo(fromBase58String(bX)))
680+ let eK = split(eJ.description, "_")
681+ let eL = if ((eJ.quantity > 0))
682+ then eK[dt]
683+ else ("-" + eK[dt])
684+ let eh = dJ(eK[du])
685+ let eM = em(bX, eh)
686+ let eN = (lastBlock.timestamp - eI)
687+ let eO = if ((eI > 0))
688+ then fraction(eN, (eM._3 * eh), bE)
685689 else 0
686- let eN = fraction(cM, (eg * (eK._1 + 1)), cQ)
687- let eO = if ((eG > 0))
688- then dU(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eN, eM, eI[du]], nil))
689- else $Tuple2(dN(invoke(aj, "splitByGlobalWeightsREADONLY", [eN], nil)), "")
690- let eb = valueOrElse(getString(aj, bQ(bW)), ((eI[dv] + "-") + eI[ds]))
691-[("%s%s__assetId__" + bW), ("%s%s__owner__" + eB), ("%s%s__customName__" + eb), ("%s%d__stakedTime__" + toString(eG)), ("%s%s__description__" + makeString([eJ, eI[dt], eI[du], eI[dv]], "_")), ("%s%d__infraLevel__" + toString(eK._1)), ("%s%s__availResByType__" + eO._2), ("%s%d__availResTotal__" + toString(eM)), ("%s%s__needMaterial__" + eO._1), ("%s%s__landArtefacts__PRESALE:" + toString(eK._2)), ("%s%s__warehouse__" + makeString(et(bV(bW), (eg / cQ), eK._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dn, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
690+ let eP = fraction(cN, (eh * (eM._1 + 1)), cR)
691+ let eQ = if ((eI > 0))
692+ then dV(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eP, eO, eK[dv]], nil))
693+ else $Tuple2(dO(invoke(aj, "splitByGlobalWeightsREADONLY", [eP], nil)), "")
694+ let ec = valueOrElse(getString(aj, bR(bX)), ((eK[dw] + "-") + eK[dt]))
695+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eC), ("%s%s__customName__" + ec), ("%s%d__stakedTime__" + toString(eI)), ("%s%s__description__" + makeString([eL, eK[du], eK[dv], eK[dw]], "_")), ("%s%d__infraLevel__" + toString(eM._1)), ("%s%s__availResByType__" + eQ._2), ("%s%d__availResTotal__" + toString(eO)), ("%s%s__needMaterial__" + eQ._1), ("%s%s__landArtefacts__PRESALE:" + toString(eM._2)), ("%s%s__warehouse__" + makeString(eu(bW(bX), (eh / cR), eM._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(do, ci(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
692696 }
693697
694698
695-func eP (bW,eB) = if ((bW == ""))
699+func eR (bX,eC) = if ((bX == ""))
696700 then throw("landAssetId is required")
697701 else {
698- let eH = value(assetInfo(fromBase58String(bW)))
699- let eI = split(eH.description, "_")
700- let eg = dI(eI[dt])
701- let eK = el(bW, eg)
702-[("%s%s__assetId__" + bW), ("%s%s__owner__" + eB), ("%s%s__warehouse__" + makeString(et(bV(bW), (eg / cQ), eK._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dn, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
702+ let eJ = value(assetInfo(fromBase58String(bX)))
703+ let eK = split(eJ.description, "_")
704+ let eh = dJ(eK[du])
705+ let eM = em(bX, eh)
706+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eC), ("%s%s__warehouse__" + makeString(eu(bW(bX), (eh / cR), eM._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(do, ci(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
703707 }
704708
705709
706-@Callable(eQ)
707-func constructorV1 (az) = if ((eQ.caller != this))
710+@Callable(eS)
711+func constructorV1 (az) = if ((eS.caller != this))
708712 then throw("permissions denied")
709713 else {
710- func eR (am,eS) = (am + "%s")
714+ func eT (am,eU) = (am + "%s")
711715
712- let eT = {
716+ let eV = {
713717 let ap = az
714718 let aq = size(ap)
715719 let ar = ""
716720 func as (at,au) = if ((au >= aq))
717721 then at
718- else eR(at, ap[au])
722+ else eT(at, ap[au])
719723
720724 func av (at,au) = if ((au >= aq))
721725 then at
723727
724728 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
725729 }
726-[StringEntry(df(), makeString(eT :: az, cN)), StringEntry(dg(), toString(this))]
730+[StringEntry(dg(), makeString(eV :: az, cO)), StringEntry(dh(), toString(this))]
727731 }
728732
729733
730734
731-@Callable(eQ)
732-func walletInfoREADONLY (dX) = $Tuple2(nil, dW(dX))
735+@Callable(eS)
736+func walletInfoREADONLY (dY) = $Tuple2(nil, dX(dY))
733737
734738
735739
736-@Callable(eQ)
737-func duckByOwnerInfoREADONLY (eU) = {
738- let eV = getString(aj, cd(eU))
739- $Tuple2(nil, if (if (isDefined(addressFromString(eU)))
740- then isDefined(eV)
740+@Callable(eS)
741+func duckByOwnerInfoREADONLY (eW) = {
742+ let eX = getString(aj, ce(eW))
743+ $Tuple2(nil, if (if (isDefined(addressFromString(eW)))
744+ then isDefined(eX)
741745 else false)
742746 then {
743- let bo = value(eV)
744- eA(bo, eU, ey(bo))
747+ let bo = value(eX)
748+ eB(bo, eW, ez(bo))
745749 }
746- else eA("", eU, $Tuple5(-1, "", "", -1, "")))
750+ else eB("", eW, $Tuple5(-1, "", "", -1, "")))
747751 }
748752
749753
750754
751-@Callable(eQ)
755+@Callable(eS)
752756 func duckByAssetIdInfoREADONLY (bo) = {
753- let eB = getString(aj, cc(bo))
754- $Tuple2(nil, eA(bo, if (isDefined(eB))
755- then value(eB)
756- else "", ey(bo)))
757+ let eC = getString(aj, cd(bo))
758+ $Tuple2(nil, eB(bo, if (isDefined(eC))
759+ then value(eC)
760+ else "", ez(bo)))
757761 }
758762
759763
760764
761-@Callable(eQ)
762-func landByAssetIdInfoREADONLY (bW) = if ((bW == ""))
765+@Callable(eS)
766+func landByAssetIdInfoREADONLY (bX) = if ((bX == ""))
763767 then throw("landAssetId is required")
764768 else {
765- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
766- let eB = if ((eG > 0))
767- then value(getString(aj, bO(bW)))
769+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
770+ let eC = if ((eI > 0))
771+ then value(getString(aj, bP(bX)))
768772 else ""
769- $Tuple2(nil, eF(bW, eB, eG))
773+ $Tuple2(nil, eH(bX, eC, eI))
770774 }
771775
772776
773777
774-@Callable(eQ)
775-func stakedLandsByOwnerInfoREADONLY (eW) = if ((eW == ""))
778+@Callable(eS)
779+func stakedLandsByOwnerInfoREADONLY (eY) = if ((eY == ""))
776780 then throw("landOwnerAddress is required")
777781 else {
778- let eX = getString(aj, dA(eW))
779- let eY = if (isDefined(eX))
780- then split_51C(value(eX), "_")
782+ let eZ = getString(aj, dB(eY))
783+ let fa = if (isDefined(eZ))
784+ then split_51C(value(eZ), "_")
781785 else nil
782- func eZ (am,bW) = if ((bW == ""))
786+ func fb (am,bX) = if ((bX == ""))
783787 then throw("landAssetId is required")
784788 else {
785- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
786- (am :+ eF(bW, eW, eG))
789+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
790+ (am :+ eH(bX, eY, eI))
787791 }
788792
789- let dT = {
790- let ap = eY
793+ let dU = {
794+ let ap = fa
791795 let aq = size(ap)
792796 let ar = nil
793797 func as (at,au) = if ((au >= aq))
794798 then at
795- else eZ(at, ap[au])
799+ else fb(at, ap[au])
796800
797801 func av (at,au) = if ((au >= aq))
798802 then at
800804
801805 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
802806 }
803- $Tuple2(nil, dT)
807+ $Tuple2(nil, dU)
804808 }
805809
806810
807811
808-@Callable(eQ)
809-func landsByIdsInfoREADONLY (fa) = {
810- func eZ (am,bW) = if ((bW == ""))
812+@Callable(eS)
813+func landsByIdsInfoREADONLY (fc) = {
814+ func fb (am,bX) = if ((bX == ""))
811815 then throw("landAssetId is required")
812816 else {
813- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
814- let eB = if ((eG > 0))
815- then value(getString(aj, bO(bW)))
817+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
818+ let eC = if ((eI > 0))
819+ then value(getString(aj, bP(bX)))
816820 else ""
817- (am :+ eF(bW, eB, eG))
821+ (am :+ eH(bX, eC, eI))
818822 }
819823
820- let dT = {
821- let ap = fa
824+ let dU = {
825+ let ap = fc
822826 let aq = size(ap)
823827 let ar = nil
824828 func as (at,au) = if ((au >= aq))
825829 then at
826- else eZ(at, ap[au])
830+ else fb(at, ap[au])
827831
828832 func av (at,au) = if ((au >= aq))
829833 then at
831835
832836 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
833837 }
834- $Tuple2(nil, dT)
838+ $Tuple2(nil, dU)
835839 }
836840
837841
838842
839-@Callable(eQ)
840-func warehouseOrderByAssetIdInfoREADONLY (bW) = if ((bW == ""))
843+@Callable(eS)
844+func warehouseOrderByAssetIdInfoREADONLY (bX) = if ((bX == ""))
841845 then throw("landAssetId is required")
842846 else {
843- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
844- let eB = if ((eG > 0))
845- then value(getString(aj, bO(bW)))
847+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
848+ let eC = if ((eI > 0))
849+ then value(getString(aj, bP(bX)))
846850 else ""
847- $Tuple2(nil, eP(bW, eB))
851+ $Tuple2(nil, eR(bX, eC))
848852 }
849853
850854
851855
852-@Callable(eQ)
853-func ordersByLandIdsInfoREADONLY (fa) = {
854- func eZ (am,bW) = if ((bW == ""))
856+@Callable(eS)
857+func ordersByLandIdsInfoREADONLY (fc) = {
858+ func fb (am,bX) = if ((bX == ""))
855859 then throw("landAssetId is required")
856860 else {
857- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
858- let eB = if ((eG > 0))
859- then value(getString(aj, bO(bW)))
861+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
862+ let eC = if ((eI > 0))
863+ then value(getString(aj, bP(bX)))
860864 else ""
861- (am :+ eP(bW, eB))
865+ (am :+ eR(bX, eC))
862866 }
863867
864- let dT = {
865- let ap = fa
868+ let dU = {
869+ let ap = fc
866870 let aq = size(ap)
867871 let ar = nil
868872 func as (at,au) = if ((au >= aq))
869873 then at
870- else eZ(at, ap[au])
874+ else fb(at, ap[au])
871875
872876 func av (at,au) = if ((au >= aq))
873877 then at
875879
876880 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
877881 }
878- $Tuple2(nil, dT)
882+ $Tuple2(nil, dU)
879883 }
880884
881885
882886
883-@Callable(eQ)
884-func cancelWarehouseOrders (fa) = if ((eQ.caller != this))
887+@Callable(eS)
888+func cancelWarehouseOrders (fc) = if ((eS.caller != this))
885889 then throw("permission denied")
886890 else {
887- let fb = getBoolean(aj, cg())
888- if (if (!(isDefined(fb)))
891+ let fd = getBoolean(aj, ch())
892+ if (if (!(isDefined(fd)))
889893 then true
890- else (value(fb) == false))
894+ else (value(fd) == false))
891895 then throw("Contracts should be blocked before canceling orders")
892896 else {
893- func eZ (eH,bW) = if ((bW == ""))
897+ func fb (eJ,bX) = if ((bX == ""))
894898 then throw("landAssetId is required")
895899 else {
896- let fc = dH(invoke(dn, "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:", bW], nil))
897- if (if (eH)
900+ let fe = dI(invoke(do, "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:", bX], nil))
901+ if (if (eJ)
898902 then true
899- else fc)
900- then !(if (eH)
901- then fc
903+ else fe)
904+ then !(if (eJ)
905+ then fe
902906 else false)
903907 else false
904908 }
905909
906- let dT = {
907- let ap = fa
910+ let dU = {
911+ let ap = fc
908912 let aq = size(ap)
909913 let ar = false
910914 func as (at,au) = if ((au >= aq))
911915 then at
912- else eZ(at, ap[au])
916+ else fb(at, ap[au])
913917
914918 func av (at,au) = if ((au >= aq))
915919 then at
917921
918922 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
919923 }
920- $Tuple2(nil, dT)
924+ $Tuple2(nil, dU)
921925 }
922926 }
923927
924928
925929
926-@Callable(eQ)
927-func fixWarehouseFormats (fa) = if ((eQ.caller != this))
930+@Callable(eS)
931+func fixWarehouseFormats (fc) = if ((eS.caller != this))
928932 then throw("permission denied")
929933 else {
930- func eZ (am,bW) = if ((bW == ""))
934+ func fb (am,bX) = if ((bX == ""))
931935 then throw("landAssetId is required")
932- else (am + size(dC(invoke(aj, "fixWarehouseFormat", [bW], nil))))
936+ else (am + size(dD(invoke(aj, "fixWarehouseFormat", [bX], nil))))
933937
934- let dT = {
935- let ap = fa
938+ let dU = {
939+ let ap = fc
936940 let aq = size(ap)
937941 let ar = 0
938942 func as (at,au) = if ((au >= aq))
939943 then at
940- else eZ(at, ap[au])
944+ else fb(at, ap[au])
941945
942946 func av (at,au) = if ((au >= aq))
943947 then at
945949
946950 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
947951 }
948- $Tuple2(nil, dT)
952+ $Tuple2(nil, dU)
949953 }
950954
951955
952956
953-@Callable(eQ)
954-func fixStakedPieces (fd) = if ((eQ.caller != this))
957+@Callable(eS)
958+func fixStakedPieces (ff) = if ((eS.caller != this))
955959 then throw("permission denied")
956960 else {
957- func fe (am,t) = if ((t == ""))
961+ func fg (am,t) = if ((t == ""))
958962 then throw("address is required")
959- else (am + dF(invoke(aj, "fixStakedPieces", [t], nil)))
963+ else (am + dG(invoke(aj, "fixStakedPieces", [t], nil)))
960964
961- let dT = {
962- let ap = fd
965+ let dU = {
966+ let ap = ff
963967 let aq = size(ap)
964968 let ar = 0
965969 func as (at,au) = if ((au >= aq))
966970 then at
967- else fe(at, ap[au])
971+ else fg(at, ap[au])
968972
969973 func av (at,au) = if ((au >= aq))
970974 then at
972976
973977 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
974978 }
975- $Tuple2(nil, dT)
979+ $Tuple2(nil, dU)
976980 }
977981
978982
979983
980-@Callable(eQ)
981-func fixStakedLands (fa) = {
982- let ff = toString(eQ.caller)
983- if (!(containsElement(dM, ff)))
984+@Callable(eS)
985+func fixStakedLands (fc) = {
986+ let fh = toString(eS.caller)
987+ if (!(containsElement(dN, fh)))
984988 then throw("Permission denied")
985989 else {
986- let dT = dF(invoke(aj, "fixContinentProportions", [fa], nil))
987- $Tuple2(nil, dT)
990+ let dU = dG(invoke(aj, "fixContinentProportions", [fc], nil))
991+ $Tuple2(nil, dU)
988992 }
989993 }
990994
991995
992996
993-@Callable(eQ)
994-func sendUsdtPrize (eU) = if ((eQ.caller != aj))
997+@Callable(eS)
998+func sendUsdtPrize (eW) = if ((eS.caller != aj))
995999 then throw("permission denied")
9961000 else {
997- let fg = fraction(assetBalance(this, cJ), dL, cO)
998- $Tuple2([ScriptTransfer(addressFromStringValue(eU), fg, cJ)], fg)
1001+ let fi = fraction(assetBalance(this, cK), dM, cP)
1002+ $Tuple2([ScriptTransfer(addressFromStringValue(eW), fi, cK)], fi)
9991003 }
10001004
10011005
10021006
1003-@Callable(eQ)
1007+@Callable(eS)
10041008 func getEmergencyServiceDataREADONLY () = {
1005- let fh = getString(dn, ci())
1006- let fi = if (isDefined(fh))
1007- then split_4C(value(fh), "_")
1009+ let fj = getString(do, cj())
1010+ let fk = if (isDefined(fj))
1011+ then split_4C(value(fj), "_")
10081012 else nil
1009- func fj (am,fk) = {
1010- let dG = am._2
1011- let cH = split(fk, "_")
1012- let fl = if ((dG == 0))
1013- then (bG * bM)
1013+ func fl (am,fm) = {
1014+ let dH = am._2
1015+ let cI = split(fm, "_")
1016+ let fn = if ((dH == 0))
1017+ then (bH * bN)
10141018 else 0
1015- let fm = if ((size(fi) > dG))
1016- then parseIntValue(fi[dG])
1019+ let fo = if ((size(fk) > dH))
1020+ then parseIntValue(fk[dH])
10171021 else 0
1018- let fn = cG(cH)
1019- let fo = fraction((fn * bH), bF, (cP * bM))
1020- let fp = fraction((fn * bI), bF, (cP * bM))
1021- let fq = makeString([toString(fl), toString(fm), toString(fo), toString(fp)], "_")
1022- $Tuple2((am._1 :+ fq), (dG + 1))
1022+ let fp = cH(cI)
1023+ let fq = fraction((fp * bI), bG, (cQ * bN))
1024+ let fr = fraction((fp * bJ), bG, (cQ * bN))
1025+ let fs = makeString([toString(fn), toString(fo), toString(fq), toString(fr)], "_")
1026+ $Tuple2((am._1 :+ fs), (dH + 1))
10231027 }
10241028
1025- let dE = makeString_2C(( let ap = bK
1029+ let dF = makeString_2C(( let ap = bL
10261030 let aq = size(ap)
10271031 let ar = $Tuple2(nil, 0)
10281032 func as (at,au) = if ((au >= aq))
10291033 then at
1030- else fj(at, ap[au])
1034+ else fl(at, ap[au])
10311035
10321036 func av (at,au) = if ((au >= aq))
10331037 then at
10341038 else throw("List size exceeds 50")
10351039
10361040 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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, ":")
1037- let fr = ("%s%s__emergencyServiceData__" + dE)
1038- $Tuple2(nil, fr)
1041+ let ft = ("%s%s__emergencyServiceData__" + dF)
1042+ $Tuple2(nil, ft)
10391043 }
10401044
10411045
10421046
1043-@Callable(eQ)
1047+@Callable(eS)
10441048 func wlgStatsREADONLY (ay) = {
1045- let fs = ax(ay, [dm, aj, dn, do, dp, dq, aH], cJ, 0)
1046- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fs[z])), ("%s%s%d__wlgPrice__" + toString(fs[A])), ("%s%s%d__usdtFunds__" + toString(fs[B])), ("%s%s%d__usdtEconomy__" + toString(fs[C])), ("%s%s%d__usdtActivity__" + toString(fs[D])), ("%s%s%d__usdtArbitrage__" + toString(fs[E])), ("%s%s%d__usdtPool__" + toString(fs[F])), ("%s%s%d__wlgIssueTime__" + toString(fs[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fs[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fs[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fs[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fs[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fs[L])), ("%s%s%d__wlgTeamTotal__" + toString(fs[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fs[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fs[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fs[P])), ("%s%s%d__wlgActTotal__" + toString(fs[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fs[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fs[S])), ("%s%s%d__wlgActWlgold__" + toString(fs[T])), ("%s%s%d__wlgCurPeriod__" + toString(fs[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fs[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fs[W])), ("%s%s%d__wlgLastUserTime__" + toString(fs[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fs[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fs[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fs[aa]))])
1049+ let fu = ax(ay, [dn, aj, do, dp, dq, dr, aH], cK, 0)
1050+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fu[z])), ("%s%s%d__wlgPrice__" + toString(fu[A])), ("%s%s%d__usdtFunds__" + toString(fu[B])), ("%s%s%d__usdtEconomy__" + toString(fu[C])), ("%s%s%d__usdtActivity__" + toString(fu[D])), ("%s%s%d__usdtArbitrage__" + toString(fu[E])), ("%s%s%d__usdtPool__" + toString(fu[F])), ("%s%s%d__wlgIssueTime__" + toString(fu[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fu[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fu[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fu[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fu[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fu[L])), ("%s%s%d__wlgTeamTotal__" + toString(fu[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fu[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fu[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fu[P])), ("%s%s%d__wlgActTotal__" + toString(fu[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fu[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fu[S])), ("%s%s%d__wlgActWlgold__" + toString(fu[T])), ("%s%s%d__wlgCurPeriod__" + toString(fu[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fu[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fu[W])), ("%s%s%d__wlgLastUserTime__" + toString(fu[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fu[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fu[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fu[aa]))])
10471051 }
10481052
10491053
10501054
1051-@Callable(eQ)
1052-func tournamentStatsREADONLY (ft) = {
1053- let fu = cq(dr, ft)
1054- let cs = fu[co]
1055- let ct = fu[cp]
1056- let fv = if ((ct[cz] == ""))
1055+@Callable(eS)
1056+func tournamentStatsREADONLY (fv) = {
1057+ let fw = cr(ds, fv)
1058+ let ct = fw[cp]
1059+ let cu = fw[cq]
1060+ let fx = if ((cu[cA] == ""))
10571061 then " "
1058- else ct[cz]
1059- let fw = valueOrElse(getString(dr, cn(ft)), "")
1060- $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cs[cu], cs[cv], cs[cw], cs[cx]], "_")), ("%s%s__tournamentDynamicData__" + makeString([ct[cy], fv, ct[cA], ct[cB], ct[cC]], "_")), ("%s%s__tournamentRegistrants__" + fw)])
1062+ else cu[cA]
1063+ let fy = valueOrElse(getString(ds, co(fv)), "")
1064+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([ct[cv], ct[cw], ct[cx], ct[cy]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cu[cz], fx, cu[cB], cu[cC], cu[cD]], "_")), ("%s%s__tournamentRegistrants__" + fy)])
10611065 }
10621066
10631067
10641068
1065-@Callable(eQ)
1069+@Callable(eS)
10661070 func lastTournamentStatsREADONLY () = {
1067- let ft = valueOrElse(getInteger(dr, cj), 0)
1068- let cs = split(valueOrElse(getString(dr, ck(ft)), "%s%d%d%d%d%d____________"), cN)
1069- let ct = split(valueOrElse(getString(dr, cm(ft)), "%s%s%d%d%d__________"), cN)
1070- let fv = if ((ct[cz] == ""))
1071+ let fv = valueOrElse(getInteger(ds, ck), 0)
1072+ let ct = split(valueOrElse(getString(ds, cl(fv)), "%s%d%d%d%d%d____________"), cO)
1073+ let cu = split(valueOrElse(getString(ds, cn(fv)), "%s%s%d%d%d__________"), cO)
1074+ let fx = if ((cu[cA] == ""))
10711075 then " "
1072- else ct[cz]
1073- let fw = valueOrElse(getString(dr, cn(ft)), "")
1074- $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(ft)), ("%s%s__tournamentStaticData__" + makeString([cs[cu], cs[cv], cs[cw], cs[cx]], "_")), ("%s%s__tournamentDynamicData__" + makeString([ct[cy], fv, ct[cA], ct[cB], ct[cC]], "_")), ("%s%s__tournamentRegistrants__" + fw)])
1076+ else cu[cA]
1077+ let fy = valueOrElse(getString(ds, co(fv)), "")
1078+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fv)), ("%s%s__tournamentStaticData__" + makeString([ct[cv], ct[cw], ct[cx], ct[cy]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cu[cz], fx, cu[cB], cu[cC], cu[cD]], "_")), ("%s%s__tournamentRegistrants__" + fy)])
10751079 }
10761080
10771081
10781082
1079-@Callable(eQ)
1080-func tournamentDuckStatsREADONLY (cl,bo) = {
1081- let fx = valueOrElse(getBoolean(dr, cD(cl, bo)), false)
1082- let fy = valueOrElse(getInteger(dr, cE(cl, bo)), 0)
1083- let fz = valueOrElse(getInteger(dr, cF(cl, bo)), 0)
1084- $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fx), toString(fy), toString(fz)], "_"))])
1083+@Callable(eS)
1084+func tournamentDuckStatsREADONLY (cm,bo) = {
1085+ let fz = valueOrElse(getBoolean(ds, cE(cm, bo)), false)
1086+ let fA = valueOrElse(getInteger(ds, cF(cm, bo)), 0)
1087+ let fB = valueOrElse(getInteger(ds, cG(cm, bo)), 0)
1088+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fz), toString(fA), toString(fB)], "_"))])
10851089 }
10861090
10871091
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 = "zbill_issuedAmount"
5151
5252 let z = 0
5353
5454 let A = 1
5555
5656 let B = 2
5757
5858 let C = 3
5959
6060 let D = 4
6161
6262 let E = 5
6363
6464 let F = 6
6565
6666 let G = 7
6767
6868 let H = 8
6969
7070 let I = 9
7171
7272 let J = 10
7373
7474 let K = 11
7575
7676 let L = 12
7777
7878 let M = 13
7979
8080 let N = 14
8181
8282 let O = 15
8383
8484 let P = 16
8585
8686 let Q = 17
8787
8888 let R = 18
8989
9090 let S = 19
9191
9292 let T = 20
9393
9494 let U = 21
9595
9696 let V = 22
9797
9898 let W = 23
9999
100100 let X = 24
101101
102102 let Y = 25
103103
104104 let Z = 26
105105
106106 let aa = 27
107107
108108 let ab = 0
109109
110110 let ac = 1
111111
112112 let ad = 2
113113
114114 let ae = 4
115115
116116 let af = 5
117117
118118 let ag = 6
119119
120120 func ah (ai,aj) = {
121121 let ak = split(valueOrElse(getString(aj, "resTypesProportions"), "0_0_0_0_0_0"), "_")
122122 func al (am,an) = (am + parseIntValue(an))
123123
124124 let ao = {
125125 let ap = ak
126126 let aq = size(ap)
127127 let ar = 0
128128 func as (at,au) = if ((au >= aq))
129129 then at
130130 else al(at, ap[au])
131131
132132 func av (at,au) = if ((au >= aq))
133133 then at
134134 else throw("List size exceeds 6")
135135
136136 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
137137 }
138138 let aw = valueOrElse(getInteger(aj, ("stakedPiecesByOwner_" + ai)), 0)
139139 [ao, aw]
140140 }
141141
142142
143143 func ax (ay,az,aA,aB) = {
144144 let aC = valueOrErrorMessage(getInteger(az[ae], x), "WLGOLD is not issued yet")
145145 let aD = assetBalance(az[ad], aA)
146146 let aE = assetBalance(az[ab], aA)
147147 let aF = (assetBalance(az[ae], aA) - aB)
148148 let aG = assetBalance(az[af], aA)
149149 let aH = az[ag]
150150 let aI = (assetBalance(aH, aA) + valueOrElse(getInteger(aH, y), 0))
151151 let aJ = ((aD + aF) + aI)
152152 let aK = valueOrErrorMessage(getBinary(az[ae], "wlg_assetId"), "Not initialized yet")
153153 let aL = lastBlock.timestamp
154154 let aM = valueOrErrorMessage(getInteger(az[ae], w), "Not initialized")
155155 let aN = fraction(c, d, a)
156156 let aO = valueOrElse(getInteger(az[ae], m), aN)
157157 let aP = valueOrElse(getInteger(az[ae], l), aM)
158158 let aQ = addressFromStringValue(value(getString(az[ae], j)))
159159 let aR = min([fraction(aN, (aL - aP), h), aO])
160160 let aS = assetBalance(aQ, aK)
161161 let aT = fraction(c, e, a)
162162 let aU = valueOrElse(getInteger(az[ae], o), aT)
163163 let aV = valueOrElse(getInteger(az[ae], n), aM)
164164 let aW = addressFromStringValue(value(getString(az[ae], k)))
165165 let aX = min([fraction(aT, (aL - aV), (3 * h)), aU])
166166 let aY = assetBalance(aW, aK)
167167 let aZ = fraction(c, f, a)
168168 let ba = valueOrElse(getInteger(az[ae], q), aZ)
169169 let bb = valueOrElse(getInteger(az[ae], p), aM)
170170 let bc = min([fraction(aZ, (aL - bb), (3 * h)), ba])
171171 let bd = assetBalance(az[ab], aK)
172172 let be = valueOrElse(getInteger(az[ae], s(ay)), aM)
173173 let bf = ((be - aM) / h)
174174 let bg = min([aL, (aM + (3 * h))])
175175 let bh = min([((aL - aM) / h), 2])
176176 let bi = ah(ay, az[ac])
177177 let bj = u(bh)
178178 let bk = fraction(if ((bf == bh))
179179 then fraction(bj, (bg - be), h)
180180 else if ((bf == (bh - 1)))
181181 then (fraction(u((bh - 1)), ((aM + (h * bh)) - be), h) + fraction(bj, (bg - (aM + (h * bh))), h))
182182 else ((fraction(u((bh - 2)), ((aM + (h * (bh - 1))) - be), h) + u((bh - 1))) + fraction(bj, (bg - (aM + (h * bh))), h)), bi[1], bi[0])
183183 let bl = fraction(fraction(bj, i, h), 25, bi[0])
184184 let bm = valueOrElse(getInteger(az[ae], r), 0)
185185 [aC, fraction(aJ, b, aC), aJ, aD, aE, aF, aG, aM, aP, aN, aO, aR, aS, aT, aU, aX, aY, aZ, ba, bc, bd, bh, bm, bj, be, bk, bl, aI]
186186 }
187187
188188
189189 func bn (bo) = ("duckHealth_" + bo)
190190
191191
192192 func bp (bo) = ("duckChars_" + bo)
193193
194194
195195 func bq (bo) = ("duckXP_" + bo)
196196
197197
198198 func br (bo) = ("duckLevel_" + bo)
199199
200200
201201 func bs (bo) = ("duckFreePoints_" + bo)
202202
203203
204204 func bt (bo) = ("duckEquipment_" + bo)
205205
206206
207207 func bu (t) = ("userXP_" + t)
208208
209209
210210 func bv (t) = ("userLevel_" + t)
211211
212212
213213 func bw (t) = ("userFreePoints_" + t)
214214
215215
216-func bx (by) = (100 + by)
216+func bx (bo) = ("duckBuffs_" + bo)
217217
218218
219-let bz = "PRESALE"
220-
221-let bA = "ONBOARD"
222-
223-let bB = 6
224-
225-let bC = 3456000
226-
227-let bD = 86400000
228-
229-let bE = 10000000000
230-
231-let bF = 39637
232-
233-let bG = 3
234-
235-let bH = 4
236-
237-let bI = 10
238-
239-let bJ = 10000000
240-
241-let bK = ["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", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_"]
242-
243-let bL = 6
244-
245-let bM = 10
246-
247-func bN (t) = ("lastTxIdByUser_" + t)
219+func by (bz) = (100 + bz)
248220
249221
250-func bO (bP) = ("nftOwner_" + bP)
222+let bA = "PRESALE"
223+
224+let bB = "ONBOARD"
225+
226+let bC = 6
227+
228+let bD = 3456000
229+
230+let bE = 86400000
231+
232+let bF = 10000000000
233+
234+let bG = 39637
235+
236+let bH = 3
237+
238+let bI = 4
239+
240+let bJ = 10
241+
242+let bK = 10000000
243+
244+let bL = ["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", "4_13_22_4_35_22_23_0_50,1,0_0,0,0,0,0,0,0_", "4_13_22_4_35_22_46_0_50,1,1_0,2,5,0,0,0,0_", "4_13_22_4_35_22_69_0_50,2,1_0,5,10,0,0,0,0_", "5_25_40_5_10_15_20_1_30,1,1_0,0,0,0,0,0,0_", "5_25_40_5_10_15_40_1_30,1,2_2,1,3,0,0,0,0_", "5_25_40_5_10_15_60_1_30,1,3_5,2,8,0,0,0,0_"]
245+
246+let bM = 6
247+
248+let bN = 10
249+
250+func bO (t) = ("lastTxIdByUser_" + t)
251251
252252
253-func bQ (bP) = ("landCustomNameByAssetId_" + bP)
253+func bP (bQ) = ("nftOwner_" + bQ)
254254
255255
256-func bR (bP) = ("stakedTime_" + bP)
256+func bR (bQ) = ("landCustomNameByAssetId_" + bQ)
257257
258258
259-func bS (bP) = ("infraLevel_" + bP)
259+func bS (bQ) = ("stakedTime_" + bQ)
260260
261261
262-func bT (bU,bP) = makeString(["landArtStatus", bU, bP], "_")
262+func bT (bQ) = ("infraLevel_" + bQ)
263263
264264
265-func bV (bW) = ("wareHouse_" + bW)
265+func bU (bV,bQ) = makeString(["landArtStatus", bV, bQ], "_")
266266
267267
268-func bX (bP) = ("duckCustomNameByAssetId_" + bP)
268+func bW (bX) = ("wareHouse_" + bX)
269269
270270
271-func bY (t) = ("accountCustomNameByAddr_" + t)
271+func bY (bQ) = ("duckCustomNameByAssetId_" + bQ)
272272
273273
274-func bZ (t) = ("accRefBy_" + t)
274+func bZ (t) = ("accountCustomNameByAddr_" + t)
275275
276276
277-func ca (t) = ("onboardArtActivatedDuckBy_" + t)
277+func ca (t) = ("accRefBy_" + t)
278278
279279
280-func cb (t) = ("accReferrals_" + t)
280+func cb (t) = ("onboardArtActivatedDuckBy_" + t)
281281
282282
283-func cc (bP) = ("duckOwner_" + bP)
283+func cc (t) = ("accReferrals_" + t)
284284
285285
286-func cd (ce) = ("stakedDuckByOwner_" + ce)
286+func cd (bQ) = ("duckOwner_" + bQ)
287287
288288
289-func cf (bo) = ("duckLocation_" + bo)
289+func ce (cf) = ("stakedDuckByOwner_" + cf)
290290
291291
292-func cg () = "contractsBlocked"
292+func cg (bo) = ("duckLocation_" + bo)
293293
294294
295-func ch (bW) = ("landOrder_" + bW)
295+func ch () = "contractsBlocked"
296296
297297
298-func ci () = "emergencyWarehouseProducts"
298+func ci (bX) = ("landOrder_" + bX)
299299
300300
301-let cj = "%s__lastTourId"
302-
303-func ck (cl) = ("%s%d__tourStaticData__" + toString(cl))
301+func cj () = "emergencyWarehouseProducts"
304302
305303
306-func cm (cl) = ("%s%d__tourDynamicData__" + toString(cl))
304+let ck = "%s__lastTourId"
305+
306+func cl (cm) = ("%s%d__tourStaticData__" + toString(cm))
307307
308308
309-func cn (cl) = ("%s%d__allRegistrants__" + toString(cl))
309+func cn (cm) = ("%s%d__tourDynamicData__" + toString(cm))
310310
311311
312-let co = 0
312+func co (cm) = ("%s%d__allRegistrants__" + toString(cm))
313313
314-let cp = 1
315314
316-func cq (cr,cl) = {
317- let cs = split(valueOrErrorMessage(getString(cr, ck(cl)), (("Error reading tournament " + toString(cl)) + " data")), "__")
318- let ct = split(valueOrErrorMessage(getString(cr, cm(cl)), (("Error reading tournament " + toString(cl)) + " data")), "__")
319-[cs, ct]
315+let cp = 0
316+
317+let cq = 1
318+
319+func cr (cs,cm) = {
320+ let ct = split(valueOrErrorMessage(getString(cs, cl(cm)), (("Error reading tournament " + toString(cm)) + " data")), "__")
321+ let cu = split(valueOrErrorMessage(getString(cs, cn(cm)), (("Error reading tournament " + toString(cm)) + " data")), "__")
322+[ct, cu]
320323 }
321324
322325
323-let cu = 2
326+let cv = 2
324327
325-let cv = 3
328+let cw = 3
326329
327-let cw = 5
330+let cx = 5
328331
329-let cx = 6
332+let cy = 6
330333
331-let cy = 1
334+let cz = 1
332335
333-let cz = 2
336+let cA = 2
334337
335-let cA = 3
338+let cB = 3
336339
337-let cB = 4
340+let cC = 4
338341
339-let cC = 5
342+let cD = 5
340343
341-func cD (cl,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cl), bo], "__")
344+func cE (cm,bo) = makeString(["%s%d%s__isRegisteredByTourAndDuck", toString(cm), bo], "__")
342345
343346
344-func cE (cl,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cl), bo], "__")
347+func cF (cm,bo) = makeString(["%s%d%s__lastAttemptByTourAndDuck", toString(cm), bo], "__")
345348
346349
347-func cF (cl,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cl), bo], "__")
350+func cG (cm,bo) = makeString(["%s%d%s__bestResultByTourAndDuck", toString(cm), bo], "__")
348351
349352
350-func cG (cH) = (parseIntValue(cH[bL]) * bJ)
353+func cH (cI) = (parseIntValue(cI[bM]) * bK)
351354
352355
353-let cI = take(drop(this.bytes, 1), 1)
356+let cJ = take(drop(this.bytes, 1), 1)
354357
355-let cJ = {
356- let cK = cI
357- if ((base58'2W' == cK))
358+let cK = {
359+ let cL = cJ
360+ if ((base58'2W' == cL))
358361 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
359- else if ((base58'2T' == cK))
362+ else if ((base58'2T' == cL))
360363 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
361364 else throw("Unknown chain")
362365 }
363366
364-let cL = {
365- let cK = cI
366- if ((base58'2W' == cK))
367+let cM = {
368+ let cL = cJ
369+ if ((base58'2W' == cL))
367370 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
368- else if ((base58'2T' == cK))
371+ else if ((base58'2T' == cL))
369372 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
370373 else throw("Unknown chain")
371374 }
372375
373-let cM = {
374- let cK = cI
375- if ((base58'2W' == cK))
376+let cN = {
377+ let cL = cJ
378+ if ((base58'2W' == cL))
376379 then 10000000000
377- else if ((base58'2T' == cK))
380+ else if ((base58'2T' == cL))
378381 then 100000000
379382 else throw("Unknown chain")
380383 }
381384
382-let cN = "__"
385+let cO = "__"
383386
384-let cO = 1000000
387+let cP = 1000000
385388
386-let cP = 100000000
389+let cQ = 100000000
387390
388-let cQ = 25
391+let cR = 25
389392
390-let cR = 100
393+let cS = 100
391394
392-let cS = 225
395+let cT = 225
393396
394-let cT = 400
397+let cU = 400
395398
396-let cU = 625
399+let cV = 625
397400
398-func cV (cW,cX) = valueOrErrorMessage(getString(cW, cX), makeString(["mandatory ", toString(cW), ".", cX, " is not defined"], ""))
401+func cW (cX,cY) = valueOrErrorMessage(getString(cX, cY), makeString(["mandatory ", toString(cX), ".", cY, " is not defined"], ""))
399402
400403
401-let cY = 1
404+let cZ = 1
402405
403-let cZ = 2
406+let da = 2
404407
405-let da = 3
408+let db = 3
406409
407-let db = 4
410+let dc = 4
408411
409-let dc = 5
412+let dd = 5
410413
411-let dd = 6
414+let de = 6
412415
413-let de = 7
416+let df = 7
414417
415-func df () = "%s__restConfig"
418+func dg () = "%s__restConfig"
416419
417420
418-func dg () = "%s__restAddr"
421+func dh () = "%s__restAddr"
419422
420423
421-func dh (di) = split_4C(cV(di, df()), cN)
424+func di (dj) = split_4C(cW(dj, dg()), cO)
422425
423426
424-func dj (dk,dl) = valueOrErrorMessage(addressFromString(dk[dl]), ("Rest cfg doesn't contain address at index " + toString(dl)))
427+func dk (dl,dm) = valueOrErrorMessage(addressFromString(dl[dm]), ("Rest cfg doesn't contain address at index " + toString(dm)))
425428
426429
427-let dm = addressFromStringValue(valueOrElse(getString(this, dg()), cL))
430+let dn = addressFromStringValue(valueOrElse(getString(this, dh()), cM))
428431
429-let dk = dh(dm)
432+let dl = di(dn)
430433
431-let aj = dj(dk, cY)
434+let aj = dk(dl, cZ)
432435
433-let dn = dj(dk, cZ)
436+let do = dk(dl, da)
434437
435-let do = dj(dk, da)
438+let dp = dk(dl, db)
436439
437-let dp = dj(dk, db)
440+let dq = dk(dl, dc)
438441
439-let dq = dj(dk, dc)
442+let dr = dk(dl, dd)
440443
441-let aH = dj(dk, dd)
444+let aH = dk(dl, de)
442445
443-let dr = dj(dk, de)
446+let ds = dk(dl, df)
444447
445-let ds = 0
448+let dt = 0
446449
447-let dt = 1
450+let du = 1
448451
449-let du = 2
452+let dv = 2
450453
451-let dv = 3
454+let dw = 3
452455
453-let dw = "wlg_assetId"
456+let dx = "wlg_assetId"
454457
455-let dx = valueOrErrorMessage(getBinary(dp, dw), "Not initialized yet")
458+let dy = valueOrErrorMessage(getBinary(dq, dx), "Not initialized yet")
456459
457-let dy = 1
460+let dz = 1
458461
459-func dz () = "resTypesProportions"
462+func dA () = "resTypesProportions"
460463
461464
462-func dA (ce) = ("stakedLandsByOwner_" + ce)
465+func dB (cf) = ("stakedLandsByOwner_" + cf)
463466
464467
465-func dB (ce) = ("stakedPiecesByOwner_" + ce)
468+func dC (cf) = ("stakedPiecesByOwner_" + cf)
466469
467470
468-func dC (dD) = {
469- let cK = dD
470- if ($isInstanceOf(cK, "String"))
471+func dD (dE) = {
472+ let cL = dE
473+ if ($isInstanceOf(cL, "String"))
471474 then {
472- let dE = cK
473- dE
475+ let dF = cL
476+ dF
474477 }
475478 else throw("fail to cast into String")
476479 }
477480
478481
479-func dF (dD) = {
480- let cK = dD
481- if ($isInstanceOf(cK, "Int"))
482+func dG (dE) = {
483+ let cL = dE
484+ if ($isInstanceOf(cL, "Int"))
482485 then {
483- let dG = cK
484- dG
486+ let dH = cL
487+ dH
485488 }
486489 else throw("fail to cast into Int")
487490 }
488491
489492
490-func dH (dD) = {
491- let cK = dD
492- if ($isInstanceOf(cK, "Boolean"))
493+func dI (dE) = {
494+ let cL = dE
495+ if ($isInstanceOf(cL, "Boolean"))
493496 then {
494- let dE = cK
495- dE
497+ let dF = cL
498+ dF
496499 }
497500 else throw("fail to cast into Boolean")
498501 }
499502
500503
501-func dI (dJ) = {
502- let cK = dJ
503- if (("S" == cK))
504- then cQ
505- else if (("M" == cK))
506- then cR
507- else if (("L" == cK))
508- then cS
509- else if (("XL" == cK))
510- then cT
511- else if (("XXL" == cK))
512- then cU
504+func dJ (dK) = {
505+ let cL = dK
506+ if (("S" == cL))
507+ then cR
508+ else if (("M" == cL))
509+ then cS
510+ else if (("L" == cL))
511+ then cT
512+ else if (("XL" == cL))
513+ then cU
514+ else if (("XXL" == cL))
515+ then cV
513516 else throw("Unknown land size")
514517 }
515518
516519
517-func dK (ai) = {
518- let ak = split(valueOrElse(getString(aj, dz()), "0_0_0_0_0_0"), "_")
520+func dL (ai) = {
521+ let ak = split(valueOrElse(getString(aj, dA()), "0_0_0_0_0_0"), "_")
519522 func al (am,an) = (am + parseIntValue(an))
520523
521524 let ao = {
522525 let ap = ak
523526 let aq = size(ap)
524527 let ar = 0
525528 func as (at,au) = if ((au >= aq))
526529 then at
527530 else al(at, ap[au])
528531
529532 func av (at,au) = if ((au >= aq))
530533 then at
531534 else throw("List size exceeds 6")
532535
533536 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
534537 }
535- let aw = valueOrElse(getInteger(aj, dB(ai)), 0)
538+ let aw = valueOrElse(getInteger(aj, dC(ai)), 0)
536539 [ao, aw]
537540 }
538541
539542
540-let dL = 500000
543+let dM = 500000
541544
542-let dM = [toString(this), {
543- let cK = cI
544- if ((base58'2W' == cK))
545+let dN = [toString(this), {
546+ let cL = cJ
547+ if ((base58'2W' == cL))
545548 then "3P64qEVzuGzBJuYfDXYisFtokJChSRa8uja"
546- else if ((base58'2T' == cK))
549+ else if ((base58'2T' == cL))
547550 then "3N3gSFrTwgiLAFZHMuJrEttht1nPhnkpvjs"
548551 else throw("Unknown chain")
549552 }]
550553
551-func dN (dO) = {
552- let cK = dO
553- if ($isInstanceOf(cK, "List[Any]"))
554+func dO (dP) = {
555+ let cL = dP
556+ if ($isInstanceOf(cL, "List[Any]"))
554557 then {
555- let dP = cK
556- if ((size(dP) != bB))
557- then throw(("Array size is " + toString(size(dP))))
558+ let dQ = cL
559+ if ((size(dQ) != bC))
560+ then throw(("Array size is " + toString(size(dQ))))
558561 else {
559- func dQ (am,an) = {
560- let dR = an
561- if ($isInstanceOf(dR, "Int"))
562+ func dR (am,an) = {
563+ let dS = an
564+ if ($isInstanceOf(dS, "Int"))
562565 then {
563- let dS = dR
564- (am :+ toString(dS))
566+ let dT = dS
567+ (am :+ toString(dT))
565568 }
566569 else throw("List type is not Int")
567570 }
568571
569- let dT = {
570- let ap = dP
572+ let dU = {
573+ let ap = dQ
571574 let aq = size(ap)
572575 let ar = nil
573576 func as (at,au) = if ((au >= aq))
574577 then at
575- else dQ(at, ap[au])
578+ else dR(at, ap[au])
576579
577580 func av (at,au) = if ((au >= aq))
578581 then at
579582 else throw("List size exceeds 6")
580583
581584 av(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6)
582585 }
583- makeString(dT, "_")
586+ makeString(dU, "_")
584587 }
585588 }
586589 else throw("fail to cast into List")
587590 }
588591
589592
590-func dU (dO) = {
591- let cK = dO
592- if ($isInstanceOf(cK, "(List[Any], List[Any])"))
593+func dV (dP) = {
594+ let cL = dP
595+ if ($isInstanceOf(cL, "(List[Any], List[Any])"))
593596 then {
594- let dV = cK
595- $Tuple2(dN(dV._1), dN(dV._2))
597+ let dW = cL
598+ $Tuple2(dO(dW._1), dO(dW._2))
596599 }
597600 else throw("fail to cast into (List, List)")
598601 }
599602
600603
601-func dW (dX) = {
602- let t = addressFromString(dX)
603- let dY = if (isDefined(t))
604+func dX (dY) = {
605+ let t = addressFromString(dY)
606+ let dZ = if (isDefined(t))
604607 then wavesBalance(value(t))
605608 else BalanceDetails(0, 0, 0, 0)
606- let dZ = if (isDefined(t))
607- then assetBalance(value(t), cJ)
609+ let ea = if (isDefined(t))
610+ then assetBalance(value(t), cK)
608611 else 0
609- let ea = if (isDefined(t))
610- then assetBalance(value(t), dx)
612+ let eb = if (isDefined(t))
613+ then assetBalance(value(t), dy)
611614 else 0
612- let eb = valueOrElse(getString(aj, bY(dX)), dX)
613- let ec = bZ(dX)
614- let ed = getString(aj, ec)
615- let ee = valueOrElse(getString(aj, cb(dX)), "")
616- let ef = valueOrElse(getString(aj, bN(dX)), "")
617- let eg = dK(dX)[dy]
618- let eh = valueOrElse(getInteger(aj, bu(dX)), 0)
619- let ei = valueOrElse(getInteger(aj, bv(dX)), 0)
620- let ej = valueOrElse(getInteger(aj, bw(dX)), 0)
621- let ek = if (isDefined(ed))
622- then (bA + (if (if (isDefined(t))
623- then isDefined(getString(aj, ca(dX)))
615+ let ec = valueOrElse(getString(aj, bZ(dY)), dY)
616+ let ed = ca(dY)
617+ let ee = getString(aj, ed)
618+ let ef = valueOrElse(getString(aj, cc(dY)), "")
619+ let eg = valueOrElse(getString(aj, bO(dY)), "")
620+ let eh = dL(dY)[dz]
621+ let ei = valueOrElse(getInteger(aj, bu(dY)), 0)
622+ let ej = valueOrElse(getInteger(aj, bv(dY)), 0)
623+ let ek = valueOrElse(getInteger(aj, bw(dY)), 0)
624+ let el = if (isDefined(ee))
625+ then (bB + (if (if (isDefined(t))
626+ then isDefined(getString(aj, cb(dY)))
624627 else false)
625628 then ":1"
626629 else ":0"))
627630 else ""
628-[("%s%s__customName__" + eb), ("%s%s__referredBy__" + valueOrElse(ed, "")), ("%s%s__referrals__" + ee), ("%s%s__lastTxId__" + ef), ("%s%d__wavesBalance__" + toString(dY.available)), ("%s%d__wlgoldBalance__" + toString(ea)), ("%s%d__usdtBalance__" + toString(dZ)), ("%s%d__stakedPieces__" + toString(eg)), ("%s%d__currentXp__" + toString(eh)), ("%s%d__currentLvl__" + toString(ei)), ("%s%d__pointsToDistribute__" + toString(ej)), ("%s%s__walletArtefacts__" + ek)]
631+[("%s%s__customName__" + ec), ("%s%s__referredBy__" + valueOrElse(ee, "")), ("%s%s__referrals__" + ef), ("%s%s__lastTxId__" + eg), ("%s%d__wavesBalance__" + toString(dZ.available)), ("%s%d__wlgoldBalance__" + toString(eb)), ("%s%d__usdtBalance__" + toString(ea)), ("%s%d__stakedPieces__" + toString(eh)), ("%s%d__currentXp__" + toString(ei)), ("%s%d__currentLvl__" + toString(ej)), ("%s%d__pointsToDistribute__" + toString(ek)), ("%s%s__walletArtefacts__" + el)]
629632 }
630633
631634
632-func el (bW,eg) = {
633- let em = valueOrElse(getInteger(aj, bS(bW)), 0)
634- let en = valueOrElse(getInteger(aj, bT(bz, bW)), 0)
635- let eo = (em / 6)
636- let ep = (em / 7)
637- $Tuple3(em, en, ((bC + fraction(bC, ((em + eo) + (2 * ep)), 5)) + fraction(bC, en, (eg * 5))))
635+func em (bX,eh) = {
636+ let en = valueOrElse(getInteger(aj, bT(bX)), 0)
637+ let eo = valueOrElse(getInteger(aj, bU(bA, bX)), 0)
638+ let ep = (en / 6)
639+ let eq = (en / 7)
640+ $Tuple3(en, eo, ((bD + fraction(bD, ((en + ep) + (2 * eq)), 5)) + fraction(bD, eo, (eh * 5))))
638641 }
639642
640643
641-func eq (er) = {
642- let es = split(er, "_")
643- ((bE * (parseIntValue(es[1]) + 1)) * parseIntValue(es[0]))
644+func er (es) = {
645+ let et = split(es, "_")
646+ ((bF * (parseIntValue(et[1]) + 1)) * parseIntValue(et[0]))
644647 }
645648
646649
647-func et (eu,ev,em) = {
648- let er = ((toString(ev) + "_") + toString(em))
649- let ew = toString(eq(er))
650- let ex = valueOrElse(getString(aj, eu), ((((er + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ew) + "_") + ew))
651- split(ex, ":")
650+func eu (ev,ew,en) = {
651+ let es = ((toString(ew) + "_") + toString(en))
652+ let ex = toString(er(es))
653+ let ey = valueOrElse(getString(aj, ev), ((((es + ":0_0_0_0_0_0:0_0_0_0_0_0::0_0_") + ex) + "_") + ex))
654+ split(ey, ":")
652655 }
653656
654657
655-func ey (bo) = {
656- let ez = bx(valueOrElse(getInteger(aj, br(bo)), 0))
657- $Tuple5(valueOrElse(getInteger(aj, bR(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cf(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), ez), dC(invoke(aj, "getBackpackREADONLY", [bo], nil)))
658+func ez (bo) = {
659+ let eA = by(valueOrElse(getInteger(aj, br(bo)), 0))
660+ $Tuple5(valueOrElse(getInteger(aj, bS(bo)), -1), value(assetInfo(fromBase58String(bo))).name, valueOrElse(getString(aj, cg(bo)), ""), valueOrElse(getInteger(aj, bn(bo)), eA), dD(invoke(aj, "getBackpackREADONLY", [bo], nil)))
658661 }
659662
660663
661-func eA (bo,eB,eC) = {
662- let eb = valueOrElse(getString(aj, bX(bo)), eC._2)
663- let eD = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
664- let eh = valueOrElse(getInteger(aj, bq(bo)), 0)
665- let ei = valueOrElse(getInteger(aj, br(bo)), 0)
666- let ej = valueOrElse(getInteger(aj, bs(bo)), 0)
667- let eE = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
668-[("%s%s__assetId__" + bo), ("%s%s__owner__" + eB), ("%s%s__customName__" + eb), ("%s%d__stakedTime__" + toString(eC._1)), ("%s%s__name__" + eC._2), ("%s%s__location__" + eC._3), ("%s%d__health__" + toString(eC._4)), ("%s%d__maxHealth__" + toString(bx(ei))), ("%s%s__characteristics__" + eD), ("%s%d__currentXp__" + toString(eh)), ("%s%d__currentLvl__" + toString(ei)), ("%s%d__pointsToDistribute__" + toString(ej)), ("%s%s__backPack__" + eC._5), ("%s%s__equipment__" + eE)]
664+func eB (bo,eC,eD) = {
665+ let ec = valueOrElse(getString(aj, bY(bo)), eD._2)
666+ let eE = valueOrElse(getString(aj, bp(bo)), "0_0_0_0_0")
667+ let ei = valueOrElse(getInteger(aj, bq(bo)), 0)
668+ let ej = valueOrElse(getInteger(aj, br(bo)), 0)
669+ let ek = valueOrElse(getInteger(aj, bs(bo)), 0)
670+ let eF = valueOrElse(getString(aj, bt(bo)), ";_;_;_;_;_;")
671+ let eG = valueOrElse(getString(aj, bx(bo)), "0_0_0_0_0")
672+[("%s%s__assetId__" + bo), ("%s%s__owner__" + eC), ("%s%s__customName__" + ec), ("%s%d__stakedTime__" + toString(eD._1)), ("%s%s__name__" + eD._2), ("%s%s__location__" + eD._3), ("%s%d__health__" + toString(eD._4)), ("%s%d__maxHealth__" + toString(by(ej))), ("%s%s__characteristics__" + eE), ("%s%d__currentXp__" + toString(ei)), ("%s%d__currentLvl__" + toString(ej)), ("%s%d__pointsToDistribute__" + toString(ek)), ("%s%s__backPack__" + eD._5), ("%s%s__equipment__" + eF), ("%s%s__buffs__" + eG)]
669673 }
670674
671675
672-func eF (bW,eB,eG) = if ((bW == ""))
676+func eH (bX,eC,eI) = if ((bX == ""))
673677 then throw("landAssetId is required")
674678 else {
675- let eH = value(assetInfo(fromBase58String(bW)))
676- let eI = split(eH.description, "_")
677- let eJ = if ((eH.quantity > 0))
678- then eI[ds]
679- else ("-" + eI[ds])
680- let eg = dI(eI[dt])
681- let eK = el(bW, eg)
682- let eL = (lastBlock.timestamp - eG)
683- let eM = if ((eG > 0))
684- then fraction(eL, (eK._3 * eg), bD)
679+ let eJ = value(assetInfo(fromBase58String(bX)))
680+ let eK = split(eJ.description, "_")
681+ let eL = if ((eJ.quantity > 0))
682+ then eK[dt]
683+ else ("-" + eK[dt])
684+ let eh = dJ(eK[du])
685+ let eM = em(bX, eh)
686+ let eN = (lastBlock.timestamp - eI)
687+ let eO = if ((eI > 0))
688+ then fraction(eN, (eM._3 * eh), bE)
685689 else 0
686- let eN = fraction(cM, (eg * (eK._1 + 1)), cQ)
687- let eO = if ((eG > 0))
688- then dU(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eN, eM, eI[du]], nil))
689- else $Tuple2(dN(invoke(aj, "splitByGlobalWeightsREADONLY", [eN], nil)), "")
690- let eb = valueOrElse(getString(aj, bQ(bW)), ((eI[dv] + "-") + eI[ds]))
691-[("%s%s__assetId__" + bW), ("%s%s__owner__" + eB), ("%s%s__customName__" + eb), ("%s%d__stakedTime__" + toString(eG)), ("%s%s__description__" + makeString([eJ, eI[dt], eI[du], eI[dv]], "_")), ("%s%d__infraLevel__" + toString(eK._1)), ("%s%s__availResByType__" + eO._2), ("%s%d__availResTotal__" + toString(eM)), ("%s%s__needMaterial__" + eO._1), ("%s%s__landArtefacts__PRESALE:" + toString(eK._2)), ("%s%s__warehouse__" + makeString(et(bV(bW), (eg / cQ), eK._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dn, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
690+ let eP = fraction(cN, (eh * (eM._1 + 1)), cR)
691+ let eQ = if ((eI > 0))
692+ then dV(invoke(aj, "splitByGlobalAndLocalWeightsREADONLY", [eP, eO, eK[dv]], nil))
693+ else $Tuple2(dO(invoke(aj, "splitByGlobalWeightsREADONLY", [eP], nil)), "")
694+ let ec = valueOrElse(getString(aj, bR(bX)), ((eK[dw] + "-") + eK[dt]))
695+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eC), ("%s%s__customName__" + ec), ("%s%d__stakedTime__" + toString(eI)), ("%s%s__description__" + makeString([eL, eK[du], eK[dv], eK[dw]], "_")), ("%s%d__infraLevel__" + toString(eM._1)), ("%s%s__availResByType__" + eQ._2), ("%s%d__availResTotal__" + toString(eO)), ("%s%s__needMaterial__" + eQ._1), ("%s%s__landArtefacts__PRESALE:" + toString(eM._2)), ("%s%s__warehouse__" + makeString(eu(bW(bX), (eh / cR), eM._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(do, ci(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
692696 }
693697
694698
695-func eP (bW,eB) = if ((bW == ""))
699+func eR (bX,eC) = if ((bX == ""))
696700 then throw("landAssetId is required")
697701 else {
698- let eH = value(assetInfo(fromBase58String(bW)))
699- let eI = split(eH.description, "_")
700- let eg = dI(eI[dt])
701- let eK = el(bW, eg)
702-[("%s%s__assetId__" + bW), ("%s%s__owner__" + eB), ("%s%s__warehouse__" + makeString(et(bV(bW), (eg / cQ), eK._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(dn, ch(bW)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
702+ let eJ = value(assetInfo(fromBase58String(bX)))
703+ let eK = split(eJ.description, "_")
704+ let eh = dJ(eK[du])
705+ let eM = em(bX, eh)
706+[("%s%s__assetId__" + bX), ("%s%s__owner__" + eC), ("%s%s__warehouse__" + makeString(eu(bW(bX), (eh / cR), eM._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(do, ci(bX)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
703707 }
704708
705709
706-@Callable(eQ)
707-func constructorV1 (az) = if ((eQ.caller != this))
710+@Callable(eS)
711+func constructorV1 (az) = if ((eS.caller != this))
708712 then throw("permissions denied")
709713 else {
710- func eR (am,eS) = (am + "%s")
714+ func eT (am,eU) = (am + "%s")
711715
712- let eT = {
716+ let eV = {
713717 let ap = az
714718 let aq = size(ap)
715719 let ar = ""
716720 func as (at,au) = if ((au >= aq))
717721 then at
718- else eR(at, ap[au])
722+ else eT(at, ap[au])
719723
720724 func av (at,au) = if ((au >= aq))
721725 then at
722726 else throw("List size exceeds 10")
723727
724728 av(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
725729 }
726-[StringEntry(df(), makeString(eT :: az, cN)), StringEntry(dg(), toString(this))]
730+[StringEntry(dg(), makeString(eV :: az, cO)), StringEntry(dh(), toString(this))]
727731 }
728732
729733
730734
731-@Callable(eQ)
732-func walletInfoREADONLY (dX) = $Tuple2(nil, dW(dX))
735+@Callable(eS)
736+func walletInfoREADONLY (dY) = $Tuple2(nil, dX(dY))
733737
734738
735739
736-@Callable(eQ)
737-func duckByOwnerInfoREADONLY (eU) = {
738- let eV = getString(aj, cd(eU))
739- $Tuple2(nil, if (if (isDefined(addressFromString(eU)))
740- then isDefined(eV)
740+@Callable(eS)
741+func duckByOwnerInfoREADONLY (eW) = {
742+ let eX = getString(aj, ce(eW))
743+ $Tuple2(nil, if (if (isDefined(addressFromString(eW)))
744+ then isDefined(eX)
741745 else false)
742746 then {
743- let bo = value(eV)
744- eA(bo, eU, ey(bo))
747+ let bo = value(eX)
748+ eB(bo, eW, ez(bo))
745749 }
746- else eA("", eU, $Tuple5(-1, "", "", -1, "")))
750+ else eB("", eW, $Tuple5(-1, "", "", -1, "")))
747751 }
748752
749753
750754
751-@Callable(eQ)
755+@Callable(eS)
752756 func duckByAssetIdInfoREADONLY (bo) = {
753- let eB = getString(aj, cc(bo))
754- $Tuple2(nil, eA(bo, if (isDefined(eB))
755- then value(eB)
756- else "", ey(bo)))
757+ let eC = getString(aj, cd(bo))
758+ $Tuple2(nil, eB(bo, if (isDefined(eC))
759+ then value(eC)
760+ else "", ez(bo)))
757761 }
758762
759763
760764
761-@Callable(eQ)
762-func landByAssetIdInfoREADONLY (bW) = if ((bW == ""))
765+@Callable(eS)
766+func landByAssetIdInfoREADONLY (bX) = if ((bX == ""))
763767 then throw("landAssetId is required")
764768 else {
765- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
766- let eB = if ((eG > 0))
767- then value(getString(aj, bO(bW)))
769+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
770+ let eC = if ((eI > 0))
771+ then value(getString(aj, bP(bX)))
768772 else ""
769- $Tuple2(nil, eF(bW, eB, eG))
773+ $Tuple2(nil, eH(bX, eC, eI))
770774 }
771775
772776
773777
774-@Callable(eQ)
775-func stakedLandsByOwnerInfoREADONLY (eW) = if ((eW == ""))
778+@Callable(eS)
779+func stakedLandsByOwnerInfoREADONLY (eY) = if ((eY == ""))
776780 then throw("landOwnerAddress is required")
777781 else {
778- let eX = getString(aj, dA(eW))
779- let eY = if (isDefined(eX))
780- then split_51C(value(eX), "_")
782+ let eZ = getString(aj, dB(eY))
783+ let fa = if (isDefined(eZ))
784+ then split_51C(value(eZ), "_")
781785 else nil
782- func eZ (am,bW) = if ((bW == ""))
786+ func fb (am,bX) = if ((bX == ""))
783787 then throw("landAssetId is required")
784788 else {
785- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
786- (am :+ eF(bW, eW, eG))
789+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
790+ (am :+ eH(bX, eY, eI))
787791 }
788792
789- let dT = {
790- let ap = eY
793+ let dU = {
794+ let ap = fa
791795 let aq = size(ap)
792796 let ar = nil
793797 func as (at,au) = if ((au >= aq))
794798 then at
795- else eZ(at, ap[au])
799+ else fb(at, ap[au])
796800
797801 func av (at,au) = if ((au >= aq))
798802 then at
799803 else throw("List size exceeds 100")
800804
801805 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
802806 }
803- $Tuple2(nil, dT)
807+ $Tuple2(nil, dU)
804808 }
805809
806810
807811
808-@Callable(eQ)
809-func landsByIdsInfoREADONLY (fa) = {
810- func eZ (am,bW) = if ((bW == ""))
812+@Callable(eS)
813+func landsByIdsInfoREADONLY (fc) = {
814+ func fb (am,bX) = if ((bX == ""))
811815 then throw("landAssetId is required")
812816 else {
813- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
814- let eB = if ((eG > 0))
815- then value(getString(aj, bO(bW)))
817+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
818+ let eC = if ((eI > 0))
819+ then value(getString(aj, bP(bX)))
816820 else ""
817- (am :+ eF(bW, eB, eG))
821+ (am :+ eH(bX, eC, eI))
818822 }
819823
820- let dT = {
821- let ap = fa
824+ let dU = {
825+ let ap = fc
822826 let aq = size(ap)
823827 let ar = nil
824828 func as (at,au) = if ((au >= aq))
825829 then at
826- else eZ(at, ap[au])
830+ else fb(at, ap[au])
827831
828832 func av (at,au) = if ((au >= aq))
829833 then at
830834 else throw("List size exceeds 100")
831835
832836 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
833837 }
834- $Tuple2(nil, dT)
838+ $Tuple2(nil, dU)
835839 }
836840
837841
838842
839-@Callable(eQ)
840-func warehouseOrderByAssetIdInfoREADONLY (bW) = if ((bW == ""))
843+@Callable(eS)
844+func warehouseOrderByAssetIdInfoREADONLY (bX) = if ((bX == ""))
841845 then throw("landAssetId is required")
842846 else {
843- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
844- let eB = if ((eG > 0))
845- then value(getString(aj, bO(bW)))
847+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
848+ let eC = if ((eI > 0))
849+ then value(getString(aj, bP(bX)))
846850 else ""
847- $Tuple2(nil, eP(bW, eB))
851+ $Tuple2(nil, eR(bX, eC))
848852 }
849853
850854
851855
852-@Callable(eQ)
853-func ordersByLandIdsInfoREADONLY (fa) = {
854- func eZ (am,bW) = if ((bW == ""))
856+@Callable(eS)
857+func ordersByLandIdsInfoREADONLY (fc) = {
858+ func fb (am,bX) = if ((bX == ""))
855859 then throw("landAssetId is required")
856860 else {
857- let eG = valueOrElse(getInteger(aj, bR(bW)), -1)
858- let eB = if ((eG > 0))
859- then value(getString(aj, bO(bW)))
861+ let eI = valueOrElse(getInteger(aj, bS(bX)), -1)
862+ let eC = if ((eI > 0))
863+ then value(getString(aj, bP(bX)))
860864 else ""
861- (am :+ eP(bW, eB))
865+ (am :+ eR(bX, eC))
862866 }
863867
864- let dT = {
865- let ap = fa
868+ let dU = {
869+ let ap = fc
866870 let aq = size(ap)
867871 let ar = nil
868872 func as (at,au) = if ((au >= aq))
869873 then at
870- else eZ(at, ap[au])
874+ else fb(at, ap[au])
871875
872876 func av (at,au) = if ((au >= aq))
873877 then at
874878 else throw("List size exceeds 40")
875879
876880 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
877881 }
878- $Tuple2(nil, dT)
882+ $Tuple2(nil, dU)
879883 }
880884
881885
882886
883-@Callable(eQ)
884-func cancelWarehouseOrders (fa) = if ((eQ.caller != this))
887+@Callable(eS)
888+func cancelWarehouseOrders (fc) = if ((eS.caller != this))
885889 then throw("permission denied")
886890 else {
887- let fb = getBoolean(aj, cg())
888- if (if (!(isDefined(fb)))
891+ let fd = getBoolean(aj, ch())
892+ if (if (!(isDefined(fd)))
889893 then true
890- else (value(fb) == false))
894+ else (value(fd) == false))
891895 then throw("Contracts should be blocked before canceling orders")
892896 else {
893- func eZ (eH,bW) = if ((bW == ""))
897+ func fb (eJ,bX) = if ((bX == ""))
894898 then throw("landAssetId is required")
895899 else {
896- let fc = dH(invoke(dn, "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:", bW], nil))
897- if (if (eH)
900+ let fe = dI(invoke(do, "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:", bX], nil))
901+ if (if (eJ)
898902 then true
899- else fc)
900- then !(if (eH)
901- then fc
903+ else fe)
904+ then !(if (eJ)
905+ then fe
902906 else false)
903907 else false
904908 }
905909
906- let dT = {
907- let ap = fa
910+ let dU = {
911+ let ap = fc
908912 let aq = size(ap)
909913 let ar = false
910914 func as (at,au) = if ((au >= aq))
911915 then at
912- else eZ(at, ap[au])
916+ else fb(at, ap[au])
913917
914918 func av (at,au) = if ((au >= aq))
915919 then at
916920 else throw("List size exceeds 30")
917921
918922 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
919923 }
920- $Tuple2(nil, dT)
924+ $Tuple2(nil, dU)
921925 }
922926 }
923927
924928
925929
926-@Callable(eQ)
927-func fixWarehouseFormats (fa) = if ((eQ.caller != this))
930+@Callable(eS)
931+func fixWarehouseFormats (fc) = if ((eS.caller != this))
928932 then throw("permission denied")
929933 else {
930- func eZ (am,bW) = if ((bW == ""))
934+ func fb (am,bX) = if ((bX == ""))
931935 then throw("landAssetId is required")
932- else (am + size(dC(invoke(aj, "fixWarehouseFormat", [bW], nil))))
936+ else (am + size(dD(invoke(aj, "fixWarehouseFormat", [bX], nil))))
933937
934- let dT = {
935- let ap = fa
938+ let dU = {
939+ let ap = fc
936940 let aq = size(ap)
937941 let ar = 0
938942 func as (at,au) = if ((au >= aq))
939943 then at
940- else eZ(at, ap[au])
944+ else fb(at, ap[au])
941945
942946 func av (at,au) = if ((au >= aq))
943947 then at
944948 else throw("List size exceeds 25")
945949
946950 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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)
947951 }
948- $Tuple2(nil, dT)
952+ $Tuple2(nil, dU)
949953 }
950954
951955
952956
953-@Callable(eQ)
954-func fixStakedPieces (fd) = if ((eQ.caller != this))
957+@Callable(eS)
958+func fixStakedPieces (ff) = if ((eS.caller != this))
955959 then throw("permission denied")
956960 else {
957- func fe (am,t) = if ((t == ""))
961+ func fg (am,t) = if ((t == ""))
958962 then throw("address is required")
959- else (am + dF(invoke(aj, "fixStakedPieces", [t], nil)))
963+ else (am + dG(invoke(aj, "fixStakedPieces", [t], nil)))
960964
961- let dT = {
962- let ap = fd
965+ let dU = {
966+ let ap = ff
963967 let aq = size(ap)
964968 let ar = 0
965969 func as (at,au) = if ((au >= aq))
966970 then at
967- else fe(at, ap[au])
971+ else fg(at, ap[au])
968972
969973 func av (at,au) = if ((au >= aq))
970974 then at
971975 else throw("List size exceeds 16")
972976
973977 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16)
974978 }
975- $Tuple2(nil, dT)
979+ $Tuple2(nil, dU)
976980 }
977981
978982
979983
980-@Callable(eQ)
981-func fixStakedLands (fa) = {
982- let ff = toString(eQ.caller)
983- if (!(containsElement(dM, ff)))
984+@Callable(eS)
985+func fixStakedLands (fc) = {
986+ let fh = toString(eS.caller)
987+ if (!(containsElement(dN, fh)))
984988 then throw("Permission denied")
985989 else {
986- let dT = dF(invoke(aj, "fixContinentProportions", [fa], nil))
987- $Tuple2(nil, dT)
990+ let dU = dG(invoke(aj, "fixContinentProportions", [fc], nil))
991+ $Tuple2(nil, dU)
988992 }
989993 }
990994
991995
992996
993-@Callable(eQ)
994-func sendUsdtPrize (eU) = if ((eQ.caller != aj))
997+@Callable(eS)
998+func sendUsdtPrize (eW) = if ((eS.caller != aj))
995999 then throw("permission denied")
9961000 else {
997- let fg = fraction(assetBalance(this, cJ), dL, cO)
998- $Tuple2([ScriptTransfer(addressFromStringValue(eU), fg, cJ)], fg)
1001+ let fi = fraction(assetBalance(this, cK), dM, cP)
1002+ $Tuple2([ScriptTransfer(addressFromStringValue(eW), fi, cK)], fi)
9991003 }
10001004
10011005
10021006
1003-@Callable(eQ)
1007+@Callable(eS)
10041008 func getEmergencyServiceDataREADONLY () = {
1005- let fh = getString(dn, ci())
1006- let fi = if (isDefined(fh))
1007- then split_4C(value(fh), "_")
1009+ let fj = getString(do, cj())
1010+ let fk = if (isDefined(fj))
1011+ then split_4C(value(fj), "_")
10081012 else nil
1009- func fj (am,fk) = {
1010- let dG = am._2
1011- let cH = split(fk, "_")
1012- let fl = if ((dG == 0))
1013- then (bG * bM)
1013+ func fl (am,fm) = {
1014+ let dH = am._2
1015+ let cI = split(fm, "_")
1016+ let fn = if ((dH == 0))
1017+ then (bH * bN)
10141018 else 0
1015- let fm = if ((size(fi) > dG))
1016- then parseIntValue(fi[dG])
1019+ let fo = if ((size(fk) > dH))
1020+ then parseIntValue(fk[dH])
10171021 else 0
1018- let fn = cG(cH)
1019- let fo = fraction((fn * bH), bF, (cP * bM))
1020- let fp = fraction((fn * bI), bF, (cP * bM))
1021- let fq = makeString([toString(fl), toString(fm), toString(fo), toString(fp)], "_")
1022- $Tuple2((am._1 :+ fq), (dG + 1))
1022+ let fp = cH(cI)
1023+ let fq = fraction((fp * bI), bG, (cQ * bN))
1024+ let fr = fraction((fp * bJ), bG, (cQ * bN))
1025+ let fs = makeString([toString(fn), toString(fo), toString(fq), toString(fr)], "_")
1026+ $Tuple2((am._1 :+ fs), (dH + 1))
10231027 }
10241028
1025- let dE = makeString_2C(( let ap = bK
1029+ let dF = makeString_2C(( let ap = bL
10261030 let aq = size(ap)
10271031 let ar = $Tuple2(nil, 0)
10281032 func as (at,au) = if ((au >= aq))
10291033 then at
1030- else fj(at, ap[au])
1034+ else fl(at, ap[au])
10311035
10321036 func av (at,au) = if ((au >= aq))
10331037 then at
10341038 else throw("List size exceeds 50")
10351039
10361040 av(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ar, 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, ":")
1037- let fr = ("%s%s__emergencyServiceData__" + dE)
1038- $Tuple2(nil, fr)
1041+ let ft = ("%s%s__emergencyServiceData__" + dF)
1042+ $Tuple2(nil, ft)
10391043 }
10401044
10411045
10421046
1043-@Callable(eQ)
1047+@Callable(eS)
10441048 func wlgStatsREADONLY (ay) = {
1045- let fs = ax(ay, [dm, aj, dn, do, dp, dq, aH], cJ, 0)
1046- $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fs[z])), ("%s%s%d__wlgPrice__" + toString(fs[A])), ("%s%s%d__usdtFunds__" + toString(fs[B])), ("%s%s%d__usdtEconomy__" + toString(fs[C])), ("%s%s%d__usdtActivity__" + toString(fs[D])), ("%s%s%d__usdtArbitrage__" + toString(fs[E])), ("%s%s%d__usdtPool__" + toString(fs[F])), ("%s%s%d__wlgIssueTime__" + toString(fs[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fs[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fs[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fs[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fs[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fs[L])), ("%s%s%d__wlgTeamTotal__" + toString(fs[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fs[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fs[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fs[P])), ("%s%s%d__wlgActTotal__" + toString(fs[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fs[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fs[S])), ("%s%s%d__wlgActWlgold__" + toString(fs[T])), ("%s%s%d__wlgCurPeriod__" + toString(fs[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fs[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fs[W])), ("%s%s%d__wlgLastUserTime__" + toString(fs[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fs[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fs[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fs[aa]))])
1049+ let fu = ax(ay, [dn, aj, do, dp, dq, dr, aH], cK, 0)
1050+ $Tuple2(nil, [("%s%s%d__wlgAmount__" + toString(fu[z])), ("%s%s%d__wlgPrice__" + toString(fu[A])), ("%s%s%d__usdtFunds__" + toString(fu[B])), ("%s%s%d__usdtEconomy__" + toString(fu[C])), ("%s%s%d__usdtActivity__" + toString(fu[D])), ("%s%s%d__usdtArbitrage__" + toString(fu[E])), ("%s%s%d__usdtPool__" + toString(fu[F])), ("%s%s%d__wlgIssueTime__" + toString(fu[G])), ("%s%s%d__wlgLastMarketingTeamActTime__" + toString(fu[H])), ("%s%s%d__wlgMarketingTotal__" + toString(fu[I])), ("%s%s%d__wlgMarketingAmLeft__" + toString(fu[J])), ("%s%s%d__wlgMarketingAmAvailNow__" + toString(fu[K])), ("%s%s%d__wlgMarketingWlgold__" + toString(fu[L])), ("%s%s%d__wlgTeamTotal__" + toString(fu[M])), ("%s%s%d__wlgTeamAmLeft__" + toString(fu[N])), ("%s%s%d__wlgTeamAmAvailNow__" + toString(fu[O])), ("%s%s%d__wlgTeamWlgold__" + toString(fu[P])), ("%s%s%d__wlgActTotal__" + toString(fu[Q])), ("%s%s%d__wlgActAmLeft__" + toString(fu[R])), ("%s%s%d__wlgActAmAvailNow__" + toString(fu[S])), ("%s%s%d__wlgActWlgold__" + toString(fu[T])), ("%s%s%d__wlgCurPeriod__" + toString(fu[U])), ("%s%s%d__wlgAmLeftTotal__" + toString(fu[V])), ("%s%s%d__wlgCurPeriodDistribution__" + toString(fu[W])), ("%s%s%d__wlgLastUserTime__" + toString(fu[X])), ("%s%s%d__wlgUserAmAvailNow__" + toString(fu[Y])), ("%s%s%d__wlgGuestSLandDaily__" + toString(fu[Z])), ("%s%s%d__wlgInvestFundTotal__" + toString(fu[aa]))])
10471051 }
10481052
10491053
10501054
1051-@Callable(eQ)
1052-func tournamentStatsREADONLY (ft) = {
1053- let fu = cq(dr, ft)
1054- let cs = fu[co]
1055- let ct = fu[cp]
1056- let fv = if ((ct[cz] == ""))
1055+@Callable(eS)
1056+func tournamentStatsREADONLY (fv) = {
1057+ let fw = cr(ds, fv)
1058+ let ct = fw[cp]
1059+ let cu = fw[cq]
1060+ let fx = if ((cu[cA] == ""))
10571061 then " "
1058- else ct[cz]
1059- let fw = valueOrElse(getString(dr, cn(ft)), "")
1060- $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([cs[cu], cs[cv], cs[cw], cs[cx]], "_")), ("%s%s__tournamentDynamicData__" + makeString([ct[cy], fv, ct[cA], ct[cB], ct[cC]], "_")), ("%s%s__tournamentRegistrants__" + fw)])
1062+ else cu[cA]
1063+ let fy = valueOrElse(getString(ds, co(fv)), "")
1064+ $Tuple2(nil, [("%s%s__tournamentStaticData__" + makeString([ct[cv], ct[cw], ct[cx], ct[cy]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cu[cz], fx, cu[cB], cu[cC], cu[cD]], "_")), ("%s%s__tournamentRegistrants__" + fy)])
10611065 }
10621066
10631067
10641068
1065-@Callable(eQ)
1069+@Callable(eS)
10661070 func lastTournamentStatsREADONLY () = {
1067- let ft = valueOrElse(getInteger(dr, cj), 0)
1068- let cs = split(valueOrElse(getString(dr, ck(ft)), "%s%d%d%d%d%d____________"), cN)
1069- let ct = split(valueOrElse(getString(dr, cm(ft)), "%s%s%d%d%d__________"), cN)
1070- let fv = if ((ct[cz] == ""))
1071+ let fv = valueOrElse(getInteger(ds, ck), 0)
1072+ let ct = split(valueOrElse(getString(ds, cl(fv)), "%s%d%d%d%d%d____________"), cO)
1073+ let cu = split(valueOrElse(getString(ds, cn(fv)), "%s%s%d%d%d__________"), cO)
1074+ let fx = if ((cu[cA] == ""))
10711075 then " "
1072- else ct[cz]
1073- let fw = valueOrElse(getString(dr, cn(ft)), "")
1074- $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(ft)), ("%s%s__tournamentStaticData__" + makeString([cs[cu], cs[cv], cs[cw], cs[cx]], "_")), ("%s%s__tournamentDynamicData__" + makeString([ct[cy], fv, ct[cA], ct[cB], ct[cC]], "_")), ("%s%s__tournamentRegistrants__" + fw)])
1076+ else cu[cA]
1077+ let fy = valueOrElse(getString(ds, co(fv)), "")
1078+ $Tuple2(nil, [("%s%s__lastTournamentId__" + toString(fv)), ("%s%s__tournamentStaticData__" + makeString([ct[cv], ct[cw], ct[cx], ct[cy]], "_")), ("%s%s__tournamentDynamicData__" + makeString([cu[cz], fx, cu[cB], cu[cC], cu[cD]], "_")), ("%s%s__tournamentRegistrants__" + fy)])
10751079 }
10761080
10771081
10781082
1079-@Callable(eQ)
1080-func tournamentDuckStatsREADONLY (cl,bo) = {
1081- let fx = valueOrElse(getBoolean(dr, cD(cl, bo)), false)
1082- let fy = valueOrElse(getInteger(dr, cE(cl, bo)), 0)
1083- let fz = valueOrElse(getInteger(dr, cF(cl, bo)), 0)
1084- $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fx), toString(fy), toString(fz)], "_"))])
1083+@Callable(eS)
1084+func tournamentDuckStatsREADONLY (cm,bo) = {
1085+ let fz = valueOrElse(getBoolean(ds, cE(cm, bo)), false)
1086+ let fA = valueOrElse(getInteger(ds, cF(cm, bo)), 0)
1087+ let fB = valueOrElse(getInteger(ds, cG(cm, bo)), 0)
1088+ $Tuple2(nil, [("%s%s__tournamentDuckStats__" + makeString([toString(fz), toString(fA), toString(fB)], "_"))])
10851089 }
10861090
10871091

github/deemru/w8io/169f3d6 
449.84 ms