tx · wGBwx2dPek6HaZ8N8GVpwAgs34e4tqsqkveq9heqdXu

3NAefciWv6f9fWvEXdGgpHfanJFG8HqfjuT:  -0.01400000 Waves

2021.12.19 22:56 [1841593] smart account 3NAefciWv6f9fWvEXdGgpHfanJFG8HqfjuT > SELF 0.00000000 Waves

{ "type": 13, "id": "wGBwx2dPek6HaZ8N8GVpwAgs34e4tqsqkveq9heqdXu", "fee": 1400000, "feeAssetId": null, "timestamp": 1639943816553, "version": 1, "sender": "3NAefciWv6f9fWvEXdGgpHfanJFG8HqfjuT", "senderPublicKey": "D1BL65meykxFZTCuq7jq9HSGLLnWvQamQPUNrguW5w39", "proofs": [ "3CDPWj4Td83TMRAShxKjsSds3rbaKAzAuh9r2FsMxq2zyMNA75m8Q4M6wKNRM9CosFR3TWpdnF9CvgEpQJtdXtpe" ], "script": "base64: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c3MCAAAAAl9fBQAAAAR0eElkAQAAAAtrZXlBbXRBc3NldAAAAAACAAAADyVzX19hbW91bnRBc3NldAEAAAANa2V5UHJpY2VBc3NldAAAAAACAAAADiVzX19wcmljZUFzc2V0AQAAAAxrZXlLSGlzdG9yaWMAAAACAAAAAWgAAAAJdGltZXN0YW1wCQAEuQAAAAIJAARMAAAAAgIAAAATJXMlcyVkJWRfX0tfaGlzdG9yeQkABEwAAAACCQABpAAAAAEFAAAAAWgJAARMAAAAAgkAAaQAAAABBQAAAAl0aW1lc3RhbXAFAAAAA25pbAUAAAADU0VQAQAAABBrZXlGYWN0b3J5Q29uZmlnAAAAAAIAAAARJXNfX2ZhY3RvcnlDb25maWcBAAAADWtleU1hdGNoZXJQdWIAAAAAAgAAABglcyVzX19tYXRjaGVyX19wdWJsaWNLZXkBAAAAKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzAAAAAQAAABNwb29sQ29udHJhY3RBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAAIJXMlcyVzX18FAAAAE3Bvb2xDb250cmFjdEFkZHJlc3MCAAAAIF9fbWFwcGluZ3NfX3Bvb2xDb250cmFjdDJMcEFzc2V0AQAAAA1rZXlQb29sQ29uZmlnAAAAAgAAAAlpQW10QXNzZXQAAAALaVByaWNlQXNzZXQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIJWQlZCVzX18FAAAACWlBbXRBc3NldAIAAAACX18FAAAAC2lQcmljZUFzc2V0AgAAAAhfX2NvbmZpZwEAAAAfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZAAAAAEAAAAMYmFzZUFzc2V0U3RyCQABLAAAAAICAAAAKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAAAADGJhc2VBc3NldFN0cgEAAAATa2V5QWxsUG9vbHNTaHV0ZG93bgAAAAACAAAADCVzX19zaHV0ZG93bgEAAAANa2V5UG9vbFdlaWdodAAAAAEAAAAPY29udHJhY3RBZGRyZXNzCQABLAAAAAICAAAAEiVzJXNfX3Bvb2xXZWlnaHRfXwUAAAAPY29udHJhY3RBZGRyZXNzAQAAAA90aHJvd09yZGVyRXJyb3IAAAADAAAACm9yZGVyVmFsaWQAAAALc2VuZGVyVmFsaWQAAAAMbWF0Y2hlclZhbGlkCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACRvcmRlciB2YWxpZGF0aW9uIGZhaWxlZDogb3JkZXJWYWxpZD0JAAGlAAAAAQUAAAAKb3JkZXJWYWxpZAIAAAANIHNlbmRlclZhbGlkPQkAAaUAAAABBQAAAAtzZW5kZXJWYWxpZAIAAAAOIG1hdGNoZXJWYWxpZD0JAAGlAAAAAQUAAAAMbWF0Y2hlclZhbGlkAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5CQAEuQAAAAIJAARMAAAAAgIAAAAKbWFuZGF0b3J5IAkABEwAAAACCQAEJQAAAAEFAAAAB2FkZHJlc3MJAARMAAAAAgIAAAABLgkABEwAAAACBQAAAANrZXkJAARMAAAAAgIAAAAPIGlzIG5vdCBkZWZpbmVkBQAAAANuaWwCAAAAAAEAAAAMZ2V0SW50T3JGYWlsAAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQkABLkAAAACCQAETAAAAAICAAAACm1hbmRhdG9yeSAJAARMAAAAAgkABCUAAAABBQAAAAdhZGRyZXNzCQAETAAAAAICAAAAAS4JAARMAAAAAgUAAAADa2V5CQAETAAAAAICAAAADyBpcyBub3QgZGVmaW5lZAUAAAADbmlsAgAAAAAAAAAAD2ZhY3RvcnlDb250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAABHRoaXMJAQAAABJrZXlGYWN0b3J5Q29udHJhY3QAAAAAAQAAABBpc0dsb2JhbFNodXRkb3duAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAABNrZXlBbGxQb29sc1NodXRkb3duAAAAAAcBAAAAE2dldE1hdGNoZXJQdWJPckZhaWwAAAAACQACWQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAA1rZXlNYXRjaGVyUHViAAAAAAEAAAANZ2V0UG9vbENvbmZpZwAAAAAEAAAACGFtdEFzc2V0CQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAEdGhpcwkBAAAAC2tleUFtdEFzc2V0AAAAAAQAAAAKcHJpY2VBc3NldAkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAABHRoaXMJAQAAAA1rZXlQcmljZUFzc2V0AAAAAAQAAAALaVByaWNlQXNzZXQJAQAAAAxnZXRJbnRPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQUAAAAKcHJpY2VBc3NldAQAAAAJaUFtdEFzc2V0CQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZAAAAAEFAAAACGFtdEFzc2V0CQAEtQAAAAIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAAAlpQW10QXNzZXQJAAGkAAAAAQUAAAALaVByaWNlQXNzZXQFAAAAA1NFUAEAAAAQZ2V0RmFjdG9yeUNvbmZpZwAAAAAJAAS1AAAAAgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAAD2ZhY3RvcnlDb250cmFjdAkBAAAAEGtleUZhY3RvcnlDb25maWcAAAAABQAAAANTRVABAAAAEWRhdGFQdXRBY3Rpb25JbmZvAAAACgAAAA1pbkFtdEFzc2V0QW10AAAAD2luUHJpY2VBc3NldEFtdAAAAAhvdXRMcEFtdAAAAAVwcmljZQAAAB1zbGlwcGFnZVRvbGVyYW5jZVBhc3NlZEJ5VXNlcgAAABVzbGlwcGFnZVRvbGVyYW5jZVJlYWwAAAAIdHhIZWlnaHQAAAALdHhUaW1lc3RhbXAAAAASc2xpcGFnZUFtdEFzc2V0QW10AAAAFHNsaXBhZ2VQcmljZUFzc2V0QW10CQAEuQAAAAIJAARMAAAAAgIAAAAUJWQlZCVkJWQlZCVkJWQlZCVkJWQJAARMAAAAAgkAAaQAAAABBQAAAA1pbkFtdEFzc2V0QW10CQAETAAAAAIJAAGkAAAAAQUAAAAPaW5QcmljZUFzc2V0QW10CQAETAAAAAIJAAGkAAAAAQUAAAAIb3V0THBBbXQJAARMAAAAAgkAAaQAAAABBQAAAAVwcmljZQkABEwAAAACCQABpAAAAAEFAAAAHXNsaXBwYWdlVG9sZXJhbmNlUGFzc2VkQnlVc2VyCQAETAAAAAIJAAGkAAAAAQUAAAAVc2xpcHBhZ2VUb2xlcmFuY2VSZWFsCQAETAAAAAIJAAGkAAAAAQUAAAAIdHhIZWlnaHQJAARMAAAAAgkAAaQAAAABBQAAAAt0eFRpbWVzdGFtcAkABEwAAAACCQABpAAAAAEFAAAAEnNsaXBhZ2VBbXRBc3NldEFtdAkABEwAAAACCQABpAAAAAEFAAAAFHNsaXBhZ2VQcmljZUFzc2V0QW10BQAAAANuaWwFAAAAA1NFUAEAAAARZGF0YUdldEFjdGlvbkluZm8AAAAGAAAADm91dEFtdEFzc2V0QW10AAAAEG91dFByaWNlQXNzZXRBbXQAAAAHaW5McEFtdAAAAAVwcmljZQAAAAh0eEhlaWdodAAAAAt0eFRpbWVzdGFtcAkABLkAAAACCQAETAAAAAICAAAADCVkJWQlZCVkJWQlZAkABEwAAAACCQABpAAAAAEFAAAADm91dEFtdEFzc2V0QW10CQAETAAAAAIJAAGkAAAAAQUAAAAQb3V0UHJpY2VBc3NldEFtdAkABEwAAAACCQABpAAAAAEFAAAAB2luTHBBbXQJAARMAAAAAgkAAaQAAAABBQAAAAVwcmljZQkABEwAAAACCQABpAAAAAEFAAAACHR4SGVpZ2h0CQAETAAAAAIJAAGkAAAAAQUAAAALdHhUaW1lc3RhbXAFAAAAA25pbAUAAAADU0VQAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQAAAAdhc3NldElkAwkAAAAAAAACBQAAAAdhc3NldElkAgAAAAVXQVZFUwgJAAPvAAAAAQUAAAAEdGhpcwAAAAlhdmFpbGFibGUJAAPwAAAAAgUAAAAEdGhpcwkAAlkAAAABBQAAAAdhc3NldElkAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACAAAACHByQW10WDE4AAAACGFtQW10WDE4CQABPAAAAAMFAAAACHByQW10WDE4BQAAAAdzY2FsZTE4BQAAAAhhbUFtdFgxOAEAAAAQcHJpdmF0ZUNhbGNQcmljZQAAAAQAAAAKYW1Bc3NldERjbQAAAApwckFzc2V0RGNtAAAABWFtQW10AAAABXByQW10BAAAAA5hbXRBc3NldEFtdFgxOAkBAAAABXRvWDE4AAAAAgUAAAAFYW1BbXQFAAAACmFtQXNzZXREY20EAAAAEHByaWNlQXNzZXRBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAABXByQW10BQAAAApwckFzc2V0RGNtCQEAAAAPY2FsY1ByaWNlQmlnSW50AAAAAgUAAAAQcHJpY2VBc3NldEFtdFgxOAUAAAAOYW10QXNzZXRBbXRYMTgBAAAACmNhbGNQcmljZXMAAAADAAAABWFtQW10AAAABXByQW10AAAABWxwQW10BAAAAANjZmcJAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAALYW10QXNzZXREY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAADmlkeEFtdEFzc2V0RGNtBAAAAA1wcmljZUFzc2V0RGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAABBpZHhQcmljZUFzc2V0RGNtBAAAAAhwcmljZVgxOAkBAAAAEHByaXZhdGVDYWxjUHJpY2UAAAAEBQAAAAthbXRBc3NldERjbQUAAAANcHJpY2VBc3NldERjbQUAAAAFYW1BbXQFAAAABXByQW10BAAAAAhhbUFtdFgxOAkBAAAABXRvWDE4AAAAAgUAAAAFYW1BbXQFAAAAC2FtdEFzc2V0RGNtBAAAAAhwckFtdFgxOAkBAAAABXRvWDE4AAAAAgUAAAAFcHJBbXQFAAAADXByaWNlQXNzZXREY20EAAAACGxwQW10WDE4CQEAAAAFdG9YMTgAAAACBQAAAAVscEFtdAUAAAAGc2NhbGU4BAAAABNscFByaWNlSW5BbUFzc2V0WDE4CQEAAAAPY2FsY1ByaWNlQmlnSW50AAAAAgUAAAAIYW1BbXRYMTgFAAAACGxwQW10WDE4BAAAABNscFByaWNlSW5QckFzc2V0WDE4CQEAAAAPY2FsY1ByaWNlQmlnSW50AAAAAgUAAAAIcHJBbXRYMTgFAAAACGxwQW10WDE4CQAETAAAAAIFAAAACHByaWNlWDE4CQAETAAAAAIFAAAAE2xwUHJpY2VJbkFtQXNzZXRYMTgJAARMAAAAAgUAAAATbHBQcmljZUluUHJBc3NldFgxOAUAAAADbmlsAQAAAA9jYWxjdWxhdGVQcmljZXMAAAADAAAABWFtQW10AAAABXByQW10AAAABWxwQW10BAAAAAZwcmljZXMJAQAAAApjYWxjUHJpY2VzAAAAAwUAAAAFYW1BbXQFAAAABXByQW10BQAAAAVscEFtdAkABEwAAAACCQEAAAAHZnJvbVgxOAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAAABQAAAAZzY2FsZTgJAARMAAAAAgkBAAAAB2Zyb21YMTgAAAACCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAQUAAAAGc2NhbGU4CQAETAAAAAIJAQAAAAdmcm9tWDE4AAAAAgkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAIFAAAABnNjYWxlOAUAAAADbmlsAQAAABRlc3RpbWF0ZUdldE9wZXJhdGlvbgAAAAQAAAAGdHhJZDU4AAAACnBtdEFzc2V0SWQAAAAIcG10THBBbXQAAAALdXNlckFkZHJlc3MEAAAAA2NmZwkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAAlscEFzc2V0SWQJAAGRAAAAAgUAAAADY2ZnBQAAABBpZHhQb29sTFBBc3NldElkBAAAAAlhbUFzc2V0SWQJAAGRAAAAAgUAAAADY2ZnBQAAAA1pZHhBbXRBc3NldElkBAAAAAlwckFzc2V0SWQJAAGRAAAAAgUAAAADY2ZnBQAAAA9pZHhQcmljZUFzc2V0SWQEAAAACmFtQXNzZXREY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAADmlkeEFtdEFzc2V0RGNtBAAAAApwckFzc2V0RGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAABBpZHhQcmljZUFzc2V0RGNtBAAAAApwb29sU3RhdHVzCQABkQAAAAIFAAAAA2NmZwUAAAANaWR4UG9vbFN0YXR1cwQAAAAKbHBFbWlzc2lvbggJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkAA+wAAAABCQACWQAAAAEFAAAACWxwQXNzZXRJZAkAASwAAAACCQABLAAAAAICAAAABkFzc2V0IAUAAAAJbHBBc3NldElkAgAAAA4gZG9lc24ndCBleGlzdAAAAAhxdWFudGl0eQMJAQAAAAIhPQAAAAIFAAAACWxwQXNzZXRJZAUAAAAKcG10QXNzZXRJZAkAAAIAAAABAgAAABVJbnZhbGlkIGFzc2V0IHBhc3NlZC4EAAAACWFtQmFsYW5jZQkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAlhbUFzc2V0SWQEAAAADGFtQmFsYW5jZVgxOAkBAAAABXRvWDE4AAAAAgUAAAAJYW1CYWxhbmNlBQAAAAphbUFzc2V0RGNtBAAAAAlwckJhbGFuY2UJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAJcHJBc3NldElkBAAAAAxwckJhbGFuY2VYMTgJAQAAAAV0b1gxOAAAAAIFAAAACXByQmFsYW5jZQUAAAAKcHJBc3NldERjbQQAAAALY3VyUHJpY2VYMTgJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAAxwckJhbGFuY2VYMTgFAAAADGFtQmFsYW5jZVgxOAQAAAAIY3VyUHJpY2UJAQAAAAdmcm9tWDE4AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAABnNjYWxlOAQAAAALcG10THBBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAACHBtdExwQW10BQAAAAZzY2FsZTgEAAAADWxwRW1pc3Npb25YMTgJAQAAAAV0b1gxOAAAAAIFAAAACmxwRW1pc3Npb24FAAAABnNjYWxlOAQAAAALb3V0QW1BbXRYMTgJAAE8AAAAAwUAAAAMYW1CYWxhbmNlWDE4BQAAAAtwbXRMcEFtdFgxOAUAAAANbHBFbWlzc2lvblgxOAQAAAALb3V0UHJBbXRYMTgJAAE8AAAAAwUAAAAMcHJCYWxhbmNlWDE4BQAAAAtwbXRMcEFtdFgxOAUAAAANbHBFbWlzc2lvblgxOAQAAAAIb3V0QW1BbXQJAQAAAAdmcm9tWDE4AAAAAgUAAAALb3V0QW1BbXRYMTgFAAAACmFtQXNzZXREY20EAAAACG91dFByQW10CQEAAAAHZnJvbVgxOAAAAAIFAAAAC291dFByQW10WDE4BQAAAApwckFzc2V0RGNtBAAAAAVzdGF0ZQMJAAAAAAAAAgUAAAAGdHhJZDU4AgAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAt1c2VyQWRkcmVzcwUAAAAIb3V0QW1BbXQDCQAAAAAAAAIFAAAACWFtQXNzZXRJZAIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAAJYW1Bc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC3VzZXJBZGRyZXNzBQAAAAhvdXRQckFtdAMJAAAAAAAAAgUAAAAJcHJBc3NldElkAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABBQAAAAlwckFzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmtleUdldEFjdGlvbkJ5VXNlcgAAAAIJAAQlAAAAAQUAAAALdXNlckFkZHJlc3MFAAAABnR4SWQ1OAkBAAAAEWRhdGFHZXRBY3Rpb25JbmZvAAAABgUAAAAIb3V0QW1BbXQFAAAACG91dFByQW10BQAAAAhwbXRMcEFtdAUAAAAIY3VyUHJpY2UFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxrZXlQcmljZUxhc3QAAAAABQAAAAhjdXJQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAD2tleVByaWNlSGlzdG9yeQAAAAIFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAACGN1clByaWNlBQAAAANuaWwJAAUcAAAACgUAAAAIb3V0QW1BbXQFAAAACG91dFByQW10BQAAAAlhbUFzc2V0SWQFAAAACXByQXNzZXRJZAUAAAAJYW1CYWxhbmNlBQAAAAlwckJhbGFuY2UFAAAACmxwRW1pc3Npb24FAAAAC2N1clByaWNlWDE4BQAAAApwb29sU3RhdHVzBQAAAAVzdGF0ZQEAAAAUZXN0aW1hdGVQdXRPcGVyYXRpb24AAAAKAAAABnR4SWQ1OAAAABFzbGlwcGFnZVRvbGVyYW5jZQAAAAxpbkFtQXNzZXRBbXQAAAALaW5BbUFzc2V0SWQAAAAMaW5QckFzc2V0QW10AAAAC2luUHJBc3NldElkAAAAC3VzZXJBZGRyZXNzAAAACmlzRXZhbHVhdGUAAAAGZW1pdExwAAAACmlzT25lQXNzZXQEAAAAA2NmZwkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAAlscEFzc2V0SWQJAAJZAAAAAQkAAZEAAAACBQAAAANjZmcFAAAAEGlkeFBvb2xMUEFzc2V0SWQEAAAADGFtQXNzZXRJZFN0cgkAAZEAAAACBQAAAANjZmcFAAAADWlkeEFtdEFzc2V0SWQEAAAADHByQXNzZXRJZFN0cgkAAZEAAAACBQAAAANjZmcFAAAAD2lkeFByaWNlQXNzZXRJZAQAAAAOaW5BbUFzc2V0SWRTdHIJAAGRAAAAAgUAAAADY2ZnBQAAAA5pZHhJQW10QXNzZXRJZAQAAAAOaW5QckFzc2V0SWRTdHIJAAGRAAAAAgUAAAADY2ZnBQAAABBpZHhJUHJpY2VBc3NldElkBAAAAAthbXRBc3NldERjbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAOaWR4QW10QXNzZXREY20EAAAADXByaWNlQXNzZXREY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAAEGlkeFByaWNlQXNzZXREY20EAAAACnBvb2xTdGF0dXMJAAGRAAAAAgUAAAADY2ZnBQAAAA1pZHhQb29sU3RhdHVzBAAAAApscEVtaXNzaW9uCAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAD7AAAAAEFAAAACWxwQXNzZXRJZAkAASwAAAACCQABLAAAAAICAAAABkFzc2V0IAkAAlgAAAABBQAAAAlscEFzc2V0SWQCAAAADiBkb2Vzbid0IGV4aXN0AAAACHF1YW50aXR5BAAAAAlhbUJhbGFuY2UDBQAAAAppc0V2YWx1YXRlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAADGFtQXNzZXRJZFN0cgkAAGUAAAACCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAADGFtQXNzZXRJZFN0cgUAAAAMaW5BbUFzc2V0QW10BAAAAAlwckJhbGFuY2UDBQAAAAppc0V2YWx1YXRlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAADHByQXNzZXRJZFN0cgkAAGUAAAACCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAADHByQXNzZXRJZFN0cgUAAAAMaW5QckFzc2V0QW10BAAAAA9pbkFtQXNzZXRBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAADGluQW1Bc3NldEFtdAUAAAALYW10QXNzZXREY20EAAAAD2luUHJBc3NldEFtdFgxOAkBAAAABXRvWDE4AAAAAgUAAAAMaW5QckFzc2V0QW10BQAAAA1wcmljZUFzc2V0RGNtBAAAAAx1c2VyUHJpY2VYMTgJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAA9pblByQXNzZXRBbXRYMTgFAAAAD2luQW1Bc3NldEFtdFgxOAQAAAAMYW1CYWxhbmNlWDE4CQEAAAAFdG9YMTgAAAACBQAAAAlhbUJhbGFuY2UFAAAAC2FtdEFzc2V0RGNtBAAAAAxwckJhbGFuY2VYMTgJAQAAAAV0b1gxOAAAAAIFAAAACXByQmFsYW5jZQUAAAANcHJpY2VBc3NldERjbQQAAAADcmVzAwkAAAAAAAACBQAAAApscEVtaXNzaW9uAAAAAAAAAAAABAAAAAtjdXJQcmljZVgxOAUAAAAKemVyb0JpZ0ludAQAAAALc2xpcHBhZ2VYMTgFAAAACnplcm9CaWdJbnQEAAAACGxwQW10WDE4CQAAdgAAAAYJAAE5AAAAAgUAAAAPaW5BbUFzc2V0QW10WDE4BQAAAA9pblByQXNzZXRBbXRYMTgAAAAAAAAAAAAJAAE2AAAAAQAAAAAAAAAABQAAAAAAAAAAAQAAAAAAAAAAAAUAAAAERE9XTgkABRcAAAAFCQEAAAAHZnJvbVgxOAAAAAIFAAAACGxwQW10WDE4BQAAAAZzY2FsZTgJAQAAAAdmcm9tWDE4AAAAAgUAAAAPaW5BbUFzc2V0QW10WDE4BQAAAAthbXRBc3NldERjbQkBAAAAB2Zyb21YMTgAAAACBQAAAA9pblByQXNzZXRBbXRYMTgFAAAADXByaWNlQXNzZXREY20JAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACCQABNwAAAAIFAAAADHByQmFsYW5jZVgxOAUAAAAPaW5QckFzc2V0QW10WDE4CQABNwAAAAIFAAAADGFtQmFsYW5jZVgxOAUAAAAPaW5BbUFzc2V0QW10WDE4BQAAAAtzbGlwcGFnZVgxOAQAAAAEdFJlcwMFAAAACmlzT25lQXNzZXQEAAAADWxwRW1pc3Npb25YMTgJAQAAAAV0b1gxOAAAAAIFAAAACmxwRW1pc3Npb24FAAAABnNjYWxlOAQAAAALc3VtSW5Bc3NldHMJAAE3AAAAAgUAAAAPaW5BbUFzc2V0QW10WDE4BQAAAA9pblByQXNzZXRBbXRYMTgEAAAAD3N1bVBvb2xCYWxhbmNlcwkAATcAAAACBQAAAAxhbUJhbGFuY2VYMTgFAAAADHByQmFsYW5jZVgxOAQAAAAIbHBBbXRYMTgJAAE8AAAAAwUAAAANbHBFbWlzc2lvblgxOAUAAAALc3VtSW5Bc3NldHMFAAAAD3N1bVBvb2xCYWxhbmNlcwQAAAALY3VyUHJpY2VYMTgJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAAxwckJhbGFuY2VYMTgFAAAADGFtQmFsYW5jZVgxOAkABRcAAAAFCQEAAAAHZnJvbVgxOAAAAAIFAAAACGxwQW10WDE4BQAAAAZzY2FsZTgFAAAADGluQW1Bc3NldEFtdAUAAAAMaW5QckFzc2V0QW10BQAAAAtjdXJQcmljZVgxOAkAATYAAAABAAAAAAAAAAAABAAAAAtjdXJQcmljZVgxOAkBAAAAD2NhbGNQcmljZUJpZ0ludAAAAAIFAAAADHByQmFsYW5jZVgxOAUAAAAMYW1CYWxhbmNlWDE4BAAAAAtzbGlwcGFnZVgxOAkAATwAAAADCQEAAAADYWJzAAAAAQkAATgAAAACBQAAAAtjdXJQcmljZVgxOAUAAAAMdXNlclByaWNlWDE4BQAAAAdzY2FsZTE4BQAAAAtjdXJQcmljZVgxOAQAAAAUc2xpcHBhZ2VUb2xlcmFuY2VYMTgJAQAAAAV0b1gxOAAAAAIFAAAAEXNsaXBwYWdlVG9sZXJhbmNlBQAAAAZzY2FsZTgDAwkBAAAAAiE9AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAACnplcm9CaWdJbnQJAAE/AAAAAgUAAAALc2xpcHBhZ2VYMTgFAAAAFHNsaXBwYWdlVG9sZXJhbmNlWDE4BwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA9QcmljZSBzbGlwcGFnZSAJAAGmAAAAAQUAAAALc2xpcHBhZ2VYMTgCAAAAHiBleGNlZWRlZCB0aGUgcGFzc2VkIGxpbWl0IG9mIAkAAaYAAAABBQAAABRzbGlwcGFnZVRvbGVyYW5jZVgxOAQAAAANbHBFbWlzc2lvblgxOAkBAAAABXRvWDE4AAAAAgUAAAAKbHBFbWlzc2lvbgUAAAAGc2NhbGU4BAAAAApwclZpYUFtWDE4CQABPAAAAAMFAAAAD2luQW1Bc3NldEFtdFgxOAUAAAALY3VyUHJpY2VYMTgFAAAAB3NjYWxlMTgEAAAACmFtVmlhUHJYMTgJAAE8AAAAAwUAAAAPaW5QckFzc2V0QW10WDE4BQAAAAdzY2FsZTE4BQAAAAtjdXJQcmljZVgxOAQAAAAMZXhwZWN0ZWRBbXRzAwkAAT8AAAACBQAAAApwclZpYUFtWDE4BQAAAA9pblByQXNzZXRBbXRYMTgJAAUUAAAAAgUAAAAKYW1WaWFQclgxOAUAAAAPaW5QckFzc2V0QW10WDE4CQAFFAAAAAIFAAAAD2luQW1Bc3NldEFtdFgxOAUAAAAKcHJWaWFBbVgxOAQAAAARZXhwQW10QXNzZXRBbXRYMTgIBQAAAAxleHBlY3RlZEFtdHMAAAACXzEEAAAAE2V4cFByaWNlQXNzZXRBbXRYMTgIBQAAAAxleHBlY3RlZEFtdHMAAAACXzIEAAAACGxwQW10WDE4CQABPAAAAAMFAAAADWxwRW1pc3Npb25YMTgFAAAAE2V4cFByaWNlQXNzZXRBbXRYMTgFAAAADHByQmFsYW5jZVgxOAkABRcAAAAFCQEAAAAHZnJvbVgxOAAAAAIFAAAACGxwQW10WDE4BQAAAAZzY2FsZTgJAQAAAAdmcm9tWDE4AAAAAgUAAAARZXhwQW10QXNzZXRBbXRYMTgFAAAAC2FtdEFzc2V0RGNtCQEAAAAHZnJvbVgxOAAAAAIFAAAAE2V4cFByaWNlQXNzZXRBbXRYMTgFAAAADXByaWNlQXNzZXREY20FAAAAC2N1clByaWNlWDE4BQAAAAtzbGlwcGFnZVgxOAUAAAAEdFJlcwQAAAAJY2FsY0xwQW10CAUAAAADcmVzAAAAAl8xBAAAAA5jYWxjQW1Bc3NldFBtdAgFAAAAA3JlcwAAAAJfMgQAAAAOY2FsY1ByQXNzZXRQbXQIBQAAAANyZXMAAAACXzMEAAAACGN1clByaWNlCQEAAAAHZnJvbVgxOAAAAAIIBQAAAANyZXMAAAACXzQFAAAABnNjYWxlOAQAAAAMc2xpcHBhZ2VDYWxjCQEAAAAHZnJvbVgxOAAAAAIIBQAAAANyZXMAAAACXzUFAAAABnNjYWxlOAMJAABnAAAAAgAAAAAAAAAAAAUAAAAJY2FsY0xwQW10CQAAAgAAAAECAAAANkludmFsaWQgY2FsY3VsYXRpb25zLiBMUCBjYWxjdWxhdGVkIGlzIGxlc3MgdGhhbiB6ZXJvLgQAAAAJZW1pdExwQW10AwkBAAAAASEAAAABBQAAAAZlbWl0THAAAAAAAAAAAAAFAAAACWNhbGNMcEFtdAQAAAAGYW1EaWZmCQAAZQAAAAIFAAAADGluQW1Bc3NldEFtdAUAAAAOY2FsY0FtQXNzZXRQbXQEAAAABnByRGlmZgkAAGUAAAACBQAAAAxpblByQXNzZXRBbXQFAAAADmNhbGNQckFzc2V0UG10BAAAAAtjb21tb25TdGF0ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADGtleVByaWNlTGFzdAAAAAAFAAAACGN1clByaWNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPa2V5UHJpY2VIaXN0b3J5AAAAAgUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAIY3VyUHJpY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmtleVB1dEFjdGlvbkJ5VXNlcgAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAAZ0eElkNTgJAQAAABFkYXRhUHV0QWN0aW9uSW5mbwAAAAoFAAAADmNhbGNBbUFzc2V0UG10BQAAAA5jYWxjUHJBc3NldFBtdAUAAAAJZW1pdExwQW10BQAAAAhjdXJQcmljZQUAAAARc2xpcHBhZ2VUb2xlcmFuY2UFAAAADHNsaXBwYWdlQ2FsYwUAAAAGaGVpZ2h0CAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAUAAAAGYW1EaWZmBQAAAAZwckRpZmYFAAAAA25pbAkABR8AAAANBQAAAAljYWxjTHBBbXQFAAAACWVtaXRMcEFtdAUAAAAIY3VyUHJpY2UFAAAACWFtQmFsYW5jZQUAAAAJcHJCYWxhbmNlBQAAAApscEVtaXNzaW9uBQAAAAlscEFzc2V0SWQFAAAACnBvb2xTdGF0dXMFAAAAC2NvbW1vblN0YXRlBQAAAAZhbURpZmYFAAAABnByRGlmZgUAAAALaW5BbUFzc2V0SWQFAAAAC2luUHJBc3NldElkAQAAABt2YWxpZGF0ZU1hdGNoZXJPcmRlckFsbG93ZWQAAAABAAAABW9yZGVyBAAAAANjZmcJAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAAKYW10QXNzZXRJZAkAAZEAAAACBQAAAANjZmcFAAAADWlkeEFtdEFzc2V0SWQEAAAADHByaWNlQXNzZXRJZAkAAZEAAAACBQAAAANjZmcFAAAAD2lkeFByaWNlQXNzZXRJZAQAAAAKcG9vbFN0YXR1cwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAANaWR4UG9vbFN0YXR1cwQAAAALYW10QXNzZXREY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAADmlkeEFtdEFzc2V0RGNtBAAAAA1wcmljZUFzc2V0RGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAABBpZHhQcmljZUFzc2V0RGNtBAAAABJhY2NBbXRBc3NldEJhbGFuY2UJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAKYW10QXNzZXRJZAQAAAAUYWNjUHJpY2VBc3NldEJhbGFuY2UJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAMcHJpY2VBc3NldElkBAAAAAtjdXJQcmljZVgxOAMJAAAAAAAAAggFAAAABW9yZGVyAAAACW9yZGVyVHlwZQUAAAADQnV5CQEAAAAQcHJpdmF0ZUNhbGNQcmljZQAAAAQFAAAAC2FtdEFzc2V0RGNtBQAAAA1wcmljZUFzc2V0RGNtCQAAZAAAAAIFAAAAEmFjY0FtdEFzc2V0QmFsYW5jZQgFAAAABW9yZGVyAAAABmFtb3VudAUAAAAUYWNjUHJpY2VBc3NldEJhbGFuY2UJAQAAABBwcml2YXRlQ2FsY1ByaWNlAAAABAUAAAALYW10QXNzZXREY20FAAAADXByaWNlQXNzZXREY20JAABlAAAAAgUAAAASYWNjQW10QXNzZXRCYWxhbmNlCAUAAAAFb3JkZXIAAAAGYW1vdW50BQAAABRhY2NQcmljZUFzc2V0QmFsYW5jZQQAAAAIY3VyUHJpY2UJAQAAAAdmcm9tWDE4AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAABnNjYWxlOAMDAwkBAAAAEGlzR2xvYmFsU2h1dGRvd24AAAAABgkAAAAAAAACBQAAAApwb29sU3RhdHVzBQAAABNQb29sTWF0Y2hlckRpc2FibGVkBgkAAAAAAAACBQAAAApwb29sU3RhdHVzBQAAAAxQb29sU2h1dGRvd24JAAACAAAAAQIAAAAcRXhjaGFuZ2Ugb3BlcmF0aW9ucyBkaXNhYmxlZAQAAAANb3JkZXJBbXRBc3NldAgIBQAAAAVvcmRlcgAAAAlhc3NldFBhaXIAAAALYW1vdW50QXNzZXQEAAAAEG9yZGVyQW10QXNzZXRTdHIDCQAAAAAAAAIFAAAADW9yZGVyQW10QXNzZXQFAAAABHVuaXQCAAAABVdBVkVTCQACWAAAAAEJAQAAAAV2YWx1ZQAAAAEFAAAADW9yZGVyQW10QXNzZXQEAAAAD29yZGVyUHJpY2VBc3NldAgIBQAAAAVvcmRlcgAAAAlhc3NldFBhaXIAAAAKcHJpY2VBc3NldAQAAAASb3JkZXJQcmljZUFzc2V0U3RyAwkAAAAAAAACBQAAAA9vcmRlclByaWNlQXNzZXQFAAAABHVuaXQCAAAABVdBVkVTCQACWAAA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AAJfOAMDAwkBAAAAEGlzR2xvYmFsU2h1dGRvd24AAAAABgkAAAAAAAACBQAAAAZzdGF0dXMFAAAAD1Bvb2xQdXREaXNhYmxlZAYJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAAxQb29sU2h1dGRvd24JAAACAAAAAQkAASwAAAACAgAAACxQdXQgb3BlcmF0aW9uIGlzIGJsb2NrZWQgYnkgYWRtaW4uIFN0YXR1cyA9IAkAAaQAAAABBQAAAAZzdGF0dXMFAAAABmVzdFB1dAAAABEAAAABaQEAAAALY29uc3RydWN0b3IAAAACAAAAD2ZhY3RvcnlDb250cmFjdAAAABBtYW5hZ2VyUHVibGljS2V5AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAEnBlcm1pc3Npb25zIGRlbmllZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASa2V5RmFjdG9yeUNvbnRyYWN0AAAAAAUAAAAPZmFjdG9yeUNvbnRyYWN0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABNrZXlNYW5hZ2VyUHVibGljS2V5AAAAAAUAAAAQbWFuYWdlclB1YmxpY0tleQUAAAADbmlsAAAAAWkBAAAAA3B1dAAAAAIAAAARc2xpcHBhZ2VUb2xlcmFuY2UAAAAJYXV0b1N0YWtlBAAAAApmYWN0b3J5Q2ZnCQEAAAAQZ2V0RmFjdG9yeUNvbmZpZwAAAAAEAAAAD3N0YWtpbmdDb250cmFjdAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAAGRAAAAAgUAAAAKZmFjdG9yeUNmZwUAAAAZaWR4RmFjdG9yeVN0YWtpbmdDb250cmFjdAIAAAAhRXJyb3IuIEluY29ycmVjdCBzdGFraW5nIGFkZHJlc3MuBAAAABBzbGlwcGFnZUNvbnRyYWN0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkAAZEAAAACBQAAAApmYWN0b3J5Q2ZnBQAAABppZHhGYWN0b3J5U2xpcHBhZ2VDb250cmFjdAIAAAArRXJyb3IuIEluY29ycmVjdCBzbGlwcGFnZSBjb250cmFjdCBhZGRyZXNzLgMJAABmAAAAAgAAAAAAAAAAAAUAAAARc2xpcHBhZ2VUb2xlcmFuY2UJAAACAAAAAQIAAAAgSW52YWxpZCBzbGlwcGFnZVRvbGVyYW5jZSBwYXNzZWQEAAAABmVzdFB1dAkBAAAACWNvbW1vblB1dAAAAAMFAAAAAWkFAAAAEXNsaXBwYWdlVG9sZXJhbmNlBgQAAAAJZW1pdExwQW10CAUAAAAGZXN0UHV0AAAAAl8yBAAAAAlscEFzc2V0SWQIBQAAAAZlc3RQdXQAAAACXzcEAAAABXN0YXRlCAUAAAAGZXN0UHV0AAAAAl85BAAAAAZhbURpZmYIBQAAAAZlc3RQdXQAAAADXzEwBAAAAAZwckRpZmYIBQAAAAZlc3RQdXQAAAADXzExBAAAAARhbUlkCAUAAAAGZXN0UHV0AAAAA18xMgQAAAAEcHJJZAgFAAAABmVzdFB1dAAAAANfMTMEAAAAB2VtaXRJbnYJAAP8AAAABAUAAAAPZmFjdG9yeUNvbnRyYWN0AgAAAARlbWl0CQAETAAAAAIFAAAACWVtaXRMcEFtdAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAB2VtaXRJbnYFAAAAB2VtaXRJbnYEAAAADHNsaXBwYWdlQUludgMJAABmAAAAAgUAAAAGYW1EaWZmAAAAAAAAAAAACQAD/AAAAAQFAAAAEHNsaXBwYWdlQ29udHJhY3QCAAAAA3B1dAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAARhbUlkBQAAAAZhbURpZmYFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAxzbGlwcGFnZUFJbnYFAAAADHNsaXBwYWdlQUludgQAAAAMc2xpcHBhZ2VQSW52AwkAAGYAAAACBQAAAAZwckRpZmYAAAAAAAAAAAAJAAP8AAAABAUAAAAQc2xpcHBhZ2VDb250cmFjdAIAAAADcHV0BQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAABHBySWQFAAAABnByRGlmZgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAADHNsaXBwYWdlUEludgUAAAAMc2xpcHBhZ2VQSW52BAAAAAhscFRybnNmcgMFAAAACWF1dG9TdGFrZQQAAAALc2xwU3Rha2VJbnYJAAP8AAAABAUAAAAPc3Rha2luZ0NvbnRyYWN0AgAAAAVzdGFrZQUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAAlscEFzc2V0SWQFAAAACWVtaXRMcEFtdAUAAAADbmlsAwkAAAAAAAACBQAAAAtzbHBTdGFrZUludgUAAAALc2xwU3Rha2VJbnYFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAllbWl0THBBbXQFAAAACWxwQXNzZXRJZAUAAAADbmlsCQAETgAAAAIFAAAABXN0YXRlBQAAAAhscFRybnNmcgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAlwdXRPbmVUa24AAAADAAAAC2luQW10QW1vdW50AAAACmluUHJBbW91bnQAAAAJYXV0b1N0YWtlBAAAAANjZmcJAQAAABBnZXRGYWN0b3J5Q29uZmlnAAAAAAQAAAAPc3Rha2luZ0NvbnRyYWN0CQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkAAZEAAAACBQAAAANjZmcFAAAAGWlkeEZhY3RvcnlTdGFraW5nQ29udHJhY3QCAAAAIUVycm9yLiBJbmNvcnJlY3Qgc3Rha2luZyBhZGRyZXNzLgQAAAAHcG9vbENmZwkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAAlhbUFzc2V0SWQJAAGRAAAAAgUAAAAHcG9vbENmZwUAAAANaWR4QW10QXNzZXRJZAQAAAAJcHJBc3NldElkCQABkQAAAAIFAAAAB3Bvb2xDZmcFAAAAD2lkeFByaWNlQXNzZXRJZAQAAAAKYW1Bc3NldERjbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAB3Bvb2xDZmcFAAAADmlkeEFtdEFzc2V0RGNtBAAAAApwckFzc2V0RGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAHcG9vbENmZwUAAAAQaWR4UHJpY2VBc3NldERjbQMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAeZXhhY3RseSAxIHBheW1lbnQgYXJlIGV4cGVjdGVkBAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAEAAAACnBtdEFzc2V0SWQJAQAAAAV2YWx1ZQAAAAEIBQAAAANwbXQAAAAHYXNzZXRJZAQAAAAGcG10QW10CAUAAAADcG10AAAABmFtb3VudAQAAAAOYW1Bc3NldFN3YXBYMTgJAQAAAAV0b1gxOAAAAAIFAAAAC2luQW10QW1vdW50BQAAAAphbUFzc2V0RGNtBAAAAA5wckFzc2V0U3dhcFgxOAkBAAAABXRvWDE4AAAAAgUAAAAKaW5QckFtb3VudAUAAAAKcHJBc3NldERjbQQAAAAHaW5QcmljZQkBAAAAD2NhbGNQcmljZUJpZ0ludAAAAAIFAAAADnByQXNzZXRTd2FwWDE4BQAAAA5hbUFzc2V0U3dhcFgxOAQAAAAHaXNWYWxpZAMJAAAAAAAAAgkAAlgAAAABBQAAAApwbXRBc3NldElkBQAAAAlhbUFzc2V0SWQEAAAACXBtdEFtdFgxOAkBAAAABXRvWDE4AAAAAgUAAAAGcG10QW10BQAAAAphbUFzc2V0RGNtBAAAABBkaWZmQnlQcmljZUFzc2V0CQABOAAAAAIFAAAACXBtdEFtdFgxOAUAAAAOYW1Bc3NldFN3YXBYMTgEAAAADGVxUHJpY2VBc3NldAkAATwAAAADBQAAABBkaWZmQnlQcmljZUFzc2V0BQAAAAdpblByaWNlBQAAAAdzY2FsZTE4BAAAAAtwckFzc2V0RGlmZgkAATwAAAADCQABOAAAAAIFAAAADGVxUHJpY2VBc3NldAUAAAAOcHJBc3NldFN3YXBYMTgFAAAADHNjYWxl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AQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAAZwbXRBbXQIBQAAAANwbXQAAAAGYW1vdW50AwkBAAAAAiE9AAAAAgUAAAAJbHBBc3NldElkCQACWAAAAAEFAAAACnBtdEFzc2V0SWQJAAACAAAAAQIAAAAVSW52YWxpZCBhc3NldCBwYXNzZWQuBAAAAA5hbUFzc2V0U3dhcFgxOAkBAAAABXRvWDE4AAAAAgUAAAALYW1Bc3NldFN3YXAFAAAACmFtQXNzZXREY20EAAAADnByQXNzZXRTd2FwWDE4CQEAAAAFdG9YMTgAAAACBQAAAAtwckFzc2V0U3dhcAUAAAAKcHJBc3NldERjbQQAAAAMc3dhcFByaWNlWDE4CQEAAAAPY2FsY1ByaWNlQmlnSW50AAAAAgUAAAAOcHJBc3NldFN3YXBYMTgFAAAADmFtQXNzZXRTd2FwWDE4BAAAAAFyCQEAAAAUZXN0aW1hdGVHZXRPcGVyYXRpb24AAAAECQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQJAAJYAAAAAQUAAAAKcG10QXNzZXRJZAUAAAAGcG10QW10CAUAAAABaQAAAAZjYWxsZXIEAAAACG91dEFtQW10CAUAAAABcgAAAAJfMQQAAAAIb3V0UHJBbXQIBQAAAAFyAAAAAl8yBAAAAAdpc1ZhbGlkAwkAAAAAAAACBQAAAApvdXRBc3NldElkBQAAAAlhbUFzc2V0SWQEAAAAF3ByU3dvcFBhcnRJbkFtb3VudEFzc2V0CQAAZQAAAAIFAAAAD3Jlc3VsdEFtdEFtb3VudAUAAAAIb3V0QW1BbXQEAAAAB2NvbnZSZXMJAAE8AAAAAwkBAAAABXRvWDE4AAAAAgUAAAAXcHJTd29wUGFydEluQW1vdW50QXNzZXQFAAAACmFtQXNzZXREY20FAAAADHN3YXBQcmljZVgxOAUAAAAHc2NhbGUxOAQAAAALcHJBc3NldERpZmYJAAE8AAAAAwkAATgAAAACBQAAAAdjb252UmVzBQAAAA5wckFzc2V0U3dhcFgxOAUAAAAMc2NhbGU4QmlnSW50BQAAAA5wckFzc2V0U3dhcFgxOAMDCQABPwAAAAIFAAAAC3ByQXNzZXREaWZmBQAAAAljYWxjRXJyb3IGCQABPwAAAAIJAAE+AAAAAQUAAAAJY2FsY0Vycm9yBQAAAAtwckFzc2V0RGlmZgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABtTbGlwcGFnZSBleGVlZGVkIHRoZSB2YWx1ZSAJAAGmAAAAAQUAAAAJY2FsY0Vycm9yAgAAAA4gYW5kIGVxdWFsIHRvIAkAAaYAAAABBQAAAAtwckFzc2V0RGlmZgYEAAAAFmFtU3dvcFBhcnRJblByaWNlQXNzZXQJAABlAAAAAgUAAAAOcmVzdWx0UHJBbW91bnQFAAAACG91dFByQW10BAAAAAdjb252UmVzCQABPAAAAAMJAQAAAAV0b1gxOAAAAAIFAAAAFmFtU3dvcFBhcnRJblByaWNlQXNzZXQFAAAACmFtQXNzZXREY20FAAAAB3NjYWxlMTgFAAAADHN3YXBQcmljZVgxOAQAAAALYW1Bc3NldERpZmYJAAE8AAAAAwkAATgAAAACBQAAAAdjb252UmVzBQAAAA5hbUFzc2V0U3dhcFgxOAUAAAAMc2NhbGU4QmlnSW50BQAAAA5hbUFzc2V0U3dhcFgxOAMDCQABPwAAAAIFAAAAC2FtQXNzZXREaWZmBQAAAAljYWxjRXJyb3IGCQABPwAAAAIJAAE+AAAAAQUAAAAJY2FsY0Vycm9yBQAAAAthbUFzc2V0RGlmZgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAABtTbGlwcGFnZSBleGVlZGVkIHRoZSB2YWx1ZSAJAAGmAAAAAQUAAAAJY2FsY0Vycm9yAgAAAA4gYW5kIGVxdWFsIHRvIAkAAaYAAAABBQAAAAthbUFzc2V0RGlmZgYEAAAACWFtQmFsYW5jZQkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAlhbUFzc2V0SWQEAAAADGFtQmFsYW5jZVgxOAkBAAAABXRvWDE4AAAAAgUAAAAJYW1CYWxhbmNlBQAAAAphbUFzc2V0RGNtBAAAAAlwckJhbGFuY2UJAQAAAA1nZXRBY2NCYWxhbmNlAAAAAQUAAAAJcHJBc3NldElkBAAAAAxwckJhbGFuY2VYMTgJAQAAAAV0b1gxOAAAAAIFAAAACXByQmFsYW5jZQUAAAAKcHJBc3NldERjbQQAAAALY3VyUHJpY2VYMTgJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAAxwckJhbGFuY2VYMTgFAAAADGFtQmFsYW5jZVgxOAQAAAAIY3VyUHJpY2UJAQAAAAdmcm9tWDE4AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAABnNjYWxlOAQAAAAFc3RhdGUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAALdXNlckFkZHJlc3MFAAAACW91dEFtb3VudAMJAAAAAAAAAgUAAAANcmVzdWx0QXNzZXRJZAIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAANcmVzdWx0QXNzZXRJZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASa2V5R2V0QWN0aW9uQnlVc2VyAAAAAgkABCUAAAABBQAAAAt1c2VyQWRkcmVzcwUAAAAGdHhJZDU4CQEAAAARZGF0YUdldEFjdGlvbkluZm8AAAAGBQAAAA9yZXN1bHRBbXRBbW91bnQFAAAADnJlc3VsdFByQW1vdW50BQAAAAZwbXRBbXQFAAAACGN1clByaWNlBQAAAAZoZWlnaHQIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAMa2V5UHJpY2VMYXN0AAAAAAUAAAAIY3VyUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA9rZXlQcmljZUhpc3RvcnkAAAACBQAAAAZoZWlnaHQIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAhjdXJQcmljZQUAAAADbmlsBAAAAARidXJuCQAD/AAAAAQFAAAAD2ZhY3RvcnlDb250cmFjdAIAAAAEYnVybgkABEwAAAACBQAAAAZwbXRBbXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAGcG10QW10BQAAAANuaWwDCQAAAAAAAAIFAAAABGJ1cm4FAAAABGJ1cm4FAAAABXN0YXRlCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAlnZXROb0xlc3MAAAACAAAA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", "chainId": 84, "height": 1841593, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HddKR35Sh4bfT3fqiLthS5mwP9AmLGNMwjFdHeTf3rNS Next: 5VbsdSdcBSnHu3CXbwVePGAfMfeEkCj7KzqZau3Lm7CG Diff:
OldNewDifferences
459459 let dd = B(da, aV)
460460 let de = B(db, aW)
461461 let df = aR(de, dd)
462- if (true)
463- then throw(((toBase58String(bo) + " : ") + br))
462+ let dg = if ((toBase58String(bo) == br))
463+ then {
464+ let dh = B(cI, aV)
465+ let di = (dh - dd)
466+ let dj = fraction(di, df, e)
467+ let dk = fraction((dj - de), c, de)
468+ if (true)
469+ then throw(((((((("inAmtAmount = " + toString(dd)) + " inPrAmount = ") + toString(de)) + " eqPriceAsset = ") + toString(dj)) + " diffByPriceAsset = ") + toString(di)))
470+ else true
471+ }
464472 else {
465- let dg = if ((toBase58String(bo) == br))
473+ let dl = B(cI, aW)
474+ let dm = (dl - de)
475+ let dn = fraction(dm, e, df)
476+ let do = fraction((dn - dd), c, dd)
477+ if (true)
478+ then throw(((((((("inAmtAmount = " + toString(dd)) + " inPrAmount = ") + toString(de)) + " eqAmtAsset = ") + toString(dn)) + " diffByAmountAsset = ") + toString(dm)))
479+ else true
480+ }
481+ let cM = bI(toBase58String(cG.transactionId), 0, da, fromBase58String(br), db, fromBase58String(bs), toString(cG.caller), false, true, true)
482+ let cn = cM._2
483+ let bq = cM._7
484+ let cN = parseIntValue(cM._8)
485+ if (if (if (au())
486+ then true
487+ else (cN == j))
488+ then true
489+ else (cN == l))
490+ then throw(("Put operation is blocked by admin. Status = " + toString(cN)))
491+ else {
492+ let cV = invoke(at, "emit", [cn], nil)
493+ if ((cV == cV))
466494 then {
467- let dh = B(cI, aV)
468- let di = (dh - dd)
469- let dj = fraction(di, df, e)
470- let dk = fraction((dj - de), c, de)
471- if (true)
472- then throw(((((((("inAmtAmount = " + toString(dd)) + " inPrAmount = ") + toString(de)) + " eqPriceAsset = ") + toString(dj)) + " diffByPriceAsset = ") + toString(di)))
473- else true
495+ let cY = if (cP)
496+ then {
497+ let dp = invoke(cR, "stake", nil, [AttachedPayment(bq, cn)])
498+ if ((dp == dp))
499+ then nil
500+ else throw("Strict value is not equal to itself.")
501+ }
502+ else [ScriptTransfer(cG.caller, cn, bq)]
503+ (cM._9 ++ cY)
474504 }
475- else {
476- let dl = B(cI, aW)
477- let dm = (dl - de)
478- let dn = fraction(dm, e, df)
479- let do = fraction((dn - dd), c, dd)
480- if (true)
481- then throw(((((((("inAmtAmount = " + toString(dd)) + " inPrAmount = ") + toString(de)) + " eqAmtAsset = ") + toString(dn)) + " diffByAmountAsset = ") + toString(dm)))
482- else true
483- }
484- let cM = bI(toBase58String(cG.transactionId), 0, da, fromBase58String(br), db, fromBase58String(bs), toString(cG.caller), false, true, true)
485- let cn = cM._2
486- let bq = cM._7
487- let cN = parseIntValue(cM._8)
488- if (if (if (au())
489- then true
490- else (cN == j))
491- then true
492- else (cN == l))
493- then throw(("Put operation is blocked by admin. Status = " + toString(cN)))
494- else {
495- let cV = invoke(at, "emit", [cn], nil)
496- if ((cV == cV))
497- then {
498- let cY = if (cP)
499- then {
500- let dp = invoke(cR, "stake", nil, [AttachedPayment(bq, cn)])
501- if ((dp == dp))
502- then nil
503- else throw("Strict value is not equal to itself.")
504- }
505- else [ScriptTransfer(cG.caller, cn, bq)]
506- (cM._9 ++ cY)
507- }
508- else throw("Strict value is not equal to itself.")
509- }
505+ else throw("Strict value is not equal to itself.")
510506 }
511507 }
512508 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = toBigInt(100000000)
99
1010 let d = toBigInt(1000000)
1111
1212 let e = toBigInt(1000000000000000000)
1313
1414 let f = toBigInt(0)
1515
1616 let g = "__"
1717
1818 let h = ""
1919
2020 let i = 1
2121
2222 let j = 2
2323
2424 let k = 3
2525
2626 let l = 4
2727
2828 let m = 1
2929
3030 let n = 2
3131
3232 let o = 3
3333
3434 let p = 4
3535
3636 let q = 5
3737
3838 let r = 6
3939
4040 let s = 7
4141
4242 let t = 8
4343
4444 let u = 9
4545
4646 let v = 10
4747
4848 let w = 1
4949
5050 let x = 2
5151
5252 let y = 3
5353
5454 let z = 1
5555
5656 let A = 7
5757
5858 func B (C,D) = fraction(toBigInt(C), e, toBigInt(D))
5959
6060
6161 func E (F,G) = toInt(fraction(F, toBigInt(G), e))
6262
6363
6464 func H (I,J,K) = fraction(I, J, K)
6565
6666
6767 func L (F) = if ((f > F))
6868 then -(F)
6969 else F
7070
7171
7272 func M () = "%s__factoryContract"
7373
7474
7575 func N () = "%s__managerPublicKey"
7676
7777
7878 func O () = "%s%s__price__last"
7979
8080
8181 func P (Q,R) = makeString(["%s%s%d%d__price__history", toString(Q), toString(R)], g)
8282
8383
8484 func S (T,U) = ((("%s%s%s__P__" + T) + "__") + U)
8585
8686
8787 func V (T,U) = ((("%s%s%s__G__" + T) + "__") + U)
8888
8989
9090 func W () = "%s__amountAsset"
9191
9292
9393 func X () = "%s__priceAsset"
9494
9595
9696 func Y (Q,R) = makeString(["%s%s%d%d__K_history", toString(Q), toString(R)], g)
9797
9898
9999 func Z () = "%s__factoryConfig"
100100
101101
102102 func aa () = "%s%s__matcher__publicKey"
103103
104104
105105 func ab (ac) = (("%s%s%s__" + ac) + "__mappings__poolContract2LpAsset")
106106
107107
108108 func ad (ae,af) = (((("%d%d%s__" + ae) + "__") + af) + "__config")
109109
110110
111111 func ag (ah) = ("%s%s%s__mappings__baseAsset2internalId__" + ah)
112112
113113
114114 func ai () = "%s__shutdown"
115115
116116
117117 func aj (ak) = ("%s%s__poolWeight__" + ak)
118118
119119
120120 func al (am,an,ao) = throw(((((("order validation failed: orderValid=" + toString(am)) + " senderValid=") + toString(an)) + " matcherValid=") + toString(ao)))
121121
122122
123123 func ap (aq,ar) = valueOrErrorMessage(getString(aq, ar), makeString(["mandatory ", toString(aq), ".", ar, " is not defined"], ""))
124124
125125
126126 func as (aq,ar) = valueOrErrorMessage(getInteger(aq, ar), makeString(["mandatory ", toString(aq), ".", ar, " is not defined"], ""))
127127
128128
129129 let at = addressFromStringValue(ap(this, M()))
130130
131131 func au () = valueOrElse(getBoolean(at, ai()), false)
132132
133133
134134 func av () = fromBase58String(ap(at, aa()))
135135
136136
137137 func aw () = {
138138 let ax = ap(this, W())
139139 let ay = ap(this, X())
140140 let af = as(at, ag(ay))
141141 let ae = as(at, ag(ax))
142142 split(ap(at, ad(toString(ae), toString(af))), g)
143143 }
144144
145145
146146 func az () = split(ap(at, Z()), g)
147147
148148
149149 func aA (aB,aC,aD,aE,aF,aG,aH,aI,aJ,aK) = makeString(["%d%d%d%d%d%d%d%d%d%d", toString(aB), toString(aC), toString(aD), toString(aE), toString(aF), toString(aG), toString(aH), toString(aI), toString(aJ), toString(aK)], g)
150150
151151
152152 func aL (aM,aN,aO,aE,aH,aI) = makeString(["%d%d%d%d%d%d", toString(aM), toString(aN), toString(aO), toString(aE), toString(aH), toString(aI)], g)
153153
154154
155155 func aP (aQ) = if ((aQ == "WAVES"))
156156 then wavesBalance(this).available
157157 else assetBalance(this, fromBase58String(aQ))
158158
159159
160160 func aR (aS,aT) = fraction(aS, e, aT)
161161
162162
163163 func aU (aV,aW,aX,aY) = {
164164 let aZ = B(aX, aV)
165165 let ba = B(aY, aW)
166166 aR(ba, aZ)
167167 }
168168
169169
170170 func bb (aX,aY,bc) = {
171171 let bd = aw()
172172 let be = parseIntValue(bd[r])
173173 let bf = parseIntValue(bd[s])
174174 let bg = aU(be, bf, aX, aY)
175175 let aT = B(aX, be)
176176 let aS = B(aY, bf)
177177 let bh = B(bc, b)
178178 let bi = aR(aT, bh)
179179 let bj = aR(aS, bh)
180180 [bg, bi, bj]
181181 }
182182
183183
184184 func bk (aX,aY,bc) = {
185185 let bl = bb(aX, aY, bc)
186186 [E(bl[0], b), E(bl[1], b), E(bl[2], b)]
187187 }
188188
189189
190190 func bm (bn,bo,bp,T) = {
191191 let bd = aw()
192192 let bq = bd[o]
193193 let br = bd[p]
194194 let bs = bd[q]
195195 let aV = parseIntValue(bd[r])
196196 let aW = parseIntValue(bd[s])
197197 let bt = bd[n]
198198 let bu = valueOrErrorMessage(assetInfo(fromBase58String(bq)), (("Asset " + bq) + " doesn't exist")).quantity
199199 if ((bq != bo))
200200 then throw("Invalid asset passed.")
201201 else {
202202 let bv = aP(br)
203203 let bw = B(bv, aV)
204204 let bx = aP(bs)
205205 let by = B(bx, aW)
206206 let bz = aR(by, bw)
207207 let bA = E(bz, b)
208208 let bB = B(bp, b)
209209 let bC = B(bu, b)
210210 let bD = fraction(bw, bB, bC)
211211 let bE = fraction(by, bB, bC)
212212 let bF = E(bD, aV)
213213 let bG = E(bE, aW)
214214 let bH = if ((bn == ""))
215215 then nil
216216 else [ScriptTransfer(T, bF, if ((br == "WAVES"))
217217 then unit
218218 else fromBase58String(br)), ScriptTransfer(T, bG, if ((bs == "WAVES"))
219219 then unit
220220 else fromBase58String(bs)), StringEntry(V(toString(T), bn), aL(bF, bG, bp, bA, height, lastBlock.timestamp)), IntegerEntry(O(), bA), IntegerEntry(P(height, lastBlock.timestamp), bA)]
221221 $Tuple10(bF, bG, br, bs, bv, bx, bu, bz, bt, bH)
222222 }
223223 }
224224
225225
226226 func bI (bn,bJ,bK,bL,bM,bN,T,bO,bP,bQ) = {
227227 let bd = aw()
228228 let bq = fromBase58String(bd[o])
229229 let bR = bd[p]
230230 let bS = bd[q]
231231 let bT = bd[t]
232232 let bU = bd[u]
233233 let be = parseIntValue(bd[r])
234234 let bf = parseIntValue(bd[s])
235235 let bt = bd[n]
236236 let bu = valueOrErrorMessage(assetInfo(bq), (("Asset " + toBase58String(bq)) + " doesn't exist")).quantity
237237 let bv = if (bO)
238238 then aP(bR)
239239 else (aP(bR) - bK)
240240 let bx = if (bO)
241241 then aP(bS)
242242 else (aP(bS) - bM)
243243 let bV = B(bK, be)
244244 let bW = B(bM, bf)
245245 let bX = aR(bW, bV)
246246 let bw = B(bv, be)
247247 let by = B(bx, bf)
248248 let bY = if ((bu == 0))
249249 then {
250250 let bz = f
251251 let bZ = f
252252 let bh = pow((bV * bW), 0, toBigInt(5), 1, 0, DOWN)
253253 $Tuple5(E(bh, b), E(bV, be), E(bW, bf), aR((by + bW), (bw + bV)), bZ)
254254 }
255255 else {
256256 let ca = if (bQ)
257257 then {
258258 let bC = B(bu, b)
259259 let cb = (bV + bW)
260260 let cc = (bw + by)
261261 let bh = fraction(bC, cb, cc)
262262 let bz = aR(by, bw)
263263 $Tuple5(E(bh, b), bK, bM, bz, toBigInt(0))
264264 }
265265 else {
266266 let bz = aR(by, bw)
267267 let bZ = fraction(L((bz - bX)), e, bz)
268268 let cd = B(bJ, b)
269269 if (if ((bz != f))
270270 then (bZ > cd)
271271 else false)
272272 then throw(((("Price slippage " + toString(bZ)) + " exceeded the passed limit of ") + toString(cd)))
273273 else {
274274 let bC = B(bu, b)
275275 let ce = fraction(bV, bz, e)
276276 let cf = fraction(bW, e, bz)
277277 let cg = if ((ce > bW))
278278 then $Tuple2(cf, bW)
279279 else $Tuple2(bV, ce)
280280 let ch = cg._1
281281 let ci = cg._2
282282 let bh = fraction(bC, ci, by)
283283 $Tuple5(E(bh, b), E(ch, be), E(ci, bf), bz, bZ)
284284 }
285285 }
286286 ca
287287 }
288288 let cj = bY._1
289289 let ck = bY._2
290290 let cl = bY._3
291291 let bA = E(bY._4, b)
292292 let cm = E(bY._5, b)
293293 if ((0 >= cj))
294294 then throw("Invalid calculations. LP calculated is less than zero.")
295295 else {
296296 let cn = if (!(bP))
297297 then 0
298298 else cj
299299 let co = (bK - ck)
300300 let cp = (bM - cl)
301301 let cq = [IntegerEntry(O(), bA), IntegerEntry(P(height, lastBlock.timestamp), bA), StringEntry(S(T, bn), aA(ck, cl, cn, bA, bJ, cm, height, lastBlock.timestamp, co, cp))]
302302 $Tuple13(cj, cn, bA, bv, bx, bu, bq, bt, cq, co, cp, bL, bN)
303303 }
304304 }
305305
306306
307307 func cr (cs) = {
308308 let bd = aw()
309309 let ct = bd[p]
310310 let cu = bd[q]
311311 let bt = parseIntValue(bd[n])
312312 let be = parseIntValue(bd[r])
313313 let bf = parseIntValue(bd[s])
314314 let cv = aP(ct)
315315 let cw = aP(cu)
316316 let bz = if ((cs.orderType == Buy))
317317 then aU(be, bf, (cv + cs.amount), cw)
318318 else aU(be, bf, (cv - cs.amount), cw)
319319 let bA = E(bz, b)
320320 if (if (if (au())
321321 then true
322322 else (bt == k))
323323 then true
324324 else (bt == l))
325325 then throw("Exchange operations disabled")
326326 else {
327327 let cx = cs.assetPair.amountAsset
328328 let cy = if ((cx == unit))
329329 then "WAVES"
330330 else toBase58String(value(cx))
331331 let cz = cs.assetPair.priceAsset
332332 let cA = if ((cz == unit))
333333 then "WAVES"
334334 else toBase58String(value(cz))
335335 if (if ((cy != ct))
336336 then true
337337 else (cA != cu))
338338 then throw("Wrong order assets.")
339339 else {
340340 let cB = cs.price
341341 let cC = fraction(b, bf, be)
342342 let cD = H(cB, b, cC)
343343 let cE = if ((cs.orderType == Buy))
344344 then (bA >= cD)
345345 else (cD >= bA)
346346 true
347347 }
348348 }
349349 }
350350
351351
352352 func cF (cG) = if ((size(cG.payments) != 1))
353353 then throw("exactly 1 payment is expected")
354354 else {
355355 let cH = value(cG.payments[0])
356356 let bo = value(cH.assetId)
357357 let cI = cH.amount
358358 let bY = bm(toBase58String(cG.transactionId), toBase58String(bo), cI, cG.caller)
359359 let bF = bY._1
360360 let bG = bY._2
361361 let bt = parseIntValue(bY._9)
362362 let bH = bY._10
363363 if (if (au())
364364 then true
365365 else (bt == l))
366366 then throw(("Get operation is blocked by admin. Status = " + toString(bt)))
367367 else $Tuple5(bF, bG, cI, bo, bH)
368368 }
369369
370370
371371 func cJ (cG,bJ,bP) = if ((size(cG.payments) != 2))
372372 then throw("exactly 2 payments are expected")
373373 else {
374374 let cK = value(cG.payments[0])
375375 let cL = value(cG.payments[1])
376376 let cM = bI(toBase58String(cG.transactionId), bJ, cK.amount, cK.assetId, cL.amount, cL.assetId, toString(cG.caller), false, bP, false)
377377 let cN = parseIntValue(cM._8)
378378 if (if (if (au())
379379 then true
380380 else (cN == j))
381381 then true
382382 else (cN == l))
383383 then throw(("Put operation is blocked by admin. Status = " + toString(cN)))
384384 else cM
385385 }
386386
387387
388388 @Callable(cG)
389389 func constructor (at,cO) = if ((cG.caller != this))
390390 then throw("permissions denied")
391391 else [StringEntry(M(), at), StringEntry(N(), cO)]
392392
393393
394394
395395 @Callable(cG)
396396 func put (bJ,cP) = {
397397 let cQ = az()
398398 let cR = valueOrErrorMessage(addressFromString(cQ[z]), "Error. Incorrect staking address.")
399399 let cS = valueOrErrorMessage(addressFromString(cQ[A]), "Error. Incorrect slippage contract address.")
400400 if ((0 > bJ))
401401 then throw("Invalid slippageTolerance passed")
402402 else {
403403 let cM = cJ(cG, bJ, true)
404404 let cn = cM._2
405405 let bq = cM._7
406406 let bH = cM._9
407407 let co = cM._10
408408 let cp = cM._11
409409 let cT = cM._12
410410 let cU = cM._13
411411 let cV = invoke(at, "emit", [cn], nil)
412412 if ((cV == cV))
413413 then {
414414 let cW = if ((co > 0))
415415 then invoke(cS, "put", nil, [AttachedPayment(cT, co)])
416416 else nil
417417 if ((cW == cW))
418418 then {
419419 let cX = if ((cp > 0))
420420 then invoke(cS, "put", nil, [AttachedPayment(cU, cp)])
421421 else nil
422422 if ((cX == cX))
423423 then {
424424 let cY = if (cP)
425425 then {
426426 let cZ = invoke(cR, "stake", nil, [AttachedPayment(bq, cn)])
427427 if ((cZ == cZ))
428428 then nil
429429 else throw("Strict value is not equal to itself.")
430430 }
431431 else [ScriptTransfer(cG.caller, cn, bq)]
432432 (bH ++ cY)
433433 }
434434 else throw("Strict value is not equal to itself.")
435435 }
436436 else throw("Strict value is not equal to itself.")
437437 }
438438 else throw("Strict value is not equal to itself.")
439439 }
440440 }
441441
442442
443443
444444 @Callable(cG)
445445 func putOneTkn (da,db,cP) = {
446446 let bd = az()
447447 let cR = valueOrErrorMessage(addressFromString(bd[z]), "Error. Incorrect staking address.")
448448 let dc = aw()
449449 let br = dc[p]
450450 let bs = dc[q]
451451 let aV = parseIntValue(dc[r])
452452 let aW = parseIntValue(dc[s])
453453 if ((size(cG.payments) != 1))
454454 then throw("exactly 1 payment are expected")
455455 else {
456456 let cH = value(cG.payments[0])
457457 let bo = value(cH.assetId)
458458 let cI = cH.amount
459459 let dd = B(da, aV)
460460 let de = B(db, aW)
461461 let df = aR(de, dd)
462- if (true)
463- then throw(((toBase58String(bo) + " : ") + br))
462+ let dg = if ((toBase58String(bo) == br))
463+ then {
464+ let dh = B(cI, aV)
465+ let di = (dh - dd)
466+ let dj = fraction(di, df, e)
467+ let dk = fraction((dj - de), c, de)
468+ if (true)
469+ then throw(((((((("inAmtAmount = " + toString(dd)) + " inPrAmount = ") + toString(de)) + " eqPriceAsset = ") + toString(dj)) + " diffByPriceAsset = ") + toString(di)))
470+ else true
471+ }
464472 else {
465- let dg = if ((toBase58String(bo) == br))
473+ let dl = B(cI, aW)
474+ let dm = (dl - de)
475+ let dn = fraction(dm, e, df)
476+ let do = fraction((dn - dd), c, dd)
477+ if (true)
478+ then throw(((((((("inAmtAmount = " + toString(dd)) + " inPrAmount = ") + toString(de)) + " eqAmtAsset = ") + toString(dn)) + " diffByAmountAsset = ") + toString(dm)))
479+ else true
480+ }
481+ let cM = bI(toBase58String(cG.transactionId), 0, da, fromBase58String(br), db, fromBase58String(bs), toString(cG.caller), false, true, true)
482+ let cn = cM._2
483+ let bq = cM._7
484+ let cN = parseIntValue(cM._8)
485+ if (if (if (au())
486+ then true
487+ else (cN == j))
488+ then true
489+ else (cN == l))
490+ then throw(("Put operation is blocked by admin. Status = " + toString(cN)))
491+ else {
492+ let cV = invoke(at, "emit", [cn], nil)
493+ if ((cV == cV))
466494 then {
467- let dh = B(cI, aV)
468- let di = (dh - dd)
469- let dj = fraction(di, df, e)
470- let dk = fraction((dj - de), c, de)
471- if (true)
472- then throw(((((((("inAmtAmount = " + toString(dd)) + " inPrAmount = ") + toString(de)) + " eqPriceAsset = ") + toString(dj)) + " diffByPriceAsset = ") + toString(di)))
473- else true
495+ let cY = if (cP)
496+ then {
497+ let dp = invoke(cR, "stake", nil, [AttachedPayment(bq, cn)])
498+ if ((dp == dp))
499+ then nil
500+ else throw("Strict value is not equal to itself.")
501+ }
502+ else [ScriptTransfer(cG.caller, cn, bq)]
503+ (cM._9 ++ cY)
474504 }
475- else {
476- let dl = B(cI, aW)
477- let dm = (dl - de)
478- let dn = fraction(dm, e, df)
479- let do = fraction((dn - dd), c, dd)
480- if (true)
481- then throw(((((((("inAmtAmount = " + toString(dd)) + " inPrAmount = ") + toString(de)) + " eqAmtAsset = ") + toString(dn)) + " diffByAmountAsset = ") + toString(dm)))
482- else true
483- }
484- let cM = bI(toBase58String(cG.transactionId), 0, da, fromBase58String(br), db, fromBase58String(bs), toString(cG.caller), false, true, true)
485- let cn = cM._2
486- let bq = cM._7
487- let cN = parseIntValue(cM._8)
488- if (if (if (au())
489- then true
490- else (cN == j))
491- then true
492- else (cN == l))
493- then throw(("Put operation is blocked by admin. Status = " + toString(cN)))
494- else {
495- let cV = invoke(at, "emit", [cn], nil)
496- if ((cV == cV))
497- then {
498- let cY = if (cP)
499- then {
500- let dp = invoke(cR, "stake", nil, [AttachedPayment(bq, cn)])
501- if ((dp == dp))
502- then nil
503- else throw("Strict value is not equal to itself.")
504- }
505- else [ScriptTransfer(cG.caller, cn, bq)]
506- (cM._9 ++ cY)
507- }
508- else throw("Strict value is not equal to itself.")
509- }
505+ else throw("Strict value is not equal to itself.")
510506 }
511507 }
512508 }
513509
514510
515511
516512 @Callable(cG)
517513 func putForFree (dq) = if ((0 > dq))
518514 then throw("Invalid value passed")
519515 else {
520516 let cM = cJ(cG, dq, false)
521517 cM._9
522518 }
523519
524520
525521
526522 @Callable(cG)
527523 func get () = {
528524 let bY = cF(cG)
529525 let dr = bY._1
530526 let bG = bY._2
531527 let cI = bY._3
532528 let bo = bY._4
533529 let bH = bY._5
534530 let ds = invoke(at, "burn", [cI], [AttachedPayment(bo, cI)])
535531 if ((ds == ds))
536532 then bH
537533 else throw("Strict value is not equal to itself.")
538534 }
539535
540536
541537
542538 @Callable(cG)
543539 func getOneTkn (dt,du,dv,dw) = if ((size(cG.payments) != 1))
544540 then throw("exactly 1 payment is expected")
545541 else {
546542 let bd = aw()
547543 let bq = bd[o]
548544 let br = bd[p]
549545 let bs = bd[q]
550546 let aV = parseIntValue(bd[r])
551547 let aW = parseIntValue(bd[s])
552548 let bt = bd[n]
553549 if (if ((dw != br))
554550 then (dw != bs)
555551 else false)
556552 then throw(("Incorrect out asset id passed: " + dw))
557553 else {
558554 let dx = if ((dw == br))
559555 then br
560556 else bs
561557 let dy = if ((dw == br))
562558 then dv
563559 else 0
564560 let dz = if ((dw == bs))
565561 then dv
566562 else 0
567563 let cH = value(cG.payments[0])
568564 let T = cG.caller
569565 let bn = toBase58String(cG.transactionId)
570566 let bo = value(cH.assetId)
571567 let cI = cH.amount
572568 if ((bq != toBase58String(bo)))
573569 then throw("Invalid asset passed.")
574570 else {
575571 let dd = B(dt, aV)
576572 let de = B(du, aW)
577573 let dA = aR(de, dd)
578574 let dB = bm(toBase58String(cG.transactionId), toBase58String(bo), cI, cG.caller)
579575 let bF = dB._1
580576 let bG = dB._2
581577 let dg = if ((dw == br))
582578 then {
583579 let dC = (dy - bF)
584580 let dD = fraction(B(dC, aV), dA, e)
585581 let dk = fraction((dD - de), c, de)
586582 if (if ((dk > d))
587583 then true
588584 else (-(d) > dk))
589585 then throw(((("Slippage exeeded the value " + toString(d)) + " and equal to ") + toString(dk)))
590586 else true
591587 }
592588 else {
593589 let dE = (dz - bG)
594590 let dD = fraction(B(dE, aV), e, dA)
595591 let do = fraction((dD - dd), c, dd)
596592 if (if ((do > d))
597593 then true
598594 else (-(d) > do))
599595 then throw(((("Slippage exeeded the value " + toString(d)) + " and equal to ") + toString(do)))
600596 else true
601597 }
602598 let bv = aP(br)
603599 let bw = B(bv, aV)
604600 let bx = aP(bs)
605601 let by = B(bx, aW)
606602 let bz = aR(by, bw)
607603 let bA = E(bz, b)
608604 let bH = [ScriptTransfer(T, dv, if ((dx == "WAVES"))
609605 then unit
610606 else fromBase58String(dx)), StringEntry(V(toString(T), bn), aL(dy, dz, cI, bA, height, lastBlock.timestamp)), IntegerEntry(O(), bA), IntegerEntry(P(height, lastBlock.timestamp), bA)]
611607 let dF = invoke(at, "burn", [cI], [AttachedPayment(bo, cI)])
612608 if ((dF == dF))
613609 then bH
614610 else throw("Strict value is not equal to itself.")
615611 }
616612 }
617613 }
618614
619615
620616
621617 @Callable(cG)
622618 func getNoLess (dG,dH) = {
623619 let bY = cF(cG)
624620 let bF = bY._1
625621 let bG = bY._2
626622 let cI = bY._3
627623 let bo = bY._4
628624 let bH = bY._5
629625 if ((dG > bF))
630626 then throw(((("noLessThenAmtAsset failed: " + toString(bF)) + " < ") + toString(dG)))
631627 else if ((dH > bG))
632628 then throw(((("noLessThenPriceAsset failed: " + toString(bG)) + " < ") + toString(dH)))
633629 else {
634630 let ds = invoke(at, "burn", [cI], [AttachedPayment(bo, cI)])
635631 if ((ds == ds))
636632 then bH
637633 else throw("Strict value is not equal to itself.")
638634 }
639635 }
640636
641637
642638
643639 @Callable(cG)
644640 func unstakeAndGet (dI) = {
645641 let dJ = if ((size(cG.payments) != 0))
646642 then throw("No payments are expected")
647643 else true
648644 if ((dJ == dJ))
649645 then {
650646 let bd = aw()
651647 let cQ = az()
652648 let bq = fromBase58String(bd[o])
653649 let cR = valueOrErrorMessage(addressFromString(cQ[z]), "Error. Incorrect staking address.")
654650 let dK = invoke(cR, "unstake", [toBase58String(bq), dI], nil)
655651 if ((dK == dK))
656652 then {
657653 let bY = bm(toBase58String(cG.transactionId), toBase58String(bq), dI, cG.caller)
658654 let bt = parseIntValue(bY._9)
659655 let bH = bY._10
660656 let dL = if (if (au())
661657 then true
662658 else (bt == l))
663659 then throw(("Get operation is blocked by admin. Status = " + toString(bt)))
664660 else true
665661 if ((dL == dL))
666662 then {
667663 let ds = invoke(at, "burn", [dI], [AttachedPayment(bq, dI)])
668664 if ((ds == ds))
669665 then bH
670666 else throw("Strict value is not equal to itself.")
671667 }
672668 else throw("Strict value is not equal to itself.")
673669 }
674670 else throw("Strict value is not equal to itself.")
675671 }
676672 else throw("Strict value is not equal to itself.")
677673 }
678674
679675
680676
681677 @Callable(cG)
682678 func activate (dM,dN) = if ((toString(cG.caller) != toString(at)))
683679 then throw("permissions denied")
684680 else $Tuple2([StringEntry(W(), dM), StringEntry(X(), dN)], "success")
685681
686682
687683
688684 @Callable(cG)
689685 func getPoolConfigWrapperREADONLY () = $Tuple2(nil, aw())
690686
691687
692688
693689 @Callable(cG)
694690 func getAccBalanceWrapperREADONLY (aQ) = $Tuple2(nil, aP(aQ))
695691
696692
697693
698694 @Callable(cG)
699695 func calcPricesWrapperREADONLY (aX,aY,bc) = {
700696 let bl = bb(aX, aY, bc)
701697 $Tuple2(nil, [toString(bl[0]), toString(bl[1]), toString(bl[2])])
702698 }
703699
704700
705701
706702 @Callable(cG)
707703 func fromX18WrapperREADONLY (F,G) = $Tuple2(nil, E(parseBigIntValue(F), G))
708704
709705
710706
711707 @Callable(cG)
712708 func toX18WrapperREADONLY (C,D) = $Tuple2(nil, toString(B(C, D)))
713709
714710
715711
716712 @Callable(cG)
717713 func calcPriceBigIntWrapperREADONLY (aS,aT) = $Tuple2(nil, toString(aR(parseBigIntValue(aS), parseBigIntValue(aT))))
718714
719715
720716
721717 @Callable(cG)
722718 func estimatePutOperationWrapperREADONLY (bn,bJ,bK,bL,bM,bN,T,bO,bP,bQ) = $Tuple2(nil, bI(bn, bJ, bK, bL, bM, bN, T, bO, bP, bQ))
723719
724720
725721
726722 @Callable(cG)
727723 func estimateGetOperationWrapperREADONLY (bn,bo,bp,T) = {
728724 let bY = bm(bn, bo, bp, addressFromStringValue(T))
729725 $Tuple2(nil, $Tuple10(bY._1, bY._2, bY._3, bY._4, bY._5, bY._6, bY._7, toString(bY._8), bY._9, bY._10))
730726 }
731727
732728
733729 @Verifier(dO)
734730 func dP () = {
735731 let dQ = dO
736732 if ($isInstanceOf(dQ, "Order"))
737733 then {
738734 let cs = dQ
739735 let dR = av()
740736 let am = cr(cs)
741737 let an = sigVerify(cs.bodyBytes, cs.proofs[0], cs.senderPublicKey)
742738 let ao = sigVerify(cs.bodyBytes, cs.proofs[1], dR)
743739 if (if (if (am)
744740 then an
745741 else false)
746742 then ao
747743 else false)
748744 then true
749745 else al(am, an, ao)
750746 }
751747 else {
752748 let dS = valueOrElse(getString(this, N()), h)
753749 if ((dS == h))
754750 then sigVerify(dO.bodyBytes, dO.proofs[0], dO.senderPublicKey)
755751 else sigVerify(dO.bodyBytes, dO.proofs[0], fromBase58String(dS))
756752 }
757753 }
758754

github/deemru/w8io/169f3d6 
100.72 ms