tx · Fh9efEMha5dtMV5shfquH9v5BMzaDxoAgtXLESBnxv3S

3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE:  -0.01400000 Waves

2019.11.02 02:20 [746442] smart account 3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE > SELF 0.00000000 Waves

{ "type": 13, "id": "Fh9efEMha5dtMV5shfquH9v5BMzaDxoAgtXLESBnxv3S", "fee": 1400000, "feeAssetId": null, "timestamp": 1572650420236, "version": 1, "sender": "3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE", "senderPublicKey": "4gu3haCbomZgQGdumDcQqrwBjbvC8H8xMwtadJSpjzSj", "proofs": [ "48nQiHd9dLfjJ2XR7AWnK49JqHK8VG7Z8kW5z41tFZmAxkgSC4qjEDpdaG4phb8shGKAyrS2dfkg6YLUTvu5xBEP" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIIARIECgIIAgAAACgAAAAACVJTQVBVQkxJQwkAAlsAAAABAgAAAY9iYXNlNjQ6TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFnNGRBUjZYYkJEQVM5aHIvRWozZEp2NkZmYzQ2NngvbU9HTVdVM2xyQUJzM3FhOEJIbXVKR25rZmJwRWYydkF3WVRPV1B2dnpmTTEwT0JiZmxvU3lxM2M5TUt2eVRlMWx1QkxHcVc0dlpVWEl5dlNnejFsaXlVVmVmSVF5M2R5RjlqYmVUWmJDMGJiY1QvN08zREVMKzAxejZBK3JEQ2FjU1owbEdvbFNRNkFuaEx4eklrVnBPUUpickJtQyt4K1p1WlBDTVd6SnluZDVhZU9uN2phai9ta1JWeXhlNmcvME9oV3o0TmlpWlhldU1SQis4bUt5MGZXRC9VbElsWldIc0FTMlptcmtYS3FqTHEwLzB3cjhJTEprem5qU3Fkbkk1SWJqZzN1UXJqLzRBTitpOXIyOGFRNzMvWmtQdFk1U2J3MEFPaUFCQnU3Z0htcTlheVZ4WlFJREFRQUIAAAAAD0dBTUVTQ09VTlRFUktFWQIAAAAJJEdBTUVfTlVNAAAAAA5SRVNFUlZBVElPTktFWQIAAAAQJFJFU0VSVkVEX0FNT1VOVAAAAAAEV0JFVAEAAAAghrQ2qHjTDszY8BetSy4sBB8Hn7rKuRapStdvJa2b0HYAAAAADldBTExFVFdBVkVTQkVUCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFULxHweE6v1pOfqW4iK2a1H7JT13jPO2j7AAAAAAxXQUxMRVRNQ0FGRUUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQvEfB4Tq/Wk5+pbiIrZrUfslPXeM87aPsAAAAAB1dBVkVMRVQAAAAAAAX14QAAAAAAC0ZFRVdBVkVTQkVUAAAAAAAAAAAEAAAAAAlGRUVNQ0FGRUUAAAAAAAAAAAIAAAAADlNUQVRFU1VCTUlUVEVEAgAAAAlTVUJNSVRURUQAAAAACFNUQVRFV09OAgAAAANXT04AAAAACVNUQVRFTE9TVAIAAAAETE9TVAAAAAAJUk9MTFVOREVSAgAAAAVVTkRFUgAAAAAIUk9MTE9WRVICAAAABE9WRVIAAAAABkJFVE1JTgkAAGgAAAACAAAAAAAAAAPoBQAAAAdXQVZFTEVUAAAAAAZCRVRNQVgJAABoAAAAAgAAAAAAATEtAAUAAAAHV0FWRUxFVAAAAAANUFJFRElDVElPTk1JTgAAAAAAAAAAAQAAAAANUFJFRElDVElPTk1BWAAAAAAAAAAAYwAAAAAMSWR4R2FtZVN0YXRlAAAAAAAAAAAAAAAAAA1JZHhQcmVkaWN0aW9uAAAAAAAAAAABAAAAAAdJZHhUeXBlAAAAAAAAAAACAAAAABFJZHhQbGF5ZXJQdWJLZXk1OAAAAAAAAAAAAwAAAAAJSWR4V2luQW10AAAAAAAAAAAEAAAAAA5JZHhSYW5kT3JFbXB0eQAAAAAAAAAABQEAAAAQSW5jcmVtZW50R2FtZU51bQAAAAAEAAAAB2dhbWVOdW0EAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAPR0FNRVNDT1VOVEVSS0VZAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA251bQUAAAAHJG1hdGNoMAUAAAADbnVtAAAAAAAAAAAACQAAZAAAAAIFAAAAB2dhbWVOdW0AAAAAAAAAAAEBAAAAEkV4dHJhY3RSZXNlcnZlZEFtdAAAAAAEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAAOUkVTRVJWQVRJT05LRVkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAEAAAAeVmFsaWRhdGVBbmRJbmNyZWFzZVJlc2VydmVkQW10AAAAAQAAAAZ3aW5BbXQEAAAAEW5ld1Jlc2VydmVkQW1vdW50CQAAZAAAAAIJAQAAABJFeHRyYWN0UmVzZXJ2ZWRBbXQAAAAABQAAAAZ3aW5BbXQEAAAAB2JhbGFuY2UJAAPrAAAAAgUAAAAEdGhpcwUAAAAEV0JFVAMJAABmAAAAAgUAAAARbmV3UmVzZXJ2ZWRBbW91bnQFAAAAB2JhbGFuY2UJAAACAAAAAQIAAABWSW5zdWZmaWNpZW50IGZ1bmRzIG9uIFdhdmVzYmV0IERpY2UgYWNjb3VudC4gVHJhbnNhY3Rpb24gd2FzIHJlamVjdGVkIGZvciB5b3VyIHNhZmV0eS4FAAAAEW5ld1Jlc2VydmVkQW1vdW50AQAAABNGb3JtYXRHYW1lRGF0YVBhcmFtAAAAAQAAAAFwBAAAAAFzCQABMQAAAAEFAAAAAXADCQAAAAAAAAIFAAAAAXMAAAAAAAAAAAAJAAACAAAAAQIAAAAlUGFyYW1ldGVyIHNpemUgbXVzdCBiZSBncmVhdGVyIHRoZW4gMAMJAABmAAAAAgUAAAABcwAAAAAAAAAAYwkAAAIAAAABAgAAACRQYXJhbWV0ZXIgc2l6ZSBtdXN0IGJlIGxlc3MgdGhlbiAxMDADCQAAZgAAAAIAAAAAAAAAAAoFAAAAAXMJAAEsAAAAAgkAASwAAAACAgAAAAEwCQABpAAAAAEFAAAAAXMFAAAAAXAJAAEsAAAAAgkAAaQAAAABBQAAAAFzBQAAAAFwAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYAAAAJZ2FtZVN0YXRlAAAACnByZWRpY3Rpb24AAAAIdHlwZVJvbGwAAAAOcGxheWVyUHViS2V5NTgAAAAGd2luQW10AAAAC3JhbmRPckVtcHR5BAAAAAxmdWxsU3RhdGVTdHIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQEAAAATRm9ybWF0R2FtZURhdGFQYXJhbQAAAAEFAAAACWdhbWVTdGF0ZQIAAAABXwkBAAAAE0Zvcm1hdEdhbWVEYXRhUGFyYW0AAAABCQABpAAAAAEFAAAACnByZWRpY3Rpb24CAAAAAV8JAQAAABNGb3JtYXRHYW1lRGF0YVBhcmFtAAAAAQUAAAAIdHlwZVJvbGwCAAAAAV8JAQAAABNGb3JtYXRHYW1lRGF0YVBhcmFtAAAAAQUAAAAOcGxheWVyUHViS2V5NTgCAAAAAV8JAQAAABNGb3JtYXRHYW1lRGF0YVBhcmFtAAAAAQkAAaQAAAABBQAAAAZ3aW5BbXQDCQAAAAAAAAIFAAAAC3JhbmRPckVtcHR5AgAAAAAFAAAADGZ1bGxTdGF0ZVN0cgkAASwAAAACCQABLAAAAAIFAAAADGZ1bGxTdGF0ZVN0cgIAAAABXwkBAAAAE0Zvcm1hdEdhbWVEYXRhUGFyYW0AAAABBQAAAAtyYW5kT3JFbXB0eQEAAAAZUmVtb3ZlVW5kZXJzY29yZUlmUHJlc2VudAAAAAEAAAAJcmVtYWluaW5nAwkAAGYAAAACCQABMQAAAAEFAAAACXJlbWFpbmluZwAAAAAAAAAAAAkAATAAAAACBQAAAAlyZW1haW5pbmcAAAAAAAAAAAEFAAAACXJlbWFpbmluZwEAAAASUGFyc2VOZXh0QXR0cmlidXRlAAAAAQAAAAlyZW1haW5pbmcEAAAAAXMJAAExAAAAAQUAAAAJcmVtYWluaW5nAwkAAGYAAAACBQAAAAFzAAAAAAAAAAAABAAAAAJubgkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABLwAAAAIFAAAACXJlbWFpbmluZwAAAAAAAAAAAgQAAAABdgkAAS8AAAACCQABMAAAAAIFAAAACXJlbWFpbmluZwAAAAAAAAAAAgUAAAACbm4EAAAADHRtcFJlbWFpbmluZwkAATAAAAACBQAAAAlyZW1haW5pbmcJAABkAAAAAgUAAAACbm4AAAAAAAAAAAIEAAAADnJlbWFpbmluZ1N0YXRlCQEAAAAZUmVtb3ZlVW5kZXJzY29yZUlmUHJlc2VudAAAAAEFAAAADHRtcFJlbWFpbmluZwkABEwAAAACBQAAAAF2CQAETAAAAAIFAAAADnJlbWFpbmluZ1N0YXRlBQAAAANuaWwJAAACAAAAAQIAAAA0RW1wdHkgc3RyaW5nIHdhcyBwYXNzZWQgaW50byBwYXJzZU5leHRBdHRyaWJ1dGUgZnVuYwEAAAATUGFyc2VHYW1lUmF3RGF0YVN0cgAAAAEAAAALcmF3U3RhdGVTdHIEAAAACWdhbWVTdGF0ZQkBAAAAElBhcnNlTmV4dEF0dHJpYnV0ZQAAAAEFAAAAC3Jhd1N0YXRlU3RyBAAAAApwcmVkaWN0aW9uCQEAAAASUGFyc2VOZXh0QXR0cmlidXRlAAAAAQkAAZEAAAACBQAAAAlnYW1lU3RhdGUAAAAAAAAAAAEEAAAACHJvbGxUeXBlCQEAAAASUGFyc2VOZXh0QXR0cmlidXRlAAAAAQkAAZEAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAABBAAAAA5wbGF5ZXJQdWJLZXk1OAkBAAAAElBhcnNlTmV4dEF0dHJpYnV0ZQAAAAEJAAGRAAAAAgUAAAAIcm9sbFR5cGUAAAAAAAAAAAEEAAAABndpbkFtdAkBAAAAElBhcnNlTmV4dEF0dHJpYnV0ZQAAAAEJAAGRAAAAAgUAAAAOcGxheWVyUHViS2V5NTgAAAAAAAAAAAEJAARMAAAAAgkAAZEAAAACBQAAAAlnYW1lU3RhdGUAAAAAAAAAAAAJAARMAAAAAgkAAZEAAAACBQAAAApwcmVkaWN0aW9uAAAAAAAAAAAACQAETAAAAAIJAAGRAAAAAgUAAAAIcm9sbFR5cGUAAAAAAAAAAAAJAARMAAAAAgkAAZEAAAACBQAAAA5wbGF5ZXJQdWJLZXk1OAAAAAAAAAAAAAkABEwAAAACCQABkQAAAAIFAAAABndpbkFtdAAAAAAAAAAAAAUAAAADbmlsAQAAABNFeHRyYWN0R2FtZURhdGFMaXN0AAAAAQAAAAZnYW1lSWQEAAAACnJhd0RhdGFTdHIEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAEdGhpcwUAAAAGZ2FtZUlkAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAA3N0cgUAAAAHJG1hdGNoMAUAAAADc3RyCQAAAgAAAAEJAAEsAAAAAgIAAAAWQ291bGRuJ3QgZmluZCBnYW1lIGJ5IAUAAAAGZ2FtZUlkCQEAAAATUGFyc2VHYW1lUmF3RGF0YVN0cgAAAAEFAAAACnJhd0RhdGFTdHIBAAAAE0RlY3JlYXNlUmVzZXJ2ZWRBbXQAAAACAAAABmdhbWVJZAAAAAZ3aW5BbXQEAAAAEW5ld1Jlc2VydmVkQW1vdW50CQAAZQAAAAIJAQAAABJFeHRyYWN0UmVzZXJ2ZWRBbXQAAAAABQAAAAZ3aW5BbXQDCQAAZgAAAAIAAAAAAAAAAAAFAAAAEW5ld1Jlc2VydmVkQW1vdW50CQAAAgAAAAECAAAAQkludmFsaWQgRGljZSBSb2xsZXIgYWNjb3VudCBzdGF0ZSAtIHJlc2VydmVkIGFtb3VudCBpcyBsZXNzIHRoYW4gMAkBAAAACURhdGFFbnRyeQAAAAIFAAAADlJFU0VSVkFUSU9OS0VZBQAAABFuZXdSZXNlcnZlZEFtb3VudAEAAAAPR2VuZXJhdGVSYW5kSW50AAAAAgAAAAZnYW1lSWQAAAAHcnNhU2lnbgQAAAALcnNhU2lnVmFsaWQJAAH4AAAABAUAAAAGU0hBMjU2CQABmwAAAAEFAAAABmdhbWVJZAUAAAAHcnNhU2lnbgUAAAAJUlNBUFVCTElDAwUAAAALcnNhU2lnVmFsaWQEAAAABHJhbmQJAABqAAAAAgkABLEAAAABCQAB9wAAAAEFAAAAB3JzYVNpZ24AAAAAAAAAAGQDCQAAZgAAAAIAAAAAAAAAAAAFAAAABHJhbmQJAABkAAAAAgkAAGgAAAACAP//////////BQAAAARyYW5kAAAAAAAAAAABCQAAZAAAAAIFAAAABHJhbmQAAAAAAAAAAAEJAAACAAAAAQIAAAAVSW52YWxpZCBSU0Egc2lnbmF0dXJlAQAAAAlSYW5kVG9TdHIAAAABAAAAAXIDAwkAAGcAAAACBQAAAAFyAAAAAAAAAAABCQAAZwAAAAIAAAAAAAAAAGQFAAAAAXIHCQABpAAAAAEFAAAAAXIJAAACAAAAAQkAASwAAAACAgAAADxVbnN1cHBvcnRlZCByIHBhcmFtZXRlciBwYXNzZWQ6IGV4cGVjdGVkPVsxLC4uLiwxMDBdIGFjdHVhbD0JAAGkAAAAAQUAAAABcgEAAAAMV2luU2NyaXB0U2V0AAAABQAAAAZnYW1lSWQAAAANcGxheWVyQWRkcmVzcwAAAAZ3aW5BbXQAAAAObmV3R2FtZURhdGFTdHIAAAARZGVjcmVhc2VkUmVzZXJ2ZXMEAAAADndTZXRDb21tb25EYXRhCQAETAAAAAIFAAAAEWRlY3JlYXNlZFJlc2VydmVzBQAAAANuaWwEAAAADnRTZXRDb21tb25EYXRhCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADXBsYXllckFkZHJlc3MFAAAABndpbkFtdAUAAAAEV0JFVAUAAAADbmlsBAAAAAhnYW1lRGF0YQkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAAObmV3R2FtZURhdGFTdHIJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIFAAAACGdhbWVEYXRhBQAAAA53U2V0Q29tbW9uRGF0YQkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAAOdFNldENvbW1vbkRhdGEBAAAACk11bHRpcGxpZXIAAAACAAAACnByZWRpY3Rpb24AAAAIcm9sbFR5cGUDCQAAAAAAAAIFAAAACHJvbGxUeXBlBQAAAAlST0xMVU5ERVIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAEAAAAAAACWTJADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAIAAAAAAABLJkgDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAMAAAAAAAAyGYIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAQAAAAAAAAlkyQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAUAAAAAAAAeD1ADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAYAAAAAAAAZDLwDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAcAAAAAAAAVeKQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAgAAAAAAAASyZIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAkAAAAAAAAQsygDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAoAAAAAAAAPB6gDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAsAAAAAAAANqdoDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAAwAAAAAAAAMhl4DCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAA0AAAAAAAALj7oDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAA4AAAAAAAAKvFIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAA8AAAAAAAAKBRQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABAAAAAAAAAJZMQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABEAAAAAAAAI11IDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABIAAAAAAAAIWZQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABMAAAAAAAAH6RQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABQAAAAAAAAHg9QDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABUAAAAAAAAHKDADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABYAAAAAAAAG1OgDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABcAAAAAAAAGiOQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABgAAAAAAAAGQyoDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABkAAAAAAAAGAxADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABoAAAAAAAAFx9gDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABsAAAAAAAAFkQoDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAABwAAAAAAAAFXiQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAB0AAAAAAAAFLsIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAB4AAAAAAAAFAooDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAB8AAAAAAAAE2SwDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACAAAAAAAAAEsmIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACEAAAAAAAAEjfADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACIAAAAAAAAEa6QDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACMAAAAAAAAES0wDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACQAAAAAAAAELMoDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACUAAAAAAAAD9IoDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACYAAAAAAAAD9IoDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACcAAAAAAAAD2pADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACgAAAAAAAADweoDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACkAAAAAAAADqnADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACoAAAAAAAADlBgDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACsAAAAAAAADfsQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAACwAAAAAAAADanQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAC0AAAAAAAADVwADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAC4AAAAAAAADRHIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAC8AAAAAAAADMqIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADAAAAAAAAADIZADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADEAAAAAAAADETwDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADIAAAAAAAADAYgDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADMAAAAAAAAC8moDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADQAAAAAAAAC4+wDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADUAAAAAAAAC1fADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADYAAAAAAAACyIADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADcAAAAAAAACu5IDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADgAAAAAAAACrxIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADkAAAAAAAACowADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADoAAAAAAAACl1wDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADsAAAAAAAACjBwDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAADwAAAAAAAACgUADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAD0AAAAAAAACdr4DCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAD4AAAAAAAACbJYDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAD8AAAAAAAACYrQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEAAAAAAAAACWSwDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEEAAAAAAAACT+oDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEIAAAAAAAACRvgDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEMAAAAAAAACPkIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEQAAAAAAAACNdIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEUAAAAAAAACLZ4DCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEYAAAAAAAACJaYDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEcAAAAAAAACHeoDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEgAAAAAAAACFmADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEkAAAAAAAACDxIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEoAAAAAAAACB+wDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEsAAAAAAAACAQIDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAEwAAAAAAAAB+kADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAE0AAAAAAAAB87ADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAE4AAAAAAAAB7UgDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAE8AAAAAAAAB5wgDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFAAAAAAAAAB4PADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFEAAAAAAAAB2wADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFIAAAAAAAAB1TgDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFMAAAAAAAABz44DCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFQAAAAAAAABygwDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFUAAAAAAAABxKgDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFYAAAAAAAABv2IDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFcAAAAAAAABujoDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFgAAAAAAAABtToDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFkAAAAAAAABsE4DCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFoAAAAAAAABq4ADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFsAAAAAAAABptADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAFwAAAAAAAABojQDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAF0AAAAAAAABnbYDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAF4AAAAAAAABmUwDCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAF8AAAAAAAABlQADCQAAAAAAAAIFAAAACnByZWRpY3Rpb24AAAAAAAAAAGAAAAAAAAABlQAAAAAAAAABhqADCQAAAAAAAAIFAAAACHJvbGxUeXBlBQAAAAhST0xMT1ZFUgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAABAAAAAAAAAGVAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAABQAAAAAAAAGVAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAABgAAAAAAAAGZTAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAABwAAAAAAAAGdtgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAACAAAAAAAAAGiNAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAACQAAAAAAAAGm0AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAACgAAAAAAAAGrgAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAACwAAAAAAAAGwTgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAADAAAAAAAAAG1OgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAADQAAAAAAAAG6OgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAADgAAAAAAAAG/YgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAADwAAAAAAAAHEqAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAEAAAAAAAAAHKDAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAEQAAAAAAAAHPjgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAEgAAAAAAAAHVOAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAEwAAAAAAAAHbAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAFAAAAAAAAAHg8AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAFQAAAAAAAAHnCAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAFgAAAAAAAAHtSAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAFwAAAAAAAAHzsAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAGAAAAAAAAAH6QAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAGQAAAAAAAAIBAgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAGgAAAAAAAAIH7AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAGwAAAAAAAAIPEgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAHAAAAAAAAAIWYAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAHQAAAAAAAAId6gMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAHgAAAAAAAAIlpgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAHwAAAAAAAAItngMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAIAAAAAAAAAI10gMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAIQAAAAAAAAI+QgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAIgAAAAAAAAJG+AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAIwAAAAAAAAJP6gMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAJAAAAAAAAAJZLAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAJQAAAAAAAAJitAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAJgAAAAAAAAJslgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAJwAAAAAAAAJ2vgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKAAAAAAAAAKBQAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKQAAAAAAAAKMHAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKgAAAAAAAAKXXAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKwAAAAAAAAKjAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALAAAAAAAAAKvEgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALQAAAAAAAAK7kgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALgAAAAAAAALV8AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALwAAAAAAAALV8AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMAAAAAAAAALj7AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMQAAAAAAAALyagMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMgAAAAAAAAMBiAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMwAAAAAAAAMRPAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANAAAAAAAAAMhkAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANQAAAAAAAAMyogMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANgAAAAAAAANEcgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANwAAAAAAAANXAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAOAAAAAAAAANqdAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAOQAAAAAAAAN+xAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAOgAAAAAAAAOUGAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAOwAAAAAAAAOqcAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAPAAAAAAAAAPB6gMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAPQAAAAAAAAPakAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAPgAAAAAAAAP0igMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAPwAAAAAAAAP0igMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAQAAAAAAAAAQsygMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAQQAAAAAAAARLTAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAQgAAAAAAAARrpAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAQwAAAAAAAASN8AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAARAAAAAAAAASyYgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAARQAAAAAAAATZLAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAARgAAAAAAAAUCigMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAARwAAAAAAAAUuwgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAASAAAAAAAAAVeJAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAASQAAAAAAAAWRCgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAASgAAAAAAAAXH2AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAASwAAAAAAAAYDEAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAATAAAAAAAAAZDKgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAATQAAAAAAAAaI5AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAATgAAAAAAAAbU6AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAATwAAAAAAAAcoMAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAUAAAAAAAAAeD1AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAUQAAAAAAAAfpFAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAUgAAAAAAAAhZlAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAUwAAAAAAAAjXUgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAVAAAAAAAAAlkxAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAVQAAAAAAAAoFFAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAVgAAAAAAAAq8UgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAVwAAAAAAAAuPugMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAWAAAAAAAAAyGXgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAWQAAAAAAAA2p2gMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAWgAAAAAAAA8HqAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAWwAAAAAAABCzKAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAXAAAAAAAABLJkgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAXQAAAAAAABV4pAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAXgAAAAAAABkMvAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAXwAAAAAAAB4PUAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAYAAAAAAAACWTJAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAYQAAAAAAADIZggMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAYgAAAAAAAEsmSAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAYwAAAAAAAJZMkAAAAAAAAAGGoAAAAAAAAAGGoAEAAAAHZGljZVdpbgAAAAMAAAAEdHlwZQAAAApwcmVkaWN0aW9uAAAABm51bWJlcgMJAAAAAAAAAgUAAAAEdHlwZQUAAAAJUk9MTFVOREVSAwkAAGcAAAACBQAAAApwcmVkaWN0aW9uBQAAAAZudW1iZXIGBwMJAAAAAAAAAgUAAAAEdHlwZQUAAAAIUk9MTE9WRVIDCQAAZwAAAAIFAAAABm51bWJlcgUAAAAKcHJlZGljdGlvbgYHBwEAAAAaVmFsaWRhdGVCZXRBbmREZWZpbmVXaW5BbXQAAAADAAAABmFtb3VudAAAAApwcmVkaWN0aW9uAAAACHJvbGxUeXBlAwMJAABmAAAAAgUAAAAGQkVUTUlOBQAAAAZhbW91bnQGCQAAZgAAAAIFAAAABmFtb3VudAUAAAAGQkVUTUFYCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAI0JldCBhbW91bnQgaXMgbm90IGluIHJhbmdlOiBtaW5CZXQ9CQABpAAAAAEJAABpAAAAAgUAAAAGQkVUTUlOBQAAAAdXQVZFTEVUAgAAAAggbWF4QmV0PQkAAaQAAAABCQAAaQAAAAIFAAAABkJFVE1BWAUAAAAHV0FWRUxFVAMDCQEAAAACIT0AAAACBQAAAAhyb2xsVHlwZQUAAAAJUk9MTFVOREVSCQEAAAACIT0AAAACBQAAAAhyb2xsVHlwZQUAAAAIUk9MTE9WRVIHCQAAAgAAAAECAAAAKUludmFsaWQgUm9sbCB0eXBlLCB0cnkgd2l0aCBPVkVSIG9yIFVOREVSAwMJAABmAAAAAgUAAAANUFJFRElDVElPTk1JTgUAAAAKcHJlZGljdGlvbgYJAABmAAAAAgUAAAAKcHJlZGljdGlvbgUAAAANUFJFRElDVElPTk1BWAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACBQcmVkaWN0aW9uIGlzIG91dCBvZiB0aGUgcmFuZ2U6IAkAAaQAAAABBQAAAA1QUkVESUNUSU9OTUlOAgAAABIgPD0gcHJlZGljdGlvbiA8PSAJAAGkAAAAAQUAAAANUFJFRElDVElPTk1BWAQAAAAFbXVsdGkJAQAAAApNdWx0aXBsaWVyAAAAAgUAAAAKcHJlZGljdGlvbgUAAAAIcm9sbFR5cGUJAABrAAAAAwkAAGgAAAACCQAAaQAAAAIFAAAABmFtb3VudAAAAAAAAAGGoAUAAAAFbXVsdGkJAABlAAAAAgkAAGUAAAACAAAAAAAAAABkBQAAAAtGRUVXQVZFU0JFVAUAAAAJRkVFTUNBRkVFAAAAAAAAAABkAAAAAgAAAAFpAQAAAAhwbGF5RGljZQAAAAIAAAAIcm9sbFR5cGUAAAAKcHJlZGljdGlvbgQAAAAGZ2FtZUlkCQACWAAAAAEIBQAAAAFpAAAADXRyYW5zYWN0aW9uSWQEAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAKZmVlQXNzZXRJZAkBAAAACWlzRGVmaW5lZAAAAAEIBQAAAAFpAAAACmZlZUFzc2V0SWQEAAAABW11bHRpCQEAAAAKTXVsdGlwbGllcgAAAAIFAAAACnByZWRpY3Rpb24FAAAACHJvbGxUeXBlBAAAAAZ3aW5BbXQJAQAAABpWYWxpZGF0ZUJldEFuZERlZmluZVdpbkFtdAAAAAMIBQAAAAdwYXltZW50AAAABmFtb3VudAUAAAAKcHJlZGljdGlvbgUAAAAIcm9sbFR5cGUEAAAADXBsYXllckJhbGFuY2UJAQAAAAx3YXZlc0JhbGFuY2UAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAACmdhbWVJZFVzZWQJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAABmdhbWVJZAMJAQAAAAIhPQAAAAIIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQFAAAABFdCRVQJAAACAAAAAQIAAAAdUGF5bWVudCBzaG91bGQgYmUgaW4gV2F2ZXNiZXQDCQAAZgAAAAIAAAAAAAAPQkAFAAAADXBsYXllckJhbGFuY2UJAAACAAAAAQIAAABFVGhlcmUgYXJlIG5vdCBlbm91Z2ggd2F2ZXMsIGl0IHRha2VzIDAuMDEgV2F2ZXMgdG8gYmV0LiBHYW1lIGFib3J0ZWQuAwUAAAAKZmVlQXNzZXRJZAkAAAIAAAABAgAAADFUcmFuc2FjdGlvbidzIGZlZSBtdXN0IGJlIGluIFdhdmVzLiBHYW1lIGFib3J0ZWQuAwUAAAAKZ2FtZUlkVXNlZAkAAAIAAAABAgAAADFQYXNzZWQgZ2FtZUlkIGhhZCBiZWVuIHVzZWQgYmVmb3JlLiBHYW1lIGFib3J0ZWQuBAAAAApuZXdHYW1lTnVtCQEAAAAQSW5jcmVtZW50R2FtZU51bQAAAAAEAAAADnBsYXllclB1YktleTU4CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAALZ2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAADlNUQVRFU1VCTUlUVEVEBQAAAApwcmVkaWN0aW9uBQAAAAhyb2xsVHlwZQUAAAAOcGxheWVyUHViS2V5NTgFAAAABndpbkFtdAIAAAAACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAOUkVTRVJWQVRJT05LRVkJAQAAAB5WYWxpZGF0ZUFuZEluY3JlYXNlUmVzZXJ2ZWRBbXQAAAABBQAAAAZ3aW5BbXQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAD0dBTUVTQ09VTlRFUktFWQUAAAAKbmV3R2FtZU51bQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkBQAAAAtnYW1lRGF0YVN0cgUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADldBTExFVFdBVkVTQkVUCQAAaQAAAAIJAABoAAAAAggFAAAAB3BheW1lbnQAAAAGYW1vdW50BQAAAAtGRUVXQVZFU0JFVAAAAAAAAAAAZAUAAAAEV0JFVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAxXQUxMRVRNQ0FGRUUJAABpAAAAAgkAAGgAAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAACUZFRU1DQUZFRQAAAAAAAAAAZAUAAAAEV0JFVAUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAgAAAAZnYW1lSWQAAAAGcnNhU2lnBAAAAAxnYW1lRGF0YUxpc3QJAQAAABNFeHRyYWN0R2FtZURhdGFMaXN0AAAAAQUAAAAGZ2FtZUlkBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAxJZHhHYW1lU3RhdGUEAAAACnByZWRpY3Rpb24JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAADUlkeFByZWRpY3Rpb24EAAAACHJvbGxUeXBlCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAHSWR4VHlwZQQAAAAGd2luQW10CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAlJZHhXaW5BbXQEAAAADnBsYXllclB1YktleTU4CQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAARSWR4UGxheWVyUHViS2V5NTgEAAAADXBsYXllckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAOcGxheWVyUHViS2V5NTgEAAAAEWRlY3JlYXNlZFJlc2VydmVzCQEAAAATRGVjcmVhc2VSZXNlcnZlZEFtdAAAAAIFAAAABmdhbWVJZAUAAAAGd2luQW10AwkBAAAAAiE9AAAAAgUAAAAJZ2FtZVN0YXRlBQAAAA5TVEFURVNVQk1JVFRFRAkAAAIAAAABAgAAADNJbnZhbGlkIGdhbWUgc3RhdGUgZm9yIHBhc3NlZCBnYW1lSWQuIEdhbWUgYWJvcnRlZC4EAAAABHJhbmQJAQAAAA9HZW5lcmF0ZVJhbmRJbnQAAAACBQAAAAZnYW1lSWQFAAAABnJzYVNpZwQAAAAHcmFuZFN0cgkBAAAACVJhbmRUb1N0cgAAAAEFAAAABHJhbmQDCQEAAAAHZGljZVdpbgAAAAMFAAAACHJvbGxUeXBlBQAAAApwcmVkaWN0aW9uBQAAAARyYW5kBAAAAA5uZXdHYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABgUAAAAIU1RBVEVXT04FAAAACnByZWRpY3Rpb24FAAAACHJvbGxUeXBlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAMV2luU2NyaXB0U2V0AAAABQUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAADm5ld0dhbWVEYXRhU3RyBQAAABFkZWNyZWFzZWRSZXNlcnZlcwQAAAAObmV3R2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAACVNUQVRFTE9TVAUAAAAKcHJlZGljdGlvbgUAAAAIcm9sbFR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAAZ3aW5BbXQFAAAAB3JhbmRTdHIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAAObmV3R2FtZURhdGFTdHIJAARMAAAAAgUAAAARZGVjcmVhc2VkUmVzZXJ2ZXMFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAA3R0eAUAAAAHJG1hdGNoMAkAAGcAAAACCQAAZQAAAAIJAAPrAAAAAgUAAAAEdGhpcwUAAAAEV0JFVAgFAAAAA3R0eAAAAAZhbW91bnQJAQAAABJFeHRyYWN0UmVzZXJ2ZWRBbXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAADc3R4BQAAAAckbWF0Y2gwBgcHJwPcOA==", "chainId": 84, "height": 746442, "spentComplexity": 0 } View: original | compacted Prev: A8dVvhohqrk6erGTwaXTAeBkdu9YcAzJ5rbSkECQR7yE Next: JE3MpLmNRxFdVaWswMqsoP9bHV1q9fBGG6QGe9D5eFR Diff:
OldNewDifferences
1818 let FEEWAVESBET = 4
1919
2020 let FEEMCAFEE = 2
21-
22-let FEES = (FEEWAVESBET + FEEMCAFEE)
2321
2422 let STATESUBMITTED = "SUBMITTED"
2523
591589 then throw(((("Prediction is out of the range: " + toString(PREDICTIONMIN)) + " <= prediction <= ") + toString(PREDICTIONMAX)))
592590 else {
593591 let multi = Multiplier(prediction, rollType)
594- fraction(((amount / 100000) * multi), (100 - FEES), 100)
592+ fraction(((amount / 100000) * multi), ((100 - FEEWAVESBET) - FEEMCAFEE), 100)
595593 }
596594
597595
600598 let gameId = toBase58String(i.transactionId)
601599 let payment = extract(i.payment)
602600 let feeAssetId = isDefined(i.feeAssetId)
601+ let multi = Multiplier(prediction, rollType)
603602 let winAmt = ValidateBetAndDefineWinAmt(payment.amount, prediction, rollType)
604603 let playerBalance = wavesBalance(i.caller)
605604 let gameIdUsed = isDefined(getString(this, gameId))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg4dAR6XbBDAS9hr/Ej3dJv6Ffc466x/mOGMWU3lrABs3qa8BHmuJGnkfbpEf2vAwYTOWPvvzfM10OBbfloSyq3c9MKvyTe1luBLGqW4vZUXIyvSgz1liyUVefIQy3dyF9jbeTZbC0bbcT/7O3DEL+01z6A+rDCacSZ0lGolSQ6AnhLxzIkVpOQJbrBmC+x+ZuZPCMWzJynd5aeOn7jaj/mkRVyxe6g/0OhWz4NiiZXeuMRB+8mKy0fWD/UlIlZWHsAS2ZmrkXKqjLq0/0wr8ILJkznjSqdnI5Ibjg3uQrj/4AN+i9r28aQ73/ZkPtY5Sbw0AOiABBu7gHmq9ayVxZQIDAQAB")
55
66 let GAMESCOUNTERKEY = "$GAME_NUM"
77
88 let RESERVATIONKEY = "$RESERVED_AMOUNT"
99
1010 let WBET = base58'A4q1mYKo11yuH9gmvDodeJoksagcyQzeFE9JtphMWddw'
1111
1212 let WALLETWAVESBET = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1313
1414 let WALLETMCAFEE = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1515
1616 let WAVELET = 100000000
1717
1818 let FEEWAVESBET = 4
1919
2020 let FEEMCAFEE = 2
21-
22-let FEES = (FEEWAVESBET + FEEMCAFEE)
2321
2422 let STATESUBMITTED = "SUBMITTED"
2523
2624 let STATEWON = "WON"
2725
2826 let STATELOST = "LOST"
2927
3028 let ROLLUNDER = "UNDER"
3129
3230 let ROLLOVER = "OVER"
3331
3432 let BETMIN = (1000 * WAVELET)
3533
3634 let BETMAX = (20000000 * WAVELET)
3735
3836 let PREDICTIONMIN = 1
3937
4038 let PREDICTIONMAX = 99
4139
4240 let IdxGameState = 0
4341
4442 let IdxPrediction = 1
4543
4644 let IdxType = 2
4745
4846 let IdxPlayerPubKey58 = 3
4947
5048 let IdxWinAmt = 4
5149
5250 let IdxRandOrEmpty = 5
5351
5452 func IncrementGameNum () = {
5553 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
5654 case num: Int =>
5755 num
5856 case _ =>
5957 0
6058 }
6159 (gameNum + 1)
6260 }
6361
6462
6563 func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
6664 case a: Int =>
6765 a
6866 case _ =>
6967 0
7068 }
7169
7270
7371 func ValidateAndIncreaseReservedAmt (winAmt) = {
7472 let newReservedAmount = (ExtractReservedAmt() + winAmt)
7573 let balance = assetBalance(this, WBET)
7674 if ((newReservedAmount > balance))
7775 then throw("Insufficient funds on Wavesbet Dice account. Transaction was rejected for your safety.")
7876 else newReservedAmount
7977 }
8078
8179
8280 func FormatGameDataParam (p) = {
8381 let s = size(p)
8482 if ((s == 0))
8583 then throw("Parameter size must be greater then 0")
8684 else if ((s > 99))
8785 then throw("Parameter size must be less then 100")
8886 else if ((10 > s))
8987 then (("0" + toString(s)) + p)
9088 else (toString(s) + p)
9189 }
9290
9391
9492 func FormatGameDataStr (gameState,prediction,typeRoll,playerPubKey58,winAmt,randOrEmpty) = {
9593 let fullStateStr = ((((((((FormatGameDataParam(gameState) + "_") + FormatGameDataParam(toString(prediction))) + "_") + FormatGameDataParam(typeRoll)) + "_") + FormatGameDataParam(playerPubKey58)) + "_") + FormatGameDataParam(toString(winAmt)))
9694 if ((randOrEmpty == ""))
9795 then fullStateStr
9896 else ((fullStateStr + "_") + FormatGameDataParam(randOrEmpty))
9997 }
10098
10199
102100 func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
103101 then drop(remaining, 1)
104102 else remaining
105103
106104
107105 func ParseNextAttribute (remaining) = {
108106 let s = size(remaining)
109107 if ((s > 0))
110108 then {
111109 let nn = parseIntValue(take(remaining, 2))
112110 let v = take(drop(remaining, 2), nn)
113111 let tmpRemaining = drop(remaining, (nn + 2))
114112 let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
115113 [v, remainingState]
116114 }
117115 else throw("Empty string was passed into parseNextAttribute func")
118116 }
119117
120118
121119 func ParseGameRawDataStr (rawStateStr) = {
122120 let gameState = ParseNextAttribute(rawStateStr)
123121 let prediction = ParseNextAttribute(gameState[1])
124122 let rollType = ParseNextAttribute(prediction[1])
125123 let playerPubKey58 = ParseNextAttribute(rollType[1])
126124 let winAmt = ParseNextAttribute(playerPubKey58[1])
127125 [gameState[0], prediction[0], rollType[0], playerPubKey58[0], winAmt[0]]
128126 }
129127
130128
131129 func ExtractGameDataList (gameId) = {
132130 let rawDataStr = match getString(this, gameId) {
133131 case str: String =>
134132 str
135133 case _ =>
136134 throw(("Couldn't find game by " + gameId))
137135 }
138136 ParseGameRawDataStr(rawDataStr)
139137 }
140138
141139
142140 func DecreaseReservedAmt (gameId,winAmt) = {
143141 let newReservedAmount = (ExtractReservedAmt() - winAmt)
144142 if ((0 > newReservedAmount))
145143 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
146144 else DataEntry(RESERVATIONKEY, newReservedAmount)
147145 }
148146
149147
150148 func GenerateRandInt (gameId,rsaSign) = {
151149 let rsaSigValid = rsaVerify(SHA256, toBytes(gameId), rsaSign, RSAPUBLIC)
152150 if (rsaSigValid)
153151 then {
154152 let rand = (toInt(sha256(rsaSign)) % 100)
155153 if ((0 > rand))
156154 then ((-1 * rand) + 1)
157155 else (rand + 1)
158156 }
159157 else throw("Invalid RSA signature")
160158 }
161159
162160
163161 func RandToStr (r) = if (if ((r >= 1))
164162 then (100 >= r)
165163 else false)
166164 then toString(r)
167165 else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(r)))
168166
169167
170168 func WinScriptSet (gameId,playerAddress,winAmt,newGameDataStr,decreasedReserves) = {
171169 let wSetCommonData = [decreasedReserves]
172170 let tSetCommonData = [ScriptTransfer(playerAddress, winAmt, WBET)]
173171 let gameData = DataEntry(gameId, newGameDataStr)
174172 ScriptResult(WriteSet(gameData :: wSetCommonData), TransferSet(tSetCommonData))
175173 }
176174
177175
178176 func Multiplier (prediction,rollType) = if ((rollType == ROLLUNDER))
179177 then if ((prediction == 1))
180178 then 9850000
181179 else if ((prediction == 2))
182180 then 4925000
183181 else if ((prediction == 3))
184182 then 3283330
185183 else if ((prediction == 4))
186184 then 2462500
187185 else if ((prediction == 5))
188186 then 1970000
189187 else if ((prediction == 6))
190188 then 1641660
191189 else if ((prediction == 7))
192190 then 1407140
193191 else if ((prediction == 8))
194192 then 1231250
195193 else if ((prediction == 9))
196194 then 1094440
197195 else if ((prediction == 10))
198196 then 985000
199197 else if ((prediction == 11))
200198 then 895450
201199 else if ((prediction == 12))
202200 then 820830
203201 else if ((prediction == 13))
204202 then 757690
205203 else if ((prediction == 14))
206204 then 703570
207205 else if ((prediction == 15))
208206 then 656660
209207 else if ((prediction == 16))
210208 then 615620
211209 else if ((prediction == 17))
212210 then 579410
213211 else if ((prediction == 18))
214212 then 547220
215213 else if ((prediction == 19))
216214 then 518420
217215 else if ((prediction == 20))
218216 then 492500
219217 else if ((prediction == 21))
220218 then 469040
221219 else if ((prediction == 22))
222220 then 447720
223221 else if ((prediction == 23))
224222 then 428260
225223 else if ((prediction == 24))
226224 then 410410
227225 else if ((prediction == 25))
228226 then 394000
229227 else if ((prediction == 26))
230228 then 378840
231229 else if ((prediction == 27))
232230 then 364810
233231 else if ((prediction == 28))
234232 then 351780
235233 else if ((prediction == 29))
236234 then 339650
237235 else if ((prediction == 30))
238236 then 328330
239237 else if ((prediction == 31))
240238 then 317740
241239 else if ((prediction == 32))
242240 then 307810
243241 else if ((prediction == 33))
244242 then 298480
245243 else if ((prediction == 34))
246244 then 289700
247245 else if ((prediction == 35))
248246 then 281420
249247 else if ((prediction == 36))
250248 then 273610
251249 else if ((prediction == 37))
252250 then 259210
253251 else if ((prediction == 38))
254252 then 259210
255253 else if ((prediction == 39))
256254 then 252560
257255 else if ((prediction == 40))
258256 then 246250
259257 else if ((prediction == 41))
260258 then 240240
261259 else if ((prediction == 42))
262260 then 234520
263261 else if ((prediction == 43))
264262 then 229060
265263 else if ((prediction == 44))
266264 then 223860
267265 else if ((prediction == 45))
268266 then 218880
269267 else if ((prediction == 46))
270268 then 214130
271269 else if ((prediction == 47))
272270 then 209570
273271 else if ((prediction == 48))
274272 then 205200
275273 else if ((prediction == 49))
276274 then 201020
277275 else if ((prediction == 50))
278276 then 197000
279277 else if ((prediction == 51))
280278 then 193130
281279 else if ((prediction == 52))
282280 then 189420
283281 else if ((prediction == 53))
284282 then 185840
285283 else if ((prediction == 54))
286284 then 182400
287285 else if ((prediction == 55))
288286 then 179090
289287 else if ((prediction == 56))
290288 then 175890
291289 else if ((prediction == 57))
292290 then 172800
293291 else if ((prediction == 58))
294292 then 169820
295293 else if ((prediction == 59))
296294 then 166940
297295 else if ((prediction == 60))
298296 then 164160
299297 else if ((prediction == 61))
300298 then 161470
301299 else if ((prediction == 62))
302300 then 158870
303301 else if ((prediction == 63))
304302 then 156340
305303 else if ((prediction == 64))
306304 then 153900
307305 else if ((prediction == 65))
308306 then 151530
309307 else if ((prediction == 66))
310308 then 149240
311309 else if ((prediction == 67))
312310 then 147010
313311 else if ((prediction == 68))
314312 then 144850
315313 else if ((prediction == 69))
316314 then 142750
317315 else if ((prediction == 70))
318316 then 140710
319317 else if ((prediction == 71))
320318 then 138730
321319 else if ((prediction == 72))
322320 then 136800
323321 else if ((prediction == 73))
324322 then 134930
325323 else if ((prediction == 74))
326324 then 133100
327325 else if ((prediction == 75))
328326 then 131330
329327 else if ((prediction == 76))
330328 then 129600
331329 else if ((prediction == 77))
332330 then 127920
333331 else if ((prediction == 78))
334332 then 126280
335333 else if ((prediction == 79))
336334 then 124680
337335 else if ((prediction == 80))
338336 then 123120
339337 else if ((prediction == 81))
340338 then 121600
341339 else if ((prediction == 82))
342340 then 120120
343341 else if ((prediction == 83))
344342 then 118670
345343 else if ((prediction == 84))
346344 then 117260
347345 else if ((prediction == 85))
348346 then 115880
349347 else if ((prediction == 86))
350348 then 114530
351349 else if ((prediction == 87))
352350 then 113210
353351 else if ((prediction == 88))
354352 then 111930
355353 else if ((prediction == 89))
356354 then 110670
357355 else if ((prediction == 90))
358356 then 109440
359357 else if ((prediction == 91))
360358 then 108240
361359 else if ((prediction == 92))
362360 then 107060
363361 else if ((prediction == 93))
364362 then 105910
365363 else if ((prediction == 94))
366364 then 104780
367365 else if ((prediction == 95))
368366 then 103680
369367 else if ((prediction == 96))
370368 then 103680
371369 else 100000
372370 else if ((rollType == ROLLOVER))
373371 then if ((prediction == 4))
374372 then 103680
375373 else if ((prediction == 5))
376374 then 103680
377375 else if ((prediction == 6))
378376 then 104780
379377 else if ((prediction == 7))
380378 then 105910
381379 else if ((prediction == 8))
382380 then 107060
383381 else if ((prediction == 9))
384382 then 108240
385383 else if ((prediction == 10))
386384 then 109440
387385 else if ((prediction == 11))
388386 then 110670
389387 else if ((prediction == 12))
390388 then 111930
391389 else if ((prediction == 13))
392390 then 113210
393391 else if ((prediction == 14))
394392 then 114530
395393 else if ((prediction == 15))
396394 then 115880
397395 else if ((prediction == 16))
398396 then 117260
399397 else if ((prediction == 17))
400398 then 118670
401399 else if ((prediction == 18))
402400 then 120120
403401 else if ((prediction == 19))
404402 then 121600
405403 else if ((prediction == 20))
406404 then 123120
407405 else if ((prediction == 21))
408406 then 124680
409407 else if ((prediction == 22))
410408 then 126280
411409 else if ((prediction == 23))
412410 then 127920
413411 else if ((prediction == 24))
414412 then 129600
415413 else if ((prediction == 25))
416414 then 131330
417415 else if ((prediction == 26))
418416 then 133100
419417 else if ((prediction == 27))
420418 then 134930
421419 else if ((prediction == 28))
422420 then 136800
423421 else if ((prediction == 29))
424422 then 138730
425423 else if ((prediction == 30))
426424 then 140710
427425 else if ((prediction == 31))
428426 then 142750
429427 else if ((prediction == 32))
430428 then 144850
431429 else if ((prediction == 33))
432430 then 147010
433431 else if ((prediction == 34))
434432 then 149240
435433 else if ((prediction == 35))
436434 then 151530
437435 else if ((prediction == 36))
438436 then 153900
439437 else if ((prediction == 37))
440438 then 156340
441439 else if ((prediction == 38))
442440 then 158870
443441 else if ((prediction == 39))
444442 then 161470
445443 else if ((prediction == 40))
446444 then 164160
447445 else if ((prediction == 41))
448446 then 166940
449447 else if ((prediction == 42))
450448 then 169820
451449 else if ((prediction == 43))
452450 then 172800
453451 else if ((prediction == 44))
454452 then 175890
455453 else if ((prediction == 45))
456454 then 179090
457455 else if ((prediction == 46))
458456 then 185840
459457 else if ((prediction == 47))
460458 then 185840
461459 else if ((prediction == 48))
462460 then 189420
463461 else if ((prediction == 49))
464462 then 193130
465463 else if ((prediction == 50))
466464 then 197000
467465 else if ((prediction == 51))
468466 then 201020
469467 else if ((prediction == 52))
470468 then 205200
471469 else if ((prediction == 53))
472470 then 209570
473471 else if ((prediction == 54))
474472 then 214130
475473 else if ((prediction == 55))
476474 then 218880
477475 else if ((prediction == 56))
478476 then 223860
479477 else if ((prediction == 57))
480478 then 229060
481479 else if ((prediction == 58))
482480 then 234520
483481 else if ((prediction == 59))
484482 then 240240
485483 else if ((prediction == 60))
486484 then 246250
487485 else if ((prediction == 61))
488486 then 252560
489487 else if ((prediction == 62))
490488 then 259210
491489 else if ((prediction == 63))
492490 then 259210
493491 else if ((prediction == 64))
494492 then 273610
495493 else if ((prediction == 65))
496494 then 281420
497495 else if ((prediction == 66))
498496 then 289700
499497 else if ((prediction == 67))
500498 then 298480
501499 else if ((prediction == 68))
502500 then 307810
503501 else if ((prediction == 69))
504502 then 317740
505503 else if ((prediction == 70))
506504 then 328330
507505 else if ((prediction == 71))
508506 then 339650
509507 else if ((prediction == 72))
510508 then 351780
511509 else if ((prediction == 73))
512510 then 364810
513511 else if ((prediction == 74))
514512 then 378840
515513 else if ((prediction == 75))
516514 then 394000
517515 else if ((prediction == 76))
518516 then 410410
519517 else if ((prediction == 77))
520518 then 428260
521519 else if ((prediction == 78))
522520 then 447720
523521 else if ((prediction == 79))
524522 then 469040
525523 else if ((prediction == 80))
526524 then 492500
527525 else if ((prediction == 81))
528526 then 518420
529527 else if ((prediction == 82))
530528 then 547220
531529 else if ((prediction == 83))
532530 then 579410
533531 else if ((prediction == 84))
534532 then 615620
535533 else if ((prediction == 85))
536534 then 656660
537535 else if ((prediction == 86))
538536 then 703570
539537 else if ((prediction == 87))
540538 then 757690
541539 else if ((prediction == 88))
542540 then 820830
543541 else if ((prediction == 89))
544542 then 895450
545543 else if ((prediction == 90))
546544 then 985000
547545 else if ((prediction == 91))
548546 then 1094440
549547 else if ((prediction == 92))
550548 then 1231250
551549 else if ((prediction == 93))
552550 then 1407140
553551 else if ((prediction == 94))
554552 then 1641660
555553 else if ((prediction == 95))
556554 then 1970000
557555 else if ((prediction == 96))
558556 then 2462500
559557 else if ((prediction == 97))
560558 then 3283330
561559 else if ((prediction == 98))
562560 then 4925000
563561 else if ((prediction == 99))
564562 then 9850000
565563 else 100000
566564 else 100000
567565
568566
569567 func diceWin (type,prediction,number) = if ((type == ROLLUNDER))
570568 then if ((prediction >= number))
571569 then true
572570 else false
573571 else if ((type == ROLLOVER))
574572 then if ((number >= prediction))
575573 then true
576574 else false
577575 else false
578576
579577
580578 func ValidateBetAndDefineWinAmt (amount,prediction,rollType) = if (if ((BETMIN > amount))
581579 then true
582580 else (amount > BETMAX))
583581 then throw(((("Bet amount is not in range: minBet=" + toString((BETMIN / WAVELET))) + " maxBet=") + toString((BETMAX / WAVELET))))
584582 else if (if ((rollType != ROLLUNDER))
585583 then (rollType != ROLLOVER)
586584 else false)
587585 then throw("Invalid Roll type, try with OVER or UNDER")
588586 else if (if ((PREDICTIONMIN > prediction))
589587 then true
590588 else (prediction > PREDICTIONMAX))
591589 then throw(((("Prediction is out of the range: " + toString(PREDICTIONMIN)) + " <= prediction <= ") + toString(PREDICTIONMAX)))
592590 else {
593591 let multi = Multiplier(prediction, rollType)
594- fraction(((amount / 100000) * multi), (100 - FEES), 100)
592+ fraction(((amount / 100000) * multi), ((100 - FEEWAVESBET) - FEEMCAFEE), 100)
595593 }
596594
597595
598596 @Callable(i)
599597 func playDice (rollType,prediction) = {
600598 let gameId = toBase58String(i.transactionId)
601599 let payment = extract(i.payment)
602600 let feeAssetId = isDefined(i.feeAssetId)
601+ let multi = Multiplier(prediction, rollType)
603602 let winAmt = ValidateBetAndDefineWinAmt(payment.amount, prediction, rollType)
604603 let playerBalance = wavesBalance(i.caller)
605604 let gameIdUsed = isDefined(getString(this, gameId))
606605 if ((payment.assetId != WBET))
607606 then throw("Payment should be in Wavesbet")
608607 else if ((1000000 > playerBalance))
609608 then throw("There are not enough waves, it takes 0.01 Waves to bet. Game aborted.")
610609 else if (feeAssetId)
611610 then throw("Transaction's fee must be in Waves. Game aborted.")
612611 else if (gameIdUsed)
613612 then throw("Passed gameId had been used before. Game aborted.")
614613 else {
615614 let newGameNum = IncrementGameNum()
616615 let playerPubKey58 = toBase58String(i.callerPublicKey)
617616 let gameDataStr = FormatGameDataStr(STATESUBMITTED, prediction, rollType, playerPubKey58, winAmt, "")
618617 ScriptResult(WriteSet([DataEntry(RESERVATIONKEY, ValidateAndIncreaseReservedAmt(winAmt)), DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet([ScriptTransfer(WALLETWAVESBET, ((payment.amount * FEEWAVESBET) / 100), WBET), ScriptTransfer(WALLETMCAFEE, ((payment.amount * FEEMCAFEE) / 100), WBET)]))
619618 }
620619 }
621620
622621
623622
624623 @Callable(i)
625624 func withdraw (gameId,rsaSig) = {
626625 let gameDataList = ExtractGameDataList(gameId)
627626 let gameState = gameDataList[IdxGameState]
628627 let prediction = parseIntValue(gameDataList[IdxPrediction])
629628 let rollType = gameDataList[IdxType]
630629 let winAmt = parseIntValue(gameDataList[IdxWinAmt])
631630 let playerPubKey58 = gameDataList[IdxPlayerPubKey58]
632631 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
633632 let decreasedReserves = DecreaseReservedAmt(gameId, winAmt)
634633 if ((gameState != STATESUBMITTED))
635634 then throw("Invalid game state for passed gameId. Game aborted.")
636635 else {
637636 let rand = GenerateRandInt(gameId, rsaSig)
638637 let randStr = RandToStr(rand)
639638 if (diceWin(rollType, prediction, rand))
640639 then {
641640 let newGameDataStr = FormatGameDataStr(STATEWON, prediction, rollType, playerPubKey58, winAmt, randStr)
642641 WinScriptSet(gameId, playerAddress, winAmt, newGameDataStr, decreasedReserves)
643642 }
644643 else {
645644 let newGameDataStr = FormatGameDataStr(STATELOST, prediction, rollType, playerPubKey58, winAmt, randStr)
646645 WriteSet([DataEntry(gameId, newGameDataStr), decreasedReserves])
647646 }
648647 }
649648 }
650649
651650
652651 @Verifier(tx)
653652 func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
654653 then match tx {
655654 case ttx: TransferTransaction =>
656655 ((assetBalance(this, WBET) - ttx.amount) >= ExtractReservedAmt())
657656 case stx: SetScriptTransaction =>
658657 true
659658 case _ =>
660659 false
661660 }
662661 else false
663662

github/deemru/w8io/3ef1775 
5881.58 ms