tx · 1azaHc3WhYnqtdcwn3xtg1i54oLoUB1xyQKxHgR88WK

3N33m3JMhEN5QxhDKujcsbpFHo3UcHE4Jwt:  -0.03200000 Waves

2024.10.16 18:11 [3329540] smart account 3N33m3JMhEN5QxhDKujcsbpFHo3UcHE4Jwt > SELF 0.00000000 Waves

{ "type": 13, "id": "1azaHc3WhYnqtdcwn3xtg1i54oLoUB1xyQKxHgR88WK", "fee": 3200000, "feeAssetId": null, "timestamp": 1729091515586, "version": 2, "chainId": 84, "sender": "3N33m3JMhEN5QxhDKujcsbpFHo3UcHE4Jwt", "senderPublicKey": "9Rp4v3BUwexbq4Ta6b1K2wTRxefC3irpr2tHC51mSAjz", "proofs": [ "of5QJb6qRdwBfRnv7SVuRopUpLefP4hZu99xtDeYGGQvhiygHkt5PJVxu47vKeJgjgK3QNwmHPTJcmdnzdxuHm5" ], "script": "base64:AAIFAAAAAAAAADgIAhIECgIICBIDCgEIEgQKAggIEgUKAwgIARIDCgEIEgUKAwgEBBIDCgEIEgASAwoBCBIECgIICAAAAD8AAAAABVNjYWxlAAAAAAAF9eEAAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWECAAAAAAEAAAAMdHJ5R2V0U3RyaW5nAAAAAQAAAANrZXkJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIFAAAABHRoaXMFAAAAA2tleQEAAAAHZ2V0Qm9vbAAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAABYgUAAAAHJG1hdGNoMAUAAAABYgcBAAAACWlzVGVzdEVudgAAAAAJAQAAAAdnZXRCb29sAAAAAQIAAAAHVEVTVEVOVgEAAAAcc3RhdGljS2V5X3JlZkNvbnRyYWN0QWRkcmVzcwAAAAACAAAAGXN0YXRpY19yZWZDb250cmFjdEFkZHJlc3MAAAAAFWtleUdsb2JhbExhc3RJbnRlcmVzdAIAAAAZZ2xvYmFsX2xhc3RDaGVja19pbnRlcmVzdAEAAAAXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MAAAAAAgAAABRzdGF0aWNfb3JhY2xlQWRkcmVzcwEAAAAUc3RhdGljS2V5X2VnZ0Fzc2V0SWQAAAAAAgAAABFzdGF0aWNfZWdnQXNzZXRJZAEAAAAac3RhdGljS2V5X2luY3ViYXRvckFkZHJlc3MAAAAAAgAAABdzdGF0aWNfaW5jdWJhdG9yQWRkcmVzcwEAAAAYc3RhdGljS2V5X2JyZWVkZXJBZGRyZXNzAAAAAAIAAAAVc3RhdGljX2JyZWVkZXJBZGRyZXNzAQAAABtzdGF0aWNLZXlfYWNjQm9vc3RlckFkZHJlc3MAAAAAAgAAABhzdGF0aWNfYWNjQm9vc3RlckFkZHJlc3MBAAAAGHN0YXRpY0tleV9jb3Vwb25zQWRkcmVzcwAAAAACAAAAFXN0YXRpY19jb3Vwb25zQWRkcmVzcwEAAAAVc3RhdGljS2V5X2J1cm5BZGRyZXNzAAAAAAIAAAASc3RhdGljX2J1cm5BZGRyZXNzAQAAABJzdGF0aWNLZXlfZXh0cmFGZWUAAAAAAgAAAA9zdGF0aWNfZXh0cmFGZWUBAAAAF3N0YXRpY0tleV9mZWVBZ2dyZWdhdG9yAAAAAAIAAAAUc3RhdGljX2ZlZUFnZ3JlZ2F0b3IAAAAAD2tleUdsb2JhbEVhcm5lZAIAAAAPZ2xvYmFsX2Vhcm5pbmdzAQAAABJzdGF0aWNLZXlfcGVyY2hGZWUAAAAAAgAAAA9zdGF0aWNfcGVyY2hGZWUBAAAAGHN0YXRpY0tleV9yZWJpcnRoQWRkcmVzcwAAAAACAAAAFXN0YXRpY19yZWJpcnRoQWRkcmVzcwEAAAAec3RhdGljS2V5X3R1cnRsZVJlYmlydGhBZGRyZXNzAAAAAAIAAAAbc3RhdGljX3R1cnRsZVJlYmlydGhBZGRyZXNzAQAAABZzdGF0aWNLZXlfaXRlbXNBZGRyZXNzAAAAAAIAAAATc3RhdGljX2l0ZW1zQWRkcmVzcwEAAAAOdG90YWxTdGFrZWRLZXkAAAAAAgAAAAx0b3RhbF9zdGFrZWQBAAAAH3N0YXRpY0tleV9wcm94eVN0YWtpbmdDb250cmFjdHMAAAAAAgAAABxzdGF0aWNfcHJveHlTdGFraW5nQ29udHJhY3RzAQAAABlzdGF0aWNLZXlfY2ZNYXN0ZXJBZGRyZXNzAAAAAAIAAAAWc3RhdGljX2NmTWFzdGVyQWRkcmVzcwEAAAATc3RhdGljS2V5X3BvdGlvbkZlZQAAAAACAAAAEHN0YXRpY19wb3Rpb25GZWUBAAAAHnN0YXRpY0tleV9jYW5pbmVTdGFraW5nQWRkcmVzcwAAAAACAAAAG3N0YXRpY19jYW5pbmVTdGFraW5nQWRkcmVzcwEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQEAAAAXc3RhdGljS2V5X29yYWNsZUFkZHJlc3MAAAAAAQAAABFnZXRSZWJpcnRoQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAGHN0YXRpY0tleV9yZWJpcnRoQWRkcmVzcwAAAAABAAAADWdldEVnZ0Fzc2V0SWQAAAAACQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAUc3RhdGljS2V5X2VnZ0Fzc2V0SWQAAAAAAQAAABNnZXRJbmN1YmF0b3JBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAac3RhdGljS2V5X2luY3ViYXRvckFkZHJlc3MAAAAAAQAAABFnZXRCcmVlZGVyQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAGHN0YXRpY0tleV9icmVlZGVyQWRkcmVzcwAAAAABAAAAFGdldEFjY0Jvb3N0ZXJBZGRyZXNzAAAAAAkBAAAAB0FkZHJlc3MAAAABCQACWQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAACQEAAAAbc3RhdGljS2V5X2FjY0Jvb3N0ZXJBZGRyZXNzAAAAAAEAAAARZ2V0Q291cG9uc0FkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAAJAQAAABhzdGF0aWNLZXlfY291cG9uc0FkZHJlc3MAAAAAAQAAAA5nZXRCdXJuQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAFXN0YXRpY0tleV9idXJuQWRkcmVzcwAAAAABAAAAEGdldEZlZUFnZ3JlZ2F0b3IAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAAJAQAAABdzdGF0aWNLZXlfZmVlQWdncmVnYXRvcgAAAAABAAAAFWdldFJlZkNvbnRyYWN0QWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAHHN0YXRpY0tleV9yZWZDb250cmFjdEFkZHJlc3MAAAAAAQAAABdnZXRUdXJ0bGVSZWJpcnRoQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAHnN0YXRpY0tleV90dXJ0bGVSZWJpcnRoQWRkcmVzcwAAAAABAAAAD2dldEl0ZW1zQWRkcmVzcwAAAAAJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAFnN0YXRpY0tleV9pdGVtc0FkZHJlc3MAAAAAAQAAAA9nZXRQcm94eVN0YWtpbmcAAAAACQEAAAAUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAH3N0YXRpY0tleV9wcm94eVN0YWtpbmdDb250cmFjdHMAAAAAAQAAABJnZXRDZk1hc3RlckFkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAAJAQAAABlzdGF0aWNLZXlfY2ZNYXN0ZXJBZGRyZXNzAAAAAAEAAAAMZ2V0UG90aW9uRmVlAAAAAAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgkBAAAACWdldE9yYWNsZQAAAAAJAQAAABNzdGF0aWNLZXlfcG90aW9uRmVlAAAAAAEAAAAXZ2V0Q2FuaW5lU3Rha2luZ0FkZHJlc3MAAAAACQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAACWdldE9yYWNsZQAAAAAJAQAAAB5zdGF0aWNLZXlfY2FuaW5lU3Rha2luZ0FkZHJlc3MAAAAAAQAAABRrZXlMYXN0Q2hlY2tJbnRlcmVzdAAAAAIAAAAHYWRkcmVzcwAAAAVhc3NldAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAAHX2Fzc2V0XwUAAAAFYXNzZXQCAAAAEl9sYXN0Q2hlY2tJbnRlcmVzdAEAAAARYXNzZXRGYXJtaW5nUG93ZXIAAAACAAAAB2FkZHJlc3MAAAAFYXNzZXQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAAB19hc3NldF8FAAAABWFzc2V0AgAAAA1fZmFybWluZ1Bvd2VyAQAAABByZXdhcmRDbGFpbWVkS2V5AAAAAgAAAAdhZGRyZXNzAAAABWFzc2V0CQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfBQAAAAVhc3NldAIAAAAIX2NsYWltZWQBAAAAEnRvdGFsU3Rha2VkVXNlcktleQAAAAEAAAAHYWRkcmVzcwkAASwAAAACAgAAAA10b3RhbF9zdGFrZWRfBQAAAAdhZGRyZXNzAAAAAA1SZWZlcmVyUmV3YXJkAAAAAAAAAAAFAQAAABZjaGVja0FkZGl0aW9uYWxQYXltZW50AAAAAQAAAAdwYXltZW50AwkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQJAAACAAAAAQIAAAAZRkNBUDogUGxlYXNlIGF0dGFjaCB3YXZlcwQAAAAJZmVlQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACCQEAAAAJZ2V0T3JhY2xlAAAAAAkBAAAAEnN0YXRpY0tleV9leHRyYUZlZQAAAAADCQEAAAACIT0AAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAA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AAAAAQkBAAAAEnRvdGFsU3Rha2VkVXNlcktleQAAAAEFAAAAB2FkZHJlc3MEAAAACWN1cnJlbnRGUAkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAARYXNzZXRGYXJtaW5nUG93ZXIAAAACBQAAAAdhZGRyZXNzBQAAAAVhc3NldAQAAAAFbmV3RlAJAQAAAAphc0ludFR1cGxlAAAAAQkAA/wAAAAEBQAAAAR0aGlzAgAAABJjYWxjdWxhdGVGYXJtUG93ZXIJAARMAAAAAgUAAAAFYXNzZXQJAARMAAAAAgUAAAAMb3JpZ2luQ2FsbGVyBQAAAANuaWwFAAAAA25pbAMJAQAAAAIhPQAAAAIFAAAACWN1cnJlbnRGUAAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADnRvdGFsU3Rha2VkS2V5AAAAAAkAAGQAAAACCQAAZQAAAAIFAAAAC3RvdGFsU3Rha2VkBQAAAAljdXJyZW50RlAIBQAAAAVuZXdGUAAAAAJfMQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEnRvdGFsU3Rha2VkVXNlcktleQAAAAEFAAAAB2FkZHJlc3MJAABkAAAAAgkAAGUAAAACBQAAAA90b3RhbFN0YWtlZFVzZXIFAAAACWN1cnJlbnRGUAgFAAAABW5ld0ZQAAAAAl8xCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARYXNzZXRGYXJtaW5nUG93ZXIAAAACBQAAAAdhZGRyZXNzBQAAAAVhc3NldAgFAAAABW5ld0ZQAAAAAl8xBQAAAANuaWwFAAAAA25pbAEAAAASY2xhaW1TdGFraW5nUmVzdWx0AAAABQAAAAdhZGRyZXNzAAAABWFzc2V0AAAABnJlY2FsYwAAAA93YWxsZXRUb1JlY2VpdmUAAAALYm9udXNDYWxsZXIEAAAAD2N1cnJlbnRJbnRlcmVzdAkBAAAADXRyeUdldEludGVnZXIAAAABBQAAABVrZXlHbG9iYWxMYXN0SW50ZXJlc3QEAAAAEWxhc3RDaGVja0ludGVyZXN0CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABRrZXlMYXN0Q2hlY2tJbnRlcmVzdAAAAAIFAAAAB2FkZHJlc3MFAAAABWFzc2V0BAAAAAxzdGFrZWRBbW91bnQJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAEWFzc2V0RmFybWluZ1Bvd2VyAAAAAgUAAAAHYWRkcmVzcwUAAAAFYXNzZXQEAAAACGZwVXBkYXRlAwUAAAAGcmVjYWxjCQEAAAASdXBkYXRlRmFybWluZ1Bvd2VyAAAAAwUAAAAHYWRkcmVzcwUAAAAFYXNzZXQFAAAAC2JvbnVzQ2FsbGVyBQAAAANuaWwDCQAAAAAAAAIFAAAACGZwVXBkYXRlBQAAAAhmcFVwZGF0ZQQAAAAGcmV3YXJkAwkAAGYAAAACBQAAABFsYXN0Q2hlY2tJbnRlcmVzdAAAAAAAAAAAAAkAAGsAAAADCQAAZQAAAAIFAAAAD2N1cnJlbnRJbnRlcmVzdAUAAAARbGFzdENoZWNrSW50ZXJlc3QFAAAADHN0YWtlZEFtb3VudAUAAAAFU2NhbGUAAAAAAAAAAAAJAAUUAAAAAgkABE4AAAACCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAD3dhbGxldFRvUmVjZWl2ZQUAAAAGcmV3YXJkCQEAAAANZ2V0RWdnQXNzZXRJZAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABRrZXlMYXN0Q2hlY2tJbnRlcmVzdAAAAAIFAAAAB2FkZHJlc3MFAAAABWFzc2V0BQAAAA9jdXJyZW50SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABByZXdhcmRDbGFpbWVkS2V5AAAAAgUAAAAPd2FsbGV0VG9SZWNlaXZlBQAAAAVhc3NldAkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABByZXdhcmRDbGFpbWVkS2V5AAAAAgUAAAAPd2FsbGV0VG9SZWNlaXZlBQAAAAVhc3NldAUAAAAGcmV3YXJkBQAAAANuaWwFAAAACGZwVXBkYXRlBQAAAAZyZXdhcmQJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQAAAAlhc0Jvb2xlYW4AAAABAAAABXZhbHVlBAAAAAckbWF0Y2gwBQAAAAV2YWx1ZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAHQm9vbGVhbgQAAAAHYm9vbGVhbgUAAAAHJG1hdGNoMAUAAAAHYm9vbGVhbgkAAAIAAAABAgAAACJGQUI6IHdyb25nIHR5cGUsIGV4cGVjdGVkOiBCb29sZWFuAQAAABNjYWxjdWxhdGVQZXJjaFByaWNlAAAAAQAAAAdhZGRyZXNzBAAAABFoYXNBcnRlZmFjdFN0YWtlZAkBAAAAFHRyeUdldFN0cmluZ0V4dGVybmFsAAAAAgkBAAAAFGdldEFjY0Jvb3N0ZXJBZGRyZXNzAAAAAAkAASwAAAACCQABLAAAAAICAAAAC0FSVC1YTUlTVExfBQAAAAdhZGRyZXNzAgAAAAZfb3duZXIEAAAACnBlcmNoUHJpY2UJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIJAQAAAAlnZXRPcmFjbGUAAAAACQEAAAASc3RhdGljS2V5X3BlcmNoRmVlAAAAAAMJAAAAAAAAAgUAAAARaGFzQXJ0ZWZhY3RTdGFrZWQCAAAAAAUAAAAKcGVyY2hQcmljZQkAAGgAAAACCQAAaQAAAAIFAAAACnBlcmNoUHJpY2UAAAAAAAAAAAoAAAAAAAAAAAkBAAAAEGlzUHJveHlTdGFraW5nU2MAAAABAAAAB2FkZHJlc3MEAAAAEGFsbG93ZWRDb250cmFjdHMJAQAAAA9nZXRQcm94eVN0YWtpbmcAAAAABAAAABRhbGxvd2VkQ29udHJhY3RzTGlzdAkABLUAAAACBQAAABBhbGxvd2VkQ29udHJhY3RzAgAAAAE7CQEAAAACIT0AAAACCQAETwAAAAIFAAAAFGFsbG93ZWRDb250cmFjdHNMaXN0BQAAAAdhZGRyZXNzBQAAAAR1bml0AAAACgAAAAFpAQAAABJjYWxjdWxhdGVGYXJtUG93ZXIAAAACAAAAB2Fzc2V0SWQAAAAMYm9udXNBZGRyZXNzAwkBAAAAASEAAAABAwkAAAAAAAACCAkBAAAABXZhbHVlAAAAAQkAA+wAAAABCQACWQAAAAEFAAAAB2Fzc2V0SWQAAAAGaXNzdWVyCQEAAAARZ2V0QnJlZWRlckFkZHJlc3MAAAAABgkAAAAAAAACCAkBAAAA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cnlHZXRJbnRlZ2VyAAAAAQUAAAAOcGVyY2hBbW91bnRLZXkJAAUUAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOcGVyY2hBbW91bnRLZXkJAABkAAAAAgUAAAALcGVyY2hBbW91bnQFAAAABmFtb3VudAUAAAADbmlsAgAAAAAAAAABaQEAAAAObWlncmF0ZVBlcmNoZXMAAAABAAAAB2FkZHJlc3MEAAAACm9sZEZhcm1pbmcJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAABR0cnlHZXRTdHJpbmdFeHRlcm5hbAAAAAIJAQAAAAlnZXRPcmFjbGUAAAAAAgAAABVzdGF0aWNfZmFybWluZ0FkZHJlc3MKAQAAABd0cnlHZXRJbnRlZ2VyT2xkRmFybWluZwAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAACm9sZEZhcm1pbmcFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFiBQAAAAckbWF0Y2gwBQAAAAFiAAAAAAAAAAAABAAAAAxwZXJjaEFtb3VudEIJAQAAABd0cnlHZXRJbnRlZ2VyT2xkRmFybWluZwAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAATX3BlcmNoZXNBdmFpbGFibGVfQgMJAAAAAAAAAgUAAAAMcGVyY2hBbW91bnRCBQAAAAxwZXJjaEFtb3VudEIEAAAADHBlcmNoQW1vdW50UgkBAAAAF3RyeUdldEludGVnZXJPbGRGYXJtaW5nAAAAAQkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAABNfcGVyY2hlc0F2YWlsYWJsZV9SAwkAAAAAAAACBQAAAAxwZXJjaEFtb3VudFIFAAAADHBlcmNoQW1vdW50UgQAAAAMcGVyY2hBbW91bnRHCQEAAAAXdHJ5R2V0SW50ZWdlck9sZEZhcm1pbmcAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAAB2FkZHJlc3MCAAAAE19wZXJjaGVzQXZhaWxhYmxlX0cDCQAAAAAAAAIFAAAADHBlcmNoQW1vdW50RwUAAAAMcGVyY2hBbW91bnRHBAAAAAxwZXJjaEFtb3VudFkJAQAAABd0cnlHZXRJbnRlZ2VyT2xkRmFybWluZwAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAHYWRkcmVzcwIAAAATX3BlcmNoZXNBdmFpbGFibGVfWQMJAAAAAAAAAgUAAAAMcGVyY2hBbW91bnRZBQAAAAxwZXJjaEFtb3VudFkEAAAAEnBlcmNoQW1vdW50Qkludm9rZQkAA/wAAAAEBQAAAAR0aGlzAgAAAAxhZGRGcmVlUGVyY2gJAARMAAAAAgUAAAAHYWRkcmVzcwkABEwAAAACAgAAAAFCCQAETAAAAAIFAAAADHBlcmNoQW1vdW50QgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAEnBlcmNoQW1vdW50Qkludm9rZQUAAAAScGVyY2hBbW91bnRCSW52b2tlBAAAABJwZXJjaEFtb3VudFJJbnZva2UJAAP8AAAABAUAAAAEdGhpcwIAAAAMYWRkRnJlZVBlcmNoCQAETAAAAAIFAAAAB2FkZHJlc3MJAARMAAAAAgIAAAABUgkABEwAAAACBQAAAAxwZXJjaEFtb3VudFIFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAABJwZXJjaEFtb3VudFJJbnZva2UFAAAAEnBlcmNoQW1vdW50Ukludm9rZQQAAAAScGVyY2hBbW91bnRHSW52b2tlCQAD/AAAAAQFAAAABHRoaXMCAAAADGFkZEZyZWVQZXJjaAkABEwAAAACBQAAAAdhZGRyZXNzCQAETAAAAAICAAAAAUcJAARMAAAAAgUAAAAMcGVyY2hBbW91bnRHBQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAScGVyY2hBbW91bnRHSW52b2tlBQAAABJwZXJjaEFtb3VudEdJbnZva2UEAAAAEnBlcmNoQW1vdW50WUludm9rZQkAA/wAAAAEBQAAAAR0aGlzAgAAAAxhZGRGcmVlUGVyY2gJAARMAAAAAgUAAAAHYWRkcmVzcwkABEwAAAACAgAAAAFZCQAETAAAAAIFAAAADHBlcmNoQW1vdW50WQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAEnBlcmNoQW1vdW50WUludm9rZQUAAAAScGVyY2hBbW91bnRZSW52b2tlAwMDAwkAAAAAAAACBQAAAAxwZXJjaEFtb3VudEIAAAAAAAAAAAAJAAAAAAAAAgUAAAAMcGVyY2hBbW91bnRSAAAAAAAAAAAABwkAAAAAAAACBQAAAAxwZXJjaEFtb3VudEcAAAAAAAAAAAAHCQAAAAAAAAIFAAAADHBlcmNoQW1vdW50WQAAAAAAAAAAAAcJAAACAAAAAQIAAAASTm90aGluZyB0byBtaWdyYXRlBAAAABNpbnZva2VQZXJjaGVzRGVsZXRlCQAD/AAAAAQFAAAACm9sZEZhcm1pbmcCAAAADXJlbW92ZVBlcmNoZXMJAARMAAAAAgUAAAAHYWRkcmVzcwUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAE2ludm9rZVBlcmNoZXNEZWxldGUFAAAAE2ludm9rZVBlcmNoZXNEZWxldGUFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAAhzdGFrZU5GVAAAAAMAAAAGakNvbG9yAAAADnVzZVBlcmNoT3JpZ2luAAAAEXN0YWtlV2l0aG91dFBlcmNoAwYJAAACAAAAAQIAAAATU3Rha2luZyBpcyBkaXNhYmxlZAMDBQAAABFzdGFrZVdpdGhvdXRQZXJjaAkBAAAAASEAAAABCQEAAAAQaXNQcm94eVN0YWtpbmdTYwAAAAEJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBwkAAAIAAAABAgAAAB9Zb3UgY2FuJ3Qgc3Rha2Ugd2l0aG91dCBhIHBlcmNoBAAAAAx2YWxpZFBheW1lbnQJAQAAABZjaGVja0FkZGl0aW9uYWxQYXltZW50AAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAAAAAAAAAgUAAAAMdmFsaWRQYXltZW50BQAAAAx2YWxpZFBheW1lbnQEAAAAA3BtdAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQQAAAAHYXNzZXRJZAkBAAAABXZhbHVlAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAAlhc3NldE5hbWUJAQAAAAV2YWx1ZQAAAAEICQEAAAAFdmFsdWUAAAABCQAD7AAAAAEFAAAAB2Fzc2V0SWQAAAAEbmFtZQQAAAAJaXNKYWNrcG90CQAAAAAAAAIJAQAAAAl0YWtlUmlnaHQAAAACBQAAAAlhc3NldE5hbWUAAAAAAAAAAAECAAAAAVUEAAAAB2FkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAxwZXJjaEFkZHJlc3MDBQAAAA51c2VQZXJjaE9yaWdpbgkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIFAAAAB2FkZHJlc3MEAAAAB3BlcmNoZXMDBQAAABFzdGFrZVdpdGhvdXRQZXJjaAUAAAADbmlsBAAAAAVjb2xvcgMFAAAACWlzSmFja3BvdAUAAAAGakNvbG9yCQEAAAAJdGFrZVJpZ2h0AAAAAgUAAAAJYXNzZXROYW1lAAAAAAAAAAABBAAAABBhdmFpbGFibGVQZXJjaGVzCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAxwZXJjaEFkZHJlc3MCAAAAEl9wZXJjaGVzQXZhaWxhYmxlXwUAAAAFY29sb3IDCQAAZwAAAAIAAAAAAAAAAAAFAAAAEGF2YWlsYWJsZVBlcmNoZXMJAAACAAAAAQkAASwAAAACAgAAACNubyBwZXJjaGVzIGF2YWlsYWJsZSBmb3IgdGhlIGNvbG9yIAUAAAAFY29sb3IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAxwZXJjaEFkZHJlc3MCAAAAEl9wZXJjaGVzQXZhaWxhYmxlXwUAAAAFY29sb3IJAABlAAAAAgUAAAAQYXZhaWxhYmxlUGVyY2hlcwAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfCQACWAAAAAEFAAAAB2Fzc2V0SWQCAAAAC19wZXJjaENvbG9yBQAAAAVjb2xvcgUAAAADbmlsAwkAAAAAAAACBQAAAAdwZXJjaGVzBQAAAAdwZXJjaGVzAwkBAAAAAiE9AAAAAggFAAAAA3BtdAAAAAZhbW91bnQAAAAAAAAAAAEJAAACAAAAAQIAAAATTkZUIGlzIG5vdCBhdHRhY2hlZAQAAAAMZmFybWluZ1Bvd2VyCQEAAAAKYXNJbnRUdXBsZQAAAAEJAAP8AAAABAUAAAAEdGhpcwIAAAASY2FsY3VsYXRlRmFybVBvd2VyCQAETAAAAAIJAAJYAAAAAQUAAAAHYXNzZXRJZAkABEwAAAACCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAADGZhcm1pbmdQb3dlcgUAAAAMZmFybWluZ1Bvd2VyBAAAAAZyZXN1bHQJAQAAABJjbGFpbVN0YWtpbmdSZXN1bHQAAAAFBQAAAAdhZGRyZXNzCQACWAAAAAEFAAAAB2Fzc2V0SWQHBQAAAAdhZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgMJAAAAAAAAAgUAAAAGcmVzdWx0BQAAAAZyZXN1bHQJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA50b3RhbFN0YWtlZEtleQAAAAAJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAOdG90YWxTdGFrZWRLZXkAAAAACAUAAAAMZmFybWluZ1Bvd2VyAAAAAl8xCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAASdG90YWxTdGFrZWRVc2VyS2V5AAAAAQUAAAAHYWRkcmVzcwkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABJ0b3RhbFN0YWtlZFVzZXJLZXkAAAABBQAAAAdhZGRyZXNzCAUAAAAMZmFybWluZ1Bvd2VyAAAAAl8xCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABBQAAAAdhc3NldElkAgAAAAZfb3duZXIFAAAAB2FkZHJlc3MJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABBQAAAAdhc3NldElkAgAAAAtfdXNlX29yaWdpbgUAAAAOdXNlUGVyY2hPcmlnaW4JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQACWAAAAAEFAAAAB2Fzc2V0SWQCAAAAEF9vcmlnaW5hbF9jYWxsZXIJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARYXNzZXRGYXJtaW5nUG93ZXIAAAACBQAAAAdhZGRyZXNzCQACWAAAAAEFAAAAB2Fzc2V0SWQIBQAAAAxmYXJtaW5nUG93ZXIAAAACXzEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAlgAAAABBQAAAAdhc3NldElkAgAAAApfYmFzZVBvd2VyCAUAAAAMZmFybWluZ1Bvd2VyAAAAAl8yCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIJAAJYAAAAAQUAAAAHYXNzZXRJZAIAAAAOX3dpdGhvdXRfcGVyY2gFAAAAEXN0YWtlV2l0aG91dFBlcmNoBQAAAANuaWwFAAAADHZhbGlkUGF5bWVudAUAAAAHcGVyY2hlcwgFAAAABnJlc3VsdAAAAAJfMQkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4AAAABaQEAAAAKdW5zdGFrZU5GVAAAAAEAAAAFYXNzZXQEAAAAB2FkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAwkBAAAAAiE9AAAAAgkBAAAADHRyeUdldFN0cmluZwAAAAEJAAEsAAAAAgUAAAAFYXNzZXQCAAAABl9vd25lcgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAAACAAAAAQIAAAAZWW91IGRvbid0IG93biB0aGlzIGR1Y2shIQQAAAAGcmVzdWx0CQEAAAASY2xhaW1TdGFraW5nUmVzdWx0AAAABQUAAAAHYWRkcmVzcwUAAAAFYXNzZXQHBQAAAAdhZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgMJAAAAAAAAAgUAAAAGcmVzdWx0BQAAAAZyZXN1bHQEAAAADHZhbGlkUGF5bWVudAkBAAAAFmNoZWNrQWRkaXRpb25hbFBheW1lbnQAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkAAAAAAAACBQAAAAx2YWxpZFBheW1lbnQFAAAADHZhbGlkUGF5bWVudAQAAAAFY29sb3IJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfBQAAAAVhc3NldAIAAAALX3BlcmNoQ29sb3IEAAAADHdpdGhvdXRQZXJjaAkBAAAADXRyeUdldEJvb2xlYW4AAAABCQABLAAAAAIFAAAABWFzc2V0AgAAAA5fd2l0aG91dF9wZXJjaAQAAAAHcGVyY2hlcwMFAAAADHdpdGhvdXRQZXJjaAUAAAADbmlsBAAAAA51c2VQZXJjaE9yaWdpbgkBAAAADXRyeUdldEJvb2xlYW4AAAABCQABLAAAAAIFAAAABWFzc2V0AgAAAAtfdXNlX29yaWdpbgQAAAAKcGVyY2hPd25lcgMFAAAADnVzZVBlcmNoT3JpZ2luCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgUAAAAHYWRkcmVzcwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAIYWRkcmVzc18FAAAACnBlcmNoT3duZXICAAAAEl9wZXJjaGVzQXZhaWxhYmxlXwUAAAAFY29sb3IJAABkAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhhZGRyZXNzXwUAAAAKcGVyY2hPd25lcgIAAAASX3BlcmNoZXNBdmFpbGFibGVfBQAAAAVjb2xvcgAAAAAAAAAAAQUAAAADbmlsAwkAAAAAAAACBQAAAAdwZXJjaGVzBQAAAAdwZXJjaGVzBAAAAAdhc3NldEZQCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABFhc3NldEZhcm1pbmdQb3dlcgAAAAIFAAAAB2FkZHJlc3MFAAAABWFzc2V0AwkAAAAAAAACBQAAAAdhc3NldEZQBQAAAAdhc3NldEZQCQAFFAAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA50b3RhbFN0YWtlZEtleQAAAAAJAABlAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAAOdG90YWxTdGFrZWRLZXkAAAAABQAAAAdhc3NldEZQCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAASdG90YWxTdGFrZWRVc2VyS2V5AAAAAQUAAAAHYWRkcmVzcwkAAGUAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAQAAABJ0b3RhbFN0YWtlZFVzZXJLZXkAAAABBQAAAAdhZGRyZXNzBQAAAAdhc3NldEZQCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgUAAAAFYXNzZXQCAAAABl9vd25lcgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAARYXNzZXRGYXJtaW5nUG93ZXIAAAACBQAAAAdhZGRyZXNzBQAAAAVhc3NldAkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACGFkZHJlc3NfBQAAAAdhZGRyZXNzAgAAAAdfYXNzZXRfBQAAAAVhc3NldAIAAAALX3BlcmNoQ29sb3IJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkAASwAAAACBQAAAAVhc3NldAIAAAAQX29yaWdpbmFsX2NhbGxlcgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIFAAAABWFzc2V0AgAAAAtfdXNlX29yaWdpbgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQABLAAAAAIFAAAABWFzc2V0AgAAAA5fd2l0aG91dF9wZXJjaAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQUAAAAHYWRkcmVzcwAAAAAAAAAAAQkAAlkAAAABBQAAAAVhc3NldAUAAAADbmlsBQAAAAx2YWxpZFBheW1lbnQFAAAAB3BlcmNoZXMIBQAAAAZyZXN1bHQAAAACXzEIBQAAAAZyZXN1bHQAAAACXzIJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAAC3RvcFVwUmV3YXJkAAAAAAMGCQAAAgAAAAECAAAAE1N0YWtpbmcgaXMgZGlzYWJsZWQEAAAADGZpcnN0UGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAIhPQAAAAIIBQAAAAxmaXJzdFBheW1lbnQAAAAHYXNzZXRJZAkBAAAADWdldEVnZ0Fzc2V0SWQAAAAACQAAAgAAAAEJAAEsAAAAAgIAAABBRkJQOiBZb3UgY2FuIGF0dGFjaCBvbmx5IEVHRyB0b2tlbnMgd2l0aCB0aGUgZm9sbG93aW5nIGFzc2V0IGlkOiAJAAJYAAAAAQkBAAAADWdldEVnZ0Fzc2V0SWQAAAAABAAAABByZXNIYW5kbGVTdGFraW5nCQEAAAASaGFuZGxlU3Rha2luZ1RvcFVwAAAAAQgFAAAADGZpcnN0UGF5bWVudAAAAAZhbW91bnQJAAUUAAAAAgUAAAAQcmVzSGFuZGxlU3Rha2luZwYAAAABaQEAAAALY2xhaW1SZXdhcmQAAAABAAAAB2Fzc2V0SWQDBgkAAAIAAAABAgAAABNTdGFraW5nIGlzIGRpc2FibGVkBAAAAAx2YWxpZFBheW1lbnQDCQAAAAAAAAIIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgkBAAAAEmdldENmTWFzdGVyQWRkcmVzcwAAAAAFAAAAA25pbAkBAAAAFmNoZWNrQWRkaXRpb25hbFBheW1lbnQAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkAAAAAAAACBQAAAAx2YWxpZFBheW1lbnQFAAAADHZhbGlkUGF5bWVudAMDCQEAAAACIT0AAAACCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACBQAAAAdhc3NldElkAgAAAAZfb3duZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQEAAAACIT0AAAACCQEAAAAMdHJ5R2V0U3RyaW5nAAAAAQkAASwAAAACBQAAAAdhc3NldElkAgAAABBfb3JpZ2luYWxfY2FsbGVyCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgcJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAGVlvdSBkb24ndCBvd24gdGhpcyBkdWNrICgFAAAAB2Fzc2V0SWQCAAAABCkhISADCQAAZgAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAEJAAACAAAAAQIAAAAfUGxlYXNlIGRvbid0IGFkZCBleHRyYSBwYXltZW50cwQAAAAJdG9SZWNlaXZlAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCQEAAAASZ2V0Q2ZNYXN0ZXJBZGRyZXNzAAAAAAkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQABLAAAAAIFAAAAB2Fzc2V0SWQCAAAAEF9vcmlnaW5hbF9jYWxsZXIEAAAABW93bmVyAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCQEAAAASZ2V0Q2ZNYXN0ZXJBZGRyZXNzAAAAAAkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQABLAAAAAIFAAAAB2Fzc2V0SWQCAAAABl9vd25lcgQAAAAGb3JpZ2luAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCQEAAAASZ2V0Q2ZNYXN0ZXJBZGRyZXNzAAAAAAkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQABLAAAAAIFAAAAB2Fzc2V0SWQCAAAAEF9vcmlnaW5hbF9jYWxsZXIEAAAABnJlc3VsdAkBAAAAEmNsYWltU3Rha2luZ1Jlc3VsdAAAAAUFAAAABW93bmVyBQAAAAdhc3NldElkBgUAAAAJdG9SZWNlaXZlBQAAAAZvcmlnaW4JAAUUAAAAAgkABE4AAAACBQAAAAx2YWxpZFBheW1lbnQIBQAAAAZyZXN1bHQAAAACXzEIBQAAAAZyZXN1bHQAAAACXzIJAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACnJlZGVlbUl0ZW0AAAACAAAABHR5cGUAAAAKbmZ0QXNzZXRJZAQAAAAMd2F2ZXNQYXltZW50CQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAwkAAAAAAAACBQAAAAx3YXZlc1BheW1lbnQFAAAADHdhdmVzUGF5bWVudAQAAAANcG90aW9uUGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAQMJAAAAAAAAAgUAAAANcG90aW9uUGF5bWVudAUAAAANcG90aW9uUGF5bWVudAMJAQAAAAIhPQAAAAIIBQAAAA1wb3Rpb25QYXltZW50AAAABmFtb3VudAAAAAAAAAAAAQkAAAIAAAABAgAAACNZb3UgbmVlZCB0byBhdHRhY2ggZXhhY3RseSAxIHBvdGlvbgQAAAAIYXJ0ZWZhY3QJAQAAAAhhc1N0cmluZwAAAAEJAAP8AAAABAkBAAAAD2dldEl0ZW1zQWRkcmVzcwAAAAACAAAAFGNoZWNrQXJ0ZWZhY3REZXRhaWxzCQAETAAAAAIJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEFAAAADXBvdGlvblBheW1lbnQAAAAHYXNzZXRJZAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAACGFydGVmYWN0BQAAAAhhcnRlZmFjdAMJAQAAAAIhPQAAAAIFAAAACGFydGVmYWN0AgAAAApBUlQtUE9USU9OCQAAAgAAAAECAAAAKFlvdSBuZWVkIHRvIGF0dGFjaCBhIEFSVC1QT1RJT04gYXJ0ZWZhY3QDCQEAAAACIT0AAAACCAUAAAAMd2F2ZXNQYXltZW50AAAAB2Fzc2V0SWQFAAAABHVuaXQJAAACAAAAAQIAAAAYWW91IG5lZWQgdG8gYXR0YWNoIHdhdmVzAwkBAAAAAiE9AAAAAggFAAAADHdhdmVzUGF5bWVudAAAAAZhbW91bnQJAQAAAAxnZXRQb3Rpb25GZWUAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABtZb3UgbmVlZCB0byBhdHRhY2ggZXhhY3RseSAJAAGkAAAAAQkBAAAADGdldFBvdGlvbkZlZQAAAAACAAAABiB3YXZlcwQAAAAQc2VuZFRvQWdncmVHYXRvcgkAAGkAAAACCAUAAAAMd2F2ZXNQYXltZW50AAAABmFtb3VudAAAAAAAAAAAAgQAAAAFdG9wdXAJAABlAAAAAggFAAAADHdhdmVzUGF5bWVudAAAAAZhbW91bnQFAAAAEHNlbmRUb0FnZ3JlR2F0b3IEAAAACWJhc2VQb3dlcgkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAACm5mdEFzc2V0SWQCAAAACl9iYXNlUG93ZXIDCQAAAAAAAAIFAAAACWJhc2VQb3dlcgAAAAAAAAAAAAkAAAIAAAABAgAAADhUaGlzIGlzIG5vdCBhIHZhbGlkIGR1Y2sgb3IgdGhlIGR1Y2sgd2F2ZXMgbmV2ZXIgc3Rha2VkIQMJAQAAAAIhPQAAAAIJAQAAAAx0cnlHZXRTdHJpbmcAAAABCQABLAAAAAIFAAAACm5mdEFzc2V0SWQCAAAABl9vd25lcgIAAAAACQAAAgAAAAECAAAAIFBsZWFzZSB1c250YWtlIHlvdXIgZHVjayBmaXJzdCEhBAAAAAdhZGRNb3JlCQAD/AAAAAQJAQAAABdnZXRDYW5pbmVTdGFraW5nQWRkcmVzcwAAAAACAAAAFGFkZFdhdmVzQW5kU3Rha2VNb3JlBQAAAANuaWwJAARMAAAAAgkBAAAAD0F0dGFjaGVkUGF5bWVudAAAAAIFAAAABHVuaXQFAAAABXRvcHVwBQAAAANuaWwDCQAAAAAAAAIFAAAAB2FkZE1vcmUFAAAAB2FkZE1vcmUJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEGdldEZlZUFnZ3JlZ2F0b3IAAAAABQAAABBzZW5kVG9BZ2dyZUdhdG9yBQAAAAR1bml0CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgUAAAAKbmZ0QXNzZXRJZAIAAAAKX2Jhc2VQb3dlcgUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADCQEAAAAJaXNUZXN0RW52AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkEAAAACWZpcnN0VXNlcgEAAAAgURzk/Wb/EmnS8VoUnzuy4vQ7f8HLaCeiNF5sONdX3W0EAAAACnNlY29uZFVzZXIBAAAAIFxyDkuu8SFPZuYZRfpqorHtsTYpWV8ZzMyw4U1BiGp9BAAAAAl0aGlyZFVzZXIBAAAAIKCvkeUteUNhYTISrY65+hhZUZ0tU0k2w9Cj96hgGTtOBAAAAA9maXJzdFVzZXJTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAJZmlyc3RVc2VyAAAAAAAAAAABAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAEFAAAACWZpcnN0VXNlcgAAAAAAAAAAAQMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAACBQAAAAlmaXJzdFVzZXIAAAAAAAAAAAEAAAAAAAAAAAAEAAAAEHNlY29uZFVzZXJTaWduZWQDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAUAAAAKc2Vjb25kVXNlcgAAAAAAAAAAAQMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAApzZWNvbmRVc2VyAAAAAAAAAAABAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAACnNlY29uZFVzZXIAAAAAAAAAAAEAAAAAAAAAAAAEAAAAD3RoaXJkVXNlclNpZ25lZAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAl0aGlyZFVzZXIAAAAAAAAAAAEDCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAQUAAAAJdGhpcmRVc2VyAAAAAAAAAAABAwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAIFAAAACXRoaXJkVXNlcgAAAAAAAAAAAQAAAAAAAAAAAAQAAAAPc2lnbmF0dXJlc0NvdW50CQAAZAAAAAIJAABkAAAAAgUAAAAPZmlyc3RVc2VyU2lnbmVkBQAAABBzZWNvbmRVc2VyU2lnbmVkBQAAAA90aGlyZFVzZXJTaWduZWQEAAAAByRtYXRjaDAFAAAAAnR4CQAAZwAAAAIFAAAAD3NpZ25hdHVyZXNDb3VudAAAAAAAAAAAAlx0g7g=", "height": 3329540, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H4PuzC3osGwRrYve2J1sKRU1gUs4HsaYqFzNAYD9xHiF Next: F4j42U56yjKoGDm4MKitVGQvkTtLwogvjh2tGAaRDKBM Diff:
OldNewDifferences
357357 then 8
358358 else size(bg)
359359 let ax = pow(15, 1, bo, 0, 2, DOWN)
360- let bp = (((height - 3750000) * 100) / (((60 * 24) * 30) * 3))
361- let bq = ae((ba + "_basePower"))
362- let br = if ((bq > 0))
363- then bq
364- else ((ax * bp) / 100)
365- let bs = ((br * aB) / 100)
366- let bt = af(invoke(Q(), "calculateFarmingPowerBoost", [ba, bb], nil))
367- if ((bt == bt))
360+ let bp = if (j())
361+ then 2500000
362+ else 3750000
363+ let bq = (((height - bp) * 100) / (((60 * 24) * 30) * 3))
364+ let br = ae((ba + "_basePower"))
365+ let bs = if ((br > 0))
366+ then br
367+ else ((ax * bq) / 100)
368+ let bt = ((bs * aB) / 100)
369+ let bu = af(invoke(Q(), "calculateFarmingPowerBoost", [ba, bb], nil))
370+ if ((bu == bu))
368371 then {
369- let bu = (bs + ((bs * bt) / 100))
370- $Tuple2(nil, $Tuple2(bu, br))
372+ let bv = (bt + ((bt * bu) / 100))
373+ $Tuple2(nil, $Tuple2(bv, bs))
371374 }
372375 else throw("Strict value is not equal to itself.")
373376 }
375378
376379
377380 @Callable(aZ)
378-func configureOracle (bv) = if ((aZ.caller != this))
381+func configureOracle (bw) = if ((aZ.caller != this))
379382 then throw("FCO: admin only")
380- else [StringEntry(m(), bv)]
383+ else [StringEntry(m(), bw)]
381384
382385
383386
384387 @Callable(aZ)
385-func buyPerch (bw,bx) = {
386- let by = ab(aZ.payments[0])
387- if ((by == by))
388+func buyPerch (bx,by) = {
389+ let bz = ab(aZ.payments[0])
390+ if ((bz == bz))
388391 then {
389- let bz = if ((bw == "U"))
392+ let bA = if ((bx == "U"))
390393 then "B"
391- else bw
392- if ((0 > value(indexOf(["B", "R", "G", "Y"], bz))))
394+ else bx
395+ if ((0 > value(indexOf(["B", "R", "G", "Y"], bA))))
393396 then throw("you need to set color properly")
394397 else {
395- let bA = aT(toString(aZ.caller))
396- let bB = if ((aZ.originCaller == aZ.caller))
398+ let bB = aT(toString(aZ.caller))
399+ let bC = if ((aZ.originCaller == aZ.caller))
397400 then {
398- let bC = af(invoke(L(), "useCoupons", [bA], nil))
399- if ((bC == bC))
400- then (bA - bC)
401+ let bD = af(invoke(L(), "useCoupons", [bB], nil))
402+ if ((bD == bD))
403+ then (bB - bD)
401404 else throw("Strict value is not equal to itself.")
402405 }
403- else bA
404- let ac = if ((bB != 0))
406+ else bB
407+ let ac = if ((bC != 0))
405408 then {
406- let bD = if ((size(aZ.payments) == 2))
409+ let bE = if ((size(aZ.payments) == 2))
407410 then value(aZ.payments[1])
408411 else value(aZ.payments[0])
409- if ((bD.assetId != H()))
412+ if ((bE.assetId != H()))
410413 then throw(("FBP: You can attach only EGG tokens with the following asset id: " + toBase58String(H())))
411- else if ((bD.amount != bB))
412- then throw(((("FBP: To buy a perch you currently need the following amount of EGGlets: " + toString(bB)) + " ") + toString(aZ.caller)))
414+ else if ((bE.amount != bC))
415+ then throw(((("FBP: To buy a perch you currently need the following amount of EGGlets: " + toString(bC)) + " ") + toString(aZ.caller)))
413416 else {
414- let bE = fraction(bB, 5, 100)
415- let bF = aR(invoke(O(), "refPayment", [bx], [AttachedPayment(H(), bE)]))
416- if ((bF == bF))
417+ let bF = fraction(bC, 5, 100)
418+ let bG = aR(invoke(O(), "refPayment", [by], [AttachedPayment(H(), bF)]))
419+ if ((bG == bG))
417420 then {
418- let bG = if (bF)
419- then (bB - bE)
420- else bB
421- let bH = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(H(), bG)])
422- if ((bH == bH))
423- then bB
421+ let bH = if (bG)
422+ then (bC - bF)
423+ else bC
424+ let bI = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(H(), bH)])
425+ if ((bI == bI))
426+ then bC
424427 else throw("Strict value is not equal to itself.")
425428 }
426429 else throw("Strict value is not equal to itself.")
429432 else 0
430433 if ((ac == ac))
431434 then {
432- let bI = ((("address_" + toString(aZ.caller)) + "_perchesAvailable_") + bz)
433- let bJ = ae(bI)
434- ([IntegerEntry(bI, (bJ + 1))] ++ by)
435+ let bJ = ((("address_" + toString(aZ.caller)) + "_perchesAvailable_") + bA)
436+ let bK = ae(bJ)
437+ ([IntegerEntry(bJ, (bK + 1))] ++ bz)
435438 }
436439 else throw("Strict value is not equal to itself.")
437440 }
442445
443446
444447 @Callable(aZ)
445-func addFreePerch (c,bz,ak) = if ((0 > value(indexOf(["B", "R", "G", "Y"], bz))))
448+func addFreePerch (c,bA,ak) = if ((0 > value(indexOf(["B", "R", "G", "Y"], bA))))
446449 then throw("you need to set color properly")
447450 else if (if (if ((aZ.caller != G()))
448451 then (aZ.caller != P())
451454 else false)
452455 then throw("rebirth and admin only")
453456 else {
454- let bI = ((("address_" + c) + "_perchesAvailable_") + bz)
455- let bJ = ae(bI)
456- $Tuple2([IntegerEntry(bI, (bJ + ak))], "")
457+ let bJ = ((("address_" + c) + "_perchesAvailable_") + bA)
458+ let bK = ae(bJ)
459+ $Tuple2([IntegerEntry(bJ, (bK + ak))], "")
457460 }
458461
459462
460463
461464 @Callable(aZ)
462465 func migratePerches (c) = {
463- let bK = addressFromStringValue(b(F(), "static_farmingAddress"))
464- func bL (d) = {
465- let e = getInteger(bK, d)
466+ let bL = addressFromStringValue(b(F(), "static_farmingAddress"))
467+ func bM (d) = {
468+ let e = getInteger(bL, d)
466469 if ($isInstanceOf(e, "Int"))
467470 then {
468471 let i = e
471474 else 0
472475 }
473476
474- let bM = bL((("address_" + c) + "_perchesAvailable_B"))
475- if ((bM == bM))
477+ let bN = bM((("address_" + c) + "_perchesAvailable_B"))
478+ if ((bN == bN))
476479 then {
477- let bN = bL((("address_" + c) + "_perchesAvailable_R"))
478- if ((bN == bN))
480+ let bO = bM((("address_" + c) + "_perchesAvailable_R"))
481+ if ((bO == bO))
479482 then {
480- let bO = bL((("address_" + c) + "_perchesAvailable_G"))
481- if ((bO == bO))
483+ let bP = bM((("address_" + c) + "_perchesAvailable_G"))
484+ if ((bP == bP))
482485 then {
483- let bP = bL((("address_" + c) + "_perchesAvailable_Y"))
484- if ((bP == bP))
486+ let bQ = bM((("address_" + c) + "_perchesAvailable_Y"))
487+ if ((bQ == bQ))
485488 then {
486- let bQ = invoke(this, "addFreePerch", [c, "B", bM], nil)
487- if ((bQ == bQ))
489+ let bR = invoke(this, "addFreePerch", [c, "B", bN], nil)
490+ if ((bR == bR))
488491 then {
489- let bR = invoke(this, "addFreePerch", [c, "R", bN], nil)
490- if ((bR == bR))
492+ let bS = invoke(this, "addFreePerch", [c, "R", bO], nil)
493+ if ((bS == bS))
491494 then {
492- let bS = invoke(this, "addFreePerch", [c, "G", bO], nil)
493- if ((bS == bS))
495+ let bT = invoke(this, "addFreePerch", [c, "G", bP], nil)
496+ if ((bT == bT))
494497 then {
495- let bT = invoke(this, "addFreePerch", [c, "Y", bP], nil)
496- if ((bT == bT))
497- then if (if (if (if ((bM == 0))
498- then (bN == 0)
499- else false)
498+ let bU = invoke(this, "addFreePerch", [c, "Y", bQ], nil)
499+ if ((bU == bU))
500+ then if (if (if (if ((bN == 0))
500501 then (bO == 0)
501502 else false)
502503 then (bP == 0)
503504 else false)
505+ then (bQ == 0)
506+ else false)
504507 then throw("Nothing to migrate")
505508 else {
506- let bU = invoke(bK, "removePerches", [c], nil)
507- if ((bU == bU))
509+ let bV = invoke(bL, "removePerches", [c], nil)
510+ if ((bV == bV))
508511 then nil
509512 else throw("Strict value is not equal to itself.")
510513 }
528531
529532
530533 @Callable(aZ)
531-func stakeNFT (bV,bW,bX) = if (if (bX)
532- then !(aW(toString(aZ.caller)))
533- else false)
534- then throw("You can't stake without a perch")
535- else {
536- let by = ab(aZ.payments[0])
537- if ((by == by))
538- then {
539- let bY = value(aZ.payments[1])
540- let ba = value(bY.assetId)
541- let aA = value(value(assetInfo(ba)).name)
542- let az = (takeRight(aA, 1) == "U")
543- let c = toString(aZ.caller)
544- let bZ = if (bW)
545- then toString(aZ.originCaller)
546- else c
547- let ca = if (bX)
548- then nil
549- else {
550- let bz = if (az)
551- then bV
552- else takeRight(aA, 1)
553- let cb = ae(((("address_" + bZ) + "_perchesAvailable_") + bz))
554- if ((0 >= cb))
555- then throw(("no perches available for the color " + bz))
556- else [IntegerEntry(((("address_" + bZ) + "_perchesAvailable_") + bz), (cb - 1)), StringEntry((((("address_" + c) + "_asset_") + toBase58String(ba)) + "_perchColor"), bz)]
557- }
558- if ((ca == ca))
559- then if ((bY.amount != 1))
560- then throw("NFT is not attached")
534+func stakeNFT (bW,bX,bY) = if (true)
535+ then throw("Staking is disabled")
536+ else if (if (bY)
537+ then !(aW(toString(aZ.caller)))
538+ else false)
539+ then throw("You can't stake without a perch")
540+ else {
541+ let bz = ab(aZ.payments[0])
542+ if ((bz == bz))
543+ then {
544+ let bZ = value(aZ.payments[1])
545+ let ba = value(bZ.assetId)
546+ let aA = value(value(assetInfo(ba)).name)
547+ let az = (takeRight(aA, 1) == "U")
548+ let c = toString(aZ.caller)
549+ let ca = if (bX)
550+ then toString(aZ.originCaller)
551+ else c
552+ let cb = if (bY)
553+ then nil
561554 else {
562- let cc = ai(invoke(this, "calculateFarmPower", [toBase58String(ba), toString(aZ.originCaller)], nil))
563- if ((cc == cc))
564- then {
565- let cd = aJ(c, toBase58String(ba), false, c, toString(aZ.originCaller))
566- if ((cd == cd))
567- then ((([IntegerEntry(A(), (ae(A()) + cc._1)), IntegerEntry(Z(c), (ae(Z(c)) + cc._1)), StringEntry((toBase58String(ba) + "_owner"), c), BooleanEntry((toBase58String(ba) + "_use_origin"), bW), StringEntry((toBase58String(ba) + "_original_caller"), toString(aZ.originCaller)), IntegerEntry(X(c, toBase58String(ba)), cc._1), IntegerEntry((toBase58String(ba) + "_basePower"), cc._2), BooleanEntry((toBase58String(ba) + "_without_perch"), bX)] ++ by) ++ ca) ++ cd._1)
568- else throw("Strict value is not equal to itself.")
569- }
570- else throw("Strict value is not equal to itself.")
555+ let bA = if (az)
556+ then bW
557+ else takeRight(aA, 1)
558+ let cc = ae(((("address_" + ca) + "_perchesAvailable_") + bA))
559+ if ((0 >= cc))
560+ then throw(("no perches available for the color " + bA))
561+ else [IntegerEntry(((("address_" + ca) + "_perchesAvailable_") + bA), (cc - 1)), StringEntry((((("address_" + c) + "_asset_") + toBase58String(ba)) + "_perchColor"), bA)]
571562 }
572- else throw("Strict value is not equal to itself.")
573- }
574- else throw("Strict value is not equal to itself.")
575- }
563+ if ((cb == cb))
564+ then if ((bZ.amount != 1))
565+ then throw("NFT is not attached")
566+ else {
567+ let cd = ai(invoke(this, "calculateFarmPower", [toBase58String(ba), toString(aZ.originCaller)], nil))
568+ if ((cd == cd))
569+ then {
570+ let ce = aJ(c, toBase58String(ba), false, c, toString(aZ.originCaller))
571+ if ((ce == ce))
572+ then ((([IntegerEntry(A(), (ae(A()) + cd._1)), IntegerEntry(Z(c), (ae(Z(c)) + cd._1)), StringEntry((toBase58String(ba) + "_owner"), c), BooleanEntry((toBase58String(ba) + "_use_origin"), bX), StringEntry((toBase58String(ba) + "_original_caller"), toString(aZ.originCaller)), IntegerEntry(X(c, toBase58String(ba)), cd._1), IntegerEntry((toBase58String(ba) + "_basePower"), cd._2), BooleanEntry((toBase58String(ba) + "_without_perch"), bY)] ++ bz) ++ cb) ++ ce._1)
573+ else throw("Strict value is not equal to itself.")
574+ }
575+ else throw("Strict value is not equal to itself.")
576+ }
577+ else throw("Strict value is not equal to itself.")
578+ }
579+ else throw("Strict value is not equal to itself.")
580+ }
576581
577582
578583
582587 if ((g((W + "_owner")) != toString(aZ.caller)))
583588 then throw("You don't own this duck!!")
584589 else {
585- let cd = aJ(c, W, false, c, toString(aZ.originCaller))
586- if ((cd == cd))
590+ let ce = aJ(c, W, false, c, toString(aZ.originCaller))
591+ if ((ce == ce))
587592 then {
588- let by = ab(aZ.payments[0])
589- if ((by == by))
593+ let bz = ab(aZ.payments[0])
594+ if ((bz == bz))
590595 then {
591- let bz = g((((("address_" + c) + "_asset_") + W) + "_perchColor"))
592- let ce = aq((W + "_without_perch"))
593- let ca = if (ce)
596+ let bA = g((((("address_" + c) + "_asset_") + W) + "_perchColor"))
597+ let cf = aq((W + "_without_perch"))
598+ let cb = if (cf)
594599 then nil
595600 else {
596- let bW = aq((W + "_use_origin"))
597- let cf = if (bW)
601+ let bX = aq((W + "_use_origin"))
602+ let cg = if (bX)
598603 then toString(aZ.originCaller)
599604 else c
600-[IntegerEntry(((("address_" + cf) + "_perchesAvailable_") + bz), (ae(((("address_" + cf) + "_perchesAvailable_") + bz)) + 1))]
605+[IntegerEntry(((("address_" + cg) + "_perchesAvailable_") + bA), (ae(((("address_" + cg) + "_perchesAvailable_") + bA)) + 1))]
601606 }
602- if ((ca == ca))
607+ if ((cb == cb))
603608 then {
604- let cg = ae(X(c, W))
605- if ((cg == cg))
606- then $Tuple2(((([IntegerEntry(A(), (ae(A()) - cg)), IntegerEntry(Z(c), (ae(Z(c)) - cg)), DeleteEntry((W + "_owner")), DeleteEntry(X(c, W)), DeleteEntry((((("address_" + c) + "_asset_") + W) + "_perchColor")), DeleteEntry((W + "_original_caller")), DeleteEntry((W + "_use_origin")), DeleteEntry((W + "_without_perch")), ScriptTransfer(Address(fromBase58String(c)), 1, fromBase58String(W))] ++ by) ++ ca) ++ cd._1), cd._2)
609+ let ch = ae(X(c, W))
610+ if ((ch == ch))
611+ then $Tuple2(((([IntegerEntry(A(), (ae(A()) - ch)), IntegerEntry(Z(c), (ae(Z(c)) - ch)), DeleteEntry((W + "_owner")), DeleteEntry(X(c, W)), DeleteEntry((((("address_" + c) + "_asset_") + W) + "_perchColor")), DeleteEntry((W + "_original_caller")), DeleteEntry((W + "_use_origin")), DeleteEntry((W + "_without_perch")), ScriptTransfer(Address(fromBase58String(c)), 1, fromBase58String(W))] ++ bz) ++ cb) ++ ce._1), ce._2)
607612 else throw("Strict value is not equal to itself.")
608613 }
609614 else throw("Strict value is not equal to itself.")
617622
618623
619624 @Callable(aZ)
620-func topUpReward () = {
621- let bD = value(aZ.payments[0])
622- if ((bD.assetId != H()))
623- then throw(("FBP: You can attach only EGG tokens with the following asset id: " + toBase58String(H())))
624- else {
625- let ch = aj(bD.amount)
626- $Tuple2(ch, true)
627- }
628- }
625+func topUpReward () = if (true)
626+ then throw("Staking is disabled")
627+ else {
628+ let bE = value(aZ.payments[0])
629+ if ((bE.assetId != H()))
630+ then throw(("FBP: You can attach only EGG tokens with the following asset id: " + toBase58String(H())))
631+ else {
632+ let ci = aj(bE.amount)
633+ $Tuple2(ci, true)
634+ }
635+ }
629636
630637
631638
632639 @Callable(aZ)
633-func claimReward (ba) = {
634- let by = if ((aZ.originCaller == S()))
635- then nil
636- else ab(aZ.payments[0])
637- if ((by == by))
638- then if (if ((g((ba + "_owner")) != toString(aZ.caller)))
639- then (g((ba + "_original_caller")) != toString(aZ.caller))
640- else false)
641- then throw((("You don't own this duck (" + ba) + ")!! "))
642- else if ((size(aZ.payments) > 1))
643- then throw("Please don't add extra payments")
644- else {
645- let ci = if ((aZ.originCaller != S()))
646- then toString(aZ.caller)
647- else g((ba + "_original_caller"))
648- let cj = if ((aZ.originCaller != S()))
649- then toString(aZ.caller)
650- else g((ba + "_owner"))
651- let ck = if ((aZ.originCaller != S()))
652- then toString(aZ.originCaller)
653- else g((ba + "_original_caller"))
654- let cd = aJ(cj, ba, true, ci, ck)
655- $Tuple2((by ++ cd._1), cd._2)
656- }
657- else throw("Strict value is not equal to itself.")
658- }
640+func claimReward (ba) = if (true)
641+ then throw("Staking is disabled")
642+ else {
643+ let bz = if ((aZ.originCaller == S()))
644+ then nil
645+ else ab(aZ.payments[0])
646+ if ((bz == bz))
647+ then if (if ((g((ba + "_owner")) != toString(aZ.caller)))
648+ then (g((ba + "_original_caller")) != toString(aZ.caller))
649+ else false)
650+ then throw((("You don't own this duck (" + ba) + ")!! "))
651+ else if ((size(aZ.payments) > 1))
652+ then throw("Please don't add extra payments")
653+ else {
654+ let cj = if ((aZ.originCaller != S()))
655+ then toString(aZ.caller)
656+ else g((ba + "_original_caller"))
657+ let ck = if ((aZ.originCaller != S()))
658+ then toString(aZ.caller)
659+ else g((ba + "_owner"))
660+ let cl = if ((aZ.originCaller != S()))
661+ then toString(aZ.originCaller)
662+ else g((ba + "_original_caller"))
663+ let ce = aJ(ck, ba, true, cj, cl)
664+ $Tuple2((bz ++ ce._1), ce._2)
665+ }
666+ else throw("Strict value is not equal to itself.")
667+ }
659668
660669
661670
662671 @Callable(aZ)
663-func redeemItem (cl,cm) = {
664- let cn = aZ.payments[0]
665- if ((cn == cn))
672+func redeemItem (cm,cn) = {
673+ let co = aZ.payments[0]
674+ if ((co == co))
666675 then {
667- let co = value(aZ.payments[1])
668- if ((co == co))
669- then if ((co.amount != 1))
676+ let cp = value(aZ.payments[1])
677+ if ((cp == cp))
678+ then if ((cp.amount != 1))
670679 then throw("You need to attach exactly 1 potion")
671680 else {
672- let cp = ao(invoke(Q(), "checkArtefactDetails", [toBase58String(value(value(co).assetId))], nil))
673- if ((cp == cp))
674- then if ((cp != "ART-POTION"))
681+ let cq = ao(invoke(Q(), "checkArtefactDetails", [toBase58String(value(value(cp).assetId))], nil))
682+ if ((cq == cq))
683+ then if ((cq != "ART-POTION"))
675684 then throw("You need to attach a ART-POTION artefact")
676- else if ((cn.assetId != unit))
685+ else if ((co.assetId != unit))
677686 then throw("You need to attach waves")
678- else if ((cn.amount != T()))
687+ else if ((co.amount != T()))
679688 then throw((("You need to attach exactly " + toString(T())) + " waves"))
680689 else {
681- let cq = (cn.amount / 2)
682- let cr = (cn.amount - cq)
683- let bq = ae((cm + "_basePower"))
684- if ((bq == 0))
690+ let cr = (co.amount / 2)
691+ let cs = (co.amount - cr)
692+ let br = ae((cn + "_basePower"))
693+ if ((br == 0))
685694 then throw("This is not a valid duck or the duck waves never staked!")
686- else if ((g((cm + "_owner")) != ""))
695+ else if ((g((cn + "_owner")) != ""))
687696 then throw("Please usntake your duck first!!")
688697 else {
689- let cs = invoke(U(), "addWavesAndStakeMore", nil, [AttachedPayment(unit, cr)])
690- if ((cs == cs))
691- then [ScriptTransfer(N(), cq, unit), DeleteEntry((cm + "_basePower"))]
698+ let ct = invoke(U(), "addWavesAndStakeMore", nil, [AttachedPayment(unit, cs)])
699+ if ((ct == ct))
700+ then [ScriptTransfer(N(), cr, unit), DeleteEntry((cn + "_basePower"))]
692701 else throw("Strict value is not equal to itself.")
693702 }
694703 }
700709 }
701710
702711
703-@Verifier(ct)
704-func cu () = if (j())
705- then sigVerify(ct.bodyBytes, ct.proofs[0], ct.senderPublicKey)
712+@Verifier(cu)
713+func cv () = if (j())
714+ then sigVerify(cu.bodyBytes, cu.proofs[0], cu.senderPublicKey)
706715 else {
707- let cv = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
708- let cw = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
709- let cx = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
710- let cy = if (sigVerify(ct.bodyBytes, ct.proofs[0], cv))
716+ let cw = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
717+ let cx = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
718+ let cy = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
719+ let cz = if (sigVerify(cu.bodyBytes, cu.proofs[0], cw))
711720 then 1
712- else if (sigVerify(ct.bodyBytes, ct.proofs[1], cv))
721+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cw))
713722 then 1
714- else if (sigVerify(ct.bodyBytes, ct.proofs[2], cv))
723+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cw))
715724 then 1
716725 else 0
717- let cz = if (sigVerify(ct.bodyBytes, ct.proofs[0], cw))
726+ let cA = if (sigVerify(cu.bodyBytes, cu.proofs[0], cx))
718727 then 1
719- else if (sigVerify(ct.bodyBytes, ct.proofs[1], cw))
728+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cx))
720729 then 1
721- else if (sigVerify(ct.bodyBytes, ct.proofs[2], cw))
730+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cx))
722731 then 1
723732 else 0
724- let cA = if (sigVerify(ct.bodyBytes, ct.proofs[0], cx))
733+ let cB = if (sigVerify(cu.bodyBytes, cu.proofs[0], cy))
725734 then 1
726- else if (sigVerify(ct.bodyBytes, ct.proofs[1], cx))
735+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cy))
727736 then 1
728- else if (sigVerify(ct.bodyBytes, ct.proofs[2], cx))
737+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cy))
729738 then 1
730739 else 0
731- let cB = ((cy + cz) + cA)
732- let e = ct
733- (cB >= 2)
740+ let cC = ((cz + cA) + cB)
741+ let e = cu
742+ (cC >= 2)
734743 }
735744
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 100000000
55
66 func b (c,d) = {
77 let e = getString(c, d)
88 if ($isInstanceOf(e, "String"))
99 then {
1010 let f = e
1111 f
1212 }
1313 else ""
1414 }
1515
1616
1717 func g (d) = b(this, d)
1818
1919
2020 func h (d) = {
2121 let e = getBoolean(this, d)
2222 if ($isInstanceOf(e, "Boolean"))
2323 then {
2424 let i = e
2525 i
2626 }
2727 else false
2828 }
2929
3030
3131 func j () = h("TESTENV")
3232
3333
3434 func k () = "static_refContractAddress"
3535
3636
3737 let l = "global_lastCheck_interest"
3838
3939 func m () = "static_oracleAddress"
4040
4141
4242 func n () = "static_eggAssetId"
4343
4444
4545 func o () = "static_incubatorAddress"
4646
4747
4848 func p () = "static_breederAddress"
4949
5050
5151 func q () = "static_accBoosterAddress"
5252
5353
5454 func r () = "static_couponsAddress"
5555
5656
5757 func s () = "static_burnAddress"
5858
5959
6060 func t () = "static_extraFee"
6161
6262
6363 func u () = "static_feeAggregator"
6464
6565
6666 let v = "global_earnings"
6767
6868 func w () = "static_perchFee"
6969
7070
7171 func x () = "static_rebirthAddress"
7272
7373
7474 func y () = "static_turtleRebirthAddress"
7575
7676
7777 func z () = "static_itemsAddress"
7878
7979
8080 func A () = "total_staked"
8181
8282
8383 func B () = "static_proxyStakingContracts"
8484
8585
8686 func C () = "static_cfMasterAddress"
8787
8888
8989 func D () = "static_potionFee"
9090
9191
9292 func E () = "static_canineStakingAddress"
9393
9494
9595 func F () = Address(fromBase58String(g(m())))
9696
9797
9898 func G () = Address(fromBase58String(b(F(), x())))
9999
100100
101101 func H () = fromBase58String(b(F(), n()))
102102
103103
104104 func I () = Address(fromBase58String(b(F(), o())))
105105
106106
107107 func J () = Address(fromBase58String(b(F(), p())))
108108
109109
110110 func K () = Address(fromBase58String(b(F(), q())))
111111
112112
113113 func L () = Address(fromBase58String(b(F(), r())))
114114
115115
116116 func M () = Address(fromBase58String(b(F(), s())))
117117
118118
119119 func N () = Address(fromBase58String(b(F(), u())))
120120
121121
122122 func O () = Address(fromBase58String(b(F(), k())))
123123
124124
125125 func P () = Address(fromBase58String(b(F(), y())))
126126
127127
128128 func Q () = Address(fromBase58String(b(F(), z())))
129129
130130
131131 func R () = b(F(), B())
132132
133133
134134 func S () = Address(fromBase58String(b(F(), C())))
135135
136136
137137 func T () = getIntegerValue(F(), D())
138138
139139
140140 func U () = Address(fromBase58String(b(F(), E())))
141141
142142
143143 func V (c,W) = (((("address_" + c) + "_asset_") + W) + "_lastCheckInterest")
144144
145145
146146 func X (c,W) = (((("address_" + c) + "_asset_") + W) + "_farmingPower")
147147
148148
149149 func Y (c,W) = (((c + "_asset_") + W) + "_claimed")
150150
151151
152152 func Z (c) = ("total_staked_" + c)
153153
154154
155155 let aa = 5
156156
157157 func ab (ac) = if (isDefined(ac.assetId))
158158 then throw("FCAP: Please attach waves")
159159 else {
160160 let ad = getIntegerValue(F(), t())
161161 if ((ac.amount != ad))
162162 then throw((("FCAP: Please attach exactly " + toString(ad)) + " amount of wavelets"))
163163 else [ScriptTransfer(N(), ad, unit)]
164164 }
165165
166166
167167 func ae (d) = {
168168 let e = getInteger(this, d)
169169 if ($isInstanceOf(e, "Int"))
170170 then {
171171 let i = e
172172 i
173173 }
174174 else 0
175175 }
176176
177177
178178 func af (ag) = {
179179 let e = ag
180180 if ($isInstanceOf(e, "Int"))
181181 then {
182182 let ah = e
183183 ah
184184 }
185185 else throw("FAI: wrong type, expected: Int")
186186 }
187187
188188
189189 func ai (ag) = {
190190 let e = ag
191191 if ($isInstanceOf(e, "(Int, Int)"))
192192 then {
193193 let ah = e
194194 ah
195195 }
196196 else throw("FAI: wrong type, expected: (Int,Int)")
197197 }
198198
199199
200200 func aj (ak) = {
201201 let al = ae(l)
202202 let am = ae(A())
203203 let an = if ((am > 0))
204204 then fraction(ak, a, am)
205205 else 0
206206 [IntegerEntry(v, (ae(v) + ak)), IntegerEntry(l, (al + an))]
207207 }
208208
209209
210210 func ao (ag) = {
211211 let e = ag
212212 if ($isInstanceOf(e, "String"))
213213 then {
214214 let ap = e
215215 ap
216216 }
217217 else throw("FAS: wrong type, expected: String")
218218 }
219219
220220
221221 func aq (d) = {
222222 let e = getBoolean(this, d)
223223 if ($isInstanceOf(e, "Boolean"))
224224 then {
225225 let i = e
226226 i
227227 }
228228 else false
229229 }
230230
231231
232232 func ar (c,d) = {
233233 let e = getBoolean(c, d)
234234 if ($isInstanceOf(e, "Boolean"))
235235 then {
236236 let i = e
237237 i
238238 }
239239 else false
240240 }
241241
242242
243243 func as (at) = if ((at == "G"))
244244 then I()
245245 else J()
246246
247247
248248 func au (av,at) = {
249249 let aw = valueOrErrorMessage(getInteger(as(at), (("stats_" + av) + "_quantity")), (("stats_" + av) + "_quantity not found"))
250250 let ax = pow((10000 / aw), 4, 5, 1, 2, FLOOR)
251251 if ((ax > 0))
252252 then ax
253253 else 2
254254 }
255255
256256
257257 func ay (az,aA) = {
258258 let aB = if (az)
259259 then 100
260260 else {
261261 let at = take(takeRight(aA, 2), 1)
262262 let aC = ao(invoke(J(), "getGenFromName", [aA], nil))
263263 if ((aC == aC))
264264 then au(aC, at)
265265 else throw("Strict value is not equal to itself.")
266266 }
267267 aB
268268 }
269269
270270
271271 func aD (c,W,aE) = {
272272 let aF = ae(A())
273273 let aG = ae(Z(c))
274274 let aH = ae(X(c, W))
275275 let aI = ai(invoke(this, "calculateFarmPower", [W, aE], nil))
276276 if ((aH != 0))
277277 then [IntegerEntry(A(), ((aF - aH) + aI._1)), IntegerEntry(Z(c), ((aG - aH) + aI._1)), IntegerEntry(X(c, W), aI._1)]
278278 else nil
279279 }
280280
281281
282282 func aJ (c,W,aK,aL,aM) = {
283283 let al = ae(l)
284284 let aN = ae(V(c, W))
285285 let aO = ae(X(c, W))
286286 let aP = if (aK)
287287 then aD(c, W, aM)
288288 else nil
289289 if ((aP == aP))
290290 then {
291291 let aQ = if ((aN > 0))
292292 then fraction((al - aN), aO, a)
293293 else 0
294294 $Tuple2(([ScriptTransfer(addressFromStringValue(aL), aQ, H()), IntegerEntry(V(c, W), al), IntegerEntry(Y(aL, W), (ae(Y(aL, W)) + aQ))] ++ aP), aQ)
295295 }
296296 else throw("Strict value is not equal to itself.")
297297 }
298298
299299
300300 func aR (ag) = {
301301 let e = ag
302302 if ($isInstanceOf(e, "Boolean"))
303303 then {
304304 let aS = e
305305 aS
306306 }
307307 else throw("FAB: wrong type, expected: Boolean")
308308 }
309309
310310
311311 func aT (c) = {
312312 let aU = b(K(), (("ART-XMISTL_" + c) + "_owner"))
313313 let aV = getIntegerValue(F(), w())
314314 if ((aU == ""))
315315 then aV
316316 else ((aV / 10) * 9)
317317 }
318318
319319
320320 func aW (c) = {
321321 let aX = R()
322322 let aY = split(aX, ";")
323323 (indexOf(aY, c) != unit)
324324 }
325325
326326
327327 @Callable(aZ)
328328 func calculateFarmPower (ba,bb) = if (!(if ((value(assetInfo(fromBase58String(ba))).issuer == J()))
329329 then true
330330 else (value(assetInfo(fromBase58String(ba))).issuer == I())))
331331 then throw("This does not seem like a valid Duck!")
332332 else {
333333 let aA = value(assetInfo(fromBase58String(ba))).name
334334 let bc = takeRight(aA, 1)
335335 let az = (takeRight(aA, 1) == "U")
336336 let aB = ay(az, aA)
337337 let av = split(dropRight(drop(aA, 5), 3), "")
338338 func bd (be,bf) = if (!(containsElement(be, bf)))
339339 then (be :+ bf)
340340 else be
341341
342342 let bg = {
343343 let bh = av
344344 let bi = size(bh)
345345 let bj = nil
346346 func bk (bl,bm) = if ((bm >= bi))
347347 then bl
348348 else bd(bl, bh[bm])
349349
350350 func bn (bl,bm) = if ((bm >= bi))
351351 then bl
352352 else throw("List size exceeds 8")
353353
354354 bn(bk(bk(bk(bk(bk(bk(bk(bk(bj, 0), 1), 2), 3), 4), 5), 6), 7), 8)
355355 }
356356 let bo = if ((bc == "U"))
357357 then 8
358358 else size(bg)
359359 let ax = pow(15, 1, bo, 0, 2, DOWN)
360- let bp = (((height - 3750000) * 100) / (((60 * 24) * 30) * 3))
361- let bq = ae((ba + "_basePower"))
362- let br = if ((bq > 0))
363- then bq
364- else ((ax * bp) / 100)
365- let bs = ((br * aB) / 100)
366- let bt = af(invoke(Q(), "calculateFarmingPowerBoost", [ba, bb], nil))
367- if ((bt == bt))
360+ let bp = if (j())
361+ then 2500000
362+ else 3750000
363+ let bq = (((height - bp) * 100) / (((60 * 24) * 30) * 3))
364+ let br = ae((ba + "_basePower"))
365+ let bs = if ((br > 0))
366+ then br
367+ else ((ax * bq) / 100)
368+ let bt = ((bs * aB) / 100)
369+ let bu = af(invoke(Q(), "calculateFarmingPowerBoost", [ba, bb], nil))
370+ if ((bu == bu))
368371 then {
369- let bu = (bs + ((bs * bt) / 100))
370- $Tuple2(nil, $Tuple2(bu, br))
372+ let bv = (bt + ((bt * bu) / 100))
373+ $Tuple2(nil, $Tuple2(bv, bs))
371374 }
372375 else throw("Strict value is not equal to itself.")
373376 }
374377
375378
376379
377380 @Callable(aZ)
378-func configureOracle (bv) = if ((aZ.caller != this))
381+func configureOracle (bw) = if ((aZ.caller != this))
379382 then throw("FCO: admin only")
380- else [StringEntry(m(), bv)]
383+ else [StringEntry(m(), bw)]
381384
382385
383386
384387 @Callable(aZ)
385-func buyPerch (bw,bx) = {
386- let by = ab(aZ.payments[0])
387- if ((by == by))
388+func buyPerch (bx,by) = {
389+ let bz = ab(aZ.payments[0])
390+ if ((bz == bz))
388391 then {
389- let bz = if ((bw == "U"))
392+ let bA = if ((bx == "U"))
390393 then "B"
391- else bw
392- if ((0 > value(indexOf(["B", "R", "G", "Y"], bz))))
394+ else bx
395+ if ((0 > value(indexOf(["B", "R", "G", "Y"], bA))))
393396 then throw("you need to set color properly")
394397 else {
395- let bA = aT(toString(aZ.caller))
396- let bB = if ((aZ.originCaller == aZ.caller))
398+ let bB = aT(toString(aZ.caller))
399+ let bC = if ((aZ.originCaller == aZ.caller))
397400 then {
398- let bC = af(invoke(L(), "useCoupons", [bA], nil))
399- if ((bC == bC))
400- then (bA - bC)
401+ let bD = af(invoke(L(), "useCoupons", [bB], nil))
402+ if ((bD == bD))
403+ then (bB - bD)
401404 else throw("Strict value is not equal to itself.")
402405 }
403- else bA
404- let ac = if ((bB != 0))
406+ else bB
407+ let ac = if ((bC != 0))
405408 then {
406- let bD = if ((size(aZ.payments) == 2))
409+ let bE = if ((size(aZ.payments) == 2))
407410 then value(aZ.payments[1])
408411 else value(aZ.payments[0])
409- if ((bD.assetId != H()))
412+ if ((bE.assetId != H()))
410413 then throw(("FBP: You can attach only EGG tokens with the following asset id: " + toBase58String(H())))
411- else if ((bD.amount != bB))
412- then throw(((("FBP: To buy a perch you currently need the following amount of EGGlets: " + toString(bB)) + " ") + toString(aZ.caller)))
414+ else if ((bE.amount != bC))
415+ then throw(((("FBP: To buy a perch you currently need the following amount of EGGlets: " + toString(bC)) + " ") + toString(aZ.caller)))
413416 else {
414- let bE = fraction(bB, 5, 100)
415- let bF = aR(invoke(O(), "refPayment", [bx], [AttachedPayment(H(), bE)]))
416- if ((bF == bF))
417+ let bF = fraction(bC, 5, 100)
418+ let bG = aR(invoke(O(), "refPayment", [by], [AttachedPayment(H(), bF)]))
419+ if ((bG == bG))
417420 then {
418- let bG = if (bF)
419- then (bB - bE)
420- else bB
421- let bH = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(H(), bG)])
422- if ((bH == bH))
423- then bB
421+ let bH = if (bG)
422+ then (bC - bF)
423+ else bC
424+ let bI = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(H(), bH)])
425+ if ((bI == bI))
426+ then bC
424427 else throw("Strict value is not equal to itself.")
425428 }
426429 else throw("Strict value is not equal to itself.")
427430 }
428431 }
429432 else 0
430433 if ((ac == ac))
431434 then {
432- let bI = ((("address_" + toString(aZ.caller)) + "_perchesAvailable_") + bz)
433- let bJ = ae(bI)
434- ([IntegerEntry(bI, (bJ + 1))] ++ by)
435+ let bJ = ((("address_" + toString(aZ.caller)) + "_perchesAvailable_") + bA)
436+ let bK = ae(bJ)
437+ ([IntegerEntry(bJ, (bK + 1))] ++ bz)
435438 }
436439 else throw("Strict value is not equal to itself.")
437440 }
438441 }
439442 else throw("Strict value is not equal to itself.")
440443 }
441444
442445
443446
444447 @Callable(aZ)
445-func addFreePerch (c,bz,ak) = if ((0 > value(indexOf(["B", "R", "G", "Y"], bz))))
448+func addFreePerch (c,bA,ak) = if ((0 > value(indexOf(["B", "R", "G", "Y"], bA))))
446449 then throw("you need to set color properly")
447450 else if (if (if ((aZ.caller != G()))
448451 then (aZ.caller != P())
449452 else false)
450453 then (aZ.caller != this)
451454 else false)
452455 then throw("rebirth and admin only")
453456 else {
454- let bI = ((("address_" + c) + "_perchesAvailable_") + bz)
455- let bJ = ae(bI)
456- $Tuple2([IntegerEntry(bI, (bJ + ak))], "")
457+ let bJ = ((("address_" + c) + "_perchesAvailable_") + bA)
458+ let bK = ae(bJ)
459+ $Tuple2([IntegerEntry(bJ, (bK + ak))], "")
457460 }
458461
459462
460463
461464 @Callable(aZ)
462465 func migratePerches (c) = {
463- let bK = addressFromStringValue(b(F(), "static_farmingAddress"))
464- func bL (d) = {
465- let e = getInteger(bK, d)
466+ let bL = addressFromStringValue(b(F(), "static_farmingAddress"))
467+ func bM (d) = {
468+ let e = getInteger(bL, d)
466469 if ($isInstanceOf(e, "Int"))
467470 then {
468471 let i = e
469472 i
470473 }
471474 else 0
472475 }
473476
474- let bM = bL((("address_" + c) + "_perchesAvailable_B"))
475- if ((bM == bM))
477+ let bN = bM((("address_" + c) + "_perchesAvailable_B"))
478+ if ((bN == bN))
476479 then {
477- let bN = bL((("address_" + c) + "_perchesAvailable_R"))
478- if ((bN == bN))
480+ let bO = bM((("address_" + c) + "_perchesAvailable_R"))
481+ if ((bO == bO))
479482 then {
480- let bO = bL((("address_" + c) + "_perchesAvailable_G"))
481- if ((bO == bO))
483+ let bP = bM((("address_" + c) + "_perchesAvailable_G"))
484+ if ((bP == bP))
482485 then {
483- let bP = bL((("address_" + c) + "_perchesAvailable_Y"))
484- if ((bP == bP))
486+ let bQ = bM((("address_" + c) + "_perchesAvailable_Y"))
487+ if ((bQ == bQ))
485488 then {
486- let bQ = invoke(this, "addFreePerch", [c, "B", bM], nil)
487- if ((bQ == bQ))
489+ let bR = invoke(this, "addFreePerch", [c, "B", bN], nil)
490+ if ((bR == bR))
488491 then {
489- let bR = invoke(this, "addFreePerch", [c, "R", bN], nil)
490- if ((bR == bR))
492+ let bS = invoke(this, "addFreePerch", [c, "R", bO], nil)
493+ if ((bS == bS))
491494 then {
492- let bS = invoke(this, "addFreePerch", [c, "G", bO], nil)
493- if ((bS == bS))
495+ let bT = invoke(this, "addFreePerch", [c, "G", bP], nil)
496+ if ((bT == bT))
494497 then {
495- let bT = invoke(this, "addFreePerch", [c, "Y", bP], nil)
496- if ((bT == bT))
497- then if (if (if (if ((bM == 0))
498- then (bN == 0)
499- else false)
498+ let bU = invoke(this, "addFreePerch", [c, "Y", bQ], nil)
499+ if ((bU == bU))
500+ then if (if (if (if ((bN == 0))
500501 then (bO == 0)
501502 else false)
502503 then (bP == 0)
503504 else false)
505+ then (bQ == 0)
506+ else false)
504507 then throw("Nothing to migrate")
505508 else {
506- let bU = invoke(bK, "removePerches", [c], nil)
507- if ((bU == bU))
509+ let bV = invoke(bL, "removePerches", [c], nil)
510+ if ((bV == bV))
508511 then nil
509512 else throw("Strict value is not equal to itself.")
510513 }
511514 else throw("Strict value is not equal to itself.")
512515 }
513516 else throw("Strict value is not equal to itself.")
514517 }
515518 else throw("Strict value is not equal to itself.")
516519 }
517520 else throw("Strict value is not equal to itself.")
518521 }
519522 else throw("Strict value is not equal to itself.")
520523 }
521524 else throw("Strict value is not equal to itself.")
522525 }
523526 else throw("Strict value is not equal to itself.")
524527 }
525528 else throw("Strict value is not equal to itself.")
526529 }
527530
528531
529532
530533 @Callable(aZ)
531-func stakeNFT (bV,bW,bX) = if (if (bX)
532- then !(aW(toString(aZ.caller)))
533- else false)
534- then throw("You can't stake without a perch")
535- else {
536- let by = ab(aZ.payments[0])
537- if ((by == by))
538- then {
539- let bY = value(aZ.payments[1])
540- let ba = value(bY.assetId)
541- let aA = value(value(assetInfo(ba)).name)
542- let az = (takeRight(aA, 1) == "U")
543- let c = toString(aZ.caller)
544- let bZ = if (bW)
545- then toString(aZ.originCaller)
546- else c
547- let ca = if (bX)
548- then nil
549- else {
550- let bz = if (az)
551- then bV
552- else takeRight(aA, 1)
553- let cb = ae(((("address_" + bZ) + "_perchesAvailable_") + bz))
554- if ((0 >= cb))
555- then throw(("no perches available for the color " + bz))
556- else [IntegerEntry(((("address_" + bZ) + "_perchesAvailable_") + bz), (cb - 1)), StringEntry((((("address_" + c) + "_asset_") + toBase58String(ba)) + "_perchColor"), bz)]
557- }
558- if ((ca == ca))
559- then if ((bY.amount != 1))
560- then throw("NFT is not attached")
534+func stakeNFT (bW,bX,bY) = if (true)
535+ then throw("Staking is disabled")
536+ else if (if (bY)
537+ then !(aW(toString(aZ.caller)))
538+ else false)
539+ then throw("You can't stake without a perch")
540+ else {
541+ let bz = ab(aZ.payments[0])
542+ if ((bz == bz))
543+ then {
544+ let bZ = value(aZ.payments[1])
545+ let ba = value(bZ.assetId)
546+ let aA = value(value(assetInfo(ba)).name)
547+ let az = (takeRight(aA, 1) == "U")
548+ let c = toString(aZ.caller)
549+ let ca = if (bX)
550+ then toString(aZ.originCaller)
551+ else c
552+ let cb = if (bY)
553+ then nil
561554 else {
562- let cc = ai(invoke(this, "calculateFarmPower", [toBase58String(ba), toString(aZ.originCaller)], nil))
563- if ((cc == cc))
564- then {
565- let cd = aJ(c, toBase58String(ba), false, c, toString(aZ.originCaller))
566- if ((cd == cd))
567- then ((([IntegerEntry(A(), (ae(A()) + cc._1)), IntegerEntry(Z(c), (ae(Z(c)) + cc._1)), StringEntry((toBase58String(ba) + "_owner"), c), BooleanEntry((toBase58String(ba) + "_use_origin"), bW), StringEntry((toBase58String(ba) + "_original_caller"), toString(aZ.originCaller)), IntegerEntry(X(c, toBase58String(ba)), cc._1), IntegerEntry((toBase58String(ba) + "_basePower"), cc._2), BooleanEntry((toBase58String(ba) + "_without_perch"), bX)] ++ by) ++ ca) ++ cd._1)
568- else throw("Strict value is not equal to itself.")
569- }
570- else throw("Strict value is not equal to itself.")
555+ let bA = if (az)
556+ then bW
557+ else takeRight(aA, 1)
558+ let cc = ae(((("address_" + ca) + "_perchesAvailable_") + bA))
559+ if ((0 >= cc))
560+ then throw(("no perches available for the color " + bA))
561+ else [IntegerEntry(((("address_" + ca) + "_perchesAvailable_") + bA), (cc - 1)), StringEntry((((("address_" + c) + "_asset_") + toBase58String(ba)) + "_perchColor"), bA)]
571562 }
572- else throw("Strict value is not equal to itself.")
573- }
574- else throw("Strict value is not equal to itself.")
575- }
563+ if ((cb == cb))
564+ then if ((bZ.amount != 1))
565+ then throw("NFT is not attached")
566+ else {
567+ let cd = ai(invoke(this, "calculateFarmPower", [toBase58String(ba), toString(aZ.originCaller)], nil))
568+ if ((cd == cd))
569+ then {
570+ let ce = aJ(c, toBase58String(ba), false, c, toString(aZ.originCaller))
571+ if ((ce == ce))
572+ then ((([IntegerEntry(A(), (ae(A()) + cd._1)), IntegerEntry(Z(c), (ae(Z(c)) + cd._1)), StringEntry((toBase58String(ba) + "_owner"), c), BooleanEntry((toBase58String(ba) + "_use_origin"), bX), StringEntry((toBase58String(ba) + "_original_caller"), toString(aZ.originCaller)), IntegerEntry(X(c, toBase58String(ba)), cd._1), IntegerEntry((toBase58String(ba) + "_basePower"), cd._2), BooleanEntry((toBase58String(ba) + "_without_perch"), bY)] ++ bz) ++ cb) ++ ce._1)
573+ else throw("Strict value is not equal to itself.")
574+ }
575+ else throw("Strict value is not equal to itself.")
576+ }
577+ else throw("Strict value is not equal to itself.")
578+ }
579+ else throw("Strict value is not equal to itself.")
580+ }
576581
577582
578583
579584 @Callable(aZ)
580585 func unstakeNFT (W) = {
581586 let c = toString(aZ.caller)
582587 if ((g((W + "_owner")) != toString(aZ.caller)))
583588 then throw("You don't own this duck!!")
584589 else {
585- let cd = aJ(c, W, false, c, toString(aZ.originCaller))
586- if ((cd == cd))
590+ let ce = aJ(c, W, false, c, toString(aZ.originCaller))
591+ if ((ce == ce))
587592 then {
588- let by = ab(aZ.payments[0])
589- if ((by == by))
593+ let bz = ab(aZ.payments[0])
594+ if ((bz == bz))
590595 then {
591- let bz = g((((("address_" + c) + "_asset_") + W) + "_perchColor"))
592- let ce = aq((W + "_without_perch"))
593- let ca = if (ce)
596+ let bA = g((((("address_" + c) + "_asset_") + W) + "_perchColor"))
597+ let cf = aq((W + "_without_perch"))
598+ let cb = if (cf)
594599 then nil
595600 else {
596- let bW = aq((W + "_use_origin"))
597- let cf = if (bW)
601+ let bX = aq((W + "_use_origin"))
602+ let cg = if (bX)
598603 then toString(aZ.originCaller)
599604 else c
600-[IntegerEntry(((("address_" + cf) + "_perchesAvailable_") + bz), (ae(((("address_" + cf) + "_perchesAvailable_") + bz)) + 1))]
605+[IntegerEntry(((("address_" + cg) + "_perchesAvailable_") + bA), (ae(((("address_" + cg) + "_perchesAvailable_") + bA)) + 1))]
601606 }
602- if ((ca == ca))
607+ if ((cb == cb))
603608 then {
604- let cg = ae(X(c, W))
605- if ((cg == cg))
606- then $Tuple2(((([IntegerEntry(A(), (ae(A()) - cg)), IntegerEntry(Z(c), (ae(Z(c)) - cg)), DeleteEntry((W + "_owner")), DeleteEntry(X(c, W)), DeleteEntry((((("address_" + c) + "_asset_") + W) + "_perchColor")), DeleteEntry((W + "_original_caller")), DeleteEntry((W + "_use_origin")), DeleteEntry((W + "_without_perch")), ScriptTransfer(Address(fromBase58String(c)), 1, fromBase58String(W))] ++ by) ++ ca) ++ cd._1), cd._2)
609+ let ch = ae(X(c, W))
610+ if ((ch == ch))
611+ then $Tuple2(((([IntegerEntry(A(), (ae(A()) - ch)), IntegerEntry(Z(c), (ae(Z(c)) - ch)), DeleteEntry((W + "_owner")), DeleteEntry(X(c, W)), DeleteEntry((((("address_" + c) + "_asset_") + W) + "_perchColor")), DeleteEntry((W + "_original_caller")), DeleteEntry((W + "_use_origin")), DeleteEntry((W + "_without_perch")), ScriptTransfer(Address(fromBase58String(c)), 1, fromBase58String(W))] ++ bz) ++ cb) ++ ce._1), ce._2)
607612 else throw("Strict value is not equal to itself.")
608613 }
609614 else throw("Strict value is not equal to itself.")
610615 }
611616 else throw("Strict value is not equal to itself.")
612617 }
613618 else throw("Strict value is not equal to itself.")
614619 }
615620 }
616621
617622
618623
619624 @Callable(aZ)
620-func topUpReward () = {
621- let bD = value(aZ.payments[0])
622- if ((bD.assetId != H()))
623- then throw(("FBP: You can attach only EGG tokens with the following asset id: " + toBase58String(H())))
624- else {
625- let ch = aj(bD.amount)
626- $Tuple2(ch, true)
627- }
628- }
625+func topUpReward () = if (true)
626+ then throw("Staking is disabled")
627+ else {
628+ let bE = value(aZ.payments[0])
629+ if ((bE.assetId != H()))
630+ then throw(("FBP: You can attach only EGG tokens with the following asset id: " + toBase58String(H())))
631+ else {
632+ let ci = aj(bE.amount)
633+ $Tuple2(ci, true)
634+ }
635+ }
629636
630637
631638
632639 @Callable(aZ)
633-func claimReward (ba) = {
634- let by = if ((aZ.originCaller == S()))
635- then nil
636- else ab(aZ.payments[0])
637- if ((by == by))
638- then if (if ((g((ba + "_owner")) != toString(aZ.caller)))
639- then (g((ba + "_original_caller")) != toString(aZ.caller))
640- else false)
641- then throw((("You don't own this duck (" + ba) + ")!! "))
642- else if ((size(aZ.payments) > 1))
643- then throw("Please don't add extra payments")
644- else {
645- let ci = if ((aZ.originCaller != S()))
646- then toString(aZ.caller)
647- else g((ba + "_original_caller"))
648- let cj = if ((aZ.originCaller != S()))
649- then toString(aZ.caller)
650- else g((ba + "_owner"))
651- let ck = if ((aZ.originCaller != S()))
652- then toString(aZ.originCaller)
653- else g((ba + "_original_caller"))
654- let cd = aJ(cj, ba, true, ci, ck)
655- $Tuple2((by ++ cd._1), cd._2)
656- }
657- else throw("Strict value is not equal to itself.")
658- }
640+func claimReward (ba) = if (true)
641+ then throw("Staking is disabled")
642+ else {
643+ let bz = if ((aZ.originCaller == S()))
644+ then nil
645+ else ab(aZ.payments[0])
646+ if ((bz == bz))
647+ then if (if ((g((ba + "_owner")) != toString(aZ.caller)))
648+ then (g((ba + "_original_caller")) != toString(aZ.caller))
649+ else false)
650+ then throw((("You don't own this duck (" + ba) + ")!! "))
651+ else if ((size(aZ.payments) > 1))
652+ then throw("Please don't add extra payments")
653+ else {
654+ let cj = if ((aZ.originCaller != S()))
655+ then toString(aZ.caller)
656+ else g((ba + "_original_caller"))
657+ let ck = if ((aZ.originCaller != S()))
658+ then toString(aZ.caller)
659+ else g((ba + "_owner"))
660+ let cl = if ((aZ.originCaller != S()))
661+ then toString(aZ.originCaller)
662+ else g((ba + "_original_caller"))
663+ let ce = aJ(ck, ba, true, cj, cl)
664+ $Tuple2((bz ++ ce._1), ce._2)
665+ }
666+ else throw("Strict value is not equal to itself.")
667+ }
659668
660669
661670
662671 @Callable(aZ)
663-func redeemItem (cl,cm) = {
664- let cn = aZ.payments[0]
665- if ((cn == cn))
672+func redeemItem (cm,cn) = {
673+ let co = aZ.payments[0]
674+ if ((co == co))
666675 then {
667- let co = value(aZ.payments[1])
668- if ((co == co))
669- then if ((co.amount != 1))
676+ let cp = value(aZ.payments[1])
677+ if ((cp == cp))
678+ then if ((cp.amount != 1))
670679 then throw("You need to attach exactly 1 potion")
671680 else {
672- let cp = ao(invoke(Q(), "checkArtefactDetails", [toBase58String(value(value(co).assetId))], nil))
673- if ((cp == cp))
674- then if ((cp != "ART-POTION"))
681+ let cq = ao(invoke(Q(), "checkArtefactDetails", [toBase58String(value(value(cp).assetId))], nil))
682+ if ((cq == cq))
683+ then if ((cq != "ART-POTION"))
675684 then throw("You need to attach a ART-POTION artefact")
676- else if ((cn.assetId != unit))
685+ else if ((co.assetId != unit))
677686 then throw("You need to attach waves")
678- else if ((cn.amount != T()))
687+ else if ((co.amount != T()))
679688 then throw((("You need to attach exactly " + toString(T())) + " waves"))
680689 else {
681- let cq = (cn.amount / 2)
682- let cr = (cn.amount - cq)
683- let bq = ae((cm + "_basePower"))
684- if ((bq == 0))
690+ let cr = (co.amount / 2)
691+ let cs = (co.amount - cr)
692+ let br = ae((cn + "_basePower"))
693+ if ((br == 0))
685694 then throw("This is not a valid duck or the duck waves never staked!")
686- else if ((g((cm + "_owner")) != ""))
695+ else if ((g((cn + "_owner")) != ""))
687696 then throw("Please usntake your duck first!!")
688697 else {
689- let cs = invoke(U(), "addWavesAndStakeMore", nil, [AttachedPayment(unit, cr)])
690- if ((cs == cs))
691- then [ScriptTransfer(N(), cq, unit), DeleteEntry((cm + "_basePower"))]
698+ let ct = invoke(U(), "addWavesAndStakeMore", nil, [AttachedPayment(unit, cs)])
699+ if ((ct == ct))
700+ then [ScriptTransfer(N(), cr, unit), DeleteEntry((cn + "_basePower"))]
692701 else throw("Strict value is not equal to itself.")
693702 }
694703 }
695704 else throw("Strict value is not equal to itself.")
696705 }
697706 else throw("Strict value is not equal to itself.")
698707 }
699708 else throw("Strict value is not equal to itself.")
700709 }
701710
702711
703-@Verifier(ct)
704-func cu () = if (j())
705- then sigVerify(ct.bodyBytes, ct.proofs[0], ct.senderPublicKey)
712+@Verifier(cu)
713+func cv () = if (j())
714+ then sigVerify(cu.bodyBytes, cu.proofs[0], cu.senderPublicKey)
706715 else {
707- let cv = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
708- let cw = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
709- let cx = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
710- let cy = if (sigVerify(ct.bodyBytes, ct.proofs[0], cv))
716+ let cw = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
717+ let cx = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
718+ let cy = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
719+ let cz = if (sigVerify(cu.bodyBytes, cu.proofs[0], cw))
711720 then 1
712- else if (sigVerify(ct.bodyBytes, ct.proofs[1], cv))
721+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cw))
713722 then 1
714- else if (sigVerify(ct.bodyBytes, ct.proofs[2], cv))
723+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cw))
715724 then 1
716725 else 0
717- let cz = if (sigVerify(ct.bodyBytes, ct.proofs[0], cw))
726+ let cA = if (sigVerify(cu.bodyBytes, cu.proofs[0], cx))
718727 then 1
719- else if (sigVerify(ct.bodyBytes, ct.proofs[1], cw))
728+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cx))
720729 then 1
721- else if (sigVerify(ct.bodyBytes, ct.proofs[2], cw))
730+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cx))
722731 then 1
723732 else 0
724- let cA = if (sigVerify(ct.bodyBytes, ct.proofs[0], cx))
733+ let cB = if (sigVerify(cu.bodyBytes, cu.proofs[0], cy))
725734 then 1
726- else if (sigVerify(ct.bodyBytes, ct.proofs[1], cx))
735+ else if (sigVerify(cu.bodyBytes, cu.proofs[1], cy))
727736 then 1
728- else if (sigVerify(ct.bodyBytes, ct.proofs[2], cx))
737+ else if (sigVerify(cu.bodyBytes, cu.proofs[2], cy))
729738 then 1
730739 else 0
731- let cB = ((cy + cz) + cA)
732- let e = ct
733- (cB >= 2)
740+ let cC = ((cz + cA) + cB)
741+ let e = cu
742+ (cC >= 2)
734743 }
735744

github/deemru/w8io/c3f4982 
143.54 ms