tx · Hkej6GwbU1AoCSa3oQtbstngyajtZyhmVKoMnHVRGKLx

3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy:  -0.02700000 Waves

2023.03.06 12:32 [2478049] smart account 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy > SELF 0.00000000 Waves

{ "type": 13, "id": "Hkej6GwbU1AoCSa3oQtbstngyajtZyhmVKoMnHVRGKLx", "fee": 2700000, "feeAssetId": null, "timestamp": 1678095149743, "version": 2, "chainId": 84, "sender": "3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy", "senderPublicKey": "9W33iCCNfmFxUbiC6XZcH5x7f6xfwC7Jb3BoExT5q2PV", "proofs": [ "3AYwbY5WYNjcvKAfukoWG1ybxNJCmzqyQGRe8damgPqVrFWWNrDJWzwrpNoJRud9vhQfkMcz2u6ih4uMeMe4ZVUe" ], "script": "base64:BgKWLwgCEggKBggIAQEBCBIFCgMBCAISAwoBARIDCgEBEgQKAggIEgQKAggIEgMKAQgSAwoBCBIECgIIARIAEgASBQoDCAgEEgMKAQgSBAoCCAgSAwoBCBIAIgNTRVAiBlNDQUxFOCIFTVVMVDgiDlBPT0xXRUlHSFRNVUxUIgd3cmFwRXJyIgNtc2ciCHRocm93RXJyIgRzdHJmIgdhZGRyZXNzIgNrZXkiA2lveiIDaW9kIgpkZWZhdWx0VmFsIgNpb2YiA2FicyIDdmFsIgNhYWwiByRtYXRjaDAiCnZhbEFueUx5c3QiAmFpIgZ2YWxJbnQiG2tleVJlZmVycmFsc0NvbnRyYWN0QWRkcmVzcyIecmVmZXJyYWxzQ29udHJhY3RBZGRyZXNzT3JGYWlsIhZrZXlSZWZlcnJhbFByb2dyYW1OYW1lIhpyZWZlcnJhbFByb2dyYW1OYW1lRGVmYXVsdCITcmVmZXJyYWxQcm9ncmFtTmFtZSIRa2V5RmFjdG9yeUFkZHJlc3MiGElkeEZhY3RvcnlDZmdTdGFraW5nRGFwcCIZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcCIUSWR4RmFjdG9yeUNmZ0lkb0RhcHAiFUlkeEZhY3RvcnlDZmdUZWFtRGFwcCIZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcCIVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwIhlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwIhRJZHhGYWN0b3J5Q2ZnRGFvRGFwcCIaSWR4RmFjdG9yeUNmZ01hcmtldGluZ0RhcHAiGklkeEZhY3RvcnlDZmdHd3hSZXdhcmREYXBwIhZJZHhGYWN0b3J5Q2ZnQmlyZHNEYXBwIg1rZXlGYWN0b3J5Q2ZnIhprZXlGYWN0b3J5THAyQXNzZXRzTWFwcGluZyIKbHBBc3NldFN0ciIQa2V5RmFjdG9yeUxwTGlzdCIma2V5RmFjdG9yeUxwQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MiFGtleUZhY3RvcnlQb29sV2VpZ2h0Ig9jb250cmFjdEFkZHJlc3MiG2tleUZhY3RvcnlQb29sV2VpZ2h0SGlzdG9yeSILcG9vbEFkZHJlc3MiA251bSIYcmVhZEZhY3RvcnlBZGRyZXNzT3JGYWlsIgpyZWFkTHBMaXN0IhRyZWFkRmFjdG9yeUNmZ09yRmFpbCIHZmFjdG9yeSIYZ2V0Qm9vc3RpbmdBZGRyZXNzT3JGYWlsIgpmYWN0b3J5Q2ZnIhhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwiF2dldFN0YWtpbmdBZGRyZXNzT3JGYWlsIhlnZXRHd3hSZXdhcmRBZGRyZXNzT3JGYWlsIhNrZXlNYW5hZ2VyUHVibGljS2V5IhprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleSIea2V5RW1pc3Npb25SYXRlUGVyQmxvY2tDdXJyZW50IiFrZXlFbWlzc2lvblJhdGVQZXJCbG9ja01heEN1cnJlbnQiFWtleUVtaXNzaW9uU3RhcnRCbG9jayIda2V5Qm9vc3RpbmdWMkxhc3RVcGRhdGVIZWlnaHQiFWtleUJvb3N0aW5nVjJJbnRlZ3JhbCIba2V5RW1pc3Npb25EdXJhdGlvbkluQmxvY2tzIhNrZXlFbWlzc2lvbkVuZEJsb2NrIg1rZXlOZXh0UGVyaW9kIh9rZXlHd3hSZXdhcmRFbWlzc2lvblN0YXJ0SGVpZ2h0Ig1JZHhDZmdBc3NldElkIhNJZHhDZmdNaW5Mb2NrQW1vdW50IhVJZHhDZmdNaW5Mb2NrRHVyYXRpb24iFUlkeENmZ01heExvY2tEdXJhdGlvbiISSWR4Q2ZnTWF0aENvbnRyYWN0IglrZXlDb25maWciFXJlYWRDb25maWdBcnJheU9yRmFpbCIMbWF0aENvbnRyYWN0Ig1mb3JtYXRDb25maWdTIgdhc3NldElkIg1taW5Mb2NrQW1vdW50Ig9taW5Mb2NrRHVyYXRpb24iD21heExvY2tEdXJhdGlvbiIMZm9ybWF0Q29uZmlnIhZtYW5hZ2VyUHVibGljS2V5T3JVbml0IgFzIh1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdCILbXVzdE1hbmFnZXIiAWkiAnBkIgJwayIOSWR4TG9ja1VzZXJOdW0iDUlkeExvY2tBbW91bnQiDElkeExvY2tTdGFydCIPSWR4TG9ja0R1cmF0aW9uIg1JZHhMb2NrUGFyYW1LIg1JZHhMb2NrUGFyYW1CIhNrZXlMb2NrUGFyYW1zUmVjb3JkIgt1c2VyQWRkcmVzcyIacmVhZExvY2tQYXJhbXNSZWNvcmRPckZhaWwiF2Zvcm1hdExvY2tQYXJhbXNSZWNvcmRTIgd1c2VyTnVtIgZhbW91bnQiBXN0YXJ0IghkdXJhdGlvbiIGcGFyYW1LIgZwYXJhbUIiEGxhc3RVcGRUaW1lc3RhbXAiCWd3eEFtb3VudCIWZm9ybWF0TG9ja1BhcmFtc1JlY29yZCIOa2V5TmV4dFVzZXJOdW0iEmtleVVzZXIyTnVtTWFwcGluZyISa2V5TnVtMlVzZXJNYXBwaW5nIhZrZXlMb2NrUGFyYW1Vc2VyQW1vdW50IhZrZXlMb2NrUGFyYW1TdGFydEJsb2NrIhRrZXlMb2NrUGFyYW1EdXJhdGlvbiINa2V5TG9ja1BhcmFtSyINa2V5TG9ja1BhcmFtQiIVa2V5TG9ja1BhcmFtQnlQZXJpb2RLIgZwZXJpb2QiFWtleUxvY2tQYXJhbUJ5UGVyaW9kQiIXa2V5TG9ja1BhcmFtVG90YWxBbW91bnQiIGtleVN0YXRzTG9ja3NEdXJhdGlvblN1bUluQmxvY2tzIhJrZXlTdGF0c0xvY2tzQ291bnQiEmtleVN0YXRzVXNlcnNDb3VudCIga2V5VXNlckJvb3N0RW1pc3Npb25MYXN0SU5URUdSQUwiImtleVVzZXJMcEJvb3N0RW1pc3Npb25MYXN0SU5URUdSQUwiCWxwQXNzZXRJZCIXa2V5VXNlck1heEJvb3N0SU5URUdSQUwiGGtleVRvdGFsTWF4Qm9vc3RJTlRFR1JBTCIha2V5VXNlckJvb3N0QXZhbGFpYmxlVG9DbGFpbVRvdGFsIhNrZXlVc2VyQm9vc3RDbGFpbWVkIhFrZXlUb3RhbENhY2hlZEd3eCIba2V5VG90YWxDYWNoZWRHd3hDb3JyZWN0aXZlIg9mYWN0b3J5Q29udHJhY3QiEGVtaXNzaW9uQ29udHJhY3QiD3N0YWtpbmdDb250cmFjdCIRZ3d4UmV3YXJkQ29udHJhY3QiGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiCmJvb3N0Q29lZmYiAUAiEWdldFRvdGFsQ2FjaGVkR3d4Igdjb3JyZWN0IhFrZXlDdXJyZW50RXBvY2hVaSIOY3VycmVudEVwb2NoVWkiDmtleVRhcmdldEVwb2NoIhF0YXJnZXRFcG9jaE9wdGlvbiIRdG90YWxDYWNoZWRHd3hSYXciFWlzQ29ycmVjdGlvbkFjdGl2YXRlZCIKY29ycmVjdGl2ZSIMSGlzdG9yeUVudHJ5IgR0eXBlIgR1c2VyIglsb2NrU3RhcnQiAWsiAWIiCmhpc3RvcnlLRVkiC2hpc3RvcnlEQVRBIgpTdGF0c0VudHJ5Ig50b3RhbExvY2tlZEluYyILZHVyYXRpb25JbmMiDGxvY2tDb3VudEluYyINdXNlcnNDb3VudEluYyIbbG9ja3NEdXJhdGlvblN1bUluQmxvY2tzS0VZIg1sb2Nrc0NvdW50S0VZIg11c2Vyc0NvdW50S0VZIg50b3RhbEFtb3VudEtFWSIYbG9ja3NEdXJhdGlvblN1bUluQmxvY2tzIgpsb2Nrc0NvdW50Igp1c2Vyc0NvdW50Igt0b3RhbEFtb3VudCINY2FsY0d3eEFtb3VudCIEa1JhdyIEYlJhdyIBaCIFU0NBTEUiD0xvY2tQYXJhbXNFbnRyeSINdXNlckFtb3VudEtFWSINc3RhcnRCbG9ja0tFWSILZHVyYXRpb25LRVkiBGtLRVkiBGJLRVkiDGtCeVBlcmlvZEtFWSIMYkJ5UGVyaW9kS0VZIiJleHRyYWN0T3B0aW9uYWxQYXltZW50QW1vdW50T3JGYWlsIg9leHBlY3RlZEFzc2V0SWQiA3BtdCIZY2FsY1VzZXJHd3hBbW91bnRBdEhlaWdodCIMdGFyZ2V0SGVpZ2h0IgVFTVBUWSISdXNlcjJOdW1NYXBwaW5nS0VZIg1nd3hBbW91bnRDYWxjIhRjYWxjQ3VycmVudEd3eEFtb3VudCIaZ2V0Vm90aW5nRW1pc3Npb25FcG9jaEluZm8iDSR0MDE0ODM4MTUxMjYiEmxhc3RGaW5hbGl6ZWRFcG9jaCIVa2V5U3RhcnRIZWlnaHRCeUVwb2NoIgVlcG9jaCIXY3VycmVudEVwb2NoU3RhcnRIZWlnaHQiGGdldFBvb2xBc3NldHNCeUxwQXNzZXRJZCIMbHBBc3NldElkU3RyIhBpZHhBbW91bnRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiB3Bvb2xDZmciDWFtb3VudEFzc2V0SWQiDHByaWNlQXNzZXRJZCIHa2V5Vm90ZSIVa2V5Vm90aW5nUmVzdWx0U3Rha2VkIh1rZXlWb3RpbmdSZXN1bHRTdGFrZWRJbnRlZ3JhbCIla2V5Vm90aW5nUmVzdWx0U3Rha2VkTGFzdFVwZGF0ZUhlaWdodCIha2V5Vm90aW5nUmVzdWx0U3Rha2VkSW50ZWdyYWxMYXN0IhVrZXlWb3RlU3Rha2VkSW50ZWdyYWwiHWtleVZvdGVTdGFrZWRMYXN0VXBkYXRlSGVpZ2h0IhlrZXlWb3RlU3Rha2VkSW50ZWdyYWxMYXN0Ig9rZXlTdGFrZWRCeVVzZXIiDnVzZXJBZGRyZXNzU3RyIhRnZXRVc2VyVm90ZUZpbmFsaXplZCINJHQwMTc5MTYxNzk5NiINJHQwMTc5OTkxODA3NCILdXNlclZvdGVLZXkiCHVzZXJWb3RlIhFnZXRVc2VyVm90ZVN0YWtlZCIMc3Rha2VkQnlVc2VyIhVnZXRWb3RpbmdSZXN1bHRTdGFrZWQiDSR0MDE4NjE4MTg2OTgiF3ZvdGluZ1Jlc3VsdFN0YWtlZFN0YXJ0IhJ2b3RpbmdSZXN1bHRTdGFrZWQiIXJlZnJlc2hWb3RpbmdSZXN1bHRTdGFrZWRJbnRlZ3JhbCIPc3Rha2VkVm90ZURlbHRhIg0kdDAxOTIxOTE5Mjk5IhV2b3RpbmdSZXN1bHRTdGFrZWROZXciHXZvdGluZ1Jlc3VsdFN0YWtlZEludGVncmFsS2V5Ih52b3RpbmdSZXN1bHRTdGFrZWRJbnRlZ3JhbFByZXYiH3ZvdGluZ1Jlc3VsdExhc3RVcGRhdGVIZWlnaHRLZXkiInZvdGluZ1Jlc3VsdFN0YWtlZExhc3RVcGRhdGVIZWlnaHQiHHZvdGluZ1Jlc3VsdFN0YWtlZEludGVncmFsRGgiGnZvdGluZ1Jlc3VsdFN0YWtlZEludGVncmFsIhlyZWZyZXNoVm90ZVN0YWtlZEludGVncmFsIgRlZGdlIg0kdDAyMDQ5OTIwNTc5IgdhY3Rpb25zIg0kdDAyMTE4NDIxMzAzIhN2b3RpbmdSZXN1bHRBY3Rpb25zIg51c2VyVm90ZVN0YWtlZCIZdXNlclZvdGVTdGFrZWRJbnRlZ3JhbEtleSIadXNlclZvdGVTdGFrZWRJbnRlZ3JhbFByZXYiIXVzZXJWb3RlU3Rha2VkTGFzdFVwZGF0ZUhlaWdodEtleSIedXNlclZvdGVTdGFrZWRMYXN0VXBkYXRlSGVpZ2h0Ihh1c2VyVm90ZVN0YWtlZEludGVncmFsRGgiFnVzZXJWb3RlU3Rha2VkSW50ZWdyYWwiC3ZvdGVBY3Rpb25zIhtnZXRTdGFrZWRWb3Rlc0ludGVncmFsc0RpZmYiDSR0MDIyMjk1MjIzNzUiGnVzZXJWb3RlU3Rha2VkSW50ZWdyYWxMYXN0Ih52b3RpbmdSZXN1bHRTdGFrZWRJbnRlZ3JhbExhc3QiGnVzZXJWb3RlU3Rha2VkSW50ZWdyYWxEaWZmIh52b3RpbmdSZXN1bHRTdGFrZWRJbnRlZ3JhbERpZmYiHHJlZnJlc2hCb29zdEVtaXNzaW9uSW50ZWdyYWwiEnd4RW1pc3Npb25QZXJCbG9jayIgYm9vc3RpbmdWMkxhc3RVcGRhdGVIZWlnaHRPcHRpb24iGGJvb3N0aW5nVjJJbmdlcmdhbE9wdGlvbiILZW1pc3Npb25FbmQiAmRoIhBsYXN0VXBkYXRlSGVpZ2h0IhVib29zdEVtaXNzaW9uUGVyQmxvY2siGWJvb3N0RW1pc3Npb25JbnRlZ3JhbFByZXYiFWJvb3N0RW1pc3Npb25JbnRlZ3JhbCIUaW50ZXJuYWxDbGFpbVd4Qm9vc3QiCHJlYWRPbmx5IhB1c2VyUmVjb3JkT3B0aW9uIg91c2VyUmVjb3JkQXJyYXkiCnVzZXJOdW1TdHIiCEVNUFRZU1RSIgpwb29sV2VpZ2h0Ig5wb29sQWRkcmVzc1N0ciIidXNlckxwQm9vc3RFbWlzc2lvbkxhc3RJbnRlZ3JhbEtFWSIgdXNlckJvb3N0RW1pc3Npb25MYXN0SW50ZWdyYWxLRVkiHXVzZXJCb29zdEVtaXNzaW9uTGFzdEludGVncmFsIhl1c2VyQm9vc3RFbWlzc2lvbkludGVncmFsIg0kdDAyNjg4ODI3MDI3IhtzdGFrZWRWb3Rlc0ludGVncmFsc0FjdGlvbnMiFHVzZXJWb3RlSW50ZWdyYWxEaWZmIhZ0b3RhbFZvdGVzSW50ZWdyYWxEaWZmIh1wb29sVXNlckJvb3N0RW1pc3Npb25JbnRlZ3JhbCIhdXNlckJvb3N0QXZhbGlhYmxlVG9DbGFpbVRvdGFsTmV3IglkYXRhU3RhdGUiBWRlYnVnIgtsb2NrQWN0aW9ucyIIY2ZnQXJyYXkiCmFzc2V0SWRTdHIiCXBtdEFtb3VudCIObmV4dFVzZXJOdW1LRVkiDnVzZXJJc0V4aXN0aW5nIgdjb2VmZlg4Ig5nV3hBbW91bnRTdGFydCITZ1d4UGFyYW1zUmVzdWx0TGlzdCIDYXJyIhFmYWN0b3J5QWRkcmVzc1N0ciIObG9ja0Fzc2V0SWRTdHIiC21pbkR1cmF0aW9uIgttYXhEdXJhdGlvbiILY2hlY2tDYWxsZXIiD3JlZmVycmVyQWRkcmVzcyIJc2lnbmF0dXJlIg0kdDAzMTU3NzMxNjQyIhFsb2NrQWN0aW9uc1Jlc3VsdCIPcmVmZXJyYWxBZGRyZXNzIgZyZWZJbnYiEXVwZGF0ZVJlZkFjdGl2aXR5Ig0kdDAzMjEwMDMyMTY1Ig1kZWx0YUR1cmF0aW9uIgp1c2VyQW1vdW50Igxsb2NrRHVyYXRpb24iB2xvY2tFbmQiEXJlbWFpbmluZ0R1cmF0aW9uIg11c2VyQW1vdW50TmV3Ig9sb2NrRHVyYXRpb25OZXciDGxvY2tTdGFydE5ldyILY3VyclVzZXJHd3giB2d3eERpZmYiF3RvdGFsQ2FjaGVkR3d4Q29ycmVjdGVkIg0kdDAzNTI1MjM1MzU0IhJ1c2VyQm9vc3RBdmFpbGFibGUiDSR0MDM1NDg2MzU1ODciF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5IhVjaGVja01hbmFnZXJQdWJsaWNLZXkiAnBtIgVoYXNQTSIHY2hlY2tQTSICdHgiBnZlcmlmeSIPdGFyZ2V0UHVibGljS2V5hwEAAWECAl9fAAFiAAgAAWMAgMLXLwABZAUBYwEBZQEBZgkAuQkCCQDMCAICDmJvb3N0aW5nLnJpZGU6CQDMCAIFAWYFA25pbAIBIAEBZwEBZgkAAgEJAQFlAQUBZgEBaAIBaQFqCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUBaQUBagkArAICCQCsAgICD21hbmRhdG9yeSB0aGlzLgUBagIPIGlzIG5vdCBkZWZpbmVkAQFrAgFpAWoJAQt2YWx1ZU9yRWxzZQIJAJoIAgUBaQUBagAAAQFsAwFpAWoBbQkBC3ZhbHVlT3JFbHNlAgkAmggCBQFpBQFqBQFt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AAECBQFyAgZTdHJpbmcEAmFGBQFyCQDZBAEFAmFGAwkAAQIFAXICBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgECYUcABAFyCQCiCAEJAQJhZwADCQABAgUBcgIGU3RyaW5nBAJhRgUBcgkA2QQBBQJhRgMJAAECBQFyAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBAmFIAQJhSQQCYUoJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQBcgkBAmFFAAMJAAECBQFyAgpCeXRlVmVjdG9yBAJhSwUBcgMJAAACCAUCYUkPY2FsbGVyUHVibGljS2V5BQJhSwYFAmFKAwkAAQIFAXICBFVuaXQDCQAAAggFAmFJBmNhbGxlcgUEdGhpcwYFAmFKCQACAQILTWF0Y2ggZXJyb3IAAmFMAAEAAmFNAAIAAmFOAAMAAmFPAAQAAmFQAAUAAmFRAAYBAmFSAQJhUwkAuQkCCQDMCAICCiVzJXNfX2xvY2sJAMwIAgUCYVMFA25pbAUBYQECYVQBAmFTCQC1CQIJAQFoAgUEdGhpcwkBAmFSAQUCYVMFAWEBAmFVCAJhVgJhVwJhWAJhWQJhWgJiYQJiYgJiYwkAuQkCCQDMCAICECVkJWQlZCVkJWQlZCVkJWQJAMwIAgUCYVYJAMwIAgUCYVcJAMwIAgUCYVgJAMwIAgUCYVkJAMwIAgUCYVoJAMwIAgUCYmEJAMwIAgUCYmIJAMwIAgUCYmMFA25pbAUBYQECYmQHAmFWAmFXAmFYAmFZAmFaAmJhAmJjCQECYVUIBQJhVgkApAMBBQJhVwkApAMBBQJhWAkApAMBBQJhWQkApAMBBQJhWgkApAMBBQJiYQkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkApAMBBQJiYwECYmUAAg8lc19fbmV4dFVzZXJOdW0BAmJmAQJhUwkAuQkCCQDMCAICGSVzJXMlc19fbWFwcGluZ19fdXNlcjJudW0JAMwIAgUCYVMFA25pbAUBYQECYmcBAVYJALkJAgkAzAgCAhklcyVzJXNfX21hcHBpbmdfX251bTJ1c2VyCQDMCAIFAVYFA25pbAUBYQECYmgBAmFWCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhVgkAzAgCAgZhbW91bnQFA25pbAUBYQECYmkBAmFWCQC5CQIJAMwIAgIWJXMlZCVzX19wYXJhbUJ5VXNlck51bQkAzAgCBQJhVgkAzAgCAgVzdGFydAUDbmlsBQFhAQJiagECYVYJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFWCQDMCAICCGR1cmF0aW9uBQNuaWwFAWEBAmJrAQJhVgkAuQkCCQDMCAICFiVzJWQlc19fcGFyYW1CeVVzZXJOdW0JAMwIAgUCYVYJAMwIAgIBawUDbmlsBQFhAQJibAECYVYJALkJAgkAzAgCAhYlcyVkJXNfX3BhcmFtQnlVc2VyTnVtCQDMCAIFAmFWCQDMCAICAWIFA25pbAUBYQECYm0CAmFWAmJuCQC5CQIJAMwIAgIXJXMlZCVzJWRfX3BhcmFtQnlQZXJpb2QJAMwIAgUCYVYJAMwIAgIBawkAzAgCBQJibgUDbmlsBQFhAQJibwICYVYCYm4JALkJAgkAzAgCAhclcyVkJXMlZF9fcGFyYW1CeVBlcmlvZAkAzAgCBQJhVgkAzAgCAgFiCQDMCAIFAmJuBQNuaWwFAWEBAmJwAAIeJXMlc19fc3RhdHNfX2FjdGl2ZVRvdGFsTG9ja2VkAQJicQACJSVzJXNfX3N0YXRzX19sb2Nrc0R1cmF0aW9uU3VtSW5CbG9ja3MBAmJyAAIXJXMlc19fc3RhdHNfX2xvY2tzQ291bnQBAmJzAAIdJXMlc19fc3RhdHNfX2FjdGl2ZVVzZXJzQ291bnQBAmJ0AQJhVgkAuQkCCQDMCAICICVzJWRfX3VzZXJCb29zdEVtaXNzaW9uTGFzdEludFYyCQDMCAIFAmFWBQNuaWwFAWEBAmJ1AgJhVgJidgkAuQkCCQDMCAICICVzJWRfX3VzZXJCb29zdEVtaXNzaW9uTGFzdEludFYyCQDMCAIFAmFWCQDMCAIFAmJ2BQNuaWwFAWEBAmJ3AQJhVgkAuQkCCQDMCAICESVzJWRfX21heEJvb3N0SW50CQDMCAIFAmFWBQNuaWwFAWEBAmJ4AAIYJXMlc19fbWF4Qm9vc3RJbnRfX3RvdGFsAQJieQECYVYJALkJAgkAzAgCAiQlcyVkX191c2VyQm9vc3RBdmFsaWFibGVUb0NsYWltVG90YWwJAMwIAgUCYVYFA25pbAUBYQECYnoBAmFWCQC5CQIJAMwIAgIWJXMlZF9fdXNlckJvb3N0Q2xhaW1lZAkAzAgCBQJhVgUDbmlsBQFhAQJiQQACFiVzJXNfX2d3eENhY2hlZF9fdG90YWwBAmJCAAIcJXNfX2d3eENhY2hlZFRvdGFsQ29ycmVjdGl2ZQACYkMJAQFXAAACYWIJAQFZAQUCYkMAAmJECQECYWMBBQJhYgACYkUJAQJhZAEFAmFiAAJiRgkBAmFlAQUCYWIAAmJHCQC5CQIJAMwIAgICJXMJAMwIAgIWdm90aW5nRW1pc3Npb25Db250cmFjdAUDbmlsBQFhAAJiSAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUCYkMFAmJHAAJiSQoAAmJKCQD8BwQFAmJEAhVnZXRCb29zdENvZWZmUkVBRE9OTFkFA25pbAUDbmlsAwkAAQIFAmJKAgNJbnQFAmJKCQACAQkArAICCQADAQUCYkoCGCBjb3VsZG4ndCBiZSBjYXN0IHRvIEludAECYksBAmJMBAJiTQkAuQkCCQDMCAICAiVzCQDMCAICDmN1cnJlbnRFcG9jaFVpBQNuaWwFAWEEAmJOCQERQGV4dHJOYXRpdmUoMTA1MCkCBQJiSAUCYk0EAmJPCQC5CQIJAMwIAgIEJXMlcwkAzAgCAil0b3RhbENhY2hlZEd3eENvcnJlY3Rpb25fX2FjdGl2YXRpb25FcG9jaAUDbmlsBQFhBAJiUAkAmggCBQR0aGlzBQJiTwQCYlEJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmJBAAAABAJiUgMJAQlpc0RlZmluZWQBBQJiUAkAZwIFAmJOCQEFdmFsdWUBBQJiUAcEAmJTAwMFAmJSBQJiTAcJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmJCAAAAAAAJAJYDAQkAzAgCAAAJAMwIAgkAZAIFAmJRBQJiUwUDbmlsAQJiVAgCYlUCYlYCYVcCYlcCYVkCYlgCYlkCYUkEAmJaCQC5CQIJAMwIAgIRJXMlcyVzJXNfX2hpc3RvcnkJAMwIAgUCYlUJAMwIAgUCYlYJAMwIAgkA2AQBCAUCYUkNdHJhbnNhY3Rpb25JZAUDbmlsBQFhBAJjYQkAuQkCCQDMCAICDiVkJWQlZCVkJWQlZCVkCQDMCAIJAKQDAQgFCWxhc3RCbG9jawZoZWlnaHQJAMwIAgkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQCkAwEFAmFXCQDMCAIJAKQDAQUCYlcJAMwIAgkApAMBBQJhWQkAzAgCCQCkAwEFAmJYCQDMCAIJAKQDAQUCYlkFA25pbAUBYQkBC1N0cmluZ0VudHJ5AgUCYloFAmNhAQJjYgQCY2MCY2QCY2UCY2YEAmNnCQECYnEABAJjaAkBAmJyAAQCY2kJAQJicwAEAmNqCQECYnAABAJjawkBAWsCBQR0aGlzBQJjZwQCY2wJAQFrAgUEdGhpcwUCY2gEAmNtCQEBawIFBHRoaXMFAmNpBAJjbgkBAWsCBQR0aGlzBQJjagkAzAgCCQEMSW50ZWdlckVudHJ5AgUCY2cJAGQCBQJjawUCY2QJAMwIAgkBDEludGVnZXJFbnRyeQIFAmNoCQBkAgUCY2wFAmNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJjaQkAZAIFAmNtBQJjZgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCY2oJAGQCBQJjbgUCY2MFA25pbAECY28DAmNwAmNxAmNyBAJjcwDoBwkAaQIJAGQCCQBoAgUCY3AFAmNyBQJjcQUCY3MBAmN0CAJhUwJhVgJhVwJhWAJhWQJiWAJiWQJibgQCY3UJAQJiaAEFAmFWBAJjdgkBAmJpAQUCYVYEAmN3CQECYmoBBQJhVgQCY3gJAQJiawEFAmFWBAJjeQkBAmJsAQUCYVYEAmN6CQECYm0CBQJhVgUCYm4EAmNBCQECYm8CBQJhVgUCYm4EAmJjCQECY28DBQJiWAUCYlkFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCY3UFAmFXCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJjdgUCYVgJAMwIAgkBDEludGVnZXJFbnRyeQIFAmN3BQJhWQkAzAgCCQEMSW50ZWdlckVudHJ5AgUCY3gFAmJYCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJjeQUCYlkJAMwIAgkBDEludGVnZXJFbnRyeQIFAmN6BQJiWAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCY0EFAmJZCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhUgEFAmFTCQECYmQHBQJhVgUCYVcFAmFYBQJhWQUCYlgFAmJZBQJiYwUDbmlsAQJjQgICYUkCY0MDCQBmAgkAkAMBCAUCYUkIcGF5bWVudHMAAQkAAgECG29ubHkgb25lIHBheW1lbnQgaXMgYWxsb3dlZAMJAAACCQCQAwEIBQJhSQhwYXltZW50cwAAAAAEAmNECQCRAwIIBQJhSQhwYXltZW50cwAAAwkBAiE9AgkBBXZhbHVlAQgFAmNEB2Fzc2V0SWQFAmNDCQACAQIbaW52YWxpZCBhc3NldCBpZCBpbiBwYXltZW50CAUCY0QGYW1vdW50AQJjRQICYVMCY0YEAmNHAgVlbXB0eQQCY0gJAQJiZgEFAmFTBAJhVgkBC3ZhbHVlT3JFbHNlAgkAoggBBQJjSAUCY0cEAmJYCQELdmFsdWVPckVsc2UCCQCfCAEJAQJiawEFAmFWAAAEAmJZCQELdmFsdWVPckVsc2UCCQCfCAEJAQJibAEFAmFWAAAEAmNJCQECY28DBQJiWAUCYlkFAmNGBAJiYwMJAGYCAAAFAmNJAAAFAmNJBQJiYwECY0oBAmFTCQECY0UCBQJhUwUGaGVpZ2h0AQJjSwAEAmJNCQC5CQIJAMwIAgICJXMJAMwIAgIOY3VycmVudEVwb2NoVWkFA25pbAUBYQQCY0wEAmJOCQEFdmFsdWUBCQCaCAIFAmJIBQJiTQQCY00JAGUCBQJiTgABAwkAZgIAAAUCY00JAQFnAQINaW52YWxpZCBlcG9jaAkAlAoCBQJiTgUCY00EAmJOCAUCY0wCXzEEAmNNCAUCY0wCXzIKAQJjTgECY08JALkJAgkAzAgCAgQlcyVkCQDMCAICC3N0YXJ0SGVpZ2h0CQDMCAIJAKQDAQUCY08FA25pbAUBYQQCY1AJAQV2YWx1ZQEJAJoIAgUCYkgJAQJjTgEFAmJOCQCUCgIFAmNNBQJjUAECY1EBAmNSBAJjUwAEBAJjVAAFBAJjVQoAAmJKCQD8BwQFAmJDAhhnZXRQb29sQ29uZmlnQnlMcEFzc2V0SWQJAMwIAgUCY1IFA25pbAUDbmlsAwkAAQIFAmJKAglMaXN0W0FueV0FAmJKCQACAQkArAICCQADAQUCYkoCHiBjb3VsZG4ndCBiZSBjYXN0IHRvIExpc3RbQW55XQQCY1YKAAJiSgkAkQMCBQJjVQUCY1MDCQABAgUCYkoCBlN0cmluZwUCYkoJAAIBCQCsAgIJAAMBBQJiSgIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nBAJjVwoAAmJKCQCRAwIFAmNVBQJjVAMJAAECBQJiSgIGU3RyaW5nBQJiSgkAAgEJAKwCAgkAAwEFAmJKAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcJAJQKAgUCY1YFAmNXAQJjWAQCY1YCY1cBaQJjTwkAuQkCCQDMCAICCiVzJXMlcyVzJWQJAMwIAgIEdm90ZQkAzAgCBQJjVgkAzAgCBQJjVwkAzAgCCQClCAEFAWkJAMwIAgkApAMBBQJjTwUDbmlsBQFhAQJjWQICY1ICY08JALkJAgkAzAgCAgYlcyVzJWQJAMwIAgISdm90aW5nUmVzdWx0U3Rha2VkCQDMCAIFAmNSCQDMCAIJAKQDAQUCY08FA25pbAUBYQECY1oCAmNSAmNPCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICGnZvdGluZ1Jlc3VsdFN0YWtlZEludGVncmFsCQDMCAIFAmNSCQDMCAIJAKQDAQUCY08FA25pbAUBYQECZGECAmNSAmNPCQC5CQIJAMwIAgIGJXMlcyVkCQDMCAICKnZvdGluZ1Jlc3VsdFN0YWtlZEludGVncmFsTGFzdFVwZGF0ZUhlaWdodAkAzAgCBQJjUgkAzAgCCQCkAwEFAmNPBQNuaWwFAWEBAmRiAwJjUgFpAmNPCQC5CQIJAMwIAgIIJXMlcyVzJWQJAMwIAgIedm90aW5nUmVzdWx0U3Rha2VkSW50ZWdyYWxMYXN0CQDMCAIFAmNSCQDMCAIJAKUIAQUBaQkAzAgCCQCkAwEFAmNPBQNuaWwFAWEBAmRjAwJjUgFpAmNPCQC5CQIJAMwIAgIIJXMlcyVzJWQJAMwIAgISdm90ZVN0YWtlZEludGVncmFsCQDMCAIFAmNSCQDMCAIJAKUIAQUBaQkAzAgCCQCkAwEFAmNPBQNuaWwFAWEBAmRkAwJjUgFpAmNPCQC5CQIJAMwIAgIIJXMlcyVzJWQJAMwIAgIidm90ZVN0YWtlZEludGVncmFsTGFzdFVwZGF0ZUhlaWdodAkAzAgCBQJjUgkAzAgCCQClCAEFAWkJAMwIAgkApAMBBQJjTwUDbmlsBQFhAQJkZQMCY1IBaQJjTwkAuQkCCQDMCAICCCVzJXMlcyVkCQDMCAICFnZvdGVTdGFrZWRJbnRlZ3JhbExhc3QJAMwIAgUCY1IJAMwIAgkApQgBBQFpCQDMCAIJAKQDAQUCY08FA25pbAUBYQECZGYCAmRnAmNSCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICBnN0YWtlZAkAzAgCBQJkZwkAzAgCBQJjUgUDbmlsBQFhAQJkaAICY1ICZGcEAmFTCQERQGV4dHJOYXRpdmUoMTA2MikBBQJkZwQCZGkJAQJjSwAEAmNNCAUCZGkCXzEEAmNQCAUCZGkCXzIEAmRqCQECY1EBBQJjUgQCY1YIBQJkagJfMQQCY1cIBQJkagJfMgQCZGsJAQJjWAQFAmNWBQJjVwUCYVMFAmNNBAJkbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQJiSAUCZGsAAAUCZGwBAmRtAgJjUgJkZwQCZG4JAQt2YWx1ZU9yRWxzZQIJAJoIAgUCYkUJAQJkZgIFAmRnBQJjUgAABAJkbAkBAmRoAgUCY1IFAmRnAwkAAAIFAmRuAAAAAAUCZGwBAmRvAQJjUgQCZHAJAQJjSwAEAmNNCAUCZHACXzEEAmNQCAUCZHACXzIEAmRxCQELdmFsdWVPckVsc2UCCQCaCAIFAmJICQECY1kCBQJjUgUCY00AAAQCZHIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmNZAgUCY1IFAmNNBQJkcQUCZHIBAmRzAgJjUgJkdAQCZHUJAQJjSwAEAmNNCAUCZHUCXzEEAmNQCAUCZHUCXzIEAmRyCQECZG8BBQJjUgQCZHYJAGQCBQJkcgUCZHQEAmR3CQECY1oCBQJjUgUCY00EAmR4CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmR3AAAEAmR5CQECZGECBQJjUgUCY00EAmR6CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmR5BQJjUAQCZEEJAGUCBQZoZWlnaHQFAmR6BAJkQgkAZAIJAGgCBQJkQQUCZHIFAmR4CQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJjWQIFAmNSBQJjTQUCZHYJAMwIAgkBDEludGVnZXJFbnRyeQIFAmR5BQZoZWlnaHQJAMwIAgkBDEludGVnZXJFbnRyeQIFAmR3BQJkQgUDbmlsBQJkQgECZEMDAmNSAmRnAmREBAJkRQkBAmNLAAQCY00IBQJkRQJfMQQCY1AIBQJkRQJfMgQCYVMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmRnBAJjUwAEBAJjVAAFBAJjVQoAAmJKCQD8BwQFAmJDAhhnZXRQb29sQ29uZmlnQnlMcEFzc2V0SWQJAMwIAgUCY1IFA25pbAUDbmlsAwkAAQIFAmJKAglMaXN0W0FueV0FAmJKCQACAQkArAICCQADAQUCYkoCHiBjb3VsZG4ndCBiZSBjYXN0IHRvIExpc3RbQW55XQQCY1YKAAJiSgkAkQMCBQJjVQUCY1MDCQABAgUCYkoCBlN0cmluZwUCYkoJAAIBCQCsAgIJAAMBBQJiSgIbIGNvdWxkbid0IGJlIGNhc3QgdG8gU3RyaW5nBAJjVwoAAmJKCQCRAwIFAmNVBQJjVAMJAAECBQJiSgIGU3RyaW5nBQJiSgkAAgEJAKwCAgkAAwEFAmJKAhsgY291bGRuJ3QgYmUgY2FzdCB0byBTdHJpbmcEAmRsCQELdmFsdWVPckVsc2UCCQCaCAIFAmJICQECY1gEBQJjVgUCY1cFAmFTBQJjTQAABAJkRgMJAAACBQJkbAAABQNuaWwEAmR0AwUCZEQFAmRsCQEBLQEFAmRsBAJkRwkBAmRzAgUCY1IFAmR0BAJkSAgFAmRHAl8xBAJkQggFAmRHAl8yBAJkSQMFAmREAAAFAmRsBAJkSgkBAmRjAwUCY1IFAmFTBQJjTQQCZEsJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCZEoAAAQCZEwJAQJkZAMFAmNSBQJhUwUCY00EAmRNCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmRMBQJjUAQCZE4JAGUCBQZoZWlnaHQFAmRNBAJkTwkAZAIJAGgCBQJkTgUCZEkFAmRLBAJkUAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZEwFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZEoFAmRPBQNuaWwJAM4IAgUCZEgFAmRQBQJkRgECZFECAmNSAmRnBAJkUgkBAmNLAAQCY00IBQJkUgJfMQQCY1AIBQJkUgJfMgQCYVMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmRnBAJkSQkBAmRtAgUCY1IFAmRnBAJkcgkBAmRvAQUCY1IEAmRLCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQJkYwMFAmNSBQJhUwUCY00AAAQCZHgJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmNaAgUCY1IFAmNNAAAEAmRNCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMJAQJkZAMFAmNSBQJhUwUCY00FAmNQBAJkegkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQECZGECBQJjUgUCY00FAmNQBAJkSgkBAmRlAwUCY1IFAmFTBQJjTQQCZFMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwUCZEoAAAQCZHcJAQJkYgMFAmNSBQJhUwUCY00EAmRUCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmR3AAAEAmROCQBlAgUGaGVpZ2h0BQJkTQQCZEEJAGUCBQZoZWlnaHQFAmR6BAJkTwkAZAIJAGgCBQJkTgUCZEkFAmRLBAJkQgkAZAIJAGgCBQJkQQUCZHIFAmR4BAJkVQkAZQIFAmRPBQJkUwQCZFYJAGUCBQJkQgUCZFQJAJUKAwkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZEoFAmRPCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJkdwUCZEIFA25pbAUCZFUFAmRWAQJkVwAEAmRYCQEBbgIFAmJECQECYWgABAJkWQkAmggCBQR0aGlzCQECYWsABAJkWgkAmggCBQR0aGlzCQECYWwABAJlYQkBAW4CBQJiRAkBAmFuAAQCY3IDCQBmAgUGaGVpZ2h0BQJlYQUCZWEFBmhlaWdodAQCZWIEAXIFAmRZAwkAAQIFAXICA0ludAQCZWMFAXIJAJYDAQkAzAgCCQBlAgUCY3IFAmVjCQDMCAIAAAUDbmlsAwkAAQIFAXICBFVuaXQAAAkAAgECC01hdGNoIGVycm9yBAJlZAkAaQIJAGgCBQJkWAkAZQIFAmJJAAEFAmJJBAJlZQkBC3ZhbHVlT3JFbHNlAgUCZFoAAAQCZWYJAGQCCQBoAgUCZWQFAmViBQJlZQkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWwABQJlZgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFrAAUGaGVpZ2h0BQNuaWwFAmVmAQJlZwMCY1ICZGcCZWgEAmVpCQCdCAIFBHRoaXMJAQJhUgEFAmRnAwkAAAIFAmVpBQR1bml0CQCVCgMAAAUDbmlsAhV1c2VyUmVjb3JkOjppczo6ZW1wdHkEAmVqCQC1CQIJAQV2YWx1ZQEFAmVpBQFhBAJlawkAkQMCBQJlagUCYUwEAmVsAgVlbXB0eQQCZW0DCQECIT0CBQJjUgUCZWwEAmVuCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUCYkMJAQFOAQUCY1IJAKwCAgIVdW5zdXBwb3J0ZWQgbHAgYXNzZXQgBQJjUgkBEUBleHRyTmF0aXZlKDEwNTApAgUCYkMJAQFSAQUCZW4DBQJlaAAACQACAQkArAICAihub3QgcmVhZG9ubHkgbW9kZTogdW5zdXBwb3J0ZWQgbHAgYXNzZXQgBQJjUgQCZW8JAQJidQIFAmVrBQJjUgQCZXAJAQJidAEFAmVrBAJlcQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQJlbwkBAWsCBQR0aGlzBQJlcAQCZWYICQECZFcAAl8yBAJlcgkAZQIFAmVmBQJlcQMJAGYCAAAFAmVyCQACAQISd3JvbmcgY2FsY3VsYXRpb25zBAJlcwkBAmRRAgUCY1IFAmRnBAJldAgFAmVzAl8xBAJldQgFAmVzAl8yBAJldggFAmVzAl8zBAJldwkAawMFAmVyBQJlbQUBZAQCZXgDCQAAAgUCZXYAAAAACQBrAwUCZXcFAmV1BQJldgQCZXkJAM4IAgkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZW8FAmVmBQNuaWwFAmV0BAJlegkAuQkCCQDMCAIJAKQDAQUCZXEJAMwIAgkApAMBBQJlcgkAzAgCCQCkAwEFAmVtCQDMCAIJAKQDAQUCZXUJAMwIAgkApAMBBQJldgUDbmlsAgE6CQCVCgMFAmV4BQJleQUCZXoBAmVBAgJhSQJhWQQCZUIJAQJhdwAEAmVDCQCRAwIFAmVCBQJhcQQCYXoJANkEAQUCZUMEAmFBCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZUIFAmFyBAJhQgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmVCBQJhcwQCYUMJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJlQgUCYXQDCQECIT0CCQCQAwEIBQJhSQhwYXltZW50cwABCQACAQI0aW52YWxpZCBwYXltZW50IC0gZXhhY3Qgb25lIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQCY0QJAJEDAggFAmFJCHBheW1lbnRzAAAEAmVECAUCY0QGYW1vdW50AwkBAiE9AgUCYXoJAQV2YWx1ZQEIBQJjRAdhc3NldElkCQACAQkArAICCQCsAgICHmludmFsaWQgYXNzZXQgaXMgaW4gcGF5bWVudCAtIAUCZUMCDCBpcyBleHBlY3RlZAQCZUUJAQJiZQAEAmRnCQClCAEIBQJhSQZjYWxsZXIEAmVGCQEJaXNEZWZpbmVkAQkAoggBCQECYmYBBQJkZwQCZWsDBQJlRgkBBXZhbHVlAQkAoggBCQECYmYBBQJkZwkApAMBCQEBbgIFBHRoaXMFAmVFBAJhVgkBDXBhcnNlSW50VmFsdWUBBQJlawQCYlcFBmhlaWdodAQCY3YJAQJiaQEFAmVrBAJjdwkBAmJqAQUCZWsEAmN1CQECYmgBBQJlawMJAGYCBQJhQQUCZUQJAAIBCQCsAgICImFtb3VudCBpcyBsZXNzIHRoZW4gbWluTG9ja0Ftb3VudD0JAKQDAQUCYUEDCQBmAgUCYUIFAmFZCQACAQkArAICAi1wYXNzZWQgZHVyYXRpb24gaXMgbGVzcyB0aGVuIG1pbkxvY2tEdXJhdGlvbj0JAKQDAQUCYUIDCQBmAgUCYVkFAmFDCQACAQkArAICAjBwYXNzZWQgZHVyYXRpb24gaXMgZ3JlYXRlciB0aGVuIG1heExvY2tEdXJhdGlvbj0JAKQDAQUCYUMDAwUCZUYJAGcCCQBkAgkBAW4CBQR0aGlzBQJjdgkBAW4CBQR0aGlzBQJjdwUCYlcHCQACAQI2dGhlcmUgaXMgYW4gYWN0aXZlIGxvY2sgLSBjb25zaWRlciB0byB1c2UgaW5jcmVhc2VMb2NrAwkAZgIJAQFrAgUEdGhpcwUCY3UAAAkAAgEJAKwCAgI0dGhlcmUgYXJlIGxvY2tlZCBXWHMgLSBjb25zaWRlciB0byB1c2UgaW5jcmVhc2VMb2NrIAUCY3UEAmVHCQBrAwUCYVkFAWMFAmFDBAJlSAkAawMFAmVEBQJlRwUBYwQCZUkJAQFxAQkA/AcEBQJheAIVY2FsY0d3eFBhcmFtc1JFQURPTkxZCQDMCAIFAmVICQDMCAIFAmJXCQDMCAIFAmFZBQNuaWwFA25pbAQCYlgJAQF0AQkAkQMCBQJlSQAABAJiWQkBAXQBCQCRAwIFAmVJAAEEAmJuCQCkAwEJAQF0AQkAkQMCBQJlSQACBAJiUQkBAmJLAQcEAmVwCQECYnQBBQJlawQCZWYICQECZFcAAl8yBAJlSgMFAmVGBQNuaWwJAMwIAgkBDEludGVnZXJFbnRyeQIFAmVFCQBkAgUCYVYAAQkAzAgCCQELU3RyaW5nRW50cnkCCQECYmYBBQJkZwUCZWsJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmJnAQUCZWsFAmRnBQNuaWwJAJQKAgkAzggCCQDNCAIJAM4IAgkAzggCBQJlSgkBAmN0CAUCZGcFAmVrBQJlRAUCYlcFAmFZBQJiWAUCYlkFAmJuCQECY2IEBQJlRAUCYVkAAQMFAmVGAAAAAQkBAmJUCAIEbG9jawUCZGcFAmVEBQJiVwUCYVkFAmJYBQJiWQUCYUkJAMwIAgkBDEludGVnZXJFbnRyeQIFAmVwBQJlZgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmJBAAkAZAIFAmJRBQJlSAUDbmlsBQJlSBACYUkBC2NvbnN0cnVjdG9yBgJlSwJlTAJhQQJlTQJlTgJheAQCZU8JAQJhSAEFAmFJAwkAAAIFAmVPBQJlTwkAzggCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYmUAAAAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF2AAkBAmFEBQUCZUwFAmFBBQJlTQUCZU4FAmF4CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFBAAUCZUsFA25pbAkBAmNiBAAAAAAAAAAACQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmFJAQdsb2NrUmVmAwJhWQJlUAJlUQQCZVIJAQJlQQIFAmFJBQJhWQQCZVMIBQJlUgJfMQQCZUgIBQJlUgJfMgQCZVQJAKUIAQgFAmFJBmNhbGxlcgQCZVUDAwkAAAIFAmVQAgAGCQAAAgUCZVEBAAUEdW5pdAkA/AcEBQF3AgpjcmVhdGVQYWlyCQDMCAIFAXoJAMwIAgUCZVAJAMwIAgUCZVQJAMwIAgUCZVEFA25pbAUDbmlsAwkAAAIFAmVVBQJlVQQCZVYJAPwHBAUCYXgCFnVwZGF0ZVJlZmVycmFsQWN0aXZpdHkJAMwIAgkApQgBCAUCYUkGY2FsbGVyCQDMCAIFAmVIBQNuaWwFA25pbAMJAAACBQJlVgUCZVYJAJQKAgUCZVMFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYUkBBGxvY2sBAmFZBAJlVwkBAmVBAgUCYUkFAmFZBAJlUwgFAmVXAl8xBAJlSAgFAmVXAl8yBAJlVgkA/AcEBQJheAIWdXBkYXRlUmVmZXJyYWxBY3Rpdml0eQkAzAgCCQClCAEIBQJhSQZjYWxsZXIJAMwIAgUCZUgFA25pbAUDbmlsAwkAAAIFAmVWBQJlVgkAlAoCBQJlUwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhSQEMaW5jcmVhc2VMb2NrAQJlWAQCZUIJAQJhdwAEAmVDCQCRAwIFAmVCBQJhcQQCYXoJANkEAQUCZUMEAmFCCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZUIFAmFzBAJhQwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmVCBQJhdAQCZUQJAQJjQgIFAmFJBQJhegQCZGcJAKUIAQgFAmFJBmNhbGxlcgQCZWoJAQJhVAEFAmRnBAJlawkAkQMCBQJlagUCYUwEAmVZCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZWoFAmFNBAJiVwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmVqBQJhTgQCZVoJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJlagUCYU8EAmZhCQBkAgUCYlcFAmVaBAJmYgkAlgMBCQDMCAIJAGUCBQJmYQUGaGVpZ2h0CQDMCAIAAAUDbmlsBAJmYwkAZAIFAmVZBQJlRAQCZmQJAGQCBQJmYgUCZVgDCQBmAgAABQJlWAkAAgECGmR1cmF0aW9uIGlzIGxlc3MgdGhlbiB6ZXJvAwkAZgIFAmFCBQJmZAkAAgEJAKwCAgItbG9ja0R1cmF0aW9uTmV3IGlzIGxlc3MgdGhlbiBtaW5Mb2NrRHVyYXRpb249CQCkAwEFAmFCAwkAZgIFAmZkBQJhQwkAAgEJAKwCAgJEZGVsdGFEdXJhdGlvbiArIGV4aXN0ZWRMb2NrRHVyYXRpb24gaXMgZ3JlYXRlciB0aGVuIG1heExvY2tEdXJhdGlvbj0JAKQDAQUCYUMEAmVHCQBrAwUCZmQFAWMFAmFDBAJlSAkAawMFAmZjBQJlRwUBYwQCZVYJAPwHBAUCYXgCFnVwZGF0ZVJlZmVycmFsQWN0aXZpdHkJAMwIAgkApQgBCAUCYUkGY2FsbGVyCQDMCAIFAmVIBQNuaWwFA25pbAMJAAACBQJlVgUCZVYEAmZlBQZoZWlnaHQEAmVJCQEBcQEJAPwHBAUCYXgCFWNhbGNHd3hQYXJhbXNSRUFET05MWQkAzAgCBQJlSAkAzAgCBQJmZQkAzAgCBQJmZAUDbmlsBQNuaWwEAmJYCQEBdAEJAJEDAgUCZUkAAAQCYlkJAQF0AQkAkQMCBQJlSQABBAJibgkApAMBCQEBdAEJAJEDAgUCZUkAAgQCZmYJAQJjSgEFAmRnBAJmZwkAZQIFAmVIBQJmZgMJAGYCAAAFAmZnCQACAQkArAICAhhnd3hEaWZmIGlzIGxlc3MgdGhlbiAwOiAJAKQDAQUCZmcEAmJRCQECYksBBwQCZmgJAQJiSwEGCQDOCAIJAM0IAgkAzggCCQECY3QIBQJkZwUCZWsFAmZjBQJmZQUCZmQFAmJYBQJiWQUCYm4JAQJjYgQFAmVEBQJlWAAAAAAJAQJiVAgCBGxvY2sFAmRnBQJlRAUCYlcFAmZkBQJiWAUCYlkFAmFJCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYkEACQBkAgUCYlEFAmZnBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYUkBDGNsYWltV3hCb29zdAICY1ICZGcDCQECIT0CBQJiRQgFAmFJBmNhbGxlcgkAAgECEnBlcm1pc3Npb25zIGRlbmllZAQCZmkJAQJlZwMFAmNSBQJkZwcEAmZqCAUCZmkCXzEEAmV5CAUCZmkCXzIEAmV6CAUCZmkCXzMJAJQKAgUCZXkJAMwIAgUCZmoFA25pbAJhSQEUY2xhaW1XeEJvb3N0UkVBRE9OTFkCAmNSAmRnBAJmawkBAmVnAwUCY1IFAmRnBgQCZmoIBQJmawJfMQQCZXkIBQJmawJfMgQCZXoIBQJmawJfMwkAlAoCBQNuaWwJAMwIAgUCZmoJAMwIAgUCZXoFA25pbAJhSQEGdW5sb2NrAQJhUwQCZWoJAQJhVAEFAmFTBAJlawkAkQMCBQJlagUCYUwEAmVZCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCZWoFAmFNBAJiVwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmVqBQJhTgQCZVoJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJlagUCYU8EAmZhCQBkAgUCYlcFAmVaBAJlQgkBAmF3AAQCYXoJANkEAQkAkQMCBQJlQgUCYXEDCQBnAgUCZmEFBmhlaWdodAkAAgEJAKwCAgkArAICAgV3YWl0IAkApAMBBQJmYQIKIHRvIHVubG9jawMJAGcCAAAFAmVZCQACAQIRbm90aGluZyB0byB1bmxvY2sEAmJuCQELdmFsdWVPckVsc2UCCQCaCAIFAmF4CQECYW8AAAAJAM0IAgkAzQgCCQDOCAIJAQJjdAgFAmFTBQJlawAABQJiVwUCZVoAAAAACQCkAwEFAmJuCQECY2IECQEBLQEFAmVZAAAAAAD///////////8BCQECYlQIAgZ1bmxvY2sFAmFTBQJlWQUCYlcFAmVaAAAAAAUCYUkJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAmFTBQJlWQUCYXoCYUkBE2d3eFVzZXJJbmZvUkVBRE9OTFkBAmFTBAJiYwkBAmNKAQUCYVMJAJQKAgUDbmlsCQDMCAIFAmJjBQNuaWwCYUkBIGdldFVzZXJHd3hBbW91bnRBdEhlaWdodFJFQURPTkxZAgJhUwJjRgQCYmMJAQJjRQIFAmFTBQJjRgkAlAoCBQNuaWwFAmJjAmFJARlnZXRUb3RhbENhY2hlZEd3eFJFQURPTkxZAAkAlAoCBQNuaWwJAQJiSwEGAmFJARVvbkJvb3N0RW1pc3Npb25VcGRhdGUABAJlTwMJAAACCAUCYUkGY2FsbGVyBQJiRAYJAQJhSAEFAmFJAwkAAAIFAmVPBQJlTwkBAmRXAAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhSQESb25TdGFrZWRWb3RlVXBkYXRlAwJjUgJkZwJkRAQCZU8DCQAAAggFAmFJBmNhbGxlcgUCYkUGCQECYUgBBQJhSQMJAAACBQJlTwUCZU8EAmRGCQECZEMDBQJjUgUCZGcFAmRECQCUCgIFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJhSQEdZ2V0Vm90aW5nUmVzdWx0U3Rha2VkUkVBRE9OTFkBAmNSCQCUCgIFA25pbAkBAmRvAQUCY1ICYUkBHGdldFVzZXJWb3RlRmluYWxpemVkUkVBRE9OTFkCAmNSAmRnCQCUCgIFA25pbAkBAmRoAgUCY1IFAmRnAmFJAQpzZXRNYW5hZ2VyAQJmbAQCZU8JAQJhSAEFAmFJAwkAAAIFAmVPBQJlTwQCZm0JANkEAQUCZmwDCQAAAgUCZm0FAmZtCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhZwAFAmZsBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYUkBDmNvbmZpcm1NYW5hZ2VyAAQCZm4JAQJhRwAEAmZvAwkBCWlzRGVmaW5lZAEFAmZuBgkAAgECEk5vIHBlbmRpbmcgbWFuYWdlcgMJAAACBQJmbwUCZm8EAmZwAwkAAAIIBQJhSQ9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAmZuBgkAAgECG1lvdSBhcmUgbm90IHBlbmRpbmcgbWFuYWdlcgMJAAACBQJmcAUCZnAJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFmAAkA2AQBCQEFdmFsdWUBBQJmbgkAzAgCCQELRGVsZXRlRW50cnkBCQECYWcABQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAmZxAQJmcgAEAmZzBAFyCQECYUUAAwkAAQIFAXICCkJ5dGVWZWN0b3IEAmFLBQFyBQJhSwMJAAECBQFyAgRVbml0CAUCZnEPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmZxCWJvZHlCeXRlcwkAkQMCCAUCZnEGcHJvb2ZzAAAFAmZzpJbAcQ==", "height": 2478049, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J6oafqUARy7qQB7wD7UspwYNwJYcB9oTkwCwm889Y3Pk Next: 8GvL2GeT4tj3WaCGhQfAHLmYaagNHp2o6G9AZo7EtkFh Diff:
OldNewDifferences
491491 func dd (cR,i,cO) = makeString(["%s%s%s%d", "voteStakedIntegralLastUpdateHeight", cR, toString(i), toString(cO)], a)
492492
493493
494-func de (cR,i,cO) = makeString(["%s%s%s%d", "voteStakedIntegralsLast", cR, toString(i), toString(cO)], a)
494+func de (cR,i,cO) = makeString(["%s%s%s%d", "voteStakedIntegralLast", cR, toString(i), toString(cO)], a)
495495
496496
497497 func df (dg,cR) = makeString(["%s%s%s", "staked", dg, cR], a)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 8
77
88 let c = 100000000
99
1010 let d = c
1111
1212 func e (f) = makeString(["boosting.ride:", f], " ")
1313
1414
1515 func g (f) = throw(e(f))
1616
1717
1818 func h (i,j) = valueOrErrorMessage(getString(i, j), (("mandatory this." + j) + " is not defined"))
1919
2020
2121 func k (i,j) = valueOrElse(getInteger(i, j), 0)
2222
2323
2424 func l (i,j,m) = valueOrElse(getInteger(i, j), m)
2525
2626
2727 func n (i,j) = valueOrErrorMessage(getInteger(i, j), (("mandatory this." + j) + " is not defined"))
2828
2929
3030 func o (p) = if ((0 > p))
3131 then -(p)
3232 else p
3333
3434
3535 func q (p) = {
3636 let r = p
3737 if ($isInstanceOf(r, "List[Any]"))
3838 then {
3939 let s = r
4040 s
4141 }
4242 else throw("fail to cast into List[Any]")
4343 }
4444
4545
4646 func t (p) = {
4747 let r = p
4848 if ($isInstanceOf(r, "Int"))
4949 then {
5050 let u = r
5151 u
5252 }
5353 else throw("fail to cast into Int")
5454 }
5555
5656
5757 func v () = makeString(["%s%s", "config", "referralsContractAddress"], a)
5858
5959
6060 let w = addressFromStringValue(h(this, v()))
6161
6262 let x = makeString(["%s%s", "referral", "programName"], a)
6363
6464 let y = "wxlock"
6565
6666 let z = valueOrElse(getString(this, x), y)
6767
6868 func A () = "%s%s__config__factoryAddress"
6969
7070
7171 let B = 1
7272
7373 let C = 2
7474
7575 let D = 3
7676
7777 let E = 4
7878
7979 let F = 5
8080
8181 let G = 6
8282
8383 let H = 7
8484
8585 let I = 8
8686
8787 let J = 9
8888
8989 let K = 10
9090
9191 let L = 11
9292
9393 func M () = "%s__factoryConfig"
9494
9595
9696 func N (O) = makeString(["%s%s%s", O, "mappings__lpAsset2PoolContract"], a)
9797
9898
9999 func P () = "%s__lpTokensList"
100100
101101
102102 func Q (O) = makeString(["%s%s%s", O, "mappings__lpAsset2PoolContract"], a)
103103
104104
105105 func R (S) = makeString(["%s%s", "poolWeight", S], a)
106106
107107
108108 func T (U,V) = ((("%s%s__poolWeight__" + U) + "__") + toString(V))
109109
110110
111111 func W () = addressFromStringValue(h(this, A()))
112112
113113
114114 func X () = split(valueOrElse(getString(W(), P()), ""), a)
115115
116116
117117 func Y (Z) = split(h(Z, M()), a)
118118
119119
120120 func aa (ab) = addressFromStringValue(ab[C])
121121
122122
123123 func ac (ab) = addressFromStringValue(ab[F])
124124
125125
126126 func ad (ab) = addressFromStringValue(ab[B])
127127
128128
129129 func ae (ab) = addressFromStringValue(ab[K])
130130
131131
132132 func af () = "%s__managerPublicKey"
133133
134134
135135 func ag () = "%s__pendingManagerPublicKey"
136136
137137
138138 func ah () = "%s%s__ratePerBlock__current"
139139
140140
141141 func ai () = "%s%s__ratePerBlockMax__current"
142142
143143
144144 func aj () = "%s%s__emission__startBlock"
145145
146146
147147 func ak () = "%s%s__boostingV2__startBlock"
148148
149149
150150 func al () = "%s%s__boostingV2__integral"
151151
152152
153153 func am () = "%s%s__emission__duration"
154154
155155
156156 func an () = "%s%s__emission__endBlock"
157157
158158
159159 func ao () = "%s__nextPeriod"
160160
161161
162162 func ap () = "%s%s__gwxRewardEmissionPart__startHeight"
163163
164164
165165 let aq = 1
166166
167167 let ar = 2
168168
169169 let as = 3
170170
171171 let at = 4
172172
173173 let au = 5
174174
175175 func av () = "%s__config"
176176
177177
178178 func aw () = split(h(this, av()), a)
179179
180180
181181 let ax = addressFromStringValue(aw()[au])
182182
183183 func ay (az,aA,aB,aC,ax) = makeString(["%s%d%d%d", az, aA, aB, aC, ax], a)
184184
185185
186186 func aD (az,aA,aB,aC,ax) = ay(az, toString(aA), toString(aB), toString(aC), ax)
187187
188188
189189 func aE () = {
190190 let r = getString(af())
191191 if ($isInstanceOf(r, "String"))
192192 then {
193193 let aF = r
194194 fromBase58String(aF)
195195 }
196196 else if ($isInstanceOf(r, "Unit"))
197197 then unit
198198 else throw("Match error")
199199 }
200200
201201
202202 func aG () = {
203203 let r = getString(ag())
204204 if ($isInstanceOf(r, "String"))
205205 then {
206206 let aF = r
207207 fromBase58String(aF)
208208 }
209209 else if ($isInstanceOf(r, "Unit"))
210210 then unit
211211 else throw("Match error")
212212 }
213213
214214
215215 func aH (aI) = {
216216 let aJ = throw("Permission denied")
217217 let r = aE()
218218 if ($isInstanceOf(r, "ByteVector"))
219219 then {
220220 let aK = r
221221 if ((aI.callerPublicKey == aK))
222222 then true
223223 else aJ
224224 }
225225 else if ($isInstanceOf(r, "Unit"))
226226 then if ((aI.caller == this))
227227 then true
228228 else aJ
229229 else throw("Match error")
230230 }
231231
232232
233233 let aL = 1
234234
235235 let aM = 2
236236
237237 let aN = 3
238238
239239 let aO = 4
240240
241241 let aP = 5
242242
243243 let aQ = 6
244244
245245 func aR (aS) = makeString(["%s%s__lock", aS], a)
246246
247247
248248 func aT (aS) = split(h(this, aR(aS)), a)
249249
250250
251251 func aU (aV,aW,aX,aY,aZ,ba,bb,bc) = makeString(["%d%d%d%d%d%d%d%d", aV, aW, aX, aY, aZ, ba, bb, bc], a)
252252
253253
254254 func bd (aV,aW,aX,aY,aZ,ba,bc) = aU(aV, toString(aW), toString(aX), toString(aY), toString(aZ), toString(ba), toString(lastBlock.timestamp), toString(bc))
255255
256256
257257 func be () = "%s__nextUserNum"
258258
259259
260260 func bf (aS) = makeString(["%s%s%s__mapping__user2num", aS], a)
261261
262262
263263 func bg (V) = makeString(["%s%s%s__mapping__num2user", V], a)
264264
265265
266266 func bh (aV) = makeString(["%s%d%s__paramByUserNum", aV, "amount"], a)
267267
268268
269269 func bi (aV) = makeString(["%s%d%s__paramByUserNum", aV, "start"], a)
270270
271271
272272 func bj (aV) = makeString(["%s%d%s__paramByUserNum", aV, "duration"], a)
273273
274274
275275 func bk (aV) = makeString(["%s%d%s__paramByUserNum", aV, "k"], a)
276276
277277
278278 func bl (aV) = makeString(["%s%d%s__paramByUserNum", aV, "b"], a)
279279
280280
281281 func bm (aV,bn) = makeString(["%s%d%s%d__paramByPeriod", aV, "k", bn], a)
282282
283283
284284 func bo (aV,bn) = makeString(["%s%d%s%d__paramByPeriod", aV, "b", bn], a)
285285
286286
287287 func bp () = "%s%s__stats__activeTotalLocked"
288288
289289
290290 func bq () = "%s%s__stats__locksDurationSumInBlocks"
291291
292292
293293 func br () = "%s%s__stats__locksCount"
294294
295295
296296 func bs () = "%s%s__stats__activeUsersCount"
297297
298298
299299 func bt (aV) = makeString(["%s%d__userBoostEmissionLastIntV2", aV], a)
300300
301301
302302 func bu (aV,bv) = makeString(["%s%d__userBoostEmissionLastIntV2", aV, bv], a)
303303
304304
305305 func bw (aV) = makeString(["%s%d__maxBoostInt", aV], a)
306306
307307
308308 func bx () = "%s%s__maxBoostInt__total"
309309
310310
311311 func by (aV) = makeString(["%s%d__userBoostAvaliableToClaimTotal", aV], a)
312312
313313
314314 func bz (aV) = makeString(["%s%d__userBoostClaimed", aV], a)
315315
316316
317317 func bA () = "%s%s__gwxCached__total"
318318
319319
320320 func bB () = "%s__gwxCachedTotalCorrective"
321321
322322
323323 let bC = W()
324324
325325 let ab = Y(bC)
326326
327327 let bD = ac(ab)
328328
329329 let bE = ad(ab)
330330
331331 let bF = ae(ab)
332332
333333 let bG = makeString(["%s", "votingEmissionContract"], a)
334334
335335 let bH = addressFromStringValue(getStringValue(bC, bG))
336336
337337 let bI = {
338338 let bJ = invoke(bD, "getBoostCoeffREADONLY", nil, nil)
339339 if ($isInstanceOf(bJ, "Int"))
340340 then bJ
341341 else throw(($getType(bJ) + " couldn't be cast to Int"))
342342 }
343343
344344 func bK (bL) = {
345345 let bM = makeString(["%s", "currentEpochUi"], a)
346346 let bN = getIntegerValue(bH, bM)
347347 let bO = makeString(["%s%s", "totalCachedGwxCorrection__activationEpoch"], a)
348348 let bP = getInteger(this, bO)
349349 let bQ = valueOrElse(getInteger(this, bA()), 0)
350350 let bR = if (isDefined(bP))
351351 then (bN >= value(bP))
352352 else false
353353 let bS = if (if (bR)
354354 then bL
355355 else false)
356356 then valueOrElse(getInteger(this, bB()), 0)
357357 else 0
358358 max([0, (bQ + bS)])
359359 }
360360
361361
362362 func bT (bU,bV,aW,bW,aY,bX,bY,aI) = {
363363 let bZ = makeString(["%s%s%s%s__history", bU, bV, toBase58String(aI.transactionId)], a)
364364 let ca = makeString(["%d%d%d%d%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(aW), toString(bW), toString(aY), toString(bX), toString(bY)], a)
365365 StringEntry(bZ, ca)
366366 }
367367
368368
369369 func cb (cc,cd,ce,cf) = {
370370 let cg = bq()
371371 let ch = br()
372372 let ci = bs()
373373 let cj = bp()
374374 let ck = k(this, cg)
375375 let cl = k(this, ch)
376376 let cm = k(this, ci)
377377 let cn = k(this, cj)
378378 [IntegerEntry(cg, (ck + cd)), IntegerEntry(ch, (cl + ce)), IntegerEntry(ci, (cm + cf)), IntegerEntry(cj, (cn + cc))]
379379 }
380380
381381
382382 func co (cp,cq,cr) = {
383383 let cs = 1000
384384 (((cp * cr) + cq) / cs)
385385 }
386386
387387
388388 func ct (aS,aV,aW,aX,aY,bX,bY,bn) = {
389389 let cu = bh(aV)
390390 let cv = bi(aV)
391391 let cw = bj(aV)
392392 let cx = bk(aV)
393393 let cy = bl(aV)
394394 let cz = bm(aV, bn)
395395 let cA = bo(aV, bn)
396396 let bc = co(bX, bY, height)
397397 [IntegerEntry(cu, aW), IntegerEntry(cv, aX), IntegerEntry(cw, aY), IntegerEntry(cx, bX), IntegerEntry(cy, bY), IntegerEntry(cz, bX), IntegerEntry(cA, bY), StringEntry(aR(aS), bd(aV, aW, aX, aY, bX, bY, bc))]
398398 }
399399
400400
401401 func cB (aI,cC) = if ((size(aI.payments) > 1))
402402 then throw("only one payment is allowed")
403403 else if ((size(aI.payments) == 0))
404404 then 0
405405 else {
406406 let cD = aI.payments[0]
407407 if ((value(cD.assetId) != cC))
408408 then throw("invalid asset id in payment")
409409 else cD.amount
410410 }
411411
412412
413413 func cE (aS,cF) = {
414414 let cG = "empty"
415415 let cH = bf(aS)
416416 let aV = valueOrElse(getString(cH), cG)
417417 let bX = valueOrElse(getInteger(bk(aV)), 0)
418418 let bY = valueOrElse(getInteger(bl(aV)), 0)
419419 let cI = co(bX, bY, cF)
420420 let bc = if ((0 > cI))
421421 then 0
422422 else cI
423423 bc
424424 }
425425
426426
427427 func cJ (aS) = cE(aS, height)
428428
429429
430430 func cK () = {
431431 let bM = makeString(["%s", "currentEpochUi"], a)
432432 let cL = {
433433 let bN = value(getInteger(bH, bM))
434434 let cM = (bN - 1)
435435 if ((0 > cM))
436436 then g("invalid epoch")
437437 else $Tuple2(bN, cM)
438438 }
439439 let bN = cL._1
440440 let cM = cL._2
441441 func cN (cO) = makeString(["%s%d", "startHeight", toString(cO)], a)
442442
443443 let cP = value(getInteger(bH, cN(bN)))
444444 $Tuple2(cM, cP)
445445 }
446446
447447
448448 func cQ (cR) = {
449449 let cS = 4
450450 let cT = 5
451451 let cU = {
452452 let bJ = invoke(bC, "getPoolConfigByLpAssetId", [cR], nil)
453453 if ($isInstanceOf(bJ, "List[Any]"))
454454 then bJ
455455 else throw(($getType(bJ) + " couldn't be cast to List[Any]"))
456456 }
457457 let cV = {
458458 let bJ = cU[cS]
459459 if ($isInstanceOf(bJ, "String"))
460460 then bJ
461461 else throw(($getType(bJ) + " couldn't be cast to String"))
462462 }
463463 let cW = {
464464 let bJ = cU[cT]
465465 if ($isInstanceOf(bJ, "String"))
466466 then bJ
467467 else throw(($getType(bJ) + " couldn't be cast to String"))
468468 }
469469 $Tuple2(cV, cW)
470470 }
471471
472472
473473 func cX (cV,cW,i,cO) = makeString(["%s%s%s%s%d", "vote", cV, cW, toString(i), toString(cO)], a)
474474
475475
476476 func cY (cR,cO) = makeString(["%s%s%d", "votingResultStaked", cR, toString(cO)], a)
477477
478478
479479 func cZ (cR,cO) = makeString(["%s%s%d", "votingResultStakedIntegral", cR, toString(cO)], a)
480480
481481
482482 func da (cR,cO) = makeString(["%s%s%d", "votingResultStakedIntegralLastUpdateHeight", cR, toString(cO)], a)
483483
484484
485485 func db (cR,i,cO) = makeString(["%s%s%s%d", "votingResultStakedIntegralLast", cR, toString(i), toString(cO)], a)
486486
487487
488488 func dc (cR,i,cO) = makeString(["%s%s%s%d", "voteStakedIntegral", cR, toString(i), toString(cO)], a)
489489
490490
491491 func dd (cR,i,cO) = makeString(["%s%s%s%d", "voteStakedIntegralLastUpdateHeight", cR, toString(i), toString(cO)], a)
492492
493493
494-func de (cR,i,cO) = makeString(["%s%s%s%d", "voteStakedIntegralsLast", cR, toString(i), toString(cO)], a)
494+func de (cR,i,cO) = makeString(["%s%s%s%d", "voteStakedIntegralLast", cR, toString(i), toString(cO)], a)
495495
496496
497497 func df (dg,cR) = makeString(["%s%s%s", "staked", dg, cR], a)
498498
499499
500500 func dh (cR,dg) = {
501501 let aS = addressFromStringValue(dg)
502502 let di = cK()
503503 let cM = di._1
504504 let cP = di._2
505505 let dj = cQ(cR)
506506 let cV = dj._1
507507 let cW = dj._2
508508 let dk = cX(cV, cW, aS, cM)
509509 let dl = valueOrElse(getInteger(bH, dk), 0)
510510 dl
511511 }
512512
513513
514514 func dm (cR,dg) = {
515515 let dn = valueOrElse(getInteger(bE, df(dg, cR)), 0)
516516 let dl = dh(cR, dg)
517517 if ((dn == 0))
518518 then 0
519519 else dl
520520 }
521521
522522
523523 func do (cR) = {
524524 let dp = cK()
525525 let cM = dp._1
526526 let cP = dp._2
527527 let dq = valueOrElse(getInteger(bH, cY(cR, cM)), 0)
528528 let dr = valueOrElse(getInteger(this, cY(cR, cM)), dq)
529529 dr
530530 }
531531
532532
533533 func ds (cR,dt) = {
534534 let du = cK()
535535 let cM = du._1
536536 let cP = du._2
537537 let dr = do(cR)
538538 let dv = (dr + dt)
539539 let dw = cZ(cR, cM)
540540 let dx = valueOrElse(getInteger(this, dw), 0)
541541 let dy = da(cR, cM)
542542 let dz = valueOrElse(getInteger(this, dy), cP)
543543 let dA = (height - dz)
544544 let dB = ((dA * dr) + dx)
545545 $Tuple2([IntegerEntry(cY(cR, cM), dv), IntegerEntry(dy, height), IntegerEntry(dw, dB)], dB)
546546 }
547547
548548
549549 func dC (cR,dg,dD) = {
550550 let dE = cK()
551551 let cM = dE._1
552552 let cP = dE._2
553553 let aS = addressFromStringValue(dg)
554554 let cS = 4
555555 let cT = 5
556556 let cU = {
557557 let bJ = invoke(bC, "getPoolConfigByLpAssetId", [cR], nil)
558558 if ($isInstanceOf(bJ, "List[Any]"))
559559 then bJ
560560 else throw(($getType(bJ) + " couldn't be cast to List[Any]"))
561561 }
562562 let cV = {
563563 let bJ = cU[cS]
564564 if ($isInstanceOf(bJ, "String"))
565565 then bJ
566566 else throw(($getType(bJ) + " couldn't be cast to String"))
567567 }
568568 let cW = {
569569 let bJ = cU[cT]
570570 if ($isInstanceOf(bJ, "String"))
571571 then bJ
572572 else throw(($getType(bJ) + " couldn't be cast to String"))
573573 }
574574 let dl = valueOrElse(getInteger(bH, cX(cV, cW, aS, cM)), 0)
575575 let dF = if ((dl == 0))
576576 then nil
577577 else {
578578 let dt = if (dD)
579579 then dl
580580 else -(dl)
581581 let dG = ds(cR, dt)
582582 let dH = dG._1
583583 let dB = dG._2
584584 let dI = if (dD)
585585 then 0
586586 else dl
587587 let dJ = dc(cR, aS, cM)
588588 let dK = valueOrElse(getInteger(this, dJ), 0)
589589 let dL = dd(cR, aS, cM)
590590 let dM = valueOrElse(getInteger(this, dL), cP)
591591 let dN = (height - dM)
592592 let dO = ((dN * dI) + dK)
593593 let dP = [IntegerEntry(dL, height), IntegerEntry(dJ, dO)]
594594 (dH ++ dP)
595595 }
596596 dF
597597 }
598598
599599
600600 func dQ (cR,dg) = {
601601 let dR = cK()
602602 let cM = dR._1
603603 let cP = dR._2
604604 let aS = addressFromStringValue(dg)
605605 let dI = dm(cR, dg)
606606 let dr = do(cR)
607607 let dK = valueOrElse(getInteger(this, dc(cR, aS, cM)), 0)
608608 let dx = valueOrElse(getInteger(this, cZ(cR, cM)), 0)
609609 let dM = valueOrElse(getInteger(this, dd(cR, aS, cM)), cP)
610610 let dz = valueOrElse(getInteger(this, da(cR, cM)), cP)
611611 let dJ = de(cR, aS, cM)
612612 let dS = valueOrElse(getInteger(this, dJ), 0)
613613 let dw = db(cR, aS, cM)
614614 let dT = valueOrElse(getInteger(this, dw), 0)
615615 let dN = (height - dM)
616616 let dA = (height - dz)
617617 let dO = ((dN * dI) + dK)
618618 let dB = ((dA * dr) + dx)
619619 let dU = (dO - dS)
620620 let dV = (dB - dT)
621621 $Tuple3([IntegerEntry(dJ, dO), IntegerEntry(dw, dB)], dU, dV)
622622 }
623623
624624
625625 func dW () = {
626626 let dX = n(bD, ah())
627627 let dY = getInteger(this, ak())
628628 let dZ = getInteger(this, al())
629629 let ea = n(bD, an())
630630 let cr = if ((height > ea))
631631 then ea
632632 else height
633633 let eb = {
634634 let r = dY
635635 if ($isInstanceOf(r, "Int"))
636636 then {
637637 let ec = r
638638 max([(cr - ec), 0])
639639 }
640640 else if ($isInstanceOf(r, "Unit"))
641641 then 0
642642 else throw("Match error")
643643 }
644644 let ed = ((dX * (bI - 1)) / bI)
645645 let ee = valueOrElse(dZ, 0)
646646 let ef = ((ed * eb) + ee)
647647 $Tuple2([IntegerEntry(al(), ef), IntegerEntry(ak(), height)], ef)
648648 }
649649
650650
651651 func eg (cR,dg,eh) = {
652652 let ei = getString(this, aR(dg))
653653 if ((ei == unit))
654654 then $Tuple3(0, nil, "userRecord::is::empty")
655655 else {
656656 let ej = split(value(ei), a)
657657 let ek = ej[aL]
658658 let el = "empty"
659659 let em = if ((cR != el))
660660 then {
661661 let en = valueOrErrorMessage(getString(bC, N(cR)), ("unsupported lp asset " + cR))
662662 getIntegerValue(bC, R(en))
663663 }
664664 else if (eh)
665665 then 0
666666 else throw(("not readonly mode: unsupported lp asset " + cR))
667667 let eo = bu(ek, cR)
668668 let ep = bt(ek)
669669 let eq = valueOrElse(getInteger(this, eo), k(this, ep))
670670 let ef = dW()._2
671671 let er = (ef - eq)
672672 if ((0 > er))
673673 then throw("wrong calculations")
674674 else {
675675 let es = dQ(cR, dg)
676676 let et = es._1
677677 let eu = es._2
678678 let ev = es._3
679679 let ew = fraction(er, em, d)
680680 let ex = if ((ev == 0))
681681 then 0
682682 else fraction(ew, eu, ev)
683683 let ey = ([IntegerEntry(eo, ef)] ++ et)
684684 let ez = makeString([toString(eq), toString(er), toString(em), toString(eu), toString(ev)], ":")
685685 $Tuple3(ex, ey, ez)
686686 }
687687 }
688688 }
689689
690690
691691 func eA (aI,aY) = {
692692 let eB = aw()
693693 let eC = eB[aq]
694694 let az = fromBase58String(eC)
695695 let aA = parseIntValue(eB[ar])
696696 let aB = parseIntValue(eB[as])
697697 let aC = parseIntValue(eB[at])
698698 if ((size(aI.payments) != 1))
699699 then throw("invalid payment - exact one payment must be attached")
700700 else {
701701 let cD = aI.payments[0]
702702 let eD = cD.amount
703703 if ((az != value(cD.assetId)))
704704 then throw((("invalid asset is in payment - " + eC) + " is expected"))
705705 else {
706706 let eE = be()
707707 let dg = toString(aI.caller)
708708 let eF = isDefined(getString(bf(dg)))
709709 let ek = if (eF)
710710 then value(getString(bf(dg)))
711711 else toString(n(this, eE))
712712 let aV = parseIntValue(ek)
713713 let bW = height
714714 let cv = bi(ek)
715715 let cw = bj(ek)
716716 let cu = bh(ek)
717717 if ((aA > eD))
718718 then throw(("amount is less then minLockAmount=" + toString(aA)))
719719 else if ((aB > aY))
720720 then throw(("passed duration is less then minLockDuration=" + toString(aB)))
721721 else if ((aY > aC))
722722 then throw(("passed duration is greater then maxLockDuration=" + toString(aC)))
723723 else if (if (eF)
724724 then ((n(this, cv) + n(this, cw)) >= bW)
725725 else false)
726726 then throw("there is an active lock - consider to use increaseLock")
727727 else if ((k(this, cu) > 0))
728728 then throw(("there are locked WXs - consider to use increaseLock " + cu))
729729 else {
730730 let eG = fraction(aY, c, aC)
731731 let eH = fraction(eD, eG, c)
732732 let eI = q(invoke(ax, "calcGwxParamsREADONLY", [eH, bW, aY], nil))
733733 let bX = t(eI[0])
734734 let bY = t(eI[1])
735735 let bn = toString(t(eI[2]))
736736 let bQ = bK(false)
737737 let ep = bt(ek)
738738 let ef = dW()._2
739739 let eJ = if (eF)
740740 then nil
741741 else [IntegerEntry(eE, (aV + 1)), StringEntry(bf(dg), ek), StringEntry(bg(ek), dg)]
742742 $Tuple2(((((eJ ++ ct(dg, ek, eD, bW, aY, bX, bY, bn)) ++ cb(eD, aY, 1, if (eF)
743743 then 0
744744 else 1)) :+ bT("lock", dg, eD, bW, aY, bX, bY, aI)) ++ [IntegerEntry(ep, ef), IntegerEntry(bA(), (bQ + eH))]), eH)
745745 }
746746 }
747747 }
748748 }
749749
750750
751751 @Callable(aI)
752752 func constructor (eK,eL,aA,eM,eN,ax) = {
753753 let eO = aH(aI)
754754 if ((eO == eO))
755755 then ([IntegerEntry(be(), 0), StringEntry(av(), aD(eL, aA, eM, eN, ax)), StringEntry(A(), eK)] ++ cb(0, 0, 0, 0))
756756 else throw("Strict value is not equal to itself.")
757757 }
758758
759759
760760
761761 @Callable(aI)
762762 func lockRef (aY,eP,eQ) = {
763763 let eR = eA(aI, aY)
764764 let eS = eR._1
765765 let eH = eR._2
766766 let eT = toString(aI.caller)
767767 let eU = if (if ((eP == ""))
768768 then true
769769 else (eQ == base58''))
770770 then unit
771771 else invoke(w, "createPair", [z, eP, eT, eQ], nil)
772772 if ((eU == eU))
773773 then {
774774 let eV = invoke(ax, "updateReferralActivity", [toString(aI.caller), eH], nil)
775775 if ((eV == eV))
776776 then $Tuple2(eS, unit)
777777 else throw("Strict value is not equal to itself.")
778778 }
779779 else throw("Strict value is not equal to itself.")
780780 }
781781
782782
783783
784784 @Callable(aI)
785785 func lock (aY) = {
786786 let eW = eA(aI, aY)
787787 let eS = eW._1
788788 let eH = eW._2
789789 let eV = invoke(ax, "updateReferralActivity", [toString(aI.caller), eH], nil)
790790 if ((eV == eV))
791791 then $Tuple2(eS, unit)
792792 else throw("Strict value is not equal to itself.")
793793 }
794794
795795
796796
797797 @Callable(aI)
798798 func increaseLock (eX) = {
799799 let eB = aw()
800800 let eC = eB[aq]
801801 let az = fromBase58String(eC)
802802 let aB = parseIntValue(eB[as])
803803 let aC = parseIntValue(eB[at])
804804 let eD = cB(aI, az)
805805 let dg = toString(aI.caller)
806806 let ej = aT(dg)
807807 let ek = ej[aL]
808808 let eY = parseIntValue(ej[aM])
809809 let bW = parseIntValue(ej[aN])
810810 let eZ = parseIntValue(ej[aO])
811811 let fa = (bW + eZ)
812812 let fb = max([(fa - height), 0])
813813 let fc = (eY + eD)
814814 let fd = (fb + eX)
815815 if ((0 > eX))
816816 then throw("duration is less then zero")
817817 else if ((aB > fd))
818818 then throw(("lockDurationNew is less then minLockDuration=" + toString(aB)))
819819 else if ((fd > aC))
820820 then throw(("deltaDuration + existedLockDuration is greater then maxLockDuration=" + toString(aC)))
821821 else {
822822 let eG = fraction(fd, c, aC)
823823 let eH = fraction(fc, eG, c)
824824 let eV = invoke(ax, "updateReferralActivity", [toString(aI.caller), eH], nil)
825825 if ((eV == eV))
826826 then {
827827 let fe = height
828828 let eI = q(invoke(ax, "calcGwxParamsREADONLY", [eH, fe, fd], nil))
829829 let bX = t(eI[0])
830830 let bY = t(eI[1])
831831 let bn = toString(t(eI[2]))
832832 let ff = cJ(dg)
833833 let fg = (eH - ff)
834834 if ((0 > fg))
835835 then throw(("gwxDiff is less then 0: " + toString(fg)))
836836 else {
837837 let bQ = bK(false)
838838 let fh = bK(true)
839839 (((ct(dg, ek, fc, fe, fd, bX, bY, bn) ++ cb(eD, eX, 0, 0)) :+ bT("lock", dg, eD, bW, fd, bX, bY, aI)) ++ [IntegerEntry(bA(), (bQ + fg))])
840840 }
841841 }
842842 else throw("Strict value is not equal to itself.")
843843 }
844844 }
845845
846846
847847
848848 @Callable(aI)
849849 func claimWxBoost (cR,dg) = if ((bE != aI.caller))
850850 then throw("permissions denied")
851851 else {
852852 let fi = eg(cR, dg, false)
853853 let fj = fi._1
854854 let ey = fi._2
855855 let ez = fi._3
856856 $Tuple2(ey, [fj])
857857 }
858858
859859
860860
861861 @Callable(aI)
862862 func claimWxBoostREADONLY (cR,dg) = {
863863 let fk = eg(cR, dg, true)
864864 let fj = fk._1
865865 let ey = fk._2
866866 let ez = fk._3
867867 $Tuple2(nil, [fj, ez])
868868 }
869869
870870
871871
872872 @Callable(aI)
873873 func unlock (aS) = {
874874 let ej = aT(aS)
875875 let ek = ej[aL]
876876 let eY = parseIntValue(ej[aM])
877877 let bW = parseIntValue(ej[aN])
878878 let eZ = parseIntValue(ej[aO])
879879 let fa = (bW + eZ)
880880 let eB = aw()
881881 let az = fromBase58String(eB[aq])
882882 if ((fa >= height))
883883 then throw((("wait " + toString(fa)) + " to unlock"))
884884 else if ((0 >= eY))
885885 then throw("nothing to unlock")
886886 else {
887887 let bn = valueOrElse(getInteger(ax, ao()), 0)
888888 (((ct(aS, ek, 0, bW, eZ, 0, 0, toString(bn)) ++ cb(-(eY), 0, 0, -1)) :+ bT("unlock", aS, eY, bW, eZ, 0, 0, aI)) :+ ScriptTransfer(addressFromStringValue(aS), eY, az))
889889 }
890890 }
891891
892892
893893
894894 @Callable(aI)
895895 func gwxUserInfoREADONLY (aS) = {
896896 let bc = cJ(aS)
897897 $Tuple2(nil, [bc])
898898 }
899899
900900
901901
902902 @Callable(aI)
903903 func getUserGwxAmountAtHeightREADONLY (aS,cF) = {
904904 let bc = cE(aS, cF)
905905 $Tuple2(nil, bc)
906906 }
907907
908908
909909
910910 @Callable(aI)
911911 func getTotalCachedGwxREADONLY () = $Tuple2(nil, bK(true))
912912
913913
914914
915915 @Callable(aI)
916916 func onBoostEmissionUpdate () = {
917917 let eO = if ((aI.caller == bD))
918918 then true
919919 else aH(aI)
920920 if ((eO == eO))
921921 then dW()
922922 else throw("Strict value is not equal to itself.")
923923 }
924924
925925
926926
927927 @Callable(aI)
928928 func onStakedVoteUpdate (cR,dg,dD) = {
929929 let eO = if ((aI.caller == bE))
930930 then true
931931 else aH(aI)
932932 if ((eO == eO))
933933 then {
934934 let dF = dC(cR, dg, dD)
935935 $Tuple2(nil, unit)
936936 }
937937 else throw("Strict value is not equal to itself.")
938938 }
939939
940940
941941
942942 @Callable(aI)
943943 func getVotingResultStakedREADONLY (cR) = $Tuple2(nil, do(cR))
944944
945945
946946
947947 @Callable(aI)
948948 func getUserVoteFinalizedREADONLY (cR,dg) = $Tuple2(nil, dh(cR, dg))
949949
950950
951951
952952 @Callable(aI)
953953 func setManager (fl) = {
954954 let eO = aH(aI)
955955 if ((eO == eO))
956956 then {
957957 let fm = fromBase58String(fl)
958958 if ((fm == fm))
959959 then [StringEntry(ag(), fl)]
960960 else throw("Strict value is not equal to itself.")
961961 }
962962 else throw("Strict value is not equal to itself.")
963963 }
964964
965965
966966
967967 @Callable(aI)
968968 func confirmManager () = {
969969 let fn = aG()
970970 let fo = if (isDefined(fn))
971971 then true
972972 else throw("No pending manager")
973973 if ((fo == fo))
974974 then {
975975 let fp = if ((aI.callerPublicKey == value(fn)))
976976 then true
977977 else throw("You are not pending manager")
978978 if ((fp == fp))
979979 then [StringEntry(af(), toBase58String(value(fn))), DeleteEntry(ag())]
980980 else throw("Strict value is not equal to itself.")
981981 }
982982 else throw("Strict value is not equal to itself.")
983983 }
984984
985985
986986 @Verifier(fq)
987987 func fr () = {
988988 let fs = {
989989 let r = aE()
990990 if ($isInstanceOf(r, "ByteVector"))
991991 then {
992992 let aK = r
993993 aK
994994 }
995995 else if ($isInstanceOf(r, "Unit"))
996996 then fq.senderPublicKey
997997 else throw("Match error")
998998 }
999999 sigVerify(fq.bodyBytes, fq.proofs[0], fs)
10001000 }
10011001

github/deemru/w8io/169f3d6 
109.50 ms