tx · 6mSZZAHTeXFqgB2ysAAvxZXsLPzWN54GgNcEwZgxykTQ

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.06.16 18:25 [1573090] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "6mSZZAHTeXFqgB2ysAAvxZXsLPzWN54GgNcEwZgxykTQ", "fee": 1400000, "feeAssetId": null, "timestamp": 1623857122342, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "4YBQTc4WBm5LY5qiBAFEN1k7RN6wCDcCBZLDondT2YwcTzQAh9F9scQYExEsPB6g71y6LFvQSShyqK7HgE1rRKuo" ], "script": "base64:AAIEAAAAAAAAAB0IAhIAEgASAwoBARIAEgASCAoGGBEYEQEBEgASAAAAAE4AAAAADGFkbWluUHViS2V5MQEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MgEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MwEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAARYWRtaW5QdWJLZXlXYWxsZXQBAAAAID53WmVaVsn8KVcztbwNRS3KzKf4hZION3dY82IVUhQSAAAAAAlrZXlBY3RpdmUCAAAABmFjdGl2ZQAAAAAIa2V5Q2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUExvY2tlZAIAAAAMX1NXT1BfYW1vdW50AAAAABRrZXlVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEmtleVRvdGFsU1dPUExvY2tlZAIAAAARdG90YWxfU1dPUF9hbW91bnQAAAAAEmtVc2VyVG90YWxWb3RlU1dPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAIAAAATX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAC2tleVZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAADWtleU9wdGlvbk5hbWUCAAAADF9vcHRpb25fbmFtZQAAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQCAAAADF9zdGFydEhlaWdodAAAAAAPa2V5Vm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50AgAAAB50b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX2N1cnJlbnQAAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAfdG90YWxfcmV3YXJkX3Blcl9ibG9ja19wcmV2aW91cwAAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AgAAACVyZXdhcmRfdXBkYXRlX2hlaWdodF9maXJzdF9wYWdpbmF0aW9uAAAAABVrZXlOb1ZvdGluZ0Zvck5ld1Bvb2wCAAAACF92b3RlX25vAAAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAgAAAAlfdm90ZV95ZXMAAAAAG2tleUFtb3VudE9mVm90aW5nRm9yTmV3UG9vbAIAAAARbWF4X2Ftb3VudF92b3RpbmcAAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAIAAAAHX3N0YXR1cwAAAAAfa2V5SGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAIAAAAOX2ZpbmlzaF9oZWlnaHQAAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzEAAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8yAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8zAAAAAA5rZXlUZW1wUHJldlN1bQIAAAATc3VtX3Jld2FyZF9wcmV2aW91cwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVBo2ft9Xop0naVz+v/cm1Of7ocNoPiDKfwAAAAAQdm90aW5nRm9yTmV3UG9vbAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHYh4XkVy3N3fz+gY3RQqyMsWxkYg/NLggAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAPZmlyc3RBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAAAAAAABBzZWNvbmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAAAAAAABBjdXJyVm90aW5nUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BMb2NrZWQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACAAAABHBvb2wAAAAEdXNlcgQAAAAGdm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAYEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGdm90aW5nAAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAA5zdGF0dXNPZlZvdGluZwAAAAAAAAAAAAMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAADWN1cnJlbnRIZWlnaHQJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABAAAABHVzZXIEAAAADGxpc3RPZlZvdGluZwkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA90aGlyZEFjdGl2ZVZvdGUFAAAABHVzZXIFAAAAA25pbAkAAZYAAAABBQAAAAxsaXN0T2ZWb3RpbmcBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDU5NTg2NTA5AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBAAAAARkYXRhCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMCAAAAFUVtcHR5IGtVc2VyVG90YWxTdHJ1YwIAAAABXwkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAACBAAAAA51UG9vbFRvdGFsU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNTk1ODY1MDkAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNTk1ODY1MDkAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNTk1ODY1MDkAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgAAAAAAAAAAAAEAAAAYaXNEZWZpbmVQb29sVXBkYXRlSGVpZ2h0AAAAAQAAAARwb29sCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoA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AAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwODc2MTg4NDEAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAPdXNlck5ld0ludGVyZXN0BQAAAAtjbGFpbUFtb3VudAAAAAgAAAABaQEAAAAHYWlyRHJvcAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDkxMDY5MTgxCQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTEwNjkxODEAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5MTA2OTE4MQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAtpbnRlcmVzdE5ldwkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BMb2NrZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAALaW50ZXJlc3ROZXcFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDk2MTk5Njk0CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTYxOTk2OTQAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5NjE5OTY5NAAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAskdDA5ODEwOTg5MgkBAAAAE2dldFVzZXJJbnRlcmVzdEluZm8AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAADGxhc3RJbnRlcmVzdAQAAAAQdXNlckxhc3RJbnRlcmVzdAgFAAAACyR0MDk4MTA5ODkyAAAAAl8xBAAAAA51c2VyU1dPUExvY2tlZAgFAAAACyR0MDk4MTA5ODkyAAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAAx3aXRoZHJhd1NXT1AAAAABAAAADndpdGhkcmF3QW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAGcAAAACAAAAAAAAAAAABQAAAA53aXRoZHJhd0Ftb3VudAkAAAIAAAABAgAAABN3aXRoZHJhd0Ftb3VudCA8PSAwBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA0kdDAxMTA0MjExMDk3CQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMTA0MjExMDk3AAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDExMDQyMTEwOTcAAAACXzIEAAAADSR0MDExMTAyMTExNjcJAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADnVzZXJWb3RlQW1vdW50CAUAAAANJHQwMTExMDIxMTE2NwAAAAJfMQQAAAAQdXNlclVudm90ZUFtb3VudAgFAAAADSR0MDExMTAyMTExNjcAAAACXzIEAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkBAAAAIGdldFVzZXJUb3RhbFZvdGVGb3JOZXdQb29sQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyAwMDCQAAZgAAAAIAAAAAAAAAAAAFAAAAEHVzZXJVbnZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAADnVzZXJWb3RlQW1vdW50BgkAAGYAAAACAAAAAAAAAAAABQAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAAACAAAAAQIAAABKdXNlclVudm90ZUFtb3VudCA8IDAgfHwgdXNlclZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbCA8IDAEAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAGUAAAACBQAAAA51c2VyU1dPUExvY2tlZAkAAZYAAAABCQAETAAAAAIFAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkABEwAAAACCQAAZAAAAAIFAAAADnVzZXJWb3RlQW1vdW50BQAAABB1c2VyVW52b3RlQW1vdW50BQAAAANuaWwDCQAAZgAAAAIFAAAADndpdGhkcmF3QW1vdW50BQAAABJhdmFpbGFibGVUb1Vuc3Rha2UJAAACAAAAAQIAAAAjd2l0aGRyYXdBbW91bnQgPiBhdmFpbGFibGVUb1Vuc3Rha2UEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGUAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyU1dPUGFtb3VudE5ldwkAAGUAAAACCQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QYW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADndpdGhkcmF3QW1vdW50BQAAAARTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAAFGNsYWltQW5kV2l0aGRyYXdTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDEyNTQyMTI1OTcJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDEyNTQyMTI1OTcAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTI1NDIxMjU5NwAAAAJfMgQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BQAAAARTV09QBQAAAANuaWwAAAABaQEAAAARY2xhaW1BbmRTdGFrZVNXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTMzNzYxMzQzMQkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTMzNzYxMzQzMQAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMzM3NjEzNDMxAAAAAl8yBAAAABF1c2VyU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAANdXBkYXRlV2VpZ2h0cwAAAAYAAAANcHJldmlvdXNQb29scwAAAA9wcmV2aW91c1Jld2FyZHMAAAAMY3VycmVudFBvb2xzAAAADmN1cnJlbnRSZXdhcmRzAAAAEnJld2FyZFVwZGF0ZUhlaWdodAAAAApwYWdpbmF0aW9uAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAthbW91bnRQb29scwAAAAAAAAAACgQAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAkABEwAAAACBQAAABFhZG1pblB1YktleVdhbGxldAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwMJAABmAAAAAgkAAZAAAAABBQAAAA1wcmV2aW91c1Bvb2xzBQAAAAthbW91bnRQb29scwYJAABmAAAAAgkAAZAAAAABBQAAAAxjdXJyZW50UG9vbHMFAAAAC2Ftb3VudFBvb2xzCQAAAgAAAAEJAAEsAAAAAgIAAAAWTWF4IGFtb3VudCBvZiBwb29sIGlzIAkAAaQAAAABBQAAAAthbW91bnRQb29scwMJAABnAAAAAgUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAC1yZXdhcmRVcGRhdGVIZWlnaHQgPD0gdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAHGhlaWdodCA+PSByZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABgwID49IHJld2FyZFVwZGF0ZUhlaWdodCAKAQAAAANzdW0AAAACAAAAAWEAAAABYgkAAGQAAAACBQAAAAFhBQAAAAFiCgEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAkBAAAAE2dldFBvb2xVcGRhdGVIZWlnaHQAAAABBQAAAARwb29sAwkBAAAAASEAAAABCQEAAAAYaXNEZWZpbmVQb29sVXBkYXRlSGVpZ2h0AAAAAQUAAAAEcG9vbAQAAAAKcG9vbFJld2FyZAkBAAAAEGdldEN1clBvb2xXZWlnaHQAAAABBQAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAMJAQAAAAIhPQAAAAIFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAMJAAAAAAAAAgUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQEAAAACnBvb2xSZXdhcmQJAQAAABBnZXRDdXJQb29sV2VpZ2h0AAAAAQUAAAAEcG9vbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwUAAAAKcG9vbFJld2FyZAUAAAALYWNjdW11bGF0ZWQFAAAAC2FjY3VtdWxhdGVkBQAAAAthY2N1bXVsYXRlZAoBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAJcG9vbEluZGV4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAADGN1cnJlbnRQb29scwUAAAAEcG9vbAQAAAAKcG9vbFJld2FyZAkAAZEAAAACBQAAAA5jdXJyZW50UmV3YXJkcwUAAAAJcG9vbEluZGV4AwkAAGYAAAACAAAAAAAAAAAABQAAAApwb29sUmV3YXJkCQAAAgAAAAECAAAADlBvb2xSZXdhcmQgPCAwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkCgEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACnBvb2xIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24FAAAACnBvb2xIZWlnaHQFAAAAC2FjY3VtdWxhdGVkCgEAAAAMZ2V0U3VtUmV3YXJkAAAAAwAAAAtwcmV2VGVtcFN1bQAAAApjdXJUZW1wU3VtAAAACnBhZ2luYXRpb24DCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAADAwkAAGYAAAACBQAAAAtwcmV2VGVtcFN1bQUAAAAOdG90YWxWb3RlU2hhcmUGCQAAZgAAAAIFAAAACmN1clRlbXBTdW0FAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAEpzdW1SZXdhcmRQcmV2aW91cyA+IHRvdGFsVm90ZVNoYXJlIG9yIHN1bVJld2FyZEN1cnJlbnQgPiB0b3RhbFZvdGVTaGFyZSAtIAkAAaQAAAABBQAAAApwYWdpbmF0aW9uAgAAAAEgCQABpAAAAAEFAAAAC3ByZXZUZW1wU3VtAgAAAAEgCQABpAAAAAEFAAAACmN1clRlbXBTdW0JAAUVAAAAAwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOa2V5VGVtcFByZXZTdW0FAAAAC3ByZXZUZW1wU3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADWtleVRlbXBDdXJTdW0FAAAACmN1clRlbXBTdW0FAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAA25pbAMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAQQAAAAScHJldlRlbXBTdW1Gcm9tS2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADmtleVRlbXBQcmV2U3VtAAAAAAAAAAAABAAAABFjdXJUZW1wU3VtRnJvbUtleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rZXlUZW1wQ3VyU3VtAAAAAAAAAAAABAAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAACRrZXlSZXdhcmRVcGRhdGVGaXJzdFBhZ2luYXRpb25IZWlnaHQAAAAAAAAAAAADAwkAAGYAAAACCQAAZAAAAAIFAAAAC3ByZXZUZW1wU3VtBQAAABJwcmV2VGVtcFN1bUZyb21LZXkFAAAADnRvdGFsVm90ZVNoYXJlBgkAAGYAAAACCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5BQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABCQAAZAAAAAIFAAAAC3ByZXZUZW1wU3VtBQAAABJwcmV2VGVtcFN1bUZyb21LZXkCAAAAASAJAAGkAAAAAQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQMJAQAAAAIhPQAAAAIFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAABEY3VycmVudCByZXdhcmRVcGRhdGVIZWlnaHQgIT0gcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAAUVAAAAAwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOa2V5VGVtcFByZXZTdW0JAABkAAAAAgUAAAALcHJldlRlbXBTdW0FAAAAEnByZXZUZW1wU3VtRnJvbUtleQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAgQAAAAHcHJldlN1bQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADmtleVRlbXBQcmV2U3VtAAAAAAAAAAAABQAAAAtwcmV2VGVtcFN1bQQAAAAGY3VyU3VtCQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAANa2V5VGVtcEN1clN1bQAAAAAAAAAAAAUAAAAKY3VyVGVtcFN1bQQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AAAAAAAAAAAAAwMJAQAAAAIhPQAAAAIFAAAAB3ByZXZTdW0FAAAADnRvdGFsVm90ZVNoYXJlBgkBAAAAAiE9AAAAAgUAAAAGY3VyU3VtBQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABAgAAAElzdW1SZXdhcmRQcmV2aW91cyAhPSB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ICE9IHRvdGFsVm90ZVNoYXJlAwkBAAAAAiE9AAAAAgUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAERjdXJyZW50IHJld2FyZFVwZGF0ZUhlaWdodCAhPSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkABRUAAAADCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rZXlUZW1wUHJldlN1bQUAAAAHcHJldlN1bQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtBQAAAAZjdXJTdW0FAAAAA25pbAUAAAADbmlsCQAAAgAAAAECAAAAFEluY29ycmVjdCBwYWdpbmF0aW9uBAAAABVzdW1SZXdhcmRQcmV2aW91c1Rl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MzE5Mjk2CQEAAAAMZ2V0U3VtUmV3YXJkAAAAAwUAAAAVc3VtUmV3YXJkUHJldmlvdXNUZW1wBQAAABRzdW1SZXdhcmRDdXJyZW50VGVtcAUAAAAKcGFnaW5hdGlvbgQAAAARc3VtUmV3YXJkUHJldmlvdXMIBQAAAA0kdDAxOTE0MzE5Mjk2AAAAAl8xBAAAABBzdW1SZXdhcmRDdXJyZW50CAUAAAANJHQwMTkxNDMxOTI5NgAAAAJfMgQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkIBQAAAA0kdDAxOTE0MzE5Mjk2AAAAAl8zBAAAABdyZXdhcmRVcGRhdGVIZWlnaHRFbnRyeQMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAA25pbAUAAAADbmlsAwkAAGYAAAACBQAAAAZoZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAABtyZXdhcmRVcGRhdGVIZWlnaHQgPCBoZWlnaHQEAAAAFnByZXZpb3VzUmV3YXJkRW50cnlOZXcEAAAADyRsaXN0MTk1NDYxOTU5OQUAAAAMY3VycmVudFBvb2xzBAAAAA8kc2l6ZTE5NTQ2MTk1OTkJAAGQAAAAAQUAAAAPJGxpc3QxOTU0NjE5NTk5BAAAAA8kYWNjMDE5NTQ2MTk1OTkFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxOTU0NjE5NTk5AAAAAAAAAAAABQAAAA8kYWNjMDE5NTQ2MTk1OTkEAAAADyRhY2MxMTk1NDYxOTU5OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMDE5NTQ2MTk1OTkJAAGRAAAAAgUAAAAPJGxpc3QxOTU0NjE5NTk5AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTQ2MTk1OTkAAAAAAAAAAAEFAAAADyRhY2MxMTk1NDYxOTU5OQQAAAAPJGFjYzIxOTU0NjE5NTk5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MxMTk1NDYxOTU5OQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTkAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5OQAAAAAAAAAAAgUAAAAPJGFjYzIxOTU0NjE5NTk5BAAAAA8kYWNjMzE5NTQ2MTk1OTkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzIxOTU0NjE5NTk5CQABkQAAAAIFAAAADyRsaXN0MTk1NDYxOTU5OQAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxOTU0NjE5NTk5AAAAAAAAAAADBQAAAA8kYWNjMzE5NTQ2MTk1OTkEAAAADyRhY2M0MTk1NDYxOTU5OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMzE5NTQ2MTk1OTkJAAGRAAAAAgUAAAAPJGxpc3QxOTU0NjE5NTk5AAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTQ2MTk1OTkAAAAAAAAAAAQFAAAADyRhY2M0MTk1NDYxOTU5OQQAAAAPJGFjYzUxOTU0NjE5NTk5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M0MTk1NDYxOTU5OQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTkAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5OQAAAAAAAAAABQUAAAAPJGFjYzUxOTU0NjE5NTk5BAAAAA8kYWNjNjE5NTQ2MTk1OTkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzUxOTU0NjE5NTk5CQABkQAAAAIFAAAADyRsaXN0MTk1NDYxOTU5OQAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxOTU0NjE5NTk5AAAAAAAAAAAGBQAAAA8kYWNjNjE5NTQ2MTk1OTkEAAAADyRhY2M3MTk1NDYxOTU5OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNjE5NTQ2MTk1OTkJAAGRAAAAAgUAAAAPJGxpc3QxOTU0NjE5NTk5AAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTQ2MTk1OTkAAAAAAAAAAAcFAAAADyRhY2M3MTk1NDYxOTU5OQQAAAAPJGFjYzgxOTU0NjE5NTk5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M3MTk1NDYxOTU5OQkAAZEAAAACBQAAAA8kbGlzdDE5NTQ2MTk1OTkAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTk1NDYxOTU5OQAAAAAAAAAACAUAAAAPJGFjYzgxOTU0NjE5NTk5BAAAAA8kYWNjOTE5NTQ2MTk1OTkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzgxOTU0NjE5NTk5CQABkQAAAAIFAAAADyRsaXN0MTk1NDYxOTU5OQAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxOTU0NjE5NTk5AAAAAAAAAAAJBQAAAA8kYWNjOTE5NTQ2MTk1OTkEAAAAECRhY2MxMDE5NTQ2MTk1OTkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzkxOTU0NjE5NTk5CQABkQAAAAIFAAAADyRsaXN0MTk1NDYxOTU5OQAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxOTU0NjE5NTk5AAAAAAAAAAAKBQAAABAkYWNjMTAxOTU0NjE5NTk5BAAAABAkYWNjMTExOTU0NjE5NTk5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMDE5NTQ2MTk1OTkJAAGRAAAAAgUAAAAPJGxpc3QxOTU0NjE5NTk5AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwQAAAAPJGxpc3QxOTYzMjE5Njg0BQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMTk2MzIxOTY4NAkAAZAAAAABBQAAAA8kbGlzdDE5NjMyMTk2ODQEAAAADyRhY2MwMTk2MzIxOTY4NAUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTE5NjMyMTk2ODQAAAAAAAAAAAAFAAAADyRhY2MwMTk2MzIxOTY4NAQAAAAPJGFjYzExOTYzMjE5Njg0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxOTYzMjE5Njg0CQABkQAAAAIFAAAADyRsaXN0MTk2MzIxOTY4NAAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxOTYzMjE5Njg0AAAAAAAAAAABBQAAAA8kYWNjMTE5NjMyMTk2ODQEAAAADyRhY2MyMTk2MzIxOTY4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MxMTk2MzIxOTY4NAkAAZEAAAACBQAAAA8kbGlzdDE5NjMyMTk2ODQAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTk2MzIxOTY4NAAAAAAAAAAAAgUAAAAPJGFjYzIxOTYzMjE5Njg0BAAAAA8kYWNjMzE5NjMyMTk2ODQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMjE5NjMyMTk2ODQJAAGRAAAAAgUAAAAPJGxpc3QxOTYzMjE5Njg0AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE5NjMyMTk2ODQAAAAAAAAAAAMFAAAADyRhY2MzMTk2MzIxOTY4NAQAAAAPJGFjYzQxOTYzMjE5Njg0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxOTYzMjE5Njg0CQABkQAAAAIFAAAADyRsaXN0MTk2MzIxOTY4NAAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxOTYzMjE5Njg0AAAAAAAAAAAEBQAAAA8kYWNjNDE5NjMyMTk2ODQEAAAADyRhY2M1MTk2MzIxOTY4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M0MTk2MzIxOTY4NAkAAZEAAAACBQAAAA8kbGlzdDE5NjMyMTk2ODQAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTk2MzIxOTY4NAAAAAAAAAAABQUAAAAPJGFjYzUxOTYzMjE5Njg0BAAAAA8kYWNjNjE5NjMyMTk2ODQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNTE5NjMyMTk2ODQJAAGRAAAAAgUAAAAPJGxpc3QxOTYzMjE5Njg0AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE5NjMyMTk2ODQAAAAAAAAAAAYFAAAADyRhY2M2MTk2MzIxOTY4NAQAAAAPJGFjYzcxOTYzMjE5Njg0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxOTYzMjE5Njg0CQABkQAAAAIFAAAADyRsaXN0MTk2MzIxOTY4NAAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxOTYzMjE5Njg0AAAAAAAAAAAHBQAAAA8kYWNjNzE5NjMyMTk2ODQEAAAADyRhY2M4MTk2MzIxOTY4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M3MTk2MzIxOTY4NAkAAZEAAAACBQAAAA8kbGlzdDE5NjMyMTk2ODQAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTk2MzIxOTY4NAAAAAAAAAAACAUAAAAPJGFjYzgxOTYzMjE5Njg0BAAAAA8kYWNjOTE5NjMyMTk2ODQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjODE5NjMyMTk2ODQJAAGRAAAAAgUAAAAPJGxpc3QxOTYzMjE5Njg0AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE5NjMyMTk2ODQAAAAAAAAAAAkFAAAADyRhY2M5MTk2MzIxOTY4NAQAAAAQJGFjYzEwMTk2MzIxOTY4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTk2MzIxOTY4NAkAAZEAAAACBQAAAA8kbGlzdDE5NjMyMTk2ODQAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTk2MzIxOTY4NAAAAAAAAAAACgUAAAAQJGFjYzEwMTk2MzIxOTY4NAQAAAAQJGFjYzExMTk2MzIxOTY4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMDE5NjMyMTk2ODQJAAGRAAAAAgUAAAAPJGxpc3QxOTYzMjE5Njg0AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAAEWhlaWdodEVudHJ5TmV3Q3VyBAAAAA8kbGlzdDE5NzEzMTk3NTgFAAAADGN1cnJlbnRQb29scwQAAAAPJHNpemUxOTcxMzE5NzU4CQABkAAAAAEFAAAADyRsaXN0MTk3MTMxOTc1OAQAAAAPJGFjYzAxOTcxMzE5NzU4BQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAAAAUAAAAPJGFjYzAxOTcxMzE5NzU4BAAAAA8kYWNjMTE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MwMTk3MTMxOTc1OAkAAZEAAAACBQAAAA8kbGlzdDE5NzEzMTk3NTgAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAAAQUAAAAPJGFjYzExOTcxMzE5NzU4BAAAAA8kYWNjMjE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MxMTk3MTMxOTc1OAkAAZEAAAACBQAAAA8kbGlzdDE5NzEzMTk3NTgAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAAAgUAAAAPJGFjYzIxOTcxMzE5NzU4BAAAAA8kYWNjMzE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MyMTk3MTMxOTc1OAkAAZEAAAACBQAAAA8kbGlzdDE5NzEzMTk3NTgAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAAAwUAAAAPJGFjYzMxOTcxMzE5NzU4BAAAAA8kYWNjNDE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MzMTk3MTMxOTc1OAkAAZEAAAACBQAAAA8kbGlzdDE5NzEzMTk3NTgAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAABAUAAAAPJGFjYzQxOTcxMzE5NzU4BAAAAA8kYWNjNTE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M0MTk3MTMxOTc1OAkAAZEAAAACBQAAAA8kbGlzdDE5NzEzMTk3NTgAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAABQUAAAAPJGFjYzUxOTcxMzE5NzU4BAAAAA8kYWNjNjE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M1MTk3MTMxOTc1OAkAAZEAAAACBQAAAA8kbGlzdDE5NzEzMTk3NTgAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAABgUAAAAPJGFjYzYxOTcxMzE5NzU4BAAAAA8kYWNjNzE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M2MTk3MTMxOTc1OAkAAZEAAAACBQAAAA8kbGlzdDE5NzEzMTk3NTgAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAABwUAAAAPJGFjYzcxOTcxMzE5NzU4BAAAAA8kYWNjODE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M3MTk3MTMxOTc1OAkAAZEAAAACBQAAAA8kbGlzdDE5NzEzMTk3NTgAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAACAUAAAAPJGFjYzgxOTcxMzE5NzU4BAAAAA8kYWNjOTE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M4MTk3MTMxOTc1OAkAAZEAAAACBQAAAA8kbGlzdDE5NzEzMTk3NTgAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTk3MTMxOTc1OAAAAAAAAAAACQUAAAAPJGFjYzkxOTcxMzE5NzU4BAAAABAkYWNjMTAxOTcxMzE5NzU4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjOTE5NzEzMTk3NTgJAAGRAAAAAgUAAAAPJGxpc3QxOTcxMzE5NzU4AAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE5NzEzMTk3NTgAAAAAAAAAAAoFAAAAECRhY2MxMDE5NzEzMTk3NTgEAAAAECRhY2MxMTE5NzEzMTk3NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAAECRhY2MxMDE5NzEzMTk3NTgJAAGRAAAAAgUAAAAPJGxpc3QxOTcxMzE5NzU4AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIFAAAAFnByZXZpb3VzUmV3YXJkRW50cnlOZXcFAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwUAAAARaGVpZ2h0RW50cnlOZXdDdXIFAAAAEXN1bVJld2FyZFByZXZpb3VzBQAAABBzdW1SZXdhcmRDdXJyZW50BQAAABdyZXdhcmRVcGRhdGVIZWlnaHRFbnRyeQUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkAAAABaQEAAAAIc2h1dGRvd24AAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABCQABLAAAAAICAAAAIkRBcHAgaXMgYWxyZWFkeSBzdXNwZW5kZWQuIENhdXNlOiAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAIa2V5Q2F1c2UCAAAAGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQEAAAAHc3VzcGVuZAAAAAECAAAAD1BhdXNlZCBieSBhZG1pbgAAAAFpAQAAAAhhY3RpdmF0ZQAAAAADBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAABZEQXBwIGlzIGFscmVhZHkgYWN0aXZlAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUGCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAACGtleUNhdXNlBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleeRjn1k=", "height": 1573090, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CMrpsdZpvyY9JKmBLhHF3mbFU74MXQ9bupX2kDDMByFr Next: 4twvH2UPHTFLEZKhqCmFHnPqgdyPRtW2yhqoreRr1YZE Diff:
OldNewDifferences
174174
175175
176176 func getUserVoteInfo (user) = {
177- let $t060866637 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
177+ let $t059586509 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
178178 then {
179179 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
180180 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
183183 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
184184 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
185185 }
186- let userTotalVoteSWOP = $t060866637._1
187- let userUnvoted = $t060866637._2
188- let userUnvotedPeriod = $t060866637._3
186+ let userTotalVoteSWOP = $t059586509._1
187+ let userUnvoted = $t059586509._2
188+ let userUnvotedPeriod = $t059586509._3
189189 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
190190 then userUnvoted
191191 else 0
247247
248248 func claimCalc (caller) = {
249249 let lastInterest = getLastInterestInfo()
250- let $t088898969 = getUserInterestInfo(caller, lastInterest)
251- let userLastInterest = $t088898969._1
252- let userSWOPLocked = $t088898969._2
250+ let $t087618841 = getUserInterestInfo(caller, lastInterest)
251+ let userLastInterest = $t087618841._1
252+ let userSWOPLocked = $t087618841._2
253253 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
254254 let userNewInterest = lastInterest
255255 $Tuple2(userNewInterest, claimAmount)
260260 func airDrop () = if (!(isActive))
261261 then throw("DApp is inactive at this moment")
262262 else {
263- let $t092349309 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
264- let pmtAmount = $t092349309._1
265- let pmtAssetId = $t092349309._2
263+ let $t091069181 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
264+ let pmtAmount = $t091069181._1
265+ let pmtAssetId = $t091069181._2
266266 if ((pmtAssetId != SWOP))
267267 then throw("Incorrect pmtAssetId")
268268 else {
279279 func lockSWOP () = if (!(isActive))
280280 then throw("DApp is inactive at this moment")
281281 else {
282- let $t097479822 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
283- let pmtAmount = $t097479822._1
284- let pmtAssetId = $t097479822._2
282+ let $t096199694 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
283+ let pmtAmount = $t096199694._1
284+ let pmtAssetId = $t096199694._2
285285 if ((pmtAssetId != SWOP))
286286 then throw("Incorrect pmtAssetId")
287287 else {
288288 let lastInterest = getLastInterestInfo()
289- let $t0993810020 = getUserInterestInfo(i.caller, lastInterest)
290- let userLastInterest = $t0993810020._1
291- let userSWOPLocked = $t0993810020._2
289+ let $t098109892 = getUserInterestInfo(i.caller, lastInterest)
290+ let userLastInterest = $t098109892._1
291+ let userSWOPLocked = $t098109892._2
292292 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
293293 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
294294 let userNewInterest = lastInterest
310310 else {
311311 let totalSWOPLocked = getTotalSWOPLocked()
312312 let userSWOPLocked = getUserSWOPLocked(i.caller)
313- let $t01117011225 = claimCalc(i.caller)
314- let userNewInterest = $t01117011225._1
315- let claimAmount = $t01117011225._2
316- let $t01123011295 = getUserVoteInfo(i.caller)
317- let userVoteAmount = $t01123011295._1
318- let userUnvoteAmount = $t01123011295._2
313+ let $t01104211097 = claimCalc(i.caller)
314+ let userNewInterest = $t01104211097._1
315+ let claimAmount = $t01104211097._2
316+ let $t01110211167 = getUserVoteInfo(i.caller)
317+ let userVoteAmount = $t01110211167._1
318+ let userUnvoteAmount = $t01110211167._2
319319 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
320320 if (if (if ((0 > userUnvoteAmount))
321321 then true
344344 then throw("DApp is inactive at this moment")
345345 else {
346346 let lastInterest = getLastInterestInfo()
347- let $t01267012725 = claimCalc(i.caller)
348- let userNewInterest = $t01267012725._1
349- let claimAmount = $t01267012725._2
347+ let $t01254212597 = claimCalc(i.caller)
348+ let userNewInterest = $t01254212597._1
349+ let claimAmount = $t01254212597._2
350350 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
351351 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
352352 if ((claimAmount == 0))
363363 let totalSWOPLocked = getTotalSWOPLocked()
364364 let userSWOPLocked = getUserSWOPLocked(i.caller)
365365 let lastInterest = getLastInterestInfo()
366- let $t01350413559 = claimCalc(i.caller)
367- let userNewInterest = $t01350413559._1
368- let claimAmount = $t01350413559._2
366+ let $t01337613431 = claimCalc(i.caller)
367+ let userNewInterest = $t01337613431._1
368+ let claimAmount = $t01337613431._2
369369 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
370370 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
371371 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
390390 else (size(currentPools) > amountPools))
391391 then throw(("Max amount of pool is " + toString(amountPools)))
392392 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
393- then throw(((("rewardUpdateHeight <= totalRewardUpdateHeight; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + "; totalRewardUpdateHeight: ") + toString(totalRewardUpdateHeight)))
393+ then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
394394 else if ((height >= rewardUpdateHeight))
395395 then throw("height >= rewardUpdateHeight")
396396 else if ((0 >= rewardUpdateHeight))
400400
401401 func changePreviousRewardEntry (accumulated,pool) = {
402402 let poolRewardUpdateHeight = getPoolUpdateHeight(pool)
403- if (isDefinePoolUpdateHeight(pool))
403+ if (!(isDefinePoolUpdateHeight(pool)))
404404 then {
405405 let poolReward = getCurPoolWeight(pool)
406406 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
432432 then if (if ((prevTempSum > totalVoteShare))
433433 then true
434434 else (curTempSum > totalVoteShare))
435- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
435+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
436436 else $Tuple3([IntegerEntry(keyTempPrevSum, prevTempSum)], [IntegerEntry(keyTempCurSum, curTempSum)], [IntegerEntry(keyRewardUpdateFirstPaginationHeight, rewardUpdateHeight)])
437437 else if ((pagination == 1))
438438 then {
442442 if (if (((prevTempSum + prevTempSumFromKey) > totalVoteShare))
443443 then true
444444 else ((curTempSum + curTempSumFromKey) > totalVoteShare))
445- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
445+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
446446 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
447- then throw(((("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + " rewardUpdateHeightFirstPaginationEntry: ") + toString(rewardUpdateHeightFirstPaginationEntry)))
447+ then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
448448 else $Tuple3([IntegerEntry(keyTempPrevSum, (prevTempSum + prevTempSumFromKey))], [IntegerEntry(keyTempCurSum, (curTempSum + curTempSumFromKey))], nil)
449449 }
450450 else if ((pagination == 2))
460460 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
461461 else $Tuple3([IntegerEntry(keyTempPrevSum, prevSum)], [IntegerEntry(keyTempCurSum, curSum)], nil)
462462 }
463- else throw(("Incorrect pagination: " + toString(pagination)))
463+ else throw("Incorrect pagination")
464464
465465 let sumRewardPreviousTemp = {
466- let $list1948419517 = previousRewards
467- let $size1948419517 = size($list1948419517)
468- let $acc01948419517 = 0
469- if (($size1948419517 == 0))
470- then $acc01948419517
466+ let $list1903919072 = previousRewards
467+ let $size1903919072 = size($list1903919072)
468+ let $acc01903919072 = 0
469+ if (($size1903919072 == 0))
470+ then $acc01903919072
471471 else {
472- let $acc11948419517 = sum($acc01948419517, $list1948419517[0])
473- if (($size1948419517 == 1))
474- then $acc11948419517
472+ let $acc11903919072 = sum($acc01903919072, $list1903919072[0])
473+ if (($size1903919072 == 1))
474+ then $acc11903919072
475475 else {
476- let $acc21948419517 = sum($acc11948419517, $list1948419517[1])
477- if (($size1948419517 == 2))
478- then $acc21948419517
476+ let $acc21903919072 = sum($acc11903919072, $list1903919072[1])
477+ if (($size1903919072 == 2))
478+ then $acc21903919072
479479 else {
480- let $acc31948419517 = sum($acc21948419517, $list1948419517[2])
481- if (($size1948419517 == 3))
482- then $acc31948419517
480+ let $acc31903919072 = sum($acc21903919072, $list1903919072[2])
481+ if (($size1903919072 == 3))
482+ then $acc31903919072
483483 else {
484- let $acc41948419517 = sum($acc31948419517, $list1948419517[3])
485- if (($size1948419517 == 4))
486- then $acc41948419517
484+ let $acc41903919072 = sum($acc31903919072, $list1903919072[3])
485+ if (($size1903919072 == 4))
486+ then $acc41903919072
487487 else {
488- let $acc51948419517 = sum($acc41948419517, $list1948419517[4])
489- if (($size1948419517 == 5))
490- then $acc51948419517
488+ let $acc51903919072 = sum($acc41903919072, $list1903919072[4])
489+ if (($size1903919072 == 5))
490+ then $acc51903919072
491491 else {
492- let $acc61948419517 = sum($acc51948419517, $list1948419517[5])
493- if (($size1948419517 == 6))
494- then $acc61948419517
492+ let $acc61903919072 = sum($acc51903919072, $list1903919072[5])
493+ if (($size1903919072 == 6))
494+ then $acc61903919072
495495 else {
496- let $acc71948419517 = sum($acc61948419517, $list1948419517[6])
497- if (($size1948419517 == 7))
498- then $acc71948419517
496+ let $acc71903919072 = sum($acc61903919072, $list1903919072[6])
497+ if (($size1903919072 == 7))
498+ then $acc71903919072
499499 else {
500- let $acc81948419517 = sum($acc71948419517, $list1948419517[7])
501- if (($size1948419517 == 8))
502- then $acc81948419517
500+ let $acc81903919072 = sum($acc71903919072, $list1903919072[7])
501+ if (($size1903919072 == 8))
502+ then $acc81903919072
503503 else {
504- let $acc91948419517 = sum($acc81948419517, $list1948419517[8])
505- if (($size1948419517 == 9))
506- then $acc91948419517
504+ let $acc91903919072 = sum($acc81903919072, $list1903919072[8])
505+ if (($size1903919072 == 9))
506+ then $acc91903919072
507507 else {
508- let $acc101948419517 = sum($acc91948419517, $list1948419517[9])
509- if (($size1948419517 == 10))
510- then $acc101948419517
508+ let $acc101903919072 = sum($acc91903919072, $list1903919072[9])
509+ if (($size1903919072 == 10))
510+ then $acc101903919072
511511 else {
512- let $acc111948419517 = sum($acc101948419517, $list1948419517[10])
512+ let $acc111903919072 = sum($acc101903919072, $list1903919072[10])
513513 throw("List size exceed 10")
514514 }
515515 }
524524 }
525525 }
526526 let sumRewardCurrentTemp = {
527- let $list1955019582 = currentRewards
528- let $size1955019582 = size($list1955019582)
529- let $acc01955019582 = 0
530- if (($size1955019582 == 0))
531- then $acc01955019582
527+ let $list1910519137 = currentRewards
528+ let $size1910519137 = size($list1910519137)
529+ let $acc01910519137 = 0
530+ if (($size1910519137 == 0))
531+ then $acc01910519137
532532 else {
533- let $acc11955019582 = sum($acc01955019582, $list1955019582[0])
534- if (($size1955019582 == 1))
535- then $acc11955019582
533+ let $acc11910519137 = sum($acc01910519137, $list1910519137[0])
534+ if (($size1910519137 == 1))
535+ then $acc11910519137
536536 else {
537- let $acc21955019582 = sum($acc11955019582, $list1955019582[1])
538- if (($size1955019582 == 2))
539- then $acc21955019582
537+ let $acc21910519137 = sum($acc11910519137, $list1910519137[1])
538+ if (($size1910519137 == 2))
539+ then $acc21910519137
540540 else {
541- let $acc31955019582 = sum($acc21955019582, $list1955019582[2])
542- if (($size1955019582 == 3))
543- then $acc31955019582
541+ let $acc31910519137 = sum($acc21910519137, $list1910519137[2])
542+ if (($size1910519137 == 3))
543+ then $acc31910519137
544544 else {
545- let $acc41955019582 = sum($acc31955019582, $list1955019582[3])
546- if (($size1955019582 == 4))
547- then $acc41955019582
545+ let $acc41910519137 = sum($acc31910519137, $list1910519137[3])
546+ if (($size1910519137 == 4))
547+ then $acc41910519137
548548 else {
549- let $acc51955019582 = sum($acc41955019582, $list1955019582[4])
550- if (($size1955019582 == 5))
551- then $acc51955019582
549+ let $acc51910519137 = sum($acc41910519137, $list1910519137[4])
550+ if (($size1910519137 == 5))
551+ then $acc51910519137
552552 else {
553- let $acc61955019582 = sum($acc51955019582, $list1955019582[5])
554- if (($size1955019582 == 6))
555- then $acc61955019582
553+ let $acc61910519137 = sum($acc51910519137, $list1910519137[5])
554+ if (($size1910519137 == 6))
555+ then $acc61910519137
556556 else {
557- let $acc71955019582 = sum($acc61955019582, $list1955019582[6])
558- if (($size1955019582 == 7))
559- then $acc71955019582
557+ let $acc71910519137 = sum($acc61910519137, $list1910519137[6])
558+ if (($size1910519137 == 7))
559+ then $acc71910519137
560560 else {
561- let $acc81955019582 = sum($acc71955019582, $list1955019582[7])
562- if (($size1955019582 == 8))
563- then $acc81955019582
561+ let $acc81910519137 = sum($acc71910519137, $list1910519137[7])
562+ if (($size1910519137 == 8))
563+ then $acc81910519137
564564 else {
565- let $acc91955019582 = sum($acc81955019582, $list1955019582[8])
566- if (($size1955019582 == 9))
567- then $acc91955019582
565+ let $acc91910519137 = sum($acc81910519137, $list1910519137[8])
566+ if (($size1910519137 == 9))
567+ then $acc91910519137
568568 else {
569- let $acc101955019582 = sum($acc91955019582, $list1955019582[9])
570- if (($size1955019582 == 10))
571- then $acc101955019582
569+ let $acc101910519137 = sum($acc91910519137, $list1910519137[9])
570+ if (($size1910519137 == 10))
571+ then $acc101910519137
572572 else {
573- let $acc111955019582 = sum($acc101955019582, $list1955019582[10])
573+ let $acc111910519137 = sum($acc101910519137, $list1910519137[10])
574574 throw("List size exceed 10")
575575 }
576576 }
584584 }
585585 }
586586 }
587- let $t01958819741 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
588- let sumRewardPrevious = $t01958819741._1
589- let sumRewardCurrent = $t01958819741._2
590- let rewardUpdateHeightFirstPaginationEntry = $t01958819741._3
587+ let $t01914319296 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
588+ let sumRewardPrevious = $t01914319296._1
589+ let sumRewardCurrent = $t01914319296._2
590+ let rewardUpdateHeightFirstPaginationEntry = $t01914319296._3
591591 let rewardUpdateHeightEntry = if ((pagination == 2))
592592 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
593593 else nil
595595 then throw("rewardUpdateHeight < height")
596596 else {
597597 let previousRewardEntryNew = {
598- let $list1999120045 = previousPools
599- let $size1999120045 = size($list1999120045)
600- let $acc01999120045 = nil
601- if (($size1999120045 == 0))
602- then $acc01999120045
598+ let $list1954619599 = currentPools
599+ let $size1954619599 = size($list1954619599)
600+ let $acc01954619599 = nil
601+ if (($size1954619599 == 0))
602+ then $acc01954619599
603603 else {
604- let $acc11999120045 = changePreviousRewardEntry($acc01999120045, $list1999120045[0])
605- if (($size1999120045 == 1))
606- then $acc11999120045
604+ let $acc11954619599 = changePreviousRewardEntry($acc01954619599, $list1954619599[0])
605+ if (($size1954619599 == 1))
606+ then $acc11954619599
607607 else {
608- let $acc21999120045 = changePreviousRewardEntry($acc11999120045, $list1999120045[1])
609- if (($size1999120045 == 2))
610- then $acc21999120045
608+ let $acc21954619599 = changePreviousRewardEntry($acc11954619599, $list1954619599[1])
609+ if (($size1954619599 == 2))
610+ then $acc21954619599
611611 else {
612- let $acc31999120045 = changePreviousRewardEntry($acc21999120045, $list1999120045[2])
613- if (($size1999120045 == 3))
614- then $acc31999120045
612+ let $acc31954619599 = changePreviousRewardEntry($acc21954619599, $list1954619599[2])
613+ if (($size1954619599 == 3))
614+ then $acc31954619599
615615 else {
616- let $acc41999120045 = changePreviousRewardEntry($acc31999120045, $list1999120045[3])
617- if (($size1999120045 == 4))
618- then $acc41999120045
616+ let $acc41954619599 = changePreviousRewardEntry($acc31954619599, $list1954619599[3])
617+ if (($size1954619599 == 4))
618+ then $acc41954619599
619619 else {
620- let $acc51999120045 = changePreviousRewardEntry($acc41999120045, $list1999120045[4])
621- if (($size1999120045 == 5))
622- then $acc51999120045
620+ let $acc51954619599 = changePreviousRewardEntry($acc41954619599, $list1954619599[4])
621+ if (($size1954619599 == 5))
622+ then $acc51954619599
623623 else {
624- let $acc61999120045 = changePreviousRewardEntry($acc51999120045, $list1999120045[5])
625- if (($size1999120045 == 6))
626- then $acc61999120045
624+ let $acc61954619599 = changePreviousRewardEntry($acc51954619599, $list1954619599[5])
625+ if (($size1954619599 == 6))
626+ then $acc61954619599
627627 else {
628- let $acc71999120045 = changePreviousRewardEntry($acc61999120045, $list1999120045[6])
629- if (($size1999120045 == 7))
630- then $acc71999120045
628+ let $acc71954619599 = changePreviousRewardEntry($acc61954619599, $list1954619599[6])
629+ if (($size1954619599 == 7))
630+ then $acc71954619599
631631 else {
632- let $acc81999120045 = changePreviousRewardEntry($acc71999120045, $list1999120045[7])
633- if (($size1999120045 == 8))
634- then $acc81999120045
632+ let $acc81954619599 = changePreviousRewardEntry($acc71954619599, $list1954619599[7])
633+ if (($size1954619599 == 8))
634+ then $acc81954619599
635635 else {
636- let $acc91999120045 = changePreviousRewardEntry($acc81999120045, $list1999120045[8])
637- if (($size1999120045 == 9))
638- then $acc91999120045
636+ let $acc91954619599 = changePreviousRewardEntry($acc81954619599, $list1954619599[8])
637+ if (($size1954619599 == 9))
638+ then $acc91954619599
639639 else {
640- let $acc101999120045 = changePreviousRewardEntry($acc91999120045, $list1999120045[9])
641- if (($size1999120045 == 10))
642- then $acc101999120045
640+ let $acc101954619599 = changePreviousRewardEntry($acc91954619599, $list1954619599[9])
641+ if (($size1954619599 == 10))
642+ then $acc101954619599
643643 else {
644- let $acc111999120045 = changePreviousRewardEntry($acc101999120045, $list1999120045[10])
644+ let $acc111954619599 = changePreviousRewardEntry($acc101954619599, $list1954619599[10])
645645 throw("List size exceed 10")
646646 }
647647 }
656656 }
657657 }
658658 let currentRewardEntryNew = {
659- let $list2007820130 = currentPools
660- let $size2007820130 = size($list2007820130)
661- let $acc02007820130 = nil
662- if (($size2007820130 == 0))
663- then $acc02007820130
659+ let $list1963219684 = currentPools
660+ let $size1963219684 = size($list1963219684)
661+ let $acc01963219684 = nil
662+ if (($size1963219684 == 0))
663+ then $acc01963219684
664664 else {
665- let $acc12007820130 = changeCurrentRewardEntry($acc02007820130, $list2007820130[0])
666- if (($size2007820130 == 1))
667- then $acc12007820130
665+ let $acc11963219684 = changeCurrentRewardEntry($acc01963219684, $list1963219684[0])
666+ if (($size1963219684 == 1))
667+ then $acc11963219684
668668 else {
669- let $acc22007820130 = changeCurrentRewardEntry($acc12007820130, $list2007820130[1])
670- if (($size2007820130 == 2))
671- then $acc22007820130
669+ let $acc21963219684 = changeCurrentRewardEntry($acc11963219684, $list1963219684[1])
670+ if (($size1963219684 == 2))
671+ then $acc21963219684
672672 else {
673- let $acc32007820130 = changeCurrentRewardEntry($acc22007820130, $list2007820130[2])
674- if (($size2007820130 == 3))
675- then $acc32007820130
673+ let $acc31963219684 = changeCurrentRewardEntry($acc21963219684, $list1963219684[2])
674+ if (($size1963219684 == 3))
675+ then $acc31963219684
676676 else {
677- let $acc42007820130 = changeCurrentRewardEntry($acc32007820130, $list2007820130[3])
678- if (($size2007820130 == 4))
679- then $acc42007820130
677+ let $acc41963219684 = changeCurrentRewardEntry($acc31963219684, $list1963219684[3])
678+ if (($size1963219684 == 4))
679+ then $acc41963219684
680680 else {
681- let $acc52007820130 = changeCurrentRewardEntry($acc42007820130, $list2007820130[4])
682- if (($size2007820130 == 5))
683- then $acc52007820130
681+ let $acc51963219684 = changeCurrentRewardEntry($acc41963219684, $list1963219684[4])
682+ if (($size1963219684 == 5))
683+ then $acc51963219684
684684 else {
685- let $acc62007820130 = changeCurrentRewardEntry($acc52007820130, $list2007820130[5])
686- if (($size2007820130 == 6))
687- then $acc62007820130
685+ let $acc61963219684 = changeCurrentRewardEntry($acc51963219684, $list1963219684[5])
686+ if (($size1963219684 == 6))
687+ then $acc61963219684
688688 else {
689- let $acc72007820130 = changeCurrentRewardEntry($acc62007820130, $list2007820130[6])
690- if (($size2007820130 == 7))
691- then $acc72007820130
689+ let $acc71963219684 = changeCurrentRewardEntry($acc61963219684, $list1963219684[6])
690+ if (($size1963219684 == 7))
691+ then $acc71963219684
692692 else {
693- let $acc82007820130 = changeCurrentRewardEntry($acc72007820130, $list2007820130[7])
694- if (($size2007820130 == 8))
695- then $acc82007820130
693+ let $acc81963219684 = changeCurrentRewardEntry($acc71963219684, $list1963219684[7])
694+ if (($size1963219684 == 8))
695+ then $acc81963219684
696696 else {
697- let $acc92007820130 = changeCurrentRewardEntry($acc82007820130, $list2007820130[8])
698- if (($size2007820130 == 9))
699- then $acc92007820130
697+ let $acc91963219684 = changeCurrentRewardEntry($acc81963219684, $list1963219684[8])
698+ if (($size1963219684 == 9))
699+ then $acc91963219684
700700 else {
701- let $acc102007820130 = changeCurrentRewardEntry($acc92007820130, $list2007820130[9])
702- if (($size2007820130 == 10))
703- then $acc102007820130
701+ let $acc101963219684 = changeCurrentRewardEntry($acc91963219684, $list1963219684[9])
702+ if (($size1963219684 == 10))
703+ then $acc101963219684
704704 else {
705- let $acc112007820130 = changeCurrentRewardEntry($acc102007820130, $list2007820130[10])
705+ let $acc111963219684 = changeCurrentRewardEntry($acc101963219684, $list1963219684[10])
706706 throw("List size exceed 10")
707707 }
708708 }
717717 }
718718 }
719719 let heightEntryNewCur = {
720- let $list2015920204 = currentPools
721- let $size2015920204 = size($list2015920204)
722- let $acc02015920204 = nil
723- if (($size2015920204 == 0))
724- then $acc02015920204
720+ let $list1971319758 = currentPools
721+ let $size1971319758 = size($list1971319758)
722+ let $acc01971319758 = nil
723+ if (($size1971319758 == 0))
724+ then $acc01971319758
725725 else {
726- let $acc12015920204 = changeHeightEntry($acc02015920204, $list2015920204[0])
727- if (($size2015920204 == 1))
728- then $acc12015920204
726+ let $acc11971319758 = changeHeightEntry($acc01971319758, $list1971319758[0])
727+ if (($size1971319758 == 1))
728+ then $acc11971319758
729729 else {
730- let $acc22015920204 = changeHeightEntry($acc12015920204, $list2015920204[1])
731- if (($size2015920204 == 2))
732- then $acc22015920204
730+ let $acc21971319758 = changeHeightEntry($acc11971319758, $list1971319758[1])
731+ if (($size1971319758 == 2))
732+ then $acc21971319758
733733 else {
734- let $acc32015920204 = changeHeightEntry($acc22015920204, $list2015920204[2])
735- if (($size2015920204 == 3))
736- then $acc32015920204
734+ let $acc31971319758 = changeHeightEntry($acc21971319758, $list1971319758[2])
735+ if (($size1971319758 == 3))
736+ then $acc31971319758
737737 else {
738- let $acc42015920204 = changeHeightEntry($acc32015920204, $list2015920204[3])
739- if (($size2015920204 == 4))
740- then $acc42015920204
738+ let $acc41971319758 = changeHeightEntry($acc31971319758, $list1971319758[3])
739+ if (($size1971319758 == 4))
740+ then $acc41971319758
741741 else {
742- let $acc52015920204 = changeHeightEntry($acc42015920204, $list2015920204[4])
743- if (($size2015920204 == 5))
744- then $acc52015920204
742+ let $acc51971319758 = changeHeightEntry($acc41971319758, $list1971319758[4])
743+ if (($size1971319758 == 5))
744+ then $acc51971319758
745745 else {
746- let $acc62015920204 = changeHeightEntry($acc52015920204, $list2015920204[5])
747- if (($size2015920204 == 6))
748- then $acc62015920204
746+ let $acc61971319758 = changeHeightEntry($acc51971319758, $list1971319758[5])
747+ if (($size1971319758 == 6))
748+ then $acc61971319758
749749 else {
750- let $acc72015920204 = changeHeightEntry($acc62015920204, $list2015920204[6])
751- if (($size2015920204 == 7))
752- then $acc72015920204
750+ let $acc71971319758 = changeHeightEntry($acc61971319758, $list1971319758[6])
751+ if (($size1971319758 == 7))
752+ then $acc71971319758
753753 else {
754- let $acc82015920204 = changeHeightEntry($acc72015920204, $list2015920204[7])
755- if (($size2015920204 == 8))
756- then $acc82015920204
754+ let $acc81971319758 = changeHeightEntry($acc71971319758, $list1971319758[7])
755+ if (($size1971319758 == 8))
756+ then $acc81971319758
757757 else {
758- let $acc92015920204 = changeHeightEntry($acc82015920204, $list2015920204[8])
759- if (($size2015920204 == 9))
760- then $acc92015920204
758+ let $acc91971319758 = changeHeightEntry($acc81971319758, $list1971319758[8])
759+ if (($size1971319758 == 9))
760+ then $acc91971319758
761761 else {
762- let $acc102015920204 = changeHeightEntry($acc92015920204, $list2015920204[9])
763- if (($size2015920204 == 10))
764- then $acc102015920204
762+ let $acc101971319758 = changeHeightEntry($acc91971319758, $list1971319758[9])
763+ if (($size1971319758 == 10))
764+ then $acc101971319758
765765 else {
766- let $acc112015920204 = changeHeightEntry($acc102015920204, $list2015920204[10])
766+ let $acc111971319758 = changeHeightEntry($acc101971319758, $list1971319758[10])
767767 throw("List size exceed 10")
768768 }
769769 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let adminPubKey1 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
66 let adminPubKey2 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
88 let adminPubKey3 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
1010 let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
1212 let adminPubKeyWallet = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
1414 let keyActive = "active"
1515
1616 let keyCause = "shutdown_cause"
1717
1818 let keyLastInterest = "last_interest"
1919
2020 let keyUserLastInterest = "_last_interest"
2121
2222 let keyUserSWOPLocked = "_SWOP_amount"
2323
2424 let keyUserGetBackHeight = "_getBackHeight"
2525
2626 let keyTotalSWOPLocked = "total_SWOP_amount"
2727
2828 let kUserTotalVoteSWOP = "_user_total_SWOP_vote"
2929
3030 let keyUserVoteOptionAmount = "_SWOP_option_amount"
3131
3232 let keyTotalVoteOptionAmount = "total_SWOP_option_amount"
3333
3434 let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount"
3535
3636 let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount"
3737
3838 let keyVoteName = "vote_name"
3939
4040 let keyOptionName = "_option_name"
4141
4242 let keyVotingStartHeight = "_startHeight"
4343
4444 let keyVoteDuration = "_vote_duration"
4545
4646 let keyRewardPoolFractionCurrent = "_current_pool_fraction_reward"
4747
4848 let keyRewardPoolFractionPrevious = "_previous_pool_fraction_reward"
4949
5050 let keyHeightPoolFraction = "_pool_reward_update_height"
5151
5252 let keyTotalRewardPerBlockCurrent = "total_reward_per_block_current"
5353
5454 let keyTotalRewardPerBlockPrevious = "total_reward_per_block_previous"
5555
5656 let keyRewardUpdateHeight = "reward_update_height"
5757
5858 let keyRewardUpdateFirstPaginationHeight = "reward_update_height_first_pagination"
5959
6060 let keyNoVotingForNewPool = "_vote_no"
6161
6262 let keyYesVotingForNewPool = "_vote_yes"
6363
6464 let keyAmountOfVotingForNewPool = "max_amount_voting"
6565
6666 let keyStatusOfVotingForNewPool = "_status"
6767
6868 let keyHeightOfPoolVotingForNewPool = "_finish_height"
6969
7070 let activeVoteFirst = "voting_active_cell_1"
7171
7272 let activeVoteSecond = "voting_active_cell_2"
7373
7474 let activeVoteThird = "voting_active_cell_3"
7575
7676 let keyTempPrevSum = "sum_reward_previous"
7777
7878 let keyTempCurSum = "sum_reward_current"
7979
8080 let isActive = valueOrElse(getBoolean(this, keyActive), true)
8181
8282 let farmingSWOPAddress = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
8383
8484 let votingLiteContract = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8585
8686 let votingForNewPool = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
8787
8888 let keySWOPid = "SWOP_id"
8989
9090 let SWOP = fromBase58String(getStringValue(farmingSWOPAddress, keySWOPid))
9191
9292 let scaleValue = 100000000
9393
9494 let totalVoteShare = 10000000000
9595
9696 let kStartHeight = "start_height"
9797
9898 let kBasePeriod = "base_period"
9999
100100 let kPeriodLength = "period_length"
101101
102102 let kUserTotalStruc = "_user_total_struc"
103103
104104 let basePeriod = valueOrErrorMessage(getInteger(votingLiteContract, kBasePeriod), "Empty kBasePeriod at voting contract")
105105
106106 let startHeight = valueOrErrorMessage(getInteger(votingLiteContract, kStartHeight), "Empty kStartHeight at voting contract")
107107
108108 let periodLength = valueOrErrorMessage(getInteger(votingLiteContract, kPeriodLength), "Empty kPeriodLength at voting contract")
109109
110110 let firstActiveVote = valueOrElse(getString(votingForNewPool, activeVoteFirst), "")
111111
112112 let secondActiveVote = valueOrElse(getString(votingForNewPool, activeVoteSecond), "")
113113
114114 let thirdActiveVote = valueOrElse(getString(votingForNewPool, activeVoteThird), "")
115115
116116 let currVotingPeriod = (basePeriod + ((height - startHeight) / periodLength))
117117
118118 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
119119
120120
121121 func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
122122
123123
124124 func getLastInterestInfo () = {
125125 let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
126126 lastInterest
127127 }
128128
129129
130130 func getUserSWOPLocked (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPLocked)), 0)
131131
132132
133133 func getUserSWOPClaimedAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPClaimedAmount)), 0)
134134
135135
136136 func getUserTotalVoteAmount (user) = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
137137
138138
139139 func getUserInterestInfo (user,lastInterest) = {
140140 let userSWOPAmount = getUserSWOPLocked(user)
141141 let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest))
142142 let userLastInterestValue = match userLastInterest {
143143 case userLastInterest: Int =>
144144 userLastInterest
145145 case _ =>
146146 lastInterest
147147 }
148148 $Tuple2(userLastInterestValue, userSWOPAmount)
149149 }
150150
151151
152152 func getUserTotalVoteAmountForOnePool (pool,user) = {
153153 let voting = valueOrElse(getInteger(votingForNewPool, pool), -1)
154154 let heightOfVoting = valueOrElse(getInteger(votingForNewPool, (toString(voting) + keyHeightOfPoolVotingForNewPool)), 0)
155155 let statusOfVoting = valueOrElse(getBoolean(votingForNewPool, (toString(voting) + keyStatusOfVotingForNewPool)), true)
156156 let currentHeight = height
157157 if ((0 > voting))
158158 then 0
159159 else if (!(statusOfVoting))
160160 then 0
161161 else if ((heightOfVoting > currentHeight))
162162 then (valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyYesVotingForNewPool)), 0) + valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyNoVotingForNewPool)), 0))
163163 else 0
164164 }
165165
166166
167167 func getUserTotalVoteForNewPoolAmount (user) = {
168168 let listOfVoting = [getUserTotalVoteAmountForOnePool(firstActiveVote, user), getUserTotalVoteAmountForOnePool(secondActiveVote, user), getUserTotalVoteAmountForOnePool(thirdActiveVote, user)]
169169 max(listOfVoting)
170170 }
171171
172172
173173 func getTotalSWOPLocked () = valueOrElse(getInteger(this, keyTotalSWOPLocked), 0)
174174
175175
176176 func getUserVoteInfo (user) = {
177- let $t060866637 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
177+ let $t059586509 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
178178 then {
179179 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
180180 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
181181 }
182182 else {
183183 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
184184 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
185185 }
186- let userTotalVoteSWOP = $t060866637._1
187- let userUnvoted = $t060866637._2
188- let userUnvotedPeriod = $t060866637._3
186+ let userTotalVoteSWOP = $t059586509._1
187+ let userUnvoted = $t059586509._2
188+ let userUnvotedPeriod = $t059586509._3
189189 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
190190 then userUnvoted
191191 else 0
192192 $Tuple2(userTotalVoteSWOP, userUnvotedActual)
193193 }
194194
195195
196196 func getUserVoteOptionAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), 0)
197197
198198
199199 func getVotingStartHeight (voteName) = valueOrElse(getInteger(this, (voteName + keyVotingStartHeight)), 0)
200200
201201
202202 func getPoolUpdateHeight (pool) = valueOrElse(getInteger(this, (pool + keyHeightPoolFraction)), 0)
203203
204204
205205 func isDefinePoolUpdateHeight (pool) = isDefined(getInteger(this, (pool + keyHeightPoolFraction)))
206206
207207
208208 func getCurPoolWeight (pool) = valueOrElse(getInteger(this, (pool + keyRewardPoolFractionCurrent)), 0)
209209
210210
211211 func getVoteOptionAmount (user,voteName,option) = {
212212 let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount))
213213 let uvoa = match userVoteOptionAmount {
214214 case uvoa: Int =>
215215 uvoa
216216 case uvoa: Unit =>
217217 0
218218 case _ =>
219219 throw("Match error")
220220 }
221221 valueOrErrorMessage(uvoa, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount))
222222 }
223223
224224
225225 func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration))
226226
227227
228228 func getTotalVoteOptionAmount (voteName,option) = {
229229 let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount))
230230 let tvoa = match totalVoteOptionAmount {
231231 case tvoa: Int =>
232232 tvoa
233233 case tvoa: Unit =>
234234 0
235235 case _ =>
236236 throw("Match error")
237237 }
238238 tvoa
239239 }
240240
241241
242242 func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = {
243243 let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight))
244244 valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key))
245245 }
246246
247247
248248 func claimCalc (caller) = {
249249 let lastInterest = getLastInterestInfo()
250- let $t088898969 = getUserInterestInfo(caller, lastInterest)
251- let userLastInterest = $t088898969._1
252- let userSWOPLocked = $t088898969._2
250+ let $t087618841 = getUserInterestInfo(caller, lastInterest)
251+ let userLastInterest = $t087618841._1
252+ let userSWOPLocked = $t087618841._2
253253 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
254254 let userNewInterest = lastInterest
255255 $Tuple2(userNewInterest, claimAmount)
256256 }
257257
258258
259259 @Callable(i)
260260 func airDrop () = if (!(isActive))
261261 then throw("DApp is inactive at this moment")
262262 else {
263- let $t092349309 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
264- let pmtAmount = $t092349309._1
265- let pmtAssetId = $t092349309._2
263+ let $t091069181 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
264+ let pmtAmount = $t091069181._1
265+ let pmtAssetId = $t091069181._2
266266 if ((pmtAssetId != SWOP))
267267 then throw("Incorrect pmtAssetId")
268268 else {
269269 let totalSWOPLocked = getTotalSWOPLocked()
270270 let lastInterest = getLastInterestInfo()
271271 let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
272272 [IntegerEntry(keyLastInterest, interestNew)]
273273 }
274274 }
275275
276276
277277
278278 @Callable(i)
279279 func lockSWOP () = if (!(isActive))
280280 then throw("DApp is inactive at this moment")
281281 else {
282- let $t097479822 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
283- let pmtAmount = $t097479822._1
284- let pmtAssetId = $t097479822._2
282+ let $t096199694 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
283+ let pmtAmount = $t096199694._1
284+ let pmtAssetId = $t096199694._2
285285 if ((pmtAssetId != SWOP))
286286 then throw("Incorrect pmtAssetId")
287287 else {
288288 let lastInterest = getLastInterestInfo()
289- let $t0993810020 = getUserInterestInfo(i.caller, lastInterest)
290- let userLastInterest = $t0993810020._1
291- let userSWOPLocked = $t0993810020._2
289+ let $t098109892 = getUserInterestInfo(i.caller, lastInterest)
290+ let userLastInterest = $t098109892._1
291+ let userSWOPLocked = $t098109892._2
292292 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
293293 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
294294 let userNewInterest = lastInterest
295295 let totalSWOPLocked = getTotalSWOPLocked()
296296 let totalSWOPLockedNew = ((totalSWOPLocked + pmtAmount) + claimAmount)
297297 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
298298 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
299299 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
300300 }
301301 }
302302
303303
304304
305305 @Callable(i)
306306 func withdrawSWOP (withdrawAmount) = if (!(isActive))
307307 then throw("DApp is inactive at this moment")
308308 else if ((0 >= withdrawAmount))
309309 then throw("withdrawAmount <= 0")
310310 else {
311311 let totalSWOPLocked = getTotalSWOPLocked()
312312 let userSWOPLocked = getUserSWOPLocked(i.caller)
313- let $t01117011225 = claimCalc(i.caller)
314- let userNewInterest = $t01117011225._1
315- let claimAmount = $t01117011225._2
316- let $t01123011295 = getUserVoteInfo(i.caller)
317- let userVoteAmount = $t01123011295._1
318- let userUnvoteAmount = $t01123011295._2
313+ let $t01104211097 = claimCalc(i.caller)
314+ let userNewInterest = $t01104211097._1
315+ let claimAmount = $t01104211097._2
316+ let $t01110211167 = getUserVoteInfo(i.caller)
317+ let userVoteAmount = $t01110211167._1
318+ let userUnvoteAmount = $t01110211167._2
319319 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
320320 if (if (if ((0 > userUnvoteAmount))
321321 then true
322322 else (0 > userVoteAmount))
323323 then true
324324 else (0 > userVoteAmountForNewPool))
325325 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
326326 else {
327327 let availableToUnstake = (userSWOPLocked - max([userVoteAmountForNewPool, (userVoteAmount + userUnvoteAmount)]))
328328 if ((withdrawAmount > availableToUnstake))
329329 then throw("withdrawAmount > availableToUnstake")
330330 else {
331331 let totalSWOPLockedNew = ((totalSWOPLocked + claimAmount) - withdrawAmount)
332332 let userSWOPamountNew = ((userSWOPLocked + claimAmount) - withdrawAmount)
333333 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
334334 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
335335 [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPamountNew), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), ScriptTransfer(i.caller, withdrawAmount, SWOP), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
336336 }
337337 }
338338 }
339339
340340
341341
342342 @Callable(i)
343343 func claimAndWithdrawSWOP () = if (!(isActive))
344344 then throw("DApp is inactive at this moment")
345345 else {
346346 let lastInterest = getLastInterestInfo()
347- let $t01267012725 = claimCalc(i.caller)
348- let userNewInterest = $t01267012725._1
349- let claimAmount = $t01267012725._2
347+ let $t01254212597 = claimCalc(i.caller)
348+ let userNewInterest = $t01254212597._1
349+ let claimAmount = $t01254212597._2
350350 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
351351 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
352352 if ((claimAmount == 0))
353353 then throw("You have 0 available SWOP")
354354 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, claimAmount, SWOP)]
355355 }
356356
357357
358358
359359 @Callable(i)
360360 func claimAndStakeSWOP () = if (!(isActive))
361361 then throw("DApp is inactive at this moment")
362362 else {
363363 let totalSWOPLocked = getTotalSWOPLocked()
364364 let userSWOPLocked = getUserSWOPLocked(i.caller)
365365 let lastInterest = getLastInterestInfo()
366- let $t01350413559 = claimCalc(i.caller)
367- let userNewInterest = $t01350413559._1
368- let claimAmount = $t01350413559._2
366+ let $t01337613431 = claimCalc(i.caller)
367+ let userNewInterest = $t01337613431._1
368+ let claimAmount = $t01337613431._2
369369 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
370370 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
371371 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
372372 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
373373 if ((claimAmount == 0))
374374 then throw("You have 0 available SWOP")
375375 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry(keyTotalSWOPLocked, totalSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPLocked), userSWOPLockedNew), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount)]
376376 }
377377
378378
379379
380380 @Callable(i)
381381 func updateWeights (previousPools,previousRewards,currentPools,currentRewards,rewardUpdateHeight,pagination) = if (!(isActive))
382382 then throw("DApp is inactive at this moment")
383383 else {
384384 let amountPools = 10
385385 let totalRewardUpdateHeight = valueOrElse(getInteger(this, keyRewardUpdateHeight), 0)
386386 if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop, adminPubKeyWallet], i.callerPublicKey)))
387387 then throw("Only admin can call this function")
388388 else if (if ((size(previousPools) > amountPools))
389389 then true
390390 else (size(currentPools) > amountPools))
391391 then throw(("Max amount of pool is " + toString(amountPools)))
392392 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
393- then throw(((("rewardUpdateHeight <= totalRewardUpdateHeight; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + "; totalRewardUpdateHeight: ") + toString(totalRewardUpdateHeight)))
393+ then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
394394 else if ((height >= rewardUpdateHeight))
395395 then throw("height >= rewardUpdateHeight")
396396 else if ((0 >= rewardUpdateHeight))
397397 then throw("0 >= rewardUpdateHeight ")
398398 else {
399399 func sum (a,b) = (a + b)
400400
401401 func changePreviousRewardEntry (accumulated,pool) = {
402402 let poolRewardUpdateHeight = getPoolUpdateHeight(pool)
403- if (isDefinePoolUpdateHeight(pool))
403+ if (!(isDefinePoolUpdateHeight(pool)))
404404 then {
405405 let poolReward = getCurPoolWeight(pool)
406406 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
407407 }
408408 else if ((rewardUpdateHeight != poolRewardUpdateHeight))
409409 then if ((poolRewardUpdateHeight == totalRewardUpdateHeight))
410410 then {
411411 let poolReward = getCurPoolWeight(pool)
412412 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
413413 }
414414 else accumulated
415415 else accumulated
416416 }
417417
418418 func changeCurrentRewardEntry (accumulated,pool) = {
419419 let poolIndex = value(indexOf(currentPools, pool))
420420 let poolReward = currentRewards[poolIndex]
421421 if ((0 > poolReward))
422422 then throw("PoolReward < 0")
423423 else IntegerEntry((pool + keyRewardPoolFractionCurrent), poolReward) :: accumulated
424424 }
425425
426426 func changeHeightEntry (accumulated,pool) = {
427427 let poolHeight = rewardUpdateHeight
428428 IntegerEntry((pool + keyHeightPoolFraction), poolHeight) :: accumulated
429429 }
430430
431431 func getSumReward (prevTempSum,curTempSum,pagination) = if ((pagination == 0))
432432 then if (if ((prevTempSum > totalVoteShare))
433433 then true
434434 else (curTempSum > totalVoteShare))
435- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
435+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString(prevTempSum)) + " ") + toString(curTempSum)))
436436 else $Tuple3([IntegerEntry(keyTempPrevSum, prevTempSum)], [IntegerEntry(keyTempCurSum, curTempSum)], [IntegerEntry(keyRewardUpdateFirstPaginationHeight, rewardUpdateHeight)])
437437 else if ((pagination == 1))
438438 then {
439439 let prevTempSumFromKey = valueOrElse(getInteger(this, keyTempPrevSum), 0)
440440 let curTempSumFromKey = valueOrElse(getInteger(this, keyTempCurSum), 0)
441441 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
442442 if (if (((prevTempSum + prevTempSumFromKey) > totalVoteShare))
443443 then true
444444 else ((curTempSum + curTempSumFromKey) > totalVoteShare))
445- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare: " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
445+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString((prevTempSum + prevTempSumFromKey))) + " ") + toString((curTempSum + curTempSumFromKey))))
446446 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
447- then throw(((("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry; rewardUpdateHeight: " + toString(rewardUpdateHeight)) + " rewardUpdateHeightFirstPaginationEntry: ") + toString(rewardUpdateHeightFirstPaginationEntry)))
447+ then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
448448 else $Tuple3([IntegerEntry(keyTempPrevSum, (prevTempSum + prevTempSumFromKey))], [IntegerEntry(keyTempCurSum, (curTempSum + curTempSumFromKey))], nil)
449449 }
450450 else if ((pagination == 2))
451451 then {
452452 let prevSum = (valueOrElse(getInteger(this, keyTempPrevSum), 0) + prevTempSum)
453453 let curSum = (valueOrElse(getInteger(this, keyTempCurSum), 0) + curTempSum)
454454 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
455455 if (if ((prevSum != totalVoteShare))
456456 then true
457457 else (curSum != totalVoteShare))
458458 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
459459 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
460460 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
461461 else $Tuple3([IntegerEntry(keyTempPrevSum, prevSum)], [IntegerEntry(keyTempCurSum, curSum)], nil)
462462 }
463- else throw(("Incorrect pagination: " + toString(pagination)))
463+ else throw("Incorrect pagination")
464464
465465 let sumRewardPreviousTemp = {
466- let $list1948419517 = previousRewards
467- let $size1948419517 = size($list1948419517)
468- let $acc01948419517 = 0
469- if (($size1948419517 == 0))
470- then $acc01948419517
466+ let $list1903919072 = previousRewards
467+ let $size1903919072 = size($list1903919072)
468+ let $acc01903919072 = 0
469+ if (($size1903919072 == 0))
470+ then $acc01903919072
471471 else {
472- let $acc11948419517 = sum($acc01948419517, $list1948419517[0])
473- if (($size1948419517 == 1))
474- then $acc11948419517
472+ let $acc11903919072 = sum($acc01903919072, $list1903919072[0])
473+ if (($size1903919072 == 1))
474+ then $acc11903919072
475475 else {
476- let $acc21948419517 = sum($acc11948419517, $list1948419517[1])
477- if (($size1948419517 == 2))
478- then $acc21948419517
476+ let $acc21903919072 = sum($acc11903919072, $list1903919072[1])
477+ if (($size1903919072 == 2))
478+ then $acc21903919072
479479 else {
480- let $acc31948419517 = sum($acc21948419517, $list1948419517[2])
481- if (($size1948419517 == 3))
482- then $acc31948419517
480+ let $acc31903919072 = sum($acc21903919072, $list1903919072[2])
481+ if (($size1903919072 == 3))
482+ then $acc31903919072
483483 else {
484- let $acc41948419517 = sum($acc31948419517, $list1948419517[3])
485- if (($size1948419517 == 4))
486- then $acc41948419517
484+ let $acc41903919072 = sum($acc31903919072, $list1903919072[3])
485+ if (($size1903919072 == 4))
486+ then $acc41903919072
487487 else {
488- let $acc51948419517 = sum($acc41948419517, $list1948419517[4])
489- if (($size1948419517 == 5))
490- then $acc51948419517
488+ let $acc51903919072 = sum($acc41903919072, $list1903919072[4])
489+ if (($size1903919072 == 5))
490+ then $acc51903919072
491491 else {
492- let $acc61948419517 = sum($acc51948419517, $list1948419517[5])
493- if (($size1948419517 == 6))
494- then $acc61948419517
492+ let $acc61903919072 = sum($acc51903919072, $list1903919072[5])
493+ if (($size1903919072 == 6))
494+ then $acc61903919072
495495 else {
496- let $acc71948419517 = sum($acc61948419517, $list1948419517[6])
497- if (($size1948419517 == 7))
498- then $acc71948419517
496+ let $acc71903919072 = sum($acc61903919072, $list1903919072[6])
497+ if (($size1903919072 == 7))
498+ then $acc71903919072
499499 else {
500- let $acc81948419517 = sum($acc71948419517, $list1948419517[7])
501- if (($size1948419517 == 8))
502- then $acc81948419517
500+ let $acc81903919072 = sum($acc71903919072, $list1903919072[7])
501+ if (($size1903919072 == 8))
502+ then $acc81903919072
503503 else {
504- let $acc91948419517 = sum($acc81948419517, $list1948419517[8])
505- if (($size1948419517 == 9))
506- then $acc91948419517
504+ let $acc91903919072 = sum($acc81903919072, $list1903919072[8])
505+ if (($size1903919072 == 9))
506+ then $acc91903919072
507507 else {
508- let $acc101948419517 = sum($acc91948419517, $list1948419517[9])
509- if (($size1948419517 == 10))
510- then $acc101948419517
508+ let $acc101903919072 = sum($acc91903919072, $list1903919072[9])
509+ if (($size1903919072 == 10))
510+ then $acc101903919072
511511 else {
512- let $acc111948419517 = sum($acc101948419517, $list1948419517[10])
512+ let $acc111903919072 = sum($acc101903919072, $list1903919072[10])
513513 throw("List size exceed 10")
514514 }
515515 }
516516 }
517517 }
518518 }
519519 }
520520 }
521521 }
522522 }
523523 }
524524 }
525525 }
526526 let sumRewardCurrentTemp = {
527- let $list1955019582 = currentRewards
528- let $size1955019582 = size($list1955019582)
529- let $acc01955019582 = 0
530- if (($size1955019582 == 0))
531- then $acc01955019582
527+ let $list1910519137 = currentRewards
528+ let $size1910519137 = size($list1910519137)
529+ let $acc01910519137 = 0
530+ if (($size1910519137 == 0))
531+ then $acc01910519137
532532 else {
533- let $acc11955019582 = sum($acc01955019582, $list1955019582[0])
534- if (($size1955019582 == 1))
535- then $acc11955019582
533+ let $acc11910519137 = sum($acc01910519137, $list1910519137[0])
534+ if (($size1910519137 == 1))
535+ then $acc11910519137
536536 else {
537- let $acc21955019582 = sum($acc11955019582, $list1955019582[1])
538- if (($size1955019582 == 2))
539- then $acc21955019582
537+ let $acc21910519137 = sum($acc11910519137, $list1910519137[1])
538+ if (($size1910519137 == 2))
539+ then $acc21910519137
540540 else {
541- let $acc31955019582 = sum($acc21955019582, $list1955019582[2])
542- if (($size1955019582 == 3))
543- then $acc31955019582
541+ let $acc31910519137 = sum($acc21910519137, $list1910519137[2])
542+ if (($size1910519137 == 3))
543+ then $acc31910519137
544544 else {
545- let $acc41955019582 = sum($acc31955019582, $list1955019582[3])
546- if (($size1955019582 == 4))
547- then $acc41955019582
545+ let $acc41910519137 = sum($acc31910519137, $list1910519137[3])
546+ if (($size1910519137 == 4))
547+ then $acc41910519137
548548 else {
549- let $acc51955019582 = sum($acc41955019582, $list1955019582[4])
550- if (($size1955019582 == 5))
551- then $acc51955019582
549+ let $acc51910519137 = sum($acc41910519137, $list1910519137[4])
550+ if (($size1910519137 == 5))
551+ then $acc51910519137
552552 else {
553- let $acc61955019582 = sum($acc51955019582, $list1955019582[5])
554- if (($size1955019582 == 6))
555- then $acc61955019582
553+ let $acc61910519137 = sum($acc51910519137, $list1910519137[5])
554+ if (($size1910519137 == 6))
555+ then $acc61910519137
556556 else {
557- let $acc71955019582 = sum($acc61955019582, $list1955019582[6])
558- if (($size1955019582 == 7))
559- then $acc71955019582
557+ let $acc71910519137 = sum($acc61910519137, $list1910519137[6])
558+ if (($size1910519137 == 7))
559+ then $acc71910519137
560560 else {
561- let $acc81955019582 = sum($acc71955019582, $list1955019582[7])
562- if (($size1955019582 == 8))
563- then $acc81955019582
561+ let $acc81910519137 = sum($acc71910519137, $list1910519137[7])
562+ if (($size1910519137 == 8))
563+ then $acc81910519137
564564 else {
565- let $acc91955019582 = sum($acc81955019582, $list1955019582[8])
566- if (($size1955019582 == 9))
567- then $acc91955019582
565+ let $acc91910519137 = sum($acc81910519137, $list1910519137[8])
566+ if (($size1910519137 == 9))
567+ then $acc91910519137
568568 else {
569- let $acc101955019582 = sum($acc91955019582, $list1955019582[9])
570- if (($size1955019582 == 10))
571- then $acc101955019582
569+ let $acc101910519137 = sum($acc91910519137, $list1910519137[9])
570+ if (($size1910519137 == 10))
571+ then $acc101910519137
572572 else {
573- let $acc111955019582 = sum($acc101955019582, $list1955019582[10])
573+ let $acc111910519137 = sum($acc101910519137, $list1910519137[10])
574574 throw("List size exceed 10")
575575 }
576576 }
577577 }
578578 }
579579 }
580580 }
581581 }
582582 }
583583 }
584584 }
585585 }
586586 }
587- let $t01958819741 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
588- let sumRewardPrevious = $t01958819741._1
589- let sumRewardCurrent = $t01958819741._2
590- let rewardUpdateHeightFirstPaginationEntry = $t01958819741._3
587+ let $t01914319296 = getSumReward(sumRewardPreviousTemp, sumRewardCurrentTemp, pagination)
588+ let sumRewardPrevious = $t01914319296._1
589+ let sumRewardCurrent = $t01914319296._2
590+ let rewardUpdateHeightFirstPaginationEntry = $t01914319296._3
591591 let rewardUpdateHeightEntry = if ((pagination == 2))
592592 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
593593 else nil
594594 if ((height > rewardUpdateHeight))
595595 then throw("rewardUpdateHeight < height")
596596 else {
597597 let previousRewardEntryNew = {
598- let $list1999120045 = previousPools
599- let $size1999120045 = size($list1999120045)
600- let $acc01999120045 = nil
601- if (($size1999120045 == 0))
602- then $acc01999120045
598+ let $list1954619599 = currentPools
599+ let $size1954619599 = size($list1954619599)
600+ let $acc01954619599 = nil
601+ if (($size1954619599 == 0))
602+ then $acc01954619599
603603 else {
604- let $acc11999120045 = changePreviousRewardEntry($acc01999120045, $list1999120045[0])
605- if (($size1999120045 == 1))
606- then $acc11999120045
604+ let $acc11954619599 = changePreviousRewardEntry($acc01954619599, $list1954619599[0])
605+ if (($size1954619599 == 1))
606+ then $acc11954619599
607607 else {
608- let $acc21999120045 = changePreviousRewardEntry($acc11999120045, $list1999120045[1])
609- if (($size1999120045 == 2))
610- then $acc21999120045
608+ let $acc21954619599 = changePreviousRewardEntry($acc11954619599, $list1954619599[1])
609+ if (($size1954619599 == 2))
610+ then $acc21954619599
611611 else {
612- let $acc31999120045 = changePreviousRewardEntry($acc21999120045, $list1999120045[2])
613- if (($size1999120045 == 3))
614- then $acc31999120045
612+ let $acc31954619599 = changePreviousRewardEntry($acc21954619599, $list1954619599[2])
613+ if (($size1954619599 == 3))
614+ then $acc31954619599
615615 else {
616- let $acc41999120045 = changePreviousRewardEntry($acc31999120045, $list1999120045[3])
617- if (($size1999120045 == 4))
618- then $acc41999120045
616+ let $acc41954619599 = changePreviousRewardEntry($acc31954619599, $list1954619599[3])
617+ if (($size1954619599 == 4))
618+ then $acc41954619599
619619 else {
620- let $acc51999120045 = changePreviousRewardEntry($acc41999120045, $list1999120045[4])
621- if (($size1999120045 == 5))
622- then $acc51999120045
620+ let $acc51954619599 = changePreviousRewardEntry($acc41954619599, $list1954619599[4])
621+ if (($size1954619599 == 5))
622+ then $acc51954619599
623623 else {
624- let $acc61999120045 = changePreviousRewardEntry($acc51999120045, $list1999120045[5])
625- if (($size1999120045 == 6))
626- then $acc61999120045
624+ let $acc61954619599 = changePreviousRewardEntry($acc51954619599, $list1954619599[5])
625+ if (($size1954619599 == 6))
626+ then $acc61954619599
627627 else {
628- let $acc71999120045 = changePreviousRewardEntry($acc61999120045, $list1999120045[6])
629- if (($size1999120045 == 7))
630- then $acc71999120045
628+ let $acc71954619599 = changePreviousRewardEntry($acc61954619599, $list1954619599[6])
629+ if (($size1954619599 == 7))
630+ then $acc71954619599
631631 else {
632- let $acc81999120045 = changePreviousRewardEntry($acc71999120045, $list1999120045[7])
633- if (($size1999120045 == 8))
634- then $acc81999120045
632+ let $acc81954619599 = changePreviousRewardEntry($acc71954619599, $list1954619599[7])
633+ if (($size1954619599 == 8))
634+ then $acc81954619599
635635 else {
636- let $acc91999120045 = changePreviousRewardEntry($acc81999120045, $list1999120045[8])
637- if (($size1999120045 == 9))
638- then $acc91999120045
636+ let $acc91954619599 = changePreviousRewardEntry($acc81954619599, $list1954619599[8])
637+ if (($size1954619599 == 9))
638+ then $acc91954619599
639639 else {
640- let $acc101999120045 = changePreviousRewardEntry($acc91999120045, $list1999120045[9])
641- if (($size1999120045 == 10))
642- then $acc101999120045
640+ let $acc101954619599 = changePreviousRewardEntry($acc91954619599, $list1954619599[9])
641+ if (($size1954619599 == 10))
642+ then $acc101954619599
643643 else {
644- let $acc111999120045 = changePreviousRewardEntry($acc101999120045, $list1999120045[10])
644+ let $acc111954619599 = changePreviousRewardEntry($acc101954619599, $list1954619599[10])
645645 throw("List size exceed 10")
646646 }
647647 }
648648 }
649649 }
650650 }
651651 }
652652 }
653653 }
654654 }
655655 }
656656 }
657657 }
658658 let currentRewardEntryNew = {
659- let $list2007820130 = currentPools
660- let $size2007820130 = size($list2007820130)
661- let $acc02007820130 = nil
662- if (($size2007820130 == 0))
663- then $acc02007820130
659+ let $list1963219684 = currentPools
660+ let $size1963219684 = size($list1963219684)
661+ let $acc01963219684 = nil
662+ if (($size1963219684 == 0))
663+ then $acc01963219684
664664 else {
665- let $acc12007820130 = changeCurrentRewardEntry($acc02007820130, $list2007820130[0])
666- if (($size2007820130 == 1))
667- then $acc12007820130
665+ let $acc11963219684 = changeCurrentRewardEntry($acc01963219684, $list1963219684[0])
666+ if (($size1963219684 == 1))
667+ then $acc11963219684
668668 else {
669- let $acc22007820130 = changeCurrentRewardEntry($acc12007820130, $list2007820130[1])
670- if (($size2007820130 == 2))
671- then $acc22007820130
669+ let $acc21963219684 = changeCurrentRewardEntry($acc11963219684, $list1963219684[1])
670+ if (($size1963219684 == 2))
671+ then $acc21963219684
672672 else {
673- let $acc32007820130 = changeCurrentRewardEntry($acc22007820130, $list2007820130[2])
674- if (($size2007820130 == 3))
675- then $acc32007820130
673+ let $acc31963219684 = changeCurrentRewardEntry($acc21963219684, $list1963219684[2])
674+ if (($size1963219684 == 3))
675+ then $acc31963219684
676676 else {
677- let $acc42007820130 = changeCurrentRewardEntry($acc32007820130, $list2007820130[3])
678- if (($size2007820130 == 4))
679- then $acc42007820130
677+ let $acc41963219684 = changeCurrentRewardEntry($acc31963219684, $list1963219684[3])
678+ if (($size1963219684 == 4))
679+ then $acc41963219684
680680 else {
681- let $acc52007820130 = changeCurrentRewardEntry($acc42007820130, $list2007820130[4])
682- if (($size2007820130 == 5))
683- then $acc52007820130
681+ let $acc51963219684 = changeCurrentRewardEntry($acc41963219684, $list1963219684[4])
682+ if (($size1963219684 == 5))
683+ then $acc51963219684
684684 else {
685- let $acc62007820130 = changeCurrentRewardEntry($acc52007820130, $list2007820130[5])
686- if (($size2007820130 == 6))
687- then $acc62007820130
685+ let $acc61963219684 = changeCurrentRewardEntry($acc51963219684, $list1963219684[5])
686+ if (($size1963219684 == 6))
687+ then $acc61963219684
688688 else {
689- let $acc72007820130 = changeCurrentRewardEntry($acc62007820130, $list2007820130[6])
690- if (($size2007820130 == 7))
691- then $acc72007820130
689+ let $acc71963219684 = changeCurrentRewardEntry($acc61963219684, $list1963219684[6])
690+ if (($size1963219684 == 7))
691+ then $acc71963219684
692692 else {
693- let $acc82007820130 = changeCurrentRewardEntry($acc72007820130, $list2007820130[7])
694- if (($size2007820130 == 8))
695- then $acc82007820130
693+ let $acc81963219684 = changeCurrentRewardEntry($acc71963219684, $list1963219684[7])
694+ if (($size1963219684 == 8))
695+ then $acc81963219684
696696 else {
697- let $acc92007820130 = changeCurrentRewardEntry($acc82007820130, $list2007820130[8])
698- if (($size2007820130 == 9))
699- then $acc92007820130
697+ let $acc91963219684 = changeCurrentRewardEntry($acc81963219684, $list1963219684[8])
698+ if (($size1963219684 == 9))
699+ then $acc91963219684
700700 else {
701- let $acc102007820130 = changeCurrentRewardEntry($acc92007820130, $list2007820130[9])
702- if (($size2007820130 == 10))
703- then $acc102007820130
701+ let $acc101963219684 = changeCurrentRewardEntry($acc91963219684, $list1963219684[9])
702+ if (($size1963219684 == 10))
703+ then $acc101963219684
704704 else {
705- let $acc112007820130 = changeCurrentRewardEntry($acc102007820130, $list2007820130[10])
705+ let $acc111963219684 = changeCurrentRewardEntry($acc101963219684, $list1963219684[10])
706706 throw("List size exceed 10")
707707 }
708708 }
709709 }
710710 }
711711 }
712712 }
713713 }
714714 }
715715 }
716716 }
717717 }
718718 }
719719 let heightEntryNewCur = {
720- let $list2015920204 = currentPools
721- let $size2015920204 = size($list2015920204)
722- let $acc02015920204 = nil
723- if (($size2015920204 == 0))
724- then $acc02015920204
720+ let $list1971319758 = currentPools
721+ let $size1971319758 = size($list1971319758)
722+ let $acc01971319758 = nil
723+ if (($size1971319758 == 0))
724+ then $acc01971319758
725725 else {
726- let $acc12015920204 = changeHeightEntry($acc02015920204, $list2015920204[0])
727- if (($size2015920204 == 1))
728- then $acc12015920204
726+ let $acc11971319758 = changeHeightEntry($acc01971319758, $list1971319758[0])
727+ if (($size1971319758 == 1))
728+ then $acc11971319758
729729 else {
730- let $acc22015920204 = changeHeightEntry($acc12015920204, $list2015920204[1])
731- if (($size2015920204 == 2))
732- then $acc22015920204
730+ let $acc21971319758 = changeHeightEntry($acc11971319758, $list1971319758[1])
731+ if (($size1971319758 == 2))
732+ then $acc21971319758
733733 else {
734- let $acc32015920204 = changeHeightEntry($acc22015920204, $list2015920204[2])
735- if (($size2015920204 == 3))
736- then $acc32015920204
734+ let $acc31971319758 = changeHeightEntry($acc21971319758, $list1971319758[2])
735+ if (($size1971319758 == 3))
736+ then $acc31971319758
737737 else {
738- let $acc42015920204 = changeHeightEntry($acc32015920204, $list2015920204[3])
739- if (($size2015920204 == 4))
740- then $acc42015920204
738+ let $acc41971319758 = changeHeightEntry($acc31971319758, $list1971319758[3])
739+ if (($size1971319758 == 4))
740+ then $acc41971319758
741741 else {
742- let $acc52015920204 = changeHeightEntry($acc42015920204, $list2015920204[4])
743- if (($size2015920204 == 5))
744- then $acc52015920204
742+ let $acc51971319758 = changeHeightEntry($acc41971319758, $list1971319758[4])
743+ if (($size1971319758 == 5))
744+ then $acc51971319758
745745 else {
746- let $acc62015920204 = changeHeightEntry($acc52015920204, $list2015920204[5])
747- if (($size2015920204 == 6))
748- then $acc62015920204
746+ let $acc61971319758 = changeHeightEntry($acc51971319758, $list1971319758[5])
747+ if (($size1971319758 == 6))
748+ then $acc61971319758
749749 else {
750- let $acc72015920204 = changeHeightEntry($acc62015920204, $list2015920204[6])
751- if (($size2015920204 == 7))
752- then $acc72015920204
750+ let $acc71971319758 = changeHeightEntry($acc61971319758, $list1971319758[6])
751+ if (($size1971319758 == 7))
752+ then $acc71971319758
753753 else {
754- let $acc82015920204 = changeHeightEntry($acc72015920204, $list2015920204[7])
755- if (($size2015920204 == 8))
756- then $acc82015920204
754+ let $acc81971319758 = changeHeightEntry($acc71971319758, $list1971319758[7])
755+ if (($size1971319758 == 8))
756+ then $acc81971319758
757757 else {
758- let $acc92015920204 = changeHeightEntry($acc82015920204, $list2015920204[8])
759- if (($size2015920204 == 9))
760- then $acc92015920204
758+ let $acc91971319758 = changeHeightEntry($acc81971319758, $list1971319758[8])
759+ if (($size1971319758 == 9))
760+ then $acc91971319758
761761 else {
762- let $acc102015920204 = changeHeightEntry($acc92015920204, $list2015920204[9])
763- if (($size2015920204 == 10))
764- then $acc102015920204
762+ let $acc101971319758 = changeHeightEntry($acc91971319758, $list1971319758[9])
763+ if (($size1971319758 == 10))
764+ then $acc101971319758
765765 else {
766- let $acc112015920204 = changeHeightEntry($acc102015920204, $list2015920204[10])
766+ let $acc111971319758 = changeHeightEntry($acc101971319758, $list1971319758[10])
767767 throw("List size exceed 10")
768768 }
769769 }
770770 }
771771 }
772772 }
773773 }
774774 }
775775 }
776776 }
777777 }
778778 }
779779 }
780780 ((((((previousRewardEntryNew ++ currentRewardEntryNew) ++ heightEntryNewCur) ++ sumRewardPrevious) ++ sumRewardCurrent) ++ rewardUpdateHeightEntry) ++ rewardUpdateHeightFirstPaginationEntry)
781781 }
782782 }
783783 }
784784
785785
786786
787787 @Callable(i)
788788 func shutdown () = if (!(isActive))
789789 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
790790 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
791791 then throw("Only admin can call this function")
792792 else suspend("Paused by admin")
793793
794794
795795
796796 @Callable(i)
797797 func activate () = if (isActive)
798798 then throw("DApp is already active")
799799 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
800800 then throw("Only admin can call this function")
801801 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
802802
803803
804804 @Verifier(tx)
805805 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
806806

github/deemru/w8io/169f3d6 
572.53 ms