tx · AR1yxdFoSnTMbdEbBGUKzr2enQqngj4EqQiuZn6f19DM

3P9REuLBnYBafDqtEu6hfzs2Rv2haSU158y:  -0.02500000 Waves

2023.05.19 16:47 [3650391] smart account 3P9REuLBnYBafDqtEu6hfzs2Rv2haSU158y > SELF 0.00000000 Waves

{ "type": 13, "id": "AR1yxdFoSnTMbdEbBGUKzr2enQqngj4EqQiuZn6f19DM", "fee": 2500000, "feeAssetId": null, "timestamp": 1684504139395, "version": 2, "chainId": 87, "sender": "3P9REuLBnYBafDqtEu6hfzs2Rv2haSU158y", "senderPublicKey": "4o7Wphn2swW4DxuPY7UcT6YpsZniEMnDH818h1pC3BeX", "proofs": [ "2doehSBJwwePCZAiQSbwGkCv9tka7m9ARq2XYCio8fawuJ4RHDGxaGb8VXaBejxNT1XXN2rohBvGShkXJ4mhvqL" ], "script": "base64:BgI+CAISAwoBCBIICgYCAQEBCAESAwoBCBIDCgEIEgUKAwIIARIDCgEIEgQKAggIEgMKAQgSBAoCCAgSBAoCCAhBABBkZWxheUZvckhhdGNoaW5nAAIAD0hhdGNoaW5nU3RhcnRlZAIQQlJFRURJTkdfU1RBUlRFRAAQSGF0Y2hpbmdGaW5pc2hlZAIRQlJFRURJTkdfRklOSVNIRUQBFHRyeUdldFN0cmluZ0V4dGVybmFsAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAnQgCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABFXRyeUdldEludGVnZXJFeHRlcm5hbAIHYWRkcmVzcwNrZXkEByRtYXRjaDAJAJoIAgUHYWRkcmVzcwUDa2V5AwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAQx0cnlHZXRTdHJpbmcBA2tleQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgUEdGhpcwUDa2V5ARdzdGF0aWNLZXlfb3JhY2xlQWRkcmVzcwACFHN0YXRpY19vcmFjbGVBZGRyZXNzARpzdGF0aWNLZXlfaW5jdWJhdG9yQWRkcmVzcwACF3N0YXRpY19pbmN1YmF0b3JBZGRyZXNzARhzdGF0aWNLZXlfcmViaXJ0aEFkZHJlc3MAAhVzdGF0aWNfcmViaXJ0aEFkZHJlc3MBFnN0YXRpY0tleV9pdGVtc0FkZHJlc3MAAhNzdGF0aWNfaXRlbXNBZGRyZXNzARRzdGF0aWNLZXlfZWdnQXNzZXRJZAACEXN0YXRpY19lZ2dBc3NldElkASFzdGF0aWNLZXlfYmFieUR1Y2tCcmVlZGluZ0FkZHJlc3MAAh5zdGF0aWNfYmFieUR1Y2tCcmVlZGluZ0FkZHJlc3MBF3N0YXRpY0tleV9kdWNrbGluZ1ByaWNlAAIUc3RhdGljX2R1Y2tsaW5nUHJpY2UBGHN0YXRpY0tleV9jb3Vwb25zQWRkcmVzcwACFXN0YXRpY19jb3Vwb25zQWRkcmVzcwEVc3RhdGljS2V5X2J1cm5BZGRyZXNzAAISc3RhdGljX2J1cm5BZGRyZXNzARxzdGF0aWNLZXlfcmVmQ29udHJhY3RBZGRyZXNzAAIZc3RhdGljX3JlZkNvbnRyYWN0QWRkcmVzcwESc3RhdGljS2V5X2V4dHJhRmVlAAIPc3RhdGljX2V4dHJhRmVlARdzdGF0aWNLZXlfZmVlQWdncmVnYXRvcgACFHN0YXRpY19mZWVBZ2dyZWdhdG9yAQlnZXRPcmFjbGUACQEHQWRkcmVzcwEJANkEAQkBDHRyeUdldFN0cmluZwEJARdzdGF0aWNLZXlfb3JhY2xlQWRkcmVzcwABE2dldEluY3ViYXRvckFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARpzdGF0aWNLZXlfaW5jdWJhdG9yQWRkcmVzcwABEWdldFJlYmlydGhBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEYc3RhdGljS2V5X3JlYmlydGhBZGRyZXNzAAEPZ2V0SXRlbXNBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEWc3RhdGljS2V5X2l0ZW1zQWRkcmVzcwABDWdldEVnZ0Fzc2V0SWQACQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEUc3RhdGljS2V5X2VnZ0Fzc2V0SWQAARpnZXRCYWJ5RHVja0JyZWVkaW5nQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBIXN0YXRpY0tleV9iYWJ5RHVja0JyZWVkaW5nQWRkcmVzcwABEGdldER1Y2tsaW5nUHJpY2UACQEVdHJ5R2V0SW50ZWdlckV4dGVybmFsAgkBCWdldE9yYWNsZQAJARdzdGF0aWNLZXlfZHVja2xpbmdQcmljZQABEWdldENvdXBvbnNBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEYc3RhdGljS2V5X2NvdXBvbnNBZGRyZXNzAAEOZ2V0QnVybkFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARVzdGF0aWNLZXlfYnVybkFkZHJlc3MAARVnZXRSZWZDb250cmFjdEFkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARxzdGF0aWNLZXlfcmVmQ29udHJhY3RBZGRyZXNzAAEQZ2V0RmVlQWdncmVnYXRvcgAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBF3N0YXRpY0tleV9mZWVBZ2dyZWdhdG9yAAEWY2hlY2tBZGRpdGlvbmFsUGF5bWVudAEHcGF5bWVudAMJAQlpc0RlZmluZWQBCAUHcGF5bWVudAdhc3NldElkCQACAQIZQkNBUDogUGxlYXNlIGF0dGFjaCB3YXZlcwQJZmVlQW1vdW50CQERQGV4dHJOYXRpdmUoMTA1MCkCCQEJZ2V0T3JhY2xlAAkBEnN0YXRpY0tleV9leHRyYUZlZQADCQECIT0CCAUHcGF5bWVudAZhbW91bnQFCWZlZUFtb3VudAkAAgEJAKwCAgkArAICAhxCQ0FQOiBQbGVhc2UgYXR0YWNoIGV4YWN0bHkgCQCkAwEFCWZlZUFtb3VudAITIGFtb3VudCBvZiB3YXZlbGV0cwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEQZ2V0RmVlQWdncmVnYXRvcgAFCWZlZUFtb3VudAUEdW5pdAUDbmlsAA1NYXhHZW5lcmF0aW9uAAcAC0dlbmVyYXRpb25zCQDMCAICAUcJAMwIAgIBSAkAzAgCAgFJCQDMCAICAUsJAMwIAgIBTAkAzAgCAgFNCQDMCAICAU4JAMwIAgIBTwUDbmlsARNnZXRQcm9jZXNzU3RhdHVzS2V5AgdhZGRyZXNzBHR4SWQJAKwCAgkArAICCQCsAgIFB2FkZHJlc3MCAV8JANgEAQUEdHhJZAIHX3N0YXR1cwEOZ2V0RHVja2xpbmdLZXkCB2FkZHJlc3MEdHhJZAkArAICCQCsAgIJAKwCAgUHYWRkcmVzcwIBXwkA2AQBBQR0eElkAglfZHVja2xpbmcBGWdldFByb2Nlc3NGaW5pc2hIZWlnaHRLZXkCB2FkZHJlc3MEdHhJZAkArAICCQCsAgIJAKwCAgUHYWRkcmVzcwIBXwkA2AQBBQR0eElkAgNfZmgBEGdldER1Y2tQYXJlbnRLZXkCBHR4SWQJcGFyZW50TnVtCQCsAgIJAKwCAgkArAICAgdpbml0dHhfCQDYBAEFBHR4SWQCB19wYXJlbnQJAKQDAQUJcGFyZW50TnVtAQxnZXREdWNrSWRLZXkCB2FkZHJlc3MEdHhJZAkArAICCQCsAgIJAKwCAgUHYWRkcmVzcwIBXwkA2AQBBQR0eElkAgNfZGkBD2dldER1Y2tTdGF0c0tleQEJZ2VuU3RyaW5nCQCsAgIJAKwCAgIGc3RhdHNfBQlnZW5TdHJpbmcCB19hbW91bnQBDXRyeUdldEludGVnZXIBA2tleQQDdmFsBAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAUDdmFsARNkZXRlcm1pbmVHZW5lcmF0aW9uAgJnMQJnMgQGZ0luZGV4CQCWAwEJAMwIAgkBBXZhbHVlAQkAzwgCBQtHZW5lcmF0aW9ucwUCZzEJAMwIAgkBBXZhbHVlAQkAzwgCBQtHZW5lcmF0aW9ucwUCZzIFA25pbAkAkQMCBQtHZW5lcmF0aW9ucwkAZAIFBmdJbmRleAABAQ9nZXRSYW5kb21OdW1iZXIECHZhcmlhbnRzBHR4SWQUaGF0Y2hpbmdGaW5pc2hIZWlnaHQGb2Zmc2V0BA9yYW5kb21TZWVkQmxvY2sJAQV2YWx1ZQEJAO0HAQkAZQIFFGhhdGNoaW5nRmluaXNoSGVpZ2h0AAEECnJhbmRvbUhhc2gJANQWAQkAywECBQR0eElkCQEFdmFsdWUBCAUPcmFuZG9tU2VlZEJsb2NrA3ZyZgkAagIJALIJAgUKcmFuZG9tSGFzaAUGb2Zmc2V0BQh2YXJpYW50cwEMZ2V0UmFuZG9tR2VuCQRnZW4xBGdlbjIEc3RlcAR0eElkFGhhdGNoaW5nRmluaXNoSGVpZ2h0DmdlbmVGcm9tUGFyZW50C2dlbmVQb3N0aW9uDnNwZWNpZmlxdWVHZW5lFnNwZWNpZmlxdWVHZW5lUG9zaXRpb24DAwkBAiE9AgUOZ2VuZUZyb21QYXJlbnQAAAkAAAIFC2dlbmVQb3N0aW9uBQRzdGVwBwMJAAACBQ5nZW5lRnJvbVBhcmVudAABBQRnZW4xAwkAAAIFDmdlbmVGcm9tUGFyZW50AAIFBGdlbjIJAAIBAiBQYXJlbnQgZWl0aGVyIG5lZWRzIHRvIGJlIDEgb3IgMgMDCQECIT0CBQ5zcGVjaWZpcXVlR2VuZQIACQAAAgUWc3BlY2lmaXF1ZUdlbmVQb3NpdGlvbgUEc3RlcAcFDnNwZWNpZmlxdWVHZW5lBAlyYW5kb21OdW0JAQ9nZXRSYW5kb21OdW1iZXIEAAIFBHR4SWQFFGhhdGNoaW5nRmluaXNoSGVpZ2h0BQRzdGVwBANnZW4DCQAAAgUJcmFuZG9tTnVtAAAFBGdlbjEFBGdlbjIFA2dlbgEVY2hlY2tBc3NldEluSW5jdWJhdG9yAQdhc3NldElkBAZyZXN1bHQEByRtYXRjaDAJAJ0IAgkBE2dldEluY3ViYXRvckFkZHJlc3MABQdhc3NldElkAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYgUHJG1hdGNoMAYHBAdyZXN1bHQyBAckbWF0Y2gwCQCdCAIFBHRoaXMFB2Fzc2V0SWQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFjBQckbWF0Y2gwBgcDBQZyZXN1bHQGBQdyZXN1bHQyAQxjYW5CZUJyZWVkZWQCCGFzc2V0MUlkCGFzc2V0MklkBAlhc3NldDFHZW4JALUJAggJAQV2YWx1ZQEJAOwHAQUIYXNzZXQxSWQEbmFtZQIABAlhc3NldDJHZW4JALUJAggJAQV2YWx1ZQEJAOwHAQUIYXNzZXQySWQEbmFtZQIAAwkAZwIJAQV2YWx1ZQEJAM8IAgULR2VuZXJhdGlvbnMJAJEDAgUJYXNzZXQxR2VuAA4FDU1heEdlbmVyYXRpb24JAKwCAgkArAICAil5b3UgY2FuIG9ubHkgYnJlZWQgZHVja3Mgd2l0aCBnZW5lcmF0aW9uIAkAkQMCBQtHZW5lcmF0aW9ucwUNTWF4R2VuZXJhdGlvbgIKIGFuZCBsb3dlcgMJAGcCCQEFdmFsdWUBCQDPCAIFC0dlbmVyYXRpb25zCQCRAwIFCWFzc2V0MkdlbgAOBQ1NYXhHZW5lcmF0aW9uCQCsAgIJAKwCAgIpeW91IGNhbiBvbmx5IGJyZWVkIGR1Y2tzIHdpdGggZ2VuZXJhdGlvbiAJAJEDAgULR2VuZXJhdGlvbnMFDU1heEdlbmVyYXRpb24CCiBhbmQgbG93ZXICBHRydWUBCWlzU3ltYm9sQQILYWNjdW11bGF0ZWQDc3ltAwkAAAIFA3N5bQIBQQkAZAIFC2FjY3VtdWxhdGVkAAEJAGQCBQthY2N1bXVsYXRlZAAAAQlpc1N5bWJvbEICC2FjY3VtdWxhdGVkA3N5bQMJAAACBQNzeW0CAUIJAGQCBQthY2N1bXVsYXRlZAABCQBkAgULYWNjdW11bGF0ZWQAAAEJaXNTeW1ib2xDAgthY2N1bXVsYXRlZANzeW0DCQAAAgUDc3ltAgFDCQBkAgULYWNjdW11bGF0ZWQAAQkAZAIFC2FjY3VtdWxhdGVkAAABCWlzU3ltYm9sRAILYWNjdW11bGF0ZWQDc3ltAwkAAAIFA3N5bQIBRAkAZAIFC2FjY3VtdWxhdGVkAAEJAGQCBQthY2N1bXVsYXRlZAAAAQlpc1N5bWJvbEUCC2FjY3VtdWxhdGVkA3N5bQMJAAACBQNzeW0CAUUJAGQCBQthY2N1bXVsYXRlZAABCQBkAgULYWNjdW11bGF0ZWQAAAEJaXNTeW1ib2xGAgthY2N1bXVsYXRlZANzeW0DCQAAAgUDc3ltAgFGCQBkAgULYWNjdW11bGF0ZWQAAQkAZAIFC2FjY3VtdWxhdGVkAAABCWlzU3ltYm9sRwILYWNjdW11bGF0ZWQDc3ltAwkAAAIFA3N5bQIBRwkAZAIFC2FjY3VtdWxhdGVkAAEJAGQCBQthY2N1bXVsYXRlZAAAAQlpc1N5bWJvbEgCC2FjY3VtdWxhdGVkA3N5bQMJAAACBQNzeW0CAUgJAGQCBQthY2N1bXVsYXRlZAABCQBkAgULYWNjdW11bGF0ZWQAAAEJaXNTeW1ib2xJAgthY2N1bXVsYXRlZANzeW0DCQAAAgUDc3ltAgFJCQBkAgULYWNjdW11bGF0ZWQAAQkAZAIFC2FjY3VtdWxhdGVkAAABCWlzU3ltYm9sSwILYWNjdW11bGF0ZWQDc3ltAwkAAAIFA3N5bQIBSwkAZAIFC2FjY3VtdWxhdGVkAAEJAGQCBQthY2N1bXVsYXRlZAAAAQlpc1N5bWJvbEwCC2FjY3VtdWxhdGVkA3N5bQMJAAACBQNzeW0CAUwJAGQCBQthY2N1bXVsYXRlZAABCQBkAgULYWNjdW11bGF0ZWQAAAEJaXNTeW1ib2xNAgthY2N1bXVsYXRlZANzeW0DCQAAAgUDc3ltAgFNCQBkAgULYWNjdW11bGF0ZWQAAQkAZAIFC2FjY3VtdWxhdGVkAAABCWlzU3ltYm9sUwILYWNjdW11bGF0ZWQDc3ltAwkAAAIFA3N5bQIBUwkAZAIFC2FjY3VtdWxhdGVkAAEJAGQCBQthY2N1bXVsYXRlZAAAAQlpc1N5bWJvbFQCC2FjY3VtdWxhdGVkA3N5bQMJAAACBQNzeW0CAVQJAGQCBQthY2N1bXVsYXRlZAABCQBkAgULYWNjdW11bGF0ZWQAAAEQZ2V0QW1vdW50T3JDbGVhcgEGYW1vdW50AwkBCGNvbnRhaW5zAgUGYW1vdW50AgEwAgAFBmFtb3VudAEIYXNTdHJpbmcBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEBnN0cmluZwUHJG1hdGNoMAUGc3RyaW5nCQACAQIcd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IFN0cmluZwEFYXNJbnQBBXZhbHVlBAckbWF0Y2gwBQV2YWx1ZQMJAAECBQckbWF0Y2gwAgNJbnQEA2ludAUHJG1hdGNoMAUDaW50CQACAQIZd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IEludAESY29tcG9zZUdlbmVyaWNEYXRhBAdkdWNrR2VuCWR1Y2tJZEtleQdhc3NldElkBWFzc2V0BAdmYXJtR2VuCQEIYXNTdHJpbmcBCQD8BwQFBHRoaXMCDmdldEdlbkZyb21OYW1lCQDMCAIFB2R1Y2tHZW4FA25pbAUDbmlsAwkAAAIFB2Zhcm1HZW4FB2Zhcm1HZW4EBmFtb3VudAkBDXRyeUdldEludGVnZXIBCQEPZ2V0RHVja1N0YXRzS2V5AQUHZHVja0dlbgQIcXVhbnRpdHkJAQ10cnlHZXRJbnRlZ2VyAQkArAICCQCsAgICBnN0YXRzXwUHZmFybUdlbgIJX3F1YW50aXR5CQDMCAIJAQtTdHJpbmdFbnRyeQIFCWR1Y2tJZEtleQkA2AQBBQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJANgEAQUHYXNzZXRJZAUJZHVja0lkS2V5CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPZ2V0RHVja1N0YXRzS2V5AQUHZHVja0dlbgkAZAIFBmFtb3VudAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgIGc3RhdHNfBQdmYXJtR2VuAglfcXVhbnRpdHkJAGQCBQhxdWFudGl0eQABCQDMCAIFBWFzc2V0BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BD2ZpbmlzaER1Y2tIYXRjaAMHdHhJZFN0cgVvd25lcg9kdWNrR2VuZXNTdHJpbmcEBHR4SWQJANkEAQUHdHhJZFN0cgQQcHJvY2Vzc1N0YXR1c0tleQkBE2dldFByb2Nlc3NTdGF0dXNLZXkCBQVvd25lcgUEdHhJZAQJZHVja0lkS2V5CQEMZ2V0RHVja0lkS2V5AgUFb3duZXIFBHR4SWQED3Byb2Nlc3NUeFN0YXR1cwkBEUBleHRyTmF0aXZlKDEwNTMpAgUEdGhpcwUQcHJvY2Vzc1N0YXR1c0tleQQPZmluaXNoSGVpZ2h0S2V5CQEZZ2V0UHJvY2Vzc0ZpbmlzaEhlaWdodEtleQIFBW93bmVyBQR0eElkBBNwcm9jZXNzRmluaXNoSGVpZ2h0CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBQ9maW5pc2hIZWlnaHRLZXkDCQAAAgUPcHJvY2Vzc1R4U3RhdHVzBRBIYXRjaGluZ0ZpbmlzaGVkBAZkdWNrSWQJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHRoaXMJAQxnZXREdWNrSWRLZXkCBQVvd25lcgUEdHhJZAkAAgEJAKwCAgJAVGhlIGR1Y2sgd2FzIGJyZWVkZWQgYW5kIGNsYWltZWQgYWxyZWFkeSwgaGVyZSBpcyB0aGUgZm9sb3dpbmc6IAUGZHVja0lkAwkAZgIFE3Byb2Nlc3NGaW5pc2hIZWlnaHQFBmhlaWdodAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgIdQnJlZWRpbmcgaXMgbm90IGZpbmlzaGVkIHlldCAJAKQDAQkAZQIFE3Byb2Nlc3NGaW5pc2hIZWlnaHQFBmhlaWdodAInIGJsb2NrcyByZW1haW5pbmcsIGl0IHdpbGwgdGFrZSBhcm91bmQgCQCkAwEJAGUCBRNwcm9jZXNzRmluaXNoSGVpZ2h0BQZoZWlnaHQCCCBtaW51dGVzBAdkdWNrR2VuAwkAAAIFD2R1Y2tHZW5lc1N0cmluZwIACQEIYXNTdHJpbmcBCQD8BwQFBHRoaXMCDGdlbmVyYXRlRHVjawkAzAgCBQR0eElkCQDMCAIFE3Byb2Nlc3NGaW5pc2hIZWlnaHQJAMwIAgAACQDMCAIAAAkAzAgCAgAJAMwIAgAABQNuaWwFA25pbAUPZHVja0dlbmVzU3RyaW5nAwkAAAIFB2R1Y2tHZW4FB2R1Y2tHZW4EC2Rlc2NyaXB0aW9uCQCsAgIJAKwCAgIOeyJnZW5vdHlwZSI6ICIFB2R1Y2tHZW4CGSIsICJjcm9zc2JyZWVkaW5nIjogdHJ1ZX0EBWFzc2V0CQDDCAcFB2R1Y2tHZW4FC2Rlc2NyaXB0aW9uAAEAAAcFBHVuaXQFE3Byb2Nlc3NGaW5pc2hIZWlnaHQEB2Fzc2V0SWQJALgIAQUFYXNzZXQJAM4IAgkBEmNvbXBvc2VHZW5lcmljRGF0YQQFB2R1Y2tHZW4FCWR1Y2tJZEtleQUHYXNzZXRJZAUFYXNzZXQJAMwIAgkBC1N0cmluZ0VudHJ5AgUQcHJvY2Vzc1N0YXR1c0tleQUQSGF0Y2hpbmdGaW5pc2hlZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBQVvd25lcgABBQdhc3NldElkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BB2dldEJvb2wBA2tleQQHJG1hdGNoMAkAmwgCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBCWlzVGVzdEVudgAJAQdnZXRCb29sAQIHVEVTVEVOVgoBaQEPY29uZmlndXJlT3JhY2xlAQZvcmFjbGUDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAgphZG1pbiBvbmx5CQDMCAIJAQtTdHJpbmdFbnRyeQICFHN0YXRpY19vcmFjbGVBZGRyZXNzBQZvcmFjbGUFA25pbAFpAQxnZW5lcmF0ZUR1Y2sGBHR4SWQUaGF0Y2hpbmdGaW5pc2hIZWlnaHQOZ2VuZUZyb21QYXJlbnQLZ2VuZVBvc3Rpb24Oc3BlY2lmaXF1ZUdlbmUWc3BlY2lmaXF1ZUdlbmVQb3NpdGlvbgQLY29sb3JSYW5kb20JAQ9nZXRSYW5kb21OdW1iZXIEAAQFBHR4SWQFFGhhdGNoaW5nRmluaXNoSGVpZ2h0AAsEBWNvbG9yAwkAAAIFC2NvbG9yUmFuZG9tAAACAVkDCQAAAgULY29sb3JSYW5kb20AAQIBRwMJAAACBQtjb2xvclJhbmRvbQACAgFCAgFSBAlwYXJlbnQxSWQJANkEAQkBDHRyeUdldFN0cmluZwEJARBnZXREdWNrUGFyZW50S2V5AgUEdHhJZAABBAlwYXJlbnQySWQJANkEAQkBDHRyeUdldFN0cmluZwEJARBnZXREdWNrUGFyZW50S2V5AgUEdHhJZAACBApwYXJlbnQxR2VuCQC1CQIICQEFdmFsdWUBCQDsBwEFCXBhcmVudDFJZARuYW1lAgAECnBhcmVudDJHZW4JALUJAggJAQV2YWx1ZQEJAOwHAQUJcGFyZW50MklkBG5hbWUCAAQDZ2VuCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIFRFVDSy0JAQxnZXRSYW5kb21HZW4JCQCRAwIFCnBhcmVudDFHZW4ABQkAkQMCBQpwYXJlbnQyR2VuAAUAAAUEdHhJZAUUaGF0Y2hpbmdGaW5pc2hIZWlnaHQFDmdlbmVGcm9tUGFyZW50BQtnZW5lUG9zdGlvbgUOc3BlY2lmaXF1ZUdlbmUFFnNwZWNpZmlxdWVHZW5lUG9zaXRpb24JAQxnZXRSYW5kb21HZW4JCQCRAwIFCnBhcmVudDFHZW4ABgkAkQMCBQpwYXJlbnQyR2VuAAYAAQUEdHhJZAUUaGF0Y2hpbmdGaW5pc2hIZWlnaHQFDmdlbmVGcm9tUGFyZW50BQtnZW5lUG9zdGlvbgUOc3BlY2lmaXF1ZUdlbmUFFnNwZWNpZmlxdWVHZW5lUG9zaXRpb24JAQxnZXRSYW5kb21HZW4JCQCRAwIFCnBhcmVudDFHZW4ABwkAkQMCBQpwYXJlbnQyR2VuAAcAAgUEdHhJZAUUaGF0Y2hpbmdGaW5pc2hIZWlnaHQFDmdlbmVGcm9tUGFyZW50BQtnZW5lUG9zdGlvbgUOc3BlY2lmaXF1ZUdlbmUFFnNwZWNpZmlxdWVHZW5lUG9zaXRpb24JAQxnZXRSYW5kb21HZW4JCQCRAwIFCnBhcmVudDFHZW4ACAkAkQMCBQpwYXJlbnQyR2VuAAgAAwUEdHhJZAUUaGF0Y2hpbmdGaW5pc2hIZWlnaHQFDmdlbmVGcm9tUGFyZW50BQtnZW5lUG9zdGlvbgUOc3BlY2lmaXF1ZUdlbmUFFnNwZWNpZmlxdWVHZW5lUG9zaXRpb24JAQxnZXRSYW5kb21HZW4JCQCRAwIFCnBhcmVudDFHZW4ACQkAkQMCBQpwYXJlbnQyR2VuAAkABAUEdHhJZAUUaGF0Y2hpbmdGaW5pc2hIZWlnaHQFDmdlbmVGcm9tUGFyZW50BQtnZW5lUG9zdGlvbgUOc3BlY2lmaXF1ZUdlbmUFFnNwZWNpZmlxdWVHZW5lUG9zaXRpb24JAQxnZXRSYW5kb21HZW4JCQCRAwIFCnBhcmVudDFHZW4ACgkAkQMCBQpwYXJlbnQyR2VuAAoABQUEdHhJZAUUaGF0Y2hpbmdGaW5pc2hIZWlnaHQFDmdlbmVGcm9tUGFyZW50BQtnZW5lUG9zdGlvbgUOc3BlY2lmaXF1ZUdlbmUFFnNwZWNpZmlxdWVHZW5lUG9zaXRpb24JAQxnZXRSYW5kb21HZW4JCQCRAwIFCnBhcmVudDFHZW4ACwkAkQMCBQpwYXJlbnQyR2VuAAsABgUEdHhJZAUUaGF0Y2hpbmdGaW5pc2hIZWlnaHQFDmdlbmVGcm9tUGFyZW50BQtnZW5lUG9zdGlvbgUOc3BlY2lmaXF1ZUdlbmUFFnNwZWNpZmlxdWVHZW5lUG9zaXRpb24JAQxnZXRSYW5kb21HZW4JCQCRAwIFCnBhcmVudDFHZW4ADAkAkQMCBQpwYXJlbnQyR2VuAAwABwUEdHhJZAUUaGF0Y2hpbmdGaW5pc2hIZWlnaHQFDmdlbmVGcm9tUGFyZW50BQtnZW5lUG9zdGlvbgUOc3BlY2lmaXF1ZUdlbmUFFnNwZWNpZmlxdWVHZW5lUG9zaXRpb24CAS0JARNkZXRlcm1pbmVHZW5lcmF0aW9uAgkAkQMCBQpwYXJlbnQxR2VuAA4JAJEDAgUKcGFyZW50MkdlbgAOBQVjb2xvcgkA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B2Fzc2V0SWQJAAIBCQCsAgIJAKwCAgIlWW91IG5lZWQgdG8gYXR0YWNoIGEgdmFsaWQgTkZULWR1Y2suIAUHYXNzZXRJZAIMIGlzIGludmFsaWQhBAhjaGlsZHJlbgkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIGYXNzZXRfBQdhc3NldElkAglfY2hpbGRyZW4JAJQKAgUDbmlsBQhjaGlsZHJlbgFpARZjcmVhdGVEdWNrU3BlY2lhbEdlbmVzAwdhZGRyZXNzB2R1Y2tHZW4IY2hpbGRyZW4DAwkBAiE9AggFAWkGY2FsbGVyCQEPZ2V0SXRlbXNBZGRyZXNzAAkBAiE9AggFAWkGY2FsbGVyBQR0aGlzBwkAAgECE2FkbWluIG9yIGl0ZW1zIG9ubHkEBHR4SWQIBQFpDXRyYW5zYWN0aW9uSWQEC2Rlc2NyaXB0aW9uCQCsAgIJAKwCAgIOeyJnZW5vdHlwZSI6ICIFB2R1Y2tHZW4CGSIsICJjcm9zc2JyZWVkaW5nIjogdHJ1ZX0EBWFzc2V0CQDCCAUFB2R1Y2tHZW4FC2Rlc2NyaXB0aW9uAAEAAAcEB2Fzc2V0SWQJALgIAQUFYXNzZXQECWR1Y2tJZEtleQkBDGdldER1Y2tJZEtleQIJAKUIAQgFAWkGY2FsbGVyBQR0eElkBAdmYXJtR2VuCQEIYXNTdHJpbmcBCQD8BwQFBHRoaXMCDmdldEdlbkZyb21OYW1lCQDMCAIFB2R1Y2tHZW4FA25pbAUDbmlsAwkAAAIFB2Zhcm1HZW4FB2Zhcm1HZW4JAM4IAgkBEmNvbXBvc2VHZW5lcmljRGF0YQQFB2R1Y2tHZW4FCWR1Y2tJZEtleQUHYXNzZXRJZAUFYXNzZXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZhc3NldF8JANgEAQUHYXNzZXRJZAIJX2NoaWxkcmVuBQhjaGlsZHJlbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEFB2FkZHJlc3MAAQUHYXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEXN0YXJ0RHVja0JyZWVkaW5nAQ5yZWZlcmVyQWRkcmVzcwQMZmlyc3RQYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEDXNlY29uZFBheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAQQMdmFsaWRQYXltZW50CQEWY2hlY2tBZGRpdGlvbmFsUGF5bWVudAEJAJEDAggFAWkIcGF5bWVudHMAAgMJAAACBQx2YWxpZFBheW1lbnQFDHZhbGlkUGF5bWVudAQMZmlyc3RBc3NldElkCQDYBAEJAQV2YWx1ZQEIBQxmaXJzdFBheW1lbnQHYXNzZXRJZAQNc2Vjb25kQXNzZXRJZAkA2AQBCQEFdmFsdWUBCAUNc2Vjb25kUGF5bWVudAdhc3NldElkAwMJAQIhPQIIBQxmaXJzdFBheW1lbnQGYW1vdW50AAEGCQECIT0CCAUNc2Vjb25kUGF5bWVudAZhbW91bnQAAQkAAgECE05GVCBpcyBub3QgYXR0YWNoZWQEE2Ftb3VudFBhaWRCeUNvdXBvbnMJAQVhc0ludAEJAPwHBAkBEWdldENvdXBvbnNBZGRyZXNzAAIKdXNlQ291cG9ucwkAzAgCCQEQZ2V0RHVja2xpbmdQcmljZQAFA25pbAUDbmlsAwkAAAIFE2Ftb3VudFBhaWRCeUNvdXBvbnMFE2Ftb3VudFBhaWRCeUNvdXBvbnMECWxlZnRUb1BheQkAZQIJARBnZXREdWNrbGluZ1ByaWNlAAUTYW1vdW50UGFpZEJ5Q291cG9ucwQHcGF5bWVudAMJAQIhPQIFCWxlZnRUb1BheQAABAx0aGlyZFBheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAwMJAQIhPQIIBQx0aGlyZFBheW1lbnQHYXNzZXRJZAkBDWdldEVnZ0Fzc2V0SWQACQACAQkArAICAkJCU0RCOiBZb3UgY2FuIGF0dGFjaCBvbmx5IEVHRyB0b2tlbnMgd2l0aCB0aGUgZm9sbG93aW5nIGFzc2V0IGlkOiAJANgEAQkBDWdldEVnZ0Fzc2V0SWQAAwkBAiE9AggFDHRoaXJkUGF5bWVudAZhbW91bnQFCWxlZnRUb1BheQkAAgEJAKwCAgJDQlNEQjogVG8gYnJlZWQgeW91IGN1cnJlbnRseSBuZWVkIHRoZSBmb2xsb3dpbmcgYW1vdW50IG9mIEVHR2xldHM6IAkApAMBBQlsZWZ0VG9QYXkEFXJlZmVyZXJSZXdhcmRGb3JQZXJjaAkAawMFCWxlZnRUb1BheQAFAGQEB3JlZkNhbGwJAPwHBAkBFWdldFJlZkNvbnRyYWN0QWRkcmVzcwACCnJlZlBheW1lbnQJAMwIAgUOcmVmZXJlckFkZHJlc3MFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkBDWdldEVnZ0Fzc2V0SWQABRVyZWZlcmVyUmV3YXJkRm9yUGVyY2gFA25pbAMJAAACBQdyZWZDYWxsBQdyZWZDYWxsBAhidXJuQ2FsbAkA/AcECQEOZ2V0QnVybkFkZHJlc3MAAhRidXJuQXR0YWNoZWRQYXltZW50cwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0RWdnQXNzZXRJZAAJAGUCBQlsZWZ0VG9QYXkFFXJlZmVyZXJSZXdhcmRGb3JQZXJjaAUDbmlsAwkAAAIFCGJ1cm5DYWxsBQhidXJuQ2FsbAUJbGVmdFRvUGF5CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAADCQAAAgUHcGF5bWVudAUHcGF5bWVudAQJY2hpbGRyZW4xCQEFYXNJbnQBCQD8BwQFBHRoaXMCFnZhbGlkYXRlQW5kR2V0Q2hpbGRyZW4JAMwIAgUMZmlyc3RBc3NldElkBQNuaWwFA25pbAMJAAACBQljaGlsZHJlbjEFCWNoaWxkcmVuMQQJY2hpbGRyZW4yCQEFYXNJbnQBCQD8BwQFBHRoaXMCFnZhbGlkYXRlQW5kR2V0Q2hpbGRyZW4JAMwIAgUNc2Vjb25kQXNzZXRJZAUDbmlsBQNuaWwDCQAAAgUJY2hpbGRyZW4yBQljaGlsZHJlbjIDAwkAZgIFCWNoaWxkcmVuMQAABgkAZgIFCWNoaWxkcmVuMgAACQACAQI8T25lIGR1Y2sgY2FuIGJlIHVzZWQgZm9yIGJyZWVkaW5nIG9ubHkgb25jZSBpbiBpdHMgbGlmZXRpbWUuBA1icmVlZGVkU3RhdHVzCQEMY2FuQmVCcmVlZGVkAgkA2QQBBQxmaXJzdEFzc2V0SWQJANkEAQUNc2Vjb25kQXNzZXRJZAMJAQIhPQIFDWJyZWVkZWRTdGF0dXMCBHRydWUJAAIBCQCsAgICH1RoZXNlIGR1Y2tzIGNhbm5vdCBiZSBicmVlZGVkOiAFDWJyZWVkZWRTdGF0dXMECnBhcmVudDFHZW4JALUJAggJAQV2YWx1ZQEJAOwHAQkBBXZhbHVlAQgFDGZpcnN0UGF5bWVudAdhc3NldElkBG5hbWUCAAQKcGFyZW50MkdlbgkAtQkCCAkBBXZhbHVlAQkA7AcBCQEFdmFsdWUBCAUNc2Vjb25kUGF5bWVudAdhc3NldElkBG5hbWUCAAQEbmV3RwkBE2RldGVybWluZUdlbmVyYXRpb24CCQCRAwIFCnBhcmVudDFHZW4ADgkAkQMCBQpwYXJlbnQyR2VuAA4EC3NwaWNlQW1vdW50CQBoAgkAZAIJAQV2YWx1ZQEJAM8IAgULR2VuZXJhdGlvbnMFBG5ld0cAAQAKBAtkdWNrbGluZ0dlbgkBCGFzU3RyaW5nAQkA/AcECQEaZ2V0QmFieUR1Y2tCcmVlZGluZ0FkZHJlc3MAAg1pc3N1ZUR1Y2tsaW5nCQDMCAIJAKUIAQgFAWkGY2FsbGVyCQDMCAIJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAkAzAgCBQtzcGljZUFtb3VudAkAzAgCBQRuZXdHBQNuaWwFA25pbAMJAAACBQtkdWNrbGluZ0dlbgULZHVja2xpbmdHZW4JAM4IAgkAzAgCCQELU3RyaW5nRW50cnkCCQEQZ2V0RHVja1BhcmVudEtleQIIBQFpDXRyYW5zYWN0aW9uSWQAAQUMZmlyc3RBc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJARBnZXREdWNrUGFyZW50S2V5AggFAWkNdHJhbnNhY3Rpb25JZAACBQ1zZWNvbmRBc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJARNnZXRQcm9jZXNzU3RhdHVzS2V5AgkApQgBCAUBaQZjYWxsZXIIBQFpDXRyYW5zYWN0aW9uSWQFD0hhdGNoaW5nU3RhcnRlZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGWdldFByb2Nlc3NGaW5pc2hIZWlnaHRLZXkCCQClCAEIBQFpBmNhbGxlcggFAWkNdHJhbnNhY3Rpb25JZAkAZAIFBmhlaWdodAUQZGVsYXlGb3JIYXRjaGluZwkAzAgCCQELU3RyaW5nRW50cnkCCQEOZ2V0RHVja2xpbmdLZXkCCQClCAEIBQFpBmNhbGxlcggFAWkNdHJhbnNhY3Rpb25JZAULZHVja2xpbmdHZW4JAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZhc3NldF8FDGZpcnN0QXNzZXRJZAIJX2NoaWxkcmVuAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICAgZhc3NldF8FDXNlY29uZEFzc2V0SWQCCV9jaGlsZHJlbgABCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABCQEFdmFsdWUBCAUMZmlyc3RQYXltZW50B2Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEJAQV2YWx1ZQEIBQ1zZWNvbmRQYXltZW50B2Fzc2V0SWQFA25pbAUMdmFsaWRQYXltZW50CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBF2ZpbmlzaER1Y2tIYXRjaGluZ0l0ZW1zAgd0eElkU3RyD2R1Y2tHZW5lc1N0cmluZwMDCQECIT0CCAUBaQZjYWxsZXIJAQ9nZXRJdGVtc0FkZHJlc3MACQECIT0CBQ9kdWNrR2VuZXNTdHJpbmcCAAcJAAIBAiFPbmx5IGl0ZW1zIGNhbiBjcmVhdGUgZml4ZWQgZ2VuZXMEBW93bmVyCQClCAEIBQFpDG9yaWdpbkNhbGxlcgQOZHVja2xpbmdGaW5pc2gJAQhhc1N0cmluZwEJAPwHBAkBGmdldEJhYnlEdWNrQnJlZWRpbmdBZGRyZXNzAAIUdHVybkR1Y2tsaW5nSW50b0R1Y2sFA25pbAgFAWkIcGF5bWVudHMDCQAAAgUOZHVja2xpbmdGaW5pc2gFDmR1Y2tsaW5nRmluaXNoBA5kdWNrbGluZ0xpbmtlZAkBDHRyeUdldFN0cmluZwEJAQ5nZXREdWNrbGluZ0tleQIFBW93bmVyCQDZBAEFB3R4SWRTdHIDCQECIT0CBQ5kdWNrbGluZ0xpbmtlZAUOZHVja2xpbmdGaW5pc2gJAAIBAiNQbGVhc2UgYXR0YWNoIHRoZSBjb3JyZWN0IGR1Y2tsaW5nIQkBD2ZpbmlzaER1Y2tIYXRjaAMFB3R4SWRTdHIFBW93bmVyBQ9kdWNrR2VuZXNTdHJpbmcJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQESZmluaXNoRHVja0hhdGNoaW5nAQd0eElkU3RyBAVvd25lcgkApQgBCAUBaQZjYWxsZXIEDmR1Y2tsaW5nRmluaXNoCQEIYXNTdHJpbmcBCQD8BwQJARpnZXRCYWJ5RHVja0JyZWVkaW5nQWRkcmVzcwACFHR1cm5EdWNrbGluZ0ludG9EdWNrBQNuaWwIBQFpCHBheW1lbnRzAwkAAAIFDmR1Y2tsaW5nRmluaXNoBQ5kdWNrbGluZ0ZpbmlzaAQOZHVja2xpbmdMaW5rZWQJAQx0cnlHZXRTdHJpbmcBCQEOZ2V0RHVja2xpbmdLZXkCBQVvd25lcgkA2QQBBQd0eElkU3RyAwkBAiE9AgUOZHVja2xpbmdMaW5rZWQFDmR1Y2tsaW5nRmluaXNoCQACAQIjUGxlYXNlIGF0dGFjaCB0aGUgY29ycmVjdCBkdWNrbGluZyEJAQ9maW5pc2hEdWNrSGF0Y2gDBQd0eElkU3RyBQVvd25lcgIACQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBF2ZpbmlzaER1Y2tIYXRjaGluZ0FkbWluAgd0eElkU3RyBW93bmVyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIfQkZESDogT25seSBhZG1pbnMgY2FuIHJ1biB0aGlzIQkBD2ZpbmlzaER1Y2tIYXRjaAMFB3R4SWRTdHIFBW93bmVyAgABaQEMcmVkdWNlUmFyaXR5Agdhc3NldElkB2Zhcm1HZW4EBWFzc2V0CQDZBAEFB2Fzc2V0SWQDAwMJAQIhPQIIBQFpBmNhbGxlcgkBD2dldEl0ZW1zQWRkcmVzcwAJAQIhPQIIBQFpBmNhbGxlcgkBEWdldFJlYmlydGhBZGRyZXNzAAcJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwcJAAIBAhxhZG1pbiwgaXRlbXMgb3IgcmViaXJ0aCBvbmx5BAdkdWNrR2VuCAkBBXZhbHVlAQkA7AcBBQVhc3NldARuYW1lCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPZ2V0RHVja1N0YXRzS2V5AQUHZHVja0dlbgkAZQIJAQ10cnlHZXRJbnRlZ2VyAQkBD2dldER1Y2tTdGF0c0tleQEFB2R1Y2tHZW4AAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgICBnN0YXRzXwUHZmFybUdlbgIJX3F1YW50aXR5CQBlAgkBDXRyeUdldEludGVnZXIBCQCsAgIJAKwCAgIGc3RhdHNfBQdmYXJtR2VuAglfcXVhbnRpdHkAAQUDbmlsAQJ0eAEGdmVyaWZ5AAMJAQlpc1Rlc3RFbnYACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5BAlmaXJzdFVzZXIBIN7WxlHkUxbQZYDrAZoqC9D3l1H6HHaRfpuOBkN3F70lBApzZWNvbmRVc2VyASDBbN+O7dONc4+Lovn6iQ/0dc1EG1RyUqO0nNJWpC3gdQQJdGhpcmRVc2VyASDnW/SOqtL5SZ5uhCa4+X4f3GeofdwruNTqe83yaArBJQQPZmlyc3RVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJZmlyc3RVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQlmaXJzdFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCWZpcnN0VXNlcgABAAAEEHNlY29uZFVzZXJTaWduZWQDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAABQpzZWNvbmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQpzZWNvbmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwACBQpzZWNvbmRVc2VyAAEAAAQPdGhpcmRVc2VyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUJdGhpcmRVc2VyAAEDCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwABBQl0aGlyZFVzZXIAAQMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFCXRoaXJkVXNlcgABAAAED3NpZ25hdHVyZXNDb3VudAkAZAIJAGQCBQ9maXJzdFVzZXJTaWduZWQFEHNlY29uZFVzZXJTaWduZWQFD3RoaXJkVXNlclNpZ25lZAQHJG1hdGNoMAUCdHgJAGcCBQ9zaWduYXR1cmVzQ291bnQAAjtJnGo=", "height": 3650391, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4SAXuZLQktV7rjBJQsMGLS3Tk7TgpjppwerLJ56a6Aio Next: A9ezvgDGNTzrHLuPNpxsAs2C88mq9viQEWN7YqPVeTsZ Diff:
OldNewDifferences
710710 let cD = k(P(bh, fromBase58String(bg)))
711711 if ((cD != cC))
712712 then throw("Please attach the correct duckling!")
713- else {
714- let cn = I(br.payments[0])
715- if ((cn == cn))
716- then (bf(bg, bh, bi) ++ cn)
717- else throw("Strict value is not equal to itself.")
718- }
713+ else bf(bg, bh, bi)
719714 }
720715 else throw("Strict value is not equal to itself.")
721716 }
731726 let cD = k(P(bh, fromBase58String(bg)))
732727 if ((cD != cC))
733728 then throw("Please attach the correct duckling!")
734- else {
735- let cn = I(br.payments[0])
736- if ((cn == cn))
737- then (bf(bg, bh, "") ++ cn)
738- else throw("Strict value is not equal to itself.")
739- }
729+ else bf(bg, bh, "")
740730 }
741731 else throw("Strict value is not equal to itself.")
742732 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 2
55
66 let b = "BREEDING_STARTED"
77
88 let c = "BREEDING_FINISHED"
99
1010 func d (e,f) = {
1111 let g = getString(e, f)
1212 if ($isInstanceOf(g, "String"))
1313 then {
1414 let h = g
1515 h
1616 }
1717 else ""
1818 }
1919
2020
2121 func i (e,f) = {
2222 let g = getInteger(e, f)
2323 if ($isInstanceOf(g, "Int"))
2424 then {
2525 let j = g
2626 j
2727 }
2828 else 0
2929 }
3030
3131
3232 func k (f) = d(this, f)
3333
3434
3535 func l () = "static_oracleAddress"
3636
3737
3838 func m () = "static_incubatorAddress"
3939
4040
4141 func n () = "static_rebirthAddress"
4242
4343
4444 func o () = "static_itemsAddress"
4545
4646
4747 func p () = "static_eggAssetId"
4848
4949
5050 func q () = "static_babyDuckBreedingAddress"
5151
5252
5353 func r () = "static_ducklingPrice"
5454
5555
5656 func s () = "static_couponsAddress"
5757
5858
5959 func t () = "static_burnAddress"
6060
6161
6262 func u () = "static_refContractAddress"
6363
6464
6565 func v () = "static_extraFee"
6666
6767
6868 func w () = "static_feeAggregator"
6969
7070
7171 func x () = Address(fromBase58String(k(l())))
7272
7373
7474 func y () = Address(fromBase58String(d(x(), m())))
7575
7676
7777 func z () = Address(fromBase58String(d(x(), n())))
7878
7979
8080 func A () = Address(fromBase58String(d(x(), o())))
8181
8282
8383 func B () = fromBase58String(d(x(), p()))
8484
8585
8686 func C () = Address(fromBase58String(d(x(), q())))
8787
8888
8989 func D () = i(x(), r())
9090
9191
9292 func E () = Address(fromBase58String(d(x(), s())))
9393
9494
9595 func F () = Address(fromBase58String(d(x(), t())))
9696
9797
9898 func G () = Address(fromBase58String(d(x(), u())))
9999
100100
101101 func H () = Address(fromBase58String(d(x(), w())))
102102
103103
104104 func I (J) = if (isDefined(J.assetId))
105105 then throw("BCAP: Please attach waves")
106106 else {
107107 let K = getIntegerValue(x(), v())
108108 if ((J.amount != K))
109109 then throw((("BCAP: Please attach exactly " + toString(K)) + " amount of wavelets"))
110110 else [ScriptTransfer(H(), K, unit)]
111111 }
112112
113113
114114 let L = 7
115115
116116 let M = ["G", "H", "I", "K", "L", "M", "N", "O"]
117117
118118 func N (e,O) = (((e + "_") + toBase58String(O)) + "_status")
119119
120120
121121 func P (e,O) = (((e + "_") + toBase58String(O)) + "_duckling")
122122
123123
124124 func Q (e,O) = (((e + "_") + toBase58String(O)) + "_fh")
125125
126126
127127 func R (O,S) = ((("inittx_" + toBase58String(O)) + "_parent") + toString(S))
128128
129129
130130 func T (e,O) = (((e + "_") + toBase58String(O)) + "_di")
131131
132132
133133 func U (V) = (("stats_" + V) + "_amount")
134134
135135
136136 func W (f) = {
137137 let X = {
138138 let g = getInteger(this, f)
139139 if ($isInstanceOf(g, "Int"))
140140 then {
141141 let j = g
142142 j
143143 }
144144 else 0
145145 }
146146 X
147147 }
148148
149149
150150 func Y (Z,aa) = {
151151 let ab = max([value(indexOf(M, Z)), value(indexOf(M, aa))])
152152 M[(ab + 1)]
153153 }
154154
155155
156156 func ac (ad,O,ae,af) = {
157157 let ag = value(blockInfoByHeight((ae - 1)))
158158 let ah = sha256_16Kb((O + value(ag.vrf)))
159159 (toInt(ah, af) % ad)
160160 }
161161
162162
163163 func ai (aj,ak,al,O,ae,am,an,ao,ap) = if (if ((am != 0))
164164 then (an == al)
165165 else false)
166166 then if ((am == 1))
167167 then aj
168168 else if ((am == 2))
169169 then ak
170170 else throw("Parent either needs to be 1 or 2")
171171 else if (if ((ao != ""))
172172 then (ap == al)
173173 else false)
174174 then ao
175175 else {
176176 let aq = ac(2, O, ae, al)
177177 let ar = if ((aq == 0))
178178 then aj
179179 else ak
180180 ar
181181 }
182182
183183
184184 func as (at) = {
185185 let au = {
186186 let g = getString(y(), at)
187187 if ($isInstanceOf(g, "String"))
188188 then {
189189 let j = g
190190 true
191191 }
192192 else false
193193 }
194194 let av = {
195195 let g = getString(this, at)
196196 if ($isInstanceOf(g, "String"))
197197 then {
198198 let aw = g
199199 true
200200 }
201201 else false
202202 }
203203 if (au)
204204 then true
205205 else av
206206 }
207207
208208
209209 func ax (ay,az) = {
210210 let aA = split(value(assetInfo(ay)).name, "")
211211 let aB = split(value(assetInfo(az)).name, "")
212212 if ((value(indexOf(M, aA[14])) >= L))
213213 then (("you can only breed ducks with generation " + M[L]) + " and lower")
214214 else if ((value(indexOf(M, aB[14])) >= L))
215215 then (("you can only breed ducks with generation " + M[L]) + " and lower")
216216 else "true"
217217 }
218218
219219
220220 func aC (aD,aE) = if ((aE == "A"))
221221 then (aD + 1)
222222 else (aD + 0)
223223
224224
225225 func aF (aD,aE) = if ((aE == "B"))
226226 then (aD + 1)
227227 else (aD + 0)
228228
229229
230230 func aG (aD,aE) = if ((aE == "C"))
231231 then (aD + 1)
232232 else (aD + 0)
233233
234234
235235 func aH (aD,aE) = if ((aE == "D"))
236236 then (aD + 1)
237237 else (aD + 0)
238238
239239
240240 func aI (aD,aE) = if ((aE == "E"))
241241 then (aD + 1)
242242 else (aD + 0)
243243
244244
245245 func aJ (aD,aE) = if ((aE == "F"))
246246 then (aD + 1)
247247 else (aD + 0)
248248
249249
250250 func aK (aD,aE) = if ((aE == "G"))
251251 then (aD + 1)
252252 else (aD + 0)
253253
254254
255255 func aL (aD,aE) = if ((aE == "H"))
256256 then (aD + 1)
257257 else (aD + 0)
258258
259259
260260 func aM (aD,aE) = if ((aE == "I"))
261261 then (aD + 1)
262262 else (aD + 0)
263263
264264
265265 func aN (aD,aE) = if ((aE == "K"))
266266 then (aD + 1)
267267 else (aD + 0)
268268
269269
270270 func aO (aD,aE) = if ((aE == "L"))
271271 then (aD + 1)
272272 else (aD + 0)
273273
274274
275275 func aP (aD,aE) = if ((aE == "M"))
276276 then (aD + 1)
277277 else (aD + 0)
278278
279279
280280 func aQ (aD,aE) = if ((aE == "S"))
281281 then (aD + 1)
282282 else (aD + 0)
283283
284284
285285 func aR (aD,aE) = if ((aE == "T"))
286286 then (aD + 1)
287287 else (aD + 0)
288288
289289
290290 func aS (aT) = if (contains(aT, "0"))
291291 then ""
292292 else aT
293293
294294
295295 func aU (aV) = {
296296 let g = aV
297297 if ($isInstanceOf(g, "String"))
298298 then {
299299 let aW = g
300300 aW
301301 }
302302 else throw("wrong type, expected: String")
303303 }
304304
305305
306306 func aX (aV) = {
307307 let g = aV
308308 if ($isInstanceOf(g, "Int"))
309309 then {
310310 let aY = g
311311 aY
312312 }
313313 else throw("wrong type, expected: Int")
314314 }
315315
316316
317317 func aZ (ba,bb,at,bc) = {
318318 let bd = aU(invoke(this, "getGenFromName", [ba], nil))
319319 if ((bd == bd))
320320 then {
321321 let aT = W(U(ba))
322322 let be = W((("stats_" + bd) + "_quantity"))
323323 [StringEntry(bb, toBase58String(at)), StringEntry(toBase58String(at), bb), IntegerEntry(U(ba), (aT + 1)), IntegerEntry((("stats_" + bd) + "_quantity"), (be + 1)), bc]
324324 }
325325 else throw("Strict value is not equal to itself.")
326326 }
327327
328328
329329 func bf (bg,bh,bi) = {
330330 let O = fromBase58String(bg)
331331 let bj = N(bh, O)
332332 let bb = T(bh, O)
333333 let bk = getStringValue(this, bj)
334334 let bl = Q(bh, O)
335335 let bm = getIntegerValue(this, bl)
336336 if ((bk == c))
337337 then {
338338 let bn = getStringValue(this, T(bh, O))
339339 throw(("The duck was breeded and claimed already, here is the folowing: " + bn))
340340 }
341341 else if ((bm > height))
342342 then throw((((("Breeding is not finished yet " + toString((bm - height))) + " blocks remaining, it will take around ") + toString((bm - height))) + " minutes"))
343343 else {
344344 let ba = if ((bi == ""))
345345 then aU(invoke(this, "generateDuck", [O, bm, 0, 0, "", 0], nil))
346346 else bi
347347 if ((ba == ba))
348348 then {
349349 let bo = (("{\"genotype\": \"" + ba) + "\", \"crossbreeding\": true}")
350350 let bc = Issue(ba, bo, 1, 0, false, unit, bm)
351351 let at = calculateAssetId(bc)
352352 (aZ(ba, bb, at, bc) ++ [StringEntry(bj, c), ScriptTransfer(addressFromStringValue(bh), 1, at)])
353353 }
354354 else throw("Strict value is not equal to itself.")
355355 }
356356 }
357357
358358
359359 func bp (f) = {
360360 let g = getBoolean(this, f)
361361 if ($isInstanceOf(g, "Boolean"))
362362 then {
363363 let j = g
364364 j
365365 }
366366 else false
367367 }
368368
369369
370370 func bq () = bp("TESTENV")
371371
372372
373373 @Callable(br)
374374 func configureOracle (bs) = if ((br.caller != this))
375375 then throw("admin only")
376376 else [StringEntry("static_oracleAddress", bs)]
377377
378378
379379
380380 @Callable(br)
381381 func generateDuck (O,ae,am,an,ao,ap) = {
382382 let bt = ac(4, O, ae, 11)
383383 let bu = if ((bt == 0))
384384 then "Y"
385385 else if ((bt == 1))
386386 then "G"
387387 else if ((bt == 2))
388388 then "B"
389389 else "R"
390390 let bv = fromBase58String(k(R(O, 1)))
391391 let bw = fromBase58String(k(R(O, 2)))
392392 let bx = split(value(assetInfo(bv)).name, "")
393393 let by = split(value(assetInfo(bw)).name, "")
394394 let ar = ((((((((((("DUCK-" + ai(bx[5], by[5], 0, O, ae, am, an, ao, ap)) + ai(bx[6], by[6], 1, O, ae, am, an, ao, ap)) + ai(bx[7], by[7], 2, O, ae, am, an, ao, ap)) + ai(bx[8], by[8], 3, O, ae, am, an, ao, ap)) + ai(bx[9], by[9], 4, O, ae, am, an, ao, ap)) + ai(bx[10], by[10], 5, O, ae, am, an, ao, ap)) + ai(bx[11], by[11], 6, O, ae, am, an, ao, ap)) + ai(bx[12], by[12], 7, O, ae, am, an, ao, ap)) + "-") + Y(bx[14], by[14])) + bu)
395395 $Tuple2(nil, ar)
396396 }
397397
398398
399399
400400 @Callable(br)
401401 func getGenFromName (bz) = {
402402 let bA = split(dropRight(drop(bz, 5), 3), "")
403403 let bB = split(bz, "")[14]
404404 let ar = (((((((((((((((aS((toString({
405405 let bC = bA
406406 let bD = size(bC)
407407 let bE = 0
408408 func bF (bG,bH) = if ((bH >= bD))
409409 then bG
410410 else aC(bG, bC[bH])
411411
412412 func bI (bG,bH) = if ((bH >= bD))
413413 then bG
414414 else throw("List size exceeds 8")
415415
416416 bI(bF(bF(bF(bF(bF(bF(bF(bF(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
417417 }) + "A")) + aS((toString({
418418 let bC = bA
419419 let bD = size(bC)
420420 let bE = 0
421421 func bJ (bG,bH) = if ((bH >= bD))
422422 then bG
423423 else aF(bG, bC[bH])
424424
425425 func bK (bG,bH) = if ((bH >= bD))
426426 then bG
427427 else throw("List size exceeds 8")
428428
429429 bK(bJ(bJ(bJ(bJ(bJ(bJ(bJ(bJ(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
430430 }) + "B"))) + aS((toString({
431431 let bC = bA
432432 let bD = size(bC)
433433 let bE = 0
434434 func bL (bG,bH) = if ((bH >= bD))
435435 then bG
436436 else aG(bG, bC[bH])
437437
438438 func bM (bG,bH) = if ((bH >= bD))
439439 then bG
440440 else throw("List size exceeds 8")
441441
442442 bM(bL(bL(bL(bL(bL(bL(bL(bL(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
443443 }) + "C"))) + aS((toString({
444444 let bC = bA
445445 let bD = size(bC)
446446 let bE = 0
447447 func bN (bG,bH) = if ((bH >= bD))
448448 then bG
449449 else aH(bG, bC[bH])
450450
451451 func bO (bG,bH) = if ((bH >= bD))
452452 then bG
453453 else throw("List size exceeds 8")
454454
455455 bO(bN(bN(bN(bN(bN(bN(bN(bN(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
456456 }) + "D"))) + aS((toString({
457457 let bC = bA
458458 let bD = size(bC)
459459 let bE = 0
460460 func bP (bG,bH) = if ((bH >= bD))
461461 then bG
462462 else aI(bG, bC[bH])
463463
464464 func bQ (bG,bH) = if ((bH >= bD))
465465 then bG
466466 else throw("List size exceeds 8")
467467
468468 bQ(bP(bP(bP(bP(bP(bP(bP(bP(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
469469 }) + "E"))) + aS((toString({
470470 let bC = bA
471471 let bD = size(bC)
472472 let bE = 0
473473 func bR (bG,bH) = if ((bH >= bD))
474474 then bG
475475 else aJ(bG, bC[bH])
476476
477477 func bS (bG,bH) = if ((bH >= bD))
478478 then bG
479479 else throw("List size exceeds 8")
480480
481481 bS(bR(bR(bR(bR(bR(bR(bR(bR(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
482482 }) + "F"))) + aS((toString({
483483 let bC = bA
484484 let bD = size(bC)
485485 let bE = 0
486486 func bT (bG,bH) = if ((bH >= bD))
487487 then bG
488488 else aK(bG, bC[bH])
489489
490490 func bU (bG,bH) = if ((bH >= bD))
491491 then bG
492492 else throw("List size exceeds 8")
493493
494494 bU(bT(bT(bT(bT(bT(bT(bT(bT(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
495495 }) + "G"))) + aS((toString({
496496 let bC = bA
497497 let bD = size(bC)
498498 let bE = 0
499499 func bV (bG,bH) = if ((bH >= bD))
500500 then bG
501501 else aL(bG, bC[bH])
502502
503503 func bW (bG,bH) = if ((bH >= bD))
504504 then bG
505505 else throw("List size exceeds 8")
506506
507507 bW(bV(bV(bV(bV(bV(bV(bV(bV(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
508508 }) + "H"))) + aS((toString({
509509 let bC = bA
510510 let bD = size(bC)
511511 let bE = 0
512512 func bX (bG,bH) = if ((bH >= bD))
513513 then bG
514514 else aM(bG, bC[bH])
515515
516516 func bY (bG,bH) = if ((bH >= bD))
517517 then bG
518518 else throw("List size exceeds 8")
519519
520520 bY(bX(bX(bX(bX(bX(bX(bX(bX(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
521521 }) + "I"))) + aS((toString({
522522 let bC = bA
523523 let bD = size(bC)
524524 let bE = 0
525525 func bZ (bG,bH) = if ((bH >= bD))
526526 then bG
527527 else aN(bG, bC[bH])
528528
529529 func ca (bG,bH) = if ((bH >= bD))
530530 then bG
531531 else throw("List size exceeds 8")
532532
533533 ca(bZ(bZ(bZ(bZ(bZ(bZ(bZ(bZ(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
534534 }) + "K"))) + aS((toString({
535535 let bC = bA
536536 let bD = size(bC)
537537 let bE = 0
538538 func cb (bG,bH) = if ((bH >= bD))
539539 then bG
540540 else aO(bG, bC[bH])
541541
542542 func cc (bG,bH) = if ((bH >= bD))
543543 then bG
544544 else throw("List size exceeds 8")
545545
546546 cc(cb(cb(cb(cb(cb(cb(cb(cb(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
547547 }) + "L"))) + aS((toString({
548548 let bC = bA
549549 let bD = size(bC)
550550 let bE = 0
551551 func cd (bG,bH) = if ((bH >= bD))
552552 then bG
553553 else aP(bG, bC[bH])
554554
555555 func ce (bG,bH) = if ((bH >= bD))
556556 then bG
557557 else throw("List size exceeds 8")
558558
559559 ce(cd(cd(cd(cd(cd(cd(cd(cd(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
560560 }) + "M"))) + aS((toString({
561561 let bC = bA
562562 let bD = size(bC)
563563 let bE = 0
564564 func cf (bG,bH) = if ((bH >= bD))
565565 then bG
566566 else aQ(bG, bC[bH])
567567
568568 func cg (bG,bH) = if ((bH >= bD))
569569 then bG
570570 else throw("List size exceeds 8")
571571
572572 cg(cf(cf(cf(cf(cf(cf(cf(cf(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
573573 }) + "S"))) + aS((toString({
574574 let bC = bA
575575 let bD = size(bC)
576576 let bE = 0
577577 func ch (bG,bH) = if ((bH >= bD))
578578 then bG
579579 else aR(bG, bC[bH])
580580
581581 func ci (bG,bH) = if ((bH >= bD))
582582 then bG
583583 else throw("List size exceeds 8")
584584
585585 ci(ch(ch(ch(ch(ch(ch(ch(ch(bE, 0), 1), 2), 3), 4), 5), 6), 7), 8)
586586 }) + "T"))) + "-") + bB)
587587 $Tuple2(nil, ar)
588588 }
589589
590590
591591
592592 @Callable(br)
593593 func validateAndGetChildren (at) = if (!(as(at)))
594594 then throw((("You need to attach a valid NFT-duck. " + at) + " is invalid!"))
595595 else {
596596 let cj = W((("asset_" + at) + "_children"))
597597 $Tuple2(nil, cj)
598598 }
599599
600600
601601
602602 @Callable(br)
603603 func createDuckSpecialGenes (e,ba,cj) = if (if ((br.caller != A()))
604604 then (br.caller != this)
605605 else false)
606606 then throw("admin or items only")
607607 else {
608608 let O = br.transactionId
609609 let bo = (("{\"genotype\": \"" + ba) + "\", \"crossbreeding\": true}")
610610 let bc = Issue(ba, bo, 1, 0, false)
611611 let at = calculateAssetId(bc)
612612 let bb = T(toString(br.caller), O)
613613 let bd = aU(invoke(this, "getGenFromName", [ba], nil))
614614 if ((bd == bd))
615615 then (aZ(ba, bb, at, bc) ++ [IntegerEntry((("asset_" + toBase58String(at)) + "_children"), cj), ScriptTransfer(Address(e), 1, at)])
616616 else throw("Strict value is not equal to itself.")
617617 }
618618
619619
620620
621621 @Callable(br)
622622 func startDuckBreeding (ck) = {
623623 let cl = value(br.payments[0])
624624 let cm = value(br.payments[1])
625625 let cn = I(br.payments[2])
626626 if ((cn == cn))
627627 then {
628628 let co = toBase58String(value(cl.assetId))
629629 let cp = toBase58String(value(cm.assetId))
630630 if (if ((cl.amount != 1))
631631 then true
632632 else (cm.amount != 1))
633633 then throw("NFT is not attached")
634634 else {
635635 let cq = aX(invoke(E(), "useCoupons", [D()], nil))
636636 if ((cq == cq))
637637 then {
638638 let cr = (D() - cq)
639639 let J = if ((cr != 0))
640640 then {
641641 let cs = value(br.payments[3])
642642 if ((cs.assetId != B()))
643643 then throw(("BSDB: You can attach only EGG tokens with the following asset id: " + toBase58String(B())))
644644 else if ((cs.amount != cr))
645645 then throw(("BSDB: To breed you currently need the following amount of EGGlets: " + toString(cr)))
646646 else {
647647 let ct = fraction(cr, 5, 100)
648648 let cu = invoke(G(), "refPayment", [ck], [AttachedPayment(B(), ct)])
649649 if ((cu == cu))
650650 then {
651651 let cv = invoke(F(), "burnAttachedPayments", nil, [AttachedPayment(B(), (cr - ct))])
652652 if ((cv == cv))
653653 then cr
654654 else throw("Strict value is not equal to itself.")
655655 }
656656 else throw("Strict value is not equal to itself.")
657657 }
658658 }
659659 else 0
660660 if ((J == J))
661661 then {
662662 let cw = aX(invoke(this, "validateAndGetChildren", [co], nil))
663663 if ((cw == cw))
664664 then {
665665 let cx = aX(invoke(this, "validateAndGetChildren", [cp], nil))
666666 if ((cx == cx))
667667 then if (if ((cw > 0))
668668 then true
669669 else (cx > 0))
670670 then throw("One duck can be used for breeding only once in its lifetime.")
671671 else {
672672 let cy = ax(fromBase58String(co), fromBase58String(cp))
673673 if ((cy != "true"))
674674 then throw(("These ducks cannot be breeded: " + cy))
675675 else {
676676 let bx = split(value(assetInfo(value(cl.assetId))).name, "")
677677 let by = split(value(assetInfo(value(cm.assetId))).name, "")
678678 let cz = Y(bx[14], by[14])
679679 let cA = ((value(indexOf(M, cz)) + 1) * 10)
680680 let cB = aU(invoke(C(), "issueDuckling", [toString(br.caller), toBase58String(br.transactionId), cA, cz], nil))
681681 if ((cB == cB))
682682 then ([StringEntry(R(br.transactionId, 1), co), StringEntry(R(br.transactionId, 2), cp), StringEntry(N(toString(br.caller), br.transactionId), b), IntegerEntry(Q(toString(br.caller), br.transactionId), (height + a)), StringEntry(P(toString(br.caller), br.transactionId), cB), IntegerEntry((("asset_" + co) + "_children"), 1), IntegerEntry((("asset_" + cp) + "_children"), 1), ScriptTransfer(br.caller, 1, value(cl.assetId)), ScriptTransfer(br.caller, 1, value(cm.assetId))] ++ cn)
683683 else throw("Strict value is not equal to itself.")
684684 }
685685 }
686686 else throw("Strict value is not equal to itself.")
687687 }
688688 else throw("Strict value is not equal to itself.")
689689 }
690690 else throw("Strict value is not equal to itself.")
691691 }
692692 else throw("Strict value is not equal to itself.")
693693 }
694694 }
695695 else throw("Strict value is not equal to itself.")
696696 }
697697
698698
699699
700700 @Callable(br)
701701 func finishDuckHatchingItems (bg,bi) = if (if ((br.caller != A()))
702702 then (bi != "")
703703 else false)
704704 then throw("Only items can create fixed genes")
705705 else {
706706 let bh = toString(br.originCaller)
707707 let cC = aU(invoke(C(), "turnDucklingIntoDuck", nil, br.payments))
708708 if ((cC == cC))
709709 then {
710710 let cD = k(P(bh, fromBase58String(bg)))
711711 if ((cD != cC))
712712 then throw("Please attach the correct duckling!")
713- else {
714- let cn = I(br.payments[0])
715- if ((cn == cn))
716- then (bf(bg, bh, bi) ++ cn)
717- else throw("Strict value is not equal to itself.")
718- }
713+ else bf(bg, bh, bi)
719714 }
720715 else throw("Strict value is not equal to itself.")
721716 }
722717
723718
724719
725720 @Callable(br)
726721 func finishDuckHatching (bg) = {
727722 let bh = toString(br.caller)
728723 let cC = aU(invoke(C(), "turnDucklingIntoDuck", nil, br.payments))
729724 if ((cC == cC))
730725 then {
731726 let cD = k(P(bh, fromBase58String(bg)))
732727 if ((cD != cC))
733728 then throw("Please attach the correct duckling!")
734- else {
735- let cn = I(br.payments[0])
736- if ((cn == cn))
737- then (bf(bg, bh, "") ++ cn)
738- else throw("Strict value is not equal to itself.")
739- }
729+ else bf(bg, bh, "")
740730 }
741731 else throw("Strict value is not equal to itself.")
742732 }
743733
744734
745735
746736 @Callable(br)
747737 func finishDuckHatchingAdmin (bg,bh) = if ((br.caller != this))
748738 then throw("BFDH: Only admins can run this!")
749739 else bf(bg, bh, "")
750740
751741
752742
753743 @Callable(br)
754744 func reduceRarity (at,bd) = {
755745 let bc = fromBase58String(at)
756746 if (if (if ((br.caller != A()))
757747 then (br.caller != z())
758748 else false)
759749 then (br.caller != this)
760750 else false)
761751 then throw("admin, items or rebirth only")
762752 else {
763753 let ba = value(assetInfo(bc)).name
764754 [IntegerEntry(U(ba), (W(U(ba)) - 1)), IntegerEntry((("stats_" + bd) + "_quantity"), (W((("stats_" + bd) + "_quantity")) - 1))]
765755 }
766756 }
767757
768758
769759 @Verifier(cE)
770760 func cF () = if (bq())
771761 then sigVerify(cE.bodyBytes, cE.proofs[0], cE.senderPublicKey)
772762 else {
773763 let cG = base58'FzsTVRXqD46KW5yj6qGNVrsouvWjpCQvD1446A96iGt4'
774764 let cH = base58'E23yUg8eun5nXB1nZRDf7RTyRADKxQhGNXdpTYonEvtU'
775765 let cI = base58'Ga8WEBTPXbHuoXRD355mQ6ms8PsM2RFYKeA1mEP32CFe'
776766 let cJ = if (sigVerify(cE.bodyBytes, cE.proofs[0], cG))
777767 then 1
778768 else if (sigVerify(cE.bodyBytes, cE.proofs[1], cG))
779769 then 1
780770 else if (sigVerify(cE.bodyBytes, cE.proofs[2], cG))
781771 then 1
782772 else 0
783773 let cK = if (sigVerify(cE.bodyBytes, cE.proofs[0], cH))
784774 then 1
785775 else if (sigVerify(cE.bodyBytes, cE.proofs[1], cH))
786776 then 1
787777 else if (sigVerify(cE.bodyBytes, cE.proofs[2], cH))
788778 then 1
789779 else 0
790780 let cL = if (sigVerify(cE.bodyBytes, cE.proofs[0], cI))
791781 then 1
792782 else if (sigVerify(cE.bodyBytes, cE.proofs[1], cI))
793783 then 1
794784 else if (sigVerify(cE.bodyBytes, cE.proofs[2], cI))
795785 then 1
796786 else 0
797787 let cM = ((cJ + cK) + cL)
798788 let g = cE
799789 (cM >= 2)
800790 }
801791

github/deemru/w8io/873ac7e 
99.69 ms