tx · 32QzWNBiqy53yKfvr6w2QkMwgABWVxejMjJemc8iRoZ9

3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU:  -0.01400000 Waves

2021.06.11 20:23 [1565993] smart account 3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU > SELF 0.00000000 Waves

{ "type": 13, "id": "32QzWNBiqy53yKfvr6w2QkMwgABWVxejMjJemc8iRoZ9", "fee": 1400000, "feeAssetId": null, "timestamp": 1623432229214, "version": 2, "chainId": 84, "sender": "3N5W8da2iiijVieA6qLGo7KzCJj8B19smWU", "senderPublicKey": "AWADFmQjf2WbDSqb24S9YZpix3VEdiBdeiJ2J2sSfQ49", "proofs": [ "5fQnj21MAugTqG4jowhoUCfnWfi1NxstPQpVeXaV74zTddVo9WBgWBtvPfMXD2TAydYxjTkEL2rkEWjEg9oKnnBB" ], "script": "base64:AAIEAAAAAAAAAB0IAhIAEgASAwoBARIAEgASCAoGGBEYEQEBEgASAAAAAE0AAAAADGFkbWluUHViS2V5MQEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MgEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADGFkbWluUHViS2V5MwEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAAFGFkbWluUHViS2V5U3RhcnRTdG9wAQAAACAEz3XlZNDBD05nuR8TZMQaDeqEJEIxfTOQXUBYCp2TSgAAAAARYWRtaW5QdWJLZXlXYWxsZXQBAAAAID53WmVaVsn8KVcztbwNRS3KzKf4hZION3dY82IVUhQSAAAAAAlrZXlBY3RpdmUCAAAABmFjdGl2ZQAAAAAIa2V5Q2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA9rZXlMYXN0SW50ZXJlc3QCAAAADWxhc3RfaW50ZXJlc3QAAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QCAAAADl9sYXN0X2ludGVyZXN0AAAAABFrZXlVc2VyU1dPUExvY2tlZAIAAAAMX1NXT1BfYW1vdW50AAAAABRrZXlVc2VyR2V0QmFja0hlaWdodAIAAAAOX2dldEJhY2tIZWlnaHQAAAAAEmtleVRvdGFsU1dPUExvY2tlZAIAAAARdG90YWxfU1dPUF9hbW91bnQAAAAAEmtVc2VyVG90YWxWb3RlU1dPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAABdrZXlVc2VyVm90ZU9wdGlvbkFtb3VudAIAAAATX1NXT1Bfb3B0aW9uX2Ftb3VudAAAAAAYa2V5VG90YWxWb3RlT3B0aW9uQW1vdW50AgAAABh0b3RhbF9TV09QX29wdGlvbl9hbW91bnQAAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAIAAAAUX1NXT1BfY2xhaW1lZF9hbW91bnQAAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQCAAAAGV9TV09QX2xhc3RfY2xhaW1lZF9hbW91bnQAAAAAC2tleVZvdGVOYW1lAgAAAAl2b3RlX25hbWUAAAAADWtleU9wdGlvbk5hbWUCAAAADF9vcHRpb25fbmFtZQAAAAAUa2V5Vm90aW5nU3RhcnRIZWlnaHQCAAAADF9zdGFydEhlaWdodAAAAAAPa2V5Vm90ZUR1cmF0aW9uAgAAAA5fdm90ZV9kdXJhdGlvbgAAAAAca2V5UmV3YXJkUG9vbEZyYWN0aW9uQ3VycmVudAIAAAAdX2N1cnJlbnRfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzAgAAAB5fcHJldmlvdXNfcG9vbF9mcmFjdGlvbl9yZXdhcmQAAAAAFWtleUhlaWdodFBvb2xGcmFjdGlvbgIAAAAaX3Bvb2xfcmV3YXJkX3VwZGF0ZV9oZWlnaHQAAAAAHWtleVRvdGFsUmV3YXJkUGVyQmxvY2tDdXJyZW50AgAAAB50b3RhbF9yZXdhcmRfcGVyX2Jsb2NrX2N1cnJlbnQAAAAAHmtleVRvdGFsUmV3YXJkUGVyQmxvY2tQcmV2aW91cwIAAAAfdG90YWxfcmV3YXJkX3Blcl9ibG9ja19wcmV2aW91cwAAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AgAAABRyZXdhcmRfdXBkYXRlX2hlaWdodAAAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AgAAACVyZXdhcmRfdXBkYXRlX2hlaWdodF9maXJzdF9wYWdpbmF0aW9uAAAAABVrZXlOb1ZvdGluZ0Zvck5ld1Bvb2wCAAAACF92b3RlX25vAAAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAgAAAAlfdm90ZV95ZXMAAAAAG2tleUFtb3VudE9mVm90aW5nRm9yTmV3UG9vbAIAAAARbWF4X2Ftb3VudF92b3RpbmcAAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAIAAAAHX3N0YXR1cwAAAAAfa2V5SGVpZ2h0T2ZQb29sVm90aW5nRm9yTmV3UG9vbAIAAAAOX2ZpbmlzaF9oZWlnaHQAAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAUdm90aW5nX2FjdGl2ZV9jZWxsXzEAAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8yAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAFHZvdGluZ19hY3RpdmVfY2VsbF8zAAAAAA5rZXlUZW1wUHJldlN1bQIAAAATc3VtX3Jld2FyZF9wcmV2aW91cwAAAAANa2V5VGVtcEN1clN1bQIAAAASc3VtX3Jld2FyZF9jdXJyZW50AAAAAAhpc0FjdGl2ZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUGAAAAABJmYXJtaW5nU1dPUEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAAEnZvdGluZ0xpdGVDb250cmFjdAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVBo2ft9Xop0naVz+v/cm1Of7ocNoPiDKfwAAAAAQdm90aW5nRm9yTmV3UG9vbAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVHYh4XkVy3N3fz+gY3RQqyMsWxkYg/NLggAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAARTV09QCQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAAEmZhcm1pbmdTV09QQWRkcmVzcwUAAAAJa2V5U1dPUGlkAAAAAApzY2FsZVZhbHVlAAAAAAAF9eEAAAAAAA50b3RhbFZvdGVTaGFyZQAAAAACVAvkAAAAAAAMa1N0YXJ0SGVpZ2h0AgAAAAxzdGFydF9oZWlnaHQAAAAAC2tCYXNlUGVyaW9kAgAAAAtiYXNlX3BlcmlvZAAAAAANa1BlcmlvZExlbmd0aAIAAAANcGVyaW9kX2xlbmd0aAAAAAAPa1VzZXJUb3RhbFN0cnVjAgAAABFfdXNlcl90b3RhbF9zdHJ1YwAAAAAKYmFzZVBlcmlvZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAAEnZvdGluZ0xpdGVDb250cmFjdAUAAAALa0Jhc2VQZXJpb2QCAAAAJEVtcHR5IGtCYXNlUGVyaW9kIGF0IHZvdGluZyBjb250cmFjdAAAAAALc3RhcnRIZWlnaHQJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QFAAAADGtTdGFydEhlaWdodAIAAAAlRW1wdHkga1N0YXJ0SGVpZ2h0IGF0IHZvdGluZyBjb250cmFjdAAAAAAMcGVyaW9kTGVuZ3RoCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0BQAAAA1rUGVyaW9kTGVuZ3RoAgAAACZFbXB0eSBrUGVyaW9kTGVuZ3RoIGF0IHZvdGluZyBjb250cmFjdAAAAAAPZmlyc3RBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVGaXJzdAIAAAAAAAAAABBzZWNvbmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAAAAAAPdGhpcmRBY3RpdmVWb3RlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAAAAAAABBjdXJyVm90aW5nUGVyaW9kCQAAZAAAAAIFAAAACmJhc2VQZXJpb2QJAABpAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAC3N0YXJ0SGVpZ2h0BQAAAAxwZXJpb2RMZW5ndGgBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAABJ0aHJvd05vdEVub3VnaFNXT1AAAAAACQAAAgAAAAECAAAARk5vdCBlbm91Z2ggU1dPUDogdXNlclNXT1BMb2NrZWQgLSB1c2VyVG90YWxWb3RlQW1vdW50IDwgdm90ZVNXT1BBbW91bnQBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAAxsYXN0SW50ZXJlc3QJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPa2V5TGFzdEludGVyZXN0AAAAAAAAAAAABQAAAAxsYXN0SW50ZXJlc3QBAAAAEWdldFVzZXJTV09QTG9ja2VkAAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABFrZXlVc2VyU1dPUExvY2tlZAAAAAAAAAAAAAEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQAAAAR1c2VyCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQAAAAAAAAAAAABAAAAFmdldFVzZXJUb3RhbFZvdGVBbW91bnQAAAABAAAABHVzZXIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAASa1VzZXJUb3RhbFZvdGVTV09QAAAAAAAAAAAAAQAAABNnZXRVc2VySW50ZXJlc3RJbmZvAAAAAgAAAAR1c2VyAAAADGxhc3RJbnRlcmVzdAQAAAAOdXNlclNXT1BBbW91bnQJAQAAABFnZXRVc2VyU1dPUExvY2tlZAAAAAEFAAAABHVzZXIEAAAAEHVzZXJMYXN0SW50ZXJlc3QJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QEAAAAFXVzZXJMYXN0SW50ZXJlc3RWYWx1ZQQAAAAHJG1hdGNoMAUAAAAQdXNlckxhc3RJbnRlcmVzdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABB1c2VyTGFzdEludGVyZXN0BQAAAAckbWF0Y2gwBQAAABB1c2VyTGFzdEludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QJAAUUAAAAAgUAAAAVdXNlckxhc3RJbnRlcmVzdFZhbHVlBQAAAA51c2VyU1dPUEFtb3VudAEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACAAAABHBvb2wAAAAEdXNlcgQAAAAGdm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wFAAAABHBvb2wA//////////8EAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAH2tleUhlaWdodE9mUG9vbFZvdGluZ0Zvck5ld1Bvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAG2tleVN0YXR1c09mVm90aW5nRm9yTmV3UG9vbAYEAAAADWN1cnJlbnRIZWlnaHQFAAAABmhlaWdodAMJAABmAAAAAgAAAAAAAAAAAAUAAAAGdm90aW5nAAAAAAAAAAAAAwkBAAAAASEAAAABBQAAAA5zdGF0dXNPZlZvdGluZwAAAAAAAAAAAAMJAABmAAAAAgUAAAAOaGVpZ2h0T2ZWb3RpbmcFAAAADWN1cnJlbnRIZWlnaHQJAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABB2b3RpbmdGb3JOZXdQb29sCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXICAAAAAV8JAAGkAAAAAQUAAAAGdm90aW5nBQAAABZrZXlZZXNWb3RpbmdGb3JOZXdQb29sAAAAAAAAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAEHZvdGluZ0Zvck5ld1Bvb2wJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgIAAAABXwkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAFWtleU5vVm90aW5nRm9yTmV3UG9vbAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABAAAABHVzZXIEAAAADGxpc3RPZlZvdGluZwkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABHVzZXIJAARMAAAAAgkBAAAAIGdldFVzZXJUb3RhbFZvdGVBbW91bnRGb3JPbmVQb29sAAAAAgUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAEdXNlcgkABEwAAAACCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUFtb3VudEZvck9uZVBvb2wAAAACBQAAAA90aGlyZEFjdGl2ZVZvdGUFAAAABHVzZXIFAAAAA25pbAkAAZYAAAABBQAAAAxsaXN0T2ZWb3RpbmcBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAASa2V5VG90YWxTV09QTG9ja2VkAAAAAAAAAAAAAQAAAA9nZXRVc2VyVm90ZUluZm8AAAABAAAABHVzZXIEAAAACyR0MDYwNzI2NjIzAwkBAAAACWlzRGVmaW5lZAAAAAEJAAQdAAAAAgUAAAASdm90aW5nTGl0ZUNvbnRyYWN0CQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAPa1VzZXJUb3RhbFN0cnVjBAAAAARkYXRhCQAEtQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA9rVXNlclRvdGFsU3RydWMCAAAAFUVtcHR5IGtVc2VyVG90YWxTdHJ1YwIAAAABXwkABRUAAAADCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEZGF0YQAAAAAAAAAAAAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAABGRhdGEAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAARkYXRhAAAAAAAAAAACBAAAAA51UG9vbFRvdGFsU1dPUAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAABJ2b3RpbmdMaXRlQ29udHJhY3QJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAABJrVXNlclRvdGFsVm90ZVNXT1AAAAAAAAAAAAAJAAUVAAAAAwUAAAAOdVBvb2xUb3RhbFNXT1AAAAAAAAAAAAAFAAAAEGN1cnJWb3RpbmdQZXJpb2QEAAAAEXVzZXJUb3RhbFZvdGVTV09QCAUAAAALJHQwNjA3MjY2MjMAAAACXzEEAAAAC3VzZXJVbnZvdGVkCAUAAAALJHQwNjA3MjY2MjMAAAACXzIEAAAAEXVzZXJVbnZvdGVkUGVyaW9kCAUAAAALJHQwNjA3MjY2MjMAAAACXzMEAAAAEXVzZXJVbnZvdGVkQWN0dWFsAwkAAAAAAAACBQAAABF1c2VyVW52b3RlZFBlcmlvZAUAAAAQY3VyclZvdGluZ1BlcmlvZAUAAAALdXNlclVudm90ZWQAAAAAAAAAAAAJAAUUAAAAAgUAAAARdXNlclRvdGFsVm90ZVNXT1AFAAAAEXVzZXJVbnZvdGVkQWN0dWFsAQAAABdnZXRVc2VyVm90ZU9wdGlvbkFtb3VudAAAAAEAAAAEdXNlcgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQUAAAAEdXNlcgUAAAAXa2V5VXNlclZvdGVPcHRpb25BbW91bnQAAAAAAAAAAAABAAAAFGdldFZvdGluZ1N0YXJ0SGVpZ2h0AAAAAQAAAAh2b3RlTmFtZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAACHZvdGVOYW1lBQAAABRrZXlWb3RpbmdTdGFydEhlaWdodAAAAAAAAAAAAAEAAAATZ2V0UG9vbFVwZGF0ZUhlaWdodAAAAAEAAAAEcG9vbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAARwb29sBQAAABVrZXlIZWlnaHRQb29sRnJhY3Rpb24AAAAAAAAAAAABAAAAEGdldEN1clBvb2xXZWlnaHQAAAABAAAABHBvb2wJAQAAAAt2YWx1ZU9y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T1BMb2NrZWQJAABlAAAAAgUAAAAMbGFzdEludGVyZXN0BQAAABB1c2VyTGFzdEludGVyZXN0BQAAAApzY2FsZVZhbHVlBAAAAA91c2VyTmV3SW50ZXJlc3QFAAAADGxhc3RJbnRlcmVzdAkABRQAAAACBQAAAA91c2VyTmV3SW50ZXJlc3QFAAAAC2NsYWltQW1vdW50AAAACAAAAAFpAQAAAAdhaXJEcm9wAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALJHQwOTA3ODkxNTMJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA5MDc4OTE1MwAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDkwNzg5MTUzAAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAPdG90YWxTV09QTG9ja2VkCQEAAAASZ2V0VG90YWxTV09QTG9ja2VkAAAAAAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAAC2ludGVyZXN0TmV3CQAAZAAAAAIFAAAADGxhc3RJbnRlcmVzdAkAAGsAAAADBQAAAAlwbXRBbW91bnQFAAAACnNjYWxlVmFsdWUFAAAAD3RvdGFsU1dPUExvY2tlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPa2V5TGFzdEludGVyZXN0BQAAAAtpbnRlcmVzdE5ldwUAAAADbmlsAAAAAWkBAAAACGxvY2tTV09QAAAAAAMJAQAAAAEhAAAAAQUAAAAIaXNBY3RpdmUJAAACAAAAAQIAAAAfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAQAAAALJHQwOTU5MTk2NjYJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA5NTkxOTY2NgAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDk1OTE5NjY2AAAAAl8yAwkBAAAAAiE9AAAAAgUAAAAKcG10QXNzZXRJZAUAAAAEU1dPUAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcG10QXNzZXRJZAQAAAAMbGFzdEludGVyZXN0CQEAAAATZ2V0TGFzdEludGVyZXN0SW5mbwAAAAAEAAAACyR0MDk3ODI5ODY0CQEAAAATZ2V0VXNlckludGVyZXN0SW5mbwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAMbGFzdEludGVyZXN0BAAAABB1c2VyTGFzdEludGVyZXN0CAUAAAALJHQwOTc4Mjk4NjQAAAACXzEEAAAADnVzZXJTV09QTG9ja2VkCAUAAAALJHQwOTc4Mjk4NjQAAAACXzIEAAAAC2NsYWltQW1vdW50CQAAawAAAAMFAAAADnVzZXJTV09QTG9ja2VkCQAAZQAAAAIFAAAADGxhc3RJbnRlcmVzdAUAAAAQdXNlckxhc3RJbnRlcmVzdAUAAAAKc2NhbGVWYWx1ZQQAAAARdXNlclNXT1BMb2NrZWROZXcJAABkAAAAAgkAAGQAAAACBQAAAA51c2VyU1dPUExvY2tlZAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAAPdXNlck5ld0ludGVyZXN0BQAAAAxsYXN0SW50ZXJlc3QEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAAEnRvdGFsU1dPUExvY2tlZE5ldwkAAGQAAAACCQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAAJcG10QW1vdW50BQAAAAtjbGFpbUFtb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABhrZXlVc2VyU1dPUENsYWltZWRBbW91bnQFAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABxrZXlVc2VyU1dPUExhc3RDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAUAAAADbmlsAAAAAWkBAAAADHdpdGhkcmF3U1dPUAAAAAEAAAAOd2l0aGRyYXdBbW91bnQDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAADndpdGhkcmF3QW1vdW50CQAAAgAAAAECAAAAE3dpdGhkcmF3QW1vdW50IDw9IDAEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADSR0MDExMDE0MTEwNjkJAQAAAAljbGFpbUNhbGMAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD3VzZXJOZXdJbnRlcmVzdAgFAAAADSR0MDExMDE0MTEwNjkAAAACXzEEAAAAC2NsYWltQW1vdW50CAUAAAANJHQwMTEwMTQxMTA2OQAAAAJfMgQAAAANJHQwMTEwNzQxMTEzOQkBAAAAD2dldFVzZXJWb3RlSW5mbwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAOdXNlclZvdGVBbW91bnQIBQAAAA0kdDAxMTA3NDExMTM5AAAAAl8xBAAAABB1c2VyVW52b3RlQW1vdW50CAUAAAANJHQwMTEwNzQxMTEzOQAAAAJfMgQAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQEAAAAgZ2V0VXNlclRvdGFsVm90ZUZvck5ld1Bvb2xBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIDAwMJAABmAAAAAgAAAAAAAAAAAAUAAAAQdXNlclVudm90ZUFtb3VudAYJAABmAAAAAgAAAAAAAAAAAAUAAAAOdXNlclZvdGVBbW91bnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAAGHVzZXJWb3RlQW1vdW50Rm9yTmV3UG9vbAkAAAIAAAABAgAAAEp1c2VyVW52b3RlQW1vdW50IDwgMCB8fCB1c2VyVm90ZUFtb3VudCA8IDAgfHwgdXNlclZvdGVBbW91bnRGb3JOZXdQb29sIDwgMAQAAAASYXZhaWxhYmxlVG9VbnN0YWtlCQAAZQAAAAIFAAAADnVzZXJTV09QTG9ja2VkCQABlgAAAAEJAARMAAAAAgUAAAAYdXNlclZvdGVBbW91bnRGb3JOZXdQb29sCQAETAAAAAIJAABkAAAAAgUAAAAOdXNlclZvdGVBbW91bnQFAAAAEHVzZXJVbnZvdGVBbW91bnQFAAAAA25pbAMJAABmAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAEmF2YWlsYWJsZVRvVW5zdGFrZQkAAAIAAAABAgAAACN3aXRoZHJhd0Ftb3VudCA+IGF2YWlsYWJsZVRvVW5zdGFrZQQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZQAAAAIJAABkAAAAAgUAAAAPdG90YWxTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAUAAAAOd2l0aGRyYXdBbW91bnQEAAAAEXVzZXJTV09QYW1vdW50TmV3CQAAZQAAAAIJAABkAAAAAgUAAAAOdXNlclNXT1BMb2NrZWQFAAAAC2NsYWltQW1vdW50BQAAAA53aXRoZHJhd0Ftb3VudAQAAAARdXNlckNsYWltZWRBbW91bnQJAQAAABhnZXRVc2VyU1dPUENsYWltZWRBbW91bnQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAFHVzZXJDbGFpbWVkQW1vdW50TmV3CQAAZAAAAAIFAAAAEXVzZXJDbGFpbWVkQW1vdW50BQAAAAtjbGFpbUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAATa2V5VXNlckxhc3RJbnRlcmVzdAUAAAAPdXNlck5ld0ludGVyZXN0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABFrZXlVc2VyU1dPUExvY2tlZAUAAAARdXNlclNXT1BhbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtleVRvdGFsU1dPUExvY2tlZAUAAAASdG90YWxTV09QTG9ja2VkTmV3CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAOd2l0aGRyYXdBbW91bnQFAAAABFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50BQAAAANuaWwAAAABaQEAAAAUY2xhaW1BbmRXaXRoZHJhd1NXT1AAAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50BAAAAAxsYXN0SW50ZXJlc3QJAQAAABNnZXRMYXN0SW50ZXJlc3RJbmZvAAAAAAQAAAANJHQwMTI1MTQxMjU2OQkBAAAACWNsYWltQ2FsYwAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAPdXNlck5ld0ludGVyZXN0CAUAAAANJHQwMTI1MTQxMjU2OQAAAAJfMQQAAAALY2xhaW1BbW91bnQIBQAAAA0kdDAxMjUxNDEyNTY5AAAAAl8yBAAAABF1c2VyQ2xhaW1lZEFtb3VudAkBAAAAGGdldFVzZXJTV09QQ2xhaW1lZEFtb3VudAAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAABkAAAAAgUAAAARdXNlckNsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50AwkAAAAAAAACBQAAAAtjbGFpbUFtb3VudAAAAAAAAAAAAAkAAAIAAAABAgAAABlZb3UgaGF2ZSAwIGF2YWlsYWJsZSBTV09QCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrZXlVc2VyTGFzdEludGVyZXN0BQAAAA91c2VyTmV3SW50ZXJlc3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAGGtleVVzZXJTV09QQ2xhaW1lZEFtb3VudAUAAAAUdXNlckNsYWltZWRBbW91bnROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAHGtleVVzZXJTV09QTGFzdENsYWltZWRBbW91bnQFAAAAC2NsYWltQW1vdW50CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAALY2xhaW1BbW91bnQFAAAABFNXT1AFAAAAA25pbAAAAAFpAQAAABFjbGFpbUFuZFN0YWtlU1dPUAAAAAADCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAAD3RvdGFsU1dPUExvY2tlZAkBAAAAEmdldFRvdGFsU1dPUExvY2tlZAAAAAAEAAAADnVzZXJTV09QTG9ja2VkCQEAAAARZ2V0VXNlclNXT1BMb2NrZWQAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADGxhc3RJbnRlcmVzdAkBAAAAE2dldExhc3RJbnRlcmVzdEluZm8AAAAABAAAAA0kdDAxMzM0ODEzNDAzCQEAAAAJY2xhaW1DYWxjAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA91c2VyTmV3SW50ZXJlc3QIBQAAAA0kdDAxMzM0ODEzNDAzAAAAAl8xBAAAAAtjbGFpbUFtb3VudAgFAAAADSR0MDEzMzQ4MTM0MDMAAAACXzIEAAAAEXVzZXJTV09QTG9ja2VkTmV3CQAAZAAAAAIFAAAADnVzZXJTV09QTG9ja2VkBQAAAAtjbGFpbUFtb3VudAQAAAASdG90YWxTV09QTG9ja2VkTmV3CQAAZAAAAAIFAAAAD3RvdGFsU1dPUExvY2tlZAUAAAALY2xhaW1BbW91bnQEAAAAEXVzZXJDbGFpbWVkQW1vdW50CQEAAAAYZ2V0VXNlclNXT1BDbGFpbWVkQW1vdW50AAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkAAGQAAAACBQAAABF1c2VyQ2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQDCQAAAAAAAAIFAAAAC2NsYWltQW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGVlvdSBoYXZlIDAgYXZhaWxhYmxlIFNXT1AJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE2tleVVzZXJMYXN0SW50ZXJlc3QFAAAAD3VzZXJOZXdJbnRlcmVzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa2V5VG90YWxTV09QTG9ja2VkBQAAABJ0b3RhbFNXT1BMb2NrZWROZXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtleVVzZXJTV09QTG9ja2VkBQAAABF1c2VyU1dPUExvY2tlZE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAYa2V5VXNlclNXT1BDbGFpbWVkQW1vdW50BQAAABR1c2VyQ2xhaW1lZEFtb3VudE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAca2V5VXNlclNXT1BMYXN0Q2xhaW1lZEFtb3VudAUAAAALY2xhaW1BbW91bnQFAAAAA25pbAAAAAFpAQAAAA11cGRhdGVXZWlnaHRzAAAABgAAAA1wcmV2aW91c1Bvb2xzAAAAD3ByZXZpb3VzUmV3YXJkcwAAAAxjdXJyZW50UG9vbHMAAAAOY3VycmVudFJld2FyZHMAAAAScmV3YXJkVXBkYXRlSGVpZ2h0AAAACnBhZ2luYXRpb24DCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQEAAAAC2Ftb3VudFBvb2xzAAAAAAAAAAAKBAAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0AAAAAAAAAAAAAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAkABEwAAAACBQAAABFhZG1pblB1YktleVdhbGxldAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwMJAABmAAAAAgkAAZAAAAABBQAAAA1wcmV2aW91c1Bvb2xzBQAAAAthbW91bnRQb29scwYJAABmAAAAAgkAAZAAAAABBQAAAAxjdXJyZW50UG9vbHMFAAAAC2Ftb3VudFBvb2xzCQAAAgAAAAEJAAEsAAAAAgIAAAAWTWF4IGFtb3VudCBvZiBwb29sIGlzIAkAAaQAAAABBQAAAAthbW91bnRQb29scwMJAABnAAAAAgUAAAAXdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQFAAAAEnJld2FyZFVwZGF0ZUhlaWdodAkAAAIAAAABAgAAAC1yZXdhcmRVcGRhdGVIZWlnaHQgPD0gdG90YWxSZXdhcmRVcGRhdGVIZWlnaHQDCQAAZwAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAALXJld2FyZFVwZGF0ZUhlaWdodCA8PSB0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAMJAABnAAAAAgAAAAAAAAAAAAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAGDAgPj0gcmV3YXJkVXBkYXRlSGVpZ2h0IAoBAAAAA3N1bQAAAAIAAAABYQAAAAFiCQAAZAAAAAIFAAAAAWEFAAAAAWIKAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAAxwb29sQ3VyUmV3YXIJAQAAABBnZXRDdXJQb29sV2VpZ2h0AAAAAQUAAAAEcG9vbAQAAAAWcmV3YXJkVXBkYXRlUG9vbEhlaWdodAkBAAAAE2dldFBvb2xVcGRhdGVIZWlnaHQAAAABBQAAAARwb29sAwkBAAAAAiE9AAAAAgUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAABZyZXdhcmRVcGRhdGVQb29sSGVpZ2h0AwkAAAAAAAACBQAAABZyZXdhcmRVcGRhdGVQb29sSGVpZ2h0BQAAABd0b3RhbFJld2FyZFVwZGF0ZUhlaWdodAQAAAAKcG9vbFJld2FyZAkBAAAAEGdldEN1clBvb2xXZWlnaHQAAAABBQAAAARwb29sCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABHBvb2wFAAAAHWtleVJld2FyZFBvb2xGcmFjdGlvblByZXZpb3VzBQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAUAAAADbmlsBQAAAANuaWwKAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACAAAAC2FjY3VtdWxhdGVkAAAABHBvb2wEAAAACXBvb2xJbmRleAkBAAAABXZhbHVlAAAAAQkABE8AAAACBQAAAAxjdXJyZW50UG9vbHMFAAAABHBvb2wEAAAACnBvb2xSZXdhcmQJAAGRAAAAAgUAAAAOY3VycmVudFJld2FyZHMFAAAACXBvb2xJbmRleAMJAABmAAAAAgAAAAAAAAAAAAUAAAAKcG9vbFJld2FyZAkAAAIAAAABAgAAAA5Qb29sUmV3YXJkIDwgMAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAARwb29sBQAAABxrZXlSZXdhcmRQb29sRnJhY3Rpb25DdXJyZW50BQAAAApwb29sUmV3YXJkBQAAAAthY2N1bXVsYXRlZAoBAAAAEWNoYW5nZUhlaWdodEVudHJ5AAAAAgAAAAthY2N1bXVsYXRlZAAAAARwb29sBAAAAApwb29sSGVpZ2h0BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAEcG9vbAUAAAAVa2V5SGVpZ2h0UG9vbEZyYWN0aW9uBQAAAApwb29sSGVpZ2h0BQAAAAthY2N1bXVsYXRlZAoBAAAADGdldFN1bVJld2FyZAAAAAMAAAALcHJldlRlbXBTdW0AAAAKY3VyVGVtcFN1bQAAAApwYWdpbmF0aW9uAwkAAAAAAAACBQAAAApwYWdpbmF0aW9uAAAAAAAAAAAAAwMJAABmAAAAAgUAAAALcHJldlRlbXBTdW0FAAAADnRvdGFsVm90ZVNoYXJlBgkAAGYAAAACBQAAAApjdXJUZW1wU3VtBQAAAA50b3RhbFZvdGVTaGFyZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAABKc3VtUmV3YXJkUHJldmlvdXMgPiB0b3RhbFZvdGVTaGFyZSBvciBzdW1SZXdhcmRDdXJyZW50ID4gdG90YWxWb3RlU2hhcmUgLSAJAAGkAAAAAQUAAAAKcGFnaW5hdGlvbgIAAAABIAkAAaQAAAABBQAAAAtwcmV2VGVtcFN1bQIAAAABIAkAAaQAAAABBQAAAApjdXJUZW1wU3VtCQAFFQAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVRlbXBQcmV2U3VtBQAAAAtwcmV2VGVtcFN1bQUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlUZW1wQ3VyU3VtBQAAAApjdXJUZW1wU3VtBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAEEAAAAEnByZXZUZW1wU3VtRnJvbUtleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5rZXlUZW1wUHJldlN1bQAAAAAAAAAAAAQAAAARY3VyVGVtcFN1bUZyb21LZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAANa2V5VGVtcEN1clN1bQAAAAAAAAAAAAQAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAka2V5UmV3YXJkVXBkYXRlRmlyc3RQYWdpbmF0aW9uSGVpZ2h0AAAAAAAAAAAAAwMJAABmAAAAAgkAAGQAAAACBQAAAAtwcmV2VGVtcFN1bQUAAAAScHJldlRlbXBTdW1Gcm9tS2V5BQAAAA50b3RhbFZvdGVTaGFyZQYJAABmAAAAAgkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAASnN1bVJld2FyZFByZXZpb3VzID4gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCA+IHRvdGFsVm90ZVNoYXJlIC0gCQABpAAAAAEFAAAACnBhZ2luYXRpb24CAAAAASAJAAGkAAAAAQkAAGQAAAACBQAAAAtwcmV2VGVtcFN1bQUAAAAScHJldlRlbXBTdW1Gcm9tS2V5AgAAAAEgCQABpAAAAAEJAABkAAAAAgUAAAAKY3VyVGVtcFN1bQUAAAARY3VyVGVtcFN1bUZyb21LZXkDCQEAAAACIT0AAAACBQAAACZyZXdhcmRVcGRhdGVIZWlnaHRGaXJzdFBhZ2luYXRpb25FbnRyeQUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAARGN1cnJlbnQgcmV3YXJkVXBkYXRlSGVpZ2h0ICE9IHJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQAFFQAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAADmtleVRlbXBQcmV2U3VtCQAAZAAAAAIFAAAAC3ByZXZUZW1wU3VtBQAAABJwcmV2VGVtcFN1bUZyb21LZXkFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQkAAGQAAAACBQAAAApjdXJUZW1wU3VtBQAAABFjdXJUZW1wU3VtRnJvbUtleQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIEAAAAB3ByZXZTdW0JAABkAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA5rZXlUZW1wUHJldlN1bQAAAAAAAAAAAAUAAAALcHJldlRlbXBTdW0EAAAABmN1clN1bQkAAGQAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADWtleVRlbXBDdXJTdW0AAAAAAAAAAAAFAAAACmN1clRlbXBTdW0EAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAJGtleVJld2FyZFVwZGF0ZUZpcnN0UGFnaW5hdGlvbkhlaWdodAAAAAAAAAAAAAMDCQEAAAACIT0AAAACBQAAAAdwcmV2U3VtBQAAAA50b3RhbFZvdGVTaGFyZQYJAQAAAAIhPQAAAAIFAAAABmN1clN1bQUAAAAOdG90YWxWb3RlU2hhcmUJAAACAAAAAQIAAABJc3VtUmV3YXJkUHJldmlvdXMgIT0gdG90YWxWb3RlU2hhcmUgb3Igc3VtUmV3YXJkQ3VycmVudCAhPSB0b3RhbFZvdGVTaGFyZQMJAQAAAAIhPQAAAAIFAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5BQAAABJyZXdhcmRVcGRhdGVIZWlnaHQJAAACAAAAAQIAAABEY3VycmVudCByZXdhcmRVcGRhdGVIZWlnaHQgIT0gcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkJAAUVAAAAAwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOa2V5VGVtcFByZXZTdW0FAAAAB3ByZXZTdW0FAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAANa2V5VGVtcEN1clN1bQUAAAAGY3VyU3VtBQAAAANuaWwFAAAAA25pbAkAAAIAAAABAgAAABRJbmNvcnJlY3QgcGFnaW5hdGlvbgQAAAAVc3VtUmV3YXJkUHJldmlvdXNUZW1wBAAAAA8kbGlzdDE4ODU5MTg4OTIFAAAAD3ByZXZpb3VzUmV3YXJkcwQAAAAPJHNpemUxODg1OTE4ODkyCQABkAAAAAEFAAAADyRsaXN0MTg4NTkxODg5MgQAAAAPJGFjYzAxODg1OTE4ODkyAAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE4ODU5MTg4OTIAAAAAAAAAAAAFAAAADyRhY2MwMTg4NTkxODg5MgQAAAAPJGFjYzExODg1OTE4ODkyCQEAAAADc3VtAAAAAgUAAAAPJGFjYzAxODg1OTE4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AAAAAgUAAAAPJGxpc3QxODkyNTE4OTU3AAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE4OTI1MTg5NTcAAAAAAAAAAAcFAAAADyRhY2M3MTg5MjUxODk1NwQAAAAPJGFjYzgxODkyNTE4OTU3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzcxODkyNTE4OTU3CQABkQAAAAIFAAAADyRsaXN0MTg5MjUxODk1NwAAAAAAAAAABwMJAAAAAAAAAgUAAAAPJHNpemUxODkyNTE4OTU3AAAAAAAAAAAIBQAAAA8kYWNjODE4OTI1MTg5NTcEAAAADyRhY2M5MTg5MjUxODk1NwkBAAAAA3N1bQAAAAIFAAAADyRhY2M4MTg5MjUxODk1NwkAAZEAAAACBQAAAA8kbGlzdDE4OTI1MTg5NTcAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTg5MjUxODk1NwAAAAAAAAAACQUAAAAPJGFjYzkxODkyNTE4OTU3BAAAABAkYWNjMTAxODkyNTE4OTU3CQEAAAADc3VtAAAAAgUAAAAPJGFjYzkxODkyNTE4OTU3CQABkQAAAAIFAAAADyRsaXN0MTg5MjUxODk1NwAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxODkyNTE4OTU3AAAAAAAAAAAKBQAAABAkYWNjMTAxODkyNTE4OTU3BAAAABAkYWNjMTExODkyNTE4OTU3CQEAAAADc3VtAAAAAgUAAAAQJGFjYzEwMTg5MjUxODk1NwkAAZEAAAACBQAAAA8kbGlzdDE4OTI1MTg5NTcAAAAAAAAAAAoJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAxMAQAAAANJHQwMTg5NjMxOTExNgkBAAAADGdldFN1bVJld2FyZAAAAAMFAAAAFXN1bVJld2FyZFByZXZpb3VzVGVtcAUAAAAUc3VtUmV3YXJkQ3VycmVudFRlbXAFAAAACnBhZ2luYXRpb24EAAAAEXN1bVJld2FyZFByZXZpb3VzCAUAAAANJHQwMTg5NjMxOTExNgAAAAJfMQQAAAAQc3VtUmV3YXJkQ3VycmVudAgFAAAADSR0MDE4OTYzMTkxMTYAAAACXzIEAAAAJnJld2FyZFVwZGF0ZUhlaWdodEZpcnN0UGFnaW5hdGlvbkVudHJ5CAUAAAANJHQwMTg5NjMxOTExNgAAAAJfMwQAAAAXcmV3YXJkVXBkYXRlSGVpZ2h0RW50cnkDCQAAAAAAAAIFAAAACnBhZ2luYXRpb24AAAAAAAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFWtleVJld2FyZFVwZGF0ZUhlaWdodAkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAAVa2V5UmV3YXJkVXBkYXRlSGVpZ2h0BQAAAANuaWwDCQAAZgAAAAIFAAAABmhlaWdodAUAAAAScmV3YXJkVXBkYXRlSGVpZ2h0CQAAAgAAAAECAAAAG3Jld2FyZFVwZGF0ZUhlaWdodCA8IGhlaWdodAQAAAAWcHJldmlvdXNSZXdhcmRFbnRyeU5ldwQAAAAPJGxpc3QxOTQ0NTE5NDk5BQAAAA1wcmV2aW91c1Bvb2xzBAAAAA8kc2l6ZTE5NDQ1MTk0OTkJAAGQAAAAAQUAAAAPJGxpc3QxOTQ0NTE5NDk5BAAAAA8kYWNjMDE5NDQ1MTk0OTkFAAAAA25pbAMJAAAAAAAAAgUAAAAPJHNpemUxOTQ0NTE5NDk5AAAAAAAAAAAABQAAAA8kYWNjMDE5NDQ1MTk0OTkEAAAADyRhY2MxMTk0NDUxOTQ5OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMDE5NDQ1MTk0OTkJAAGRAAAAAgUAAAAPJGxpc3QxOTQ0NTE5NDk5AAAAAAAAAAAAAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDQ1MTk0OTkAAAAAAAAAAAEFAAAADyRhY2MxMTk0NDUxOTQ5OQQAAAAPJGFjYzIxOTQ0NTE5NDk5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MxMTk0NDUxOTQ5OQkAAZEAAAACBQAAAA8kbGlzdDE5NDQ1MTk0OTkAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTk0NDUxOTQ5OQAAAAAAAAAAAgUAAAAPJGFjYzIxOTQ0NTE5NDk5BAAAAA8kYWNjMzE5NDQ1MTk0OTkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzIxOTQ0NTE5NDk5CQABkQAAAAIFAAAADyRsaXN0MTk0NDUxOTQ5OQAAAAAAAAAAAgMJAAAAAAAAAgUAAAAPJHNpemUxOTQ0NTE5NDk5AAAAAAAAAAADBQAAAA8kYWNjMzE5NDQ1MTk0OTkEAAAADyRhY2M0MTk0NDUxOTQ5OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMzE5NDQ1MTk0OTkJAAGRAAAAAgUAAAAPJGxpc3QxOTQ0NTE5NDk5AAAAAAAAAAADAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDQ1MTk0OTkAAAAAAAAAAAQFAAAADyRhY2M0MTk0NDUxOTQ5OQQAAAAPJGFjYzUxOTQ0NTE5NDk5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M0MTk0NDUxOTQ5OQkAAZEAAAACBQAAAA8kbGlzdDE5NDQ1MTk0OTkAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTk0NDUxOTQ5OQAAAAAAAAAABQUAAAAPJGFjYzUxOTQ0NTE5NDk5BAAAAA8kYWNjNjE5NDQ1MTk0OTkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzUxOTQ0NTE5NDk5CQABkQAAAAIFAAAADyRsaXN0MTk0NDUxOTQ5OQAAAAAAAAAABQMJAAAAAAAAAgUAAAAPJHNpemUxOTQ0NTE5NDk5AAAAAAAAAAAGBQAAAA8kYWNjNjE5NDQ1MTk0OTkEAAAADyRhY2M3MTk0NDUxOTQ5OQkBAAAAGWNoYW5nZVByZXZpb3VzUmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNjE5NDQ1MTk0OTkJAAGRAAAAAgUAAAAPJGxpc3QxOTQ0NTE5NDk5AAAAAAAAAAAGAwkAAAAAAAACBQAAAA8kc2l6ZTE5NDQ1MTk0OTkAAAAAAAAAAAcFAAAADyRhY2M3MTk0NDUxOTQ5OQQAAAAPJGFjYzgxOTQ0NTE5NDk5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M3MTk0NDUxOTQ5OQkAAZEAAAACBQAAAA8kbGlzdDE5NDQ1MTk0OTkAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTk0NDUxOTQ5OQAAAAAAAAAACAUAAAAPJGFjYzgxOTQ0NTE5NDk5BAAAAA8kYWNjOTE5NDQ1MTk0OTkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzgxOTQ0NTE5NDk5CQABkQAAAAIFAAAADyRsaXN0MTk0NDUxOTQ5OQAAAAAAAAAACAMJAAAAAAAAAgUAAAAPJHNpemUxOTQ0NTE5NDk5AAAAAAAAAAAJBQAAAA8kYWNjOTE5NDQ1MTk0OTkEAAAAECRhY2MxMDE5NDQ1MTk0OTkJAQAAABljaGFuZ2VQcmV2aW91c1Jld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzkxOTQ0NTE5NDk5CQABkQAAAAIFAAAADyRsaXN0MTk0NDUxOTQ5OQAAAAAAAAAACQMJAAAAAAAAAgUAAAAPJHNpemUxOTQ0NTE5NDk5AAAAAAAAAAAKBQAAABAkYWNjMTAxOTQ0NTE5NDk5BAAAABAkYWNjMTExOTQ0NTE5NDk5CQEAAAAZY2hhbmdlUHJldmlvdXNSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMDE5NDQ1MTk0OTkJAAGRAAAAAgUAAAAPJGxpc3QxOTQ0NTE5NDk5AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwQAAAAPJGxpc3QxOTUzMjE5NTg0BQAAAAxjdXJyZW50UG9vbHMEAAAADyRzaXplMTk1MzIxOTU4NAkAAZAAAAABBQAAAA8kbGlzdDE5NTMyMTk1ODQEAAAADyRhY2MwMTk1MzIxOTU4NAUAAAADbmlsAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTMyMTk1ODQAAAAAAAAAAAAFAAAADyRhY2MwMTk1MzIxOTU4NAQAAAAPJGFjYzExOTUzMjE5NTg0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzAxOTUzMjE5NTg0CQABkQAAAAIFAAAADyRsaXN0MTk1MzIxOTU4NAAAAAAAAAAAAAMJAAAAAAAAAgUAAAAPJHNpemUxOTUzMjE5NTg0AAAAAAAAAAABBQAAAA8kYWNjMTE5NTMyMTk1ODQEAAAADyRhY2MyMTk1MzIxOTU4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2MxMTk1MzIxOTU4NAkAAZEAAAACBQAAAA8kbGlzdDE5NTMyMTk1ODQAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTk1MzIxOTU4NAAAAAAAAAAAAgUAAAAPJGFjYzIxOTUzMjE5NTg0BAAAAA8kYWNjMzE5NTMyMTk1ODQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjMjE5NTMyMTk1ODQJAAGRAAAAAgUAAAAPJGxpc3QxOTUzMjE5NTg0AAAAAAAAAAACAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTMyMTk1ODQAAAAAAAAAAAMFAAAADyRhY2MzMTk1MzIxOTU4NAQAAAAPJGFjYzQxOTUzMjE5NTg0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzMxOTUzMjE5NTg0CQABkQAAAAIFAAAADyRsaXN0MTk1MzIxOTU4NAAAAAAAAAAAAwMJAAAAAAAAAgUAAAAPJHNpemUxOTUzMjE5NTg0AAAAAAAAAAAEBQAAAA8kYWNjNDE5NTMyMTk1ODQEAAAADyRhY2M1MTk1MzIxOTU4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M0MTk1MzIxOTU4NAkAAZEAAAACBQAAAA8kbGlzdDE5NTMyMTk1ODQAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTk1MzIxOTU4NAAAAAAAAAAABQUAAAAPJGFjYzUxOTUzMjE5NTg0BAAAAA8kYWNjNjE5NTMyMTk1ODQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjNTE5NTMyMTk1ODQJAAGRAAAAAgUAAAAPJGxpc3QxOTUzMjE5NTg0AAAAAAAAAAAFAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTMyMTk1ODQAAAAAAAAAAAYFAAAADyRhY2M2MTk1MzIxOTU4NAQAAAAPJGFjYzcxOTUzMjE5NTg0CQEAAAAYY2hhbmdlQ3VycmVudFJld2FyZEVudHJ5AAAAAgUAAAAPJGFjYzYxOTUzMjE5NTg0CQABkQAAAAIFAAAADyRsaXN0MTk1MzIxOTU4NAAAAAAAAAAABgMJAAAAAAAAAgUAAAAPJHNpemUxOTUzMjE5NTg0AAAAAAAAAAAHBQAAAA8kYWNjNzE5NTMyMTk1ODQEAAAADyRhY2M4MTk1MzIxOTU4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M3MTk1MzIxOTU4NAkAAZEAAAACBQAAAA8kbGlzdDE5NTMyMTk1ODQAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTk1MzIxOTU4NAAAAAAAAAAACAUAAAAPJGFjYzgxOTUzMjE5NTg0BAAAAA8kYWNjOTE5NTMyMTk1ODQJAQAAABhjaGFuZ2VDdXJyZW50UmV3YXJkRW50cnkAAAACBQAAAA8kYWNjODE5NTMyMTk1ODQJAAGRAAAAAgUAAAAPJGxpc3QxOTUzMjE5NTg0AAAAAAAAAAAIAwkAAAAAAAACBQAAAA8kc2l6ZTE5NTMyMTk1ODQAAAAAAAAAAAkFAAAADyRhY2M5MTk1MzIxOTU4NAQAAAAQJGFjYzEwMTk1MzIxOTU4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAADyRhY2M5MTk1MzIxOTU4NAkAAZEAAAACBQAAAA8kbGlzdDE5NTMyMTk1ODQAAAAAAAAAAAkDCQAAAAAAAAIFAAAADyRzaXplMTk1MzIxOTU4NAAAAAAAAAAACgUAAAAQJGFjYzEwMTk1MzIxOTU4NAQAAAAQJGFjYzExMTk1MzIxOTU4NAkBAAAAGGNoYW5nZUN1cnJlbnRSZXdhcmRFbnRyeQAAAAIFAAAAECRhY2MxMDE5NTMyMTk1ODQJAAGRAAAAAgUAAAAPJGxpc3QxOTUzMjE5NTg0AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAEAAAAEWhlaWdodEVudHJ5TmV3Q3VyBAAAAA8kbGlzdDE5NjEzMTk2NTgFAAAADGN1cnJlbnRQb29scwQAAAAPJHNpemUxOTYxMzE5NjU4CQABkAAAAAEFAAAADyRsaXN0MTk2MTMxOTY1OAQAAAAPJGFjYzAxOTYxMzE5NjU4BQAAAANuaWwDCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAAAAUAAAAPJGFjYzAxOTYxMzE5NjU4BAAAAA8kYWNjMTE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MwMTk2MTMxOTY1OAkAAZEAAAACBQAAAA8kbGlzdDE5NjEzMTk2NTgAAAAAAAAAAAADCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAAAQUAAAAPJGFjYzExOTYxMzE5NjU4BAAAAA8kYWNjMjE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MxMTk2MTMxOTY1OAkAAZEAAAACBQAAAA8kbGlzdDE5NjEzMTk2NTgAAAAAAAAAAAEDCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAAAgUAAAAPJGFjYzIxOTYxMzE5NjU4BAAAAA8kYWNjMzE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MyMTk2MTMxOTY1OAkAAZEAAAACBQAAAA8kbGlzdDE5NjEzMTk2NTgAAAAAAAAAAAIDCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAAAwUAAAAPJGFjYzMxOTYxMzE5NjU4BAAAAA8kYWNjNDE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2MzMTk2MTMxOTY1OAkAAZEAAAACBQAAAA8kbGlzdDE5NjEzMTk2NTgAAAAAAAAAAAMDCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAABAUAAAAPJGFjYzQxOTYxMzE5NjU4BAAAAA8kYWNjNTE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M0MTk2MTMxOTY1OAkAAZEAAAACBQAAAA8kbGlzdDE5NjEzMTk2NTgAAAAAAAAAAAQDCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAABQUAAAAPJGFjYzUxOTYxMzE5NjU4BAAAAA8kYWNjNjE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M1MTk2MTMxOTY1OAkAAZEAAAACBQAAAA8kbGlzdDE5NjEzMTk2NTgAAAAAAAAAAAUDCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAABgUAAAAPJGFjYzYxOTYxMzE5NjU4BAAAAA8kYWNjNzE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M2MTk2MTMxOTY1OAkAAZEAAAACBQAAAA8kbGlzdDE5NjEzMTk2NTgAAAAAAAAAAAYDCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAABwUAAAAPJGFjYzcxOTYxMzE5NjU4BAAAAA8kYWNjODE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M3MTk2MTMxOTY1OAkAAZEAAAACBQAAAA8kbGlzdDE5NjEzMTk2NTgAAAAAAAAAAAcDCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAACAUAAAAPJGFjYzgxOTYxMzE5NjU4BAAAAA8kYWNjOTE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAADyRhY2M4MTk2MTMxOTY1OAkAAZEAAAACBQAAAA8kbGlzdDE5NjEzMTk2NTgAAAAAAAAAAAgDCQAAAAAAAAIFAAAADyRzaXplMTk2MTMxOTY1OAAAAAAAAAAACQUAAAAPJGFjYzkxOTYxMzE5NjU4BAAAABAkYWNjMTAxOTYxMzE5NjU4CQEAAAARY2hhbmdlSGVpZ2h0RW50cnkAAAACBQAAAA8kYWNjOTE5NjEzMTk2NTgJAAGRAAAAAgUAAAAPJGxpc3QxOTYxMzE5NjU4AAAAAAAAAAAJAwkAAAAAAAACBQAAAA8kc2l6ZTE5NjEzMTk2NTgAAAAAAAAAAAoFAAAAECRhY2MxMDE5NjEzMTk2NTgEAAAAECRhY2MxMTE5NjEzMTk2NTgJAQAAABFjaGFuZ2VIZWlnaHRFbnRyeQAAAAIFAAAAECRhY2MxMDE5NjEzMTk2NTgJAAGRAAAAAgUAAAAPJGxpc3QxOTYxMzE5NjU4AAAAAAAAAAAKCQAAAgAAAAECAAAAE0xpc3Qgc2l6ZSBleGNlZWQgMTAJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQAETgAAAAIFAAAAFnByZXZpb3VzUmV3YXJkRW50cnlOZXcFAAAAFWN1cnJlbnRSZXdhcmRFbnRyeU5ldwUAAAARaGVpZ2h0RW50cnlOZXdDdXIFAAAAEXN1bVJld2FyZFByZXZpb3VzBQAAABBzdW1SZXdhcmRDdXJyZW50BQAAABdyZXdhcmRVcGRhdGVIZWlnaHRFbnRyeQUAAAAmcmV3YXJkVXBkYXRlSGVpZ2h0Rmlyc3RQYWdpbmF0aW9uRW50cnkAAAABaQEAAAAIc2h1dGRvd24AAAAAAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABCQABLAAAAAICAAAAIkRBcHAgaXMgYWxyZWFkeSBzdXNwZW5kZWQuIENhdXNlOiAJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAIa2V5Q2F1c2UCAAAAGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQEAAAAHc3VzcGVuZAAAAAECAAAAD1BhdXNlZCBieSBhZG1pbgAAAAFpAQAAAAhhY3RpdmF0ZQAAAAADBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAABZEQXBwIGlzIGFscmVhZHkgYWN0aXZlAwkBAAAAASEAAAABCQEAAAAPY29udGFpbnNFbGVtZW50AAAAAgkABEwAAAACBQAAAAxhZG1pblB1YktleTEJAARMAAAAAgUAAAAMYWRtaW5QdWJLZXkyCQAETAAAAAIFAAAADGFkbWluUHViS2V5MwkABEwAAAACBQAAABRhZG1pblB1YktleVN0YXJ0U3RvcAUAAAADbmlsCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUGCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEFAAAACGtleUNhdXNlBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQCeV4k=", "height": 1565993, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6KBwphUa1m6DbSwwzpfwTGkkEQ7WnE1hvqx5Bf1ibXer Next: EJjvdtxEqrmhmkCS3AX9cWmf6y1Sb5MKqCyQN7rMfvsW Diff:
OldNewDifferences
202202 func aL (aM) = valueOrElse(getInteger(this, (aM + t)), 0)
203203
204204
205-func aN (al,aM,aO) = {
206- let aP = getInteger(this, (((aM + aO) + toString(al)) + n))
207- let aQ = {
208- let as = aP
205+func aN (au) = valueOrElse(getIntegerValue(this, (au + x)), 0)
206+
207+
208+func aO (au) = valueOrElse(getIntegerValue(this, (au + v)), 0)
209+
210+
211+func aP (al,aM,aQ) = {
212+ let aR = getInteger(this, (((aM + aQ) + toString(al)) + n))
213+ let aS = {
214+ let as = aR
209215 if ($isInstanceOf(as, "Int"))
210216 then {
211- let aQ = as
212- aQ
217+ let aS = as
218+ aS
213219 }
214220 else if ($isInstanceOf(as, "Unit"))
215221 then {
216- let aQ = as
222+ let aS = as
217223 0
218224 }
219225 else throw("Match error")
220226 }
221- valueOrErrorMessage(aQ, (((("No data on the key: " + aM) + aO) + toString(al)) + n))
227+ valueOrErrorMessage(aS, (((("No data on the key: " + aM) + aQ) + toString(al)) + n))
222228 }
223229
224230
225-func aR (aM) = valueOrErrorMessage(getInteger(this, (aM + u)), (("No data on the key: " + aM) + u))
231+func aT (aM) = valueOrErrorMessage(getInteger(this, (aM + u)), (("No data on the key: " + aM) + u))
226232
227233
228-func aS (aM,aO) = {
229- let aT = getInteger(this, ((aM + aO) + o))
230- let aU = {
231- let as = aT
234+func aU (aM,aQ) = {
235+ let aV = getInteger(this, ((aM + aQ) + o))
236+ let aW = {
237+ let as = aV
232238 if ($isInstanceOf(as, "Int"))
233239 then {
234- let aU = as
235- aU
240+ let aW = as
241+ aW
236242 }
237243 else if ($isInstanceOf(as, "Unit"))
238244 then {
239- let aU = as
245+ let aW = as
240246 0
241247 }
242248 else throw("Match error")
243249 }
244- aU
250+ aW
245251 }
246252
247253
248-func aV (aM,aO,al,aW) = {
249- let aX = ((((((aM + "_") + aO) + "_") + toString(al)) + "_") + toString(aW))
250- valueOrErrorMessage(getInteger(this, aX), ("No data on the key: " + aX))
254+func aX (aM,aQ,al,aY) = {
255+ let aZ = ((((((aM + "_") + aQ) + "_") + toString(al)) + "_") + toString(aY))
256+ valueOrErrorMessage(getInteger(this, aZ), ("No data on the key: " + aZ))
251257 }
252258
253259
254-func aY (aZ) = {
260+func ba (bb) = {
255261 let aj = ai()
256- let ba = ao(aZ, aj)
257- let aq = ba._1
258- let bb = ba._2
259- let bc = fraction(bb, (aj - aq), S)
260- let bd = aj
261- $Tuple2(bd, bc)
262+ let bc = ao(bb, aj)
263+ let aq = bc._1
264+ let bd = bc._2
265+ let be = fraction(bd, (aj - aq), S)
266+ let bf = aj
267+ $Tuple2(bf, be)
262268 }
263269
264270
265-@Callable(be)
271+@Callable(bg)
266272 func airDrop () = if (!(M))
267273 then throw("DApp is inactive at this moment")
268274 else {
269- let bf = $Tuple2(be.payments[0].amount, be.payments[0].assetId)
270- let bg = bf._1
271- let bh = bf._2
272- if ((bh != R))
275+ let bh = $Tuple2(bg.payments[0].amount, bg.payments[0].assetId)
276+ let bi = bh._1
277+ let bj = bh._2
278+ if ((bj != R))
273279 then throw("Incorrect pmtAssetId")
274280 else {
275- let bi = aB()
281+ let bk = aB()
276282 let aj = ai()
277- let bj = (aj + fraction(bg, S, bi))
278-[IntegerEntry(h, bj)]
283+ let bl = (aj + fraction(bi, S, bk))
284+[IntegerEntry(h, bl)]
279285 }
280286 }
281287
282288
283289
284-@Callable(be)
290+@Callable(bg)
285291 func lockSWOP () = if (!(M))
286292 then throw("DApp is inactive at this moment")
287293 else {
288- let bk = $Tuple2(be.payments[0].amount, be.payments[0].assetId)
289- let bg = bk._1
290- let bh = bk._2
291- if ((bh != R))
294+ let bm = $Tuple2(bg.payments[0].amount, bg.payments[0].assetId)
295+ let bi = bm._1
296+ let bj = bm._2
297+ if ((bj != R))
292298 then throw("Incorrect pmtAssetId")
293299 else {
294300 let aj = ai()
295- let bl = ao(be.caller, aj)
296- let aq = bl._1
297- let bb = bl._2
298- let bc = fraction(bb, (aj - aq), S)
299- let bm = ((bb + bg) + bc)
300- let bd = aj
301- let bi = aB()
302- let bn = ((bi + bg) + bc)
303- let bo = am(be.caller)
304- let bp = (bo + bc)
305-[IntegerEntry((toString(be.caller) + i), bd), IntegerEntry((toString(be.caller) + j), bm), IntegerEntry(l, bn), IntegerEntry((toString(be.caller) + p), bp), IntegerEntry((toString(be.caller) + q), bc)]
301+ let bn = ao(bg.caller, aj)
302+ let aq = bn._1
303+ let bd = bn._2
304+ let be = fraction(bd, (aj - aq), S)
305+ let bo = ((bd + bi) + be)
306+ let bf = aj
307+ let bk = aB()
308+ let bp = ((bk + bi) + be)
309+ let bq = am(bg.caller)
310+ let br = (bq + be)
311+[IntegerEntry((toString(bg.caller) + i), bf), IntegerEntry((toString(bg.caller) + j), bo), IntegerEntry(l, bp), IntegerEntry((toString(bg.caller) + p), br), IntegerEntry((toString(bg.caller) + q), be)]
306312 }
307313 }
308314
309315
310316
311-@Callable(be)
312-func withdrawSWOP (bq) = if (!(M))
317+@Callable(bg)
318+func withdrawSWOP (bs) = if (!(M))
313319 then throw("DApp is inactive at this moment")
314- else if ((0 >= bq))
320+ else if ((0 >= bs))
315321 then throw("withdrawAmount <= 0")
316322 else {
317- let bi = aB()
318- let bb = ak(be.caller)
319- let br = aY(be.caller)
320- let bd = br._1
321- let bc = br._2
322- let bs = aC(be.caller)
323- let bt = bs._1
324- let bu = bs._2
325- let bv = az(be.caller)
326- if (if (if ((0 > bu))
327- then true
328- else (0 > bt))
323+ let bk = aB()
324+ let bd = ak(bg.caller)
325+ let bt = ba(bg.caller)
326+ let bf = bt._1
327+ let be = bt._2
328+ let bu = aC(bg.caller)
329+ let bv = bu._1
330+ let bw = bu._2
331+ let bx = az(bg.caller)
332+ if (if (if ((0 > bw))
329333 then true
330334 else (0 > bv))
335+ then true
336+ else (0 > bx))
331337 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
332338 else {
333- let bw = (bb - max([bv, (bt + bu)]))
334- if ((bq > bw))
339+ let by = (bd - max([bx, (bv + bw)]))
340+ if ((bs > by))
335341 then throw("withdrawAmount > availableToUnstake")
336342 else {
337- let bn = ((bi + bc) - bq)
338- let bx = ((bb + bc) - bq)
339- let bo = am(be.caller)
340- let bp = (bo + bc)
341-[IntegerEntry((toString(be.caller) + i), bd), IntegerEntry((toString(be.caller) + j), bx), IntegerEntry(l, bn), ScriptTransfer(be.caller, bq, R), IntegerEntry((toString(be.caller) + p), bp), IntegerEntry((toString(be.caller) + q), bc)]
343+ let bp = ((bk + be) - bs)
344+ let bz = ((bd + be) - bs)
345+ let bq = am(bg.caller)
346+ let br = (bq + be)
347+[IntegerEntry((toString(bg.caller) + i), bf), IntegerEntry((toString(bg.caller) + j), bz), IntegerEntry(l, bp), ScriptTransfer(bg.caller, bs, R), IntegerEntry((toString(bg.caller) + p), br), IntegerEntry((toString(bg.caller) + q), be)]
342348 }
343349 }
344350 }
345351
346352
347353
348-@Callable(be)
354+@Callable(bg)
349355 func claimAndWithdrawSWOP () = if (!(M))
350356 then throw("DApp is inactive at this moment")
351357 else {
352358 let aj = ai()
353- let by = aY(be.caller)
354- let bd = by._1
355- let bc = by._2
356- let bo = am(be.caller)
357- let bp = (bo + bc)
358- if ((bc == 0))
359+ let bA = ba(bg.caller)
360+ let bf = bA._1
361+ let be = bA._2
362+ let bq = am(bg.caller)
363+ let br = (bq + be)
364+ if ((be == 0))
359365 then throw("You have 0 available SWOP")
360- else [IntegerEntry((toString(be.caller) + i), bd), IntegerEntry((toString(be.caller) + p), bp), IntegerEntry((toString(be.caller) + q), bc), ScriptTransfer(be.caller, bc, R)]
366+ else [IntegerEntry((toString(bg.caller) + i), bf), IntegerEntry((toString(bg.caller) + p), br), IntegerEntry((toString(bg.caller) + q), be), ScriptTransfer(bg.caller, be, R)]
361367 }
362368
363369
364370
365-@Callable(be)
371+@Callable(bg)
366372 func claimAndStakeSWOP () = if (!(M))
367373 then throw("DApp is inactive at this moment")
368374 else {
369- let bi = aB()
370- let bb = ak(be.caller)
375+ let bk = aB()
376+ let bd = ak(bg.caller)
371377 let aj = ai()
372- let bz = aY(be.caller)
373- let bd = bz._1
374- let bc = bz._2
375- let bm = (bb + bc)
376- let bn = (bi + bc)
377- let bo = am(be.caller)
378- let bp = (bo + bc)
379- if ((bc == 0))
378+ let bB = ba(bg.caller)
379+ let bf = bB._1
380+ let be = bB._2
381+ let bo = (bd + be)
382+ let bp = (bk + be)
383+ let bq = am(bg.caller)
384+ let br = (bq + be)
385+ if ((be == 0))
380386 then throw("You have 0 available SWOP")
381- else [IntegerEntry((toString(be.caller) + i), bd), IntegerEntry(l, bn), IntegerEntry((toString(be.caller) + j), bm), IntegerEntry((toString(be.caller) + p), bp), IntegerEntry((toString(be.caller) + q), bc)]
387+ else [IntegerEntry((toString(bg.caller) + i), bf), IntegerEntry(l, bp), IntegerEntry((toString(bg.caller) + j), bo), IntegerEntry((toString(bg.caller) + p), br), IntegerEntry((toString(bg.caller) + q), be)]
382388 }
383389
384390
385391
386-@Callable(be)
387-func updateWeights (bA,bB,bC,bD,bE,bF) = if (!(M))
392+@Callable(bg)
393+func updateWeights (bC,bD,bE,bF,bG,bH) = if (!(M))
388394 then throw("DApp is inactive at this moment")
389395 else {
390- let bG = 10
391- if (!(containsElement([a, b, c, d, e], be.callerPublicKey)))
396+ let bI = 10
397+ let bJ = valueOrElse(getIntegerValue(this, A), 0)
398+ if (!(containsElement([a, b, c, d, e], bg.callerPublicKey)))
392399 then throw("Only admin can call this function")
393- else if (if ((size(bA) > bG))
400+ else if (if ((size(bC) > bI))
394401 then true
395- else (size(bC) > bG))
396- then throw(("Max amount of pool is " + toString(bG)))
397- else {
398- func bH (bI,bJ) = (bI + bJ)
402+ else (size(bE) > bI))
403+ then throw(("Max amount of pool is " + toString(bI)))
404+ else if ((bJ >= bG))
405+ then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
406+ else if ((height >= bG))
407+ then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
408+ else if ((0 >= bG))
409+ then throw("0 >= rewardUpdateHeight ")
410+ else {
411+ func bK (bL,bM) = (bL + bM)
399412
400- func bK (bL,au) = {
401- let bM = value(indexOf(bA, au))
402- let bN = bB[bM]
403-IntegerEntry((au + w), bN) :: bL
404- }
413+ func bN (bO,au) = {
414+ let bP = aO(au)
415+ let bQ = aN(au)
416+ if ((bG != bQ))
417+ then if ((bQ == bJ))
418+ then {
419+ let bR = aO(au)
420+IntegerEntry((au + w), bR) :: bO
421+ }
422+ else nil
423+ else nil
424+ }
405425
406- func bO (bL,au) = {
407- let bM = value(indexOf(bC, au))
408- let bN = bD[bM]
409-IntegerEntry((au + v), bN) :: bL
410- }
426+ func bS (bO,au) = {
427+ let bT = value(indexOf(bE, au))
428+ let bR = bF[bT]
429+ if ((0 > bR))
430+ then throw("PoolReward < 0")
431+ else IntegerEntry((au + v), bR) :: bO
432+ }
411433
412- func bP (bL,au) = {
413- let bQ = bE
414-IntegerEntry((au + x), bQ) :: bL
415- }
434+ func bU (bO,au) = {
435+ let bV = bG
436+IntegerEntry((au + x), bV) :: bO
437+ }
416438
417- func bR (bS,bT,bF) = if ((bF == 0))
418- then if (if ((bS > T))
419- then true
420- else (bT > T))
421- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bF)) + " ") + toString(bS)) + " ") + toString(bT)))
422- else $Tuple3([IntegerEntry(K, bS)], [IntegerEntry(L, bT)], [IntegerEntry(B, bE)])
423- else if ((bF == 1))
424- then {
425- let bU = valueOrElse(getInteger(this, K), 0)
426- let bV = valueOrElse(getInteger(this, L), 0)
427- let bW = valueOrElse(getInteger(this, B), 0)
428- if (if (((bS + bU) > T))
429- then true
430- else ((bT + bV) > T))
431- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bF)) + " ") + toString((bS + bU))) + " ") + toString((bT + bV))))
432- else if ((bW != bE))
433- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
434- else $Tuple3([IntegerEntry(K, (bS + bU))], [IntegerEntry(L, (bT + bV))], nil)
435- }
436- else if ((bF == 2))
437- then {
438- let bX = (valueOrElse(getInteger(this, K), 0) + bS)
439- let bY = (valueOrElse(getInteger(this, L), 0) + bT)
440- let bW = valueOrElse(getInteger(this, B), 0)
441- if (if ((bX != T))
439+ func bW (bX,bY,bH) = if ((bH == 0))
440+ then if (if ((bX > T))
442441 then true
443- else (bY != T))
444- then throw(((("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare; sumRewardPrevious: " + toString(bX)) + "; sumRewardCurrent: ") + toString(bY)))
445- else if ((bW != bE))
446- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
447- else $Tuple3([IntegerEntry(K, bX)], [IntegerEntry(L, bY)], nil)
442+ else (bY > T))
443+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bH)) + " ") + toString(bX)) + " ") + toString(bY)))
444+ else $Tuple3([IntegerEntry(K, bX)], [IntegerEntry(L, bY)], [IntegerEntry(B, bG)])
445+ else if ((bH == 1))
446+ then {
447+ let bZ = valueOrElse(getInteger(this, K), 0)
448+ let ca = valueOrElse(getInteger(this, L), 0)
449+ let cb = valueOrElse(getInteger(this, B), 0)
450+ if (if (((bX + bZ) > T))
451+ then true
452+ else ((bY + ca) > T))
453+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bH)) + " ") + toString((bX + bZ))) + " ") + toString((bY + ca))))
454+ else if ((cb != bG))
455+ then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
456+ else $Tuple3([IntegerEntry(K, (bX + bZ))], [IntegerEntry(L, (bY + ca))], nil)
457+ }
458+ else if ((bH == 2))
459+ then {
460+ let cc = (valueOrElse(getInteger(this, K), 0) + bX)
461+ let cd = (valueOrElse(getInteger(this, L), 0) + bY)
462+ let cb = valueOrElse(getInteger(this, B), 0)
463+ if (if ((cc != T))
464+ then true
465+ else (cd != T))
466+ then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
467+ else if ((cb != bG))
468+ then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
469+ else $Tuple3([IntegerEntry(K, cc)], [IntegerEntry(L, cd)], nil)
470+ }
471+ else throw("Incorrect pagination")
472+
473+ let ce = {
474+ let cf = bD
475+ let cg = size(cf)
476+ let ch = 0
477+ if ((cg == 0))
478+ then ch
479+ else {
480+ let ci = bK(ch, cf[0])
481+ if ((cg == 1))
482+ then ci
483+ else {
484+ let cj = bK(ci, cf[1])
485+ if ((cg == 2))
486+ then cj
487+ else {
488+ let ck = bK(cj, cf[2])
489+ if ((cg == 3))
490+ then ck
491+ else {
492+ let cl = bK(ck, cf[3])
493+ if ((cg == 4))
494+ then cl
495+ else {
496+ let cm = bK(cl, cf[4])
497+ if ((cg == 5))
498+ then cm
499+ else {
500+ let cn = bK(cm, cf[5])
501+ if ((cg == 6))
502+ then cn
503+ else {
504+ let co = bK(cn, cf[6])
505+ if ((cg == 7))
506+ then co
507+ else {
508+ let cp = bK(co, cf[7])
509+ if ((cg == 8))
510+ then cp
511+ else {
512+ let cq = bK(cp, cf[8])
513+ if ((cg == 9))
514+ then cq
515+ else {
516+ let cr = bK(cq, cf[9])
517+ if ((cg == 10))
518+ then cr
519+ else {
520+ let cs = bK(cr, cf[10])
521+ throw("List size exceed 10")
522+ }
523+ }
524+ }
525+ }
526+ }
527+ }
528+ }
529+ }
530+ }
531+ }
532+ }
448533 }
449- else throw("Incorrect pagination")
450-
451- let bZ = {
452- let ca = bB
453- let cb = size(ca)
454- let cc = 0
455- if ((cb == 0))
456- then cc
457- else {
458- let cd = bH(cc, ca[0])
459- if ((cb == 1))
460- then cd
534+ let ct = {
535+ let cu = bF
536+ let cv = size(cu)
537+ let cw = 0
538+ if ((cv == 0))
539+ then cw
540+ else {
541+ let cx = bK(cw, cu[0])
542+ if ((cv == 1))
543+ then cx
544+ else {
545+ let cy = bK(cx, cu[1])
546+ if ((cv == 2))
547+ then cy
548+ else {
549+ let cz = bK(cy, cu[2])
550+ if ((cv == 3))
551+ then cz
552+ else {
553+ let cA = bK(cz, cu[3])
554+ if ((cv == 4))
555+ then cA
556+ else {
557+ let cB = bK(cA, cu[4])
558+ if ((cv == 5))
559+ then cB
560+ else {
561+ let cC = bK(cB, cu[5])
562+ if ((cv == 6))
563+ then cC
564+ else {
565+ let cD = bK(cC, cu[6])
566+ if ((cv == 7))
567+ then cD
568+ else {
569+ let cE = bK(cD, cu[7])
570+ if ((cv == 8))
571+ then cE
572+ else {
573+ let cF = bK(cE, cu[8])
574+ if ((cv == 9))
575+ then cF
576+ else {
577+ let cG = bK(cF, cu[9])
578+ if ((cv == 10))
579+ then cG
580+ else {
581+ let cH = bK(cG, cu[10])
582+ throw("List size exceed 10")
583+ }
584+ }
585+ }
586+ }
587+ }
588+ }
589+ }
590+ }
591+ }
592+ }
593+ }
594+ }
595+ let cI = bW(ce, ct, bH)
596+ let cJ = cI._1
597+ let cK = cI._2
598+ let cb = cI._3
599+ let cL = if ((bH == 2))
600+ then [IntegerEntry(A, bG)]
601+ else [IntegerEntry(A, getIntegerValue(this, A))]
602+ if ((height > bG))
603+ then throw("rewardUpdateHeight < height")
461604 else {
462- let ce = bH(cd, ca[1])
463- if ((cb == 2))
464- then ce
465- else {
466- let cf = bH(ce, ca[2])
467- if ((cb == 3))
468- then cf
469- else {
470- let cg = bH(cf, ca[3])
471- if ((cb == 4))
472- then cg
473- else {
474- let ch = bH(cg, ca[4])
475- if ((cb == 5))
476- then ch
477- else {
478- let ci = bH(ch, ca[5])
479- if ((cb == 6))
480- then ci
481- else {
482- let cj = bH(ci, ca[6])
483- if ((cb == 7))
484- then cj
485- else {
486- let ck = bH(cj, ca[7])
487- if ((cb == 8))
488- then ck
489- else {
490- let cl = bH(ck, ca[8])
491- if ((cb == 9))
492- then cl
493- else {
494- let cm = bH(cl, ca[9])
495- if ((cb == 10))
496- then cm
497- else {
498- let cn = bH(cm, ca[10])
499- throw("List size exceed 10")
500- }
501- }
502- }
503- }
504- }
505- }
506- }
507- }
508- }
605+ let cM = {
606+ let cN = bC
607+ let cO = size(cN)
608+ let cP = nil
609+ if ((cO == 0))
610+ then cP
611+ else {
612+ let cQ = bN(cP, cN[0])
613+ if ((cO == 1))
614+ then cQ
615+ else {
616+ let cR = bN(cQ, cN[1])
617+ if ((cO == 2))
618+ then cR
619+ else {
620+ let cS = bN(cR, cN[2])
621+ if ((cO == 3))
622+ then cS
623+ else {
624+ let cT = bN(cS, cN[3])
625+ if ((cO == 4))
626+ then cT
627+ else {
628+ let cU = bN(cT, cN[4])
629+ if ((cO == 5))
630+ then cU
631+ else {
632+ let cV = bN(cU, cN[5])
633+ if ((cO == 6))
634+ then cV
635+ else {
636+ let cW = bN(cV, cN[6])
637+ if ((cO == 7))
638+ then cW
639+ else {
640+ let cX = bN(cW, cN[7])
641+ if ((cO == 8))
642+ then cX
643+ else {
644+ let cY = bN(cX, cN[8])
645+ if ((cO == 9))
646+ then cY
647+ else {
648+ let cZ = bN(cY, cN[9])
649+ if ((cO == 10))
650+ then cZ
651+ else {
652+ let da = bN(cZ, cN[10])
653+ throw("List size exceed 10")
654+ }
655+ }
656+ }
657+ }
658+ }
659+ }
660+ }
661+ }
662+ }
663+ }
664+ }
665+ }
666+ let db = {
667+ let dc = bE
668+ let dd = size(dc)
669+ let de = nil
670+ if ((dd == 0))
671+ then de
672+ else {
673+ let df = bS(de, dc[0])
674+ if ((dd == 1))
675+ then df
676+ else {
677+ let dg = bS(df, dc[1])
678+ if ((dd == 2))
679+ then dg
680+ else {
681+ let dh = bS(dg, dc[2])
682+ if ((dd == 3))
683+ then dh
684+ else {
685+ let di = bS(dh, dc[3])
686+ if ((dd == 4))
687+ then di
688+ else {
689+ let dj = bS(di, dc[4])
690+ if ((dd == 5))
691+ then dj
692+ else {
693+ let dk = bS(dj, dc[5])
694+ if ((dd == 6))
695+ then dk
696+ else {
697+ let dl = bS(dk, dc[6])
698+ if ((dd == 7))
699+ then dl
700+ else {
701+ let dm = bS(dl, dc[7])
702+ if ((dd == 8))
703+ then dm
704+ else {
705+ let dn = bS(dm, dc[8])
706+ if ((dd == 9))
707+ then dn
708+ else {
709+ let do = bS(dn, dc[9])
710+ if ((dd == 10))
711+ then do
712+ else {
713+ let dp = bS(do, dc[10])
714+ throw("List size exceed 10")
715+ }
716+ }
717+ }
718+ }
719+ }
720+ }
721+ }
722+ }
723+ }
724+ }
725+ }
726+ }
727+ let dq = {
728+ let dr = bE
729+ let ds = size(dr)
730+ let dt = nil
731+ if ((ds == 0))
732+ then dt
733+ else {
734+ let du = bU(dt, dr[0])
735+ if ((ds == 1))
736+ then du
737+ else {
738+ let dv = bU(du, dr[1])
739+ if ((ds == 2))
740+ then dv
741+ else {
742+ let dw = bU(dv, dr[2])
743+ if ((ds == 3))
744+ then dw
745+ else {
746+ let dx = bU(dw, dr[3])
747+ if ((ds == 4))
748+ then dx
749+ else {
750+ let dy = bU(dx, dr[4])
751+ if ((ds == 5))
752+ then dy
753+ else {
754+ let dz = bU(dy, dr[5])
755+ if ((ds == 6))
756+ then dz
757+ else {
758+ let dA = bU(dz, dr[6])
759+ if ((ds == 7))
760+ then dA
761+ else {
762+ let dB = bU(dA, dr[7])
763+ if ((ds == 8))
764+ then dB
765+ else {
766+ let dC = bU(dB, dr[8])
767+ if ((ds == 9))
768+ then dC
769+ else {
770+ let dD = bU(dC, dr[9])
771+ if ((ds == 10))
772+ then dD
773+ else {
774+ let dE = bU(dD, dr[10])
775+ throw("List size exceed 10")
776+ }
777+ }
778+ }
779+ }
780+ }
781+ }
782+ }
783+ }
784+ }
785+ }
786+ }
787+ }
788+ ((((((cM ++ db) ++ dq) ++ cJ) ++ cK) ++ cL) ++ cb)
509789 }
510790 }
511- }
512- let co = {
513- let cp = bD
514- let cq = size(cp)
515- let cr = 0
516- if ((cq == 0))
517- then cr
518- else {
519- let cs = bH(cr, cp[0])
520- if ((cq == 1))
521- then cs
522- else {
523- let ct = bH(cs, cp[1])
524- if ((cq == 2))
525- then ct
526- else {
527- let cu = bH(ct, cp[2])
528- if ((cq == 3))
529- then cu
530- else {
531- let cv = bH(cu, cp[3])
532- if ((cq == 4))
533- then cv
534- else {
535- let cw = bH(cv, cp[4])
536- if ((cq == 5))
537- then cw
538- else {
539- let cx = bH(cw, cp[5])
540- if ((cq == 6))
541- then cx
542- else {
543- let cy = bH(cx, cp[6])
544- if ((cq == 7))
545- then cy
546- else {
547- let cz = bH(cy, cp[7])
548- if ((cq == 8))
549- then cz
550- else {
551- let cA = bH(cz, cp[8])
552- if ((cq == 9))
553- then cA
554- else {
555- let cB = bH(cA, cp[9])
556- if ((cq == 10))
557- then cB
558- else {
559- let cC = bH(cB, cp[10])
560- throw("List size exceed 10")
561- }
562- }
563- }
564- }
565- }
566- }
567- }
568- }
569- }
570- }
571- }
572- }
573- let cD = bR(bZ, co, bF)
574- let cE = cD._1
575- let cF = cD._2
576- let bW = cD._3
577- let cG = if ((bF == 2))
578- then [IntegerEntry(A, bE)]
579- else [IntegerEntry(A, getIntegerValue(this, A))]
580- if ((height > bE))
581- then throw("rewardUpdateHeight < height")
582- else {
583- let cH = {
584- let cI = bA
585- let cJ = size(cI)
586- let cK = nil
587- if ((cJ == 0))
588- then cK
589- else {
590- let cL = bK(cK, cI[0])
591- if ((cJ == 1))
592- then cL
593- else {
594- let cM = bK(cL, cI[1])
595- if ((cJ == 2))
596- then cM
597- else {
598- let cN = bK(cM, cI[2])
599- if ((cJ == 3))
600- then cN
601- else {
602- let cO = bK(cN, cI[3])
603- if ((cJ == 4))
604- then cO
605- else {
606- let cP = bK(cO, cI[4])
607- if ((cJ == 5))
608- then cP
609- else {
610- let cQ = bK(cP, cI[5])
611- if ((cJ == 6))
612- then cQ
613- else {
614- let cR = bK(cQ, cI[6])
615- if ((cJ == 7))
616- then cR
617- else {
618- let cS = bK(cR, cI[7])
619- if ((cJ == 8))
620- then cS
621- else {
622- let cT = bK(cS, cI[8])
623- if ((cJ == 9))
624- then cT
625- else {
626- let cU = bK(cT, cI[9])
627- if ((cJ == 10))
628- then cU
629- else {
630- let cV = bK(cU, cI[10])
631- throw("List size exceed 10")
632- }
633- }
634- }
635- }
636- }
637- }
638- }
639- }
640- }
641- }
642- }
643- }
644- let cW = {
645- let cX = bC
646- let cY = size(cX)
647- let cZ = nil
648- if ((cY == 0))
649- then cZ
650- else {
651- let da = bO(cZ, cX[0])
652- if ((cY == 1))
653- then da
654- else {
655- let db = bO(da, cX[1])
656- if ((cY == 2))
657- then db
658- else {
659- let dc = bO(db, cX[2])
660- if ((cY == 3))
661- then dc
662- else {
663- let dd = bO(dc, cX[3])
664- if ((cY == 4))
665- then dd
666- else {
667- let de = bO(dd, cX[4])
668- if ((cY == 5))
669- then de
670- else {
671- let df = bO(de, cX[5])
672- if ((cY == 6))
673- then df
674- else {
675- let dg = bO(df, cX[6])
676- if ((cY == 7))
677- then dg
678- else {
679- let dh = bO(dg, cX[7])
680- if ((cY == 8))
681- then dh
682- else {
683- let di = bO(dh, cX[8])
684- if ((cY == 9))
685- then di
686- else {
687- let dj = bO(di, cX[9])
688- if ((cY == 10))
689- then dj
690- else {
691- let dk = bO(dj, cX[10])
692- throw("List size exceed 10")
693- }
694- }
695- }
696- }
697- }
698- }
699- }
700- }
701- }
702- }
703- }
704- }
705- let dl = {
706- let dm = bC
707- let dn = size(dm)
708- let do = nil
709- if ((dn == 0))
710- then do
711- else {
712- let dp = bP(do, dm[0])
713- if ((dn == 1))
714- then dp
715- else {
716- let dq = bP(dp, dm[1])
717- if ((dn == 2))
718- then dq
719- else {
720- let dr = bP(dq, dm[2])
721- if ((dn == 3))
722- then dr
723- else {
724- let ds = bP(dr, dm[3])
725- if ((dn == 4))
726- then ds
727- else {
728- let dt = bP(ds, dm[4])
729- if ((dn == 5))
730- then dt
731- else {
732- let du = bP(dt, dm[5])
733- if ((dn == 6))
734- then du
735- else {
736- let dv = bP(du, dm[6])
737- if ((dn == 7))
738- then dv
739- else {
740- let dw = bP(dv, dm[7])
741- if ((dn == 8))
742- then dw
743- else {
744- let dx = bP(dw, dm[8])
745- if ((dn == 9))
746- then dx
747- else {
748- let dy = bP(dx, dm[9])
749- if ((dn == 10))
750- then dy
751- else {
752- let dz = bP(dy, dm[10])
753- throw("List size exceed 10")
754- }
755- }
756- }
757- }
758- }
759- }
760- }
761- }
762- }
763- }
764- }
765- }
766- ((((((cH ++ cW) ++ dl) ++ cE) ++ cF) ++ cG) ++ bW)
767- }
768- }
769791 }
770792
771793
772794
773-@Callable(be)
795+@Callable(bg)
774796 func shutdown () = if (!(M))
775797 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
776- else if (!(containsElement([a, b, c, d], be.callerPublicKey)))
798+ else if (!(containsElement([a, b, c, d], bg.callerPublicKey)))
777799 then throw("Only admin can call this function")
778800 else af("Paused by admin")
779801
780802
781803
782-@Callable(be)
804+@Callable(bg)
783805 func activate () = if (M)
784806 then throw("DApp is already active")
785- else if (!(containsElement([a, b, c, d], be.callerPublicKey)))
807+ else if (!(containsElement([a, b, c, d], bg.callerPublicKey)))
786808 then throw("Only admin can call this function")
787809 else [BooleanEntry(f, true), DeleteEntry(g)]
788810
789811
790-@Verifier(dA)
791-func dB () = sigVerify(dA.bodyBytes, dA.proofs[0], dA.senderPublicKey)
812+@Verifier(dF)
813+func dG () = sigVerify(dF.bodyBytes, dF.proofs[0], dF.senderPublicKey)
792814
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
55
66 let b = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
77
88 let c = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
99
1010 let d = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
1111
1212 let e = base58'5CqqMkmtXXt35KRH9LdWA3ap6TffPvTT5SHQzYrVFbBw'
1313
1414 let f = "active"
1515
1616 let g = "shutdown_cause"
1717
1818 let h = "last_interest"
1919
2020 let i = "_last_interest"
2121
2222 let j = "_SWOP_amount"
2323
2424 let k = "_getBackHeight"
2525
2626 let l = "total_SWOP_amount"
2727
2828 let m = "_user_total_SWOP_vote"
2929
3030 let n = "_SWOP_option_amount"
3131
3232 let o = "total_SWOP_option_amount"
3333
3434 let p = "_SWOP_claimed_amount"
3535
3636 let q = "_SWOP_last_claimed_amount"
3737
3838 let r = "vote_name"
3939
4040 let s = "_option_name"
4141
4242 let t = "_startHeight"
4343
4444 let u = "_vote_duration"
4545
4646 let v = "_current_pool_fraction_reward"
4747
4848 let w = "_previous_pool_fraction_reward"
4949
5050 let x = "_pool_reward_update_height"
5151
5252 let y = "total_reward_per_block_current"
5353
5454 let z = "total_reward_per_block_previous"
5555
5656 let A = "reward_update_height"
5757
5858 let B = "reward_update_height_first_pagination"
5959
6060 let C = "_vote_no"
6161
6262 let D = "_vote_yes"
6363
6464 let E = "max_amount_voting"
6565
6666 let F = "_status"
6767
6868 let G = "_finish_height"
6969
7070 let H = "voting_active_cell_1"
7171
7272 let I = "voting_active_cell_2"
7373
7474 let J = "voting_active_cell_3"
7575
7676 let K = "sum_reward_previous"
7777
7878 let L = "sum_reward_current"
7979
8080 let M = valueOrElse(getBoolean(this, f), true)
8181
8282 let N = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
8383
8484 let O = Address(base58'3MrJgdL1GniipErHy44YF9idzLaUL2iX5DQ')
8585
8686 let P = Address(base58'3Mzgi6deFV8CyF2nqbWSBkqba5JaD42EXyb')
8787
8888 let Q = "SWOP_id"
8989
9090 let R = fromBase58String(getStringValue(N, Q))
9191
9292 let S = 100000000
9393
9494 let T = 10000000000
9595
9696 let U = "start_height"
9797
9898 let V = "base_period"
9999
100100 let W = "period_length"
101101
102102 let X = "_user_total_struc"
103103
104104 let Y = valueOrErrorMessage(getInteger(O, V), "Empty kBasePeriod at voting contract")
105105
106106 let Z = valueOrErrorMessage(getInteger(O, U), "Empty kStartHeight at voting contract")
107107
108108 let aa = valueOrErrorMessage(getInteger(O, W), "Empty kPeriodLength at voting contract")
109109
110110 let ab = valueOrElse(getString(P, H), "")
111111
112112 let ac = valueOrElse(getString(P, I), "")
113113
114114 let ad = valueOrElse(getString(P, J), "")
115115
116116 let ae = (Y + ((height - Z) / aa))
117117
118118 func af (ag) = [BooleanEntry(f, false), StringEntry(g, ag)]
119119
120120
121121 func ah () = throw("Not enough SWOP: userSWOPLocked - userTotalVoteAmount < voteSWOPAmount")
122122
123123
124124 func ai () = {
125125 let aj = valueOrElse(getInteger(this, h), 0)
126126 aj
127127 }
128128
129129
130130 func ak (al) = valueOrElse(getInteger(this, (toString(al) + j)), 0)
131131
132132
133133 func am (al) = valueOrElse(getInteger(this, (toString(al) + p)), 0)
134134
135135
136136 func an (al) = valueOrElse(getInteger(O, (toString(al) + m)), 0)
137137
138138
139139 func ao (al,aj) = {
140140 let ap = ak(al)
141141 let aq = getInteger(this, (toString(al) + i))
142142 let ar = {
143143 let as = aq
144144 if ($isInstanceOf(as, "Int"))
145145 then {
146146 let aq = as
147147 aq
148148 }
149149 else aj
150150 }
151151 $Tuple2(ar, ap)
152152 }
153153
154154
155155 func at (au,al) = {
156156 let av = valueOrElse(getInteger(P, au), -1)
157157 let aw = valueOrElse(getInteger(P, (toString(av) + G)), 0)
158158 let ax = valueOrElse(getBoolean(P, (toString(av) + F)), true)
159159 let ay = height
160160 if ((0 > av))
161161 then 0
162162 else if (!(ax))
163163 then 0
164164 else if ((aw > ay))
165165 then (valueOrElse(getInteger(P, (((toString(al) + "_") + toString(av)) + D)), 0) + valueOrElse(getInteger(P, (((toString(al) + "_") + toString(av)) + C)), 0))
166166 else 0
167167 }
168168
169169
170170 func az (al) = {
171171 let aA = [at(ab, al), at(ac, al), at(ad, al)]
172172 max(aA)
173173 }
174174
175175
176176 func aB () = valueOrElse(getInteger(this, l), 0)
177177
178178
179179 func aC (al) = {
180180 let aD = if (isDefined(getString(O, (toString(al) + X))))
181181 then {
182182 let aE = split(valueOrErrorMessage(getString(O, (toString(al) + X)), "Empty kUserTotalStruc"), "_")
183183 $Tuple3(parseIntValue(aE[0]), parseIntValue(aE[1]), parseIntValue(aE[2]))
184184 }
185185 else {
186186 let aF = valueOrElse(getInteger(O, (toString(al) + m)), 0)
187187 $Tuple3(aF, 0, ae)
188188 }
189189 let aG = aD._1
190190 let aH = aD._2
191191 let aI = aD._3
192192 let aJ = if ((aI == ae))
193193 then aH
194194 else 0
195195 $Tuple2(aG, aJ)
196196 }
197197
198198
199199 func aK (al) = valueOrElse(getInteger(this, (toString(al) + n)), 0)
200200
201201
202202 func aL (aM) = valueOrElse(getInteger(this, (aM + t)), 0)
203203
204204
205-func aN (al,aM,aO) = {
206- let aP = getInteger(this, (((aM + aO) + toString(al)) + n))
207- let aQ = {
208- let as = aP
205+func aN (au) = valueOrElse(getIntegerValue(this, (au + x)), 0)
206+
207+
208+func aO (au) = valueOrElse(getIntegerValue(this, (au + v)), 0)
209+
210+
211+func aP (al,aM,aQ) = {
212+ let aR = getInteger(this, (((aM + aQ) + toString(al)) + n))
213+ let aS = {
214+ let as = aR
209215 if ($isInstanceOf(as, "Int"))
210216 then {
211- let aQ = as
212- aQ
217+ let aS = as
218+ aS
213219 }
214220 else if ($isInstanceOf(as, "Unit"))
215221 then {
216- let aQ = as
222+ let aS = as
217223 0
218224 }
219225 else throw("Match error")
220226 }
221- valueOrErrorMessage(aQ, (((("No data on the key: " + aM) + aO) + toString(al)) + n))
227+ valueOrErrorMessage(aS, (((("No data on the key: " + aM) + aQ) + toString(al)) + n))
222228 }
223229
224230
225-func aR (aM) = valueOrErrorMessage(getInteger(this, (aM + u)), (("No data on the key: " + aM) + u))
231+func aT (aM) = valueOrErrorMessage(getInteger(this, (aM + u)), (("No data on the key: " + aM) + u))
226232
227233
228-func aS (aM,aO) = {
229- let aT = getInteger(this, ((aM + aO) + o))
230- let aU = {
231- let as = aT
234+func aU (aM,aQ) = {
235+ let aV = getInteger(this, ((aM + aQ) + o))
236+ let aW = {
237+ let as = aV
232238 if ($isInstanceOf(as, "Int"))
233239 then {
234- let aU = as
235- aU
240+ let aW = as
241+ aW
236242 }
237243 else if ($isInstanceOf(as, "Unit"))
238244 then {
239- let aU = as
245+ let aW = as
240246 0
241247 }
242248 else throw("Match error")
243249 }
244- aU
250+ aW
245251 }
246252
247253
248-func aV (aM,aO,al,aW) = {
249- let aX = ((((((aM + "_") + aO) + "_") + toString(al)) + "_") + toString(aW))
250- valueOrErrorMessage(getInteger(this, aX), ("No data on the key: " + aX))
254+func aX (aM,aQ,al,aY) = {
255+ let aZ = ((((((aM + "_") + aQ) + "_") + toString(al)) + "_") + toString(aY))
256+ valueOrErrorMessage(getInteger(this, aZ), ("No data on the key: " + aZ))
251257 }
252258
253259
254-func aY (aZ) = {
260+func ba (bb) = {
255261 let aj = ai()
256- let ba = ao(aZ, aj)
257- let aq = ba._1
258- let bb = ba._2
259- let bc = fraction(bb, (aj - aq), S)
260- let bd = aj
261- $Tuple2(bd, bc)
262+ let bc = ao(bb, aj)
263+ let aq = bc._1
264+ let bd = bc._2
265+ let be = fraction(bd, (aj - aq), S)
266+ let bf = aj
267+ $Tuple2(bf, be)
262268 }
263269
264270
265-@Callable(be)
271+@Callable(bg)
266272 func airDrop () = if (!(M))
267273 then throw("DApp is inactive at this moment")
268274 else {
269- let bf = $Tuple2(be.payments[0].amount, be.payments[0].assetId)
270- let bg = bf._1
271- let bh = bf._2
272- if ((bh != R))
275+ let bh = $Tuple2(bg.payments[0].amount, bg.payments[0].assetId)
276+ let bi = bh._1
277+ let bj = bh._2
278+ if ((bj != R))
273279 then throw("Incorrect pmtAssetId")
274280 else {
275- let bi = aB()
281+ let bk = aB()
276282 let aj = ai()
277- let bj = (aj + fraction(bg, S, bi))
278-[IntegerEntry(h, bj)]
283+ let bl = (aj + fraction(bi, S, bk))
284+[IntegerEntry(h, bl)]
279285 }
280286 }
281287
282288
283289
284-@Callable(be)
290+@Callable(bg)
285291 func lockSWOP () = if (!(M))
286292 then throw("DApp is inactive at this moment")
287293 else {
288- let bk = $Tuple2(be.payments[0].amount, be.payments[0].assetId)
289- let bg = bk._1
290- let bh = bk._2
291- if ((bh != R))
294+ let bm = $Tuple2(bg.payments[0].amount, bg.payments[0].assetId)
295+ let bi = bm._1
296+ let bj = bm._2
297+ if ((bj != R))
292298 then throw("Incorrect pmtAssetId")
293299 else {
294300 let aj = ai()
295- let bl = ao(be.caller, aj)
296- let aq = bl._1
297- let bb = bl._2
298- let bc = fraction(bb, (aj - aq), S)
299- let bm = ((bb + bg) + bc)
300- let bd = aj
301- let bi = aB()
302- let bn = ((bi + bg) + bc)
303- let bo = am(be.caller)
304- let bp = (bo + bc)
305-[IntegerEntry((toString(be.caller) + i), bd), IntegerEntry((toString(be.caller) + j), bm), IntegerEntry(l, bn), IntegerEntry((toString(be.caller) + p), bp), IntegerEntry((toString(be.caller) + q), bc)]
301+ let bn = ao(bg.caller, aj)
302+ let aq = bn._1
303+ let bd = bn._2
304+ let be = fraction(bd, (aj - aq), S)
305+ let bo = ((bd + bi) + be)
306+ let bf = aj
307+ let bk = aB()
308+ let bp = ((bk + bi) + be)
309+ let bq = am(bg.caller)
310+ let br = (bq + be)
311+[IntegerEntry((toString(bg.caller) + i), bf), IntegerEntry((toString(bg.caller) + j), bo), IntegerEntry(l, bp), IntegerEntry((toString(bg.caller) + p), br), IntegerEntry((toString(bg.caller) + q), be)]
306312 }
307313 }
308314
309315
310316
311-@Callable(be)
312-func withdrawSWOP (bq) = if (!(M))
317+@Callable(bg)
318+func withdrawSWOP (bs) = if (!(M))
313319 then throw("DApp is inactive at this moment")
314- else if ((0 >= bq))
320+ else if ((0 >= bs))
315321 then throw("withdrawAmount <= 0")
316322 else {
317- let bi = aB()
318- let bb = ak(be.caller)
319- let br = aY(be.caller)
320- let bd = br._1
321- let bc = br._2
322- let bs = aC(be.caller)
323- let bt = bs._1
324- let bu = bs._2
325- let bv = az(be.caller)
326- if (if (if ((0 > bu))
327- then true
328- else (0 > bt))
323+ let bk = aB()
324+ let bd = ak(bg.caller)
325+ let bt = ba(bg.caller)
326+ let bf = bt._1
327+ let be = bt._2
328+ let bu = aC(bg.caller)
329+ let bv = bu._1
330+ let bw = bu._2
331+ let bx = az(bg.caller)
332+ if (if (if ((0 > bw))
329333 then true
330334 else (0 > bv))
335+ then true
336+ else (0 > bx))
331337 then throw("userUnvoteAmount < 0 || userVoteAmount < 0 || userVoteAmountForNewPool < 0")
332338 else {
333- let bw = (bb - max([bv, (bt + bu)]))
334- if ((bq > bw))
339+ let by = (bd - max([bx, (bv + bw)]))
340+ if ((bs > by))
335341 then throw("withdrawAmount > availableToUnstake")
336342 else {
337- let bn = ((bi + bc) - bq)
338- let bx = ((bb + bc) - bq)
339- let bo = am(be.caller)
340- let bp = (bo + bc)
341-[IntegerEntry((toString(be.caller) + i), bd), IntegerEntry((toString(be.caller) + j), bx), IntegerEntry(l, bn), ScriptTransfer(be.caller, bq, R), IntegerEntry((toString(be.caller) + p), bp), IntegerEntry((toString(be.caller) + q), bc)]
343+ let bp = ((bk + be) - bs)
344+ let bz = ((bd + be) - bs)
345+ let bq = am(bg.caller)
346+ let br = (bq + be)
347+[IntegerEntry((toString(bg.caller) + i), bf), IntegerEntry((toString(bg.caller) + j), bz), IntegerEntry(l, bp), ScriptTransfer(bg.caller, bs, R), IntegerEntry((toString(bg.caller) + p), br), IntegerEntry((toString(bg.caller) + q), be)]
342348 }
343349 }
344350 }
345351
346352
347353
348-@Callable(be)
354+@Callable(bg)
349355 func claimAndWithdrawSWOP () = if (!(M))
350356 then throw("DApp is inactive at this moment")
351357 else {
352358 let aj = ai()
353- let by = aY(be.caller)
354- let bd = by._1
355- let bc = by._2
356- let bo = am(be.caller)
357- let bp = (bo + bc)
358- if ((bc == 0))
359+ let bA = ba(bg.caller)
360+ let bf = bA._1
361+ let be = bA._2
362+ let bq = am(bg.caller)
363+ let br = (bq + be)
364+ if ((be == 0))
359365 then throw("You have 0 available SWOP")
360- else [IntegerEntry((toString(be.caller) + i), bd), IntegerEntry((toString(be.caller) + p), bp), IntegerEntry((toString(be.caller) + q), bc), ScriptTransfer(be.caller, bc, R)]
366+ else [IntegerEntry((toString(bg.caller) + i), bf), IntegerEntry((toString(bg.caller) + p), br), IntegerEntry((toString(bg.caller) + q), be), ScriptTransfer(bg.caller, be, R)]
361367 }
362368
363369
364370
365-@Callable(be)
371+@Callable(bg)
366372 func claimAndStakeSWOP () = if (!(M))
367373 then throw("DApp is inactive at this moment")
368374 else {
369- let bi = aB()
370- let bb = ak(be.caller)
375+ let bk = aB()
376+ let bd = ak(bg.caller)
371377 let aj = ai()
372- let bz = aY(be.caller)
373- let bd = bz._1
374- let bc = bz._2
375- let bm = (bb + bc)
376- let bn = (bi + bc)
377- let bo = am(be.caller)
378- let bp = (bo + bc)
379- if ((bc == 0))
378+ let bB = ba(bg.caller)
379+ let bf = bB._1
380+ let be = bB._2
381+ let bo = (bd + be)
382+ let bp = (bk + be)
383+ let bq = am(bg.caller)
384+ let br = (bq + be)
385+ if ((be == 0))
380386 then throw("You have 0 available SWOP")
381- else [IntegerEntry((toString(be.caller) + i), bd), IntegerEntry(l, bn), IntegerEntry((toString(be.caller) + j), bm), IntegerEntry((toString(be.caller) + p), bp), IntegerEntry((toString(be.caller) + q), bc)]
387+ else [IntegerEntry((toString(bg.caller) + i), bf), IntegerEntry(l, bp), IntegerEntry((toString(bg.caller) + j), bo), IntegerEntry((toString(bg.caller) + p), br), IntegerEntry((toString(bg.caller) + q), be)]
382388 }
383389
384390
385391
386-@Callable(be)
387-func updateWeights (bA,bB,bC,bD,bE,bF) = if (!(M))
392+@Callable(bg)
393+func updateWeights (bC,bD,bE,bF,bG,bH) = if (!(M))
388394 then throw("DApp is inactive at this moment")
389395 else {
390- let bG = 10
391- if (!(containsElement([a, b, c, d, e], be.callerPublicKey)))
396+ let bI = 10
397+ let bJ = valueOrElse(getIntegerValue(this, A), 0)
398+ if (!(containsElement([a, b, c, d, e], bg.callerPublicKey)))
392399 then throw("Only admin can call this function")
393- else if (if ((size(bA) > bG))
400+ else if (if ((size(bC) > bI))
394401 then true
395- else (size(bC) > bG))
396- then throw(("Max amount of pool is " + toString(bG)))
397- else {
398- func bH (bI,bJ) = (bI + bJ)
402+ else (size(bE) > bI))
403+ then throw(("Max amount of pool is " + toString(bI)))
404+ else if ((bJ >= bG))
405+ then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
406+ else if ((height >= bG))
407+ then throw("rewardUpdateHeight <= totalRewardUpdateHeight")
408+ else if ((0 >= bG))
409+ then throw("0 >= rewardUpdateHeight ")
410+ else {
411+ func bK (bL,bM) = (bL + bM)
399412
400- func bK (bL,au) = {
401- let bM = value(indexOf(bA, au))
402- let bN = bB[bM]
403-IntegerEntry((au + w), bN) :: bL
404- }
413+ func bN (bO,au) = {
414+ let bP = aO(au)
415+ let bQ = aN(au)
416+ if ((bG != bQ))
417+ then if ((bQ == bJ))
418+ then {
419+ let bR = aO(au)
420+IntegerEntry((au + w), bR) :: bO
421+ }
422+ else nil
423+ else nil
424+ }
405425
406- func bO (bL,au) = {
407- let bM = value(indexOf(bC, au))
408- let bN = bD[bM]
409-IntegerEntry((au + v), bN) :: bL
410- }
426+ func bS (bO,au) = {
427+ let bT = value(indexOf(bE, au))
428+ let bR = bF[bT]
429+ if ((0 > bR))
430+ then throw("PoolReward < 0")
431+ else IntegerEntry((au + v), bR) :: bO
432+ }
411433
412- func bP (bL,au) = {
413- let bQ = bE
414-IntegerEntry((au + x), bQ) :: bL
415- }
434+ func bU (bO,au) = {
435+ let bV = bG
436+IntegerEntry((au + x), bV) :: bO
437+ }
416438
417- func bR (bS,bT,bF) = if ((bF == 0))
418- then if (if ((bS > T))
419- then true
420- else (bT > T))
421- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bF)) + " ") + toString(bS)) + " ") + toString(bT)))
422- else $Tuple3([IntegerEntry(K, bS)], [IntegerEntry(L, bT)], [IntegerEntry(B, bE)])
423- else if ((bF == 1))
424- then {
425- let bU = valueOrElse(getInteger(this, K), 0)
426- let bV = valueOrElse(getInteger(this, L), 0)
427- let bW = valueOrElse(getInteger(this, B), 0)
428- if (if (((bS + bU) > T))
429- then true
430- else ((bT + bV) > T))
431- then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bF)) + " ") + toString((bS + bU))) + " ") + toString((bT + bV))))
432- else if ((bW != bE))
433- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
434- else $Tuple3([IntegerEntry(K, (bS + bU))], [IntegerEntry(L, (bT + bV))], nil)
435- }
436- else if ((bF == 2))
437- then {
438- let bX = (valueOrElse(getInteger(this, K), 0) + bS)
439- let bY = (valueOrElse(getInteger(this, L), 0) + bT)
440- let bW = valueOrElse(getInteger(this, B), 0)
441- if (if ((bX != T))
439+ func bW (bX,bY,bH) = if ((bH == 0))
440+ then if (if ((bX > T))
442441 then true
443- else (bY != T))
444- then throw(((("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare; sumRewardPrevious: " + toString(bX)) + "; sumRewardCurrent: ") + toString(bY)))
445- else if ((bW != bE))
446- then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
447- else $Tuple3([IntegerEntry(K, bX)], [IntegerEntry(L, bY)], nil)
442+ else (bY > T))
443+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bH)) + " ") + toString(bX)) + " ") + toString(bY)))
444+ else $Tuple3([IntegerEntry(K, bX)], [IntegerEntry(L, bY)], [IntegerEntry(B, bG)])
445+ else if ((bH == 1))
446+ then {
447+ let bZ = valueOrElse(getInteger(this, K), 0)
448+ let ca = valueOrElse(getInteger(this, L), 0)
449+ let cb = valueOrElse(getInteger(this, B), 0)
450+ if (if (((bX + bZ) > T))
451+ then true
452+ else ((bY + ca) > T))
453+ then throw(((((("sumRewardPrevious > totalVoteShare or sumRewardCurrent > totalVoteShare - " + toString(bH)) + " ") + toString((bX + bZ))) + " ") + toString((bY + ca))))
454+ else if ((cb != bG))
455+ then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
456+ else $Tuple3([IntegerEntry(K, (bX + bZ))], [IntegerEntry(L, (bY + ca))], nil)
457+ }
458+ else if ((bH == 2))
459+ then {
460+ let cc = (valueOrElse(getInteger(this, K), 0) + bX)
461+ let cd = (valueOrElse(getInteger(this, L), 0) + bY)
462+ let cb = valueOrElse(getInteger(this, B), 0)
463+ if (if ((cc != T))
464+ then true
465+ else (cd != T))
466+ then throw("sumRewardPrevious != totalVoteShare or sumRewardCurrent != totalVoteShare")
467+ else if ((cb != bG))
468+ then throw("current rewardUpdateHeight != rewardUpdateHeightFirstPaginationEntry")
469+ else $Tuple3([IntegerEntry(K, cc)], [IntegerEntry(L, cd)], nil)
470+ }
471+ else throw("Incorrect pagination")
472+
473+ let ce = {
474+ let cf = bD
475+ let cg = size(cf)
476+ let ch = 0
477+ if ((cg == 0))
478+ then ch
479+ else {
480+ let ci = bK(ch, cf[0])
481+ if ((cg == 1))
482+ then ci
483+ else {
484+ let cj = bK(ci, cf[1])
485+ if ((cg == 2))
486+ then cj
487+ else {
488+ let ck = bK(cj, cf[2])
489+ if ((cg == 3))
490+ then ck
491+ else {
492+ let cl = bK(ck, cf[3])
493+ if ((cg == 4))
494+ then cl
495+ else {
496+ let cm = bK(cl, cf[4])
497+ if ((cg == 5))
498+ then cm
499+ else {
500+ let cn = bK(cm, cf[5])
501+ if ((cg == 6))
502+ then cn
503+ else {
504+ let co = bK(cn, cf[6])
505+ if ((cg == 7))
506+ then co
507+ else {
508+ let cp = bK(co, cf[7])
509+ if ((cg == 8))
510+ then cp
511+ else {
512+ let cq = bK(cp, cf[8])
513+ if ((cg == 9))
514+ then cq
515+ else {
516+ let cr = bK(cq, cf[9])
517+ if ((cg == 10))
518+ then cr
519+ else {
520+ let cs = bK(cr, cf[10])
521+ throw("List size exceed 10")
522+ }
523+ }
524+ }
525+ }
526+ }
527+ }
528+ }
529+ }
530+ }
531+ }
532+ }
448533 }
449- else throw("Incorrect pagination")
450-
451- let bZ = {
452- let ca = bB
453- let cb = size(ca)
454- let cc = 0
455- if ((cb == 0))
456- then cc
457- else {
458- let cd = bH(cc, ca[0])
459- if ((cb == 1))
460- then cd
534+ let ct = {
535+ let cu = bF
536+ let cv = size(cu)
537+ let cw = 0
538+ if ((cv == 0))
539+ then cw
540+ else {
541+ let cx = bK(cw, cu[0])
542+ if ((cv == 1))
543+ then cx
544+ else {
545+ let cy = bK(cx, cu[1])
546+ if ((cv == 2))
547+ then cy
548+ else {
549+ let cz = bK(cy, cu[2])
550+ if ((cv == 3))
551+ then cz
552+ else {
553+ let cA = bK(cz, cu[3])
554+ if ((cv == 4))
555+ then cA
556+ else {
557+ let cB = bK(cA, cu[4])
558+ if ((cv == 5))
559+ then cB
560+ else {
561+ let cC = bK(cB, cu[5])
562+ if ((cv == 6))
563+ then cC
564+ else {
565+ let cD = bK(cC, cu[6])
566+ if ((cv == 7))
567+ then cD
568+ else {
569+ let cE = bK(cD, cu[7])
570+ if ((cv == 8))
571+ then cE
572+ else {
573+ let cF = bK(cE, cu[8])
574+ if ((cv == 9))
575+ then cF
576+ else {
577+ let cG = bK(cF, cu[9])
578+ if ((cv == 10))
579+ then cG
580+ else {
581+ let cH = bK(cG, cu[10])
582+ throw("List size exceed 10")
583+ }
584+ }
585+ }
586+ }
587+ }
588+ }
589+ }
590+ }
591+ }
592+ }
593+ }
594+ }
595+ let cI = bW(ce, ct, bH)
596+ let cJ = cI._1
597+ let cK = cI._2
598+ let cb = cI._3
599+ let cL = if ((bH == 2))
600+ then [IntegerEntry(A, bG)]
601+ else [IntegerEntry(A, getIntegerValue(this, A))]
602+ if ((height > bG))
603+ then throw("rewardUpdateHeight < height")
461604 else {
462- let ce = bH(cd, ca[1])
463- if ((cb == 2))
464- then ce
465- else {
466- let cf = bH(ce, ca[2])
467- if ((cb == 3))
468- then cf
469- else {
470- let cg = bH(cf, ca[3])
471- if ((cb == 4))
472- then cg
473- else {
474- let ch = bH(cg, ca[4])
475- if ((cb == 5))
476- then ch
477- else {
478- let ci = bH(ch, ca[5])
479- if ((cb == 6))
480- then ci
481- else {
482- let cj = bH(ci, ca[6])
483- if ((cb == 7))
484- then cj
485- else {
486- let ck = bH(cj, ca[7])
487- if ((cb == 8))
488- then ck
489- else {
490- let cl = bH(ck, ca[8])
491- if ((cb == 9))
492- then cl
493- else {
494- let cm = bH(cl, ca[9])
495- if ((cb == 10))
496- then cm
497- else {
498- let cn = bH(cm, ca[10])
499- throw("List size exceed 10")
500- }
501- }
502- }
503- }
504- }
505- }
506- }
507- }
508- }
605+ let cM = {
606+ let cN = bC
607+ let cO = size(cN)
608+ let cP = nil
609+ if ((cO == 0))
610+ then cP
611+ else {
612+ let cQ = bN(cP, cN[0])
613+ if ((cO == 1))
614+ then cQ
615+ else {
616+ let cR = bN(cQ, cN[1])
617+ if ((cO == 2))
618+ then cR
619+ else {
620+ let cS = bN(cR, cN[2])
621+ if ((cO == 3))
622+ then cS
623+ else {
624+ let cT = bN(cS, cN[3])
625+ if ((cO == 4))
626+ then cT
627+ else {
628+ let cU = bN(cT, cN[4])
629+ if ((cO == 5))
630+ then cU
631+ else {
632+ let cV = bN(cU, cN[5])
633+ if ((cO == 6))
634+ then cV
635+ else {
636+ let cW = bN(cV, cN[6])
637+ if ((cO == 7))
638+ then cW
639+ else {
640+ let cX = bN(cW, cN[7])
641+ if ((cO == 8))
642+ then cX
643+ else {
644+ let cY = bN(cX, cN[8])
645+ if ((cO == 9))
646+ then cY
647+ else {
648+ let cZ = bN(cY, cN[9])
649+ if ((cO == 10))
650+ then cZ
651+ else {
652+ let da = bN(cZ, cN[10])
653+ throw("List size exceed 10")
654+ }
655+ }
656+ }
657+ }
658+ }
659+ }
660+ }
661+ }
662+ }
663+ }
664+ }
665+ }
666+ let db = {
667+ let dc = bE
668+ let dd = size(dc)
669+ let de = nil
670+ if ((dd == 0))
671+ then de
672+ else {
673+ let df = bS(de, dc[0])
674+ if ((dd == 1))
675+ then df
676+ else {
677+ let dg = bS(df, dc[1])
678+ if ((dd == 2))
679+ then dg
680+ else {
681+ let dh = bS(dg, dc[2])
682+ if ((dd == 3))
683+ then dh
684+ else {
685+ let di = bS(dh, dc[3])
686+ if ((dd == 4))
687+ then di
688+ else {
689+ let dj = bS(di, dc[4])
690+ if ((dd == 5))
691+ then dj
692+ else {
693+ let dk = bS(dj, dc[5])
694+ if ((dd == 6))
695+ then dk
696+ else {
697+ let dl = bS(dk, dc[6])
698+ if ((dd == 7))
699+ then dl
700+ else {
701+ let dm = bS(dl, dc[7])
702+ if ((dd == 8))
703+ then dm
704+ else {
705+ let dn = bS(dm, dc[8])
706+ if ((dd == 9))
707+ then dn
708+ else {
709+ let do = bS(dn, dc[9])
710+ if ((dd == 10))
711+ then do
712+ else {
713+ let dp = bS(do, dc[10])
714+ throw("List size exceed 10")
715+ }
716+ }
717+ }
718+ }
719+ }
720+ }
721+ }
722+ }
723+ }
724+ }
725+ }
726+ }
727+ let dq = {
728+ let dr = bE
729+ let ds = size(dr)
730+ let dt = nil
731+ if ((ds == 0))
732+ then dt
733+ else {
734+ let du = bU(dt, dr[0])
735+ if ((ds == 1))
736+ then du
737+ else {
738+ let dv = bU(du, dr[1])
739+ if ((ds == 2))
740+ then dv
741+ else {
742+ let dw = bU(dv, dr[2])
743+ if ((ds == 3))
744+ then dw
745+ else {
746+ let dx = bU(dw, dr[3])
747+ if ((ds == 4))
748+ then dx
749+ else {
750+ let dy = bU(dx, dr[4])
751+ if ((ds == 5))
752+ then dy
753+ else {
754+ let dz = bU(dy, dr[5])
755+ if ((ds == 6))
756+ then dz
757+ else {
758+ let dA = bU(dz, dr[6])
759+ if ((ds == 7))
760+ then dA
761+ else {
762+ let dB = bU(dA, dr[7])
763+ if ((ds == 8))
764+ then dB
765+ else {
766+ let dC = bU(dB, dr[8])
767+ if ((ds == 9))
768+ then dC
769+ else {
770+ let dD = bU(dC, dr[9])
771+ if ((ds == 10))
772+ then dD
773+ else {
774+ let dE = bU(dD, dr[10])
775+ throw("List size exceed 10")
776+ }
777+ }
778+ }
779+ }
780+ }
781+ }
782+ }
783+ }
784+ }
785+ }
786+ }
787+ }
788+ ((((((cM ++ db) ++ dq) ++ cJ) ++ cK) ++ cL) ++ cb)
509789 }
510790 }
511- }
512- let co = {
513- let cp = bD
514- let cq = size(cp)
515- let cr = 0
516- if ((cq == 0))
517- then cr
518- else {
519- let cs = bH(cr, cp[0])
520- if ((cq == 1))
521- then cs
522- else {
523- let ct = bH(cs, cp[1])
524- if ((cq == 2))
525- then ct
526- else {
527- let cu = bH(ct, cp[2])
528- if ((cq == 3))
529- then cu
530- else {
531- let cv = bH(cu, cp[3])
532- if ((cq == 4))
533- then cv
534- else {
535- let cw = bH(cv, cp[4])
536- if ((cq == 5))
537- then cw
538- else {
539- let cx = bH(cw, cp[5])
540- if ((cq == 6))
541- then cx
542- else {
543- let cy = bH(cx, cp[6])
544- if ((cq == 7))
545- then cy
546- else {
547- let cz = bH(cy, cp[7])
548- if ((cq == 8))
549- then cz
550- else {
551- let cA = bH(cz, cp[8])
552- if ((cq == 9))
553- then cA
554- else {
555- let cB = bH(cA, cp[9])
556- if ((cq == 10))
557- then cB
558- else {
559- let cC = bH(cB, cp[10])
560- throw("List size exceed 10")
561- }
562- }
563- }
564- }
565- }
566- }
567- }
568- }
569- }
570- }
571- }
572- }
573- let cD = bR(bZ, co, bF)
574- let cE = cD._1
575- let cF = cD._2
576- let bW = cD._3
577- let cG = if ((bF == 2))
578- then [IntegerEntry(A, bE)]
579- else [IntegerEntry(A, getIntegerValue(this, A))]
580- if ((height > bE))
581- then throw("rewardUpdateHeight < height")
582- else {
583- let cH = {
584- let cI = bA
585- let cJ = size(cI)
586- let cK = nil
587- if ((cJ == 0))
588- then cK
589- else {
590- let cL = bK(cK, cI[0])
591- if ((cJ == 1))
592- then cL
593- else {
594- let cM = bK(cL, cI[1])
595- if ((cJ == 2))
596- then cM
597- else {
598- let cN = bK(cM, cI[2])
599- if ((cJ == 3))
600- then cN
601- else {
602- let cO = bK(cN, cI[3])
603- if ((cJ == 4))
604- then cO
605- else {
606- let cP = bK(cO, cI[4])
607- if ((cJ == 5))
608- then cP
609- else {
610- let cQ = bK(cP, cI[5])
611- if ((cJ == 6))
612- then cQ
613- else {
614- let cR = bK(cQ, cI[6])
615- if ((cJ == 7))
616- then cR
617- else {
618- let cS = bK(cR, cI[7])
619- if ((cJ == 8))
620- then cS
621- else {
622- let cT = bK(cS, cI[8])
623- if ((cJ == 9))
624- then cT
625- else {
626- let cU = bK(cT, cI[9])
627- if ((cJ == 10))
628- then cU
629- else {
630- let cV = bK(cU, cI[10])
631- throw("List size exceed 10")
632- }
633- }
634- }
635- }
636- }
637- }
638- }
639- }
640- }
641- }
642- }
643- }
644- let cW = {
645- let cX = bC
646- let cY = size(cX)
647- let cZ = nil
648- if ((cY == 0))
649- then cZ
650- else {
651- let da = bO(cZ, cX[0])
652- if ((cY == 1))
653- then da
654- else {
655- let db = bO(da, cX[1])
656- if ((cY == 2))
657- then db
658- else {
659- let dc = bO(db, cX[2])
660- if ((cY == 3))
661- then dc
662- else {
663- let dd = bO(dc, cX[3])
664- if ((cY == 4))
665- then dd
666- else {
667- let de = bO(dd, cX[4])
668- if ((cY == 5))
669- then de
670- else {
671- let df = bO(de, cX[5])
672- if ((cY == 6))
673- then df
674- else {
675- let dg = bO(df, cX[6])
676- if ((cY == 7))
677- then dg
678- else {
679- let dh = bO(dg, cX[7])
680- if ((cY == 8))
681- then dh
682- else {
683- let di = bO(dh, cX[8])
684- if ((cY == 9))
685- then di
686- else {
687- let dj = bO(di, cX[9])
688- if ((cY == 10))
689- then dj
690- else {
691- let dk = bO(dj, cX[10])
692- throw("List size exceed 10")
693- }
694- }
695- }
696- }
697- }
698- }
699- }
700- }
701- }
702- }
703- }
704- }
705- let dl = {
706- let dm = bC
707- let dn = size(dm)
708- let do = nil
709- if ((dn == 0))
710- then do
711- else {
712- let dp = bP(do, dm[0])
713- if ((dn == 1))
714- then dp
715- else {
716- let dq = bP(dp, dm[1])
717- if ((dn == 2))
718- then dq
719- else {
720- let dr = bP(dq, dm[2])
721- if ((dn == 3))
722- then dr
723- else {
724- let ds = bP(dr, dm[3])
725- if ((dn == 4))
726- then ds
727- else {
728- let dt = bP(ds, dm[4])
729- if ((dn == 5))
730- then dt
731- else {
732- let du = bP(dt, dm[5])
733- if ((dn == 6))
734- then du
735- else {
736- let dv = bP(du, dm[6])
737- if ((dn == 7))
738- then dv
739- else {
740- let dw = bP(dv, dm[7])
741- if ((dn == 8))
742- then dw
743- else {
744- let dx = bP(dw, dm[8])
745- if ((dn == 9))
746- then dx
747- else {
748- let dy = bP(dx, dm[9])
749- if ((dn == 10))
750- then dy
751- else {
752- let dz = bP(dy, dm[10])
753- throw("List size exceed 10")
754- }
755- }
756- }
757- }
758- }
759- }
760- }
761- }
762- }
763- }
764- }
765- }
766- ((((((cH ++ cW) ++ dl) ++ cE) ++ cF) ++ cG) ++ bW)
767- }
768- }
769791 }
770792
771793
772794
773-@Callable(be)
795+@Callable(bg)
774796 func shutdown () = if (!(M))
775797 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, g), "the cause wasn't specified")))
776- else if (!(containsElement([a, b, c, d], be.callerPublicKey)))
798+ else if (!(containsElement([a, b, c, d], bg.callerPublicKey)))
777799 then throw("Only admin can call this function")
778800 else af("Paused by admin")
779801
780802
781803
782-@Callable(be)
804+@Callable(bg)
783805 func activate () = if (M)
784806 then throw("DApp is already active")
785- else if (!(containsElement([a, b, c, d], be.callerPublicKey)))
807+ else if (!(containsElement([a, b, c, d], bg.callerPublicKey)))
786808 then throw("Only admin can call this function")
787809 else [BooleanEntry(f, true), DeleteEntry(g)]
788810
789811
790-@Verifier(dA)
791-func dB () = sigVerify(dA.bodyBytes, dA.proofs[0], dA.senderPublicKey)
812+@Verifier(dF)
813+func dG () = sigVerify(dF.bodyBytes, dF.proofs[0], dF.senderPublicKey)
792814

github/deemru/w8io/169f3d6 
148.44 ms