tx · 9f7ZjBxc7tEcT2AS5V8PKZpEds1uQkntnWL6BenCTK66

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.07.22 01:40 [1623994] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "9f7ZjBxc7tEcT2AS5V8PKZpEds1uQkntnWL6BenCTK66", "fee": 1400000, "feeAssetId": null, "timestamp": 1626907216822, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "5WhXGXYbpprvdiiQ1KKXQ6683eAnbkFMC6Dt7m1E8CeiyDU5HLSKEFk9gxLSE2tnjTXPLtmEQTyq9jjzUGvswBUE", "4dT4m66cuHbUSbHhTVTzApDZfDwNSNeRBdgRpoqyNUtczg1y5MHg8UvpNGNVHNRdYqx9ACSZHayH9JhrmvPw4fXK" ], "script": "base64:AAIEAAAAAAAAABsIAhIAEgASAwoBARIAEgASBgoEGBEBARIAEgAAAABOAAAAAAxhZG1pblB1YktleTEBAAAAIOKnjEA7hs0X5rRLh9vloYOsriqh7DcuXmUFE/K17O8EAAAAAAxhZG1pblB1YktleTIBAAAAIOo4rLkBtYg8cqOeKD2B1BoiZRETjd+Og418/VfxmxFZAAAAAAxhZG1pblB1YktleTMBAAAAIKc0loKwo8nHXTJiAX87RSdPM+q/NsQBzxC3dHCqJ8xuAAAAABRhZG1pblB1YktleVN0YXJ0U3RvcAEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAEWFkbWluUHViS2V5V2FsbGV0AQAAACA+d1plWlbJ/ClXM7W8DUUtysyn+IWSDjd3WPNiFVIUEgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAACGtleUNhdXNlAgAAAA5zaHV0ZG93bl9jYXVzZQAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA1sYXN0X2ludGVyZXN0AAAAABNrZXlVc2VyTGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAARa2V5VXNlclNXT1BMb2NrZWQCAAAADF9TV09QX2Ftb3VudAAAAAAUa2V5VXNlckdldEJhY2tIZWlnaHQCAAAADl9nZXRCYWNrSGVpZ2h0AAAAABJrZXlUb3RhbFNXT1BMb2NrZWQCAAAAEXRvdGFsX1NXT1BfYW1vdW50AAAAABJrVXNlclRvdGFsVm90ZVNXT1ACAAAAFV91c2VyX3RvdGFsX1NXT1Bfdm90ZQAAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQCAAAAE19TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAIAAAAYdG90YWxfU1dPUF9vcHRpb25fYW1vdW50AAAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQCAAAAFF9TV09QX2NsYWltZWRfYW1vdW50AAAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50AgAAABlfU1dPUF9sYXN0X2NsYWltZWRfYW1vdW50AAAAAAtrZXlWb3RlTmFtZQIAAAAJdm90ZV9uYW1lAAAAAA1rZXlPcHRpb25OYW1lAgAAAAxfb3B0aW9uX25hbWUAAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AgAAAAxfc3RhcnRIZWlnaHQAAAAAD2tleVZvdGVEdXJhdGlvbgIAAAAOX3ZvdGVfZHVyYXRpb24AAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQCAAAAHV9jdXJyZW50X3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwIAAAAeX3ByZXZpb3VzX3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24CAAAAGl9wb29sX3Jld2FyZF91cGRhdGVfaGVpZ2h0AAAAAB1rZXlUb3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAIAAAAedG90YWxfcmV3YXJkX3Blcl9ibG9ja19jdXJyZW50AAAAAB5rZXlUb3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMCAAAAH3RvdGFsX3Jld2FyZF9wZXJfYmxvY2tfcHJldmlvdXMAAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAIAAAAUcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAIAAAAlcmV3YXJkX3VwZGF0ZV9oZWlnaHRfZmlyc3RfcGFnaW5hdGlvbgAAAAAVa2V5Tm9Wb3RpbmdGb3JOZXdQb29sAgAAAAhfdm90ZV9ubwAAAAAWa2V5WWVzVm90aW5nRm9yTmV3UG9vbAIAAAAJX3ZvdGVfeWVzAAAAABtrZXlBbW91bnRPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAEW1heF9hbW91bnRfdm90aW5nAAAAABtrZXlTdGF0dXNPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAB19zdGF0dXMAAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wCAAAADl9maW5pc2hfaGVpZ2h0AAAAAA9hY3RpdmVWb3RlRmlyc3QCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8xAAAAABBhY3RpdmVWb3RlU2Vjb25kAgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMgAAAAAPYWN0aXZlVm90ZVRoaXJkAgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVBo2ft9Xop0naVz+v/cm1Of7ocNoPiDKfwAAAAAQdm90aW5nRm9yTmV3UG9vbAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHYh4XkVy3N3fz+gY3RQqyMsWxkYg/NLggAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAPZmlyc3RBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAAAAAAABBzZWNvbmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAAAAAAABBjdXJyVm90aW5nUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BMb2NrZWQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACAAAABHBvb2wAAAAEdXNlcgQAAAAGdm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAYEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGdm90aW5nAAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAA5zdGF0dXNPZlZvdGluZwAAAAAAAAAAAAMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAADWN1cnJlbnRIZWlnaHQJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABAAAABHVzZXIEAAAADGxpc3RPZlZvdGluZwkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA90aGlyZEFjdGl2ZVZvdGUFAAAABHVzZXIFAAAAA25pbAkAAZYAAAABBQAAAAxsaXN0T2ZWb3RpbmcBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDYwMzY2NTg3AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBAAAAARkYXRhCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMCAAAAFUVtcHR5IGtVc2VyVG90YWxTdHJ1YwIAAAABXwkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAACBAAAAA51UG9vbFRvdGFsU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNjAzNjY1ODcAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNjAzNjY1ODcAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNjAzNjY1ODcAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgAAAAAAAAAAAAEAAAAYaXNEZWZpbmVQb29sVXBkYXRlSGVpZ2h0AAAAAQAAAARwb29sCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgEAAAAQZ2V0Q3VyUG9vbFdlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQAAAAAAAAAAAABAAAAEWdldFByZXZQb29sV2VpZ2h0AAAAAQAAAARwb29sCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMAAAAAAAAAAAABAAAAE2dldFZvdGVPcHRpb25BbW91bnQAAAADAAAABHVzZXIAAAAIdm90ZU5hbWUAAAAGb3B0aW9uBAAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50BAAAAAR1dm9hBAAAAAckbWF0Y2gwBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR1dm9hBQAAAAckbWF0Y2gwBQAAAAR1dm9hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAR1dm9hBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIFAAAABHV2b2EJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24JAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQBAAAAD2dldFZvdGVEdXJhdGlvbgAAAAEAAAAIdm90ZU5hbWUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAA9rZXlWb3RlRHVyYXRpb24JAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAIdm90ZU5hbWUFAAAAD2tleVZvdGVEdXJhdGlvbgEAAAAYZ2V0VG90YWxWb3RlT3B0aW9uQW1vdW50AAAAAgAAAAh2b3RlTmFtZQAAAAZvcHRpb24EAAAAFXRvdGFsVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgUAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50BAAAAAR0dm9hBAAAAAckbWF0Y2gwBQAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAEdHZvYQUAAAAHJG1hdGNoMAUAAAAEdHZvYQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAAEdHZvYQUAAAAHJG1hdGNoMAAAAAAAAAAAAAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgUAAAAEdHZvYQEAAAAUZ2V0VXNlckdldEJhY2tBbW91bnQAAAAEAAAACHZvdGVOYW1lAAAABm9wdGlvbgAAAAR1c2VyAAAAEWdldEJhY2tTV09QSGVpZ2h0BAAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lAgAAAAFfBQAAAAZvcHRpb24CAAAAAV8JAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAABFnZXRCYWNrU1dPUEhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAADa2V5AQAAAAljbGFpbUNhbGMAAAABAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDg5OTU5MDc1CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIFAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwODk5NTkwNzUAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwODk5NTkwNzUAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAPdXNlck5ld0ludGVyZXN0BQAAAAtjbGFpbUFtb3VudAAAAAgAAAABaQEAAAAHYWlyRHJvcAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDkzNDA5NDE1CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTM0MDk0MTUAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5MzQwOTQxNQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAtpbnRlcmVzdE5ldwkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BMb2NrZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAALaW50ZXJlc3ROZXcFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDk4NTM5OTI4CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTg1Mzk5MjgAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5ODUzOTkyOAAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMDA0NDEwMTI2CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAANJHQwMTAwNDQxMDEyNgAAAAJfMQQAAAAOdXNlclNXT1BMb2NrZWQIBQAAAA0kdDAxMDA0NDEwMTI2AAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAAx3aXRoZHJhd1NXT1AAAAABAAAADndpdGhkcmF3QW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAGcAAAACAAAAAAAAAAAABQAAAA53aXRoZHJhd0Ftb3VudAkAAAIAAAABAgAAABN3aXRoZHJhd0Ftb3VudCA8PSAwBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA0kdDAxMTI3NjExMzMxCQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMTI3NjExMzMxAAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDExMjc2MTEzMzEAAAACXzIEAAAADSR0MDExMzM2MTE0MDEJAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADnVzZXJWb3RlQW1vdW50CAUAAAANJHQwMTEzMzYxMTQwMQAAAAJfMQQAAAAQdXNlclVudm90ZUFtb3VudAgFAAAADSR0MDExMzM2MTE0MDEAAAACXzIEAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkBAAAAIGdldFVzZXJUb3RhbFZvdGVGb3JOZXdQb29sQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyAwMDCQAAZgAAAAIAAAAAAAAAAAAFAAAAEHVzZXJVbnZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAADnVzZXJWb3RlQW1vdW50BgkAAGYAAAACAAAAAAAAAAAABQAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAAACAAAAAQIAAABKdXNlclVudm90ZUFtb3VudCA8IDAgfHwgdXNlclZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbCA8IDAEAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAGUAAAACBQAAAA51c2VyU1dPUExvY2tlZAkAAZYAAAABCQAETAAAAAIFAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkABEwAAAACCQAAZAAAAAIFAAAADnVzZXJWb3RlQW1vdW50BQAAABB1c2VyVW52b3RlQW1vdW50BQAAAANuaWwDCQAAZgAAAAIFAAAADndpdGhkcmF3QW1vdW50BQAAABJhdmFpbGFibGVUb1Vuc3Rha2UJAAACAAAAAQIAAAAjd2l0aGRyYXdBbW91bnQgPiBhdmFpbGFibGVUb1Vuc3Rha2UEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGUAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyU1dPUGFtb3VudE5ldwkAAGUAAAACCQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QYW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADndpdGhkcmF3QW1vdW50BQAAAARTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAAFGNsYWltQW5kV2l0aGRyYXdTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDEyNzc2MTI4MzEJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDEyNzc2MTI4MzEAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTI3NzYxMjgzMQAAAAJfMgQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BQAAAARTV09QBQAAAANuaWwAAAABaQEAAAARY2xhaW1BbmRTdGFrZVNXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTM2MTAxMzY2NQkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTM2MTAxMzY2NQAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMzYxMDEzNjY1AAAAAl8yBAAAABF1c2VyU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAANdXBkYXRlV2VpZ2h0cwAAAAQAAAAMY3VycmVudFBvb2xzAAAADmN1cnJlbnRSZXdhcmRzAAAAEnJld2FyZFVwZGF0ZUhlaWdodAAAAApwYWdpbmF0aW9uAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAthbW91bnRQb29scwAAAAAAAAAACgQAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAkABEwAAAACBQAAABFhZG1pblB1YktleVdhbGxldAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwkAAGYAAAACCQABkAAAAAEFAAAADGN1cnJlbnRQb29scwUAAAALYW1vdW50UG9vbHMJAAACAAAAAQkAASwAAAACAgAAABZNYXggYW1vdW50IG9mIHBvb2wgaXMgCQABpAAAAAEFAAAAC2Ftb3VudFBvb2xzAwkAAGcAAAACBQAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAALXJld2FyZFVwZGF0ZUhlaWdodCA8PSB0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAMJAABnAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAcaGVpZ2h0ID49IHJld2FyZFVwZGF0ZUhlaWdodAMJAABnAAAAAgAAAAAAAAAAAAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAGDAgPj0gcmV3YXJkVXBkYXRlSGVpZ2h0IAoBAAAAA3N1bQAAAAIAAAABYQAAAAFiCQAAZAAAAAIFAAAAAWEFAAAAAWIKAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CQEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEFAAAABHBvb2wDAwkBAAAAASEAAAABCQEAAAAYaXNEZWZpbmVQb29sVXBkYXRlSGVpZ2h0AAAAAQUAAAAEcG9vbAYDCQEAAAACIT0AAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQJAAAAAAAAAgUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQHBAAAAApwb29sUmV3YXJkCQEAAAAQZ2V0Q3VyUG9vbFdlaWdodAAAAAEFAAAABHBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkBAAAAApwb29sUmV3YXJkCQEAAAARZ2V0UHJldlBvb2xXZWlnaHQAAAABBQAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAJcG9vbEluZGV4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAADGN1cnJlbnRQb29scwUAAAAEcG9vbAQAAAAKcG9vbFJld2FyZAkAAZEAAAACBQAAAA5jdXJyZW50UmV3YXJkcwUAAAAJcG9vbEluZGV4AwkAAGYAAAACAAAAAAAAAAAABQAAAApwb29sUmV3YXJkCQAAAgAAAAECAAAADlBvb2xSZXdhcmQgPCAwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkCgEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACnBvb2xIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24FAAAACnBvb2xIZWlnaHQFAAAAC2FjY3VtdWxhdGVkCgEAAAAMZ2V0U3VtUmV3YXJkAAAAAgAAAApjdXJUZW1wU3VtAAAACnBhZ2luYXRpb24DCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAADCQAAZgAAAAIFAAAACmN1clRlbXBTdW0FAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAASnN1bVJld2FyZFByZXZpb3VzID4gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCA+IHRvdGFsVm90ZVNoYXJlIC0gCQABpAAAAAEFAAAACnBhZ2luYXRpb24CAAAAASAJAAGkAAAAAQUAAAAKY3VyVGVtcFN1bQkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtBQAAAApjdXJUZW1wU3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAEEAAAAEWN1clRlbXBTdW1Gcm9tS2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleVRlbXBDdXJTdW0AAAAAAAAAAAAEAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMJAABmAAAAAgkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5AwkBAAAAAiE9AAAAAgUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAERjdXJyZW50IHJld2FyZFVwZGF0ZUhlaWdodCAhPSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAgQAAAAGY3VyU3VtCQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAANa2V5VGVtcEN1clN1bQAAAAAAAAAAAAUAAAAKY3VyVGVtcFN1bQQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AAAAAAAAAAAAAwkBAAAAAiE9AAAAAgUAAAAGY3VyU3VtBQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABAgAAAElzdW1SZXdhcmRQcmV2aW91cyAhPSB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ICE9IHRvdGFsVm90ZVNoYXJlAwkBAAAAAiE9AAAAAgUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAERjdXJyZW50IHJld2FyZFVwZGF0ZUhlaWdodCAhPSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtBQAAAAZjdXJTdW0FAAAAA25pbAUAAAADbmlsCQAAAgAAAAECAAAAFEluY29ycmVjdCBwYWdpbmF0aW9uBAAAABZwcmV2aW91c1Jld2FyZEVudHJ5TmV3BAAAAA8kbGlzdDE4NTM3MTg1ODkFAAAADGN1cnJlbnRQb29scwQAAAAPJHNpemUxODUzNzE4NTg5CQABkAAAAAEFAAAADyRsaXN0MTg1MzcxODU4OQQAAAAPJGFjYzAxODUzNzE4NTg5BQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAAAAUAAAAPJGFjYzAxODUzNzE4NTg5BAAAAA8kYWNjMTE4NTM3MTg1ODkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxODUzNzE4NTg5CQABkQAAAAIFAAAADyRsaXN0MTg1MzcxODU4OQAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxODUzNzE4NTg5AAAAAAAAAAABBQAAAA8kYWNjMTE4NTM3MTg1ODkEAAAADyRhY2MyMTg1MzcxODU4OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTE4NTM3MTg1ODkJAAGRAAAAAgUAAAAPJGxpc3QxODUzNzE4NTg5AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE4NTM3MTg1ODkAAAAAAAAAAAIFAAAADyRhY2MyMTg1MzcxODU4OQQAAAAPJGFjYzMxODUzNzE4NTg5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MyMTg1MzcxODU4OQkAAZEAAAACBQAAAA8kbGlzdDE4NTM3MTg1ODkAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAAAwUAAAAPJGFjYzMxODUzNzE4NTg5BAAAAA8kYWNjNDE4NTM3MTg1ODkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxODUzNzE4NTg5CQABkQAAAAIFAAAADyRsaXN0MTg1MzcxODU4OQAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxODUzNzE4NTg5AAAAAAAAAAAEBQAAAA8kYWNjNDE4NTM3MTg1ODkEAAAADyRhY2M1MTg1MzcxODU4OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDE4NTM3MTg1ODkJAAGRAAAAAgUAAAAPJGxpc3QxODUzNzE4NTg5AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE4NTM3MTg1ODkAAAAAAAAAAAUFAAAADyRhY2M1MTg1MzcxODU4OQQAAAAPJGFjYzYxODUzNzE4NTg5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M1MTg1MzcxODU4OQkAAZEAAAACBQAAAA8kbGlzdDE4NTM3MTg1ODkAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAABgUAAAAPJGFjYzYxODUzNzE4NTg5BAAAAA8kYWNjNzE4NTM3MTg1ODkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxODUzNzE4NTg5CQABkQAAAAIFAAAADyRsaXN0MTg1MzcxODU4OQAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxODUzNzE4NTg5AAAAAAAAAAAHBQAAAA8kYWNjNzE4NTM3MTg1ODkEAAAADyRhY2M4MTg1MzcxODU4OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzE4NTM3MTg1ODkJAAGRAAAAAgUAAAAPJGxpc3QxODUzNzE4NTg5AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE4NTM3MTg1ODkAAAAAAAAAAAgFAAAADyRhY2M4MTg1MzcxODU4OQQAAAAPJGFjYzkxODUzNzE4NTg5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M4MTg1MzcxODU4OQkAAZEAAAACBQAAAA8kbGlzdDE4NTM3MTg1ODkAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAACQUAAAAPJGFjYzkxODUzNzE4NTg5BAAAABAkYWNjMTAxODUzNzE4NTg5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTg1MzcxODU4OQkAAZEAAAACBQAAAA8kbGlzdDE4NTM3MTg1ODkAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAACgUAAAAQJGFjYzEwMTg1MzcxODU4OQQAAAAQJGFjYzExMTg1MzcxODU4OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAxODUzNzE4NTg5CQABkQAAAAIFAAAADyRsaXN0MTg1MzcxODU4OQAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABVjdXJyZW50UmV3YXJkRW50cnlOZXcEAAAADyRsaXN0MTg2MjIxODY3NAUAAAAMY3VycmVudFBvb2xzBAAAAA8kc2l6ZTE4NjIyMTg2NzQJAAGQAAAAAQUAAAAPJGxpc3QxODYyMjE4Njc0BAAAAA8kYWNjMDE4NjIyMTg2NzQFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxODYyMjE4Njc0AAAAAAAAAAAABQAAAA8kYWNjMDE4NjIyMTg2NzQEAAAADyRhY2MxMTg2MjIxODY3NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MwMTg2MjIxODY3NAkAAZEAAAACBQAAAA8kbGlzdDE4NjIyMTg2NzQAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTg2MjIxODY3NAAAAAAAAAAAAQUAAAAPJGFjYzExODYyMjE4Njc0BAAAAA8kYWNjMjE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTE4NjIyMTg2NzQJAAGRAAAAAgUAAAAPJGxpc3QxODYyMjE4Njc0AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE4NjIyMTg2NzQAAAAAAAAAAAIFAAAADyRhY2MyMTg2MjIxODY3NAQAAAAPJGFjYzMxODYyMjE4Njc0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzIxODYyMjE4Njc0CQABkQAAAAIFAAAADyRsaXN0MTg2MjIxODY3NAAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxODYyMjE4Njc0AAAAAAAAAAADBQAAAA8kYWNjMzE4NjIyMTg2NzQEAAAADyRhY2M0MTg2MjIxODY3NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MzMTg2MjIxODY3NAkAAZEAAAACBQAAAA8kbGlzdDE4NjIyMTg2NzQAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTg2MjIxODY3NAAAAAAAAAAABAUAAAAPJGFjYzQxODYyMjE4Njc0BAAAAA8kYWNjNTE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDE4NjIyMTg2NzQJAAGRAAAAAgUAAAAPJGxpc3QxODYyMjE4Njc0AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE4NjIyMTg2NzQAAAAAAAAAAAUFAAAADyRhY2M1MTg2MjIxODY3NAQAAAAPJGFjYzYxODYyMjE4Njc0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzUxODYyMjE4Njc0CQABkQAAAAIFAAAADyRsaXN0MTg2MjIxODY3NAAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxODYyMjE4Njc0AAAAAAAAAAAGBQAAAA8kYWNjNjE4NjIyMTg2NzQEAAAADyRhY2M3MTg2MjIxODY3NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M2MTg2MjIxODY3NAkAAZEAAAACBQAAAA8kbGlzdDE4NjIyMTg2NzQAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTg2MjIxODY3NAAAAAAAAAAABwUAAAAPJGFjYzcxODYyMjE4Njc0BAAAAA8kYWNjODE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzE4NjIyMTg2NzQJAAGRAAAAAgUAAAAPJGxpc3QxODYyMjE4Njc0AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE4NjIyMTg2NzQAAAAAAAAAAAgFAAAADyRhY2M4MTg2MjIxODY3NAQAAAAPJGFjYzkxODYyMjE4Njc0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzgxODYyMjE4Njc0CQABkQAAAAIFAAAADyRsaXN0MTg2MjIxODY3NAAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxODYyMjE4Njc0AAAAAAAAAAAJBQAAAA8kYWNjOTE4NjIyMTg2NzQEAAAAECRhY2MxMDE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjOTE4NjIyMTg2NzQJAAGRAAAAAgUAAAAPJGxpc3QxODYyMjE4Njc0AAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE4NjIyMTg2NzQAAAAAAAAAAAoFAAAAECRhY2MxMDE4NjIyMTg2NzQEAAAAECRhY2MxMTE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAxODYyMjE4Njc0CQABkQAAAAIFAAAADyRsaXN0MTg2MjIxODY3NAAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABFoZWlnaHRFbnRyeU5ld0N1cgQAAAAPJGxpc3QxODcwMzE4NzQ4BQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMTg3MDMxODc0OAkAAZAAAAABBQAAAA8kbGlzdDE4NzAzMTg3NDgEAAAADyRhY2MwMTg3MDMxODc0OAUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAAFAAAADyRhY2MwMTg3MDMxODc0OAQAAAAPJGFjYzExODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMDE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAEFAAAADyRhY2MxMTg3MDMxODc0OAQAAAAPJGFjYzIxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMTE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAIFAAAADyRhY2MyMTg3MDMxODc0OAQAAAAPJGFjYzMxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMjE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAMFAAAADyRhY2MzMTg3MDMxODc0OAQAAAAPJGFjYzQxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMzE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAQFAAAADyRhY2M0MTg3MDMxODc0OAQAAAAPJGFjYzUxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNDE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAUFAAAADyRhY2M1MTg3MDMxODc0OAQAAAAPJGFjYzYxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNTE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAYFAAAADyRhY2M2MTg3MDMxODc0OAQAAAAPJGFjYzcxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNjE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAcFAAAADyRhY2M3MTg3MDMxODc0OAQAAAAPJGFjYzgxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNzE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAgFAAAADyRhY2M4MTg3MDMxODc0OAQAAAAPJGFjYzkxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjODE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAkFAAAADyRhY2M5MTg3MDMxODc0OAQAAAAQJGFjYzEwMTg3MDMxODc0OAkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzkxODcwMzE4NzQ4CQABkQAAAAIFAAAADyRsaXN0MTg3MDMxODc0OAAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxODcwMzE4NzQ4AAAAAAAAAAAKBQAAABAkYWNjMTAxODcwMzE4NzQ4BAAAABAkYWNjMTExODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAABAkYWNjMTAxODcwMzE4NzQ4CQABkQAAAAIFAAAADyRsaXN0MTg3MDMxODc0OAAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABRzdW1SZXdhcmRDdXJyZW50VGVtcAQAAAAPJGxpc3QxODc4MjE4ODE0BQAAAA5jdXJyZW50UmV3YXJkcwQAAAAPJHNpemUxODc4MjE4ODE0CQABkAAAAAEFAAAADyRsaXN0MTg3ODIxODgxNAQAAAAPJGFjYzAxODc4MjE4ODE0AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzgyMTg4MTQAAAAAAAAAAAAFAAAADyRhY2MwMTg3ODIxODgxNAQAAAAPJGFjYzExODc4MjE4ODE0CQEAAAADc3VtAAAAAgUAAAAPJGFjYzAxODc4MjE4ODE0CQABkQAAAAIFAAAADyRsaXN0MTg3ODIxODgxNAAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxODc4MjE4ODE0AAAAAAAAAAABBQAAAA8kYWNjMTE4NzgyMTg4MTQEAAAADyRhY2MyMTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAADyRhY2MxMTg3ODIxODgxNAkAAZEAAAACBQAAAA8kbGlzdDE4NzgyMTg4MTQAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTg3ODIxODgxNAAAAAAAAAAAAgUAAAAPJGFjYzIxODc4MjE4ODE0BAAAAA8kYWNjMzE4NzgyMTg4MTQJAQAAAANzdW0AAAACBQAAAA8kYWNjMjE4NzgyMTg4MTQJAAGRAAAAAgUAAAAPJGxpc3QxODc4MjE4ODE0AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzgyMTg4MTQAAAAAAAAAAAMFAAAADyRhY2MzMTg3ODIxODgxNAQAAAAPJGFjYzQxODc4MjE4ODE0CQEAAAADc3VtAAAAAgUAAAAPJGFjYzMxODc4MjE4ODE0CQABkQAAAAIFAAAADyRsaXN0MTg3ODIxODgxNAAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxODc4MjE4ODE0AAAAAAAAAAAEBQAAAA8kYWNjNDE4NzgyMTg4MTQEAAAADyRhY2M1MTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAADyRhY2M0MTg3ODIxODgxNAkAAZEAAAACBQAAAA8kbGlzdDE4NzgyMTg4MTQAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTg3ODIxODgxNAAAAAAAAAAABQUAAAAPJGFjYzUxODc4MjE4ODE0BAAAAA8kYWNjNjE4NzgyMTg4MTQJAQAAAANzdW0AAAACBQAAAA8kYWNjNTE4NzgyMTg4MTQJAAGRAAAAAgUAAAAPJGxpc3QxODc4MjE4ODE0AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzgyMTg4MTQAAAAAAAAAAAYFAAAADyRhY2M2MTg3ODIxODgxNAQAAAAPJGFjYzcxODc4MjE4ODE0CQEAAAADc3VtAAAAAgUAAAAPJGFjYzYxODc4MjE4ODE0CQABkQAAAAIFAAAADyRsaXN0MTg3ODIxODgxNAAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxODc4MjE4ODE0AAAAAAAAAAAHBQAAAA8kYWNjNzE4NzgyMTg4MTQEAAAADyRhY2M4MTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAADyRhY2M3MTg3ODIxODgxNAkAAZEAAAACBQAAAA8kbGlzdDE4NzgyMTg4MTQAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTg3ODIxODgxNAAAAAAAAAAACAUAAAAPJGFjYzgxODc4MjE4ODE0BAAAAA8kYWNjOTE4NzgyMTg4MTQJAQAAAANzdW0AAAACBQAAAA8kYWNjODE4NzgyMTg4MTQJAAGRAAAAAgUAAAAPJGxpc3QxODc4MjE4ODE0AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzgyMTg4MTQAAAAAAAAAAAkFAAAADyRhY2M5MTg3ODIxODgxNAQAAAAQJGFjYzEwMTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAADyRhY2M5MTg3ODIxODgxNAkAAZEAAAACBQAAAA8kbGlzdDE4NzgyMTg4MTQAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTg3ODIxODgxNAAAAAAAAAAACgUAAAAQJGFjYzEwMTg3ODIxODgxNAQAAAAQJGFjYzExMTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAAECRhY2MxMDE4NzgyMTg4MTQJAAGRAAAAAgUAAAAPJGxpc3QxODc4MjE4ODE0AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAADSR0MDE4ODIwMTg5MzEJAQAAAAxnZXRTdW1SZXdhcmQAAAACBQAAABRzdW1SZXdhcmRDdXJyZW50VGVtcAUAAAAKcGFnaW5hdGlvbgQAAAAQc3VtUmV3YXJkQ3VycmVudAgFAAAADSR0MDE4ODIwMTg5MzEAAAACXzEEAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CAUAAAANJHQwMTg4MjAxODkzMQAAAAJfMgQAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwFAAAAA25pbAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAbcmV3YXJkVXBkYXRlSGVpZ2h0IDwgaGVpZ2h0CQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwUAAAAVY3VycmVudFJld2FyZEVudHJ5TmV3BQAAABFoZWlnaHRFbnRyeU5ld0N1cgUAAAAQc3VtUmV3YXJkQ3VycmVudAUAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5AAAAAWkBAAAACHNodXRkb3duAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQkAASwAAAACAgAAACJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAACGtleUNhdXNlAgAAABp0aGUgY2F1c2Ugd2Fzbid0IHNwZWNpZmllZAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkBAAAAB3N1c3BlbmQAAAABAgAAAA9QYXVzZWQgYnkgYWRtaW4AAAABaQEAAAAIYWN0aXZhdGUAAAAAAwUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAhrZXlDYXVzZQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnmK4k1", "height": 1623994, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GkWHCxFZc19j8a4MnZNWtD7dBZwqeeeaxvehhQhkT9cK Next: 9uGGE8JnS5SRGV6gGWTkbcJ8HConB2PEDMVTVTqyfFiS Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let adminPubKey1 = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
5+
6+let adminPubKey2 = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
7+
8+let adminPubKey3 = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
9+
410 let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
511
612 let adminPubKeyWallet = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
6874 let activeVoteThird = "voting_active_cell_3"
6975
7076 let keyTempCurSum = "sum_reward_current"
71-
72-let keyAdminPubKey1 = "admin_pub_1"
73-
74-let keyAdminPubKey2 = "admin_pub_2"
75-
76-let keyAdminPubKey3 = "admin_pub_3"
77-
78-let oracle = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
79-
80-func getAdminPub (keyAdminPub) = match getString(oracle, keyAdminPub) {
81- case string: String =>
82- fromBase58String(string)
83- case nothing =>
84- throw("Admin public key is empty")
85-}
86-
87-
88-let adminPubKey1 = getAdminPub(keyAdminPubKey1)
89-
90-let adminPubKey2 = getAdminPub(keyAdminPubKey2)
91-
92-let adminPubKey3 = getAdminPub(keyAdminPubKey3)
9377
9478 let isActive = valueOrElse(getBoolean(this, keyActive), true)
9579
188172
189173
190174 func getUserVoteInfo (user) = {
191- let $t063456896 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
175+ let $t060366587 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
192176 then {
193177 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
194178 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
197181 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
198182 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
199183 }
200- let userTotalVoteSWOP = $t063456896._1
201- let userUnvoted = $t063456896._2
202- let userUnvotedPeriod = $t063456896._3
184+ let userTotalVoteSWOP = $t060366587._1
185+ let userUnvoted = $t060366587._2
186+ let userUnvotedPeriod = $t060366587._3
203187 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
204188 then userUnvoted
205189 else 0
264248
265249 func claimCalc (caller) = {
266250 let lastInterest = getLastInterestInfo()
267- let $t093009380 = getUserInterestInfo(caller, lastInterest)
268- let userLastInterest = $t093009380._1
269- let userSWOPLocked = $t093009380._2
251+ let $t089959075 = getUserInterestInfo(caller, lastInterest)
252+ let userLastInterest = $t089959075._1
253+ let userSWOPLocked = $t089959075._2
270254 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
271255 let userNewInterest = lastInterest
272256 $Tuple2(userNewInterest, claimAmount)
277261 func airDrop () = if (!(isActive))
278262 then throw("DApp is inactive at this moment")
279263 else {
280- let $t096479722 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
281- let pmtAmount = $t096479722._1
282- let pmtAssetId = $t096479722._2
264+ let $t093409415 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
265+ let pmtAmount = $t093409415._1
266+ let pmtAssetId = $t093409415._2
283267 if ((pmtAssetId != SWOP))
284268 then throw("Incorrect pmtAssetId")
285269 else {
296280 func lockSWOP () = if (!(isActive))
297281 then throw("DApp is inactive at this moment")
298282 else {
299- let $t01016010235 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
300- let pmtAmount = $t01016010235._1
301- let pmtAssetId = $t01016010235._2
283+ let $t098539928 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
284+ let pmtAmount = $t098539928._1
285+ let pmtAssetId = $t098539928._2
302286 if ((pmtAssetId != SWOP))
303287 then throw("Incorrect pmtAssetId")
304288 else {
305289 let lastInterest = getLastInterestInfo()
306- let $t01035110433 = getUserInterestInfo(i.caller, lastInterest)
307- let userLastInterest = $t01035110433._1
308- let userSWOPLocked = $t01035110433._2
290+ let $t01004410126 = getUserInterestInfo(i.caller, lastInterest)
291+ let userLastInterest = $t01004410126._1
292+ let userSWOPLocked = $t01004410126._2
309293 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
310294 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
311295 let userNewInterest = lastInterest
327311 else {
328312 let totalSWOPLocked = getTotalSWOPLocked()
329313 let userSWOPLocked = getUserSWOPLocked(i.caller)
330- let $t01158511640 = claimCalc(i.caller)
331- let userNewInterest = $t01158511640._1
332- let claimAmount = $t01158511640._2
333- let $t01164511710 = getUserVoteInfo(i.caller)
334- let userVoteAmount = $t01164511710._1
335- let userUnvoteAmount = $t01164511710._2
314+ let $t01127611331 = claimCalc(i.caller)
315+ let userNewInterest = $t01127611331._1
316+ let claimAmount = $t01127611331._2
317+ let $t01133611401 = getUserVoteInfo(i.caller)
318+ let userVoteAmount = $t01133611401._1
319+ let userUnvoteAmount = $t01133611401._2
336320 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
337321 if (if (if ((0 > userUnvoteAmount))
338322 then true
361345 then throw("DApp is inactive at this moment")
362346 else {
363347 let lastInterest = getLastInterestInfo()
364- let $t01308513140 = claimCalc(i.caller)
365- let userNewInterest = $t01308513140._1
366- let claimAmount = $t01308513140._2
348+ let $t01277612831 = claimCalc(i.caller)
349+ let userNewInterest = $t01277612831._1
350+ let claimAmount = $t01277612831._2
367351 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
368352 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
369353 if ((claimAmount == 0))
380364 let totalSWOPLocked = getTotalSWOPLocked()
381365 let userSWOPLocked = getUserSWOPLocked(i.caller)
382366 let lastInterest = getLastInterestInfo()
383- let $t01391913974 = claimCalc(i.caller)
384- let userNewInterest = $t01391913974._1
385- let claimAmount = $t01391913974._2
367+ let $t01361013665 = claimCalc(i.caller)
368+ let userNewInterest = $t01361013665._1
369+ let claimAmount = $t01361013665._2
386370 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
387371 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
388372 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
470454 else throw("Incorrect pagination")
471455
472456 let previousRewardEntryNew = {
473- let $list1883518887 = currentPools
474- let $size1883518887 = size($list1883518887)
475- let $acc01883518887 = nil
476- if (($size1883518887 == 0))
477- then $acc01883518887
457+ let $list1853718589 = currentPools
458+ let $size1853718589 = size($list1853718589)
459+ let $acc01853718589 = nil
460+ if (($size1853718589 == 0))
461+ then $acc01853718589
478462 else {
479- let $acc11883518887 = changePreviousRewardEntry($acc01883518887, $list1883518887[0])
480- if (($size1883518887 == 1))
481- then $acc11883518887
463+ let $acc11853718589 = changePreviousRewardEntry($acc01853718589, $list1853718589[0])
464+ if (($size1853718589 == 1))
465+ then $acc11853718589
482466 else {
483- let $acc21883518887 = changePreviousRewardEntry($acc11883518887, $list1883518887[1])
484- if (($size1883518887 == 2))
485- then $acc21883518887
467+ let $acc21853718589 = changePreviousRewardEntry($acc11853718589, $list1853718589[1])
468+ if (($size1853718589 == 2))
469+ then $acc21853718589
486470 else {
487- let $acc31883518887 = changePreviousRewardEntry($acc21883518887, $list1883518887[2])
488- if (($size1883518887 == 3))
489- then $acc31883518887
471+ let $acc31853718589 = changePreviousRewardEntry($acc21853718589, $list1853718589[2])
472+ if (($size1853718589 == 3))
473+ then $acc31853718589
490474 else {
491- let $acc41883518887 = changePreviousRewardEntry($acc31883518887, $list1883518887[3])
492- if (($size1883518887 == 4))
493- then $acc41883518887
475+ let $acc41853718589 = changePreviousRewardEntry($acc31853718589, $list1853718589[3])
476+ if (($size1853718589 == 4))
477+ then $acc41853718589
494478 else {
495- let $acc51883518887 = changePreviousRewardEntry($acc41883518887, $list1883518887[4])
496- if (($size1883518887 == 5))
497- then $acc51883518887
479+ let $acc51853718589 = changePreviousRewardEntry($acc41853718589, $list1853718589[4])
480+ if (($size1853718589 == 5))
481+ then $acc51853718589
498482 else {
499- let $acc61883518887 = changePreviousRewardEntry($acc51883518887, $list1883518887[5])
500- if (($size1883518887 == 6))
501- then $acc61883518887
483+ let $acc61853718589 = changePreviousRewardEntry($acc51853718589, $list1853718589[5])
484+ if (($size1853718589 == 6))
485+ then $acc61853718589
502486 else {
503- let $acc71883518887 = changePreviousRewardEntry($acc61883518887, $list1883518887[6])
504- if (($size1883518887 == 7))
505- then $acc71883518887
487+ let $acc71853718589 = changePreviousRewardEntry($acc61853718589, $list1853718589[6])
488+ if (($size1853718589 == 7))
489+ then $acc71853718589
506490 else {
507- let $acc81883518887 = changePreviousRewardEntry($acc71883518887, $list1883518887[7])
508- if (($size1883518887 == 8))
509- then $acc81883518887
491+ let $acc81853718589 = changePreviousRewardEntry($acc71853718589, $list1853718589[7])
492+ if (($size1853718589 == 8))
493+ then $acc81853718589
510494 else {
511- let $acc91883518887 = changePreviousRewardEntry($acc81883518887, $list1883518887[8])
512- if (($size1883518887 == 9))
513- then $acc91883518887
495+ let $acc91853718589 = changePreviousRewardEntry($acc81853718589, $list1853718589[8])
496+ if (($size1853718589 == 9))
497+ then $acc91853718589
514498 else {
515- let $acc101883518887 = changePreviousRewardEntry($acc91883518887, $list1883518887[9])
516- if (($size1883518887 == 10))
517- then $acc101883518887
499+ let $acc101853718589 = changePreviousRewardEntry($acc91853718589, $list1853718589[9])
500+ if (($size1853718589 == 10))
501+ then $acc101853718589
518502 else {
519- let $acc111883518887 = changePreviousRewardEntry($acc101883518887, $list1883518887[10])
503+ let $acc111853718589 = changePreviousRewardEntry($acc101853718589, $list1853718589[10])
520504 throw("List size exceed 10")
521505 }
522506 }
531515 }
532516 }
533517 let currentRewardEntryNew = {
534- let $list1892018972 = currentPools
535- let $size1892018972 = size($list1892018972)
536- let $acc01892018972 = nil
537- if (($size1892018972 == 0))
538- then $acc01892018972
518+ let $list1862218674 = currentPools
519+ let $size1862218674 = size($list1862218674)
520+ let $acc01862218674 = nil
521+ if (($size1862218674 == 0))
522+ then $acc01862218674
539523 else {
540- let $acc11892018972 = changeCurrentRewardEntry($acc01892018972, $list1892018972[0])
541- if (($size1892018972 == 1))
542- then $acc11892018972
524+ let $acc11862218674 = changeCurrentRewardEntry($acc01862218674, $list1862218674[0])
525+ if (($size1862218674 == 1))
526+ then $acc11862218674
543527 else {
544- let $acc21892018972 = changeCurrentRewardEntry($acc11892018972, $list1892018972[1])
545- if (($size1892018972 == 2))
546- then $acc21892018972
528+ let $acc21862218674 = changeCurrentRewardEntry($acc11862218674, $list1862218674[1])
529+ if (($size1862218674 == 2))
530+ then $acc21862218674
547531 else {
548- let $acc31892018972 = changeCurrentRewardEntry($acc21892018972, $list1892018972[2])
549- if (($size1892018972 == 3))
550- then $acc31892018972
532+ let $acc31862218674 = changeCurrentRewardEntry($acc21862218674, $list1862218674[2])
533+ if (($size1862218674 == 3))
534+ then $acc31862218674
551535 else {
552- let $acc41892018972 = changeCurrentRewardEntry($acc31892018972, $list1892018972[3])
553- if (($size1892018972 == 4))
554- then $acc41892018972
536+ let $acc41862218674 = changeCurrentRewardEntry($acc31862218674, $list1862218674[3])
537+ if (($size1862218674 == 4))
538+ then $acc41862218674
555539 else {
556- let $acc51892018972 = changeCurrentRewardEntry($acc41892018972, $list1892018972[4])
557- if (($size1892018972 == 5))
558- then $acc51892018972
540+ let $acc51862218674 = changeCurrentRewardEntry($acc41862218674, $list1862218674[4])
541+ if (($size1862218674 == 5))
542+ then $acc51862218674
559543 else {
560- let $acc61892018972 = changeCurrentRewardEntry($acc51892018972, $list1892018972[5])
561- if (($size1892018972 == 6))
562- then $acc61892018972
544+ let $acc61862218674 = changeCurrentRewardEntry($acc51862218674, $list1862218674[5])
545+ if (($size1862218674 == 6))
546+ then $acc61862218674
563547 else {
564- let $acc71892018972 = changeCurrentRewardEntry($acc61892018972, $list1892018972[6])
565- if (($size1892018972 == 7))
566- then $acc71892018972
548+ let $acc71862218674 = changeCurrentRewardEntry($acc61862218674, $list1862218674[6])
549+ if (($size1862218674 == 7))
550+ then $acc71862218674
567551 else {
568- let $acc81892018972 = changeCurrentRewardEntry($acc71892018972, $list1892018972[7])
569- if (($size1892018972 == 8))
570- then $acc81892018972
552+ let $acc81862218674 = changeCurrentRewardEntry($acc71862218674, $list1862218674[7])
553+ if (($size1862218674 == 8))
554+ then $acc81862218674
571555 else {
572- let $acc91892018972 = changeCurrentRewardEntry($acc81892018972, $list1892018972[8])
573- if (($size1892018972 == 9))
574- then $acc91892018972
556+ let $acc91862218674 = changeCurrentRewardEntry($acc81862218674, $list1862218674[8])
557+ if (($size1862218674 == 9))
558+ then $acc91862218674
575559 else {
576- let $acc101892018972 = changeCurrentRewardEntry($acc91892018972, $list1892018972[9])
577- if (($size1892018972 == 10))
578- then $acc101892018972
560+ let $acc101862218674 = changeCurrentRewardEntry($acc91862218674, $list1862218674[9])
561+ if (($size1862218674 == 10))
562+ then $acc101862218674
579563 else {
580- let $acc111892018972 = changeCurrentRewardEntry($acc101892018972, $list1892018972[10])
564+ let $acc111862218674 = changeCurrentRewardEntry($acc101862218674, $list1862218674[10])
581565 throw("List size exceed 10")
582566 }
583567 }
592576 }
593577 }
594578 let heightEntryNewCur = {
595- let $list1900119046 = currentPools
596- let $size1900119046 = size($list1900119046)
597- let $acc01900119046 = nil
598- if (($size1900119046 == 0))
599- then $acc01900119046
579+ let $list1870318748 = currentPools
580+ let $size1870318748 = size($list1870318748)
581+ let $acc01870318748 = nil
582+ if (($size1870318748 == 0))
583+ then $acc01870318748
600584 else {
601- let $acc11900119046 = changeHeightEntry($acc01900119046, $list1900119046[0])
602- if (($size1900119046 == 1))
603- then $acc11900119046
585+ let $acc11870318748 = changeHeightEntry($acc01870318748, $list1870318748[0])
586+ if (($size1870318748 == 1))
587+ then $acc11870318748
604588 else {
605- let $acc21900119046 = changeHeightEntry($acc11900119046, $list1900119046[1])
606- if (($size1900119046 == 2))
607- then $acc21900119046
589+ let $acc21870318748 = changeHeightEntry($acc11870318748, $list1870318748[1])
590+ if (($size1870318748 == 2))
591+ then $acc21870318748
608592 else {
609- let $acc31900119046 = changeHeightEntry($acc21900119046, $list1900119046[2])
610- if (($size1900119046 == 3))
611- then $acc31900119046
593+ let $acc31870318748 = changeHeightEntry($acc21870318748, $list1870318748[2])
594+ if (($size1870318748 == 3))
595+ then $acc31870318748
612596 else {
613- let $acc41900119046 = changeHeightEntry($acc31900119046, $list1900119046[3])
614- if (($size1900119046 == 4))
615- then $acc41900119046
597+ let $acc41870318748 = changeHeightEntry($acc31870318748, $list1870318748[3])
598+ if (($size1870318748 == 4))
599+ then $acc41870318748
616600 else {
617- let $acc51900119046 = changeHeightEntry($acc41900119046, $list1900119046[4])
618- if (($size1900119046 == 5))
619- then $acc51900119046
601+ let $acc51870318748 = changeHeightEntry($acc41870318748, $list1870318748[4])
602+ if (($size1870318748 == 5))
603+ then $acc51870318748
620604 else {
621- let $acc61900119046 = changeHeightEntry($acc51900119046, $list1900119046[5])
622- if (($size1900119046 == 6))
623- then $acc61900119046
605+ let $acc61870318748 = changeHeightEntry($acc51870318748, $list1870318748[5])
606+ if (($size1870318748 == 6))
607+ then $acc61870318748
624608 else {
625- let $acc71900119046 = changeHeightEntry($acc61900119046, $list1900119046[6])
626- if (($size1900119046 == 7))
627- then $acc71900119046
609+ let $acc71870318748 = changeHeightEntry($acc61870318748, $list1870318748[6])
610+ if (($size1870318748 == 7))
611+ then $acc71870318748
628612 else {
629- let $acc81900119046 = changeHeightEntry($acc71900119046, $list1900119046[7])
630- if (($size1900119046 == 8))
631- then $acc81900119046
613+ let $acc81870318748 = changeHeightEntry($acc71870318748, $list1870318748[7])
614+ if (($size1870318748 == 8))
615+ then $acc81870318748
632616 else {
633- let $acc91900119046 = changeHeightEntry($acc81900119046, $list1900119046[8])
634- if (($size1900119046 == 9))
635- then $acc91900119046
617+ let $acc91870318748 = changeHeightEntry($acc81870318748, $list1870318748[8])
618+ if (($size1870318748 == 9))
619+ then $acc91870318748
636620 else {
637- let $acc101900119046 = changeHeightEntry($acc91900119046, $list1900119046[9])
638- if (($size1900119046 == 10))
639- then $acc101900119046
621+ let $acc101870318748 = changeHeightEntry($acc91870318748, $list1870318748[9])
622+ if (($size1870318748 == 10))
623+ then $acc101870318748
640624 else {
641- let $acc111900119046 = changeHeightEntry($acc101900119046, $list1900119046[10])
625+ let $acc111870318748 = changeHeightEntry($acc101870318748, $list1870318748[10])
642626 throw("List size exceed 10")
643627 }
644628 }
653637 }
654638 }
655639 let sumRewardCurrentTemp = {
656- let $list1908019112 = currentRewards
657- let $size1908019112 = size($list1908019112)
658- let $acc01908019112 = 0
659- if (($size1908019112 == 0))
660- then $acc01908019112
640+ let $list1878218814 = currentRewards
641+ let $size1878218814 = size($list1878218814)
642+ let $acc01878218814 = 0
643+ if (($size1878218814 == 0))
644+ then $acc01878218814
661645 else {
662- let $acc11908019112 = sum($acc01908019112, $list1908019112[0])
663- if (($size1908019112 == 1))
664- then $acc11908019112
646+ let $acc11878218814 = sum($acc01878218814, $list1878218814[0])
647+ if (($size1878218814 == 1))
648+ then $acc11878218814
665649 else {
666- let $acc21908019112 = sum($acc11908019112, $list1908019112[1])
667- if (($size1908019112 == 2))
668- then $acc21908019112
650+ let $acc21878218814 = sum($acc11878218814, $list1878218814[1])
651+ if (($size1878218814 == 2))
652+ then $acc21878218814
669653 else {
670- let $acc31908019112 = sum($acc21908019112, $list1908019112[2])
671- if (($size1908019112 == 3))
672- then $acc31908019112
654+ let $acc31878218814 = sum($acc21878218814, $list1878218814[2])
655+ if (($size1878218814 == 3))
656+ then $acc31878218814
673657 else {
674- let $acc41908019112 = sum($acc31908019112, $list1908019112[3])
675- if (($size1908019112 == 4))
676- then $acc41908019112
658+ let $acc41878218814 = sum($acc31878218814, $list1878218814[3])
659+ if (($size1878218814 == 4))
660+ then $acc41878218814
677661 else {
678- let $acc51908019112 = sum($acc41908019112, $list1908019112[4])
679- if (($size1908019112 == 5))
680- then $acc51908019112
662+ let $acc51878218814 = sum($acc41878218814, $list1878218814[4])
663+ if (($size1878218814 == 5))
664+ then $acc51878218814
681665 else {
682- let $acc61908019112 = sum($acc51908019112, $list1908019112[5])
683- if (($size1908019112 == 6))
684- then $acc61908019112
666+ let $acc61878218814 = sum($acc51878218814, $list1878218814[5])
667+ if (($size1878218814 == 6))
668+ then $acc61878218814
685669 else {
686- let $acc71908019112 = sum($acc61908019112, $list1908019112[6])
687- if (($size1908019112 == 7))
688- then $acc71908019112
670+ let $acc71878218814 = sum($acc61878218814, $list1878218814[6])
671+ if (($size1878218814 == 7))
672+ then $acc71878218814
689673 else {
690- let $acc81908019112 = sum($acc71908019112, $list1908019112[7])
691- if (($size1908019112 == 8))
692- then $acc81908019112
674+ let $acc81878218814 = sum($acc71878218814, $list1878218814[7])
675+ if (($size1878218814 == 8))
676+ then $acc81878218814
693677 else {
694- let $acc91908019112 = sum($acc81908019112, $list1908019112[8])
695- if (($size1908019112 == 9))
696- then $acc91908019112
678+ let $acc91878218814 = sum($acc81878218814, $list1878218814[8])
679+ if (($size1878218814 == 9))
680+ then $acc91878218814
697681 else {
698- let $acc101908019112 = sum($acc91908019112, $list1908019112[9])
699- if (($size1908019112 == 10))
700- then $acc101908019112
682+ let $acc101878218814 = sum($acc91878218814, $list1878218814[9])
683+ if (($size1878218814 == 10))
684+ then $acc101878218814
701685 else {
702- let $acc111908019112 = sum($acc101908019112, $list1908019112[10])
686+ let $acc111878218814 = sum($acc101878218814, $list1878218814[10])
703687 throw("List size exceed 10")
704688 }
705689 }
713697 }
714698 }
715699 }
716- let $t01911819229 = getSumReward(sumRewardCurrentTemp, pagination)
717- let sumRewardCurrent = $t01911819229._1
718- let rewardUpdateHeightFirstPaginationEntry = $t01911819229._2
700+ let $t01882018931 = getSumReward(sumRewardCurrentTemp, pagination)
701+ let sumRewardCurrent = $t01882018931._1
702+ let rewardUpdateHeightFirstPaginationEntry = $t01882018931._2
719703 let rewardUpdateHeightEntry = if ((pagination == 2))
720704 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
721705 else nil
745729
746730
747731 @Verifier(tx)
748-func verify () = {
749- let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
750- then 1
751- else 0
752- let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
753- then 1
754- else 0
755- let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
756- then 1
757- else 0
758- (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
759- }
732+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
760733
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let adminPubKey1 = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
5+
6+let adminPubKey2 = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
7+
8+let adminPubKey3 = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
9+
410 let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
511
612 let adminPubKeyWallet = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
713
814 let keyActive = "active"
915
1016 let keyCause = "shutdown_cause"
1117
1218 let keyLastInterest = "last_interest"
1319
1420 let keyUserLastInterest = "_last_interest"
1521
1622 let keyUserSWOPLocked = "_SWOP_amount"
1723
1824 let keyUserGetBackHeight = "_getBackHeight"
1925
2026 let keyTotalSWOPLocked = "total_SWOP_amount"
2127
2228 let kUserTotalVoteSWOP = "_user_total_SWOP_vote"
2329
2430 let keyUserVoteOptionAmount = "_SWOP_option_amount"
2531
2632 let keyTotalVoteOptionAmount = "total_SWOP_option_amount"
2733
2834 let keyUserSWOPClaimedAmount = "_SWOP_claimed_amount"
2935
3036 let keyUserSWOPLastClaimedAmount = "_SWOP_last_claimed_amount"
3137
3238 let keyVoteName = "vote_name"
3339
3440 let keyOptionName = "_option_name"
3541
3642 let keyVotingStartHeight = "_startHeight"
3743
3844 let keyVoteDuration = "_vote_duration"
3945
4046 let keyRewardPoolFractionCurrent = "_current_pool_fraction_reward"
4147
4248 let keyRewardPoolFractionPrevious = "_previous_pool_fraction_reward"
4349
4450 let keyHeightPoolFraction = "_pool_reward_update_height"
4551
4652 let keyTotalRewardPerBlockCurrent = "total_reward_per_block_current"
4753
4854 let keyTotalRewardPerBlockPrevious = "total_reward_per_block_previous"
4955
5056 let keyRewardUpdateHeight = "reward_update_height"
5157
5258 let keyRewardUpdateFirstPaginationHeight = "reward_update_height_first_pagination"
5359
5460 let keyNoVotingForNewPool = "_vote_no"
5561
5662 let keyYesVotingForNewPool = "_vote_yes"
5763
5864 let keyAmountOfVotingForNewPool = "max_amount_voting"
5965
6066 let keyStatusOfVotingForNewPool = "_status"
6167
6268 let keyHeightOfPoolVotingForNewPool = "_finish_height"
6369
6470 let activeVoteFirst = "voting_active_cell_1"
6571
6672 let activeVoteSecond = "voting_active_cell_2"
6773
6874 let activeVoteThird = "voting_active_cell_3"
6975
7076 let keyTempCurSum = "sum_reward_current"
71-
72-let keyAdminPubKey1 = "admin_pub_1"
73-
74-let keyAdminPubKey2 = "admin_pub_2"
75-
76-let keyAdminPubKey3 = "admin_pub_3"
77-
78-let oracle = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
79-
80-func getAdminPub (keyAdminPub) = match getString(oracle, keyAdminPub) {
81- case string: String =>
82- fromBase58String(string)
83- case nothing =>
84- throw("Admin public key is empty")
85-}
86-
87-
88-let adminPubKey1 = getAdminPub(keyAdminPubKey1)
89-
90-let adminPubKey2 = getAdminPub(keyAdminPubKey2)
91-
92-let adminPubKey3 = getAdminPub(keyAdminPubKey3)
9377
9478 let isActive = valueOrElse(getBoolean(this, keyActive), true)
9579
9680 let farmingSWOPAddress = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
9781
9882 let votingLiteContract = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
9983
10084 let votingForNewPool = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
10185
10286 let keySWOPid = "SWOP_id"
10387
10488 let SWOP = fromBase58String(getStringValue(farmingSWOPAddress, keySWOPid))
10589
10690 let scaleValue = 100000000
10791
10892 let totalVoteShare = 10000000000
10993
11094 let kStartHeight = "start_height"
11195
11296 let kBasePeriod = "base_period"
11397
11498 let kPeriodLength = "period_length"
11599
116100 let kUserTotalStruc = "_user_total_struc"
117101
118102 let basePeriod = valueOrErrorMessage(getInteger(votingLiteContract, kBasePeriod), "Empty kBasePeriod at voting contract")
119103
120104 let startHeight = valueOrErrorMessage(getInteger(votingLiteContract, kStartHeight), "Empty kStartHeight at voting contract")
121105
122106 let periodLength = valueOrErrorMessage(getInteger(votingLiteContract, kPeriodLength), "Empty kPeriodLength at voting contract")
123107
124108 let firstActiveVote = valueOrElse(getString(votingForNewPool, activeVoteFirst), "")
125109
126110 let secondActiveVote = valueOrElse(getString(votingForNewPool, activeVoteSecond), "")
127111
128112 let thirdActiveVote = valueOrElse(getString(votingForNewPool, activeVoteThird), "")
129113
130114 let currVotingPeriod = (basePeriod + ((height - startHeight) / periodLength))
131115
132116 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
133117
134118
135119 func throwNotEnoughSWOP () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
136120
137121
138122 func getLastInterestInfo () = {
139123 let lastInterest = valueOrElse(getInteger(this, keyLastInterest), 0)
140124 lastInterest
141125 }
142126
143127
144128 func getUserSWOPLocked (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPLocked)), 0)
145129
146130
147131 func getUserSWOPClaimedAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserSWOPClaimedAmount)), 0)
148132
149133
150134 func getUserTotalVoteAmount (user) = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
151135
152136
153137 func getUserInterestInfo (user,lastInterest) = {
154138 let userSWOPAmount = getUserSWOPLocked(user)
155139 let userLastInterest = getInteger(this, (toString(user) + keyUserLastInterest))
156140 let userLastInterestValue = match userLastInterest {
157141 case userLastInterest: Int =>
158142 userLastInterest
159143 case _ =>
160144 lastInterest
161145 }
162146 $Tuple2(userLastInterestValue, userSWOPAmount)
163147 }
164148
165149
166150 func getUserTotalVoteAmountForOnePool (pool,user) = {
167151 let voting = valueOrElse(getInteger(votingForNewPool, pool), -1)
168152 let heightOfVoting = valueOrElse(getInteger(votingForNewPool, (toString(voting) + keyHeightOfPoolVotingForNewPool)), 0)
169153 let statusOfVoting = valueOrElse(getBoolean(votingForNewPool, (toString(voting) + keyStatusOfVotingForNewPool)), true)
170154 let currentHeight = height
171155 if ((0 > voting))
172156 then 0
173157 else if (!(statusOfVoting))
174158 then 0
175159 else if ((heightOfVoting > currentHeight))
176160 then (valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyYesVotingForNewPool)), 0) + valueOrElse(getInteger(votingForNewPool, (((toString(user) + "_") + toString(voting)) + keyNoVotingForNewPool)), 0))
177161 else 0
178162 }
179163
180164
181165 func getUserTotalVoteForNewPoolAmount (user) = {
182166 let listOfVoting = [getUserTotalVoteAmountForOnePool(firstActiveVote, user), getUserTotalVoteAmountForOnePool(secondActiveVote, user), getUserTotalVoteAmountForOnePool(thirdActiveVote, user)]
183167 max(listOfVoting)
184168 }
185169
186170
187171 func getTotalSWOPLocked () = valueOrElse(getInteger(this, keyTotalSWOPLocked), 0)
188172
189173
190174 func getUserVoteInfo (user) = {
191- let $t063456896 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
175+ let $t060366587 = if (isDefined(getString(votingLiteContract, (toString(user) + kUserTotalStruc))))
192176 then {
193177 let data = split(valueOrErrorMessage(getString(votingLiteContract, (toString(user) + kUserTotalStruc)), "Empty kUserTotalStruc"), "_")
194178 $Tuple3(parseIntValue(data[0]), parseIntValue(data[1]), parseIntValue(data[2]))
195179 }
196180 else {
197181 let uPoolTotalSWOP = valueOrElse(getInteger(votingLiteContract, (toString(user) + kUserTotalVoteSWOP)), 0)
198182 $Tuple3(uPoolTotalSWOP, 0, currVotingPeriod)
199183 }
200- let userTotalVoteSWOP = $t063456896._1
201- let userUnvoted = $t063456896._2
202- let userUnvotedPeriod = $t063456896._3
184+ let userTotalVoteSWOP = $t060366587._1
185+ let userUnvoted = $t060366587._2
186+ let userUnvotedPeriod = $t060366587._3
203187 let userUnvotedActual = if ((userUnvotedPeriod == currVotingPeriod))
204188 then userUnvoted
205189 else 0
206190 $Tuple2(userTotalVoteSWOP, userUnvotedActual)
207191 }
208192
209193
210194 func getUserVoteOptionAmount (user) = valueOrElse(getInteger(this, (toString(user) + keyUserVoteOptionAmount)), 0)
211195
212196
213197 func getVotingStartHeight (voteName) = valueOrElse(getInteger(this, (voteName + keyVotingStartHeight)), 0)
214198
215199
216200 func getPoolUpdateHeight (pool) = valueOrElse(getInteger(this, (pool + keyHeightPoolFraction)), 0)
217201
218202
219203 func isDefinePoolUpdateHeight (pool) = isDefined(getInteger(this, (pool + keyHeightPoolFraction)))
220204
221205
222206 func getCurPoolWeight (pool) = valueOrElse(getInteger(this, (pool + keyRewardPoolFractionCurrent)), 0)
223207
224208
225209 func getPrevPoolWeight (pool) = valueOrElse(getInteger(this, (pool + keyRewardPoolFractionPrevious)), 0)
226210
227211
228212 func getVoteOptionAmount (user,voteName,option) = {
229213 let userVoteOptionAmount = getInteger(this, (((voteName + option) + toString(user)) + keyUserVoteOptionAmount))
230214 let uvoa = match userVoteOptionAmount {
231215 case uvoa: Int =>
232216 uvoa
233217 case uvoa: Unit =>
234218 0
235219 case _ =>
236220 throw("Match error")
237221 }
238222 valueOrErrorMessage(uvoa, (((("No data on the key: " + voteName) + option) + toString(user)) + keyUserVoteOptionAmount))
239223 }
240224
241225
242226 func getVoteDuration (voteName) = valueOrErrorMessage(getInteger(this, (voteName + keyVoteDuration)), (("No data on the key: " + voteName) + keyVoteDuration))
243227
244228
245229 func getTotalVoteOptionAmount (voteName,option) = {
246230 let totalVoteOptionAmount = getInteger(this, ((voteName + option) + keyTotalVoteOptionAmount))
247231 let tvoa = match totalVoteOptionAmount {
248232 case tvoa: Int =>
249233 tvoa
250234 case tvoa: Unit =>
251235 0
252236 case _ =>
253237 throw("Match error")
254238 }
255239 tvoa
256240 }
257241
258242
259243 func getUserGetBackAmount (voteName,option,user,getBackSWOPHeight) = {
260244 let key = ((((((voteName + "_") + option) + "_") + toString(user)) + "_") + toString(getBackSWOPHeight))
261245 valueOrErrorMessage(getInteger(this, key), ("No data on the key: " + key))
262246 }
263247
264248
265249 func claimCalc (caller) = {
266250 let lastInterest = getLastInterestInfo()
267- let $t093009380 = getUserInterestInfo(caller, lastInterest)
268- let userLastInterest = $t093009380._1
269- let userSWOPLocked = $t093009380._2
251+ let $t089959075 = getUserInterestInfo(caller, lastInterest)
252+ let userLastInterest = $t089959075._1
253+ let userSWOPLocked = $t089959075._2
270254 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
271255 let userNewInterest = lastInterest
272256 $Tuple2(userNewInterest, claimAmount)
273257 }
274258
275259
276260 @Callable(i)
277261 func airDrop () = if (!(isActive))
278262 then throw("DApp is inactive at this moment")
279263 else {
280- let $t096479722 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
281- let pmtAmount = $t096479722._1
282- let pmtAssetId = $t096479722._2
264+ let $t093409415 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
265+ let pmtAmount = $t093409415._1
266+ let pmtAssetId = $t093409415._2
283267 if ((pmtAssetId != SWOP))
284268 then throw("Incorrect pmtAssetId")
285269 else {
286270 let totalSWOPLocked = getTotalSWOPLocked()
287271 let lastInterest = getLastInterestInfo()
288272 let interestNew = (lastInterest + fraction(pmtAmount, scaleValue, totalSWOPLocked))
289273 [IntegerEntry(keyLastInterest, interestNew)]
290274 }
291275 }
292276
293277
294278
295279 @Callable(i)
296280 func lockSWOP () = if (!(isActive))
297281 then throw("DApp is inactive at this moment")
298282 else {
299- let $t01016010235 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
300- let pmtAmount = $t01016010235._1
301- let pmtAssetId = $t01016010235._2
283+ let $t098539928 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
284+ let pmtAmount = $t098539928._1
285+ let pmtAssetId = $t098539928._2
302286 if ((pmtAssetId != SWOP))
303287 then throw("Incorrect pmtAssetId")
304288 else {
305289 let lastInterest = getLastInterestInfo()
306- let $t01035110433 = getUserInterestInfo(i.caller, lastInterest)
307- let userLastInterest = $t01035110433._1
308- let userSWOPLocked = $t01035110433._2
290+ let $t01004410126 = getUserInterestInfo(i.caller, lastInterest)
291+ let userLastInterest = $t01004410126._1
292+ let userSWOPLocked = $t01004410126._2
309293 let claimAmount = fraction(userSWOPLocked, (lastInterest - userLastInterest), scaleValue)
310294 let userSWOPLockedNew = ((userSWOPLocked + pmtAmount) + claimAmount)
311295 let userNewInterest = lastInterest
312296 let totalSWOPLocked = getTotalSWOPLocked()
313297 let totalSWOPLockedNew = ((totalSWOPLocked + pmtAmount) + claimAmount)
314298 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
315299 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
316300 [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)]
317301 }
318302 }
319303
320304
321305
322306 @Callable(i)
323307 func withdrawSWOP (withdrawAmount) = if (!(isActive))
324308 then throw("DApp is inactive at this moment")
325309 else if ((0 >= withdrawAmount))
326310 then throw("withdrawAmount <= 0")
327311 else {
328312 let totalSWOPLocked = getTotalSWOPLocked()
329313 let userSWOPLocked = getUserSWOPLocked(i.caller)
330- let $t01158511640 = claimCalc(i.caller)
331- let userNewInterest = $t01158511640._1
332- let claimAmount = $t01158511640._2
333- let $t01164511710 = getUserVoteInfo(i.caller)
334- let userVoteAmount = $t01164511710._1
335- let userUnvoteAmount = $t01164511710._2
314+ let $t01127611331 = claimCalc(i.caller)
315+ let userNewInterest = $t01127611331._1
316+ let claimAmount = $t01127611331._2
317+ let $t01133611401 = getUserVoteInfo(i.caller)
318+ let userVoteAmount = $t01133611401._1
319+ let userUnvoteAmount = $t01133611401._2
336320 let userVoteAmountForNewPool = getUserTotalVoteForNewPoolAmount(i.caller)
337321 if (if (if ((0 > userUnvoteAmount))
338322 then true
339323 else (0 > userVoteAmount))
340324 then true
341325 else (0 > userVoteAmountForNewPool))
342326 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
343327 else {
344328 let availableToUnstake = (userSWOPLocked - max([userVoteAmountForNewPool, (userVoteAmount + userUnvoteAmount)]))
345329 if ((withdrawAmount > availableToUnstake))
346330 then throw("withdrawAmount > availableToUnstake")
347331 else {
348332 let totalSWOPLockedNew = ((totalSWOPLocked + claimAmount) - withdrawAmount)
349333 let userSWOPamountNew = ((userSWOPLocked + claimAmount) - withdrawAmount)
350334 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
351335 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
352336 [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)]
353337 }
354338 }
355339 }
356340
357341
358342
359343 @Callable(i)
360344 func claimAndWithdrawSWOP () = if (!(isActive))
361345 then throw("DApp is inactive at this moment")
362346 else {
363347 let lastInterest = getLastInterestInfo()
364- let $t01308513140 = claimCalc(i.caller)
365- let userNewInterest = $t01308513140._1
366- let claimAmount = $t01308513140._2
348+ let $t01277612831 = claimCalc(i.caller)
349+ let userNewInterest = $t01277612831._1
350+ let claimAmount = $t01277612831._2
367351 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
368352 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
369353 if ((claimAmount == 0))
370354 then throw("You have 0 available SWOP")
371355 else [IntegerEntry((toString(i.caller) + keyUserLastInterest), userNewInterest), IntegerEntry((toString(i.caller) + keyUserSWOPClaimedAmount), userClaimedAmountNew), IntegerEntry((toString(i.caller) + keyUserSWOPLastClaimedAmount), claimAmount), ScriptTransfer(i.caller, claimAmount, SWOP)]
372356 }
373357
374358
375359
376360 @Callable(i)
377361 func claimAndStakeSWOP () = if (!(isActive))
378362 then throw("DApp is inactive at this moment")
379363 else {
380364 let totalSWOPLocked = getTotalSWOPLocked()
381365 let userSWOPLocked = getUserSWOPLocked(i.caller)
382366 let lastInterest = getLastInterestInfo()
383- let $t01391913974 = claimCalc(i.caller)
384- let userNewInterest = $t01391913974._1
385- let claimAmount = $t01391913974._2
367+ let $t01361013665 = claimCalc(i.caller)
368+ let userNewInterest = $t01361013665._1
369+ let claimAmount = $t01361013665._2
386370 let userSWOPLockedNew = (userSWOPLocked + claimAmount)
387371 let totalSWOPLockedNew = (totalSWOPLocked + claimAmount)
388372 let userClaimedAmount = getUserSWOPClaimedAmount(i.caller)
389373 let userClaimedAmountNew = (userClaimedAmount + claimAmount)
390374 if ((claimAmount == 0))
391375 then throw("You have 0 available SWOP")
392376 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)]
393377 }
394378
395379
396380
397381 @Callable(i)
398382 func updateWeights (currentPools,currentRewards,rewardUpdateHeight,pagination) = if (!(isActive))
399383 then throw("DApp is inactive at this moment")
400384 else {
401385 let amountPools = 10
402386 let totalRewardUpdateHeight = valueOrElse(getInteger(this, keyRewardUpdateHeight), 0)
403387 if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop, adminPubKeyWallet], i.callerPublicKey)))
404388 then throw("Only admin can call this function")
405389 else if ((size(currentPools) > amountPools))
406390 then throw(("Max amount of pool is " + toString(amountPools)))
407391 else if ((totalRewardUpdateHeight >= rewardUpdateHeight))
408392 then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
409393 else if ((height >= rewardUpdateHeight))
410394 then throw("height >= rewardUpdateHeight")
411395 else if ((0 >= rewardUpdateHeight))
412396 then throw("0 >= rewardUpdateHeight ")
413397 else {
414398 func sum (a,b) = (a + b)
415399
416400 func changePreviousRewardEntry (accumulated,pool) = {
417401 let poolRewardUpdateHeight = getPoolUpdateHeight(pool)
418402 if (if (!(isDefinePoolUpdateHeight(pool)))
419403 then true
420404 else if ((rewardUpdateHeight != poolRewardUpdateHeight))
421405 then (poolRewardUpdateHeight == totalRewardUpdateHeight)
422406 else false)
423407 then {
424408 let poolReward = getCurPoolWeight(pool)
425409 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
426410 }
427411 else {
428412 let poolReward = getPrevPoolWeight(pool)
429413 IntegerEntry((pool + keyRewardPoolFractionPrevious), poolReward) :: accumulated
430414 }
431415 }
432416
433417 func changeCurrentRewardEntry (accumulated,pool) = {
434418 let poolIndex = value(indexOf(currentPools, pool))
435419 let poolReward = currentRewards[poolIndex]
436420 if ((0 > poolReward))
437421 then throw("PoolReward < 0")
438422 else IntegerEntry((pool + keyRewardPoolFractionCurrent), poolReward) :: accumulated
439423 }
440424
441425 func changeHeightEntry (accumulated,pool) = {
442426 let poolHeight = rewardUpdateHeight
443427 IntegerEntry((pool + keyHeightPoolFraction), poolHeight) :: accumulated
444428 }
445429
446430 func getSumReward (curTempSum,pagination) = if ((pagination == 0))
447431 then if ((curTempSum > totalVoteShare))
448432 then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString(curTempSum)))
449433 else $Tuple2([IntegerEntry(keyTempCurSum, curTempSum)], [IntegerEntry(keyRewardUpdateFirstPaginationHeight, rewardUpdateHeight)])
450434 else if ((pagination == 1))
451435 then {
452436 let curTempSumFromKey = valueOrElse(getInteger(this, keyTempCurSum), 0)
453437 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
454438 if (((curTempSum + curTempSumFromKey) > totalVoteShare))
455439 then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(pagination)) + " ") + toString((curTempSum + curTempSumFromKey))))
456440 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
457441 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
458442 else $Tuple2([IntegerEntry(keyTempCurSum, (curTempSum + curTempSumFromKey))], nil)
459443 }
460444 else if ((pagination == 2))
461445 then {
462446 let curSum = (valueOrElse(getInteger(this, keyTempCurSum), 0) + curTempSum)
463447 let rewardUpdateHeightFirstPaginationEntry = valueOrElse(getInteger(this, keyRewardUpdateFirstPaginationHeight), 0)
464448 if ((curSum != totalVoteShare))
465449 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
466450 else if ((rewardUpdateHeightFirstPaginationEntry != rewardUpdateHeight))
467451 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
468452 else $Tuple2([IntegerEntry(keyTempCurSum, curSum)], nil)
469453 }
470454 else throw("Incorrect pagination")
471455
472456 let previousRewardEntryNew = {
473- let $list1883518887 = currentPools
474- let $size1883518887 = size($list1883518887)
475- let $acc01883518887 = nil
476- if (($size1883518887 == 0))
477- then $acc01883518887
457+ let $list1853718589 = currentPools
458+ let $size1853718589 = size($list1853718589)
459+ let $acc01853718589 = nil
460+ if (($size1853718589 == 0))
461+ then $acc01853718589
478462 else {
479- let $acc11883518887 = changePreviousRewardEntry($acc01883518887, $list1883518887[0])
480- if (($size1883518887 == 1))
481- then $acc11883518887
463+ let $acc11853718589 = changePreviousRewardEntry($acc01853718589, $list1853718589[0])
464+ if (($size1853718589 == 1))
465+ then $acc11853718589
482466 else {
483- let $acc21883518887 = changePreviousRewardEntry($acc11883518887, $list1883518887[1])
484- if (($size1883518887 == 2))
485- then $acc21883518887
467+ let $acc21853718589 = changePreviousRewardEntry($acc11853718589, $list1853718589[1])
468+ if (($size1853718589 == 2))
469+ then $acc21853718589
486470 else {
487- let $acc31883518887 = changePreviousRewardEntry($acc21883518887, $list1883518887[2])
488- if (($size1883518887 == 3))
489- then $acc31883518887
471+ let $acc31853718589 = changePreviousRewardEntry($acc21853718589, $list1853718589[2])
472+ if (($size1853718589 == 3))
473+ then $acc31853718589
490474 else {
491- let $acc41883518887 = changePreviousRewardEntry($acc31883518887, $list1883518887[3])
492- if (($size1883518887 == 4))
493- then $acc41883518887
475+ let $acc41853718589 = changePreviousRewardEntry($acc31853718589, $list1853718589[3])
476+ if (($size1853718589 == 4))
477+ then $acc41853718589
494478 else {
495- let $acc51883518887 = changePreviousRewardEntry($acc41883518887, $list1883518887[4])
496- if (($size1883518887 == 5))
497- then $acc51883518887
479+ let $acc51853718589 = changePreviousRewardEntry($acc41853718589, $list1853718589[4])
480+ if (($size1853718589 == 5))
481+ then $acc51853718589
498482 else {
499- let $acc61883518887 = changePreviousRewardEntry($acc51883518887, $list1883518887[5])
500- if (($size1883518887 == 6))
501- then $acc61883518887
483+ let $acc61853718589 = changePreviousRewardEntry($acc51853718589, $list1853718589[5])
484+ if (($size1853718589 == 6))
485+ then $acc61853718589
502486 else {
503- let $acc71883518887 = changePreviousRewardEntry($acc61883518887, $list1883518887[6])
504- if (($size1883518887 == 7))
505- then $acc71883518887
487+ let $acc71853718589 = changePreviousRewardEntry($acc61853718589, $list1853718589[6])
488+ if (($size1853718589 == 7))
489+ then $acc71853718589
506490 else {
507- let $acc81883518887 = changePreviousRewardEntry($acc71883518887, $list1883518887[7])
508- if (($size1883518887 == 8))
509- then $acc81883518887
491+ let $acc81853718589 = changePreviousRewardEntry($acc71853718589, $list1853718589[7])
492+ if (($size1853718589 == 8))
493+ then $acc81853718589
510494 else {
511- let $acc91883518887 = changePreviousRewardEntry($acc81883518887, $list1883518887[8])
512- if (($size1883518887 == 9))
513- then $acc91883518887
495+ let $acc91853718589 = changePreviousRewardEntry($acc81853718589, $list1853718589[8])
496+ if (($size1853718589 == 9))
497+ then $acc91853718589
514498 else {
515- let $acc101883518887 = changePreviousRewardEntry($acc91883518887, $list1883518887[9])
516- if (($size1883518887 == 10))
517- then $acc101883518887
499+ let $acc101853718589 = changePreviousRewardEntry($acc91853718589, $list1853718589[9])
500+ if (($size1853718589 == 10))
501+ then $acc101853718589
518502 else {
519- let $acc111883518887 = changePreviousRewardEntry($acc101883518887, $list1883518887[10])
503+ let $acc111853718589 = changePreviousRewardEntry($acc101853718589, $list1853718589[10])
520504 throw("List size exceed 10")
521505 }
522506 }
523507 }
524508 }
525509 }
526510 }
527511 }
528512 }
529513 }
530514 }
531515 }
532516 }
533517 let currentRewardEntryNew = {
534- let $list1892018972 = currentPools
535- let $size1892018972 = size($list1892018972)
536- let $acc01892018972 = nil
537- if (($size1892018972 == 0))
538- then $acc01892018972
518+ let $list1862218674 = currentPools
519+ let $size1862218674 = size($list1862218674)
520+ let $acc01862218674 = nil
521+ if (($size1862218674 == 0))
522+ then $acc01862218674
539523 else {
540- let $acc11892018972 = changeCurrentRewardEntry($acc01892018972, $list1892018972[0])
541- if (($size1892018972 == 1))
542- then $acc11892018972
524+ let $acc11862218674 = changeCurrentRewardEntry($acc01862218674, $list1862218674[0])
525+ if (($size1862218674 == 1))
526+ then $acc11862218674
543527 else {
544- let $acc21892018972 = changeCurrentRewardEntry($acc11892018972, $list1892018972[1])
545- if (($size1892018972 == 2))
546- then $acc21892018972
528+ let $acc21862218674 = changeCurrentRewardEntry($acc11862218674, $list1862218674[1])
529+ if (($size1862218674 == 2))
530+ then $acc21862218674
547531 else {
548- let $acc31892018972 = changeCurrentRewardEntry($acc21892018972, $list1892018972[2])
549- if (($size1892018972 == 3))
550- then $acc31892018972
532+ let $acc31862218674 = changeCurrentRewardEntry($acc21862218674, $list1862218674[2])
533+ if (($size1862218674 == 3))
534+ then $acc31862218674
551535 else {
552- let $acc41892018972 = changeCurrentRewardEntry($acc31892018972, $list1892018972[3])
553- if (($size1892018972 == 4))
554- then $acc41892018972
536+ let $acc41862218674 = changeCurrentRewardEntry($acc31862218674, $list1862218674[3])
537+ if (($size1862218674 == 4))
538+ then $acc41862218674
555539 else {
556- let $acc51892018972 = changeCurrentRewardEntry($acc41892018972, $list1892018972[4])
557- if (($size1892018972 == 5))
558- then $acc51892018972
540+ let $acc51862218674 = changeCurrentRewardEntry($acc41862218674, $list1862218674[4])
541+ if (($size1862218674 == 5))
542+ then $acc51862218674
559543 else {
560- let $acc61892018972 = changeCurrentRewardEntry($acc51892018972, $list1892018972[5])
561- if (($size1892018972 == 6))
562- then $acc61892018972
544+ let $acc61862218674 = changeCurrentRewardEntry($acc51862218674, $list1862218674[5])
545+ if (($size1862218674 == 6))
546+ then $acc61862218674
563547 else {
564- let $acc71892018972 = changeCurrentRewardEntry($acc61892018972, $list1892018972[6])
565- if (($size1892018972 == 7))
566- then $acc71892018972
548+ let $acc71862218674 = changeCurrentRewardEntry($acc61862218674, $list1862218674[6])
549+ if (($size1862218674 == 7))
550+ then $acc71862218674
567551 else {
568- let $acc81892018972 = changeCurrentRewardEntry($acc71892018972, $list1892018972[7])
569- if (($size1892018972 == 8))
570- then $acc81892018972
552+ let $acc81862218674 = changeCurrentRewardEntry($acc71862218674, $list1862218674[7])
553+ if (($size1862218674 == 8))
554+ then $acc81862218674
571555 else {
572- let $acc91892018972 = changeCurrentRewardEntry($acc81892018972, $list1892018972[8])
573- if (($size1892018972 == 9))
574- then $acc91892018972
556+ let $acc91862218674 = changeCurrentRewardEntry($acc81862218674, $list1862218674[8])
557+ if (($size1862218674 == 9))
558+ then $acc91862218674
575559 else {
576- let $acc101892018972 = changeCurrentRewardEntry($acc91892018972, $list1892018972[9])
577- if (($size1892018972 == 10))
578- then $acc101892018972
560+ let $acc101862218674 = changeCurrentRewardEntry($acc91862218674, $list1862218674[9])
561+ if (($size1862218674 == 10))
562+ then $acc101862218674
579563 else {
580- let $acc111892018972 = changeCurrentRewardEntry($acc101892018972, $list1892018972[10])
564+ let $acc111862218674 = changeCurrentRewardEntry($acc101862218674, $list1862218674[10])
581565 throw("List size exceed 10")
582566 }
583567 }
584568 }
585569 }
586570 }
587571 }
588572 }
589573 }
590574 }
591575 }
592576 }
593577 }
594578 let heightEntryNewCur = {
595- let $list1900119046 = currentPools
596- let $size1900119046 = size($list1900119046)
597- let $acc01900119046 = nil
598- if (($size1900119046 == 0))
599- then $acc01900119046
579+ let $list1870318748 = currentPools
580+ let $size1870318748 = size($list1870318748)
581+ let $acc01870318748 = nil
582+ if (($size1870318748 == 0))
583+ then $acc01870318748
600584 else {
601- let $acc11900119046 = changeHeightEntry($acc01900119046, $list1900119046[0])
602- if (($size1900119046 == 1))
603- then $acc11900119046
585+ let $acc11870318748 = changeHeightEntry($acc01870318748, $list1870318748[0])
586+ if (($size1870318748 == 1))
587+ then $acc11870318748
604588 else {
605- let $acc21900119046 = changeHeightEntry($acc11900119046, $list1900119046[1])
606- if (($size1900119046 == 2))
607- then $acc21900119046
589+ let $acc21870318748 = changeHeightEntry($acc11870318748, $list1870318748[1])
590+ if (($size1870318748 == 2))
591+ then $acc21870318748
608592 else {
609- let $acc31900119046 = changeHeightEntry($acc21900119046, $list1900119046[2])
610- if (($size1900119046 == 3))
611- then $acc31900119046
593+ let $acc31870318748 = changeHeightEntry($acc21870318748, $list1870318748[2])
594+ if (($size1870318748 == 3))
595+ then $acc31870318748
612596 else {
613- let $acc41900119046 = changeHeightEntry($acc31900119046, $list1900119046[3])
614- if (($size1900119046 == 4))
615- then $acc41900119046
597+ let $acc41870318748 = changeHeightEntry($acc31870318748, $list1870318748[3])
598+ if (($size1870318748 == 4))
599+ then $acc41870318748
616600 else {
617- let $acc51900119046 = changeHeightEntry($acc41900119046, $list1900119046[4])
618- if (($size1900119046 == 5))
619- then $acc51900119046
601+ let $acc51870318748 = changeHeightEntry($acc41870318748, $list1870318748[4])
602+ if (($size1870318748 == 5))
603+ then $acc51870318748
620604 else {
621- let $acc61900119046 = changeHeightEntry($acc51900119046, $list1900119046[5])
622- if (($size1900119046 == 6))
623- then $acc61900119046
605+ let $acc61870318748 = changeHeightEntry($acc51870318748, $list1870318748[5])
606+ if (($size1870318748 == 6))
607+ then $acc61870318748
624608 else {
625- let $acc71900119046 = changeHeightEntry($acc61900119046, $list1900119046[6])
626- if (($size1900119046 == 7))
627- then $acc71900119046
609+ let $acc71870318748 = changeHeightEntry($acc61870318748, $list1870318748[6])
610+ if (($size1870318748 == 7))
611+ then $acc71870318748
628612 else {
629- let $acc81900119046 = changeHeightEntry($acc71900119046, $list1900119046[7])
630- if (($size1900119046 == 8))
631- then $acc81900119046
613+ let $acc81870318748 = changeHeightEntry($acc71870318748, $list1870318748[7])
614+ if (($size1870318748 == 8))
615+ then $acc81870318748
632616 else {
633- let $acc91900119046 = changeHeightEntry($acc81900119046, $list1900119046[8])
634- if (($size1900119046 == 9))
635- then $acc91900119046
617+ let $acc91870318748 = changeHeightEntry($acc81870318748, $list1870318748[8])
618+ if (($size1870318748 == 9))
619+ then $acc91870318748
636620 else {
637- let $acc101900119046 = changeHeightEntry($acc91900119046, $list1900119046[9])
638- if (($size1900119046 == 10))
639- then $acc101900119046
621+ let $acc101870318748 = changeHeightEntry($acc91870318748, $list1870318748[9])
622+ if (($size1870318748 == 10))
623+ then $acc101870318748
640624 else {
641- let $acc111900119046 = changeHeightEntry($acc101900119046, $list1900119046[10])
625+ let $acc111870318748 = changeHeightEntry($acc101870318748, $list1870318748[10])
642626 throw("List size exceed 10")
643627 }
644628 }
645629 }
646630 }
647631 }
648632 }
649633 }
650634 }
651635 }
652636 }
653637 }
654638 }
655639 let sumRewardCurrentTemp = {
656- let $list1908019112 = currentRewards
657- let $size1908019112 = size($list1908019112)
658- let $acc01908019112 = 0
659- if (($size1908019112 == 0))
660- then $acc01908019112
640+ let $list1878218814 = currentRewards
641+ let $size1878218814 = size($list1878218814)
642+ let $acc01878218814 = 0
643+ if (($size1878218814 == 0))
644+ then $acc01878218814
661645 else {
662- let $acc11908019112 = sum($acc01908019112, $list1908019112[0])
663- if (($size1908019112 == 1))
664- then $acc11908019112
646+ let $acc11878218814 = sum($acc01878218814, $list1878218814[0])
647+ if (($size1878218814 == 1))
648+ then $acc11878218814
665649 else {
666- let $acc21908019112 = sum($acc11908019112, $list1908019112[1])
667- if (($size1908019112 == 2))
668- then $acc21908019112
650+ let $acc21878218814 = sum($acc11878218814, $list1878218814[1])
651+ if (($size1878218814 == 2))
652+ then $acc21878218814
669653 else {
670- let $acc31908019112 = sum($acc21908019112, $list1908019112[2])
671- if (($size1908019112 == 3))
672- then $acc31908019112
654+ let $acc31878218814 = sum($acc21878218814, $list1878218814[2])
655+ if (($size1878218814 == 3))
656+ then $acc31878218814
673657 else {
674- let $acc41908019112 = sum($acc31908019112, $list1908019112[3])
675- if (($size1908019112 == 4))
676- then $acc41908019112
658+ let $acc41878218814 = sum($acc31878218814, $list1878218814[3])
659+ if (($size1878218814 == 4))
660+ then $acc41878218814
677661 else {
678- let $acc51908019112 = sum($acc41908019112, $list1908019112[4])
679- if (($size1908019112 == 5))
680- then $acc51908019112
662+ let $acc51878218814 = sum($acc41878218814, $list1878218814[4])
663+ if (($size1878218814 == 5))
664+ then $acc51878218814
681665 else {
682- let $acc61908019112 = sum($acc51908019112, $list1908019112[5])
683- if (($size1908019112 == 6))
684- then $acc61908019112
666+ let $acc61878218814 = sum($acc51878218814, $list1878218814[5])
667+ if (($size1878218814 == 6))
668+ then $acc61878218814
685669 else {
686- let $acc71908019112 = sum($acc61908019112, $list1908019112[6])
687- if (($size1908019112 == 7))
688- then $acc71908019112
670+ let $acc71878218814 = sum($acc61878218814, $list1878218814[6])
671+ if (($size1878218814 == 7))
672+ then $acc71878218814
689673 else {
690- let $acc81908019112 = sum($acc71908019112, $list1908019112[7])
691- if (($size1908019112 == 8))
692- then $acc81908019112
674+ let $acc81878218814 = sum($acc71878218814, $list1878218814[7])
675+ if (($size1878218814 == 8))
676+ then $acc81878218814
693677 else {
694- let $acc91908019112 = sum($acc81908019112, $list1908019112[8])
695- if (($size1908019112 == 9))
696- then $acc91908019112
678+ let $acc91878218814 = sum($acc81878218814, $list1878218814[8])
679+ if (($size1878218814 == 9))
680+ then $acc91878218814
697681 else {
698- let $acc101908019112 = sum($acc91908019112, $list1908019112[9])
699- if (($size1908019112 == 10))
700- then $acc101908019112
682+ let $acc101878218814 = sum($acc91878218814, $list1878218814[9])
683+ if (($size1878218814 == 10))
684+ then $acc101878218814
701685 else {
702- let $acc111908019112 = sum($acc101908019112, $list1908019112[10])
686+ let $acc111878218814 = sum($acc101878218814, $list1878218814[10])
703687 throw("List size exceed 10")
704688 }
705689 }
706690 }
707691 }
708692 }
709693 }
710694 }
711695 }
712696 }
713697 }
714698 }
715699 }
716- let $t01911819229 = getSumReward(sumRewardCurrentTemp, pagination)
717- let sumRewardCurrent = $t01911819229._1
718- let rewardUpdateHeightFirstPaginationEntry = $t01911819229._2
700+ let $t01882018931 = getSumReward(sumRewardCurrentTemp, pagination)
701+ let sumRewardCurrent = $t01882018931._1
702+ let rewardUpdateHeightFirstPaginationEntry = $t01882018931._2
719703 let rewardUpdateHeightEntry = if ((pagination == 2))
720704 then [IntegerEntry(keyRewardUpdateHeight, rewardUpdateHeight)]
721705 else nil
722706 if ((height > rewardUpdateHeight))
723707 then throw("rewardUpdateHeight < height")
724708 else (((((previousRewardEntryNew ++ currentRewardEntryNew) ++ heightEntryNewCur) ++ sumRewardCurrent) ++ rewardUpdateHeightEntry) ++ rewardUpdateHeightFirstPaginationEntry)
725709 }
726710 }
727711
728712
729713
730714 @Callable(i)
731715 func shutdown () = if (!(isActive))
732716 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
733717 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
734718 then throw("Only admin can call this function")
735719 else suspend("Paused by admin")
736720
737721
738722
739723 @Callable(i)
740724 func activate () = if (isActive)
741725 then throw("DApp is already active")
742726 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
743727 then throw("Only admin can call this function")
744728 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
745729
746730
747731 @Verifier(tx)
748-func verify () = {
749- let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
750- then 1
751- else 0
752- let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
753- then 1
754- else 0
755- let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
756- then 1
757- else 0
758- (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
759- }
732+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
760733

github/deemru/w8io/169f3d6 
338.31 ms