tx · AxubzhDBPDKtmBBiHUotwkJzTYUhXn28PbvoyDRoSCXF

3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh:  -0.03900000 Waves

2024.12.15 17:47 [3415818] smart account 3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh > SELF 0.00000000 Waves

{ "type": 13, "id": "AxubzhDBPDKtmBBiHUotwkJzTYUhXn28PbvoyDRoSCXF", "fee": 3900000, "feeAssetId": null, "timestamp": 1734274059246, "version": 2, "chainId": 84, "sender": "3NBPx1Fciu3JQNEGZ21jSnTdutLNGGBUSXh", "senderPublicKey": "3QtfC1XbLZXdeawMDeSERy9vvjUmj1XYd2GFmrvx7pWQ", "proofs": [ "2yKUkp85d2UTNYGrcB4ULNWBdqhsqUiE5wQiWHcDWhx4zi5oocsp4setoctT7cQ3QiPLcNQsf6dW2JDiLBWKBK8N" ], "script": "base64:BgJbCAISABIECgIICBIDCgEEEgMKAQESABIFCgMIAQQSABIDCgEBEgASBAoCCAESABIDCgEIEgMKAQgSBAoCCAESAwoBCBIECgIIBBIAEgMKAQgSABIAEgASAwoBAZABAANTRVACAl9fAAVNVUxUNgDAhD0ABU1VTFQ3AICt4gQABU1VTFQ4AIDC1y8ABk1VTFQxNACAgOmDsd4WAApEQVlfTUlMTElTAIC4mSkAFVVTRFQyQUNSRVNfTVVMVElQTElFUgAKABNPTkVfUEVSQ0VOVF9ESVZJU09SAGQADFJBTkRPTV9ERUxBWQACABRORlRfQ0hFU1RfUFJJQ0VfVVNEVADAlrECAAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQAXREFJTFlfUFJPTU9fU1RBUlRfQkxPQ0sEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAgO+RAgMJAAACAQFUBQckbWF0Y2gwAMCm0AEJAAIBAg1Vbmtub3duIGNoYWluABVEQUlMWV9QUk9NT19FTkRfQkxPQ0sEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAoNuTAgMJAAACAQFUBQckbWF0Y2gwAOCS0gEJAAIBAg1Vbmtub3duIGNoYWluAApEQVlfQkxPQ0tTBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAKALAwkAAAIBAVQFByRtYXRjaDAAPAkAAgECDVVua25vd24gY2hhaW4AC1dFRUtfQkxPQ0tTBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAOBOAwkAAAIBAVQFByRtYXRjaDAAtAEJAAIBAg1Vbmtub3duIGNoYWluAApWUkZfT0ZGU0VUBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAAADCQAAAgEBVAUHJG1hdGNoMACQ+UUJAAIBAg1Vbmtub3duIGNoYWluAAt1c2R0QXNzZXRJZAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kDCQAAAgEBVAUHJG1hdGNoMAEgVbHYn3KHgu/l41uNrAWrZd6aQ6EvFrsF8xq3h6XxxRgJAAIBAg1Vbmtub3duIGNoYWluABZkZWZhdWx0UmVzdDJBZGRyZXNzU3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUEZ3WXRhOGJpRXozMXpwZUZlNURKSzh3RTV0clNwUVZGOAMJAAACAQFUBQckbWF0Y2gwAiMzTjdVdVlhcjYyNjRQNThGQmhWV0tQUUFoNFl1YTJoZ25ndgkAAgECDVVua25vd24gY2hhaW4ADmFyYml0cmFnZURlbGF5BAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwBQpEQVlfTUlMTElTAwkAAAIBAVQFByRtYXRjaDAA4NQDCQACAQINVW5rbm93biBjaGFpbgAVb2xkU3Rha2luZ0NvbnRyYWN0U3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUExuY1h0UzFVODNENmNRYkZEM0g4ckJIUExnenhTRktaMQMJAAACAQFUBQckbWF0Y2gwAiMzTkRDeUJHNXE4NUp1YVJpaWdVZUV0YWlueWpDUVQzWHBabQkAAgECDVVua25vd24gY2hhaW4BD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABBJZHhDZmdBY3JlczJEYXBwAAEADUlkeENmZ1dsZ0RhcHAAAgAUSWR4Q2ZnSW52ZXN0RnVuZERhcHAABQAQSWR4Q2ZnTWFya2V0RGFwcAAGAQprZXlSZXN0Q2ZnAAIOJXNfX3Jlc3RDb25maWcBD2tleVJlc3QyQWRkcmVzcwACDSVzX19yZXN0MkFkZHIBEXJlYWRSZXN0Q2ZnT3JGYWlsAQRyZXN0CQC8CQIJAQ9nZXRTdHJpbmdPckZhaWwCBQRyZXN0CQEKa2V5UmVzdENmZwAFA1NFUAEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAghyZXN0MkNmZwNpZHgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQCRAwIFCHJlc3QyQ2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAANcmVzdDJDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEPa2V5UmVzdDJBZGRyZXNzAAUWZGVmYXVsdFJlc3QyQWRkcmVzc1N0cgAIcmVzdDJDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDXJlc3QyQ29udHJhY3QADmFjcmVzMkNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFEElkeENmZ0FjcmVzMkRhcHAAC3dsZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFDUlkeENmZ1dsZ0RhcHAAEmludmVzdEZ1bmRDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCHJlc3QyQ2ZnBRRJZHhDZmdJbnZlc3RGdW5kRGFwcAAObWFya2V0Q29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQhyZXN0MkNmZwUQSWR4Q2ZnTWFya2V0RGFwcAATb2xkQWNyZXNDb250cmFjdEtleQIQb2xkQWNyZXNDb250cmFjdAEKa2V5QmxvY2tlZAACEGNvbnRyYWN0c0Jsb2NrZWQBFWtleUxhc3RXZWVrVHhJZEJ5VXNlcgEEYWRkcgkArAICAhNsYXN0V2Vla1R4SWRCeVVzZXJfBQRhZGRyARRrZXlDdXJXZWVrVHhJZEJ5VXNlcgEEYWRkcgkArAICAhJjdXJXZWVrVHhJZEJ5VXNlcl8FBGFkZHIBCWtleUNvbW1pdAEHYWRkcmVzcwkArAICAg9maW5pc2hCbG9ja0Zvcl8FB2FkZHJlc3MADXdsZ0Fzc2V0SWRLZXkCC3dsZ19hc3NldElkAAp3bGdBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgULd2xnQ29udHJhY3QFDXdsZ0Fzc2V0SWRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAAUYWNyZXNJc3N1ZWRBbW91bnRLZXkCEWFjcmVzSXNzdWVkQW1vdW50AA9hY3Jlc0Fzc2V0SWRLZXkCDGFjcmVzQXNzZXRJZAAMYWNyZXNBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgUOYWNyZXMyQ29udHJhY3QFD2FjcmVzQXNzZXRJZEtleQIXQUNSRVMgaXMgbm90IGlzc3VlZCB5ZXQBGGtleUFjcmVzU3Rha2VkVGltZUJ5VXNlcgEEYWRkcgkArAICAhZhY3Jlc1N0YWtlZFRpbWVCeVVzZXJfBQRhZGRyARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhNzdGFrZWRMYW5kc0J5T3duZXJfBQlvd25lckFkZHIBFGtleVN0YWtlZER1Y2tCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkRHVja0J5T3duZXJfBQlvd25lckFkZHIBHmtleVN0YWtlZFRpbWVCeUFzc2V0SWRBbmRPd25lcgIHYXNzZXRJZARhZGRyCQCsAgIJAKwCAgkArAICAgNzdF8FB2Fzc2V0SWQCAV8FBGFkZHIBFGtleVN0YWtlZE5GVHNCeU93bmVyAQlvd25lckFkZHIJAKwCAgISc3Rha2VkTkZUc0J5T3duZXJfBQlvd25lckFkZHIBEWtleVVzZXJQcm9tb0FjcmVzAQdhZGRyZXNzCQCsAgICC3Byb21vQWNyZXNfBQdhZGRyZXNzARNrZXlVc2VyUHJvbW9UaWNrZXRzAQdhZGRyZXNzCQCsAgICDXByb21vVGlja2V0c18FB2FkZHJlc3MAFGtleVRvdGFsUHJvbW9UaWNrZXRzAhF0b3RhbFByb21vVGlja2V0cwALa2V5UHJvbW9NYXACCHByb21vTWFwARRrZXlQcm9tb1JvdW5kV2lubmVycwEDZGF5CQCsAgICEnByb21vUm91bmRXaW5uZXJzXwkApAMBBQNkYXkAEnByb21vQXdhcmRQZXJSb3VuZAkAzAgCAAAJAMwIAgCAyrXuAQkAzAgCAIDC1y8JAMwIAgCAwtcvCQDMCAIAgMLXLwkAzAgCAIDC1y8FA25pbAEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAFuBQckbWF0Y2gwBQFuCQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQxhc1R1cGxlNUludHMBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACGShJbnQsIEludCwgSW50LCBJbnQsIEludCkEAXQFByRtYXRjaDAFAXQJAAIBAitmYWlsIHRvIGNhc3QgaW50byAoSW50LCBJbnQsIEludCwgSW50LCBJbnQpAQxhc1R1cGxlNEludHMBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACFChJbnQsIEludCwgSW50LCBJbnQpBAF0BQckbWF0Y2gwBQF0CQACAQImZmFpbCB0byBjYXN0IGludG8gKEludCwgSW50LCBJbnQsIEludCkBDGFzVHVwbGUzSW50cwEDdmFsBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIPKEludCwgSW50LCBJbnQpBAF0BQckbWF0Y2gwBQF0CQACAQIhZmFpbCB0byBjYXN0IGludG8gKEludCwgSW50LCBJbnQpAQxhc1R1cGxlMkludHMBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCihJbnQsIEludCkEAXQFByRtYXRjaDAFAXQJAAIBAhxmYWlsIHRvIGNhc3QgaW50byAoSW50LCBJbnQpAQpmaXhlZFBvaW50AgN2YWwIZGVjaW1hbHMEBnRlblBvdwkAbAYACgAABQhkZWNpbWFscwAAAAAFBERPV04EB2xvd1BhcnQJAKQDAQkAagIFA3ZhbAUGdGVuUG93BAZ6ZXJvZXMJALACAgkApAMBBQZ0ZW5Qb3cJAGQCAAEJALECAQUHbG93UGFydAkArAICCQCsAgIJAKwCAgkApAMBCQBpAgUDdmFsBQZ0ZW5Qb3cCAS4FBnplcm9lcwUHbG93UGFydAEPZ2V0UmFuZG9tTnVtYmVyAwhtYXhWYWx1ZQRzYWx0B2VudHJvcHkDCQBnAgAABQhtYXhWYWx1ZQkAAgECFm1heFZhbHVlIHNob3VsZCBiZSA+IDAECnJhbmRvbUhhc2gJANQWAQkAywECBQRzYWx0BQdlbnRyb3B5CQBqAgkAsQkBBQpyYW5kb21IYXNoBQhtYXhWYWx1ZQEEcGFkTAIDdmFsA2xlbgQEdmFsUwkApAMBBQN2YWwEBnplcm9lcwkAsAICCQCkAwEJAGwGAAoAAAkAZQIFA2xlbgkAsQIBBQR2YWxTAAAAAAUERE9XTgABCQCsAgIFBnplcm9lcwUEdmFsUwADTTZfAMCEPQADTThfAIDC1y8AD3dsZ0lzc3VlZEFtdEtleQIQd2xnX2lzc3VlZEFtb3VudAAOemJJc3N1ZWRBbXRLZXkCEnpiaWxsX2lzc3VlZEFtb3VudAEXa2V5QWNyZXNTdGFrZWRBbXRCeVVzZXIBBGFkZHIJAKwCAgIYYWNyZXNTdGFrZWRBbW91bnRCeVVzZXJfBQRhZGRyARVrZXlGYXJtaW5nUG93ZXJCeVVzZXIBBGFkZHIJAKwCAgITZmFybWluZ1Bvd2VyQnlVc2VyXwUEYWRkcgASYWNyZXNTdGFrZFRvdGFsS2V5AhZhY3Jlc1N0YWtlZEFtb3VudFRvdGFsABR0b3RhbEZhcm1pbmdQb3dlcktleQIRdG90YWxGYXJtaW5nUG93ZXIAC01BWF9XTF9ORlRTAAMADE1BWF9BUktfTkZUUwABAA1BUktfTkZUX0JPTlVTAIgnABdNQVhfTkZUU19TVEFLRURfQllfVVNFUgAEABFrZXlOZnRUb3RhbElzc3VlZAIObmZ0VG90YWxJc3N1ZWQAEWtleU5mdFRvdGFsQnVybmVkAg5uZnRUb3RhbEJ1cm5lZAATa2V5V2xOZnRUb3RhbFN0YWtlZAIQV2xOZnRUb3RhbFN0YWtlZAAUa2V5QXJrTmZ0VG90YWxTdGFrZWQCEUFya05mdFRvdGFsU3Rha2VkARVrZXlOZnROdW1iZXJCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgITbmZ0TnVtYmVyQnlBc3NldElkXwUHYXNzZXRJZAESa2V5VXNlcldsTmZ0TnVtYmVyAQRhZGRyCQCsAgICEHVzZXJXbE5mdE51bWJlcl8FBGFkZHIBE2tleVVzZXJBcmtOZnROdW1iZXIBBGFkZHIJAKwCAgIRdXNlckFya05mdE51bWJlcl8FBGFkZHIBEGtleVVzZXJGdWxsQm9udXMBBGFkZHIJAKwCAgIOdXNlckZ1bGxCb251c18FBGFkZHIACmxldmVsQWNyZXMJAMwIAgAACQDMCAIACgkAzAgCABQJAMwIAgAoCQDMCAIAUAkAzAgCAJYBCQDMCAIA+gEJAMwIAgCQAwkAzAgCALwFCQDMCAIA6AcFA25pbAEPZ2V0TGV2ZWxCeUFjcmVzAQVhY3JlcwQDYWNyCQBpAgkAZAIFBWFjcmVzAP/B1y8FA004XwoBB2NoZWNrZXICA2FjYwRpdGVtAwkAZwIFBGl0ZW0FA2FjcgUDYWNjCQBkAgUDYWNjAAEKAAIkbAUKbGV2ZWxBY3JlcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHY2hlY2tlcgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgEWZ2V0RmFybWluZ1Bvd2VyQnlBY3JlcwEFYWNyZXMJAGgCCQBoAgUFYWNyZXMAFAkAZAIJAQ9nZXRMZXZlbEJ5QWNyZXMBBQVhY3JlcwAEAR5nZXRGYXJtaW5nUG93ZXJCeUFjcmVzQW5kQm9udXMCBWFjcmVzBmJvbnVzNgQKbm90Qm9udXNlZAkBFmdldEZhcm1pbmdQb3dlckJ5QWNyZXMBBQVhY3JlcwkAlAoCCQBrAwUKbm90Qm9udXNlZAkAZAIFA002XwUGYm9udXM2BQNNNl8FCm5vdEJvbnVzZWQAC3RlYW1BZGRyS2V5Agh0ZWFtQWRkcgEZa2V5TGFzdFdsZ1RyYWRlVGltZUJ5VXNlcgEEYWRkcgkArAICAhBsYXN0QXJiVGltZVVzZXJfBQRhZGRyABFPTERfU1RBS0lOR19ERUFETACA+eObuTIAFE1BWF9MQU5EU19UT19DT05WRVJUAA4AFGtleUxhc3RBY3Jlc1NlbGxUaW1lAhFsYXN0QWNyZXNTZWxsVGltZQAQa2V5TGFzdExpbWl0TGVmdAINbGFzdExpbWl0TGVmdAAFbmFtZXMJAMwIAgILR29sZCBzaG92ZWwJAMwIAgIHUGlja2F4ZQkAzAgCAg5TYW50YSdzIG1pdHRlbgUDbmlsAAxkZXNjcmlwdGlvbnMJAMwIAgIWUmV3YXJkIGZvciBlYXJseSBiaXJkcwkAzAgCAhNJbmNyZWFzZXMgRmFybVBvd2VyCQDMCAICFU5ldyBZZWFyIHByb21vIHJld2FyZAUDbmlsAA5pZHhEZXNjclNob3ZlbAAAAA9pZHhEZXNjclBpY2theGUAAQAOaWR4RGVzY3JNaXR0ZW4AAgAQcmFyaXR5VGhyZXNob2xkcwkAzAgCAAUJAMwIAgAKCQDMCAIAFAUDbmlsAA1pZHhUaHJlc2hvbGRDAAAADWlkeFRocmVzaG9sZFUAAQANaWR4VGhyZXNob2xkTAACAAVuYW1legkAzAgCAgZTSE9WRUwJAMwIAgIHUElDS0FYRQkAzAgCAgZNSVRURU4FA25pbAANaWR4TmFtZVNob3ZlbAAAAA5pZHhOYW1lUGlja2F4ZQABAA1pZHhOYW1lTWl0dGVuAAIAC2NvbnRlbnRLZXl6CQDMCAICD2NvbnRlbnRQaWNrYXhlQwkAzAgCAg9jb250ZW50UGlja2F4ZVUJAMwIAgIPY29udGVudFBpY2theGVMCQDMCAICD2NvbnRlbnRQaWNrYXhlRQkAzAgCAg5jb250ZW50U2hvdmVsUAkAzAgCAg5jb250ZW50TWl0dGVuUAUDbmlsAAdpZHhLZXlDAAAACGlkeEtleVNQAAQACGlkeEtleU1QAAUAC3Jhcml0eU5hbWVzCQDMCAICBkNvbW1vbgkAzAgCAghVbmNvbW1vbgkAzAgCAglMZWdlbmRhcnkJAMwIAgIERXBpYwkAzAgCAgVQcm9tbwUDbmlsAAppZHhSYXJpdHlDAAAACmlkeFJhcml0eVUAAQAKaWR4UmFyaXR5TAACAAppZHhSYXJpdHlFAAMACmlkeFJhcml0eVAABAALY29sbGVjdGlvbnoJAMwIAgINRGlnZ2luZyB0b29scwkAzAgCAg5OZXcgWWVhciBnaWZ0cwUDbmlsAAppZHhDb2xsRGlnAAAADmlkeENvbGxOZXdZZWFyAAEACmJvbnVzVHlwZXoJAMwIAgIJRmFybVBvd2VyBQNuaWwADmlkeEJvbnVzVHlwZUZwAAABBnByb2xvZwEBaQMDCQECIT0CCAUBaQxvcmlnaW5DYWxsZXIFDXJlc3QyQ29udHJhY3QJAQt2YWx1ZU9yRWxzZQIJAKAIAQkBCmtleUJsb2NrZWQABwcJAAIBAh9Db250cmFjdHMgYXJlIHVuZGVyIG1haW50ZW5hbmNlBARhZGRyCQClCAEIBQFpDG9yaWdpbkNhbGxlcgQEd2VlawkAaQIFBmhlaWdodAULV0VFS19CTE9DS1MEC2xhc3RXZWVrS2V5CQEVa2V5TGFzdFdlZWtUeElkQnlVc2VyAQUEYWRkcgQSbGFzdFdlZWtUeElkQnlVc2VyCQCiCAEFC2xhc3RXZWVrS2V5BAR0eElkCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEA3d0eAkArAICCQCsAgIJAKQDAQUEd2VlawIBXwUEdHhJZAQKY3VyV2Vla0tleQkBFGtleUN1cldlZWtUeElkQnlVc2VyAQUEYWRkcgMJAQlpc0RlZmluZWQBBRJsYXN0V2Vla1R4SWRCeVVzZXIECmxhc3RXZWVrVHgJALUJAgkBBXZhbHVlAQUSbGFzdFdlZWtUeElkQnlVc2VyAgFfAwkAAAIJAJEDAgUKbGFzdFdlZWtUeAAACQCkAwEFBHdlZWsJAMwIAgkBC1N0cmluZ0VudHJ5AgULbGFzdFdlZWtLZXkFA3d0eAkAzAgCCQELU3RyaW5nRW50cnkCBQpjdXJXZWVrS2V5BQN3dHgFA25pbAMJAAACCQCRAwIFCmxhc3RXZWVrVHgAAAkApAMBCQBlAgUEd2VlawABCQDMCAIJAQtTdHJpbmdFbnRyeQIFCmN1cldlZWtLZXkFA3d0eAUDbmlsBBFjdXJXZWVrVHhJZEJ5VXNlcgkBEUBleHRyTmF0aXZlKDEwNTgpAQUKY3VyV2Vla0tleQQJY3VyV2Vla1R4CQC1CQIFEWN1cldlZWtUeElkQnlVc2VyAgFfAwkAAAIJAJEDAgUJY3VyV2Vla1R4AAAJAKQDAQUEd2VlawkAzAgCCQELU3RyaW5nRW50cnkCBQpjdXJXZWVrS2V5BQN3dHgFA25pbAkAzAgCCQELU3RyaW5nRW50cnkCBQtsYXN0V2Vla0tleQURY3VyV2Vla1R4SWRCeVVzZXIJAMwIAgkBC1N0cmluZ0VudHJ5AgUKY3VyV2Vla0tleQUDd3R4BQNuaWwJAMwIAgkBC1N0cmluZ0VudHJ5AgULbGFzdFdlZWtLZXkFA3d0eAkAzAgCCQELU3RyaW5nRW50cnkCBQpjdXJXZWVrS2V5BQN3dHgFA25pbAEUY3JlYXRlTmZ0RGVzY3JDdXN0b20IB2NvbnRLZXkJbmZ0U2VyaWFsCmNvbGxlY3Rpb24EbmFtZQVkZXNjcgZyYXJpdHkFYm9udXMJYm9udXNUeXBlCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAiJ7InVybCI6ICJodHRwczovL3dhdmVzbGFuZHMuY29tIiwgAg8iY29udGVudEtleSI6ICIFB2NvbnRLZXkCAyIsIAIKIm51bWJlciI6IAkApAMBBQluZnRTZXJpYWwCAiwgAg8iY29sbGVjdGlvbiI6ICIFCmNvbGxlY3Rpb24CAyIsIAIJIm5hbWUiOiAiBQRuYW1lAgMiLCACECJkZXNjcmlwdGlvbiI6ICIFBWRlc2NyAgMiLCACCSJyYXJlIjogIgUGcmFyaXR5AgMiLCACCSJib251cyI6IAkApAMBBQVib251cwICLCACDiJib251c1R5cGUiOiAiBQlib251c1R5cGUCAiJ9AQ5pc3N1ZU5mdEN1c3RvbQgHbmFtZUlkeApjb250S2V5SWR4B2NvbGxJZHgJcmFyaXR5SWR4CWJvbnVzUGVyYwhkZXNjcklkeAxib251c1R5cGVJZHgEYWRkcgQJbmZ0U2VyaWFsCQELdmFsdWVPckVsc2UCCQCfCAEFEWtleU5mdFRvdGFsSXNzdWVkAAAEBnJhcml0eQkAkQMCBQtyYXJpdHlOYW1lcwUJcmFyaXR5SWR4BARuYW1lCQCsAgIJAKwCAgkArAICCQCRAwIFBW5hbWV6BQduYW1lSWR4AgEtCQCvAgIFBnJhcml0eQABCQCkAwEFCWJvbnVzUGVyYwQFaXNzdWUJAMIIBQUEbmFtZQkBFGNyZWF0ZU5mdERlc2NyQ3VzdG9tCAkAkQMCBQtjb250ZW50S2V5egUKY29udEtleUlkeAUJbmZ0U2VyaWFsCQCRAwIFC2NvbGxlY3Rpb256BQdjb2xsSWR4CQCRAwIFBW5hbWVzBQduYW1lSWR4CQCRAwIFDGRlc2NyaXB0aW9ucwUIZGVzY3JJZHgJAJEDAgULcmFyaXR5TmFtZXMFCXJhcml0eUlkeAUJYm9udXNQZXJjCQCRAwIFCmJvbnVzVHlwZXoFDGJvbnVzVHlwZUlkeAABAAAHBApuZnRBc3NldElkCQC4CAEFBWlzc3VlCQCUCgIJAMwIAgUFaXNzdWUJAMwIAgkBDEludGVnZXJFbnRyeQIFEWtleU5mdFRvdGFsSXNzdWVkCQBkAgUJbmZ0U2VyaWFsAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJARVrZXlOZnROdW1iZXJCeUFzc2V0SWQBCQDYBAEFCm5mdEFzc2V0SWQFCW5mdFNlcmlhbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQRhZGRyAAEFCm5mdEFzc2V0SWQFA25pbAUKbmZ0QXNzZXRJZAESYm9udXNCeURlc2NyaXB0aW9uAQVkZXNjcgMJAQEhAQkBCGNvbnRhaW5zAgUFZGVzY3ICGCJib251c1R5cGUiOiAiRmFybVBvd2VyIgkAAgEJAKwCAgIWTkZUIGlzIG5vdCBzdXBwb3J0ZWQ6IAUFZGVzY3IECGJvbnVzU3RyCQCRAwIJALwJAgkAkQMCCQC8CQIFBWRlc2NyAggiYm9udXMiOgABAgEsAAAJAQ1wYXJzZUludFZhbHVlAQkAsAICBQhib251c1N0cgkAZAIJAQt2YWx1ZU9yRWxzZQIJALcJAgUIYm9udXNTdHICASAA////////////AQABARZyYXJpdHlJZHhCeURlc2NyaXByaW9uAQVkZXNjcgMJAQEhAQkBCGNvbnRhaW5zAgUFZGVzY3ICBiJyYXJlIgkAAgEJAKwCAgIWTkZUIGlzIG5vdCBzdXBwb3J0ZWQ6IAUFZGVzY3IECXJhcml0eVN0cgkAkQMCCQC8CQIJAJEDAgkAvAkCCQCRAwIJALwJAgUFZGVzY3ICBiJyYXJlIgABAgEsAAACASIAAQkBBXZhbHVlAQkAzwgCBQtyYXJpdHlOYW1lcwUJcmFyaXR5U3RyARlzdGFrZVVuc3Rha2VBY3Jlc0ludGVybmFsAwNhbXQHYWRkcmVzcwpib251c0RlbHRhAwMJAAACBQNhbXQAAAkAAAIFCmJvbnVzRGVsdGEAAAcJAAIBAg1Ob3RoaW5nIHRvIGRvBAl3bGdSZXN1bHQJAPwHBAULd2xnQ29udHJhY3QCEm9uU3Rha2VVbnN0YWtlTGFuZAkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAMJAAACBQl3bGdSZXN1bHQFCXdsZ1Jlc3VsdAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQHdGltZUtleQkBGGtleUFjcmVzU3Rha2VkVGltZUJ5VXNlcgEFB2FkZHJlc3MECWFtb3VudEtleQkBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQUHYWRkcmVzcwQOb2xkQWNyZXNBbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUJYW1vdW50S2V5AAADAwkAZgIAAAUDYW10CQBmAgAACQBkAgUOb2xkQWNyZXNBbW91bnQFA2FtdAcJAAIBCQCsAgIJAKwCAgkArAICAg5Zb3UgaGF2ZSBvbmx5IAkBCmZpeGVkUG9pbnQCBQ5vbGRBY3Jlc0Ftb3VudAAIAiAgQUNSRVMgc3Rha2VkLCB0cmllZCB0byB1bnN0YWtlIAkBCmZpeGVkUG9pbnQCCQEBLQEFA2FtdAAIBA5uZXdBY3Jlc0Ftb3VudAkAZAIFDm9sZEFjcmVzQW1vdW50BQNhbXQECG9sZFRvdGFsCQELdmFsdWVPckVsc2UCCQCfCAEFEmFjcmVzU3Rha2RUb3RhbEtleQAABAl1c2VyRnBLZXkJARVrZXlGYXJtaW5nUG93ZXJCeVVzZXIBBQdhZGRyZXNzBAVvbGRGcAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQl1c2VyRnBLZXkAAAQIYm9udXNLZXkJARBrZXlVc2VyRnVsbEJvbnVzAQUHYWRkcmVzcwQIb2xkQm9udXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QFCGJvbnVzS2V5AAADAwkAZgIAAAUKYm9udXNEZWx0YQkAZgIAAAkAZAIFCG9sZEJvbnVzBQpib251c0RlbHRhBwkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgIOWW91IGhhdmUgb25seSAJAQpmaXhlZFBvaW50AgUIb2xkQm9udXMABAIeJSBib251cywgYW5kIHRyaWVkIHRvIHVuc3Rha2UgCQEKZml4ZWRQb2ludAIJAQEtAQUKYm9udXNEZWx0YQAEAgElBAskdDA2NjMxNjczMAkBHmdldEZhcm1pbmdQb3dlckJ5QWNyZXNBbmRCb251cwIFDm5ld0FjcmVzQW1vdW50CQBkAgUIb2xkQm9udXMFCmJvbnVzRGVsdGEEDG5ld0JvbnVzZWRGcAgFCyR0MDY2MzE2NzMwAl8xBAdpZ25vcmVkCAULJHQwNjYzMTY3MzACXzIECm9sZFRvdGFsRnAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUUdG90YWxGYXJtaW5nUG93ZXJLZXkAAAQMYWNyZXNBY3Rpb25zAwkAAAIFA2FtdAAABQNuaWwJAMwIAgkBDEludGVnZXJFbnRyeQIFCWFtb3VudEtleQUObmV3QWNyZXNBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFEmFjcmVzU3Rha2RUb3RhbEtleQkAZAIFCG9sZFRvdGFsBQNhbXQFA25pbAQMYm9udXNBY3Rpb25zAwkAAAIFCmJvbnVzRGVsdGEAAAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQhib251c0tleQkAZAIFCG9sZEJvbnVzBQpib251c0RlbHRhBQNuaWwJAJQKAgkAzQgCCQDNCAIJAM0IAgkAzggCBQxhY3Jlc0FjdGlvbnMFDGJvbnVzQWN0aW9ucwkBDEludGVnZXJFbnRyeQIFB3RpbWVLZXkIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQEMSW50ZWdlckVudHJ5AgUJdXNlckZwS2V5BQxuZXdCb251c2VkRnAJAQxJbnRlZ2VyRW50cnkCBRR0b3RhbEZhcm1pbmdQb3dlcktleQkAZQIJAGQCBQpvbGRUb3RhbEZwBQxuZXdCb251c2VkRnAFBW9sZEZwBQl3bGdSZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BC2dldFdsZ1ByaWNlARV1c2R0QmFsYW5jZUNvcnJlY3Rpb24EDGlzc3VlZEFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFC3dsZ0NvbnRyYWN0BQ93bGdJc3N1ZWRBbXRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAQGd2xnVXNkCQDwBwIFC3dsZ0NvbnRyYWN0BQt1c2R0QXNzZXRJZAQJYWNyZXMyVXNkCQBlAgkA8AcCBQ5hY3JlczJDb250cmFjdAULdXNkdEFzc2V0SWQFFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQPaW52ZXN0RnVuZFRvdGFsCQBkAgkA8AcCBRJpbnZlc3RGdW5kQ29udHJhY3QFC3VzZHRBc3NldElkCQELdmFsdWVPckVsc2UCCQCaCAIFEmludmVzdEZ1bmRDb250cmFjdAUOemJJc3N1ZWRBbXRLZXkAAAQNdG90YWxGdW5kc1VzZAkAZAIJAGQCBQlhY3JlczJVc2QFBndsZ1VzZAUPaW52ZXN0RnVuZFRvdGFsCQBrAwUNdG90YWxGdW5kc1VzZAUFTVVMVDgFDGlzc3VlZEFtb3VudAERZ2V0U3dhcExpbWl0QWNyZXMABAZ3bGdVc2QJAPAHAgULd2xnQ29udHJhY3QFC3VzZHRBc3NldElkBAlhY3JlczJVc2QJAPAHAgUEdGhpcwULdXNkdEFzc2V0SWQED2ludmVzdEZ1bmRUb3RhbAkAZAIJAPAHAgUSaW52ZXN0RnVuZENvbnRyYWN0BQt1c2R0QXNzZXRJZAkBC3ZhbHVlT3JFbHNlAgkAmggCBRJpbnZlc3RGdW5kQ29udHJhY3QFDnpiSXNzdWVkQW10S2V5AAAEDGRlZmF1bHRMaW1pdAkAaQIJAGQCCQBkAgUJYWNyZXMyVXNkBQZ3bGdVc2QFD2ludmVzdEZ1bmRUb3RhbAUTT05FX1BFUkNFTlRfRElWSVNPUgQNbGFzdExpbWl0TGVmdAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRBrZXlMYXN0TGltaXRMZWZ0BQxkZWZhdWx0TGltaXQECGxhc3RUaW1lCQELdmFsdWVPckVsc2UCCQCfCAEFFGtleUxhc3RBY3Jlc1NlbGxUaW1lAAAEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXAEDGN1cnJlbnRMaW1pdAkAZAIFDWxhc3RMaW1pdExlZnQJAGsDBQxkZWZhdWx0TGltaXQJAGUCBQNub3cFCGxhc3RUaW1lBQpEQVlfTUlMTElTBA1saW1pdExlZnRVc2R0CQCXAwEJAMwIAgUMY3VycmVudExpbWl0CQDMCAIFDGRlZmF1bHRMaW1pdAUDbmlsCQCUCgIJAQxJbnRlZ2VyRW50cnkCBRRrZXlMYXN0QWNyZXNTZWxsVGltZQUDbm93BQ1saW1pdExlZnRVc2R0AAlhcmtPcmFjbGUJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQSmdaNkFLMVdWQ3BkQ21FWnBlc0htYUt2clFEZFhHNW9nAAlpbmN1YmF0b3IJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUJYXJrT3JhY2xlAhdzdGF0aWNfaW5jdWJhdG9yQWRkcmVzcwIAAAdicmVlZGVyCQELdmFsdWVPckVsc2UCCQCdCAIFCWFya09yYWNsZQIVc3RhdGljX2JyZWVkZXJBZGRyZXNzAgAAD3R1cnRsZUluY3ViYXRvcgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQlhcmtPcmFjbGUCHXN0YXRpY190dXJ0bGVJbmN1YmF0b3JBZGRyZXNzAgAADXR1cnRsZUJyZWVkZXIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUJYXJrT3JhY2xlAhtzdGF0aWNfdHVydGxlQnJlZWRlckFkZHJlc3MCAAAPY2FuaW5lSW5jdWJhdG9yCQELdmFsdWVPckVsc2UCCQCdCAIFCWFya09yYWNsZQIdc3RhdGljX2NhbmluZUluY3ViYXRvckFkZHJlc3MCAAANY2FuaW5lQnJlZWRlcgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQlhcmtPcmFjbGUCG3N0YXRpY19jYW5pbmVCcmVlZGVyQWRkcmVzcwIAAA9mZWxpbmVJbmN1YmF0b3IJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUJYXJrT3JhY2xlAh1zdGF0aWNfZmVsaW5lSW5jdWJhdG9yQWRkcmVzcwIAAA1mZWxpbmVCcmVlZGVyCQELdmFsdWVPckVsc2UCCQCdCAIFCWFya09yYWNsZQIbc3RhdGljX2ZlbGluZUJyZWVkZXJBZGRyZXNzAgAADW11dGFudEJyZWVkZXIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUJYXJrT3JhY2xlAh1zdGF0aWNfbXV0YW50SW5jdWJhdG9yQWRkcmVzcwIAAQ9pc0Fya2ltYWxJc3N1ZWQBA25mbwQGaXNzdWVyCQClCAEIBQNuZm8GaXNzdWVyAwMDAwMDAwMDAwkAAAIFBWNoYWluAQFUCQAAAgUGaXNzdWVyBRVvbGRTdGFraW5nQ29udHJhY3RTdHIHBgkAAAIFBmlzc3VlcgUJaW5jdWJhdG9yBgkAAAIFBmlzc3VlcgUHYnJlZWRlcgYJAAACBQZpc3N1ZXIFD3R1cnRsZUluY3ViYXRvcgYJAAACBQZpc3N1ZXIFDXR1cnRsZUJyZWVkZXIGCQAAAgUGaXNzdWVyBQ9jYW5pbmVJbmN1YmF0b3IGCQAAAgUGaXNzdWVyBQ1jYW5pbmVCcmVlZGVyBgkAAAIFBmlzc3VlcgUPZmVsaW5lSW5jdWJhdG9yBgkAAAIFBmlzc3VlcgUNZmVsaW5lQnJlZWRlcggFA25mbwRuYW1lAwkAAAIFBmlzc3VlcgUNbXV0YW50QnJlZWRlcggFA25mbwtkZXNjcmlwdGlvbgIAARBzdGFrZU5mdEludGVybmFsBgRhZGRyCmFzc2V0SWRTdHIGYm9udXM2CnVzZXJOdW1LZXkLdG90YWxOdW1LZXkFbGltaXQECW5mdE51bWJlcgkBC3ZhbHVlT3JFbHNlAgkAnwgBBQp1c2VyTnVtS2V5AAADCQBnAgUJbmZ0TnVtYmVyBQVsaW1pdAkAAgEJAKwCAgkArAICAhJZb3UgY2FuIHN0YWtlIG1heCAJAKQDAQUFbGltaXQCDSBvZiBzdWNoIE5GVHMEDSR0MDExMDA5MTEwODUJARlzdGFrZVVuc3Rha2VBY3Jlc0ludGVybmFsAwAABQRhZGRyBQZib251czYEB2FjdGlvbnMIBQ0kdDAxMTAwOTExMDg1Al8xBBB3bGdDbGFpbWVkQW1vdW50CAUNJHQwMTEwMDkxMTA4NQJfMgkAlAoCCQDNCAIJAM0IAgkAzQgCBQdhY3Rpb25zCQEMSW50ZWdlckVudHJ5AgUKdXNlck51bUtleQkAZAIFCW5mdE51bWJlcgABCQEMSW50ZWdlckVudHJ5AgULdG90YWxOdW1LZXkJAGQCCQELdmFsdWVPckVsc2UCCQCfCAEFC3RvdGFsTnVtS2V5AAAAAQkBDEludGVnZXJFbnRyeQIJAR5rZXlTdGFrZWRUaW1lQnlBc3NldElkQW5kT3duZXICBQphc3NldElkU3RyBQRhZGRyCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUQd2xnQ2xhaW1lZEFtb3VudAEMcHJvY2Vzc1Byb21vAwdhZGRyZXNzA2FtdBBzaG91bGRDbGVhblByb21vAwMJAGcCBQZoZWlnaHQFF0RBSUxZX1BST01PX1NUQVJUX0JMT0NLCQBmAgUVREFJTFlfUFJPTU9fRU5EX0JMT0NLBQZoZWlnaHQHBA1wcm9tb0FjcmVzS2V5CQERa2V5VXNlclByb21vQWNyZXMBBQdhZGRyZXNzBApwcm9tb0FjcmVzCQBkAgMFEHNob3VsZENsZWFuUHJvbW8AAAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQ1wcm9tb0FjcmVzS2V5AAAFA2FtdAQHdGlja2V0cwkAaQIFCnByb21vQWNyZXMFBU1VTFQ4BAp0aWNrZXRzS2V5CQETa2V5VXNlclByb21vVGlja2V0cwEFB2FkZHJlc3MEDGRlbHRhVGlja2V0cwkAZQIFB3RpY2tldHMJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUKdGlja2V0c0tleQAABAx0b3RhbFRpY2tldHMJAGQCCQELdmFsdWVPckVsc2UCCQCfCAEFFGtleVRvdGFsUHJvbW9UaWNrZXRzAAAFDGRlbHRhVGlja2V0cwMDBRBzaG91bGRDbGVhblByb21vBgkAZgIFDGRlbHRhVGlja2V0cwAABAhwcm9tb01hcAkBC3ZhbHVlT3JFbHNlAgkAoggBBQtrZXlQcm9tb01hcAIABAp1c2VyUmVjb3JkCQCsAgIJAKwCAgUHYWRkcmVzcwIBOgkBBHBhZEwCBQd0aWNrZXRzAAMEBm5ld01hcAMJAQhjb250YWlucwIFCHByb21vTWFwBQdhZGRyZXNzBAhtYXBQYXJ0cwkAvQkCBQhwcm9tb01hcAUHYWRkcmVzcwMJAAACCQCRAwIFCG1hcFBhcnRzAAACAAQBcgkAsAICCQCRAwIFCG1hcFBhcnRzAAEABAMJAAACBQFyAgADCQAAAgUHdGlja2V0cwAAAgAFCnVzZXJSZWNvcmQDCQAAAgUHdGlja2V0cwAACQCwAgIFAXIAAQkArAICBQp1c2VyUmVjb3JkBQFyBAFyCQCwAgIJAJEDAgUIbWFwUGFydHMAAQAEAwkAAAIFAXICAAMJAAACBQd0aWNrZXRzAAAJALMCAgkAkQMCBQhtYXBQYXJ0cwAAAAEJAKwCAgkAkQMCBQhtYXBQYXJ0cwAABQp1c2VyUmVjb3JkAwkAAAIFB3RpY2tldHMAAAkArAICCQCRAwIFCG1hcFBhcnRzAAAJALACAgUBcgABCQCsAgIJAKwCAgkAkQMCBQhtYXBQYXJ0cwAABQp1c2VyUmVjb3JkBQFyAwkAAAIFB3RpY2tldHMAAAUIcHJvbW9NYXADCQAAAgUIcHJvbW9NYXACAAUKdXNlclJlY29yZAkArAICCQCsAgIFCHByb21vTWFwAgFfBQp1c2VyUmVjb3JkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1wcm9tb0FjcmVzS2V5BQpwcm9tb0FjcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQp0aWNrZXRzS2V5BQd0aWNrZXRzCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRrZXlUb3RhbFByb21vVGlja2V0cwUMdG90YWxUaWNrZXRzCQDMCAIJAQtTdHJpbmdFbnRyeQIFC2tleVByb21vTWFwBQZuZXdNYXAFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgUNcHJvbW9BY3Jlc0tleQUKcHJvbW9BY3JlcwUDbmlsBQNuaWwBFXN0YWtlQWNyZXNGb3JJbnRlcm5hbAMHYWRkcmVzcwNhbXQQc2hvdWxkQ2xlYW5Qcm9tbwQNJHQwMTM5NTQxNDAzMAkBGXN0YWtlVW5zdGFrZUFjcmVzSW50ZXJuYWwDBQNhbXQFB2FkZHJlc3MAAAQHYWN0aW9ucwgFDSR0MDEzOTU0MTQwMzACXzEEEHdsZ0NsYWltZWRBbW91bnQIBQ0kdDAxMzk1NDE0MDMwAl8yBAxwcm9tb0FjdGlvbnMJAQxwcm9jZXNzUHJvbW8DBQdhZGRyZXNzBQNhbXQFEHNob3VsZENsZWFuUHJvbW8JAJQKAgkAzggCBQdhY3Rpb25zBQxwcm9tb0FjdGlvbnMFEHdsZ0NsYWltZWRBbW91bnQWAWkBCnNhdmVMYXN0VHgAAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQt3bGdDb250cmFjdAkAzAgCBQ5tYXJrZXRDb250cmFjdAUDbmlsCAUBaQZjYWxsZXIJAAIBAg1BY2Nlc3MgZGVuaWVkCQCUCgIJAQZwcm9sb2cBBQFpACoBaQENY29uc3RydWN0b3JWMQIJcmVzdDJBZGRyDm9sZEFjckNvbnRyYWN0AwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIRUGVybWlzc2lvbiBkZW5pZWQEDm9sZEFjckNvbnRBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBBQ5vbGRBY3JDb250cmFjdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUYWNyZXNJc3N1ZWRBbW91bnRLZXkJARFAZXh0ck5hdGl2ZSgxMDUwKQIFDm9sZEFjckNvbnRBZGRyBRRhY3Jlc0lzc3VlZEFtb3VudEtleQkAzAgCCQELQmluYXJ5RW50cnkCBQ9hY3Jlc0Fzc2V0SWRLZXkJARFAZXh0ck5hdGl2ZSgxMDUyKQIFDm9sZEFjckNvbnRBZGRyBQ9hY3Jlc0Fzc2V0SWRLZXkJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2tleVJlc3QyQWRkcmVzcwAFCXJlc3QyQWRkcgkAzAgCCQELU3RyaW5nRW50cnkCBRNvbGRBY3Jlc0NvbnRyYWN0S2V5BQ5vbGRBY3JDb250cmFjdAUDbmlsAWkBCnNldEJsb2NrZWQBCWlzQmxvY2tlZAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEXBlcm1pc3Npb24gZGVuaWVkCQDMCAIJAQxCb29sZWFuRW50cnkCCQEKa2V5QmxvY2tlZAAFCWlzQmxvY2tlZAUDbmlsAWkBDHVuc3Rha2VBY3JlcwEGYW1vdW50BA1wcm9sb2dBY3Rpb25zCQEGcHJvbG9nAQUBaQMDCQBnAgUGaGVpZ2h0BRdEQUlMWV9QUk9NT19TVEFSVF9CTE9DSwkAZgIFFURBSUxZX1BST01PX0VORF9CTE9DSwUGaGVpZ2h0BwkAAgECKllvdSBjYW4ndCB1bnN0YWtlIGR1cmluZyBYbWFzIHByb21vIHBlcmlvZAMJAGcCAAAFBmFtb3VudAkAAgECGUFtb3VudCBzaG91bGQgYmUgcG9zaXRpdmUEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUTm8gcGF5bWVudHMgcmVxdWlyZWQEDmFyYlJlbGVhc2VUaW1lCQBkAgkBC3ZhbHVlT3JFbHNlAgkAmggCBQt3bGdDb250cmFjdAkBGWtleUxhc3RXbGdUcmFkZVRpbWVCeVVzZXIBBQdhZGRyZXNzAAAFDmFyYml0cmFnZURlbGF5AwkAZgIFDmFyYlJlbGVhc2VUaW1lCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAAgEJAKwCAgItWW91IHRyYWRlZCBzb21lIFdMR09MRCwgY2Fubm90IHVuc3Rha2UgdW50aWwgCQCkAwEFDmFyYlJlbGVhc2VUaW1lBA0kdDAxNTYyNTE1NzA1CQEZc3Rha2VVbnN0YWtlQWNyZXNJbnRlcm5hbAMJAQEtAQUGYW1vdW50BQdhZGRyZXNzAAAEB2FjdGlvbnMIBQ0kdDAxNTYyNTE1NzA1Al8xBBB3bGdDbGFpbWVkQW1vdW50CAUNJHQwMTU2MjUxNTcwNQJfMgkAlAoCCQDOCAIJAM0IAgUHYWN0aW9ucwkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQZhbW91bnQFDGFjcmVzQXNzZXRJZAUNcHJvbG9nQWN0aW9ucwUQd2xnQ2xhaW1lZEFtb3VudAFpAQpzdGFrZUFjcmVzAAQNcHJvbG9nQWN0aW9ucwkBBnByb2xvZwEFAWkEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIiZXhhY3RseSAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAEA2FtdAgFA3BtdAZhbW91bnQDAwkBASEBCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkBgkBAiE9AgkBBXZhbHVlAQgFA3BtdAdhc3NldElkBQxhY3Jlc0Fzc2V0SWQJAAIBAhRBQ1JFUyBwYXltZW50cyBvbmx5IQQNJHQwMTYxNTYxNjIzNwkBFXN0YWtlQWNyZXNGb3JJbnRlcm5hbAMFB2FkZHJlc3MFA2FtdAcEDHN0YWtlQWN0aW9ucwgFDSR0MDE2MTU2MTYyMzcCXzEEEHdsZ0NsYWltZWRBbW91bnQIBQ0kdDAxNjE1NjE2MjM3Al8yCQCUCgIJAM4IAgUMc3Rha2VBY3Rpb25zBQ1wcm9sb2dBY3Rpb25zBRB3bGdDbGFpbWVkQW1vdW50AWkBDXN0YWtlQWNyZXNGb3IDB2FkZHJlc3MDYW10EHNob3VsZENsZWFuUHJvbW8DCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAkBFXN0YWtlQWNyZXNGb3JJbnRlcm5hbAMFB2FkZHJlc3MFA2FtdAUQc2hvdWxkQ2xlYW5Qcm9tbwFpAQhidXlBY3JlcwAEDXByb2xvZ0FjdGlvbnMJAQZwcm9sb2cBBQFpAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIiZXhhY3RseSAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAECnVzZHRBbW91bnQIBQNwbXQGYW1vdW50AwMJAQEhAQkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAYJAQIhPQIJAQV2YWx1ZQEIBQNwbXQHYXNzZXRJZAULdXNkdEFzc2V0SWQJAAIBAhNVU0RUIHBheW1lbnRzIG9ubHkhAwkAZgIFBU1VTFQ2BQp1c2R0QW1vdW50CQACAQkArAICCQCsAgICFk1pbiBwYXltZW50IHNob3VsZCBiZSAJAQpmaXhlZFBvaW50AgUFTVVMVDYABgIFIFVTRFQEC2FjcmVzQW1vdW50CQBoAgUKdXNkdEFtb3VudAUVVVNEVDJBQ1JFU19NVUxUSVBMSUVSBAl3bGdBbW91bnQJAGsDBQp1c2R0QW1vdW50BQVNVUxUOAkBC2dldFdsZ1ByaWNlAQUKdXNkdEFtb3VudAQPb2xkQWNyZXNBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBBRNvbGRBY3Jlc0NvbnRyYWN0S2V5BANyZXEJAPwHBAUPb2xkQWNyZXNBZGRyZXNzAhRyZXF1ZXN0QWNyZXNDYWxsYmFjawkAzAgCBQthY3Jlc0Ftb3VudAUDbmlsBQNuaWwDCQAAAgUDcmVxBQNyZXEECXdsZ1JlbWFpbgkBBWFzSW50AQkA/AcEBQt3bGdDb250cmFjdAIKYnVybldsZ29sZAkAzAgCBQl3bGdBbW91bnQFA25pbAUDbmlsCQCUCgIJAM4IAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFC2FjcmVzQW1vdW50BQxhY3Jlc0Fzc2V0SWQFA25pbAUNcHJvbG9nQWN0aW9ucwUJd2xnUmVtYWluCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEGJ1eUFjcmVzUkVBRE9OTFkBCnVzZHRBbW91bnQEC2FjcmVzQW1vdW50CQBoAgUKdXNkdEFtb3VudAUVVVNEVDJBQ1JFU19NVUxUSVBMSUVSBAl3bGdUb0J1cm4JAGsDBQp1c2R0QW1vdW50BQVNVUxUOAkBC2dldFdsZ1ByaWNlAQUKdXNkdEFtb3VudAkAlAoCBQNuaWwJAMwIAgULYWNyZXNBbW91bnQJAMwIAgUFTVVMVDYJAMwIAgULYWNyZXNBbW91bnQJAMwIAgUJd2xnVG9CdXJuBQNuaWwBaQEJc2VsbEFjcmVzAAQNcHJvbG9nQWN0aW9ucwkBBnByb2xvZwEFAWkDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAiJleGFjdGx5IDEgcGF5bWVudCBtdXN0IGJlIGF0dGFjaGVkBANwbXQJAJEDAggFAWkIcGF5bWVudHMAAAQLYWNyZXNBbW91bnQIBQNwbXQGYW1vdW50AwMJAQEhAQkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAYJAQIhPQIJAQV2YWx1ZQEIBQNwbXQHYXNzZXRJZAUMYWNyZXNBc3NldElkCQACAQIUQUNSRVMgcGF5bWVudHMgb25seSEDCQBmAgUFTVVMVDcFC2FjcmVzQW1vdW50CQACAQkArAICCQCsAgICFk1pbiBwYXltZW50IHNob3VsZCBiZSAJAQpmaXhlZFBvaW50AgUFTVVMVDcACAIGIEFDUkVTBARhZGRyCQClCAEIBQFpBmNhbGxlcgQNJHQwMTgzMDkxODM1NwkBEWdldFN3YXBMaW1pdEFjcmVzAAQLbGltaXRBY3Rpb24IBQ0kdDAxODMwOTE4MzU3Al8xBAdtYXhVc2R0CAUNJHQwMTgzMDkxODM1NwJfMgQIbWF4QWNyZXMJAGgCBQdtYXhVc2R0BRVVU0RUMkFDUkVTX01VTFRJUExJRVIDCQBmAgULYWNyZXNBbW91bnQFCG1heEFjcmVzCQACAQkArAICCQCsAgICEVlvdSBjYW4gc2VsbCBtYXggCQEKZml4ZWRQb2ludAIFCG1heEFjcmVzAAgCBiBBQ1JFUwQKdXNkdEFtb3VudAkAaQIJAGkCBQthY3Jlc0Ftb3VudAUVVVNEVDJBQ1JFU19NVUxUSVBMSUVSAAIJAJQKAgkAzggCCQDMCAIFC2xpbWl0QWN0aW9uCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRBrZXlMYXN0TGltaXRMZWZ0CQBlAgUHbWF4VXNkdAUKdXNkdEFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFCnVzZHRBbW91bnQFC3VzZHRBc3NldElkBQNuaWwFDXByb2xvZ0FjdGlvbnMFCnVzZHRBbW91bnQBaQERc2VsbEFjcmVzUkVBRE9OTFkCB2FkZHJlc3MLYWNyZXNBbW91bnQEDSR0MDE4ODUzMTg5MDEJARFnZXRTd2FwTGltaXRBY3JlcwAEC2xpbWl0QWN0aW9uCAUNJHQwMTg4NTMxODkwMQJfMQQHbWF4VXNkdAgFDSR0MDE4ODUzMTg5MDECXzIECnVzZHRBbW91bnQJAGkCCQBpAgULYWNyZXNBbW91bnQFFVVTRFQyQUNSRVNfTVVMVElQTElFUgACCQCUCgIFA25pbAkAzAgCBQp1c2R0QW1vdW50CQDMCAIFBU1VTFQ3CQDMCAIJAGgCBQdtYXhVc2R0BRVVU0RUMkFDUkVTX01VTFRJUExJRVIJAMwIAgAABQNuaWwBaQEQY29udmVydE9sZFN0YWtlcwAEDXByb2xvZ0FjdGlvbnMJAQZwcm9sb2cBBQFpAwkAZgIFEU9MRF9TVEFLSU5HX0RFQURMCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAAgEJAKwCAgIPRGlzYWJsZWQgdW50aWwgCQCkAwEJAGkCBRFPTERfU1RBS0lOR19ERUFETADoBwQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhRObyBwYXltZW50cyByZXF1aXJlZAQPb2xkQWNyZXNBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBBRNvbGRBY3Jlc0NvbnRyYWN0S2V5BAZhbW91bnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPb2xkQWNyZXNBZGRyZXNzCQEXa2V5QWNyZXNTdGFrZWRBbXRCeVVzZXIBBQdhZGRyZXNzAAAECWdvdEFjcmVzMAMJAGYCBQZhbW91bnQAAAkBDGFzVHVwbGUySW50cwEJAPwHBAUPb2xkQWNyZXNBZGRyZXNzAhR1bnN0YWtlQWNyZXNDYWxsYmFjawkAzAgCBQZhbW91bnQJAMwIAgUHYWRkcmVzcwUDbmlsBQNuaWwJAJQKAgAAAAAEEW9sZFN0YWtpbmdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBBRVvbGRTdGFraW5nQ29udHJhY3RTdHIECGxhbmRzU3RyCQCdCAIFEW9sZFN0YWtpbmdBZGRyZXNzCQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUHYWRkcmVzcwQLbGFuZHNSZXN1bHQDCQEJaXNEZWZpbmVkAQUIbGFuZHNTdHIEBWxhbmRzCQC9CQIJAQV2YWx1ZQEFCGxhbmRzU3RyAgFfAwkAZgIJAJADAQUFbGFuZHMFFE1BWF9MQU5EU19UT19DT05WRVJUCQACAQkArAICCQCsAgICE1lvdSBoYXZlIG1vcmUgdGhhbiAJAKQDAQUUTUFYX0xBTkRTX1RPX0NPTlZFUlQCRyBsYW5kcyBzdGFrZWQsIHBsZWFzZSBjb250YWN0IHN1cHBvcnQsIHdlJ2xsIHByb2Nlc3MgeW91ciBjYXNlIG1hbnVhbGx5CgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQBcgkBDGFzVHVwbGU1SW50cwEJAPwHBAURb2xkU3Rha2luZ0FkZHJlc3MCE3Vuc3Rha2VMYW5kQ2FsbGJhY2sJAMwIAgULbGFuZEFzc2V0SWQJAMwIAgUHYWRkcmVzcwUDbmlsBQNuaWwDCQAAAgUBcgUBcgkAlwoFCQBkAggFA2FjYwJfMQgFAXICXzEJAGQCCAUDYWNjAl8yCAUBcgJfMgkAZAIIBQNhY2MCXzMIBQFyAl8zCQBkAggFA2FjYwJfNAgFAXICXzQJAGQCCAUDYWNjAl81CAUBcgJfNQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQCcnIKAAIkbAUFbGFuZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCXCgUAAAAAAAAAAAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdvbmVMYW5kAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxNAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4DCQAAAgUCcnIFAnJyBAhmaW5hbGl6ZQkA/AcEBRFvbGRTdGFraW5nQWRkcmVzcwIcdW5zdGFrZUxhbmRzRmluYWxpemVDYWxsYmFjawkAzAgCBQdhZGRyZXNzBQNuaWwFA25pbAMJAAACBQhmaW5hbGl6ZQUIZmluYWxpemUEA3JlcQkA/AcEBQ9vbGRBY3Jlc0FkZHJlc3MCFHJlcXVlc3RBY3Jlc0NhbGxiYWNrCQDMCAIJAGQCCQBkAgkAZAIIBQJycgJfMQgFAnJyAl8yCAUCcnICXzMIBQJycgJfNAUDbmlsBQNuaWwDCQAAAgUDcmVxBQNyZXEEDSR0MDIxNDE1MjE1NTQJAQ5pc3N1ZU5mdEN1c3RvbQgFDWlkeE5hbWVTaG92ZWwFCGlkeEtleVNQBQppZHhDb2xsRGlnBQppZHhSYXJpdHlQAAMFDmlkeERlc2NyU2hvdmVsBQ5pZHhCb251c1R5cGVGcAgFAWkGY2FsbGVyBApuZnRBY3Rpb25zCAUNJHQwMjE0MTUyMTU1NAJfMQQKbmZ0QXNzZXRJZAgFDSR0MDIxNDE1MjE1NTQCXzIJAJgKBggFAnJyAl8xCAUCcnICXzIIBQJycgJfMwgFAnJyAl80CAUCcnICXzUFCm5mdEFjdGlvbnMJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAJgKBgAAAAAAAAAAAAAFA25pbAQLZHVja0Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJ0IAgURb2xkU3Rha2luZ0FkZHJlc3MJARRrZXlTdGFrZWREdWNrQnlPd25lcgEFB2FkZHJlc3MCAAQKZHVja1Jlc3VsdAMJAQIhPQIFC2R1Y2tBc3NldElkAgAJAQxhc1R1cGxlM0ludHMBCQD8BwQFEW9sZFN0YWtpbmdBZGRyZXNzAhN1bnN0YWtlRHVja0NhbGxiYWNrCQDMCAIFC2R1Y2tBc3NldElkCQDMCAIFB2FkZHJlc3MFA25pbAUDbmlsCQCVCgMAAAAAAAAEAXgJARlzdGFrZVVuc3Rha2VBY3Jlc0ludGVybmFsAwkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIIBQlnb3RBY3JlczACXzEIBQtsYW5kc1Jlc3VsdAJfMQgFC2xhbmRzUmVzdWx0Al8yCAULbGFuZHNSZXN1bHQCXzMIBQtsYW5kc1Jlc3VsdAJfNAgFCmR1Y2tSZXN1bHQCXzEIBQpkdWNrUmVzdWx0Al8yCAUKZHVja1Jlc3VsdAJfMwUHYWRkcmVzcwAACQCUCgIJAM4IAgkAzggCCAULbGFuZHNSZXN1bHQCXzYIBQF4Al8xBQ1wcm9sb2dBY3Rpb25zCQCVCgMIBQlnb3RBY3JlczACXzIIBQtsYW5kc1Jlc3VsdAJfNQgFAXgCXzIBaQEUdW5zdGFrZUxhbmRzUkVBRE9OTFkBB2FkZHJlc3MEEW9sZFN0YWtpbmdBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBBRVvbGRTdGFraW5nQ29udHJhY3RTdHIECGxhbmRzU3RyCQCdCAIFEW9sZFN0YWtpbmdBZGRyZXNzCQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUHYWRkcmVzcwQLbGFuZHNSZXN1bHQDCQEJaXNEZWZpbmVkAQUIbGFuZHNTdHIEBWxhbmRzCQC9CQIJAQV2YWx1ZQEFCGxhbmRzU3RyAgFfCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQBcgkBDGFzVHVwbGU0SW50cwEJAPwHBAURb2xkU3Rha2luZ0FkZHJlc3MCE3Vuc3Rha2VMYW5kUkVBRE9OTFkJAMwIAgULbGFuZEFzc2V0SWQJAMwIAgUHYWRkcmVzcwUDbmlsBQNuaWwJAJYKBAkAZAIIBQNhY2MCXzEIBQFyAl8xCQBkAggFA2FjYwJfMggFAXICXzIJAGQCCAUDYWNjAl8zCAUBcgJfMwkAZAIIBQNhY2MCXzQIBQFyAl80CgACJGwFBWxhbmRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlgoEAAAAAAAAAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB29uZUxhbmQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkCQCWCgQAAAAAAAAAAAkAlAoCBQNuaWwFC2xhbmRzUmVzdWx0AWkBEnN0YWtlQWNyZXNDYWxsYmFjawEEYWRkcgMJAQIhPQIIBQFpBmNhbGxlcgkBEUBleHRyTmF0aXZlKDEwNjIpAQUVb2xkU3Rha2luZ0NvbnRyYWN0U3RyCQACAQIRUGVybWlzc2lvbiBkZW5pZWQJARlzdGFrZVVuc3Rha2VBY3Jlc0ludGVybmFsAwgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQFBGFkZHIAAAFpARpzaW11bGF0ZVN0YWtlQWNyZXNSRUFET05MWQIHYWRkcmVzcwthZGRlZEFtb3VudAQJYW1vdW50S2V5CQEXa2V5QWNyZXNTdGFrZWRBbXRCeVVzZXIBBQdhZGRyZXNzBA5uZXdBY3Jlc0Ftb3VudAkAZAIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUJYW1vdW50S2V5AAAFC2FkZGVkQW1vdW50BAhvbGRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRJhY3Jlc1N0YWtkVG90YWxLZXkAAAQJdXNlckZwS2V5CQEVa2V5RmFybWluZ1Bvd2VyQnlVc2VyAQUHYWRkcmVzcwQFb2xkRnAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUJdXNlckZwS2V5AAAECXVzZXJCb251cwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hY3JlczJDb250cmFjdAkBEGtleVVzZXJGdWxsQm9udXMBBQdhZGRyZXNzAAAEDSR0MDIzODI1MjM5MTIJAR5nZXRGYXJtaW5nUG93ZXJCeUFjcmVzQW5kQm9udXMCBQ5uZXdBY3Jlc0Ftb3VudAUJdXNlckJvbnVzBAxuZXdCb251c2VkRnAIBQ0kdDAyMzgyNTIzOTEyAl8xBAdpZ25vcmVkCAUNJHQwMjM4MjUyMzkxMgJfMgQKb2xkVG90YWxGcAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRR0b3RhbEZhcm1pbmdQb3dlcktleQAABApuZXdUb3RhbEZwCQBlAgkAZAIFCm9sZFRvdGFsRnAFDG5ld0JvbnVzZWRGcAUFb2xkRnAJAJQKAgUDbmlsCQDMCAIFBW9sZEZwCQDMCAIFDG5ld0JvbnVzZWRGcAkAzAgCBQpvbGRUb3RhbEZwCQDMCAIFCm5ld1RvdGFsRnAFA25pbAFpAQtpc3N1ZVBpY2tDMQEKZm9yQWRkcmVzcwMJAQIhPQIIBQFpBmNhbGxlcgULd2xnQ29udHJhY3QJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAkBDmlzc3VlTmZ0Q3VzdG9tCAUOaWR4TmFtZVBpY2theGUFB2lkeEtleUMFCmlkeENvbGxEaWcFCmlkeFJhcml0eUMAAQUPaWR4RGVzY3JQaWNrYXhlBQ5pZHhCb251c1R5cGVGcAkBEUBleHRyTmF0aXZlKDEwNjIpAQUKZm9yQWRkcmVzcwFpAQxpc3N1ZU1pdHRlblACCmZvckFkZHJlc3MQc2hvdWxkQ2xlYW5Qcm9tbwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkBA0kdDAyNDUyODI0Njk4CQEOaXNzdWVOZnRDdXN0b20IBQ1pZHhOYW1lTWl0dGVuBQhpZHhLZXlNUAUOaWR4Q29sbE5ld1llYXIFCmlkeFJhcml0eVAAAwUOaWR4RGVzY3JNaXR0ZW4FDmlkeEJvbnVzVHlwZUZwCQERQGV4dHJOYXRpdmUoMTA2MikBBQpmb3JBZGRyZXNzBApuZnRBY3Rpb25zCAUNJHQwMjQ1MjgyNDY5OAJfMQQKbmZ0QXNzZXRJZAgFDSR0MDI0NTI4MjQ2OTgCXzIEDHByb21vQWN0aW9ucwkBDHByb2Nlc3NQcm9tbwMFCmZvckFkZHJlc3MAAAUQc2hvdWxkQ2xlYW5Qcm9tbwkAlAoCCQDOCAIFCm5mdEFjdGlvbnMFDHByb21vQWN0aW9ucwUKbmZ0QXNzZXRJZAFpAQhzdGFrZU5GVAAEDXByb2xvZ0FjdGlvbnMJAQZwcm9sb2cBBQFpAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIcRXhhY3RseSBvbmUgcGF5bWVudCByZXF1aXJlZAQDcG10CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAADCQECIT0CCAUDcG10BmFtb3VudAABCQACAQInTkZUIHRva2VuIHNob3VsZCBiZSBhdHRhY2hlZCBhcyBwYXltZW50BAdhc3NldElkCQEFdmFsdWUBCAUDcG10B2Fzc2V0SWQEBWFzc2V0CQEFdmFsdWUBCQDsBwEFB2Fzc2V0SWQECmFzc2V0SWRTdHIJANgEAQUHYXNzZXRJZAQEYWRkcgkApQgBCAUBaQZjYWxsZXIEB25mdHNLZXkJARRrZXlTdGFrZWRORlRzQnlPd25lcgEFBGFkZHIEB25mdHNTdHIJAKIIAQUHbmZ0c0tleQQEbmZ0cwMJAQlpc0RlZmluZWQBBQduZnRzU3RyCQC8CQIJAQV2YWx1ZQEFB25mdHNTdHICAV8FA25pbAMJAQ9jb250YWluc0VsZW1lbnQCBQRuZnRzBQphc3NldElkU3RyCQACAQkArAICAiFZb3VyIHN0YWtlZCBORlRzIGFscmVhZHkgY29udGFpbiAFCmFzc2V0SWRTdHIDCQBnAgkAkAMBBQRuZnRzBRdNQVhfTkZUU19TVEFLRURfQllfVVNFUgkAAgEJAKwCAgkArAICAhlZb3VyIGFscmVhZHkgc3Rha2VkIG1heCAoCQCkAwEFF01BWF9ORlRTX1NUQUtFRF9CWV9VU0VSAgYpIE5GVHMECmxpc3RBY3Rpb24JAQtTdHJpbmdFbnRyeQIFB25mdHNLZXkJALoJAgkAzQgCBQRuZnRzBQphc3NldElkU3RyAgFfAwkAAAIIBQVhc3NldAZpc3N1ZXIFBHRoaXMEDSR0MDI1NzUwMjU5NDAJARBzdGFrZU5mdEludGVybmFsBgUEYWRkcgUKYXNzZXRJZFN0cgkAaAIJARJib251c0J5RGVzY3JpcHRpb24BCQEFdmFsdWUBCAUFYXNzZXQLZGVzY3JpcHRpb24AkE4JARJrZXlVc2VyV2xOZnROdW1iZXIBBQRhZGRyBRNrZXlXbE5mdFRvdGFsU3Rha2VkBQtNQVhfV0xfTkZUUwQHYWN0aW9ucwgFDSR0MDI1NzUwMjU5NDACXzEEEHdsZ0NsYWltZWRBbW91bnQIBQ0kdDAyNTc1MDI1OTQwAl8yCQCUCgIJAM0IAgkAzggCBQ1wcm9sb2dBY3Rpb25zBQdhY3Rpb25zBQpsaXN0QWN0aW9uBRB3bGdDbGFpbWVkQW1vdW50AwkAAAIJAQ9pc0Fya2ltYWxJc3N1ZWQBBQVhc3NldAIACQACAQI0T25seSBXYXZlc0xhbmRzIGFuZCBBcmtpbWFscyBORlQgdG9rZW5zIGFyZSBhY2NlcHRlZAQNJHQwMjYxMjEyNjI3MgkBEHN0YWtlTmZ0SW50ZXJuYWwGBQRhZGRyBQphc3NldElkU3RyBQ1BUktfTkZUX0JPTlVTCQETa2V5VXNlckFya05mdE51bWJlcgEFBGFkZHIFFGtleUFya05mdFRvdGFsU3Rha2VkBQxNQVhfQVJLX05GVFMEB2FjdGlvbnMIBQ0kdDAyNjEyMTI2MjcyAl8xBBB3bGdDbGFpbWVkQW1vdW50CAUNJHQwMjYxMjEyNjI3MgJfMgkAlAoCCQDNCAIJAM4IAgUNcHJvbG9nQWN0aW9ucwUHYWN0aW9ucwUKbGlzdEFjdGlvbgUQd2xnQ2xhaW1lZEFtb3VudAFpAQp1bnN0YWtlTkZUAQphc3NldElkU3RyBA1wcm9sb2dBY3Rpb25zCQEGcHJvbG9nAQUBaQMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECFE5vIHBheW1lbnRzIHJlcXVpcmVkBAdhc3NldElkCQDZBAEFCmFzc2V0SWRTdHIEBGFkZHIJAKUIAQgFAWkGY2FsbGVyBAVhc3NldAkBBXZhbHVlAQkA7AcBBQdhc3NldElkBAd0aW1lS2V5CQEea2V5U3Rha2VkVGltZUJ5QXNzZXRJZEFuZE93bmVyAgUKYXNzZXRJZFN0cgUEYWRkcgMJAQEhAQkBCWlzRGVmaW5lZAEJAJ8IAQUHdGltZUtleQkAAgEJAKwCAgkArAICAgRORlQgCAUFYXNzZXQEbmFtZQIVIGlzIG5vdCBzdGFrZWQgYnkgeW91BAduZnRzS2V5CQEUa2V5U3Rha2VkTkZUc0J5T3duZXIBBQRhZGRyBARuZnRzCQC8CQIJAQt2YWx1ZU9yRWxzZQIJAKIIAQUHbmZ0c0tleQIAAgFfBANpZHgJAM8IAgUEbmZ0cwUKYXNzZXRJZFN0cgMJAQEhAQkBCWlzRGVmaW5lZAEFA2lkeAkAAgEJAKwCAgIfWW91ciBzdGFrZWQgTkZUcyBkb24ndCBjb250YWluIAUKYXNzZXRJZFN0cgQKbGlzdEFjdGlvbgMJAGYCCQCQAwEFBG5mdHMAAQkBC1N0cmluZ0VudHJ5AgUHbmZ0c0tleQkAugkCCQDRCAIFBG5mdHMJAQV2YWx1ZQEFA2lkeAIBXwkBC0RlbGV0ZUVudHJ5AQUHbmZ0c0tleQQEaXNXTAkAAAIIBQVhc3NldAZpc3N1ZXIFBHRoaXMDBQRpc1dMBAt3bE5mdE51bWJlcgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQESa2V5VXNlcldsTmZ0TnVtYmVyAQUEYWRkcgAABAhib251c1ZhbAkAaAIJARJib251c0J5RGVzY3JpcHRpb24BCQEFdmFsdWUBCAUFYXNzZXQLZGVzY3JpcHRpb24AkE4EDSR0MDI3NDM3Mjc1MTYJARlzdGFrZVVuc3Rha2VBY3Jlc0ludGVybmFsAwAABQRhZGRyCQEBLQEFCGJvbnVzVmFsBAdhY3Rpb25zCAUNJHQwMjc0MzcyNzUxNgJfMQQQd2xnQ2xhaW1lZEFtb3VudAgFDSR0MDI3NDM3Mjc1MTYCXzIJAJQKAgkAzggCCQDNCAIJAM0IAgkAzQgCCQDNCAIJAM0IAgUHYWN0aW9ucwUKbGlzdEFjdGlvbgkBDEludGVnZXJFbnRyeQIJARJrZXlVc2VyV2xOZnROdW1iZXIBBQRhZGRyCQBlAgULd2xOZnROdW1iZXIAAQkBDEludGVnZXJFbnRyeQIFE2tleVdsTmZ0VG90YWxTdGFrZWQJAJYDAQkAzAgCAAAJAMwIAgkAZQIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUTa2V5V2xOZnRUb3RhbFN0YWtlZAAAAAEFA25pbAkBC0RlbGV0ZUVudHJ5AQkBHmtleVN0YWtlZFRpbWVCeUFzc2V0SWRBbmRPd25lcgIJANgEAQUHYXNzZXRJZAUEYWRkcgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAAEFB2Fzc2V0SWQFDXByb2xvZ0FjdGlvbnMFEHdsZ0NsYWltZWRBbW91bnQEC2Fya2ltYWxOYW1lCQEPaXNBcmtpbWFsSXNzdWVkAQUFYXNzZXQDCQAAAgULYXJraW1hbE5hbWUCAAkAAgECNE9ubHkgV2F2ZXNMYW5kcyBhbmQgQXJraW1hbHMgTkZUIHRva2VucyBhcmUgYWNjZXB0ZWQEDGFya05mdE51bWJlcgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQETa2V5VXNlckFya05mdE51bWJlcgEFBGFkZHIAAAQNJHQwMjgxNzYyODI2MAkBGXN0YWtlVW5zdGFrZUFjcmVzSW50ZXJuYWwDAAAFBGFkZHIJAQEtAQUNQVJLX05GVF9CT05VUwQHYWN0aW9ucwgFDSR0MDI4MTc2MjgyNjACXzEEEHdsZ0NsYWltZWRBbW91bnQIBQ0kdDAyODE3NjI4MjYwAl8yCQCUCgIJAM4IAgkAzQgCCQDNCAIJAM0IAgkAzQgCBQdhY3Rpb25zBQpsaXN0QWN0aW9uCQEMSW50ZWdlckVudHJ5AgkBE2tleVVzZXJBcmtOZnROdW1iZXIBBQRhZGRyCQBlAgUMYXJrTmZ0TnVtYmVyAAEJAQtEZWxldGVFbnRyeQEJAR5rZXlTdGFrZWRUaW1lQnlBc3NldElkQW5kT3duZXICCQDYBAEFB2Fzc2V0SWQFBGFkZHIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgABBQdhc3NldElkBQ1wcm9sb2dBY3Rpb25zBRB3bGdDbGFpbWVkQW1vdW50AWkBDGV4Y2hhbmdlTkZUcwADCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhJUZW1wb3JhcnkgZGlzYWJsZWQEDXByb2xvZ0FjdGlvbnMJAQZwcm9sb2cBBQFpAwkAZgIAAwkAkAMBCAUBaQhwYXltZW50cwkAAgECKU1pbiBvbmUgV0xHT0xEIGFuZCAyIE5GVCBwYXltZW50cyBhbGxvd2VkAwkAZgIJAJADAQgFAWkIcGF5bWVudHMACgkAAgECKU1heCBvbmUgV0xHT0xEIGFuZCA5IE5GVCBwYXltZW50cyBhbGxvd2VkBARhZGRyCQClCAEIBQFpBmNhbGxlcgoBBWFkZFVwAgNhY2MDcG10BAdhc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIIBQNwbXQHYXNzZXRJZAIaV0FWRVMgcGF5bWVudHMgbm90IGFsbG93ZWQDCQAAAgUHYXNzZXRJZAUKd2xnQXNzZXRJZAkAlgoECQBkAggFA2FjYwJfMQgFA3BtdAZhbW91bnQIBQNhY2MCXzIIBQNhY2MCXzMIBQNhY2MCXzQEBWFzc2V0CQEFdmFsdWUBCQDsBwEFB2Fzc2V0SWQDCQECIT0CCAUFYXNzZXQGaXNzdWVyBQR0aGlzCQACAQIbT25seSBXTC1pc3N1ZWQgTkZUcyBhbGxvd2VkBAhyYXJpdHlJeAkBFnJhcml0eUlkeEJ5RGVzY3JpcHJpb24BCQEFdmFsdWUBCAUFYXNzZXQLZGVzY3JpcHRpb24DAwkAZgIIBQNhY2MCXzQAAAkBAiE9AgUIcmFyaXR5SXgIBQNhY2MCXzQHCQACAQItWW91IGNhbiBleGNoYW5nZSBvbmx5IE5GVHMgb2YgdGhlIHNhbWUgcmFyaXR5BAlib251c1BlcmMJARJib251c0J5RGVzY3JpcHRpb24BCQEFdmFsdWUBCAUFYXNzZXQLZGVzY3JpcHRpb24JAJYKBAgFA2FjYwJfMQkAZAIIBQNhY2MCXzIFCWJvbnVzUGVyYwkAzQgCCAUDYWNjAl8zCQEEQnVybgIFB2Fzc2V0SWQAAQUIcmFyaXR5SXgEDSR0MDI5NzExMjk5MjcKAAIkbAgFAWkIcGF5bWVudHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCWCgQAAAAABQNuaWwA////////////AQoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkVXACBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDEwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoEBndsZ0ZlZQgFDSR0MDI5NzExMjk5MjcCXzEECnRvdGFsQm9udXMIBQ0kdDAyOTcxMTI5OTI3Al8yBAtidXJuQWN0aW9ucwgFDSR0MDI5NzExMjk5MjcCXzMECXJhcml0eUlkeAgFDSR0MDI5NzExMjk5MjcCXzQEDG5ld1Jhcml0eUlkeAMJAAACBQlyYXJpdHlJZHgFCmlkeFJhcml0eUMDCQBmAgkAkQMCBRByYXJpdHlUaHJlc2hvbGRzBQ1pZHhUaHJlc2hvbGRDBQp0b3RhbEJvbnVzBQppZHhSYXJpdHlDAwkAZgIJAJEDAgUQcmFyaXR5VGhyZXNob2xkcwUNaWR4VGhyZXNob2xkVQUKdG90YWxCb251cwUKaWR4UmFyaXR5VQkAAgEJAKwCAgkArAICAjpZb3UgY2FuIGFkdmFuY2Ugb25seSBvbmUgbGV2ZWwgb2YgcmFyaXR5LCBtYXggdG90YWwgYm9udXMgCQCkAwEJAJEDAgUQcmFyaXR5VGhyZXNob2xkcwUNaWR4VGhyZXNob2xkVQIBJQMJAAACBQlyYXJpdHlJZHgFCmlkeFJhcml0eVUDCQBmAgkAkQMCBRByYXJpdHlUaHJlc2hvbGRzBQ1pZHhUaHJlc2hvbGRVBQp0b3RhbEJvbnVzBQppZHhSYXJpdHlVAwkAZgIJAJEDAgUQcmFyaXR5VGhyZXNob2xkcwUNaWR4VGhyZXNob2xkTAUKdG90YWxCb251cwUKaWR4UmFyaXR5TAkAAgEJAKwCAgkArAICAjpZb3UgY2FuIGFkdmFuY2Ugb25seSBvbmUgbGV2ZWwgb2YgcmFyaXR5LCBtYXggdG90YWwgYm9udXMgCQCkAwEJAJEDAgUQcmFyaXR5VGhyZXNob2xkcwUNaWR4VGhyZXNob2xkTAIBJQMJAAACBQlyYXJpdHlJZHgFCmlkeFJhcml0eUwDCQBmAgkAkQMCBRByYXJpdHlUaHJlc2hvbGRzBQ1pZHhUaHJlc2hvbGRMBQp0b3RhbEJvbnVzBQppZHhSYXJpdHlMBQppZHhSYXJpdHlFAwkAAAIFCXJhcml0eUlkeAUKaWR4UmFyaXR5RQUKaWR4UmFyaXR5RQMJAAACBQlyYXJpdHlJZHgFCmlkeFJhcml0eVAJAAIBAiZZb3UgY2FuJ3QgZXhjaGFuZ2UgTkZUcyBvZiB0aGlzIHJhcml0eQkAAgECDlVua25vd24gcmFyaXR5BAltaW5XbGdGZWUJAGsDBQp0b3RhbEJvbnVzBQZNVUxUMTQJAQtnZXRXbGdQcmljZQEAAAQGY2hhbmdlCQBlAgUGd2xnRmVlBQltaW5XbGdGZWUEB2ZvclRlYW0JAGkCBQltaW5XbGdGZWUAAgQJd2xnUmVtYWluCQEFYXNJbnQBCQD8BwQFC3dsZ0NvbnRyYWN0AgpidXJuV2xnb2xkCQDMCAIJAGUCBQltaW5XbGdGZWUFB2ZvclRlYW0FA25pbAUDbmlsAwkAZgIAAAUGY2hhbmdlCQACAQkArAICCQCsAgICE1lvdSBuZWVkIHRvIGF0dGFjaCAJAQpmaXhlZFBvaW50AgUJbWluV2xnRmVlAAgCDiBXTEdPTEQgYXMgZmVlBA1jaGFuZ2VBY3Rpb25zAwkAZgIFBmNoYW5nZQAACQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGY2hhbmdlBQp3bGdBc3NldElkBQNuaWwFA25pbAQNJHQwMzE0NjQzMTYyNQkBDmlzc3VlTmZ0Q3VzdG9tCAUOaWR4TmFtZVBpY2theGUFDG5ld1Jhcml0eUlkeAUKaWR4Q29sbERpZwUMbmV3UmFyaXR5SWR4BQp0b3RhbEJvbnVzBQ9pZHhEZXNjclBpY2theGUFDmlkeEJvbnVzVHlwZUZwCAUBaQZjYWxsZXIED2lzc3VlTmZ0QWN0aW9ucwgFDSR0MDMxNDY0MzE2MjUCXzEECm5mdEFzc2V0SWQIBQ0kdDAzMTQ2NDMxNjI1Al8yBAZidXJuZWQJAJADAQULYnVybkFjdGlvbnMEEmJ1cm5Db3VudGVyQWN0aW9ucwMJAAACBQZidXJuZWQAAAUDbmlsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRFrZXlOZnRUb3RhbEJ1cm5lZAkAZAIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQURa2V5TmZ0VG90YWxCdXJuZWQAAAUGYnVybmVkBQNuaWwJAJQKAgkAzQgCCQDOCAIJAM4IAgkAzggCCQDOCAIFD2lzc3VlTmZ0QWN0aW9ucwULYnVybkFjdGlvbnMFEmJ1cm5Db3VudGVyQWN0aW9ucwUNcHJvbG9nQWN0aW9ucwUNY2hhbmdlQWN0aW9ucwkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTMpAgULd2xnQ29udHJhY3QFC3RlYW1BZGRyS2V5BQdmb3JUZWFtBQp3bGdBc3NldElkCQCUCgIFCm5mdEFzc2V0SWQFCXdsZ1JlbWFpbgFpAQxvcGVuTmZ0Q2hlc3QAAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQISVGVtcG9yYXJ5IGRpc2FibGVkBA1wcm9sb2dBY3Rpb25zCQEGcHJvbG9nAQUBaQMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABAl3bGdBbW91bnQIBQNwbXQGYW1vdW50AwMJAQEhAQkBCWlzRGVmaW5lZAEIBQNwbXQHYXNzZXRJZAYJAQIhPQIJAQV2YWx1ZQEIBQNwbXQHYXNzZXRJZAUKd2xnQXNzZXRJZAkAAgECFVdMR09MRCBwYXltZW50cyBvbmx5IQQJbWluV2xnRmVlCQBrAwUUTkZUX0NIRVNUX1BSSUNFX1VTRFQFBU1VTFQ4CQELZ2V0V2xnUHJpY2UBAAAEBmNoYW5nZQkAZQIFCXdsZ0Ftb3VudAUJbWluV2xnRmVlBAdmb3JUZWFtCQBpAgUJbWluV2xnRmVlAAIECXdsZ1JlbWFpbgkBBWFzSW50AQkA/AcEBQt3bGdDb250cmFjdAIKYnVybldsZ29sZAkAzAgCCQBlAgUJbWluV2xnRmVlBQdmb3JUZWFtBQNuaWwFA25pbAMJAGYCAAAFBmNoYW5nZQkAAgEJAKwCAgkArAICAhNZb3UgbmVlZCB0byBhdHRhY2ggCQEKZml4ZWRQb2ludAIFCW1pbldsZ0ZlZQAIAg4gV0xHT0xEIGFzIGZlZQQNY2hhbmdlQWN0aW9ucwMJAGYCBQZjaGFuZ2UAAAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBmNoYW5nZQUKd2xnQXNzZXRJZAUDbmlsBQNuaWwEBGFkZHIJAKUIAQgFAWkGY2FsbGVyBAlmaW5pc2hLZXkJAQlrZXlDb21taXQBBQRhZGRyBAtmaW5pc2hCbG9jawkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCfCAEFCWZpbmlzaEtleQIkWW91IGhhdmUgdG8gY29tbWl0Rm9yUmFuZG9tKCkgZmlyc3QhAwkAZgIFC2ZpbmlzaEJsb2NrBQZoZWlnaHQJAAIBCQCsAgICNFJhbmRvbSBudW1iZXIgaXMgbm90IHJlYWR5IHlldCwgd2FpdCB1bnRpbCBoZWlnaHQgPSAJAKQDAQULZmluaXNoQmxvY2sEB2VudHJvcHkJAQV2YWx1ZQEICQEFdmFsdWUBCQDtBwEFC2ZpbmlzaEJsb2NrA3ZyZgQEc2FsdAkA2QQBCQCRAwIJALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEUa2V5Q3VyV2Vla1R4SWRCeVVzZXIBBQRhZGRyAgo0Ml9ERUZBVUxUAgFfAAEEBHJhbmQJAQ9nZXRSYW5kb21OdW1iZXIDAGQFBHNhbHQFB2VudHJvcHkEDSR0MDMzNzA2MzM5NzgDCQBmAgBUBQRyYW5kCQCUCgIAAQUKaWR4UmFyaXR5QwMJAGYCAGIFBHJhbmQJAJQKAgAFBQppZHhSYXJpdHlVCQCUCgIACgUKaWR4UmFyaXR5TAQFYm9udXMIBQ0kdDAzMzcwNjMzOTc4Al8xBAlyYXJpdHlJZHgIBQ0kdDAzMzcwNjMzOTc4Al8yBA0kdDAzMzk4MTM0MTMxCQEOaXNzdWVOZnRDdXN0b20IBQ5pZHhOYW1lUGlja2F4ZQUJcmFyaXR5SWR4BQppZHhDb2xsRGlnBQlyYXJpdHlJZHgFBWJvbnVzBQ9pZHhEZXNjclBpY2theGUFDmlkeEJvbnVzVHlwZUZwCAUBaQZjYWxsZXIED2lzc3VlTmZ0QWN0aW9ucwgFDSR0MDMzOTgxMzQxMzECXzEECm5mdEFzc2V0SWQIBQ0kdDAzMzk4MTM0MTMxAl8yCQCUCgIJAM0IAgkAzQgCCQDOCAIJAM4IAgUPaXNzdWVOZnRBY3Rpb25zBQ1wcm9sb2dBY3Rpb25zBQ1jaGFuZ2VBY3Rpb25zCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1MykCBQt3bGdDb250cmFjdAULdGVhbUFkZHJLZXkFB2ZvclRlYW0FCndsZ0Fzc2V0SWQJAQtEZWxldGVFbnRyeQEFCWZpbmlzaEtleQkAlAoCBQpuZnRBc3NldElkBQl3bGdSZW1haW4BaQEPY29tbWl0Rm9yUmFuZG9tAAMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECElRlbXBvcmFyeSBkaXNhYmxlZAQNcHJvbG9nQWN0aW9ucwkBBnByb2xvZwEFAWkEBGFkZHIJAKUIAQgFAWkGY2FsbGVyBAlmaW5pc2hLZXkJAQlrZXlDb21taXQBBQRhZGRyAwkBCWlzRGVmaW5lZAEJAJ8IAQUJZmluaXNoS2V5CQACAQIuWW91IGFscmVhZHkgY29tbWl0ZWQgZm9yIHJhbmRvbSwgcGxlYXNlIHVzZSBpdAQLZmluaXNoQmxvY2sJAGQCBQZoZWlnaHQFDFJBTkRPTV9ERUxBWQkAlAoCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIFCWZpbmlzaEtleQULZmluaXNoQmxvY2sFA25pbAUNcHJvbG9nQWN0aW9ucwULZmluaXNoQmxvY2sBaQEOZHJhd1Byb21vUm91bmQBB3JvdW5kSWQDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQFdG9kYXkJAGkCBQZoZWlnaHQFCkRBWV9CTE9DS1MECG1heFZhbHVlCQELdmFsdWVPckVsc2UCCQCfCAEFFGtleVRvdGFsUHJvbW9UaWNrZXRzAAADCQAAAgUIbWF4VmFsdWUAAAkAAgECEk5vIHRpY2tldHMgdG8gZHJhdwQBYgkAaAIFBXRvZGF5BQpEQVlfQkxPQ0tTBAFoAwkAZgIFAWIFClZSRl9PRkZTRVQFAWIJAGQCBQFiBQpWUkZfT0ZGU0VUBAdlbnRyb3B5CQEFdmFsdWUBCAkBBXZhbHVlAQkA7QcBBQFoA3ZyZgQIcHJvbW9NYXAJAQt2YWx1ZU9yRWxzZQIJAKIIAQULa2V5UHJvbW9NYXACAAMJAAACBQhwcm9tb01hcAIACQACAQIPTm8gcGFydGljaXBhbnRzCgEKc2luZ2xlRHJhdwICYWMBagMJAAACCAUCYWMCXzMCAAUCYWMECXByb21vTGlzdAkAvQkCCAUCYWMCXzMCAV8EBHJhbmQJAQ9nZXRSYW5kb21OdW1iZXIDCAUCYWMCXzEIBQJhYwJfMgUHZW50cm9weQoBDGNvdW50VGlja2V0cwIDYWNjAmVsBAVwYXJ0cwkAtQkCBQJlbAIBOgQEYWRkcgkAkQMCBQVwYXJ0cwAABAd0aWNrZXRzCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUFcGFydHMAAQQIbmV3VG90YWwJAGQCCAUDYWNjAl8xBQd0aWNrZXRzAwMJAAACCAUDYWNjAl8zAgAJAGYCBQhuZXdUb3RhbAUEcmFuZAcJAJUKAwUIbmV3VG90YWwFB3RpY2tldHMFBGFkZHIJAJUKAwUIbmV3VG90YWwIBQNhY2MCXzIIBQNhY2MCXzMEAXIKAAIkbAUJcHJvbW9MaXN0CgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlQoDAAAAAAIACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQxjb3VudFRpY2tldHMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDIwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcAeAB5AHoAewB8AH0AfgB/AIABAIEBAIIBAIMBAIQBAIUBAIYBAIcBAIgBAIkBAIoBAIsBAIwBAI0BAI4BAI8BAJABAJEBAJIBAJMBAJQBAJUBAJYBAJcBAJgBAJkBAJoBAJsBAJwBAJ0BAJ4BAJ8BAKABAKEBAKIBAKMBAKQBAKUBAKYBAKcBAKgBAKkBAKoBAKsBAKwBAK0BAK4BAK8BALABALEBALIBALMBALQBALUBALYBALcBALgBALkBALoBALsBALwBAL0BAL4BAL8BAMABAMEBAMIBAMMBAMQBAMUBAMYBAMcBAMgBBAZ3aW5uZXIIBQFyAl8zAwkAAAIFBndpbm5lcgIABQJhYwQIbWFwUGFydHMJAL0JAggFAmFjAl8zBQZ3aW5uZXIEBm5ld01hcAMJAAACCQCRAwIFCG1hcFBhcnRzAAACAAkAsAICCQCRAwIFCG1hcFBhcnRzAAEABQkArAICCQCzAgIJAJEDAgUIbWFwUGFydHMAAAABCQCwAgIJAJEDAgUIbWFwUGFydHMAAQAEBAp3aW5BY3Rpb25zAwkAAAIFAWoAAAkA/AcEBQR0aGlzAgxpc3N1ZU1pdHRlblAJAMwIAgUGd2lubmVyCQDMCAIGBQNuaWwFA25pbAkA/AcEBQR0aGlzAg1zdGFrZUFjcmVzRm9yCQDMCAIFBndpbm5lcgkAzAgCCQCRAwIFEnByb21vQXdhcmRQZXJSb3VuZAUBagkAzAgCBgUDbmlsBQNuaWwDCQAAAgUKd2luQWN0aW9ucwUKd2luQWN0aW9ucwQHbmV3U2FsdAkA2QQBCQCRAwIJALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEUa2V5Q3VyV2Vla1R4SWRCeVVzZXIBBQZ3aW5uZXICCTBfREVGQVVMVAIBXwABCQCWCgQJAGUCCAUCYWMCXzEIBQFyAl8yBQduZXdTYWx0BQZuZXdNYXAJAM0IAggFAmFjAl80BQZ3aW5uZXIJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EBWRyYXdzCgACJGwJAMwIAgAACQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUFA25pbAoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJYKBAUIbWF4VmFsdWUIBQFpDXRyYW5zYWN0aW9uSWQFCHByb21vTWFwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCnNpbmdsZURyYXcCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYJAJQKAgkAzAgCCQELU3RyaW5nRW50cnkCBQtrZXlQcm9tb01hcAgFBWRyYXdzAl8zCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRrZXlUb3RhbFByb21vVGlja2V0cwgFBWRyYXdzAl8xCQDMCAIJAQtTdHJpbmdFbnRyeQIJARRrZXlQcm9tb1JvdW5kV2lubmVycwEFB3JvdW5kSWQJALkJAggFBWRyYXdzAl80AgFfBQNuaWwAAACX43Th", "height": 3415818, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9rzB6GGAFMAuJ1jLX4VbRdJGtrGjhMRCLz1cKKGkETws Next: none Diff:
OldNewDifferences
188188
189189 let aj = "promoMap"
190190
191-func ak (al) = ("dailyWinners_" + toString(al))
191+func ak (al) = ("promoRoundWinners_" + toString(al))
192192
193193
194194 let am = [0, 500000000, 100000000, 100000000, 100000000, 100000000]
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 1000000
77
88 let c = 10000000
99
1010 let d = 100000000
1111
1212 let e = 100000000000000
1313
1414 let f = 86400000
1515
1616 let g = 10
1717
1818 let h = 100
1919
2020 let i = 2
2121
2222 let j = 5000000
2323
2424 let k = take(drop(this.bytes, 1), 1)
2525
2626 let l = {
2727 let m = k
2828 if ((base58'2W' == m))
2929 then 4487040
3030 else if ((base58'2T' == m))
3131 then 3412800
3232 else throw("Unknown chain")
3333 }
3434
3535 let n = {
3636 let m = k
3737 if ((base58'2W' == m))
3838 then 4517280
3939 else if ((base58'2T' == m))
4040 then 3443040
4141 else throw("Unknown chain")
4242 }
4343
4444 let o = {
4545 let m = k
4646 if ((base58'2W' == m))
4747 then 1440
4848 else if ((base58'2T' == m))
4949 then 60
5050 else throw("Unknown chain")
5151 }
5252
5353 let p = {
5454 let m = k
5555 if ((base58'2W' == m))
5656 then 10080
5757 else if ((base58'2T' == m))
5858 then 180
5959 else throw("Unknown chain")
6060 }
6161
6262 let q = {
6363 let m = k
6464 if ((base58'2W' == m))
6565 then 0
6666 else if ((base58'2T' == m))
6767 then 1146000
6868 else throw("Unknown chain")
6969 }
7070
7171 let r = {
7272 let m = k
7373 if ((base58'2W' == m))
7474 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
7575 else if ((base58'2T' == m))
7676 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
7777 else throw("Unknown chain")
7878 }
7979
8080 let s = {
8181 let m = k
8282 if ((base58'2W' == m))
8383 then "3PFwYta8biEz31zpeFe5DJK8wE5trSpQVF8"
8484 else if ((base58'2T' == m))
8585 then "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv"
8686 else throw("Unknown chain")
8787 }
8888
8989 let t = {
9090 let m = k
9191 if ((base58'2W' == m))
9292 then f
9393 else if ((base58'2T' == m))
9494 then 60000
9595 else throw("Unknown chain")
9696 }
9797
9898 let u = {
9999 let m = k
100100 if ((base58'2W' == m))
101101 then "3PLncXtS1U83D6cQbFD3H8rBHPLgzxSFKZ1"
102102 else if ((base58'2T' == m))
103103 then "3NDCyBG5q85JuaRiigUeEtainyjCQT3XpZm"
104104 else throw("Unknown chain")
105105 }
106106
107107 func v (w,x) = valueOrErrorMessage(getString(w, x), makeString(["mandatory ", toString(w), ".", x, " is not defined"], ""))
108108
109109
110110 let y = 1
111111
112112 let z = 2
113113
114114 let A = 5
115115
116116 let B = 6
117117
118118 func C () = "%s__restConfig"
119119
120120
121121 func D () = "%s__rest2Addr"
122122
123123
124124 func E (F) = split_4C(v(F, C()), a)
125125
126126
127127 func G (H,I) = valueOrErrorMessage(addressFromString(H[I]), ("Rest cfg doesn't contain address at index " + toString(I)))
128128
129129
130130 let J = addressFromStringValue(valueOrElse(getString(this, D()), s))
131131
132132 let H = E(J)
133133
134134 let K = G(H, y)
135135
136136 let L = G(H, z)
137137
138138 let M = G(H, A)
139139
140140 let N = G(H, B)
141141
142142 let O = "oldAcresContract"
143143
144144 func P () = "contractsBlocked"
145145
146146
147147 func Q (R) = ("lastWeekTxIdByUser_" + R)
148148
149149
150150 func S (R) = ("curWeekTxIdByUser_" + R)
151151
152152
153153 func T (w) = ("finishBlockFor_" + w)
154154
155155
156156 let U = "wlg_assetId"
157157
158158 let V = valueOrErrorMessage(getBinary(L, U), "WLGOLD is not issued yet")
159159
160160 let W = "acresIssuedAmount"
161161
162162 let X = "acresAssetId"
163163
164164 let Y = valueOrErrorMessage(getBinary(K, X), "ACRES is not issued yet")
165165
166166 func Z (R) = ("acresStakedTimeByUser_" + R)
167167
168168
169169 func aa (ab) = ("stakedLandsByOwner_" + ab)
170170
171171
172172 func ac (ab) = ("stakedDuckByOwner_" + ab)
173173
174174
175175 func ad (ae,R) = ((("st_" + ae) + "_") + R)
176176
177177
178178 func af (ab) = ("stakedNFTsByOwner_" + ab)
179179
180180
181181 func ag (w) = ("promoAcres_" + w)
182182
183183
184184 func ah (w) = ("promoTickets_" + w)
185185
186186
187187 let ai = "totalPromoTickets"
188188
189189 let aj = "promoMap"
190190
191-func ak (al) = ("dailyWinners_" + toString(al))
191+func ak (al) = ("promoRoundWinners_" + toString(al))
192192
193193
194194 let am = [0, 500000000, 100000000, 100000000, 100000000, 100000000]
195195
196196 func an (ao) = {
197197 let m = ao
198198 if ($isInstanceOf(m, "Int"))
199199 then {
200200 let ap = m
201201 ap
202202 }
203203 else throw("fail to cast into Int")
204204 }
205205
206206
207207 func aq (ar) = {
208208 let m = ar
209209 if ($isInstanceOf(m, "(Int, Int, Int, Int, Int)"))
210210 then {
211211 let as = m
212212 as
213213 }
214214 else throw("fail to cast into (Int, Int, Int, Int, Int)")
215215 }
216216
217217
218218 func at (ar) = {
219219 let m = ar
220220 if ($isInstanceOf(m, "(Int, Int, Int, Int)"))
221221 then {
222222 let as = m
223223 as
224224 }
225225 else throw("fail to cast into (Int, Int, Int, Int)")
226226 }
227227
228228
229229 func au (ar) = {
230230 let m = ar
231231 if ($isInstanceOf(m, "(Int, Int, Int)"))
232232 then {
233233 let as = m
234234 as
235235 }
236236 else throw("fail to cast into (Int, Int, Int)")
237237 }
238238
239239
240240 func av (ar) = {
241241 let m = ar
242242 if ($isInstanceOf(m, "(Int, Int)"))
243243 then {
244244 let as = m
245245 as
246246 }
247247 else throw("fail to cast into (Int, Int)")
248248 }
249249
250250
251251 func aw (ar,ax) = {
252252 let ay = pow(10, 0, ax, 0, 0, DOWN)
253253 let az = toString((ar % ay))
254254 let aA = drop(toString(ay), (1 + size(az)))
255255 (((toString((ar / ay)) + ".") + aA) + az)
256256 }
257257
258258
259259 func aB (aC,aD,aE) = if ((0 >= aC))
260260 then throw("maxValue should be > 0")
261261 else {
262262 let aF = sha256_16Kb((aD + aE))
263263 (toInt(aF) % aC)
264264 }
265265
266266
267267 func aG (ar,aH) = {
268268 let aI = toString(ar)
269269 let aA = drop(toString(pow(10, 0, (aH - size(aI)), 0, 0, DOWN)), 1)
270270 (aA + aI)
271271 }
272272
273273
274274 let aJ = 1000000
275275
276276 let aK = 100000000
277277
278278 let aL = "wlg_issuedAmount"
279279
280280 let aM = "zbill_issuedAmount"
281281
282282 func aN (R) = ("acresStakedAmountByUser_" + R)
283283
284284
285285 func aO (R) = ("farmingPowerByUser_" + R)
286286
287287
288288 let aP = "acresStakedAmountTotal"
289289
290290 let aQ = "totalFarmingPower"
291291
292292 let aR = 3
293293
294294 let aS = 1
295295
296296 let aT = 5000
297297
298298 let aU = 4
299299
300300 let aV = "nftTotalIssued"
301301
302302 let aW = "nftTotalBurned"
303303
304304 let aX = "WlNftTotalStaked"
305305
306306 let aY = "ArkNftTotalStaked"
307307
308308 func aZ (ae) = ("nftNumberByAssetId_" + ae)
309309
310310
311311 func ba (R) = ("userWlNftNumber_" + R)
312312
313313
314314 func bb (R) = ("userArkNftNumber_" + R)
315315
316316
317317 func bc (R) = ("userFullBonus_" + R)
318318
319319
320320 let bd = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
321321
322322 func be (bf) = {
323323 let bg = ((bf + 99999999) / aK)
324324 func bh (bi,bj) = if ((bj >= bg))
325325 then bi
326326 else (bi + 1)
327327
328328 let bk = bd
329329 let bl = size(bk)
330330 let bm = 0
331331 func bn (bo,bp) = if ((bp >= bl))
332332 then bo
333333 else bh(bo, bk[bp])
334334
335335 func bq (bo,bp) = if ((bp >= bl))
336336 then bo
337337 else throw("List size exceeds 10")
338338
339339 bq(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bm, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
340340 }
341341
342342
343343 func br (bf) = ((bf * 20) * (be(bf) + 4))
344344
345345
346346 func bs (bf,bt) = {
347347 let bu = br(bf)
348348 $Tuple2(fraction(bu, (aJ + bt), aJ), bu)
349349 }
350350
351351
352352 let bv = "teamAddr"
353353
354354 func bw (R) = ("lastArbTimeUser_" + R)
355355
356356
357357 let bx = 1733346000000
358358
359359 let by = 14
360360
361361 let bz = "lastAcresSellTime"
362362
363363 let bA = "lastLimitLeft"
364364
365365 let bB = ["Gold shovel", "Pickaxe", "Santa's mitten"]
366366
367367 let bC = ["Reward for early birds", "Increases FarmPower", "New Year promo reward"]
368368
369369 let bD = 0
370370
371371 let bE = 1
372372
373373 let bF = 2
374374
375375 let bG = [5, 10, 20]
376376
377377 let bH = 0
378378
379379 let bI = 1
380380
381381 let bJ = 2
382382
383383 let bK = ["SHOVEL", "PICKAXE", "MITTEN"]
384384
385385 let bL = 0
386386
387387 let bM = 1
388388
389389 let bN = 2
390390
391391 let bO = ["contentPickaxeC", "contentPickaxeU", "contentPickaxeL", "contentPickaxeE", "contentShovelP", "contentMittenP"]
392392
393393 let bP = 0
394394
395395 let bQ = 4
396396
397397 let bR = 5
398398
399399 let bS = ["Common", "Uncommon", "Legendary", "Epic", "Promo"]
400400
401401 let bT = 0
402402
403403 let bU = 1
404404
405405 let bV = 2
406406
407407 let bW = 3
408408
409409 let bX = 4
410410
411411 let bY = ["Digging tools", "New Year gifts"]
412412
413413 let bZ = 0
414414
415415 let ca = 1
416416
417417 let cb = ["FarmPower"]
418418
419419 let cc = 0
420420
421421 func cd (ce) = if (if ((ce.originCaller != J))
422422 then valueOrElse(getBoolean(P()), false)
423423 else false)
424424 then throw("Contracts are under maintenance")
425425 else {
426426 let R = toString(ce.originCaller)
427427 let cf = (height / p)
428428 let cg = Q(R)
429429 let ch = getString(cg)
430430 let ci = toBase58String(ce.transactionId)
431431 let cj = ((toString(cf) + "_") + ci)
432432 let ck = S(R)
433433 if (isDefined(ch))
434434 then {
435435 let cl = split(value(ch), "_")
436436 if ((cl[0] == toString(cf)))
437437 then [StringEntry(cg, cj), StringEntry(ck, cj)]
438438 else if ((cl[0] == toString((cf - 1))))
439439 then [StringEntry(ck, cj)]
440440 else {
441441 let cm = getStringValue(ck)
442442 let cn = split(cm, "_")
443443 if ((cn[0] == toString(cf)))
444444 then [StringEntry(ck, cj)]
445445 else [StringEntry(cg, cm), StringEntry(ck, cj)]
446446 }
447447 }
448448 else [StringEntry(cg, cj), StringEntry(ck, cj)]
449449 }
450450
451451
452452 func co (cp,cq,cr,cs,ct,cu,cv,cw) = (((((((((((((((((((((((("{\"url\": \"https://waveslands.com\", " + "\"contentKey\": \"") + cp) + "\", ") + "\"number\": ") + toString(cq)) + ", ") + "\"collection\": \"") + cr) + "\", ") + "\"name\": \"") + cs) + "\", ") + "\"description\": \"") + ct) + "\", ") + "\"rare\": \"") + cu) + "\", ") + "\"bonus\": ") + toString(cv)) + ", ") + "\"bonusType\": \"") + cw) + "\"}")
453453
454454
455455 func cx (cy,cz,cA,cB,cC,cD,cE,R) = {
456456 let cq = valueOrElse(getInteger(aV), 0)
457457 let cu = bS[cB]
458458 let cs = (((bK[cy] + "-") + take(cu, 1)) + toString(cC))
459459 let cF = Issue(cs, co(bO[cz], cq, bY[cA], bB[cy], bC[cD], bS[cB], cC, cb[cE]), 1, 0, false)
460460 let cG = calculateAssetId(cF)
461461 $Tuple2([cF, IntegerEntry(aV, (cq + 1)), IntegerEntry(aZ(toBase58String(cG)), cq), ScriptTransfer(R, 1, cG)], cG)
462462 }
463463
464464
465465 func cH (ct) = if (!(contains(ct, "\"bonusType\": \"FarmPower\"")))
466466 then throw(("NFT is not supported: " + ct))
467467 else {
468468 let cI = split_4C(split_4C(ct, "\"bonus\":")[1], ",")[0]
469469 parseIntValue(drop(cI, (valueOrElse(lastIndexOf(cI, " "), -1) + 1)))
470470 }
471471
472472
473473 func cJ (ct) = if (!(contains(ct, "\"rare\"")))
474474 then throw(("NFT is not supported: " + ct))
475475 else {
476476 let cK = split_4C(split_4C(split_4C(ct, "\"rare\"")[1], ",")[0], "\"")[1]
477477 value(indexOf(bS, cK))
478478 }
479479
480480
481481 func cL (cM,w,cN) = if (if ((cM == 0))
482482 then (cN == 0)
483483 else false)
484484 then throw("Nothing to do")
485485 else {
486486 let cO = invoke(L, "onStakeUnstakeLand", [w], nil)
487487 if ((cO == cO))
488488 then {
489489 let cP = lastBlock.timestamp
490490 let cQ = Z(w)
491491 let cR = aN(w)
492492 let cS = valueOrElse(getInteger(cR), 0)
493493 if (if ((0 > cM))
494494 then (0 > (cS + cM))
495495 else false)
496496 then throw(((("You have only " + aw(cS, 8)) + " ACRES staked, tried to unstake ") + aw(-(cM), 8)))
497497 else {
498498 let cT = (cS + cM)
499499 let cU = valueOrElse(getInteger(aP), 0)
500500 let cV = aO(w)
501501 let cW = valueOrElse(getInteger(cV), 0)
502502 let cX = bc(w)
503503 let cY = valueOrElse(getInteger(K, cX), 0)
504504 if (if ((0 > cN))
505505 then (0 > (cY + cN))
506506 else false)
507507 then throw((((("You have only " + aw(cY, 4)) + "% bonus, and tried to unstake ") + aw(-(cN), 4)) + "%"))
508508 else {
509509 let cZ = bs(cT, (cY + cN))
510510 let da = cZ._1
511511 let db = cZ._2
512512 let dc = valueOrElse(getInteger(aQ), 0)
513513 let dd = if ((cM == 0))
514514 then nil
515515 else [IntegerEntry(cR, cT), IntegerEntry(aP, (cU + cM))]
516516 let de = if ((cN == 0))
517517 then nil
518518 else [IntegerEntry(cX, (cY + cN))]
519519 $Tuple2(((((dd ++ de) :+ IntegerEntry(cQ, lastBlock.timestamp)) :+ IntegerEntry(cV, da)) :+ IntegerEntry(aQ, ((dc + da) - cW))), cO)
520520 }
521521 }
522522 }
523523 else throw("Strict value is not equal to itself.")
524524 }
525525
526526
527527 func df (dg) = {
528528 let dh = valueOrErrorMessage(getInteger(L, aL), "WLGOLD is not issued yet")
529529 let di = assetBalance(L, r)
530530 let dj = (assetBalance(K, r) - dg)
531531 let dk = (assetBalance(M, r) + valueOrElse(getInteger(M, aM), 0))
532532 let dl = ((dj + di) + dk)
533533 fraction(dl, d, dh)
534534 }
535535
536536
537537 func dm () = {
538538 let di = assetBalance(L, r)
539539 let dj = assetBalance(this, r)
540540 let dk = (assetBalance(M, r) + valueOrElse(getInteger(M, aM), 0))
541541 let dn = (((dj + di) + dk) / h)
542542 let do = valueOrElse(getInteger(bA), dn)
543543 let dp = valueOrElse(getInteger(bz), 0)
544544 let cP = lastBlock.timestamp
545545 let dq = (do + fraction(dn, (cP - dp), f))
546546 let dr = min([dq, dn])
547547 $Tuple2(IntegerEntry(bz, cP), dr)
548548 }
549549
550550
551551 let ds = addressFromStringValue("3PJgZ6AK1WVCpdCmEZpesHmaKvrQDdXG5og")
552552
553553 let dt = valueOrElse(getString(ds, "static_incubatorAddress"), "")
554554
555555 let du = valueOrElse(getString(ds, "static_breederAddress"), "")
556556
557557 let dv = valueOrElse(getString(ds, "static_turtleIncubatorAddress"), "")
558558
559559 let dw = valueOrElse(getString(ds, "static_turtleBreederAddress"), "")
560560
561561 let dx = valueOrElse(getString(ds, "static_canineIncubatorAddress"), "")
562562
563563 let dy = valueOrElse(getString(ds, "static_canineBreederAddress"), "")
564564
565565 let dz = valueOrElse(getString(ds, "static_felineIncubatorAddress"), "")
566566
567567 let dA = valueOrElse(getString(ds, "static_felineBreederAddress"), "")
568568
569569 let dB = valueOrElse(getString(ds, "static_mutantIncubatorAddress"), "")
570570
571571 func dC (dD) = {
572572 let dE = toString(dD.issuer)
573573 if (if (if (if (if (if (if (if (if (if ((k == base58'2T'))
574574 then (dE == u)
575575 else false)
576576 then true
577577 else (dE == dt))
578578 then true
579579 else (dE == du))
580580 then true
581581 else (dE == dv))
582582 then true
583583 else (dE == dw))
584584 then true
585585 else (dE == dx))
586586 then true
587587 else (dE == dy))
588588 then true
589589 else (dE == dz))
590590 then true
591591 else (dE == dA))
592592 then dD.name
593593 else if ((dE == dB))
594594 then dD.description
595595 else ""
596596 }
597597
598598
599599 func dF (R,dG,bt,dH,dI,dJ) = {
600600 let dK = valueOrElse(getInteger(dH), 0)
601601 if ((dK >= dJ))
602602 then throw((("You can stake max " + toString(dJ)) + " of such NFTs"))
603603 else {
604604 let dL = cL(0, R, bt)
605605 let dM = dL._1
606606 let dN = dL._2
607607 $Tuple2((((dM :+ IntegerEntry(dH, (dK + 1))) :+ IntegerEntry(dI, (valueOrElse(getInteger(dI), 0) + 1))) :+ IntegerEntry(ad(dG, R), lastBlock.timestamp)), dN)
608608 }
609609 }
610610
611611
612612 func dO (w,cM,dP) = if (if ((height >= l))
613613 then (n > height)
614614 else false)
615615 then {
616616 let dQ = ag(w)
617617 let dR = ((if (dP)
618618 then 0
619619 else valueOrElse(getInteger(dQ), 0)) + cM)
620620 let dS = (dR / d)
621621 let dT = ah(w)
622622 let dU = (dS - valueOrElse(getInteger(dT), 0))
623623 let dV = (valueOrElse(getInteger(ai), 0) + dU)
624624 if (if (dP)
625625 then true
626626 else (dU > 0))
627627 then {
628628 let dW = valueOrElse(getString(aj), "")
629629 let dX = ((w + ":") + aG(dS, 3))
630630 let dY = if (contains(dW, w))
631631 then {
632632 let dZ = split_51C(dW, w)
633633 if ((dZ[0] == ""))
634634 then {
635635 let ea = drop(dZ[1], 4)
636636 if ((ea == ""))
637637 then if ((dS == 0))
638638 then ""
639639 else dX
640640 else if ((dS == 0))
641641 then drop(ea, 1)
642642 else (dX + ea)
643643 }
644644 else {
645645 let ea = drop(dZ[1], 4)
646646 if ((ea == ""))
647647 then if ((dS == 0))
648648 then dropRight(dZ[0], 1)
649649 else (dZ[0] + dX)
650650 else if ((dS == 0))
651651 then (dZ[0] + drop(ea, 1))
652652 else ((dZ[0] + dX) + ea)
653653 }
654654 }
655655 else if ((dS == 0))
656656 then dW
657657 else if ((dW == ""))
658658 then dX
659659 else ((dW + "_") + dX)
660660 [IntegerEntry(dQ, dR), IntegerEntry(dT, dS), IntegerEntry(ai, dV), StringEntry(aj, dY)]
661661 }
662662 else [IntegerEntry(dQ, dR)]
663663 }
664664 else nil
665665
666666
667667 func eb (w,cM,dP) = {
668668 let ec = cL(cM, w, 0)
669669 let dM = ec._1
670670 let dN = ec._2
671671 let ed = dO(w, cM, dP)
672672 $Tuple2((dM ++ ed), dN)
673673 }
674674
675675
676676 @Callable(ce)
677677 func saveLastTx () = if (!(containsElement([L, N], ce.caller)))
678678 then throw("Access denied")
679679 else $Tuple2(cd(ce), 42)
680680
681681
682682
683683 @Callable(ce)
684684 func constructorV1 (ee,ef) = if ((ce.caller != this))
685685 then throw("Permission denied")
686686 else {
687687 let eg = addressFromStringValue(ef)
688688 [IntegerEntry(W, getIntegerValue(eg, W)), BinaryEntry(X, getBinaryValue(eg, X)), StringEntry(D(), ee), StringEntry(O, ef)]
689689 }
690690
691691
692692
693693 @Callable(ce)
694694 func setBlocked (eh) = if ((ce.caller != this))
695695 then throw("permission denied")
696696 else [BooleanEntry(P(), eh)]
697697
698698
699699
700700 @Callable(ce)
701701 func unstakeAcres (ei) = {
702702 let ej = cd(ce)
703703 if (if ((height >= l))
704704 then (n > height)
705705 else false)
706706 then throw("You can't unstake during Xmas promo period")
707707 else if ((0 >= ei))
708708 then throw("Amount should be positive")
709709 else {
710710 let w = toString(ce.caller)
711711 if ((size(ce.payments) != 0))
712712 then throw("No payments required")
713713 else {
714714 let ek = (valueOrElse(getInteger(L, bw(w)), 0) + t)
715715 if ((ek > lastBlock.timestamp))
716716 then throw(("You traded some WLGOLD, cannot unstake until " + toString(ek)))
717717 else {
718718 let el = cL(-(ei), w, 0)
719719 let dM = el._1
720720 let dN = el._2
721721 $Tuple2(((dM :+ ScriptTransfer(ce.caller, ei, Y)) ++ ej), dN)
722722 }
723723 }
724724 }
725725 }
726726
727727
728728
729729 @Callable(ce)
730730 func stakeAcres () = {
731731 let ej = cd(ce)
732732 let w = toString(ce.caller)
733733 if ((size(ce.payments) != 1))
734734 then throw("exactly 1 payment must be attached")
735735 else {
736736 let em = ce.payments[0]
737737 let cM = em.amount
738738 if (if (!(isDefined(em.assetId)))
739739 then true
740740 else (value(em.assetId) != Y))
741741 then throw("ACRES payments only!")
742742 else {
743743 let en = eb(w, cM, false)
744744 let eo = en._1
745745 let dN = en._2
746746 $Tuple2((eo ++ ej), dN)
747747 }
748748 }
749749 }
750750
751751
752752
753753 @Callable(ce)
754754 func stakeAcresFor (w,cM,dP) = if ((ce.caller != this))
755755 then throw("Permission denied")
756756 else eb(w, cM, dP)
757757
758758
759759
760760 @Callable(ce)
761761 func buyAcres () = {
762762 let ej = cd(ce)
763763 if ((size(ce.payments) != 1))
764764 then throw("exactly 1 payment must be attached")
765765 else {
766766 let em = ce.payments[0]
767767 let ep = em.amount
768768 if (if (!(isDefined(em.assetId)))
769769 then true
770770 else (value(em.assetId) != r))
771771 then throw("USDT payments only!")
772772 else if ((b > ep))
773773 then throw((("Min payment should be " + aw(b, 6)) + " USDT"))
774774 else {
775775 let eq = (ep * g)
776776 let er = fraction(ep, d, df(ep))
777777 let es = addressFromStringValue(getStringValue(O))
778778 let et = invoke(es, "requestAcresCallback", [eq], nil)
779779 if ((et == et))
780780 then {
781781 let eu = an(invoke(L, "burnWlgold", [er], nil))
782782 $Tuple2(([ScriptTransfer(ce.caller, eq, Y)] ++ ej), eu)
783783 }
784784 else throw("Strict value is not equal to itself.")
785785 }
786786 }
787787 }
788788
789789
790790
791791 @Callable(ce)
792792 func buyAcresREADONLY (ep) = {
793793 let eq = (ep * g)
794794 let ev = fraction(ep, d, df(ep))
795795 $Tuple2(nil, [eq, b, eq, ev])
796796 }
797797
798798
799799
800800 @Callable(ce)
801801 func sellAcres () = {
802802 let ej = cd(ce)
803803 if ((size(ce.payments) != 1))
804804 then throw("exactly 1 payment must be attached")
805805 else {
806806 let em = ce.payments[0]
807807 let eq = em.amount
808808 if (if (!(isDefined(em.assetId)))
809809 then true
810810 else (value(em.assetId) != Y))
811811 then throw("ACRES payments only!")
812812 else if ((c > eq))
813813 then throw((("Min payment should be " + aw(c, 8)) + " ACRES"))
814814 else {
815815 let R = toString(ce.caller)
816816 let ew = dm()
817817 let ex = ew._1
818818 let ey = ew._2
819819 let ez = (ey * g)
820820 if ((eq > ez))
821821 then throw((("You can sell max " + aw(ez, 8)) + " ACRES"))
822822 else {
823823 let ep = ((eq / g) / 2)
824824 $Tuple2(([ex, IntegerEntry(bA, (ey - ep)), ScriptTransfer(ce.caller, ep, r)] ++ ej), ep)
825825 }
826826 }
827827 }
828828 }
829829
830830
831831
832832 @Callable(ce)
833833 func sellAcresREADONLY (w,eq) = {
834834 let eA = dm()
835835 let ex = eA._1
836836 let ey = eA._2
837837 let ep = ((eq / g) / 2)
838838 $Tuple2(nil, [ep, c, (ey * g), 0])
839839 }
840840
841841
842842
843843 @Callable(ce)
844844 func convertOldStakes () = {
845845 let ej = cd(ce)
846846 if ((bx > lastBlock.timestamp))
847847 then throw(("Disabled until " + toString((bx / 1000))))
848848 else {
849849 let w = toString(ce.caller)
850850 if ((size(ce.payments) != 0))
851851 then throw("No payments required")
852852 else {
853853 let es = addressFromStringValue(getStringValue(O))
854854 let ei = valueOrElse(getInteger(es, aN(w)), 0)
855855 let eB = if ((ei > 0))
856856 then av(invoke(es, "unstakeAcresCallback", [ei, w], nil))
857857 else $Tuple2(0, 0)
858858 let eC = addressFromStringValue(u)
859859 let eD = getString(eC, aa(w))
860860 let eE = if (isDefined(eD))
861861 then {
862862 let eF = split_51C(value(eD), "_")
863863 if ((size(eF) > by))
864864 then throw((("You have more than " + toString(by)) + " lands staked, please contact support, we'll process your case manually"))
865865 else {
866866 func eG (bi,eH) = if ((eH == ""))
867867 then throw("landAssetId is required")
868868 else {
869869 let ea = aq(invoke(eC, "unstakeLandCallback", [eH, w], nil))
870870 if ((ea == ea))
871871 then $Tuple5((bi._1 + ea._1), (bi._2 + ea._2), (bi._3 + ea._3), (bi._4 + ea._4), (bi._5 + ea._5))
872872 else throw("Strict value is not equal to itself.")
873873 }
874874
875875 let eI = {
876876 let bk = eF
877877 let bl = size(bk)
878878 let bm = $Tuple5(0, 0, 0, 0, 0)
879879 func bn (bo,bp) = if ((bp >= bl))
880880 then bo
881881 else eG(bo, bk[bp])
882882
883883 func bq (bo,bp) = if ((bp >= bl))
884884 then bo
885885 else throw("List size exceeds 14")
886886
887887 bq(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bm, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14)
888888 }
889889 if ((eI == eI))
890890 then {
891891 let eJ = invoke(eC, "unstakeLandsFinalizeCallback", [w], nil)
892892 if ((eJ == eJ))
893893 then {
894894 let et = invoke(es, "requestAcresCallback", [(((eI._1 + eI._2) + eI._3) + eI._4)], nil)
895895 if ((et == et))
896896 then {
897897 let eK = cx(bL, bQ, bZ, bX, 3, bD, cc, ce.caller)
898898 let eL = eK._1
899899 let cG = eK._2
900900 $Tuple6(eI._1, eI._2, eI._3, eI._4, eI._5, eL)
901901 }
902902 else throw("Strict value is not equal to itself.")
903903 }
904904 else throw("Strict value is not equal to itself.")
905905 }
906906 else throw("Strict value is not equal to itself.")
907907 }
908908 }
909909 else $Tuple6(0, 0, 0, 0, 0, nil)
910910 let eM = valueOrElse(getString(eC, ac(w)), "")
911911 let eN = if ((eM != ""))
912912 then au(invoke(eC, "unstakeDuckCallback", [eM, w], nil))
913913 else $Tuple3(0, 0, 0)
914914 let eO = cL((((((((eB._1 + eE._1) + eE._2) + eE._3) + eE._4) + eN._1) + eN._2) + eN._3), w, 0)
915915 $Tuple2(((eE._6 ++ eO._1) ++ ej), $Tuple3(eB._2, eE._5, eO._2))
916916 }
917917 }
918918 }
919919
920920
921921
922922 @Callable(ce)
923923 func unstakeLandsREADONLY (w) = {
924924 let eC = addressFromStringValue(u)
925925 let eD = getString(eC, aa(w))
926926 let eE = if (isDefined(eD))
927927 then {
928928 let eF = split_51C(value(eD), "_")
929929 func eG (bi,eH) = if ((eH == ""))
930930 then throw("landAssetId is required")
931931 else {
932932 let ea = at(invoke(eC, "unstakeLandREADONLY", [eH, w], nil))
933933 $Tuple4((bi._1 + ea._1), (bi._2 + ea._2), (bi._3 + ea._3), (bi._4 + ea._4))
934934 }
935935
936936 let bk = eF
937937 let bl = size(bk)
938938 let bm = $Tuple4(0, 0, 0, 0)
939939 func bn (bo,bp) = if ((bp >= bl))
940940 then bo
941941 else eG(bo, bk[bp])
942942
943943 func bq (bo,bp) = if ((bp >= bl))
944944 then bo
945945 else throw("List size exceeds 100")
946946
947947 bq(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bm, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
948948 }
949949 else $Tuple4(0, 0, 0, 0)
950950 $Tuple2(nil, eE)
951951 }
952952
953953
954954
955955 @Callable(ce)
956956 func stakeAcresCallback (R) = if ((ce.caller != addressFromStringValue(u)))
957957 then throw("Permission denied")
958958 else cL(ce.payments[0].amount, R, 0)
959959
960960
961961
962962 @Callable(ce)
963963 func simulateStakeAcresREADONLY (w,eP) = {
964964 let cR = aN(w)
965965 let cT = (valueOrElse(getInteger(cR), 0) + eP)
966966 let cU = valueOrElse(getInteger(aP), 0)
967967 let cV = aO(w)
968968 let cW = valueOrElse(getInteger(cV), 0)
969969 let eQ = valueOrElse(getInteger(K, bc(w)), 0)
970970 let eR = bs(cT, eQ)
971971 let da = eR._1
972972 let db = eR._2
973973 let dc = valueOrElse(getInteger(aQ), 0)
974974 let eS = ((dc + da) - cW)
975975 $Tuple2(nil, [cW, da, dc, eS])
976976 }
977977
978978
979979
980980 @Callable(ce)
981981 func issuePickC1 (eT) = if ((ce.caller != L))
982982 then throw("Permission denied")
983983 else cx(bM, bP, bZ, bT, 1, bE, cc, addressFromStringValue(eT))
984984
985985
986986
987987 @Callable(ce)
988988 func issueMittenP (eT,dP) = if ((ce.caller != this))
989989 then throw("Permission denied")
990990 else {
991991 let eU = cx(bN, bR, ca, bX, 3, bF, cc, addressFromStringValue(eT))
992992 let eL = eU._1
993993 let cG = eU._2
994994 let ed = dO(eT, 0, dP)
995995 $Tuple2((eL ++ ed), cG)
996996 }
997997
998998
999999
10001000 @Callable(ce)
10011001 func stakeNFT () = {
10021002 let ej = cd(ce)
10031003 if ((size(ce.payments) != 1))
10041004 then throw("Exactly one payment required")
10051005 else {
10061006 let em = value(ce.payments[0])
10071007 if ((em.amount != 1))
10081008 then throw("NFT token should be attached as payment")
10091009 else {
10101010 let ae = value(em.assetId)
10111011 let eV = value(assetInfo(ae))
10121012 let dG = toBase58String(ae)
10131013 let R = toString(ce.caller)
10141014 let eW = af(R)
10151015 let eX = getString(eW)
10161016 let eY = if (isDefined(eX))
10171017 then split_4C(value(eX), "_")
10181018 else nil
10191019 if (containsElement(eY, dG))
10201020 then throw(("Your staked NFTs already contain " + dG))
10211021 else if ((size(eY) >= aU))
10221022 then throw((("Your already staked max (" + toString(aU)) + ") NFTs"))
10231023 else {
10241024 let eZ = StringEntry(eW, makeString_2C((eY :+ dG), "_"))
10251025 if ((eV.issuer == this))
10261026 then {
10271027 let fa = dF(R, dG, (cH(value(eV.description)) * 10000), ba(R), aX, aR)
10281028 let dM = fa._1
10291029 let dN = fa._2
10301030 $Tuple2(((ej ++ dM) :+ eZ), dN)
10311031 }
10321032 else if ((dC(eV) == ""))
10331033 then throw("Only WavesLands and Arkimals NFT tokens are accepted")
10341034 else {
10351035 let fb = dF(R, dG, aT, bb(R), aY, aS)
10361036 let dM = fb._1
10371037 let dN = fb._2
10381038 $Tuple2(((ej ++ dM) :+ eZ), dN)
10391039 }
10401040 }
10411041 }
10421042 }
10431043 }
10441044
10451045
10461046
10471047 @Callable(ce)
10481048 func unstakeNFT (dG) = {
10491049 let ej = cd(ce)
10501050 if ((size(ce.payments) != 0))
10511051 then throw("No payments required")
10521052 else {
10531053 let ae = fromBase58String(dG)
10541054 let R = toString(ce.caller)
10551055 let eV = value(assetInfo(ae))
10561056 let cQ = ad(dG, R)
10571057 if (!(isDefined(getInteger(cQ))))
10581058 then throw((("NFT " + eV.name) + " is not staked by you"))
10591059 else {
10601060 let eW = af(R)
10611061 let eY = split_4C(valueOrElse(getString(eW), ""), "_")
10621062 let I = indexOf(eY, dG)
10631063 if (!(isDefined(I)))
10641064 then throw(("Your staked NFTs don't contain " + dG))
10651065 else {
10661066 let eZ = if ((size(eY) > 1))
10671067 then StringEntry(eW, makeString_2C(removeByIndex(eY, value(I)), "_"))
10681068 else DeleteEntry(eW)
10691069 let fc = (eV.issuer == this)
10701070 if (fc)
10711071 then {
10721072 let fd = valueOrElse(getInteger(ba(R)), 0)
10731073 let fe = (cH(value(eV.description)) * 10000)
10741074 let ff = cL(0, R, -(fe))
10751075 let dM = ff._1
10761076 let dN = ff._2
10771077 $Tuple2(((((((dM :+ eZ) :+ IntegerEntry(ba(R), (fd - 1))) :+ IntegerEntry(aX, max([0, (valueOrElse(getInteger(aX), 0) - 1)]))) :+ DeleteEntry(ad(toBase58String(ae), R))) :+ ScriptTransfer(ce.caller, 1, ae)) ++ ej), dN)
10781078 }
10791079 else {
10801080 let fg = dC(eV)
10811081 if ((fg == ""))
10821082 then throw("Only WavesLands and Arkimals NFT tokens are accepted")
10831083 else {
10841084 let fh = valueOrElse(getInteger(bb(R)), 0)
10851085 let fi = cL(0, R, -(aT))
10861086 let dM = fi._1
10871087 let dN = fi._2
10881088 $Tuple2((((((dM :+ eZ) :+ IntegerEntry(bb(R), (fh - 1))) :+ DeleteEntry(ad(toBase58String(ae), R))) :+ ScriptTransfer(ce.caller, 1, ae)) ++ ej), dN)
10891089 }
10901090 }
10911091 }
10921092 }
10931093 }
10941094 }
10951095
10961096
10971097
10981098 @Callable(ce)
10991099 func exchangeNFTs () = if ((ce.caller != this))
11001100 then throw("Temporary disabled")
11011101 else {
11021102 let ej = cd(ce)
11031103 if ((3 > size(ce.payments)))
11041104 then throw("Min one WLGOLD and 2 NFT payments allowed")
11051105 else if ((size(ce.payments) > 10))
11061106 then throw("Max one WLGOLD and 9 NFT payments allowed")
11071107 else {
11081108 let R = toString(ce.caller)
11091109 func fj (bi,em) = {
11101110 let ae = valueOrErrorMessage(em.assetId, "WAVES payments not allowed")
11111111 if ((ae == V))
11121112 then $Tuple4((bi._1 + em.amount), bi._2, bi._3, bi._4)
11131113 else {
11141114 let eV = value(assetInfo(ae))
11151115 if ((eV.issuer != this))
11161116 then throw("Only WL-issued NFTs allowed")
11171117 else {
11181118 let fk = cJ(value(eV.description))
11191119 if (if ((bi._4 > 0))
11201120 then (fk != bi._4)
11211121 else false)
11221122 then throw("You can exchange only NFTs of the same rarity")
11231123 else {
11241124 let cC = cH(value(eV.description))
11251125 $Tuple4(bi._1, (bi._2 + cC), (bi._3 :+ Burn(ae, 1)), fk)
11261126 }
11271127 }
11281128 }
11291129 }
11301130
11311131 let fl = {
11321132 let bk = ce.payments
11331133 let bl = size(bk)
11341134 let bm = $Tuple4(0, 0, nil, -1)
11351135 func bn (bo,bp) = if ((bp >= bl))
11361136 then bo
11371137 else fj(bo, bk[bp])
11381138
11391139 func bq (bo,bp) = if ((bp >= bl))
11401140 then bo
11411141 else throw("List size exceeds 10")
11421142
11431143 bq(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bm, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
11441144 }
11451145 let fm = fl._1
11461146 let fn = fl._2
11471147 let fo = fl._3
11481148 let cB = fl._4
11491149 let fp = if ((cB == bT))
11501150 then if ((bG[bH] > fn))
11511151 then bT
11521152 else if ((bG[bI] > fn))
11531153 then bU
11541154 else throw((("You can advance only one level of rarity, max total bonus " + toString(bG[bI])) + "%"))
11551155 else if ((cB == bU))
11561156 then if ((bG[bI] > fn))
11571157 then bU
11581158 else if ((bG[bJ] > fn))
11591159 then bV
11601160 else throw((("You can advance only one level of rarity, max total bonus " + toString(bG[bJ])) + "%"))
11611161 else if ((cB == bV))
11621162 then if ((bG[bJ] > fn))
11631163 then bV
11641164 else bW
11651165 else if ((cB == bW))
11661166 then bW
11671167 else if ((cB == bX))
11681168 then throw("You can't exchange NFTs of this rarity")
11691169 else throw("Unknown rarity")
11701170 let fq = fraction(fn, e, df(0))
11711171 let fr = (fm - fq)
11721172 let fs = (fq / 2)
11731173 let eu = an(invoke(L, "burnWlgold", [(fq - fs)], nil))
11741174 if ((0 > fr))
11751175 then throw((("You need to attach " + aw(fq, 8)) + " WLGOLD as fee"))
11761176 else {
11771177 let ft = if ((fr > 0))
11781178 then [ScriptTransfer(ce.caller, fr, V)]
11791179 else nil
11801180 let fu = cx(bM, fp, bZ, fp, fn, bE, cc, ce.caller)
11811181 let fv = fu._1
11821182 let cG = fu._2
11831183 let fw = size(fo)
11841184 let fx = if ((fw == 0))
11851185 then nil
11861186 else [IntegerEntry(aW, (valueOrElse(getInteger(aW), 0) + fw))]
11871187 $Tuple2((((((fv ++ fo) ++ fx) ++ ej) ++ ft) :+ ScriptTransfer(addressFromStringValue(getStringValue(L, bv)), fs, V)), $Tuple2(cG, eu))
11881188 }
11891189 }
11901190 }
11911191
11921192
11931193
11941194 @Callable(ce)
11951195 func openNftChest () = if ((ce.caller != this))
11961196 then throw("Temporary disabled")
11971197 else {
11981198 let ej = cd(ce)
11991199 if ((size(ce.payments) != 1))
12001200 then throw("exactly 1 payment must be attached")
12011201 else {
12021202 let em = ce.payments[0]
12031203 let er = em.amount
12041204 if (if (!(isDefined(em.assetId)))
12051205 then true
12061206 else (value(em.assetId) != V))
12071207 then throw("WLGOLD payments only!")
12081208 else {
12091209 let fq = fraction(j, d, df(0))
12101210 let fr = (er - fq)
12111211 let fs = (fq / 2)
12121212 let eu = an(invoke(L, "burnWlgold", [(fq - fs)], nil))
12131213 if ((0 > fr))
12141214 then throw((("You need to attach " + aw(fq, 8)) + " WLGOLD as fee"))
12151215 else {
12161216 let ft = if ((fr > 0))
12171217 then [ScriptTransfer(ce.caller, fr, V)]
12181218 else nil
12191219 let R = toString(ce.caller)
12201220 let fy = T(R)
12211221 let fz = valueOrErrorMessage(getInteger(fy), "You have to commitForRandom() first!")
12221222 if ((fz > height))
12231223 then throw(("Random number is not ready yet, wait until height = " + toString(fz)))
12241224 else {
12251225 let aE = value(value(blockInfoByHeight(fz)).vrf)
12261226 let aD = fromBase58String(split(valueOrElse(getString(S(R)), "42_DEFAULT"), "_")[1])
12271227 let fA = aB(100, aD, aE)
12281228 let fB = if ((84 > fA))
12291229 then $Tuple2(1, bT)
12301230 else if ((98 > fA))
12311231 then $Tuple2(5, bU)
12321232 else $Tuple2(10, bV)
12331233 let cv = fB._1
12341234 let cB = fB._2
12351235 let fC = cx(bM, cB, bZ, cB, cv, bE, cc, ce.caller)
12361236 let fv = fC._1
12371237 let cG = fC._2
12381238 $Tuple2(((((fv ++ ej) ++ ft) :+ ScriptTransfer(addressFromStringValue(getStringValue(L, bv)), fs, V)) :+ DeleteEntry(fy)), $Tuple2(cG, eu))
12391239 }
12401240 }
12411241 }
12421242 }
12431243 }
12441244
12451245
12461246
12471247 @Callable(ce)
12481248 func commitForRandom () = if ((ce.caller != this))
12491249 then throw("Temporary disabled")
12501250 else {
12511251 let ej = cd(ce)
12521252 let R = toString(ce.caller)
12531253 let fy = T(R)
12541254 if (isDefined(getInteger(fy)))
12551255 then throw("You already commited for random, please use it")
12561256 else {
12571257 let fz = (height + i)
12581258 $Tuple2(([IntegerEntry(fy, fz)] ++ ej), fz)
12591259 }
12601260 }
12611261
12621262
12631263
12641264 @Callable(ce)
12651265 func drawPromoRound (fD) = if ((ce.caller != this))
12661266 then throw("Permission denied")
12671267 else {
12681268 let fE = (height / o)
12691269 let aC = valueOrElse(getInteger(ai), 0)
12701270 if ((aC == 0))
12711271 then throw("No tickets to draw")
12721272 else {
12731273 let fF = (fE * o)
12741274 let fG = if ((fF > q))
12751275 then fF
12761276 else (fF + q)
12771277 let aE = value(value(blockInfoByHeight(fG)).vrf)
12781278 let dW = valueOrElse(getString(aj), "")
12791279 if ((dW == ""))
12801280 then throw("No participants")
12811281 else {
12821282 func fH (fI,fJ) = if ((fI._3 == ""))
12831283 then fI
12841284 else {
12851285 let fK = split_51C(fI._3, "_")
12861286 let fA = aB(fI._1, fI._2, aE)
12871287 func fL (bi,fM) = {
12881288 let fN = split(fM, ":")
12891289 let R = fN[0]
12901290 let dS = parseIntValue(fN[1])
12911291 let fO = (bi._1 + dS)
12921292 if (if ((bi._3 == ""))
12931293 then (fO > fA)
12941294 else false)
12951295 then $Tuple3(fO, dS, R)
12961296 else $Tuple3(fO, bi._2, bi._3)
12971297 }
12981298
12991299 let ea = {
13001300 let bk = fK
13011301 let bl = size(bk)
13021302 let bm = $Tuple3(0, 0, "")
13031303 func bn (bo,bp) = if ((bp >= bl))
13041304 then bo
13051305 else fL(bo, bk[bp])
13061306
13071307 func bq (bo,bp) = if ((bp >= bl))
13081308 then bo
13091309 else throw("List size exceeds 200")
13101310
13111311 bq(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bn(bm, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100), 101), 102), 103), 104), 105), 106), 107), 108), 109), 110), 111), 112), 113), 114), 115), 116), 117), 118), 119), 120), 121), 122), 123), 124), 125), 126), 127), 128), 129), 130), 131), 132), 133), 134), 135), 136), 137), 138), 139), 140), 141), 142), 143), 144), 145), 146), 147), 148), 149), 150), 151), 152), 153), 154), 155), 156), 157), 158), 159), 160), 161), 162), 163), 164), 165), 166), 167), 168), 169), 170), 171), 172), 173), 174), 175), 176), 177), 178), 179), 180), 181), 182), 183), 184), 185), 186), 187), 188), 189), 190), 191), 192), 193), 194), 195), 196), 197), 198), 199), 200)
13121312 }
13131313 let fP = ea._3
13141314 if ((fP == ""))
13151315 then fI
13161316 else {
13171317 let dZ = split_51C(fI._3, fP)
13181318 let dY = if ((dZ[0] == ""))
13191319 then drop(dZ[1], 5)
13201320 else (dropRight(dZ[0], 1) + drop(dZ[1], 4))
13211321 let fQ = if ((fJ == 0))
13221322 then invoke(this, "issueMittenP", [fP, true], nil)
13231323 else invoke(this, "stakeAcresFor", [fP, am[fJ], true], nil)
13241324 if ((fQ == fQ))
13251325 then {
13261326 let fR = fromBase58String(split(valueOrElse(getString(S(fP)), "0_DEFAULT"), "_")[1])
13271327 $Tuple4((fI._1 - ea._2), fR, dY, (fI._4 :+ fP))
13281328 }
13291329 else throw("Strict value is not equal to itself.")
13301330 }
13311331 }
13321332
13331333 let fS = {
13341334 let bk = [0, 1, 2, 3, 4, 5]
13351335 let bl = size(bk)
13361336 let bm = $Tuple4(aC, ce.transactionId, dW, nil)
13371337 func bn (bo,bp) = if ((bp >= bl))
13381338 then bo
13391339 else fH(bo, bk[bp])
13401340
13411341 func bq (bo,bp) = if ((bp >= bl))
13421342 then bo
13431343 else throw("List size exceeds 6")
13441344
13451345 bq(bn(bn(bn(bn(bn(bn(bm, 0), 1), 2), 3), 4), 5), 6)
13461346 }
13471347 $Tuple2([StringEntry(aj, fS._3), IntegerEntry(ai, fS._1), StringEntry(ak(fD), makeString(fS._4, "_"))], 0)
13481348 }
13491349 }
13501350 }
13511351
13521352

github/deemru/w8io/169f3d6 
116.38 ms