tx · 47i48zBdw8GQsdMWwJhT8PWsHfHj3fJtLUJ9jPXWBikR

3PMf35RXPcJWV7uSmaTMHk8PbEaJyBfsaYE:  -0.01440000 Waves

2021.05.26 21:24 [2607646] smart account 3PMf35RXPcJWV7uSmaTMHk8PbEaJyBfsaYE > SELF 0.00000000 Waves

{ "type": 13, "id": "47i48zBdw8GQsdMWwJhT8PWsHfHj3fJtLUJ9jPXWBikR", "fee": 1440000, "feeAssetId": null, "timestamp": 1622053488101, "version": 2, "chainId": 87, "sender": "3PMf35RXPcJWV7uSmaTMHk8PbEaJyBfsaYE", "senderPublicKey": "FFDorDp8bC9dyUK2w8hYPWPVEcbbk9zYkpHn3gcq9svn", "proofs": [ "27wZ6TojLSx3Vve2j6Awjfro6HMLJ2RZqJarSN4d2bS5YcohiiuvyLwp5yw8fLWd8xxeyWhRHWvgkhBUsrPWu2TB" ], "script": "base64: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AABnAAAAAgUAAAAQVXNlclJlZnNOdW1WYWx1ZQUAAAAGbWlucmVmCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAhVc2VyUHVzaAUAAAANVXNlclB1c2h2YWx1ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAASSGlnaGVzdFB1c2hBZGRyZXNzCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAC0hpZ2hlc3RQdXNoBQAAAA1Vc2VyUHVzaHZhbHVlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABFVc2VyTGFzdFB1c2hCbG9jawUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAtQcml6ZUhlaWdodAUAAAATUHJpemVIZWlnaHRWYWx1ZU5ldwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAFRGVsYXkFAAAACE5ld0RlbGF5CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAZEZXZCb3gFAAAADERldkJveEFtb3VudAUAAAADbmlsCQAAAgAAAAECAAAAT1lvdSBoYXZlIHRvIGhhdmUgMTAgcmVmZXJyYWxzIGFscmVhZHkgc3Rha2luZyBmb3IgYSBtaW5pbXVtIG9mIDEwIGRheXMsIHRvIHB1c2gEAAAAA3R4dAMJAABmAAAAAgUAAAAQSGlnaGVzdFB1c2hWYWx1ZQAAAAAAAAAAAAIAAABPWW91IGNhbm5vdCBQdXNoIGFmdGVyIHJld2FyZGluZyBQcml6ZSBhbmQgYmVmb3JlIE9uZSBkYXkgaGFzIHBhc3NlZCBhZnRlciBhd2FyZAIAAAAQVW5leHBlY3RlZCBlcnJvcgkAAAIAAAABBQAAAAN0eHQJAAACAAAAAQIAAABOWW91IGNhbm5vdCBwdXNoIGJlZm9yZSB0aGUgcmV3YXJkIGlzIHVubG9ja2VkLCBubyByZXdhcmQgaGFzIGJlZW4gZGV0ZWN0ZWQgeWV0CQAAAgAAAAECAAAAQ1lvdXIgcHVzaCBpbiB0cm9pa2FuIHRva2VuLCBzaG91bGQgYmUgSGlnaGVyIHRoYW4gbGFzdCBIaWdoZXN0IFB1c2gJAAACAAAAAQIAAABYVG8gYmUgYWJsZSB0byBwYXJ0aWNpcGF0ZSBpbiBQdXNoaW5nIGZvciB0aGUgcmV3YXJkIHlvdSBuZWVkIHRvIFN0YWtlIEFTSU1JcyBpbiB0aGUgZEFwcAkAAAIAAAABAgAAADVZb3UgaGF2ZSB0byB3YWl0IDEwbWluIGJlZm9yZSB5b3UgY2FuIG1ha2UgYSBuZXcgUHVzaAkAAAIAAAABCQABLAAAAAICAAAAOllvdXIgUHVzaCBkb3Qgbm90IGNvbXBseSBvbmUgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOiACAAAAXTEuIFBvc2l0aXZlIFZhbHVlIGZvciBQdXNoIGluIFRyb2lrYW4gVG9rZQogMi4gTXVzdCBTdGFrZWQgQVNJTUkgVG9rZW4gZm9yIGEgbWluaW11bSBvZiB3ZWVrIAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAB2Q2FuIGRlcG9zaXQgb25seSBwb3NpdGl2ZSBhbW91bnRzIG9mIFRyb2lrYW4gVG9rZW4sIG9yIENoZWNrIHlvdXIgV2FsbGV0IGJhbGFuY2UgaW4gVHJvaWthLCB5b3Ugc2hvdWxkIGhhdmUgbW9yZSB0aGFuIAkAAaQAAAABBQAAABBIaWdoZXN0UHVzaFZhbHVlAgAAAAggdG8gcHVzaAkAAAIAAAABAgAAAKRZb3UgZG8gbm90IGhhdmUgZW5vdWdoIFRyb2lrYW4gVG9rZW5zIGluIHlvdXIgV2FsbGV0IEJhbGFuY2UsIFBsZWFzZSBIYXJ2ZXN0IGlmIHlvdSBoYXZlIGVhcm5lZCBUcm9pa2FuIHdhbGxldCBvciB0cmFuc2ZlciB0byB5b3VyIHdhbGxldCBuZWNlc3NhcnkgVHJvaWthbiBhbW91bnQgIQAAAAFpAQAAAAVTdGFrZQAAAAAEAAAAC1N0YWtlZFRva2VuAQAAACDJ87corWdBF00yBjV0LGSEbO+I4qSbJ8cU6qkf0I2fVAQAAAALR292ZXJuVG9rZW4BAAAAILaKRSB1rUd8d97dJwjKWv3ewXb6FGo0UDf32gwrBHkwBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAMDCQAAZgAAAAIIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAAAACQAAAAAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAALU3Rha2VkVG9rZW4HBAAAAB9Hb3Zlcm5Ub2tlblNtYXJ0Q29udHJhY3RCYWxhbmNlCQAD6wAAAAIFAAAABHRoaXMFAAAAC0dvdmVyblRva2VuBAAAAAdVc2VyQVBZCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAEX0FQWQQAAAAIVXNlclB1c2gJAAEsAAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAgAAAAVfUHVzaAQAAAASVXNlclN0YWtlZFRva2VuS2V5CQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAIX1N0YWtpbmcEAAAAElVzZXJHb3Zlcm5Ub2tlbktleQkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAACV9FYXJuaW5ncwQAAAASVXNlckxhc3RTdGFrZUJsb2NrCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAATX1VzZXJMYXN0U3Rha2VCbG9jawQAAAAYVXNlclN0YWtlVHJhbnNhY3Rpb25zS2V5CQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAATX1N0YWtlZFRyYW5zYWN0aW9ucwQAAAANQWRkcmVzc0hlaWdodAkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAADF9Qcml6ZUhlaWdodAQAAAAVVXNlclN0YWtlVHJhbnNhY3Rpb25zBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAGFVzZXJTdGFrZVRyYW5zYWN0aW9uc0tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAA1Vc2VyUHVzaFZhbHVlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAACFVzZXJQdXNoAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAElVzZXJMYXN0U3Rha2VCbG9jawMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABpVc2VyTGFzdFN0YWtlQmxvY2tOZXdWYWx1ZQMJAAAAAAAAAgUAAAAXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUAAAAAAAAAAAAFAAAABmhlaWdodAUAAAAXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUEAAAAGE5ld1VzZXJTdGFrZVRyYW5zYWN0aW9ucwkAAGQAAAACBQAAABVVc2VyU3Rha2VUcmFuc2FjdGlvbnMAAAAAAAAAAAEEAAAAGGN1cnJlbnRBbW91bnRTdGFrZWRUb2tlbgQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABJVc2VyU3Rha2VkVG9rZW5LZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4JAABkAAAAAgUAAAAYY3VycmVudEFtb3VudFN0YWtlZFRva2VuCAUAAAADcG10AAAABmFtb3VudAQAAAAaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UJAAPrAAAAAgUAAAAEdGhpcwUAAAALU3Rha2VkVG9rZW4EAAAADFN0YWtlQmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAxTdGFrZUJhbGFuY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAASU3Rha2VCYWxhbmNlQW1vdW50CQAAZAAAAAIFAAAADFN0YWtlQmFsYW5jZQgFAAAAA3BtdAAAAAZhbW91bnQEAAAAC1ByaXplQW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAB0Z1bmRCb3gDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAYY3VycmVudEFtb3VudEdvdmVyblRva2VuBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAElVzZXJHb3Zlcm5Ub2tlbktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAALUHJpemVIZWlnaHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAQUHJpemVIZWlnaHRWYWx1ZQMDCQAAAAAAAAIFAAAAFUhlaWdodFRyYW5zYWN0RnVuZEJveAAAAAAAAAAAAAkAAAAAAAACBQAAAAtQcml6ZUFtb3VudAAAAAAAAAAAAAcAAAAAAAAAAAADAwkAAAAAAAACBQAAABVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAAAAAAAAAAJAQAAAAIhPQAAAAIFAAAAC1ByaXplQW1vdW50AAAAAAAAAAAABwUAAAAGaGVpZ2h0AwMJAQAAAAIhPQAAAAIFAAAAFUhlaWdodFRyYW5zYWN0RnVuZEJveAAAAAAAAAAAAAkBAAAAAiE9AAAAAgUAAAALUHJpemVBbW91bnQAAAAAAAAAAAAHBQAAABVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAAAAAAAAAADCQAAZgAAAAIAAAAAAAX14QAFAAAAH0dvdmVyblRva2VuU21hcnRDb250cmFjdEJhbGFuY2UJAAACAAAAAQIAAAA+Tm8gZW5vdWdoIEdvdmVyblRva2VuIEluIENvbnRyYWN0LCBQbGVhc2UgZGVwb3NpdCBHb3Zlcm5Ub2tlbnMEAAAABlJld2FyZAMJAAAAAAAAAgUAAAAMU3Rha2VCYWxhbmNlAAAAAAAAAAAAAAAAAAAAACcQAwkAAGYAAAACBQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMAAAAAAAAAAAoJAABoAAAAAgkAAGgAAAACAAAAAAAAACcQBQAAABhOZXdVc2VyU3Rha2VUcmFuc2FjdGlvbnMJAABkAAAAAgAAAAAAAAAAAQkAAGkAAAACBQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgUAAAAMU3Rha2VCYWxhbmNlCQAAaAAAAAIAAAAAAAAAJxAJAABkAAAAAgAAAAAAAAAAAQkAAGkAAAACBQAAABRuZXdBbW91bnRTdGFrZWRUb2tlbgUAAAAMU3Rha2VCYWxhbmNlBAAAAAxVc2VyQVBZVmFsdWUDCQAAZgAAAAIFAAAAGGN1cnJlbnRBbW91bnRHb3Zlcm5Ub2tlbgAAAAAAAAAAAAkAAGkAAAACCQAAaAAAAAIAAAAAAAAAAGQFAAAABlJld2FyZAUAAAAYY3VycmVudEFtb3VudEdvdmVyblRva2VuAAAAAAAAAAAABAAAABRuZXdBbW91bnRHb3Zlcm5Ub2tlbgkAAGQAAAACBQAAABhjdXJyZW50QW1vdW50R292ZXJuVG9rZW4FAAAABlJld2FyZAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAElVzZXJHb3Zlcm5Ub2tlbktleQUAAAAUbmV3QW1vdW50R292ZXJuVG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAElVzZXJTdGFrZWRUb2tlbktleQUAAAAUbmV3QW1vdW50U3Rha2VkVG9rZW4JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAGFVzZXJTdGFrZVRyYW5zYWN0aW9uc0tleQUAAAAYTmV3VXNlclN0YWtlVHJhbnNhY3Rpb25zCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAxTdGFrZUJhbGFuY2UFAAAAElN0YWtlQmFsYW5jZUFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALUHJpemVIZWlnaHQFAAAAEFByaXplSGVpZ2h0VmFsdWUJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAB1VzZXJBUFkFAAAADFVzZXJBUFlWYWx1ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckxhc3RTdGFrZUJsb2NrBQAAABpVc2VyTGFzdFN0YWtlQmxvY2tOZXdWYWx1ZQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAIVXNlclB1c2gFAAAADVVzZXJQdXNoVmFsdWUFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABlJld2FyZAUAAAALR292ZXJuVG9rZW4FAAAAA25pbAkAAAIAAAABAgAAABtDYW4gZGVwb3NpdCBvbmx5IFN0YWtlVG9rZW4AAAABaQEAAAATV2l0aGRyYXdTdGFrZWRGdW5kcwAAAAEAAAAGYW1vdW50BAAAAAtTdGFrZWRUb2tlbgEAAAAgyfO3KK1nQRdNMgY1dCxkhGzviOKkmyfHFOqpH9CNn1QEAAAAC0dvdmVyblRva2VuAQAAACC2ikUgda1HfHfe3ScIylr93sF2+hRqNFA399oMKwR5MAQAAAASVXNlckxhc3RTdGFrZUJsb2NrCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAATX1VzZXJMYXN0U3Rha2VCbG9jawQAAAASVXNlclN0YWtlZFRva2VuS2V5CQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAIX1N0YWtpbmcEAAAAElVzZXJHb3Zlcm5Ub2tlbktleQkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAABXwkAAlgAAAABBQAAAAtHb3Zlcm5Ub2tlbgQAAAAaQ29udHJhY3RXYWxsZXRTdGFrZUJhbGFuY2UJAAPrAAAAAgUAAAAEdGhpcwUAAAALU3Rha2VkVG9rZW4EAAAAF1VzZXJMYXN0U3Rha2VCbG9ja1ZhbHVlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAElVzZXJMYXN0U3Rha2VCbG9jawMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAxTdGFrZUJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAMU3Rha2VCYWxhbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAC1ByaXplQW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAB0Z1bmRCb3gDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAC1ByaXplSGVpZ2h0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEFByaXplSGVpZ2h0VmFsdWUDAwkAAAAAAAACBQAAABVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAAAAAAAAAAJAAAAAAAAAgUAAAALUHJpemVBbW91bnQAAAAAAAAAAAAHAAAAAAAAAAAAAwMJAAAAAAAAAgUAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAAAAAAAAAACQEAAAACIT0AAAACBQAAAAtQcml6ZUFtb3VudAAAAAAAAAAAAAcFAAAABmhlaWdodAMDCQEAAAACIT0AAAACBQAAABVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAAAAAAAAAAJAQAAAAIhPQAAAAIFAAAAC1ByaXplQW1vdW50AAAAAAAAAAAABwUAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAAAAAAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAASVXNlclN0YWtlZFRva2VuS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACW5ld0Ftb3VudAkAAGUAAAACBQAAAA1jdXJyZW50QW1vdW50BQAAAAZhbW91bnQEAAAAElN0YWtlQmFsYW5jZUFtb3VudAkAAGUAAAACBQAAAAxTdGFrZUJhbGFuY2UFAAAABmFtb3VudAQAAAAaVXNlckxhc3RTdGFrZUJsb2NrTmV3VmFsdWUDCQAAAAAAAAIFAAAAElN0YWtlQmFsYW5jZUFtb3VudAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAXVXNlckxhc3RTdGFrZUJsb2NrVmFsdWUDCQAAZgAAAAIAAAAAAAAAAAAFAAAABmFtb3VudAkAAAIAAAABAgAAAB5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQAAZgAAAAIAAAAAAAAAAAAFAAAACW5ld0Ftb3VudAkAAAIAAAABCQABLAAAAAICAAAAQVVzZXIgY2Fubm90IHdpdGhkcmF3IG1vcmUgdGhhbiBkZXBvc2l0ZWQgZnVuZHMsIFlvdXIgZGVwb3NpdCBpczogCQABpAAAAAEJAABpAAAAAgUAAAANY3VycmVudEFtb3VudAAAAAAABfXhAAMJAABmAAAAAgAAAAAABfXhAAkAA+sAAAACBQAAAAR0aGlzBQAAAAtHb3Zlcm5Ub2tlbgkAAAIAAAABCQABLAAAAAICAAAAH05vdCBlbm91Z2ggVHJvaWthIEluIENvbnRyYWN0OiAJAAGkAAAAAQkAAGkAAAACCQAD6wAAAAIFAAAABHRoaXMFAAAAC0dvdmVyblRva2VuAAAAAAAF9eEACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAASVXNlckdvdmVyblRva2VuS2V5AAAAAAAF9eEACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABJVc2VyU3Rha2VkVG9rZW5LZXkFAAAACW5ld0Ftb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAMU3Rha2VCYWxhbmNlBQAAABJTdGFrZUJhbGFuY2VBbW91bnQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAC1ByaXplSGVpZ2h0BQAAABBQcml6ZUhlaWdodFZhbHVlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABJVc2VyTGFzdFN0YWtlQmxvY2sFAAAAGlVzZXJMYXN0U3Rha2VCbG9ja05ld1ZhbHVlBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAAF9eEABQAAAAtHb3Zlcm5Ub2tlbgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAABmFtb3VudAUAAAALU3Rha2VkVG9rZW4FAAAAA25pbAAAAAFpAQAAABNIYXJ2ZXN0R292ZXJuVG9pa2VuAAAAAQAAAAZhbW91bnQEAAAAC1N0YWtlZFRva2VuAQAAACDJ87corWdBF00yBjV0LGSEbO+I4qSbJ8cU6qkf0I2fVAQAAAALR292ZXJuVG9rZW4BAAAAILaKRSB1rUd8d97dJwjKWv3ewXb6FGo0UDf32gwrBHkwBAAAABpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkAA+sAAAACBQAAAAR0aGlzBQAAAAtTdGFrZWRUb2tlbgQAAAASVXNlckdvdmVyblRva2VuS2V5CQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAJX0Vhcm5pbmdzBAAAAAxTdGFrZUJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAMU3Rha2VCYWxhbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAC1ByaXplQW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAB0Z1bmRCb3gDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAC1ByaXplSGVpZ2h0AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAEFByaXplSGVpZ2h0VmFsdWUDAwkAAAAAAAACBQAAABVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAAAAAAAAAAJAAAAAAAAAgUAAAALUHJpemVBbW91bnQAAAAAAAAAAAAHAAAAAAAAAAAAAwMJAAAAAAAAAgUAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAAAAAAAAAACQEAAAACIT0AAAACBQAAAAtQcml6ZUFtb3VudAAAAAAAAAAAAAcFAAAABmhlaWdodAMDCQEAAAACIT0AAAACBQAAABVIZWlnaHRUcmFuc2FjdEZ1bmRCb3gAAAAAAAAAAAAJAQAAAAIhPQAAAAIFAAAAC1ByaXplQW1vdW50AAAAAAAAAAAABwUAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAAAAAAAAAABAAAAApjdXJyZW50S2V5CQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAADWN1cnJlbnRBbW91bnQEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAASVXNlckdvdmVyblRva2VuS2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAACW5ld0Ftb3VudAkAAGUAAAACBQAAAA1jdXJyZW50QW1vdW50BQAAAAZhbW91bnQDCQAAZgAAAAIAAAAAAAAAAAAFAAAABmFtb3VudAkAAAIAAAABAgAAAB5DYW4ndCB3aXRoZHJhdyBuZWdhdGl2ZSBhbW91bnQDCQAAZgAAAAIAAAAAAAAAAAAFAAAACW5ld0Ftb3VudAkAAAIAAAABCQABLAAAAAICAAAAQVVzZXIgY2Fubm90IHdpdGhkcmF3IG1vcmUgdGhhbiBkZXBvc2l0ZWQgZnVuZHMsIFlvdXIgZGVwb3NpdCBpczogCQABpAAAAAEJAABpAAAAAgUAAAANY3VycmVudEFtb3VudAAAAAAABfXhAAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAElVzZXJHb3Zlcm5Ub2tlbktleQUAAAAJbmV3QW1vdW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAtQcml6ZUhlaWdodAUAAAAQUHJpemVIZWlnaHRWYWx1ZQUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgUAAAAGYW1vdW50BQAAAAtHb3Zlcm5Ub2tlbgUAAAADbmlsAAAAAWkBAAAACmRlbGF5cHJpemUAAAAABAAAAAtTdGFrZWRUb2tlbgEAAAAgyfO3KK1nQRdNMgY1dCxkhGzviOKkmyfHFOqpH9CNn1QEAAAAC0dvdmVyblRva2VuAQAAACC2ikUgda1HfHfe3ScIylr93sF2+hRqNFA399oMKwR5MAQAAAAJRGVsYXlEYXlzAAAAAAAAAAABBAAAABJVc2VyR292ZXJuVG9rZW5LZXkJAAEsAAAAAgkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAAAV8JAAJYAAAAAQUAAAALR292ZXJuVG9rZW4EAAAAGFVzZXJXYWxsZXRTR292ZXJuQmFsYW5jZQkAA+sAAAACCQEAAAAHQWRkcmVzcwAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMFAAAAC0dvdmVyblRva2VuBAAAABpDb250cmFjdFdhbGxldFN0YWtlQmFsYW5jZQkAA+sAAAACBQAAAAR0aGlzBQAAAAtTdGFrZWRUb2tlbgQAAAAMU3Rha2VCYWxhbmNlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAADFN0YWtlQmFsYW5jZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAtQcml6ZUFtb3VudAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAdGdW5kQm94AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAFUhlaWdodFRyYW5zYWN0RnVuZEJveAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAtQcml6ZUhlaWdodAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABBQcml6ZUhlaWdodFZhbHVlAwMJAAAAAAAAAgUAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAAAAAAAAAACQAAAAAAAAIFAAAAC1ByaXplQW1vdW50AAAAAAAAAAAABwAAAAAAAAAAAAMDCQAAAAAAAAIFAAAAFUhlaWdodFRyYW5zYWN0RnVuZEJveAAAAAAAAAAAAAkBAAAAAiE9AAAAAgUAAAALUHJpemVBbW91bnQAAAAAAAAAAAAHBQAAAAZoZWlnaHQDAwkBAAAAAiE9AAAAAgUAAAAVSGVpZ2h0VHJhbnNhY3RGdW5kQm94AAAAAAAAAAAACQEAAAACIT0AAAACBQAAAAtQcml6ZUFtb3VudAAAAAAAAAAAAAcFAAAAFUhlaWdodFRyYW5zYWN0RnVuZEJveAAAAAAAAAAAAAQAAAALQWN0dWFsRGVsYXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAFRGVsYXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAPQWN0dWFsRGVsYXlDb3N0BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAACURlbGF5Q29zdAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAKBAAAAANwbXQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAANRGV2Qm94QmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAZEZXZCb3gDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAMDCQEAAAAJaXNEZWZpbmVkAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkCQAAAAAAAAIJAQAAAAdleHRyYWN0AAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBQAAAAtHb3Zlcm5Ub2tlbgcDCQAAZgAAAAIFAAAAC1ByaXplQW1vdW50AAAAAAAAAAAABAAAABVVc2VyR292ZXJuVG9rZW5BbW91bnQIBQAAAANwbXQAAAAGYW1vdW50BAAAAAxEZXZCb3hBbW91bnQJAABkAAAAAgUAAAANRGV2Qm94QmFsYW5jZQkAAGkAAAACCQAAaAAAAAIIBQAAAANwbXQAAAAGYW1vdW50AAAAAAAAAAAFAAAAAAAAAAPoBAAAAAxOZXdEZWxheUNvc3QDCQAAAAAAAAIFAAAAD0FjdHVhbERlbGF5Q29zdAAAAAAAAAAAAAAAAAAAO5rKAAkAAGgAAAACAAAAAAAAAAACBQAAAA9BY3R1YWxEZWxheUNvc3QDCQAAZwAAAAIFAAAAFVVzZXJHb3Zlcm5Ub2tlbkFtb3VudAUAAAAMTmV3RGVsYXlDb3N0BAAAAAhOZXdEZWxheQkAAGQAAAACBQAAAAtBY3R1YWxEZWxheQkAAGgAAAACAAAAAAAAAAWgBQAAAAlEZWxheURheXMJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAABURlbGF5BQAAAAhOZXdEZWxheQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAJRGVsYXlDb3N0BQAAAAxOZXdEZWxheUNvc3QJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAAC1ByaXplSGVpZ2h0BQAAABBQcml6ZUhlaWdodFZhbHVlCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAZEZXZCb3gFAAAADERldkJveEFtb3VudAUAAAADbmlsCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAElUbyBkZWxheSB0aGUgcmVsZWFzZSBvZiB0aGUgcmV3YXJkIE9ORSBEQVkgbGF0ZXIgdGhhbiBleHBlY3RlZCwgeW91IG5lZWQgCQABpAAAAAEFAAAADE5ld0RlbGF5Q29zdAIAAAAHVFJPSUtBcwkAAAIAAAABAgAAAF5Zb3UgY2Fubm90IGRlbGF5IHRoZSByZXdhcmQgYmVmb3JlIHJld2FyZCBpcyByZWNlaXZlZCEgUGxlYXNlIHdhaXQgdW50aWwgYSByZXdhcmQgaXMgYXZhaWxhYmxlCQAAAgAAAAECAAAAKUNhbiBVc2Ugb25seSBUcm9pa2EgVG9rZW4gdG8gRGVsYXkgUmV3YXJkAAAAAWkBAAAACkNsYWltUHJpemUAAAAABAAAAAtTdGFrZWRUb2tlbgEAAAAgyfO3KK1nQRdNMgY1dCxkhGzviOKkmyfHFOqpH9CNn1QEAAAAC0dvdmVyblRva2VuAQAAACC2ikUgda1HfHfe3ScIylr93sF2+hRqNFA399oMKwR5MAQAAAASVXNlclN0YWtlZFRva2VuS2V5CQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAIX1N0YWtpbmcEAAAACFVzZXJQdXNoCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAFX1B1c2gEAAAAElVzZXJMYXN0U3Rha2VCbG9jawkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAAE19Vc2VyTGFzdFN0YWtlQmxvY2sEAAAADW1pblN0YWtlQmxvY2sAAAAAAAAAAAcEAAAABm1pbnJlZgAAAAAAAAAAAAQAAAAXQ29udHJhY3RHb3ZUb2tlbkJhbGFuY2UJAAPrAAAAAgUAAAAEdGhpcwUAAAALR292ZXJuVG9rZW4EAAAAGkNvbnRyYWN0V2FsbGV0U3Rha2VCYWxhbmNlCQAD6wAAAAIFAAAABHRoaXMFAAAAC1N0YWtlZFRva2VuBAAAAAxTdGFrZUJhbGFuY2UEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwIAAAAMU3Rha2VCYWxhbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAC1ByaXplQW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAB0Z1bmRCb3gDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAANVXNlclB1c2hWYWx1ZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAAhVc2VyUHVzaAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAABJVc2VyTGFzdFN0YWtlQmxvY2sDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAAVVXNlclN0YWtlZFRva2VuQW1vdW50BAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAElVzZXJTdGFrZWRUb2tlbktleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAtBY3R1YWxEZWxheQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAVEZWxheQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAAAtQcml6ZVdpbm5lcgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwIAAAASSGlnaGVzdFB1c2hBZGRyZXNzBAAAAAtQcml6ZUhlaWdodAQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzAgAAAAtQcml6ZUhlaWdodAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAAAAAAAAAAAABAAAABBIaWdoZXN0UHVzaFZhbHVlBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMCAAAAC0hpZ2hlc3RQdXNoAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAAEAAAAC1VzZXJSZWZzTnVtCQABLAAAAAIJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwIAAAAFX3JlZnMEAAAAEFVzZXJSZWZzTnVtVmFsdWUEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAALVXNlclJlZnNOdW0DCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAMDCQAAAAAAAAIFAAAAC1ByaXplQW1vdW50AAAAAAAAAAAABgkAAGYAAAACAAAAAAJUC+QABQAAABdDb250cmFjdEdvdlRva2VuQmFsYW5jZQkAAAIAAAABAgAAAElObyBwcml6ZSB0byBDbGFpbSBvciBOb3QgZW5vdWdoIEdvdmVybiBUb2tlbiBlbiBDb250cmFjdCAoTWluIDEwMCBUcm9pa2EpAwkBAAAAAiE9AAAAAgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAAtQcml6ZVdpbm5lcgkAAAIAAAABAgAAADZZb3UgYXJlIG5vdCB0aGUgd2lubmVyIGhlbmNlIGNhbm5vdCBjbGFpbSB0aGUgcmV3YXJkICADAwkAAGYAAAACAAAAAAAF9eEABQAAABVVc2VyU3Rha2VkVG9rZW5BbW91bnQJAABmAAAAAgkAAGgAAAACAAAAAAAAAAWgBQAAAA1taW5TdGFrZUJsb2NrBQAAABdVc2VyTGFzdFN0YWtlQmxvY2tWYWx1ZQcJAAACAAAAAQIAAAAuWW91IGhhdmUgdG8gU3Rha2UgQVNJTUkgVG9rZW4gdG8gY2xhaW0gcmV3YXJkIAMDCQAAZgAAAAIFAAAABmhlaWdodAkAAGQAAAACBQAAAAtQcml6ZUhlaWdodAUAAAALQWN0dWFsRGVsYXkJAABnAAAAAgUAAAANVXNlclB1c2hWYWx1ZQUAAAAQSGlnaGVzdFB1c2hWYWx1ZQcDCQAAZwAAAAIFAAAAEFVzZXJSZWZzTnVtVmFsdWUFAAAABm1pbnJlZgkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAC1ByaXplV2lubmVyBQAAAAtQcml6ZUFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAHRnVuZEJveAAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALSGlnaGVzdFB1c2gAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAACFVzZXJQdXNoAAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAABJIaWdoZXN0UHVzaEFkZHJlc3MCAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAALUHJpemVIZWlnaHQAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAABURlbGF5AAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAlEZWxheUNvc3QAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAACkxhc3RXaW5uZXIFAAAAC1ByaXplV2lubmVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAlMYXN0UHJpemUFAAAAC1ByaXplQW1vdW50BQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAtQcml6ZUFtb3VudAUAAAALU3Rha2VkVG9rZW4JAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyAAAAAAA7msoABQAAAAtHb3Zlcm5Ub2tlbgUAAAADbmlsCQAAAgAAAAECAAAAWVlvdSBoYXZlIHRvIGhhdmUgMTAgcmVmZXJyYWxzIGFscmVhZHkgc3Rha2luZyBmb3IgYSBtaW5pbXVtIG9mIDEwIGRheXMgdG8gQ2xhaW0gdGhlIHByaXplCQAAAgAAAAECAAAAYVlvdSBoYXZlIHRvIGJlIHRoZSB1c2VyIHdpdGggdGhlIGhpZ2hlc3QgUHVzaCBhbmQgd2FpdCB0aWxsIGNvdW50b3duIGlzIGZpbmlzaGVkLCB0byBjbGFpbSBSZXdhcmQAAAABaQEAAAAJQWRkbWVudG9yAAAAAQAAAAZNZW50b3IEAAAAC1N0YWtlZFRva2VuAQAAACDJ87corWdBF00yBjV0LGSEbO+I4qSbJ8cU6qkf0I2fVAQAAAALR292ZXJuVG9rZW4BAAAAILaKRSB1rUd8d97dJwjKWv3ewXb6FGo0UDf32gwrBHkwBAAAABFVc2VyTWVudG9yQWRkcmVzcwkAASwAAAACCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMCAAAAB19NZW50b3IDCQEAAAACIT0AAAACBQAAAAZNZW50b3ICAAAAAAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAARVXNlck1lbnRvckFkZHJlc3MFAAAABk1lbnRvcgUAAAADbmlsCQAAAgAAAAECAAAAIE1lbnRvcidzIEFkZHJlc3MgY2Fubm90IGJlIGVtcHR5AAAAABdX1co=", "height": 2607646, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: uKqyAYCVhmfPoby47S37PrMaXJy28Gf4dVM8oAMcXbt Next: 4WCZ1YwLJBvWHyRM4E4hoLEHPZGD2dRMULSvFtSKpFgm Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func DevWithdraw () = {
88 let currentKey = toBase58String(i.caller.bytes)
99 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
1010 if ((currentKey == "3P74buHt98BnojFcaREJZtb98KDyUmZGemJ"))
1111 then {
1212 let DevBoxAmount = match getInteger(this, "DevBox") {
1313 case a: Int =>
1414 a
1515 case _ =>
1616 0
1717 }
1818 if ((0 > DevBoxAmount))
1919 then throw("Not enough balance")
2020 else ScriptResult(WriteSet([DataEntry("DevBox", 0)]), TransferSet([ScriptTransfer(i.caller, DevBoxAmount, GovernToken)]))
2121 }
2222 else throw("You cannot withdraw as your are not the Dev.")
2323 }
2424
2525
2626
2727 @Callable(i)
2828 func PushReward () = {
2929 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
3030 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
3131 let minPushBlock = 10
3232 let minStakeBlock = 7
3333 let DelayAfterPush = 1440
3434 let minref = 0
3535 let userWalletGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
3636 let pmt = extract(i.payment)
3737 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
3838 let UserLastPushOldValue = match getInteger(this, UserPush) {
3939 case a: Int =>
4040 a
4141 case _ =>
4242 0
4343 }
4444 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
4545 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
4646 case a: Int =>
4747 a
4848 case _ =>
4949 0
5050 }
5151 let HighestPushValue = match getInteger(this, "HighestPush") {
5252 case a: Int =>
5353 a
5454 case _ =>
5555 0
5656 }
5757 if ((userWalletGovernBalance > pmt.amount))
5858 then if (if (((pmt.amount + UserLastPushOldValue) > HighestPushValue))
5959 then (pmt.assetId == GovernToken)
6060 else false)
6161 then {
6262 let UserLastPushBlock = (toBase58String(i.caller.bytes) + "_UserLastPushBlock")
6363 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
6464 let UserStake = (toBase58String(i.caller.bytes) + "_Staking")
6565 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
6666 let StakeBalance = match getInteger(this, "StakeBalance") {
6767 case a: Int =>
6868 a
6969 case _ =>
7070 0
7171 }
7272 let PrizeAmount = match getInteger(this, "FundBox") {
7373 case a: Int =>
7474 a
7575 case _ =>
7676 0
7777 }
7878 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
7979 case a: Int =>
8080 a
8181 case _ =>
8282 0
8383 }
8484 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
8585 then (PrizeAmount == 0)
8686 else false)
8787 then 0
8888 else if (if ((HeightTransactFundBox == 0))
8989 then (PrizeAmount != 0)
9090 else false)
9191 then height
9292 else if (if ((HeightTransactFundBox != 0))
9393 then (PrizeAmount != 0)
9494 else false)
9595 then HeightTransactFundBox
9696 else 0
9797 let ActualDelay = match getInteger(this, "Delay") {
9898 case a: Int =>
9999 a
100100 case _ =>
101101 0
102102 }
103103 let NewDelay = (ActualDelay + DelayAfterPush)
104104 let HighestPushAddress = match getInteger(this, "HighestPushAddress") {
105105 case a: Int =>
106106 a
107107 case _ =>
108108 0
109109 }
110110 let UserLastPushBlockValue = match getInteger(this, UserLastPushBlock) {
111111 case a: Int =>
112112 a
113113 case _ =>
114114 0
115115 }
116116 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
117117 case a: Int =>
118118 a
119119 case _ =>
120120 0
121121 }
122122 let UserStakeValue = match getInteger(this, UserStake) {
123123 case a: Int =>
124124 a
125125 case _ =>
126126 0
127127 }
128128 let DevBoxBalance = match getInteger(this, "DevBox") {
129129 case a: Int =>
130130 a
131131 case _ =>
132132 0
133133 }
134134 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
135135 let UserPushvalue = (pmt.amount + UserLastPushOldValue)
136136 let PrizeHeightValueNew = if (if ((height > ((PrizeHeightValue + NewDelay) + 1440)))
137137 then (HighestPushValue > 0)
138138 else false)
139139 then height
140140 else PrizeHeightValue
141141 if (if ((UserPushvalue > 0))
142142 then ((height - UserLastStakeBlockValue) > (1440 * minStakeBlock))
143143 else false)
144144 then if (((height - UserLastPushBlockValue) > minPushBlock))
145145 then if ((UserStakeValue > 0))
146146 then if ((UserPushvalue > HighestPushValue))
147147 then if ((PrizeAmount > 0))
148148 then if (if (if (if (((PrizeHeightValueNew + NewDelay) > height))
149149 then true
150150 else (height > ((PrizeHeightValueNew + NewDelay) + 1440)))
151151 then (HighestPushValue > 0)
152152 else false)
153153 then true
154154 else (HighestPushValue == 0))
155155 then if ((UserRefsNumValue >= minref))
156156 then WriteSet([DataEntry(UserPush, UserPushvalue), DataEntry("HighestPushAddress", toBase58String(i.caller.bytes)), DataEntry("HighestPush", UserPushvalue), DataEntry(UserLastPushBlock, height), DataEntry("PrizeHeight", PrizeHeightValueNew), DataEntry("Delay", NewDelay), DataEntry("DevBox", DevBoxAmount)])
157157 else throw("You have to have 10 referrals already staking for a minimum of 10 days, to push")
158158 else {
159159 let txt = if ((HighestPushValue > 0))
160160 then "You cannot Push after rewarding Prize and before One day has passed after award"
161161 else "Unexpected error"
162162 throw(txt)
163163 }
164164 else throw("You cannot push before the reward is unlocked, no reward has been detected yet")
165165 else throw("Your push in troikan token, should be Higher than last Highest Push")
166166 else throw("To be able to participate in Pushing for the reward you need to Stake ASIMIs in the dApp")
167167 else throw("You have to wait 10min before you can make a new Push")
168168 else throw(("Your Push dot not comply one of the following conditions: " + "1. Positive Value for Push in Troikan Toke
169169 2. Must Staked ASIMI Token for a minimum of week "))
170170 }
171171 else throw((("Can deposit only positive amounts of Troikan Token, or Check your Wallet balance in Troika, you should have more than " + toString(HighestPushValue)) + " to push"))
172172 else throw("You do not have enough Troikan Tokens in your Wallet Balance, Please Harvest if you have earned Troikan wallet or transfer to your wallet necessary Troikan amount !")
173173 }
174174
175175
176176
177177 @Callable(i)
178178 func Stake () = {
179179 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
180180 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
181181 let pmt = extract(i.payment)
182182 if (if ((pmt.amount > 0))
183183 then (pmt.assetId == StakedToken)
184184 else false)
185185 then {
186186 let GovernTokenSmartContractBalance = assetBalance(this, GovernToken)
187187 let UserAPY = (toBase58String(i.caller.bytes) + "_APY")
188188 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
189189 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
190190 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
191191 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
192192 let UserStakeTransactionsKey = (toBase58String(i.caller.bytes) + "_StakedTransactions")
193193 let AddressHeight = (toBase58String(i.caller.bytes) + "_PrizeHeight")
194194 let UserStakeTransactions = match getInteger(this, UserStakeTransactionsKey) {
195195 case a: Int =>
196196 a
197197 case _ =>
198198 0
199199 }
200200 let UserPushValue = match getInteger(this, UserPush) {
201201 case a: Int =>
202202 a
203203 case _ =>
204204 0
205205 }
206206 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
207207 case a: Int =>
208208 a
209209 case _ =>
210210 0
211211 }
212212 let UserLastStakeBlockNewValue = if ((UserLastStakeBlockValue == 0))
213213 then height
214214 else UserLastStakeBlockValue
215215 let NewUserStakeTransactions = (UserStakeTransactions + 1)
216216 let currentAmountStakedToken = match getInteger(this, UserStakedTokenKey) {
217217 case a: Int =>
218218 a
219219 case _ =>
220220 0
221221 }
222222 let newAmountStakedToken = (currentAmountStakedToken + pmt.amount)
223223 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
224224 let StakeBalance = match getInteger(this, "StakeBalance") {
225225 case a: Int =>
226226 a
227227 case _ =>
228228 0
229229 }
230230 let StakeBalanceAmount = (StakeBalance + pmt.amount)
231231 let PrizeAmount = match getInteger(this, "FundBox") {
232232 case a: Int =>
233233 a
234234 case _ =>
235235 0
236236 }
237237 let currentAmountGovernToken = match getInteger(this, UserGovernTokenKey) {
238238 case a: Int =>
239239 a
240240 case _ =>
241241 0
242242 }
243243 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
244244 case a: Int =>
245245 a
246246 case _ =>
247247 0
248248 }
249249 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
250250 then (PrizeAmount == 0)
251251 else false)
252252 then 0
253253 else if (if ((HeightTransactFundBox == 0))
254254 then (PrizeAmount != 0)
255255 else false)
256256 then height
257257 else if (if ((HeightTransactFundBox != 0))
258258 then (PrizeAmount != 0)
259259 else false)
260260 then HeightTransactFundBox
261261 else 0
262262 if ((100000000 > GovernTokenSmartContractBalance))
263263 then throw("No enough GovernToken In Contract, Please deposit GovernTokens")
264264 else {
265265 let Reward = if ((StakeBalance == 0))
266266 then 10000
267267 else if ((NewUserStakeTransactions > 10))
268268 then ((10000 * NewUserStakeTransactions) * (1 + (newAmountStakedToken / StakeBalance)))
269269 else (10000 * (1 + (newAmountStakedToken / StakeBalance)))
270270 let UserAPYValue = if ((currentAmountGovernToken > 0))
271271 then ((100 * Reward) / currentAmountGovernToken)
272272 else 0
273273 let newAmountGovernToken = (currentAmountGovernToken + Reward)
274274 ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmountGovernToken), DataEntry(UserStakedTokenKey, newAmountStakedToken), DataEntry(UserStakeTransactionsKey, NewUserStakeTransactions), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(UserAPY, UserAPYValue), DataEntry(UserLastStakeBlock, UserLastStakeBlockNewValue), DataEntry(UserPush, UserPushValue)]), TransferSet([ScriptTransfer(i.caller, Reward, GovernToken)]))
275275 }
276276 }
277277 else throw("Can deposit only StakeToken")
278278 }
279279
280280
281281
282282 @Callable(i)
283283 func WithdrawStakedFunds (amount) = {
284284 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
285285 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
286286 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
287287 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
288288 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
289289 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
290290 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
291291 case a: Int =>
292292 a
293293 case _ =>
294294 0
295295 }
296296 let StakeBalance = match getInteger(this, "StakeBalance") {
297297 case a: Int =>
298298 a
299299 case _ =>
300300 0
301301 }
302302 let PrizeAmount = match getInteger(this, "FundBox") {
303303 case a: Int =>
304304 a
305305 case _ =>
306306 0
307307 }
308308 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
309309 case a: Int =>
310310 a
311311 case _ =>
312312 0
313313 }
314314 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
315315 then (PrizeAmount == 0)
316316 else false)
317317 then 0
318318 else if (if ((HeightTransactFundBox == 0))
319319 then (PrizeAmount != 0)
320320 else false)
321321 then height
322322 else if (if ((HeightTransactFundBox != 0))
323323 then (PrizeAmount != 0)
324324 else false)
325325 then HeightTransactFundBox
326326 else 0
327327 let currentKey = toBase58String(i.caller.bytes)
328328 let currentAmount = match getInteger(this, UserStakedTokenKey) {
329329 case a: Int =>
330330 a
331331 case _ =>
332332 0
333333 }
334334 let newAmount = (currentAmount - amount)
335335 let StakeBalanceAmount = (StakeBalance - amount)
336336 let UserLastStakeBlockNewValue = if ((StakeBalanceAmount == 0))
337337 then 0
338338 else UserLastStakeBlockValue
339339 if ((0 > amount))
340340 then throw("Can't withdraw negative amount")
341341 else if ((0 > newAmount))
342342 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
343343 else if ((100000000 > assetBalance(this, GovernToken)))
344344 then throw(("Not enough Troika In Contract: " + toString((assetBalance(this, GovernToken) / 100000000))))
345345 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, 100000000), DataEntry(UserStakedTokenKey, newAmount), DataEntry("StakeBalance", StakeBalanceAmount), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry(UserLastStakeBlock, UserLastStakeBlockNewValue)]), TransferSet([ScriptTransfer(i.caller, 100000000, GovernToken), ScriptTransfer(i.caller, amount, StakedToken)]))
346346 }
347347
348348
349349
350350 @Callable(i)
351351 func HarvestGovernToiken (amount) = {
352352 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
353353 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
354354 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
355355 let UserGovernTokenKey = (toBase58String(i.caller.bytes) + "_Earnings")
356356 let StakeBalance = match getInteger(this, "StakeBalance") {
357357 case a: Int =>
358358 a
359359 case _ =>
360360 0
361361 }
362362 let PrizeAmount = match getInteger(this, "FundBox") {
363363 case a: Int =>
364364 a
365365 case _ =>
366366 0
367367 }
368368 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
369369 case a: Int =>
370370 a
371371 case _ =>
372372 0
373373 }
374374 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
375375 then (PrizeAmount == 0)
376376 else false)
377377 then 0
378378 else if (if ((HeightTransactFundBox == 0))
379379 then (PrizeAmount != 0)
380380 else false)
381381 then height
382382 else if (if ((HeightTransactFundBox != 0))
383383 then (PrizeAmount != 0)
384384 else false)
385385 then HeightTransactFundBox
386386 else 0
387387 let currentKey = toBase58String(i.caller.bytes)
388388 let currentAmount = match getInteger(this, UserGovernTokenKey) {
389389 case a: Int =>
390390 a
391391 case _ =>
392392 0
393393 }
394394 let newAmount = (currentAmount - amount)
395395 if ((0 > amount))
396396 then throw("Can't withdraw negative amount")
397397 else if ((0 > newAmount))
398398 then throw(("User cannot withdraw more than deposited funds, Your deposit is: " + toString((currentAmount / 100000000))))
399399 else ScriptResult(WriteSet([DataEntry(UserGovernTokenKey, newAmount), DataEntry("PrizeHeight", PrizeHeightValue)]), TransferSet([ScriptTransfer(i.caller, amount, GovernToken)]))
400400 }
401401
402402
403403
404404 @Callable(i)
405405 func delayprize () = {
406406 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
407407 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
408408 let DelayDays = 1
409409 let UserGovernTokenKey = ((toBase58String(i.caller.bytes) + "_") + toBase58String(GovernToken))
410410 let UserWalletSGovernBalance = assetBalance(Address(i.caller.bytes), GovernToken)
411411 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
412412 let StakeBalance = match getInteger(this, "StakeBalance") {
413413 case a: Int =>
414414 a
415415 case _ =>
416416 0
417417 }
418418 let PrizeAmount = match getInteger(this, "FundBox") {
419419 case a: Int =>
420420 a
421421 case _ =>
422422 0
423423 }
424424 let HeightTransactFundBox = match getInteger(this, "PrizeHeight") {
425425 case a: Int =>
426426 a
427427 case _ =>
428428 0
429429 }
430430 let PrizeHeightValue = if (if ((HeightTransactFundBox == 0))
431431 then (PrizeAmount == 0)
432432 else false)
433433 then 0
434434 else if (if ((HeightTransactFundBox == 0))
435435 then (PrizeAmount != 0)
436436 else false)
437437 then height
438438 else if (if ((HeightTransactFundBox != 0))
439439 then (PrizeAmount != 0)
440440 else false)
441441 then HeightTransactFundBox
442442 else 0
443443 let ActualDelay = match getInteger(this, "Delay") {
444444 case a: Int =>
445445 a
446446 case _ =>
447447 0
448448 }
449449 let ActualDelayCost = match getInteger(this, "DelayCost") {
450450 case a: Int =>
451451 a
452452 case _ =>
453453 10
454454 }
455455 let pmt = extract(i.payment)
456456 let DevBoxBalance = match getInteger(this, "DevBox") {
457457 case a: Int =>
458458 a
459459 case _ =>
460460 0
461461 }
462462 if (if (isDefined(pmt.assetId))
463463 then (extract(pmt.assetId) == GovernToken)
464464 else false)
465465 then if ((PrizeAmount > 0))
466466 then {
467467 let UserGovernTokenAmount = pmt.amount
468468 let DevBoxAmount = (DevBoxBalance + ((pmt.amount * 5) / 1000))
469469 let NewDelayCost = if ((ActualDelayCost == 0))
470470 then 1000000000
471471 else (2 * ActualDelayCost)
472472 if ((UserGovernTokenAmount >= NewDelayCost))
473473 then {
474474 let NewDelay = (ActualDelay + (1440 * DelayDays))
475475 WriteSet([DataEntry("Delay", NewDelay), DataEntry("DelayCost", NewDelayCost), DataEntry("PrizeHeight", PrizeHeightValue), DataEntry("DevBox", DevBoxAmount)])
476476 }
477477 else throw((("To delay the release of the reward ONE DAY later than expected, you need " + toString(NewDelayCost)) + "TROIKAs"))
478478 }
479479 else throw("You cannot delay the reward before reward is received! Please wait until a reward is available")
480480 else throw("Can Use only Troika Token to Delay Reward")
481481 }
482482
483483
484484
485485 @Callable(i)
486486 func ClaimPrize () = {
487487 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
488488 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
489489 let UserStakedTokenKey = (toBase58String(i.caller.bytes) + "_Staking")
490490 let UserPush = (toBase58String(i.caller.bytes) + "_Push")
491491 let UserLastStakeBlock = (toBase58String(i.caller.bytes) + "_UserLastStakeBlock")
492492 let minStakeBlock = 7
493493 let minref = 0
494494 let ContractGovTokenBalance = assetBalance(this, GovernToken)
495495 let ContractWalletStakeBalance = assetBalance(this, StakedToken)
496496 let StakeBalance = match getInteger(this, "StakeBalance") {
497497 case a: Int =>
498498 a
499499 case _ =>
500500 0
501501 }
502502 let PrizeAmount = match getInteger(this, "FundBox") {
503503 case a: Int =>
504504 a
505505 case _ =>
506506 0
507507 }
508508 let UserPushValue = match getInteger(this, UserPush) {
509509 case a: Int =>
510510 a
511511 case _ =>
512512 0
513513 }
514514 let UserLastStakeBlockValue = match getInteger(this, UserLastStakeBlock) {
515515 case a: Int =>
516516 a
517517 case _ =>
518518 0
519519 }
520520 let UserStakedTokenAmount = match getInteger(this, UserStakedTokenKey) {
521521 case a: Int =>
522522 a
523523 case _ =>
524524 0
525525 }
526526 let ActualDelay = match getInteger(this, "Delay") {
527527 case a: Int =>
528528 a
529529 case _ =>
530530 0
531531 }
532532 let PrizeWinner = getStringValue(this, "HighestPushAddress")
533533 let PrizeHeight = match getInteger(this, "PrizeHeight") {
534534 case a: Int =>
535535 a
536536 case _ =>
537537 0
538538 }
539539 let HighestPushValue = match getInteger(this, "HighestPush") {
540540 case a: Int =>
541541 a
542542 case _ =>
543543 0
544544 }
545545 let UserRefsNum = (toBase58String(i.caller.bytes) + "_refs")
546546 let UserRefsNumValue = match getInteger(this, UserRefsNum) {
547547 case a: Int =>
548548 a
549549 case _ =>
550550 0
551551 }
552552 if (if ((PrizeAmount == 0))
553553 then true
554554 else (10000000000 > ContractGovTokenBalance))
555555 then throw("No prize to Claim or Not enough Govern Token en Contract (Min 100 Troika)")
556556 else if ((toBase58String(i.caller.bytes) != PrizeWinner))
557557 then throw("You are not the winner hence cannot claim the reward ")
558558 else if (if ((100000000 > UserStakedTokenAmount))
559559 then ((1440 * minStakeBlock) > UserLastStakeBlockValue)
560560 else false)
561561 then throw("You have to Stake ASIMI Token to claim reward ")
562562 else if (if ((height > (PrizeHeight + ActualDelay)))
563563 then (UserPushValue >= HighestPushValue)
564564 else false)
565565 then if ((UserRefsNumValue >= minref))
566566 then ScriptResult(WriteSet([DataEntry(PrizeWinner, PrizeAmount), DataEntry("FundBox", 0), DataEntry("HighestPush", 0), DataEntry(UserPush, 0), DataEntry("HighestPushAddress", ""), DataEntry("PrizeHeight", 0), DataEntry("Delay", 0), DataEntry("DelayCost", 0), DataEntry("LastWinner", PrizeWinner), DataEntry("LastPrize", PrizeAmount)]), TransferSet([ScriptTransfer(i.caller, PrizeAmount, StakedToken), ScriptTransfer(i.caller, 1000000000, GovernToken)]))
567567 else throw("You have to have 10 referrals already staking for a minimum of 10 days to Claim the prize")
568568 else throw("You have to be the user with the highest Push and wait till countown is finished, to claim Reward")
569569 }
570570
571571
572572
573573 @Callable(i)
574574 func Addmentor (Mentor) = {
575575 let StakedToken = base58'EbLVSrAi6vS3AkLwBinzZCvAXP2yYiFJEzj1MBVHcwZ5'
576576 let GovernToken = base58'DHZVHe6JzD61zTwH4ZnHnmo3w7oKGABXwgBt4S8KkzUP'
577577 let UserMentorAddress = (toBase58String(i.caller.bytes) + "_Mentor")
578578 if ((Mentor != ""))
579579 then WriteSet([DataEntry(UserMentorAddress, Mentor)])
580580 else throw("Mentor's Address cannot be empty")
581581 }
582582
583583

github/deemru/w8io/3ef1775 
68.80 ms