tx · 79nMcFKAsuAYNjczHKW6iZYhPokiATAuJiL2keFgHqRw

3NAefciWv6f9fWvEXdGgpHfanJFG8HqfjuT:  -0.01400000 Waves

2021.12.25 13:24 [1849674] smart account 3NAefciWv6f9fWvEXdGgpHfanJFG8HqfjuT > SELF 0.00000000 Waves

{ "type": 13, "id": "79nMcFKAsuAYNjczHKW6iZYhPokiATAuJiL2keFgHqRw", "fee": 1400000, "feeAssetId": null, "timestamp": 1640427935435, "version": 1, "sender": "3NAefciWv6f9fWvEXdGgpHfanJFG8HqfjuT", "senderPublicKey": "D1BL65meykxFZTCuq7jq9HSGLLnWvQamQPUNrguW5w39", "proofs": [ "5RPJJrGgewsoiRnxrNLtubY6C5m3iPzqkVcVZ8u9gfrarW3EKfhDGHyBL1fVrCQrhn8TJYVWAdQtPTEZDArokkJi" ], "script": "base64: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b3J5Q29uZmlnAQAAAA1rZXlNYXRjaGVyUHViAAAAAAIAAAAYJXMlc19fbWF0Y2hlcl9fcHVibGljS2V5AQAAAA1rZXlQb29sQ29uZmlnAAAAAgAAAAlpQW10QXNzZXQAAAALaVByaWNlQXNzZXQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIJWQlZCVzX18FAAAACWlBbXRBc3NldAIAAAACX18FAAAAC2lQcmljZUFzc2V0AgAAAAhfX2NvbmZpZwEAAAAfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZAAAAAEAAAAMYmFzZUFzc2V0U3RyCQABLAAAAAICAAAAKCVzJXMlc19fbWFwcGluZ3NfX2Jhc2VBc3NldDJpbnRlcm5hbElkX18FAAAADGJhc2VBc3NldFN0cgEAAAATa2V5QWxsUG9vbHNTaHV0ZG93bgAAAAACAAAADCVzX19zaHV0ZG93bgEAAAANa2V5UG9vbFdlaWdodAAAAAEAAAAPY29udHJhY3RBZGRyZXNzCQABLAAAAAICAAAAEiVzJXNfX3Bvb2xXZWlnaHRfXwUAAAAPY29udHJhY3RBZGRyZXNzAQAAAA90aHJvd09yZGVyRXJyb3IAAAADAAAACm9yZGVyVmFsaWQAAAALc2VuZGVyVmFsaWQAAAAMbWF0Y2hlclZhbGlkCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAB5WYWxpZGF0aW9uIGZhaWxlZDogb3JkZXJWYWxpZD0JAAGlAAAAAQUAAAAKb3JkZXJWYWxpZAIAAAANIHNlbmRlclZhbGlkPQkAAaUAAAABBQAAAAtzZW5kZXJWYWxpZAIAAAAOIG1hdGNoZXJWYWxpZD0JAAGlAAAAAQUAAAAMbWF0Y2hlclZhbGlkAQAAAAhhc1N0cmluZwAAAAEAAAADdmFsBAAAAAckbWF0Y2gwBQAAAAN2YWwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAAGdmFsU3RyBQAAAAckbWF0Y2gwBQAAAAZ2YWxTdHIJAAACAAAAAQIAAAATZmFpbCBjYXN0IHRvIFN0cmluZwEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQkABLkAAAACCQAETAAAAAICAAAACm1hbmRhdG9yeSAJAARMAAAAAgkABCUAAAABBQAAAAdhZGRyZXNzCQAETAAAAAICAAAAAS4JAARMAAAAAgUAAAADa2V5CQAETAAAAAICAAAADyBpcyBub3QgZGVmaW5lZAUAAAADbmlsAgAAAAABAAAADGdldEludE9yRmFpbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkJAAS5AAAAAgkABEwAAAACAgAAAAptYW5kYXRvcnkgCQAETAAAAAIJAAQlAAAAAQUAAAAHYWRkcmVzcwkABEwAAAACAgAAAAEuCQAETAAAAAIFAAAAA2tleQkABEwAAAACAgAAAA8gaXMgbm90IGRlZmluZWQFAAAAA25pbAIAAAAAAAAAAA9mYWN0b3J5Q29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAAR0aGlzCQEAAAALa2V5RmFjdENudHIAAAAAAQAAABBpc0dsb2JhbFNodXRkb3duAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAABNrZXlBbGxQb29sc1NodXRkb3duAAAAAAcBAAAAE2dldE1hdGNoZXJQdWJPckZhaWwAAAAACQACWQAAAAEJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAA1rZXlNYXRjaGVyUHViAAAAAAEAAAANZ2V0UG9vbENvbmZpZwAAAAAEAAAABWFtdEFzCQEAAAAPZ2V0U3RyaW5nT3JGYWlsAAAAAgUAAAAEdGhpcwkBAAAAC2tleUFtdEFzc2V0AAAAAAQAAAAHcHJpY2VBcwkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAABHRoaXMJAQAAAA1rZXlQcmljZUFzc2V0AAAAAAQAAAAIaVByaWNlQXMJAQAAAAxnZXRJbnRPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAB9rZXlNYXBwaW5nc0Jhc2VBc3NldDJpbnRlcm5hbElkAAAAAQUAAAAHcHJpY2VBcwQAAAAGaUFtdEFzCQEAAAAMZ2V0SW50T3JGYWlsAAAAAgUAAAAPZmFjdG9yeUNvbnRyYWN0CQEAAAAfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZAAAAAEFAAAABWFtdEFzCQAEtQAAAAIJAQAAAA9nZXRTdHJpbmdPckZhaWwAAAACBQAAAA9mYWN0b3J5Q29udHJhY3QJAQAAAA1rZXlQb29sQ29uZmlnAAAAAgkAAaQAAAABBQAAAAZpQW10QXMJAAGkAAAAAQUAAAAIaVByaWNlQXMFAAAAA1NFUAEAAAAQZ2V0RmFjdG9yeUNvbmZpZwAAAAAJAAS1AAAAAgkBAAAAD2dldFN0cmluZ09yRmFpbAAAAAIFAAAAD2ZhY3RvcnlDb250cmFjdAkBAAAAEGtleUZhY3RvcnlDb25maWcAAAAABQAAAANTRVABAAAAEWRhdGFQdXRBY3Rpb25JbmZvAAAACgAAAA1pbkFtdEFzc2V0QW10AAAAD2luUHJpY2VBc3NldEFtdAAAAAhvdXRMcEFtdAAAAAVwcmljZQAAAA5zbGlwcGFnZUJ5VXNlcgAAAAxzbGlwcGFnZVJlYWwAAAAIdHhIZWlnaHQAAAALdHhUaW1lc3RhbXAAAAAMc2xpcGFnZUFtQW10AAAADHNsaXBhZ2VQckFtdAkABLkAAAACCQAETAAAAAICAAAAFCVkJWQlZCVkJWQlZCVkJWQlZCVkCQAETAAAAAIJAAGkAAAAAQUAAAANaW5BbXRBc3NldEFtdAkABEwAAAACCQABpAAAAAEFAAAAD2luUHJpY2VBc3NldEFtdAkABEwAAAACCQABpAAAAAEFAAAACG91dExwQW10CQAETAAAAAIJAAGkAAAAAQUAAAAFcHJpY2UJAARMAAAAAgkAAaQAAAABBQAAAA5zbGlwcGFnZUJ5VXNlcgkABEwAAAACCQABpAAAAAEFAAAADHNsaXBwYWdlUmVhbAkABEwAAAACCQABpAAAAAEFAAAACHR4SGVpZ2h0CQAETAAAAAIJAAGkAAAAAQUAAAALdHhUaW1lc3RhbXAJAARMAAAAAgkAAaQAAAABBQAAAAxzbGlwYWdlQW1BbXQJAARMAAAAAgkAAaQAAAABBQAAAAxzbGlwYWdlUHJBbXQFAAAAA25pbAUAAAADU0VQAQAAABFkYXRhR2V0QWN0aW9uSW5mbwAAAAYAAAAOb3V0QW10QXNzZXRBbXQAAAAQb3V0UHJpY2VBc3NldEFtdAAAAAdpbkxwQW10AAAABXByaWNlAAAACHR4SGVpZ2h0AAAAC3R4VGltZXN0YW1wCQAEuQAAAAIJAARMAAAAAgIAAAAMJWQlZCVkJWQlZCVkCQAETAAAAAIJAAGkAAAAAQUAAAAOb3V0QW10QXNzZXRBbXQJAARMAAAAAgkAAaQAAAABBQAAABBvdXRQcmljZUFzc2V0QW10CQAETAAAAAIJAAGkAAAAAQUAAAAHaW5McEFtdAkABEwAAAACCQABpAAAAAEFAAAABXByaWNlCQAETAAAAAIJAAGkAAAAAQUAAAAIdHhIZWlnaHQJAARMAAAAAgkAAaQAAAABBQAAAAt0eFRpbWVzdGFtcAUAAAADbmlsBQAAAANTRVABAAAADWdldEFjY0JhbGFuY2UAAAABAAAAB2Fzc2V0SWQDCQAAAAAAAAIFAAAAB2Fzc2V0SWQCAAAABVdBVkVTCAkAA+8AAAABBQAAAAR0aGlzAAAACWF2YWlsYWJsZQkAA/AAAAACBQAAAAR0aGlzCQACWQAAAAEFAAAAB2Fzc2V0SWQBAAAAD2NhbGNQcmljZUJpZ0ludAAAAAIAAAAIcHJBbXRYMTgAAAAIYW1BbXRYMTgJAAE8AAAAAwUAAAAIcHJBbXRYMTgFAAAAB3NjYWxlMTgFAAAACGFtQW10WDE4AQAAAAtjYWxjQWJzRGlmZgAAAAMAAAAHcmVhbEFtdAAAAAtleHBlY3RlZEFtdAAAAAhzbGlwcGFnZQQAAAAEZGlmZgkAATwAAAADCQABOAAAAAIFAAAAB3JlYWxBbXQFAAAAC2V4cGVjdGVkQW10BQAAAAxzY2FsZThCaWdJbnQFAAAAC2V4cGVjdGVkQW10CQAFFQAAAAMJAAE/AAAAAgkAATgAAAACBQAAAAhzbGlwcGFnZQkBAAAAA2FicwAAAAEFAAAABGRpZmYFAAAACnplcm9CaWdJbnQJAAGZAAAAAQkABEwAAAACBQAAAAdyZWFsQW10CQAETAAAAAIFAAAAC2V4cGVjdGVkQW10BQAAAANuaWwFAAAABGRpZmYBAAAAEHByaXZhdGVDYWxjUHJpY2UAAAAEAAAACmFtQXNzZXREY20AAAAKcHJBc3NldERjbQAAAAVhbUFtdAAAAAVwckFtdAQAAAALYW10QXNBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAABWFtQW10BQAAAAphbUFzc2V0RGNtBAAAAApwckFzQW10WDE4CQEAAAAFdG9YMTgAAAACBQAAAAVwckFtdAUAAAAKcHJBc3NldERjbQkBAAAAD2NhbGNQcmljZUJpZ0ludAAAAAIFAAAACnByQXNBbXRYMTgFAAAAC2FtdEFzQW10WDE4AQAAAApjYWxjUHJpY2VzAAAAAwAAAAVhbUFtdAAAAAVwckFtdAAAAAVscEFtdAQAAAADY2ZnCQEAAAANZ2V0UG9vbENvbmZpZwAAAAAEAAAACGFtdEFzRGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAAAtpZHhBbXRBc0RjbQQAAAAHcHJBc0RjbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAANaWR4UHJpY2VBc0RjbQQAAAAIcHJpY2VYMTgJAQAAABBwcml2YXRlQ2FsY1ByaWNlAAAABAUAAAAIYW10QXNEY20FAAAAB3ByQXNEY20FAAAABWFtQW10BQAAAAVwckFtdAQAAAAIYW1BbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAABWFtQW10BQAAAAhhbXRBc0RjbQQAAAAIcHJBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAABXByQW10BQAAAAdwckFzRGNtBAAAAAhscEFtdFgxOAkBAAAABXRvWDE4AAAAAgUAAAAFbHBBbXQFAAAABnNjYWxlOAQAAAANbHBQckluQW1Bc1gxOAkBAAAAD2NhbGNQcmljZUJpZ0ludAAAAAIFAAAACGFtQW10WDE4BQAAAAhscEFtdFgxOAQAAAANbHBQckluUHJBc1gxOAkBAAAAD2NhbGNQcmljZUJpZ0ludAAAAAIFAAAACHByQW10WDE4BQAAAAhscEFtdFgxOAkABEwAAAACBQAAAAhwcmljZVgxOAkABEwAAAACBQAAAA1scFBySW5BbUFzWDE4CQAETAAAAAIFAAAADWxwUHJJblByQXNYMTgFAAAAA25pbAEAAAAPY2FsY3VsYXRlUHJpY2VzAAAAAwAAAAVhbUFtdAAAAAVwckFtdAAAAAVscEFtdAQAAAAGcHJpY2VzCQEAAAAKY2FsY1ByaWNlcwAAAAMFAAAABWFtQW10BQAAAAVwckFtdAUAAAAFbHBBbXQJAARMAAAAAgkBAAAAB2Zyb21YMTgAAAACCQABkQAAAAIFAAAABnByaWNlcwAAAAAAAAAAAAUAAAAGc2NhbGU4CQAETAAAAAIJAQAAAAdmcm9tWDE4AAAAAgkAAZEAAAACBQAAAAZwcmljZXMAAAAAAAAAAAEFAAAABnNjYWxlOAkABEwAAAACCQEAAAAHZnJvbVgxOAAAAAIJAAGRAAAAAgUAAAAGcHJpY2VzAAAAAAAAAAACBQAAAAZzY2FsZTgFAAAAA25pbAEAAAAUZXN0aW1hdGVHZXRPcGVyYXRpb24AAAAEAAAABnR4SWQ1OAAAAApwbXRBc3NldElkAAAACHBtdExwQW10AAAAC3VzZXJBZGRyZXNzBAAAAANjZmcJAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAAEbHBJZAkAAZEAAAACBQAAAANjZmcFAAAACWlkeExQQXNJZAQAAAAEYW1JZAkAAZEAAAACBQAAAANjZmcFAAAACWlkeEFtQXNJZAQAAAAEcHJJZAkAAZEAAAACBQAAAANjZmcFAAAACWlkeFByQXNJZAQAAAAFYW1EY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAAC2lkeEFtdEFzRGNtBAAAAAVwckRjbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAANaWR4UHJpY2VBc0RjbQQAAAAKcG9vbFN0YXR1cwkAAZEAAAACBQAAAANjZmcFAAAADWlkeFBvb2xTdGF0dXMEAAAACmxwRW1pc3Npb24ICQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPsAAAAAQkAAlkAAAABBQAAAARscElkAgAAAA1JbnZhbGlkIExQIGlkAAAACHF1YW50aXR5AwkBAAAAAiE9AAAAAgUAAAAEbHBJZAUAAAAKcG10QXNzZXRJZAkAAAIAAAABAgAAABFJbnZhbGlkIHBtdCBhc3NldAQAAAAJYW1CYWxhbmNlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAABGFtSWQEAAAADGFtQmFsYW5jZVgxOAkBAAAABXRvWDE4AAAAAgUAAAAJYW1CYWxhbmNlBQAAAAVhbURjbQQAAAAJcHJCYWxhbmNlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAABHBySWQEAAAADHByQmFsYW5jZVgxOAkBAAAABXRvWDE4AAAAAgUAAAAJcHJCYWxhbmNlBQAAAAVwckRjbQQAAAALY3VyUHJpY2VYMTgJAQAAAA9jYWxjUHJpY2VCaWdJbnQAAAACBQAAAAxwckJhbGFuY2VYMTgFAAAADGFtQmFsYW5jZVgxOAQAAAAIY3VyUHJpY2UJAQAAAAdmcm9tWDE4AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAABnNjYWxlOAQAAAALcG10THBBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAACHBtdExwQW10BQAAAAZzY2FsZTgEAAAADWxwRW1pc3Npb25YMTgJAQAAAAV0b1gxOAAAAAIFAAAACmxwRW1pc3Npb24FAAAABnNjYWxlOAQAAAALb3V0QW1BbXRYMTgJAAE8AAAAAwUAAAAMYW1CYWxhbmNlWDE4BQAAAAtwbXRMcEFtdFgxOAUAAAANbHBFbWlzc2lvblgxOAQAAAALb3V0UHJBbXRYMTgJAAE8AAAAAwUAAAAMcHJCYWxhbmNlWDE4BQAAAAtwbXRMcEFtdFgxOAUAAAANbHBFbWlzc2lvblgxOAQAAAAIb3V0QW1BbXQJAQAAAAdmcm9tWDE4AAAAAgUAAAALb3V0QW1BbXRYMTgFAAAABWFtRGNtBAAAAAhvdXRQckFtdAkBAAAAB2Zyb21YMTgAAAACBQAAAAtvdXRQckFtdFgxOAUAAAAFcHJEY20EAAAABXN0YXRlAwkAAAAAAAACBQAAAAZ0eElkNTgCAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC3VzZXJBZGRyZXNzBQAAAAhvdXRBbUFtdAMJAAAAAAAAAgUAAAAEYW1JZAIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAAEYW1JZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAt1c2VyQWRkcmVzcwUAAAAIb3V0UHJBbXQDCQAAAAAAAAIFAAAABHBySWQCAAAABVdBVkVTBQAAAAR1bml0CQACWQAAAAEFAAAABHBySWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmtleUdldEFjdGlvbkJ5VXNlcgAAAAIJAAQlAAAAAQUAAAALdXNlckFkZHJlc3MFAAAABnR4SWQ1OAkBAAAAEWRhdGFHZXRBY3Rpb25JbmZvAAAABgUAAAAIb3V0QW1BbXQFAAAACG91dFByQW10BQAAAAhwbXRMcEFtdAUAAAAIY3VyUHJpY2UFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxrZXlQcmljZUxhc3QAAAAABQAAAAhjdXJQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAD2tleVByaWNlSGlzdG9yeQAAAAIFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAACGN1clByaWNlBQAAAANuaWwJAAUcAAAACgUAAAAIb3V0QW1BbXQFAAAACG91dFByQW10BQAAAARhbUlkBQAAAARwcklkBQAAAAlhbUJhbGFuY2UFAAAACXByQmFsYW5jZQUAAAAKbHBFbWlzc2lvbgUAAAALY3VyUHJpY2VYMTgFAAAACnBvb2xTdGF0dXMFAAAABXN0YXRlAQAAABRlc3RpbWF0ZVB1dE9wZXJhdGlvbgAAAAkAAAAGdHhJZDU4AAAACHNsaXBwYWdlAAAAB2luQW1BbXQAAAAGaW5BbUlkAAAAB2luUHJBbXQAAAAGaW5QcklkAAAAC3VzZXJBZGRyZXNzAAAACmlzRXZhbHVhdGUAAAAGZW1pdExwBAAAAANjZmcJAQAAAA1nZXRQb29sQ29uZmlnAAAAAAQAAAAEbHBJZAkAAlkAAAABCQABkQAAAAIFAAAAA2NmZwUAAAAJaWR4TFBBc0lkBAAAAAdhbUlkU3RyCQABkQAAAAIFAAAAA2NmZwUAAAAJaWR4QW1Bc0lkBAAAAAdwcklkU3RyCQABkQAAAAIFAAAAA2NmZwUAAAAJaWR4UHJBc0lkBAAAAAlpbkFtSWRTdHIJAAGRAAAAAgUAAAADY2ZnBQAAAAtpZHhJQW10QXNJZAQAAAAJaW5QcklkU3RyCQABkQAAAAIFAAAAA2NmZwUAAAANaWR4SVByaWNlQXNJZAQAAAAGYW10RGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAAAtpZHhBbXRBc0RjbQQAAAAIcHJpY2VEY20JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAADWlkeFByaWNlQXNEY20EAAAACnBvb2xTdGF0dXMJAAGRAAAAAgUAAAADY2ZnBQAAAA1pZHhQb29sU3RhdHVzBAAAAApscEVtaXNzaW9uCAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAD7AAAAAEFAAAABGxwSWQCAAAADldyb25nIGxwIGFzc2V0AAAACHF1YW50aXR5BAAAAAlhbUJhbGFuY2UDBQAAAAppc0V2YWx1YXRlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB2FtSWRTdHIJAABlAAAAAgkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAdhbUlkU3RyBQAAAAdpbkFtQW10BAAAAAlwckJhbGFuY2UDBQAAAAppc0V2YWx1YXRlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB3BySWRTdHIJAABlAAAAAgkBAAAADWdldEFjY0JhbGFuY2UAAAABBQAAAAdwcklkU3RyBQAAAAdpblByQW10BAAAAA9pbkFtQXNzZXRBbXRYMTgJAQAAAAV0b1gxOAAAAAIFAAAAB2luQW1BbXQFAAAABmFtdERjbQQAAAAPaW5QckFzc2V0QW10WDE4CQEAAAAFdG9YMTgAAAACBQAAAAdpblByQW10BQAAAAhwcmljZURjbQQAAAAMdXNlclByaWNlWDE4CQEAAAAPY2FsY1ByaWNlQmlnSW50AAAAAgUAAAAPaW5QckFzc2V0QW10WDE4BQAAAA9pbkFtQXNzZXRBbXRYMTgEAAAADGFtQmFsYW5jZVgxOAkBAAAABXRvWDE4AAAAAgUAAAAJYW1CYWxhbmNlBQAAAAZhbXREY20EAAAADHByQmFsYW5jZVgxOAkBAAAABXRvWDE4AAAAAgUAAAAJcHJCYWxhbmNlBQAAAAhwcmljZURjbQQAAAADcmVzAwkAAAAAAAACBQAAAApscEVtaXNzaW9uAAAAAAAAAAAABAAAAAtjdXJQcmljZVgxOAUAAAAKemVyb0JpZ0ludAQAAAALc2xpcHBhZ2VYMTgFAAAACnplcm9CaWdJbnQEAAAACGxwQW10WDE4CQAAdgAAAAYJAAE5AAAAAgUAAAAPaW5BbUFzc2V0QW10WDE4BQAAAA9pblByQXNzZXRBbXRYMTgAAAAAAAAAAAAJAAE2AAAAAQAAAAAAAAAABQAAAAAAAAAAAQAAAAAAAAAAAAUAAAAERE9XTgkABRcAAAAFCQEAAAAHZnJvbVgxOAAAAAIFAAAACGxwQW10WDE4BQAAAAZzY2FsZTgJAQAAAAdmcm9tWDE4AAAAAgUAAAAPaW5BbUFzc2V0QW10WDE4BQAAAAZhbXREY20JAQAAAAdmcm9tWDE4AAAAAgUAAAAPaW5QckFzc2V0QW10WDE4BQAAAAhwcmljZURjbQkBAAAAD2NhbGNQcmljZUJpZ0ludAAAAAIJAAE3AAAAAgUAAAAMcHJCYWxhbmNlWDE4BQAAAA9pblByQXNzZXRBbXRYMTgJAAE3AAAAAgUAAAAMYW1CYWxhbmNlWDE4BQAAAA9pbkFtQXNzZXRBbXRYMTgFAAAAC3NsaXBwYWdlWDE4BAAAAAtjdXJQcmljZVgxOAkBAAAAD2NhbGNQcmljZUJpZ0ludAAAAAIFAAAADHByQmFsYW5jZVgxOAUAAAAMYW1CYWxhbmNlWDE4BAAAAA9zbGlwcGFnZVJlYWxYMTgJAAE8AAAAAwkBAAAAA2FicwAAAAEJAAE4AAAAAgUAAAALY3VyUHJpY2VYMTgFAAAADHVzZXJQcmljZVgxOAUAAAAHc2NhbGUxOAUAAAALY3VyUHJpY2VYMTgEAAAAC3NsaXBwYWdlWDE4CQEAAAAFdG9YMTgAAAACBQAAAAhzbGlwcGFnZQUAAAAGc2NhbGU4AwMJAQAAAAIhPQAAAAIFAAAAC2N1clByaWNlWDE4BQAAAAp6ZXJvQmlnSW50CQABPwAAAAIFAAAAD3NsaXBwYWdlUmVhbFgxOAUAAAALc2xpcHBhZ2VYMTgHCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAD1ByaWNlIHNsaXBwYWdlIAkAAaYAAAABBQAAAA9zbGlwcGFnZVJlYWxYMTgCAAAACiBleGNlZWRlZCAJAAGmAAAAAQUAAAALc2xpcHBhZ2VYMTgEAAAADWxwRW1pc3Npb25YMTgJAQAAAAV0b1gxOAAAAAIFAAAACmxwRW1pc3Npb24FAAAABnNjYWxlOAQAAAAKcHJWaWFBbVgxOAkAATwAAAADBQAAAA9pbkFtQXNzZXRBbXRYMTgFAAAAC2N1clByaWNlWDE4BQAAAAdzY2FsZTE4BAAAAAphbVZpYVByWDE4CQABPAAAAAMFAAAAD2luUHJBc3NldEFtdFgxOAUAAAAHc2NhbGUxOAUAAAALY3VyUHJpY2VYMTgEAAAADGV4cGVjdGVkQW10cwMJAAE/AAAAAgUAAAAKcHJWaWFBbVgxOAUAAAAPaW5QckFzc2V0QW10WDE4CQAFFAAAAAIFAAAACmFtVmlhUHJYMTgFAAAAD2luUHJBc3NldEFtdFgxOAkABRQAAAACBQAAAA9pbkFtQXNzZXRBbXRYMTgFAAAACnByVmlhQW1YMTgEAAAAEWV4cEFtdEFzc2V0QW10WDE4CAUAAAAMZXhwZWN0ZWRBbXRzAAAAAl8xBAAAABNleHBQcmljZUFzc2V0QW10WDE4CAUAAAAMZXhwZWN0ZWRBbXRzAAAAAl8yBAAAAAhscEFtdFgxOAkAATwAAAADBQAAAA1scEVtaXNzaW9uWDE4BQAAABNleHBQcmljZUFzc2V0QW10WDE4BQAAAAxwckJhbGFuY2VYMTgJAAUXAAAABQkBAAAAB2Zyb21YMTgAAAACBQAAAAhscEFtdFgxOAUAAAAGc2NhbGU4CQEAAAAHZnJvbVgxOAAAAAIFAAAAEWV4cEFtdEFzc2V0QW10WDE4BQAAAAZhbXREY20JAQAAAAdmcm9tWDE4AAAAAgUAAAATZXhwUHJpY2VBc3NldEFtdFgxOAUAAAAIcHJpY2VEY20FAAAAC2N1clByaWNlWDE4BQAAAAtzbGlwcGFnZVgxOAQAAAAJY2FsY0xwQW10CAUAAAADcmVzAAAAAl8xBAAAAA5jYWxjQW1Bc3NldFBtdAgFAAAAA3JlcwAAAAJfMgQAAAAOY2FsY1ByQXNzZXRQbXQIBQAAAANyZXMAAAACXzMEAAAACGN1clByaWNlCQEAAAAHZnJvbVgxOAAAAAIIBQAAAANyZXMAAAACXzQFAAAABnNjYWxlOAQAAAAMc2xpcHBhZ2VDYWxjCQEAAAAHZnJvbVgxOAAAAAIIBQAAAANyZXMAAAACXzUFAAAABnNjYWxlOAMJAABnAAAAAgAAAAAAAAAAAAUAAAAJY2FsY0xwQW10CQAAAgAAAAECAAAABkxQIDwgMAQAAAAJZW1pdExwQW10AwkBAAAAASEAAAABBQAAAAZlbWl0THAAAAAAAAAAAAAFAAAACWNhbGNMcEFtdAQAAAAGYW1EaWZmCQAAZQAAAAIFAAAAB2luQW1BbXQFAAAADmNhbGNBbUFzc2V0UG10BAAAAAZwckRpZmYJAABlAAAAAgUAAAAHaW5QckFtdAUAAAAOY2FsY1ByQXNzZXRQbXQEAAAAC2NvbW1vblN0YXRlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAMa2V5UHJpY2VMYXN0AAAAAAUAAAAIY3VyUHJpY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA9rZXlQcmljZUhpc3RvcnkAAAACBQAAAAZoZWlnaHQIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAhjdXJQcmljZQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAASa2V5UHV0QWN0aW9uQnlVc2VyAAAAAgUAAAALdXNlckFkZHJlc3MFAAAABnR4SWQ1OAkBAAAAEWRhdGFQdXRBY3Rpb25JbmZvAAAACgUAAAAOY2FsY0FtQXNzZXRQbXQFAAAADmNhbGNQckFzc2V0UG10BQAAAAllbWl0THBBbXQFAAAACGN1clByaWNlBQAAAAhzbGlwcGFnZQUAAAAMc2xpcHBhZ2VDYWxjBQAAAAZoZWlnaHQIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBQAAAAZhbURpZmYFAAAABnByRGlmZgUAAAADbmlsCQAFHwAAAA0FAAAACWNhbGNMcEFtdAUAAAAJZW1pdExwQW10BQAAAAhjdXJQcmljZQUAAAAJYW1CYWxhbmNlBQAAAAlwckJhbGFuY2UFAAAACmxwRW1pc3Npb24FAAAABGxwSWQFAAAACnBvb2xTdGF0dXMFAAAAC2NvbW1vblN0YXRlBQAAAAZhbURpZmYFAAAABnByRGlmZgUAAAAGaW5BbUlkBQAAAAZpblBySWQBAAAAG3ZhbGlkYXRlTWF0Y2hlck9yZGVyQWxsb3dlZAAAAAEAAAAFb3JkZXIEAAAAA2NmZwkBAAAADWdldFBvb2xDb25maWcAAAAABAAAAAdhbXRBc0lkCQABkQAAAAIFAAAAA2NmZwUAAAAJaWR4QW1Bc0lkBAAAAAZwckFzSWQJAAGRAAAAAgUAAAADY2ZnBQAAAAlpZHhQckFzSWQEAAAACnBvb2xTdGF0dXMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAANjZmcFAAAADWlkeFBvb2xTdGF0dXMEAAAACGFtdEFzRGNtCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAADY2ZnBQAAAAtpZHhBbXRBc0RjbQQAAAAHcHJBc0RjbQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAA2NmZwUAAAANaWR4UHJpY2VBc0RjbQQAAAAPYWNjQW10QXNCYWxhbmNlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAAB2FtdEFzSWQEAAAADmFjY1ByQXNCYWxhbmNlCQEAAAANZ2V0QWNjQmFsYW5jZQAAAAEFAAAABnByQXNJZAQAAAALY3VyUHJpY2VYMTgDCQAAAAAAAAIIBQAAAAVvcmRlcgAAAAlvcmRlclR5cGUFAAAAA0J1eQkBAAAAEHByaXZhdGVDYWxjUHJpY2UAAAAEBQAAAAhhbXRBc0RjbQUAAAAHcHJBc0RjbQkAAGQAAAACBQAAAA9hY2NBbXRBc0JhbGFuY2UIBQAAAAVvcmRlcgAAAAZhbW91bnQFAAAADmFjY1ByQXNCYWxhbmNlCQEAAAAQcHJpdmF0ZUNhbGNQcmljZQAAAAQFAAAACGFtdEFzRGNtBQAAAAdwckFzRGNtCQAAZQAAAAIFAAAAD2FjY0FtdEFzQmFsYW5jZQgFAAAABW9yZGVyAAAABmFtb3VudAUAAAAOYWNjUHJBc0JhbGFuY2UEAAAACGN1clByaWNlCQEAAAAHZnJvbVgxOAAAAAIFAAAAC2N1clByaWNlWDE4BQAAAAZzY2FsZTgDAwMJAQAAABBpc0dsb2JhbFNodXRkb3duAAAAAAYJAAAAAAAAAgUAAAAKcG9vbFN0YXR1cwUAAAATUG9vbE1hdGNoZXJEaXNhYmxlZAYJAAAAAAAAAgUAAAAKcG9vbFN0YXR1cwUAAAAMUG9vbFNodXRkb3duCQAAAgAAAAECAAAAEEJsb2NrZWQgYnkgYWRtaW4EAAAACm9yQW10QXNzZXQICAUAAAAFb3JkZXIAAAAJYXNzZXRQYWlyAAAAC2Ftb3VudEFzc2V0BAAAAApvckFtdEFzU3RyAwkAAAAAAAACBQAAAApvckFtdEFzc2V0BQAAAAR1bml0AgAAAAVXQVZFUwkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAApvckFtdEFzc2V0BAAAAAlvclByQXNzZXQICAUAAAAFb3JkZXIAAAAJYXNzZXRQYWlyAAAACnByaWNlQXNzZXQEAAAACW9yUHJBc1N0cgMJAAAAAAAAAgUAAAAJb3JQckFzc2V0BQAAAAR1bml0AgAAAAVXQVZFUwkAAlgAAAABCQEAAAAFdmFsdWUAAAABBQAAAAlvclByQXNzZXQDAwkBAAAAAiE9AAAAAgUAAAAKb3JBbXRBc1N0cgUAAAAHYW10QXNJZAYJAQAAAAIhPQAAAAIFAAAACW9yUHJBc1N0cgUAAAAGcHJBc0lkCQAAAgAAAAECAAAAEldyb25nIG9yZGVyIGFzc2V0cwQAAAAKb3JkZXJQcmljZQgFAAAABW9yZGVyAAAABXByaWNlBAAAAAhwcmljZURjbQkAAGsAAAADBQAAAAZzY2FsZTgFAAAAB3ByQXNEY20FAAAACGFtdEFzRGNtBAAAAA5jYXN0T3JkZXJQcmljZQkBAAAAB3RvU2NhbGUAAAADBQAAAApvcmRlclByaWNlBQAAAAZzY2FsZTgFAAAACHByaWNlRGNtBAAAABFpc09yZGVyUHJpY2VWYWxpZAMJAAAAAAAAAggFAAAABW9yZGVyAAAACW9yZGVyVHlwZQUAAAADQnV5CQAAZwAAAAIFAAAACGN1clByaWNlBQAAAA5jYXN0T3JkZXJQcmljZQkAAGcAAAACBQAAAA5jYXN0T3JkZXJQcmljZQUAAAAIY3VyUHJpY2UGAQAAAAljb21tb25HZXQAAAABAAAAAWkDCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQAAAgAAAAECAAAAEjEgcGF5bWVudCBleHBlY3RlZAQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAApwbXRBc3NldElkCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAABnBtdEFtdAgFAAAAA3BtdAAAAAZhbW91bnQEAAAAA3JlcwkBAAAAFGVzdGltYXRlR2V0T3BlcmF0aW9uAAAABAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkCQACWAAAAAEFAAAACnBtdEFzc2V0SWQFAAAABnBtdEFtdAgFAAAAAWkAAAAGY2FsbGVyBAAAAAhvdXRBbUFtdAgFAAAAA3JlcwAAAAJfMQQAAAAIb3V0UHJBbXQIBQAAAANyZXMAAAACXzIEAAAACnBvb2xTdGF0dXMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQgFAAAAA3JlcwAAAAJfOQQAAAAFc3RhdGUIBQAAAANyZXMAAAADXzEwAwMJAQAAABBpc0dsb2JhbFNodXRkb3duAAAAAAYJAAAAAAAAAgUAAAAKcG9vbFN0YXR1cwUAAAAMUG9vbFNodXRkb3duCQAAAgAAAAEJAAEsAAAAAgIAAAASQmxvY2tlZCBieSBhZG1pbjogCQABpAAAAAEFAAAACnBvb2xTdGF0dXMJAAUXAAAABQUAAAAIb3V0QW1BbXQFAAAACG91dFByQW10BQAAAAZwbXRBbXQFAAAACnBtdEFzc2V0SWQFAAAABXN0YXRlAQAAAAljb21tb25QdXQAAAAGAAAABmNhbGxlcgAAAAR0eElkAAAAB2FtQXNQbXQAAAAHcHJBc1BtdAAAAAhzbGlwcGFnZQAAAAZlbWl0THAEAAAAAXIJAQAAABRlc3RpbWF0ZVB1dE9wZXJhdGlvbgAAAAkFAAAABHR4SWQFAAAACHNsaXBwYWdlCAkBAAAABXZhbHVlAAAAAQUAAAAHYW1Bc1BtdAAAAAZhbW91bnQICQEAAAAFdmFsdWUAAAABBQAAAAdhbUFzUG10AAAAB2Fzc2V0SWQICQEAAAAFdmFsdWUAAAABBQAAAAdwckFzUG10AAAABmFtb3VudAgJAQAAAAV2YWx1ZQAAAAEFAAAAB3ByQXNQbXQAAAAHYXNzZXRJZAUAAAAGY2FsbGVyBwUAAAAGZW1pdExwBAAAAAZzdGF0dXMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQgFAAAAAXIAAAACXzgDAwMJAQAAABBpc0dsb2JhbFNodXRkb3duAAAAAAYJAAAAAAAAAgUAAAAGc3RhdHVzBQAAAA9Qb29sUHV0RGlzYWJsZWQGCQAAAAAAAAIFAAAABnN0YXR1cwUAAAAMUG9vbFNodXRkb3duCQAAAgAAAAEJAAEsAAAAAgIAAAASQmxvY2tlZCBieSBhZG1pbjogCQABpAAAAAEFAAAABnN0YXR1cwUAAAABcgAAAA8AAAABaQEAAAALY29uc3RydWN0b3IAAAACAAAAD2ZhY3RvcnlDb250cmFjdAAAABBtYW5hZ2VyUHVibGljS2V5AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAEnBlcm1pc3Npb25zIGRlbmllZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAALa2V5RmFjdENudHIAAAAABQAAAA9mYWN0b3J5Q29udHJhY3QJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAE2tleU1hbmFnZXJQdWJsaWNLZXkAAAAABQAAABBtYW5hZ2VyUHVibGljS2V5BQAAAANuaWwAAAABaQEAAAADcHV0AAAAAgAAAARzbGlwAAAACWF1dG9TdGFrZQQAAAAHZmFjdENmZwkBAAAAEGdldEZhY3RvcnlDb25maWcAAAAABAAAAAtzdGFraW5nQ250cgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAAGRAAAAAgUAAAAHZmFjdENmZwUAAAAPaWR4RmFjdFN0YWtDbnRyAgAAABZJbmNvcnJlY3Qgc3Rha2luZyBhZGRyBAAAAAhzbGlwQ250cgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAAGRAAAAAgUAAAAHZmFjdENmZwUAAAAQaWR4RmFjdFNs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YWxjUmVzAAAAAl8yBAAAAAtjdXJQcmljZVgxOAkBAAAAD2NhbGNQcmljZUJpZ0ludAAAAAIFAAAADHByQmFsYW5jZVgxOAUAAAAMYW1CYWxhbmNlWDE4BAAAAAhjdXJQcmljZQkBAAAAB2Zyb21YMTgAAAACBQAAAAtjdXJQcmljZVgxOAUAAAAGc2NhbGU4BAAAAAVzdGF0ZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAt1c2VyQWRkcmVzcwMJAAAAAAAAAgUAAAANcmVzdWx0QXNzZXRJZAUAAAAEYW1JZAgFAAAAC3Jlc3VsdFR1cGxlAAAAAl8xCAUAAAALcmVzdWx0VHVwbGUAAAACXzIDCQAAAAAAAAIFAAAADXJlc3VsdEFzc2V0SWQCAAAABVdBVkVTBQAAAAR1bml0CQACWQAAAAEFAAAADXJlc3VsdEFzc2V0SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEmtleUdldEFjdGlvbkJ5VXNlcgAAAAIJAAQlAAAAAQUAAAALdXNlckFkZHJlc3MFAAAABnR4SWQ1OAkBAAAAEWRhdGFHZXRBY3Rpb25JbmZvAAAABggFAAAAC3Jlc3VsdFR1cGxlAAAAAl8xCAUAAAALcmVzdWx0VHVwbGUAAAACXzIFAAAABnBtdEFtdAUAAAAIY3VyUHJpY2UFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAxrZXlQcmljZUxhc3QAAAAABQAAAAhjdXJQcmljZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAD2tleVByaWNlSGlzdG9yeQAAAAIFAAAABmhlaWdodAgFAAAACWxhc3RCbG9jawAAAAl0aW1lc3RhbXAFAAAACGN1clByaWNlBQAAAANuaWwEAAAABGJ1cm4JAAP8AAAABAUAAAAPZmFjdG9yeUNvbnRyYWN0AgAAAARidXJuCQAETAAAAAIFAAAABnBtdEFtdAUAAAADbmlsCQAETAAAAAIJAQAAAA9BdHRhY2hlZFBheW1lbnQAAAACBQAAAApwbXRBc3NldElkBQAAAAZwbXRBbXQFAAAA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cmRlcgUAAAAHJG1hdGNoMAQAAAAKbWF0Y2hlclB1YgkBAAAAE2dldE1hdGNoZXJQdWJPckZhaWwAAAAABAAAAApvcmRlclZhbGlkCQEAAAAbdmFsaWRhdGVNYXRjaGVyT3JkZXJBbGxvd2VkAAAAAQUAAAAFb3JkZXIEAAAAC3NlbmRlclZhbGlkCQAB9AAAAAMIBQAAAAVvcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAABW9yZGVyAAAABnByb29mcwAAAAAAAAAAAAgFAAAABW9yZGVyAAAAD3NlbmRlclB1YmxpY0tleQQAAAAMbWF0Y2hlclZhbGlkCQAB9AAAAAMIBQAAAAVvcmRlcgAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAABW9yZGVyAAAABnByb29mcwAAAAAAAAAAAQUAAAAKbWF0Y2hlclB1YgMDAwUAAAAKb3JkZXJWYWxpZAUAAAALc2VuZGVyVmFsaWQHBQAAAAxtYXRjaGVyVmFsaWQHBgkBAAAAD3Rocm93T3JkZXJFcnJvcgAAAAMFAAAACm9yZGVyVmFsaWQFAAAAC3NlbmRlclZhbGlkBQAAAAxtYXRjaGVyVmFsaWQEAAAADW1hbmFnZXJQdWJsaWMJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAE2tleU1hbmFnZXJQdWJsaWNLZXkAAAAABQAAAAVFTVBUWQMJAAAAAAAAAgUAAAANbWFuYWdlclB1YmxpYwUAAAAFRU1QVFkJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAkAAlkAAAABBQAAAA1tYW5hZ2VyUHVibGljBRat8g==", "chainId": 84, "height": 1849674, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9BfqJkveLoDPJ8fRScKFCiJmnZGn5ToAeLSNPVrwKeP4 Next: Akpd6A5jPSzVKXREsv4Q3E5Tud8ZYEA6Bq5w4GUZSEqs Diff:
OldNewDifferences
471471 let ds = dl
472472 let dt = (dr - dk)
473473 let du = invoke(di, "calcD", [toString((toBigInt(dm) + toBigInt(C(dt, by)))), toString((toBigInt(dn) - toBigInt(C(ds, bz)))), "50", "100000000", "1"], nil)
474- parseBigIntValue(ak(du))
474+ if (true)
475+ then throw(((((((((((("dCur = " + ak(do)) + " dNew = ") + ak(du)) + " amBalanceX18 + amAdiff = ") + toString((bC + C(dt, by)))) + " prBalanceX18 - prAdiff= ") + toString((bE - C(ds, by)))) + "amBalanceX18 = ") + toString(bC)) + "prBalanceX18 = ") + toString(bE)))
476+ else parseBigIntValue(ak(du))
475477 }
476478 else {
477479 let dv = z(cL, bz)
737739 func calcPriceBigIntWrapperREADONLY (aS,aT) = $Tuple2(nil, toString(aR(parseBigIntValue(aS), parseBigIntValue(aT))))
738740
739741
740-
741-@Callable(cJ)
742-func estimatePutOperationWrapperREADONLY (bs,aX,bQ,bR,bS,bT,R,bU,bV) = $Tuple2(nil, bP(bs, aX, bQ, bR, bS, bT, R, bU, bV))
743-
744-
745-
746-@Callable(cJ)
747-func estimateGetOperationWrapperREADONLY (bs,bt,bu,R) = {
748- let cf = br(bs, bt, bu, addressFromStringValue(R))
749- $Tuple2(nil, $Tuple10(cf._1, cf._2, cf._3, cf._4, cf._5, cf._6, cf._7, toString(cf._8), cf._9, cf._10))
750- }
751-
752-
753742 @Verifier(dY)
754743 func dZ () = {
755744 let al = dY
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 = toBigInt(1)
1717
1818 let h = "__"
1919
2020 let i = ""
2121
2222 let j = 1
2323
2424 let k = 2
2525
2626 let l = 3
2727
2828 let m = 4
2929
3030 let n = 1
3131
3232 let o = 2
3333
3434 let p = 3
3535
3636 let q = 4
3737
3838 let r = 5
3939
4040 let s = 6
4141
4242 let t = 7
4343
4444 let u = 8
4545
4646 let v = 9
4747
4848 let w = 1
4949
5050 let x = 7
5151
5252 let y = 10
5353
5454 func z (A,B) = fraction(toBigInt(A), e, toBigInt(B))
5555
5656
5757 func C (D,E) = toInt(fraction(D, toBigInt(E), e))
5858
5959
6060 func F (G,H,I) = fraction(G, H, I)
6161
6262
6363 func J (D) = if ((f > D))
6464 then -(D)
6565 else D
6666
6767
6868 func K () = "%s__factoryContract"
6969
7070
7171 func L () = "%s__managerPublicKey"
7272
7373
7474 func M () = "%s%s__price__last"
7575
7676
7777 func N (O,P) = makeString(["%s%s%d%d__price__history", toString(O), toString(P)], h)
7878
7979
8080 func Q (R,S) = ((("%s%s%s__P__" + R) + "__") + S)
8181
8282
8383 func T (R,S) = ((("%s%s%s__G__" + R) + "__") + S)
8484
8585
8686 func U () = "%s__amountAsset"
8787
8888
8989 func V () = "%s__priceAsset"
9090
9191
9292 func W () = "%s__factoryConfig"
9393
9494
9595 func X () = "%s%s__matcher__publicKey"
9696
9797
9898 func Y (Z,aa) = (((("%d%d%s__" + Z) + "__") + aa) + "__config")
9999
100100
101101 func ab (ac) = ("%s%s%s__mappings__baseAsset2internalId__" + ac)
102102
103103
104104 func ad () = "%s__shutdown"
105105
106106
107107 func ae (af) = ("%s%s__poolWeight__" + af)
108108
109109
110110 func ag (ah,ai,aj) = throw(((((("Validation failed: orderValid=" + toString(ah)) + " senderValid=") + toString(ai)) + " matcherValid=") + toString(aj)))
111111
112112
113113 func ak (D) = {
114114 let al = D
115115 if ($isInstanceOf(al, "String"))
116116 then {
117117 let am = al
118118 am
119119 }
120120 else throw("fail cast to String")
121121 }
122122
123123
124124 func an (ao,ap) = valueOrErrorMessage(getString(ao, ap), makeString(["mandatory ", toString(ao), ".", ap, " is not defined"], ""))
125125
126126
127127 func aq (ao,ap) = valueOrErrorMessage(getInteger(ao, ap), makeString(["mandatory ", toString(ao), ".", ap, " is not defined"], ""))
128128
129129
130130 let ar = addressFromStringValue(an(this, K()))
131131
132132 func as () = valueOrElse(getBoolean(ar, ad()), false)
133133
134134
135135 func at () = fromBase58String(an(ar, X()))
136136
137137
138138 func au () = {
139139 let av = an(this, U())
140140 let aw = an(this, V())
141141 let ax = aq(ar, ab(aw))
142142 let ay = aq(ar, ab(av))
143143 split(an(ar, Y(toString(ay), toString(ax))), h)
144144 }
145145
146146
147147 func az () = split(an(ar, W()), h)
148148
149149
150150 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)], h)
151151
152152
153153 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)], h)
154154
155155
156156 func aP (aQ) = if ((aQ == "WAVES"))
157157 then wavesBalance(this).available
158158 else assetBalance(this, fromBase58String(aQ))
159159
160160
161161 func aR (aS,aT) = fraction(aS, e, aT)
162162
163163
164164 func aU (aV,aW,aX) = {
165165 let aY = fraction((aV - aW), c, aW)
166166 $Tuple3(((aX - J(aY)) > f), min([aV, aW]), aY)
167167 }
168168
169169
170170 func aZ (ba,bb,bc,bd) = {
171171 let be = z(bc, ba)
172172 let bf = z(bd, bb)
173173 aR(bf, be)
174174 }
175175
176176
177177 func bg (bc,bd,bh) = {
178178 let bi = au()
179179 let bj = parseIntValue(bi[s])
180180 let bk = parseIntValue(bi[t])
181181 let bl = aZ(bj, bk, bc, bd)
182182 let aT = z(bc, bj)
183183 let aS = z(bd, bk)
184184 let bm = z(bh, b)
185185 let bn = aR(aT, bm)
186186 let bo = aR(aS, bm)
187187 [bl, bn, bo]
188188 }
189189
190190
191191 func bp (bc,bd,bh) = {
192192 let bq = bg(bc, bd, bh)
193193 [C(bq[0], b), C(bq[1], b), C(bq[2], b)]
194194 }
195195
196196
197197 func br (bs,bt,bu,R) = {
198198 let bi = au()
199199 let bv = bi[p]
200200 let bw = bi[q]
201201 let bx = bi[r]
202202 let by = parseIntValue(bi[s])
203203 let bz = parseIntValue(bi[t])
204204 let bA = bi[o]
205205 let bB = valueOrErrorMessage(assetInfo(fromBase58String(bv)), "Invalid LP id").quantity
206206 if ((bv != bt))
207207 then throw("Invalid pmt asset")
208208 else {
209209 let bC = aP(bw)
210210 let bD = z(bC, by)
211211 let bE = aP(bx)
212212 let bF = z(bE, bz)
213213 let bG = aR(bF, bD)
214214 let bH = C(bG, b)
215215 let bI = z(bu, b)
216216 let bJ = z(bB, b)
217217 let bK = fraction(bD, bI, bJ)
218218 let bL = fraction(bF, bI, bJ)
219219 let bM = C(bK, by)
220220 let bN = C(bL, bz)
221221 let bO = if ((bs == ""))
222222 then nil
223223 else [ScriptTransfer(R, bM, if ((bw == "WAVES"))
224224 then unit
225225 else fromBase58String(bw)), ScriptTransfer(R, bN, if ((bx == "WAVES"))
226226 then unit
227227 else fromBase58String(bx)), StringEntry(T(toString(R), bs), aL(bM, bN, bu, bH, height, lastBlock.timestamp)), IntegerEntry(M(), bH), IntegerEntry(N(height, lastBlock.timestamp), bH)]
228228 $Tuple10(bM, bN, bw, bx, bC, bE, bB, bG, bA, bO)
229229 }
230230 }
231231
232232
233233 func bP (bs,aX,bQ,bR,bS,bT,R,bU,bV) = {
234234 let bi = au()
235235 let bv = fromBase58String(bi[p])
236236 let bW = bi[q]
237237 let bX = bi[r]
238238 let bY = bi[u]
239239 let bZ = bi[v]
240240 let ca = parseIntValue(bi[s])
241241 let cb = parseIntValue(bi[t])
242242 let bA = bi[o]
243243 let bB = valueOrErrorMessage(assetInfo(bv), "Wrong lp asset").quantity
244244 let bC = if (bU)
245245 then aP(bW)
246246 else (aP(bW) - bQ)
247247 let bE = if (bU)
248248 then aP(bX)
249249 else (aP(bX) - bS)
250250 let cc = z(bQ, ca)
251251 let cd = z(bS, cb)
252252 let ce = aR(cd, cc)
253253 let bD = z(bC, ca)
254254 let bF = z(bE, cb)
255255 let cf = if ((bB == 0))
256256 then {
257257 let bG = f
258258 let cg = f
259259 let bm = pow((cc * cd), 0, toBigInt(5), 1, 0, DOWN)
260260 $Tuple5(C(bm, b), C(cc, ca), C(cd, cb), aR((bF + cd), (bD + cc)), cg)
261261 }
262262 else {
263263 let bG = aR(bF, bD)
264264 let ch = fraction(J((bG - ce)), e, bG)
265265 let cg = z(aX, b)
266266 if (if ((bG != f))
267267 then (ch > cg)
268268 else false)
269269 then throw(((("Price slippage " + toString(ch)) + " exceeded ") + toString(cg)))
270270 else {
271271 let bJ = z(bB, b)
272272 let ci = fraction(cc, bG, e)
273273 let cj = fraction(cd, e, bG)
274274 let ck = if ((ci > cd))
275275 then $Tuple2(cj, cd)
276276 else $Tuple2(cc, ci)
277277 let cl = ck._1
278278 let cm = ck._2
279279 let bm = fraction(bJ, cm, bF)
280280 $Tuple5(C(bm, b), C(cl, ca), C(cm, cb), bG, cg)
281281 }
282282 }
283283 let cn = cf._1
284284 let co = cf._2
285285 let cp = cf._3
286286 let bH = C(cf._4, b)
287287 let cq = C(cf._5, b)
288288 if ((0 >= cn))
289289 then throw("LP < 0")
290290 else {
291291 let cr = if (!(bV))
292292 then 0
293293 else cn
294294 let cs = (bQ - co)
295295 let ct = (bS - cp)
296296 let cu = [IntegerEntry(M(), bH), IntegerEntry(N(height, lastBlock.timestamp), bH), StringEntry(Q(R, bs), aA(co, cp, cr, bH, aX, cq, height, lastBlock.timestamp, cs, ct))]
297297 $Tuple13(cn, cr, bH, bC, bE, bB, bv, bA, cu, cs, ct, bR, bT)
298298 }
299299 }
300300
301301
302302 func cv (cw) = {
303303 let bi = au()
304304 let cx = bi[q]
305305 let cy = bi[r]
306306 let bA = parseIntValue(bi[o])
307307 let bj = parseIntValue(bi[s])
308308 let bk = parseIntValue(bi[t])
309309 let cz = aP(cx)
310310 let cA = aP(cy)
311311 let bG = if ((cw.orderType == Buy))
312312 then aZ(bj, bk, (cz + cw.amount), cA)
313313 else aZ(bj, bk, (cz - cw.amount), cA)
314314 let bH = C(bG, b)
315315 if (if (if (as())
316316 then true
317317 else (bA == l))
318318 then true
319319 else (bA == m))
320320 then throw("Blocked by admin")
321321 else {
322322 let cB = cw.assetPair.amountAsset
323323 let cC = if ((cB == unit))
324324 then "WAVES"
325325 else toBase58String(value(cB))
326326 let cD = cw.assetPair.priceAsset
327327 let cE = if ((cD == unit))
328328 then "WAVES"
329329 else toBase58String(value(cD))
330330 if (if ((cC != cx))
331331 then true
332332 else (cE != cy))
333333 then throw("Wrong order assets")
334334 else {
335335 let cF = cw.price
336336 let cb = fraction(b, bk, bj)
337337 let cG = F(cF, b, cb)
338338 let cH = if ((cw.orderType == Buy))
339339 then (bH >= cG)
340340 else (cG >= bH)
341341 true
342342 }
343343 }
344344 }
345345
346346
347347 func cI (cJ) = if ((size(cJ.payments) != 1))
348348 then throw("1 payment expected")
349349 else {
350350 let cK = value(cJ.payments[0])
351351 let bt = value(cK.assetId)
352352 let cL = cK.amount
353353 let cf = br(toBase58String(cJ.transactionId), toBase58String(bt), cL, cJ.caller)
354354 let bM = cf._1
355355 let bN = cf._2
356356 let bA = parseIntValue(cf._9)
357357 let bO = cf._10
358358 if (if (as())
359359 then true
360360 else (bA == m))
361361 then throw(("Blocked by admin: " + toString(bA)))
362362 else $Tuple5(bM, bN, cL, bt, bO)
363363 }
364364
365365
366366 func cM (cN,S,cO,cP,aX,bV) = {
367367 let cQ = bP(S, aX, value(cO).amount, value(cO).assetId, value(cP).amount, value(cP).assetId, cN, false, bV)
368368 let cR = parseIntValue(cQ._8)
369369 if (if (if (as())
370370 then true
371371 else (cR == k))
372372 then true
373373 else (cR == m))
374374 then throw(("Blocked by admin: " + toString(cR)))
375375 else cQ
376376 }
377377
378378
379379 @Callable(cJ)
380380 func constructor (ar,cS) = if ((cJ.caller != this))
381381 then throw("permissions denied")
382382 else [StringEntry(K(), ar), StringEntry(L(), cS)]
383383
384384
385385
386386 @Callable(cJ)
387387 func put (cT,cU) = {
388388 let cV = az()
389389 let cW = valueOrErrorMessage(addressFromString(cV[w]), "Incorrect staking addr")
390390 let cX = valueOrErrorMessage(addressFromString(cV[x]), "Incorrect slippage addr")
391391 if ((0 > cT))
392392 then throw("Invalid slippage.")
393393 else if ((size(cJ.payments) != 2))
394394 then throw("2 payments expected")
395395 else {
396396 let cY = cM(toString(cJ.caller), toBase58String(cJ.transactionId), AttachedPayment(value(cJ.payments[0]).assetId, value(cJ.payments[0]).amount), cJ.payments[1], cT, true)
397397 let cr = cY._2
398398 let cZ = cY._7
399399 let bO = cY._9
400400 let cs = cY._10
401401 let ct = cY._11
402402 let bw = cY._12
403403 let bx = cY._13
404404 let da = invoke(ar, "emit", [cr], nil)
405405 if ((da == da))
406406 then {
407407 let db = if ((cs > 0))
408408 then invoke(cX, "put", nil, [AttachedPayment(bw, cs)])
409409 else nil
410410 if ((db == db))
411411 then {
412412 let dc = if ((ct > 0))
413413 then invoke(cX, "put", nil, [AttachedPayment(bx, ct)])
414414 else nil
415415 if ((dc == dc))
416416 then {
417417 let dd = if (cU)
418418 then {
419419 let de = invoke(cW, "stake", nil, [AttachedPayment(cZ, cr)])
420420 if ((de == de))
421421 then nil
422422 else throw("Strict value is not equal to itself.")
423423 }
424424 else [ScriptTransfer(cJ.caller, cr, cZ)]
425425 (bO ++ dd)
426426 }
427427 else throw("Strict value is not equal to itself.")
428428 }
429429 else throw("Strict value is not equal to itself.")
430430 }
431431 else throw("Strict value is not equal to itself.")
432432 }
433433 }
434434
435435
436436
437437 @Callable(cJ)
438438 func putOneTkn (df,dg,dh,aX,cU) = {
439439 let bi = az()
440440 let cW = valueOrErrorMessage(addressFromString(bi[w]), "Wrong staking addr")
441441 let cX = valueOrErrorMessage(addressFromString(bi[x]), "Wrong slippage addr")
442442 let di = valueOrErrorMessage(addressFromString(bi[y]), "Wrong slippage addr")
443443 let dj = au()
444444 let bw = dj[q]
445445 let bx = dj[r]
446446 let by = parseIntValue(dj[s])
447447 let bz = parseIntValue(dj[t])
448448 if ((size(cJ.payments) != 1))
449449 then throw("1 payment expected")
450450 else {
451451 let cK = value(cJ.payments[0])
452452 let bt = toBase58String(value(cK.assetId))
453453 let cL = cK.amount
454454 let dk = z(df, by)
455455 let dl = z(dg, bz)
456456 let bC = aP(bw)
457457 let bD = z(bC, by)
458458 let bE = aP(bx)
459459 let bF = z(bE, bz)
460460 let dm = if ((bt == bw))
461461 then (bC - cL)
462462 else bC
463463 let dn = if ((bt == bx))
464464 then (bE - cL)
465465 else bE
466466 let do = invoke(di, "calcD", [toString(dm), toString(dn), "50", "100000000", "1"], nil)
467467 let dp = parseBigIntValue(ak(do))
468468 let dq = if ((bt == bw))
469469 then {
470470 let dr = z(cL, by)
471471 let ds = dl
472472 let dt = (dr - dk)
473473 let du = invoke(di, "calcD", [toString((toBigInt(dm) + toBigInt(C(dt, by)))), toString((toBigInt(dn) - toBigInt(C(ds, bz)))), "50", "100000000", "1"], nil)
474- parseBigIntValue(ak(du))
474+ if (true)
475+ then throw(((((((((((("dCur = " + ak(do)) + " dNew = ") + ak(du)) + " amBalanceX18 + amAdiff = ") + toString((bC + C(dt, by)))) + " prBalanceX18 - prAdiff= ") + toString((bE - C(ds, by)))) + "amBalanceX18 = ") + toString(bC)) + "prBalanceX18 = ") + toString(bE)))
476+ else parseBigIntValue(ak(du))
475477 }
476478 else {
477479 let dv = z(cL, bz)
478480 let ds = (dv - dl)
479481 let dt = dk
480482 let du = invoke(di, "calcD", [toString((toBigInt(dm) - toBigInt(C(dt, by)))), toString((toBigInt(dn) + toBigInt(C(ds, bz)))), "50", "100000000", "1"], nil)
481483 parseBigIntValue(ak(du))
482484 }
483485 if (!(aU(dq, dp, toBigInt(1000))._1))
484486 then throw("D mismatch.")
485487 else {
486488 let cY = cM(toString(cJ.caller), toBase58String(cJ.transactionId), AttachedPayment(fromBase58String(bw), df), AttachedPayment(fromBase58String(bx), dg), 50000000000, true)
487489 let dw = cY._2
488490 let cZ = cY._7
489491 let bO = cY._9
490492 let cs = cY._10
491493 let ct = cY._11
492494 let dx = aU(toBigInt(dw), toBigInt(dh), toBigInt(aX))
493495 if (!(dx._1))
494496 then throw(((("Too big slippage: " + toString(dx._3)) + " vs ") + toString(aX)))
495497 else {
496498 let cr = toInt(dx._2)
497499 let da = invoke(ar, "emit", [cr], nil)
498500 if ((da == da))
499501 then {
500502 let db = if ((cs > 0))
501503 then invoke(cX, "put", nil, [AttachedPayment(fromBase58String(bw), cs)])
502504 else nil
503505 if ((db == db))
504506 then {
505507 let dc = if ((ct > 0))
506508 then invoke(cX, "put", nil, [AttachedPayment(fromBase58String(bx), ct)])
507509 else nil
508510 if ((dc == dc))
509511 then {
510512 let dd = if (cU)
511513 then {
512514 let de = invoke(cW, "stake", nil, [AttachedPayment(cZ, cr)])
513515 if ((de == de))
514516 then nil
515517 else throw("Strict value is not equal to itself.")
516518 }
517519 else [ScriptTransfer(cJ.caller, cr, cZ)]
518520 (bO ++ dd)
519521 }
520522 else throw("Strict value is not equal to itself.")
521523 }
522524 else throw("Strict value is not equal to itself.")
523525 }
524526 else throw("Strict value is not equal to itself.")
525527 }
526528 }
527529 }
528530 }
529531
530532
531533
532534 @Callable(cJ)
533535 func putForFree (dy) = if ((0 > dy))
534536 then throw("Invalid slippage")
535537 else if ((size(cJ.payments) != 2))
536538 then throw("2 payments expected")
537539 else {
538540 let cY = cM(toString(cJ.caller), toBase58String(cJ.transactionId), AttachedPayment(value(cJ.payments[0]).assetId, value(cJ.payments[0]).amount), cJ.payments[1], dy, false)
539541 cY._9
540542 }
541543
542544
543545
544546 @Callable(cJ)
545547 func get () = {
546548 let cf = cI(cJ)
547549 let dz = cf._1
548550 let bN = cf._2
549551 let cL = cf._3
550552 let bt = cf._4
551553 let bO = cf._5
552554 let dA = invoke(ar, "burn", [cL], [AttachedPayment(bt, cL)])
553555 if ((dA == dA))
554556 then bO
555557 else throw("Strict value is not equal to itself.")
556558 }
557559
558560
559561
560562 @Callable(cJ)
561563 func getOneTkn (dB,dC,dD,dE,aX) = if ((size(cJ.payments) != 1))
562564 then throw("1 payment expected")
563565 else {
564566 let bi = au()
565567 let bv = bi[p]
566568 let bw = bi[q]
567569 let bx = bi[r]
568570 let by = parseIntValue(bi[s])
569571 let bz = parseIntValue(bi[t])
570572 let bA = bi[o]
571573 let dF = az()
572574 let di = valueOrErrorMessage(addressFromString(dF[y]), "Wrong slippage address")
573575 if (if ((dE != bw))
574576 then (dE != bx)
575577 else false)
576578 then throw("Invalid out asset")
577579 else {
578580 let dG = if ((dE == bw))
579581 then bw
580582 else bx
581583 let cK = value(cJ.payments[0])
582584 let R = cJ.caller
583585 let bs = toBase58String(cJ.transactionId)
584586 let bt = value(cK.assetId)
585587 let cL = cK.amount
586588 if ((bv != toBase58String(bt)))
587589 then throw("Invalid LP")
588590 else {
589591 let cQ = br(toBase58String(cJ.transactionId), toBase58String(bt), cL, cJ.caller)
590592 let dH = cQ._1
591593 let dI = cQ._2
592594 let bC = aP(bw)
593595 let bD = z(bC, by)
594596 let bE = aP(bx)
595597 let bF = z(bE, bz)
596598 let dp = invoke(di, "calcD", [toString(bC), toString(bE), "50", "100000000", "1"], nil)
597599 let dJ = if ((dE == bw))
598600 then {
599601 let dK = (dD - dH)
600602 let dq = invoke(di, "calcD", [toString((bC - dK)), toString((bE + dC)), "50", "100000000", "1"], nil)
601603 if (!(aU(parseBigIntValue(ak(dq)), parseBigIntValue(ak(dp)), toBigInt(1000))._1))
602604 then throw("D mismatch")
603605 else {
604606 let dL = (dH + dB)
605607 let dx = aU(toBigInt(dL), toBigInt(dD), toBigInt(aX))
606608 if (!(dx._1))
607609 then throw(((("Too big slippage: " + toString(dx._3)) + " vs ") + toString(aX)))
608610 else $Tuple2(toInt(dx._2), 0)
609611 }
610612 }
611613 else {
612614 let dM = (dD - dI)
613615 let dq = invoke(di, "calcD", [toString((bC + dB)), toString((bE - dM)), "50", "100000000", "1"], nil)
614616 if (!(aU(parseBigIntValue(ak(dq)), parseBigIntValue(ak(dp)), toBigInt(5000))._1))
615617 then throw("D mismatch.")
616618 else {
617619 let dL = (dI + dC)
618620 let dx = aU(toBigInt(dL), toBigInt(dD), toBigInt(aX))
619621 if (!(dx._1))
620622 then throw(((("Too big slippage: " + toString(dx._3)) + " vs ") + toString(aX)))
621623 else $Tuple2(0, toInt(dx._2))
622624 }
623625 }
624626 let bG = aR(bF, bD)
625627 let bH = C(bG, b)
626628 let bO = [ScriptTransfer(R, if ((dG == bw))
627629 then dJ._1
628630 else dJ._2, if ((dG == "WAVES"))
629631 then unit
630632 else fromBase58String(dG)), StringEntry(T(toString(R), bs), aL(dJ._1, dJ._2, cL, bH, height, lastBlock.timestamp)), IntegerEntry(M(), bH), IntegerEntry(N(height, lastBlock.timestamp), bH)]
631633 let dN = invoke(ar, "burn", [cL], [AttachedPayment(bt, cL)])
632634 if ((dN == dN))
633635 then bO
634636 else throw("Strict value is not equal to itself.")
635637 }
636638 }
637639 }
638640
639641
640642
641643 @Callable(cJ)
642644 func getNoLess (dO,dP) = {
643645 let cf = cI(cJ)
644646 let bM = cf._1
645647 let bN = cf._2
646648 let cL = cf._3
647649 let bt = cf._4
648650 let bO = cf._5
649651 if ((dO > bM))
650652 then throw(((("Failed: " + toString(bM)) + " < ") + toString(dO)))
651653 else if ((dP > bN))
652654 then throw(((("Failed: " + toString(bN)) + " < ") + toString(dP)))
653655 else {
654656 let dA = invoke(ar, "burn", [cL], [AttachedPayment(bt, cL)])
655657 if ((dA == dA))
656658 then bO
657659 else throw("Strict value is not equal to itself.")
658660 }
659661 }
660662
661663
662664
663665 @Callable(cJ)
664666 func unstakeAndGet (dQ) = {
665667 let dR = if ((size(cJ.payments) != 0))
666668 then throw("No payments expected")
667669 else true
668670 if ((dR == dR))
669671 then {
670672 let bi = au()
671673 let dS = az()
672674 let cZ = fromBase58String(bi[p])
673675 let dT = valueOrErrorMessage(addressFromString(dS[w]), "Wrong staking address.")
674676 let dU = invoke(dT, "unstake", [toBase58String(cZ), dQ], nil)
675677 if ((dU == dU))
676678 then {
677679 let cQ = br(toBase58String(cJ.transactionId), toBase58String(cZ), dQ, cJ.caller)
678680 let bA = parseIntValue(cQ._9)
679681 let bO = cQ._10
680682 let dV = if (if (as())
681683 then true
682684 else (bA == m))
683685 then throw(("Blocked by admin: " + toString(bA)))
684686 else true
685687 if ((dV == dV))
686688 then {
687689 let dA = invoke(ar, "burn", [dQ], [AttachedPayment(cZ, dQ)])
688690 if ((dA == dA))
689691 then bO
690692 else throw("Strict value is not equal to itself.")
691693 }
692694 else throw("Strict value is not equal to itself.")
693695 }
694696 else throw("Strict value is not equal to itself.")
695697 }
696698 else throw("Strict value is not equal to itself.")
697699 }
698700
699701
700702
701703 @Callable(cJ)
702704 func activate (dW,dX) = if ((toString(cJ.caller) != toString(ar)))
703705 then throw("permissions denied")
704706 else $Tuple2([StringEntry(U(), dW), StringEntry(V(), dX)], "success")
705707
706708
707709
708710 @Callable(cJ)
709711 func getPoolConfigWrapperREADONLY () = $Tuple2(nil, au())
710712
711713
712714
713715 @Callable(cJ)
714716 func getAccBalanceWrapperREADONLY (aQ) = $Tuple2(nil, aP(aQ))
715717
716718
717719
718720 @Callable(cJ)
719721 func calcPricesWrapperREADONLY (bc,bd,bh) = {
720722 let bq = bg(bc, bd, bh)
721723 $Tuple2(nil, [toString(bq[0]), toString(bq[1]), toString(bq[2])])
722724 }
723725
724726
725727
726728 @Callable(cJ)
727729 func fromX18WrapperREADONLY (D,E) = $Tuple2(nil, C(parseBigIntValue(D), E))
728730
729731
730732
731733 @Callable(cJ)
732734 func toX18WrapperREADONLY (A,B) = $Tuple2(nil, toString(z(A, B)))
733735
734736
735737
736738 @Callable(cJ)
737739 func calcPriceBigIntWrapperREADONLY (aS,aT) = $Tuple2(nil, toString(aR(parseBigIntValue(aS), parseBigIntValue(aT))))
738740
739741
740-
741-@Callable(cJ)
742-func estimatePutOperationWrapperREADONLY (bs,aX,bQ,bR,bS,bT,R,bU,bV) = $Tuple2(nil, bP(bs, aX, bQ, bR, bS, bT, R, bU, bV))
743-
744-
745-
746-@Callable(cJ)
747-func estimateGetOperationWrapperREADONLY (bs,bt,bu,R) = {
748- let cf = br(bs, bt, bu, addressFromStringValue(R))
749- $Tuple2(nil, $Tuple10(cf._1, cf._2, cf._3, cf._4, cf._5, cf._6, cf._7, toString(cf._8), cf._9, cf._10))
750- }
751-
752-
753742 @Verifier(dY)
754743 func dZ () = {
755744 let al = dY
756745 if ($isInstanceOf(al, "Order"))
757746 then {
758747 let cw = al
759748 let ea = at()
760749 let ah = cv(cw)
761750 let ai = sigVerify(cw.bodyBytes, cw.proofs[0], cw.senderPublicKey)
762751 let aj = sigVerify(cw.bodyBytes, cw.proofs[1], ea)
763752 if (if (if (ah)
764753 then ai
765754 else false)
766755 then aj
767756 else false)
768757 then true
769758 else ag(ah, ai, aj)
770759 }
771760 else {
772761 let eb = valueOrElse(getString(this, L()), i)
773762 if ((eb == i))
774763 then sigVerify(dY.bodyBytes, dY.proofs[0], dY.senderPublicKey)
775764 else sigVerify(dY.bodyBytes, dY.proofs[0], fromBase58String(eb))
776765 }
777766 }
778767

github/deemru/w8io/169f3d6 
84.31 ms