tx · FMgkroKRbiEL6fuGbUyYJtEmiftmSy6fpzzG4RY2cYAT

3N9be2mwrA52WJho6DiesZkk4351GvpnWuj:  -0.01400000 Waves

2022.03.04 14:53 [1949198] smart account 3N9be2mwrA52WJho6DiesZkk4351GvpnWuj > SELF 0.00000000 Waves

{ "type": 13, "id": "FMgkroKRbiEL6fuGbUyYJtEmiftmSy6fpzzG4RY2cYAT", "fee": 1400000, "feeAssetId": null, "timestamp": 1646394808506, "version": 1, "sender": "3N9be2mwrA52WJho6DiesZkk4351GvpnWuj", "senderPublicKey": "6mzmbCza9iqbzxMEELcEA4Xc9NeF4CYpbTtz1zMK3C7x", "proofs": [ "5QSiwThn7ofdWQ88aoAvcLMZraCfFtibcqLJNKX9KbswrDk69rL2JV6yBgfk8vje7C3nCpxfigq5H7SXjXGEGcAF", "4WotPQfaL33cj1943t1mpBKJBKhXwcLin9H3nnDeabQvrRRkwTWzNHYzDXismqMbfwTNcqqd758nhfFBkCVkRkfj", "3JoWA7QLJBpgN5MAQ9zBPDqNvvaJ8sVHPXfjiYTxBCWc8DDwem3WFTiGUtqhStj6Va6PGcFcbjrnHSVTDurF5E3U" ], "script": "base64:AAIFAAAAAAAAADYIAhIOCgwICAgICAgBAQEBAQESBQoDCAgBEgYKBAgBCAgSABIAEgUKAwgBCBIAEgQKAgEIEgAAAAB0AQAAAA5nZXROdW1iZXJCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQAAAAAAAAAAAAEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAANrZXkCAAAAAAEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5BwEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAdhZGRyZXNzBQAAAANrZXkAAAAAAAAAAAABAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAHYWRkcmVzcwUAAAADa2V5AgAAAAABAAAAFmdldEJvb2xCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAB2FkZHJlc3MFAAAAA2tleQcBAAAACWFzQW55TGlzdAAAAAEAAAADdmFsBAAAAAckbWF0Y2gwBQAAAAN2YWwDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAACUxpc3RbQW55XQQAAAAKdmFsQW55THlzdAUAAAAHJG1hdGNoMAUAAAAKdmFsQW55THlzdAkAAAIAAAABAgAAABtmYWlsIHRvIGNhc3QgaW50byBMaXN0W0FueV0BAAAACGFzU3RyaW5nAAAAAQAAAAN2YWwEAAAAByRtYXRjaDAFAAAAA3ZhbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAZ2YWxTdHIFAAAAByRtYXRjaDAFAAAABnZhbFN0cgkAAAIAAAABAgAAABhmYWlsIHRvIGNhc3QgaW50byBTdHJpbmcBAAAABWFzSW50AAAAAQAAAAN2YWwEAAAAByRtYXRjaDAFAAAAA3ZhbAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAZ2YWxJbnQFAAAAByRtYXRjaDAFAAAABnZhbEludAkAAAIAAAABAgAAABVmYWlsIHRvIGNhc3QgaW50byBJbnQAAAAAEHB1YktleUFkbWluc0xpc3QJAARMAAAAAgIAAAAsRXh0RUVLMTlubUtqOW1DcG5XeXZFRUpGWUFUTE1jVkVNdm9oaFVIa3lITm0JAARMAAAAAgIAAAAsRXY1cHk1RmZCUVg5Y1pwWUtuZlFyVEI0OUJ5ZjhRbXBaV2VEVlJpbTR5VjcJAARMAAAAAgIAAAAsRFV1dUxqWHU5OG5Cd1pjN2Zxd0NUanRBM25uUndnVGJrTVNyNVNVMk5tRFIJAARMAAAAAgIAAAAsNVdSWEZTandjVGJOZktjSnM4WnFYbVNTV1lzU1ZKVXRNdk1xWmo1aEg0TmMFAAAAA25pbAAAAAADU0VQAgAAAAJfXwAAAAAHV0FWRUxFVAAAAAAABfXhAAAAAAAFUEFVTEkAAAAAAAAPQkAAAAAACFBSSUNFTEVUAAAAAAAAD0JAAAAAAA5ERUZBVUxUU1dBUEZFRQAAAAAAAABOIAAAAAAMSWR4TmV0QW1vdW50AAAAAAAAAAAAAAAAAAxJZHhGZWVBbW91bnQAAAAAAAAAAAEAAAAADklkeEdyb3NzQW1vdW50AAAAAAAAAAACAAAAABJOZXV0cmlub0Fzc2V0SWRLZXkCAAAAEW5ldXRyaW5vX2Fzc2V0X2lkAAAAAA5Cb25kQXNzZXRJZEtleQIAAAANYm9uZF9hc3NldF9pZAAAAAASQXVjdGlvbkNvbnRyYWN0S2V5AgAAABBhdWN0aW9uX2NvbnRyYWN0AAAAABZOc2J0U3Rha2luZ0NvbnRyYWN0S2V5AgAAABNuc2J0U3Rha2luZ0NvbnRyYWN0AAAAABZMaXF1aWRhdGlvbkNvbnRyYWN0S2V5AgAAABRsaXF1aWRhdGlvbl9jb250cmFjdAAAAAAOUlBEQ29udHJhY3RLZXkCAAAADHJwZF9jb250cmFjdAAAAAARQ29udG9sQ29udHJhY3RLZXkCAAAAEGNvbnRyb2xfY29udHJhY3QAAAAAD01hdGhDb250cmFjdEtleQIAAAANbWF0aF9jb250cmFjdAAAAAAbQmFsYW5jZVdhdmVzTG9ja0ludGVydmFsS2V5AgAAABtiYWxhbmNlX3dhdmVzX2xvY2tfaW50ZXJ2YWwAAAAAHkJhbGFuY2VOZXV0cmlub0xvY2tJbnRlcnZhbEtleQIAAAAeYmFsYW5jZV9uZXV0cmlub19sb2NrX2ludGVydmFsAAAAABVNaW5XYXZlc1N3YXBBbW91bnRLZXkCAAAAFW1pbl93YXZlc19zd2FwX2Ftb3VudAAAAAAYTWluTmV1dHJpbm9Td2FwQW1vdW50S2V5AgAAABhtaW5fbmV1dHJpbm9fc3dhcF9hbW91bnQAAAAAG05vZGVPcmFjbGVQcm92aWRlclB1YktleUtleQIAAAAUbm9kZV9vcmFjbGVfcHJvdmlkZXIAAAAAFU5ldXRyaW5vT3V0RmVlUGFydEtleQIAAAAYbmV1dHJpbm9PdXRfc3dhcF9mZWVQYXJ0AAAAABJXYXZlc091dEZlZVBhcnRLZXkCAAAAFXdhdmVzT3V0X3N3YXBfZmVlUGFydAAAAAAVRmVlc01hbmFnZXJBZGRyZXNzS2V5AgAAABRmZWVzX21hbmFnZXJfYWRkcmVzcwEAAAAZa2V5UXVpY2tTd2FwTGltaXREdXJhdGlvbgAAAAACAAAAGiVzX19xdWlja1N3YXBMaW1pdER1cmF0aW9uAAAAAAhQcmljZUtleQIAAAAFcHJpY2UAAAAADVByaWNlSW5kZXhLZXkCAAAAC3ByaWNlX2luZGV4AAAAAAxJc0Jsb2NrZWRLZXkCAAAACmlzX2Jsb2NrZWQBAAAAEmdldFByaWNlSGlzdG9yeUtleQAAAAEAAAAFYmxvY2sJAAEsAAAAAgkAASwAAAACBQAAAAhQcmljZUtleQIAAAABXwkAAaQAAAABBQAAAAVibG9jawEAAAAYZ2V0SGVpZ2h0UHJpY2VCeUluZGV4S2V5AAAAAQAAAAVpbmRleAkAASwAAAACCQABLAAAAAIFAAAADVByaWNlSW5kZXhLZXkCAAAAAV8JAAGkAAAAAQUAAAAFaW5kZXgBAAAAFWdldFN0YWtpbmdOb2RlQnlJbmRleAAAAAEAAAADaWR4CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQAEuQAAAAIJAARMAAAAAgIAAAAGJXMlZCVzCQAETAAAAAICAAAABWxlYXNlCQAETAAAAAIJAAGkAAAAAQUAAAADaWR4CQAETAAAAAICAAAAC25vZGVBZGRyZXNzBQAAAANuaWwFAAAAA1NFUAEAAAAcZ2V0U3Rha2luZ05vZGVBZGRyZXNzQnlJbmRleAAAAAEAAAADaWR4CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAVZ2V0U3Rha2luZ05vZGVCeUluZGV4AAAAAQUAAAADaWR4AQAAAB9nZXRSZXNlcnZlZEFtb3VudEZvclNwb25zb3JzaGlwAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQAEuQAAAAIJAARMAAAAAgIAAAAEJXMlcwkABEwAAAACAgAAAAVsZWFzZQkABEwAAAACAgAAABdzcG9uc29yc2hpcFdhdmVzUmVzZXJ2ZQUAAAADbmlsBQAAAANTRVAJAABoAAAAAgAAAAAAAAAD6AUAAAAHV0FWRUxFVAEAAAAYZ2V0QmFsYW5jZVVubG9ja0Jsb2NrS2V5AAAAAQAAAAVvd25lcgkAASwAAAACAgAAABViYWxhbmNlX3VubG9ja19ibG9ja18FAAAABW93bmVyAQAAAA1nZXRMZWFzZUlkS2V5AAAAAQAAAAlub2RlSW5kZXgJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVkJXMJAARMAAAAAgIAAAAFbGVhc2UJAARMAAAAAgkAAaQAAAABBQAAAAlub2RlSW5kZXgJAARMAAAAAgIAAAACaWQFAAAAA25pbAUAAAADU0VQAQAAABFnZXRMZWFzZUFtb3VudEtleQAAAAEAAAAJbm9kZUluZGV4CQAEuQAAAAIJAARMAAAAAgIAAAAGJXMlZCVzCQAETAAAAAICAAAABWxlYXNlCQAETAAAAAIJAAGkAAAAAQUAAAAJbm9kZUluZGV4CQAETAAAAAICAAAABmFtb3VudAUAAAADbmlsBQAAAANTRVABAAAAEG1pblN3YXBBbW91bnRLRVkAAAABAAAACHN3YXBUeXBlCQABLAAAAAIJAAEsAAAAAgIAAAAEbWluXwUAAAAIc3dhcFR5cGUCAAAADF9zd2FwX2Ftb3VudAEAAAAOdG90YWxMb2NrZWRLRVkAAAABAAAACHN3YXBUeXBlCQABLAAAAAICAAAADWJhbGFuY2VfbG9ja18FAAAACHN3YXBUeXBlAQAAABR0b3RhbExvY2tlZEJ5VXNlcktFWQAAAAIAAAAIc3dhcFR5cGUAAAAFb3duZXIJAAS5AAAAAgkABEwAAAACAgAAAAxiYWxhbmNlX2xvY2sJAARMAAAAAgUAAAAIc3dhcFR5cGUJAARMAAAAAgUAAAAFb3duZXIFAAAAA25pbAIAAAABXwEAAAAWYmFsYW5jZUxvY2tJbnRlcnZhbEtFWQAAAAEAAAAIc3dhcFR5cGUJAAEsAAAAAgkAASwAAAACAgAAAAhiYWxhbmNlXwUAAAAIc3dhcFR5cGUCAAAADl9sb2NrX2ludGVydmFsAQAAABpub2RlQmFsYW5jZUxvY2tJbnRlcnZhbEtFWQAAAAACAAAAGmJhbGFuY2Vfbm9kZV9sb2NrX2ludGVydmFsAQAAAA1vdXRGZWVQYXJ0S0VZAAAAAQAAAAhzd2FwVHlwZQkAASwAAAACBQAAAAhzd2FwVHlwZQIAAAAQT3V0X3N3YXBfZmVlUGFydAEAAAARc3dhcHNUaW1lZnJhbWVLRVkAAAAAAgAAAA9zd2Fwc190aW1lZnJhbWUBAAAAEW1pblN3YXBBbW91bnRSRUFEAAAAAQAAAAhzd2FwVHlwZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAQbWluU3dhcEFtb3VudEtFWQAAAAEFAAAACHN3YXBUeXBlAAAAAAAAAAAAAQAAABJzd2Fwc1RpbWVmcmFtZVJFQUQAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABFzd2Fwc1RpbWVmcmFtZUtFWQAAAAAAAAAAAAAABaABAAAAD3RvdGFsTG9ja2VkUkVBRAAAAAEAAAAIc3dhcFR5cGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAADnRvdGFsTG9ja2VkS0VZAAAAAQUAAAAIc3dhcFR5cGUAAAAAAAAAAAABAAAAFXRvdGFsTG9ja2VkQnlVc2VyUkVBRAAAAAIAAAAIc3dhcFR5cGUAAAAFb3duZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAFHRvdGFsTG9ja2VkQnlVc2VyS0VZAAAAAgUAAAAIc3dhcFR5cGUFAAAABW93bmVyAAAAAAAAAAAAAQAAABdiYWxhbmNlTG9ja0ludGVydmFsUkVBRAAAAAEAAAAIc3dhcFR5cGUJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAFmJhbGFuY2VMb2NrSW50ZXJ2YWxLRVkAAAABBQAAAAhzd2FwVHlwZQAAAAAAAAAFoAEAAAAbbm9kZUJhbGFuY2VMb2NrSW50ZXJ2YWxSRUFEAAAAAAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAabm9kZUJhbGFuY2VMb2NrSW50ZXJ2YWxLRVkAAAAAAAAAAAAAAAABAQAAAB1rZXlRdWlja1N3YXBVc2VyU3BlbnRJblBlcmlvZAAAAAEAAAALdXNlckFkZHJlc3MJAAS5AAAAAgkABEwAAAACAgAAAAQlcyVzCQAETAAAAAICAAAAGnF1aWNrU3dhcFVzZXJTcGVudEluUGVyaW9kCQAETAAAAAIFAAAAC3VzZXJBZGRyZXNzBQAAAANuaWwFAAAAA1NFUAEAAAAaa2V5VXNlckxhc3RRdWlja1N3YXBIZWlnaHQAAAABAAAAC3VzZXJBZGRyZXNzCQAEuQAAAAIJAARMAAAAAgIAAAAEJXMlcwkABEwAAAACAgAAABd1c2VyTGFzdFF1aWNrU3dhcEhlaWdodAkABEwAAAACBQAAAAt1c2VyQWRkcmVzcwUAAAADbmlsBQAAAANTRVABAAAAFWZlZU1hbmFnZXJBZGRyZXNzUkVBRAAAAAAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAVRmVlc01hbmFnZXJBZGRyZXNzS2V5CQABLAAAAAIFAAAAFUZlZXNNYW5hZ2VyQWRkcmVzc0tleQIAAAARIGlzIG5vdCBzcGVjaWZpZWQJAAEsAAAAAgUAAAAVRmVlc01hbmFnZXJBZGRyZXNzS2V5AgAAABcgaW52YWxpZCBhZGRyZXNzIGZvcm1hdAEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIAAAAGYW1vdW50AAAABXByaWNlCQAAawAAAAMJAABrAAAAAwUAAAAGYW1vdW50BQAAAAhQUklDRUxFVAUAAAAFcHJpY2UFAAAAB1dBVkVMRVQFAAAABVBBVUxJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgAAAAZhbW91bnQAAAAFcHJpY2UJAABrAAAAAwkAAGsAAAADBQAAAAZhbW91bnQFAAAABXByaWNlBQAAAAhQUklDRUxFVAUAAAAFUEFVTEkFAAAAB1dBVkVMRVQBAAAAEmNvbnZlcnRXYXZlc1RvQm9uZAAAAAIAAAAGYW1vdW50AAAABXByaWNlCQEAAAAWY29udmVydFdhdmVzVG9OZXV0cmlubwAAAAIFAAAABmFtb3VudAUAAAAFcHJpY2UBAAAAFmNvbnZlcnRKc29uQXJyYXlUb0xpc3QAAAABAAAACWpzb25BcnJheQkABLUAAAACBQAAAAlqc29uQXJyYXkCAAAAASwBAAAAEW1pblN3YXBBbW91bnRGQUlMAAAAAgAAAAhzd2FwVHlwZQAAAA1taW5Td2FwQW1vdW50CQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAGFRoZSBzcGVjaWZpZWQgYW1vdW50IGluIAUAAAAIc3dhcFR5cGUCAAAAKyBzd2FwIGlzIGxlc3MgdGhhbiB0aGUgcmVxdWlyZWQgbWluaW11bSBvZiAJAAGkAAAAAQUAAAANbWluU3dhcEFtb3VudAEAAAAVZW1lcmdlbmN5U2h1dGRvd25GQUlMAAAAAAkAAAIAAAABAgAAAFpjb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMBAAAADnByaWNlSW5kZXhGQUlMAAAABQAAAAVpbmRleAAAAApwcmljZUluZGV4AAAAC2luZGV4SGVpZ2h0AAAADHVubG9ja0hlaWdodAAAAA9wcmV2SW5kZXhIZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAjaW52YWxpZCBwcmljZSBoaXN0b3J5IGluZGV4OiBpbmRleD0JAAGkAAAAAQUAAAAFaW5kZXgCAAAADCBwcmljZUluZGV4PQkAAaQAAAABBQAAAApwcmljZUluZGV4AgAAAA0gaW5kZXhIZWlnaHQ9CQABpAAAAAEFAAAAC2luZGV4SGVpZ2h0AgAAAA4gdW5sb2NrSGVpZ2h0PQkAAaQAAAABBQAAAAx1bmxvY2tIZWlnaHQCAAAAESBwcmV2SW5kZXhIZWlnaHQ9CQABpAAAAAEFAAAAD3ByZXZJbmRleEhlaWdodAAAAAATbGlxdWlkYXRpb25Db250cmFjdAkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAWTGlxdWlkYXRpb25Db250cmFjdEtleQAAAAAWbnNidFN0YWtpbmdDb250cmFjdFN0cgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAWTnNidFN0YWtpbmdDb250cmFjdEtleQAAAAAPbmV1dHJpbm9Bc3NldElkCQACWQAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAEk5ldXRyaW5vQXNzZXRJZEtleQAAAAAPYXVjdGlvbkNvbnRyYWN0CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAABJBdWN0aW9uQ29udHJhY3RLZXkAAAAAC3JwZENvbnRyYWN0CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAAA5SUERDb250cmFjdEtleQAAAAAPY29udHJvbENvbnRyYWN0CQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAABFDb250b2xDb250cmFjdEtleQAAAAATbWF0aENvbnRyYWN0QWRkcmVzcwkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAPTWF0aENvbnRyYWN0S2V5AAAAAApwcmljZUluZGV4CQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0BQAAAA1QcmljZUluZGV4S2V5AAAAAAlpc0Jsb2NrZWQJAQAAABZnZXRCb29sQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0BQAAAAxJc0Jsb2NrZWRLZXkAAAAAGG5vZGVPcmFjbGVQcm92aWRlclB1YktleQkAAlkAAAABCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABBQAAABtOb2RlT3JhY2xlUHJvdmlkZXJQdWJLZXlLZXkAAAAAC2JvbmRBc3NldElkCQACWQAAAAECAAAALEYzaWF4enJ1RmVLdWpmVmZZU1pFa2VqcGpoNjd3bVJmUENSSGlObVdLcDNaAAAAABVkZXByZWNhdGVkQm9uZEFzc2V0SWQJAAJZAAAAAQIAAAAsOTc1YWtaQmZuTWo1MTNVN01aYUhLelFybXNFeDVhRTN3ZFdLVHJIQmhiakYAAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAABHRoaXMAAAAADG1hdGhDb250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAATbWF0aENvbnRyYWN0QWRkcmVzcwAAAAATbnNidFN0YWtpbmdDb250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAWbnNidFN0YWtpbmdDb250cmFjdFN0cgAAAAAMY3VycmVudFByaWNlCQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0BQAAAAhQcmljZUtleQEAAAAbY2hlY2tJc1ZhbGlkTWluU3BvbnNvcmVkRmVlAAAAAQAAAAJ0eAQAAAAOTUlOVFJBTlNGRVJGRUUAAAAAAAABhqAEAAAAFlNwb25zb3JlZEZlZVVwcGVyQm91bmQAAAAAAAAAA+gEAAAAD3JlYWxOZXV0cmlub0ZlZQkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACBQAAAA5NSU5UUkFOU0ZFUkZFRQUAAAAMY3VycmVudFByaWNlBAAAAA5taW5OZXV0cmlub0ZlZQkAAGgAAAACBQAAAA9yZWFsTmV1dHJpbm9GZWUAAAAAAAAAAAIEAAAADm1heE5ldXRyaW5vRmVlCQAAawAAAAMFAAAAD3JlYWxOZXV0cmlub0ZlZQUAAAAWU3BvbnNvcmVkRmVlVXBwZXJCb3VuZAAAAAAAAAAAZAQAAAAIaW5wdXRGZWUJAQAAAAV2YWx1ZQAAAAEIBQAAAAJ0eAAAABRtaW5TcG9uc29yZWRBc3NldEZlZQMDCQAAZwAAAAIFAAAACGlucHV0RmVlBQAAAA5taW5OZXV0cmlub0ZlZQkAAGcAAAACBQAAAA5tYXhOZXV0cmlub0ZlZQUAAAAIaW5wdXRGZWUHCQAAAAAAAAIIBQAAAAJ0eAAAAAdhc3NldElkBQAAAA9uZXV0cmlub0Fzc2V0SWQHAQAAAA9nZXRQcmljZUhpc3RvcnkAAAABAAAABWJsb2NrCQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPY29udHJvbENvbnRyYWN0CQEAAAASZ2V0UHJpY2VIaXN0b3J5S2V5AAAAAQUAAAAFYmxvY2sBAAAAFWdldEhlaWdodFByaWNlQnlJbmRleAAAAAEAAAAFaW5kZXgJAQAAABhnZXROdW1iZXJCeUFkZHJlc3NBbmRLZXkAAAACBQAAAA9jb250cm9sQ29udHJhY3QJAQAAABhnZXRIZWlnaHRQcmljZUJ5SW5kZXhLZXkAAAABBQAAAAVpbmRleAEAAAAWa2V5TG9ja1BhcmFtVXNlckFtb3VudAAAAAEAAAALdXNlckFkZHJlc3MJAAS5AAAAAgkABEwAAAACAgAAAAYlcyVzJXMJAARMAAAAAgIAAAALcGFyYW1CeVVzZXIJAARMAAAAAgUAAAALdXNlckFkZHJlc3MJAARMAAAAAgIAAAAGYW1vdW50BQAAAANuaWwFAAAAA1NFUAAAAAAMc0lkeFN3YXBUeXBlAAAAAAAAAAABAAAAAApzSWR4U3RhdHVzAAAAAAAAAAACAAAAAAxzSWR4SW5BbW91bnQAAAAAAAAAAAMAAAAACXNJZHhQcmljZQAAAAAAAAAABAAAAAAQc0lkeE91dE5ldEFtb3VudAAAAAAAAAAABQAAAAAQc0lkeE91dEZlZUFtb3VudAAAAAAAAAAABgAAAAAPc0lkeFN0YXJ0SGVpZ2h0AAAAAAAAAAAHAAAAABJzSWR4U3RhcnRUaW1lc3RhbXAAAAAAAAAAAAgAAAAADXNJZHhFbmRIZWlnaHQAAAAAAAAAAAkAAAAAEHNJZHhFbmRUaW1lc3RhbXAAAAAAAAAAAAoAAAAAFHNJZHhTZWxmVW5sb2NrSGVpZ2h0AAAAAAAAAAALAAAAABRzSWR4UmFuZFVubG9ja0hlaWdodAAAAAAAAAAADAAAAAAJc0lkeEluZGV4AAAAAAAAAAANAAAAABBzSWR4V2l0aGRyYXdUeElkAAAAAAAAAAAOAAAAAAtzSWR4TWluUmFuZAAAAAAAAAAADwAAAAALc0lkeE1heFJhbmQAAAAAAAAAABABAAAAB3N3YXBLRVkAAAACAAAAC3VzZXJBZGRyZXNzAAAABHR4SWQJAAS5AAAAAgkABEwAAAACAgAAAAQlcyVzCQAETAAAAAIFAAAAC3VzZXJBZGRyZXNzCQAETAAAAAIFAAAABHR4SWQFAAAAA25pbAUAAAADU0VQAQAAAAtzdHJTd2FwREFUQQAAABAAAAAIc3dhcFR5cGUAAAAGc3RhdHVzAAAACGluQW1vdW50AAAABXByaWNlAAAADG91dE5ldEFtb3VudAAAAAxvdXRGZWVBbW91bnQAAAALc3RhcnRIZWlnaHQAAAAOc3RhcnRUaW1lc3RhbXAAAAAJZW5kSGVpZ2h0AAAADGVuZFRpbWVzdGFtcAAAABBzZWxmVW5sb2NrSGVpZ2h0AAAAEHJhbmRVbmxvY2tIZWlnaHQAAAAFaW5kZXgAAAAMd2l0aGRyYXdUeElkAAAAB3JhbmRNaW4AAAAHcmFuZE1heAkABLkAAAACCQAETAAAAAICAAAAHCVzJXMlZCVkJWQlZCVkJWQlZCVkJWQlZCVkJXMJAARMAAAAAgUAAAAIc3dhcFR5cGUJAARMAAAAAgUAAAAGc3RhdHVzCQAETAAAAAIFAAAACGluQW1vdW50CQAETAAAAAIFAAAABXByaWNlCQAETAAAAAIFAAAADG91dE5ldEFtb3VudAkABEwAAAACBQAAAAxvdXRGZWVBbW91bnQJAARMAAAAAgUAAAALc3RhcnRIZWlnaHQJAARMAAAAAgUAAAAOc3RhcnRUaW1lc3RhbXAJAARMAAAAAgUAAAAJZW5kSGVpZ2h0CQAETAAAAAIFAAAADGVuZFRpbWVzdGFtcAkABEwAAAACBQAAABBzZWxmVW5sb2NrSGVpZ2h0CQAETAAAAAIFAAAAEHJhbmRVbmxvY2tIZWlnaHQJAARMAAAAAgUAAAAFaW5kZXgJAARMAAAAAgUAAAAMd2l0aGRyYXdUeElkCQAETAAAAAIFAAAAB3JhbmRNaW4JAARMAAAAAgUAAAAHcmFuZE1heAUAAAADbmlsBQAAAANTRVABAAAAD3BlbmRpbmdTd2FwREFUQQAAAAMAAAAIc3dhcFR5cGUAAAANaW5Bc3NldEFtb3VudAAAABBzZWxmVW5sb2NrSGVpZ2h0CQEAAAALc3RyU3dhcERBVEEAAAAQBQAAAAhzd2FwVHlwZQIAAAAHUEVORElORwkAAaQAAAABBQAAAA1pbkFzc2V0QW1vdW50AgAAAAEwAgAAAAEwAgAAAAEwCQABpAAAAAEFAAAABmhlaWdodAkAAaQAAAABCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAIAAAABMAIAAAABMAkAAaQAAAABBQAAABBzZWxmVW5sb2NrSGVpZ2h0AgAAAAEwAgAAAAEwAgAAAAROVUxMAgAAAAEwAgAAAAEwAQAAAA5maW5pc2hTd2FwREFUQQAAAAcAAAAJZGF0YUFycmF5AAAABXByaWNlAAAADG91dE5ldEFtb3VudAAAAAxvdXRGZWVBbW91bnQAAAAQcmFuZFVubG9ja0hlaWdodAAAAAVpbmRleAAAAAx3aXRoZHJhd1R4SWQJAQAAAAtzdHJTd2FwREFUQQAAABAJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAAAxzSWR4U3dhcFR5cGUCAAAACEZJTklTSEVECQABkQAAAAIFAAAACWRhdGFBcnJheQUAAAAMc0lkeEluQW1vdW50CQABpAAAAAEFAAAABXByaWNlCQABpAAAAAEFAAAADG91dE5ldEFtb3VudAkAAaQAAAABBQAAAAxvdXRGZWVBbW91bnQJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAAA9zSWR4U3RhcnRIZWlnaHQJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAABJzSWR4U3RhcnRUaW1lc3RhbXAJAAGkAAAAAQUAAAAGaGVpZ2h0CQABpAAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wCQABkQAAAAIFAAAACWRhdGFBcnJheQUAAAAUc0lkeFNlbGZVbmxvY2tI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cwUAAAAKbGVhc2VJZEtleQQAAAAOdW5sZWFzZU9yRW1wdHkDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAIb2xkTGVhc2UJAARMAAAAAgkBAAAAC0xlYXNlQ2FuY2VsAAAAAQkBAAAABXZhbHVlAAAAAQUAAAAIb2xkTGVhc2UFAAAAA25pbAUAAAADbmlsBAAAAA5sZWFzZUFtb3VudEtleQkBAAAAEWdldExlYXNlQW1vdW50S2V5AAAAAQUAAAAJbm9kZUluZGV4BAAAAAVsZWFzZQkABEQAAAACCQEAAAAcZ2V0U3Rha2luZ05vZGVBZGRyZXNzQnlJbmRleAAAAAEFAAAACW5vZGVJbmRleAUAAAAObmV3TGVhc2VBbW91bnQJAAROAAAAAgUAAAAOdW5sZWFzZU9yRW1wdHkJAARMAAAAAgUAAAAFbGVhc2UJAARMAAAAAgkBAAAAC0JpbmFyeUVudHJ5AAAAAgUAAAAKbGVhc2VJZEtleQkABDkAAAABBQAAAAVsZWFzZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEWdldExlYXNlQW1vdW50S2V5AAAAAQUAAAAJbm9kZUluZGV4BQAAAA5uZXdMZWFzZUFtb3VudAUAAAADbmlsBQAAAANuaWwBAAAADmNvbW1vbldpdGhkcmF3AAAABAAAAAdhY2NvdW50AAAABWluZGV4AAAACHN3YXBUeElkAAAAAWkEAAAAC3VzZXJBZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAAdhY2NvdW50BAAAABFmZWVNYW5hZ2VyQWRkcmVzcwkBAAAAFWZlZU1hbmFnZXJBZGRyZXNzUkVBRAAAAAAEAAAACWRhdGFBcnJheQkBAAAAEnN3YXBEYXRhRmFpbE9yUkVBRAAAAAIFAAAAB2FjY291bnQFAAAACHN3YXBUeElkBAAAABBzZWxmVW5sb2NrSGVpZ2h0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAABRzSWR4U2VsZlVubG9ja0hlaWdodAQAAAAIc3dhcFR5cGUJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAAAxzSWR4U3dhcFR5cGUEAAAACGluQW1vdW50CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAAAxzSWR4SW5BbW91bnQEAAAACnN3YXBTdGF0dXMJAAGRAAAAAgUAAAAJZGF0YUFycmF5BQAAAApzSWR4U3RhdHVzBAAAAAtzdGFydEhlaWdodAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACWRhdGFBcnJheQUAAAAPc0lkeFN0YXJ0SGVpZ2h0BAAAAApvdXRGZWVQYXJ0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAAA1vdXRGZWVQYXJ0S0VZAAAAAQUAAAAIc3dhcFR5cGUFAAAADkRFRkFVTFRTV0FQRkVFBAAAAAt0b3RhbExvY2tlZAkBAAAAD3RvdGFsTG9ja2VkUkVBRAAAAAEFAAAACHN3YXBUeXBlBAAAABF0b3RhbExvY2tlZEJ5VXNlcgkBAAAAFXRvdGFsTG9ja2VkQnlVc2VyUkVBRAAAAAIFAAAACHN3YXBUeXBlBQAAAAdhY2NvdW50BAAAAAx1bmxvY2tIZWlnaHQJAABkAAAAAgUAAAALc3RhcnRIZWlnaHQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMJAQAAABZiYWxhbmNlTG9ja0ludGVydmFsS0VZAAAAAQUAAAAIc3dhcFR5cGUEAAAAC2luZGV4SGVpZ2h0CQEAAAAVZ2V0SGVpZ2h0UHJpY2VCeUluZGV4AAAAAQUAAAAFaW5kZXgEAAAAD3ByZXZJbmRleEhlaWdodAkBAAAAFWdldEhlaWdodFByaWNlQnlJbmRleAAAAAEJAABlAAAAAgUAAAAFaW5kZXgAAAAAAAAAAAEEAAAADHByaWNlQnlJbmRleAkBAAAAD2dldFByaWNlSGlzdG9yeQAAAAEFAAAAC2luZGV4SGVpZ2h0BAAAABNvdXRBbW91bnRHcm9zc1R1cGxlAwkAAAAAAAACBQAAAAhzd2FwVHlwZQIAAAAFd2F2ZXMJAAUUAAAAAgkBAAAAFmNvbnZlcnRXYXZlc1RvTmV1dHJpbm8AAAACBQAAAAhpbkFtb3VudAUAAAAMcHJpY2VCeUluZGV4BQAAAA9uZXV0cmlub0Fzc2V0SWQDCQAAAAAAAAIFAAAACHN3YXBUeXBlAgAAAAhuZXV0cmlubwkABRQAAAACCQEAAAAWY29udmVydE5ldXRyaW5vVG9XYXZlcwAAAAIFAAAACGluQW1vdW50BQAAAAxwcmljZUJ5SW5kZXgFAAAABHVuaXQJAAACAAAAAQkAASwAAAACAgAAABZVbnN1cHBvcnRlZCBzd2FwIHR5cGUgBQAAAAhzd2FwVHlwZQQAAAAMcGF5b3V0c0FycmF5CQEAAAAJYXBwbHlGZWVzAAAAAggFAAAAE291dEFtb3VudEdyb3NzVHVwbGUAAAACXzEFAAAACm91dEZlZVBhcnQEAAAADG91dE5ldEFtb3VudAkAAZEAAAACBQAAAAxwYXlvdXRzQXJyYXkFAAAADElkeE5ldEFtb3VudAQAAAAMb3V0RmVlQW1vdW50CQABkQAAAAIFAAAADHBheW91dHNBcnJheQUAAAAMSWR4RmVlQW1vdW50AwUAAAAJaXNCbG9ja2VkCQEAAAAVZW1lcmdlbmN5U2h1dGRvd25GQUlMAAAAAAMJAQAAAAIhPQAAAAIFAAAACnN3YXBTdGF0dXMCAAAAB1BFTkRJTkcJAAACAAAAAQIAAAAfc3dhcCBoYXMgYmVlbiBhbHJlYWR5IHByb2Nlc3NlZAMJAABmAAAAAgUAAAAMdW5sb2NrSGVpZ2h0BQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAEXBsZWFzZSB3YWl0IGZvcjogCQABpAAAAAEFAAAADHVubG9ja0hlaWdodAIAAAAfIGJsb2NrIGhlaWdodCB0byB3aXRoZHJhdyBmdW5kcwMDAwkAAGYAAAACBQAAAAVpbmRleAUAAAAKcHJpY2VJbmRleAYJAABmAAAAAgUAAAAMdW5sb2NrSGVpZ2h0BQAAAAtpbmRleEhlaWdodAYDCQEAAAACIT0AAAACBQAAAA9wcmV2SW5kZXhIZWlnaHQAAAAAAAAAAAAJAABnAAAAAgUAAAAPcHJldkluZGV4SGVpZ2h0BQAAAAx1bmxvY2tIZWlnaHQHCQEAAAAOcHJpY2VJbmRleEZBSUwAAAAFBQAAAAVpbmRleAUAAAAKcHJpY2VJbmRleAUAAAALaW5kZXhIZWlnaHQFAAAADHVubG9ja0hlaWdodAUAAAAPcHJldkluZGV4SGVpZ2h0AwkAAGcAAAACAAAAAAAAAAAACQABkQAAAAIFAAAADHBheW91dHNBcnJheQUAAAAOSWR4R3Jvc3NBbW91bnQJAAACAAAAAQIAAAATYmFsYW5jZSBlcXVhbHMgemVybwMDCQAAZgAAAAIAAAAAAAAAAAAFAAAACm91dEZlZVBhcnQGCQAAZwAAAAIFAAAACm91dEZlZVBhcnQFAAAABVBBVUxJCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAHmludmFsaWQgb3V0RmVlUGFydCBjb25maWcgZm9yIAUAAAAIc3dhcFR5cGUCAAAAEiBzd2FwOiBvdXRGZWVQYXJ0PQkAAaQAAAABBQAAAApvdXRGZWVQYXJ0BAAAAAlsZWFzZVBhcnQDAwkAAAAAAAACBQAAAAhzd2FwVHlwZQIAAAAIbmV1dHJpbm8JAABmAAAAAggFAAAAE291dEFtb3VudEdyb3NzVHVwbGUAAAACXzEAAAAAAAAAAAAHCQEAAAAWcHJlcGFyZVVubGVhc2VBbmRMZWFzZQAAAAEIBQAAABNvdXRBbW91bnRHcm9zc1R1cGxlAAAAAl8xBQAAAANuaWwJAAUUAAAAAgkABE4AAAACBQAAAAlsZWFzZVBhcnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABR0b3RhbExvY2tlZEJ5VXNlcktFWQAAAAIFAAAACHN3YXBUeXBlBQAAAAdhY2NvdW50CQAAZQAAAAIFAAAAEXRvdGFsTG9ja2VkQnlVc2VyBQAAAAhpbkFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADnRvdGFsTG9ja2VkS0VZAAAAAQUAAAAIc3dhcFR5cGUJAABlAAAAAgUAAAALdG90YWxMb2NrZWQFAAAACGluQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAC3VzZXJBZGRyZXNzBQAAAAxvdXROZXRBbW91bnQIBQAAABNvdXRBbW91bnRHcm9zc1R1cGxlAAAAAl8yCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAEWZlZU1hbmFnZXJBZGRyZXNzBQAAAAxvdXRGZWVBbW91bnQIBQAAABNvdXRBbW91bnRHcm9zc1R1cGxlAAAAAl8yCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAdzd2FwS0VZAAAAAgUAAAAHYWNjb3VudAUAAAAIc3dhcFR4SWQJAQAAAA5maW5pc2hTd2FwREFUQQAAAAcFAAAACWRhdGFBcnJheQUAAAAMcHJpY2VCeUluZGV4BQAAAAxvdXROZXRBbW91bnQFAAAADG91dEZlZUFtb3VudAUAAAAMdW5sb2NrSGVpZ2h0BQAAAAVpbmRleAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBQAAAANuaWwFAAAABHVuaXQAAAAJAAAAAWkBAAAAC2NvbnN0cnVjdG9yAAAADAAAABJuZXV0cmlub0Fzc2V0SWRQcm0AAAAOYm9uZEFzc2V0SWRQcm0AAAASYXVjdGlvbkNvbnRyYWN0UHJtAAAAFmxpcXVpZGF0aW9uQ29udHJhY3RQcm0AAAAOcnBkQ29udHJhY3RQcm0AAAAbbm9kZU9yYWNsZVByb3ZpZGVyUHViS2V5UHJtAAAAG2JhbGFuY2VXYXZlc0xvY2tJbnRlcnZhbFBybQAAAB5iYWxhbmNlTmV1dHJpbm9Mb2NrSW50ZXJ2YWxQcm0AAAAVbWluV2F2ZXNTd2FwQW1vdW50UHJtAAAAGG1pbk5ldXRyaW5vU3dhcEFtb3VudFBybQAAABVuZXV0cmlub091dEZlZVBhcnRQcm0AAAASd2F2ZXNPdXRGZWVQYXJ0UHJtBAAAAAtjaGVja0NhbGxlcgkBAAAACHRoaXNPbmx5AAAAAQUAAAABaQMJAAAAAAAAAgUAAAALY2hlY2tDYWxsZXIFAAAAC2NoZWNrQ2FsbGVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEk5ldXRyaW5vQXNzZXRJZEtleQUAAAASbmV1dHJpbm9Bc3NldElkUHJtCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADkJvbmRBc3NldElkS2V5BQAAAA5ib25kQXNzZXRJZFBybQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABJBdWN0aW9uQ29udHJhY3RLZXkFAAAAEmF1Y3Rpb25Db250cmFjdFBybQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABZMaXF1aWRhdGlvbkNvbnRyYWN0S2V5BQAAABZsaXF1aWRhdGlvbkNvbnRyYWN0UHJtCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADlJQRENvbnRyYWN0S2V5BQAAAA5ycGRDb250cmFjdFBybQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABtOb2RlT3JhY2xlUHJvdmlkZXJQdWJLZXlLZXkFAAAAG25vZGVPcmFjbGVQcm92aWRlclB1YktleVBybQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAbQmFsYW5jZVdhdmVzTG9ja0ludGVydmFsS2V5BQAAABtiYWxhbmNlV2F2ZXNMb2NrSW50ZXJ2YWxQcm0JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAHkJhbGFuY2VOZXV0cmlub0xvY2tJbnRlcnZhbEtleQUAAAAeYmFsYW5jZU5ldXRyaW5vTG9ja0ludGVydmFsUHJtCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABVNaW5XYXZlc1N3YXBBbW91bnRLZXkFAAAAFW1pbldhdmVzU3dhcEFtb3VudFBybQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAYTWluTmV1dHJpbm9Td2FwQW1vdW50S2V5BQAAABhtaW5OZXV0cmlub1N3YXBBbW91bnRQcm0JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFU5ldXRyaW5vT3V0RmVlUGFydEtleQUAAAAVbmV1dHJpbm9PdXRGZWVQYXJ0UHJtCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJXYXZlc091dEZlZVBhcnRLZXkFAAAAEndhdmVzT3V0RmVlUGFydFBybQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA1jb25zdHJ1Y3RvclYyAAAAAwAAAAxtYXRoQ29udHJhY3QAAAATbnNidFN0YWtpbmdDb250cmFjdAAAABRzd2Fwc1RpbWVmcmFtZUJsb2NrcwQAAAALY2hlY2tDYWxsZXIJAQAAAAh0aGlzT25seQAAAAEFAAAAAWkDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9NYXRoQ29udHJhY3RLZXkFAAAADG1hdGhDb250cmFjdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABZOc2J0U3Rha2luZ0NvbnRyYWN0S2V5BQAAABNuc2J0U3Rha2luZ0NvbnRyYWN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARc3dhcHNUaW1lZnJhbWVLRVkAAAAABQAAABRzd2Fwc1RpbWVmcmFtZUJsb2NrcwUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAApjb21tb25Td2FwAAAABAAAAAhzd2FwVHlwZQAAAAlwbXRBbW91bnQAAAAOdXNlckFkZHJlc3NTdHIAAAAGdHhJZDU4BAAAABVjaGVja1RoaXNPcmlnaW5DYWxsZXIDCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAAgUGVybWlzc2lvbiBkZW5pZWQuIFdyb25nIGNhbGxlci4GAwkAAAAAAAACBQAAABVjaGVja1RoaXNPcmlnaW5DYWxsZXIFAAAAFWNoZWNrVGhpc09yaWdpbkNhbGxlcgQAAAALY2hlY2tDYWxsZXIDCQEAAAACIT0AAAACCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAADnVzZXJBZGRyZXNzU3RyCQAAAgAAAAECAAAAJ1Blcm1pc3Npb24gZGVuaWVkLiBXcm9uZyBvcmlnaW4gY2FsbGVyLgYDCQAAAAAAAAIFAAAAC2NoZWNrQ2FsbGVyBQAAAAtjaGVja0NhbGxlcgQAAAANbWluU3dhcEFtb3VudAkBAAAAEW1pblN3YXBBbW91bnRSRUFEAAAAAQUAAAAIc3dhcFR5cGUEAAAAC3RvdGFsTG9ja2VkCQEAAAAPdG90YWxMb2NrZWRSRUFEAAAAAQUAAAAIc3dhcFR5cGUEAAAAEXRvdGFsTG9ja2VkQnlVc2VyCQEAAAAVdG90YWxMb2NrZWRCeVVzZXJSRUFEAAAAAgUAAAAIc3dhcFR5cGUFAAAADnVzZXJBZGRyZXNzU3RyBAAAAAtub2RlQWRkcmVzcwkBAAAAFWdldFN0YWtpbmdOb2RlQnlJbmRleAAAAAEAAAAAAAAAAAAEAAAAFmJhbGFuY2VMb2NrTWF4SW50ZXJ2YWwDCQAAAAAAAAIFAAAAC25vZGVBZGRyZXNzBQAAAA51c2VyQWRkcmVzc1N0cgkBAAAAG25vZGVCYWxhbmNlTG9ja0ludGVydmFsUkVBRAAAAAAJAQAAABdiYWxhbmNlTG9ja0ludGVydmFsUkVBRAAAAAEFAAAACHN3YXBUeXBlBAAAABBzZWxmVW5sb2NrSGVpZ2h0CQAAZAAAAAIFAAAABmhlaWdodAUAAAAWYmFsYW5jZUxvY2tNYXhJbnRlcnZhbAQAAAALYW1vdW50Q2hlY2sDCQAAZgAAAAIFAAAADW1pblN3YXBBbW91bnQFAAAACXBtdEFtb3VudAkBAAAAEW1pblN3YXBBbW91bnRGQUlMAAAAAgUAAAAIc3dhcFR5cGUFAAAADW1pblN3YXBBbW91bnQGAwkAAAAAAAACBQAAAAthbW91bnRDaGVjawUAAAALYW1vdW50Q2hlY2sEAAAADmxhc3RTd2FwSGVpZ2h0CQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAaa2V5VXNlckxhc3RRdWlja1N3YXBIZWlnaHQAAAABBQAAAA51c2VyQWRkcmVzc1N0cgQAAAAUc3dhcHNUaW1lZnJhbWVCbG9ja3MJAQAAABJzd2Fwc1RpbWVmcmFtZVJFQUQAAAAABAAAAA91c2VyR05zYnRBbW91bnQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAATbnNidFN0YWtpbmdDb250cmFjdAkBAAAAFmtleUxvY2tQYXJhbVVzZXJBbW91bnQAAAABBQAAAA51c2VyQWRkcmVzc1N0cgAAAAAAAAAAAAQAAAATcXVpY2tTd2FwTGltaXRUb3RhbAkBAAAABWFzSW50AAAAAQkAA/wAAAAEBQAAAAxtYXRoQ29udHJhY3QCAAAAEWNhbGNTd2FwTGltaXRNQVRICQAETAAAAAIFAAAAD3VzZXJHTnNidEFtb3VudAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAE3F1aWNrU3dhcExpbWl0VG90YWwFAAAAE3F1aWNrU3dhcExpbWl0VG90YWwEAAAADHByaWNlQnlJbmRleAkBAAAAD2dldFByaWNlSGlzdG9yeQAAAAEJAQAAABVnZXRIZWlnaHRQcmljZUJ5SW5kZXgAAAABBQAAAApwcmljZUluZGV4BAAAAA5zd2FwVXNkblZvbHVtZQMJAAAAAAAAAgUAAAAIc3dhcFR5cGUCAAAACG5ldXRyaW5vBQAAAAlwbXRBbW91bnQJAQAAABZjb252ZXJ0V2F2ZXNUb05ldXRyaW5vAAAAAgUAAAAJcG10QW1vdW50BQAAAAxwcmljZUJ5SW5kZXgDBQAAAAlpc0Jsb2NrZWQJAQAAABVlbWVyZ2VuY3lTaHV0ZG93bkZBSUwAAAAABAAAAAlsZWFzZVBhcnQDCQAAAAAAAAIFAAAACHN3YXBUeXBlAgAAAAV3YXZlcwkBAAAAFnByZXBhcmVVbmxlYXNlQW5kTGVhc2UAAAABAAAAAAAAAAAABQAAAANuaWwJAAUUAAAAAgkABE4AAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAda2V5UXVpY2tTd2FwVXNlclNwZW50SW5QZXJpb2QAAAABBQAAAA51c2VyQWRkcmVzc1N0cgUAAAAOc3dhcFVzZG5Wb2x1bWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABprZXlVc2VyTGFzdFF1aWNrU3dhcEhlaWdodAAAAAEFAAAADnVzZXJBZGRyZXNzU3RyBQAAAAZoZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABR0b3RhbExvY2tlZEJ5VXNlcktFWQAAAAIFAAAACHN3YXBUeXBlBQAAAA51c2VyQWRkcmVzc1N0cgkAAGQAAAACBQAAABF0b3RhbExvY2tlZEJ5VXNlcgUAAAAJcG10QW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAYZ2V0QmFsYW5jZVVubG9ja0Jsb2NrS2V5AAAAAQUAAAAOdXNlckFkZHJl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bnRyYWN0AgAAABZjYWxjTmV1dGlub01ldHJpY3NNQVRIBQAAAANuaWwFAAAAA25pbAQAAAAHcmVzZXJ2ZQkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MAAAAAAAAAAAMEAAAADm5ldXRyaW5vU3VwcGx5CQEAAAAFYXNJbnQAAAABCQABkQAAAAIFAAAAD25ldXRyaW5vTWV0cmljcwAAAAAAAAAABQQAAAAHc3VycGx1cwkBAAAABWFzSW50AAAAAQkAAZEAAAACBQAAAA9uZXV0cmlub01ldHJpY3MAAAAAAAAAAAYEAAAACm5zYnRTdXBwbHkJAQAAAAVhc0ludAAAAAEJAAGRAAAAAgUAAAAPbmV1dHJpbm9NZXRyaWNzAAAAAAAAAAAJBAAAAA9hdWN0aW9uTkJBbW91bnQJAABlAAAAAgUAAAAObmV1dHJpbm9TdXBwbHkJAAPwAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAPYXVjdGlvbkNvbnRyYWN0BQAAAAtib25kQXNzZXRJZAQAAAAWc3VycGx1c1dpdGhMaXF1aWRhdGlvbgkAAGUAAAACBQAAAAdzdXJwbHVzCQAD8AAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAAE2xpcXVpZGF0aW9uQ29udHJhY3QFAAAAD25ldXRyaW5vQXNzZXRJZAMFAAAACWlzQmxvY2tlZAkAAAIAAAABAgAAAFpjb250cmFjdCBpcyBibG9ja2VkIGJ5IEVNRVJHRU5DWSBTSFVURE9XTiBhY3Rpb25zIHVudGlsbCByZWFjdGl2YXRpb24gYnkgZW1lcmdlbmN5IG9yYWNsZXMDCQAAZgAAAAIFAAAAD2F1Y3Rpb25OQkFtb3VudAkAAGgAAAACAAAAAAAAAAABBQAAAAVQQVVMSQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAAA9hdWN0aW9uQ29udHJhY3QFAAAAD2F1Y3Rpb25OQkFtb3VudAUAAAALYm9uZEFzc2V0SWQFAAAAA25pbAMJAABnAAAAAgUAAAAWc3VycGx1c1dpdGhMaXF1aWRhdGlvbgkAAGgAAAAC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", "chainId": 84, "height": 1949198, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: AD1F79BEXKhLhAgYsNJDUNC2HSzGVkgjCpEdTxfxfwck Next: FCtNwUX7qPaJ17n29RghudgJwKS9sU8Gb4pgUvZw1mvB Diff:
OldNewDifferences
467467 then {
468468 let df = a(aw(cZ))
469469 let cX = ap()
470- if ((cX > (height - df)))
471- then throw(("You have exceeded swap limit for 24h! Next allowed swap height is " + toString((df + cX))))
472- else {
473- let dg = valueOrElse(getInteger(ba, bm(cZ)), 0)
474- let dh = o(invoke(aZ, "calcSwapLimitMATH", [dg], nil))
475- if ((dh == dh))
476- then {
477- let cG = bk(bl(aJ))
478- let di = if ((ah == "neutrino"))
479- then cY
480- else aB(cY, cG)
481- if ((di > dh))
482- then throw(((("You have exceeded your swap limit! Requested: " + toString(di)) + ", available: ") + toString(dh)))
483- else if (aU)
484- then aH()
485- else {
486- let cJ = if ((ah == "waves"))
487- then cr(0)
488- else nil
489- $Tuple2(([IntegerEntry(au(cZ), di), IntegerEntry(aw(cZ), height), IntegerEntry(aj(ah, cZ), (cF + cY)), IntegerEntry(ab(cZ), bO), IntegerEntry(ai(ah), (cE + cY)), StringEntry(bD(cZ, da), bT(ah, cY, bO))] ++ cJ), unit)
490- }
470+ let dg = valueOrElse(getInteger(ba, bm(cZ)), 0)
471+ let dh = o(invoke(aZ, "calcSwapLimitMATH", [dg], nil))
472+ if ((dh == dh))
473+ then {
474+ let cG = bk(bl(aJ))
475+ let di = if ((ah == "neutrino"))
476+ then cY
477+ else aB(cY, cG)
478+ if (aU)
479+ then aH()
480+ else {
481+ let cJ = if ((ah == "waves"))
482+ then cr(0)
483+ else nil
484+ $Tuple2(([IntegerEntry(au(cZ), di), IntegerEntry(aw(cZ), height), IntegerEntry(aj(ah, cZ), (cF + cY)), IntegerEntry(ab(cZ), bO), IntegerEntry(ai(ah), (cE + cY)), StringEntry(bD(cZ, da), bT(ah, cY, bO))] ++ cJ), unit)
491485 }
492- else throw("Strict value is not equal to itself.")
493486 }
487+ else throw("Strict value is not equal to itself.")
494488 }
495489 else throw("Strict value is not equal to itself.")
496490 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrElse(getInteger(this, b), 0)
55
66
77 func c (b) = valueOrElse(getString(this, b), "")
88
99
1010 func d (b) = valueOrElse(getBoolean(this, b), false)
1111
1212
1313 func e (f,b) = valueOrElse(getInteger(addressFromStringValue(f), b), 0)
1414
1515
1616 func g (f,b) = valueOrElse(getString(addressFromStringValue(f), b), "")
1717
1818
1919 func h (f,b) = valueOrElse(getBoolean(addressFromStringValue(f), b), false)
2020
2121
2222 func i (j) = {
2323 let k = j
2424 if ($isInstanceOf(k, "List[Any]"))
2525 then {
2626 let l = k
2727 l
2828 }
2929 else throw("fail to cast into List[Any]")
3030 }
3131
3232
3333 func m (j) = {
3434 let k = j
3535 if ($isInstanceOf(k, "String"))
3636 then {
3737 let n = k
3838 n
3939 }
4040 else throw("fail to cast into String")
4141 }
4242
4343
4444 func o (j) = {
4545 let k = j
4646 if ($isInstanceOf(k, "Int"))
4747 then {
4848 let p = k
4949 p
5050 }
5151 else throw("fail to cast into Int")
5252 }
5353
5454
5555 let q = ["ExtEEK19nmKj9mCpnWyvEEJFYATLMcVEMvohhUHkyHNm", "Ev5py5FfBQX9cZpYKnfQrTB49Byf8QmpZWeDVRim4yV7", "DUuuLjXu98nBwZc7fqwCTjtA3nnRwgTbkMSr5SU2NmDR", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
5656
5757 let r = "__"
5858
5959 let s = 100000000
6060
6161 let t = 1000000
6262
6363 let u = 1000000
6464
6565 let v = 20000
6666
6767 let w = 0
6868
6969 let x = 1
7070
7171 let y = 2
7272
7373 let z = "neutrino_asset_id"
7474
7575 let A = "bond_asset_id"
7676
7777 let B = "auction_contract"
7878
7979 let C = "nsbtStakingContract"
8080
8181 let D = "liquidation_contract"
8282
8383 let E = "rpd_contract"
8484
8585 let F = "control_contract"
8686
8787 let G = "math_contract"
8888
8989 let H = "balance_waves_lock_interval"
9090
9191 let I = "balance_neutrino_lock_interval"
9292
9393 let J = "min_waves_swap_amount"
9494
9595 let K = "min_neutrino_swap_amount"
9696
9797 let L = "node_oracle_provider"
9898
9999 let M = "neutrinoOut_swap_feePart"
100100
101101 let N = "wavesOut_swap_feePart"
102102
103103 let O = "fees_manager_address"
104104
105105 func P () = "%s__quickSwapLimitDuration"
106106
107107
108108 let Q = "price"
109109
110110 let R = "price_index"
111111
112112 let S = "is_blocked"
113113
114114 func T (U) = ((Q + "_") + toString(U))
115115
116116
117117 func V (W) = ((R + "_") + toString(W))
118118
119119
120120 func X (Y) = c(makeString(["%s%d%s", "lease", toString(Y), "nodeAddress"], r))
121121
122122
123123 func Z (Y) = addressFromStringValue(X(Y))
124124
125125
126126 func aa () = valueOrElse(getInteger(this, makeString(["%s%s", "lease", "sponsorshipWavesReserve"], r)), (1000 * s))
127127
128128
129129 func ab (ac) = ("balance_unlock_block_" + ac)
130130
131131
132132 func ad (ae) = makeString(["%s%d%s", "lease", toString(ae), "id"], r)
133133
134134
135135 func af (ae) = makeString(["%s%d%s", "lease", toString(ae), "amount"], r)
136136
137137
138138 func ag (ah) = (("min_" + ah) + "_swap_amount")
139139
140140
141141 func ai (ah) = ("balance_lock_" + ah)
142142
143143
144144 func aj (ah,ac) = makeString(["balance_lock", ah, ac], "_")
145145
146146
147147 func ak (ah) = (("balance_" + ah) + "_lock_interval")
148148
149149
150150 func al () = "balance_node_lock_interval"
151151
152152
153153 func am (ah) = (ah + "Out_swap_feePart")
154154
155155
156156 func an () = "swaps_timeframe"
157157
158158
159159 func ao (ah) = valueOrElse(getInteger(this, ag(ah)), 0)
160160
161161
162162 func ap () = valueOrElse(getInteger(this, an()), 1440)
163163
164164
165165 func aq (ah) = valueOrElse(getInteger(this, ai(ah)), 0)
166166
167167
168168 func ar (ah,ac) = valueOrElse(getInteger(this, aj(ah, ac)), 0)
169169
170170
171171 func as (ah) = valueOrElse(getInteger(this, ak(ah)), 1440)
172172
173173
174174 func at () = valueOrElse(getInteger(this, al()), 1)
175175
176176
177177 func au (av) = makeString(["%s%s", "quickSwapUserSpentInPeriod", av], r)
178178
179179
180180 func aw (av) = makeString(["%s%s", "userLastQuickSwapHeight", av], r)
181181
182182
183183 func ax () = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(this, O), (O + " is not specified"))), (O + " invalid address format"))
184184
185185
186186 func ay (az,aA) = fraction(fraction(az, u, aA), s, t)
187187
188188
189189 func aB (az,aA) = fraction(fraction(az, aA, u), t, s)
190190
191191
192192 func aC (az,aA) = aB(az, aA)
193193
194194
195195 func aD (aE) = split(aE, ",")
196196
197197
198198 func aF (ah,aG) = throw(((("The specified amount in " + ah) + " swap is less than the required minimum of ") + toString(aG)))
199199
200200
201201 func aH () = throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
202202
203203
204204 func aI (W,aJ,aK,aL,aM) = throw(((((((((("invalid price history index: index=" + toString(W)) + " priceIndex=") + toString(aJ)) + " indexHeight=") + toString(aK)) + " unlockHeight=") + toString(aL)) + " prevIndexHeight=") + toString(aM)))
205205
206206
207207 let aN = c(D)
208208
209209 let aO = c(C)
210210
211211 let aP = fromBase58String(c(z))
212212
213213 let aQ = c(B)
214214
215215 let aR = c(E)
216216
217217 let aS = c(F)
218218
219219 let aT = c(G)
220220
221221 let aJ = e(aS, R)
222222
223223 let aU = h(aS, S)
224224
225225 let aV = fromBase58String(c(L))
226226
227227 let aW = fromBase58String("F3iaxzruFeKujfVfYSZEkejpjh67wmRfPCRHiNmWKp3Z")
228228
229229 let aX = fromBase58String("975akZBfnMj513U7MZaHKzQrmsEx5aE3wdWKTrHBhbjF")
230230
231231 let aY = this
232232
233233 let aZ = addressFromStringValue(aT)
234234
235235 let ba = addressFromStringValue(aO)
236236
237237 let bb = e(aS, Q)
238238
239239 func bc (bd) = {
240240 let be = 100000
241241 let bf = 1000
242242 let bg = aB(be, bb)
243243 let bh = (bg * 2)
244244 let bi = fraction(bg, bf, 100)
245245 let bj = value(bd.minSponsoredAssetFee)
246246 if (if ((bj >= bh))
247247 then (bi >= bj)
248248 else false)
249249 then (bd.assetId == aP)
250250 else false
251251 }
252252
253253
254254 func bk (U) = e(aS, T(U))
255255
256256
257257 func bl (W) = e(aS, V(W))
258258
259259
260260 func bm (av) = makeString(["%s%s%s", "paramByUser", av, "amount"], r)
261261
262262
263263 let bn = 1
264264
265265 let bo = 2
266266
267267 let bp = 3
268268
269269 let bq = 4
270270
271271 let br = 5
272272
273273 let bs = 6
274274
275275 let bt = 7
276276
277277 let bu = 8
278278
279279 let bv = 9
280280
281281 let bw = 10
282282
283283 let bx = 11
284284
285285 let by = 12
286286
287287 let bz = 13
288288
289289 let bA = 14
290290
291291 let bB = 15
292292
293293 let bC = 16
294294
295295 func bD (av,bE) = makeString(["%s%s", av, bE], r)
296296
297297
298298 func bF (ah,bG,bH,aA,bI,bJ,bK,bL,bM,bN,bO,bP,W,bQ,bR,bS) = makeString(["%s%s%d%d%d%d%d%d%d%d%d%d%d%s", ah, bG, bH, aA, bI, bJ, bK, bL, bM, bN, bO, bP, W, bQ, bR, bS], r)
299299
300300
301301 func bT (ah,bU,bO) = bF(ah, "PENDING", toString(bU), "0", "0", "0", toString(height), toString(lastBlock.timestamp), "0", "0", toString(bO), "0", "0", "NULL", "0", "0")
302302
303303
304304 func bV (bW,aA,bI,bJ,bP,W,bQ) = bF(bW[bn], "FINISHED", bW[bp], toString(aA), toString(bI), toString(bJ), bW[bt], bW[bu], toString(height), toString(lastBlock.timestamp), bW[bx], toString(bP), toString(W), bQ, bW[bB], bW[bC])
305305
306306
307307 func bX (av,bY) = {
308308 let bZ = bD(av, bY)
309309 split(valueOrErrorMessage(getString(this, bZ), ("no swap data for " + bZ)), r)
310310 }
311311
312312
313313 func ca (cb,cc) = {
314314 let cd = fraction(cb, cc, t)
315315 [(cb - cd), cd, cb]
316316 }
317317
318318
319319 func ce (cf) = if ((0 > cf))
320320 then -(cf)
321321 else cf
322322
323323
324324 func cg (ch) = {
325325 let ci = ((wavesBalance(aY).available - ch) - aa())
326326 let cj = a(af(0))
327327 let ck = a(af(1))
328328 let cl = (ci + cj)
329329 let cm = (ci + ck)
330330 if (if ((cl > 0))
331331 then true
332332 else (cm > 0))
333333 then {
334334 let cn = ce((cl - ck))
335335 let co = ce((cm - cj))
336336 if ((co >= cn))
337337 then $Tuple2(0, cl)
338338 else $Tuple2(1, cm)
339339 }
340340 else $Tuple2(-1, 0)
341341 }
342342
343343
344344 func cp (cq) = if ((cq.caller != this))
345345 then throw("Permission denied: this contract only allowed")
346346 else true
347347
348348
349349 func cr (ch) = {
350350 let cs = cg(ch)
351351 let ae = cs._1
352352 let ct = cs._2
353353 if ((ct > 0))
354354 then {
355355 let cu = ad(ae)
356356 let cv = getBinary(this, cu)
357357 let cw = if (isDefined(cv))
358358 then [LeaseCancel(value(cv))]
359359 else nil
360360 let cx = af(ae)
361361 let cy = Lease(Z(ae), ct)
362362 (cw ++ [cy, BinaryEntry(cu, calculateLeaseId(cy)), IntegerEntry(af(ae), ct)])
363363 }
364364 else nil
365365 }
366366
367367
368368 func cz (cA,W,bY,cq) = {
369369 let av = addressFromStringValue(cA)
370370 let cB = ax()
371371 let bW = bX(cA, bY)
372372 let bO = parseIntValue(bW[bx])
373373 let ah = bW[bn]
374374 let bH = parseIntValue(bW[bp])
375375 let cC = bW[bo]
376376 let bK = parseIntValue(bW[bt])
377377 let cD = valueOrElse(getInteger(this, am(ah)), v)
378378 let cE = aq(ah)
379379 let cF = ar(ah, cA)
380380 let aL = (bK + getIntegerValue(this, ak(ah)))
381381 let aK = bl(W)
382382 let aM = bl((W - 1))
383383 let cG = bk(aK)
384384 let cH = if ((ah == "waves"))
385385 then $Tuple2(aB(bH, cG), aP)
386386 else if ((ah == "neutrino"))
387387 then $Tuple2(ay(bH, cG), unit)
388388 else throw(("Unsupported swap type " + ah))
389389 let cI = ca(cH._1, cD)
390390 let bI = cI[w]
391391 let bJ = cI[x]
392392 if (aU)
393393 then aH()
394394 else if ((cC != "PENDING"))
395395 then throw("swap has been already processed")
396396 else if ((aL > height))
397397 then throw((("please wait for: " + toString(aL)) + " block height to withdraw funds"))
398398 else if (if (if ((W > aJ))
399399 then true
400400 else (aL > aK))
401401 then true
402402 else if ((aM != 0))
403403 then (aM >= aL)
404404 else false)
405405 then aI(W, aJ, aK, aL, aM)
406406 else if ((0 >= cI[y]))
407407 then throw("balance equals zero")
408408 else if (if ((0 > cD))
409409 then true
410410 else (cD >= t))
411411 then throw(((("invalid outFeePart config for " + ah) + " swap: outFeePart=") + toString(cD)))
412412 else {
413413 let cJ = if (if ((ah == "neutrino"))
414414 then (cH._1 > 0)
415415 else false)
416416 then cr(cH._1)
417417 else nil
418418 $Tuple2((cJ ++ [IntegerEntry(aj(ah, cA), (cF - bH)), IntegerEntry(ai(ah), (cE - bH)), ScriptTransfer(av, bI, cH._2), ScriptTransfer(cB, bJ, cH._2), StringEntry(bD(cA, bY), bV(bW, cG, bI, bJ, aL, W, toBase58String(cq.transactionId)))]), unit)
419419 }
420420 }
421421
422422
423423 @Callable(cq)
424424 func constructor (cK,cL,cM,cN,cO,cP,cQ,cR,cS,cT,cU,cV) = {
425425 let cW = cp(cq)
426426 if ((cW == cW))
427427 then [StringEntry(z, cK), StringEntry(A, cL), StringEntry(B, cM), StringEntry(D, cN), StringEntry(E, cO), StringEntry(L, cP), IntegerEntry(H, cQ), IntegerEntry(I, cR), IntegerEntry(J, cS), IntegerEntry(K, cT), IntegerEntry(M, cU), IntegerEntry(N, cV)]
428428 else throw("Strict value is not equal to itself.")
429429 }
430430
431431
432432
433433 @Callable(cq)
434434 func constructorV2 (aZ,ba,cX) = {
435435 let cW = cp(cq)
436436 if ((cW == cW))
437437 then [StringEntry(G, aZ), StringEntry(C, ba), IntegerEntry(an(), cX)]
438438 else throw("Strict value is not equal to itself.")
439439 }
440440
441441
442442
443443 @Callable(cq)
444444 func commonSwap (ah,cY,cZ,da) = {
445445 let db = if ((cq.caller != this))
446446 then throw("Permission denied. Wrong caller.")
447447 else true
448448 if ((db == db))
449449 then {
450450 let cW = if ((cq.originCaller != addressFromStringValue(cZ)))
451451 then throw("Permission denied. Wrong origin caller.")
452452 else true
453453 if ((cW == cW))
454454 then {
455455 let aG = ao(ah)
456456 let cE = aq(ah)
457457 let cF = ar(ah, cZ)
458458 let dc = X(0)
459459 let dd = if ((dc == cZ))
460460 then at()
461461 else as(ah)
462462 let bO = (height + dd)
463463 let de = if ((aG > cY))
464464 then aF(ah, aG)
465465 else true
466466 if ((de == de))
467467 then {
468468 let df = a(aw(cZ))
469469 let cX = ap()
470- if ((cX > (height - df)))
471- then throw(("You have exceeded swap limit for 24h! Next allowed swap height is " + toString((df + cX))))
472- else {
473- let dg = valueOrElse(getInteger(ba, bm(cZ)), 0)
474- let dh = o(invoke(aZ, "calcSwapLimitMATH", [dg], nil))
475- if ((dh == dh))
476- then {
477- let cG = bk(bl(aJ))
478- let di = if ((ah == "neutrino"))
479- then cY
480- else aB(cY, cG)
481- if ((di > dh))
482- then throw(((("You have exceeded your swap limit! Requested: " + toString(di)) + ", available: ") + toString(dh)))
483- else if (aU)
484- then aH()
485- else {
486- let cJ = if ((ah == "waves"))
487- then cr(0)
488- else nil
489- $Tuple2(([IntegerEntry(au(cZ), di), IntegerEntry(aw(cZ), height), IntegerEntry(aj(ah, cZ), (cF + cY)), IntegerEntry(ab(cZ), bO), IntegerEntry(ai(ah), (cE + cY)), StringEntry(bD(cZ, da), bT(ah, cY, bO))] ++ cJ), unit)
490- }
470+ let dg = valueOrElse(getInteger(ba, bm(cZ)), 0)
471+ let dh = o(invoke(aZ, "calcSwapLimitMATH", [dg], nil))
472+ if ((dh == dh))
473+ then {
474+ let cG = bk(bl(aJ))
475+ let di = if ((ah == "neutrino"))
476+ then cY
477+ else aB(cY, cG)
478+ if (aU)
479+ then aH()
480+ else {
481+ let cJ = if ((ah == "waves"))
482+ then cr(0)
483+ else nil
484+ $Tuple2(([IntegerEntry(au(cZ), di), IntegerEntry(aw(cZ), height), IntegerEntry(aj(ah, cZ), (cF + cY)), IntegerEntry(ab(cZ), bO), IntegerEntry(ai(ah), (cE + cY)), StringEntry(bD(cZ, da), bT(ah, cY, bO))] ++ cJ), unit)
491485 }
492- else throw("Strict value is not equal to itself.")
493486 }
487+ else throw("Strict value is not equal to itself.")
494488 }
495489 else throw("Strict value is not equal to itself.")
496490 }
497491 else throw("Strict value is not equal to itself.")
498492 }
499493 else throw("Strict value is not equal to itself.")
500494 }
501495
502496
503497
504498 @Callable(cq)
505499 func swapWavesToNeutrino () = {
506500 let dj = value(cq.payments[0])
507501 if (isDefined(dj.assetId))
508502 then throw("Only Waves token is allowed for swapping.")
509503 else {
510504 let av = toString(cq.caller)
511505 let da = toBase58String(cq.transactionId)
512506 let dk = invoke(this, "commonSwap", ["waves", dj.amount, av, da], nil)
513507 if ((dk == dk))
514508 then nil
515509 else throw("Strict value is not equal to itself.")
516510 }
517511 }
518512
519513
520514
521515 @Callable(cq)
522516 func swapNeutrinoToWaves () = {
523517 let dj = value(cq.payments[0])
524518 if ((dj.assetId != aP))
525519 then throw("Only appropriate Neutrino tokens are allowed for swapping.")
526520 else {
527521 let av = toString(cq.caller)
528522 let da = toBase58String(cq.transactionId)
529523 let dk = invoke(this, "commonSwap", ["neutrino", dj.amount, av, da], nil)
530524 if ((dk == dk))
531525 then nil
532526 else throw("Strict value is not equal to itself.")
533527 }
534528 }
535529
536530
537531
538532 @Callable(cq)
539533 func withdraw (cA,W,bY) = cz(cA, W, bY, cq)
540534
541535
542536
543537 @Callable(cq)
544538 func transferToAuction () = {
545539 let dl = i(invoke(aZ, "calcNeutinoMetricsMATH", nil, nil))
546540 let dm = o(dl[3])
547541 let dn = o(dl[5])
548542 let do = o(dl[6])
549543 let dp = o(dl[9])
550544 let dq = (dn - assetBalance(addressFromStringValue(aQ), aW))
551545 let dr = (do - assetBalance(addressFromStringValue(aN), aP))
552546 if (aU)
553547 then throw("contract is blocked by EMERGENCY SHUTDOWN actions untill reactivation by emergency oracles")
554548 else if ((dq > (1 * t)))
555549 then [ScriptTransfer(addressFromStringValue(aQ), dq, aW)]
556550 else if ((dr >= (1 * t)))
557551 then [ScriptTransfer(addressFromStringValue(aN), dr, aP)]
558552 else throw(((((((("bond were generated or do not need it. Deficit:" + toString(dq)) + "|") + toString(0)) + ". Surplus:") + toString(dr)) + "|") + toString(do)))
559553 }
560554
561555
562556
563557 @Callable(cq)
564558 func transferUsdnToUser (az,ds) = if ((cq.caller != addressFromStringValue(aQ)))
565559 then throw("Only auction contract is authorized")
566560 else [ScriptTransfer(addressFromStringValue(ds), az, aP)]
567561
568562
569563
570564 @Callable(cq)
571565 func acceptWaves () = if ((cq.caller != addressFromStringValue(aQ)))
572566 then throw("Currently only auction contract is allowed to call")
573567 else $Tuple2(cr(0), "success")
574568
575569
576570 @Verifier(bd)
577571 func dt () = {
578572 let du = toBase58String(bd.id)
579573 let dv = ((((if (sigVerify(bd.bodyBytes, bd.proofs[0], fromBase58String(q[0])))
580574 then 1
581575 else 0) + (if (sigVerify(bd.bodyBytes, bd.proofs[1], fromBase58String(q[1])))
582576 then 1
583577 else 0)) + (if (sigVerify(bd.bodyBytes, bd.proofs[2], fromBase58String(q[2])))
584578 then 1
585579 else 0)) + (if (sigVerify(bd.bodyBytes, bd.proofs[3], fromBase58String(q[3])))
586580 then 2
587581 else 0))
588582 let k = bd
589583 if ($isInstanceOf(k, "SponsorFeeTransaction"))
590584 then {
591585 let dw = k
592586 if (bc(dw))
593587 then (dv >= 3)
594588 else false
595589 }
596590 else (dv >= 3)
597591 }
598592

github/deemru/w8io/c3f4982 
95.96 ms