tx · A2yfgQL1kE99W6y11cVd8dvPRbUG56v2sAxyxjQj8nP5

3Mp3fkf3Wa3vhdDhv23voyGskz4AwfGeYKT:  -0.01400000 Waves

2021.08.16 18:37 [1661092] smart account 3Mp3fkf3Wa3vhdDhv23voyGskz4AwfGeYKT > SELF 0.00000000 Waves

{ "type": 13, "id": "A2yfgQL1kE99W6y11cVd8dvPRbUG56v2sAxyxjQj8nP5", "fee": 1400000, "feeAssetId": null, "timestamp": 1629128262218, "version": 2, "chainId": 84, "sender": "3Mp3fkf3Wa3vhdDhv23voyGskz4AwfGeYKT", "senderPublicKey": "EsiQ42aiAYoWjYzrLdxLkReYJYhWqShQhZaF2xr5Keub", "proofs": [ "2BvFcEBXTbk6S48qzMzkX3wYDXf9g3rGtwBdFMYeJnhe3gaFveVTdGcPg6shjH2ieFiTPUHquFbHamCiLKT5o1XA", "g6GuMqNuxTsToTvDf2J2SgNh3DJyUWiGrvFvTDjqWtNoTGaEyxdfd2jEA6FDwPNtTFbYYhwwZ1nC6nj1GBVU11K" ], "script": "base64:AAIFAAAAAAAAACoIAhIDCgEIEgMKAQESAwoBARIECgIBARIAEgQKAgEBEgASABIAEgMKAQEAAABdAAAAAAd2ZXJzaW9uAgAAAAUyLjAuMAAAAAAIa1ZlcnNpb24CAAAAB3ZlcnNpb24AAAAAB2tBY3RpdmUCAAAABmFjdGl2ZQAAAAAJa0Fzc2V0SWRBAgAAAApBX2Fzc2V0X2lkAAAAAAlrQXNzZXRJZEICAAAACkJfYXNzZXRfaWQAAAAACWtCYWxhbmNlQQIAAAAPQV9hc3NldF9iYWxhbmNlAAAAAAlrQmFsYW5jZUICAAAAD0JfYXNzZXRfYmFsYW5jZQAAAAANa1NoYXJlQXNzZXRJZAIAAAAOc2hhcmVfYXNzZXRfaWQAAAAAEWtTaGFyZUFzc2V0U3VwcGx5AgAAABJzaGFyZV9hc3NldF9zdXBwbHkAAAAABGtGZWUCAAAACmNvbW1pc3Npb24AAAAAEmtGZWVTY2FsZURlbGltaXRlcgIAAAAaY29tbWlzc2lvbl9zY2FsZV9kZWxpbWl0ZXIAAAAACmtJbnZhcmlhbnQCAAAACWludmFyaWFudAAAAAAGa0NhdXNlAgAAAA5zaHV0ZG93bl9jYXVzZQAAAAANa0ZpcnN0SGFydmVzdAIAAAANZmlyc3RfaGFydmVzdAAAAAATa0ZpcnN0SGFydmVzdEhlaWdodAIAAAAUZmlyc3RfaGFydmVzdF9oZWlnaHQAAAAAC2tTaGFyZUxpbWl0AgAAABxzaGFyZV9saW1pdF9vbl9maXJzdF9oYXJ2ZXN0AAAAAAtrQmFzZVBlcmlvZAIAAAALYmFzZV9wZXJpb2QAAAAADWtQZXJpb2RMZW5ndGgCAAAADXBlcmlvZF9sZW5ndGgAAAAADGtTdGFydEhlaWdodAIAAAAMc3RhcnRfaGVpZ2h0AAAAABRrT3JhY2xlQXNzZXRQcmlvcml0eQIAAAAPYXNzZXRfcHJpb3JpdHlfAAAAABFrT3JhY2xlU2NyaXB0SGFzaAIAAAAQc2NyaXB0X2hhc2hfZmxhdAAAAAAPa0luaXRQb29sSGVpZ2h0AgAAABFpbml0X3Bvb2xfaGVpZ2h0XwAAAAAPa2V5QWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQAAAAAPa2V5QWRtaW5QdWJLZXkyAgAAAAth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AAAADXRocm93SXNBY3RpdmUAAAAAAwkAAAAAAAACBQAAAAtwbXRBc3NldElkMQUAAAALcG10QXNzZXRJZDIJAAACAAAAAQIAAAAYQXNzZXRzIG11c3QgYmUgZGlmZmVyZW50BAAAAA5wbXRTdHJBc3NldElkMQQAAAAHJG1hdGNoMAUAAAALcG10QXNzZXRJZDEDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACkJ5dGVWZWN0b3IEAAAAAmlkBQAAAAckbWF0Y2gwCQACWAAAAAEFAAAAAmlkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAV3YXZlcwUAAAAHJG1hdGNoMAIAAAAFV0FWRVMJAAACAAAAAQIAAAALTWF0Y2ggZXJyb3IEAAAADnBtdFN0ckFzc2V0SWQyBAAAAAckbWF0Y2gwBQAAAAtwbXRBc3NldElkMgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAACaWQFAAAAByRtYXRjaDAJAAJYAAAAAQUAAAACaWQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABFVuaXQEAAAABXdhdmVzBQAAAAckbWF0Y2gwAgAAAAVXQVZFUwkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgQAAAAOYXNzZXQxUHJpb3JpdHkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAGb3JhY2xlCQABLAAAAAIFAAAAFGtPcmFjbGVBc3NldFByaW9yaXR5BQAAAA5wbXRTdHJBc3NldElkMQAAAAAAAA9CPwQAAAAOYXNzZXQyUHJpb3JpdHkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAGb3JhY2xlCQABLAAAAAIFAAAAFGtPcmFjbGVBc3NldFByaW9yaXR5BQAAAA5wbXRTdHJBc3NldElkMgAAAAAAAA9CPwQAAAANJHQwMTE1MTExMTczOAMJAABmAAAAAgUAAAAOYXNzZXQyUHJpb3JpdHkFAAAADmFzc2V0MVByaW9yaXR5CQAFFgAAAAQFAAAACnBtdEFtb3VudDIFAAAAC3BtdEFzc2V0SWQyBQAAAApwbXRBbW91bnQxBQAAAAtwbXRBc3NldElkMQkABRYAAAAEBQAAAApwbXRBbW91bnQxBQAAAAtwbXRBc3NldElkMQUAAAAKcG10QW1vdW50MgUAAAALcG10QXNzZXRJZDIEAAAACnBtdEFtb3VudEEIBQAAAA0kdDAxMTUxMTExNzM4AAAAAl8xBAAAAAtwbXRBc3NldElkQQgFAAAADSR0MDExNTExMTE3MzgAAAACXzIEAAAACnBtdEFtb3VudEIIBQAAAA0kdDAxMTUxMTExNzM4AAAAAl8zBAAAAAtwbXRBc3NldElkQggFAAAADSR0MDExNTExMTE3MzgAAAACXzQEAAAADSR0MDExNzQ3MTE4MjQJAQAAAAxnZXRBc3NldEluZm8AAAABBQAAAAtwbXRBc3NldElkQQQAAAAOcG10U3RyQXNzZXRJZEEIBQAAAA0kdDAxMTc0NzExODI0AAAAAl8xBAAAAA1wbXRBc3NldE5hbWVBCAUAAAANJHQwMTE3NDcxMTgyNAAAAAJfMgQAAAAMcG10RGVjaW1hbHNBCAUAAAANJHQwMTE3NDcxMTgyNAAAAAJfMwQAAAANJHQwMTE4MzMxMTkxMAkBAAAADGdldEFzc2V0SW5mbwAAAAEFAAAAC3BtdEFzc2V0SWRCBAAAAA5wbXRTdHJBc3NldElkQggFAAAADSR0MDExODMzMTE5MTAAAAACXzEEAAAADXBtdEFzc2V0TmFtZUIIBQAAAA0kdDAxMTgzMzExOTEwAAAAAl8yBAAAAAxwbXREZWNpbWFsc0IIBQAAAA0kdDAxMTgzMzExOTEwAAAAAl8zBAAAAAlzaGFyZU5hbWUJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAAXMJAAEvAAAAAgUAAAANcG10QXNzZXROYW1lQQAAAAAAAAAABwIAAAABXwkAAS8AAAACBQAAAA1wbXRBc3NldE5hbWVCAAAAAAAAAAAHBAAAABBzaGFyZURlc2NyaXB0aW9uCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAiU2hhcmVUb2tlbiBvZiBTd29wRmkgcHJvdG9jb2wgZm9yIAUAAAANcG10QXNzZXROYW1lQQIAAAAFIGFuZCAFAAAADXBtdEFzc2V0TmFtZUICAAAADCBhdCBhZGRyZXNzIAkABCUAAAABBQAAAAR0aGlzBAAAAA1zaGFyZURlY2ltYWxzCQAAaQAAAAIJAABkAAAAAgUAAAAMcG10RGVjaW1hbHNBBQAAAAxwbXREZWNpbWFsc0IAAAAAAAAAAAIEAAAAEnNoYXJlSW5pdGlhbFN1cHBseQkAAGsAAAADCQAAbAAAAAYFAAAACnBtdEFtb3VudEEFAAAADHBtdERlY2ltYWxzQQAAAAAAAAAABQAAAAAAAAAAAQUAAAAMcG10RGVjaW1hbHNBBQAAAARET1dOCQAAbAAAAAYFAAAACnBtdEFtb3VudEIFAAAADHBtdERlY2ltYWxzQgAAAAAAAAAABQAAAAAAAAAAAQUAAAAMcG10RGVjaW1hbHNCBQAAAARET1dOCQAAbAAAAAYAAAAAAAAAAAoAAAAAAAAAAAAFAAAADXNoYXJlRGVjaW1hbHMAAAAAAAAAAAAAAAAAAAAAAAAFAAAABERPV04EAAAACnNoYXJlSXNzdWUJAARCAAAABQUAAAAJc2hhcmVOYW1lBQAAABBzaGFyZURlc2NyaXB0aW9uBQAAABJzaGFyZUluaXRpYWxTdXBwbHkFAAAADXNoYXJlRGVjaW1hbHMGBAAAAAxzaGFyZUlzc3VlSWQJAAQ4AAAAAQUAAAAKc2hhcmVJc3N1ZQQAAAATaW52YXJpYW50Q2FsY3VsYXRlZAkBAAAADWludmFyaWFudENhbGMAAAACBQAAAApwbXRBbW91bnRBBQAAAApwbXRBbW91bnRCCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtWZXJzaW9uBQAAAAd2ZXJzaW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAdrQWN0aXZlBgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAlrQXNzZXRJZEEFAAAADnBtdFN0ckFzc2V0SWRBCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACWtBc3NldElkQgUAAAAOcG10U3RyQXNzZXRJZEIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWtCYWxhbmNlQQUAAAAKcG10QW1vdW50QQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa0JhbGFuY2VCBQAAAApwbXRBbW91bnRCCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAprSW52YXJpYW50BQAAABNpbnZhcmlhbnRDYWxjdWxhdGVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAARrRmVlBQAAAANmZWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtGZWVTY2FsZURlbGltaXRlcgUAAAAJZmVlU2NhbGU2CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA9rSW5pdFBvb2xIZWlnaHQFAAAABmhlaWdodAkABEwAAAACBQAAAApzaGFyZUlzc3VlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWtTaGFyZUFzc2V0SWQJAAJYAAAAAQUAAAAMc2hhcmVJc3N1ZUlkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrU2hhcmVBc3NldFN1cHBseQUAAAASc2hhcmVJbml0aWFsU3VwcGx5CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC3VzZXJBZGRyZXNzBQAAABJzaGFyZUluaXRpYWxTdXBwbHkFAAAADHNoYXJlSXNzdWVJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA13YWxsZXRBZGRyZXNzBQAAABljb21pc3Npb25Gb3JJbml0YWxpemF0aW9uBQAAAARTV09QBQAAAANuaWwAAAABaQEAAAAYa2VlcExpbWl0Rm9yRmlyc3RIYXJ2ZXN0AAAAAQAAAApzaGFyZUxpbWl0AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAAAphZG1TdGFraW5nBQAAAANuaWwIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAC2tTaGFyZUxpbWl0BQAAAApzaGFyZUxpbWl0BQAAAANuaWwAAAABaQEAAAAWcmVwbGVuaXNoV2l0aFR3b1Rva2VucwAAAAEAAAARc2xpcHBhZ2VUb2xlcmFuY2UEAAAAC3BtdEFzc2V0SWRBCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAtwbXRBc3NldElkQggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEAAAAHYXNzZXRJZAQAAAAKcG10QW1vdW50QQkBAAAAEGRlZHVjdFN0YWtpbmdGZWUAAAACCAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAZhbW91bnQFAAAAC3BtdEFzc2V0SWRBBAAAAApwbXRBbW91bnRCCQEAAAAQZGVkdWN0U3Rha2luZ0ZlZQAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABAAAABmFtb3VudAUAAAALcG10QXNzZXRJZEIEAAAACnRva2VuUmF0aW8JAABrAAAAAwkAAGsAAAADBQAAAAZzY2FsZTgFAAAACGJhbGFuY2VBBQAAAApwbXRBbW91bnRBBQAAAAZzY2FsZTMJAABrAAAAAwUAAAAGc2NhbGU4BQAAAAhiYWxhbmNlQgUAAAAKcG10QW1vdW50QgQAAAATcmF0aW9TaGFyZVRva2Vuc0luQQkAAGsAAAADBQAAAAZzY2FsZTgFAAAACnBtdEFtb3VudEEFAAAACGJhbGFuY2VBBAAAABNyYXRpb1NoYXJlVG9rZW5zSW5CCQAAawAAAAMFAAAABnNjYWxlOAUAAAAKcG10QW1vdW50QgUAAAAIYmFsYW5jZUIEAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAkAAGsAAAADCQABlwAAAAEJAARMAAAAAgUAAAATcmF0aW9TaGFyZVRva2Vuc0luQQkABEwAAAACBQAAABNyYXRpb1NoYXJlVG9rZW5zSW5CBQAAAANuaWwFAAAAEHNoYXJlQXNzZXRTdXBwbHkFAAAABnNjYWxlOAQAAAATaW52YXJpYW50Q2FsY3VsYXRlZAkBAAAADWludmFyaWFudENhbGMAAAACCQAAZAAAAAIFAAAACGJhbGFuY2VBBQAAAApwbXRBbW91bnRBCQAAZAAAAAIFAAAACGJhbGFuY2VCBQAAAApwbXRBbW91bnRCAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkBAAAAD3Rocm93SXNJbmFjdGl2ZQAAAAADAwkAAGYAAAACAAAAAAAAAAAABQAAABFzbGlwcGFnZVRvbGVyYW5jZQYJAABmAAAAAgUAAAARc2xpcHBhZ2VUb2xlcmFuY2UAAAAAAAAAAAoJAAACAAAAAQIAAAAgU2xpcHBhZ2UgdG9sZXJhbmNlIG11c3QgYmUgPD0gMSUDCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAACCQAAAgAAAAECAAAAHFR3byBhdHRhY2hlZCBhc3NldHMgZXhwZWN0ZWQDAwkBAAAAAiE9AAAAAgUAAAALcG10QXNzZXRJZEEFAAAACGFzc2V0SWRBBgkBAAAAAiE9AAAAAgUAAAALcG10QXNzZXRJZEIFAAAACGFzc2V0SWRCCQEAAAALdGhyb3dBc3NldHMAAAAAAwMJAABmAAAAAgkAAGkAAAACCQAAaAAAAAIFAAAABnNjYWxlMwkAAGUAAAACBQAAAA5zbGlwcGFnZVNjYWxlMwUAAAARc2xpcHBhZ2VUb2xlcmFuY2UFAAAADnNsaXBwYWdlU2NhbGUzBQAAAAp0b2tlblJhdGlvBgkAAGYAAAACBQAAAAp0b2tlblJhdGlvCQAAaQAAAAIJAABoAAAAAgUAAAAGc2NhbGUzCQAAZAAAAAIFAAAADnNsaXBwYWdlU2NhbGUzBQAAABFzbGlwcGFnZVRvbGVyYW5jZQUAAAAOc2xpcHBhZ2VTY2FsZTMJAAACAAAAAQIAAAA9SW5jb3JyZWN0IGFzc2V0cyBhbW91bnQ6IGFtb3VudHMgbXVzdCBoYXZlIHRoZSBjb250cmFjdCByYXRpbwMJAAAAAAAAAgUAAAAVc2hhcmVUb2tlblRvUGF5QW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAHVRvbyBzbWFsbCBhbW91bnQgdG8gcmVwbGVuaXNoAwkBAAAAASEAAAABBQAAABBoYXNFbm91Z2hCYWxhbmNlCQAETgAAAAIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAApwbXRBbW91bnRBBQAAAAtwbXRBc3NldElkQQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACnBtdEFtb3VudEIFAAAAC3BtdEFzc2V0SWRCBQAAAANuaWwJAQAAABFzdXNwZW5kU3VzcGljaW91cwAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACWtCYWxhbmNlQQkAAGQAAAACBQAAAAhiYWxhbmNlQQUAAAAKcG10QW1vdW50QQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa0JhbGFuY2VCCQAAZAAAAAIFAAAACGJhbGFuY2VCBQAAAApwbXRBbW91bnRCCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrU2hhcmVBc3NldFN1cHBseQkAAGQAAAACBQAAABBzaGFyZUFzc2V0U3VwcGx5BQAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACmtJbnZhcmlhbnQFAAAAE2ludmFyaWFudENhbGN1bGF0ZWQJAARMAAAAAgkBAAAAB1JlaXNzdWUAAAADBQAAAAxzaGFyZUFzc2V0SWQFAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAYJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQFAAAADHNoYXJlQXNzZXRJZAUAAAADbmlsAAAAAWkBAAAAFXJlcGxlbmlzaFdpdGhPbmVUb2tlbgAAAAIAAAATdmlydHVhbFN3YXBUb2tlblBheQAAABN2aXJ0dWFsU3dhcFRva2VuR2V0BAAAAA0kdDAxNjU4ODE2NjYzCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAANJHQwMTY1ODgxNjY2MwAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAADSR0MDE2NTg4MTY2NjMAAAACXzIEAAAAD3BtdE1pblRocmVzaG9sZAAAAAAAAExLQAQAAAAddGhyZXNob2xkVmFsdWVGb3JNaW5Ub2xlcmFuY2UAAAAAAAL68IAEAAAACXRvbGVyYW5jZQMJAABmAAAAAgUAAAAddGhyZXNob2xkVmFsdWVGb3JNaW5Ub2xlcmFuY2UFAAAACXBtdEFtb3VudAAAAAAAAAGGoAAAAAAAAAAAAQQAAAAcc2xpcHBhZ2VWYWx1ZU1pbkZvclJlcGxlbmlzaAkAAGUAAAACBQAAAAZzY2FsZTgJAABpAAAAAgkAAGgAAAACBQAAAAZzY2FsZTgFAAAACXRvbGVyYW5jZQAAAAAAAJiWgAQAAAAcc2xpcHBhZ2VWYWx1ZU1heEZvclJlcGxlbmlzaAkAAGQAAAACBQAAAAZzY2FsZTgJAABpAAAAAgkAAGgAAAACBQAAAAZzY2FsZTgFAAAACXRvbGVyYW5jZQAAAAAAAJiWgAQAAAAXc2xpcHBhZ2VWYWx1ZU1pbkZvclN3YXAJAABlAAAAAgUAAAAGc2NhbGU4CQAAaQAAAAIJAABoAAAAAgUAAAAGc2NhbGU4AAAAAAAAAAABAAAAAAAAmJaAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkBAAAAD3Rocm93SXNJbmFjdGl2ZQAAAAADCQAAZgAAAAIFAAAAD3BtdE1pblRocmVzaG9sZAUAAAAJcG10QW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAPUGF5bWVudCBhbW91bnQgCQABpAAAAAEFAAAACXBtdEFtb3VudAIAAAAnIGRvZXMgbm90IGV4Y2VlZCB0aGUgbWluaW11bSBhbW91bnQgb2YgCQABpAAAAAEFAAAAD3BtdE1pblRocmVzaG9sZAIAAAAHIHRva2VucwMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAdT25lIGF0dGFjaGVkIHBheW1lbnQgZXhwZWN0ZWQDCQEAAAABIQAAAAEFAAAAEGhhc0Vub3VnaEJhbGFuY2UJAAROAAAAAgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAACXBtdEFtb3VudAUAAAAKcG10QXNzZXRJZAUAAAADbmlsCQEAAAARc3VzcGVuZFN1c3BpY2lvdXMAAAAAAwMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAACGFzc2V0SWRBCQEAAAACIT0AAAACBQAAAApwbXRBc3NldElkBQAAAAhhc3NldElkQgcJAQAAAAt0aHJvd0Fzc2V0cwAAAAAEAAAADSR0MDE3Njc1MTg0NDADCQAAAAAAAAIFAAAACnBtdEFzc2V0SWQFAAAACGFzc2V0SWRBCQAFGQAAAAcJAABlAAAAAgUAAAAJcG10QW1vdW50BQAAABN2aXJ0dWFsU3dhcFRva2VuUGF5BQAAABN2aXJ0dWFsU3dhcFRva2VuR2V0CQAAZAAAAAIFAAAACGJhbGFuY2VBBQAAABN2aXJ0dWFsU3dhcFRva2VuUGF5CQAAZQAAAAIFAAAACGJhbGFuY2VCBQAAABN2aXJ0dWFsU3dhcFRva2VuR2V0CQEAAAANaW52YXJpYW50Q2FsYwAAAAIJAABkAAAAAgUAAAAIYmFsYW5jZUEFAAAACXBtdEFtb3VudAUAAAAIYmFsYW5jZUIJAABkAAAAAgUAAAAIYmFsYW5jZUEFAAAACXBtdEFtb3VudAUAAAAIYmFsYW5jZUIJAAUZAAAABwUAAAATdmlydHVhbFN3YXBUb2tlbkdldAkAAGUAAAACBQAAAAlwbXRBbW91bnQFAAAAE3ZpcnR1YWxTd2FwVG9rZW5QYXkJAABlAAAAAgUAAAAIYmFsYW5jZUEFAAAAE3ZpcnR1YWxTd2FwVG9rZW5HZXQJAABkAAAAAgUAAAAIYmFsYW5jZUIFAAAAE3ZpcnR1YWxTd2FwVG9rZW5QYXkJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgUAAAAIYmFsYW5jZUEJAABkAAAAAgUAAAAIYmFsYW5jZUIFAAAACXBtdEFtb3VudAUAAAAIYmFsYW5jZUEJAABkAAAAAgUAAAAIYmFsYW5jZUIFAAAACXBtdEFtb3VudAQAAAARdmlydHVhbFJlcGxlbmlzaEEIBQAAAA0kdDAxNzY3NTE4NDQwAAAAAl8xBAAAABF2aXJ0dWFsUmVwbGVuaXNoQggFAAAADSR0MDE3Njc1MTg0NDAAAAACXzIEAAAAEWJhbGFuY2VBZnRlclN3YXBBCAUAAAANJHQwMTc2NzUxODQ0MAAAAAJfMwQAAAARYmFsYW5jZUFmdGVyU3dhcEIIBQAAAA0kdDAxNzY3NTE4NDQwAAAAAl80BAAAABNpbnZhcmlhbnRDYWxjdWxhdGVkCAUAAAANJHQwMTc2NzUxODQ0MAAAAAJfNQQAAAALbmV3QmFsYW5jZUEIBQAAAA0kdDAxNzY3NTE4NDQwAAAAAl82BAAAAAtuZXdCYWxhbmNlQggFAAAADSR0MDE3Njc1MTg0NDAAAAACXzcEAAAAD25ld0JhbGFuY2VFbnRyeQMJAAAAAAAAAgUAAAAKcG10QXNzZXRJZAUAAAAIYXNzZXRJZEEJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAlrQmFsYW5jZUEFAAAAC25ld0JhbGFuY2VBCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa0JhbGFuY2VCBQAAAAtuZXdCYWxhbmNlQgQAAAAMaW52YXJpYW50TmV3CQEAAAANaW52YXJpYW50Q2FsYwAAAAIFAAAAEWJhbGFuY2VBZnRlclN3YXBBBQAAABFiYWxhbmNlQWZ0ZXJTd2FwQgQAAAAXaW52YXJpYW50RXN0aW1hdGVkUmF0aW8JAABrAAAAAwUAAAAGc2NhbGU4BQAAAAlpbnZhcmlhbnQFAAAADGludmFyaWFudE5ldwQAAAAlcmF0aW9WaXJ0dWFsQmFsYW5jZVRvVmlydHVhbFJlcGxlbmlzaAkAAGkAAAACCQAAawAAAAMJAABoAAAAAgUAAAAGc2NhbGU4BQAAAAZzY2FsZTgFAAAAEWJhbGFuY2VBZnRlclN3YXBBBQAAABFiYWxhbmNlQWZ0ZXJTd2FwQgkAAGsAAAADBQAAAAZzY2FsZTgFAAAAEXZpcnR1YWxSZXBsZW5pc2hBBQAAABF2aXJ0dWFsUmVwbGVuaXNoQgQAAAATZEFwcFRocmVzaG9sZEFtb3VudAkAAGsAAAADCQAAZAAAAAIFAAAAC25ld0JhbGFuY2VBBQAAAAtuZXdCYWxhbmNlQgUAAAANZEFwcFRocmVzaG9sZAkAAGgAAAACAAAAAAAAAAACBQAAABNkQXBwVGhyZXNob2xkU2NhbGUyAwMJAABnAAAAAgUAAAAXc2xpcHBhZ2VWYWx1ZU1pbkZvclN3YXAFAAAAF2ludmFyaWFudEVzdGltYXRlZFJhdGlvBgkAAGYAAAACBQAAAAlpbnZhcmlhbnQFAAAADGludmFyaWFudE5ldwkAAAIAAAABAgAAADpJbmNvcnJlY3QgdmlydHVhbFN3YXBUb2tlblBheSBvciB2aXJ0dWFsU3dhcFRva2VuR2V0IHZhbHVlAwMJAABmAAAAAgUAAAAcc2xpcHBhZ2VWYWx1ZU1pbkZvclJlcGxlbmlzaAUAAAAlcmF0aW9WaXJ0dWFsQmFsYW5jZVRvVmlydHVhbFJlcGxlbmlzaAYJAABmAAAAAgUAAAAlcmF0aW9WaXJ0dWFsQmFsYW5jZVRvVmlydHVhbFJlcGxlbmlzaAUAAAAcc2xpcHBhZ2VWYWx1ZU1heEZvclJlcGxlbmlzaAkAAAIAAAABAgAAAGxTd2FwIHdpdGggdmlydHVhbFN3YXBUb2tlblBheSBhbmQgdmlydHVhbFN3YXBUb2tlbkdldCBpcyBwb3NzaWJsZSwgYnV0IHJhdGlvIGFmdGVyIHZpcnR1YWwgc3dhcCBpcyBpbmNvcnJlY3QDAwkAAGYAAAACBQAAABNkQXBwVGhyZXNob2xkQW1vdW50BQAAAAtuZXdCYWxhbmNlQQYJAABmAAAAAgUAAAATZEFwcFRocmVzaG9sZEFtb3VudAUAAAALbmV3QmFsYW5jZUIJAQAAAA50aHJvd1RocmVzaG9sZAAAAAMFAAAAE2RBcHBUaHJlc2hvbGRBbW91bnQFAAAAC25ld0JhbGFuY2VBBQAAAAtuZXdCYWxhbmNlQgQAAAATcmF0aW9TaGFyZVRva2Vuc0luQQkAAGsAAAADCQEAAAAQZGVkdWN0U3Rha2luZ0ZlZQAAAAIFAAAAEXZpcnR1YWxSZXBsZW5pc2hBBQAAAAhhc3NldElkQQUAAAAGc2NhbGU4BQAAABFiYWxhbmNlQWZ0ZXJTd2FwQQQAAAATcmF0aW9TaGFyZVRva2Vuc0luQgkAAGsAAAADCQEAAAAQZGVkdWN0U3Rha2luZ0ZlZQAAAAIFAAAAEXZpcnR1YWxSZXBsZW5pc2hCBQAAAAhhc3NldElkQgUAAAAGc2NhbGU4BQAAABFiYWxhbmNlQWZ0ZXJTd2FwQgQAAAAVc2hhcmVUb2tlblRvUGF5QW1vdW50CQAAawAAAAMJAAGXAAAAAQkABEwAAAACBQAAABNyYXRpb1NoYXJlVG9rZW5zSW5BCQAETAAAAAIFAAAAE3JhdGlvU2hhcmVUb2tlbnNJbkIFAAAAA25pbAUAAAAQc2hhcmVBc3NldFN1cHBseQUAAAAGc2NhbGU4CQAETAAAAAIJAQAAAAdSZWlzc3VlAAAAAwUAAAAMc2hhcmVBc3NldElkBQAAABVzaGFyZVRva2VuVG9QYXlBbW91bnQGCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAVc2hhcmVUb2tlblRvUGF5QW1vdW50BQAAAAxzaGFyZUFzc2V0SWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtTaGFyZUFzc2V0U3VwcGx5CQAAZAAAAAIFAAAAEHNoYXJlQXNzZXRTdXBwbHkFAAAAFXNoYXJlVG9rZW5Ub1BheUFtb3VudAkABEwAAAACBQAAAA9uZXdCYWxhbmNlRW50cnkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACmtJbnZhcmlhbnQFAAAAE2ludmFyaWFudENhbGN1bGF0ZWQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAAEAAAADSR0MDIwNTg1MjA3MjgJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAA0kdDAyMDU4NTIwNzI4AAAAAl8xBAAAAApwbXRBc3NldElkCAUAAAANJHQwMjA1ODUyMDcyOAAAAAJfMgQAAAAMYW1vdW50VG9QYXlBCQEAAAAQZGVkdWN0U3Rha2luZ0ZlZQAAAAIJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAAhiYWxhbmNlQQUAAAAQc2hhcmVBc3NldFN1cHBseQUAAAAIYXNzZXRJZEEEAAAADGFtb3VudFRvUGF5QgkBAAAAEGRlZHVjdFN0YWtpbmdGZWUAAAACCQAAawAAAAMFAAAACXBtdEFtb3VudAUAAAAIYmFsYW5jZUIFAAAAEHNoYXJlQXNzZXRTdXBwbHkFAAAACGFzc2V0SWRCBAAAABNpbnZhcmlhbnRDYWxjdWxhdGVkCQEAAAANaW52YXJpYW50Q2FsYwAAAAIJAABlAAAAAgUAAAAIYmFsYW5jZUEFAAAADGFtb3VudFRvUGF5QQkAAGUAAAACBQAAAAhiYWxhbmNlQgUAAAAMYW1vdW50VG9QYXlCAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkBAAAAD3Rocm93SXNJbmFjdGl2ZQAAAAADCQEAAAACIT0AAAACCQABkAAAAAEIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAABCQAAAgAAAAECAAAAHU9uZSBhdHRhY2hlZCBwYXltZW50IGV4cGVjdGVkAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAMc2hhcmVBc3NldElkCQAAAgAAAAEJAAEsAAAAAgIAAAAkSW5jb3JyZWN0IGFzc2V0IGF0dGFjaGVkLiBFeHBlY3RlZDogCQACWAAAAAEFAAAADHNoYXJlQXNzZXRJZAMJAQAAAAEhAAAAAQUAAAAQaGFzRW5vdWdoQmFsYW5jZQkABE4AAAACCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAJcG10QW1vdW50BQAAAApwbXRBc3NldElkBQAAAANuaWwJAQAAABFzdXNwZW5kU3VzcGljaW91cwAAAAADAwkAAGYAAAACBQAAAAxhbW91bnRUb1BheUEFAAAAEWF2YWlsYWJsZUJhbGFuY2VBBgkAAGYAAAACBQAAAAxhbW91bnRUb1BheUIFAAAAEWF2YWlsYWJsZUJhbGFuY2VCCQEAAAAidGhyb3dJbnN1ZmZpY2llbnRBdmFpbGFibGVCYWxhbmNlcwAAAAIFAAAADGFtb3VudFRvUGF5QQUAAAAMYW1vdW50VG9QYXlCCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAlrQmFsYW5jZUEJ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ZWl2ZQUAAAAJcG10QW1vdW50BQAAABVleGNoYW5nZVJhdGlvTGltaXRNYXgJAAACAAAAAQIAAAAcSW5jb3JyZWN0IGFyZ3MgYW5kIHBtdCByYXRpbwQAAAALc2VuZEFzc2V0SWQDCQAAAAAAAAIFAAAACnBtdEFzc2V0SWQFAAAACGFzc2V0SWRBBQAAAAhhc3NldElkQgUAAAAIYXNzZXRJZEEEAAAABmFtb3VudAkBAAAAE2NhbGN1bGF0ZVNlbmRBbW91bnQAAAAEBQAAABhlc3RpbWF0ZWRBbW91bnRUb1JlY2VpdmUFAAAAEm1pbkFtb3VudFRvUmVjZWl2ZQUAAAAJcG10QW1vdW50BQAAAApwbXRBc3NldElkBAAAABBnb3Zlcm5hbmNlUmV3YXJkCQAAawAAAAMFAAAABmFtb3VudAUAAAANZmVlR292ZXJuYW5jZQUAAAAJZmVlU2NhbGU2BAAAAA5hbW91bnRNaW51c0ZlZQkAAGsAAAADBQAAAAZhbW91bnQJAABlAAAAAgUAAAAJZmVlU2NhbGU2BQAAAANmZWUFAAAACWZlZVNjYWxlNgQAAAANJHQwMjM1ODMyMzg0NQMJAAAAAAAAAgUAAAAKcG10QXNzZXRJZAUAAAAIYXNzZXRJZEEJAAUUAAAAAgkAAGQAAAACBQAAAAhiYWxhbmNlQQUAAAAJcG10QW1vdW50CQAAZQAAAAIJAABlAAAAAgUAAAAIYmFsYW5jZUIFAAAADmFtb3VudE1pbnVzRmVlBQAAABBnb3Zlcm5hbmNlUmV3YXJkCQAFFAAAAAIJAABlAAAAAgkAAGUAAAACBQAAAAhiYWxhbmNlQQUAAAAOYW1vdW50TWludXNGZWUFAAAAEGdvdmVybmFuY2VSZXdhcmQJAABkAAAAAgUAAAAIYmFsYW5jZUIFAAAACXBtdEFtb3VudAQAAAALbmV3QmFsYW5jZUEIBQAAAA0kdDAyMzU4MzIzODQ1AAAAAl8xBAAAAAtuZXdCYWxhbmNlQggFAAAADSR0MDIzNTgzMjM4NDUAAAACXzIEAAAAE2RBcHBUaHJlc2hvbGRBbW91bnQJAABrAAAAAwkAAGQAAAACBQAAAAtuZXdCYWxhbmNlQQUAAAALbmV3QmFsYW5jZUIFAAAADWRBcHBUaHJlc2hvbGQJAABoAAAAAgAAAAAAAAAAAgUAAAATZEFwcFRocmVzaG9sZFNjYWxlMgMDCQAAZgAAAAIFAAAAE2RBcHBUaHJlc2hvbGRBbW91bnQFAAAAC25ld0JhbGFuY2VBBgkAAGYAAAACBQAAABNkQXBwVGhyZXNob2xkQW1vdW50BQAAAAtuZXdCYWxhbmNlQgkBAAAADnRocm93VGhyZXNob2xkAAAAAwUAAAATZEFwcFRocmVzaG9sZEFtb3VudAUAAAALbmV3QmFsYW5jZUEFAAAAC25ld0JhbGFuY2VCAwMDCQAAAAAAAAIFAAAACGFzc2V0SWRBBQAAAARVU0ROCQAAAAAAAAIFAAAAC3NlbmRBc3NldElkBQAAAAhhc3NldElkQQcJAABnAAAAAgUAAAAQc3Rha2VkQW1vdW50VVNETgUAAAALbmV3QmFsYW5jZUEHCQEAAAAhdGhyb3dJbnN1ZmZpY2llbnRBdmFpbGFibGVCYWxhbmNlAAAAAwUAAAAOYW1vdW50TWludXNGZWUFAAAAEWF2YWlsYWJsZUJhbGFuY2VBBQAAAAphc3NldE5hbWVBAwMDCQAAAAAAAAIFAAAACGFzc2V0SWRCBQAAAARVU0ROCQAAAAAAAAIFAAAAC3NlbmRBc3NldElkBQAAAAhhc3NldElkQgcJAABnAAAAAgUAAAAQc3Rha2VkQW1vdW50VVNETgUAAAALbmV3QmFsYW5jZUIHCQEAAAAhdGhyb3dJbnN1ZmZpY2llbnRBdmFpbGFibGVCYWxhbmNlAAAAAwUAAAAOYW1vdW50TWludXNGZWUFAAAAEWF2YWlsYWJsZUJhbGFuY2VCBQAAAAphc3NldE5hbWVCCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAlrQmFsYW5jZUEFAAAAC25ld0JhbGFuY2VBCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAlrQmFsYW5jZUIFAAAAC25ld0JhbGFuY2VCCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAAprSW52YXJpYW50CQEAAAANaW52YXJpYW50Q2FsYwAAAAIFAAAAC25ld0JhbGFuY2VBBQAAAAtuZXdCYWxhbmNlQgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADmFtb3VudE1pbnVzRmVlBQAAAAtzZW5kQXNzZXRJZAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA13YWxsZXRBZGRyZXNzBQAAABBnb3Zlcm5hbmNlUmV3YXJkBQAAAAtzZW5kQXNzZXRJZAUAAAADbmlsAAAAAWkBAAAACHNodXRkb3duAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQkAASwAAAACAgAAACJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAABmtDYXVzZQIAAAAadGhlIGNhdXNlIHdhc24ndCBzcGVjaWZpZWQDCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAADGFkbVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAQAAAA50aHJvd09ubHlBZG1pbgAAAAAJAQAAAAdzdXNwZW5kAAAAAQIAAAAPUGF1c2VkIGJ5IGFkbWluAAAAAWkBAAAACGFjdGl2YXRlAAAAAAMFAAAACGlzQWN0aXZlCQEAAAANdGhyb3dJc0FjdGl2ZQAAAAADCQEAAAABIQAAAAEJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAADGFkbWluUHViS2V5MQkABEwAAAACBQAAAAxhZG1pblB1YktleTIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkzCQAETAAAAAIFAAAADGFkbVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAQAAAA50aHJvd09ubHlBZG1pbgAAAAAJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAAB2tBY3RpdmUGCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAABmtDYXVzZQUAAAADbmlsAAAAAWkBAAAAEmVuYWJsZUZpcnN0SGFydmVzdAAAAAAJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAADWtGaXJzdEhhcnZlc3QGCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABNrRmlyc3RIYXJ2ZXN0SGVpZ2h0CQAAZAAAAAIFAAAAC3N0YXJ0SGVpZ2h0CQAAaAAAAAIFAAAAFWZpcnN0SGFydmVzdEVuZFBlcmlvZAUAAAAMcGVyaW9kTGVuZ3RoBQAAAANuaWwAAAABaQEAAAAZdGFrZUludG9BY2NvdW50RXh0cmFGdW5kcwAAAAEAAAALYW1vdW50TGVhdmUEAAAADHVuY291bnRhYmxlQQkAAGUAAAACBQAAABlhY2NvdW50QmFsYW5jZVdpdGhTdGFrZWRBBQAAAAhiYWxhbmNlQQQAAAAMdW5jb3VudGFibGVCCQAAZQAAAAIFAAAAGWFjY291bnRCYWxhbmNlV2l0aFN0YWtlZEIFAAAACGJhbGFuY2VCBAAAAA1hbW91bnRFbnJvbGxBCQAAZQAAAAIFAAAADHVuY291bnRhYmxlQQMJAAAAAAAAAgUAAAAIYXNzZXRJZEEFAAAABHVuaXQFAAAAC2Ftb3VudExlYXZlAAAAAAAAAAAABAAAAA1hbW91bnRFbnJvbGxCCQAAZQAAAAIFAAAADHVuY291bnRhYmxlQgMJAAAAAAAAAgUAAAAIYXNzZXRJZEIFAAAABHVuaXQFAAAAC2Ftb3VudExlYXZlAAAAAAAAAAAABAAAAAxpbnZhcmlhbnROZXcJAQAAAA1pbnZhcmlhbnRDYWxjAAAAAgkAAGQAAAACBQAAAAhiYWxhbmNlQQUAAAANYW1vdW50RW5yb2xsQQkAAGQAAAACBQAAAAhiYWxhbmNlQgUAAAANYW1vdW50RW5yb2xsQgMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAQAAAA90aHJvd0lzSW5hY3RpdmUAAAAAAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQEAAAAOdGhyb3dPbmx5QWRtaW4AAAAAAwkAAGYAAAACAAAAAAAAAAAABQAAAAthbW91bnRMZWF2ZQkAAAIAAAABCQABLAAAAAICAAAAM0FyZ3VtZW50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", "height": 1661092, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9fbmccZqMRSPismcPuQujYR84Bq44vXX4PpiyDhKBkR Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "2.0.0"
55
66 let b = "version"
77
88 let c = "active"
99
1010 let d = "A_asset_id"
1111
1212 let e = "B_asset_id"
1313
1414 let f = "A_asset_balance"
1515
1616 let g = "B_asset_balance"
1717
1818 let h = "share_asset_id"
1919
2020 let i = "share_asset_supply"
2121
2222 let j = "commission"
2323
2424 let k = "commission_scale_delimiter"
2525
2626 let l = "invariant"
2727
2828 let m = "shutdown_cause"
2929
3030 let n = "first_harvest"
3131
3232 let o = "first_harvest_height"
3333
3434 let p = "share_limit_on_first_harvest"
3535
3636 let q = "base_period"
3737
3838 let r = "period_length"
3939
4040 let s = "start_height"
4141
4242 let t = "asset_priority_"
4343
4444 let u = "script_hash_flat"
4545
4646 let v = "init_pool_height_"
4747
4848 let w = "admin_pub_1"
4949
5050 let x = "admin_pub_2"
5151
5252 let y = "admin_pub_3"
5353
5454 let z = Address(base58'3N77kfPbQyjXWpDALX3xjKw3iEGMWEctV37')
5555
5656 let A = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
5757
5858 let B = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
5959
6060 let C = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
6161
6262 func D (E) = {
6363 let F = getString(A, E)
6464 if ($isInstanceOf(F, "String"))
6565 then {
6666 let G = F
6767 fromBase58String(G)
6868 }
6969 else {
7070 let H = F
7171 throw("Admin public key is empty")
7272 }
7373 }
7474
7575
7676 let I = D(w)
7777
7878 let J = D(x)
7979
8080 let K = D(y)
8181
8282 let L = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
8383
8484 let M = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
8585
8686 let N = valueOrErrorMessage(getInteger(C, q), "Empty kBasePeriod")
8787
8888 let O = valueOrErrorMessage(getInteger(C, s), "Empty kStartHeight")
8989
9090 let P = valueOrErrorMessage(getInteger(C, r), "Empty kPeriodLength")
9191
9292 let Q = ((N + ((height - O) / P)) + 1)
9393
9494 let R = Address(base58'3N6q7sCGSSLBUXDdjBdYGTJbZGZfhhh8cNg')
9595
9696 let S = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
9797
9898 let T = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
9999
100100 let U = 270000
101101
102102 let V = getBooleanValue(this, c)
103103
104104 let W = getStringValue(this, d)
105105
106106 let X = getStringValue(this, e)
107107
108108 let Y = if ((W == "WAVES"))
109109 then unit
110110 else fromBase58String(W)
111111
112112 let Z = if ((X == "WAVES"))
113113 then unit
114114 else fromBase58String(X)
115115
116116 let aa = {
117117 let F = Y
118118 if ($isInstanceOf(F, "ByteVector"))
119119 then {
120120 let ab = F
121121 value(assetInfo(ab)).name
122122 }
123123 else if ($isInstanceOf(F, "Unit"))
124124 then {
125125 let ac = F
126126 "WAVES"
127127 }
128128 else throw("Match error")
129129 }
130130
131131 let ad = {
132132 let F = Z
133133 if ($isInstanceOf(F, "ByteVector"))
134134 then {
135135 let ab = F
136136 value(assetInfo(ab)).name
137137 }
138138 else if ($isInstanceOf(F, "Unit"))
139139 then {
140140 let ac = F
141141 "WAVES"
142142 }
143143 else throw("Match error")
144144 }
145145
146146 let ae = getIntegerValue(this, f)
147147
148148 let af = getIntegerValue(this, g)
149149
150150 let ag = fromBase58String(getStringValue(this, h))
151151
152152 let ah = getIntegerValue(this, i)
153153
154154 let ai = getIntegerValue(this, l)
155155
156156 let aj = 500
157157
158158 let ak = 200
159159
160160 let al = 1000000
161161
162162 let am = 1000000000
163163
164164 let an = 1000
165165
166166 let ao = 100000000
167167
168168 let ap = 1000000000000
169169
170170 let aq = 1000
171171
172172 let ar = 8
173173
174174 let as = 50
175175
176176 let at = 100
177177
178178 let au = 90000000
179179
180180 let av = 110000000
181181
182182 let aw = 50
183183
184184 let ax = 2
185185
186186 let ay = 46000000
187187
188188 func az (aA) = {
189189 let F = aA
190190 if ($isInstanceOf(F, "ByteVector"))
191191 then {
192192 let ab = F
193193 assetBalance(this, ab)
194194 }
195195 else if ($isInstanceOf(F, "Unit"))
196196 then {
197197 let ac = F
198198 wavesBalance(this).available
199199 }
200200 else throw("Match error")
201201 }
202202
203203
204204 let aB = {
205205 let F = getInteger(R, ((("rpd_balance_" + toBase58String(S)) + "_") + toString(this)))
206206 if ($isInstanceOf(F, "Int"))
207207 then {
208208 let aC = F
209209 aC
210210 }
211211 else if ($isInstanceOf(F, "Unit"))
212212 then {
213213 let H = F
214214 0
215215 }
216216 else throw("Match error")
217217 }
218218
219219 func aD (aA) = {
220220 let F = aA
221221 if ($isInstanceOf(F, "ByteVector"))
222222 then {
223223 let ab = F
224224 if ((ab == S))
225225 then true
226226 else false
227227 }
228228 else if ($isInstanceOf(F, "Unit"))
229229 then {
230230 let ac = F
231231 false
232232 }
233233 else throw("Match error")
234234 }
235235
236236
237237 let aE = (ae - (if ((Y == S))
238238 then aB
239239 else 0))
240240
241241 let aF = (af - (if ((Z == S))
242242 then aB
243243 else 0))
244244
245245 let aG = (az(Y) + (if ((Y == S))
246246 then aB
247247 else 0))
248248
249249 let aH = (az(Z) + (if ((Z == S))
250250 then aB
251251 else 0))
252252
253253 let aI = if ((aG >= ae))
254254 then (aH >= af)
255255 else false
256256
257257 func aJ (aK,aL) = (((fraction(ap, aK, aL) + fraction(ap, aL, aK)) / 2) / 10000)
258258
259259
260260 func aM (aK,aL) = {
261261 let aN = aJ(aK, aL)
262262 (fraction((aK + aL), ao, pow(aN, ar, aw, ax, ar, CEILING)) + (2 * fraction(pow(fraction(aK, aL, ao), 0, 5, 1, (ar / 2), DOWN), pow((aN - ay), ar, aw, ax, ar, DOWN), ao)))
263263 }
264264
265265
266266 func aO (aP,aQ,aR,aS) = {
267267 let aT = (ao - ((ao * 1) / 10000000))
268268 let aU = (aP - aQ)
269269 let aK = (ae + aR)
270270 let aL = (af + aR)
271271 let aV = if ((aS == Y))
272272 then aM(aK, (af - aP))
273273 else if ((aS == Z))
274274 then aM((ae - aP), aL)
275275 else throw("Wrong asset in payment")
276276 let aW = fraction(ao, ai, aV)
277277 func aX (aY,aZ) = if ((aY == -1))
278278 then {
279279 let ba = (aP - ((aZ * aU) / 5))
280280 let bb = if ((aS == Y))
281281 then aM(aK, (af - ba))
282282 else aM((ae - ba), aL)
283283 if ((bb > ai))
284284 then ba
285285 else -1
286286 }
287287 else aY
288288
289289 let bc = {
290290 let bd = [1, 2, 3, 4, 5]
291291 let be = size(bd)
292292 let bf = -1
293293 if ((be == 0))
294294 then bf
295295 else {
296296 let bg = aX(bf, bd[0])
297297 if ((be == 1))
298298 then bg
299299 else {
300300 let bh = aX(bg, bd[1])
301301 if ((be == 2))
302302 then bh
303303 else {
304304 let bi = aX(bh, bd[2])
305305 if ((be == 3))
306306 then bi
307307 else {
308308 let bj = aX(bi, bd[3])
309309 if ((be == 4))
310310 then bj
311311 else {
312312 let bk = aX(bj, bd[4])
313313 if ((be == 5))
314314 then bk
315315 else {
316316 let bl = aX(bk, bd[5])
317317 throw("List size exceed 5")
318318 }
319319 }
320320 }
321321 }
322322 }
323323 }
324324 }
325325 if ((0 > bc))
326326 then throw("something went wrong while working with amountToSend")
327327 else if (if ((aW > aT))
328328 then (aV > ai)
329329 else false)
330330 then aP
331331 else bc
332332 }
333333
334334
335335 func bm (aA) = {
336336 let F = aA
337337 if ($isInstanceOf(F, "ByteVector"))
338338 then {
339339 let ab = F
340340 let bn = toBase58String(ab)
341341 let bo = valueOrErrorMessage(assetInfo(ab), (("Asset " + bn) + " doesn't exist"))
342342 $Tuple3(bn, bo.name, bo.decimals)
343343 }
344344 else if ($isInstanceOf(F, "Unit"))
345345 then {
346346 let ac = F
347347 $Tuple3("WAVES", "WAVES", 8)
348348 }
349349 else throw("Match error")
350350 }
351351
352352
353353 func bp (bq) = [BooleanEntry(c, false), StringEntry(m, bq)]
354354
355355
356356 func br (bs,aA) = if ((aA == S))
357357 then {
358358 let bt = (bs - U)
359359 if ((0 >= bt))
360360 then throw((((("Insufficient amount " + toString(bs)) + " to deduct staking fee ") + toString(U)) + " USD-N"))
361361 else bt
362362 }
363363 else bs
364364
365365
366366 func bu () = throw("DApp is already active")
367367
368368
369369 func bv () = throw("DApp is inactive at this moment")
370370
371371
372372 func bw () = throw("Only admin can call this function")
373373
374374
375375 func bx () = throw(((("Incorrect assets attached. Expected: " + W) + " and ") + X))
376376
377377
378378 func by (bz,bA,bB) = throw(((((((((("New balance in assets of the DApp is less than threshold " + toString(bz)) + ": ") + toString(bA)) + " ") + aa) + ", ") + toString(bB)) + " ") + ad))
379379
380380
381381 func bC (bs,bD,bE) = throw((((((((("Insufficient DApp balance to pay " + toString(bs)) + " ") + bE) + " due to staking. Available: ") + toString(bD)) + " ") + bE) + ". Please contact support in Telegram: https://t.me/swopfisupport"))
382382
383383
384384 func bF (bA,bB) = throw((((((((((((((((("Insufficient DApp balance to pay " + toString(bA)) + " ") + aa) + " and ") + toString(bB)) + " ") + ad) + " due to staking. Available: ") + toString(aE)) + " ") + aa) + " and ") + toString(aF)) + " ") + ad) + ". Please contact support in Telegram: https://t.me/swopfisupport"))
385385
386386
387387 func bG () = bp(((((((((((((((("Suspicious state. Actual balances: " + toString(ae)) + " ") + aa) + ", ") + toString(af)) + " ") + ad) + ". State: ") + toString(az(Y))) + " ") + aa) + ", ") + toString(az(Z))) + " ") + ad))
388388
389389
390390 @Callable(bH)
391391 func init (bI) = {
392392 let bJ = $Tuple2(bH.payments[0].amount, bH.payments[0].assetId)
393393 let bK = bJ._1
394394 let bL = bJ._2
395395 let bM = $Tuple2(bH.payments[1].amount, bH.payments[1].assetId)
396396 let bN = bM._1
397397 let bO = bM._2
398398 let bP = $Tuple2(bH.payments[2].amount, bH.payments[2].assetId)
399399 let bQ = bP._1
400400 let bR = bP._2
401401 let bS = isDataStorageUntouched(this)
402402 let bT = scriptHash(this)
403403 let bU = addressFromStringValue(bI)
404404 if ((bH.caller == this))
405405 then throw("You can't call yourself")
406406 else if (if ((bR != T))
407407 then true
408408 else (bQ != am))
409409 then throw("You need to attach 10 SWOP tokens")
410410 else if (if (!(aD(bL)))
411411 then !(aD(bO))
412412 else false)
413413 then throw("One of assets must be USDN, WAVES or SWOP")
414414 else if (if ((bT == value(getBinary(A, u))))
415415 then true
416416 else !(bS))
417417 then throw("Unexpected script was found.")
418418 else if (isDefined(getBoolean(this, c)))
419419 then bu()
420420 else if ((bL == bO))
421421 then throw("Assets must be different")
422422 else {
423423 let bV = {
424424 let F = bL
425425 if ($isInstanceOf(F, "ByteVector"))
426426 then {
427427 let ab = F
428428 toBase58String(ab)
429429 }
430430 else if ($isInstanceOf(F, "Unit"))
431431 then {
432432 let ac = F
433433 "WAVES"
434434 }
435435 else throw("Match error")
436436 }
437437 let bW = {
438438 let F = bO
439439 if ($isInstanceOf(F, "ByteVector"))
440440 then {
441441 let ab = F
442442 toBase58String(ab)
443443 }
444444 else if ($isInstanceOf(F, "Unit"))
445445 then {
446446 let ac = F
447447 "WAVES"
448448 }
449449 else throw("Match error")
450450 }
451451 let bX = valueOrElse(getInteger(A, (t + bV)), 999999)
452452 let bY = valueOrElse(getInteger(A, (t + bW)), 999999)
453453 let bZ = if ((bY > bX))
454454 then $Tuple4(bN, bO, bK, bL)
455455 else $Tuple4(bK, bL, bN, bO)
456456 let ca = bZ._1
457457 let cb = bZ._2
458458 let cc = bZ._3
459459 let cd = bZ._4
460460 let ce = bm(cb)
461461 let cf = ce._1
462462 let cg = ce._2
463463 let ch = ce._3
464464 let ci = bm(cd)
465465 let cj = ci._1
466466 let ck = ci._2
467467 let cl = ci._3
468468 let cm = ((("s" + take(cg, 7)) + "_") + take(ck, 7))
469469 let cn = ((((("ShareToken of SwopFi protocol for " + cg) + " and ") + ck) + " at address ") + toString(this))
470470 let co = ((ch + cl) / 2)
471471 let cp = fraction(pow(ca, ch, 5, 1, ch, DOWN), pow(cc, cl, 5, 1, cl, DOWN), pow(10, 0, co, 0, 0, DOWN))
472472 let cq = Issue(cm, cn, cp, co, true)
473473 let cr = calculateAssetId(cq)
474474 let cs = aM(ca, cc)
475475 [StringEntry(b, a), BooleanEntry(c, true), StringEntry(d, cf), StringEntry(e, cj), IntegerEntry(f, ca), IntegerEntry(g, cc), IntegerEntry(l, cs), IntegerEntry(j, aj), IntegerEntry(k, al), IntegerEntry(v, height), cq, StringEntry(h, toBase58String(cr)), IntegerEntry(i, cp), ScriptTransfer(bU, cp, cr), ScriptTransfer(B, am, T)]
476476 }
477477 }
478478
479479
480480
481481 @Callable(bH)
482482 func keepLimitForFirstHarvest (ct) = if (!(V))
483483 then throw("DApp is inactive at this moment")
484484 else if (!(containsElement([I, J, K, M], bH.callerPublicKey)))
485485 then throw("Only admin can call this function")
486486 else [IntegerEntry(p, ct)]
487487
488488
489489
490490 @Callable(bH)
491491 func replenishWithTwoTokens (cu) = {
492492 let cb = bH.payments[0].assetId
493493 let cd = bH.payments[1].assetId
494494 let ca = br(bH.payments[0].amount, cb)
495495 let cc = br(bH.payments[1].amount, cd)
496496 let cv = fraction(fraction(ao, ae, ca), an, fraction(ao, af, cc))
497497 let cw = fraction(ao, ca, ae)
498498 let cx = fraction(ao, cc, af)
499499 let cy = fraction(min([cw, cx]), ah, ao)
500500 let cs = aM((ae + ca), (af + cc))
501501 if (!(V))
502502 then bv()
503503 else if (if ((0 > cu))
504504 then true
505505 else (cu > 10))
506506 then throw("Slippage tolerance must be <= 1%")
507507 else if ((size(bH.payments) != 2))
508508 then throw("Two attached assets expected")
509509 else if (if ((cb != Y))
510510 then true
511511 else (cd != Z))
512512 then bx()
513513 else if (if ((((an * (aq - cu)) / aq) > cv))
514514 then true
515515 else (cv > ((an * (aq + cu)) / aq)))
516516 then throw("Incorrect assets amount: amounts must have the contract ratio")
517517 else if ((cy == 0))
518518 then throw("Too small amount to replenish")
519519 else if (!(aI))
520520 then ([ScriptTransfer(bH.caller, ca, cb), ScriptTransfer(bH.caller, cc, cd)] ++ bG())
521521 else [IntegerEntry(f, (ae + ca)), IntegerEntry(g, (af + cc)), IntegerEntry(i, (ah + cy)), IntegerEntry(l, cs), Reissue(ag, cy, true), ScriptTransfer(bH.caller, cy, ag)]
522522 }
523523
524524
525525
526526 @Callable(bH)
527527 func replenishWithOneToken (cz,cA) = {
528528 let cB = $Tuple2(bH.payments[0].amount, bH.payments[0].assetId)
529529 let cC = cB._1
530530 let cD = cB._2
531531 let cE = 5000000
532532 let cF = 50000000
533533 let cG = if ((cF > cC))
534534 then 100000
535535 else 1
536536 let cH = (ao - ((ao * cG) / 10000000))
537537 let cI = (ao + ((ao * cG) / 10000000))
538538 let cJ = (ao - ((ao * 1) / 10000000))
539539 if (!(V))
540540 then bv()
541541 else if ((cE > cC))
542542 then throw((((("Payment amount " + toString(cC)) + " does not exceed the minimum amount of ") + toString(cE)) + " tokens"))
543543 else if ((size(bH.payments) != 1))
544544 then throw("One attached payment expected")
545545 else if (!(aI))
546546 then ([ScriptTransfer(bH.caller, cC, cD)] ++ bG())
547547 else if (if ((cD != Y))
548548 then (cD != Z)
549549 else false)
550550 then bx()
551551 else {
552552 let cK = if ((cD == Y))
553553 then $Tuple7((cC - cz), cA, (ae + cz), (af - cA), aM((ae + cC), af), (ae + cC), af)
554554 else $Tuple7(cA, (cC - cz), (ae - cA), (af + cz), aM(ae, (af + cC)), ae, (af + cC))
555555 let cL = cK._1
556556 let cM = cK._2
557557 let cN = cK._3
558558 let cO = cK._4
559559 let cs = cK._5
560560 let cP = cK._6
561561 let cQ = cK._7
562562 let cR = if ((cD == Y))
563563 then IntegerEntry(f, cP)
564564 else IntegerEntry(g, cQ)
565565 let aV = aM(cN, cO)
566566 let aW = fraction(ao, ai, aV)
567567 let cS = (fraction((ao * ao), cN, cO) / fraction(ao, cL, cM))
568568 let cT = fraction((cP + cQ), as, (2 * at))
569569 if (if ((cJ >= aW))
570570 then true
571571 else (ai > aV))
572572 then throw("Incorrect virtualSwapTokenPay or virtualSwapTokenGet value")
573573 else if (if ((cH > cS))
574574 then true
575575 else (cS > cI))
576576 then throw("Swap with virtualSwapTokenPay and virtualSwapTokenGet is possible, but ratio after virtual swap is incorrect")
577577 else if (if ((cT > cP))
578578 then true
579579 else (cT > cQ))
580580 then by(cT, cP, cQ)
581581 else {
582582 let cw = fraction(br(cL, Y), ao, cN)
583583 let cx = fraction(br(cM, Z), ao, cO)
584584 let cy = fraction(min([cw, cx]), ah, ao)
585585 [Reissue(ag, cy, true), ScriptTransfer(bH.caller, cy, ag), IntegerEntry(i, (ah + cy)), cR, IntegerEntry(l, cs)]
586586 }
587587 }
588588 }
589589
590590
591591
592592 @Callable(bH)
593593 func withdraw () = {
594594 let cU = $Tuple2(bH.payments[0].amount, bH.payments[0].assetId)
595595 let cC = cU._1
596596 let cD = cU._2
597597 let cV = br(fraction(cC, ae, ah), Y)
598598 let cW = br(fraction(cC, af, ah), Z)
599599 let cs = aM((ae - cV), (af - cW))
600600 if (!(V))
601601 then bv()
602602 else if ((size(bH.payments) != 1))
603603 then throw("One attached payment expected")
604604 else if ((cD != ag))
605605 then throw(("Incorrect asset attached. Expected: " + toBase58String(ag)))
606606 else if (!(aI))
607607 then ([ScriptTransfer(bH.caller, cC, cD)] ++ bG())
608608 else if (if ((cV > aE))
609609 then true
610610 else (cW > aF))
611611 then bF(cV, cW)
612612 else [IntegerEntry(f, (ae - cV)), IntegerEntry(g, (af - cW)), IntegerEntry(i, (ah - cC)), IntegerEntry(l, cs), Burn(ag, cC), ScriptTransfer(bH.caller, cV, Y), ScriptTransfer(bH.caller, cW, Z)]
613613 }
614614
615615
616616
617617 @Callable(bH)
618618 func exchange (cX,cY) = {
619619 let cZ = $Tuple2(bH.payments[0].amount, bH.payments[0].assetId)
620620 let cC = cZ._1
621621 let cD = cZ._2
622622 if (!(V))
623623 then bv()
624624 else if ((0 >= cX))
625625 then throw(("Estimated amount must be positive. Actual: " + toString(cX)))
626626 else if ((cY > cX))
627627 then throw(((("Minimal amount can't be greater than estimated. Estimated: " + toString(cX)) + ". Minimal: ") + toString(cY)))
628628 else if ((size(bH.payments) != 1))
629629 then throw("One attached payment expected")
630630 else if (!(aI))
631631 then ([ScriptTransfer(bH.caller, cC, cD)] ++ bG())
632632 else if (if ((cD != Y))
633633 then (cD != Z)
634634 else false)
635635 then bx()
636636 else if ((10000000 > cC))
637637 then throw("Only swap of 10.000000 or more tokens is allowed")
638638 else if (if ((au > fraction(ao, cY, cC)))
639639 then true
640640 else (fraction(ao, cX, cC) > av))
641641 then throw("Incorrect args and pmt ratio")
642642 else {
643643 let da = if ((cD == Y))
644644 then Z
645645 else Y
646646 let bs = aO(cX, cY, cC, cD)
647647 let db = fraction(bs, ak, al)
648648 let dc = fraction(bs, (al - aj), al)
649649 let dd = if ((cD == Y))
650650 then $Tuple2((ae + cC), ((af - dc) - db))
651651 else $Tuple2(((ae - dc) - db), (af + cC))
652652 let cP = dd._1
653653 let cQ = dd._2
654654 let cT = fraction((cP + cQ), as, (2 * at))
655655 if (if ((cT > cP))
656656 then true
657657 else (cT > cQ))
658658 then by(cT, cP, cQ)
659659 else if (if (if ((Y == S))
660660 then (da == Y)
661661 else false)
662662 then (aB >= cP)
663663 else false)
664664 then bC(dc, aE, aa)
665665 else if (if (if ((Z == S))
666666 then (da == Z)
667667 else false)
668668 then (aB >= cQ)
669669 else false)
670670 then bC(dc, aF, ad)
671671 else [IntegerEntry(f, cP), IntegerEntry(g, cQ), IntegerEntry(l, aM(cP, cQ)), ScriptTransfer(bH.caller, dc, da), ScriptTransfer(B, db, da)]
672672 }
673673 }
674674
675675
676676
677677 @Callable(bH)
678678 func shutdown () = if (!(V))
679679 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, m), "the cause wasn't specified")))
680680 else if (!(containsElement([I, J, K, L], bH.callerPublicKey)))
681681 then bw()
682682 else bp("Paused by admin")
683683
684684
685685
686686 @Callable(bH)
687687 func activate () = if (V)
688688 then bu()
689689 else if (!(containsElement([I, J, K, L], bH.callerPublicKey)))
690690 then bw()
691691 else [BooleanEntry(c, true), DeleteEntry(m)]
692692
693693
694694
695695 @Callable(bH)
696696 func enableFirstHarvest () = [BooleanEntry(n, true), IntegerEntry(o, (O + (Q * P)))]
697697
698698
699699
700700 @Callable(bH)
701701 func takeIntoAccountExtraFunds (de) = {
702702 let df = (aG - ae)
703703 let dg = (aH - af)
704704 let dh = (df - (if ((Y == unit))
705705 then de
706706 else 0))
707707 let di = (dg - (if ((Z == unit))
708708 then de
709709 else 0))
710710 let aV = aM((ae + dh), (af + di))
711711 if (!(V))
712712 then bv()
713713 else if ((bH.caller != this))
714714 then bw()
715715 else if ((0 > de))
716716 then throw(("Argument 'amountLeave' cannot be negative. Actual: " + toString(de)))
717717 else if (if ((0 > df))
718718 then true
719719 else (0 > dg))
720720 then bp("Enroll amount negative")
721721 else if (if ((0 > dh))
722722 then true
723723 else (0 > di))
724724 then throw("Too large amountLeave")
725725 else [IntegerEntry(l, aV), IntegerEntry(f, (ae + dh)), IntegerEntry(g, (af + di)), IntegerEntry(("last_income_" + W), dh), IntegerEntry(("last_income_" + X), di)]
726726 }
727727
728728
729729 @Verifier(dj)
730730 func dk () = {
731731 let dl = {
732732 let dm = if (sigVerify(dj.bodyBytes, dj.proofs[0], I))
733733 then 1
734734 else 0
735735 let dn = if (sigVerify(dj.bodyBytes, dj.proofs[1], J))
736736 then 1
737737 else 0
738738 let do = if (sigVerify(dj.bodyBytes, dj.proofs[2], K))
739739 then 1
740740 else 0
741741 (((dm + dn) + do) >= 2)
742742 }
743743 let F = dj
744744 if ($isInstanceOf(F, "InvokeScriptTransaction"))
745745 then {
746746 let dp = F
747747 let dq = if ((dp.dApp == this))
748748 then (dp.function == "takeIntoAccountExtraFunds")
749749 else false
750750 let dr = if ((dp.dApp == this))
751751 then (dp.function == "enableFirstHarvest")
752752 else false
753753 let ds = if ((dp.dApp == R))
754754 then if (if (if ((dp.function == "lockNeutrino"))
755755 then (size(dp.payments) == 1)
756756 else false)
757757 then (dp.payments[0].assetId == S)
758758 else false)
759759 then true
760760 else if ((dp.function == "unlockNeutrino"))
761761 then (size(dp.payments) == 0)
762762 else false
763763 else false
764764 let dt = if (if (if ((dp.dApp == z))
765765 then (dp.function == "exchange")
766766 else false)
767767 then (Y == S)
768768 else false)
769769 then true
770770 else if (if ((Z == S))
771771 then (size(dp.payments) == 1)
772772 else false)
773773 then (dp.payments[0].assetId == S)
774774 else false
775775 let du = if (if (if (sigVerify(dj.bodyBytes, dj.proofs[0], I))
776776 then true
777777 else sigVerify(dj.bodyBytes, dj.proofs[0], J))
778778 then true
779779 else sigVerify(dj.bodyBytes, dj.proofs[0], K))
780780 then true
781781 else sigVerify(dj.bodyBytes, dj.proofs[0], M)
782782 if (if (if (if (if (dq)
783783 then true
784784 else dr)
785785 then true
786786 else ds)
787787 then true
788788 else dt)
789789 then du
790790 else false)
791791 then true
792792 else dl
793793 }
794794 else dl
795795 }
796796

github/deemru/w8io/c3f4982 
94.18 ms