tx · 3jgUocGpNJuEQi9qdWJfkUTJ6E5Vp2Zmi1zwK5j6ttNh

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.07.22 18:41 [1625041] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "3jgUocGpNJuEQi9qdWJfkUTJ6E5Vp2Zmi1zwK5j6ttNh", "fee": 1400000, "feeAssetId": null, "timestamp": 1626968548964, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "4QCNzirVK18QqwSuK7Jp2CTUzVzwq2c2jZGNgLCHFYr2fBUTE68UgSyxQdp92JPPztUwPVzvThpLDtYHjAkKPbqp", "5PryWgzP2arHmJokmUPLca325HbFk8pDutqNoEVfH8zdeVwfbcSaqZPLC2aj1L92w3dknbu7EtR37JPMLWsi9tTp" ], "script": "base64:AAIEAAAAAAAAABsIAhIAEgASAwoBARIAEgASBgoEGBEBARIAEgAAAABOAAAAAAxhZG1pblB1YktleTEBAAAAIOKnjEA7hs0X5rRLh9vloYOsriqh7DcuXmUFE/K17O8EAAAAAAxhZG1pblB1YktleTIBAAAAIOo4rLkBtYg8cqOeKD2B1BoiZRETjd+Og418/VfxmxFZAAAAAAxhZG1pblB1YktleTMBAAAAIKc0loKwo8nHXTJiAX87RSdPM+q/NsQBzxC3dHCqJ8xuAAAAABRhZG1pblB1YktleVN0YXJ0U3RvcAEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAEWFkbWluUHViS2V5V2FsbGV0AQAAACA+d1plWlbJ/ClXM7W8DUUtysyn+IWSDjd3WPNiFVIUEgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAACGtleUNhdXNlAgAAAA5zaHV0ZG93bl9jYXVzZQAAAAAPa2V5TGFzdEludGVyZXN0AgAAAA1sYXN0X2ludGVyZXN0AAAAABNrZXlVc2VyTGFzdEludGVyZXN0AgAAAA5fbGFzdF9pbnRlcmVzdAAAAAARa2V5VXNlclNXT1BMb2NrZWQCAAAADF9TV09QX2Ftb3VudAAAAAAUa2V5VXNlckdldEJhY2tIZWlnaHQCAAAADl9nZXRCYWNrSGVpZ2h0AAAAABJrZXlUb3RhbFNXT1BMb2NrZWQCAAAAEXRvdGFsX1NXT1BfYW1vdW50AAAAABJrVXNlclRvdGFsVm90ZVNXT1ACAAAAFV91c2VyX3RvdGFsX1NXT1Bfdm90ZQAAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQCAAAAE19TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVRvdGFsVm90ZU9wdGlvbkFtb3VudAIAAAAYdG90YWxfU1dPUF9vcHRpb25fYW1vdW50AAAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQCAAAAFF9TV09QX2NsYWltZWRfYW1vdW50AAAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50AgAAABlfU1dPUF9sYXN0X2NsYWltZWRfYW1vdW50AAAAAAtrZXlWb3RlTmFtZQIAAAAJdm90ZV9uYW1lAAAAAA1rZXlPcHRpb25OYW1lAgAAAAxfb3B0aW9uX25hbWUAAAAAFGtleVZvdGluZ1N0YXJ0SGVpZ2h0AgAAAAxfc3RhcnRIZWlnaHQAAAAAD2tleVZvdGVEdXJhdGlvbgIAAAAOX3ZvdGVfZHVyYXRpb24AAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQCAAAAHV9jdXJyZW50X3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAAB1rZXlSZXdhcmRQb29sRnJhY3Rpb25QcmV2aW91cwIAAAAeX3ByZXZpb3VzX3Bvb2xfZnJhY3Rpb25fcmV3YXJkAAAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24CAAAAGl9wb29sX3Jld2FyZF91cGRhdGVfaGVpZ2h0AAAAAB1rZXlUb3RhbFJld2FyZFBlckJsb2NrQ3VycmVudAIAAAAedG90YWxfcmV3YXJkX3Blcl9ibG9ja19jdXJyZW50AAAAAB5rZXlUb3RhbFJld2FyZFBlckJsb2NrUHJldmlvdXMCAAAAH3RvdGFsX3Jld2FyZF9wZXJfYmxvY2tfcHJldmlvdXMAAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAIAAAAUcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAIAAAAlcmV3YXJkX3VwZGF0ZV9oZWlnaHRfZmlyc3RfcGFnaW5hdGlvbgAAAAAVa2V5Tm9Wb3RpbmdGb3JOZXdQb29sAgAAAAhfdm90ZV9ubwAAAAAWa2V5WWVzVm90aW5nRm9yTmV3UG9vbAIAAAAJX3ZvdGVfeWVzAAAAABtrZXlBbW91bnRPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAEW1heF9hbW91bnRfdm90aW5nAAAAABtrZXlTdGF0dXNPZlZvdGluZ0Zvck5ld1Bvb2wCAAAAB19zdGF0dXMAAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wCAAAADl9maW5pc2hfaGVpZ2h0AAAAAA9hY3RpdmVWb3RlRmlyc3QCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8xAAAAABBhY3RpdmVWb3RlU2Vjb25kAgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMgAAAAAPYWN0aXZlVm90ZVRoaXJkAgAAABR2b3RpbmdfYWN0aXZlX2NlbGxfMwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVBo2ft9Xop0naVz+v/cm1Of7ocNoPiDKfwAAAAAQdm90aW5nRm9yTmV3UG9vbAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHYh4XkVy3N3fz+gY3RQqyMsWxkYg/NLggAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAPZmlyc3RBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAAAAAAABBzZWNvbmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAAAAAAABBjdXJyVm90aW5nUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BMb2NrZWQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACAAAABHBvb2wAAAAEdXNlcgQAAAAGdm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAYEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGdm90aW5nAAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAA5zdGF0dXNPZlZvdGluZwAAAAAAAAAAAAMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAADWN1cnJlbnRIZWlnaHQJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABAAAABHVzZXIEAAAADGxpc3RPZlZvdGluZwkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA90aGlyZEFjdGl2ZVZvdGUFAAAABHVzZXIFAAAAA25pbAkAAZYAAAABBQAAAAxsaXN0T2ZWb3RpbmcBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDYwMzY2NTg3AwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBAAAAARkYXRhCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMCAAAAFUVtcHR5IGtVc2VyVG90YWxTdHJ1YwIAAAABXwkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAACBAAAAA51UG9vbFRvdGFsU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNjAzNjY1ODcAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNjAzNjY1ODcAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNjAzNjY1ODcAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgAAAAAAAAAAAAEAAAAYaXNEZWZpbmVQb29sVXBkYXRlSGVpZ2h0AAAAAQAAAARwb29sCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgEAAAAQZ2V0Q3VyUG9vbFdlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQAAAAAAAAAAAABAAAAEWdldFByZXZQb29sV2VpZ2h0AAAAAQAAAARwb29sCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMAAAAAAAAAAAABAAAAE2dldFZvdGVPcHRpb25BbW91bnQAAAADAAAABHVzZXIAAAAIdm90ZU5hbWUAAAAGb3B0aW9uBAAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAh2b3RlTmFtZQUAAAAGb3B0aW9uCQAEJQAAAAEFAAAABHVzZXIFAAAAF2tleVVzZXJWb3RlT3B0aW9uQW1vdW50BAAAAAR1dm9hBAAAAAckbWF0Y2gwBQAAABR1c2VyVm90ZU9wdGlvbkFtb3VudAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAR1dm9hBQAAAAckbWF0Y2gwBQAAAAR1dm9hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAARVbml0BAAAAAR1dm9hBQAAAAckbWF0Y2gwAAAAAAAAAAAACQAAAgAAAAECAAAAC01hdGNoIGVycm9yCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIFAAAABHV2b2EJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAUTm8gZGF0YSBvbiB0aGUga2V5OiAFAAAACHZvdGVOYW1lBQAAAAZvcHRpb24JAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQBAAAAD2dldFZvdGVEdXJhdGlvbgAAAAEAAAAIdm90ZU5hbWUJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAAA9rZXlWb3RlRHVyYXRpb24JAAEsAAAAAgkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAAIdm90ZU5hbWUFAAAAD2tleVZvdGVEdXJhdGlvbgEAAAAYZ2V0VG90YWxWb3RlT3B0aW9uQW1vdW50AAAAAgAAAAh2b3RlTmFtZQAAAAZvcHRpb24EAAAAFXRvdGFsVm90ZU9wdGlvbkFtb3VudAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAIdm90ZU5hbWUFAAAABm9wdGlvbgUAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50BAAAAAR0dm9hBAAAAAckbWF0Y2gwBQAAABV0b3RhbFZvdGVPcHRpb25BbW91bnQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAEdHZvYQUAAAAHJG1hdGNoMAUAAAAEdHZvYQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAEVW5pdAQAAAAEdHZvYQUAAAAHJG1hdGNoMAAAAAAAAAAAAAkAAAIAAAABAgAAAAtNYXRjaCBlcnJvcgUAAAAEdHZvYQEAAAAUZ2V0VXNlckdldEJhY2tBbW91bnQAAAAEAAAACHZvdGVOYW1lAAAABm9wdGlvbgAAAAR1c2VyAAAAEWdldEJhY2tTV09QSGVpZ2h0BAAAAANrZXkJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACHZvdGVOYW1lAgAAAAFfBQAAAAZvcHRpb24CAAAAAV8JAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAABFnZXRCYWNrU1dPUEhlaWdodAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAA2tleQkAASwAAAACAgAAABRObyBkYXRhIG9uIHRoZSBrZXk6IAUAAAADa2V5AQAAAAljbGFpbUNhbGMAAAABAAAABmNhbGxlcgQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDg5OTU5MDc1CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIFAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwODk5NTkwNzUAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwODk5NTkwNzUAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAPdXNlck5ld0ludGVyZXN0BQAAAAtjbGFpbUFtb3VudAAAAAgAAAABaQEAAAAHYWlyRHJvcAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDkzNDA5NDE1CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTM0MDk0MTUAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5MzQwOTQxNQAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAtpbnRlcmVzdE5ldwkAAGQAAAACBQAAAAxsYXN0SW50ZXJlc3QJAABrAAAAAwUAAAAJcG10QW1vdW50BQAAAApzY2FsZVZhbHVlBQAAAA90b3RhbFNXT1BMb2NrZWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tleUxhc3RJbnRlcmVzdAUAAAALaW50ZXJlc3ROZXcFAAAAA25pbAAAAAFpAQAAAAhsb2NrU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAACyR0MDk4NTM5OTI4CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwOTg1Mzk5MjgAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDA5ODUzOTkyOAAAAAJfMgMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAUSW5jb3JyZWN0IHBtdEFzc2V0SWQEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMDA0NDEwMTI2CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAANJHQwMTAwNDQxMDEyNgAAAAJfMQQAAAAOdXNlclNXT1BMb2NrZWQIBQAAAA0kdDAxMDA0NDEwMTI2AAAAAl8yBAAAAAtjbGFpbUFtb3VudAkAAGsAAAADBQAAAA51c2VyU1dPUExvY2tlZAkAAGUAAAACBQAAAAxsYXN0SW50ZXJlc3QFAAAAEHVzZXJMYXN0SW50ZXJlc3QFAAAACnNjYWxlVmFsdWUEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAD3VzZXJOZXdJbnRlcmVzdAUAAAAMbGFzdEludGVyZXN0BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAACXBtdEFtb3VudAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAAx3aXRoZHJhd1NXT1AAAAABAAAADndpdGhkcmF3QW1vdW50AwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAGcAAAACAAAAAAAAAAAABQAAAA53aXRoZHJhd0Ftb3VudAkAAAIAAAABAgAAABN3aXRoZHJhd0Ftb3VudCA8PSAwBAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA0kdDAxMTI3NjExMzMxCQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMTI3NjExMzMxAAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDExMjc2MTEzMzEAAAACXzIEAAAADSR0MDExMzM2MTE0MDEJAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADnVzZXJWb3RlQW1vdW50CAUAAAANJHQwMTEzMzYxMTQwMQAAAAJfMQQAAAAQdXNlclVudm90ZUFtb3VudAgFAAAADSR0MDExMzM2MTE0MDEAAAACXzIEAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkBAAAAIGdldFVzZXJUb3RhbFZvdGVGb3JOZXdQb29sQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyAwMDCQAAZgAAAAIAAAAAAAAAAAAFAAAAEHVzZXJVbnZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAADnVzZXJWb3RlQW1vdW50BgkAAGYAAAACAAAAAAAAAAAABQAAABh1c2VyVm90ZUFtb3VudEZvck5ld1Bvb2wJAAACAAAAAQIAAABKdXNlclVudm90ZUFtb3VudCA8IDAgfHwgdXNlclZvdGVBbW91bnQgPCAwIHx8IHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbCA8IDAEAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAGUAAAACBQAAAA51c2VyU1dPUExvY2tlZAkAAZYAAAABCQAETAAAAAIFAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkABEwAAAACCQAAZAAAAAIFAAAADnVzZXJWb3RlQW1vdW50BQAAABB1c2VyVW52b3RlQW1vdW50BQAAAANuaWwDCQAAZgAAAAIFAAAADndpdGhkcmF3QW1vdW50BQAAABJhdmFpbGFibGVUb1Vuc3Rha2UJAAACAAAAAQIAAAAjd2l0aGRyYXdBbW91bnQgPiBhdmFpbGFibGVUb1Vuc3Rha2UEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGUAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQFAAAADndpdGhkcmF3QW1vdW50BAAAABF1c2VyU1dPUGFtb3VudE5ldwkAAGUAAAACCQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAARa2V5VXNlclNXT1BMb2NrZWQFAAAAEXVzZXJTV09QYW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrZXlUb3RhbFNXT1BMb2NrZWQFAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADndpdGhkcmF3QW1vdW50BQAAAARTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAAFGNsYWltQW5kV2l0aGRyYXdTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAADSR0MDEyNzc2MTI4MzEJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDEyNzc2MTI4MzEAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTI3NzYxMjgzMQAAAAJfMgQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAMJAAAAAAAAAgUAAAALY2xhaW1BbW91bnQAAAAAAAAAAAAJAAACAAAAAQIAAAAZWW91IGhhdmUgMCBhdmFpbGFibGUgU1dPUAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAAC2NsYWltQW1vdW50BQAAAARTV09QBQAAAANuaWwAAAABaQEAAAARY2xhaW1BbmRTdGFrZVNXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAA90b3RhbFNXT1BMb2NrZWQJAQAAABJnZXRUb3RhbFNXT1BMb2NrZWQAAAAABAAAAA51c2VyU1dPUExvY2tlZAkBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTM2MTAxMzY2NQkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTM2MTAxMzY2NQAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMzYxMDEzNjY1AAAAAl8yBAAAABF1c2VyU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACBQAAAA90b3RhbFNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAANdXBkYXRlV2VpZ2h0cwAAAAQAAAAMY3VycmVudFBvb2xzAAAADmN1cnJlbnRSZXdhcmRzAAAAEnJld2FyZFVwZGF0ZUhlaWdodAAAAApwYWdpbmF0aW9uAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAthbW91bnRQb29scwAAAAAAAAAACgQAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAkABEwAAAACBQAAABFhZG1pblB1YktleVdhbGxldAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwkAAGYAAAACCQABkAAAAAEFAAAADGN1cnJlbnRQb29scwUAAAALYW1vdW50UG9vbHMJAAACAAAAAQkAASwAAAACAgAAABZNYXggYW1vdW50IG9mIHBvb2wgaXMgCQABpAAAAAEFAAAAC2Ftb3VudFBvb2xzAwkAAGcAAAACBQAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAALXJld2FyZFVwZGF0ZUhlaWdodCA8PSB0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAMJAABnAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAcaGVpZ2h0ID49IHJld2FyZFVwZGF0ZUhlaWdodAMJAABnAAAAAgAAAAAAAAAAAAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAGDAgPj0gcmV3YXJkVXBkYXRlSGVpZ2h0IAoBAAAAA3N1bQAAAAIAAAABYQAAAAFiCQAAZAAAAAIFAAAAAWEFAAAAAWIKAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAABZwb29sUmV3YXJkVXBkYXRlSGVpZ2h0CQEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEFAAAABHBvb2wDAwkBAAAAASEAAAABCQEAAAAYaXNEZWZpbmVQb29sVXBkYXRlSGVpZ2h0AAAAAQUAAAAEcG9vbAYDCQEAAAACIT0AAAACBQAAABJyZXdhcmRVcGRhdGVIZWlnaHQFAAAAFnBvb2xSZXdhcmRVcGRhdGVIZWlnaHQJAAAAAAAAAgUAAAAWcG9vbFJld2FyZFVwZGF0ZUhlaWdodAUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQHBAAAAApwb29sUmV3YXJkCQEAAAAQZ2V0Q3VyUG9vbFdlaWdodAAAAAEFAAAABHBvb2wJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAda2V5UmV3YXJkUG9vbEZyYWN0aW9uUHJldmlvdXMFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkBAAAAApwb29sUmV3YXJkCQEAAAARZ2V0UHJldlBvb2xXZWlnaHQAAAABBQAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIAAAALYWNjdW11bGF0ZWQAAAAEcG9vbAQAAAAJcG9vbEluZGV4CQEAAAAFdmFsdWUAAAABCQAETwAAAAIFAAAADGN1cnJlbnRQb29scwUAAAAEcG9vbAQAAAAKcG9vbFJld2FyZAkAAZEAAAACBQAAAA5jdXJyZW50UmV3YXJkcwUAAAAJcG9vbEluZGV4AwkAAGYAAAACAAAAAAAAAAAABQAAAApwb29sUmV3YXJkCQAAAgAAAAECAAAADlBvb2xSZXdhcmQgPCAwCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHGtleVJld2FyZFBvb2xGcmFjdGlvbkN1cnJlbnQFAAAACnBvb2xSZXdhcmQFAAAAC2FjY3VtdWxhdGVkCgEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACnBvb2xIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24FAAAACnBvb2xIZWlnaHQFAAAAC2FjY3VtdWxhdGVkCgEAAAAMZ2V0U3VtUmV3YXJkAAAAAgAAAApjdXJUZW1wU3VtAAAACnBhZ2luYXRpb24DCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAADCQAAZgAAAAIFAAAACmN1clRlbXBTdW0FAAAADnRvdGFsVm90ZVNoYXJlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAASnN1bVJld2FyZFByZXZpb3VzID4gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCA+IHRvdGFsVm90ZVNoYXJlIC0gCQABpAAAAAEFAAAACnBhZ2luYXRpb24CAAAAASAJAAGkAAAAAQUAAAAKY3VyVGVtcFN1bQkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtBQAAAApjdXJUZW1wU3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAEEAAAAEWN1clRlbXBTdW1Gcm9tS2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleVRlbXBDdXJTdW0AAAAAAAAAAAAEAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMJAABmAAAAAgkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5AwkBAAAAAiE9AAAAAgUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAERjdXJyZW50IHJld2FyZFVwZGF0ZUhlaWdodCAhPSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtCQAAZAAAAAIFAAAACmN1clRlbXBTdW0FAAAAEWN1clRlbXBTdW1Gcm9tS2V5BQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAKcGFnaW5hdGlvbgAAAAAAAAAAAgQAAAAGY3VyU3VtCQAAZAAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAANa2V5VGVtcEN1clN1bQAAAAAAAAAAAAUAAAAKY3VyVGVtcFN1bQQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AAAAAAAAAAAAAwkBAAAAAiE9AAAAAgUAAAAGY3VyU3VtBQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABAgAAAElzdW1SZXdhcmRQcmV2aW91cyAhPSB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ICE9IHRvdGFsVm90ZVNoYXJlAwkBAAAAAiE9AAAAAgUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAERjdXJyZW50IHJld2FyZFVwZGF0ZUhlaWdodCAhPSByZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtBQAAAAZjdXJTdW0FAAAAA25pbAUAAAADbmlsCQAAAgAAAAECAAAAFEluY29ycmVjdCBwYWdpbmF0aW9uBAAAABZwcmV2aW91c1Jld2FyZEVudHJ5TmV3BAAAAA8kbGlzdDE4NTM3MTg1ODkFAAAADGN1cnJlbnRQb29scwQAAAAPJHNpemUxODUzNzE4NTg5CQABkAAAAAEFAAAADyRsaXN0MTg1MzcxODU4OQQAAAAPJGFjYzAxODUzNzE4NTg5BQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAAAAUAAAAPJGFjYzAxODUzNzE4NTg5BAAAAA8kYWNjMTE4NTM3MTg1ODkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxODUzNzE4NTg5CQABkQAAAAIFAAAADyRsaXN0MTg1MzcxODU4OQAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxODUzNzE4NTg5AAAAAAAAAAABBQAAAA8kYWNjMTE4NTM3MTg1ODkEAAAADyRhY2MyMTg1MzcxODU4OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTE4NTM3MTg1ODkJAAGRAAAAAgUAAAAPJGxpc3QxODUzNzE4NTg5AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE4NTM3MTg1ODkAAAAAAAAAAAIFAAAADyRhY2MyMTg1MzcxODU4OQQAAAAPJGFjYzMxODUzNzE4NTg5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MyMTg1MzcxODU4OQkAAZEAAAACBQAAAA8kbGlzdDE4NTM3MTg1ODkAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAAAwUAAAAPJGFjYzMxODUzNzE4NTg5BAAAAA8kYWNjNDE4NTM3MTg1ODkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxODUzNzE4NTg5CQABkQAAAAIFAAAADyRsaXN0MTg1MzcxODU4OQAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxODUzNzE4NTg5AAAAAAAAAAAEBQAAAA8kYWNjNDE4NTM3MTg1ODkEAAAADyRhY2M1MTg1MzcxODU4OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDE4NTM3MTg1ODkJAAGRAAAAAgUAAAAPJGxpc3QxODUzNzE4NTg5AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE4NTM3MTg1ODkAAAAAAAAAAAUFAAAADyRhY2M1MTg1MzcxODU4OQQAAAAPJGFjYzYxODUzNzE4NTg5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M1MTg1MzcxODU4OQkAAZEAAAACBQAAAA8kbGlzdDE4NTM3MTg1ODkAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAABgUAAAAPJGFjYzYxODUzNzE4NTg5BAAAAA8kYWNjNzE4NTM3MTg1ODkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxODUzNzE4NTg5CQABkQAAAAIFAAAADyRsaXN0MTg1MzcxODU4OQAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxODUzNzE4NTg5AAAAAAAAAAAHBQAAAA8kYWNjNzE4NTM3MTg1ODkEAAAADyRhY2M4MTg1MzcxODU4OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzE4NTM3MTg1ODkJAAGRAAAAAgUAAAAPJGxpc3QxODUzNzE4NTg5AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE4NTM3MTg1ODkAAAAAAAAAAAgFAAAADyRhY2M4MTg1MzcxODU4OQQAAAAPJGFjYzkxODUzNzE4NTg5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M4MTg1MzcxODU4OQkAAZEAAAACBQAAAA8kbGlzdDE4NTM3MTg1ODkAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAACQUAAAAPJGFjYzkxODUzNzE4NTg5BAAAABAkYWNjMTAxODUzNzE4NTg5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTg1MzcxODU4OQkAAZEAAAACBQAAAA8kbGlzdDE4NTM3MTg1ODkAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTg1MzcxODU4OQAAAAAAAAAACgUAAAAQJGFjYzEwMTg1MzcxODU4OQQAAAAQJGFjYzExMTg1MzcxODU4OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAxODUzNzE4NTg5CQABkQAAAAIFAAAADyRsaXN0MTg1MzcxODU4OQAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABVjdXJyZW50UmV3YXJkRW50cnlOZXcEAAAADyRsaXN0MTg2MjIxODY3NAUAAAAMY3VycmVudFBvb2xzBAAAAA8kc2l6ZTE4NjIyMTg2NzQJAAGQAAAAAQUAAAAPJGxpc3QxODYyMjE4Njc0BAAAAA8kYWNjMDE4NjIyMTg2NzQFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxODYyMjE4Njc0AAAAAAAAAAAABQAAAA8kYWNjMDE4NjIyMTg2NzQEAAAADyRhY2MxMTg2MjIxODY3NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MwMTg2MjIxODY3NAkAAZEAAAACBQAAAA8kbGlzdDE4NjIyMTg2NzQAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTg2MjIxODY3NAAAAAAAAAAAAQUAAAAPJGFjYzExODYyMjE4Njc0BAAAAA8kYWNjMjE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMTE4NjIyMTg2NzQJAAGRAAAAAgUAAAAPJGxpc3QxODYyMjE4Njc0AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE4NjIyMTg2NzQAAAAAAAAAAAIFAAAADyRhY2MyMTg2MjIxODY3NAQAAAAPJGFjYzMxODYyMjE4Njc0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzIxODYyMjE4Njc0CQABkQAAAAIFAAAADyRsaXN0MTg2MjIxODY3NAAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxODYyMjE4Njc0AAAAAAAAAAADBQAAAA8kYWNjMzE4NjIyMTg2NzQEAAAADyRhY2M0MTg2MjIxODY3NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MzMTg2MjIxODY3NAkAAZEAAAACBQAAAA8kbGlzdDE4NjIyMTg2NzQAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTg2MjIxODY3NAAAAAAAAAAABAUAAAAPJGFjYzQxODYyMjE4Njc0BAAAAA8kYWNjNTE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNDE4NjIyMTg2NzQJAAGRAAAAAgUAAAAPJGxpc3QxODYyMjE4Njc0AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE4NjIyMTg2NzQAAAAAAAAAAAUFAAAADyRhY2M1MTg2MjIxODY3NAQAAAAPJGFjYzYxODYyMjE4Njc0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzUxODYyMjE4Njc0CQABkQAAAAIFAAAADyRsaXN0MTg2MjIxODY3NAAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxODYyMjE4Njc0AAAAAAAAAAAGBQAAAA8kYWNjNjE4NjIyMTg2NzQEAAAADyRhY2M3MTg2MjIxODY3NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M2MTg2MjIxODY3NAkAAZEAAAACBQAAAA8kbGlzdDE4NjIyMTg2NzQAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTg2MjIxODY3NAAAAAAAAAAABwUAAAAPJGFjYzcxODYyMjE4Njc0BAAAAA8kYWNjODE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNzE4NjIyMTg2NzQJAAGRAAAAAgUAAAAPJGxpc3QxODYyMjE4Njc0AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE4NjIyMTg2NzQAAAAAAAAAAAgFAAAADyRhY2M4MTg2MjIxODY3NAQAAAAPJGFjYzkxODYyMjE4Njc0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzgxODYyMjE4Njc0CQABkQAAAAIFAAAADyRsaXN0MTg2MjIxODY3NAAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxODYyMjE4Njc0AAAAAAAAAAAJBQAAAA8kYWNjOTE4NjIyMTg2NzQEAAAAECRhY2MxMDE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjOTE4NjIyMTg2NzQJAAGRAAAAAgUAAAAPJGxpc3QxODYyMjE4Njc0AAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE4NjIyMTg2NzQAAAAAAAAAAAoFAAAAECRhY2MxMDE4NjIyMTg2NzQEAAAAECRhY2MxMTE4NjIyMTg2NzQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAABAkYWNjMTAxODYyMjE4Njc0CQABkQAAAAIFAAAADyRsaXN0MTg2MjIxODY3NAAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABFoZWlnaHRFbnRyeU5ld0N1cgQAAAAPJGxpc3QxODcwMzE4NzQ4BQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMTg3MDMxODc0OAkAAZAAAAABBQAAAA8kbGlzdDE4NzAzMTg3NDgEAAAADyRhY2MwMTg3MDMxODc0OAUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAAFAAAADyRhY2MwMTg3MDMxODc0OAQAAAAPJGFjYzExODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMDE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAEFAAAADyRhY2MxMTg3MDMxODc0OAQAAAAPJGFjYzIxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMTE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAABAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAIFAAAADyRhY2MyMTg3MDMxODc0OAQAAAAPJGFjYzMxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMjE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAMFAAAADyRhY2MzMTg3MDMxODc0OAQAAAAPJGFjYzQxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjMzE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAQFAAAADyRhY2M0MTg3MDMxODc0OAQAAAAPJGFjYzUxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNDE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAEAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAUFAAAADyRhY2M1MTg3MDMxODc0OAQAAAAPJGFjYzYxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNTE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAYFAAAADyRhY2M2MTg3MDMxODc0OAQAAAAPJGFjYzcxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNjE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAcFAAAADyRhY2M3MTg3MDMxODc0OAQAAAAPJGFjYzgxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjNzE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAHAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAgFAAAADyRhY2M4MTg3MDMxODc0OAQAAAAPJGFjYzkxODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjODE4NzAzMTg3NDgJAAGRAAAAAgUAAAAPJGxpc3QxODcwMzE4NzQ4AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzAzMTg3NDgAAAAAAAAAAAkFAAAADyRhY2M5MTg3MDMxODc0OAQAAAAQJGFjYzEwMTg3MDMxODc0OAkBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgUAAAAPJGFjYzkxODcwMzE4NzQ4CQABkQAAAAIFAAAADyRsaXN0MTg3MDMxODc0OAAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxODcwMzE4NzQ4AAAAAAAAAAAKBQAAABAkYWNjMTAxODcwMzE4NzQ4BAAAABAkYWNjMTExODcwMzE4NzQ4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAABAkYWNjMTAxODcwMzE4NzQ4CQABkQAAAAIFAAAADyRsaXN0MTg3MDMxODc0OAAAAAAAAAAACgkAAAIAAAABAgAAABNMaXN0IHNpemUgZXhjZWVkIDEwBAAAABRzdW1SZXdhcmRDdXJyZW50VGVtcAQAAAAPJGxpc3QxODc4MjE4ODE0BQAAAA5jdXJyZW50UmV3YXJkcwQAAAAPJHNpemUxODc4MjE4ODE0CQABkAAAAAEFAAAADyRsaXN0MTg3ODIxODgxNAQAAAAPJGFjYzAxODc4MjE4ODE0AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzgyMTg4MTQAAAAAAAAAAAAFAAAADyRhY2MwMTg3ODIxODgxNAQAAAAPJGFjYzExODc4MjE4ODE0CQEAAAADc3VtAAAAAgUAAAAPJGFjYzAxODc4MjE4ODE0CQABkQAAAAIFAAAADyRsaXN0MTg3ODIxODgxNAAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxODc4MjE4ODE0AAAAAAAAAAABBQAAAA8kYWNjMTE4NzgyMTg4MTQEAAAADyRhY2MyMTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAADyRhY2MxMTg3ODIxODgxNAkAAZEAAAACBQAAAA8kbGlzdDE4NzgyMTg4MTQAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTg3ODIxODgxNAAAAAAAAAAAAgUAAAAPJGFjYzIxODc4MjE4ODE0BAAAAA8kYWNjMzE4NzgyMTg4MTQJAQAAAANzdW0AAAACBQAAAA8kYWNjMjE4NzgyMTg4MTQJAAGRAAAAAgUAAAAPJGxpc3QxODc4MjE4ODE0AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzgyMTg4MTQAAAAAAAAAAAMFAAAADyRhY2MzMTg3ODIxODgxNAQAAAAPJGFjYzQxODc4MjE4ODE0CQEAAAADc3VtAAAAAgUAAAAPJGFjYzMxODc4MjE4ODE0CQABkQAAAAIFAAAADyRsaXN0MTg3ODIxODgxNAAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxODc4MjE4ODE0AAAAAAAAAAAEBQAAAA8kYWNjNDE4NzgyMTg4MTQEAAAADyRhY2M1MTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAADyRhY2M0MTg3ODIxODgxNAkAAZEAAAACBQAAAA8kbGlzdDE4NzgyMTg4MTQAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTg3ODIxODgxNAAAAAAAAAAABQUAAAAPJGFjYzUxODc4MjE4ODE0BAAAAA8kYWNjNjE4NzgyMTg4MTQJAQAAAANzdW0AAAACBQAAAA8kYWNjNTE4NzgyMTg4MTQJAAGRAAAAAgUAAAAPJGxpc3QxODc4MjE4ODE0AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzgyMTg4MTQAAAAAAAAAAAYFAAAADyRhY2M2MTg3ODIxODgxNAQAAAAPJGFjYzcxODc4MjE4ODE0CQEAAAADc3VtAAAAAgUAAAAPJGFjYzYxODc4MjE4ODE0CQABkQAAAAIFAAAADyRsaXN0MTg3ODIxODgxNAAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxODc4MjE4ODE0AAAAAAAAAAAHBQAAAA8kYWNjNzE4NzgyMTg4MTQEAAAADyRhY2M4MTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAADyRhY2M3MTg3ODIxODgxNAkAAZEAAAACBQAAAA8kbGlzdDE4NzgyMTg4MTQAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTg3ODIxODgxNAAAAAAAAAAACAUAAAAPJGFjYzgxODc4MjE4ODE0BAAAAA8kYWNjOTE4NzgyMTg4MTQJAQAAAANzdW0AAAACBQAAAA8kYWNjODE4NzgyMTg4MTQJAAGRAAAAAgUAAAAPJGxpc3QxODc4MjE4ODE0AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE4NzgyMTg4MTQAAAAAAAAAAAkFAAAADyRhY2M5MTg3ODIxODgxNAQAAAAQJGFjYzEwMTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAADyRhY2M5MTg3ODIxODgxNAkAAZEAAAACBQAAAA8kbGlzdDE4NzgyMTg4MTQAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTg3ODIxODgxNAAAAAAAAAAACgUAAAAQJGFjYzEwMTg3ODIxODgxNAQAAAAQJGFjYzExMTg3ODIxODgxNAkBAAAAA3N1bQAAAAIFAAAAECRhY2MxMDE4NzgyMTg4MTQJAAGRAAAAAgUAAAAPJGxpc3QxODc4MjE4ODE0AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAADSR0MDE4ODIwMTg5MzEJAQAAAAxnZXRTdW1SZXdhcmQAAAACBQAAABRzdW1SZXdhcmRDdXJyZW50VGVtcAUAAAAKcGFnaW5hdGlvbgQAAAAQc3VtUmV3YXJkQ3VycmVudAgFAAAADSR0MDE4ODIwMTg5MzEAAAACXzEEAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CAUAAAANJHQwMTg4MjAxODkzMQAAAAJfMgQAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwFAAAAA25pbAMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAAAbcmV3YXJkVXBkYXRlSGVpZ2h0IDwgaGVpZ2h0CQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgUAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwUAAAAVY3VycmVudFJld2FyZEVudHJ5TmV3BQAAABFoZWlnaHRFbnRyeU5ld0N1cgUAAAAQc3VtUmV3YXJkQ3VycmVudAUAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5AAAAAWkBAAAACHNodXRkb3duAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQkAASwAAAACAgAAACJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAACGtleUNhdXNlAgAAABp0aGUgY2F1c2Ugd2Fzbid0IHNwZWNpZmllZAMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkBAAAAB3N1c3BlbmQAAAABAgAAAA9QYXVzZWQgYnkgYWRtaW4AAAABaQEAAAAIYWN0aXZhdGUAAAAAAwUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkxCQAETAAAAAIFAAAADGFkbWluUHViS2V5MgkABEwAAAACBQAAAAxhZG1pblB1YktleTMJAARMAAAAAgUAAAAUYWRtaW5QdWJLZXlTdGFydFN0b3AFAAAAA25pbAgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBgkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABBQAAAAhrZXlDYXVzZQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXnmK4k1", "height": 1625041, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9uGGE8JnS5SRGV6gGWTkbcJ8HConB2PEDMVTVTqyfFiS Next: EiHCAaxTjB73SEdWZBywpa2DFyKjfrww8Jrabs2bYLz5 Diff:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
4+let a = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
55
6-let b = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
6+let b = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
77
8-let c = "active"
8+let c = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
99
10-let d = "shutdown_cause"
10+let d = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
12-let e = "last_interest"
12+let e = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
14-let f = "_last_interest"
14+let f = "active"
1515
16-let g = "_SWOP_amount"
16+let g = "shutdown_cause"
1717
18-let h = "_getBackHeight"
18+let h = "last_interest"
1919
20-let i = "total_SWOP_amount"
20+let i = "_last_interest"
2121
22-let j = "_user_total_SWOP_vote"
22+let j = "_SWOP_amount"
2323
24-let k = "_SWOP_option_amount"
24+let k = "_getBackHeight"
2525
26-let l = "total_SWOP_option_amount"
26+let l = "total_SWOP_amount"
2727
28-let m = "_SWOP_claimed_amount"
28+let m = "_user_total_SWOP_vote"
2929
30-let n = "_SWOP_last_claimed_amount"
30+let n = "_SWOP_option_amount"
3131
32-let o = "vote_name"
32+let o = "total_SWOP_option_amount"
3333
34-let p = "_option_name"
34+let p = "_SWOP_claimed_amount"
3535
36-let q = "_startHeight"
36+let q = "_SWOP_last_claimed_amount"
3737
38-let r = "_vote_duration"
38+let r = "vote_name"
3939
40-let s = "_current_pool_fraction_reward"
40+let s = "_option_name"
4141
42-let t = "_previous_pool_fraction_reward"
42+let t = "_startHeight"
4343
44-let u = "_pool_reward_update_height"
44+let u = "_vote_duration"
4545
46-let v = "total_reward_per_block_current"
46+let v = "_current_pool_fraction_reward"
4747
48-let w = "total_reward_per_block_previous"
48+let w = "_previous_pool_fraction_reward"
4949
50-let x = "reward_update_height"
50+let x = "_pool_reward_update_height"
5151
52-let y = "reward_update_height_first_pagination"
52+let y = "total_reward_per_block_current"
5353
54-let z = "_vote_no"
54+let z = "total_reward_per_block_previous"
5555
56-let A = "_vote_yes"
56+let A = "reward_update_height"
5757
58-let B = "max_amount_voting"
58+let B = "reward_update_height_first_pagination"
5959
60-let C = "_status"
60+let C = "_vote_no"
6161
62-let D = "_finish_height"
62+let D = "_vote_yes"
6363
64-let E = "voting_active_cell_1"
64+let E = "max_amount_voting"
6565
66-let F = "voting_active_cell_2"
66+let F = "_status"
6767
68-let G = "voting_active_cell_3"
68+let G = "_finish_height"
6969
70-let H = "sum_reward_current"
70+let H = "voting_active_cell_1"
7171
72-let I = "admin_pub_1"
72+let I = "voting_active_cell_2"
7373
74-let J = "admin_pub_2"
74+let J = "voting_active_cell_3"
7575
76-let K = "admin_pub_3"
76+let K = "sum_reward_current"
7777
78-let L = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
78+let L = valueOrElse(getBoolean(this, f), true)
7979
80-func M (N) = {
81- let O = getString(L, N)
82- if ($isInstanceOf(O, "String"))
83- then {
84- let P = O
85- fromBase58String(P)
86- }
87- else {
88- let Q = O
89- throw("Admin public key is empty")
90- }
80+let M = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
81+
82+let N = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
83+
84+let O = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
85+
86+let P = "SWOP_id"
87+
88+let Q = fromBase58String(getStringValue(M, P))
89+
90+let R = 100000000
91+
92+let S = 10000000000
93+
94+let T = "start_height"
95+
96+let U = "base_period"
97+
98+let V = "period_length"
99+
100+let W = "_user_total_struc"
101+
102+let X = valueOrErrorMessage(getInteger(N, U), "Empty kBasePeriod at voting contract")
103+
104+let Y = valueOrErrorMessage(getInteger(N, T), "Empty kStartHeight at voting contract")
105+
106+let Z = valueOrErrorMessage(getInteger(N, V), "Empty kPeriodLength at voting contract")
107+
108+let aa = valueOrElse(getString(O, H), "")
109+
110+let ab = valueOrElse(getString(O, I), "")
111+
112+let ac = valueOrElse(getString(O, J), "")
113+
114+let ad = (X + ((height - Y) / Z))
115+
116+func ae (af) = [BooleanEntry(f, false), StringEntry(g, af)]
117+
118+
119+func ag () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
120+
121+
122+func ah () = {
123+ let ai = valueOrElse(getInteger(this, h), 0)
124+ ai
91125 }
92126
93127
94-let R = M(I)
95-
96-let S = M(J)
97-
98-let T = M(K)
99-
100-let U = valueOrElse(getBoolean(this, c), true)
101-
102-let V = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
103-
104-let W = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
105-
106-let X = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
107-
108-let Y = "SWOP_id"
109-
110-let Z = fromBase58String(getStringValue(V, Y))
111-
112-let aa = 100000000
113-
114-let ab = 10000000000
115-
116-let ac = "start_height"
117-
118-let ad = "base_period"
119-
120-let ae = "period_length"
121-
122-let af = "_user_total_struc"
123-
124-let ag = valueOrErrorMessage(getInteger(W, ad), "Empty kBasePeriod at voting contract")
125-
126-let ah = valueOrErrorMessage(getInteger(W, ac), "Empty kStartHeight at voting contract")
127-
128-let ai = valueOrErrorMessage(getInteger(W, ae), "Empty kPeriodLength at voting contract")
129-
130-let aj = valueOrElse(getString(X, E), "")
131-
132-let ak = valueOrElse(getString(X, F), "")
133-
134-let al = valueOrElse(getString(X, G), "")
135-
136-let am = (ag + ((height - ah) / ai))
137-
138-func an (ao) = [BooleanEntry(c, false), StringEntry(d, ao)]
128+func aj (ak) = valueOrElse(getInteger(this, (toString(ak) + j)), 0)
139129
140130
141-func ap () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
131+func al (ak) = valueOrElse(getInteger(this, (toString(ak) + p)), 0)
142132
143133
144-func aq () = {
145- let ar = valueOrElse(getInteger(this, e), 0)
146- ar
134+func am (ak) = valueOrElse(getInteger(N, (toString(ak) + m)), 0)
135+
136+
137+func an (ak,ai) = {
138+ let ao = aj(ak)
139+ let ap = getInteger(this, (toString(ak) + i))
140+ let aq = {
141+ let ar = ap
142+ if ($isInstanceOf(ar, "Int"))
143+ then {
144+ let ap = ar
145+ ap
146+ }
147+ else ai
148+ }
149+ $Tuple2(aq, ao)
147150 }
148151
149152
150-func as (at) = valueOrElse(getInteger(this, (toString(at) + g)), 0)
151-
152-
153-func au (at) = valueOrElse(getInteger(this, (toString(at) + m)), 0)
154-
155-
156-func av (at) = valueOrElse(getInteger(W, (toString(at) + j)), 0)
157-
158-
159-func aw (at,ar) = {
160- let ax = as(at)
161- let ay = getInteger(this, (toString(at) + f))
162- let az = {
163- let O = ay
164- if ($isInstanceOf(O, "Int"))
165- then {
166- let ay = O
167- ay
168- }
169- else ar
170- }
171- $Tuple2(az, ax)
172- }
173-
174-
175-func aA (aB,at) = {
176- let aC = valueOrElse(getInteger(X, aB), -1)
177- let aD = valueOrElse(getInteger(X, (toString(aC) + D)), 0)
178- let aE = valueOrElse(getBoolean(X, (toString(aC) + C)), true)
179- let aF = height
180- if ((0 > aC))
153+func as (at,ak) = {
154+ let au = valueOrElse(getInteger(O, at), -1)
155+ let av = valueOrElse(getInteger(O, (toString(au) + G)), 0)
156+ let aw = valueOrElse(getBoolean(O, (toString(au) + F)), true)
157+ let ax = height
158+ if ((0 > au))
181159 then 0
182- else if (!(aE))
160+ else if (!(aw))
183161 then 0
184- else if ((aD > aF))
185- then (valueOrElse(getInteger(X, (((toString(at) + "_") + toString(aC)) + A)), 0) + valueOrElse(getInteger(X, (((toString(at) + "_") + toString(aC)) + z)), 0))
162+ else if ((av > ax))
163+ then (valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + D)), 0) + valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + C)), 0))
186164 else 0
187165 }
188166
189167
190-func aG (at) = {
191- let aH = [aA(aj, at), aA(ak, at), aA(al, at)]
192- max(aH)
168+func ay (ak) = {
169+ let az = [as(aa, ak), as(ab, ak), as(ac, ak)]
170+ max(az)
193171 }
194172
195173
196-func aI () = valueOrElse(getInteger(this, i), 0)
174+func aA () = valueOrElse(getInteger(this, l), 0)
197175
198176
199-func aJ (at) = {
200- let aK = if (isDefined(getString(W, (toString(at) + af))))
177+func aB (ak) = {
178+ let aC = if (isDefined(getString(N, (toString(ak) + W))))
201179 then {
202- let aL = split(valueOrErrorMessage(getString(W, (toString(at) + af)), "Empty kUserTotalStruc"), "_")
203- $Tuple3(parseIntValue(aL[0]), parseIntValue(aL[1]), parseIntValue(aL[2]))
180+ let aD = split(valueOrErrorMessage(getString(N, (toString(ak) + W)), "Empty kUserTotalStruc"), "_")
181+ $Tuple3(parseIntValue(aD[0]), parseIntValue(aD[1]), parseIntValue(aD[2]))
204182 }
205183 else {
206- let aM = valueOrElse(getInteger(W, (toString(at) + j)), 0)
207- $Tuple3(aM, 0, am)
184+ let aE = valueOrElse(getInteger(N, (toString(ak) + m)), 0)
185+ $Tuple3(aE, 0, ad)
208186 }
209- let aN = aK._1
210- let aO = aK._2
211- let aP = aK._3
212- let aQ = if ((aP == am))
213- then aO
187+ let aF = aC._1
188+ let aG = aC._2
189+ let aH = aC._3
190+ let aI = if ((aH == ad))
191+ then aG
214192 else 0
215- $Tuple2(aN, aQ)
193+ $Tuple2(aF, aI)
216194 }
217195
218196
219-func aR (at) = valueOrElse(getInteger(this, (toString(at) + k)), 0)
197+func aJ (ak) = valueOrElse(getInteger(this, (toString(ak) + n)), 0)
220198
221199
222-func aS (aT) = valueOrElse(getInteger(this, (aT + q)), 0)
200+func aK (aL) = valueOrElse(getInteger(this, (aL + t)), 0)
223201
224202
225-func aU (aB) = valueOrElse(getInteger(this, (aB + u)), 0)
203+func aM (at) = valueOrElse(getInteger(this, (at + x)), 0)
226204
227205
228-func aV (aB) = isDefined(getInteger(this, (aB + u)))
206+func aN (at) = isDefined(getInteger(this, (at + x)))
229207
230208
231-func aW (aB) = valueOrElse(getInteger(this, (aB + s)), 0)
209+func aO (at) = valueOrElse(getInteger(this, (at + v)), 0)
232210
233211
234-func aX (aB) = valueOrElse(getInteger(this, (aB + t)), 0)
212+func aP (at) = valueOrElse(getInteger(this, (at + w)), 0)
235213
236214
237-func aY (at,aT,aZ) = {
238- let ba = getInteger(this, (((aT + aZ) + toString(at)) + k))
239- let bb = {
240- let O = ba
241- if ($isInstanceOf(O, "Int"))
215+func aQ (ak,aL,aR) = {
216+ let aS = getInteger(this, (((aL + aR) + toString(ak)) + n))
217+ let aT = {
218+ let ar = aS
219+ if ($isInstanceOf(ar, "Int"))
242220 then {
243- let bb = O
244- bb
221+ let aT = ar
222+ aT
245223 }
246- else if ($isInstanceOf(O, "Unit"))
224+ else if ($isInstanceOf(ar, "Unit"))
247225 then {
248- let bb = O
226+ let aT = ar
249227 0
250228 }
251229 else throw("Match error")
252230 }
253- valueOrErrorMessage(bb, (((("No data on the key: " + aT) + aZ) + toString(at)) + k))
231+ valueOrErrorMessage(aT, (((("No data on the key: " + aL) + aR) + toString(ak)) + n))
254232 }
255233
256234
257-func bc (aT) = valueOrErrorMessage(getInteger(this, (aT + r)), (("No data on the key: " + aT) + r))
235+func aU (aL) = valueOrErrorMessage(getInteger(this, (aL + u)), (("No data on the key: " + aL) + u))
258236
259237
260-func bd (aT,aZ) = {
261- let be = getInteger(this, ((aT + aZ) + l))
262- let bf = {
263- let O = be
264- if ($isInstanceOf(O, "Int"))
238+func aV (aL,aR) = {
239+ let aW = getInteger(this, ((aL + aR) + o))
240+ let aX = {
241+ let ar = aW
242+ if ($isInstanceOf(ar, "Int"))
265243 then {
266- let bf = O
267- bf
244+ let aX = ar
245+ aX
268246 }
269- else if ($isInstanceOf(O, "Unit"))
247+ else if ($isInstanceOf(ar, "Unit"))
270248 then {
271- let bf = O
249+ let aX = ar
272250 0
273251 }
274252 else throw("Match error")
275253 }
276- bf
254+ aX
277255 }
278256
279257
280-func bg (aT,aZ,at,bh) = {
281- let bi = ((((((aT + "_") + aZ) + "_") + toString(at)) + "_") + toString(bh))
282- valueOrErrorMessage(getInteger(this, bi), ("No data on the key: " + bi))
258+func aY (aL,aR,ak,aZ) = {
259+ let ba = ((((((aL + "_") + aR) + "_") + toString(ak)) + "_") + toString(aZ))
260+ valueOrErrorMessage(getInteger(this, ba), ("No data on the key: " + ba))
283261 }
284262
285263
286-func bj (bk) = {
287- let ar = aq()
288- let bl = aw(bk, ar)
289- let ay = bl._1
290- let bm = bl._2
291- let bn = fraction(bm, (ar - ay), aa)
292- let bo = ar
293- $Tuple2(bo, bn)
264+func bb (bc) = {
265+ let ai = ah()
266+ let bd = an(bc, ai)
267+ let ap = bd._1
268+ let be = bd._2
269+ let bf = fraction(be, (ai - ap), R)
270+ let bg = ai
271+ $Tuple2(bg, bf)
294272 }
295273
296274
297-@Callable(bp)
298-func airDrop () = if (!(U))
275+@Callable(bh)
276+func airDrop () = if (!(L))
299277 then throw("DApp is inactive at this moment")
300278 else {
301- let bq = $Tuple2(bp.payments[0].amount, bp.payments[0].assetId)
302- let br = bq._1
303- let bs = bq._2
304- if ((bs != Z))
279+ let bi = $Tuple2(bh.payments[0].amount, bh.payments[0].assetId)
280+ let bj = bi._1
281+ let bk = bi._2
282+ if ((bk != Q))
305283 then throw("Incorrect pmtAssetId")
306284 else {
307- let bt = aI()
308- let ar = aq()
309- let bu = (ar + fraction(br, aa, bt))
310-[IntegerEntry(e, bu)]
285+ let bl = aA()
286+ let ai = ah()
287+ let bm = (ai + fraction(bj, R, bl))
288+[IntegerEntry(h, bm)]
311289 }
312290 }
313291
314292
315293
316-@Callable(bp)
317-func lockSWOP () = if (!(U))
294+@Callable(bh)
295+func lockSWOP () = if (!(L))
318296 then throw("DApp is inactive at this moment")
319297 else {
320- let bv = $Tuple2(bp.payments[0].amount, bp.payments[0].assetId)
321- let br = bv._1
322- let bs = bv._2
323- if ((bs != Z))
298+ let bn = $Tuple2(bh.payments[0].amount, bh.payments[0].assetId)
299+ let bj = bn._1
300+ let bk = bn._2
301+ if ((bk != Q))
324302 then throw("Incorrect pmtAssetId")
325303 else {
326- let ar = aq()
327- let bw = aw(bp.caller, ar)
328- let ay = bw._1
329- let bm = bw._2
330- let bn = fraction(bm, (ar - ay), aa)
331- let bx = ((bm + br) + bn)
332- let bo = ar
333- let bt = aI()
334- let by = ((bt + br) + bn)
335- let bz = au(bp.caller)
336- let bA = (bz + bn)
337-[IntegerEntry((toString(bp.caller) + f), bo), IntegerEntry((toString(bp.caller) + g), bx), IntegerEntry(i, by), IntegerEntry((toString(bp.caller) + m), bA), IntegerEntry((toString(bp.caller) + n), bn)]
304+ let ai = ah()
305+ let bo = an(bh.caller, ai)
306+ let ap = bo._1
307+ let be = bo._2
308+ let bf = fraction(be, (ai - ap), R)
309+ let bp = ((be + bj) + bf)
310+ let bg = ai
311+ let bl = aA()
312+ let bq = ((bl + bj) + bf)
313+ let br = al(bh.caller)
314+ let bs = (br + bf)
315+[IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + j), bp), IntegerEntry(l, bq), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)]
338316 }
339317 }
340318
341319
342320
343-@Callable(bp)
344-func withdrawSWOP (bB) = if (!(U))
321+@Callable(bh)
322+func withdrawSWOP (bt) = if (!(L))
345323 then throw("DApp is inactive at this moment")
346- else if ((0 >= bB))
324+ else if ((0 >= bt))
347325 then throw("withdrawAmount <= 0")
348326 else {
349- let bt = aI()
350- let bm = as(bp.caller)
351- let bC = bj(bp.caller)
352- let bo = bC._1
353- let bn = bC._2
354- let bD = aJ(bp.caller)
355- let bE = bD._1
356- let bF = bD._2
357- let bG = aG(bp.caller)
358- if (if (if ((0 > bF))
327+ let bl = aA()
328+ let be = aj(bh.caller)
329+ let bu = bb(bh.caller)
330+ let bg = bu._1
331+ let bf = bu._2
332+ let bv = aB(bh.caller)
333+ let bw = bv._1
334+ let bx = bv._2
335+ let by = ay(bh.caller)
336+ if (if (if ((0 > bx))
359337 then true
360- else (0 > bE))
338+ else (0 > bw))
361339 then true
362- else (0 > bG))
340+ else (0 > by))
363341 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
364342 else {
365- let bH = (bm - max([bG, (bE + bF)]))
366- if ((bB > bH))
343+ let bz = (be - max([by, (bw + bx)]))
344+ if ((bt > bz))
367345 then throw("withdrawAmount > availableToUnstake")
368346 else {
369- let by = ((bt + bn) - bB)
370- let bI = ((bm + bn) - bB)
371- let bz = au(bp.caller)
372- let bA = (bz + bn)
373-[IntegerEntry((toString(bp.caller) + f), bo), IntegerEntry((toString(bp.caller) + g), bI), IntegerEntry(i, by), ScriptTransfer(bp.caller, bB, Z), IntegerEntry((toString(bp.caller) + m), bA), IntegerEntry((toString(bp.caller) + n), bn)]
347+ let bq = ((bl + bf) - bt)
348+ let bA = ((be + bf) - bt)
349+ let br = al(bh.caller)
350+ let bs = (br + bf)
351+[IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + j), bA), IntegerEntry(l, bq), ScriptTransfer(bh.caller, bt, Q), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)]
374352 }
375353 }
376354 }
377355
378356
379357
380-@Callable(bp)
381-func claimAndWithdrawSWOP () = if (!(U))
358+@Callable(bh)
359+func claimAndWithdrawSWOP () = if (!(L))
382360 then throw("DApp is inactive at this moment")
383361 else {
384- let ar = aq()
385- let bJ = bj(bp.caller)
386- let bo = bJ._1
387- let bn = bJ._2
388- let bz = au(bp.caller)
389- let bA = (bz + bn)
390- if ((bn == 0))
362+ let ai = ah()
363+ let bB = bb(bh.caller)
364+ let bg = bB._1
365+ let bf = bB._2
366+ let br = al(bh.caller)
367+ let bs = (br + bf)
368+ if ((bf == 0))
391369 then throw("You have 0 available SWOP")
392- else [IntegerEntry((toString(bp.caller) + f), bo), IntegerEntry((toString(bp.caller) + m), bA), IntegerEntry((toString(bp.caller) + n), bn), ScriptTransfer(bp.caller, bn, Z)]
370+ else [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf), ScriptTransfer(bh.caller, bf, Q)]
393371 }
394372
395373
396374
397-@Callable(bp)
398-func claimAndStakeSWOP () = if (!(U))
375+@Callable(bh)
376+func claimAndStakeSWOP () = if (!(L))
399377 then throw("DApp is inactive at this moment")
400378 else {
401- let bt = aI()
402- let bm = as(bp.caller)
403- let ar = aq()
404- let bK = bj(bp.caller)
405- let bo = bK._1
406- let bn = bK._2
407- let bx = (bm + bn)
408- let by = (bt + bn)
409- let bz = au(bp.caller)
410- let bA = (bz + bn)
411- if ((bn == 0))
379+ let bl = aA()
380+ let be = aj(bh.caller)
381+ let ai = ah()
382+ let bC = bb(bh.caller)
383+ let bg = bC._1
384+ let bf = bC._2
385+ let bp = (be + bf)
386+ let bq = (bl + bf)
387+ let br = al(bh.caller)
388+ let bs = (br + bf)
389+ if ((bf == 0))
412390 then throw("You have 0 available SWOP")
413- else [IntegerEntry((toString(bp.caller) + f), bo), IntegerEntry(i, by), IntegerEntry((toString(bp.caller) + g), bx), IntegerEntry((toString(bp.caller) + m), bA), IntegerEntry((toString(bp.caller) + n), bn)]
391+ else [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry(l, bq), IntegerEntry((toString(bh.caller) + j), bp), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)]
414392 }
415393
416394
417395
418-@Callable(bp)
419-func updateWeights (bL,bM,bN,bO) = if (!(U))
396+@Callable(bh)
397+func updateWeights (bD,bE,bF,bG) = if (!(L))
420398 then throw("DApp is inactive at this moment")
421399 else {
422- let bP = 10
423- let bQ = valueOrElse(getInteger(this, x), 0)
424- if (!(containsElement([R, S, T, a, b], bp.callerPublicKey)))
400+ let bH = 10
401+ let bI = valueOrElse(getInteger(this, A), 0)
402+ if (!(containsElement([a, b, c, d, e], bh.callerPublicKey)))
425403 then throw("Only admin can call this function")
426- else if ((size(bL) > bP))
427- then throw(("Max amount of pool is " + toString(bP)))
428- else if ((bQ >= bN))
404+ else if ((size(bD) > bH))
405+ then throw(("Max amount of pool is " + toString(bH)))
406+ else if ((bI >= bF))
429407 then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
430- else if ((height >= bN))
408+ else if ((height >= bF))
431409 then throw("height >= rewardUpdateHeight")
432- else if ((0 >= bN))
410+ else if ((0 >= bF))
433411 then throw("0 >= rewardUpdateHeight ")
434412 else {
435- func bR (bS,bT) = (bS + bT)
413+ func bJ (bK,bL) = (bK + bL)
436414
437- func bU (bV,aB) = {
438- let bW = aU(aB)
439- if (if (!(aV(aB)))
415+ func bM (bN,at) = {
416+ let bO = aM(at)
417+ if (if (!(aN(at)))
440418 then true
441- else if ((bN != bW))
442- then (bW == bQ)
419+ else if ((bF != bO))
420+ then (bO == bI)
443421 else false)
444422 then {
445- let bX = aW(aB)
446-IntegerEntry((aB + t), bX) :: bV
423+ let bP = aO(at)
424+IntegerEntry((at + w), bP) :: bN
447425 }
448426 else {
449- let bX = aX(aB)
450-IntegerEntry((aB + t), bX) :: bV
427+ let bP = aP(at)
428+IntegerEntry((at + w), bP) :: bN
451429 }
452430 }
453431
454- func bY (bV,aB) = {
455- let bZ = value(indexOf(bL, aB))
456- let bX = bM[bZ]
457- if ((0 > bX))
432+ func bQ (bN,at) = {
433+ let bR = value(indexOf(bD, at))
434+ let bP = bE[bR]
435+ if ((0 > bP))
458436 then throw("PoolReward < 0")
459- else IntegerEntry((aB + s), bX) :: bV
437+ else IntegerEntry((at + v), bP) :: bN
460438 }
461439
462- func ca (bV,aB) = {
463- let cb = bN
464-IntegerEntry((aB + u), cb) :: bV
440+ func bS (bN,at) = {
441+ let bT = bF
442+IntegerEntry((at + x), bT) :: bN
465443 }
466444
467- func cc (cd,bO) = if ((bO == 0))
468- then if ((cd > ab))
469- then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bO)) + " ") + toString(cd)))
470- else $Tuple2([IntegerEntry(H, cd)], [IntegerEntry(y, bN)])
471- else if ((bO == 1))
445+ func bU (bV,bG) = if ((bG == 0))
446+ then if ((bV > S))
447+ then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bG)) + " ") + toString(bV)))
448+ else $Tuple2([IntegerEntry(K, bV)], [IntegerEntry(B, bF)])
449+ else if ((bG == 1))
472450 then {
473- let ce = valueOrElse(getInteger(this, H), 0)
474- let cf = valueOrElse(getInteger(this, y), 0)
475- if (((cd + ce) > ab))
476- then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bO)) + " ") + toString((cd + ce))))
477- else if ((cf != bN))
451+ let bW = valueOrElse(getInteger(this, K), 0)
452+ let bX = valueOrElse(getInteger(this, B), 0)
453+ if (((bV + bW) > S))
454+ then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bG)) + " ") + toString((bV + bW))))
455+ else if ((bX != bF))
478456 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
479- else $Tuple2([IntegerEntry(H, (cd + ce))], nil)
457+ else $Tuple2([IntegerEntry(K, (bV + bW))], nil)
480458 }
481- else if ((bO == 2))
459+ else if ((bG == 2))
482460 then {
483- let cg = (valueOrElse(getInteger(this, H), 0) + cd)
484- let cf = valueOrElse(getInteger(this, y), 0)
485- if ((cg != ab))
461+ let bY = (valueOrElse(getInteger(this, K), 0) + bV)
462+ let bX = valueOrElse(getInteger(this, B), 0)
463+ if ((bY != S))
486464 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
487- else if ((cf != bN))
465+ else if ((bX != bF))
488466 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
489- else $Tuple2([IntegerEntry(H, cg)], nil)
467+ else $Tuple2([IntegerEntry(K, bY)], nil)
490468 }
491469 else throw("Incorrect pagination")
492470
493- let ch = {
494- let ci = bL
495- let cj = size(ci)
496- let ck = nil
497- if ((cj == 0))
498- then ck
471+ let bZ = {
472+ let ca = bD
473+ let cb = size(ca)
474+ let cc = nil
475+ if ((cb == 0))
476+ then cc
499477 else {
500- let cl = bU(ck, ci[0])
501- if ((cj == 1))
502- then cl
478+ let cd = bM(cc, ca[0])
479+ if ((cb == 1))
480+ then cd
503481 else {
504- let cm = bU(cl, ci[1])
505- if ((cj == 2))
506- then cm
482+ let ce = bM(cd, ca[1])
483+ if ((cb == 2))
484+ then ce
507485 else {
508- let cn = bU(cm, ci[2])
509- if ((cj == 3))
510- then cn
486+ let cf = bM(ce, ca[2])
487+ if ((cb == 3))
488+ then cf
511489 else {
512- let co = bU(cn, ci[3])
513- if ((cj == 4))
514- then co
490+ let cg = bM(cf, ca[3])
491+ if ((cb == 4))
492+ then cg
515493 else {
516- let cp = bU(co, ci[4])
517- if ((cj == 5))
518- then cp
494+ let ch = bM(cg, ca[4])
495+ if ((cb == 5))
496+ then ch
519497 else {
520- let cq = bU(cp, ci[5])
521- if ((cj == 6))
522- then cq
498+ let ci = bM(ch, ca[5])
499+ if ((cb == 6))
500+ then ci
523501 else {
524- let cr = bU(cq, ci[6])
525- if ((cj == 7))
526- then cr
502+ let cj = bM(ci, ca[6])
503+ if ((cb == 7))
504+ then cj
527505 else {
528- let cs = bU(cr, ci[7])
529- if ((cj == 8))
530- then cs
506+ let ck = bM(cj, ca[7])
507+ if ((cb == 8))
508+ then ck
531509 else {
532- let ct = bU(cs, ci[8])
533- if ((cj == 9))
534- then ct
510+ let cl = bM(ck, ca[8])
511+ if ((cb == 9))
512+ then cl
535513 else {
536- let cu = bU(ct, ci[9])
537- if ((cj == 10))
538- then cu
514+ let cm = bM(cl, ca[9])
515+ if ((cb == 10))
516+ then cm
539517 else {
540- let cv = bU(cu, ci[10])
518+ let cn = bM(cm, ca[10])
541519 throw("List size exceed 10")
542520 }
543521 }
551529 }
552530 }
553531 }
554- let cw = {
555- let cx = bL
556- let cy = size(cx)
557- let cz = nil
558- if ((cy == 0))
559- then cz
532+ let co = {
533+ let cp = bD
534+ let cq = size(cp)
535+ let cr = nil
536+ if ((cq == 0))
537+ then cr
560538 else {
561- let cA = bY(cz, cx[0])
562- if ((cy == 1))
563- then cA
539+ let cs = bQ(cr, cp[0])
540+ if ((cq == 1))
541+ then cs
564542 else {
565- let cB = bY(cA, cx[1])
566- if ((cy == 2))
567- then cB
543+ let ct = bQ(cs, cp[1])
544+ if ((cq == 2))
545+ then ct
568546 else {
569- let cC = bY(cB, cx[2])
570- if ((cy == 3))
571- then cC
547+ let cu = bQ(ct, cp[2])
548+ if ((cq == 3))
549+ then cu
572550 else {
573- let cD = bY(cC, cx[3])
574- if ((cy == 4))
575- then cD
551+ let cv = bQ(cu, cp[3])
552+ if ((cq == 4))
553+ then cv
576554 else {
577- let cE = bY(cD, cx[4])
578- if ((cy == 5))
579- then cE
555+ let cw = bQ(cv, cp[4])
556+ if ((cq == 5))
557+ then cw
580558 else {
581- let cF = bY(cE, cx[5])
582- if ((cy == 6))
583- then cF
559+ let cx = bQ(cw, cp[5])
560+ if ((cq == 6))
561+ then cx
584562 else {
585- let cG = bY(cF, cx[6])
586- if ((cy == 7))
587- then cG
563+ let cy = bQ(cx, cp[6])
564+ if ((cq == 7))
565+ then cy
588566 else {
589- let cH = bY(cG, cx[7])
590- if ((cy == 8))
591- then cH
567+ let cz = bQ(cy, cp[7])
568+ if ((cq == 8))
569+ then cz
592570 else {
593- let cI = bY(cH, cx[8])
594- if ((cy == 9))
595- then cI
571+ let cA = bQ(cz, cp[8])
572+ if ((cq == 9))
573+ then cA
596574 else {
597- let cJ = bY(cI, cx[9])
598- if ((cy == 10))
599- then cJ
575+ let cB = bQ(cA, cp[9])
576+ if ((cq == 10))
577+ then cB
600578 else {
601- let cK = bY(cJ, cx[10])
579+ let cC = bQ(cB, cp[10])
602580 throw("List size exceed 10")
603581 }
604582 }
612590 }
613591 }
614592 }
615- let cL = {
616- let cM = bL
617- let cN = size(cM)
618- let cO = nil
619- if ((cN == 0))
620- then cO
593+ let cD = {
594+ let cE = bD
595+ let cF = size(cE)
596+ let cG = nil
597+ if ((cF == 0))
598+ then cG
621599 else {
622- let cP = ca(cO, cM[0])
623- if ((cN == 1))
624- then cP
600+ let cH = bS(cG, cE[0])
601+ if ((cF == 1))
602+ then cH
625603 else {
626- let cQ = ca(cP, cM[1])
627- if ((cN == 2))
628- then cQ
604+ let cI = bS(cH, cE[1])
605+ if ((cF == 2))
606+ then cI
629607 else {
630- let cR = ca(cQ, cM[2])
631- if ((cN == 3))
632- then cR
608+ let cJ = bS(cI, cE[2])
609+ if ((cF == 3))
610+ then cJ
633611 else {
634- let cS = ca(cR, cM[3])
635- if ((cN == 4))
636- then cS
612+ let cK = bS(cJ, cE[3])
613+ if ((cF == 4))
614+ then cK
637615 else {
638- let cT = ca(cS, cM[4])
639- if ((cN == 5))
640- then cT
616+ let cL = bS(cK, cE[4])
617+ if ((cF == 5))
618+ then cL
641619 else {
642- let cU = ca(cT, cM[5])
643- if ((cN == 6))
644- then cU
620+ let cM = bS(cL, cE[5])
621+ if ((cF == 6))
622+ then cM
645623 else {
646- let cV = ca(cU, cM[6])
647- if ((cN == 7))
648- then cV
624+ let cN = bS(cM, cE[6])
625+ if ((cF == 7))
626+ then cN
649627 else {
650- let cW = ca(cV, cM[7])
651- if ((cN == 8))
652- then cW
628+ let cO = bS(cN, cE[7])
629+ if ((cF == 8))
630+ then cO
653631 else {
654- let cX = ca(cW, cM[8])
655- if ((cN == 9))
656- then cX
632+ let cP = bS(cO, cE[8])
633+ if ((cF == 9))
634+ then cP
657635 else {
658- let cY = ca(cX, cM[9])
659- if ((cN == 10))
660- then cY
636+ let cQ = bS(cP, cE[9])
637+ if ((cF == 10))
638+ then cQ
661639 else {
662- let cZ = ca(cY, cM[10])
640+ let cR = bS(cQ, cE[10])
663641 throw("List size exceed 10")
664642 }
665643 }
673651 }
674652 }
675653 }
676- let da = {
677- let db = bM
678- let dc = size(db)
679- let dd = 0
680- if ((dc == 0))
681- then dd
654+ let cS = {
655+ let cT = bE
656+ let cU = size(cT)
657+ let cV = 0
658+ if ((cU == 0))
659+ then cV
682660 else {
683- let de = bR(dd, db[0])
684- if ((dc == 1))
685- then de
661+ let cW = bJ(cV, cT[0])
662+ if ((cU == 1))
663+ then cW
686664 else {
687- let df = bR(de, db[1])
688- if ((dc == 2))
689- then df
665+ let cX = bJ(cW, cT[1])
666+ if ((cU == 2))
667+ then cX
690668 else {
691- let dg = bR(df, db[2])
692- if ((dc == 3))
693- then dg
669+ let cY = bJ(cX, cT[2])
670+ if ((cU == 3))
671+ then cY
694672 else {
695- let dh = bR(dg, db[3])
696- if ((dc == 4))
697- then dh
673+ let cZ = bJ(cY, cT[3])
674+ if ((cU == 4))
675+ then cZ
698676 else {
699- let di = bR(dh, db[4])
700- if ((dc == 5))
701- then di
677+ let da = bJ(cZ, cT[4])
678+ if ((cU == 5))
679+ then da
702680 else {
703- let dj = bR(di, db[5])
704- if ((dc == 6))
705- then dj
681+ let db = bJ(da, cT[5])
682+ if ((cU == 6))
683+ then db
706684 else {
707- let dk = bR(dj, db[6])
708- if ((dc == 7))
709- then dk
685+ let dc = bJ(db, cT[6])
686+ if ((cU == 7))
687+ then dc
710688 else {
711- let dl = bR(dk, db[7])
712- if ((dc == 8))
713- then dl
689+ let dd = bJ(dc, cT[7])
690+ if ((cU == 8))
691+ then dd
714692 else {
715- let dm = bR(dl, db[8])
716- if ((dc == 9))
717- then dm
693+ let de = bJ(dd, cT[8])
694+ if ((cU == 9))
695+ then de
718696 else {
719- let dn = bR(dm, db[9])
720- if ((dc == 10))
721- then dn
697+ let df = bJ(de, cT[9])
698+ if ((cU == 10))
699+ then df
722700 else {
723- let do = bR(dn, db[10])
701+ let dg = bJ(df, cT[10])
724702 throw("List size exceed 10")
725703 }
726704 }
734712 }
735713 }
736714 }
737- let dp = cc(da, bO)
738- let dq = dp._1
739- let cf = dp._2
740- let dr = if ((bO == 2))
741- then [IntegerEntry(x, bN)]
715+ let dh = bU(cS, bG)
716+ let di = dh._1
717+ let bX = dh._2
718+ let dj = if ((bG == 2))
719+ then [IntegerEntry(A, bF)]
742720 else nil
743- if ((height > bN))
721+ if ((height > bF))
744722 then throw("rewardUpdateHeight < height")
745- else (((((ch ++ cw) ++ cL) ++ dq) ++ dr) ++ cf)
723+ else (((((bZ ++ co) ++ cD) ++ di) ++ dj) ++ bX)
746724 }
747725 }
748726
749727
750728
751-@Callable(bp)
752-func shutdown () = if (!(U))
753- then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, d), "the cause wasn't specified")))
754- else if (!(containsElement([R, S, T, a], bp.callerPublicKey)))
729+@Callable(bh)
730+func shutdown () = if (!(L))
731+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
732+ else if (!(containsElement([a, b, c, d], bh.callerPublicKey)))
755733 then throw("Only admin can call this function")
756- else an("Paused by admin")
734+ else ae("Paused by admin")
757735
758736
759737
760-@Callable(bp)
761-func activate () = if (U)
738+@Callable(bh)
739+func activate () = if (L)
762740 then throw("DApp is already active")
763- else if (!(containsElement([R, S, T, a], bp.callerPublicKey)))
741+ else if (!(containsElement([a, b, c, d], bh.callerPublicKey)))
764742 then throw("Only admin can call this function")
765- else [BooleanEntry(c, true), DeleteEntry(d)]
743+ else [BooleanEntry(f, true), DeleteEntry(g)]
766744
767745
768-@Verifier(ds)
769-func dt () = {
770- let du = if (sigVerify(ds.bodyBytes, ds.proofs[0], R))
771- then 1
772- else 0
773- let dv = if (sigVerify(ds.bodyBytes, ds.proofs[1], S))
774- then 1
775- else 0
776- let dw = if (sigVerify(ds.bodyBytes, ds.proofs[2], T))
777- then 1
778- else 0
779- (((du + dv) + dw) >= 2)
780- }
746+@Verifier(dk)
747+func dl () = sigVerify(dk.bodyBytes, dk.proofs[0], dk.senderPublicKey)
781748
Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let a = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
4+let a = base58'GFmKZ2naZFRoCvNbwKAQVGmLb1uBeWGDgFabdGBuZiuy'
55
6-let b = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
6+let b = base58'GmJXRyhRA79g8yUGgKBAVdnFfQFDMjQG98b1MmLDh5kk'
77
8-let c = "active"
8+let c = base58'CFhbV6h41hVjbGHudGtS3fYUv7QAKRxFQzKNtx4B5PqP'
99
10-let d = "shutdown_cause"
10+let d = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
12-let e = "last_interest"
12+let e = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
14-let f = "_last_interest"
14+let f = "active"
1515
16-let g = "_SWOP_amount"
16+let g = "shutdown_cause"
1717
18-let h = "_getBackHeight"
18+let h = "last_interest"
1919
20-let i = "total_SWOP_amount"
20+let i = "_last_interest"
2121
22-let j = "_user_total_SWOP_vote"
22+let j = "_SWOP_amount"
2323
24-let k = "_SWOP_option_amount"
24+let k = "_getBackHeight"
2525
26-let l = "total_SWOP_option_amount"
26+let l = "total_SWOP_amount"
2727
28-let m = "_SWOP_claimed_amount"
28+let m = "_user_total_SWOP_vote"
2929
30-let n = "_SWOP_last_claimed_amount"
30+let n = "_SWOP_option_amount"
3131
32-let o = "vote_name"
32+let o = "total_SWOP_option_amount"
3333
34-let p = "_option_name"
34+let p = "_SWOP_claimed_amount"
3535
36-let q = "_startHeight"
36+let q = "_SWOP_last_claimed_amount"
3737
38-let r = "_vote_duration"
38+let r = "vote_name"
3939
40-let s = "_current_pool_fraction_reward"
40+let s = "_option_name"
4141
42-let t = "_previous_pool_fraction_reward"
42+let t = "_startHeight"
4343
44-let u = "_pool_reward_update_height"
44+let u = "_vote_duration"
4545
46-let v = "total_reward_per_block_current"
46+let v = "_current_pool_fraction_reward"
4747
48-let w = "total_reward_per_block_previous"
48+let w = "_previous_pool_fraction_reward"
4949
50-let x = "reward_update_height"
50+let x = "_pool_reward_update_height"
5151
52-let y = "reward_update_height_first_pagination"
52+let y = "total_reward_per_block_current"
5353
54-let z = "_vote_no"
54+let z = "total_reward_per_block_previous"
5555
56-let A = "_vote_yes"
56+let A = "reward_update_height"
5757
58-let B = "max_amount_voting"
58+let B = "reward_update_height_first_pagination"
5959
60-let C = "_status"
60+let C = "_vote_no"
6161
62-let D = "_finish_height"
62+let D = "_vote_yes"
6363
64-let E = "voting_active_cell_1"
64+let E = "max_amount_voting"
6565
66-let F = "voting_active_cell_2"
66+let F = "_status"
6767
68-let G = "voting_active_cell_3"
68+let G = "_finish_height"
6969
70-let H = "sum_reward_current"
70+let H = "voting_active_cell_1"
7171
72-let I = "admin_pub_1"
72+let I = "voting_active_cell_2"
7373
74-let J = "admin_pub_2"
74+let J = "voting_active_cell_3"
7575
76-let K = "admin_pub_3"
76+let K = "sum_reward_current"
7777
78-let L = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
78+let L = valueOrElse(getBoolean(this, f), true)
7979
80-func M (N) = {
81- let O = getString(L, N)
82- if ($isInstanceOf(O, "String"))
83- then {
84- let P = O
85- fromBase58String(P)
86- }
87- else {
88- let Q = O
89- throw("Admin public key is empty")
90- }
80+let M = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
81+
82+let N = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
83+
84+let O = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
85+
86+let P = "SWOP_id"
87+
88+let Q = fromBase58String(getStringValue(M, P))
89+
90+let R = 100000000
91+
92+let S = 10000000000
93+
94+let T = "start_height"
95+
96+let U = "base_period"
97+
98+let V = "period_length"
99+
100+let W = "_user_total_struc"
101+
102+let X = valueOrErrorMessage(getInteger(N, U), "Empty kBasePeriod at voting contract")
103+
104+let Y = valueOrErrorMessage(getInteger(N, T), "Empty kStartHeight at voting contract")
105+
106+let Z = valueOrErrorMessage(getInteger(N, V), "Empty kPeriodLength at voting contract")
107+
108+let aa = valueOrElse(getString(O, H), "")
109+
110+let ab = valueOrElse(getString(O, I), "")
111+
112+let ac = valueOrElse(getString(O, J), "")
113+
114+let ad = (X + ((height - Y) / Z))
115+
116+func ae (af) = [BooleanEntry(f, false), StringEntry(g, af)]
117+
118+
119+func ag () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
120+
121+
122+func ah () = {
123+ let ai = valueOrElse(getInteger(this, h), 0)
124+ ai
91125 }
92126
93127
94-let R = M(I)
95-
96-let S = M(J)
97-
98-let T = M(K)
99-
100-let U = valueOrElse(getBoolean(this, c), true)
101-
102-let V = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
103-
104-let W = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
105-
106-let X = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
107-
108-let Y = "SWOP_id"
109-
110-let Z = fromBase58String(getStringValue(V, Y))
111-
112-let aa = 100000000
113-
114-let ab = 10000000000
115-
116-let ac = "start_height"
117-
118-let ad = "base_period"
119-
120-let ae = "period_length"
121-
122-let af = "_user_total_struc"
123-
124-let ag = valueOrErrorMessage(getInteger(W, ad), "Empty kBasePeriod at voting contract")
125-
126-let ah = valueOrErrorMessage(getInteger(W, ac), "Empty kStartHeight at voting contract")
127-
128-let ai = valueOrErrorMessage(getInteger(W, ae), "Empty kPeriodLength at voting contract")
129-
130-let aj = valueOrElse(getString(X, E), "")
131-
132-let ak = valueOrElse(getString(X, F), "")
133-
134-let al = valueOrElse(getString(X, G), "")
135-
136-let am = (ag + ((height - ah) / ai))
137-
138-func an (ao) = [BooleanEntry(c, false), StringEntry(d, ao)]
128+func aj (ak) = valueOrElse(getInteger(this, (toString(ak) + j)), 0)
139129
140130
141-func ap () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
131+func al (ak) = valueOrElse(getInteger(this, (toString(ak) + p)), 0)
142132
143133
144-func aq () = {
145- let ar = valueOrElse(getInteger(this, e), 0)
146- ar
134+func am (ak) = valueOrElse(getInteger(N, (toString(ak) + m)), 0)
135+
136+
137+func an (ak,ai) = {
138+ let ao = aj(ak)
139+ let ap = getInteger(this, (toString(ak) + i))
140+ let aq = {
141+ let ar = ap
142+ if ($isInstanceOf(ar, "Int"))
143+ then {
144+ let ap = ar
145+ ap
146+ }
147+ else ai
148+ }
149+ $Tuple2(aq, ao)
147150 }
148151
149152
150-func as (at) = valueOrElse(getInteger(this, (toString(at) + g)), 0)
151-
152-
153-func au (at) = valueOrElse(getInteger(this, (toString(at) + m)), 0)
154-
155-
156-func av (at) = valueOrElse(getInteger(W, (toString(at) + j)), 0)
157-
158-
159-func aw (at,ar) = {
160- let ax = as(at)
161- let ay = getInteger(this, (toString(at) + f))
162- let az = {
163- let O = ay
164- if ($isInstanceOf(O, "Int"))
165- then {
166- let ay = O
167- ay
168- }
169- else ar
170- }
171- $Tuple2(az, ax)
172- }
173-
174-
175-func aA (aB,at) = {
176- let aC = valueOrElse(getInteger(X, aB), -1)
177- let aD = valueOrElse(getInteger(X, (toString(aC) + D)), 0)
178- let aE = valueOrElse(getBoolean(X, (toString(aC) + C)), true)
179- let aF = height
180- if ((0 > aC))
153+func as (at,ak) = {
154+ let au = valueOrElse(getInteger(O, at), -1)
155+ let av = valueOrElse(getInteger(O, (toString(au) + G)), 0)
156+ let aw = valueOrElse(getBoolean(O, (toString(au) + F)), true)
157+ let ax = height
158+ if ((0 > au))
181159 then 0
182- else if (!(aE))
160+ else if (!(aw))
183161 then 0
184- else if ((aD > aF))
185- then (valueOrElse(getInteger(X, (((toString(at) + "_") + toString(aC)) + A)), 0) + valueOrElse(getInteger(X, (((toString(at) + "_") + toString(aC)) + z)), 0))
162+ else if ((av > ax))
163+ then (valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + D)), 0) + valueOrElse(getInteger(O, (((toString(ak) + "_") + toString(au)) + C)), 0))
186164 else 0
187165 }
188166
189167
190-func aG (at) = {
191- let aH = [aA(aj, at), aA(ak, at), aA(al, at)]
192- max(aH)
168+func ay (ak) = {
169+ let az = [as(aa, ak), as(ab, ak), as(ac, ak)]
170+ max(az)
193171 }
194172
195173
196-func aI () = valueOrElse(getInteger(this, i), 0)
174+func aA () = valueOrElse(getInteger(this, l), 0)
197175
198176
199-func aJ (at) = {
200- let aK = if (isDefined(getString(W, (toString(at) + af))))
177+func aB (ak) = {
178+ let aC = if (isDefined(getString(N, (toString(ak) + W))))
201179 then {
202- let aL = split(valueOrErrorMessage(getString(W, (toString(at) + af)), "Empty kUserTotalStruc"), "_")
203- $Tuple3(parseIntValue(aL[0]), parseIntValue(aL[1]), parseIntValue(aL[2]))
180+ let aD = split(valueOrErrorMessage(getString(N, (toString(ak) + W)), "Empty kUserTotalStruc"), "_")
181+ $Tuple3(parseIntValue(aD[0]), parseIntValue(aD[1]), parseIntValue(aD[2]))
204182 }
205183 else {
206- let aM = valueOrElse(getInteger(W, (toString(at) + j)), 0)
207- $Tuple3(aM, 0, am)
184+ let aE = valueOrElse(getInteger(N, (toString(ak) + m)), 0)
185+ $Tuple3(aE, 0, ad)
208186 }
209- let aN = aK._1
210- let aO = aK._2
211- let aP = aK._3
212- let aQ = if ((aP == am))
213- then aO
187+ let aF = aC._1
188+ let aG = aC._2
189+ let aH = aC._3
190+ let aI = if ((aH == ad))
191+ then aG
214192 else 0
215- $Tuple2(aN, aQ)
193+ $Tuple2(aF, aI)
216194 }
217195
218196
219-func aR (at) = valueOrElse(getInteger(this, (toString(at) + k)), 0)
197+func aJ (ak) = valueOrElse(getInteger(this, (toString(ak) + n)), 0)
220198
221199
222-func aS (aT) = valueOrElse(getInteger(this, (aT + q)), 0)
200+func aK (aL) = valueOrElse(getInteger(this, (aL + t)), 0)
223201
224202
225-func aU (aB) = valueOrElse(getInteger(this, (aB + u)), 0)
203+func aM (at) = valueOrElse(getInteger(this, (at + x)), 0)
226204
227205
228-func aV (aB) = isDefined(getInteger(this, (aB + u)))
206+func aN (at) = isDefined(getInteger(this, (at + x)))
229207
230208
231-func aW (aB) = valueOrElse(getInteger(this, (aB + s)), 0)
209+func aO (at) = valueOrElse(getInteger(this, (at + v)), 0)
232210
233211
234-func aX (aB) = valueOrElse(getInteger(this, (aB + t)), 0)
212+func aP (at) = valueOrElse(getInteger(this, (at + w)), 0)
235213
236214
237-func aY (at,aT,aZ) = {
238- let ba = getInteger(this, (((aT + aZ) + toString(at)) + k))
239- let bb = {
240- let O = ba
241- if ($isInstanceOf(O, "Int"))
215+func aQ (ak,aL,aR) = {
216+ let aS = getInteger(this, (((aL + aR) + toString(ak)) + n))
217+ let aT = {
218+ let ar = aS
219+ if ($isInstanceOf(ar, "Int"))
242220 then {
243- let bb = O
244- bb
221+ let aT = ar
222+ aT
245223 }
246- else if ($isInstanceOf(O, "Unit"))
224+ else if ($isInstanceOf(ar, "Unit"))
247225 then {
248- let bb = O
226+ let aT = ar
249227 0
250228 }
251229 else throw("Match error")
252230 }
253- valueOrErrorMessage(bb, (((("No data on the key: " + aT) + aZ) + toString(at)) + k))
231+ valueOrErrorMessage(aT, (((("No data on the key: " + aL) + aR) + toString(ak)) + n))
254232 }
255233
256234
257-func bc (aT) = valueOrErrorMessage(getInteger(this, (aT + r)), (("No data on the key: " + aT) + r))
235+func aU (aL) = valueOrErrorMessage(getInteger(this, (aL + u)), (("No data on the key: " + aL) + u))
258236
259237
260-func bd (aT,aZ) = {
261- let be = getInteger(this, ((aT + aZ) + l))
262- let bf = {
263- let O = be
264- if ($isInstanceOf(O, "Int"))
238+func aV (aL,aR) = {
239+ let aW = getInteger(this, ((aL + aR) + o))
240+ let aX = {
241+ let ar = aW
242+ if ($isInstanceOf(ar, "Int"))
265243 then {
266- let bf = O
267- bf
244+ let aX = ar
245+ aX
268246 }
269- else if ($isInstanceOf(O, "Unit"))
247+ else if ($isInstanceOf(ar, "Unit"))
270248 then {
271- let bf = O
249+ let aX = ar
272250 0
273251 }
274252 else throw("Match error")
275253 }
276- bf
254+ aX
277255 }
278256
279257
280-func bg (aT,aZ,at,bh) = {
281- let bi = ((((((aT + "_") + aZ) + "_") + toString(at)) + "_") + toString(bh))
282- valueOrErrorMessage(getInteger(this, bi), ("No data on the key: " + bi))
258+func aY (aL,aR,ak,aZ) = {
259+ let ba = ((((((aL + "_") + aR) + "_") + toString(ak)) + "_") + toString(aZ))
260+ valueOrErrorMessage(getInteger(this, ba), ("No data on the key: " + ba))
283261 }
284262
285263
286-func bj (bk) = {
287- let ar = aq()
288- let bl = aw(bk, ar)
289- let ay = bl._1
290- let bm = bl._2
291- let bn = fraction(bm, (ar - ay), aa)
292- let bo = ar
293- $Tuple2(bo, bn)
264+func bb (bc) = {
265+ let ai = ah()
266+ let bd = an(bc, ai)
267+ let ap = bd._1
268+ let be = bd._2
269+ let bf = fraction(be, (ai - ap), R)
270+ let bg = ai
271+ $Tuple2(bg, bf)
294272 }
295273
296274
297-@Callable(bp)
298-func airDrop () = if (!(U))
275+@Callable(bh)
276+func airDrop () = if (!(L))
299277 then throw("DApp is inactive at this moment")
300278 else {
301- let bq = $Tuple2(bp.payments[0].amount, bp.payments[0].assetId)
302- let br = bq._1
303- let bs = bq._2
304- if ((bs != Z))
279+ let bi = $Tuple2(bh.payments[0].amount, bh.payments[0].assetId)
280+ let bj = bi._1
281+ let bk = bi._2
282+ if ((bk != Q))
305283 then throw("Incorrect pmtAssetId")
306284 else {
307- let bt = aI()
308- let ar = aq()
309- let bu = (ar + fraction(br, aa, bt))
310-[IntegerEntry(e, bu)]
285+ let bl = aA()
286+ let ai = ah()
287+ let bm = (ai + fraction(bj, R, bl))
288+[IntegerEntry(h, bm)]
311289 }
312290 }
313291
314292
315293
316-@Callable(bp)
317-func lockSWOP () = if (!(U))
294+@Callable(bh)
295+func lockSWOP () = if (!(L))
318296 then throw("DApp is inactive at this moment")
319297 else {
320- let bv = $Tuple2(bp.payments[0].amount, bp.payments[0].assetId)
321- let br = bv._1
322- let bs = bv._2
323- if ((bs != Z))
298+ let bn = $Tuple2(bh.payments[0].amount, bh.payments[0].assetId)
299+ let bj = bn._1
300+ let bk = bn._2
301+ if ((bk != Q))
324302 then throw("Incorrect pmtAssetId")
325303 else {
326- let ar = aq()
327- let bw = aw(bp.caller, ar)
328- let ay = bw._1
329- let bm = bw._2
330- let bn = fraction(bm, (ar - ay), aa)
331- let bx = ((bm + br) + bn)
332- let bo = ar
333- let bt = aI()
334- let by = ((bt + br) + bn)
335- let bz = au(bp.caller)
336- let bA = (bz + bn)
337-[IntegerEntry((toString(bp.caller) + f), bo), IntegerEntry((toString(bp.caller) + g), bx), IntegerEntry(i, by), IntegerEntry((toString(bp.caller) + m), bA), IntegerEntry((toString(bp.caller) + n), bn)]
304+ let ai = ah()
305+ let bo = an(bh.caller, ai)
306+ let ap = bo._1
307+ let be = bo._2
308+ let bf = fraction(be, (ai - ap), R)
309+ let bp = ((be + bj) + bf)
310+ let bg = ai
311+ let bl = aA()
312+ let bq = ((bl + bj) + bf)
313+ let br = al(bh.caller)
314+ let bs = (br + bf)
315+[IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + j), bp), IntegerEntry(l, bq), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)]
338316 }
339317 }
340318
341319
342320
343-@Callable(bp)
344-func withdrawSWOP (bB) = if (!(U))
321+@Callable(bh)
322+func withdrawSWOP (bt) = if (!(L))
345323 then throw("DApp is inactive at this moment")
346- else if ((0 >= bB))
324+ else if ((0 >= bt))
347325 then throw("withdrawAmount <= 0")
348326 else {
349- let bt = aI()
350- let bm = as(bp.caller)
351- let bC = bj(bp.caller)
352- let bo = bC._1
353- let bn = bC._2
354- let bD = aJ(bp.caller)
355- let bE = bD._1
356- let bF = bD._2
357- let bG = aG(bp.caller)
358- if (if (if ((0 > bF))
327+ let bl = aA()
328+ let be = aj(bh.caller)
329+ let bu = bb(bh.caller)
330+ let bg = bu._1
331+ let bf = bu._2
332+ let bv = aB(bh.caller)
333+ let bw = bv._1
334+ let bx = bv._2
335+ let by = ay(bh.caller)
336+ if (if (if ((0 > bx))
359337 then true
360- else (0 > bE))
338+ else (0 > bw))
361339 then true
362- else (0 > bG))
340+ else (0 > by))
363341 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
364342 else {
365- let bH = (bm - max([bG, (bE + bF)]))
366- if ((bB > bH))
343+ let bz = (be - max([by, (bw + bx)]))
344+ if ((bt > bz))
367345 then throw("withdrawAmount > availableToUnstake")
368346 else {
369- let by = ((bt + bn) - bB)
370- let bI = ((bm + bn) - bB)
371- let bz = au(bp.caller)
372- let bA = (bz + bn)
373-[IntegerEntry((toString(bp.caller) + f), bo), IntegerEntry((toString(bp.caller) + g), bI), IntegerEntry(i, by), ScriptTransfer(bp.caller, bB, Z), IntegerEntry((toString(bp.caller) + m), bA), IntegerEntry((toString(bp.caller) + n), bn)]
347+ let bq = ((bl + bf) - bt)
348+ let bA = ((be + bf) - bt)
349+ let br = al(bh.caller)
350+ let bs = (br + bf)
351+[IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + j), bA), IntegerEntry(l, bq), ScriptTransfer(bh.caller, bt, Q), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)]
374352 }
375353 }
376354 }
377355
378356
379357
380-@Callable(bp)
381-func claimAndWithdrawSWOP () = if (!(U))
358+@Callable(bh)
359+func claimAndWithdrawSWOP () = if (!(L))
382360 then throw("DApp is inactive at this moment")
383361 else {
384- let ar = aq()
385- let bJ = bj(bp.caller)
386- let bo = bJ._1
387- let bn = bJ._2
388- let bz = au(bp.caller)
389- let bA = (bz + bn)
390- if ((bn == 0))
362+ let ai = ah()
363+ let bB = bb(bh.caller)
364+ let bg = bB._1
365+ let bf = bB._2
366+ let br = al(bh.caller)
367+ let bs = (br + bf)
368+ if ((bf == 0))
391369 then throw("You have 0 available SWOP")
392- else [IntegerEntry((toString(bp.caller) + f), bo), IntegerEntry((toString(bp.caller) + m), bA), IntegerEntry((toString(bp.caller) + n), bn), ScriptTransfer(bp.caller, bn, Z)]
370+ else [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf), ScriptTransfer(bh.caller, bf, Q)]
393371 }
394372
395373
396374
397-@Callable(bp)
398-func claimAndStakeSWOP () = if (!(U))
375+@Callable(bh)
376+func claimAndStakeSWOP () = if (!(L))
399377 then throw("DApp is inactive at this moment")
400378 else {
401- let bt = aI()
402- let bm = as(bp.caller)
403- let ar = aq()
404- let bK = bj(bp.caller)
405- let bo = bK._1
406- let bn = bK._2
407- let bx = (bm + bn)
408- let by = (bt + bn)
409- let bz = au(bp.caller)
410- let bA = (bz + bn)
411- if ((bn == 0))
379+ let bl = aA()
380+ let be = aj(bh.caller)
381+ let ai = ah()
382+ let bC = bb(bh.caller)
383+ let bg = bC._1
384+ let bf = bC._2
385+ let bp = (be + bf)
386+ let bq = (bl + bf)
387+ let br = al(bh.caller)
388+ let bs = (br + bf)
389+ if ((bf == 0))
412390 then throw("You have 0 available SWOP")
413- else [IntegerEntry((toString(bp.caller) + f), bo), IntegerEntry(i, by), IntegerEntry((toString(bp.caller) + g), bx), IntegerEntry((toString(bp.caller) + m), bA), IntegerEntry((toString(bp.caller) + n), bn)]
391+ else [IntegerEntry((toString(bh.caller) + i), bg), IntegerEntry(l, bq), IntegerEntry((toString(bh.caller) + j), bp), IntegerEntry((toString(bh.caller) + p), bs), IntegerEntry((toString(bh.caller) + q), bf)]
414392 }
415393
416394
417395
418-@Callable(bp)
419-func updateWeights (bL,bM,bN,bO) = if (!(U))
396+@Callable(bh)
397+func updateWeights (bD,bE,bF,bG) = if (!(L))
420398 then throw("DApp is inactive at this moment")
421399 else {
422- let bP = 10
423- let bQ = valueOrElse(getInteger(this, x), 0)
424- if (!(containsElement([R, S, T, a, b], bp.callerPublicKey)))
400+ let bH = 10
401+ let bI = valueOrElse(getInteger(this, A), 0)
402+ if (!(containsElement([a, b, c, d, e], bh.callerPublicKey)))
425403 then throw("Only admin can call this function")
426- else if ((size(bL) > bP))
427- then throw(("Max amount of pool is " + toString(bP)))
428- else if ((bQ >= bN))
404+ else if ((size(bD) > bH))
405+ then throw(("Max amount of pool is " + toString(bH)))
406+ else if ((bI >= bF))
429407 then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
430- else if ((height >= bN))
408+ else if ((height >= bF))
431409 then throw("height >= rewardUpdateHeight")
432- else if ((0 >= bN))
410+ else if ((0 >= bF))
433411 then throw("0 >= rewardUpdateHeight ")
434412 else {
435- func bR (bS,bT) = (bS + bT)
413+ func bJ (bK,bL) = (bK + bL)
436414
437- func bU (bV,aB) = {
438- let bW = aU(aB)
439- if (if (!(aV(aB)))
415+ func bM (bN,at) = {
416+ let bO = aM(at)
417+ if (if (!(aN(at)))
440418 then true
441- else if ((bN != bW))
442- then (bW == bQ)
419+ else if ((bF != bO))
420+ then (bO == bI)
443421 else false)
444422 then {
445- let bX = aW(aB)
446-IntegerEntry((aB + t), bX) :: bV
423+ let bP = aO(at)
424+IntegerEntry((at + w), bP) :: bN
447425 }
448426 else {
449- let bX = aX(aB)
450-IntegerEntry((aB + t), bX) :: bV
427+ let bP = aP(at)
428+IntegerEntry((at + w), bP) :: bN
451429 }
452430 }
453431
454- func bY (bV,aB) = {
455- let bZ = value(indexOf(bL, aB))
456- let bX = bM[bZ]
457- if ((0 > bX))
432+ func bQ (bN,at) = {
433+ let bR = value(indexOf(bD, at))
434+ let bP = bE[bR]
435+ if ((0 > bP))
458436 then throw("PoolReward < 0")
459- else IntegerEntry((aB + s), bX) :: bV
437+ else IntegerEntry((at + v), bP) :: bN
460438 }
461439
462- func ca (bV,aB) = {
463- let cb = bN
464-IntegerEntry((aB + u), cb) :: bV
440+ func bS (bN,at) = {
441+ let bT = bF
442+IntegerEntry((at + x), bT) :: bN
465443 }
466444
467- func cc (cd,bO) = if ((bO == 0))
468- then if ((cd > ab))
469- then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bO)) + " ") + toString(cd)))
470- else $Tuple2([IntegerEntry(H, cd)], [IntegerEntry(y, bN)])
471- else if ((bO == 1))
445+ func bU (bV,bG) = if ((bG == 0))
446+ then if ((bV > S))
447+ then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bG)) + " ") + toString(bV)))
448+ else $Tuple2([IntegerEntry(K, bV)], [IntegerEntry(B, bF)])
449+ else if ((bG == 1))
472450 then {
473- let ce = valueOrElse(getInteger(this, H), 0)
474- let cf = valueOrElse(getInteger(this, y), 0)
475- if (((cd + ce) > ab))
476- then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bO)) + " ") + toString((cd + ce))))
477- else if ((cf != bN))
451+ let bW = valueOrElse(getInteger(this, K), 0)
452+ let bX = valueOrElse(getInteger(this, B), 0)
453+ if (((bV + bW) > S))
454+ then throw(((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bG)) + " ") + toString((bV + bW))))
455+ else if ((bX != bF))
478456 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
479- else $Tuple2([IntegerEntry(H, (cd + ce))], nil)
457+ else $Tuple2([IntegerEntry(K, (bV + bW))], nil)
480458 }
481- else if ((bO == 2))
459+ else if ((bG == 2))
482460 then {
483- let cg = (valueOrElse(getInteger(this, H), 0) + cd)
484- let cf = valueOrElse(getInteger(this, y), 0)
485- if ((cg != ab))
461+ let bY = (valueOrElse(getInteger(this, K), 0) + bV)
462+ let bX = valueOrElse(getInteger(this, B), 0)
463+ if ((bY != S))
486464 then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
487- else if ((cf != bN))
465+ else if ((bX != bF))
488466 then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
489- else $Tuple2([IntegerEntry(H, cg)], nil)
467+ else $Tuple2([IntegerEntry(K, bY)], nil)
490468 }
491469 else throw("Incorrect pagination")
492470
493- let ch = {
494- let ci = bL
495- let cj = size(ci)
496- let ck = nil
497- if ((cj == 0))
498- then ck
471+ let bZ = {
472+ let ca = bD
473+ let cb = size(ca)
474+ let cc = nil
475+ if ((cb == 0))
476+ then cc
499477 else {
500- let cl = bU(ck, ci[0])
501- if ((cj == 1))
502- then cl
478+ let cd = bM(cc, ca[0])
479+ if ((cb == 1))
480+ then cd
503481 else {
504- let cm = bU(cl, ci[1])
505- if ((cj == 2))
506- then cm
482+ let ce = bM(cd, ca[1])
483+ if ((cb == 2))
484+ then ce
507485 else {
508- let cn = bU(cm, ci[2])
509- if ((cj == 3))
510- then cn
486+ let cf = bM(ce, ca[2])
487+ if ((cb == 3))
488+ then cf
511489 else {
512- let co = bU(cn, ci[3])
513- if ((cj == 4))
514- then co
490+ let cg = bM(cf, ca[3])
491+ if ((cb == 4))
492+ then cg
515493 else {
516- let cp = bU(co, ci[4])
517- if ((cj == 5))
518- then cp
494+ let ch = bM(cg, ca[4])
495+ if ((cb == 5))
496+ then ch
519497 else {
520- let cq = bU(cp, ci[5])
521- if ((cj == 6))
522- then cq
498+ let ci = bM(ch, ca[5])
499+ if ((cb == 6))
500+ then ci
523501 else {
524- let cr = bU(cq, ci[6])
525- if ((cj == 7))
526- then cr
502+ let cj = bM(ci, ca[6])
503+ if ((cb == 7))
504+ then cj
527505 else {
528- let cs = bU(cr, ci[7])
529- if ((cj == 8))
530- then cs
506+ let ck = bM(cj, ca[7])
507+ if ((cb == 8))
508+ then ck
531509 else {
532- let ct = bU(cs, ci[8])
533- if ((cj == 9))
534- then ct
510+ let cl = bM(ck, ca[8])
511+ if ((cb == 9))
512+ then cl
535513 else {
536- let cu = bU(ct, ci[9])
537- if ((cj == 10))
538- then cu
514+ let cm = bM(cl, ca[9])
515+ if ((cb == 10))
516+ then cm
539517 else {
540- let cv = bU(cu, ci[10])
518+ let cn = bM(cm, ca[10])
541519 throw("List size exceed 10")
542520 }
543521 }
544522 }
545523 }
546524 }
547525 }
548526 }
549527 }
550528 }
551529 }
552530 }
553531 }
554- let cw = {
555- let cx = bL
556- let cy = size(cx)
557- let cz = nil
558- if ((cy == 0))
559- then cz
532+ let co = {
533+ let cp = bD
534+ let cq = size(cp)
535+ let cr = nil
536+ if ((cq == 0))
537+ then cr
560538 else {
561- let cA = bY(cz, cx[0])
562- if ((cy == 1))
563- then cA
539+ let cs = bQ(cr, cp[0])
540+ if ((cq == 1))
541+ then cs
564542 else {
565- let cB = bY(cA, cx[1])
566- if ((cy == 2))
567- then cB
543+ let ct = bQ(cs, cp[1])
544+ if ((cq == 2))
545+ then ct
568546 else {
569- let cC = bY(cB, cx[2])
570- if ((cy == 3))
571- then cC
547+ let cu = bQ(ct, cp[2])
548+ if ((cq == 3))
549+ then cu
572550 else {
573- let cD = bY(cC, cx[3])
574- if ((cy == 4))
575- then cD
551+ let cv = bQ(cu, cp[3])
552+ if ((cq == 4))
553+ then cv
576554 else {
577- let cE = bY(cD, cx[4])
578- if ((cy == 5))
579- then cE
555+ let cw = bQ(cv, cp[4])
556+ if ((cq == 5))
557+ then cw
580558 else {
581- let cF = bY(cE, cx[5])
582- if ((cy == 6))
583- then cF
559+ let cx = bQ(cw, cp[5])
560+ if ((cq == 6))
561+ then cx
584562 else {
585- let cG = bY(cF, cx[6])
586- if ((cy == 7))
587- then cG
563+ let cy = bQ(cx, cp[6])
564+ if ((cq == 7))
565+ then cy
588566 else {
589- let cH = bY(cG, cx[7])
590- if ((cy == 8))
591- then cH
567+ let cz = bQ(cy, cp[7])
568+ if ((cq == 8))
569+ then cz
592570 else {
593- let cI = bY(cH, cx[8])
594- if ((cy == 9))
595- then cI
571+ let cA = bQ(cz, cp[8])
572+ if ((cq == 9))
573+ then cA
596574 else {
597- let cJ = bY(cI, cx[9])
598- if ((cy == 10))
599- then cJ
575+ let cB = bQ(cA, cp[9])
576+ if ((cq == 10))
577+ then cB
600578 else {
601- let cK = bY(cJ, cx[10])
579+ let cC = bQ(cB, cp[10])
602580 throw("List size exceed 10")
603581 }
604582 }
605583 }
606584 }
607585 }
608586 }
609587 }
610588 }
611589 }
612590 }
613591 }
614592 }
615- let cL = {
616- let cM = bL
617- let cN = size(cM)
618- let cO = nil
619- if ((cN == 0))
620- then cO
593+ let cD = {
594+ let cE = bD
595+ let cF = size(cE)
596+ let cG = nil
597+ if ((cF == 0))
598+ then cG
621599 else {
622- let cP = ca(cO, cM[0])
623- if ((cN == 1))
624- then cP
600+ let cH = bS(cG, cE[0])
601+ if ((cF == 1))
602+ then cH
625603 else {
626- let cQ = ca(cP, cM[1])
627- if ((cN == 2))
628- then cQ
604+ let cI = bS(cH, cE[1])
605+ if ((cF == 2))
606+ then cI
629607 else {
630- let cR = ca(cQ, cM[2])
631- if ((cN == 3))
632- then cR
608+ let cJ = bS(cI, cE[2])
609+ if ((cF == 3))
610+ then cJ
633611 else {
634- let cS = ca(cR, cM[3])
635- if ((cN == 4))
636- then cS
612+ let cK = bS(cJ, cE[3])
613+ if ((cF == 4))
614+ then cK
637615 else {
638- let cT = ca(cS, cM[4])
639- if ((cN == 5))
640- then cT
616+ let cL = bS(cK, cE[4])
617+ if ((cF == 5))
618+ then cL
641619 else {
642- let cU = ca(cT, cM[5])
643- if ((cN == 6))
644- then cU
620+ let cM = bS(cL, cE[5])
621+ if ((cF == 6))
622+ then cM
645623 else {
646- let cV = ca(cU, cM[6])
647- if ((cN == 7))
648- then cV
624+ let cN = bS(cM, cE[6])
625+ if ((cF == 7))
626+ then cN
649627 else {
650- let cW = ca(cV, cM[7])
651- if ((cN == 8))
652- then cW
628+ let cO = bS(cN, cE[7])
629+ if ((cF == 8))
630+ then cO
653631 else {
654- let cX = ca(cW, cM[8])
655- if ((cN == 9))
656- then cX
632+ let cP = bS(cO, cE[8])
633+ if ((cF == 9))
634+ then cP
657635 else {
658- let cY = ca(cX, cM[9])
659- if ((cN == 10))
660- then cY
636+ let cQ = bS(cP, cE[9])
637+ if ((cF == 10))
638+ then cQ
661639 else {
662- let cZ = ca(cY, cM[10])
640+ let cR = bS(cQ, cE[10])
663641 throw("List size exceed 10")
664642 }
665643 }
666644 }
667645 }
668646 }
669647 }
670648 }
671649 }
672650 }
673651 }
674652 }
675653 }
676- let da = {
677- let db = bM
678- let dc = size(db)
679- let dd = 0
680- if ((dc == 0))
681- then dd
654+ let cS = {
655+ let cT = bE
656+ let cU = size(cT)
657+ let cV = 0
658+ if ((cU == 0))
659+ then cV
682660 else {
683- let de = bR(dd, db[0])
684- if ((dc == 1))
685- then de
661+ let cW = bJ(cV, cT[0])
662+ if ((cU == 1))
663+ then cW
686664 else {
687- let df = bR(de, db[1])
688- if ((dc == 2))
689- then df
665+ let cX = bJ(cW, cT[1])
666+ if ((cU == 2))
667+ then cX
690668 else {
691- let dg = bR(df, db[2])
692- if ((dc == 3))
693- then dg
669+ let cY = bJ(cX, cT[2])
670+ if ((cU == 3))
671+ then cY
694672 else {
695- let dh = bR(dg, db[3])
696- if ((dc == 4))
697- then dh
673+ let cZ = bJ(cY, cT[3])
674+ if ((cU == 4))
675+ then cZ
698676 else {
699- let di = bR(dh, db[4])
700- if ((dc == 5))
701- then di
677+ let da = bJ(cZ, cT[4])
678+ if ((cU == 5))
679+ then da
702680 else {
703- let dj = bR(di, db[5])
704- if ((dc == 6))
705- then dj
681+ let db = bJ(da, cT[5])
682+ if ((cU == 6))
683+ then db
706684 else {
707- let dk = bR(dj, db[6])
708- if ((dc == 7))
709- then dk
685+ let dc = bJ(db, cT[6])
686+ if ((cU == 7))
687+ then dc
710688 else {
711- let dl = bR(dk, db[7])
712- if ((dc == 8))
713- then dl
689+ let dd = bJ(dc, cT[7])
690+ if ((cU == 8))
691+ then dd
714692 else {
715- let dm = bR(dl, db[8])
716- if ((dc == 9))
717- then dm
693+ let de = bJ(dd, cT[8])
694+ if ((cU == 9))
695+ then de
718696 else {
719- let dn = bR(dm, db[9])
720- if ((dc == 10))
721- then dn
697+ let df = bJ(de, cT[9])
698+ if ((cU == 10))
699+ then df
722700 else {
723- let do = bR(dn, db[10])
701+ let dg = bJ(df, cT[10])
724702 throw("List size exceed 10")
725703 }
726704 }
727705 }
728706 }
729707 }
730708 }
731709 }
732710 }
733711 }
734712 }
735713 }
736714 }
737- let dp = cc(da, bO)
738- let dq = dp._1
739- let cf = dp._2
740- let dr = if ((bO == 2))
741- then [IntegerEntry(x, bN)]
715+ let dh = bU(cS, bG)
716+ let di = dh._1
717+ let bX = dh._2
718+ let dj = if ((bG == 2))
719+ then [IntegerEntry(A, bF)]
742720 else nil
743- if ((height > bN))
721+ if ((height > bF))
744722 then throw("rewardUpdateHeight < height")
745- else (((((ch ++ cw) ++ cL) ++ dq) ++ dr) ++ cf)
723+ else (((((bZ ++ co) ++ cD) ++ di) ++ dj) ++ bX)
746724 }
747725 }
748726
749727
750728
751-@Callable(bp)
752-func shutdown () = if (!(U))
753- then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, d), "the cause wasn't specified")))
754- else if (!(containsElement([R, S, T, a], bp.callerPublicKey)))
729+@Callable(bh)
730+func shutdown () = if (!(L))
731+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
732+ else if (!(containsElement([a, b, c, d], bh.callerPublicKey)))
755733 then throw("Only admin can call this function")
756- else an("Paused by admin")
734+ else ae("Paused by admin")
757735
758736
759737
760-@Callable(bp)
761-func activate () = if (U)
738+@Callable(bh)
739+func activate () = if (L)
762740 then throw("DApp is already active")
763- else if (!(containsElement([R, S, T, a], bp.callerPublicKey)))
741+ else if (!(containsElement([a, b, c, d], bh.callerPublicKey)))
764742 then throw("Only admin can call this function")
765- else [BooleanEntry(c, true), DeleteEntry(d)]
743+ else [BooleanEntry(f, true), DeleteEntry(g)]
766744
767745
768-@Verifier(ds)
769-func dt () = {
770- let du = if (sigVerify(ds.bodyBytes, ds.proofs[0], R))
771- then 1
772- else 0
773- let dv = if (sigVerify(ds.bodyBytes, ds.proofs[1], S))
774- then 1
775- else 0
776- let dw = if (sigVerify(ds.bodyBytes, ds.proofs[2], T))
777- then 1
778- else 0
779- (((du + dv) + dw) >= 2)
780- }
746+@Verifier(dk)
747+func dl () = sigVerify(dk.bodyBytes, dk.proofs[0], dk.senderPublicKey)
781748

github/deemru/w8io/169f3d6 
493.64 ms