tx · 3JJjxUejEVcqNWSscnVVyKA8E17CFEfj1ZFBBX2ep1pY 3MvkaAmaBu7ngK68fQMV8faYLdcnnBJtrj5: -0.01400000 Waves 2022.01.19 20:16 [1886096] smart account 3MvkaAmaBu7ngK68fQMV8faYLdcnnBJtrj5 > SELF 0.00000000 Waves
{ "type": 13, "id": "3JJjxUejEVcqNWSscnVVyKA8E17CFEfj1ZFBBX2ep1pY", "fee": 1400000, "feeAssetId": null, "timestamp": 1642612627540, "version": 1, "sender": "3MvkaAmaBu7ngK68fQMV8faYLdcnnBJtrj5", "senderPublicKey": "hXnMcUKtqomxgSbnHn7eToAsYJGaa1PWq7Lq6QQLumm", "proofs": [ "64phkFQftMdYMmniTnhyJ5Rr86kz3X7QqhRzwRcaBY73ZM39zcQbJHLbywYdhbkxqwceyR7WfMbj94n294htX7Gf" ], "script": "base64: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cAAAAAAAAAAAAQAAAAAZSWR4RmFjdG9yeUNmZ0Jvb3N0aW5nRGFwcAAAAAAAAAAAAgAAAAAUSWR4RmFjdG9yeUNmZ0lkb0RhcHAAAAAAAAAAAAMAAAAAFUlkeEZhY3RvcnlDZmdUZWFtRGFwcAAAAAAAAAAABAAAAAAZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcAAAAAAAAAAABQAAAAAVSWR4RmFjdG9yeUNmZ1Jlc3REYXBwAAAAAAAAAAAGAAAAABlJZHhGYWN0b3J5Q2ZnU2xpcHBhZ2VEYXBwAAAAAAAAAAAHAQAAAA1rZXlGYWN0b3J5Q2ZnAAAAAAIAAAARJXNfX2ZhY3RvcnlDb25maWcBAAAAFmtleVN0YWJsZVBvb2xBZGRvbkFkZHIAAAAAAgAAABclc19fc3RhYmxlUG9vbEFkZG9uQWRkcgEAAAAaa2V5RmFjdG9yeUxwMkFzc2V0c01hcHBpbmcAAAABAAAACmxwQXNzZXRTdHIJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVzJXMJAARMAAAAAgUAAAAKbHBBc3NldFN0cgkABEwAAAACAgAAAB5tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QFAAAAA25pbAUAAAADU0VQAQAAABBrZXlGYWN0b3J5THBMaXN0AAAAAAIAAAAQJXNfX2xwVG9rZW5zTGlzdAEAAAAma2V5RmFjdG9yeUxwQXNzZXRUb1Bvb2xDb250cmFjdEFkZHJlc3MAAAABAAAACmxwQXNzZXRTdHIJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVzJXMJAARMAAAAAgUAAAAKbHBBc3NldFN0cgkABEwAAAACAgAAAB5tYXBwaW5nc19fbHBBc3NldDJQb29sQ29udHJhY3QFAAAAA25pbAUAAAADU0VQAQAAABRrZXlGYWN0b3J5UG9vbFdlaWdodAAAAAEAAAAPY29udHJhY3RBZGRyZXNzCQAEuQAAAAIJAARMAAAAAgIAAAAEJXMlcwkABEwAAAACAgAAAApwb29sV2VpZ2h0CQAETAAAAAIFAAAAD2NvbnRyYWN0QWRkcmVzcwUAAAADbmlsBQAAAANTRVABAAAACnJlYWRMcExpc3QAAAABAAAAB2ZhY3RvcnkJAAS1AAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAdmYWN0b3J5CQEAAAAQa2V5RmFjdG9yeUxwTGlzdAAAAAACAAAAAAUAAAADU0VQAQAAABRyZWFkRmFjdG9yeUNmZ09yRmFpbAAAAAEAAAAHZmFjdG9yeQkABLUAAAACCQEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzT3JGYWlsAAAAAgUAAAAHZmFjdG9yeQkBAAAADWtleUZhY3RvcnlDZmcAAAAABQAAAANTRVABAAAAGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbAAAAAEAAAAKZmFjdG9yeUNmZwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnBQAAABlJZHhGYWN0b3J5Q2ZnQm9vc3RpbmdEYXBwAQAAABhnZXRFbWlzc2lvbkFkZHJlc3NPckZhaWwAAAABAAAACmZhY3RvcnlDZmcJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAAGRAAAAAgUAAAAKZmFjdG9yeUNmZwUAAAAZSWR4RmFjdG9yeUNmZ0VtaXNzaW9uRGFwcAEAAAAXZ2V0U3Rha2luZ0FkZHJlc3NPckZhaWwAAAABAAAACmZhY3RvcnlDZmcJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAAGRAAAAAgUAAAAKZmFjdG9yeUNmZwUAAAAYSWR4RmFjdG9yeUNmZ1N0YWtpbmdEYXBwAQAAAB5rZXlFbWlzc2lvblJhdGVQZXJCbG9ja0N1cnJlbnQAAAAAAgAAABslcyVzX19yYXRlUGVyQmxvY2tfX2N1cnJlbnQBAAAAIWtleUVtaXNzaW9uUmF0ZVBlckJsb2NrTWF4Q3VycmVudAAAAAACAAAAHiVzJXNfX3JhdGVQZXJCbG9ja01heF9fY3VycmVudAEAAAAVa2V5RW1pc3Npb25TdGFydEJsb2NrAAAAAAIAAAAaJXMlc19fZW1pc3Npb25fX3N0YXJ0QmxvY2sBAAAAG2tleUVtaXNzaW9uRHVyYXRpb25JbkJsb2NrcwAAAAACAAAAGCVzJXNfX2VtaXNzaW9uX19kdXJhdGlvbgEAAAATa2V5RW1pc3Npb25FbmRCbG9jawAAAAACAAAAGCVzJXNfX2VtaXNzaW9uX19lbmRCbG9jawEAAAAPa2V5U3Rha2VkQnlVc2VyAAAAAgAAAA51c2VyQWRkcmVzc1N0cgAAAAxscEFzc2V0SWRTdHIJAAS5AAAAAgkABEwAAAACAgAAAA4lcyVzJXNfX3N0YWtlZAkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgkABEwAAAACBQAAAAxscEFzc2V0SWRTdHIFAAAAA25pbAUAAAADU0VQAQAAAA5rZXlTdGFrZWRUb3RhbAAAAAEAAAAMbHBBc3NldElkU3RyCQABLAAAAAICAAAAFyVzJXMlc19fc3Rha2VkX190b3RhbF9fBQAAAAxscEFzc2V0SWRTdHIBAAAAEGtleUNsYWltZWRCeVVzZXIAAAACAAAADGxwQXNzZXRJZFN0cgAAAA51c2VyQWRkcmVzc1N0cgkABLkAAAACCQAETAAAAAICAAAADyVzJXMlc19fY2xhaW1lZAkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgkABEwAAAACBQAAAAxscEFzc2V0SWRTdHIFAAAAA25pbAUAAAADU0VQAQAAABlrZXlDbGFpbWVkQnlVc2VyTWluUmV3YXJkAAAAAgAAAAxscEFzc2V0SWRTdHIAAAAOdXNlckFkZHJlc3NTdHIJAAS5AAAAAgkABEwAAAACAgAAABglcyVzJXNfX2NsYWltZWRNaW5SZXdhcmQJAARMAAAAAgUAAAAOdXNlckFkZHJlc3NTdHIJAARMAAAAAgUAAAAMbHBBc3NldElkU3RyBQAAAANuaWwFAAAAA1NFUAEAAAAba2V5Q2xhaW1lZEJ5VXNlckJvb3N0UmV3YXJkAAAAAgAAAAxscEFzc2V0SWRTdHIAAAAOdXNlckFkZHJlc3NTdHIJAAS5AAAAAgkABEwAAAACAgAAABolcyVzJXNfX2NsYWltZWRCb29zdFJld2FyZAkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgkABEwAAAACBQAAAAxscEFzc2V0SWRTdHIFAAAAA25pbAUAAAADU0VQAQAAAA9rZXlDbGFpbWVkVG90YWwAAAABAAAADGxwQXNzZXRJZFN0cgkABLkAAAACCQAETAAAAAICAAAADyVzJXMlc19fY2xhaW1lZAkABEwAAAACAgAAAAV0b3RhbAkABEwAAAACBQAAAAxscEFzc2V0SWRTdHIFAAAAA25pbAUAAAADU0VQAQAAAApyZWFkU3Rha2VkAAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AAAAAAAAAAAAAQAAABVrZXlMYXN0VG90YWxMcEJhbGFuY2UAAAABAAAACWxwQXNzZXRJZAkABLkAAAACCQAETAAAAAICAAAABiVzJXMlcwkABEwAAAACBQAAAAlscEFzc2V0SWQJAARMAAAAAgIAAAAFdG90YWwJAARMAAAAAgIAAAADYmFsBQAAAANuaWwFAAAAA1NFUAEAAAAUa2V5TGFzdFVzZXJMcEJhbGFuY2UAAAACAAAACWxwQXNzZXRJZAAAAAt1c2VyQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAABiVzJXMlcwkABEwAAAACBQAAAAlscEFzc2V0SWQJAARMAAAAAgUAAAALdXNlckFkZHJlc3MJAARMAAAAAgIAAAADYmFsBQAAAANuaWwFAAAAA1NFUAEAAAAZa2V5VG90YWxMcEJhbGFuY2VJbnRlZ3JhbAAAAAEAAAAJbHBBc3NldElkCQAEuQAAAAIJAARMAAAAAgIAAAAGJXMlcyVzCQAETAAAAAIFAAAACWxwQXNzZXRJZAkABEwAAAACAgAAAAV0b3RhbAkABEwAAAACAgAAAAZiYWxJTlQFAAAAA25pbAUAAAADU0VQAQAAABhrZXlVc2VyTHBCYWxhbmNlSW50ZWdyYWwAAAACAAAACWxwQXNzZXRJZAAAAAt1c2VyQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAABiVzJXMlcwkABEwAAAACBQAAAAlscEFzc2V0SWQJAARMAAAAAgUAAAALdXNlckFkZHJlc3MJAARMAAAAAgIAAAAGYmFsSU5UBQAAAANuaWwFAAAAA1NFUAEAAAAma2V5VG90YWxMcEJhbGFuY2VJbnRlZ3JhbExhc3RVcGRIZWlnaHQAAAABAAAACWxwQXNzZXRJZAkABLkAAAACCQAETAAAAAICAAAABiVzJXMlcwkABEwAAAACBQAAAAlscEFzc2V0SWQJAARMAAAAAgIAAAAFdG90YWwJAARMAAAAAgIAAAAHbGFzdFVwZAUAAAADbmlsBQAAAANTRVABAAAAJWtleVVzZXJMcEJhbGFuY2VJbnRlZ3JhbExhc3RVcGRIZWlnaHQAAAACAAAACWxwQXNzZXRJZAAAAAt1c2VyQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAABiVzJXMlcwkABEwAAAACBQAAAAlscEFzc2V0SWQJAARMAAAAAgUAAAALdXNlckFkZHJlc3MJAARMAAAAAgIAAAAHbGFzdFVwZAUAAAADbmlsBQAAAANTRVABAAAAEmtleVd4UGVyTHBJbnRlZ3JhbAAAAAEAAAAJbHBBc3NldElkCQAEuQAAAAIJAARMAAAAAgIAAAAIJXMlcyVzJXMJAARMAAAAAgUAAAAJbHBBc3NldElkCQAETAAAAAICAAAABmNvbW1vbgkABEwAAAACAgAAAAVscEludAUAAAADbmlsBQAAAANTRVABAAAAH2tleVd4UGVyTHBJbnRlZ3JhbExhc3RVcGRIZWlnaHQAAAABAAAACWxwQXNzZXRJZAkABLkAAAACCQAETAAAAAICAAAACCVzJXMlcyVzCQAETAAAAAIFAAAACWxwQXNzZXRJZAkABEwAAAACAgAAAAZjb21tb24JAARMAAAAAgIAAAAGbHBJbnRIBQAAAANuaWwFAAAAA1NFUAEAAAAQa2V5V3hUb0NsYWltVXNlcgAAAAIAAAAJbHBBc3NldElkAAAAC3VzZXJBZGRyZXNzCQAEuQAAAAIJAARMAAAAAgIAAAAIJXMlcyVzJXMJAARMAAAAAgUAAAAJbHBBc3NldElkCQAETAAAAAIFAAAAC3VzZXJBZGRyZXNzCQAETAAAAAICAAAABWxwSW50BQAAAANuaWwFAAAAA1NFUAEAAAAja2V5V3hQZXJMcEludGVncmFsVXNlckxhc3RVcGRIZWlnaHQAAAACAAAACWxwQXNzZXRJZAAAAAt1c2VyQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAACCVzJXMlcyVzCQAETAAAAAIFAAAACWxwQXNzZXRJZAkABEwAAAACBQAAAAt1c2VyQWRkcmVzcwkABEwAAAACAgAAAAZscEludEgFAAAAA25pbAUAAAADU0VQAQAAAAprZXlXeFBlckxwAAAAAQAAAAlscEFzc2V0SWQJAAS5AAAAAgkABEwAAAACAgAAAAIlcwkABEwAAAACBQAAAAlscEFzc2V0SWQJAARMAAAAAgIAAAAHd3hQZXJMcAUAAAADbmlsBQAAAANTRVABAAAADWtleVd4UGVyTHBYMTgAAAABAAAACWxwQXNzZXRJZAkABLkAAAACCQAETAAAAAICAAAAAiVzCQAETAAAAAIFAAAACWxwQXNzZXRJZAkABEwAAAACAgAAAAp3eFBlckxwWDE4BQAAAANuaWwFAAAAA1NFUAEAAAAaa2V5V3hQZXJMcEludGVncmFsVXNlckxhc3QAAAACAAAACWxwQXNzZXRJZAAAAAt1c2VyQWRkcmVzcwkABLkAAAACCQAETAAAAAICAAAACCVzJXMlcyVzCQAETAAAAAIFAAAACWxwQXNzZXRJZAkABEwAAAACBQAAAAt1c2VyQWRkcmVzcwkABEwAAAACAgAAAAV1SW50TAUAAAADbmlsBQAAAANTRVABAAAAGWtleU9wZXJhdGlvbkhpc3RvcnlSZWNvcmQAAAADAAAABHR5cGUAAAALdXNlckFkZHJlc3MAAAAGdHhJZDU4CQAEuQAAAAIJAARMAAAAAgIAAAARJXMlcyVzJXNfX2hpc3RvcnkJAARMAAAAAgUAAAAEdHlwZQkABEwAAAACBQAAAAt1c2VyQWRkcmVzcwkABEwAAAACBQAAAAZ0eElkNTgFAAAAA25pbAUAAAADU0VQAQAAABNmb3JtYXRIaXN0b3J5UmVjb3JkAAAABAAAAAt1c2VyQWRkcmVzcwAAAAlscEFzc2V0SWQAAAAEdHlwZQAAAAZhbW91bnQJAAS5AAAAAgkABEwAAAACAgAAAAwlcyVzJXMlZCVkJWQJAARMAAAAAgUAAAALdXNlckFkZHJlc3MJAARMAAAAAgUAAAAJbHBBc3NldElkCQAETAAAAAIFAAAABHR5cGUJAARMAAAAAgkAAaQAAAABBQAAAAZoZWlnaHQJAARMAAAAAgkAAaQAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAkABEwAAAACCQABpAAAAAEFAAAABmFtb3VudAUAAAADbmlsBQAAAANTRVABAAAAFU9wZXJhdGlvbkhpc3RvcnlFbnRyeQAAAAUAAAAEdHlwZQAAAAt1c2VyQWRkcmVzcwAAAAlscEFzc2V0SWQAAAAGYW1vdW50AAAABHR4SWQJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABlrZXlPcGVyYXRpb25IaXN0b3J5UmVjb3JkAAAAAwUAAAAEdHlwZQUAAAALdXNlckFkZHJlc3MJAAJYAAAAAQUAAAAEdHhJZAkBAAAAE2Zvcm1hdEhpc3RvcnlSZWNvcmQAAAAEBQAAAAt1c2VyQWRkcmVzcwUAAAAJbHBBc3NldElkBQAAAAR0eXBlBQAAAAZhbW91bnQAAAAADmZhY3RvcnlBZGRyZXNzCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAQkBAAAAEWtleUZhY3RvcnlBZGRyZXNzAAAAAAAAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAA5mYWN0b3J5QWRkcmVzcwAAAAAKZmFjdG9yeUNmZwkBAAAAFHJlYWRGYWN0b3J5Q2ZnT3JGYWlsAAAAAQUAAAAPZmFjdG9yeUNvbnRyYWN0AAAAABBlbWlzc2lvbkNvbnRyYWN0CQEAAAAYZ2V0RW1pc3Npb25BZGRyZXNzT3JGYWlsAAAAAQUAAAAKZmFjdG9yeUNmZwAAAAAQYm9vc3RpbmdDb250cmFjdAkBAAAAGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbAAAAAEFAAAACmZhY3RvcnlDZmcBAAAAG2NhbGNXeFBlckxwSW50ZWdyYWxVc2VyTGFzdAAAAAQAAAAMc3Rha2VkQnlVc2VyAAAAJnd4UGVyTHBJbnRlZ3JhbFVzZXJMYXN0VXBkSGVpZ2h0T3JaZXJvAAAAEnd4UGVyTHBJbnRlZ3JhbE5ldwAAABp3eFBlckxwSW50ZWdyYWxVc2VyTGFzdEtFWQMDCQAAAAAAAAIFAAAAJnd4UGVyTHBJbnRlZ3JhbFVzZXJMYXN0VXBkSGVpZ2h0T3JaZXJvAAAAAAAAAAAACQAAZgAAAAIFAAAADHN0YWtlZEJ5VXNlcgAAAAAAAAAAAAcAAAAAAAAAAAADCQAAAAAAAAIFAAAADHN0YWtlZEJ5VXNlcgAAAAAAAAAAAAUAAAASd3hQZXJMcEludGVncmFsTmV3AwMJAABmAAAAAgUAAAAmd3hQZXJMcEludGVncmFsVXNlckxhc3RVcGRIZWlnaHRPclplcm8AAAAAAAAAAAAJAABmAAAAAgUAAAAMc3Rha2VkQnlVc2VyAAAAAAAAAAAABwkBAAAADGdldEludE9yRmFpbAAAAAIFAAAABHRoaXMFAAAAGnd4UGVyTHBJbnRlZ3JhbFVzZXJMYXN0S0VZCQAAAgAAAAECAAAALWNhbGNXeFBlckxwSW50ZWdyYWxVc2VyTGFzdDogdW5leHBlY3RlZCBzdGF0ZQEAAAAUcmVmcmVzaFBvb2xJTlRFR1JBTFMAAAADAAAADGxwQXNzZXRJZFN0cgAAAA5wb29sQWRkcmVzc1N0cgAAAA1scERlbHRhQW1vdW50BAAAAA5zdGFrZWRUb3RhbEtFWQkBAAAADmtleVN0YWtlZFRvdGFsAAAAAQUAAAAMbHBBc3NldElkU3RyBAAAAAtzdGFrZWRUb3RhbAkBAAAACnJlYWRTdGFrZWQAAAABBQAAAA5zdGFrZWRUb3RhbEtFWQQAAAAKcG9vbFdlaWdodAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAUa2V5RmFjdG9yeVBvb2xXZWlnaHQAAAABBQAAAA5wb29sQWRkcmVzc1N0cgQAAAASZW1pc3Npb25TdGFydEJsb2NrCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAQZW1pc3Npb25Db250cmFjdAkBAAAAFWtleUVtaXNzaW9uU3RhcnRCbG9jawAAAAAEAAAABU1VTFQzAAAAAAAAAAPoBAAAABR3eEVtaXNzaW9uUGVyQmxvY2tYMwkAAGgAAAACCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAQZW1pc3Npb25Db250cmFjdAkBAAAAHmtleUVtaXNzaW9uUmF0ZVBlckJsb2NrQ3VycmVudAAAAAAFAAAABU1VTFQzBAAAABhwb29sV3hFbWlzc2lvblBlckJsb2NrWDMJAABrAAAAAwUAAAAUd3hFbWlzc2lvblBlckJsb2NrWDMFAAAACnBvb2xXZWlnaHQJAABoAAAAAgUAAAAOUE9PTFdFSUdIVE1VTFQAAAAAAAAAAAMEAAAAEnd4UGVyTHBJbnRlZ3JhbEtFWQkBAAAAEmtleVd4UGVyTHBJbnRlZ3JhbAAAAAEFAAAADGxwQXNzZXRJZFN0cgQAAAAfd3hQZXJMcEludGVncmFsTGFzdFVwZEhlaWdodEtFWQkBAAAAH2tleVd4UGVyTHBJbnRlZ3JhbExhc3RVcGRIZWlnaHQAAAABBQAAAAxscEFzc2V0SWRTdHIEAAAACnd4UGVyTHBLRVkJAQAAAAprZXlXeFBlckxwAAAAAQUAAAAMbHBBc3NldElkU3RyBAAAABx3eFBlckxwSW50ZWdyYWxMYXN0VXBkSGVpZ2h0CQEAAAAPZ2V0SW50T3JEZWZhdWx0AAAAAwUAAAAEdGhpcwUAAAAfd3hQZXJMcEludGVncmFsTGFzdFVwZEhlaWdodEtFWQUAAAASZW1pc3Npb25TdGFydEJsb2NrBAAAAA93eFBlckxwSW50ZWdyYWwJAQAAAAxnZXRJbnRPclplcm8AAAACBQAAAAR0aGlzBQAAABJ3eFBlckxwSW50ZWdyYWxLRVkEAAAAD3d4UGVyTHBPclplcm9YMwAAAAAAAAAAAAQAAAACZGgJAAGWAAAAAQkABEwAAAACCQAAZQAAAAIFAAAABmhlaWdodAUAAAAcd3hQZXJMcEludGVncmFsTGFzdFVwZEhlaWdodAkABEwAAAACAAAAAAAAAAAABQAAAANuaWwEAAAACXd4UGVyTHBYMwMJAQAAAAIhPQAAAAIFAAAAD3d4UGVyTHBPclplcm9YMwAAAAAAAAAAAAUAAAAPd3hQZXJMcE9yWmVyb1gzCQAAawAAAAMFAAAAGHBvb2xXeEVtaXNzaW9uUGVyQmxvY2tYMwUAAAAFTVVMVDgFAAAAC3N0YWtlZFRvdGFsBAAAAA5zdGFrZWRUb3RhbE5ldwkAAGQAAAACBQAAAAtzdGFrZWRUb3RhbAUAAAANbHBEZWx0YUFtb3VudAQAAAASd3hQZXJMcEludGVncmFsTmV3CQAAZAAAAAIFAAAAD3d4UGVyTHBJbnRlZ3JhbAkAAGgAAAACBQAAAAl3eFBlckxwWDMFAAAAAmRoBAAAAAx3eFBlckxwWDNOZXcJAABpAAAAAgUAAAAYcG9vbFd4RW1pc3Npb25QZXJCbG9ja1gzBQAAAA5zdGFrZWRUb3RhbE5ldwQAAAAfd3hQZXJMcEludGVncmFsTGFzdFVwZEhlaWdodE5ldwUAAAAGaGVpZ2h0BAAAAAVkZWJ1ZwkABLkAAAACCQAETAAAAAIJAAGkAAAAAQUAAAASd3hQZXJMcEludGVncmFsTmV3CQAETAAAAAIJAAGkAAAAAQUAAAACZGgJAARMAAAAAgkAAaQAAAABBQAAAAl3eFBlckxwWDMJAARMAAAAAgkAAaQAAAABBQAAAAtzdGFrZWRUb3RhbAkABEwAAAACCQABpAAAAAEFAAAAGHBvb2xXeEVtaXNzaW9uUGVyQmxvY2tYMwkABEwAAAACCQABpAAAAAEFAAAAFHd4RW1pc3Npb25QZXJCbG9ja1gzCQAETAAAAAIJAAGkAAAAAQUAAAAKcG9vbFdlaWdodAUAAAADbmlsAgAAAAI6OgkABRUAAAADBQAAABJ3eFBlckxwSW50ZWdyYWxOZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEnd4UGVyTHBJbnRlZ3JhbEtFWQUAAAASd3hQZXJMcEludGVncmFsTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAB93eFBlckxwSW50ZWdyYWxMYXN0VXBkSGVpZ2h0S0VZBQAAAB93eFBlckxwSW50ZWdyYWxMYXN0VXBkSGVpZ2h0TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAp3eFBlckxwS0VZBQAAAAx3eFBlckxwWDNOZXcFAAAAA25pbAUAAAAFZGVidWcBAAAAEHJlZnJlc2hJTlRFR1JBTFMAAAAEAAAADGxwQXNzZXRJZFN0cgAAAA51c2VyQWRkcmVzc1N0cgAAAA5wb29sQWRkcmVzc1N0cgAAAA1scERlbHRhQW1vdW50BAAAAA0kdDAxMDM4MTEwNTAzCQEAAAAUcmVmcmVzaFBvb2xJTlRFR1JBTFMAAAADBQAAAAxscEFzc2V0SWRTdHIFAAAADnBvb2xBZGRyZXNzU3RyBQAAAA1scERlbHRhQW1vdW50BAAAABJ3eFBlckxwSW50ZWdyYWxOZXcIBQAAAA0kdDAxMDM4MTEwNTAzAAAAAl8xBAAAABFwb29sSW50ZWdyYWxTVEFURQgFAAAADSR0MDEwMzgxMTA1MDMAAAACXzIEAAAACXBvb2xERUJVRwgFAAAADSR0MDEwMzgxMTA1MDMAAAACXzMEAAAABU1VTFQzAAAAAAAAAAPoBAAAAA9zdGFrZWRCeVVzZXJLRVkJAQAAAA9rZXlTdGFrZWRCeVVzZXIAAAACBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAMbHBBc3NldElkU3RyBAAAAAxzdGFrZWRCeVVzZXIJAQAAAApyZWFkU3Rha2VkAAAAAQUAAAAPc3Rha2VkQnlVc2VyS0VZBAAAABB3eFRvQ2xhaW1Vc2VyS0VZCQEAAAAQa2V5V3hUb0NsYWltVXNlcgAAAAIFAAAADGxwQXNzZXRJZFN0cgUAAAAOdXNlckFkZHJlc3NTdHIEAAAAI3d4UGVyTHBJbnRlZ3JhbFVzZXJMYXN0VXBkSGVpZ2h0S0VZCQEAAAAja2V5V3hQZXJMcEludGVncmFsVXNlckxhc3RVcGRIZWlnaHQAAAACBQAAAAxscEFzc2V0SWRTdHIFAAAADnVzZXJBZGRyZXNzU3RyBAAAABp3eFBlckxwSW50ZWdyYWxVc2VyTGFzdEtFWQkBAAAAGmtleVd4UGVyTHBJbnRlZ3JhbFVzZXJMYXN0AAAAAgUAAAAMbHBBc3NldElkU3RyBQAAAA51c2VyQWRkcmVzc1N0cgQAAAANd3hUb0NsYWltVXNlcgkBAAAADGdldEludE9yWmVybwAAAAIFAAAABHRoaXMFAAAAEHd4VG9DbGFpbVVzZXJLRVkEAAAAJnd4UGVyTHBJbnRlZ3JhbFVzZXJMYXN0VXBkSGVpZ2h0T3JaZXJvCQEAAAAMZ2V0SW50T3JaZXJvAAAAAgUAAAAEdGhpcwUAAAAjd3hQZXJMcEludGVncmFsVXNlckxhc3RVcGRIZWlnaHRLRVkEAAAAF3d4UGVyTHBJbnRlZ3JhbFVzZXJMYXN0CQEAAAAbY2FsY1d4UGVyTHBJbnRlZ3JhbFVzZXJMYXN0AAAABAUAAAAMc3Rha2VkQnlVc2VyBQAAACZ3eFBlckxwSW50ZWdyYWxVc2VyTGFzdFVwZEhlaWdodE9yWmVybwUAAAASd3hQZXJMcEludGVncmFsTmV3BQAAABp3eFBlckxwSW50ZWdyYWxVc2VyTGFzdEtFWQQAAAAQd3hUb0NsYWltVXNlck5ldwkAAGQAAAACBQAAAA13eFRvQ2xhaW1Vc2VyCQAAawAAAAMJAABlAAAAAgUAAAASd3hQZXJMcEludGVncmFsTmV3BQAAABd3eFBlckxwSW50ZWdyYWxVc2VyTGFzdAUAAAAMc3Rha2VkQnlVc2VyCQAAaAAAAAIFAAAABU1VTFQ4BQAAAAVNVUxUMwQAAAAad3hQZXJMcEludGVncmFsVXNlckxhc3ROZXcFAAAAEnd4UGVyTHBJbnRlZ3JhbE5ldwQAAAAjd3hQZXJMcEludGVncmFsVXNlckxhc3RVcGRIZWlnaHROZXcFAAAABmhlaWdodAQAAAAFZGVidWcJAAS5AAAAAgkABEwAAAACCQABpAAAAAEFAAAAEHd4VG9DbGFpbVVzZXJOZXcJAARMAAAAAgkAAaQAAAABBQAAABd3eFBlckxwSW50ZWdyYWxVc2VyTGFzdAkABEwAAAACCQABpAAAAAEFAAAADHN0YWtlZEJ5VXNlcgkABEwAAAACBQAAAAlwb29sREVCVUcJAARMAAAAAgkAAaQAAAABBQAAAAZoZWlnaHQFAAAAA25pbAIAAAACOjoJAAUVAAAAAwUAAAAQd3hUb0NsYWltVXNlck5ldwkABE4AAAACBQAAABFwb29sSW50ZWdyYWxTVEFURQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQd3hUb0NsYWltVXNlcktFWQUAAAAQd3hUb0NsYWltVXNlck5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAjd3hQZXJMcEludGVncmFsVXNlckxhc3RVcGRIZWlnaHRLRVkFAAAAI3d4UGVyTHBJbnRlZ3JhbFVzZXJMYXN0VXBkSGVpZ2h0TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABp3eFBlckxwSW50ZWdyYWxVc2VyTGFzdEtFWQUAAAAad3hQZXJMcEludGVncmFsVXNlckxhc3ROZXcFAAAAA25pbAUAAAAFZGVidWcAAAAGAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAAAQAAABFmYWN0b3J5QWRkcmVzc1N0cgMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAEdGhpcwkAAAIAAAABAgAAAA5ub3QgYXV0aG9yaXplZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARa2V5RmFjdG9yeUFkZHJlc3MAAAAABQAAABFmYWN0b3J5QWRkcmVzc1N0cgUAAAADbmlsAAAAAWkBAAAABXN0YWtlAAAAAAMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAA0aW52YWxpZCBwYXltZW50IC0gZXhhY3Qgb25lIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQAAAADcG10CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAlscEFzc2V0SWQJAQAAAAV2YWx1ZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAMbHBBc3NldElkU3RyCQACWAAAAAEFAAAACWxwQXNzZXRJZAQAAAAGYW1vdW50CAUAAAADcG10AAAABmFtb3VudAQAAAAOcG9vbEFkZHJlc3NTdHIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAABprZXlGYWN0b3J5THAyQXNzZXRzTWFwcGluZwAAAAEFAAAADGxwQXNzZXRJZFN0cgkAASwAAAACAgAAABV1bnN1cHBvcnRlZCBscCBhc3NldCAFAAAADGxwQXNzZXRJZFN0cgQAAAAJY2FsbGVyU3RyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAOdXNlckFkZHJlc3NTdHIDCQAAAAAAAAIFAAAACWNhbGxlclN0cgUAAAAOcG9vbEFkZHJlc3NTdHIJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBQAAAAljYWxsZXJTdHIEAAAAD3N0YWtlZEJ5VXNlcktFWQkBAAAAD2tleVN0YWtlZEJ5VXNlcgAAAAIFAAAADnVzZXJBZGRyZXNzU3RyBQAAAAxscEFzc2V0SWRTdHIEAAAADnN0YWtlZFRvdGFsS0VZCQEAAAAOa2V5U3Rha2VkVG90YWwAAAABBQAAAAxscEFzc2V0SWRTdHIEAAAADHN0YWtlZEJ5VXNlcgkBAAAACnJlYWRTdGFrZWQAAAABBQAAAA9zdGFrZWRCeVVzZXJLRVkEAAAAC3N0YWtlZFRvdGFsCQEAAAAKcmVhZFN0YWtlZAAAAAEFAAAADnN0YWtlZFRvdGFsS0VZBAAAAA0kdDAxMzA0NjEzMTYzCQEAAAAQcmVmcmVzaElOVEVHUkFMUwAAAAQFAAAADGxwQXNzZXRJZFN0cgUAAAAOdXNlckFkZHJlc3NTdHIFAAAADnBvb2xBZGRyZXNzU3RyBQAAAAZhbW91bnQEAAAAEHd4VG9DbGFpbVVzZXJOZXcIBQAAAA0kdDAxMzA0NjEzMTYzAAAAAl8xBAAAAA1pbnRlZ3JhbFNUQVRFCAUAAAANJHQwMTMwNDYxMzE2MwAAAAJfMgQAAAAFZGVidWcIBQAAAA0kdDAxMzA0NjEzMTYzAAAAAl8zCQAETgAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD3N0YWtlZEJ5VXNlcktFWQkAAGQAAAACBQAAAAxzdGFrZWRCeVVzZXIFAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOc3Rha2VkVG90YWxLRVkJAABkAAAAAgUAAAALc3Rha2VkVG90YWwFAAAABmFtb3VudAkABEwAAAACCQEAAAAVT3BlcmF0aW9uSGlzdG9yeUVudHJ5AAAABQIAAAAFc3Rha2UFAAAADnVzZXJBZGRyZXNzU3RyBQAAAAxscEFzc2V0SWRTdHIFAAAABmFtb3VudAgFAAAAAWkAAAANdHJhbnNhY3Rpb25JZAUAAAADbmlsBQAAAA1pbnRlZ3JhbFNUQVRFAAAAAWkBAAAAB3Vuc3Rha2UAAAACAAAADGxwQXNzZXRJZFN0cgAAAAZhbW91bnQEAAAACWxwQXNzZXRJZAkAAlkAAAABBQAAAAxscEFzc2V0SWRTdHIEAAAADnBvb2xBZGRyZXNzU3RyCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAaa2V5RmFjdG9yeUxwMkFzc2V0c01hcHBpbmcAAAABBQAAAAxscEFzc2V0SWRTdHIJAAEsAAAAAgIAAAAVdW5zdXBwb3J0ZWQgbHAgYXNzZXQgBQAAAAxscEFzc2V0SWRTdHIEAAAACXBvb2xBZGRvbgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzCQEAAAAWa2V5U3RhYmxlUG9vbEFkZG9uQWRkcgAAAAAFAAAADnBvb2xBZGRyZXNzU3RyBAAAAAljYWxsZXJTdHIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAwYJAAACAAAAAQkAASwAAAACAgAAAAxwb29sQWRkb24gPSAFAAAACXBvb2xBZGRvbgQAAAAOdXNlckFkZHJlc3NTdHIDAwkAAAAAAAACBQAAAAljYWxsZXJTdHIFAAAADnBvb2xBZGRyZXNzU3RyBgkAAAAAAAACBQAAAAljYWxsZXJTdHIFAAAACXBvb2xBZGRvbgkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIFAAAACWNhbGxlclN0cgQAAAAPc3Rha2VkQnlVc2VyS0VZCQEAAAAPa2V5U3Rha2VkQnlVc2VyAAAAAgUAAAAOdXNlckFkZHJlc3NTdHIFAAAADGxwQXNzZXRJZFN0cgQAAAAOc3Rha2VkVG90YWxLRVkJAQAAAA5rZXlTdGFrZWRUb3RhbAAAAAEFAAAADGxwQXNzZXRJZFN0cgQAAAAMc3Rha2VkQnlVc2VyCQEAAAAKcmVhZFN0YWtlZAAAAAEFAAAAD3N0YWtlZEJ5VXNlcktFWQQAAAALc3Rha2VkVG90YWwJAQAAAApyZWFkU3Rha2VkAAAAAQUAAAAOc3Rha2VkVG90YWxLRVkEAAAADSR0MDE0MzU1MTQ0NzMJAQAAABByZWZyZXNoSU5URUdSQUxTAAAABAUAAAAMbHBBc3NldElkU3RyBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAOcG9vbEFkZHJlc3NTdHIJAQAAAAEtAAAAAQUAAAAGYW1vdW50BAAAABB3eFRvQ2xhaW1Vc2VyTmV3CAUAAAANJHQwMTQzNTUxNDQ3MwAAAAJfMQQAAAANaW50ZWdyYWxTVEFURQgFAAAADSR0MDE0MzU1MTQ0NzMAAAACXzIEAAAABWRlYnVnCAUAAAANJHQwMTQzNTUxNDQ3MwAAAAJfMwMJAABmAAAAAgUAAAAGYW1vdW50BQAAAAxzdGFrZWRCeVVzZXIJAAACAAAAAQIAAAAkcGFzc2VkIGFtb3VudCBpcyBsZXNzIHRoZW4gYXZhaWxhYmxlCQAETgAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD3N0YWtlZEJ5VXNlcktFWQkAAGUAAAACBQAAAAxzdGFrZWRCeVVzZXIFAAAABmFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOc3Rha2VkVG90YWxLRVkJAABlAAAAAgUAAAALc3Rha2VkVG90YWwFAAAABmFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABmFtb3VudAUAAAAJbHBBc3NldElkCQAETAAAAAIJAQAAABVPcGVyYXRpb25IaXN0b3J5RW50cnkAAAAFAgAAAAd1bnN0YWtlBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAMbHBBc3NldElkU3RyBQAAAAZhbW91bnQIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQFAAAAA25pbAUAAAANaW50ZWdyYWxTVEFURQAAAAFpAQAAAAdjbGFpbVd4AAAAAQAAAAxscEFzc2V0SWRTdHIEAAAAC3VzZXJBZGRyZXNzCAUAAAABaQAAAAZjYWxsZXIEAAAADnVzZXJBZGRyZXNzU3RyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAOcG9vbEFkZHJlc3NTdHIJAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAACZrZXlGYWN0b3J5THBBc3NldFRvUG9vbENvbnRyYWN0QWRkcmVzcwAAAAEFAAAADGxwQXNzZXRJZFN0cgQAAAAQY2xhaW1lZEJ5VXNlcktFWQkBAAAAEGtleUNsYWltZWRCeVVzZXIAAAACBQAAAAxscEFzc2V0SWRTdHIFAAAADnVzZXJBZGRyZXNzU3RyBAAAAA9jbGFpbWVkVG90YWxLRVkJAQAAAA9rZXlDbGFpbWVkVG90YWwAAAABBQAAAAxscEFzc2V0SWRTdHIEAAAAGWNsYWltZWRCeVVzZXJNaW5SZXdhcmRLRVkJAQAAABlrZXlDbGFpbWVkQnlVc2VyTWluUmV3YXJkAAAAAgUAAAAMbHBBc3NldElkU3RyBQAAAA51c2VyQWRkcmVzc1N0cgQAAAAbY2xhaW1lZEJ5VXNlckJvb3N0UmV3YXJkS0VZCQEAAAAba2V5Q2xhaW1lZEJ5VXNlckJvb3N0UmV3YXJkAAAAAgUAAAAMbHBBc3NldElkU3RyBQAAAA51c2VyQWRkcmVzc1N0cgQAAAANY2xhaW1lZEJ5VXNlcgkBAAAADGdldEludE9yWmVybwAAAAIFAAAABHRoaXMFAAAAEGNsYWltZWRCeVVzZXJLRVkEAAAAFmNsYWltZWRCeVVzZXJNaW5SZXdhcmQJAQAAAAxnZXRJbnRPclplcm8AAAACBQAAAAR0aGlzBQAAABljbGFpbWVkQnlVc2VyTWluUmV3YXJkS0VZBAAAABhjbGFpbWVkQnlVc2VyQm9vc3RSZXdhcmQJAQAAAAxnZXRJbnRPclplcm8AAAACBQAAAAR0aGlzBQAAABtjbGFpbWVkQnlVc2VyQm9vc3RSZXdhcmRLRVkEAAAADGNsYWltZWRUb3RhbAkBAAAADGdldEludE9yWmVybwAAAAIFAAAABHRoaXMFAAAAD2NsYWltZWRUb3RhbEtFWQQAAAANJHQwMTU2NjUxNTc3NwkBAAAAEHJlZnJlc2hJTlRFR1JBTFMAAAAEBQAAAAxscEFzc2V0SWRTdHIFAAAADnVzZXJBZGRyZXNzU3RyBQAAAA5wb29sQWRkcmVzc1N0cgAAAAAAAAAAAAQAAAAQd3hUb0NsYWltVXNlck5ldwgFAAAADSR0MDE1NjY1MTU3NzcAAAACXzEEAAAADWludGVncmFsU1RBVEUIBQAAAA0kdDAxNTY2NTE1Nzc3AAAAAl8yBAAAAAVkZWJ1ZwgFAAAADSR0MDE1NjY1MTU3NzcAAAACXzMEAAAAEGF2YWlsYWJsZVRvQ2xhaW0JAABlAAAAAgUAAAAQd3hUb0NsYWltVXNlck5ldwUAAAANY2xhaW1lZEJ5VXNlcgMJAABnAAAAAgAAAAAAAAAAAAUAAAAQYXZhaWxhYmxlVG9DbGFpbQkAAAIAAAABAgAAABBub3RoaW5nIHRvIGNsYWltBAAAABJ3eEFtb3VudEJvb3N0VG90YWwJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgkBAAAACWFzQW55TGlzdAAAAAEJAAP8AAAABAUAAAAQYm9vc3RpbmdDb250cmFjdAIAAAAMY2xhaW1XeEJvb3N0CQAETAAAAAIFAAAADGxwQXNzZXRJZFN0cgkABEwAAAACBQAAAA51c2VyQWRkcmVzc1N0cgUAAAADbmlsBQAAAANuaWwAAAAAAAAAAAAEAAAADW1pblJld2FyZFBhcnQFAAAAEGF2YWlsYWJsZVRvQ2xhaW0EAAAAD2Jvb3N0UmV3YXJkUGFydAkAAZcAAAABCQAETAAAAAIJAABoAAAAAgUAAAANbWluUmV3YXJkUGFydAAAAAAAAAAAAgkABEwAAAACBQAAABJ3eEFtb3VudEJvb3N0VG90YWwFAAAAA25pbAQAAAAJd3hBc3NldElkCQEAAAAMYXNCeXRlVmVjdG9yAAAAAQkAAZEAAAACCQEAAAAJYXNBbnlMaXN0AAAAAQkAA/wAAAAEBQAAABBlbWlzc2lvbkNvbnRyYWN0AgAAAARlbWl0CQAETAAAAAIFAAAADW1pblJld2FyZFBhcnQFAAAAA25pbAUAAAADbmlsAAAAAAAAAAAABAAAAAllbWl0Qm9vc3QJAQAAAAlhc0FueUxpc3QAAAABCQAD/AAAAAQFAAAAEGVtaXNzaW9uQ29udHJhY3QCAAAABGVtaXQJAARMAAAAAgUAAAAPYm9vc3RSZXdhcmRQYXJ0BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAJZW1pdEJvb3N0BQAAAAllbWl0Qm9vc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGNsYWltZWRCeVVzZXJLRVkJAABkAAAAAgUAAAANY2xhaW1lZEJ5VXNlcgUAAAAQYXZhaWxhYmxlVG9DbGFpbQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAZY2xhaW1lZEJ5VXNlck1pblJld2FyZEtFWQkAAGQAAAACBQAAABZjbGFpbWVkQnlVc2VyTWluUmV3YXJkBQAAAA1taW5SZXdhcmRQYXJ0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABtjbGFpbWVkQnlVc2VyQm9vc3RSZXdhcmRLRVkJAABkAAAAAgUAAAAYY2xhaW1lZEJ5VXNlckJvb3N0UmV3YXJkBQAAAA9ib29zdFJld2FyZFBhcnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2NsYWltZWRUb3RhbEtFWQkAAGQAAAACBQAAAAxjbGFpbWVkVG90YWwFAAAAEGF2YWlsYWJsZVRvQ2xhaW0JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAALdXNlckFkZHJlc3MFAAAADW1pblJld2FyZFBhcnQFAAAACXd4QXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAt1c2VyQWRkcmVzcwUAAAAPYm9vc3RSZXdhcmRQYXJ0BQAAAAl3eEFzc2V0SWQJAARMAAAAAgkBAAAAFU9wZXJhdGlvbkhpc3RvcnlFbnRyeQAAAAUCAAAABWNsYWltBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAMbHBBc3NldElkU3RyBQAAABBhdmFpbGFibGVUb0NsYWltCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAANuaWwJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAD2NsYWltV3hSRUFET05MWQAAAAIAAAAMbHBBc3NldElkU3RyAAAADnVzZXJBZGRyZXNzU3RyBAAAAA9zdGFrZWRCeVVzZXJLRVkJAQAAAA9rZXlTdGFrZWRCeVVzZXIAAAACBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAMbHBBc3NldElkU3RyBAAAAA5zdGFrZWRUb3RhbEtFWQkBAAAADmtleVN0YWtlZFRvdGFsAAAAAQUAAAAMbHBBc3NldElkU3RyBAAAABBjbGFpbWVkQnlVc2VyS0VZCQEAAAAQa2V5Q2xhaW1lZEJ5VXNlcgAAAAIFAAAADGxwQXNzZXRJZFN0cgUAAAAOdXNlckFkZHJlc3NTdHIEAAAADHN0YWtlZEJ5VXNlcgkBAAAACnJlYWRTdGFrZWQAAAABBQAAAA9zdGFrZWRCeVVzZXJLRVkEAAAAC3N0YWtlZFRvdGFsCQEAAAAKcmVhZFN0YWtlZAAAAAEFAAAADnN0YWtlZFRvdGFsS0VZBAAAAA1jbGFpbWVkQnlVc2VyCQEAAAAMZ2V0SW50T3JaZXJvAAAAAgUAAAAEdGhpcwUAAAAQY2xhaW1lZEJ5VXNlcktFWQQAAAAOcG9vbEFkZHJlc3NTdHIJAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAACZrZXlGYWN0b3J5THBBc3NldFRvUG9vbENvbnRyYWN0QWRkcmVzcwAAAAEFAAAADGxwQXNzZXRJZFN0cgQAAAAKcG9vbFdlaWdodAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAUa2V5RmFjdG9yeVBvb2xXZWlnaHQAAAABBQAAAA5wb29sQWRkcmVzc1N0cgQAAAASd3hFbWlzc2lvblBlckJsb2NrCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAQZW1pc3Npb25Db250cmFjdAkBAAAAHmtleUVtaXNzaW9uUmF0ZVBlckJsb2NrQ3VycmVudAAAAAAEAAAAEmVtaXNzaW9uU3RhcnRCbG9jawkBAAAADGdldEludE9yRmFpbAAAAAIFAAAAEGVtaXNzaW9uQ29udHJhY3QJAQAAABVrZXlFbWlzc2lvblN0YXJ0QmxvY2sAAAAABAAAAAxwYXNzZWRCbG9ja3MDCQAAZgAAAAIFAAAAEmVtaXNzaW9uU3RhcnRCbG9jawUAAAAGaGVpZ2h0AAAAAAAAAAAACQAAZQAAAAIFAAAABmhlaWdodAUAAAASZW1pc3Npb25TdGFydEJsb2NrBAAAAA5wb29sV3hFbWlzc2lvbgkAAGsAAAADCQAAaAAAAAIFAAAAEnd4RW1pc3Npb25QZXJCbG9jawUAAAAMcGFzc2VkQmxvY2tzBQAAAApwb29sV2VpZ2h0BQAAAA5QT09MV0VJR0hUTVVMVAQAAAAMdXNlcld4UmV3YXJkCQAAawAAAAMFAAAADnBvb2xXeEVtaXNzaW9uBQAAAAxzdGFrZWRCeVVzZXIFAAAAC3N0YWtlZFRvdGFsBAAAAA0kdDAxNzk3NzE4MDg5CQEAAAAQcmVmcmVzaElOVEVHUkFMUwAAAAQFAAAADGxwQXNzZXRJZFN0cgUAAAAOdXNlckFkZHJlc3NTdHIFAAAADnBvb2xBZGRyZXNzU3RyAAAAAAAAAAAABAAAABB3eFRvQ2xhaW1Vc2VyTmV3CAUAAAANJHQwMTc5NzcxODA4OQAAAAJfMQQAAAANaW50ZWdyYWxTVEFURQgFAAAADSR0MDE3OTc3MTgwODkAAAACXzIEAAAABWRlYnVnCAUAAAANJHQwMTc5NzcxODA4OQAAAAJfMwQAAAAQYXZhaWxhYmxlVG9DbGFpbQkAAGUAAAACBQAAABB3eFRvQ2xhaW1Vc2VyTmV3BQAAAA1jbGFpbWVkQnlVc2VyBAAAAA5ib29zdEludlJlc3VsdAkBAAAACWFzQW55TGlzdAAAAAEJAAP8AAAABAUAAAAQYm9vc3RpbmdDb250cmFjdAIAAAAUY2xhaW1XeEJvb3N0UkVBRE9OTFkJAARMAAAAAgUAAAAMbHBBc3NldElkU3RyCQAETAAAAAIFAAAADnVzZXJBZGRyZXNzU3RyBQAAAANuaWwFAAAAA25pbAQAAAASd3hBbW91bnRCb29zdFRvdGFsCQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAADmJvb3N0SW52UmVzdWx0AAAAAAAAAAAABAAAAApib29zdERlYnVnCQEAAAAIYXNTdHJpbmcAAAABCQABkQAAAAIFAAAADmJvb3N0SW52UmVzdWx0AAAAAAAAAAABBAAAAA1taW5SZXdhcmRQYXJ0BQAAABBhdmFpbGFibGVUb0NsYWltBAAAAA9ib29zdFJld2FyZFBhcnQJAAGXAAAAAQkABEwAAAACCQAAaAAAAAIFAAAADW1pblJld2FyZFBhcnQAAAAAAAAAAAIJAARMAAAAAgUAAAASd3hBbW91bnRCb29zdFRvdGFsBQAAAANuaWwEAAAAC3RvdGFsUmV3YXJkCQAAZAAAAAIFAAAADW1pblJld2FyZFBhcnQFAAAAD2Jvb3N0UmV3YXJkUGFydAkABRQAAAACBQAAAANuaWwJAAS5AAAAAgkABEwAAAACAgAAAA4lcyVzJWQlZCVkJWQlcwkABEwAAAACBQAAAAxscEFzc2V0SWRTdHIJAARMAAAAAgUAAAAOdXNlckFkZHJlc3NTdHIJAARMAAAAAgkAAaQAAAABBQAAAAt0b3RhbFJld2FyZAkABEwAAAACCQABpAAAAAEFAAAADWNsYWltZWRCeVVzZXIJAARMAAAAAgkAAaQAAAABBQAAAA1taW5SZXdhcmRQYXJ0CQAETAAAAAIJAAGkAAAAAQUAAAAPYm9vc3RSZXdhcmRQYXJ0CQAETAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAFZGVidWcCAAAAAjo6CQABpAAAAAEFAAAADHVzZXJXeFJld2FyZAIAAAAOOjpCT09TVERFQlVHOjoFAAAACmJvb3N0RGVidWcFAAAAA25pbAUAAAADU0VQAAAAAWkBAAAADm9uTW9kaWZ5V2VpZ2h0AAAAAgAAAAxscEFzc2V0SWRTdHIAAAAOcG9vbEFkZHJlc3NTdHIDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAD2ZhY3RvcnlDb250cmFjdAkAAAIAAAABAgAAABJwZXJtaXNzaW9ucyBkZW5pZWQEAAAADSR0MDE4OTY5MTkwNzkJAQAAABRyZWZyZXNoUG9vbElOVEVHUkFMUwAAAAMFAAAADGxwQXNzZXRJZFN0cgUAAAAOcG9vbEFkZHJlc3NTdHIAAAAAAAAAAAAEAAAAEnd4UGVyTHBJbnRlZ3JhbE5ldwgFAAAADSR0MDE4OTY5MTkwNzkAAAACXzEEAAAAEXBvb2xJbnRlZ3JhbFNUQVRFCAUAAAANJHQwMTg5NjkxOTA3OQAAAAJfMgQAAAAJcG9vbERFQlVHCAUAAAANJHQwMTg5NjkxOTA3OQAAAAJfMwUAAAARcG9vbEludGVncmFsU1RBVEUAAAAA3hge+w==", "chainId": 84, "height": 1886096, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5FUxwLK6BRwqBphQzLRkqjNp28aJQRnkf3cK6mmbTdJJ Next: none Diff:
Old | New | Differences | |
---|---|---|---|
323 | 323 | let aU = valueOrErrorMessage(getString(aL, N(ah)), ("unsupported lp asset " + ah)) | |
324 | 324 | let bH = valueOrElse(getString(this, M()), aU) | |
325 | 325 | let bE = toString(bB.caller) | |
326 | - | let ag = if (if ((bE == aU)) | |
327 | - | then true | |
328 | - | else (bE == bH)) | |
329 | - | then toString(bB.originCaller) | |
330 | - | else bE | |
331 | - | let bt = af(ag, ah) | |
332 | - | let aW = ai(ah) | |
333 | - | let aP = an(bt) | |
334 | - | let aX = an(aW) | |
335 | - | let bI = bp(ah, ag, aU, -(aH)) | |
336 | - | let by = bI._1 | |
337 | - | let bG = bI._2 | |
338 | - | let bo = bI._3 | |
339 | - | if ((aH > aP)) | |
340 | - | then throw("passed amount is less then available") | |
341 | - | else ([IntegerEntry(bt, (aP - aH)), IntegerEntry(aW, (aX - aH)), ScriptTransfer(bB.caller, aH, ap), aI("unstake", ag, ah, aH, bB.transactionId)] ++ bG) | |
326 | + | if (true) | |
327 | + | then throw(("poolAddon = " + bH)) | |
328 | + | else { | |
329 | + | let ag = if (if ((bE == aU)) | |
330 | + | then true | |
331 | + | else (bE == bH)) | |
332 | + | then toString(bB.originCaller) | |
333 | + | else bE | |
334 | + | let bt = af(ag, ah) | |
335 | + | let aW = ai(ah) | |
336 | + | let aP = an(bt) | |
337 | + | let aX = an(aW) | |
338 | + | let bI = bp(ah, ag, aU, -(aH)) | |
339 | + | let by = bI._1 | |
340 | + | let bG = bI._2 | |
341 | + | let bo = bI._3 | |
342 | + | if ((aH > aP)) | |
343 | + | then throw("passed amount is less then available") | |
344 | + | else ([IntegerEntry(bt, (aP - aH)), IntegerEntry(aW, (aX - aH)), ScriptTransfer(bB.caller, aH, ap), aI("unstake", ag, ah, aH, bB.transactionId)] ++ bG) | |
345 | + | } | |
342 | 346 | } | |
343 | 347 | ||
344 | 348 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = 8 | |
5 | 5 | ||
6 | 6 | let b = 100000000 | |
7 | 7 | ||
8 | 8 | let c = 18 | |
9 | 9 | ||
10 | 10 | let d = toBigInt(1000000000000000000) | |
11 | 11 | ||
12 | 12 | let e = "__" | |
13 | 13 | ||
14 | 14 | let f = b | |
15 | 15 | ||
16 | 16 | func g (h) = { | |
17 | 17 | let i = h | |
18 | 18 | if ($isInstanceOf(i, "List[Any]")) | |
19 | 19 | then { | |
20 | 20 | let j = i | |
21 | 21 | j | |
22 | 22 | } | |
23 | 23 | else throw("fail to cast into List[Any]") | |
24 | 24 | } | |
25 | 25 | ||
26 | 26 | ||
27 | 27 | func k (h) = { | |
28 | 28 | let i = h | |
29 | 29 | if ($isInstanceOf(i, "Int")) | |
30 | 30 | then { | |
31 | 31 | let l = i | |
32 | 32 | l | |
33 | 33 | } | |
34 | 34 | else throw("fail to cast into Int") | |
35 | 35 | } | |
36 | 36 | ||
37 | 37 | ||
38 | 38 | func m (h) = { | |
39 | 39 | let i = h | |
40 | 40 | if ($isInstanceOf(i, "String")) | |
41 | 41 | then { | |
42 | 42 | let n = i | |
43 | 43 | n | |
44 | 44 | } | |
45 | 45 | else throw("fail to cast into Int") | |
46 | 46 | } | |
47 | 47 | ||
48 | 48 | ||
49 | 49 | func o (h) = { | |
50 | 50 | let i = h | |
51 | 51 | if ($isInstanceOf(i, "ByteVector")) | |
52 | 52 | then { | |
53 | 53 | let p = i | |
54 | 54 | p | |
55 | 55 | } | |
56 | 56 | else throw("fail to cast into Int") | |
57 | 57 | } | |
58 | 58 | ||
59 | 59 | ||
60 | 60 | func q (r) = valueOrErrorMessage(getString(r), (("mandatory this." + r) + " is not defined")) | |
61 | 61 | ||
62 | 62 | ||
63 | 63 | func s (t,r) = valueOrErrorMessage(getString(t, r), (((("mandatory " + toString(t)) + ".") + r) + " is not defined")) | |
64 | 64 | ||
65 | 65 | ||
66 | 66 | func u (t,r) = valueOrElse(getInteger(t, r), 0) | |
67 | 67 | ||
68 | 68 | ||
69 | 69 | func v (t,r,w) = valueOrElse(getInteger(t, r), w) | |
70 | 70 | ||
71 | 71 | ||
72 | 72 | func x (t,r) = valueOrErrorMessage(getInteger(t, r), (("mandatory this." + r) + " is not defined")) | |
73 | 73 | ||
74 | 74 | ||
75 | 75 | func y (z,A) = fraction(toBigInt(z), d, toBigInt(A)) | |
76 | 76 | ||
77 | 77 | ||
78 | 78 | func B (h,C) = toInt(fraction(h, toBigInt(C), d)) | |
79 | 79 | ||
80 | 80 | ||
81 | 81 | func D () = "%s%s__config__factoryAddress" | |
82 | 82 | ||
83 | 83 | ||
84 | 84 | let E = 1 | |
85 | 85 | ||
86 | 86 | let F = 2 | |
87 | 87 | ||
88 | 88 | let G = 3 | |
89 | 89 | ||
90 | 90 | let H = 4 | |
91 | 91 | ||
92 | 92 | let I = 5 | |
93 | 93 | ||
94 | 94 | let J = 6 | |
95 | 95 | ||
96 | 96 | let K = 7 | |
97 | 97 | ||
98 | 98 | func L () = "%s__factoryConfig" | |
99 | 99 | ||
100 | 100 | ||
101 | 101 | func M () = "%s__stablePoolAddonAddr" | |
102 | 102 | ||
103 | 103 | ||
104 | 104 | func N (O) = makeString(["%s%s%s", O, "mappings__lpAsset2PoolContract"], e) | |
105 | 105 | ||
106 | 106 | ||
107 | 107 | func P () = "%s__lpTokensList" | |
108 | 108 | ||
109 | 109 | ||
110 | 110 | func Q (O) = makeString(["%s%s%s", O, "mappings__lpAsset2PoolContract"], e) | |
111 | 111 | ||
112 | 112 | ||
113 | 113 | func R (S) = makeString(["%s%s", "poolWeight", S], e) | |
114 | 114 | ||
115 | 115 | ||
116 | 116 | func T (U) = split(valueOrElse(getString(U, P()), ""), e) | |
117 | 117 | ||
118 | 118 | ||
119 | 119 | func V (U) = split(s(U, L()), e) | |
120 | 120 | ||
121 | 121 | ||
122 | 122 | func W (X) = addressFromStringValue(X[F]) | |
123 | 123 | ||
124 | 124 | ||
125 | 125 | func Y (X) = addressFromStringValue(X[I]) | |
126 | 126 | ||
127 | 127 | ||
128 | 128 | func Z (X) = addressFromStringValue(X[E]) | |
129 | 129 | ||
130 | 130 | ||
131 | 131 | func aa () = "%s%s__ratePerBlock__current" | |
132 | 132 | ||
133 | 133 | ||
134 | 134 | func ab () = "%s%s__ratePerBlockMax__current" | |
135 | 135 | ||
136 | 136 | ||
137 | 137 | func ac () = "%s%s__emission__startBlock" | |
138 | 138 | ||
139 | 139 | ||
140 | 140 | func ad () = "%s%s__emission__duration" | |
141 | 141 | ||
142 | 142 | ||
143 | 143 | func ae () = "%s%s__emission__endBlock" | |
144 | 144 | ||
145 | 145 | ||
146 | 146 | func af (ag,ah) = makeString(["%s%s%s__staked", ag, ah], e) | |
147 | 147 | ||
148 | 148 | ||
149 | 149 | func ai (ah) = ("%s%s%s__staked__total__" + ah) | |
150 | 150 | ||
151 | 151 | ||
152 | 152 | func aj (ah,ag) = makeString(["%s%s%s__claimed", ag, ah], e) | |
153 | 153 | ||
154 | 154 | ||
155 | 155 | func ak (ah,ag) = makeString(["%s%s%s__claimedMinReward", ag, ah], e) | |
156 | 156 | ||
157 | 157 | ||
158 | 158 | func al (ah,ag) = makeString(["%s%s%s__claimedBoostReward", ag, ah], e) | |
159 | 159 | ||
160 | 160 | ||
161 | 161 | func am (ah) = makeString(["%s%s%s__claimed", "total", ah], e) | |
162 | 162 | ||
163 | 163 | ||
164 | 164 | func an (r) = valueOrElse(getInteger(this, r), 0) | |
165 | 165 | ||
166 | 166 | ||
167 | 167 | func ao (ap) = makeString(["%s%s%s", ap, "total", "bal"], e) | |
168 | 168 | ||
169 | 169 | ||
170 | 170 | func aq (ap,ar) = makeString(["%s%s%s", ap, ar, "bal"], e) | |
171 | 171 | ||
172 | 172 | ||
173 | 173 | func as (ap) = makeString(["%s%s%s", ap, "total", "balINT"], e) | |
174 | 174 | ||
175 | 175 | ||
176 | 176 | func at (ap,ar) = makeString(["%s%s%s", ap, ar, "balINT"], e) | |
177 | 177 | ||
178 | 178 | ||
179 | 179 | func au (ap) = makeString(["%s%s%s", ap, "total", "lastUpd"], e) | |
180 | 180 | ||
181 | 181 | ||
182 | 182 | func av (ap,ar) = makeString(["%s%s%s", ap, ar, "lastUpd"], e) | |
183 | 183 | ||
184 | 184 | ||
185 | 185 | func aw (ap) = makeString(["%s%s%s%s", ap, "common", "lpInt"], e) | |
186 | 186 | ||
187 | 187 | ||
188 | 188 | func ax (ap) = makeString(["%s%s%s%s", ap, "common", "lpIntH"], e) | |
189 | 189 | ||
190 | 190 | ||
191 | 191 | func ay (ap,ar) = makeString(["%s%s%s%s", ap, ar, "lpInt"], e) | |
192 | 192 | ||
193 | 193 | ||
194 | 194 | func az (ap,ar) = makeString(["%s%s%s%s", ap, ar, "lpIntH"], e) | |
195 | 195 | ||
196 | 196 | ||
197 | 197 | func aA (ap) = makeString(["%s", ap, "wxPerLp"], e) | |
198 | 198 | ||
199 | 199 | ||
200 | 200 | func aB (ap) = makeString(["%s", ap, "wxPerLpX18"], e) | |
201 | 201 | ||
202 | 202 | ||
203 | 203 | func aC (ap,ar) = makeString(["%s%s%s%s", ap, ar, "uIntL"], e) | |
204 | 204 | ||
205 | 205 | ||
206 | 206 | func aD (aE,ar,aF) = makeString(["%s%s%s%s__history", aE, ar, aF], e) | |
207 | 207 | ||
208 | 208 | ||
209 | 209 | func aG (ar,ap,aE,aH) = makeString(["%s%s%s%d%d%d", ar, ap, aE, toString(height), toString(lastBlock.timestamp), toString(aH)], e) | |
210 | 210 | ||
211 | 211 | ||
212 | 212 | func aI (aE,ar,ap,aH,aJ) = StringEntry(aD(aE, ar, toBase58String(aJ)), aG(ar, ap, aE, aH)) | |
213 | 213 | ||
214 | 214 | ||
215 | 215 | let aK = q(D()) | |
216 | 216 | ||
217 | 217 | let aL = addressFromStringValue(aK) | |
218 | 218 | ||
219 | 219 | let X = V(aL) | |
220 | 220 | ||
221 | 221 | let aM = Y(X) | |
222 | 222 | ||
223 | 223 | let aN = W(X) | |
224 | 224 | ||
225 | 225 | func aO (aP,aQ,aR,aS) = if (if ((aQ == 0)) | |
226 | 226 | then (aP > 0) | |
227 | 227 | else false) | |
228 | 228 | then 0 | |
229 | 229 | else if ((aP == 0)) | |
230 | 230 | then aR | |
231 | 231 | else if (if ((aQ > 0)) | |
232 | 232 | then (aP > 0) | |
233 | 233 | else false) | |
234 | 234 | then x(this, aS) | |
235 | 235 | else throw("calcWxPerLpIntegralUserLast: unexpected state") | |
236 | 236 | ||
237 | 237 | ||
238 | 238 | func aT (ah,aU,aV) = { | |
239 | 239 | let aW = ai(ah) | |
240 | 240 | let aX = an(aW) | |
241 | 241 | let aY = getIntegerValue(aL, R(aU)) | |
242 | 242 | let aZ = x(aM, ac()) | |
243 | 243 | let ba = 1000 | |
244 | 244 | let bb = (x(aM, aa()) * ba) | |
245 | 245 | let bc = fraction(bb, aY, (f * 3)) | |
246 | 246 | let bd = aw(ah) | |
247 | 247 | let be = ax(ah) | |
248 | 248 | let bf = aA(ah) | |
249 | 249 | let bg = v(this, be, aZ) | |
250 | 250 | let bh = u(this, bd) | |
251 | 251 | let bi = 0 | |
252 | 252 | let bj = max([(height - bg), 0]) | |
253 | 253 | let bk = if ((bi != 0)) | |
254 | 254 | then bi | |
255 | 255 | else fraction(bc, b, aX) | |
256 | 256 | let bl = (aX + aV) | |
257 | 257 | let aR = (bh + (bk * bj)) | |
258 | 258 | let bm = (bc / bl) | |
259 | 259 | let bn = height | |
260 | 260 | let bo = makeString([toString(aR), toString(bj), toString(bk), toString(aX), toString(bc), toString(bb), toString(aY)], "::") | |
261 | 261 | $Tuple3(aR, [IntegerEntry(bd, aR), IntegerEntry(be, bn), IntegerEntry(bf, bm)], bo) | |
262 | 262 | } | |
263 | 263 | ||
264 | 264 | ||
265 | 265 | func bp (ah,ag,aU,aV) = { | |
266 | 266 | let bq = aT(ah, aU, aV) | |
267 | 267 | let aR = bq._1 | |
268 | 268 | let br = bq._2 | |
269 | 269 | let bs = bq._3 | |
270 | 270 | let ba = 1000 | |
271 | 271 | let bt = af(ag, ah) | |
272 | 272 | let aP = an(bt) | |
273 | 273 | let bu = ay(ah, ag) | |
274 | 274 | let bv = az(ah, ag) | |
275 | 275 | let aS = aC(ah, ag) | |
276 | 276 | let bw = u(this, bu) | |
277 | 277 | let aQ = u(this, bv) | |
278 | 278 | let bx = aO(aP, aQ, aR, aS) | |
279 | 279 | let by = (bw + fraction((aR - bx), aP, (b * ba))) | |
280 | 280 | let bz = aR | |
281 | 281 | let bA = height | |
282 | 282 | let bo = makeString([toString(by), toString(bx), toString(aP), bs, toString(height)], "::") | |
283 | 283 | $Tuple3(by, (br ++ [IntegerEntry(bu, by), IntegerEntry(bv, bA), IntegerEntry(aS, bz)]), bo) | |
284 | 284 | } | |
285 | 285 | ||
286 | 286 | ||
287 | 287 | @Callable(bB) | |
288 | 288 | func constructor (bC) = if ((bB.caller != this)) | |
289 | 289 | then throw("not authorized") | |
290 | 290 | else [StringEntry(D(), bC)] | |
291 | 291 | ||
292 | 292 | ||
293 | 293 | ||
294 | 294 | @Callable(bB) | |
295 | 295 | func stake () = if ((size(bB.payments) != 1)) | |
296 | 296 | then throw("invalid payment - exact one payment must be attached") | |
297 | 297 | else { | |
298 | 298 | let bD = bB.payments[0] | |
299 | 299 | let ap = value(bD.assetId) | |
300 | 300 | let ah = toBase58String(ap) | |
301 | 301 | let aH = bD.amount | |
302 | 302 | let aU = valueOrErrorMessage(getString(aL, N(ah)), ("unsupported lp asset " + ah)) | |
303 | 303 | let bE = toString(bB.caller) | |
304 | 304 | let ag = if ((bE == aU)) | |
305 | 305 | then toString(bB.originCaller) | |
306 | 306 | else bE | |
307 | 307 | let bt = af(ag, ah) | |
308 | 308 | let aW = ai(ah) | |
309 | 309 | let aP = an(bt) | |
310 | 310 | let aX = an(aW) | |
311 | 311 | let bF = bp(ah, ag, aU, aH) | |
312 | 312 | let by = bF._1 | |
313 | 313 | let bG = bF._2 | |
314 | 314 | let bo = bF._3 | |
315 | 315 | ([IntegerEntry(bt, (aP + aH)), IntegerEntry(aW, (aX + aH)), aI("stake", ag, ah, aH, bB.transactionId)] ++ bG) | |
316 | 316 | } | |
317 | 317 | ||
318 | 318 | ||
319 | 319 | ||
320 | 320 | @Callable(bB) | |
321 | 321 | func unstake (ah,aH) = { | |
322 | 322 | let ap = fromBase58String(ah) | |
323 | 323 | let aU = valueOrErrorMessage(getString(aL, N(ah)), ("unsupported lp asset " + ah)) | |
324 | 324 | let bH = valueOrElse(getString(this, M()), aU) | |
325 | 325 | let bE = toString(bB.caller) | |
326 | - | let ag = if (if ((bE == aU)) | |
327 | - | then true | |
328 | - | else (bE == bH)) | |
329 | - | then toString(bB.originCaller) | |
330 | - | else bE | |
331 | - | let bt = af(ag, ah) | |
332 | - | let aW = ai(ah) | |
333 | - | let aP = an(bt) | |
334 | - | let aX = an(aW) | |
335 | - | let bI = bp(ah, ag, aU, -(aH)) | |
336 | - | let by = bI._1 | |
337 | - | let bG = bI._2 | |
338 | - | let bo = bI._3 | |
339 | - | if ((aH > aP)) | |
340 | - | then throw("passed amount is less then available") | |
341 | - | else ([IntegerEntry(bt, (aP - aH)), IntegerEntry(aW, (aX - aH)), ScriptTransfer(bB.caller, aH, ap), aI("unstake", ag, ah, aH, bB.transactionId)] ++ bG) | |
326 | + | if (true) | |
327 | + | then throw(("poolAddon = " + bH)) | |
328 | + | else { | |
329 | + | let ag = if (if ((bE == aU)) | |
330 | + | then true | |
331 | + | else (bE == bH)) | |
332 | + | then toString(bB.originCaller) | |
333 | + | else bE | |
334 | + | let bt = af(ag, ah) | |
335 | + | let aW = ai(ah) | |
336 | + | let aP = an(bt) | |
337 | + | let aX = an(aW) | |
338 | + | let bI = bp(ah, ag, aU, -(aH)) | |
339 | + | let by = bI._1 | |
340 | + | let bG = bI._2 | |
341 | + | let bo = bI._3 | |
342 | + | if ((aH > aP)) | |
343 | + | then throw("passed amount is less then available") | |
344 | + | else ([IntegerEntry(bt, (aP - aH)), IntegerEntry(aW, (aX - aH)), ScriptTransfer(bB.caller, aH, ap), aI("unstake", ag, ah, aH, bB.transactionId)] ++ bG) | |
345 | + | } | |
342 | 346 | } | |
343 | 347 | ||
344 | 348 | ||
345 | 349 | ||
346 | 350 | @Callable(bB) | |
347 | 351 | func claimWx (ah) = { | |
348 | 352 | let ar = bB.caller | |
349 | 353 | let ag = toString(bB.caller) | |
350 | 354 | let aU = s(aL, Q(ah)) | |
351 | 355 | let bJ = aj(ah, ag) | |
352 | 356 | let bK = am(ah) | |
353 | 357 | let bL = ak(ah, ag) | |
354 | 358 | let bM = al(ah, ag) | |
355 | 359 | let bN = u(this, bJ) | |
356 | 360 | let bO = u(this, bL) | |
357 | 361 | let bP = u(this, bM) | |
358 | 362 | let bQ = u(this, bK) | |
359 | 363 | let bR = bp(ah, ag, aU, 0) | |
360 | 364 | let by = bR._1 | |
361 | 365 | let bG = bR._2 | |
362 | 366 | let bo = bR._3 | |
363 | 367 | let bS = (by - bN) | |
364 | 368 | if ((0 >= bS)) | |
365 | 369 | then throw("nothing to claim") | |
366 | 370 | else { | |
367 | 371 | let bT = k(g(invoke(aN, "claimWxBoost", [ah, ag], nil))[0]) | |
368 | 372 | let bU = bS | |
369 | 373 | let bV = min([(bU * 2), bT]) | |
370 | 374 | let bW = o(g(invoke(aM, "emit", [bU], nil))[0]) | |
371 | 375 | let bX = g(invoke(aM, "emit", [bV], nil)) | |
372 | 376 | if ((bX == bX)) | |
373 | 377 | then [IntegerEntry(bJ, (bN + bS)), IntegerEntry(bL, (bO + bU)), IntegerEntry(bM, (bP + bV)), IntegerEntry(bK, (bQ + bS)), ScriptTransfer(ar, bU, bW), ScriptTransfer(ar, bV, bW), aI("claim", ag, ah, bS, bB.transactionId)] | |
374 | 378 | else throw("Strict value is not equal to itself.") | |
375 | 379 | } | |
376 | 380 | } | |
377 | 381 | ||
378 | 382 | ||
379 | 383 | ||
380 | 384 | @Callable(bB) | |
381 | 385 | func claimWxREADONLY (ah,ag) = { | |
382 | 386 | let bt = af(ag, ah) | |
383 | 387 | let aW = ai(ah) | |
384 | 388 | let bJ = aj(ah, ag) | |
385 | 389 | let aP = an(bt) | |
386 | 390 | let aX = an(aW) | |
387 | 391 | let bN = u(this, bJ) | |
388 | 392 | let aU = s(aL, Q(ah)) | |
389 | 393 | let aY = getIntegerValue(aL, R(aU)) | |
390 | 394 | let bY = x(aM, aa()) | |
391 | 395 | let aZ = x(aM, ac()) | |
392 | 396 | let bZ = if ((aZ > height)) | |
393 | 397 | then 0 | |
394 | 398 | else (height - aZ) | |
395 | 399 | let ca = fraction((bY * bZ), aY, f) | |
396 | 400 | let cb = fraction(ca, aP, aX) | |
397 | 401 | let cc = bp(ah, ag, aU, 0) | |
398 | 402 | let by = cc._1 | |
399 | 403 | let bG = cc._2 | |
400 | 404 | let bo = cc._3 | |
401 | 405 | let bS = (by - bN) | |
402 | 406 | let cd = g(invoke(aN, "claimWxBoostREADONLY", [ah, ag], nil)) | |
403 | 407 | let bT = k(cd[0]) | |
404 | 408 | let ce = m(cd[1]) | |
405 | 409 | let bU = bS | |
406 | 410 | let bV = min([(bU * 2), bT]) | |
407 | 411 | let cf = (bU + bV) | |
408 | 412 | $Tuple2(nil, makeString(["%s%s%d%d%d%d%s", ah, ag, toString(cf), toString(bN), toString(bU), toString(bV), ((((bo + "::") + toString(cb)) + "::BOOSTDEBUG::") + ce)], e)) | |
409 | 413 | } | |
410 | 414 | ||
411 | 415 | ||
412 | 416 | ||
413 | 417 | @Callable(bB) | |
414 | 418 | func onModifyWeight (ah,aU) = if ((bB.caller != aL)) | |
415 | 419 | then throw("permissions denied") | |
416 | 420 | else { | |
417 | 421 | let cg = aT(ah, aU, 0) | |
418 | 422 | let aR = cg._1 | |
419 | 423 | let br = cg._2 | |
420 | 424 | let bs = cg._3 | |
421 | 425 | br | |
422 | 426 | } | |
423 | 427 | ||
424 | 428 |
github/deemru/w8io/169f3d6 46.88 ms ◑![]()