tx · 4qnvd5jc68qCzE3m3VbxDxJDGKqjQHAMhhnWi4P9KuXn

3Mrq917T9DgxmZHP2wBRURvA2jUseEGaMqW:  -0.02000000 Waves

2024.11.27 20:34 [3390127] smart account 3Mrq917T9DgxmZHP2wBRURvA2jUseEGaMqW > SELF 0.00000000 Waves

{ "type": 13, "id": "4qnvd5jc68qCzE3m3VbxDxJDGKqjQHAMhhnWi4P9KuXn", "fee": 2000000, "feeAssetId": null, "timestamp": 1732728851451, "version": 2, "chainId": 84, "sender": "3Mrq917T9DgxmZHP2wBRURvA2jUseEGaMqW", "senderPublicKey": "GCo4ZuX1Rm35x7nEMaxmHnkUeRoPqRk9knR7Ga55tMkD", "proofs": [ "B1HfrX7m6rCXmLRBdcCkBuBucixPvgCLvU24qdCMmz7W55skY52sFaCzvVYxdrLwPeF6S56DGsw3wTr1uLdwp4o" ], "script": "base64:BgIWCAISAwoBCBIDCgEIEgMKAQgSAwoBCDABCWlzVGVzdEVudgAEB3Rlc3RlbnYEByRtYXRjaDAJAJsIAgUEdGhpcwIHVEVTVEVOVgMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAF4BQckbWF0Y2gwBQF4BwUHdGVzdGVudgEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCdCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEMdHJ5R2V0U3RyaW5nAQNrZXkJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIFBHRoaXMFA2tleQEFYXNJbnQBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgNJbnQEA2ludAUHJG1hdGNoMAUDaW50AwkAAQIFByRtYXRjaDACBlN0cmluZwQGc3RyaW5nBQckbWF0Y2gwCQACAQkArAICAilSQUk6IHdyb25nIHR5cGUsIGV4cGVjdGVkOiBJbnQsIGJ1dCBnb3Q6IAUGc3RyaW5nCQACAQIeUkFJOiB3cm9uZyB0eXBlLCBleHBlY3RlZDogSW50AQlhc0Jvb2xlYW4BBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAdib29sZWFuBQckbWF0Y2gwBQdib29sZWFuCQACAQIiRkFCOiB3cm9uZyB0eXBlLCBleHBlY3RlZDogQm9vbGVhbgEIYXNTdHJpbmcBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMDCQABAgUHJG1hdGNoMAIDSW50BAFzBQckbWF0Y2gwCQACAQImd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IFN0cmluZywgZ290OiBJbnQDCQABAgUHJG1hdGNoMAIEVW5pdAQBcwUHJG1hdGNoMAkAAgECJ3dyb25nIHR5cGUsIGV4cGVjdGVkOiBTdHJpbmcsIGdvdDogVW5pdAkAAgECHHdyb25nIHR5cGUsIGV4cGVjdGVkOiBTdHJpbmcBF3N0YXRpY0tleV9vcmFjbGVBZGRyZXNzAAIUc3RhdGljX29yYWNsZUFkZHJlc3MBFHN0YXRpY0tleV9lZ2dBc3NldElkAAIRc3RhdGljX2VnZ0Fzc2V0SWQBFXN0YXRpY0tleV9idXJuQWRkcmVzcwACEnN0YXRpY19idXJuQWRkcmVzcwESc3RhdGljS2V5X2V4dHJhRmVlAAIPc3RhdGljX2V4dHJhRmVlARdzdGF0aWNLZXlfZmVlQWdncmVnYXRvcgACFHN0YXRpY19mZWVBZ2dyZWdhdG9yASBzdGF0aWNLZXlfdHVydGxlSW5jdWJhdG9yQWRkcmVzcwACHXN0YXRpY190dXJ0bGVJbmN1YmF0b3JBZGRyZXNzAR5zdGF0aWNLZXlfdHVydGxlQnJlZWRlckFkZHJlc3MAAhtzdGF0aWNfdHVydGxlQnJlZWRlckFkZHJlc3MBFnN0YXRpY0tleV9zcGljZUFzc2V0SWQAAhNzdGF0aWNfc3BpY2VBc3NldElkARxzdGF0aWNLZXlfcmVmQ29udHJhY3RBZGRyZXNzAAIZc3RhdGljX3JlZkNvbnRyYWN0QWRkcmVzcwEYc3RhdGljS2V5X2NvdXBvbnNBZGRyZXNzAAIVc3RhdGljX2NvdXBvbnNBZGRyZXNzAR5zdGF0aWNLZXlfdHVydGxlU3Rha2luZ0FkZHJlc3MAAhtzdGF0aWNfdHVydGxlU3Rha2luZ0FkZHJlc3MBHHN0YXRpY0tleV9kdWNrU3Rha2luZ0FkZHJlc3MAAhhzdGF0aWNfZmFybWluZ0FkZHJlc3NOZXcBHnN0YXRpY0tleV9kdWNrSW5jdWJhdG9yQWRkcmVzcwACF3N0YXRpY19pbmN1YmF0b3JBZGRyZXNzARZzdGF0aWNLZXlfaXRlbXNBZGRyZXNzAAITc3RhdGljX2l0ZW1zQWRkcmVzcwEhc3RhdGljS2V5X3R1cnRsZVNwaWNlUmViaXJ0aFByaWNlAAIec3RhdGljX3R1cnRsZVNwaWNlUmViaXJ0aFByaWNlASFzdGF0aWNLZXlfdHVydGxlV2F2ZXNSZWJpcnRoUHJpY2UAAh5zdGF0aWNfdHVydGxlV2F2ZXNSZWJpcnRoUHJpY2UBH3N0YXRpY0tleV90dXJ0bGVFZ2dSZWJpcnRoUHJpY2UAAhxzdGF0aWNfdHVydGxlRWdnUmViaXJ0aFByaWNlAQlnZXRPcmFjbGUACQEHQWRkcmVzcwEJANkEAQkBDHRyeUdldFN0cmluZwEJARdzdGF0aWNLZXlfb3JhY2xlQWRkcmVzcwABDWdldEVnZ0Fzc2V0SWQACQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEUc3RhdGljS2V5X2VnZ0Fzc2V0SWQAAQ5nZXRCdXJuQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBFXN0YXRpY0tleV9idXJuQWRkcmVzcwABEGdldEZlZUFnZ3JlZ2F0b3IACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARdzdGF0aWNLZXlfZmVlQWdncmVnYXRvcgABF2dldFR1cnRsZUJyZWVkZXJBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEec3RhdGljS2V5X3R1cnRsZUJyZWVkZXJBZGRyZXNzAAEZZ2V0VHVydGxlSW5jdWJhdG9yQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBIHN0YXRpY0tleV90dXJ0bGVJbmN1YmF0b3JBZGRyZXNzAAEPZ2V0U3BpY2VBc3NldElkAAkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBFnN0YXRpY0tleV9zcGljZUFzc2V0SWQAARVnZXRSZWZDb250cmFjdEFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARxzdGF0aWNLZXlfcmVmQ29udHJhY3RBZGRyZXNzAAERZ2V0Q291cG9uc0FkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARhzdGF0aWNLZXlfY291cG9uc0FkZHJlc3MAARdnZXRUdXJ0bGVTdGFraW5nQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHnN0YXRpY0tleV90dXJ0bGVTdGFraW5nQWRkcmVzcwABFWdldER1Y2tTdGFraW5nQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHHN0YXRpY0tleV9kdWNrU3Rha2luZ0FkZHJlc3MAARdnZXREdWNrSW5jdWJhdG9yQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBHnN0YXRpY0tleV9kdWNrSW5jdWJhdG9yQWRkcmVzcwABD2dldEl0ZW1zQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBFnN0YXRpY0tleV9pdGVtc0FkZHJlc3MAARV0cnlHZXRJbnRlZ2VyRXh0ZXJuYWwCB2FkZHJlc3MDa2V5BAckbWF0Y2gwCQCaCAIFB2FkZHJlc3MFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIJAAIBAhpUUjogVmFsdWUgbm90IGZvdW5kIGluIHNjIQALc3BpY2VBbW91bnQJARV0cnlHZXRJbnRlZ2VyRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBIXN0YXRpY0tleV90dXJ0bGVTcGljZVJlYmlydGhQcmljZQAACWVnZ0Ftb3VudAkBFXRyeUdldEludGVnZXJFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEfc3RhdGljS2V5X3R1cnRsZUVnZ1JlYmlydGhQcmljZQAAC3dhdmVzQW1vdW50CQEVdHJ5R2V0SW50ZWdlckV4dGVybmFsAgkBCWdldE9yYWNsZQAJASFzdGF0aWNLZXlfdHVydGxlV2F2ZXNSZWJpcnRoUHJpY2UAABBkZWxheUZvckhhdGNoaW5nAAIBD2NoZWNrUmVhbFR1cnRsZQEHYXNzZXRJZAMDCQAAAggJAQV2YWx1ZQEJAOwHAQUHYXNzZXRJZAZpc3N1ZXIJARdnZXRUdXJ0bGVCcmVlZGVyQWRkcmVzcwAGCQAAAggJAQV2YWx1ZQEJAOwHAQUHYXNzZXRJZAZpc3N1ZXIJARlnZXRUdXJ0bGVJbmN1YmF0b3JBZGRyZXNzAAYJAAIBAg1ub3QgdmFsaWQgTkZUARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQdwYXltZW50AwkBCWlzRGVmaW5lZAEIBQdwYXltZW50B2Fzc2V0SWQJAAIBAhlSQ0FQOiBQbGVhc2UgYXR0YWNoIHdhdmVzBAlmZWVBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIJAQlnZXRPcmFjbGUACQESc3RhdGljS2V5X2V4dHJhRmVlAAMJAQIhPQIIBQdwYXltZW50BmFtb3VudAUJZmVlQW1vdW50CQACAQkArAICCQCsAgICHFJDQVA6IFBsZWFzZSBhdHRhY2ggZXhhY3RseSAJAKQDAQUJZmVlQW1vdW50AhMgYW1vdW50IG9mIHdhdmVsZXRzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARBnZXRGZWVBZ2dyZWdhdG9yAAUJZmVlQW1vdW50BQR1bml0BQNuaWwBD2dldFJhbmRvbU51bWJlcgQHb3B0aW9ucwR0eElkFGhhdGNoaW5nRmluaXNoSGVpZ2h0Bm9mZnNldAQPcmFuZG9tU2VlZEJsb2NrCQEFdmFsdWUBCQDtBwEJAGUCBRRoYXRjaGluZ0ZpbmlzaEhlaWdodAABBApyYW5kb21IYXNoCQD3AwEJAMsBAgUEdHhJZAkBBXZhbHVlAQgFD3JhbmRvbVNlZWRCbG9jawN2cmYJAGoCCQCyCQIFCnJhbmRvbUhhc2gJAGgCBQZvZmZzZXQACAUHb3B0aW9ucwENdHJ5R2V0Qm9vbGVhbgEDa2V5BAckbWF0Y2gwCQCgCAEFA2tleQMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFiBQckbWF0Y2gwBQFiBwEMZ2V0UmFuZG9tV2luAgJ0eAxmaW5pc2hIZWlnaHQEDmphY2twb3RFbmFibGVkCQENdHJ5R2V0Qm9vbGVhbgECD0pBQ0tQT1RfRU5BQkxFRAQNamFja3BvdFJhbmRvbQkBD2dldFJhbmRvbU51bWJlcgQArAIFAnR4BQxmaW5pc2hIZWlnaHQAAQMDCQAAAgUNamFja3BvdFJhbmRvbQABBQ5qYWNrcG90RW5hYmxlZAcJAJQKAgUNamFja3BvdFJhbmRvbQIHamFja3BvdAQBbgkBD2dldFJhbmRvbU51bWJlcgQA6AcFAnR4BQxmaW5pc2hIZWlnaHQAAAQGcmVzdWx0AwkAZgIAKAUBbgIUaXRlbSFBUlQtRklSRV9TSElFTEQDCQBmAgBQBQFuAhJpdGVtIUFSVC1GSVJFX1RBSUwDCQBmAgBkBQFuAhFpdGVtIUFSVC1GUkVFR0VORQMJAGYCAJYBBQFuAgdiZWFjaF9SAwkAZgIAyAEFAW4CB2JlYWNoX1MDCQBmAgD6AQUBbgIHYmVhY2hfRwMJAGYCAKwCBQFuAgdiZWFjaF9EAwkAZgIA/AIFAW4CE2l0ZW0hQVJULU1VVEFSSVVNLUcDCQBmAgCQAwUBbgIOaXRlbSFBUlQtRkVFRDUDCQBmAgDYBAUBbgIPaXRlbSFBUlQtRkVFRDEwAwkAZgIA7AQFAW4CD2l0ZW0hQVJULUZFRUQxNQMJAGYCAIAFBQFuAg9pdGVtIUFSVC1GRUVEMjADCQBmAgCUBQUBbgIPaXRlbSFBUlQtRkVFRDI1AwkAZgIAqAUFAW4CD2l0ZW0hQVJULUZFRUQ1MAMJAGYCAPgFBQFuAhBpdGVtIUFSVC1GRUVEMTAwAwkAZgIAjAYFAW4CB3BlcmNoX0cDCQBmAgCgBgUBbgIHcGVyY2hfWQMJAGYCALQGBQFuAgdwZXJjaF9SAwkAZgIAyAYFAW4CB3BlcmNoX0IDCQBmAgDwBgUBbgITaXRlbSFBUlQtTVVUQVJJVU0tRAMJAGYCAKwHBQFuAglpbmN1YmF0b3ICDmR1Y2tfaW5jdWJhdG9yCQCUCgIFAW4FBnJlc3VsdAEVZmluaXNoUmViaXJ0aEludGVybmFsBAZpbml0VHgHYWRkcmVzcxFhZGRpdGlvbmFsUGF5bWVudAZkb3VibGUEC2ZpbmlzaEJsb2NrCQENdHJ5R2V0SW50ZWdlcgEJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCDF9maW5pc2hCbG9jawQGc3RhdHVzCQEMdHJ5R2V0U3RyaW5nAQkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3N0YXR1cwQMdmFsaWRQYXltZW50CQEWY2hlY2tBZGRpdGlvbmFsUGF5bWVudAEFEWFkZGl0aW9uYWxQYXltZW50AwkAAAIFDHZhbGlkUGF5bWVudAUMdmFsaWRQYXltZW50BAxyZWNvcmRBY3Rpb24JAPwHBAkBEWdldENvdXBvbnNBZGRyZXNzAAIMcmVjb3JkQWN0aW9uCQDMCAICDVJFQklSVEhUVVJUTEUFA25pbAUDbmlsAwkAAAIFDHJlY29yZEFjdGlvbgUMcmVjb3JkQWN0aW9uAwkBAiE9AgUGc3RhdHVzAgRvcGVuCQACAQIfcmViaXJ0aCBpcyBmaW5pc2hlZCBvciBub3Qgb3BlbgMJAGYCBQtmaW5pc2hCbG9jawUGaGVpZ2h0CQACAQIeeW91IGNhbm5vdCBmaW5pc2ggcmViaXJ0aCwgeWV0BAZvdXRwdXQJAQxnZXRSYW5kb21XaW4CCQDZBAEFBmluaXRUeAULZmluaXNoQmxvY2sEA3dpbggFBm91dHB1dAJfMgQGcmFuZG9tCAUGb3V0cHV0Al8xBAR0eElkBQZpbml0VHgEBnJlc3VsdAMJAQIhPQIJALMJAgUDd2luAgVwZXJjaAUEdW5pdAQFY29sb3IJALICAgUDd2luAAEEBGNhbGwDCQEBIQEFBmRvdWJsZQQFZmlyc3QJAPwHBAkBFWdldER1Y2tTdGFraW5nQWRkcmVzcwACDGFkZEZyZWVQZXJjaAkAzAgCBQdhZGRyZXNzCQDMCAIFBWNvbG9yCQDMCAIAAQUDbmlsBQNuaWwDCQAAAgUFZmlyc3QFBWZpcnN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19yZXN1bHQJAQhhc1N0cmluZwEFBWZpcnN0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EBWZpcnN0CQD8BwQJARVnZXREdWNrU3Rha2luZ0FkZHJlc3MAAgxhZGRGcmVlUGVyY2gJAMwIAgUHYWRkcmVzcwkAzAgCBQVjb2xvcgkAzAgCAAIFA25pbAUDbmlsAwkAAAIFBWZpcnN0BQVmaXJzdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgdfcmVzdWx0CQEIYXNTdHJpbmcBBQVmaXJzdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AghfcmVzdWx0MQkBCGFzU3RyaW5nAQUFZmlyc3QJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIFX3dpbjEFA3dpbgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFBGNhbGwFBGNhbGwFBGNhbGwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQECIT0CCQCzCQIFA3dpbgIFYmVhY2gFBHVuaXQEBWNvbG9yCQCyAgIFA3dpbgABBARjYWxsAwkBASEBBQZkb3VibGUEBWZpcnN0CQD8BwQJARdnZXRUdXJ0bGVTdGFraW5nQWRkcmVzcwACDGFkZEZyZWVCZWFjaAkAzAgCBQdhZGRyZXNzCQDMCAIFBWNvbG9yBQNuaWwFA25pbAMJAAACBQVmaXJzdAUFZmlyc3QJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3Jlc3VsdAkBCGFzU3RyaW5nAQUFZmlyc3QFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQFZmlyc3QJAPwHBAkBF2dldFR1cnRsZVN0YWtpbmdBZGRyZXNzAAIMYWRkRnJlZUJlYWNoCQDMCAIFB2FkZHJlc3MJAMwIAgUFY29sb3IFA25pbAUDbmlsAwkAAAIFBWZpcnN0BQVmaXJzdAQGc2Vjb25kCQD8BwQJARdnZXRUdXJ0bGVTdGFraW5nQWRkcmVzcwACDGFkZEZyZWVCZWFjaAkAzAgCBQdhZGRyZXNzCQDMCAIFBWNvbG9yBQNuaWwFA25pbAMJAAACBQZzZWNvbmQFBnNlY29uZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgdfcmVzdWx0CQEIYXNTdHJpbmcBBQVmaXJzdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AghfcmVzdWx0MQkBCGFzU3RyaW5nAQUGc2Vjb25kCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCBV93aW4xBQN3aW4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQRjYWxsBQRjYWxsBQRjYWxsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFA3dpbgIHamFja3BvdAQEY2FsbAkA/AcECQEZZ2V0VHVydGxlSW5jdWJhdG9yQWRkcmVzcwACDGlzc3VlSmFja3BvdAkAzAgCBQdhZGRyZXNzCQDMCAIFBHR4SWQJAMwIAgkBC3ZhbHVlT3JFbHNlAgkAoggBAgxKQUNLUE9UX05BTUUCCFdXV1dYTUFTBQNuaWwFA25pbAMJAAACBQRjYWxsBQRjYWxsCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19yZXN1bHQJAQhhc1N0cmluZwEFBGNhbGwFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQN3aW4CCWluY3ViYXRvcgQEY2FsbAMJAQEhAQUGZG91YmxlBAVmaXJzdAkA/AcECQEZZ2V0VHVydGxlSW5jdWJhdG9yQWRkcmVzcwACD2lzc3VlRnJlZVR1cnRsZQkAzAgCBQdhZGRyZXNzCQDMCAIFBHR4SWQFA25pbAUDbmlsAwkAAAIFBWZpcnN0BQVmaXJzdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgdfcmVzdWx0CQEIYXNTdHJpbmcBBQVmaXJzdAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAVmaXJzdAkA/AcECQEZZ2V0VHVydGxlSW5jdWJhdG9yQWRkcmVzcwACD2lzc3VlRnJlZVR1cnRsZQkAzAgCBQdhZGRyZXNzCQDMCAIFBHR4SWQFA25pbAUDbmlsAwkAAAIFBWZpcnN0BQVmaXJzdAQGc2Vjb25kCQD8BwQJARdnZXREdWNrSW5jdWJhdG9yQWRkcmVzcwACGWlzc3VlRnJlZUR1Y2tEZWZpbmVkR2VuZXMJAMwIAgUHYWRkcmVzcwkAzAgCBQR0eElkCQDMCAICCFpaWlpaWlpaBQNuaWwFA25pbAMJAAACBQZzZWNvbmQFBnNlY29uZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgdfcmVzdWx0CQEIYXNTdHJpbmcBBQVmaXJzdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AghfcmVzdWx0MQkBCGFzU3RyaW5nAQUGc2Vjb25kCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCBV93aW4xAg5kdWNrX2luY3ViYXRvcgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFBGNhbGwFBGNhbGwFBGNhbGwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQAAAgUDd2luAg5kdWNrX2luY3ViYXRvcgQEY2FsbAMJAQEhAQUGZG91YmxlBAVmaXJzdAkA/AcECQEXZ2V0RHVja0luY3ViYXRvckFkZHJlc3MAAhlpc3N1ZUZyZWVEdWNrRGVmaW5lZEdlbmVzCQDMCAIFB2FkZHJlc3MJAMwIAgUEdHhJZAkAzAgCAghaWlpaWlpaWgUDbmlsBQNuaWwDCQAAAgUFZmlyc3QFBWZpcnN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19yZXN1bHQJAQhhc1N0cmluZwEFBWZpcnN0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EBWZpcnN0CQD8BwQJARdnZXREdWNrSW5jdWJhdG9yQWRkcmVzcwACGWlzc3VlRnJlZUR1Y2tEZWZpbmVkR2VuZXMJAMwIAgUHYWRkcmVzcwkAzAgCBQR0eElkCQDMCAICCFpaWlpaWlpaBQNuaWwFA25pbAMJAAACBQVmaXJzdAUFZmlyc3QEBnNlY29uZAkA/AcECQEZZ2V0VHVydGxlSW5jdWJhdG9yQWRkcmVzcwACD2lzc3VlRnJlZVR1cnRsZQkAzAgCBQdhZGRyZXNzCQDMCAIFBHR4SWQFA25pbAUDbmlsAwkAAAIFBnNlY29uZAUGc2Vjb25kCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19yZXN1bHQJAQhhc1N0cmluZwEFBWZpcnN0CQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCCF9yZXN1bHQxCQEIYXNTdHJpbmcBBQZzZWNvbmQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIFX3dpbjECCWluY3ViYXRvcgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFBGNhbGwFBGNhbGwFBGNhbGwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQECIT0CCQCzCQIFA3dpbgIEaXRlbQUEdW5pdAQIaXRlbU5hbWUJAJEDAgkAtQkCBQN3aW4CASEAAQQEY2FsbAMJAQEhAQUGZG91YmxlBAVmaXJzdAkA/AcECQEPZ2V0SXRlbXNBZGRyZXNzAAISaXNzdWVBcnRlZmFjdEluZGV4CQDMCAIFCGl0ZW1OYW1lCQDMCAIFB2FkZHJlc3MJAMwIAgAABQNuaWwFA25pbAMJAAACBQVmaXJzdAUFZmlyc3QJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3Jlc3VsdAkBCGFzU3RyaW5nAQUFZmlyc3QFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQFZmlyc3QJAPwHBAkBD2dldEl0ZW1zQWRkcmVzcwACEmlzc3VlQXJ0ZWZhY3RJbmRleAkAzAgCBQhpdGVtTmFtZQkAzAgCBQdhZGRyZXNzCQDMCAIAAAUDbmlsBQNuaWwDCQAAAgUFZmlyc3QFBWZpcnN0BAZzZWNvbmQJAPwHBAkBD2dldEl0ZW1zQWRkcmVzcwACEmlzc3VlQXJ0ZWZhY3RJbmRleAkAzAgCBQhpdGVtTmFtZQkAzAgCBQdhZGRyZXNzCQDMCAIAAQUDbmlsBQNuaWwDCQAAAgUGc2Vjb25kBQZzZWNvbmQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3Jlc3VsdAkBCGFzU3RyaW5nAQUFZmlyc3QJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIIX3Jlc3VsdDEJAQhhc1N0cmluZwEFBnNlY29uZAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgVfd2luMQUDd2luBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQAAAgUEY2FsbAUEY2FsbAUEY2FsbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECM1JGQjogU29tZSBlcnJvciBvY2N1cmVkLCBwbGVhc2UgY29udGFjdCB0aGUgYWRtaW5zIQkAzggCCQDOCAIFBnJlc3VsdAkAzAgCCQELU3RyaW5nRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgRfd2luBQN3aW4JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIHX3N0YXR1cwIGZmluaXNoCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQdhZGRyZXNzAghfaW5pdFR4XwUGaW5pdFR4AgdfcmFuZG9tBQZyYW5kb20FA25pbAUMdmFsaWRQYXltZW50CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAFpAQ9jb25maWd1cmVPcmFjbGUBBm9yYWNsZQMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECD1JDVTogYWRtaW4gb25seQkAzAgCCQELU3RyaW5nRW50cnkCAhRzdGF0aWNfb3JhY2xlQWRkcmVzcwUGb3JhY2xlBQNuaWwBaQELaW5pdFJlYmlydGgBDnJlZmVyZXJBZGRyZXNzBAlwbXRUdXJ0bGUJAJEDAggFAWkIcGF5bWVudHMAAAQIcG10V2F2ZXMJAJEDAggFAWkIcGF5bWVudHMAAQQIcG10U3BpY2UJAJEDAggFAWkIcGF5bWVudHMAAgQHYXNzZXRJZAkBBXZhbHVlAQgFCXBtdFR1cnRsZQdhc3NldElkBAZpbml0VHgJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIDCQECIT0CCAUJcG10VHVydGxlBmFtb3VudAABCQACAQITTkZUIGlzIG5vdCBhdHRhY2hlZAMDCQECIT0CCAUIcG10V2F2ZXMGYW1vdW50BQt3YXZlc0Ftb3VudAYJAQIhPQIIBQhwbXRXYXZlcwdhc3NldElkBQR1bml0CQACAQImV2F2ZXNwYXltZW50IGlzIG5vdCBhdHRhY2hlZCBvciB3cm9uZyEDAwkBAiE9AggFCHBtdFNwaWNlBmFtb3VudAULc3BpY2VBbW91bnQGCQECIT0CCAUIcG10U3BpY2UHYXNzZXRJZAkBD2dldFNwaWNlQXNzZXRJZAAJAAIBAiZTcGljZVBheW1lbnQgaXMgbm90IGF0dGFjaGVkIG9yIHdyb25nIQQTYW1vdW50UGFpZEJ5Q291cG9ucwkBBWFzSW50AQkA/AcECQERZ2V0Q291cG9uc0FkZHJlc3MAAgp1c2VDb3Vwb25zCQDMCAIFCWVnZ0Ftb3VudAUDbmlsBQNuaWwDCQAAAgUTYW1vdW50UGFpZEJ5Q291cG9ucwUTYW1vdW50UGFpZEJ5Q291cG9ucwQJbGVmdFRvUGF5CQBlAgUJZWdnQW1vdW50BRNhbW91bnRQYWlkQnlDb3Vwb25zBAV0b3B1cAkA/AcECQEXZ2V0VHVydGxlU3Rha2luZ0FkZHJlc3MAAgt0b3BVcFJld2FyZAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQEPZ2V0U3BpY2VBc3NldElkAAgFCHBtdFNwaWNlBmFtb3VudAUDbmlsAwkAAAIFBXRvcHVwBQV0b3B1cAQHcGF5bWVudAMJAQIhPQIFCWxlZnRUb1BheQAABAZwbXRFZ2cJAJEDAggFAWkIcGF5bWVudHMAAwQKZmVlUGF5bWVudAkBBXZhbHVlAQUGcG10RWdnAwkBAiE9AggFCmZlZVBheW1lbnQHYXNzZXRJZAkBDWdldEVnZ0Fzc2V0SWQACQACAQIkWW91IG5lZWQgdG8gYXR0YWNoIEVHRyB0b2tlbnMgYXMgZmVlAwkBAiE9AggFCmZlZVBheW1lbnQGYW1vdW50BQlsZWZ0VG9QYXkJAAIBCQCsAgICQFlvdSBuZWVkIHRvIGF0dGFjaCB0aGUgZm9sbG93aW5nIGFtb3VudCBvZiBFR0cgdG9rZW5zIGFzIGZlZTogMC4JAKQDAQUJbGVmdFRvUGF5BBVyZWZlcmVyUmV3YXJkRm9yUGVyY2gJAGsDBQlsZWZ0VG9QYXkABQBkBAdyZWZDYWxsCQEJYXNCb29sZWFuAQkA/AcECQEVZ2V0UmVmQ29udHJhY3RBZGRyZXNzAAIKcmVmUGF5bWVudAkAzAgCBQ5yZWZlcmVyQWRkcmVzcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0RWdnQXNzZXRJZAAFFXJlZmVyZXJSZXdhcmRGb3JQZXJjaAUDbmlsAwkAAAIFB3JlZkNhbGwFB3JlZkNhbGwEBnRvQnVybgMFB3JlZkNhbGwJAGUCBQlsZWZ0VG9QYXkFFXJlZmVyZXJSZXdhcmRGb3JQZXJjaAUJbGVmdFRvUGF5BAhidXJuQ2FsbAkA/AcECQEOZ2V0QnVybkFkZHJlc3MAAhRidXJuQXR0YWNoZWRQYXltZW50cwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0RWdnQXNzZXRJZAAFBnRvQnVybgUDbmlsAwkAAAIFCGJ1cm5DYWxsBQhidXJuQ2FsbAUJbGVmdFRvUGF5CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAADCQAAAgUHcGF5bWVudAUHcGF5bWVudAQKcmVhbFR1cnRsZQkBD2NoZWNrUmVhbFR1cnRsZQEFB2Fzc2V0SWQDCQAAAgUKcmVhbFR1cnRsZQUKcmVhbFR1cnRsZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIMX2ZpbmlzaEJsb2NrCQBkAgUGaGVpZ2h0BRBkZWxheUZvckhhdGNoaW5nCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18FB2FkZHJlc3MCCF9pbml0VHhfBQZpbml0VHgCB19zdGF0dXMCBG9wZW4JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgIJAKwCAgkArAICAghhZGRyZXNzXwUHYWRkcmVzcwIIX2luaXRUeF8FBmluaXRUeAIIX2Fzc2V0SWQJANgEAQUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEQZ2V0RmVlQWdncmVnYXRvcgAIBQhwbXRXYXZlcwZhbW91bnQFBHVuaXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ1maW5pc2hSZWJpcnRoAQZpbml0VHgJARVmaW5pc2hSZWJpcnRoSW50ZXJuYWwEBQZpbml0VHgJAKUIAQgFAWkGY2FsbGVyCQCRAwIIBQFpCHBheW1lbnRzAAAHAWkBE2ZpbmlzaFJlYmlydGhEb3VibGUBBmluaXRUeAMJAQEhAQMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAIJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAABBwkAAgECD0ludmFsaWQgcGF5bWVudAQHYXNzZXRJZAkBBXZhbHVlAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkBAtib29zdGVyVHlwZQkBCGFzU3RyaW5nAQkA/AcECQEPZ2V0SXRlbXNBZGRyZXNzAAIUY2hlY2tBcnRlZmFjdERldGFpbHMJAMwIAgkA2AQBBQdhc3NldElkBQNuaWwFA25pbAMJAAACBQtib29zdGVyVHlwZQULYm9vc3RlclR5cGUDCQAAAgULYm9vc3RlclR5cGUCDkFSVC1HSUZUX0RPVUJMCQDOCAIJAMwIAgkBBEJ1cm4CBQdhc3NldElkAAEFA25pbAkBFWZpbmlzaFJlYmlydGhJbnRlcm5hbAQFBmluaXRUeAkApQgBCAUBaQZjYWxsZXIJAJEDAggFAWkIcGF5bWVudHMAAQYJAAIBAi1FcnJvciEgV3JvbmcgaXRlbSBhdHRhY2hlZCB0byBkb3VibGUgcmV3YXJkcyEJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkAAwkBCWlzVGVzdEVudgAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkECWZpcnN0VXNlcgEgURzk/Wb/EmnS8VoUnzuy4vQ7f8HLaCeiNF5sONdX3W0ECnNlY29uZFVzZXIBIFxyDkuu8SFPZuYZRfpqorHtsTYpWV8ZzMyw4U1BiGp9BAl0aGlyZFVzZXIBIKCvkeUteUNhYTISrY65+hhZUZ0tU0k2w9Cj96hgGTtOBA9maXJzdFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQlmaXJzdFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCWZpcnN0VXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUJZmlyc3RVc2VyAAEAAAQQc2Vjb25kVXNlclNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFCnNlY29uZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCnNlY29uZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCnNlY29uZFVzZXIAAQAABA90aGlyZFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQl0aGlyZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFCXRoaXJkVXNlcgABAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUJdGhpcmRVc2VyAAEAAAQPc2lnbmF0dXJlc0NvdW50CQBkAgkAZAIFD2ZpcnN0VXNlclNpZ25lZAUQc2Vjb25kVXNlclNpZ25lZAUPdGhpcmRVc2VyU2lnbmVkBAckbWF0Y2gwBQJ0eAkAZwIFD3NpZ25hdHVyZXNDb3VudAAC/MrZ+g==", "height": 3390127, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DLZf1RDWNZGzGaokJ8jaq3DwUxdXVhf7ywoLT8r4yhbU Next: Ask62ZaThJG2MrccVRnR7n1ku45Lu4epyPNCBWBZVEZW Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a () = {
55 let b = {
66 let c = getBoolean(this, "TESTENV")
77 if ($isInstanceOf(c, "Boolean"))
88 then {
99 let d = c
1010 d
1111 }
1212 else false
1313 }
1414 b
1515 }
1616
1717
1818 func e (f,g) = {
1919 let c = getString(f, g)
2020 if ($isInstanceOf(c, "String"))
2121 then {
2222 let h = c
2323 h
2424 }
2525 else ""
2626 }
2727
2828
2929 func i (g) = {
3030 let c = getInteger(this, g)
3131 if ($isInstanceOf(c, "Int"))
3232 then {
3333 let j = c
3434 j
3535 }
3636 else 0
3737 }
3838
3939
4040 func k (g) = e(this, g)
4141
4242
4343 func l (m) = {
4444 let c = m
4545 if ($isInstanceOf(c, "Int"))
4646 then {
4747 let n = c
4848 n
4949 }
5050 else if ($isInstanceOf(c, "String"))
5151 then {
5252 let o = c
5353 throw(("RAI: wrong type, expected: Int, but got: " + o))
5454 }
5555 else throw("RAI: wrong type, expected: Int")
5656 }
5757
5858
5959 func p (m) = {
6060 let c = m
6161 if ($isInstanceOf(c, "Boolean"))
6262 then {
6363 let q = c
6464 q
6565 }
6666 else throw("FAB: wrong type, expected: Boolean")
6767 }
6868
6969
7070 func r (m) = {
7171 let c = m
7272 if ($isInstanceOf(c, "String"))
7373 then {
7474 let s = c
7575 s
7676 }
7777 else if ($isInstanceOf(c, "Int"))
7878 then {
7979 let s = c
8080 throw("wrong type, expected: String, got: Int")
8181 }
8282 else if ($isInstanceOf(c, "Unit"))
8383 then {
8484 let s = c
8585 throw("wrong type, expected: String, got: Unit")
8686 }
8787 else throw("wrong type, expected: String")
8888 }
8989
9090
9191 func t () = "static_oracleAddress"
9292
9393
9494 func u () = "static_eggAssetId"
9595
9696
9797 func v () = "static_burnAddress"
9898
9999
100100 func w () = "static_extraFee"
101101
102102
103103 func x () = "static_feeAggregator"
104104
105105
106106 func y () = "static_turtleIncubatorAddress"
107107
108108
109109 func z () = "static_turtleBreederAddress"
110110
111111
112112 func A () = "static_spiceAssetId"
113113
114114
115115 func B () = "static_refContractAddress"
116116
117117
118118 func C () = "static_couponsAddress"
119119
120120
121121 func D () = "static_turtleStakingAddress"
122122
123123
124124 func E () = "static_farmingAddressNew"
125125
126126
127127 func F () = "static_incubatorAddress"
128128
129129
130130 func G () = "static_itemsAddress"
131131
132132
133133 func H () = "static_turtleSpiceRebirthPrice"
134134
135135
136136 func I () = "static_turtleWavesRebirthPrice"
137137
138138
139139 func J () = "static_turtleEggRebirthPrice"
140140
141141
142142 func K () = Address(fromBase58String(k(t())))
143143
144144
145145 func L () = fromBase58String(e(K(), u()))
146146
147147
148148 func M () = Address(fromBase58String(e(K(), v())))
149149
150150
151151 func N () = Address(fromBase58String(e(K(), x())))
152152
153153
154154 func O () = Address(fromBase58String(e(K(), z())))
155155
156156
157157 func P () = Address(fromBase58String(e(K(), y())))
158158
159159
160160 func Q () = fromBase58String(e(K(), A()))
161161
162162
163163 func R () = Address(fromBase58String(e(K(), B())))
164164
165165
166166 func S () = Address(fromBase58String(e(K(), C())))
167167
168168
169169 func T () = Address(fromBase58String(e(K(), D())))
170170
171171
172172 func U () = Address(fromBase58String(e(K(), E())))
173173
174174
175175 func V () = Address(fromBase58String(e(K(), F())))
176176
177177
178178 func W () = Address(fromBase58String(e(K(), G())))
179179
180180
181181 func X (f,g) = {
182182 let c = getInteger(f, g)
183183 if ($isInstanceOf(c, "Int"))
184184 then {
185185 let j = c
186186 j
187187 }
188188 else throw("TR: Value not found in sc!")
189189 }
190190
191191
192192 let Y = X(K(), H())
193193
194194 let Z = X(K(), J())
195195
196196 let aa = X(K(), I())
197197
198198 let ab = 2
199199
200200 func ac (ad) = if (if ((value(assetInfo(ad)).issuer == O()))
201201 then true
202202 else (value(assetInfo(ad)).issuer == P()))
203203 then true
204204 else throw("not valid NFT")
205205
206206
207207 func ae (af) = if (isDefined(af.assetId))
208208 then throw("RCAP: Please attach waves")
209209 else {
210210 let ag = getIntegerValue(K(), w())
211211 if ((af.amount != ag))
212212 then throw((("RCAP: Please attach exactly " + toString(ag)) + " amount of wavelets"))
213213 else [ScriptTransfer(N(), ag, unit)]
214214 }
215215
216216
217217 func ah (ai,aj,ak,al) = {
218218 let am = value(blockInfoByHeight((ak - 1)))
219219 let an = sha256((aj + value(am.vrf)))
220220 (toInt(an, (al * 8)) % ai)
221221 }
222222
223223
224224 func ao (g) = {
225225 let c = getBoolean(g)
226226 if ($isInstanceOf(c, "Boolean"))
227227 then {
228228 let j = c
229229 j
230230 }
231231 else false
232232 }
233233
234234
235235 func ap (aq,ar) = {
236236 let as = ao("JACKPOT_ENABLED")
237237 let at = ah(300, aq, ar, 1)
238238 if (if ((at == 1))
239239 then as
240240 else false)
241241 then $Tuple2(at, "jackpot")
242242 else {
243243 let au = ah(1000, aq, ar, 0)
244244 let av = if ((40 > au))
245245 then "item!ART-FIRE_SHIELD"
246246 else if ((80 > au))
247247 then "item!ART-FIRE_TAIL"
248248 else if ((100 > au))
249249 then "item!ART-FREEGENE"
250250 else if ((150 > au))
251251 then "beach_R"
252252 else if ((200 > au))
253253 then "beach_S"
254254 else if ((250 > au))
255255 then "beach_G"
256256 else if ((300 > au))
257257 then "beach_D"
258258 else if ((380 > au))
259259 then "item!ART-MUTARIUM-G"
260260 else if ((400 > au))
261261 then "item!ART-FEED5"
262262 else if ((600 > au))
263263 then "item!ART-FEED10"
264264 else if ((620 > au))
265265 then "item!ART-FEED15"
266266 else if ((640 > au))
267267 then "item!ART-FEED20"
268268 else if ((660 > au))
269269 then "item!ART-FEED25"
270270 else if ((680 > au))
271271 then "item!ART-FEED50"
272272 else if ((760 > au))
273273 then "item!ART-FEED100"
274274 else if ((780 > au))
275275 then "perch_G"
276276 else if ((800 > au))
277277 then "perch_Y"
278278 else if ((820 > au))
279279 then "perch_R"
280280 else if ((840 > au))
281281 then "perch_B"
282282 else if ((880 > au))
283283 then "item!ART-MUTARIUM-D"
284284 else if ((940 > au))
285285 then "incubator"
286286 else "duck_incubator"
287287 $Tuple2(au, av)
288288 }
289289 }
290290
291291
292292 func aw (ax,f,ay,az) = {
293293 let aA = i((((("address_" + f) + "_initTx_") + ax) + "_finishBlock"))
294294 let aB = k((((("address_" + f) + "_initTx_") + ax) + "_status"))
295295 let aC = ae(ay)
296296 if ((aC == aC))
297297 then {
298298 let aD = invoke(S(), "recordAction", ["REBIRTHTURTLE"], nil)
299299 if ((aD == aD))
300300 then if ((aB != "open"))
301301 then throw("rebirth is finished or not open")
302302 else if ((aA > height))
303303 then throw("you cannot finish rebirth, yet")
304304 else {
305305 let aE = ap(fromBase58String(ax), aA)
306306 let aF = aE._2
307307 let aG = aE._1
308308 let aj = ax
309309 let av = if ((indexOf(aF, "perch") != unit))
310310 then {
311311 let aH = takeRight(aF, 1)
312312 let aI = if (!(az))
313313 then {
314314 let aJ = invoke(U(), "addFreePerch", [f, aH, 1], nil)
315315 if ((aJ == aJ))
316316 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
317317 else throw("Strict value is not equal to itself.")
318318 }
319319 else {
320320 let aJ = invoke(U(), "addFreePerch", [f, aH, 2], nil)
321321 if ((aJ == aJ))
322322 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), aF)]
323323 else throw("Strict value is not equal to itself.")
324324 }
325325 if ((aI == aI))
326326 then aI
327327 else throw("Strict value is not equal to itself.")
328328 }
329329 else if ((indexOf(aF, "beach") != unit))
330330 then {
331331 let aH = takeRight(aF, 1)
332332 let aI = if (!(az))
333333 then {
334334 let aJ = invoke(T(), "addFreeBeach", [f, aH], nil)
335335 if ((aJ == aJ))
336336 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
337337 else throw("Strict value is not equal to itself.")
338338 }
339339 else {
340340 let aJ = invoke(T(), "addFreeBeach", [f, aH], nil)
341341 if ((aJ == aJ))
342342 then {
343343 let aK = invoke(T(), "addFreeBeach", [f, aH], nil)
344344 if ((aK == aK))
345345 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), aF)]
346346 else throw("Strict value is not equal to itself.")
347347 }
348348 else throw("Strict value is not equal to itself.")
349349 }
350350 if ((aI == aI))
351351 then aI
352352 else throw("Strict value is not equal to itself.")
353353 }
354354 else if ((aF == "jackpot"))
355355 then {
356356 let aI = invoke(P(), "issueJackpot", [f, aj, valueOrElse(getString("JACKPOT_NAME"), "WWWWXMAS")], nil)
357357 if ((aI == aI))
358358 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aI))]
359359 else throw("Strict value is not equal to itself.")
360360 }
361361 else if ((aF == "incubator"))
362362 then {
363363 let aI = if (!(az))
364364 then {
365365 let aJ = invoke(P(), "issueFreeTurtle", [f, aj], nil)
366366 if ((aJ == aJ))
367367 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
368368 else throw("Strict value is not equal to itself.")
369369 }
370370 else {
371371 let aJ = invoke(P(), "issueFreeTurtle", [f, aj], nil)
372372 if ((aJ == aJ))
373373 then {
374374 let aK = invoke(V(), "issueFreeDuckDefinedGenes", [f, aj, "ZZZZZZZZ"], nil)
375375 if ((aK == aK))
376376 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), "duck_incubator")]
377377 else throw("Strict value is not equal to itself.")
378378 }
379379 else throw("Strict value is not equal to itself.")
380380 }
381381 if ((aI == aI))
382382 then aI
383383 else throw("Strict value is not equal to itself.")
384384 }
385385 else if ((aF == "duck_incubator"))
386386 then {
387387 let aI = if (!(az))
388388 then {
389389 let aJ = invoke(V(), "issueFreeDuckDefinedGenes", [f, aj, "ZZZZZZZZ"], nil)
390390 if ((aJ == aJ))
391391 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
392392 else throw("Strict value is not equal to itself.")
393393 }
394394 else {
395395 let aJ = invoke(V(), "issueFreeDuckDefinedGenes", [f, aj, "ZZZZZZZZ"], nil)
396396 if ((aJ == aJ))
397397 then {
398398 let aK = invoke(P(), "issueFreeTurtle", [f, aj], nil)
399399 if ((aK == aK))
400400 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), "incubator")]
401401 else throw("Strict value is not equal to itself.")
402402 }
403403 else throw("Strict value is not equal to itself.")
404404 }
405405 if ((aI == aI))
406406 then aI
407407 else throw("Strict value is not equal to itself.")
408408 }
409409 else if ((indexOf(aF, "item") != unit))
410410 then {
411411 let aL = split(aF, "!")[1]
412412 let aI = if (!(az))
413413 then {
414414 let aJ = invoke(W(), "issueArtefactIndex", [aL, f, 0], nil)
415415 if ((aJ == aJ))
416416 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ))]
417417 else throw("Strict value is not equal to itself.")
418418 }
419419 else {
420420 let aJ = invoke(W(), "issueArtefactIndex", [aL, f, 0], nil)
421421 if ((aJ == aJ))
422422 then {
423423 let aK = invoke(W(), "issueArtefactIndex", [aL, f, 1], nil)
424424 if ((aK == aK))
425425 then [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result"), r(aJ)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_result1"), r(aK)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win1"), aF)]
426426 else throw("Strict value is not equal to itself.")
427427 }
428428 else throw("Strict value is not equal to itself.")
429429 }
430430 if ((aI == aI))
431431 then aI
432432 else throw("Strict value is not equal to itself.")
433433 }
434434 else throw("RFB: Some error occured, please contact the admins!")
435435 ((av ++ [StringEntry((((("address_" + f) + "_initTx_") + ax) + "_win"), aF), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_status"), "finish"), IntegerEntry((((("address_" + f) + "_initTx_") + ax) + "_random"), aG)]) ++ aC)
436436 }
437437 else throw("Strict value is not equal to itself.")
438438 }
439439 else throw("Strict value is not equal to itself.")
440440 }
441441
442442
443443 @Callable(aM)
444444 func configureOracle (aN) = if ((aM.caller != this))
445445 then throw("RCU: admin only")
446446 else [StringEntry("static_oracleAddress", aN)]
447447
448448
449449
450450 @Callable(aM)
451451 func initRebirth (aO) = {
452452 let aP = aM.payments[0]
453453 let aQ = aM.payments[1]
454454 let aR = aM.payments[2]
455455 let ad = value(aP.assetId)
456456 let ax = toBase58String(aM.transactionId)
457457 let f = toString(aM.caller)
458458 if ((aP.amount != 1))
459459 then throw("NFT is not attached")
460460 else if (if ((aQ.amount != aa))
461461 then true
462462 else (aQ.assetId != unit))
463463 then throw("Wavespayment is not attached or wrong!")
464464 else if (if ((aR.amount != Y))
465465 then true
466466 else (aR.assetId != Q()))
467467 then throw("SpicePayment is not attached or wrong!")
468468 else {
469469 let aS = l(invoke(S(), "useCoupons", [Z], nil))
470470 if ((aS == aS))
471471 then {
472472 let aT = (Z - aS)
473473 let aU = invoke(T(), "topUpReward", nil, [AttachedPayment(Q(), aR.amount)])
474474 if ((aU == aU))
475475 then {
476476 let af = if ((aT != 0))
477477 then {
478478 let aV = aM.payments[3]
479479 let aW = value(aV)
480480 if ((aW.assetId != L()))
481481 then throw("You need to attach EGG tokens as fee")
482482 else if ((aW.amount != aT))
483483 then throw(("You need to attach the following amount of EGG tokens as fee: 0." + toString(aT)))
484484 else {
485485 let aX = fraction(aT, 5, 100)
486486 let aY = p(invoke(R(), "refPayment", [aO], [AttachedPayment(L(), aX)]))
487487 if ((aY == aY))
488488 then {
489489 let aZ = if (aY)
490490 then (aT - aX)
491491 else aT
492492 let ba = invoke(M(), "burnAttachedPayments", nil, [AttachedPayment(L(), aZ)])
493493 if ((ba == ba))
494494 then aT
495495 else throw("Strict value is not equal to itself.")
496496 }
497497 else throw("Strict value is not equal to itself.")
498498 }
499499 }
500500 else 0
501501 if ((af == af))
502502 then {
503503 let bb = ac(ad)
504504 if ((bb == bb))
505505 then [IntegerEntry((((("address_" + f) + "_initTx_") + ax) + "_finishBlock"), (height + ab)), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_status"), "open"), StringEntry((((("address_" + f) + "_initTx_") + ax) + "_assetId"), toBase58String(ad)), ScriptTransfer(N(), aQ.amount, unit)]
506506 else throw("Strict value is not equal to itself.")
507507 }
508508 else throw("Strict value is not equal to itself.")
509509 }
510510 else throw("Strict value is not equal to itself.")
511511 }
512512 else throw("Strict value is not equal to itself.")
513513 }
514514 }
515515
516516
517517
518518 @Callable(aM)
519519 func finishRebirth (ax) = aw(ax, toString(aM.caller), aM.payments[0], false)
520520
521521
522522
523523 @Callable(aM)
524524 func finishRebirthDouble (ax) = if (!(if ((size(aM.payments) == 2))
525525 then (aM.payments[0].amount == 1)
526526 else false))
527527 then throw("Invalid payment")
528528 else {
529529 let ad = value(aM.payments[0].assetId)
530530 let bc = r(invoke(W(), "checkArtefactDetails", [toBase58String(ad)], nil))
531531 if ((bc == bc))
532532 then if ((bc == "ART-GIFT_DOUBL"))
533533 then ([Burn(ad, 1)] ++ aw(ax, toString(aM.caller), aM.payments[1], true))
534534 else throw("Error! Wrong item attached to double rewards!")
535535 else throw("Strict value is not equal to itself.")
536536 }
537537
538538
539539 @Verifier(aq)
540540 func bd () = if (a())
541541 then sigVerify(aq.bodyBytes, aq.proofs[0], aq.senderPublicKey)
542542 else {
543543 let be = base58'6TdaXEfhnjYquvPf3yV7MFxt2CbgFmaqsvGwkKfXtKi4'
544544 let bf = base58'7DsP2WaMLocbHuUxux7pbXRjTrrZ1TFQPsi5QumS3gr8'
545545 let bg = base58'BpFWP3p3JgYrrP45xfrKzeMcWMEXoinj4FVPPkUiA8D3'
546546 let bh = if (sigVerify(aq.bodyBytes, aq.proofs[0], be))
547547 then 1
548548 else if (sigVerify(aq.bodyBytes, aq.proofs[1], be))
549549 then 1
550550 else if (sigVerify(aq.bodyBytes, aq.proofs[2], be))
551551 then 1
552552 else 0
553553 let bi = if (sigVerify(aq.bodyBytes, aq.proofs[0], bf))
554554 then 1
555555 else if (sigVerify(aq.bodyBytes, aq.proofs[1], bf))
556556 then 1
557557 else if (sigVerify(aq.bodyBytes, aq.proofs[2], bf))
558558 then 1
559559 else 0
560560 let bj = if (sigVerify(aq.bodyBytes, aq.proofs[0], bg))
561561 then 1
562562 else if (sigVerify(aq.bodyBytes, aq.proofs[1], bg))
563563 then 1
564564 else if (sigVerify(aq.bodyBytes, aq.proofs[2], bg))
565565 then 1
566566 else 0
567567 let bk = ((bh + bi) + bj)
568568 let c = aq
569569 (bk >= 2)
570570 }
571571

github/deemru/w8io/026f985 
48.93 ms