tx · CfVXcwyF2E7mZ7cmCCh6YGwZMsHAQypiBxPDfWDjSHcg

3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy:  -0.03600000 Waves

2024.12.05 06:42 [3400801] smart account 3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy > SELF 0.00000000 Waves

{ "type": 13, "id": "CfVXcwyF2E7mZ7cmCCh6YGwZMsHAQypiBxPDfWDjSHcg", "fee": 3600000, "feeAssetId": null, "timestamp": 1733370266894, "version": 2, "chainId": 84, "sender": "3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy", "senderPublicKey": "FsR18761ZAsUqsTd7TK3XmR6bhihs1UXVmpHYxz5JzQ1", "proofs": [ "RsmtCSw6fBPKYPVyvao7AuRGgVZMqPEaq2siAHCMX6EXY5dxSh3ZgvFmJVmUJrMo3zRTdB9Y1rhD3vFesesWZWp" ], "script": "base64:BgJSCAISBgoECAgICBIDCgEIEgMKAQESBAoCCAESAwoBARIECgIIARIAEgMKAQgSAwoBCBIDCgEBEgMKAQESAwoBCBIDCgEIEgMKAQESABIECgIIAbgBAANTRVACAl9fAAVNVUxUNgDAhD0ABU1VTFQ4AIDC1y8ADk1JTlNIT1BQQVlNRU5UAKCNBgAKREFZX01JTExJUwCAuJkpAAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQAKREFZX0JMT0NLUwQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMACgCwMJAAACAQFUBQckbWF0Y2gwADwJAAIBAg1Vbmtub3duIGNoYWluAAtXRUVLX0JMT0NLUwQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMADgTgMJAAACAQFUBQckbWF0Y2gwALQBCQACAQINVW5rbm93biBjaGFpbgAKVlJGX09GRlNFVAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAAAAwkAAAIBAVQFByRtYXRjaDAAkPlFCQACAQINVW5rbm93biBjaGFpbgALdXNkdEFzc2V0SWQEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDABIITaerIIAz9O0bvKju6Lk7zJgt0LXfoHlqjUI/moD/+5AwkAAAIBAVQFByRtYXRjaDABIFWx2J9yh4Lv5eNbjawFq2XemkOhLxa7BfMat4el8cUYCQACAQINVW5rbm93biBjaGFpbgAWZGVmYXVsdFJlc3QyQWRkcmVzc1N0cgQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAIjM1BGd1l0YThiaUV6MzF6cGVGZTVESks4d0U1dHJTcFFWRjgDCQAAAgEBVAUHJG1hdGNoMAIjM043VXVZYXI2MjY0UDU4RkJoVldLUFFBaDRZdWEyaGduZ3YJAAIBAg1Vbmtub3duIGNoYWluABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQUUN1dkZidmg0TGtQVW5yblUxejNqbmJBMXA5bTNXTmh2AwkAAAIBAVQFByRtYXRjaDACIzNNdW1rR0d6dENLQVhwV0RxeGtkZG9mcVhTVWJxUWt2U0p5CQACAQINVW5rbm93biBjaGFpbgASZWNvbm9teUNvbnRyYWN0U3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUDJzazFLbmNTeFJhWnM4YjRDV0dQdzJqa3Z2YXY3NHU0RAMJAAACAQFUBQckbWF0Y2gwAiMzTjh5NHd4WDNKQzRUZHJDSkJYWDE2U2pXZjZYMjU2aHJlcAkAAgECDVVua25vd24gY2hhaW4BD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAABBJZHhDZmdBY3JlczJEYXBwAAEADUlkeENmZ1dsZ0RhcHAAAgAUSWR4Q2ZnUHV6emxlUG9vbERhcHAABAAUSWR4Q2ZnSW52ZXN0RnVuZERhcHAABQEKa2V5UmVzdENmZwACDiVzX19yZXN0Q29uZmlnAQ9rZXlSZXN0MkFkZHJlc3MAAg0lc19fcmVzdDJBZGRyAQ5rZXlSZXN0QWRkcmVzcwACDCVzX19yZXN0QWRkcgAMcmVzdENvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQ5rZXlSZXN0QWRkcmVzcwAFFWRlZmF1bHRSZXN0QWRkcmVzc1N0cgERcmVhZFJlc3RDZmdPckZhaWwBBHJlc3QJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHJlc3QJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCCHJlc3QyQ2ZnA2lkeAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCmCAEJAJEDAgUIcmVzdDJDZmcFA2lkeAkArAICAipSZXN0IGNmZyBkb2Vzbid0IGNvbnRhaW4gYWRkcmVzcyBhdCBpbmRleCAJAKQDAQUDaWR4ABFJZHhDZmdTdGFraW5nRGFwcAABAA9JZHhDZmdBY3Jlc0RhcHAACAAHcmVzdENmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAQUMcmVzdENvbnRyYWN0AA9zdGFraW5nQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdTdGFraW5nRGFwcAANYWNyZXNDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFD0lkeENmZ0FjcmVzRGFwcAANcmVzdDJDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEPa2V5UmVzdDJBZGRyZXNzAAUWZGVmYXVsdFJlc3QyQWRkcmVzc1N0cgAIcmVzdDJDZmcJARFyZWFkUmVzdENmZ09yRmFpbAEFDXJlc3QyQ29udHJhY3QADmFjcmVzMkNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFEElkeENmZ0FjcmVzMkRhcHAAC3dsZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFDUlkeENmZ1dsZ0RhcHAAEnB1enpsZVBvb2xDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFCHJlc3QyQ2ZnBRRJZHhDZmdQdXp6bGVQb29sRGFwcAASaW52ZXN0RnVuZENvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUIcmVzdDJDZmcFFElkeENmZ0ludmVzdEZ1bmREYXBwARVrZXlMYXN0V2Vla1R4SWRCeVVzZXIBBGFkZHIJAKwCAgITbGFzdFdlZWtUeElkQnlVc2VyXwUEYWRkcgANd2xnQXNzZXRJZEtleQILd2xnX2Fzc2V0SWQACndsZ0Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnAgCBQt3bGdDb250cmFjdAUNd2xnQXNzZXRJZEtleQIYV0xHT0xEIGlzIG5vdCBpc3N1ZWQgeWV0AQprZXlVc2VyQmV0AQRhZGRyCQCsAgICCHVzZXJCZXRfBQRhZGRyARJrZXlVc2VyV2Vla1RpY2tldHMCBGFkZHIEd2VlawkArAICCQCsAgIJAKwCAgIQdXNlcldlZWtUaWNrZXRzXwUEYWRkcgIBXwkApAMBBQR3ZWVrARNrZXlUb3RhbFdlZWtUaWNrZXRzAQR3ZWVrCQCsAgICEXRvdGFsV2Vla1RpY2tldHNfCQCkAwEFBHdlZWsBGGtleVRvdGFsV2Vla1BhcnRpY2lwYW50cwEEd2VlawkArAICAhZ0b3RhbFdlZWtQYXJ0aWNpcGFudHNfCQCkAwEFBHdlZWsBDmtleU51bU5GVDJEcmF3AQR3ZWVrCQCsAgICDG51bU5GVDJEcmF3XwkApAMBBQR3ZWVrAQ5rZXlOdW1ORlREcmF3bgEEd2VlawkArAICAgxudW1ORlREcmF3bl8JAKQDAQUEd2VlawEOa2V5V2Vla1dpbm5lcnMBBHdlZWsJAKwCAgIMd2Vla1dpbm5lcnNfCQCkAwEFBHdlZWsBCndpbm5pbmdCZXQBA2RheQQBYgkAaAIFA2RheQUKREFZX0JMT0NLUwQBaAMJAGYCBQFiBQpWUkZfT0ZGU0VUBQFiCQBkAgUBYgUKVlJGX09GRlNFVAkAagIJALEJAQkBBXZhbHVlAQgJAQV2YWx1ZQEJAO0HAQUBaAN2cmYABAALaXhXbGdBbW91bnQAAAAIaXhXbGdXbGcAAQAKaXhXbGdQcmljZQACAA5peFdsZ0lzc3VlVGltZQAIAA9peFdsZ1RlYW1BbUxlZnQACwATaXhXbGdUZWFtQW1BdmFpbE5vdwAMAA5peFdsZ0FjdEFtTGVmdAAPABJpeFdsZ0FjdEFtQXZhaWxOb3cAEAAQaXhXbGdBbUxlZnRUb3RhbAATABNpeFdsZ1VzZXJBbUF2YWlsTm93ABcAEGl4V2xnRWZmVXNlclRpbWUAGAASaXhXbGdJc3N1ZTEwQW1vdW50ABkAG2l4V2xnTWFya2V0aW5nSXNzdWUxMEFtb3VudAAaABZpeFdsZ1RlYW1Jc3N1ZTEwQW1vdW50ABsAD2l4V2xnVXNlcjEwcGFydAAcABBpeFdsZ0lzc3VlMTBUaW1lAB0BBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAEKZml4ZWRQb2ludAIDdmFsCGRlY2ltYWxzBAZ0ZW5Qb3cJAGwGAAoAAAUIZGVjaW1hbHMAAAAABQRET1dOBAdsb3dQYXJ0CQCkAwEJAGoCBQN2YWwFBnRlblBvdwQGemVyb2VzCQCwAgIJAKQDAQUGdGVuUG93CQBkAgABCQCxAgEFB2xvd1BhcnQJAKwCAgkArAICCQCsAgIJAKQDAQkAaQIFA3ZhbAUGdGVuUG93AgEuBQZ6ZXJvZXMFB2xvd1BhcnQBD2dldFJhbmRvbU51bWJlcgMIbWF4VmFsdWUEc2FsdAdlbnRyb3B5AwkAZwIAAAUIbWF4VmFsdWUJAAIBAhZtYXhWYWx1ZSBzaG91bGQgYmUgPiAwBApyYW5kb21IYXNoCQDUFgEJAMsBAgUEc2FsdAUHZW50cm9weQkAagIJALEJAQUKcmFuZG9tSGFzaAUIbWF4VmFsdWUABlNDQUxFOACAwtcvAAx4cExldmVsU2NhbGUAgBkAD3hwTGV2ZWxSZWNpcFBvdwCgHwASbnVtUG9pbnRzT25MZXZlbFVwAAMAD3dsZ0Jhc2VBbW91bnRYcACA0NvD9AIBCWtleVVzZXJYUAEEYWRkcgkArAICAgd1c2VyWFBfBQRhZGRyAQxrZXlVc2VyTGV2ZWwBBGFkZHIJAKwCAgIKdXNlckxldmVsXwUEYWRkcgAFeHBXbGcAkE4BCWxldmVsQnlYUAECeHAJAGsDBQx4cExldmVsU2NhbGUJAGwGBQJ4cAAEBQ94cExldmVsUmVjaXBQb3cABAAEBQRET1dOBQZTQ0FMRTgBB2xldmVsVXACCWN1cnJMZXZlbAVuZXdYUAQIbmV3TGV2ZWwJAQlsZXZlbEJ5WFABBQVuZXdYUAkAzAgCBQhuZXdMZXZlbAkAzAgCCQBoAgUSbnVtUG9pbnRzT25MZXZlbFVwCQBlAgUIbmV3TGV2ZWwFCWN1cnJMZXZlbAUDbmlsAAJNNgDAhD0AAk04AIDC1y8ACE1JTExJT042AICA6YOx3hYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UACURBWU1JTExJUwCAuJkpAAhCQU5LX0ZFRQDQhgMAAmNoCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABABNVU0RUX1RWTF9DT1JSRUNUSU9OBAckbWF0Y2gwBQJjaAMJAAACAQFXBQckbWF0Y2gwAPD1qMAEAwkAAAIBAVQFByRtYXRjaDAAAAkAAgECDVVua25vd24gY2hhaW4AC3RlYW1BZGRyS2V5Agh0ZWFtQWRkcgAPbGFzdFRlYW1UaW1lS2V5AhRsYXN0Q2xhaW1lZFRpbWVfdGVhbQARdGVhbUFtb3VudExlZnRLZXkCDnRlYW1BbW91bnRMZWZ0ABVsYXN0QWN0aXZpdGllc1RpbWVLZXkCGmxhc3RDbGFpbWVkVGltZV9hY3Rpdml0aWVzABBhY3RBbW91bnRMZWZ0S2V5AhRhY3Rpdml0aWVzQW1vdW50TGVmdAAUc3Rha2Vyc0Ftb3VudExlZnRLZXkCEXN0YWtlcnNBbW91bnRMZWZ0ARtrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXJPbGQBBGFkZHIJAKwCAgIXbGFzdENsYWltZWRUaW1lVXNlck9sZF8FBGFkZHIBGWtleUxhc3RXbGdUcmFkZVRpbWVCeVVzZXIBBGFkZHIJAKwCAgIQbGFzdEFyYlRpbWVVc2VyXwUEYWRkcgEaa2V5TGFzdFdsZ1RyYWRlTGltaXRCeVVzZXIBBGFkZHIJAKwCAgIRbGFzdFdsZ0xpbWl0VXNlcl8FBGFkZHIBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQZwZXJpb2QJAGsDBQhNSUxMSU9ONgkAaAIFC1BMQVlFUlNIQVJFCQBkAgUGcGVyaW9kAAEJAGgCAAYFAk02AA93bGdJc3N1ZVRpbWVLZXkCDXdsZ19pc3N1ZVRpbWUAEndsZ0lzc3VlZEFtb3VudEtleQIQd2xnX2lzc3VlZEFtb3VudAARemJJc3N1ZWRBbW91bnRLZXkCEnpiaWxsX2lzc3VlZEFtb3VudAEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBGFkZHIJAKwCAgIYYWNyZXNTdGFrZWRBbW91bnRCeVVzZXJfBQRhZGRyABNhY3Jlc1N0YWtlZFRvdGFsS2V5AhZhY3Jlc1N0YWtlZEFtb3VudFRvdGFsARhrZXlXbGdTdGFrZWRBbW91bnRCeVVzZXIBBGFkZHIJAKwCAgIWd2xnU3Rha2VkQW1vdW50QnlVc2VyXwUEYWRkcgARd2xnU3Rha2VkVG90YWxLZXkCFHdsZ1N0YWtlZEFtb3VudFRvdGFsARZrZXlXbGdTdGFrZWRUaW1lQnlVc2VyAQRhZGRyCQCsAgICFHdsZ1N0YWtlZFRpbWVCeVVzZXJfBQRhZGRyAAhkYXBwUmVzdAAAAAtkYXBwU3Rha2luZwABAAtkYXBwRWNvbm9teQACAAdkYXBwV2xnAAMACmRhcHBQdXp6bGUABAAOZGFwcEludmVzdEZ1bmQABQAJZGFwcEFjcmVzAAYBCGdldExhbmRzAxJ1c2VyQWRkclN0ck9yRW1wdHkPc3Rha2luZ0NvbnRyYWN0DWFjcmVzQ29udHJhY3QEBXByb3BzCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0AhNyZXNUeXBlc1Byb3BvcnRpb25zAgswXzBfMF8wXzBfMAIBXwoBBWFkZGVyAgNhY2MEaXRlbQkAZAIFA2FjYwkBDXBhcnNlSW50VmFsdWUBBQRpdGVtBAt0b3RhbFBpZWNlcwoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJQaWVjZXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQCsAgICFHN0YWtlZFBpZWNlc0J5T3duZXJfBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAQKdG90YWxBY3JlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ1hY3Jlc0NvbnRyYWN0BRNhY3Jlc1N0YWtlZFRvdGFsS2V5AAAECXVzZXJBY3JlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ1hY3Jlc0NvbnRyYWN0CQEaa2V5QWNyZXNTdGFrZWRBbW91bnRCeVVzZXIBBRJ1c2VyQWRkclN0ck9yRW1wdHkAAAkAzAgCBQt0b3RhbFBpZWNlcwkAzAgCBQp1c2VyUGllY2VzCQDMCAIFCnRvdGFsQWNyZXMJAMwIAgUJdXNlckFjcmVzBQNuaWwADmlkeFRvdGFsUGllY2VzAAAADWlkeFVzZXJQaWVjZXMAAQANaWR4VG90YWxBY3JlcwACAAxpZHhVc2VyQWNyZXMAAwART0xEX1NUQUtJTkdfREVBREwAgPnjm7kyAQtnZXRXbGdTdGF0cwULdXNlckFkZHJPcHQJY29udHJhY3RzBnVzZHRJZBV1c2R0QmFsYW5jZUNvcnJlY3Rpb24PdXNlclByb3BvcnRpb242BAxpc3N1ZWRBbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUSd2xnSXNzdWVkQW1vdW50S2V5AhhXTEdPTEQgaXMgbm90IGlzc3VlZCB5ZXQECmVjb25vbXlVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFC2RhcHBFY29ub215BQZ1c2R0SWQEB3Jlc3RVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHBSZXN0BQZ1c2R0SWQEBndsZ1VzZAkAZQIJAPAHAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFBnVzZHRJZAUVdXNkdEJhbGFuY2VDb3JyZWN0aW9uBAlwdXp6bGVVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFCmRhcHBQdXp6bGUFBnVzZHRJZAQRaW52ZXN0Rm5kQ29udHJhY3QJAJEDAgUJY29udHJhY3RzBQ5kYXBwSW52ZXN0RnVuZAQPaW52ZXN0RnVuZFRvdGFsCQBkAgkA8AcCBRFpbnZlc3RGbmRDb250cmFjdAUGdXNkdElkCQELdmFsdWVPckVsc2UCCQCaCAIFEWludmVzdEZuZENvbnRyYWN0BRF6Yklzc3VlZEFtb3VudEtleQAABA10b3RhbEZ1bmRzVXNkCQBkAgkAZAIFCmVjb25vbXlVc2QFBndsZ1VzZAUPaW52ZXN0RnVuZFRvdGFsBAV3bGdJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCcCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnAgt3bGdfYXNzZXRJZAITTm90IGluaXRpYWxpemVkIHlldAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFD3dsZ0lzc3VlVGltZUtleQIPTm90IGluaXRpYWxpemVkBApiYW5rV2xnb2xkCQDwBwIJAJEDAgUJY29udHJhY3RzBQtkYXBwU3Rha2luZwUFd2xnSWQECXRlYW1Ub3RhbAkAawMFCE1JTExJT042BQlURUFNU0hBUkUFAk02BA50ZWFtQW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwURdGVhbUFtb3VudExlZnRLZXkFCXRlYW1Ub3RhbAQMbGFzdFRlYW1UaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQdkYXBwV2xnBQ9sYXN0VGVhbVRpbWVLZXkFCWlzc3VlVGltZQQIdGVhbUFkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAJ0IAgkAkQMCBQljb250cmFjdHMFB2RhcHBXbGcFC3RlYW1BZGRyS2V5BBZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCXRlYW1Ub3RhbAkAZQIFA25vdwUMbGFzdFRlYW1UaW1lCQBoAgADBQpZRUFSTUlMTElTCQDMCAIFDnRlYW1BbW91bnRMZWZ0BQNuaWwECnRlYW1XbGdvbGQJAPAHAgUIdGVhbUFkZHIFBXdsZ0lkBAhhY3RUb3RhbAkAawMFCE1JTExJT042BQ1BQ1RJVklUWVNIQVJFBQJNNgQNYWN0QW1vdW50TGVmdAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUQYWN0QW1vdW50TGVmdEtleQUIYWN0VG90YWwEEmxhc3RBY3Rpdml0aWVzVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUVbGFzdEFjdGl2aXRpZXNUaW1lS2V5BQlpc3N1ZVRpbWUEFWFjdEFtb3VudEF2YWlsYWJsZU5vdwkAlwMBCQDMCAIJAGsDBQhhY3RUb3RhbAkAZQIFA25vdwUSbGFzdEFjdGl2aXRpZXNUaW1lCQBoAgADBQpZRUFSTUlMTElTCQDMCAIFDWFjdEFtb3VudExlZnQFA25pbAQJYWN0V2xnb2xkCQDwBwIJAJEDAgUJY29udHJhY3RzBQhkYXBwUmVzdAUFd2xnSWQEDGxhc3RVc2VyVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwkBG2tleUxhc3RDbGFpbWVkVGltZUJ5VXNlck9sZAEFC3VzZXJBZGRyT3B0BQlpc3N1ZVRpbWUEDmxhc3RVc2VyUGVyaW9kCQBpAgkAZQIFDGxhc3RVc2VyVGltZQUJaXNzdWVUaW1lBQpZRUFSTUlMTElTBApub3dMaW1pdGVkCQCXAwEJAMwIAgkAlwMBCQDMCAIFA25vdwkAzAgCCQBkAgUJaXNzdWVUaW1lCQBoAgADBQpZRUFSTUlMTElTBQNuaWwJAMwIAgURT0xEX1NUQUtJTkdfREVBREwFA25pbAQJY3VyUGVyaW9kCQCXAwEJAMwIAgkAaQIJAGUCBQNub3cFCWlzc3VlVGltZQUKWUVBUk1JTExJUwkAzAgCAAIFA25pbAQDZWZmCQEIZ2V0TGFuZHMDBQt1c2VyQWRkck9wdAkAkQMCBQljb250cmFjdHMFC2RhcHBTdGFraW5nCQCRAwIFCWNvbnRyYWN0cwUJZGFwcEFjcmVzBBVjdXJQZXJpb2REaXN0cmlidXRpb24JARRkaXN0cmlidXRpb25CeVBlcmlvZAEFCWN1clBlcmlvZAQIJHQwNzkxNDMDCQAAAgUObGFzdFVzZXJQZXJpb2QFCWN1clBlcmlvZAQCYTAJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAGUCBQpub3dMaW1pdGVkBQxsYXN0VXNlclRpbWUFCllFQVJNSUxMSVMECHVzZXJQYXJ0CQBrAwUCYTAFD3VzZXJQcm9wb3J0aW9uNgUCTTYEB2VmZlRpbWUJAGQCBQxsYXN0VXNlclRpbWUJAGsDCQBlAgUKbm93TGltaXRlZAUMbGFzdFVzZXJUaW1lBQ91c2VyUHJvcG9ydGlvbjYFAk02CQCVCgMFCHVzZXJQYXJ0BQJhMAUHZWZmVGltZQMJAAACBQ5sYXN0VXNlclBlcmlvZAkAZQIFCWN1clBlcmlvZAABBAJhMQkAawMJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAQkAZQIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFDGxhc3RVc2VyVGltZQUKWUVBUk1JTExJUwQCYTAJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAGUCBQpub3dMaW1pdGVkCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kBQpZRUFSTUlMTElTBAVhdmFpbAkAZAIFAmExBQJhMAQIdXNlclBhcnQJAGsDBQVhdmFpbAUPdXNlclByb3BvcnRpb242BQJNNgQHZWZmVGltZQMJAGcCBQJhMQUIdXNlclBhcnQJAGQCBQxsYXN0VXNlclRpbWUJAGsDBQpZRUFSTUlMTElTBQh1c2VyUGFydAkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABCQBkAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMFCWN1clBlcmlvZAkAawMFCllFQVJNSUxMSVMJAGUCBQh1c2VyUGFydAUCYTEFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAlQoDBQh1c2VyUGFydAUFYXZhaWwFB2VmZlRpbWUEAmEyCQBrAwkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAACCQBlAgkAZAIFCWlzc3VlVGltZQkAaAIFCllFQVJNSUxMSVMJAGUCBQljdXJQZXJpb2QAAQUMbGFzdFVzZXJUaW1lBQpZRUFSTUlMTElTBAJhMQkBFGRpc3RyaWJ1dGlvbkJ5UGVyaW9kAQkAZQIFCWN1clBlcmlvZAABBAJhMAkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAZQIFCm5vd0xpbWl0ZWQJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTBQljdXJQZXJpb2QFCllFQVJNSUxMSVMEBWF2YWlsCQBkAgkAZAIFAmEyBQJhMQUCYTAECHVzZXJQYXJ0CQBrAwUFYXZhaWwFD3VzZXJQcm9wb3J0aW9uNgUCTTYEB2VmZlRpbWUDCQBnAgUCYTIFCHVzZXJQYXJ0CQBkAgUMbGFzdFVzZXJUaW1lCQBrAwUKWUVBUk1JTExJUwUIdXNlclBhcnQJARRkaXN0cmlidXRpb25CeVBlcmlvZAEJAGUCBQljdXJQZXJpb2QAAgMJAGcCCQBkAgUCYTIFAmExBQh1c2VyUGFydAkAZAIJAGQCBQlpc3N1ZVRpbWUJAGgCBQpZRUFSTUlMTElTCQBlAgUJY3VyUGVyaW9kAAEJAGsDBQpZRUFSTUlMTElTCQBlAgUIdXNlclBhcnQFAmEyCQEUZGlzdHJpYnV0aW9uQnlQZXJpb2QBCQBlAgUJY3VyUGVyaW9kAAEJAGQCCQBkAgUJaXNzdWVUaW1lCQBoAgUKWUVBUk1JTExJUwUJY3VyUGVyaW9kCQBrAwUKWUVBUk1JTExJUwkAZQIJAGUCBQh1c2VyUGFydAUCYTIFAmExBRVjdXJQZXJpb2REaXN0cmlidXRpb24JAJUKAwUIdXNlclBhcnQFBWF2YWlsBQdlZmZUaW1lBAp1c2VyQW1vdW50CAUIJHQwNzkxNDMCXzEEDXVzZXJBdmFpbGFibGUIBQgkdDA3OTE0MwJfMgQLZWZmTGFzdFRpbWUIBQgkdDA3OTE0MwJfMwQQc0xhbmREYWlseUFtb3VudAkAawMJAGsDBRVjdXJQZXJpb2REaXN0cmlidXRpb24FCURBWU1JTExJUwUKWUVBUk1JTExJUwAZCQCRAwIFA2VmZgUOaWR4VG90YWxQaWVjZXMED2Ftb3VudExlZnRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAmggCCQCRAwIFCWNvbnRyYWN0cwUHZGFwcFdsZwUUc3Rha2Vyc0Ftb3VudExlZnRLZXkAAAQIdXNlclRlbXAJAGsDBQp1c2VyQW1vdW50CQBkAgkAaAIJAJEDAgUDZWZmBQ1pZHhVc2VyUGllY2VzBQJNOAkAkQMCBQNlZmYFDGlkeFVzZXJBY3JlcwkAZAIJAGgCCQCRAwIFA2VmZgUOaWR4VG90YWxQaWVjZXMFAk04CQCRAwIFA2VmZgUNaWR4VG90YWxBY3JlcwQMYmFua0Zyb21Vc2VyCQBrAwUIdXNlclRlbXAFCEJBTktfRkVFBQJNNgQKcm9iYmVkVXNlcgkAZQIFCHVzZXJUZW1wBQxiYW5rRnJvbVVzZXIEDHVucm9iYmVkVXNlcgkAawMFDXVzZXJBdmFpbGFibGUJAGQCCQBoAgkAkQMCBQNlZmYFDWlkeFVzZXJQaWVjZXMFAk04CQCRAwIFA2VmZgUMaWR4VXNlckFjcmVzCQBkAgkAaAIJAJEDAgUDZWZmBQ5pZHhUb3RhbFBpZWNlcwUCTTgJAJEDAgUDZWZmBQ1pZHhUb3RhbEFjcmVzCQDMCAIFDGlzc3VlZEFtb3VudAkAzAgCCQBrAwkAZQIFDXRvdGFsRnVuZHNVc2QFE1VTRFRfVFZMX0NPUlJFQ1RJT04FAk04BQxpc3N1ZWRBbW91bnQJAMwIAgUNdG90YWxGdW5kc1VzZAkAzAgCBQplY29ub215VXNkCQDMCAIFB3Jlc3RVc2QJAMwIAgUGd2xnVXNkCQDMCAIFCXB1enpsZVVzZAkAzAgCBQlpc3N1ZVRpbWUJAMwIAgUMbGFzdFRlYW1UaW1lCQDMCAIFCXRlYW1Ub3RhbAkAzAgCBQ50ZWFtQW1vdW50TGVmdAkAzAgCBRZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCnRlYW1XbGdvbGQJAMwIAgUIYWN0VG90YWwJAMwIAgUNYWN0QW1vdW50TGVmdAkAzAgCBRVhY3RBbW91bnRBdmFpbGFibGVOb3cJAMwIAgUJYWN0V2xnb2xkCQDMCAIFCWN1clBlcmlvZAkAzAgCBQ9hbW91bnRMZWZ0VG90YWwJAMwIAgUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQDMCAIFDGxhc3RVc2VyVGltZQkAzAgCBQpyb2JiZWRVc2VyCQDMCAIFEHNMYW5kRGFpbHlBbW91bnQJAMwIAgUPaW52ZXN0RnVuZFRvdGFsCQDMCAIFDHVucm9iYmVkVXNlcgkAzAgCBQtlZmZMYXN0VGltZQkAzAgCBQpiYW5rV2xnb2xkBQNuaWwAA002XwDAhD0AA004XwCAwtcvAApURUFNX1NIQVJFAMCaDAAOQUNUSVZJVFlfU0hBUkUAoI0GAAxQTEFZRVJfU0hBUkUAgLUYAAtZRUFSX01JTExJUwCAhuvHdQAGREFZX01TAIC4mSkAB0lTU1VFMTAAgJTr3AMAD1BMQVlFUlMxMF9TSEFSRQCA6jAAEU1BUktFVElORzEwX1NIQVJFAKCNBgAMVEVBTTEwX1NIQVJFAKCNBgARTkVXX1NUQUtJTkdfU1RBUlQAgPO4wrEyABBtYXJrZXRpbmdBZGRyS2V5Ag1tYXJrZXRpbmdBZGRyAAp0ZWFtQWRyS2V5Agh0ZWFtQWRkcgAObGFzdFRlYW1UaW1LZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtAA50ZWFtQW10TGVmdEtleQIOdGVhbUFtb3VudExlZnQAFGxhc3RBY3Rpdml0aWVzVGltS2V5AhpsYXN0Q2xhaW1lZFRpbWVfYWN0aXZpdGllcwANYWN0QW10TGVmdEtleQIUYWN0aXZpdGllc0Ftb3VudExlZnQAEXN0YWtlcnNBbXRMZWZ0S2V5AhFzdGFrZXJzQW1vdW50TGVmdAEWa2V5TGFzdENsYWltVGltZUJ5VXNlcgEEYWRkcgkArAICAhRsYXN0Q2xhaW1lZFRpbWVVc2VyXwUEYWRkcgENZGlzdHJCeVBlcmlvZAIMaXNzdWVkQW1vdW50BnBlcmlvZAkAawMFDGlzc3VlZEFtb3VudAkAaAIFDFBMQVlFUl9TSEFSRQkAZAIFBnBlcmlvZAABCQBoAgAGBQNNNl8AEXdsZ0lzc3VlMTBUaW1lS2V5Ag93bGdfaXNzdWUxMFRpbWUADndsZ0lzc3VlVGltS2V5Ag13bGdfaXNzdWVUaW1lAA93bGdJc3N1ZWRBbXRLZXkCEHdsZ19pc3N1ZWRBbW91bnQADnpiSXNzdWVkQW10S2V5AhJ6YmlsbF9pc3N1ZWRBbW91bnQBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQRhZGRyCQCsAgICGGFjcmVzU3Rha2VkQW1vdW50QnlVc2VyXwUEYWRkcgASYWNyZXNTdGFrZFRvdGFsS2V5AhZhY3Jlc1N0YWtlZEFtb3VudFRvdGFsABR0b3RhbEZhcm1pbmdQb3dlcktleQIRdG90YWxGYXJtaW5nUG93ZXIACWRhcHAyUmVzdAAAAAxkYXBwMlN0YWtpbmcAAQAIZGFwcDJXbGcAAgALZGFwcDJQdXp6bGUAAwAPZGFwcDJJbnZlc3RGdW5kAAQAFURFRkFVTFRfV0VFS0xZX1BSSVpFUwAFAA1BQ1JFU19GT1JfQkVUAIDC1y8AEWtleU5mdFRvdGFsSXNzdWVkAg5uZnRUb3RhbElzc3VlZAARa2V5TmZ0VG90YWxCdXJuZWQCDm5mdFRvdGFsQnVybmVkABNrZXlXbE5mdFRvdGFsU3Rha2VkAhBXbE5mdFRvdGFsU3Rha2VkARJrZXlVc2VyV2xOZnROdW1iZXIBBGFkZHIJAKwCAgIQdXNlcldsTmZ0TnVtYmVyXwUEYWRkcgEQa2V5VXNlckZ1bGxCb251cwEEYWRkcgkArAICAg51c2VyRnVsbEJvbnVzXwUEYWRkcgAKbGV2ZWxBY3JlcwkAzAgCAAAJAMwIAgAKCQDMCAIAFAkAzAgCACgJAMwIAgBQCQDMCAIAlgEJAMwIAgD6AQkAzAgCAJADCQDMCAIAvAUJAMwIAgDoBwUDbmlsAQ9nZXRMZXZlbEJ5QWNyZXMBBWFjcmVzBANhY3IJAGkCCQBkAgUFYWNyZXMA/8HXLwUDTThfCgEHY2hlY2tlcgIDYWNjBGl0ZW0DCQBnAgUEaXRlbQUDYWNyBQNhY2MJAGQCBQNhY2MAAQoAAiRsBQpsZXZlbEFjcmVzCgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdjaGVja2VyAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKARZnZXRGYXJtaW5nUG93ZXJCeUFjcmVzAQVhY3JlcwkAaAIJAGgCBQVhY3JlcwAUCQBkAgkBD2dldExldmVsQnlBY3JlcwEFBWFjcmVzAAQBHmdldEZhcm1pbmdQb3dlckJ5QWNyZXNBbmRCb251cwIFYWNyZXMGYm9udXM2BApub3RCb251c2VkCQEWZ2V0RmFybWluZ1Bvd2VyQnlBY3JlcwEFBWFjcmVzCQCUCgIJAGsDBQpub3RCb251c2VkCQBkAgUDTTZfBQZib251czYFA002XwUKbm90Qm9udXNlZAEQZ2V0RmFybWluZ1Bvd2VycwISdXNlckFkZHJTdHJPckVtcHR5DmFjcmVzMkNvbnRyYWN0BAd0b3RhbEZQCQELdmFsdWVPckVsc2UCCQCaCAIFDmFjcmVzMkNvbnRyYWN0BRR0b3RhbEZhcm1pbmdQb3dlcktleQAABAl1c2VyQWNyZXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QJARdrZXlBY3Jlc1N0YWtlZEFtdEJ5VXNlcgEFEnVzZXJBZGRyU3RyT3JFbXB0eQAABAl1c2VyQm9udXMJAQt2YWx1ZU9yRWxzZQIJAJoIAgUOYWNyZXMyQ29udHJhY3QJARBrZXlVc2VyRnVsbEJvbnVzAQUSdXNlckFkZHJTdHJPckVtcHR5AAAECCR0MDc5MTQzCQEeZ2V0RmFybWluZ1Bvd2VyQnlBY3Jlc0FuZEJvbnVzAgUJdXNlckFjcmVzBQl1c2VyQm9udXMEDXVzZXJGUGJvbnVzZWQIBQgkdDA3OTE0MwJfMQQQdXNlckZQbm90Qm9udXNlZAgFCCR0MDc5MTQzAl8yCQDMCAIFB3RvdGFsRlAJAMwIAgUNdXNlckZQYm9udXNlZAkAzAgCBRB1c2VyRlBub3RCb251c2VkCQDMCAIFCXVzZXJCb251cwUDbmlsAAppZHhUb3RhbEZQAAAAEGlkeFVzZXJGUGJvbnVzZWQAAQEMZ2V0V2xnU3RhdHMyBAt1c2VyQWRkck9wdAljb250cmFjdHMGdXNkdElkFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQMaXNzdWVkQW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ93bGdJc3N1ZWRBbXRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAQHcmVzdFVzZAkA8AcCCQCRAwIFCWNvbnRyYWN0cwUJZGFwcDJSZXN0BQZ1c2R0SWQEBndsZ1VzZAkAZQIJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQZ1c2R0SWQFFXVzZHRCYWxhbmNlQ29ycmVjdGlvbgQJcHV6emxlVXNkCQDwBwIJAJEDAgUJY29udHJhY3RzBQtkYXBwMlB1enpsZQUGdXNkdElkBAlhY3JlczJVc2QJAPAHAgkAkQMCBQljb250cmFjdHMFDGRhcHAyU3Rha2luZwUGdXNkdElkBBFpbnZlc3RGbmRDb250cmFjdAkAkQMCBQljb250cmFjdHMFD2RhcHAySW52ZXN0RnVuZAQPaW52ZXN0RnVuZFRvdGFsCQBkAgkA8AcCBRFpbnZlc3RGbmRDb250cmFjdAUGdXNkdElkCQELdmFsdWVPckVsc2UCCQCaCAIFEWludmVzdEZuZENvbnRyYWN0BQ56Yklzc3VlZEFtdEtleQAABA10b3RhbEZ1bmRzVXNkCQBkAgkAZAIFCWFjcmVzMlVzZAUGd2xnVXNkBQ9pbnZlc3RGdW5kVG90YWwEBXdsZ0lkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJwIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnAgt3bGdfYXNzZXRJZAITTm90IGluaXRpYWxpemVkIHlldAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ53bGdJc3N1ZVRpbUtleQIPTm90IGluaXRpYWxpemVkBAZ3bGdXbGcJAPAHAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQV3bGdJZAQJdGVhbVRvdGFsCQBrAwUMaXNzdWVkQW1vdW50BQpURUFNX1NIQVJFBQNNNl8EDnRlYW1BbW91bnRMZWZ0CQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUOdGVhbUFtdExlZnRLZXkFCXRlYW1Ub3RhbAQMbGFzdFRlYW1UaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUObGFzdFRlYW1UaW1LZXkFCWlzc3VlVGltZQQIdGVhbUFkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAJ0IAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQp0ZWFtQWRyS2V5BBZ0ZWFtQW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCXRlYW1Ub3RhbAkAZQIFA25vdwUMbGFzdFRlYW1UaW1lCQBoAgADBQtZRUFSX01JTExJUwkAzAgCBQ50ZWFtQW1vdW50TGVmdAUDbmlsBAp0ZWFtV2xnb2xkCQDwBwIFCHRlYW1BZGRyBQV3bGdJZAQIYWN0VG90YWwJAGsDBQxpc3N1ZWRBbW91bnQFDkFDVElWSVRZX1NIQVJFBQNNNl8EDWFjdEFtb3VudExlZnQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnBQ1hY3RBbXRMZWZ0S2V5BQhhY3RUb3RhbAQSbGFzdEFjdGl2aXRpZXNUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwUUbGFzdEFjdGl2aXRpZXNUaW1LZXkFCWlzc3VlVGltZQQVYWN0QW1vdW50QXZhaWxhYmxlTm93CQCXAwEJAMwIAgkAawMFCGFjdFRvdGFsCQBlAgUDbm93BRJsYXN0QWN0aXZpdGllc1RpbWUJAGgCAAMFC1lFQVJfTUlMTElTCQDMCAIFDWFjdEFtb3VudExlZnQFA25pbAQJYWN0V2xnb2xkCQDwBwIJAJEDAgUJY29udHJhY3RzBQlkYXBwMlJlc3QFBXdsZ0lkBAxsYXN0VXNlclRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFCGRhcHAyV2xnCQEWa2V5TGFzdENsYWltVGltZUJ5VXNlcgEFC3VzZXJBZGRyT3B0BQlpc3N1ZVRpbWUEDmxhc3RVc2VyUGVyaW9kCQBpAgkAZQIFDGxhc3RVc2VyVGltZQUJaXNzdWVUaW1lBQtZRUFSX01JTExJUwQKbm93TGltaXRlZAkAlwMBCQDMCAIFA25vdwkAzAgCCQBkAgUJaXNzdWVUaW1lCQBoAgADBQtZRUFSX01JTExJUwUDbmlsBAljdXJQZXJpb2QJAJcDAQkAzAgCCQBpAgkAZQIFA25vdwUJaXNzdWVUaW1lBQtZRUFSX01JTExJUwkAzAgCAAIFA25pbAQDZWZmCQEQZ2V0RmFybWluZ1Bvd2VycwIFC3VzZXJBZGRyT3B0CQCRAwIFCWNvbnRyYWN0cwUMZGFwcDJTdGFraW5nBBVjdXJQZXJpb2REaXN0cmlidXRpb24JAQ1kaXN0ckJ5UGVyaW9kAgUMaXNzdWVkQW1vdW50BQljdXJQZXJpb2QEDXByZXZQZXJpb2RFbmQJAGQCBQlpc3N1ZVRpbWUJAGgCBQtZRUFSX01JTExJUwUJY3VyUGVyaW9kBBFwcmV2UHJldlBlcmlvZEVuZAkAZAIFCWlzc3VlVGltZQkAaAIFC1lFQVJfTUlMTElTCQBlAgUJY3VyUGVyaW9kAAEEAmEwCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQBlAgUKbm93TGltaXRlZAUMbGFzdFVzZXJUaW1lBQtZRUFSX01JTExJUwQNdXNlckF2YWlsYWJsZQMJAAACBQ5sYXN0VXNlclBlcmlvZAUJY3VyUGVyaW9kBQJhMAMJAAACBQ5sYXN0VXNlclBlcmlvZAkAZQIFCWN1clBlcmlvZAABBAJhMQkAawMJAQ1kaXN0ckJ5UGVyaW9kAgUMaXNzdWVkQW1vdW50CQBlAgUJY3VyUGVyaW9kAAEJAGUCBQ1wcmV2UGVyaW9kRW5kBQxsYXN0VXNlclRpbWUFC1lFQVJfTUlMTElTCQBkAgUCYTEFAmEwBAJhMgkAawMJAQ1kaXN0ckJ5UGVyaW9kAgUMaXNzdWVkQW1vdW50CQBlAgUJY3VyUGVyaW9kAAIJAGUCBRFwcmV2UHJldlBlcmlvZEVuZAUMbGFzdFVzZXJUaW1lBQtZRUFSX01JTExJUwQCYTEJAQ1kaXN0ckJ5UGVyaW9kAgUMaXNzdWVkQW1vdW50CQBlAgUJY3VyUGVyaW9kAAEJAGQCCQBkAgUCYTIFAmExBQJhMAQPYW1vdW50TGVmdFRvdGFsCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwURc3Rha2Vyc0FtdExlZnRLZXkAAAQKdXNlckFtb3VudAMJAQIhPQIJAJEDAgUDZWZmBQppZHhUb3RhbEZQAAAJAGsDBQ11c2VyQXZhaWxhYmxlCQCRAwIFA2VmZgUQaWR4VXNlckZQYm9udXNlZAkAkQMCBQNlZmYFCmlkeFRvdGFsRlAAAAQPbGFzdElzc3VlMTBUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQhkYXBwMldsZwURd2xnSXNzdWUxMFRpbWVLZXkFEU5FV19TVEFLSU5HX1NUQVJUBA1pc3N1ZTEwQW1vdW50CQBrAwUHSVNTVUUxMAkAlgMBCQDMCAIJAGUCBQNub3cFD2xhc3RJc3N1ZTEwVGltZQkAzAgCAAAFA25pbAUGREFZX01TBBZtYXJrZXRpbmdJc3N1ZTEwQW1vdW50CQBrAwUNaXNzdWUxMEFtb3VudAURTUFSS0VUSU5HMTBfU0hBUkUFA002XwQRdGVhbUlzc3VlMTBBbW91bnQJAGsDBQ1pc3N1ZTEwQW1vdW50BQxURUFNMTBfU0hBUkUFA002XwQOdXNlcjEwSW50ZXJ2YWwJAJYDAQkAzAgCCQBlAgUDbm93CQCWAwEJAMwIAgURTkVXX1NUQUtJTkdfU1RBUlQJAMwIAgUMbGFzdFVzZXJUaW1lBQNuaWwJAMwIAgAABQNuaWwECnVzZXIxMHBhcnQDCQECIT0CCQCRAwIFA2VmZgUKaWR4VG90YWxGUAAACQBrAwkAawMJAGsDBQdJU1NVRTEwBQ51c2VyMTBJbnRlcnZhbAUGREFZX01TCQCRAwIFA2VmZgUQaWR4VXNlckZQYm9udXNlZAkAkQMCBQNlZmYFCmlkeFRvdGFsRlAFD1BMQVlFUlMxMF9TSEFSRQUDTTZfAAAEDm5ld0lzc3VlMTBUaW1lCQCWAwEJAMwIAgURTkVXX1NUQUtJTkdfU1RBUlQJAMwIAgUDbm93BQNuaWwEEGFjcmVzU3Rha2VkVG90YWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFDGRhcHAyU3Rha2luZwUSYWNyZXNTdGFrZFRvdGFsS2V5AAAEDm5mdFRvdGFsSXNzdWVkCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQxkYXBwMlN0YWtpbmcFEWtleU5mdFRvdGFsSXNzdWVkAAAEDm5mdFRvdGFsQnVybmVkCQELdmFsdWVPckVsc2UCCQCaCAIJAJEDAgUJY29udHJhY3RzBQxkYXBwMlN0YWtpbmcFEWtleU5mdFRvdGFsQnVybmVkAAAEEHdsTmZ0VG90YWxTdGFrZWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFDGRhcHAyU3Rha2luZwUTa2V5V2xOZnRUb3RhbFN0YWtlZAAABA93bE5mdFVzZXJTdGFrZWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgkAkQMCBQljb250cmFjdHMFDGRhcHAyU3Rha2luZwkBEmtleVVzZXJXbE5mdE51bWJlcgEJAQt2YWx1ZU9yRWxzZQIFC3VzZXJBZGRyT3B0AgAAAAkAzAgCBQxpc3N1ZWRBbW91bnQJAMwIAgUGd2xnV2xnCQDMCAIJAGsDBQ10b3RhbEZ1bmRzVXNkBQNNOF8FDGlzc3VlZEFtb3VudAkAzAgCBQ10b3RhbEZ1bmRzVXNkCQDMCAIFB3Jlc3RVc2QJAMwIAgUJYWNyZXMyVXNkCQDMCAIFBndsZ1VzZAkAzAgCBQlwdXp6bGVVc2QJAMwIAgUJaXNzdWVUaW1lCQDMCAIFDGxhc3RUZWFtVGltZQkAzAgCBQl0ZWFtVG90YWwJAMwIAgUOdGVhbUFtb3VudExlZnQJAMwIAgUWdGVhbUFtb3VudEF2YWlsYWJsZU5vdwkAzAgCBQp0ZWFtV2xnb2xkCQDMCAIFCGFjdFRvdGFsCQDMCAIFDWFjdEFtb3VudExlZnQJAMwIAgUVYWN0QW1vdW50QXZhaWxhYmxlTm93CQDMCAIFCWFjdFdsZ29sZAkAzAgCBQljdXJQZXJpb2QJAMwIAgUPYW1vdW50TGVmdFRvdGFsCQDMCAIFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAzAgCBQxsYXN0VXNlclRpbWUJAMwIAgUPaW52ZXN0RnVuZFRvdGFsCQDMCAIFCnVzZXJBbW91bnQJAMwIAgUKbm93TGltaXRlZAkAzAgCBQ1pc3N1ZTEwQW1vdW50CQDMCAIFFm1hcmtldGluZ0lzc3VlMTBBbW91bnQJAMwIAgURdGVhbUlzc3VlMTBBbW91bnQJAMwIAgUKdXNlcjEwcGFydAkAzAgCBQ5uZXdJc3N1ZTEwVGltZQkAzAgCCQCRAwIFA2VmZgUKaWR4VG90YWxGUAkAzAgCBRBhY3Jlc1N0YWtlZFRvdGFsCQDMCAIFDm5mdFRvdGFsSXNzdWVkCQDMCAIFDm5mdFRvdGFsQnVybmVkCQDMCAIFEHdsTmZ0VG90YWxTdGFrZWQJAMwIAgUPd2xOZnRVc2VyU3Rha2VkBQNuaWwADXByb2ZpdEFkZHJLZXkCCnByb2ZpdEFkZHIAGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkCFnN0YWtlcnNBbW91bnRQYWlkVG90YWwBGGtleVN0YWtlcnNBbW91bnRQYWlkVXNlcgEEYWRkcgkArAICAhZzdGFrZXJzQW1vdW50UGFpZFVzZXJfBQRhZGRyAQdwcm9sb2cyAAkBBWFzSW50AQkA/QcEBQ5hY3JlczJDb250cmFjdAIKc2F2ZUxhc3RUeAUDbmlsBQNuaWwBEmdldFN3YXBMaW1pdFdsZ29sZAEEYWRkcgQIbGFzdFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBGWtleUxhc3RXbGdUcmFkZVRpbWVCeVVzZXIBBQRhZGRyAAAEDGRlZmF1bHRMaW1pdAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hY3JlczJDb250cmFjdAkBGmtleUFjcmVzU3Rha2VkQW1vdW50QnlVc2VyAQUEYWRkcgAABA1sYXN0TGltaXRMZWZ0CQELdmFsdWVPckVsc2UCCQCfCAEJARprZXlMYXN0V2xnVHJhZGVMaW1pdEJ5VXNlcgEFBGFkZHIFDGRlZmF1bHRMaW1pdAQMY3VycmVudExpbWl0CQBkAgUNbGFzdExpbWl0TGVmdAkAawMFDGRlZmF1bHRMaW1pdAkAZQIIBQlsYXN0QmxvY2sJdGltZXN0YW1wBQhsYXN0VGltZQUKREFZX01JTExJUwkAlwMBCQDMCAIFDGN1cnJlbnRMaW1pdAkAzAgCBQxkZWZhdWx0TGltaXQFA25pbAAQaWR4V2xnVGVhbUFtTGVmdAAKABRpZHhXbGdUZWFtQW1BdmFpbE5vdwALAA9pZHhXbGdBY3RBbUxlZnQADgATaWR4V2xnQWN0QW1BdmFpbE5vdwAPABFpZHhXbGdBbUxlZnRUb3RhbAASABRpZHhXbGdVc2VyQW1BdmFpbE5vdwAVABRpZHhXbGdVc2VyVG90YWxBdmFpbAAYABFpZHhXbGdFZmZVc2VyVGltZQAZAQ1jbGFpbUludGVybmFsAQRhZGRyBAZjYWxsZXIJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBGFkZHIED2Vjb25vbXlDb250cmFjdAkBEUBleHRyTmF0aXZlKDEwNjIpAQUSZWNvbm9teUNvbnRyYWN0U3RyBAhjdXJTdGF0cwkBC2dldFdsZ1N0YXRzBQUEYWRkcgkAzAgCBQxyZXN0Q29udHJhY3QJAMwIAgUPc3Rha2luZ0NvbnRyYWN0CQDMCAIFD2Vjb25vbXlDb250cmFjdAkAzAgCBQt3bGdDb250cmFjdAkAzAgCBRJwdXp6bGVQb29sQ29udHJhY3QJAMwIAgUSaW52ZXN0RnVuZENvbnRyYWN0CQDMCAIFDWFjcmVzQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQAAAUFTVVMVDYEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXAEDnRlYW1BbW91bnRMZWZ0CQCRAwIFCGN1clN0YXRzBRBpZHhXbGdUZWFtQW1MZWZ0BAp0ZWFtQW1vdW50CQCRAwIFCGN1clN0YXRzBRRpZHhXbGdUZWFtQW1BdmFpbE5vdwQNYWN0QW1vdW50TGVmdAkAkQMCBQhjdXJTdGF0cwUPaWR4V2xnQWN0QW1MZWZ0BAlhY3RBbW91bnQJAJEDAgUIY3VyU3RhdHMFE2lkeFdsZ0FjdEFtQXZhaWxOb3cECnVzZXJBbW91bnQJAJEDAgUIY3VyU3RhdHMFFGlkeFdsZ1VzZXJBbUF2YWlsTm93BAd1c2VyS2V5CQEYa2V5U3Rha2Vyc0Ftb3VudFBhaWRVc2VyAQUEYWRkcgQJdXNlclRvdGFsCQCRAwIFCGN1clN0YXRzBRRpZHhXbGdVc2VyVG90YWxBdmFpbAQLdXNlckVmZlRpbWUJAJEDAgUIY3VyU3RhdHMFEWlkeFdsZ0VmZlVzZXJUaW1lCQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBQt0ZWFtQWRkcktleQUKdGVhbUFtb3VudAUKd2xnQXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQxyZXN0Q29udHJhY3QFCWFjdEFtb3VudAUKd2xnQXNzZXRJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUHdXNlcktleQkAZAIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUHdXNlcktleQAABQp1c2VyQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRlzdGFrZXJzQW1vdW50UGFpZFRvdGFsS2V5CQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBBRlzdGFrZXJzQW1vdW50UGFpZFRvdGFsS2V5AAAFCXVzZXJUb3RhbAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUc3Rha2Vyc0Ftb3VudExlZnRLZXkJAGUCCQCRAwIFCGN1clN0YXRzBRFpZHhXbGdBbUxlZnRUb3RhbAUJdXNlclRvdGFsCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRF0ZWFtQW1vdW50TGVmdEtleQkAZQIFDnRlYW1BbW91bnRMZWZ0BQp0ZWFtQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9sYXN0VGVhbVRpbWVLZXkFA25vdwkAzAgCCQEMSW50ZWdlckVudHJ5AgUQYWN0QW1vdW50TGVmdEtleQkAZQIFDWFjdEFtb3VudExlZnQFCWFjdEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUVbGFzdEFjdGl2aXRpZXNUaW1lS2V5BQNub3cJAMwIAgkBDEludGVnZXJFbnRyeQIJARtrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXJPbGQBBQRhZGRyBQt1c2VyRWZmVGltZQUDbmlsBQp1c2VyQW1vdW50AQ5jbGFpbUludGVybmFsMgEEYWRkcgQIY3VyU3RhdHMJAQxnZXRXbGdTdGF0czIEBQRhZGRyCQDMCAIFDXJlc3QyQ29udHJhY3QJAMwIAgUOYWNyZXMyQ29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0CQDMCAIFEmludmVzdEZ1bmRDb250cmFjdAUDbmlsBQt1c2R0QXNzZXRJZAAABAt1c2VyVGltZUtleQkBFmtleUxhc3RDbGFpbVRpbWVCeVVzZXIBBQRhZGRyBAxsYXN0VXNlclRpbWUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQULdXNlclRpbWVLZXkAAAQLdXNlckVmZlRpbWUJAJEDAgUIY3VyU3RhdHMFEGl4V2xnRWZmVXNlclRpbWUDCQAAAgUMbGFzdFVzZXJUaW1lBQt1c2VyRWZmVGltZQkAlAoCBQNuaWwAAAQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQCRAwIFCGN1clN0YXRzBQ5peFdsZ0lzc3VlVGltZQQOdGVhbUFtb3VudExlZnQJAJEDAgUIY3VyU3RhdHMFD2l4V2xnVGVhbUFtTGVmdAQKdGVhbUFtb3VudAkAZAIJAJEDAgUIY3VyU3RhdHMFE2l4V2xnVGVhbUFtQXZhaWxOb3cJAJEDAgUIY3VyU3RhdHMFFml4V2xnVGVhbUlzc3VlMTBBbW91bnQEDHRlYW1UcmFuc2ZlcgMJAGYCBQp0ZWFtQW1vdW50AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBQt0ZWFtQWRkcktleQUKdGVhbUFtb3VudAUKd2xnQXNzZXRJZAUDbmlsBQNuaWwEDWFjdEFtb3VudExlZnQJAJEDAgUIY3VyU3RhdHMFDml4V2xnQWN0QW1MZWZ0BAlhY3RBbW91bnQJAJEDAgUIY3VyU3RhdHMFEml4V2xnQWN0QW1BdmFpbE5vdwQLYWN0VHJhbnNmZXIDCQBmAgUJYWN0QW1vdW50AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUMcmVzdENvbnRyYWN0BQlhY3RBbW91bnQFCndsZ0Fzc2V0SWQFA25pbAUDbmlsBA9tYXJrZXRpbmdBbW91bnQJAJEDAgUIY3VyU3RhdHMFG2l4V2xnTWFya2V0aW5nSXNzdWUxMEFtb3VudAQRbWFya2V0aW5nVHJhbnNmZXIDCQBmAgUPbWFya2V0aW5nQW1vdW50AAAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBRBtYXJrZXRpbmdBZGRyS2V5BQ9tYXJrZXRpbmdBbW91bnQFCndsZ0Fzc2V0SWQFA25pbAUDbmlsBAp1c2VyQW1vdW50CQCRAwIFCGN1clN0YXRzBRNpeFdsZ1VzZXJBbUF2YWlsTm93BAd1c2VyS2V5CQEYa2V5U3Rha2Vyc0Ftb3VudFBhaWRVc2VyAQUEYWRkcgQJdXNlclRvdGFsCQBkAgUKdXNlckFtb3VudAkAkQMCBQhjdXJTdGF0cwUPaXhXbGdVc2VyMTBwYXJ0BA5pc3N1ZWQxMEFtb3VudAkAkQMCBQhjdXJTdGF0cwUSaXhXbGdJc3N1ZTEwQW1vdW50CQCUCgIJAM4IAgkAzggCCQDOCAIJAMwIAgkBB1JlaXNzdWUDBQp3bGdBc3NldElkBQ5pc3N1ZWQxMEFtb3VudAYJAMwIAgkBDEludGVnZXJFbnRyeQIFEndsZ0lzc3VlZEFtb3VudEtleQkAZAIJAJEDAgUIY3VyU3RhdHMFC2l4V2xnQW1vdW50BQ5pc3N1ZWQxMEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgURd2xnSXNzdWUxMFRpbWVLZXkJAJEDAgUIY3VyU3RhdHMFEGl4V2xnSXNzdWUxMFRpbWUJAMwIAgkBDEludGVnZXJFbnRyeQIFB3VzZXJLZXkJAGQCCQELdmFsdWVPckVsc2UCCQCfCAEFB3VzZXJLZXkAAAUKdXNlckFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUZc3Rha2Vyc0Ftb3VudFBhaWRUb3RhbEtleQkAZAIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUZc3Rha2Vyc0Ftb3VudFBhaWRUb3RhbEtleQAABQp1c2VyQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRzdGFrZXJzQW1vdW50TGVmdEtleQkAZQIJAJEDAgUIY3VyU3RhdHMFEGl4V2xnQW1MZWZ0VG90YWwFCnVzZXJBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFEXRlYW1BbW91bnRMZWZ0S2V5CQBkAgkAZQIFDnRlYW1BbW91bnRMZWZ0BQp0ZWFtQW1vdW50CQCRAwIFCGN1clN0YXRzBRZpeFdsZ1RlYW1Jc3N1ZTEwQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9sYXN0VGVhbVRpbWVLZXkFA25vdwkAzAgCCQEMSW50ZWdlckVudHJ5AgUQYWN0QW1vdW50TGVmdEtleQkAZQIFDWFjdEFtb3VudExlZnQFCWFjdEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUVbGFzdEFjdGl2aXRpZXNUaW1lS2V5BQNub3cJAMwIAgkBDEludGVnZXJFbnRyeQIFC3VzZXJUaW1lS2V5BQt1c2VyRWZmVGltZQUDbmlsBQx0ZWFtVHJhbnNmZXIFC2FjdFRyYW5zZmVyBRFtYXJrZXRpbmdUcmFuc2ZlcgUJdXNlclRvdGFsAQ50YWtlWHBJbnRlcm5hbAIEYWRkcgVkZWx0YQQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQHdGltZUtleQkBFmtleVdsZ1N0YWtlZFRpbWVCeVVzZXIBBQRhZGRyBAlhbW91bnRLZXkJARhrZXlXbGdTdGFrZWRBbW91bnRCeVVzZXIBBQRhZGRyBAhsYXN0VGltZQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQd0aW1lS2V5AAAEB29sZFVzZXIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUJYW1vdW50S2V5AAAECG9sZFRvdGFsCQELdmFsdWVPckVsc2UCCQCfCAEFEXdsZ1N0YWtlZFRvdGFsS2V5AAAEAnhwCQBrAwkAawMFBXhwV2xnBQdvbGRVc2VyBQ93bGdCYXNlQW1vdW50WHAJAGUCBQhsYXN0VGltZQUDbm93BQlEQVlNSUxMSVMJAJUKAwkAzAgCCQEMSW50ZWdlckVudHJ5AgUHdGltZUtleQUDbm93CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQlhbW91bnRLZXkJAGQCBQdvbGRVc2VyBQVkZWx0YQkAzAgCCQEMSW50ZWdlckVudHJ5AgURd2xnU3Rha2VkVG90YWxLZXkJAGQCBQhvbGRUb3RhbAUFZGVsdGEFA25pbAUCeHAFB29sZFVzZXIBEW9wZW5DaGVzdEludGVybmFsAQRhZGRyBAR3ZWVrCQBpAgUGaGVpZ2h0BQtXRUVLX0JMT0NLUwQIZHJhd1dlZWsJAGUCBQR3ZWVrAAEECW51bVByaXplcwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEOa2V5TnVtTkZUMkRyYXcBBQhkcmF3V2VlawUVREVGQVVMVF9XRUVLTFlfUFJJWkVTBAtwcml6ZXNEcmF3bgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEOa2V5TnVtTkZURHJhd24BBQhkcmF3V2VlawAABAt1c2VyVGlja2V0cwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQESa2V5VXNlcldlZWtUaWNrZXRzAgUEYWRkcgUIZHJhd1dlZWsAAAMJAGcCAAAFC3VzZXJUaWNrZXRzCQCUCgIFA25pbAUEdW5pdAQLd2Vla1RpY2tldHMJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBE2tleVRvdGFsV2Vla1RpY2tldHMBBQhkcmF3V2VlawAAAwkAZwIAAAULd2Vla1RpY2tldHMJAJQKAgkAzAgCCQELRGVsZXRlRW50cnkBCQESa2V5VXNlcldlZWtUaWNrZXRzAgUEYWRkcgUIZHJhd1dlZWsFA25pbAUEdW5pdAQHZW50cm9weQkBBXZhbHVlAQgJAQV2YWx1ZQEJAO0HAQkAaAIFBHdlZWsFC1dFRUtfQkxPQ0tTA3ZyZgQEc2FsdAkA2QQBCQCRAwIJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ5hY3JlczJDb250cmFjdAkBFWtleUxhc3RXZWVrVHhJZEJ5VXNlcgEFBGFkZHICCjQyX0RFRkFVTFQCAV8AAQQGcmFuZG9tCQEPZ2V0UmFuZG9tTnVtYmVyAwULd2Vla1RpY2tldHMFBHNhbHQFB2VudHJvcHkDCQBmAgkAaAIFC3VzZXJUaWNrZXRzBQludW1Qcml6ZXMFBnJhbmRvbQQLaXNzdWVSZXN1bHQJAPwHBAUOYWNyZXMyQ29udHJhY3QCC2lzc3VlUGlja0MxCQDMCAIFBGFkZHIFA25pbAUDbmlsBAd3aW5uZXJzCQCiCAEJAQ5rZXlXZWVrV2lubmVycwEFCGRyYXdXZWVrBApuZXdXaW5uZXJzAwkBCWlzRGVmaW5lZAEFB3dpbm5lcnMJAKwCAgkArAICCQEFdmFsdWUBBQd3aW5uZXJzAgFfBQRhZGRyBQRhZGRyCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJAQ5rZXlOdW1ORlREcmF3bgEFCGRyYXdXZWVrCQBkAgULcHJpemVzRHJhd24AAQkAzAgCCQELRGVsZXRlRW50cnkBCQESa2V5VXNlcldlZWtUaWNrZXRzAgUEYWRkcgUIZHJhd1dlZWsJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDmtleVdlZWtXaW5uZXJzAQUIZHJhd1dlZWsFCm5ld1dpbm5lcnMFA25pbAULaXNzdWVSZXN1bHQEB3JhbmRvbTEJAGQCCQEPZ2V0UmFuZG9tTnVtYmVyAwAJCQDLAQIBAUIFBHNhbHQFB2VudHJvcHkAAQQLY29uc1RpY2tldHMJAGsDBQt1c2VyVGlja2V0cwUHcmFuZG9tMQAKBAp0aWNrZXRzS2V5CQESa2V5VXNlcldlZWtUaWNrZXRzAgUEYWRkcgUEd2VlawQKb2xkVGlja2V0cwkBC3ZhbHVlT3JFbHNlAgkAnwgBBQp0aWNrZXRzS2V5AAAJAJQKAgkAzQgCAwkAAAIFC2NvbnNUaWNrZXRzAAAFA25pbAQNY29tbW9uQWN0aW9ucwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBE2tleVRvdGFsV2Vla1RpY2tldHMBBQR3ZWVrCQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQETa2V5VG90YWxXZWVrVGlja2V0cwEFBHdlZWsAAAULY29uc1RpY2tldHMJAMwIAgkBDEludGVnZXJFbnRyeQIFCnRpY2tldHNLZXkJAGQCBQpvbGRUaWNrZXRzBQtjb25zVGlja2V0cwUDbmlsAwkAZgIFCm9sZFRpY2tldHMAAAUNY29tbW9uQWN0aW9ucwkAzQgCBQ1jb21tb25BY3Rpb25zCQEMSW50ZWdlckVudHJ5AgkBGGtleVRvdGFsV2Vla1BhcnRpY2lwYW50cwEFBHdlZWsJAGQCCQELdmFsdWVPckVsc2UCCQCfCAEJARhrZXlUb3RhbFdlZWtQYXJ0aWNpcGFudHMBBQR3ZWVrAAAAAQkBC0RlbGV0ZUVudHJ5AQkBEmtleVVzZXJXZWVrVGlja2V0cwIFBGFkZHIFCGRyYXdXZWVrBQtjb25zVGlja2V0cwEUY2xhaW1UaWNrZXRzSW50ZXJuYWwCBGFkZHIKdXNlckJldFN0cgQEd2VlawkAaQIFBmhlaWdodAULV0VFS19CTE9DS1MECnRpY2tldHNLZXkJARJrZXlVc2VyV2Vla1RpY2tldHMCBQRhZGRyBQR3ZWVrBAZkYXlCZXQJALUJAgUKdXNlckJldFN0cgIBXwQPb2xkVG90YWxUaWNrZXRzCQELdmFsdWVPckVsc2UCCQCfCAEJARNrZXlUb3RhbFdlZWtUaWNrZXRzAQUEd2VlawAABApvbGRUaWNrZXRzCQELdmFsdWVPckVsc2UCCQCfCAEFCnRpY2tldHNLZXkAAAQMZGVsdGFUaWNrZXRzAwkAAAIJAQp3aW5uaW5nQmV0AQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBmRheUJldAAACQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGZGF5QmV0AAEAAQAABA9vbGRQYXJ0aWNpcGFudHMJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBGGtleVRvdGFsV2Vla1BhcnRpY2lwYW50cwEFBHdlZWsAAAQSdXBkYXRlUGFydGljaXBhbnRzAwMJAAACBQpvbGRUaWNrZXRzAAAJAAACBQxkZWx0YVRpY2tldHMAAQcJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlUb3RhbFdlZWtQYXJ0aWNpcGFudHMBBQR3ZWVrCQBkAgUPb2xkUGFydGljaXBhbnRzAAEFA25pbAUDbmlsCQCUCgIDCQAAAgUMZGVsdGFUaWNrZXRzAAAFA25pbAkAzQgCCQDNCAIFEnVwZGF0ZVBhcnRpY2lwYW50cwkBDEludGVnZXJFbnRyeQIFCnRpY2tldHNLZXkJAGQCBQpvbGRUaWNrZXRzBQxkZWx0YVRpY2tldHMJAQxJbnRlZ2VyRW50cnkCCQETa2V5VG90YWxXZWVrVGlja2V0cwEFBHdlZWsJAGQCBQ9vbGRUb3RhbFRpY2tldHMFDGRlbHRhVGlja2V0cwUMZGVsdGFUaWNrZXRzEAFpAQ1jb25zdHJ1Y3RvclYxBAhyZXN0QWRkcg1tYXJrZXRpbmdBZGRyCHRlYW1BZGRyCnByb2ZpdEFkZHIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAMJAQlpc0RlZmluZWQBCQChCAEFDXdsZ0Fzc2V0SWRLZXkJAAIBAhNBbHJlYWR5IGluaXRpYWxpemVkBAxpc3N1ZWRBbW91bnQFCE1JTExJT042BAVpc3N1ZQkAwwgHAgZXTEdPTEQCIFdhdmVzTGFuZHMgR29sZCBpbnZlc3RtZW50IHRva2VuBQxpc3N1ZWRBbW91bnQACAYFBHVuaXQAAAQHYXNzZXRJZAkAuAgBBQVpc3N1ZQkAzAgCBQVpc3N1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUPd2xnSXNzdWVUaW1lS2V5CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSd2xnSXNzdWVkQW1vdW50S2V5BQxpc3N1ZWRBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUc3Rha2Vyc0Ftb3VudExlZnRLZXkJAGsDBQhNSUxMSU9ONgULUExBWUVSU0hBUkUFBU1VTFQ2CQDMCAIJAQtCaW5hcnlFbnRyeQIFDXdsZ0Fzc2V0SWRLZXkFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDmtleVJlc3RBZGRyZXNzAAUIcmVzdEFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgUQbWFya2V0aW5nQWRkcktleQUNbWFya2V0aW5nQWRkcgkAzAgCCQELU3RyaW5nRW50cnkCBQt0ZWFtQWRkcktleQUIdGVhbUFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgUNcHJvZml0QWRkcktleQUKcHJvZml0QWRkcgUDbmlsAWkBDWNvbnN0cnVjdG9yVjIBCXJlc3QyQWRkcgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9rZXlSZXN0MkFkZHJlc3MABQlyZXN0MkFkZHIFA25pbAFpAQZidXlXbGcBDG1pblRvUmVjZWl2ZQQMcHJvbG9nUmVzdWx0CQEHcHJvbG9nMgADCQAAAgUMcHJvbG9nUmVzdWx0BQxwcm9sb2dSZXN1bHQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAiJleGFjdGx5IDEgcGF5bWVudCBtdXN0IGJlIGF0dGFjaGVkBANwbXQJAJEDAggFAWkIcGF5bWVudHMAAAQHdXNkdEFtdAgFA3BtdAZhbW91bnQDAwkBASEBCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkBgkBAiE9AgkBBXZhbHVlAQgFA3BtdAdhc3NldElkBQt1c2R0QXNzZXRJZAkAAgECE1VTRFQgcGF5bWVudHMgb25seSEEBmNhbGxlcggFAWkGY2FsbGVyBARhZGRyCQClCAEFBmNhbGxlcgMJAGYCBQ5NSU5TSE9QUEFZTUVOVAUHdXNkdEFtdAkAAgEJAKwCAgkArAICAhJZb3UgY2FuIHRyYWRlIG1pbiAJAQpmaXhlZFBvaW50AgUOTUlOU0hPUFBBWU1FTlQABgIFIFVTRFQECGN1clN0YXRzCQEMZ2V0V2xnU3RhdHMyBAIACQDMCAIFDXJlc3QyQ29udHJhY3QJAMwIAgUOYWNyZXMyQ29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0CQDMCAIFEmludmVzdEZ1bmRDb250cmFjdAUDbmlsBQt1c2R0QXNzZXRJZAUHdXNkdEFtdAQMY3VyV2xnQW1vdW50CQCRAwIFCGN1clN0YXRzBQtpeFdsZ0Ftb3VudAQId2xnUHJpY2UJAJEDAgUIY3VyU3RhdHMFCml4V2xnUHJpY2UECGJ1eVByaWNlCQBuBAUId2xnUHJpY2UABgAFBQdDRUlMSU5HBAl3bGdBbW91bnQJAGsDBQd1c2R0QW10BQVNVUxUOAUIYnV5UHJpY2UEBm1heFdsZwkBEmdldFN3YXBMaW1pdFdsZ29sZAEFBGFkZHIDCQBmAgUJd2xnQW1vdW50BQZtYXhXbGcJAAIBCQCsAgIJAKwCAgIQWW91IGNhbiBnZXQgbWF4IAkBCmZpeGVkUG9pbnQCBQZtYXhXbGcACAIVIFdMR09MRCBhdCB0aGUgbW9tZW50AwkAZgIFDG1pblRvUmVjZWl2ZQUJd2xnQW1vdW50CQACAQIwUHJpY2UgY2hhbmdlZCBkdXJpbmcgb3BlcmF0aW9uLCBwbGVhc2UgdHJ5IGFnYWluBAxwcm9maXRBbW91bnQJAGkCBQd1c2R0QW10AAYJAJQKAgkAzAgCCQEHUmVpc3N1ZQMFCndsZ0Fzc2V0SWQFCXdsZ0Ftb3VudAYJAMwIAgkBDEludGVnZXJFbnRyeQIFEndsZ0lzc3VlZEFtb3VudEtleQkAZAIFDGN1cldsZ0Ftb3VudAUJd2xnQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEZa2V5TGFzdFdsZ1RyYWRlVGltZUJ5VXNlcgEFBGFkZHIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaa2V5TGFzdFdsZ1RyYWRlTGltaXRCeVVzZXIBBQRhZGRyCQBlAgUGbWF4V2xnBQl3bGdBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBQ1wcm9maXRBZGRyS2V5BQxwcm9maXRBbW91bnQFC3VzZHRBc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBmNhbGxlcgUJd2xnQW1vdW50BQp3bGdBc3NldElkBQNuaWwFDHByb2xvZ1Jlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ5idXlXbGdSRUFET05MWQIHYWRkcmVzcwd1c2R0QW10BAhjdXJTdGF0cwkBDGdldFdsZ1N0YXRzMgQCAAkAzAgCBQ1yZXN0MkNvbnRyYWN0CQDMCAIFDmFjcmVzMkNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQFB3VzZHRBbXQECHdsZ1ByaWNlCQCRAwIFCGN1clN0YXRzBQppeFdsZ1ByaWNlBAhidXlQcmljZQkAbgQFCHdsZ1ByaWNlAAYABQUHQ0VJTElORwQJd2xnQW1vdW50CQBrAwUHdXNkdEFtdAUFTVVMVDgFCGJ1eVByaWNlBAZtYXhXbGcJARJnZXRTd2FwTGltaXRXbGdvbGQBBQdhZGRyZXNzBAdtYXhVc2R0CQBrAwUGbWF4V2xnBQhidXlQcmljZQUFTVVMVDgEDHByb2ZpdEFtb3VudAkAaQIFB3VzZHRBbXQABgkAlAoCBQNuaWwJAMwIAgUJd2xnQW1vdW50CQDMCAIFDk1JTlNIT1BQQVlNRU5UCQDMCAIFB21heFVzZHQJAMwIAgUMcHJvZml0QW1vdW50BQNuaWwBaQEHc2VsbFdsZwEJbWluQW1vdW50BAxwcm9sb2dSZXN1bHQJAQdwcm9sb2cyAAMJAAACBQxwcm9sb2dSZXN1bHQFDHByb2xvZ1Jlc3VsdAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABAZ3bGdBbXQIBQNwbXQGYW1vdW50BAZjYWxsZXIIBQFpBmNhbGxlcgQEYWRkcgkApQgBBQZjYWxsZXIEBm1heFdsZwkBEmdldFN3YXBMaW1pdFdsZ29sZAEFBGFkZHIDCQBmAgUGd2xnQW10BQZtYXhXbGcJAAIBCQCsAgIJAKwCAgISWW91IGNhbiBzcGVuZCBtYXggCQEKZml4ZWRQb2ludAIFBm1heFdsZwAIAhUgV0xHT0xEIGF0IHRoZSBtb21lbnQDAwkBASEBCQEJaXNEZWZpbmVkAQgFA3BtdAdhc3NldElkBgkBAiE9AgkBBXZhbHVlAQgFA3BtdAdhc3NldElkBQp3bGdBc3NldElkCQACAQIVV0xHT0xEIHBheW1lbnRzIG9ubHkhBAhjdXJTdGF0cwkBDGdldFdsZ1N0YXRzMgQCAAkAzAgCBQ1yZXN0MkNvbnRyYWN0CQDMCAIFDmFjcmVzMkNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQAAAQMY3VyV2xnQW1vdW50CQCRAwIFCGN1clN0YXRzBQtpeFdsZ0Ftb3VudAQJc2VsbFByaWNlCQBpAgkAkQMCBQhjdXJTdGF0cwUKaXhXbGdQcmljZQACBAd1c2R0QW10CQBrAwUGd2xnQW10BQlzZWxsUHJpY2UFBU1VTFQ4AwkAZgIFDk1JTlNIT1BQQVlNRU5UBQd1c2R0QW10CQACAQkArAICCQCsAgICEllvdSBjYW4gdHJhZGUgbWluIAkBCmZpeGVkUG9pbnQCBQ5NSU5TSE9QUEFZTUVOVAAGAgUgVVNEVAMJAGYCBQltaW5BbW91bnQFB3VzZHRBbXQJAAIBAjBQcmljZSBjaGFuZ2VkIGR1cmluZyBvcGVyYXRpb24sIHBsZWFzZSB0cnkgYWdhaW4EDHByb2ZpdEFtb3VudAkAaQIFB3VzZHRBbXQABQkAlAoCCQDMCAIJAQRCdXJuAgUKd2xnQXNzZXRJZAUGd2xnQW10CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJ3bGdJc3N1ZWRBbW91bnRLZXkJAGUCBQxjdXJXbGdBbW91bnQFBndsZ0FtdAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGWtleUxhc3RXbGdUcmFkZVRpbWVCeVVzZXIBBQRhZGRyCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGmtleUxhc3RXbGdUcmFkZUxpbWl0QnlVc2VyAQUEYWRkcgkAZQIFBm1heFdsZwUGd2xnQW10CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAKIIAQUNcHJvZml0QWRkcktleQUMcHJvZml0QW1vdW50BQt1c2R0QXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQZjYWxsZXIFB3VzZHRBbXQFC3VzZHRBc3NldElkBQNuaWwFDHByb2xvZ1Jlc3VsdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ9zZWxsV2xnUkVBRE9OTFkCB2FkZHJlc3MGd2xnQW10BAZtYXhXbGcJARJnZXRTd2FwTGltaXRXbGdvbGQBBQdhZGRyZXNzBAhjdXJTdGF0cwkBDGdldFdsZ1N0YXRzMgQCAAkAzAgCBQ1yZXN0MkNvbnRyYWN0CQDMCAIFDmFjcmVzMkNvbnRyYWN0CQDMCAIFC3dsZ0NvbnRyYWN0CQDMCAIFEnB1enpsZVBvb2xDb250cmFjdAkAzAgCBRJpbnZlc3RGdW5kQ29udHJhY3QFA25pbAULdXNkdEFzc2V0SWQAAAQJc2VsbFByaWNlCQBpAgkAkQMCBQhjdXJTdGF0cwUKaXhXbGdQcmljZQACBAd1c2R0QW10CQBrAwUGd2xnQW10BQlzZWxsUHJpY2UFBU1VTFQ4BAZtaW5XbGcJAGsDBQ5NSU5TSE9QUEFZTUVOVAUFTVVMVDgFCXNlbGxQcmljZQQMcHJvZml0QW1vdW50CQBpAgUHdXNkdEFtdAAFCQCUCgIFA25pbAkAzAgCBQd1c2R0QW10CQDMCAIFBm1pbldsZwkAzAgCBQZtYXhXbGcJAMwIAgUMcHJvZml0QW1vdW50BQNuaWwBaQEFY2xhaW0ABAxwcm9sb2dSZXN1bHQJAQdwcm9sb2cyAAMJAAACBQxwcm9sb2dSZXN1bHQFDHByb2xvZ1Jlc3VsdAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAAkAAgECFE5vIHBheW1lbnRzIHJlcXVpcmVkBA0kdDAxNjQwMDE2NDY5CQEOY2xhaW1JbnRlcm5hbDIBCQClCAEIBQFpBmNhbGxlcgQHYWN0aW9ucwgFDSR0MDE2NDAwMTY0NjkCXzEEEHdsZ0NsYWltZWRBbW91bnQIBQ0kdDAxNjQwMDE2NDY5Al8yCQCUCgIJAM0IAgUHYWN0aW9ucwkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRB3bGdDbGFpbWVkQW1vdW50BQp3bGdBc3NldElkBQxwcm9sb2dSZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQESb25TdGFrZVVuc3Rha2VMYW5kAQRhZGRyAwMDCQECIT0CCAUBaQZjYWxsZXIFD3N0YWtpbmdDb250cmFjdAkBAiE9AggFAWkGY2FsbGVyBQ1hY3Jlc0NvbnRyYWN0BwkBAiE9AggFAWkGY2FsbGVyBQ5hY3JlczJDb250cmFjdAcJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAQNJHQwMTY3ODkxNjg0NgkBDmNsYWltSW50ZXJuYWwyAQUEYWRkcgMJAAACBQ0kdDAxNjc4OTE2ODQ2BQ0kdDAxNjc4OTE2ODQ2BBB3bGdDbGFpbWVkQW1vdW50CAUNJHQwMTY3ODkxNjg0NgJfMgQHYWN0aW9ucwgFDSR0MDE2Nzg5MTY4NDYCXzEJAJQKAgMJAGYCBRB3bGdDbGFpbWVkQW1vdW50AAAJAM0IAgUHYWN0aW9ucwkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUEYWRkcgUQd2xnQ2xhaW1lZEFtb3VudAUKd2xnQXNzZXRJZAUHYWN0aW9ucwUQd2xnQ2xhaW1lZEFtb3VudAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARVvblN0YWtlVW5zdGFrZUxhbmRPbGQBBGFkZHIDAwMJAQIhPQIIBQFpBmNhbGxlcgUPc3Rha2luZ0NvbnRyYWN0CQECIT0CCAUBaQZjYWxsZXIFDWFjcmVzQ29udHJhY3QHCQECIT0CCAUBaQZjYWxsZXIFDmFjcmVzMkNvbnRyYWN0BwkAAgECEVBlcm1pc3Npb24gZGVuaWVkBA0kdDAxNzIwMzE3MjU5CQENY2xhaW1JbnRlcm5hbAEFBGFkZHIDCQAAAgUNJHQwMTcyMDMxNzI1OQUNJHQwMTcyMDMxNzI1OQQQd2xnQ2xhaW1lZEFtb3VudAgFDSR0MDE3MjAzMTcyNTkCXzIEB2FjdGlvbnMIBQ0kdDAxNzIwMzE3MjU5Al8xCQCUCgIDCQBmAgUQd2xnQ2xhaW1lZEFtb3VudAAACQDNCAIFB2FjdGlvbnMJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBGFkZHIFEHdsZ0NsYWltZWRBbW91bnQFCndsZ0Fzc2V0SWQFA25pbAUQd2xnQ2xhaW1lZEFtb3VudAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQpidXJuV2xnb2xkAQZ3bGdBbXQDCQECIT0CCAUBaQZjYWxsZXIFDmFjcmVzMkNvbnRyYWN0CQACAQIRUGVybWlzc2lvbiBkZW5pZWQECGN1clN0YXRzCQEMZ2V0V2xnU3RhdHMyBAIACQDMCAIFDXJlc3QyQ29udHJhY3QJAMwIAgUOYWNyZXMyQ29udHJhY3QJAMwIAgULd2xnQ29udHJhY3QJAMwIAgUScHV6emxlUG9vbENvbnRyYWN0CQDMCAIFEmludmVzdEZ1bmRDb250cmFjdAUDbmlsBQt1c2R0QXNzZXRJZAAAAwkAZgIFBndsZ0FtdAkAkQMCBQhjdXJTdGF0cwUIaXhXbGdXbGcJAAIBCQCsAgIJAKwCAgkArAICAgVPbmx5IAkBCmZpeGVkUG9pbnQCCQCRAwIFCGN1clN0YXRzBQhpeFdsZ1dsZwAIAiUgV0xHT0xEIGxlZnQgb24gY29udHJhY3QsIGNhbid0IGJ1cm4gCQEKZml4ZWRQb2ludAIFBndsZ0FtdAAIBA13bGdBbW91bnRMZWZ0CQBlAgkAkQMCBQhjdXJTdGF0cwULaXhXbGdBbW91bnQFBndsZ0FtdAkAlAoCCQDMCAIJAQRCdXJuAgUKd2xnQXNzZXRJZAUGd2xnQW10CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJ3bGdJc3N1ZWRBbW91bnRLZXkFDXdsZ0Ftb3VudExlZnQFA25pbAUNd2xnQW1vdW50TGVmdAFpAQxiZXRGb3JUaWNrZXQBA2JldAQMcHJvbG9nUmVzdWx0CQEHcHJvbG9nMgADCQAAAgUMcHJvbG9nUmVzdWx0BQxwcm9sb2dSZXN1bHQDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhRObyBwYXltZW50cyByZXF1aXJlZAQEYWRkcgkApQgBCAUBaQZjYWxsZXIECGRyYXdXZWVrCQBlAgkAaQIFBmhlaWdodAULV0VFS19CTE9DS1MAAQQLdXNlclRpY2tldHMJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEmtleVVzZXJXZWVrVGlja2V0cwIFBGFkZHIFCGRyYXdXZWVrAAAEC3dlZWtUaWNrZXRzCQELdmFsdWVPckVsc2UCCQCfCAEJARNrZXlUb3RhbFdlZWtUaWNrZXRzAQUIZHJhd1dlZWsAAAMDCQBmAgULdXNlclRpY2tldHMAAAkAZgIFC3dlZWtUaWNrZXRzAAAHCQACAQIbUGxlYXNlIG9wZW4gdGhlIGNoZXN0IGZpcnN0AwkBAiE9AgkAaQIFA2JldAAEAAAJAAIBAhtJbnZhbGlkIGJldDogc2hvdWxkIGJlIDAuLjMEBm1vbWVudAkAagIFBmhlaWdodAUKREFZX0JMT0NLUwMJAGYCBQZtb21lbnQJAGUCBQpEQVlfQkxPQ0tTAAMJAAIBCQCsAgIJAKwCAgIxQ2Fubm90IGJldDogdGhlIGRheSBpcyBhbG1vc3QgZW5kZWQsIHBsZWFzZSB3YWl0IAkApAMBCQBlAgUKREFZX0JMT0NLUwUGbW9tZW50AgcgYmxvY2tzBAtzdGFrZWRBY3JlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hY3JlczJDb250cmFjdAkBF2tleUFjcmVzU3Rha2VkQW10QnlVc2VyAQUEYWRkcgAAAwkAZgIFDUFDUkVTX0ZPUl9CRVQFC3N0YWtlZEFjcmVzCQACAQkArAICCQCsAgICG1lvdSBuZWVkIHRvIHN0YWtlIGF0IGxlYXN0IAkBCmZpeGVkUG9pbnQCBQ1BQ1JFU19GT1JfQkVUAAgCDSBBQ1JFUyB0byBiZXQECHRvbW9ycm93CQBkAgkAaQIFBmhlaWdodAUKREFZX0JMT0NLUwABBAZiZXRLZXkJAQprZXlVc2VyQmV0AQUEYWRkcgQNb2xkVXNlckJldFN0cgkAoggBBQZiZXRLZXkEC25ld0JldEVudHJ5CQELU3RyaW5nRW50cnkCBQZiZXRLZXkJAKwCAgkArAICCQCkAwEFCHRvbW9ycm93AgFfCQCkAwEFA2JldAMJAQlpc0RlZmluZWQBBQ1vbGRVc2VyQmV0U3RyBAd1c2VyQmV0CQEFdmFsdWUBBQ1vbGRVc2VyQmV0U3RyAwkAAAIJAJEDAgkAtQkCBQd1c2VyQmV0AgFfAAAJAKQDAQUIdG9tb3Jyb3cJAAIBAhxZb3UgYWxyZWFkeSBiZXQgZm9yIHRvbW9ycm93BAFyCQEUY2xhaW1UaWNrZXRzSW50ZXJuYWwCBQRhZGRyBQd1c2VyQmV0CQCUCgIJAM0IAggFAXICXzEFC25ld0JldEVudHJ5CAUBcgJfMgkAlAoCCQDMCAIFC25ld0JldEVudHJ5BQNuaWwAAAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQl0YWtlV2xnWHABBGFkZHIDCQECIT0CCAUBaQZjYWxsZXIFD3N0YWtpbmdDb250cmFjdAkAAgECEVBlcm1pc3Npb24gZGVuaWVkBA0kdDAxOTg2MTE5OTA0CQEOdGFrZVhwSW50ZXJuYWwCBQRhZGRyAAAEB2FjdGlvbnMIBQ0kdDAxOTg2MTE5OTA0Al8xBAJ4cAgFDSR0MDE5ODYxMTk5MDQCXzIJAJQKAgUHYWN0aW9ucwUCeHABaQESY2hlY2tXbGdYcFJFQURPTkxZAQRhZGRyBA0kdDAxOTk4MTIwMDI5CQEOdGFrZVhwSW50ZXJuYWwCBQRhZGRyAAAEB2lnbm9yZWQIBQ0kdDAxOTk4MTIwMDI5Al8xBAdkZWx0YVhQCAUNJHQwMTk5ODEyMDAyOQJfMgQFbmV3WFAJAGQCCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBCWtleVVzZXJYUAEFBGFkZHIAAAUHZGVsdGFYUAQJbHZsUG9pbnRzCQEHbGV2ZWxVcAIJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEMa2V5VXNlckxldmVsAQUEYWRkcgAABQVuZXdYUAkAlAoCBQNuaWwJAM0IAgUJbHZsUG9pbnRzBQVuZXdYUAFpAQxzZXROdW1Qcml6ZXMBCW51bVByaXplcwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkBAR3ZWVrCQBpAgUGaGVpZ2h0BQtXRUVLX0JMT0NLUwkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEOa2V5TnVtTkZUMkRyYXcBBQR3ZWVrBQludW1Qcml6ZXMFA25pbAUJbnVtUHJpemVzAWkBCW9wZW5DaGVzdAAEDHByb2xvZ1Jlc3VsdAkBB3Byb2xvZzIAAwkAAAIFDHByb2xvZ1Jlc3VsdAUMcHJvbG9nUmVzdWx0AwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwAACQACAQIUTm8gcGF5bWVudHMgcmVxdWlyZWQECGRyYXdXZWVrCQBlAgkAaQIFBmhlaWdodAULV0VFS19CTE9DS1MAAQQEYWRkcgkApQgBCAUBaQZjYWxsZXIEC3VzZXJUaWNrZXRzCQELdmFsdWVPckVsc2UCCQCfCAEJARJrZXlVc2VyV2Vla1RpY2tldHMCBQRhZGRyBQhkcmF3V2VlawAAAwkAZwIAAAULdXNlclRpY2tldHMJAAIBAhlObyBnZW1zIHRvIG9wZW4gdGhlIGNoZXN0CQERb3BlbkNoZXN0SW50ZXJuYWwBBQRhZGRyCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCmFkZEdlbXNGb3ICBGFkZHIMZGVsdGFUaWNrZXRzAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIRUGVybWlzc2lvbiBkZW5pZWQEBHdlZWsJAGkCBQZoZWlnaHQFC1dFRUtfQkxPQ0tTBAp0aWNrZXRzS2V5CQESa2V5VXNlcldlZWtUaWNrZXRzAgUEYWRkcgUEd2VlawQPb2xkVG90YWxUaWNrZXRzCQELdmFsdWVPckVsc2UCCQCfCAEJARNrZXlUb3RhbFdlZWtUaWNrZXRzAQUEd2VlawAABApvbGRUaWNrZXRzCQELdmFsdWVPckVsc2UCCQCfCAEFCnRpY2tldHNLZXkAAAQPb2xkUGFydGljaXBhbnRzCQELdmFsdWVPckVsc2UCCQCfCAEJARhrZXlUb3RhbFdlZWtQYXJ0aWNpcGFudHMBBQR3ZWVrAAAEEnVwZGF0ZVBhcnRpY2lwYW50cwMDCQAAAgUKb2xkVGlja2V0cwAACQAAAgUMZGVsdGFUaWNrZXRzAAEHCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYa2V5VG90YWxXZWVrUGFydGljaXBhbnRzAQUEd2VlawkAZAIFD29sZFBhcnRpY2lwYW50cwABBQNuaWwFA25pbAkAlAoCCQDNCAIJAM0IAgUSdXBkYXRlUGFydGljaXBhbnRzCQEMSW50ZWdlckVudHJ5AgUKdGlja2V0c0tleQkAZAIFCm9sZFRpY2tldHMFDGRlbHRhVGlja2V0cwkBDEludGVnZXJFbnRyeQIJARNrZXlUb3RhbFdlZWtUaWNrZXRzAQUEd2VlawkAZAIFD29sZFRvdGFsVGlja2V0cwUMZGVsdGFUaWNrZXRzBQxkZWx0YVRpY2tldHMArNEvyg==", "height": 3400801, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4S51ysrJjgm1mZCCEJjnAWht1eeiDBgTkeLxW81habi4 Next: 6jygPk1vZcRyMffmD1MKm9JxZjpRvBvBmgr4UXMauREN Diff:
OldNewDifferences
950950
951951
952952 @Callable(fG)
953-func onStakeUnstakeLand (P,gf) = if (if (if ((fG.caller != H))
953+func onStakeUnstakeLand (P) = if (if (if ((fG.caller != H))
954954 then (fG.caller != I)
955955 else false)
956956 then (fG.caller != K)
957957 else false)
958958 then throw("Permission denied")
959959 else {
960- let gg = if (gf)
961- then eX(P)
962- else eO(P)
963- let gd = gg._1
964- let ge = gg._2
965- $Tuple2(if ((ge > 0))
966- then (gd :+ ScriptTransfer(addressFromStringValue(P), ge, R))
967- else if (gf)
968- then gd
969- else nil, ge)
960+ let gf = eX(P)
961+ if ((gf == gf))
962+ then {
963+ let ge = gf._2
964+ let gd = gf._1
965+ $Tuple2(if ((ge > 0))
966+ then (gd :+ ScriptTransfer(addressFromStringValue(P), ge, R))
967+ else gd, ge)
968+ }
969+ else throw("Strict value is not equal to itself.")
970+ }
971+
972+
973+
974+@Callable(fG)
975+func onStakeUnstakeLandOld (P) = if (if (if ((fG.caller != H))
976+ then (fG.caller != I)
977+ else false)
978+ then (fG.caller != K)
979+ else false)
980+ then throw("Permission denied")
981+ else {
982+ let gg = eO(P)
983+ if ((gg == gg))
984+ then {
985+ let ge = gg._2
986+ let gd = gg._1
987+ $Tuple2(if ((ge > 0))
988+ then (gd :+ ScriptTransfer(addressFromStringValue(P), ge, R))
989+ else nil, ge)
990+ }
991+ else throw("Strict value is not equal to itself.")
970992 }
971993
972994
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 = 100000000
99
1010 let d = 100000
1111
1212 let e = 86400000
1313
1414 let f = take(drop(this.bytes, 1), 1)
1515
1616 let g = {
1717 let h = f
1818 if ((base58'2W' == h))
1919 then 1440
2020 else if ((base58'2T' == h))
2121 then 60
2222 else throw("Unknown chain")
2323 }
2424
2525 let i = {
2626 let h = f
2727 if ((base58'2W' == h))
2828 then 10080
2929 else if ((base58'2T' == h))
3030 then 180
3131 else throw("Unknown chain")
3232 }
3333
3434 let j = {
3535 let h = f
3636 if ((base58'2W' == h))
3737 then 0
3838 else if ((base58'2T' == h))
3939 then 1146000
4040 else throw("Unknown chain")
4141 }
4242
4343 let k = {
4444 let h = f
4545 if ((base58'2W' == h))
4646 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
4747 else if ((base58'2T' == h))
4848 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
4949 else throw("Unknown chain")
5050 }
5151
5252 let l = {
5353 let h = f
5454 if ((base58'2W' == h))
5555 then "3PFwYta8biEz31zpeFe5DJK8wE5trSpQVF8"
5656 else if ((base58'2T' == h))
5757 then "3N7UuYar6264P58FBhVWKPQAh4Yua2hgngv"
5858 else throw("Unknown chain")
5959 }
6060
6161 let m = {
6262 let h = f
6363 if ((base58'2W' == h))
6464 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
6565 else if ((base58'2T' == h))
6666 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
6767 else throw("Unknown chain")
6868 }
6969
7070 let n = {
7171 let h = f
7272 if ((base58'2W' == h))
7373 then "3P2sk1KncSxRaZs8b4CWGPw2jkvvav74u4D"
7474 else if ((base58'2T' == h))
7575 then "3N8y4wxX3JC4TdrCJBXX16SjWf6X256hrep"
7676 else throw("Unknown chain")
7777 }
7878
7979 func o (p,q) = valueOrErrorMessage(getString(p, q), makeString(["mandatory ", toString(p), ".", q, " is not defined"], ""))
8080
8181
8282 let r = 1
8383
8484 let s = 2
8585
8686 let t = 4
8787
8888 let u = 5
8989
9090 func v () = "%s__restConfig"
9191
9292
9393 func w () = "%s__rest2Addr"
9494
9595
9696 func x () = "%s__restAddr"
9797
9898
9999 let y = addressFromStringValue(valueOrElse(getString(this, x()), m))
100100
101101 func z (A) = split_4C(o(A, v()), a)
102102
103103
104104 func B (C,D) = valueOrErrorMessage(addressFromString(C[D]), ("Rest cfg doesn't contain address at index " + toString(D)))
105105
106106
107107 let E = 1
108108
109109 let F = 8
110110
111111 let G = z(y)
112112
113113 let H = B(G, E)
114114
115115 let I = B(G, F)
116116
117117 let J = addressFromStringValue(valueOrElse(getString(this, w()), l))
118118
119119 let C = z(J)
120120
121121 let K = B(C, r)
122122
123123 let L = B(C, s)
124124
125125 let M = B(C, t)
126126
127127 let N = B(C, u)
128128
129129 func O (P) = ("lastWeekTxIdByUser_" + P)
130130
131131
132132 let Q = "wlg_assetId"
133133
134134 let R = valueOrErrorMessage(getBinary(L, Q), "WLGOLD is not issued yet")
135135
136136 func S (P) = ("userBet_" + P)
137137
138138
139139 func T (P,U) = ((("userWeekTickets_" + P) + "_") + toString(U))
140140
141141
142142 func V (U) = ("totalWeekTickets_" + toString(U))
143143
144144
145145 func W (U) = ("totalWeekParticipants_" + toString(U))
146146
147147
148148 func X (U) = ("numNFT2Draw_" + toString(U))
149149
150150
151151 func Y (U) = ("numNFTDrawn_" + toString(U))
152152
153153
154154 func Z (U) = ("weekWinners_" + toString(U))
155155
156156
157157 func aa (ab) = {
158158 let ac = (ab * g)
159159 let ad = if ((ac > j))
160160 then ac
161161 else (ac + j)
162162 (toInt(value(value(blockInfoByHeight(ad)).vrf)) % 4)
163163 }
164164
165165
166166 let ae = 0
167167
168168 let af = 1
169169
170170 let ag = 2
171171
172172 let ah = 8
173173
174174 let ai = 11
175175
176176 let aj = 12
177177
178178 let ak = 15
179179
180180 let al = 16
181181
182182 let am = 19
183183
184184 let an = 23
185185
186186 let ao = 24
187187
188188 let ap = 25
189189
190190 let aq = 26
191191
192192 let ar = 27
193193
194194 let as = 28
195195
196196 let at = 29
197197
198198 func au (av) = {
199199 let h = av
200200 if ($isInstanceOf(h, "Int"))
201201 then {
202202 let aw = h
203203 aw
204204 }
205205 else throw("fail to cast into Int")
206206 }
207207
208208
209209 func ax (ay,az) = {
210210 let aA = pow(10, 0, az, 0, 0, DOWN)
211211 let aB = toString((ay % aA))
212212 let aC = drop(toString(aA), (1 + size(aB)))
213213 (((toString((ay / aA)) + ".") + aC) + aB)
214214 }
215215
216216
217217 func aD (aE,aF,aG) = if ((0 >= aE))
218218 then throw("maxValue should be > 0")
219219 else {
220220 let aH = sha256_16Kb((aF + aG))
221221 (toInt(aH) % aE)
222222 }
223223
224224
225225 let aI = 100000000
226226
227227 let aJ = 3200
228228
229229 let aK = 4000
230230
231231 let aL = 3
232232
233233 let aM = 100000000000
234234
235235 func aN (P) = ("userXP_" + P)
236236
237237
238238 func aO (P) = ("userLevel_" + P)
239239
240240
241241 let aP = 10000
242242
243243 func aQ (aR) = fraction(aJ, pow(aR, 4, aK, 4, 4, DOWN), aI)
244244
245245
246246 func aS (aT,aU) = {
247247 let aV = aQ(aU)
248248 [aV, (aL * (aV - aT))]
249249 }
250250
251251
252252 let aW = 1000000
253253
254254 let aX = 100000000
255255
256256 let aY = 100000000000000
257257
258258 let aZ = 200000
259259
260260 let ba = 100000
261261
262262 let bb = 400000
263263
264264 let bc = 31557600000
265265
266266 let bd = 86400000
267267
268268 let be = 50000
269269
270270 let bf = take(drop(this.bytes, 1), 1)
271271
272272 let bg = {
273273 let h = bf
274274 if ((base58'2W' == h))
275275 then 1208630000
276276 else if ((base58'2T' == h))
277277 then 0
278278 else throw("Unknown chain")
279279 }
280280
281281 let bh = "teamAddr"
282282
283283 let bi = "lastClaimedTime_team"
284284
285285 let bj = "teamAmountLeft"
286286
287287 let bk = "lastClaimedTime_activities"
288288
289289 let bl = "activitiesAmountLeft"
290290
291291 let bm = "stakersAmountLeft"
292292
293293 func bn (P) = ("lastClaimedTimeUserOld_" + P)
294294
295295
296296 func bo (P) = ("lastArbTimeUser_" + P)
297297
298298
299299 func bp (P) = ("lastWlgLimitUser_" + P)
300300
301301
302302 func bq (br) = fraction(aY, (bb * (br + 1)), (6 * aW))
303303
304304
305305 let bs = "wlg_issueTime"
306306
307307 let bt = "wlg_issuedAmount"
308308
309309 let bu = "zbill_issuedAmount"
310310
311311 func bv (P) = ("acresStakedAmountByUser_" + P)
312312
313313
314314 let bw = "acresStakedAmountTotal"
315315
316316 func bx (P) = ("wlgStakedAmountByUser_" + P)
317317
318318
319319 let by = "wlgStakedAmountTotal"
320320
321321 func bz (P) = ("wlgStakedTimeByUser_" + P)
322322
323323
324324 let bA = 0
325325
326326 let bB = 1
327327
328328 let bC = 2
329329
330330 let bD = 3
331331
332332 let bE = 4
333333
334334 let bF = 5
335335
336336 let bG = 6
337337
338338 func bH (bI,H,I) = {
339339 let bJ = split(valueOrElse(getString(H, "resTypesProportions"), "0_0_0_0_0_0"), "_")
340340 func bK (bL,bM) = (bL + parseIntValue(bM))
341341
342342 let bN = {
343343 let bO = bJ
344344 let bP = size(bO)
345345 let bQ = 0
346346 func bR (bS,bT) = if ((bT >= bP))
347347 then bS
348348 else bK(bS, bO[bT])
349349
350350 func bU (bS,bT) = if ((bT >= bP))
351351 then bS
352352 else throw("List size exceeds 6")
353353
354354 bU(bR(bR(bR(bR(bR(bR(bQ, 0), 1), 2), 3), 4), 5), 6)
355355 }
356356 let bV = valueOrElse(getInteger(H, ("stakedPiecesByOwner_" + bI)), 0)
357357 let bW = valueOrElse(getInteger(I, bw), 0)
358358 let bX = valueOrElse(getInteger(I, bv(bI)), 0)
359359 [bN, bV, bW, bX]
360360 }
361361
362362
363363 let bY = 0
364364
365365 let bZ = 1
366366
367367 let ca = 2
368368
369369 let cb = 3
370370
371371 let cc = 1733346000000
372372
373373 func cd (ce,cf,cg,ch,ci) = {
374374 let cj = valueOrErrorMessage(getInteger(cf[bD], bt), "WLGOLD is not issued yet")
375375 let ck = assetBalance(cf[bC], cg)
376376 let cl = assetBalance(cf[bA], cg)
377377 let cm = (assetBalance(cf[bD], cg) - ch)
378378 let cn = assetBalance(cf[bE], cg)
379379 let co = cf[bF]
380380 let cp = (assetBalance(co, cg) + valueOrElse(getInteger(co, bu), 0))
381381 let cq = ((ck + cm) + cp)
382382 let cr = valueOrErrorMessage(getBinary(cf[bD], "wlg_assetId"), "Not initialized yet")
383383 let cs = lastBlock.timestamp
384384 let ct = valueOrErrorMessage(getInteger(cf[bD], bs), "Not initialized")
385385 let cu = assetBalance(cf[bB], cr)
386386 let cv = fraction(aY, aZ, aW)
387387 let cw = valueOrElse(getInteger(cf[bD], bj), cv)
388388 let cx = valueOrElse(getInteger(cf[bD], bi), ct)
389389 let cy = addressFromStringValue(value(getString(cf[bD], bh)))
390390 let cz = min([fraction(cv, (cs - cx), (3 * bc)), cw])
391391 let cA = assetBalance(cy, cr)
392392 let cB = fraction(aY, ba, aW)
393393 let cC = valueOrElse(getInteger(cf[bD], bl), cB)
394394 let cD = valueOrElse(getInteger(cf[bD], bk), ct)
395395 let cE = min([fraction(cB, (cs - cD), (3 * bc)), cC])
396396 let cF = assetBalance(cf[bA], cr)
397397 let cG = valueOrElse(getInteger(cf[bD], bn(ce)), ct)
398398 let cH = ((cG - ct) / bc)
399399 let cI = min([min([cs, (ct + (3 * bc))]), cc])
400400 let cJ = min([((cs - ct) / bc), 2])
401401 let cK = bH(ce, cf[bB], cf[bG])
402402 let cL = bq(cJ)
403403 let cM = if ((cH == cJ))
404404 then {
405405 let cN = fraction(cL, (cI - cG), bc)
406406 let cO = fraction(cN, ci, aW)
407407 let cP = (cG + fraction((cI - cG), ci, aW))
408408 $Tuple3(cO, cN, cP)
409409 }
410410 else if ((cH == (cJ - 1)))
411411 then {
412412 let cQ = fraction(bq((cJ - 1)), ((ct + (bc * cJ)) - cG), bc)
413413 let cN = fraction(cL, (cI - (ct + (bc * cJ))), bc)
414414 let cR = (cQ + cN)
415415 let cO = fraction(cR, ci, aW)
416416 let cP = if ((cQ >= cO))
417417 then (cG + fraction(bc, cO, bq((cJ - 1))))
418418 else ((ct + (bc * cJ)) + fraction(bc, (cO - cQ), cL))
419419 $Tuple3(cO, cR, cP)
420420 }
421421 else {
422422 let cS = fraction(bq((cJ - 2)), ((ct + (bc * (cJ - 1))) - cG), bc)
423423 let cQ = bq((cJ - 1))
424424 let cN = fraction(cL, (cI - (ct + (bc * cJ))), bc)
425425 let cR = ((cS + cQ) + cN)
426426 let cO = fraction(cR, ci, aW)
427427 let cP = if ((cS >= cO))
428428 then (cG + fraction(bc, cO, bq((cJ - 2))))
429429 else if (((cS + cQ) >= cO))
430430 then ((ct + (bc * (cJ - 1))) + fraction(bc, (cO - cS), bq((cJ - 1))))
431431 else ((ct + (bc * cJ)) + fraction(bc, ((cO - cS) - cQ), cL))
432432 $Tuple3(cO, cR, cP)
433433 }
434434 let cT = cM._1
435435 let cU = cM._2
436436 let cV = cM._3
437437 let cW = fraction(fraction(cL, bd, bc), 25, cK[bY])
438438 let cX = valueOrElse(getInteger(cf[bD], bm), 0)
439439 let cY = fraction(cT, ((cK[bZ] * aX) + cK[cb]), ((cK[bY] * aX) + cK[ca]))
440440 let cZ = fraction(cY, be, aW)
441441 let da = (cY - cZ)
442442 let db = fraction(cU, ((cK[bZ] * aX) + cK[cb]), ((cK[bY] * aX) + cK[ca]))
443443 [cj, fraction((cq - bg), aX, cj), cq, ck, cl, cm, cn, ct, cx, cv, cw, cz, cA, cB, cC, cE, cF, cJ, cX, cL, cG, da, cW, cp, db, cV, cu]
444444 }
445445
446446
447447 let dc = 1000000
448448
449449 let dd = 100000000
450450
451451 let de = 200000
452452
453453 let df = 100000
454454
455455 let dg = 400000
456456
457457 let dh = 31557600000
458458
459459 let di = 86400000
460460
461461 let dj = 1000000000
462462
463463 let dk = 800000
464464
465465 let dl = 100000
466466
467467 let dm = 100000
468468
469469 let dn = 1731279600000
470470
471471 let do = "marketingAddr"
472472
473473 let dp = "teamAddr"
474474
475475 let dq = "lastClaimedTime_team"
476476
477477 let dr = "teamAmountLeft"
478478
479479 let ds = "lastClaimedTime_activities"
480480
481481 let dt = "activitiesAmountLeft"
482482
483483 let du = "stakersAmountLeft"
484484
485485 func dv (P) = ("lastClaimedTimeUser_" + P)
486486
487487
488488 func dw (cj,br) = fraction(cj, (dg * (br + 1)), (6 * dc))
489489
490490
491491 let dx = "wlg_issue10Time"
492492
493493 let dy = "wlg_issueTime"
494494
495495 let dz = "wlg_issuedAmount"
496496
497497 let dA = "zbill_issuedAmount"
498498
499499 func dB (P) = ("acresStakedAmountByUser_" + P)
500500
501501
502502 let dC = "acresStakedAmountTotal"
503503
504504 let dD = "totalFarmingPower"
505505
506506 let dE = 0
507507
508508 let dF = 1
509509
510510 let dG = 2
511511
512512 let dH = 3
513513
514514 let dI = 4
515515
516516 let dJ = 5
517517
518518 let dK = 100000000
519519
520520 let dL = "nftTotalIssued"
521521
522522 let dM = "nftTotalBurned"
523523
524524 let dN = "WlNftTotalStaked"
525525
526526 func dO (P) = ("userWlNftNumber_" + P)
527527
528528
529529 func dP (P) = ("userFullBonus_" + P)
530530
531531
532532 let dQ = [0, 10, 20, 40, 80, 150, 250, 400, 700, 1000]
533533
534534 func dR (dS) = {
535535 let dT = ((dS + 99999999) / dd)
536536 func dU (bL,bM) = if ((bM >= dT))
537537 then bL
538538 else (bL + 1)
539539
540540 let bO = dQ
541541 let bP = size(bO)
542542 let bQ = 0
543543 func bR (bS,bT) = if ((bT >= bP))
544544 then bS
545545 else dU(bS, bO[bT])
546546
547547 func bU (bS,bT) = if ((bT >= bP))
548548 then bS
549549 else throw("List size exceeds 10")
550550
551551 bU(bR(bR(bR(bR(bR(bR(bR(bR(bR(bR(bQ, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
552552 }
553553
554554
555555 func dV (dS) = ((dS * 20) * (dR(dS) + 4))
556556
557557
558558 func dW (dS,dX) = {
559559 let dY = dV(dS)
560560 $Tuple2(fraction(dY, (dc + dX), dc), dY)
561561 }
562562
563563
564564 func dZ (bI,K) = {
565565 let ea = valueOrElse(getInteger(K, dD), 0)
566566 let bX = valueOrElse(getInteger(K, dB(bI)), 0)
567567 let eb = valueOrElse(getInteger(K, dP(bI)), 0)
568568 let cM = dW(bX, eb)
569569 let ec = cM._1
570570 let ed = cM._2
571571 [ea, ec, ed, eb]
572572 }
573573
574574
575575 let ee = 0
576576
577577 let ef = 1
578578
579579 func eg (ce,cf,cg,ch) = {
580580 let cj = valueOrErrorMessage(getInteger(cf[dG], dz), "WLGOLD is not issued yet")
581581 let cl = assetBalance(cf[dE], cg)
582582 let cm = (assetBalance(cf[dG], cg) - ch)
583583 let cn = assetBalance(cf[dH], cg)
584584 let eh = assetBalance(cf[dF], cg)
585585 let co = cf[dI]
586586 let cp = (assetBalance(co, cg) + valueOrElse(getInteger(co, dA), 0))
587587 let cq = ((eh + cm) + cp)
588588 let cr = valueOrErrorMessage(getBinary(cf[dG], "wlg_assetId"), "Not initialized yet")
589589 let cs = lastBlock.timestamp
590590 let ct = valueOrErrorMessage(getInteger(cf[dG], dy), "Not initialized")
591591 let ei = assetBalance(cf[dG], cr)
592592 let cv = fraction(cj, de, dc)
593593 let cw = valueOrElse(getInteger(cf[dG], dr), cv)
594594 let cx = valueOrElse(getInteger(cf[dG], dq), ct)
595595 let cy = addressFromStringValue(value(getString(cf[dG], dp)))
596596 let cz = min([fraction(cv, (cs - cx), (3 * dh)), cw])
597597 let cA = assetBalance(cy, cr)
598598 let cB = fraction(cj, df, dc)
599599 let cC = valueOrElse(getInteger(cf[dG], dt), cB)
600600 let cD = valueOrElse(getInteger(cf[dG], ds), ct)
601601 let cE = min([fraction(cB, (cs - cD), (3 * dh)), cC])
602602 let cF = assetBalance(cf[dE], cr)
603603 let cG = valueOrElse(getInteger(cf[dG], dv(ce)), ct)
604604 let cH = ((cG - ct) / dh)
605605 let cI = min([cs, (ct + (3 * dh))])
606606 let cJ = min([((cs - ct) / dh), 2])
607607 let cK = dZ(ce, cf[dF])
608608 let cL = dw(cj, cJ)
609609 let ej = (ct + (dh * cJ))
610610 let ek = (ct + (dh * (cJ - 1)))
611611 let cN = fraction(cL, (cI - cG), dh)
612612 let cU = if ((cH == cJ))
613613 then cN
614614 else if ((cH == (cJ - 1)))
615615 then {
616616 let cQ = fraction(dw(cj, (cJ - 1)), (ej - cG), dh)
617617 (cQ + cN)
618618 }
619619 else {
620620 let cS = fraction(dw(cj, (cJ - 2)), (ek - cG), dh)
621621 let cQ = dw(cj, (cJ - 1))
622622 ((cS + cQ) + cN)
623623 }
624624 let cX = valueOrElse(getInteger(cf[dG], du), 0)
625625 let cT = if ((cK[ee] != 0))
626626 then fraction(cU, cK[ef], cK[ee])
627627 else 0
628628 let el = valueOrElse(getInteger(cf[dG], dx), dn)
629629 let em = fraction(dj, max([(cs - el), 0]), di)
630630 let en = fraction(em, dl, dc)
631631 let eo = fraction(em, dm, dc)
632632 let ep = max([(cs - max([dn, cG])), 0])
633633 let eq = if ((cK[ee] != 0))
634634 then fraction(fraction(fraction(dj, ep, di), cK[ef], cK[ee]), dk, dc)
635635 else 0
636636 let er = max([dn, cs])
637637 let es = valueOrElse(getInteger(cf[dF], dC), 0)
638638 let et = valueOrElse(getInteger(cf[dF], dL), 0)
639639 let eu = valueOrElse(getInteger(cf[dF], dM), 0)
640640 let ev = valueOrElse(getInteger(cf[dF], dN), 0)
641641 let ew = valueOrElse(getInteger(cf[dF], dO(valueOrElse(ce, ""))), 0)
642642 [cj, ei, fraction(cq, dd, cj), cq, cl, eh, cm, cn, ct, cx, cv, cw, cz, cA, cB, cC, cE, cF, cJ, cX, cL, cG, cp, cT, cI, em, en, eo, eq, er, cK[ee], es, et, eu, ev, ew]
643643 }
644644
645645
646646 let ex = "profitAddr"
647647
648648 let ey = "stakersAmountPaidTotal"
649649
650650 func ez (P) = ("stakersAmountPaidUser_" + P)
651651
652652
653653 func eA () = au(reentrantInvoke(K, "saveLastTx", nil, nil))
654654
655655
656656 func eB (P) = {
657657 let eC = valueOrElse(getInteger(bo(P)), 0)
658658 let eD = valueOrElse(getInteger(K, bv(P)), 0)
659659 let eE = valueOrElse(getInteger(bp(P)), eD)
660660 let eF = (eE + fraction(eD, (lastBlock.timestamp - eC), e))
661661 min([eF, eD])
662662 }
663663
664664
665665 let eG = 10
666666
667667 let eH = 11
668668
669669 let eI = 14
670670
671671 let eJ = 15
672672
673673 let eK = 18
674674
675675 let eL = 21
676676
677677 let eM = 24
678678
679679 let eN = 25
680680
681681 func eO (P) = {
682682 let eP = addressFromStringValue(P)
683683 let eQ = addressFromStringValue(n)
684684 let eR = cd(P, [y, H, eQ, L, M, N, I], k, 0, b)
685685 let cs = lastBlock.timestamp
686686 let cw = eR[eG]
687687 let eS = eR[eH]
688688 let cC = eR[eI]
689689 let eT = eR[eJ]
690690 let cT = eR[eL]
691691 let eU = ez(P)
692692 let eV = eR[eM]
693693 let eW = eR[eN]
694694 $Tuple2([ScriptTransfer(addressFromStringValue(value(getString(bh))), eS, R), ScriptTransfer(y, eT, R), IntegerEntry(eU, (valueOrElse(getInteger(eU), 0) + cT)), IntegerEntry(ey, (valueOrElse(getInteger(ey), 0) + eV)), IntegerEntry(bm, (eR[eK] - eV)), IntegerEntry(bj, (cw - eS)), IntegerEntry(bi, cs), IntegerEntry(bl, (cC - eT)), IntegerEntry(bk, cs), IntegerEntry(bn(P), eW)], cT)
695695 }
696696
697697
698698 func eX (P) = {
699699 let eR = eg(P, [J, K, L, M, N], k, 0)
700700 let eY = dv(P)
701701 let cG = valueOrElse(getInteger(eY), 0)
702702 let eW = eR[ao]
703703 if ((cG == eW))
704704 then $Tuple2(nil, 0)
705705 else {
706706 let cs = lastBlock.timestamp
707707 let ct = eR[ah]
708708 let cw = eR[ai]
709709 let eS = (eR[aj] + eR[ar])
710710 let eZ = if ((eS > 0))
711711 then [ScriptTransfer(addressFromStringValue(value(getString(bh))), eS, R)]
712712 else nil
713713 let cC = eR[ak]
714714 let eT = eR[al]
715715 let fa = if ((eT > 0))
716716 then [ScriptTransfer(y, eT, R)]
717717 else nil
718718 let fb = eR[aq]
719719 let fc = if ((fb > 0))
720720 then [ScriptTransfer(addressFromStringValue(value(getString(do))), fb, R)]
721721 else nil
722722 let cT = eR[an]
723723 let eU = ez(P)
724724 let eV = (cT + eR[as])
725725 let fd = eR[ap]
726726 $Tuple2(((([Reissue(R, fd, true), IntegerEntry(bt, (eR[ae] + fd)), IntegerEntry(dx, eR[at]), IntegerEntry(eU, (valueOrElse(getInteger(eU), 0) + cT)), IntegerEntry(ey, (valueOrElse(getInteger(ey), 0) + cT)), IntegerEntry(bm, (eR[am] - cT)), IntegerEntry(bj, ((cw - eS) + eR[ar])), IntegerEntry(bi, cs), IntegerEntry(bl, (cC - eT)), IntegerEntry(bk, cs), IntegerEntry(eY, eW)] ++ eZ) ++ fa) ++ fc), eV)
727727 }
728728 }
729729
730730
731731 func fe (P,ff) = {
732732 let cs = lastBlock.timestamp
733733 let fg = bz(P)
734734 let fh = bx(P)
735735 let eC = valueOrElse(getInteger(fg), 0)
736736 let fi = valueOrElse(getInteger(fh), 0)
737737 let fj = valueOrElse(getInteger(by), 0)
738738 let aR = fraction(fraction(aP, fi, aM), (eC - cs), bd)
739739 $Tuple3([IntegerEntry(fg, cs), IntegerEntry(fh, (fi + ff)), IntegerEntry(by, (fj + ff))], aR, fi)
740740 }
741741
742742
743743 func fk (P) = {
744744 let U = (height / i)
745745 let fl = (U - 1)
746746 let fm = valueOrElse(getInteger(X(fl)), dJ)
747747 let fn = valueOrElse(getInteger(Y(fl)), 0)
748748 let fo = valueOrElse(getInteger(T(P, fl)), 0)
749749 if ((0 >= fo))
750750 then $Tuple2(nil, unit)
751751 else {
752752 let fp = valueOrElse(getInteger(V(fl)), 0)
753753 if ((0 >= fp))
754754 then $Tuple2([DeleteEntry(T(P, fl))], unit)
755755 else {
756756 let aG = value(value(blockInfoByHeight((U * i))).vrf)
757757 let aF = fromBase58String(split(valueOrElse(getString(K, O(P)), "42_DEFAULT"), "_")[1])
758758 let fq = aD(fp, aF, aG)
759759 if (((fo * fm) > fq))
760760 then {
761761 let fr = invoke(K, "issuePickC1", [P], nil)
762762 let fs = getString(Z(fl))
763763 let ft = if (isDefined(fs))
764764 then ((value(fs) + "_") + P)
765765 else P
766766 $Tuple2([IntegerEntry(Y(fl), (fn + 1)), DeleteEntry(T(P, fl)), StringEntry(Z(fl), ft)], fr)
767767 }
768768 else {
769769 let fu = (aD(9, (base58'29' + aF), aG) + 1)
770770 let fv = fraction(fo, fu, 10)
771771 let fw = T(P, U)
772772 let fx = valueOrElse(getInteger(fw), 0)
773773 $Tuple2(((if ((fv == 0))
774774 then nil
775775 else {
776776 let fy = [IntegerEntry(V(U), (valueOrElse(getInteger(V(U)), 0) + fv)), IntegerEntry(fw, (fx + fv))]
777777 if ((fx > 0))
778778 then fy
779779 else (fy :+ IntegerEntry(W(U), (valueOrElse(getInteger(W(U)), 0) + 1)))
780780 }) :+ DeleteEntry(T(P, fl))), fv)
781781 }
782782 }
783783 }
784784 }
785785
786786
787787 func fz (P,fA) = {
788788 let U = (height / i)
789789 let fw = T(P, U)
790790 let fB = split(fA, "_")
791791 let fC = valueOrElse(getInteger(V(U)), 0)
792792 let fx = valueOrElse(getInteger(fw), 0)
793793 let fD = if ((aa(parseIntValue(fB[0])) == parseIntValue(fB[1])))
794794 then 1
795795 else 0
796796 let fE = valueOrElse(getInteger(W(U)), 0)
797797 let fF = if (if ((fx == 0))
798798 then (fD == 1)
799799 else false)
800800 then [IntegerEntry(W(U), (fE + 1))]
801801 else nil
802802 $Tuple2(if ((fD == 0))
803803 then nil
804804 else ((fF :+ IntegerEntry(fw, (fx + fD))) :+ IntegerEntry(V(U), (fC + fD))), fD)
805805 }
806806
807807
808808 @Callable(fG)
809809 func constructorV1 (fH,fI,cy,fJ) = if ((fG.caller != this))
810810 then throw("Permission denied")
811811 else if (isDefined(getBinary(Q)))
812812 then throw("Already initialized")
813813 else {
814814 let cj = aY
815815 let fK = Issue("WLGOLD", "WavesLands Gold investment token", cj, 8, true, unit, 0)
816816 let fL = calculateAssetId(fK)
817817 [fK, IntegerEntry(bs, lastBlock.timestamp), IntegerEntry(bt, cj), IntegerEntry(ey, 0), IntegerEntry(bm, fraction(aY, bb, b)), BinaryEntry(Q, fL), StringEntry(x(), fH), StringEntry(do, fI), StringEntry(bh, cy), StringEntry(ex, fJ)]
818818 }
819819
820820
821821
822822 @Callable(fG)
823823 func constructorV2 (fM) = if ((fG.caller != this))
824824 then throw("Permission denied")
825825 else [StringEntry(w(), fM)]
826826
827827
828828
829829 @Callable(fG)
830830 func buyWlg (fN) = {
831831 let fO = eA()
832832 if ((fO == fO))
833833 then if ((size(fG.payments) != 1))
834834 then throw("exactly 1 payment must be attached")
835835 else {
836836 let fP = fG.payments[0]
837837 let fQ = fP.amount
838838 if (if (!(isDefined(fP.assetId)))
839839 then true
840840 else (value(fP.assetId) != k))
841841 then throw("USDT payments only!")
842842 else {
843843 let eP = fG.caller
844844 let P = toString(eP)
845845 if ((d > fQ))
846846 then throw((("You can trade min " + ax(d, 6)) + " USDT"))
847847 else {
848848 let eR = eg("", [J, K, L, M, N], k, fQ)
849849 let fR = eR[ae]
850850 let fS = eR[ag]
851851 let fT = fraction(fS, 6, 5, CEILING)
852852 let fU = fraction(fQ, c, fT)
853853 let fV = eB(P)
854854 if ((fU > fV))
855855 then throw((("You can get max " + ax(fV, 8)) + " WLGOLD at the moment"))
856856 else if ((fN > fU))
857857 then throw("Price changed during operation, please try again")
858858 else {
859859 let fW = (fQ / 6)
860860 $Tuple2([Reissue(R, fU, true), IntegerEntry(bt, (fR + fU)), IntegerEntry(bo(P), lastBlock.timestamp), IntegerEntry(bp(P), (fV - fU)), ScriptTransfer(addressFromStringValue(value(getString(ex))), fW, k), ScriptTransfer(eP, fU, R)], fO)
861861 }
862862 }
863863 }
864864 }
865865 else throw("Strict value is not equal to itself.")
866866 }
867867
868868
869869
870870 @Callable(fG)
871871 func buyWlgREADONLY (p,fQ) = {
872872 let eR = eg("", [J, K, L, M, N], k, fQ)
873873 let fS = eR[ag]
874874 let fT = fraction(fS, 6, 5, CEILING)
875875 let fU = fraction(fQ, c, fT)
876876 let fV = eB(p)
877877 let fX = fraction(fV, fT, c)
878878 let fW = (fQ / 6)
879879 $Tuple2(nil, [fU, d, fX, fW])
880880 }
881881
882882
883883
884884 @Callable(fG)
885885 func sellWlg (fY) = {
886886 let fO = eA()
887887 if ((fO == fO))
888888 then if ((size(fG.payments) != 1))
889889 then throw("exactly 1 payment must be attached")
890890 else {
891891 let fP = fG.payments[0]
892892 let fZ = fP.amount
893893 let eP = fG.caller
894894 let P = toString(eP)
895895 let fV = eB(P)
896896 if ((fZ > fV))
897897 then throw((("You can spend max " + ax(fV, 8)) + " WLGOLD at the moment"))
898898 else if (if (!(isDefined(fP.assetId)))
899899 then true
900900 else (value(fP.assetId) != R))
901901 then throw("WLGOLD payments only!")
902902 else {
903903 let eR = eg("", [J, K, L, M, N], k, 0)
904904 let fR = eR[ae]
905905 let ga = (eR[ag] / 2)
906906 let fQ = fraction(fZ, ga, c)
907907 if ((d > fQ))
908908 then throw((("You can trade min " + ax(d, 6)) + " USDT"))
909909 else if ((fY > fQ))
910910 then throw("Price changed during operation, please try again")
911911 else {
912912 let fW = (fQ / 5)
913913 $Tuple2([Burn(R, fZ), IntegerEntry(bt, (fR - fZ)), IntegerEntry(bo(P), lastBlock.timestamp), IntegerEntry(bp(P), (fV - fZ)), ScriptTransfer(addressFromStringValue(value(getString(ex))), fW, k), ScriptTransfer(eP, fQ, k)], fO)
914914 }
915915 }
916916 }
917917 else throw("Strict value is not equal to itself.")
918918 }
919919
920920
921921
922922 @Callable(fG)
923923 func sellWlgREADONLY (p,fZ) = {
924924 let fV = eB(p)
925925 let eR = eg("", [J, K, L, M, N], k, 0)
926926 let ga = (eR[ag] / 2)
927927 let fQ = fraction(fZ, ga, c)
928928 let gb = fraction(d, c, ga)
929929 let fW = (fQ / 5)
930930 $Tuple2(nil, [fQ, gb, fV, fW])
931931 }
932932
933933
934934
935935 @Callable(fG)
936936 func claim () = {
937937 let fO = eA()
938938 if ((fO == fO))
939939 then if ((size(fG.payments) != 0))
940940 then throw("No payments required")
941941 else {
942942 let gc = eX(toString(fG.caller))
943943 let gd = gc._1
944944 let ge = gc._2
945945 $Tuple2((gd :+ ScriptTransfer(fG.caller, ge, R)), fO)
946946 }
947947 else throw("Strict value is not equal to itself.")
948948 }
949949
950950
951951
952952 @Callable(fG)
953-func onStakeUnstakeLand (P,gf) = if (if (if ((fG.caller != H))
953+func onStakeUnstakeLand (P) = if (if (if ((fG.caller != H))
954954 then (fG.caller != I)
955955 else false)
956956 then (fG.caller != K)
957957 else false)
958958 then throw("Permission denied")
959959 else {
960- let gg = if (gf)
961- then eX(P)
962- else eO(P)
963- let gd = gg._1
964- let ge = gg._2
965- $Tuple2(if ((ge > 0))
966- then (gd :+ ScriptTransfer(addressFromStringValue(P), ge, R))
967- else if (gf)
968- then gd
969- else nil, ge)
960+ let gf = eX(P)
961+ if ((gf == gf))
962+ then {
963+ let ge = gf._2
964+ let gd = gf._1
965+ $Tuple2(if ((ge > 0))
966+ then (gd :+ ScriptTransfer(addressFromStringValue(P), ge, R))
967+ else gd, ge)
968+ }
969+ else throw("Strict value is not equal to itself.")
970+ }
971+
972+
973+
974+@Callable(fG)
975+func onStakeUnstakeLandOld (P) = if (if (if ((fG.caller != H))
976+ then (fG.caller != I)
977+ else false)
978+ then (fG.caller != K)
979+ else false)
980+ then throw("Permission denied")
981+ else {
982+ let gg = eO(P)
983+ if ((gg == gg))
984+ then {
985+ let ge = gg._2
986+ let gd = gg._1
987+ $Tuple2(if ((ge > 0))
988+ then (gd :+ ScriptTransfer(addressFromStringValue(P), ge, R))
989+ else nil, ge)
990+ }
991+ else throw("Strict value is not equal to itself.")
970992 }
971993
972994
973995
974996 @Callable(fG)
975997 func burnWlgold (fZ) = if ((fG.caller != K))
976998 then throw("Permission denied")
977999 else {
9781000 let eR = eg("", [J, K, L, M, N], k, 0)
9791001 if ((fZ > eR[af]))
9801002 then throw(((("Only " + ax(eR[af], 8)) + " WLGOLD left on contract, can't burn ") + ax(fZ, 8)))
9811003 else {
9821004 let gh = (eR[ae] - fZ)
9831005 $Tuple2([Burn(R, fZ), IntegerEntry(bt, gh)], gh)
9841006 }
9851007 }
9861008
9871009
9881010
9891011 @Callable(fG)
9901012 func betForTicket (gi) = {
9911013 let fO = eA()
9921014 if ((fO == fO))
9931015 then if ((size(fG.payments) != 0))
9941016 then throw("No payments required")
9951017 else {
9961018 let P = toString(fG.caller)
9971019 let fl = ((height / i) - 1)
9981020 let fo = valueOrElse(getInteger(T(P, fl)), 0)
9991021 let fp = valueOrElse(getInteger(V(fl)), 0)
10001022 if (if ((fo > 0))
10011023 then (fp > 0)
10021024 else false)
10031025 then throw("Please open the chest first")
10041026 else if (((gi / 4) != 0))
10051027 then throw("Invalid bet: should be 0..3")
10061028 else {
10071029 let gj = (height % g)
10081030 if ((gj > (g - 3)))
10091031 then throw((("Cannot bet: the day is almost ended, please wait " + toString((g - gj))) + " blocks"))
10101032 else {
10111033 let gk = valueOrElse(getInteger(K, dB(P)), 0)
10121034 if ((dK > gk))
10131035 then throw((("You need to stake at least " + ax(dK, 8)) + " ACRES to bet"))
10141036 else {
10151037 let gl = ((height / g) + 1)
10161038 let gm = S(P)
10171039 let gn = getString(gm)
10181040 let go = StringEntry(gm, ((toString(gl) + "_") + toString(gi)))
10191041 if (isDefined(gn))
10201042 then {
10211043 let gp = value(gn)
10221044 if ((split(gp, "_")[0] == toString(gl)))
10231045 then throw("You already bet for tomorrow")
10241046 else {
10251047 let gq = fz(P, gp)
10261048 $Tuple2((gq._1 :+ go), gq._2)
10271049 }
10281050 }
10291051 else $Tuple2([go], 0)
10301052 }
10311053 }
10321054 }
10331055 }
10341056 else throw("Strict value is not equal to itself.")
10351057 }
10361058
10371059
10381060
10391061 @Callable(fG)
10401062 func takeWlgXp (P) = if ((fG.caller != H))
10411063 then throw("Permission denied")
10421064 else {
10431065 let gr = fe(P, 0)
10441066 let gd = gr._1
10451067 let aR = gr._2
10461068 $Tuple2(gd, aR)
10471069 }
10481070
10491071
10501072
10511073 @Callable(fG)
10521074 func checkWlgXpREADONLY (P) = {
10531075 let gs = fe(P, 0)
10541076 let gt = gs._1
10551077 let gu = gs._2
10561078 let aU = (valueOrElse(getInteger(H, aN(P)), 0) + gu)
10571079 let gv = aS(valueOrElse(getInteger(H, aO(P)), 0), aU)
10581080 $Tuple2(nil, (gv :+ aU))
10591081 }
10601082
10611083
10621084
10631085 @Callable(fG)
10641086 func setNumPrizes (fm) = if ((fG.caller != this))
10651087 then throw("Permission denied")
10661088 else {
10671089 let U = (height / i)
10681090 $Tuple2([IntegerEntry(X(U), fm)], fm)
10691091 }
10701092
10711093
10721094
10731095 @Callable(fG)
10741096 func openChest () = {
10751097 let fO = eA()
10761098 if ((fO == fO))
10771099 then if ((size(fG.payments) != 0))
10781100 then throw("No payments required")
10791101 else {
10801102 let fl = ((height / i) - 1)
10811103 let P = toString(fG.caller)
10821104 let fo = valueOrElse(getInteger(T(P, fl)), 0)
10831105 if ((0 >= fo))
10841106 then throw("No gems to open the chest")
10851107 else fk(P)
10861108 }
10871109 else throw("Strict value is not equal to itself.")
10881110 }
10891111
10901112
10911113
10921114 @Callable(fG)
10931115 func addGemsFor (P,fD) = if ((fG.caller != this))
10941116 then throw("Permission denied")
10951117 else {
10961118 let U = (height / i)
10971119 let fw = T(P, U)
10981120 let fC = valueOrElse(getInteger(V(U)), 0)
10991121 let fx = valueOrElse(getInteger(fw), 0)
11001122 let fE = valueOrElse(getInteger(W(U)), 0)
11011123 let fF = if (if ((fx == 0))
11021124 then (fD == 1)
11031125 else false)
11041126 then [IntegerEntry(W(U), (fE + 1))]
11051127 else nil
11061128 $Tuple2(((fF :+ IntegerEntry(fw, (fx + fD))) :+ IntegerEntry(V(U), (fC + fD))), fD)
11071129 }
11081130
11091131

github/deemru/w8io/169f3d6 
147.36 ms