tx · 3cVi2etBmSmMFj4SvvciXXp3VRUe62MNR9VNyQFwTXiy

3MqCvcQA6Kk6P8UuyXor7pJ2avQexj3JG4c:  -0.02000000 Waves

2022.11.08 12:12 [2307972] smart account 3MqCvcQA6Kk6P8UuyXor7pJ2avQexj3JG4c > SELF 0.00000000 Waves

{ "type": 13, "id": "3cVi2etBmSmMFj4SvvciXXp3VRUe62MNR9VNyQFwTXiy", "fee": 2000000, "feeAssetId": null, "timestamp": 1667898718770, "version": 2, "chainId": 84, "sender": "3MqCvcQA6Kk6P8UuyXor7pJ2avQexj3JG4c", "senderPublicKey": "CcyAUmSuwb7ek89W18yVbqPiR3n2cf2En1CKGyRWRCfP", "proofs": [ "31ByLUq9jMKsxDtXiUNHHYTemNQJdwmVh9kWJwKygiW5twN7gLxy58nfmJcRqDnSSEK9ri9FJEjfDzPMg8T4xVHr" ], "script": "base64:BgJkCAISBAoCCAgSCAoGCAgICAgIEgkKBwgICAgICAgSAwoBCBIECgIICBIGCgQICAgIEgoKCAgICAEBAQEBEgsKCQgICAgBAQEBARIFCgMICAQSBAoCCAgSBQoDCAgIEgASAwoBCDYAB1ZFUlNJT04CBTEuMC4wAQ5nZXRTdHJpbmdCeUtleQEDa2V5CQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFA2tleQIAAAh1c2VyRGFwcAkBBXZhbHVlAQkApggBCQEOZ2V0U3RyaW5nQnlLZXkBAg9jb25mX3VzZXJzX2RhcHAAC2ZlZVJlY2VpdmVyCQEOZ2V0U3RyaW5nQnlLZXkBAhFjb25mX2ZlZV9yZWNlaXZlcgALc2lnbkFzc2V0SWQJANkEAQkBDmdldFN0cmluZ0J5S2V5AQIYY29uZl9hY2NlcHRlZF9hc3NldF9TSUdOAAVjaHJpcwkBDmdldFN0cmluZ0J5S2V5AQIMY29uZl9hZG1pbl8xAQ9nZXRJbnRlZ2VyQnlLZXkBA2tleQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzBQNrZXkAAAEPZ2V0Qm9vbGVhbkJ5S2V5AQNrZXkJAQt2YWx1ZU9yRWxzZQIJAJsIAgUEdGhpcwUDa2V5BwALZGFwcFJ1bm5pbmcJAQt2YWx1ZU9yRWxzZQIJAJsIAgUIdXNlckRhcHACFGNvbmZfZGFwcF9pc19ydW5uaW5nBgAObWFpbnRlbmFuY2VNU0cJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUIdXNlckRhcHACFGNvbmZfbWFpbnRlbmFuY2VfbXNnAgAADXVzZXJTdXNwZW5kZWQCCVNVU1BFTkRFRAAQdXNlclVucmVnaXN0ZXJlZAIMVU5SRUdJU1RFUkVEAQt2YWxpZGF0ZUNJRAEDY2lkAwkBCGNvbnRhaW5zAgUDY2lkAgEvAwMJAGYCAEwJALECAQUDY2lkCQAAAgkAsQIBCQCRAwIJALUJAgUDY2lkAgEvAAAAOwcJAGYCABAJALECAQkAkQMCCQC1CQIFA2NpZAIBLwABBwcAB3NpZ25DdXQAAgENa2V5VXNlclN0YXR1cwEGY2FsbGVyCQCsAgICDHVzZXJfc3RhdHVzXwUGY2FsbGVyARZrZXlFdmVudE93bmVyQnlFdmVudElkAQdldmVudElkCQCsAgICEGdldF9ldmVudF9vd25lcl8FB2V2ZW50SWQBEWtleUV2ZW50QWRkZWREYXRlAgZjYWxsZXIHZXZlbnRJZAkArAICCQCsAgIJAKwCAgIQZXZlbnRfYWRkZWREYXRlXwUHZXZlbnRJZAIBXwUGY2FsbGVyAQxrZXlFdmVudERhdGUCBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAgtldmVudF9kYXRlXwUHZXZlbnRJZAIBXwUGY2FsbGVyAQxrZXlFdmVudE5hbWUCBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAgtldmVudF9uYW1lXwUHZXZlbnRJZAIBXwUGY2FsbGVyAQxrZXlFdmVudERlc2MCBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAgtldmVudF9kZXNjXwUHZXZlbnRJZAIBXwUGY2FsbGVyARJrZXlFdmVudERpc3BsYXlDaWQCBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAhFldmVudF9kaXNwbGF5Q2lkXwUHZXZlbnRJZAIBXwUGY2FsbGVyAQxrZXlFdmVudFRhZ3MCBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAgtldmVudF90YWdzXwUHZXZlbnRJZAIBXwUGY2FsbGVyAQxrZXlFdmVudEZsYWcCBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAgtldmVudF9mbGFnXwUHZXZlbnRJZAIBXwUGY2FsbGVyAQxrZXlFdmVudE5vdGUCBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAgtldmVudF9ub3RlXwUHZXZlbnRJZAIBXwUGY2FsbGVyAQ9rZXlFdmVudENyYXdsZXICBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAhFldmVudF9jcmF3bGVyQ2lkXwUHZXZlbnRJZAIBXwUGY2FsbGVyARhrZXlFdmVudFRvdGFsVGlja2V0VHlwZXMCBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAhdldmVudF90b3RhbFRpY2tldFR5cGVzXwUHZXZlbnRJZAIBXwUGY2FsbGVyARprZXlFdmVudFRvdGFsVGlja2V0c0lzc3VlZAIGY2FsbGVyB2V2ZW50SWQJAKwCAgkArAICCQCsAgICEmV2ZW50X3RvdGFsSXNzdWVkXwUHZXZlbnRJZAIBXwUGY2FsbGVyARBrZXlFdmVudENhbmNlbGVkAgZjYWxsZXIHZXZlbnRJZAkArAICCQCsAgIJAKwCAgIPZXZlbnRfY2FuY2VsZWRfBQdldmVudElkAgFfBQZjYWxsZXIBFmtleUV2ZW50Q2FuY2VsZWRSZWFzb24CBmNhbGxlcgdldmVudElkCQCsAgIJAKwCAgkArAICAhVldmVudF9jYW5jZWxlZFJlYXNvbl8FB2V2ZW50SWQCAV8FBmNhbGxlcgEVa2V5RXZlbnRTdGFydGluZ1ByaWNlAgZjYWxsZXIHZXZlbnRJZAkArAICCQCsAgIJAKwCAgIUZXZlbnRfc3RhcnRpbmdQcmljZV8FB2V2ZW50SWQCAV8FBmNhbGxlcgENa2V5VGlja2V0TmFtZQMGY2FsbGVyB2V2ZW50SWQIdGlja2V0SWQJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAgx0aWNrZXRfbmFtZV8FB2V2ZW50SWQCAV8FBmNhbGxlcgIBXwUIdGlja2V0SWQBDWtleVRpY2tldERlc2MDBmNhbGxlcgdldmVudElkCHRpY2tldElkCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIMdGlja2V0X2Rlc2NfBQdldmVudElkAgFfBQZjYWxsZXICAV8FCHRpY2tldElkAQ5rZXlUaWNrZXRQcmljZQMGY2FsbGVyB2V2ZW50SWQIdGlja2V0SWQJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg10aWNrZXRfcHJpY2VfBQdldmVudElkAgFfBQZjYWxsZXICAV8FCHRpY2tldElkAQ1rZXlUaWNrZXREYXRlAwZjYWxsZXIHZXZlbnRJZAh0aWNrZXRJZAkArAICCQCsAgIJAKwCAgkArAICCQCsAgICDHRpY2tldF9kYXRlXwUHZXZlbnRJZAIBXwUGY2FsbGVyAgFfBQh0aWNrZXRJZAEZa2V5VGlja2V0UmVzZWxsTGltaXRhdGlvbgMGY2FsbGVyB2V2ZW50SWQIdGlja2V0SWQJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhh0aWNrZXRfcmVzZWxsTGltaXRhdGlvbl8FB2V2ZW50SWQCAV8FBmNhbGxlcgIBXwUIdGlja2V0SWQBFWtleVRpY2tldE1heEF2YWlsYWJsZQMGY2FsbGVyB2V2ZW50SWQIdGlja2V0SWQJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhR0aWNrZXRfbWF4QXZhaWxhYmxlXwUHZXZlbnRJZAIBXwUGY2FsbGVyAgFfBQh0aWNrZXRJZAEPa2V5VGlja2V0T25TYWxlAwZjYWxsZXIHZXZlbnRJZAh0aWNrZXRJZAkArAICCQCsAgIJAKwCAgkArAICCQCsAgICDnRpY2tldF9vblNhbGVfBQdldmVudElkAgFfBQZjYWxsZXICAV8FCHRpY2tldElkARNrZXlUaWNrZXRBbW91bnRVc2VkBAZjYWxsZXIHZXZlbnRJZAh0aWNrZXRJZAVuZnRJZAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhJ0aWNrZXRfYW1vdW50VXNlZF8FB2V2ZW50SWQCAV8FBmNhbGxlcgIBXwUIdGlja2V0SWQCAV8FBW5mdElkARRrZXlUaWNrZXRIaXN0b3J5VXNlZAUGY2FsbGVyB2V2ZW50SWQIdGlja2V0SWQFbmZ0SWQKdXNhZ2VJbmRleAkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgITdGlja2V0X2hpc3RvcnlVc2VkXwUHZXZlbnRJZAIBXwUGY2FsbGVyAgFfBQh0aWNrZXRJZAIBXwUFbmZ0SWQCAV8FCnVzYWdlSW5kZXgBD2tleVRpY2tldE1heFVzZQMGY2FsbGVyB2V2ZW50SWQIdGlja2V0SWQJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAg50aWNrZXRfbWF4VXNlXwUHZXZlbnRJZAIBXwUGY2FsbGVyAgFfBQh0aWNrZXRJZAEUa2V5VGlja2V0VG90YWxJc3N1ZWQDBmNhbGxlcgdldmVudElkCHRpY2tldElkCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgITdGlja2V0X3RvdGFsSXNzdWVkXwUHZXZlbnRJZAIBXwUGY2FsbGVyAgFfBQh0aWNrZXRJZAEQa2V5VGlja2V0Um95YWx0eQMGY2FsbGVyB2V2ZW50SWQIdGlja2V0SWQJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAhF0aWNrZXRfcm95YWx0aWVzXwUHZXZlbnRJZAIBXwUGY2FsbGVyAgFfBQh0aWNrZXRJZAEOdmFsaWRhdGVTdHJpbmcCA3N0cgNtYXgDCQAAAgkAsQIBBQNzdHIAAAkAAgECGEZpZWxkIGNhbm5vdCBiZSBpcyBlbXB0eQMJAGYCCQCxAgEFA3N0cgUDbWF4CQACAQkArAICBQNzdHICDCBpcyB0b28gbG9uZwYBC3ZhbGlkYXRlSW50AQNudW0JAGYCAAAFA251bQEWZ2V0RXZlbnRPd25lckJ5RXZlbnRJZAEHZXZlbnRJZAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQEWa2V5RXZlbnRPd25lckJ5RXZlbnRJZAEFB2V2ZW50SWQCAAEMdmFsaWRhdGVVc2VyAQZjYWxsZXIECnVzZXJTdGF0dXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUIdXNlckRhcHAJAQ1rZXlVc2VyU3RhdHVzAQUGY2FsbGVyBRB1c2VyVW5yZWdpc3RlcmVkAwkAAAIFCnVzZXJTdGF0dXMFEHVzZXJVbnJlZ2lzdGVyZWQCLlJlZ2lzdGVyIHRoaXMgYWNjb3VudCBmaXJzdCB3aXRoICJBY2NvdW50IiB0YWIDCQAAAgUKdXNlclN0YXR1cwUNdXNlclN1c3BlbmRlZAIRQWNjb3VudCBzdXNwZW5kZWQCAAERdmFsaWRhdGVFdmVudERhdGEGBmNhbGxlcgpjaWREaXNwbGF5BG5hbWULZGVzY3JpcHRpb24EdGFncwRkYXRlBAljaGVja1VzZXIJAQx2YWxpZGF0ZVVzZXIBBQZjYWxsZXIDCQECIT0CBQljaGVja1VzZXICAAkAAgEFCWNoZWNrVXNlcgMJAAACCQCxAgEFCmNpZERpc3BsYXkAAAkAAgECG0Rpc3BsYXkgQ0lEIGNhbm5vdCBiZSBlbXB0eQMJAQEhAQkBC3ZhbGlkYXRlQ0lEAQUKY2lkRGlzcGxheQkAAgECEFByb2JsZW0gd2l0aCBDSUQDCQEBIQEJAQ52YWxpZGF0ZVN0cmluZwIFBG5hbWUArAIJAAIBAhIzMDAgQ2hhci4gbWF4IG5hbWUDCQEBIQEJAQ52YWxpZGF0ZVN0cmluZwIFC2Rlc2NyaXB0aW9uALgXCQACAQIaMzAwMCBDaGFyLiBtYXggZGVzY3JpcHRpb24DCQEBIQEJAQ52YWxpZGF0ZVN0cmluZwIFBGRhdGUA6AcJAAIBAhMxMDAwIENoYXIuIG1heCBkYXRlAwkAZgIJAJADAQkAtQkCBQR0YWdzAgEsAAUJAAIBAgs1IHRhZ3MgbWF4LgIAARJ2YWxpZGF0ZVRpY2tldERhdGEIB2V2ZW50SWQGY2FsbGVyBG5hbWULZGVzY3JpcHRpb24FcHJpY2UMbWF4QXZhaWxhYmxlBm1heFVzZRByZXNlbGxMaW1pdGF0aW9uBAljaGVja1VzZXIJAQx2YWxpZGF0ZVVzZXIBBQZjYWxsZXIDCQECIT0CBQljaGVja1VzZXICAAkAAgEFCWNoZWNrVXNlcgMJAQEhAQkBDnZhbGlkYXRlU3RyaW5nAgUEbmFtZQDIAQkAAgECEjEwMCBDaGFyLiBtYXggbmFtZQMJAQEhAQkBDnZhbGlkYXRlU3RyaW5nAgULZGVzY3JpcHRpb24A6AcJAAIBAhoxMDAwIENoYXIuIG1heCBkZXNjcmlwdGlvbgMDAwMJAQt2YWxpZGF0ZUludAEFBXByaWNlBgkBC3ZhbGlkYXRlSW50AQUGbWF4VXNlBgkBC3ZhbGlkYXRlSW50AQUMbWF4QXZhaWxhYmxlBgkBC3ZhbGlkYXRlSW50AQUQcmVzZWxsTGltaXRhdGlvbgkAAgECFFBvc2l0aXZlIGFtb3VudCBvbmx5AwkBASEBCQEOdmFsaWRhdGVTdHJpbmcCBQtkZXNjcmlwdGlvbgDoBwkAAgECGjEwMDAgQ2hhci4gbWF4IGRlc2NyaXB0aW9uAgABDGlkQ2FsbGVyRGF0ZQEBaQMJAQEhAQULZGFwcFJ1bm5pbmcJAAIBBQ5tYWludGVuYW5jZU1TRwkAlQoDCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQJANgEAQgIBQFpBmNhbGxlcgVieXRlcwgFCWxhc3RCbG9jawl0aW1lc3RhbXABCWlzUGF5bWVudAEBaQMJAAACCQCQAwEIBQFpCHBheW1lbnRzAAAJAAIBAhNObyBwYXltZW50IGF0dGFjaGVkBAdwYXltZW50CQEFdmFsdWUBCQCRAwIIBQFpCHBheW1lbnRzAAAEBmFtb3VudAkBBXZhbHVlAQgFB3BheW1lbnQGYW1vdW50CQCUCgIFB3BheW1lbnQFBmFtb3VudAEUdmFsaWRhdGVQcmljZUFzc2V0SWQDAWkMcHJpY2VBc3NldElkDGFydHdvcmtQcmljZQQLJHQwNzAxMzcwNDkJAQlpc1BheW1lbnQBBQFpBAdwYXltZW50CAULJHQwNzAxMzcwNDkCXzEEBmFtb3VudAgFCyR0MDcwMTM3MDQ5Al8yAwkBASEBCQEJaXNEZWZpbmVkAQgFB3BheW1lbnQHYXNzZXRJZAkAAgECFFdyb25nIGFzc2V0IGF0dGFjaGVkBAdhc3NldElkAwMJAGYCCQCxAgEFDHByaWNlQXNzZXRJZAAACQAAAgkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkBQxwcmljZUFzc2V0SWQHCAUHcGF5bWVudAdhc3NldElkCQACAQIUV3JvbmcgYXNzZXQgYXR0YWNoZWQDCQECIT0CBQxhcnR3b3JrUHJpY2UFBmFtb3VudAkAAgECGlBheW1lbnQgYW1vdW50IGRvbid0IG1hdGNoCQCUCgIFBmFtb3VudAUHYXNzZXRJZAEMaXNFdmVudE93bmVyAgdldmVudElkBmNhbGxlcgQKZXZlbnRPd25lcgkBFmdldEV2ZW50T3duZXJCeUV2ZW50SWQBBQdldmVudElkAwkAAAIFCmV2ZW50T3duZXICAAkAAgECD0V2ZW50IG5vdCBmb3VuZAkAAAIFCmV2ZW50T3duZXIFBmNhbGxlcgELdGlja2V0RXhpc3QDBmNhbGxlcgdldmVudElkCHRpY2tldElkBAZ0aWNrZXQJAQ5nZXRTdHJpbmdCeUtleQEJAQ1rZXlUaWNrZXROYW1lAwUGY2FsbGVyBQdldmVudElkBQh0aWNrZXRJZAkBAiE9AgkAsQIBBQZ0aWNrZXQAAAEPZXZlbnRJc0NhbmNlbGVkAgZpc3N1ZXIHZXZlbnRJZAkBD2dldEJvb2xlYW5CeUtleQEJARBrZXlFdmVudENhbmNlbGVkAgUGaXNzdWVyBQdldmVudElkDQZpbnZva2UBB3NldENvbmYCA2tleQN2YWwEBmNhbGxlcgkApQgBCAUGaW52b2tlBmNhbGxlcgMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFBWNocmlzCQDMCAIJAKUIAQUEdGhpcwUDbmlsBQZjYWxsZXIDCQEIY29udGFpbnMCBQNrZXkCBWNvbmZfCQDMCAIJAQtTdHJpbmdFbnRyeQIFA2tleQUDdmFsBQNuaWwJAAIBAiBFbnRyaWVzIHN0YXJ0aW5nIHdpdGggY29uZl8gb25seQkAAgECIllvdSBhcmUgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoaXMBaQEIYWRkRXZlbnQGBG5hbWULZGVzY3JpcHRpb24EdGFncwpjaWREaXNwbGF5B2NyYXdsZXIEZGF0ZQQLJHQwODM3ODg0MjcJAQxpZENhbGxlckRhdGUBBQFpBAdldmVudElkCAULJHQwODM3ODg0MjcCXzEEBmNhbGxlcggFCyR0MDgzNzg4NDI3Al8yBAlhZGRlZERhdGUIBQskdDA4Mzc4ODQyNwJfMwQJY2hlY2tVc2VyCQEMdmFsaWRhdGVVc2VyAQUGY2FsbGVyAwkBAiE9AgUJY2hlY2tVc2VyAgAJAAIBBQljaGVja1VzZXIEDXZhbGlkYXRlRXZlbnQJARF2YWxpZGF0ZUV2ZW50RGF0YQYFBmNhbGxlcgUKY2lkRGlzcGxheQUEbmFtZQULZGVzY3JpcHRpb24FBHRhZ3MFBGRhdGUDCQECIT0CBQ12YWxpZGF0ZUV2ZW50AgAJAAIBAhVTb21ldGhpbmcgd2VudCB3cm9uZyEJAMwIAgkBDEludGVnZXJFbnRyeQIJARFrZXlFdmVudEFkZGVkRGF0ZQIFBmNhbGxlcgUHZXZlbnRJZAUJYWRkZWREYXRlCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQxrZXlFdmVudERhdGUCBQZjYWxsZXIFB2V2ZW50SWQFBGRhdGUJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGtleUV2ZW50TmFtZQIFBmNhbGxlcgUHZXZlbnRJZAUEbmFtZQkAzAgCCQELU3RyaW5nRW50cnkCCQEMa2V5RXZlbnREZXNjAgUGY2FsbGVyBQdldmVudElkBQtkZXNjcmlwdGlvbgkAzAgCCQELU3RyaW5nRW50cnkCCQESa2V5RXZlbnREaXNwbGF5Q2lkAgUGY2FsbGVyBQdldmVudElkBQpjaWREaXNwbGF5CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQxrZXlFdmVudFRhZ3MCBQZjYWxsZXIFB2V2ZW50SWQFBHRhZ3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBD2tleUV2ZW50Q3Jhd2xlcgIFBmNhbGxlcgUHZXZlbnRJZAUHY3Jhd2xlcgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGmtleUV2ZW50VG90YWxUaWNrZXRzSXNzdWVkAgUGY2FsbGVyBQdldmVudElkAAAJAMwIAgkBDEJvb2xlYW5FbnRyeQIJARBrZXlFdmVudENhbmNlbGVkAgUGY2FsbGVyBQdldmVudElkBwkAzAgCCQELU3RyaW5nRW50cnkCCQEWa2V5RXZlbnRPd25lckJ5RXZlbnRJZAEFB2V2ZW50SWQFBmNhbGxlcgUDbmlsAWkBCWVkaXRFdmVudAcHZXZlbnRJZARuYW1lC2Rlc2NyaXB0aW9uBHRhZ3MKY2lkRGlzcGxheQdjcmF3bGVyBGRhdGUDCQEBIQEFC2RhcHBSdW5uaW5nCQACAQUObWFpbnRlbmFuY2VNU0cEBmNhbGxlcgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAljaGVja1VzZXIJAQx2YWxpZGF0ZVVzZXIBBQZjYWxsZXIDCQECIT0CBQljaGVja1VzZXICAAkAAgEFCWNoZWNrVXNlcgQNdmFsaWRhdGVFdmVudAkBEXZhbGlkYXRlRXZlbnREYXRhBgUGY2FsbGVyBQpjaWREaXNwbGF5BQRuYW1lBQtkZXNjcmlwdGlvbgUEdGFncwUEZGF0ZQMJAQIhPQIFDXZhbGlkYXRlRXZlbnQCAAkAAgECFVNvbWV0aGluZyB3ZW50IHdyb25nIQQKZW50cnlFeGlzdAkBDmdldFN0cmluZ0J5S2V5AQkBDGtleUV2ZW50TmFtZQIFBmNhbGxlcgUHZXZlbnRJZAMJAAACBQplbnRyeUV4aXN0AgAJAAIBAg9FbnRyeSBub3QgZm91bmQEBGZsYWcJAQ5nZXRTdHJpbmdCeUtleQEJAQxrZXlFdmVudEZsYWcCBQZjYWxsZXIFB2V2ZW50SWQDCQAAAgUEZmxhZwIHSUxMRUdBTAkAAgECG0Nhbm5vdCB1cGRhdGUgSUxMRUdBTCBFdmVudAkAzAgCCQELU3RyaW5nRW50cnkCCQEMa2V5RXZlbnROYW1lAgUGY2FsbGVyBQdldmVudElkBQRuYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQxrZXlFdmVudERhdGUCBQZjYWxsZXIFB2V2ZW50SWQFBGRhdGUJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGtleUV2ZW50RGVzYwIFBmNhbGxlcgUHZXZlbnRJZAULZGVzY3JpcHRpb24JAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGtleUV2ZW50VGFncwIFBmNhbGxlcgUHZXZlbnRJZAUEdGFncwkAzAgCCQELU3RyaW5nRW50cnkCCQEPa2V5RXZlbnRDcmF3bGVyAgUGY2FsbGVyBQdldmVudElkBQdjcmF3bGVyBQNuaWwBaQELZGVsZXRlRXZlbnQBB2V2ZW50SWQEDSR0MDEwNjQ3MTA2OTEJAQxpZENhbGxlckRhdGUBBQFpBAJpZAgFDSR0MDEwNjQ3MTA2OTECXzEEBmNhbGxlcggFDSR0MDEwNjQ3MTA2OTECXzIECWFkZGVkRGF0ZQgFDSR0MDEwNjQ3MTA2OTECXzMECWNoZWNrVXNlcgkBDHZhbGlkYXRlVXNlcgEFBmNhbGxlcgMJAQIhPQIFCWNoZWNrVXNlcgIACQACAQUJY2hlY2tVc2VyAwkBASEBCQEMaXNFdmVudE93bmVyAgUHZXZlbnRJZAUGY2FsbGVyCQACAQIjWW91IGFyZSBub3QgdGhlIG93bmVyIG9mIHRoaXMgZXZlbnQEDWV2ZW50VG90YWxORlQJAQ9nZXRJbnRlZ2VyQnlLZXkBCQEaa2V5RXZlbnRUb3RhbFRpY2tldHNJc3N1ZWQCBQZjYWxsZXIFB2V2ZW50SWQDCQECIT0CBQ1ldmVudFRvdGFsTkZUAAAJAAIBAi1DYW5ub3QgZGVsZXRlIGV2ZW50IHdpdGggYWxyZWFkeSBzb2xkIHRpY2tldHMEF3RvdGFsVGlja2V0VHlwZUZvckV2ZW50CQEPZ2V0SW50ZWdlckJ5S2V5AQkBGGtleUV2ZW50VG90YWxUaWNrZXRUeXBlcwIFBmNhbGxlcgUHZXZlbnRJZAMJAGYCBRd0b3RhbFRpY2tldFR5cGVGb3JFdmVudAAACQACAQIYRGVsZXRlIGFsbCB0aWNrZXRzIGZpcnN0CQDMCAIJAQtEZWxldGVFbnRyeQEJARFrZXlFdmVudEFkZGVkRGF0ZQIFBmNhbGxlcgUHZXZlbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEMa2V5RXZlbnREYXRlAgUGY2FsbGVyBQdldmVudElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAQxrZXlFdmVudE5hbWUCBQZjYWxsZXIFB2V2ZW50SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDGtleUV2ZW50RGVzYwIFBmNhbGxlcgUHZXZlbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQESa2V5RXZlbnREaXNwbGF5Q2lkAgUGY2FsbGVyBQdldmVudElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAQxrZXlFdmVudFRhZ3MCBQZjYWxsZXIFB2V2ZW50SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBD2tleUV2ZW50Q3Jhd2xlcgIFBmNhbGxlcgUHZXZlbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEaa2V5RXZlbnRUb3RhbFRpY2tldHNJc3N1ZWQCBQZjYWxsZXIFB2V2ZW50SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBEGtleUV2ZW50Q2FuY2VsZWQCBQZjYWxsZXIFB2V2ZW50SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBFmtleUV2ZW50T3duZXJCeUV2ZW50SWQBBQdldmVudElkCQDMCAIJAQtEZWxldGVFbnRyeQEJARhrZXlFdmVudFRvdGFsVGlja2V0VHlwZXMCBQZjYWxsZXIFB2V2ZW50SWQFA25pbAFpAQtjYW5jZWxFdmVudAIHZXZlbnRJZAZyZWFzb24EDSR0MDEyMDMyMTIwNzYJAQxpZENhbGxlckRhdGUBBQFpBAJpZAgFDSR0MDEyMDMyMTIwNzYCXzEEBmNhbGxlcggFDSR0MDEyMDMyMTIwNzYCXzIECWFkZGVkRGF0ZQgFDSR0MDEyMDMyMTIwNzYCXzMECWNoZWNrVXNlcgkBDHZhbGlkYXRlVXNlcgEFBmNhbGxlcgMJAQIhPQIFCWNoZWNrVXNlcgIACQACAQUJY2hlY2tVc2VyAwkBASEBCQEMaXNFdmVudE93bmVyAgUHZXZlbnRJZAUGY2FsbGVyCQACAQIjWW91IGFyZSBub3QgdGhlIG93bmVyIG9mIHRoaXMgZXZlbnQJAMwIAgkBDEJvb2xlYW5FbnRyeQIJARBrZXlFdmVudENhbmNlbGVkAgUGY2FsbGVyBQdldmVudElkBgkAzAgCCQELU3RyaW5nRW50cnkCCQEWa2V5RXZlbnRDYW5jZWxlZFJlYXNvbgIFBmNhbGxlcgUHZXZlbnRJZAUGcmVhc29uBQNuaWwBaQEJZmxhZ0V2ZW50BAdldmVudElkBGFkZHIEZmxhZwRub3RlBA0kdDAxMjUxMTEyNTQ0CQEMaWRDYWxsZXJEYXRlAQUBaQQCaWQIBQ0kdDAxMjUxMTEyNTQ0Al8xBAZjYWxsZXIIBQ0kdDAxMjUxMTEyNTQ0Al8yAwkBD2NvbnRhaW5zRWxlbWVudAIJAMwIAgUFY2hyaXMJAMwIAgkApQgBBQR0aGlzBQNuaWwFBmNhbGxlcgMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAICAAkAzAgCAg9DSEFOR0VfUkVRVUlSRUQJAMwIAgIHRkxBR0dFRAkAzAgCAgdJTExFR0FMBQNuaWwFBGZsYWcJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGtleUV2ZW50RmxhZwIFBGFkZHIFB2V2ZW50SWQFBGZsYWcJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDGtleUV2ZW50Tm90ZQIFBGFkZHIFB2V2ZW50SWQFBG5vdGUFA25pbAkAAgEJAKwCAgIOVW5rbm93IHN0YXR1cyAFBGZsYWcJAAIBAhNZb3UgYXJlIG5vdCBhbGxvd2VkAWkBCWFkZFRpY2tldAgHZXZlbnRJZARuYW1lC2Rlc2NyaXB0aW9uBXByaWNlDG1heEF2YWlsYWJsZQZNYXhVc2UJUm95YWx0aWVzEHJlc2VsbExpbWl0YXRpb24EDSR0MDEzMDg0MTMxMjQJAQxpZENhbGxlckRhdGUBBQFpBAJpZAgFDSR0MDEzMDg0MTMxMjQCXzEEBmNhbGxlcggFDSR0MDEzMDg0MTMxMjQCXzIEBGRhdGUIBQ0kdDAxMzA4NDEzMTI0Al8zBAljaGVja1VzZXIJAQx2YWxpZGF0ZVVzZXIBBQZjYWxsZXIDCQECIT0CBQljaGVja1VzZXICAAkAAgEFCWNoZWNrVXNlcgMJAQ9ldmVudElzQ2FuY2VsZWQCBQZjYWxsZXIFB2V2ZW50SWQJAAIBAhhFdmVudCBoYXZlIGJlZW4gY2FuY2VsZWQDCQEBIQEJAQxpc0V2ZW50T3duZXICBQdldmVudElkBQZjYWxsZXIJAAIBAiNZb3UgYXJlIG5vdCB0aGUgb3duZXIgb2YgdGhpcyBldmVudAQOdmFsaWRhdGVUaWNrZXQJARJ2YWxpZGF0ZVRpY2tldERhdGEIBQdldmVudElkBQZjYWxsZXIFBG5hbWUFC2Rlc2NyaXB0aW9uBQVwcmljZQUMbWF4QXZhaWxhYmxlBQZNYXhVc2UFEHJlc2VsbExpbWl0YXRpb24DCQECIT0CBQ52YWxpZGF0ZVRpY2tldAIACQACAQIVU29tZXRoaW5nIHdlbnQgd3JvbmchBBd0b3RhbFRpY2tldFR5cGVGb3JFdmVudAkBD2dldEludGVnZXJCeUtleQEJARhrZXlFdmVudFRvdGFsVGlja2V0VHlwZXMCBQZjYWxsZXIFB2V2ZW50SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDWtleVRpY2tldE5hbWUDBQZjYWxsZXIFB2V2ZW50SWQFAmlkBQRuYW1lCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQENa2V5VGlja2V0RGF0ZQMFBmNhbGxlcgUHZXZlbnRJZAUCaWQFBGRhdGUJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDWtleVRpY2tldERlc2MDBQZjYWxsZXIFB2V2ZW50SWQFAmlkBQtkZXNjcmlwdGlvbgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDmtleVRpY2tldFByaWNlAwUGY2FsbGVyBQdldmVudElkBQJpZAUFcHJpY2UJAMwIAgkBDEludGVnZXJFbnRyeQIJARVrZXlUaWNrZXRNYXhBdmFpbGFibGUDBQZjYWxsZXIFB2V2ZW50SWQFAmlkBQxtYXhBdmFpbGFibGUJAMwIAgkBDEJvb2xlYW5FbnRyeQIJAQ9rZXlUaWNrZXRPblNhbGUDBQZjYWxsZXIFB2V2ZW50SWQFAmlkBgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBD2tleVRpY2tldE1heFVzZQMFBmNhbGxlcgUHZXZlbnRJZAUCaWQFBk1heFVzZQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleVRpY2tldFRvdGFsSXNzdWVkAwUGY2FsbGVyBQdldmVudElkBQJpZAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYa2V5RXZlbnRUb3RhbFRpY2tldFR5cGVzAgUGY2FsbGVyBQdldmVudElkCQBkAgUXdG90YWxUaWNrZXRUeXBlRm9yRXZlbnQAAQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBEGtleVRpY2tldFJveWFsdHkDBQZjYWxsZXIFB2V2ZW50SWQFAmlkBQlSb3lhbHRpZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJARlrZXlUaWNrZXRSZXNlbGxMaW1pdGF0aW9uAwUGY2FsbGVyBQdldmVudElkBQJpZAUQcmVzZWxsTGltaXRhdGlvbgUDbmlsAWkBCmVkaXRUaWNrZXQJCHRpY2tldElkB2V2ZW50SWQEbmFtZQtkZXNjcmlwdGlvbgVwcmljZQxtYXhBdmFpbGFibGUGbWF4VXNlCVJveWFsdGllcxByZXNlbGxMaW1pdGF0aW9uBA0kdDAxNDg0ODE0ODg4CQEMaWRDYWxsZXJEYXRlAQUBaQQCaWQIBQ0kdDAxNDg0ODE0ODg4Al8xBAZjYWxsZXIIBQ0kdDAxNDg0ODE0ODg4Al8yBARkYXRlCAUNJHQwMTQ4NDgxNDg4OAJfMwQJY2hlY2tVc2VyCQEMdmFsaWRhdGVVc2VyAQUGY2FsbGVyAwkBAiE9AgUJY2hlY2tVc2VyAgAJAAIBBQljaGVja1VzZXIDCQEBIQEJAQxpc0V2ZW50T3duZXICBQdldmVudElkBQZjYWxsZXIJAAIBAiNZb3UgYXJlIG5vdCB0aGUgb3duZXIgb2YgdGhpcyBldmVudAMJAQEhAQkBC3RpY2tldEV4aXN0AwUGY2FsbGVyBQdldmVudElkBQh0aWNrZXRJZAkAAgECEFRpY2tldCBub3QgZm91bmQEDnZhbGlkYXRlVGlja2V0CQESdmFsaWRhdGVUaWNrZXREYXRhCAUHZXZlbnRJZAUGY2FsbGVyBQRuYW1lBQtkZXNjcmlwdGlvbgUFcHJpY2UFDG1heEF2YWlsYWJsZQUGbWF4VXNlBRByZXNlbGxMaW1pdGF0aW9uAwkBAiE9AgUOdmFsaWRhdGVUaWNrZXQCAAkAAgECFVNvbWV0aGluZyB3ZW50IHdyb25nIQQKdGlja2V0U29sZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VGlja2V0VG90YWxJc3N1ZWQDBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkAAADCQBmAgUKdGlja2V0U29sZAUMbWF4QXZhaWxhYmxlCQACAQI+TWF4IHRpY2tldHMgYXZhaWxhYmxlIGNhbm5vdCBiZSBsb3dlciB0aGFuIGFtb3VudCBhbHJlYWR5IHNvbGQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDWtleVRpY2tldE5hbWUDBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkBQRuYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ1rZXlUaWNrZXREZXNjAwUGY2FsbGVyBQdldmVudElkBQh0aWNrZXRJZAULZGVzY3JpcHRpb24JAMwIAgkBDEludGVnZXJFbnRyeQIJAQ5rZXlUaWNrZXRQcmljZQMFBmNhbGxlcgUHZXZlbnRJZAUIdGlja2V0SWQFBXByaWNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEVa2V5VGlja2V0TWF4QXZhaWxhYmxlAwUGY2FsbGVyBQdldmVudElkBQh0aWNrZXRJZAUMbWF4QXZhaWxhYmxlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5VGlja2V0TWF4VXNlAwUGY2FsbGVyBQdldmVudElkBQh0aWNrZXRJZAUGbWF4VXNlCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEQa2V5VGlja2V0Um95YWx0eQMFBmNhbGxlcgUHZXZlbnRJZAUIdGlja2V0SWQFCVJveWFsdGllcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGWtleVRpY2tldFJlc2VsbExpbWl0YXRpb24DBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkBRByZXNlbGxMaW1pdGF0aW9uBQNuaWwBaQEPcGF1c2VUaWNrZXRTYWxlAwdldmVudElkCHRpY2tldElkBnN0YXR1cwQNJHQwMTYyMTkxNjI1OQkBDGlkQ2FsbGVyRGF0ZQEFAWkEAmlkCAUNJHQwMTYyMTkxNjI1OQJfMQQGY2FsbGVyCAUNJHQwMTYyMTkxNjI1OQJfMgQEZGF0ZQgFDSR0MDE2MjE5MTYyNTkCXzMECWNoZWNrVXNlcgkBDHZhbGlkYXRlVXNlcgEFBmNhbGxlcgMJAQIhPQIFCWNoZWNrVXNlcgIACQACAQUJY2hlY2tVc2VyAwkBASEBCQEMaXNFdmVudE93bmVyAgUHZXZlbnRJZAUGY2FsbGVyCQACAQIjWW91IGFyZSBub3QgdGhlIG93bmVyIG9mIHRoaXMgZXZlbnQDCQEBIQEJAQt0aWNrZXRFeGlzdAMFBmNhbGxlcgUHZXZlbnRJZAUIdGlja2V0SWQJAAIBAhBUaWNrZXQgbm90IGZvdW5kCQDMCAIJAQxCb29sZWFuRW50cnkCCQEPa2V5VGlja2V0T25TYWxlAwUGY2FsbGVyBQdldmVudElkBQh0aWNrZXRJZAUGc3RhdHVzBQNuaWwBaQEMZGVsZXRlVGlja2V0Agh0aWNrZXRJZAdldmVudElkBA0kdDAxNjcyMjE2NzYyCQEMaWRDYWxsZXJEYXRlAQUBaQQCaWQIBQ0kdDAxNjcyMjE2NzYyAl8xBAZjYWxsZXIIBQ0kdDAxNjcyMjE2NzYyAl8yBARkYXRlCAUNJHQwMTY3MjIxNjc2MgJfMwQJY2hlY2tVc2VyCQEMdmFsaWRhdGVVc2VyAQUGY2FsbGVyAwkBAiE9AgUJY2hlY2tVc2VyAgAJAAIBBQljaGVja1VzZXIDCQEBIQEJAQxpc0V2ZW50T3duZXICBQdldmVudElkBQZjYWxsZXIJAAIBAiNZb3UgYXJlIG5vdCB0aGUgb3duZXIgb2YgdGhpcyBldmVudAMJAQEhAQkBC3RpY2tldEV4aXN0AwUGY2FsbGVyBQdldmVudElkBQh0aWNrZXRJZAkAAgECEFRpY2tldCBub3QgZm91bmQECmFtb3VudFNvbGQJAQ9nZXRJbnRlZ2VyQnlLZXkBCQEUa2V5VGlja2V0VG90YWxJc3N1ZWQDBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkAwkBAiE9AgUKYW1vdW50U29sZAAACQACAQImQ2Fubm90IGRlbGV0ZSB0aWNrZXQgdGhhdCBzb2xkIGFscmVhZHkEF3RvdGFsVGlja2V0VHlwZUZvckV2ZW50CQEPZ2V0SW50ZWdlckJ5S2V5AQkBGGtleUV2ZW50VG90YWxUaWNrZXRUeXBlcwIFBmNhbGxlcgUHZXZlbnRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQENa2V5VGlja2V0TmFtZQMFBmNhbGxlcgUHZXZlbnRJZAUIdGlja2V0SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBDWtleVRpY2tldERhdGUDBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ1rZXlUaWNrZXREZXNjAwUGY2FsbGVyBQdldmVudElkBQh0aWNrZXRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQEOa2V5VGlja2V0UHJpY2UDBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkCQDMCAIJAQtEZWxldGVFbnRyeQEJARVrZXlUaWNrZXRNYXhBdmFpbGFibGUDBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ9rZXlUaWNrZXRPblNhbGUDBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkCQDMCAIJAQtEZWxldGVFbnRyeQEJAQ9rZXlUaWNrZXRNYXhVc2UDBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkCQDMCAIJAQtEZWxldGVFbnRyeQEJARRrZXlUaWNrZXRUb3RhbElzc3VlZAMFBmNhbGxlcgUHZXZlbnRJZAUIdGlja2V0SWQJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBEGtleVRpY2tldFJveWFsdHkDBQZjYWxsZXIFB2V2ZW50SWQFCHRpY2tldElkCQDMCAIJAQtEZWxldGVFbnRyeQEJARlrZXlUaWNrZXRSZXNlbGxMaW1pdGF0aW9uAwUGY2FsbGVyBQdldmVudElkBQh0aWNrZXRJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGtleUV2ZW50VG90YWxUaWNrZXRUeXBlcwIFBmNhbGxlcgUHZXZlbnRJZAkAZQIFF3RvdGFsVGlja2V0VHlwZUZvckV2ZW50AAEFA25pbAFpAQlidXlUaWNrZXQDCHRpY2tldElkB2V2ZW50SWQGaXNzdWVyBA0kdDAxODEzMDE4MTY4CQEMaWRDYWxsZXJEYXRlAQUBaQQCaWQIBQ0kdDAxODEzMDE4MTY4Al8xBAZjYWxsZXIIBQ0kdDAxODEzMDE4MTY4Al8yBARkYXRlCAUNJHQwMTgxMzAxODE2OAJfMwQIdG90YWxORlQJAQt2YWx1ZU9yRWxzZQIJAQ9nZXRJbnRlZ2VyQnlLZXkBAhR0b3RhbF90aWNrZXRzX2lzc3VlZAAAAwkBASEBCQEMaXNFdmVudE93bmVyAgUHZXZlbnRJZAUGaXNzdWVyCQACAQIfRXZlbnQgSUQgYW5kIElzc3VlciBkb24ndCBtYXRjaAMJAQEhAQkBC3RpY2tldEV4aXN0AwUGaXNzdWVyBQdldmVudElkBQh0aWNrZXRJZAkAAgECEFRpY2tldCBub3QgZm91bmQECWV2ZW50TmFtZQkBDmdldFN0cmluZ0J5S2V5AQkBDGtleUV2ZW50TmFtZQIFBmlzc3VlcgUHZXZlbnRJZAMJAAACBQlldmVudE5hbWUCAAkAAgECEUFydCBkb2Vzbid0IGV4aXN0AwkBD2V2ZW50SXNDYW5jZWxlZAIFBmlzc3VlcgUHZXZlbnRJZAkAAgECGEV2ZW50IGhhdmUgYmVlbiBjYW5jZWxlZAQIaXNPblNhbGUJAQ9nZXRCb29sZWFuQnlLZXkBCQEPa2V5VGlja2V0T25TYWxlAwUGaXNzdWVyBQdldmVudElkBQh0aWNrZXRJZAMJAQEhAQUIaXNPblNhbGUJAAIBAhRUaWNrZXRzIG5vdCBmb3Igc2FsZQQKYW1vdW50U29sZAkBD2dldEludGVnZXJCeUtleQEJARRrZXlUaWNrZXRUb3RhbElzc3VlZAMFBmlzc3VlcgUHZXZlbnRJZAUIdGlja2V0SWQEC3RpY2tldFByaWNlCQEPZ2V0SW50ZWdlckJ5S2V5AQkBDmtleVRpY2tldFByaWNlAwUGaXNzdWVyBQdldmVudElkBQh0aWNrZXRJZAQMcHJpY2VBc3NldElkCQDYBAEFC3NpZ25Bc3NldElkBA0kdDAxOTAyMTE5MDk1CQEUdmFsaWRhdGVQcmljZUFzc2V0SWQDBQFpBQxwcmljZUFzc2V0SWQFC3RpY2tldFByaWNlBAZhbW91bnQIBQ0kdDAxOTAyMTE5MDk1Al8xBAdhc3NldElkCAUNJHQwMTkwMjExOTA5NQJfMgQKbWF4Q2FuU2VsbAkBD2dldEludGVnZXJCeUtleQEJARVrZXlUaWNrZXRNYXhBdmFpbGFibGUDBQZpc3N1ZXIFB2V2ZW50SWQFCHRpY2tldElkBA1hbW91bnRGb3JTaWduCQBrAwUGYW1vdW50BQdzaWduQ3V0AGQEEmFtb3VudEZvck9yZ2FuaXplcgkAZQIFBmFtb3VudAUNYW1vdW50Rm9yU2lnbgMJAAACBQphbW91bnRTb2xkBQptYXhDYW5TZWxsCQACAQIMQXJ0IHNvbGQgb3V0BA1uZXdBbW91bnRTb2xkCQBkAgUKYW1vdW50U29sZAABBAlpc3N1ZU1ldGEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAgtPcmdhbml6ZXI6IAUGaXNzdWVyAgwsCiBFdmVudElEOiAFB2V2ZW50SWQCDSwKIFRpY2tldElEOiAFCHRpY2tldElkAg4sCiBFdmVudE5hbWU6IAUJZXZlbnROYW1lAgosCiBJc3N1ZTogCQCkAwEFDW5ld0Ftb3VudFNvbGQCAS8JAKQDAQUKbWF4Q2FuU2VsbAQIaXNzdWVORlQJAMIIBQkArAICAgNTVF8JAKQDAQkAZAIFCHRvdGFsTkZUAAEFCWlzc3VlTWV0YQABAAAHBAVpZE5GVAkAuAgBBQhpc3N1ZU5GVAQKc2VsbFN0YXR1cwMJAAACBQ1uZXdBbW91bnRTb2xkBQptYXhDYW5TZWxsBwYECnJlY2VpdmVORlQIBQFpBmNhbGxlcgQHc29sZEtleQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICDHRpY2tldF9zb2xkXwkApAMBBQ1uZXdBbW91bnRTb2xkAgRfb2ZfCQCkAwEFCm1heENhblNlbGwCAV8FCHRpY2tldElkAgFfBQdldmVudElkAgFfBQZpc3N1ZXICAV8JANgEAQUFaWRORlQECXNvbGRWYWx1ZQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKUIAQUKcmVjZWl2ZU5GVAIBXwkApAMBBQRkYXRlAgFfBQJpZAIBXwkApAMBBQZhbW91bnQCAV8JANgEAQUFaWRORlQECHNvbGREYXRhCQELU3RyaW5nRW50cnkCBQdzb2xkS2V5BQlzb2xkVmFsdWUEDWV2ZW50VG90YWxORlQJAQ9nZXRJbnRlZ2VyQnlLZXkBCQEaa2V5RXZlbnRUb3RhbFRpY2tldHNJc3N1ZWQCBQZpc3N1ZXIFB2V2ZW50SWQEDnRpY2tldFRvdGFsTkZUCQEPZ2V0SW50ZWdlckJ5S2V5AQkBFGtleVRpY2tldFRvdGFsSXNzdWVkAwUGaXNzdWVyBQdldmVudElkBQh0aWNrZXRJZAQGYnV5UmVzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgIEbmZ0XwkA2AQBBQVpZE5GVAUHc29sZEtleQkAzAgCCQEMSW50ZWdlckVudHJ5AgIUdG90YWxfdGlja2V0c19pc3N1ZWQJAGQCBQh0b3RhbE5GVAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEaa2V5RXZlbnRUb3RhbFRpY2tldHNJc3N1ZWQCBQZpc3N1ZXIFB2V2ZW50SWQJAGQCBQ1ldmVudFRvdGFsTkZUAAEJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlUaWNrZXRUb3RhbElzc3VlZAMFBmlzc3VlcgUHZXZlbnRJZAUIdGlja2V0SWQFDW5ld0Ftb3VudFNvbGQJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICA1NUXwkApAMBCQBkAgUIdG90YWxORlQAAQIIX2Fzc2V0SWQJAKwCAgkArAICBQh0aWNrZXRJZAIBXwkA2AQBBQVpZE5GVAkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBD2tleVRpY2tldE9uU2FsZQMFBmlzc3VlcgUHZXZlbnRJZAUIdGlja2V0SWQFCnNlbGxTdGF0dXMJAMwIAgkBDEludGVnZXJFbnRyeQIJARNrZXlUaWNrZXRBbW91bnRVc2VkBAUGaXNzdWVyBQdldmVudElkBQh0aWNrZXRJZAkA2AQBBQVpZE5GVAAACQDMCAIFCGlzc3VlTkZUCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQZpc3N1ZXIFEmFtb3VudEZvck9yZ2FuaXplcgUHYXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQpyZWNlaXZlTkZUAAEFBWlkTkZUCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQtmZWVSZWNlaXZlcgUNYW1vdW50Rm9yU2lnbgUHYXNzZXRJZAUDbmlsCQDMCAIFCHNvbGREYXRhBQZidXlSZXMBaQEJdXNlVGlja2V0AAQNJHQwMjEyNTUyMTI5MwkBDGlkQ2FsbGVyRGF0ZQEFAWkEAmlkCAUNJHQwMjEyNTUyMTI5MwJfMQQGY2FsbGVyCAUNJHQwMjEyNTUyMTI5MwJfMgQEZGF0ZQgFDSR0MDIxMjU1MjEyOTMCXzMEDSR0MDIxMjk5MjEzMzUJAQlpc1BheW1lbnQBBQFpBAdwYXltZW50CAUNJHQwMjEyOTkyMTMzNQJfMQQGYW1vdW50CAUNJHQwMjEyOTkyMTMzNQJfMgMJAQEhAQkBCWlzRGVmaW5lZAEIBQdwYXltZW50B2Fzc2V0SWQJAAIBAhRXcm9uZyBhc3NldCBhdHRhY2hlZAQJZXZlbnREYXRhCQEOZ2V0U3RyaW5nQnlLZXkBCQCsAgICBG5mdF8JANgEAQkBBXZhbHVlAQgFB3BheW1lbnQHYXNzZXRJZAMJAAACCQCxAgEFCWV2ZW50RGF0YQAACQACAQIUU29tZXRoaW5nIHdlbnQgd3JvbmcEDGV2ZW50RGF0YUFycgkAtQkCBQlldmVudERhdGECAV8EBmlzc3VlcgkAkQMCBQxldmVudERhdGFBcnIABwQHZXZlbnRJZAkAkQMCBQxldmVudERhdGFBcnIABgQIdGlja2V0SWQJAJEDAgUMZXZlbnREYXRhQXJyAAUDCQEBIQEJAQt0aWNrZXRFeGlzdAMFBmlzc3VlcgUHZXZlbnRJZAUIdGlja2V0SWQJAAIBAhBUaWNrZXQgbm90IGZvdW5kBAphbW91bnRVc2VkCQEPZ2V0SW50ZWdlckJ5S2V5AQkBE2tleVRpY2tldEFtb3VudFVzZWQEBQZpc3N1ZXIFB2V2ZW50SWQFCHRpY2tldElkCQDYBAEJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQEDG1heFVzaW5nVGltZQkBD2dldEludGVnZXJCeUtleQEJAQ9rZXlUaWNrZXRNYXhVc2UDBQZpc3N1ZXIFB2V2ZW50SWQFCHRpY2tldElkAwkAAAIFDG1heFVzaW5nVGltZQUKYW1vdW50VXNlZAkAAgEJAKwCAgkArAICAgxUaWNrZXQgdXNlZCAJAKQDAQUKYW1vdW50VXNlZAIOIHRpbWVzIGFscmVhZHkEC2luaXRVc2VEYXRhCQEOZ2V0U3RyaW5nQnlLZXkBCQEUa2V5VGlja2V0SGlzdG9yeVVzZWQFBQZpc3N1ZXIFB2V2ZW50SWQFCHRpY2tldElkCQDYBAEJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQCATEEDGZpcnN0VXNlQWRkcgMDAwkAZgIFDG1heFVzaW5nVGltZQABCQBnAgUKYW1vdW50VXNlZAABBwkBAiE9AgULaW5pdFVzZURhdGECAAcJAJEDAgkAtQkCBQtpbml0VXNlRGF0YQIBXwABBQZjYWxsZXIDCQECIT0CBQxmaXJzdFVzZUFkZHIFBmNhbGxlcgkAAgECLVlvdSBhcmUgbm90IHRoZSBpbml0aWFsIHVzZXIgb2YgdGhpcyB0aWNrZXQuIAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBE2tleVRpY2tldEFtb3VudFVzZWQEBQZpc3N1ZXIFB2V2ZW50SWQFCHRpY2tldElkCQDYBAEJAQV2YWx1ZQEIBQdwYXltZW50B2Fzc2V0SWQJAGQCBQphbW91bnRVc2VkAAEJAMwIAgkBC1N0cmluZ0VudHJ5AgkBFGtleVRpY2tldEhpc3RvcnlVc2VkBQUGaXNzdWVyBQdldmVudElkBQh0aWNrZXRJZAkA2AQBCQEFdmFsdWUBCAUHcGF5bWVudAdhc3NldElkCQCkAwEJAGQCBQphbW91bnRVc2VkAAEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIFAmlkAgFfBQZjYWxsZXICAV8JAKQDAQUEZGF0ZQIBXwkApAMBCQBkAgUKYW1vdW50VXNlZAABCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQkA2QQBBQZjYWxsZXIAAQgFB3BheW1lbnQHYXNzZXRJZAUDbmlsAWkBC2RlbGV0ZUVudHJ5AQVlbnRyeQQGY2FsbGVyCQClCAEIBQFpBmNhbGxlcgMJAAACBQZjYWxsZXIFBWNocmlzCQDMCAIJAQtEZWxldGVFbnRyeQEFBWVudHJ5BQNuaWwJAAIBAgJubwAL2cvt", "height": 2307972, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = "1.0.0"
5+
6+func b (c) = valueOrElse(getString(this, c), "")
7+
8+
9+let d = value(addressFromString(b("conf_users_dapp")))
10+
11+let e = b("conf_fee_receiver")
12+
13+let f = fromBase58String(b("conf_accepted_asset_SIGN"))
14+
15+let g = b("conf_admin_1")
16+
17+func h (c) = valueOrElse(getInteger(this, c), 0)
18+
19+
20+func i (c) = valueOrElse(getBoolean(this, c), false)
21+
22+
23+let j = valueOrElse(getBoolean(d, "conf_dapp_is_running"), true)
24+
25+let k = valueOrElse(getString(d, "conf_maintenance_msg"), "")
26+
27+let l = "SUSPENDED"
28+
29+let m = "UNREGISTERED"
30+
31+func n (o) = if (contains(o, "/"))
32+ then if (if ((76 > size(o)))
33+ then (size(split(o, "/")[0]) == 59)
34+ else false)
35+ then (16 > size(split(o, "/")[1]))
36+ else false
37+ else false
38+
39+
40+let p = 2
41+
42+func q (r) = ("user_status_" + r)
43+
44+
45+func s (t) = ("get_event_owner_" + t)
46+
47+
48+func u (r,t) = ((("event_addedDate_" + t) + "_") + r)
49+
50+
51+func v (r,t) = ((("event_date_" + t) + "_") + r)
52+
53+
54+func w (r,t) = ((("event_name_" + t) + "_") + r)
55+
56+
57+func x (r,t) = ((("event_desc_" + t) + "_") + r)
58+
59+
60+func y (r,t) = ((("event_displayCid_" + t) + "_") + r)
61+
62+
63+func z (r,t) = ((("event_tags_" + t) + "_") + r)
64+
65+
66+func A (r,t) = ((("event_flag_" + t) + "_") + r)
67+
68+
69+func B (r,t) = ((("event_note_" + t) + "_") + r)
70+
71+
72+func C (r,t) = ((("event_crawlerCid_" + t) + "_") + r)
73+
74+
75+func D (r,t) = ((("event_totalTicketTypes_" + t) + "_") + r)
76+
77+
78+func E (r,t) = ((("event_totalIssued_" + t) + "_") + r)
79+
80+
81+func F (r,t) = ((("event_canceled_" + t) + "_") + r)
82+
83+
84+func G (r,t) = ((("event_canceledReason_" + t) + "_") + r)
85+
86+
87+func H (r,t) = ((("event_startingPrice_" + t) + "_") + r)
88+
89+
90+func I (r,t,J) = ((((("ticket_name_" + t) + "_") + r) + "_") + J)
91+
92+
93+func K (r,t,J) = ((((("ticket_desc_" + t) + "_") + r) + "_") + J)
94+
95+
96+func L (r,t,J) = ((((("ticket_price_" + t) + "_") + r) + "_") + J)
97+
98+
99+func M (r,t,J) = ((((("ticket_date_" + t) + "_") + r) + "_") + J)
100+
101+
102+func N (r,t,J) = ((((("ticket_resellLimitation_" + t) + "_") + r) + "_") + J)
103+
104+
105+func O (r,t,J) = ((((("ticket_maxAvailable_" + t) + "_") + r) + "_") + J)
106+
107+
108+func P (r,t,J) = ((((("ticket_onSale_" + t) + "_") + r) + "_") + J)
109+
110+
111+func Q (r,t,J,R) = ((((((("ticket_amountUsed_" + t) + "_") + r) + "_") + J) + "_") + R)
112+
113+
114+func S (r,t,J,R,T) = ((((((((("ticket_historyUsed_" + t) + "_") + r) + "_") + J) + "_") + R) + "_") + T)
115+
116+
117+func U (r,t,J) = ((((("ticket_maxUse_" + t) + "_") + r) + "_") + J)
118+
119+
120+func V (r,t,J) = ((((("ticket_totalIssued_" + t) + "_") + r) + "_") + J)
121+
122+
123+func W (r,t,J) = ((((("ticket_royalties_" + t) + "_") + r) + "_") + J)
124+
125+
126+func X (Y,Z) = if ((size(Y) == 0))
127+ then throw("Field cannot be is empty")
128+ else if ((size(Y) > Z))
129+ then throw((Y + " is too long"))
130+ else true
131+
132+
133+func aa (ab) = (0 > ab)
134+
135+
136+func ac (t) = valueOrElse(getString(this, s(t)), "")
137+
138+
139+func ad (r) = {
140+ let ae = valueOrElse(getString(d, q(r)), m)
141+ if ((ae == m))
142+ then "Register this account first with \"Account\" tab"
143+ else if ((ae == l))
144+ then "Account suspended"
145+ else ""
146+ }
147+
148+
149+func af (r,ag,ah,ai,aj,ak) = {
150+ let al = ad(r)
151+ if ((al != ""))
152+ then throw(al)
153+ else if ((size(ag) == 0))
154+ then throw("Display CID cannot be empty")
155+ else if (!(n(ag)))
156+ then throw("Problem with CID")
157+ else if (!(X(ah, 300)))
158+ then throw("300 Char. max name")
159+ else if (!(X(ai, 3000)))
160+ then throw("3000 Char. max description")
161+ else if (!(X(ak, 1000)))
162+ then throw("1000 Char. max date")
163+ else if ((size(split(aj, ",")) > 5))
164+ then throw("5 tags max.")
165+ else ""
166+ }
167+
168+
169+func am (t,r,ah,ai,an,ao,ap,aq) = {
170+ let al = ad(r)
171+ if ((al != ""))
172+ then throw(al)
173+ else if (!(X(ah, 200)))
174+ then throw("100 Char. max name")
175+ else if (!(X(ai, 1000)))
176+ then throw("1000 Char. max description")
177+ else if (if (if (if (aa(an))
178+ then true
179+ else aa(ap))
180+ then true
181+ else aa(ao))
182+ then true
183+ else aa(aq))
184+ then throw("Positive amount only")
185+ else if (!(X(ai, 1000)))
186+ then throw("1000 Char. max description")
187+ else ""
188+ }
189+
190+
191+func ar (as) = if (!(j))
192+ then throw(k)
193+ else $Tuple3(toBase58String(as.transactionId), toBase58String(as.caller.bytes), lastBlock.timestamp)
194+
195+
196+func at (as) = if ((size(as.payments) == 0))
197+ then throw("No payment attached")
198+ else {
199+ let au = value(as.payments[0])
200+ let av = value(au.amount)
201+ $Tuple2(au, av)
202+ }
203+
204+
205+func aw (as,ax,ay) = {
206+ let az = at(as)
207+ let au = az._1
208+ let av = az._2
209+ if (!(isDefined(au.assetId)))
210+ then throw("Wrong asset attached")
211+ else {
212+ let aA = if (if ((size(ax) > 0))
213+ then (toBase58String(value(au.assetId)) == ax)
214+ else false)
215+ then au.assetId
216+ else throw("Wrong asset attached")
217+ if ((ay != av))
218+ then throw("Payment amount don't match")
219+ else $Tuple2(av, aA)
220+ }
221+ }
222+
223+
224+func aB (t,r) = {
225+ let aC = ac(t)
226+ if ((aC == ""))
227+ then throw("Event not found")
228+ else (aC == r)
229+ }
230+
231+
232+func aD (r,t,J) = {
233+ let aE = b(I(r, t, J))
234+ (size(aE) != 0)
235+ }
236+
237+
238+func aF (aG,t) = i(F(aG, t))
239+
240+
241+@Callable(aH)
242+func setConf (c,aI) = {
243+ let r = toString(aH.caller)
244+ if (containsElement([g, toString(this)], r))
245+ then if (contains(c, "conf_"))
246+ then [StringEntry(c, aI)]
247+ else throw("Entries starting with conf_ only")
248+ else throw("You are not allowed to change this")
249+ }
250+
251+
252+
253+@Callable(as)
254+func addEvent (ah,ai,aj,ag,aJ,ak) = {
255+ let aK = ar(as)
256+ let t = aK._1
257+ let r = aK._2
258+ let aL = aK._3
259+ let al = ad(r)
260+ if ((al != ""))
261+ then throw(al)
262+ else {
263+ let aM = af(r, ag, ah, ai, aj, ak)
264+ if ((aM != ""))
265+ then throw("Something went wrong!")
266+ else [IntegerEntry(u(r, t), aL), StringEntry(v(r, t), ak), StringEntry(w(r, t), ah), StringEntry(x(r, t), ai), StringEntry(y(r, t), ag), StringEntry(z(r, t), aj), StringEntry(C(r, t), aJ), IntegerEntry(E(r, t), 0), BooleanEntry(F(r, t), false), StringEntry(s(t), r)]
267+ }
268+ }
269+
270+
271+
272+@Callable(as)
273+func editEvent (t,ah,ai,aj,ag,aJ,ak) = if (!(j))
274+ then throw(k)
275+ else {
276+ let r = toBase58String(as.caller.bytes)
277+ let al = ad(r)
278+ if ((al != ""))
279+ then throw(al)
280+ else {
281+ let aM = af(r, ag, ah, ai, aj, ak)
282+ if ((aM != ""))
283+ then throw("Something went wrong!")
284+ else {
285+ let aN = b(w(r, t))
286+ if ((aN == ""))
287+ then throw("Entry not found")
288+ else {
289+ let aO = b(A(r, t))
290+ if ((aO == "ILLEGAL"))
291+ then throw("Cannot update ILLEGAL Event")
292+ else [StringEntry(w(r, t), ah), StringEntry(v(r, t), ak), StringEntry(x(r, t), ai), StringEntry(z(r, t), aj), StringEntry(C(r, t), aJ)]
293+ }
294+ }
295+ }
296+ }
297+
298+
299+
300+@Callable(as)
301+func deleteEvent (t) = {
302+ let aP = ar(as)
303+ let aQ = aP._1
304+ let r = aP._2
305+ let aL = aP._3
306+ let al = ad(r)
307+ if ((al != ""))
308+ then throw(al)
309+ else if (!(aB(t, r)))
310+ then throw("You are not the owner of this event")
311+ else {
312+ let aR = h(E(r, t))
313+ if ((aR != 0))
314+ then throw("Cannot delete event with already sold tickets")
315+ else {
316+ let aS = h(D(r, t))
317+ if ((aS > 0))
318+ then throw("Delete all tickets first")
319+ else [DeleteEntry(u(r, t)), DeleteEntry(v(r, t)), DeleteEntry(w(r, t)), DeleteEntry(x(r, t)), DeleteEntry(y(r, t)), DeleteEntry(z(r, t)), DeleteEntry(C(r, t)), DeleteEntry(E(r, t)), DeleteEntry(F(r, t)), DeleteEntry(s(t)), DeleteEntry(D(r, t))]
320+ }
321+ }
322+ }
323+
324+
325+
326+@Callable(as)
327+func cancelEvent (t,aT) = {
328+ let aU = ar(as)
329+ let aQ = aU._1
330+ let r = aU._2
331+ let aL = aU._3
332+ let al = ad(r)
333+ if ((al != ""))
334+ then throw(al)
335+ else if (!(aB(t, r)))
336+ then throw("You are not the owner of this event")
337+ else [BooleanEntry(F(r, t), true), StringEntry(G(r, t), aT)]
338+ }
339+
340+
341+
342+@Callable(as)
343+func flagEvent (t,aV,aO,aW) = {
344+ let aX = ar(as)
345+ let aQ = aX._1
346+ let r = aX._2
347+ if (containsElement([g, toString(this)], r))
348+ then if (containsElement(["", "CHANGE_REQUIRED", "FLAGGED", "ILLEGAL"], aO))
349+ then [StringEntry(A(aV, t), aO), StringEntry(B(aV, t), aW)]
350+ else throw(("Unknow status " + aO))
351+ else throw("You are not allowed")
352+ }
353+
354+
355+
356+@Callable(as)
357+func addTicket (t,ah,ai,an,ao,aY,aZ,aq) = {
358+ let ba = ar(as)
359+ let aQ = ba._1
360+ let r = ba._2
361+ let ak = ba._3
362+ let al = ad(r)
363+ if ((al != ""))
364+ then throw(al)
365+ else if (aF(r, t))
366+ then throw("Event have been canceled")
367+ else if (!(aB(t, r)))
368+ then throw("You are not the owner of this event")
369+ else {
370+ let bb = am(t, r, ah, ai, an, ao, aY, aq)
371+ if ((bb != ""))
372+ then throw("Something went wrong!")
373+ else {
374+ let aS = h(D(r, t))
375+[StringEntry(I(r, t, aQ), ah), IntegerEntry(M(r, t, aQ), ak), StringEntry(K(r, t, aQ), ai), IntegerEntry(L(r, t, aQ), an), IntegerEntry(O(r, t, aQ), ao), BooleanEntry(P(r, t, aQ), true), IntegerEntry(U(r, t, aQ), aY), IntegerEntry(V(r, t, aQ), 0), IntegerEntry(D(r, t), (aS + 1)), IntegerEntry(W(r, t, aQ), aZ), IntegerEntry(N(r, t, aQ), aq)]
376+ }
377+ }
378+ }
379+
380+
381+
382+@Callable(as)
383+func editTicket (J,t,ah,ai,an,ao,ap,aZ,aq) = {
384+ let bc = ar(as)
385+ let aQ = bc._1
386+ let r = bc._2
387+ let ak = bc._3
388+ let al = ad(r)
389+ if ((al != ""))
390+ then throw(al)
391+ else if (!(aB(t, r)))
392+ then throw("You are not the owner of this event")
393+ else if (!(aD(r, t, J)))
394+ then throw("Ticket not found")
395+ else {
396+ let bb = am(t, r, ah, ai, an, ao, ap, aq)
397+ if ((bb != ""))
398+ then throw("Something went wrong!")
399+ else {
400+ let bd = valueOrElse(getInteger(V(r, t, J)), 0)
401+ if ((bd > ao))
402+ then throw("Max tickets available cannot be lower than amount already sold")
403+ else [StringEntry(I(r, t, J), ah), StringEntry(K(r, t, J), ai), IntegerEntry(L(r, t, J), an), IntegerEntry(O(r, t, J), ao), IntegerEntry(U(r, t, J), ap), IntegerEntry(W(r, t, J), aZ), IntegerEntry(N(r, t, J), aq)]
404+ }
405+ }
406+ }
407+
408+
409+
410+@Callable(as)
411+func pauseTicketSale (t,J,be) = {
412+ let bf = ar(as)
413+ let aQ = bf._1
414+ let r = bf._2
415+ let ak = bf._3
416+ let al = ad(r)
417+ if ((al != ""))
418+ then throw(al)
419+ else if (!(aB(t, r)))
420+ then throw("You are not the owner of this event")
421+ else if (!(aD(r, t, J)))
422+ then throw("Ticket not found")
423+ else [BooleanEntry(P(r, t, J), be)]
424+ }
425+
426+
427+
428+@Callable(as)
429+func deleteTicket (J,t) = {
430+ let bg = ar(as)
431+ let aQ = bg._1
432+ let r = bg._2
433+ let ak = bg._3
434+ let al = ad(r)
435+ if ((al != ""))
436+ then throw(al)
437+ else if (!(aB(t, r)))
438+ then throw("You are not the owner of this event")
439+ else if (!(aD(r, t, J)))
440+ then throw("Ticket not found")
441+ else {
442+ let bh = h(V(r, t, J))
443+ if ((bh != 0))
444+ then throw("Cannot delete ticket that sold already")
445+ else {
446+ let aS = h(D(r, t))
447+[DeleteEntry(I(r, t, J)), DeleteEntry(M(r, t, J)), DeleteEntry(K(r, t, J)), DeleteEntry(L(r, t, J)), DeleteEntry(O(r, t, J)), DeleteEntry(P(r, t, J)), DeleteEntry(U(r, t, J)), DeleteEntry(V(r, t, J)), DeleteEntry(W(r, t, J)), DeleteEntry(N(r, t, J)), IntegerEntry(D(r, t), (aS - 1))]
448+ }
449+ }
450+ }
451+
452+
453+
454+@Callable(as)
455+func buyTicket (J,t,aG) = {
456+ let bi = ar(as)
457+ let aQ = bi._1
458+ let r = bi._2
459+ let ak = bi._3
460+ let bj = valueOrElse(h("total_tickets_issued"), 0)
461+ if (!(aB(t, aG)))
462+ then throw("Event ID and Issuer don't match")
463+ else if (!(aD(aG, t, J)))
464+ then throw("Ticket not found")
465+ else {
466+ let bk = b(w(aG, t))
467+ if ((bk == ""))
468+ then throw("Art doesn't exist")
469+ else if (aF(aG, t))
470+ then throw("Event have been canceled")
471+ else {
472+ let bl = i(P(aG, t, J))
473+ if (!(bl))
474+ then throw("Tickets not for sale")
475+ else {
476+ let bh = h(V(aG, t, J))
477+ let bm = h(L(aG, t, J))
478+ let ax = toBase58String(f)
479+ let bn = aw(as, ax, bm)
480+ let av = bn._1
481+ let aA = bn._2
482+ let bo = h(O(aG, t, J))
483+ let bp = fraction(av, p, 100)
484+ let bq = (av - bp)
485+ if ((bh == bo))
486+ then throw("Art sold out")
487+ else {
488+ let br = (bh + 1)
489+ let bs = ((((((((((("Organizer: " + aG) + ",
490+ EventID: ") + t) + ",
491+ TicketID: ") + J) + ",
492+ EventName: ") + bk) + ",
493+ Issue: ") + toString(br)) + "/") + toString(bo))
494+ let bt = Issue(("ST_" + toString((bj + 1))), bs, 1, 0, false)
495+ let bu = calculateAssetId(bt)
496+ let bv = if ((br == bo))
497+ then false
498+ else true
499+ let bw = as.caller
500+ let bx = ((((((((((("ticket_sold_" + toString(br)) + "_of_") + toString(bo)) + "_") + J) + "_") + t) + "_") + aG) + "_") + toBase58String(bu))
501+ let by = ((((((((toString(bw) + "_") + toString(ak)) + "_") + aQ) + "_") + toString(av)) + "_") + toBase58String(bu))
502+ let bz = StringEntry(bx, by)
503+ let aR = h(E(aG, t))
504+ let bA = h(V(aG, t, J))
505+ let bB = [StringEntry(("nft_" + toBase58String(bu)), bx), IntegerEntry("total_tickets_issued", (bj + 1)), IntegerEntry(E(aG, t), (aR + 1)), IntegerEntry(V(aG, t, J), br), StringEntry((("ST_" + toString((bj + 1))) + "_assetId"), ((J + "_") + toBase58String(bu))), BooleanEntry(P(aG, t, J), bv), IntegerEntry(Q(aG, t, J, toBase58String(bu)), 0), bt, ScriptTransfer(Address(fromBase58String(aG)), bq, aA), ScriptTransfer(bw, 1, bu), ScriptTransfer(Address(fromBase58String(e)), bp, aA)]
506+bz :: bB
507+ }
508+ }
509+ }
510+ }
511+ }
512+
513+
514+
515+@Callable(as)
516+func useTicket () = {
517+ let bC = ar(as)
518+ let aQ = bC._1
519+ let r = bC._2
520+ let ak = bC._3
521+ let bD = at(as)
522+ let au = bD._1
523+ let av = bD._2
524+ if (!(isDefined(au.assetId)))
525+ then throw("Wrong asset attached")
526+ else {
527+ let bE = b(("nft_" + toBase58String(value(au.assetId))))
528+ if ((size(bE) == 0))
529+ then throw("Something went wrong")
530+ else {
531+ let bF = split(bE, "_")
532+ let aG = bF[7]
533+ let t = bF[6]
534+ let J = bF[5]
535+ if (!(aD(aG, t, J)))
536+ then throw("Ticket not found")
537+ else {
538+ let bG = h(Q(aG, t, J, toBase58String(value(au.assetId))))
539+ let bH = h(U(aG, t, J))
540+ if ((bH == bG))
541+ then throw((("Ticket used " + toString(bG)) + " times already"))
542+ else {
543+ let bI = b(S(aG, t, J, toBase58String(value(au.assetId)), "1"))
544+ let bJ = if (if (if ((bH > 1))
545+ then (bG >= 1)
546+ else false)
547+ then (bI != "")
548+ else false)
549+ then split(bI, "_")[1]
550+ else r
551+ if ((bJ != r))
552+ then throw("You are not the initial user of this ticket. ")
553+ else [IntegerEntry(Q(aG, t, J, toBase58String(value(au.assetId))), (bG + 1)), StringEntry(S(aG, t, J, toBase58String(value(au.assetId)), toString((bG + 1))), ((((((aQ + "_") + r) + "_") + toString(ak)) + "_") + toString((bG + 1)))), ScriptTransfer(Address(fromBase58String(r)), 1, au.assetId)]
554+ }
555+ }
556+ }
557+ }
558+ }
559+
560+
561+
562+@Callable(as)
563+func deleteEntry (bK) = {
564+ let r = toString(as.caller)
565+ if ((r == g))
566+ then [DeleteEntry(bK)]
567+ else throw("no")
568+ }
569+
570+

github/deemru/w8io/873ac7e 
68.33 ms