tx · EUKnu2SVoYaqHEyVi9PTZsGtbJZ2i6DbdNaKpxusjn1w

3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH:  -0.02500000 Waves

2023.03.20 18:18 [2498498] smart account 3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH > SELF 0.00000000 Waves

{ "type": 13, "id": "EUKnu2SVoYaqHEyVi9PTZsGtbJZ2i6DbdNaKpxusjn1w", "fee": 2500000, "feeAssetId": null, "timestamp": 1679325524554, "version": 2, "chainId": 84, "sender": "3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH", "senderPublicKey": "5JqBVJpMCyD7dJLJttqYjL6CmJc4zahBHSFjFb7qQTga", "proofs": [ "5gbDr4TBytRjdA9wts1368AHe5HjHAUp3NCiDnPDiyFbaxbX7N5ZX5eCANXGRVqTfMiZ6SxzccLRp9b3L2HpzefT" ], "script": "base64:BgIhCAISBAoCAQESBgoECAgICBIDCgEYEgASAwoBCBIDCgEBRQADU0VQAgFfAA5fbWluTG9ja3BlcmlvZAABAA1fdW5pdERlY2ltYWxzAIDC1y8ADl9taW5Mb2NrQW1vdW50CQBoAgABBQ1fdW5pdERlY2ltYWxzAA5fbWF4TG9ja0Ftb3VudAkAaAIA6AcFDV91bml0RGVjaW1hbHMAA19EdACAuJkpAQRfUHB5AQpsb2NrUGVyaW9kCQBrAwUNX3VuaXREZWNpbWFscwDtAgUKbG9ja1BlcmlvZAANX2luY3JlbWVudFJlZgkAaAIAwIQ9BQ1fdW5pdERlY2ltYWxzAA5fcGVyY2VudGFnZUZlZQkAawMFDV91bml0RGVjaW1hbHMACgBkABpfcGVyY2VudGFnZVJlZHVjdGlvbkZhY3RvcgIpQ3VycmVudF9QZXJjZW50YWdlUmVkdWN0aW9uX0ZhY3Rvcl9Gb3JfTXIAA19NcgIMTWludGluZ19SYXRlAAxfc3Rhd0Fzc2V0SWQCDFN0YXdfQXNzZXRJZAAIX21hbmFnZXICB21hbmFnZXIABF9EZngCA0RmeAAVX2NpcmN1bGF0aW9uSW5jckluZGV4AhlDaXJjdWxhdGlvbkluY3JlbWVudEluZGV4AA5fbGVzc2VlQWRkcmVzcwIJTGVhc2VOb2RlABpfdXNlckVtaXNzaW9uQW1vdW50Q2xhaW1lZAIVRW1pc3Npb25BbW91bnRDbGFpbWVkABtfdXNlckNhbkNsYWltRW1pc3Npb25BbW91bnQCFkNhbkNsYWltRW1pc3Npb25BbW91bnQADF91c2VyQWRkcmVzcwINV2FsbGV0QWRkcmVzcwAUX3VzZXJMb2NhbEluZGV4Q291bnQCFFRvdGFsRW50cnlJbmRleENvdW50ABBfdXNlclRvdGFsTG9ja2VkAgtUb3RhbExvY2tlZAANX2xvY2tEdXJhdGlvbgIMTG9ja0R1cmF0aW9uAApfbG9ja0luZGV4Ag9HbG9iYWxMb2NrSW5kZXgAB19sb2NrSWQCDkxvY2tJZGVudGlmaWVyAAxfd2F2ZXNBbW91bnQCDUFtb3VudEluV2F2ZXMAC19zdGF3QW1vdW50AgxBbW91bnRJblN0YXcADV9zdGF3TFBBbW91bnQCDkFtb3VudEluU3Rhd0xQAAVfdHhJZAIEVFhJRAANX2xvY2tBdEhlaWdodAIMTG9ja0F0SGVpZ2h0ABRfbG9ja1BlcmlvZEluTWlsaVNlYwIUTG9jS1BlcmlvZEluTWlsbGlTZWMAEl90b3RhbFdhdmVzQ2xhaW1lZAIRVG90YWxXYXZlc0NsYWltZWQAD191c2VyTGVhc2VTdGF0ZQIKTGVhc2VTdGF0ZQAKX3RvdGFsU3RhdwIPVG90YWxTdGF3TWludGVkAA5fdG90YWxXYXZlc1JlZgIQVG90YWxXYXZlc0xvY2tlZAAMX3RvdGFsU3Rhd0xQAgtUb3RhbFN0YXdMUAARX2dsb2JhbEluZGV4Q291bnQCCkluZGV4Q291bnQAFF9kYXlzQWZ0ZXJMb2NrUGVyaW9kAhpEYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAEFX2dldEkBA2tleQkAmggCBQR0aGlzBQNrZXkBBV9nZXRTAQNrZXkJAJ0IAgUEdGhpcwUDa2V5AQVfZ2V0QgEDa2V5CQCbCAIFBHRoaXMFA2tleQEGX2dldEJWAQNrZXkJAQV2YWx1ZQEJAJsIAgUEdGhpcwUDa2V5AQZfZ2V0SVYBA2tleQkBBXZhbHVlAQkAmggCBQR0aGlzBQNrZXkBBl9nZXRTVgEDa2V5CQEFdmFsdWUBCQCdCAIFBHRoaXMFA2tleQEMX3NldFBhcmFtVmFsAgNrZXkKZGVmYXVsdFZhbAQHJG1hdGNoMAUKZGVmYXVsdFZhbAMJAAECBQckbWF0Y2gwAgZTdHJpbmcECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRTAQUDa2V5CQEGX2dldFNWAQUDa2V5BQpkZWZhdWx0VmFsAwkAAQIFByRtYXRjaDACA0ludAQKZGVmYXVsdFZhbAUHJG1hdGNoMAMJAQlpc0RlZmluZWQBCQEFX2dldEkBBQNrZXkJAQZfZ2V0SVYBBQNrZXkFCmRlZmF1bHRWYWwDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQKZGVmYXVsdFZhbAUHJG1hdGNoMAMJAQlpc0RlZmluZWQBCQEFX2dldEIBBQNrZXkJAQZfZ2V0QlYBBQNrZXkFCmRlZmF1bHRWYWwJAAIBCQCsAgICHXZhbHVlIHR5cGUgbm90IHN1cHBvcnRlZCBmb3IgBQNrZXkBD190aHJvd09yUmV0dXJuUwIDdmFsBWVycm9yBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAN2YWwFByRtYXRjaDAFA3ZhbAkAAgEFBWVycm9yAQ9fdGhyb3dPclJldHVybkkCA3ZhbAVlcnJvcgQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACA0ludAQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgESX3Rocm93T3JSZXR1cm5Cb29sAgN2YWwFZXJyb3IEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAN2YWwFByRtYXRjaDAFA3ZhbAkAAgEFBWVycm9yAQlfd3JpdGVJbnQCA2tleQV2YWx1ZQMJAGYCAAAFBXZhbHVlCQACAQkArAICCQCsAgIJAKwCAgIXd3JpdGluZyBuZWdhdGl2ZSB2YWx1ZSAJAKQDAQUFdmFsdWUCCSBmb3Iga2V5IAUDa2V5CQEMSW50ZWdlckVudHJ5AgUDa2V5BQV2YWx1ZQEJX3dyaXRlU3RyAgNrZXkFdmFsdWUDCQAAAgIBIAUFdmFsdWUJAAIBCQCsAgICGHdyaXRpbmcgYW4gZW1wdHkgc3RyaW5nIAUFdmFsdWUJAQtTdHJpbmdFbnRyeQIFA2tleQUFdmFsdWUBCF90aHJvd0lmAgljb25kaXRpb24FZXJyb3IDBQljb25kaXRpb24JAAIBBQVlcnJvcgYBEV93cml0ZUdsb2JhbFBhcmFtAgNrZXkGX3ZhbHVlBAckbWF0Y2gwBQZfdmFsdWUDCQABAgUHJG1hdGNoMAIDSW50BAZfdmFsdWUFByRtYXRjaDAEBWVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQZfdmFsdWUFA25pbAUDU0VQCQEJX3dyaXRlU3RyAgUDa2V5BQVlbnRyeQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEBl92YWx1ZQUHJG1hdGNoMAQFZW50cnkJALkJAgkAzAgCAgIlcwkAzAgCBQZfdmFsdWUFA25pbAUDU0VQCQEJX3dyaXRlU3RyAgUDa2V5BQVlbnRyeQMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAZfdmFsdWUFByRtYXRjaDAEBWVudHJ5CQC5CQIJAMwIAgICJWIJAMwIAgkApQMBBQZfdmFsdWUFA25pbAUDU0VQCQEJX3dyaXRlU3RyAgUDa2V5BQVlbnRyeQkAAgECEnR5cGUgbm90IHN1cHBvcnRlZAEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEDa2V5BAlfcmF3VmFsdWUJAQ9fdGhyb3dPclJldHVyblMCCQEFX2dldFMBBQNrZXkJAKwCAgIUZW50cnkgbm90IGZvdW5kIGZvciAFA2tleQMJAAACBQlfcmF3VmFsdWUFCV9yYXdWYWx1ZQQBeAkAtQkCBQlfcmF3VmFsdWUFA1NFUAQPZm9ybWF0U3BlY2lmaWVyCQCyAgIJAJEDAgUBeAAAAAEEDF92YWx1ZVN0cmluZwkAkQMCBQF4CQBlAgkAkAMBBQF4AAEEBl92YWx1ZQMJAAACBQ9mb3JtYXRTcGVjaWZpZXICAXMFDF92YWx1ZVN0cmluZwMJAAACBQ9mb3JtYXRTcGVjaWZpZXICAWQJAQ1wYXJzZUludFZhbHVlAQUMX3ZhbHVlU3RyaW5nAwkAAAIFD2Zvcm1hdFNwZWNpZmllcgIBYgkA2QQBBQxfdmFsdWVTdHJpbmcJAAIBCQCsAgICI2NvdWxkIG5vdCBwYXJzZSByZWdpc3RyeSB2YWx1ZSBmb3IgBQNrZXkFBl92YWx1ZQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEOX2RheXNUb01pbGlTZWMBBGRheXMEBWNoZWNrCQEIX3Rocm93SWYCCQBnAgAABQRkYXlzAhVpbnZhbGlkIGxvY2tpbmcgZGF5cyEDCQAAAgUFY2hlY2sFBWNoZWNrCQBoAgUEZGF5cwUDX0R0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARFfd3JpdGVDb25zdFN0cmluZwIDa2V5BXZhbHVlAwkBASEBCQEJaXNEZWZpbmVkAQkBBV9nZXRTAQUDa2V5CQEJX3dyaXRlU3RyAgUDa2V5BQV2YWx1ZQkAAgEJAKwCAgIbZW50cnkgYWxyZWFkeSBpbml0aWFsaXplZDogBQNrZXkBEl93cml0ZUNvbnN0SW50ZWdlcgIDa2V5BXZhbHVlAwkBASEBCQEJaXNEZWZpbmVkAQkBBV9nZXRTAQUDa2V5CQEJX3dyaXRlSW50AgUDa2V5BQV2YWx1ZQkAAgEJAKwCAgIcIGVudHJ5IGFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUDa2V5AQxfb25seU1hbmFnZXIBAWkEB21hbmFnZXIEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUIX21hbmFnZXIDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAN2YWwFByRtYXRjaDAFA3ZhbAIVZmFpbGVkIHRvIGdldCBtYW5hZ2VyAwkAAAIFB21hbmFnZXIFB21hbmFnZXIJAQhfdGhyb3dJZgIJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwUHbWFuYWdlcgIWYWRkcmVzcyBub3QgYXV0aG9yaXplZAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEEX2FicwEDdmFsAwkAZgIAAAUDdmFsCQEBLQEFA3ZhbAUDdmFsARBfdmFsaWRhdGVBZGRyZXNzAgdhZGRyZXNzCGVycm9yTXNnBAckbWF0Y2gwBQdhZGRyZXNzAwkAAQIFByRtYXRjaDACBlN0cmluZwQHYWRkcmVzcwUHJG1hdGNoMAQIX2FkZHJlc3MJAKYIAQUHYWRkcmVzcwQHJG1hdGNoMQUIX2FkZHJlc3MDCQABAgUHJG1hdGNoMQIHQWRkcmVzcwQIX2FkZHJlc3MFByRtYXRjaDEGBAckbWF0Y2gyBQhlcnJvck1zZwMJAAECBQckbWF0Y2gyAgZTdHJpbmcEA21zZwUHJG1hdGNoMgkAAgEFA21zZwcDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQHYWRkcmVzcwUHJG1hdGNoMAQIX2FkZHJlc3MJAKcIAQUHYWRkcmVzcwQHJG1hdGNoMQUIX2FkZHJlc3MDCQABAgUHJG1hdGNoMQIHQWRkcmVzcwQIX2FkZHJlc3MFByRtYXRjaDEGBAckbWF0Y2gyBQhlcnJvck1zZwMJAAECBQckbWF0Y2gyAgZTdHJpbmcEA21zZwUHJG1hdGNoMgkAAgEFA21zZwcJAAIBAhJpbnZhbGlkIGlucHV0IHR5cGUBDl92YWxpZGF0ZUFzc2V0Agdhc3NldElECGVycm9yTXNnBAckbWF0Y2gwCQDsBwEJANkEAQUHYXNzZXRJRAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAGBAckbWF0Y2gxBQhlcnJvck1zZwMJAAECBQckbWF0Y2gxAgZTdHJpbmcEA21zZwUHJG1hdGNoMQkAAgEFA21zZwcBCl9jb21wdXRlTXIABBBjdXJyZW50Q2lyY0luZGV4BAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFFV9jaXJjdWxhdGlvbkluY3JJbmRleAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAihjaXJjdWxhdGlvbiBpbmRleCBub3QgcHJldmlvdXNseSBkZWZpbmVkAwkAAAIFEGN1cnJlbnRDaXJjSW5kZXgFEGN1cnJlbnRDaXJjSW5kZXgEC3N0YXdBc3NldElkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF9zdGF3QXNzZXRJZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAFAXQJAAIBAh9hc3NldCBpZCBub3QgcHJldmlvdXNseSBkZWZpbmVkAwkAAAIFC3N0YXdBc3NldElkBQtzdGF3QXNzZXRJZAQVc3Rhd0NpcmN1bGF0aW5nU3VwcGx5BAckbWF0Y2gwCQDsBwEJANkEAQULc3Rhd0Fzc2V0SWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwCAUFYXNzZXQIcXVhbnRpdHkJAAIBCQCsAgICFGFzc2V0IG5vdCBmb3VuZCBmb3IgBQtzdGF3QXNzZXRJZAQNdW5pdEluY3JlbWVudAkAaQIJAQRfYWJzAQkAZQIFFXN0YXdDaXJjdWxhdGluZ1N1cHBseQUNX2luY3JlbWVudFJlZgUNX2luY3JlbWVudFJlZgQXbmV3Q2lyY3VsYXRpb25JbmNySW5kZXgDCQBmAgUNdW5pdEluY3JlbWVudAUQY3VycmVudENpcmNJbmRleAkAZAIFDXVuaXRJbmNyZW1lbnQFEGN1cnJlbnRDaXJjSW5kZXgFEGN1cnJlbnRDaXJjSW5kZXgECWN1cnJlbnRNcgQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQNfTXIDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIbZmFpbGVkIHRvIGdldCBtaW5pdGluZyByYXRlAwkAAAIFF25ld0NpcmN1bGF0aW9uSW5jckluZGV4BRBjdXJyZW50Q2lyY0luZGV4CQCUCgIFCWN1cnJlbnRNcgUDbmlsBBJuZXdyZWR1Y3Rpb25GYWN0b3IEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIpZmFpbGVkIHRvIGdldCBwZXJjZW50YWdlIHJlZHVjdGlvbiBmYWN0b3IEDG5ld0N1cnJlbnRNcgkAZQIFCWN1cnJlbnRNcgkAawMFCWN1cnJlbnRNcgUSbmV3cmVkdWN0aW9uRmFjdG9yAGQEBnN0b3JlMQkBEV93cml0ZUdsb2JhbFBhcmFtAgUDX01yBQxuZXdDdXJyZW50TXIEBnN0b3JlMgkBEV93cml0ZUdsb2JhbFBhcmFtAgUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IFEm5ld3JlZHVjdGlvbkZhY3RvcgQGc3RvcmUzCQERX3dyaXRlR2xvYmFsUGFyYW0CBRVfY2lyY3VsYXRpb25JbmNySW5kZXgFF25ld0NpcmN1bGF0aW9uSW5jckluZGV4CQCUCgIFDG5ld0N1cnJlbnRNcgkAzAgCBQZzdG9yZTEJAMwIAgUGc3RvcmUyCQDMCAIFBnN0b3JlMwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARJfdXBkYXRlR2xvYmFsRW50cnkEC3dhdmVzQW1vdW50CnN0YXdBbW91bnQGc3Rhd1BMCmluZGV4Q291bnQEGl9uZXdHbG9iYWxUb3RhbFdhdmVzQW10UmVmBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDl90b3RhbFdhdmVzUmVmAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFC3dhdmVzQW1vdW50CQACAQIgZmFpbGVkIHRvIGdldCBnbG9iYWwgdG90YWwgd2F2ZXMDCQAAAgUaX25ld0dsb2JhbFRvdGFsV2F2ZXNBbXRSZWYFGl9uZXdHbG9iYWxUb3RhbFdhdmVzQW10UmVmBBlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCl90b3RhbFN0YXcDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAUKc3Rhd0Ftb3VudAkAAgECJmZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHN0YXcgbWludGVkAwkAAAIFGV9uZXdHbG9iYWxUb3RhbFN0YXdNaW50ZWQFGV9uZXdHbG9iYWxUb3RhbFN0YXdNaW50ZWQEFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQxfdG90YWxTdGF3TFADCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAUGc3Rhd1BMCQACAQIhZmFpbGVkIHRvIGdldCBnbG9iYWwgdG90YWwgc3Rhd3BsAwkAAAIFFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAUVX25ld0dsb2JhbFRvdGFsU3Rhd1BMBBNfbmV3R2xvYmFJbmRleENvdW50BAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFEV9nbG9iYWxJbmRleENvdW50AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFCmluZGV4Q291bnQJAAIBAiBmYWlsZWQgdG8gZ2V0IGdsb2JhbCBpbmRleCBjb3VudAMJAAACBRNfbmV3R2xvYmFJbmRleENvdW50BRNfbmV3R2xvYmFJbmRleENvdW50CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBRpfbmV3R2xvYmFsVG90YWxXYXZlc0FtdFJlZgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQpfdG90YWxTdGF3BRlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUVX25ld0dsb2JhbFRvdGFsU3Rhd1BMCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFEV9nbG9iYWxJbmRleENvdW50BRNfbmV3R2xvYmFJbmRleENvdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BEl9yZWdpc3RlclVzZXJFbnRyeQ0NdHJhbnNhY3Rpb25JRAt1c2VyQWRkcmVzcwxsb2NrRHVyYXRpb24SbG9ja0R1cmF0aW9uSW5NaWxpCWxvY2tJbmRleAt3YXZlc0Ftb3VudApzdGF3QW1vdW50DHN0YXdMUEFtb3VudAxsb2NrQXRIZWlnaHQGbG9ja0lkC3RvdGFsTG9ja2VkD2xvY2FsSW5kZXhDb3VudApsZWFzZVN0YXRlBAhfdHhJZEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUFX3R4SWQFA25pbAUDU0VQBBBfbG9ja0R1cmF0aW9uS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fbG9ja0R1cmF0aW9uBQNuaWwFA1NFUAQNX2xvY2tJbmRleEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUKX2xvY2tJbmRleAUDbmlsBQNTRVAED193YXZlc0Ftb3VudEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUMX3dhdmVzQW1vdW50BQNuaWwFA1NFUAQOX3N0YXdBbW91bnRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFC19zdGF3QW1vdW50BQNuaWwFA1NFUAQQX3N0YXdMUEFtb3VudEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX3N0YXdMUEFtb3VudAUDbmlsBQNTRVAEEF9sb2NrQXRIZWlnaHRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDV9sb2NrQXRIZWlnaHQFA25pbAUDU0VQBApfbG9ja0lkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQdfbG9ja0lkBQNuaWwFA1NFUAQPX3RvdGFsTG9ja2VkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUQX3VzZXJUb3RhbExvY2tlZAUDbmlsBQNTRVAEEl9sb2NhbExvY2tJbmRleEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFFF91c2VyTG9jYWxJbmRleENvdW50BQNuaWwFA1NFUAQXX2xvY2tQZXJpb2RJbk1pbGlTZWNLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFFF9sb2NrUGVyaW9kSW5NaWxpU2VjBQNuaWwFA1NFUAQVX3RvdGFsV2F2ZXNDbGFpbWVkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRJfdG90YWxXYXZlc0NsYWltZWQFA25pbAUDU0VQBBJfdXNlckxlYXNlU3RhdGVLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFD191c2VyTGVhc2VTdGF0ZQUDbmlsBQNTRVAECnRyeElkRW50cnkJALkJAgkAzAgCAgIlcwkAzAgCBQ10cmFuc2FjdGlvbklEBQNuaWwFA1NFUAQRbG9ja0R1cmF0aW9uRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDGxvY2tEdXJhdGlvbgUDbmlsBQNTRVAEDmxvY2tJbmRleEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQlsb2NrSW5kZXgFA25pbAUDU0VQBBB3YXZlc0Ftb3VudEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQt3YXZlc0Ftb3VudAUDbmlsBQNTRVAED3N0YXdBbW91bnRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUKc3Rhd0Ftb3VudAUDbmlsBQNTRVAEEXN0YXdMUEFtb3VudEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQxzdGF3TFBBbW91bnQFA25pbAUDU0VQBBFsb2NrQXRIZWlnaHRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUMbG9ja0F0SGVpZ2h0BQNuaWwFA1NFUAQLbG9ja0lkRW50cnkJALkJAgkAzAgCAgIlYgkAzAgCBQZsb2NrSWQFA25pbAUDU0VQBBB0b3RhbExvY2tlZEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQt0b3RhbExvY2tlZAUDbmlsBQNTRVAEE3VzZXJMb2NhbEluZGV4RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFD2xvY2FsSW5kZXhDb3VudAUDbmlsBQNTRVAEGGxvY2tQZXJpb2RJbk1pbGlTZWNFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUSbG9ja0R1cmF0aW9uSW5NaWxpBQNuaWwFA1NFUAQWdG90YWxXYXZlc0NsYWltZWRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQAABQNuaWwFA1NFUAQTdXNlckxlYXNlU3RhdGVFbnRyeQkAuQkCCQDMCAICAiVzCQDMCAIFCmxlYXNlU3RhdGUFA25pbAUDU0VQCQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFCF90eElkS2V5BQp0cnhJZEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFDV9sb2NrSW5kZXhLZXkFDmxvY2tJbmRleEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRJfbG9jYWxMb2NrSW5kZXhLZXkFE3VzZXJMb2NhbEluZGV4RW50cnkJAMwIAgkBCV93cml0ZVN0cgIFD190b3RhbExvY2tlZEtleQUQdG90YWxMb2NrZWRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBRBfbG9ja0R1cmF0aW9uS2V5BRFsb2NrRHVyYXRpb25FbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBRdfbG9ja1BlcmlvZEluTWlsaVNlY0tleQUYbG9ja1BlcmlvZEluTWlsaVNlY0VudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFD193YXZlc0Ftb3VudEtleQUQd2F2ZXNBbW91bnRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQ5fc3Rhd0Ftb3VudEtleQUPc3Rhd0Ftb3VudEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRBfc3Rhd0xQQW1vdW50S2V5BRFzdGF3TFBBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUVX3RvdGFsV2F2ZXNDbGFpbWVkS2V5BRZ0b3RhbFdhdmVzQ2xhaW1lZEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFEF9sb2NrQXRIZWlnaHRLZXkFEWxvY2tBdEhlaWdodEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFCl9sb2NrSWRLZXkFC2xvY2tJZEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRJfdXNlckxlYXNlU3RhdGVLZXkFE3VzZXJMZWFzZVN0YXRlRW50cnkFA25pbAEHX3N0YXdNRgIKbG9ja1BlcmlvZA9jb2xsYXRlcmFsV2F2ZXMEC19hZGp1c3RlZE1yCQEKX2NvbXB1dGVNcgAEA3JldAkAawMFD2NvbGxhdGVyYWxXYXZlcwkAaAIFA19EdAgFC19hZGp1c3RlZE1yAl8xCQEEX1BweQEFCmxvY2tQZXJpb2QDCQAAAgkAkAMBCAULX2FkanVzdGVkTXICXzIAAAkAlAoCBQNyZXQFA25pbAkAlAoCBQNyZXQIBQtfYWRqdXN0ZWRNcgJfMgESX2VtaXNzaW9uUmF0ZVdhdmVzAgpsb2NrUGVyaW9kCmNvbGxhdGVyYWwED2V4dGVuc2lvbkZhY3RvcgkAawMFCmxvY2tQZXJpb2QADwAKCQBrAwUKY29sbGF0ZXJhbAkAZQIJAGgCBQpsb2NrUGVyaW9kBQ9leHRlbnNpb25GYWN0b3IFCmxvY2tQZXJpb2QFA19EdAEQX2luY3JUb3RhbFN0YXdMUAEGYW1vdW50BAlvbGRTdGF3TFAJAQ9fdGhyb3dPclJldHVybkkCCQEFX2dldEkBBQxfdG90YWxTdGF3TFACIGNvdWxkIG5vdCBnZXQgdGhlIHJ1bm5pbmcgU3Rhd0xQCQDMCAIJAQlfd3JpdGVJbnQCBQxfdG90YWxTdGF3TFAJAGQCBQlvbGRTdGF3TFAFBmFtb3VudAUDbmlsARBfZGVjclRvdGFsU3Rhd0xQAQZhbW91bnQECW9sZFN0YXdMUAkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDF90b3RhbFN0YXdMUAIgY291bGQgbm90IGdldCB0aGUgcnVubmluZyBTdGF3TFAJAMwIAgkBCV93cml0ZUludAIFDF90b3RhbFN0YXdMUAkAZQIFCW9sZFN0YXdMUAUGYW1vdW50BQNuaWwBEl9pbmNyVG90YWxXYXZlc1JlZgEGYW1vdW50BAtvbGRXYXZlc1JlZgkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDl90b3RhbFdhdmVzUmVmAiBjb3VsZCBub3QgZ2V0IHRvdGFsIGxvY2tlZCB3YXZlcwkAzAgCCQEJX3dyaXRlSW50AgUOX3RvdGFsV2F2ZXNSZWYJAGQCBQtvbGRXYXZlc1JlZgUGYW1vdW50BQNuaWwBEl9kZWNyVG90YWxXYXZlc1JlZgEGYW1vdW50BAtvbGRXYXZlc1JlZgkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDl90b3RhbFdhdmVzUmVmAiBjb3VsZCBub3QgZ2V0IHRvdGFsIGxvY2tlZCB3YXZlcwkAzAgCCQEJX3dyaXRlSW50AgUOX3RvdGFsV2F2ZXNSZWYJAGUCBQtvbGRXYXZlc1JlZgUGYW1vdW50BQNuaWwBEF9nZXROZXdUaW1lU3RhbXABC2Jsb2NrSGVpZ2h0BAR0aW1lBAckbWF0Y2gwCQDtBwEFC2Jsb2NrSGVpZ2h0AwkAAQIFByRtYXRjaDACCUJsb2NrSW5mbwQIdGltZUluZm8FByRtYXRjaDAIBQh0aW1lSW5mbwl0aW1lc3RhbXAJAAIBAhRjb3VubGQgZ2V0IHRpbWVzdGFtcAUEdGltZQYBaQELZ2V0RW1pc3Npb24CCmxvY2tQZXJpb2QKY29sbGF0ZXJhbAQGY2hlY2sxCQEMX29ubHlNYW5hZ2VyAQUBaQMJAAACBQZjaGVjazEFBmNoZWNrMQkAlAoCBQNuaWwJARJfZW1pc3Npb25SYXRlV2F2ZXMCBQpsb2NrUGVyaW9kBQpjb2xsYXRlcmFsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBGluaXQEB21hbmFnZXIDZGZ4B2Fzc2V0SUQJbGVhc2VOb2RlBBRtYW5hZ2VyQWxyZWFkeUV4aXN0cwMJAQlpc0RlZmluZWQBCQEFX2dldFMBBQhfbWFuYWdlcgkBDF9vbmx5TWFuYWdlcgEFAWkGAwkAAAIFFG1hbmFnZXJBbHJlYWR5RXhpc3RzBRRtYW5hZ2VyQWxyZWFkeUV4aXN0cwQGY2hlY2sxCQEQX3ZhbGlkYXRlQWRkcmVzcwIFB21hbmFnZXICD2ludmFsaWQgYWRkcmVzcwMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syCQEQX3ZhbGlkYXRlQWRkcmVzcwIFA2RmeAIPaW52YWxpZCBhZGRyZXNzAwkAAAIFBmNoZWNrMgUGY2hlY2syBAZjaGVjazMJARBfdmFsaWRhdGVBZGRyZXNzAgUJbGVhc2VOb2RlAg9pbnZhbGlkIGFkZHJlc3MDCQAAAgUGY2hlY2szBQZjaGVjazMEBmNoZWNrNAMJAQ5fdmFsaWRhdGVBc3NldAIFB2Fzc2V0SUQCDWludmFsaWQgYXNzZXQGCQACAQIQaW52YWxpZCBhc3NldCBJZAMJAAACBQZjaGVjazQFBmNoZWNrNAQQY2lyY3VsYXRpb25JbmRleAkBDF9zZXRQYXJhbVZhbAIFFV9jaXJjdWxhdGlvbkluY3JJbmRleAAABBdwZXJjZW50YWdlUmVkdWN0aW9uSW5NcgkBDF9zZXRQYXJhbVZhbAIFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yAAAEAk1yCQEMX3NldFBhcmFtVmFsAgUDX01yBQ1fdW5pdERlY2ltYWxzBA90b3RhbFN0YXdNaW50ZWQJAQxfc2V0UGFyYW1WYWwCBQpfdG90YWxTdGF3AAAEGHRvdGFsU3Rhd0xQSW5DaXJjdWxhdGlvbgkBDF9zZXRQYXJhbVZhbAIFDF90b3RhbFN0YXdMUAAABBBnbG9iYWxJbmRleENvdW50CQEMX3NldFBhcmFtVmFsAgURX2dsb2JhbEluZGV4Q291bnQAAAQNdG90YWxXYXZlc1JlZgkBDF9zZXRQYXJhbVZhbAIFDl90b3RhbFdhdmVzUmVmAAAJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUIX21hbmFnZXIFB21hbmFnZXIJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUEX0RmeAUDZGZ4CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF9zdGF3QXNzZXRJZAUHYXNzZXRJRAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQ5fbGVzc2VlQWRkcmVzcwUJbGVhc2VOb2RlCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFFV9jaXJjdWxhdGlvbkluY3JJbmRleAUQY2lyY3VsYXRpb25JbmRleAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQNfTXIFAk1yCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFGl9wZXJjZW50YWdlUmVkdWN0aW9uRmFjdG9yBRdwZXJjZW50YWdlUmVkdWN0aW9uSW5NcgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQ5fdG90YWxXYXZlc1JlZgUNdG90YWxXYXZlc1JlZgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQxfdG90YWxTdGF3TFAFGHRvdGFsU3Rhd0xQSW5DaXJjdWxhdGlvbgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQpfdG90YWxTdGF3BQ90b3RhbFN0YXdNaW50ZWQJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgURX2dsb2JhbEluZGV4Q291bnQFEGdsb2JhbEluZGV4Q291bnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJtb2RpZnlHbG9iYWxQYXJhbXMBA3ZhbAQGY2hlY2sxCQEMX29ubHlNYW5hZ2VyAQUBaQMJAAACBQZjaGVjazEFBmNoZWNrMQQIZXJyb3JNc2cJALkJAgkAzAgCAgNnb3QJAMwIAgIMbGlzdCBzaXplIG9mCQDMCAIJAKQDAQkAkAMBBQN2YWwJAMwIAgIlYnV0IGV4cGVjdGVkIFtnbG9iYWxfa2V5LCB2YWx1ZV0gcGFpcgUDbmlsAgEgBAZjaGVjazIJAQhfdGhyb3dJZgIJAQIhPQIJAJADAQUDdmFsAAIFCGVycm9yTXNnAwkAAAIFBmNoZWNrMgUGY2hlY2syBANrZXkJAJEDAgUDdmFsAAAEB3ZhbFR5cGUJALYJAQkAkQMCBQN2YWwAAQQHJG1hdGNoMAUHdmFsVHlwZQMJAAECBQckbWF0Y2gwAgNJbnQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5BBBlbnN1cmVWYWxpZFBhaXJzBAckbWF0Y2gxCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFA2tleQMJAAECBQckbWF0Y2gxAgNJbnQEAXQFByRtYXRjaDEGCQACAQIWaW52YWxpZCBrZXktdmFsdWUgcGFpcgMJAAACBRBlbnN1cmVWYWxpZFBhaXJzBRBlbnN1cmVWYWxpZFBhaXJzCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQUBeAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAQIFByRtYXRjaDACBFVuaXQEAXgFByRtYXRjaDAEC3ZhbGlkYXRlS2V5CQEIX3Rocm93SWYCCQAAAgkBBV9nZXRTAQUDa2V5BQR1bml0CQCsAgIJAKwCAgIEa2V5IAUDa2V5Ag8gbm90IHJlY29nbml6ZWQDCQAAAgULdmFsaWRhdGVLZXkFC3ZhbGlkYXRlS2V5BAtzdHJpbmdWYWx1ZQkAkQMCBQN2YWwAAQQKcmVmQWRkcmVzcwkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQhfbWFuYWdlcgQGY2hlY2s0BAckbWF0Y2gxBQpyZWZBZGRyZXNzAwkAAQIFByRtYXRjaDECBlN0cmluZwQHc3RyVHlwZQUHJG1hdGNoMQMJAAACCQCxAgEFB3N0clR5cGUJALECAQULc3RyaW5nVmFsdWUJARBfdmFsaWRhdGVBZGRyZXNzAgULc3RyaW5nVmFsdWUCI3N0cmluZyB0eXBlIGZvciB2YWx1ZSBub3Qgc3VwcG9ydGVkCQEOX3ZhbGlkYXRlQXNzZXQCBQtzdHJpbmdWYWx1ZQIjc3RyaW5nIHR5cGUgZm9yIHZhbHVlIG5vdCBzdXBwb3J0ZWQHAwkAAAIFBmNoZWNrNAUGY2hlY2s0CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA2tleQULc3RyaW5nVmFsdWUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgEJAKwCAgIRZmFpbGVkIHRvIG1vZGlmeSAJAJEDAgUDdmFsAAAJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKcmV2b2tlTG9jawAEBmNoZWNrMQkBDF9vbmx5TWFuYWdlcgEFAWkDCQAAAgUGY2hlY2sxBQZjaGVjazEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVjbGFpbQENdHJhbnNhY3Rpb25JRAQNY2FsbGVyQWRkcmVzcwkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBA1jb2xsYXRlcmFsS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDF93YXZlc0Ftb3VudAUDbmlsBQNTRVAEDWxvY2twZXJpb2RLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX2xvY2tEdXJhdGlvbgUDbmlsBQNTRVAECWxvY2tJZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQdfbG9ja0lkBQNuaWwFA1NFUAQTbG9ja3BlcmlvZEluTWlsaUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRRfbG9ja1BlcmlvZEluTWlsaVNlYwUDbmlsBQNTRVAEFHRvdGFsV2F2ZXNDbGFpbWVkS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFEl90b3RhbFdhdmVzQ2xhaW1lZAUDbmlsBQNTRVAED3N0YXdMUEFtb3VudEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fc3Rhd0xQQW1vdW50BQNuaWwFA1NFUAQOd2F2ZXNBbW91bnRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUMX3dhdmVzQW1vdW50BQNuaWwFA1NFUAQXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFEF91c2VyVG90YWxMb2NrZWQFA25pbAUDU0VQBBF1c2VyTGVhc2VTdGF0ZUtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ9fdXNlckxlYXNlU3RhdGUFA25pbAUDU0VQBA1sZWFzZVN0YXRlS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFD191c2VyTGVhc2VTdGF0ZQUDbmlsBQNTRVAEHWRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFFF9kYXlzQWZ0ZXJMb2NrUGVyaW9kBQNuaWwFA1NFUAQOZ2xvYmFsV2F2ZXNSZWYEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOX3RvdGFsV2F2ZXNSZWYDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIgZmFpbGVkIHRvIGdldCBnbG9iYWwgdG90YWwgd2F2ZXMDCQAAAgUOZ2xvYmFsV2F2ZXNSZWYFDmdsb2JhbFdhdmVzUmVmBAxnbG9iYWxTdGF3UEwEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUMX3RvdGFsU3Rhd0xQAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECIGZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHdhdmVzAwkAAAIFDGdsb2JhbFN0YXdQTAUMZ2xvYmFsU3Rhd1BMBAZsb2NrSWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUJbG9ja0lkS2V5AwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXQFByRtYXRjaDAFAXQJAAIBAhZmYWlsZWQgdG8gZ2V0IGxlYXNlIGlkAwkAAAIFBmxvY2tJZAUGbG9ja0lkBBR1c2VyVG90YWxXYXZlc0xvY2tlZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRd1c2VyVG90YWxXYXZlc0xvY2tlZEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAjBmYWlsZWQgdG8gZ2V0IHRvdGFsIHdhdmVzIGxvY2tlZCBieSB0aGlzIGFkZHJlc3MDCQAAAgUUdXNlclRvdGFsV2F2ZXNMb2NrZWQFFHVzZXJUb3RhbFdhdmVzTG9ja2VkBAt3YXZlc0Ftb3VudAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ53YXZlc0Ftb3VudEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiBmYWlsZWQgdG8gZ2V0IHRvdGFsIHdhdmVzIGxvY2tlZAMJAAACBQt3YXZlc0Ftb3VudAULd2F2ZXNBbW91bnQEEXRvdGFsV2F2ZXNDbGFpbWVkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFFHRvdGFsV2F2ZXNDbGFpbWVkS2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECIWZhaWxlZCB0byBnZXQgdG90YWwgd2F2ZXMgY2xhaW1lZAMJAAACBRF0b3RhbFdhdmVzQ2xhaW1lZAURdG90YWxXYXZlc0NsYWltZWQEDHN0YXdMUEFtb3VudAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ9zdGF3TFBBbW91bnRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIUZmFpbGVkIHRvIGdldCBzdGF3UEwDCQAAAgUMc3Rhd0xQQW1vdW50BQxzdGF3TFBBbW91bnQEEGxvY2tQZXJpb2RJbk1pbGkEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUTbG9ja3BlcmlvZEluTWlsaUtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiJmYWlsZWQgdG8gZ2V0IGxvY2sgcGVyaW9kIHRpbWVzcGFtAwkAAAIFEGxvY2tQZXJpb2RJbk1pbGkFEGxvY2tQZXJpb2RJbk1pbGkEEGN1cnJlbnRUaW1lU3RhbXAEByRtYXRjaDAJARBfZ2V0TmV3VGltZVN0YW1wAQUGaGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECH2ZhaWxlZCB0byBnZXQgY3VycmVudCB0aW1lc3RhbXADCQAAAgUQY3VycmVudFRpbWVTdGFtcAUQY3VycmVudFRpbWVTdGFtcAQKY29sbGF0ZXJhbAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1jb2xsYXRlcmFsS2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECGGZhaWxlZCB0byBnZXQgY29sbGF0ZXJhbAMJAAACBQpjb2xsYXRlcmFsBQpjb2xsYXRlcmFsBApsb2NrUGVyaW9kBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDWxvY2twZXJpb2RLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIYZmFpbGVkIHRvIGdldCBsb2NrUGVyaW9kAwkAAAIFCmxvY2tQZXJpb2QFCmxvY2tQZXJpb2QEEWN1cnJlbnRMZWFzZVN0YXRlBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFEXVzZXJMZWFzZVN0YXRlS2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAUBdAkAAgECGWZhaWxlZCB0byBnZXQgbGVhc2Ugc3RhdGUDCQAAAgURY3VycmVudExlYXNlU3RhdGUFEWN1cnJlbnRMZWFzZVN0YXRlBApsZWFzZVN0YXRlBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDWxlYXNlU3RhdGVLZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwBQF0CQACAQIiZmFpbGVkIHRvIGdldCBsZWFzZSBzdGF0ZSBmb3IgdXNlcgMJAAACBQpsZWFzZVN0YXRlBQpsZWFzZVN0YXRlBBpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAQHJG1hdGNoMAkBBV9nZXRTAQUdZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWRLZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwBAckbWF0Y2gxCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFHWRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkS2V5AwkAAQIFByRtYXRjaDECA0ludAQBegUHJG1hdGNoMQUBegAAAAADCQAAAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkBAZjaGVjazEJAQhfdGhyb3dJZgIJAGYCBRBsb2NrUGVyaW9kSW5NaWxpBRBjdXJyZW50VGltZVN0YW1wAipsb2NrIHBlcmlvZCBmb3IgdGhpcyBlbnRyeSBoYXMgbm90IGVsYXBzZWQDCQAAAgUGY2hlY2sxBQZjaGVjazEEC2xlYXNlQWN0aW9uAwkAAAIFEWN1cnJlbnRMZWFzZVN0YXRlAgZsZWFzZWQJAJQKAgkBC0xlYXNlQ2FuY2VsAQUGbG9ja0lkCQEJX3dyaXRlU3RyAgURdXNlckxlYXNlU3RhdGVLZXkCCWNhbmNlbGxlZAkAlAoCCQEJX3dyaXRlU3RyAgURdXNlckxlYXNlU3RhdGVLZXkCCWNhbmNlbGxlZAkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQEBmNoZWNrMgkBCF90aHJvd0lmAgMJAAACAAAFC3dhdmVzQW1vdW50BgkAAAIAAAUMc3Rhd0xQQW1vdW50AiFhbGwgY2xhaW1zIGV4aGF1c3RlZCBmb3IgdGhpcyB0cngDCQAAAgUGY2hlY2syBQZjaGVjazIEEmVtaXNzaW9uVmFsdWVQZXJEVAkAaAIJARJfZW1pc3Npb25SYXRlV2F2ZXMCBQpsb2NrUGVyaW9kBQpjb2xsYXRlcmFsBQNfRHQEC2NsYWltQWN0aW9uBA10aW1lU3RhbXBEaWZmCQBlAgUQY3VycmVudFRpbWVTdGFtcAUQbG9ja1BlcmlvZEluTWlsaQQFeGRheXMJAGkCBQ10aW1lU3RhbXBEaWZmBQNfRHQDCQAAAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQAAAkAAgECImxlc3MgdGhhbiAyNGhycyBiZWZvcmUgZmlyc3QgY2xhaW0DCQBnAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQFBXhkYXlzCQACAQIfMjRocnMgb3IgbGVzcyBiZWZvcmUgbmV4dCBjbGFpbQQUdG90YWxBbW91bnRDbGFpbWFibGUJAGgCBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAUSZW1pc3Npb25WYWx1ZVBlckRUBAhjaGVjazNfMQkBCF90aHJvd0lmAgkAAAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAIcY2FuIG9ubHkgY2xhaW0gb25jZSBpbiAyNGhycwMJAAACBQhjaGVjazNfMQUIY2hlY2szXzEECGNoZWNrM18yCQEIX3Rocm93SWYCCQBmAgkAZAIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAULd2F2ZXNBbW91bnQCFGFsbCBjbGFpbXMgZXhoYXVzdGVkAwkAAAIFCGNoZWNrM18yBQhjaGVjazNfMgQRY2xhaW1BbW91bnRUb1NlbmQDCQAAAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQAAQUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBRR0b3RhbEFtb3VudENsYWltYWJsZQURdG90YWxXYXZlc0NsYWltZWQEEm5ld1RvdGFsV2F2ZXNDbGFpbQUUdG90YWxBbW91bnRDbGFpbWFibGUEDm5ld1dhdmVzQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQt3YXZlc0Ftb3VudAUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBQt3YXZlc0Ftb3VudAkAZQIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAQPbmV3U3Rhd0xQQW1vdW50AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAEJAGUCBQxzdGF3TFBBbW91bnQFFHRvdGFsQW1vdW50Q2xhaW1hYmxlCQBlAgUMc3Rhd0xQQW1vdW50CQBlAgUUdG90YWxBbW91bnRDbGFpbWFibGUFEXRvdGFsV2F2ZXNDbGFpbWVkBBBuZXdHbG9iYWxXYXZlUmVmCQBlAgUOZ2xvYmFsV2F2ZXNSZWYFDm5ld1dhdmVzQW1vdW50BA9uZXdHbG9iYWxTdGF3UEwJAGUCBQxnbG9iYWxTdGF3UEwFD25ld1N0YXdMUEFtb3VudAQXbmV3VXNlclRvdGFsV2F2ZXNMb2NrZWQJAGUCBRR1c2VyVG90YWxXYXZlc0xvY2tlZAURY2xhaW1BbW91bnRUb1NlbmQEEHdhdmVzQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDm5ld1dhdmVzQW1vdW50BQNuaWwFA1NFUAQRc3Rhd0xQQW1vdW50RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFD25ld1N0YXdMUEFtb3VudAUDbmlsBQNTRVAEFnRvdGFsV2F2ZXNDbGFpbWVkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFEm5ld1RvdGFsV2F2ZXNDbGFpbQUDbmlsBQNTRVAEHG5ld1VzZXJUb3RhbFdhdmVzTG9ja2VkRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFF25ld1VzZXJUb3RhbFdhdmVzTG9ja2VkBQNuaWwFA1NFUAQfZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUFeGRheXMFA25pbAUDU0VQCQDMCAIIBQtsZWFzZUFjdGlvbgJfMQkAzAgCCAULbGVhc2VBY3Rpb24CXzIJAMwIAgkBCV93cml0ZVN0cgIFDndhdmVzQW1vdW50S2V5BRB3YXZlc0Ftb3VudEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBQ9zdGF3TFBBbW91bnRLZXkFEXN0YXdMUEFtb3VudEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRR0b3RhbFdhdmVzQ2xhaW1lZEtleQUWdG90YWxXYXZlc0NsYWltZWRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkFHG5ld1VzZXJUb3RhbFdhdmVzTG9ja2VkRW50cnkJAMwIAgkBCV93cml0ZVN0cgIFHWRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkS2V5BR9kYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZEVudHJ5CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBRBuZXdHbG9iYWxXYXZlUmVmCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUPbmV3R2xvYmFsU3Rhd1BMCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwURY2xhaW1BbW91bnRUb1NlbmQFBHVuaXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgMJAAACBQtjbGFpbUFjdGlvbgULY2xhaW1BY3Rpb24FC2NsYWltQWN0aW9uCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCG1pbnRTdGF3AQpsb2NrUGVyaW9kBA1jYWxsZXJBZGRyZXNzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEBXRyeElECQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQEBmNoZWNrMQkBCF90aHJvd0lmAgkBAiE9AgABCQCQAwEIBQFpCHBheW1lbnRzAhRubyBwYXltZW50cyBhdHRhY2hlZAMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syAwkBCWlzRGVmaW5lZAEICQCRAwIIBQFpCHBheW1lbnRzAAAHYXNzZXRJZAkAAgECFG9ubHkgd2F2ZXMgc3VwcG9ydGVkBgMJAAACBQZjaGVjazIFBmNoZWNrMgQNYW1vdW50SW5XYXZlcwgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEBmNoZWNrMwMDCQBmAgUOX21pbkxvY2tBbW91bnQFDWFtb3VudEluV2F2ZXMGCQBmAgUNYW1vdW50SW5XYXZlcwUOX21heExvY2tBbW91bnQJAAIBAj9sb2NrIGFtb3VudCBvdXQgb2YgcmFuZ2UsIG1pbmltdW06IDEgd2F2ZXMsIG1heGltdW06IDEwMDAgd2F2ZXMGAwkAAAIFBmNoZWNrMwUGY2hlY2szBAZjaGVjazQDCQBmAgUOX21pbkxvY2twZXJpb2QFCmxvY2tQZXJpb2QJAAIBAh5taW5pbXVtIG9mIDE0IGRheXMgbG9jayBwZXJpb2QGAwkAAAIFBmNoZWNrNAUGY2hlY2s0BA10b3RhbFN0YXdNaW50CQEHX3N0YXdNRgIFCmxvY2tQZXJpb2QFDWFtb3VudEluV2F2ZXMEBnN0YXdQTAUNYW1vdW50SW5XYXZlcwQDZmVlCQBrAwgFDXRvdGFsU3Rhd01pbnQCXzEACgBkBBF1c2VyR2V0U3Rhd0Ftb3VudAkAZQIIBQ10b3RhbFN0YXdNaW50Al8xBQNmZWUEE2xvY2tQZXJpb2RUb01pbGlzZWMJAGQCCQEQX2dldE5ld1RpbWVTdGFtcAEFBmhlaWdodAkBDl9kYXlzVG9NaWxpU2VjAQUKbG9ja1BlcmlvZAMJAAACBRNsb2NrUGVyaW9kVG9NaWxpc2VjBRNsb2NrUGVyaW9kVG9NaWxpc2VjBAluZXdfaW5kZXgEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQURX2dsb2JhbEluZGV4Q291bnQDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAABCQACAQIoZmFpbGVkIHRvIGdldCBjdXJyZW50IGdsb2JhbCBpbmRleCBjb3VudAMJAAACBQluZXdfaW5kZXgFCW5ld19pbmRleAQKYWRkcmVzc0ZlZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQRfRGZ4AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAkBB0FkZHJlc3MBCQDZBAEFAXQJAAIBAhlmYWlsZWQgdG8gZ2V0IGRmeCBhZGRyZXNzAwkAAAIFCmFkZHJlc3NGZWUFCmFkZHJlc3NGZWUEC3N0YXdBc3NldElkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF9zdGF3QXNzZXRJZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAJANkEAQUBdAkAAgECFmZhaWxlZCB0byBnZXQgYXNzZXQgaWQDCQAAAgULc3Rhd0Fzc2V0SWQFC3N0YXdBc3NldElkBAZsZXNzZWUEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOX2xlc3NlZUFkZHJlc3MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwCQEHQWRkcmVzcwEJANkEAQUBdAkAAgECIGZhaWxlZCB0byBnZXQgbGVhc2Ugbm9kZSBhZGRyZXNzAwkAAAIFBmxlc3NlZQUGbGVzc2VlBBB1c2VyTG9ja0luZGV4S2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBRRfdXNlckxvY2FsSW5kZXhDb3VudAUDbmlsBQNTRVAEEnVzZXJUb3RhbExvY2tlZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUQX3VzZXJUb3RhbExvY2tlZAUDbmlsBQNTRVAEDnVzZXJJbmRleENvdW50BAckbWF0Y2gwCQEFX2dldFMBBRB1c2VyTG9ja0luZGV4S2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBeAUHJG1hdGNoMAQHJG1hdGNoMQkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRB1c2VyTG9ja0luZGV4S2V5AwkAAQIFByRtYXRjaDECA0ludAQBdAUHJG1hdGNoMQkAZAIFAXQAAQAAAAADCQAAAgUOdXNlckluZGV4Q291bnQFDnVzZXJJbmRleENvdW50BA91c2VyVG90YWxMb2NrZWQEByRtYXRjaDAJAQVfZ2V0UwEFEnVzZXJUb3RhbExvY2tlZEtleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXgFByRtYXRjaDAEByRtYXRjaDEJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUSdXNlclRvdGFsTG9ja2VkS2V5AwkAAQIFByRtYXRjaDECA0ludAQBdAUHJG1hdGNoMQkAZAIFAXQFDWFtb3VudEluV2F2ZXMFDWFtb3VudEluV2F2ZXMFDWFtb3VudEluV2F2ZXMDCQAAAgUPdXNlclRvdGFsTG9ja2VkBQ91c2VyVG90YWxMb2NrZWQECGxlYXNlT3V0CQDECAIFBmxlc3NlZQUNYW1vdW50SW5XYXZlcwQKbGVhc2VJZFN0cgkA2AQBCQC5CAEFCGxlYXNlT3V0CQDOCAIJAM4IAgkAzggCCQDMCAIFCGxlYXNlT3V0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFCmFkZHJlc3NGZWUFA2ZlZQULc3Rhd0Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCAgFAWkGY2FsbGVyBWJ5dGVzBRF1c2VyR2V0U3Rhd0Ftb3VudAULc3Rhd0Fzc2V0SWQFA25pbAkBEl9yZWdpc3RlclVzZXJFbnRyeQ0FBXRyeElEBQ1jYWxsZXJBZGRyZXNzBQpsb2NrUGVyaW9kBRNsb2NrUGVyaW9kVG9NaWxpc2VjBQluZXdfaW5kZXgFDWFtb3VudEluV2F2ZXMFEXVzZXJHZXRTdGF3QW1vdW50BQZzdGF3UEwFBmhlaWdodAUKbGVhc2VJZFN0cgUPdXNlclRvdGFsTG9ja2VkBQ51c2VySW5kZXhDb3VudAIGbGVhc2VkCQESX3VwZGF0ZUdsb2JhbEVudHJ5BAUNYW1vdW50SW5XYXZlcwgFDXRvdGFsU3Rhd01pbnQCXzEFBnN0YXdQTAUJbmV3X2luZGV4CAUNdG90YWxTdGF3TWludAJfMgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgCnNE5O", "height": 2498498, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4HRzwe8P96dfp9NAgksqBUxYLMMC77YmuFdv3uRLSoT7 Next: HRBPaAcvWTVy5piK6EUJv5ThzjkMmJSmG8hLQYkuEPWZ Diff:
OldNewDifferences
874874 let bH = makeString(["%d", toString(dh)], a)
875875 let bN = makeString(["%d", toString(df)], a)
876876 let dl = makeString(["%d", toString(dk)], a)
877- let dm = makeString(["%d", toString(cU)], a)
877+ let dm = makeString(["%d", toString(da)], a)
878878 [cW._1, cW._2, ad(cI, bF), ad(cH, bH), ad(cG, bN), ad(cJ, dl), ad(cM, dm), ag(I, di), ag(J, dj), ScriptTransfer(Address(au.caller.bytes), de, unit)]
879879 }
880880 else throw("Strict value is not equal to itself.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = 1
77
88 let c = 100000000
99
1010 let d = (1 * c)
1111
1212 let e = (1000 * c)
1313
1414 let f = 86400000
1515
1616 func g (h) = fraction(c, 365, h)
1717
1818
1919 let i = (1000000 * c)
2020
2121 let j = fraction(c, 10, 100)
2222
2323 let k = "Current_PercentageReduction_Factor_For_Mr"
2424
2525 let l = "Minting_Rate"
2626
2727 let m = "Staw_AssetId"
2828
2929 let n = "manager"
3030
3131 let o = "Dfx"
3232
3333 let p = "CirculationIncrementIndex"
3434
3535 let q = "LeaseNode"
3636
3737 let r = "EmissionAmountClaimed"
3838
3939 let s = "CanClaimEmissionAmount"
4040
4141 let t = "WalletAddress"
4242
4343 let u = "TotalEntryIndexCount"
4444
4545 let v = "TotalLocked"
4646
4747 let w = "LockDuration"
4848
4949 let x = "GlobalLockIndex"
5050
5151 let y = "LockIdentifier"
5252
5353 let z = "AmountInWaves"
5454
5555 let A = "AmountInStaw"
5656
5757 let B = "AmountInStawLP"
5858
5959 let C = "TXID"
6060
6161 let D = "LockAtHeight"
6262
6363 let E = "LocKPeriodInMilliSec"
6464
6565 let F = "TotalWavesClaimed"
6666
6767 let G = "LeaseState"
6868
6969 let H = "TotalStawMinted"
7070
7171 let I = "TotalWavesLocked"
7272
7373 let J = "TotalStawLP"
7474
7575 let K = "IndexCount"
7676
7777 let L = "DaysAfterLockPeriodElasped"
7878
7979 func M (N) = getInteger(this, N)
8080
8181
8282 func O (N) = getString(this, N)
8383
8484
8585 func P (N) = getBoolean(this, N)
8686
8787
8888 func Q (N) = value(getBoolean(this, N))
8989
9090
9191 func R (N) = value(getInteger(this, N))
9292
9393
9494 func S (N) = value(getString(this, N))
9595
9696
9797 func T (N,U) = {
9898 let V = U
9999 if ($isInstanceOf(V, "String"))
100100 then {
101101 let U = V
102102 if (isDefined(O(N)))
103103 then S(N)
104104 else U
105105 }
106106 else if ($isInstanceOf(V, "Int"))
107107 then {
108108 let U = V
109109 if (isDefined(M(N)))
110110 then R(N)
111111 else U
112112 }
113113 else if ($isInstanceOf(V, "Boolean"))
114114 then {
115115 let U = V
116116 if (isDefined(P(N)))
117117 then Q(N)
118118 else U
119119 }
120120 else throw(("value type not supported for " + N))
121121 }
122122
123123
124124 func W (X,Y) = {
125125 let V = X
126126 if ($isInstanceOf(V, "String"))
127127 then {
128128 let X = V
129129 X
130130 }
131131 else throw(Y)
132132 }
133133
134134
135135 func Z (X,Y) = {
136136 let V = X
137137 if ($isInstanceOf(V, "Int"))
138138 then {
139139 let X = V
140140 X
141141 }
142142 else throw(Y)
143143 }
144144
145145
146146 func aa (X,Y) = {
147147 let V = X
148148 if ($isInstanceOf(V, "Boolean"))
149149 then {
150150 let X = V
151151 X
152152 }
153153 else throw(Y)
154154 }
155155
156156
157157 func ab (N,ac) = if ((0 > ac))
158158 then throw(((("writing negative value " + toString(ac)) + " for key ") + N))
159159 else IntegerEntry(N, ac)
160160
161161
162162 func ad (N,ac) = if ((" " == ac))
163163 then throw(("writing an empty string " + ac))
164164 else StringEntry(N, ac)
165165
166166
167167 func ae (af,Y) = if (af)
168168 then throw(Y)
169169 else true
170170
171171
172172 func ag (N,ah) = {
173173 let V = ah
174174 if ($isInstanceOf(V, "Int"))
175175 then {
176176 let ah = V
177177 let ai = makeString(["%d", toString(ah)], a)
178178 ad(N, ai)
179179 }
180180 else if ($isInstanceOf(V, "String"))
181181 then {
182182 let ah = V
183183 let ai = makeString(["%s", ah], a)
184184 ad(N, ai)
185185 }
186186 else if ($isInstanceOf(V, "Boolean"))
187187 then {
188188 let ah = V
189189 let ai = makeString(["%b", toString(ah)], a)
190190 ad(N, ai)
191191 }
192192 else throw("type not supported")
193193 }
194194
195195
196196 func aj (N) = {
197197 let ak = W(O(N), ("entry not found for " + N))
198198 if ((ak == ak))
199199 then {
200200 let al = split(ak, a)
201201 let am = takeRight(al[0], 1)
202202 let an = al[(size(al) - 1)]
203203 let ah = if ((am == "s"))
204204 then an
205205 else if ((am == "d"))
206206 then parseIntValue(an)
207207 else if ((am == "b"))
208208 then fromBase58String(an)
209209 else throw(("could not parse registry value for " + N))
210210 ah
211211 }
212212 else throw("Strict value is not equal to itself.")
213213 }
214214
215215
216216 func ao (ap) = {
217217 let aq = ae((0 >= ap), "invalid locking days!")
218218 if ((aq == aq))
219219 then (ap * f)
220220 else throw("Strict value is not equal to itself.")
221221 }
222222
223223
224224 func ar (N,ac) = if (!(isDefined(O(N))))
225225 then ad(N, ac)
226226 else throw(("entry already initialized: " + N))
227227
228228
229229 func as (N,ac) = if (!(isDefined(O(N))))
230230 then ab(N, ac)
231231 else throw((" entry already initialized: " + N))
232232
233233
234234 func at (au) = {
235235 let av = {
236236 let V = aj(n)
237237 if ($isInstanceOf(V, "String"))
238238 then {
239239 let X = V
240240 X
241241 }
242242 else "failed to get manager"
243243 }
244244 if ((av == av))
245245 then ae((toBase58String(au.caller.bytes) != av), "address not authorized")
246246 else throw("Strict value is not equal to itself.")
247247 }
248248
249249
250250 func aw (X) = if ((0 > X))
251251 then -(X)
252252 else X
253253
254254
255255 func ax (ay,az) = {
256256 let V = ay
257257 if ($isInstanceOf(V, "String"))
258258 then {
259259 let ay = V
260260 let aA = addressFromString(ay)
261261 let aB = aA
262262 if ($isInstanceOf(aB, "Address"))
263263 then {
264264 let aA = aB
265265 true
266266 }
267267 else {
268268 let aC = az
269269 if ($isInstanceOf(aC, "String"))
270270 then {
271271 let aD = aC
272272 throw(aD)
273273 }
274274 else false
275275 }
276276 }
277277 else if ($isInstanceOf(V, "ByteVector"))
278278 then {
279279 let ay = V
280280 let aA = addressFromPublicKey(ay)
281281 let aB = aA
282282 if ($isInstanceOf(aB, "Address"))
283283 then {
284284 let aA = aB
285285 true
286286 }
287287 else {
288288 let aC = az
289289 if ($isInstanceOf(aC, "String"))
290290 then {
291291 let aD = aC
292292 throw(aD)
293293 }
294294 else false
295295 }
296296 }
297297 else throw("invalid input type")
298298 }
299299
300300
301301 func aE (aF,az) = {
302302 let V = assetInfo(fromBase58String(aF))
303303 if ($isInstanceOf(V, "Asset"))
304304 then {
305305 let aG = V
306306 true
307307 }
308308 else {
309309 let aB = az
310310 if ($isInstanceOf(aB, "String"))
311311 then {
312312 let aD = aB
313313 throw(aD)
314314 }
315315 else false
316316 }
317317 }
318318
319319
320320 func aH () = {
321321 let aI = {
322322 let V = aj(p)
323323 if ($isInstanceOf(V, "Int"))
324324 then {
325325 let aJ = V
326326 aJ
327327 }
328328 else throw("circulation index not previously defined")
329329 }
330330 if ((aI == aI))
331331 then {
332332 let aK = {
333333 let V = aj(m)
334334 if ($isInstanceOf(V, "String"))
335335 then {
336336 let aJ = V
337337 aJ
338338 }
339339 else throw("asset id not previously defined")
340340 }
341341 if ((aK == aK))
342342 then {
343343 let aL = {
344344 let V = assetInfo(fromBase58String(aK))
345345 if ($isInstanceOf(V, "Asset"))
346346 then {
347347 let aG = V
348348 aG.quantity
349349 }
350350 else throw(("asset not found for " + aK))
351351 }
352352 let aM = (aw((aL - i)) / i)
353353 let aN = if ((aM > aI))
354354 then (aM + aI)
355355 else aI
356356 let aO = {
357357 let V = aj(l)
358358 if ($isInstanceOf(V, "Int"))
359359 then {
360360 let aJ = V
361361 aJ
362362 }
363363 else throw("failed to get miniting rate")
364364 }
365365 if ((aN == aI))
366366 then $Tuple2(aO, nil)
367367 else {
368368 let aP = {
369369 let V = aj(k)
370370 if ($isInstanceOf(V, "Int"))
371371 then {
372372 let aJ = V
373373 aJ
374374 }
375375 else throw("failed to get percentage reduction factor")
376376 }
377377 let aQ = (aO - fraction(aO, aP, 100))
378378 let aR = ag(l, aQ)
379379 let aS = ag(k, aP)
380380 let aT = ag(p, aN)
381381 $Tuple2(aQ, [aR, aS, aT])
382382 }
383383 }
384384 else throw("Strict value is not equal to itself.")
385385 }
386386 else throw("Strict value is not equal to itself.")
387387 }
388388
389389
390390 func aU (aV,aW,aX,aY) = {
391391 let aZ = {
392392 let V = aj(I)
393393 if ($isInstanceOf(V, "Int"))
394394 then {
395395 let aJ = V
396396 (aJ + aV)
397397 }
398398 else throw("failed to get global total waves")
399399 }
400400 if ((aZ == aZ))
401401 then {
402402 let ba = {
403403 let V = aj(H)
404404 if ($isInstanceOf(V, "Int"))
405405 then {
406406 let aJ = V
407407 (aJ + aW)
408408 }
409409 else throw("failed to get global total staw minted")
410410 }
411411 if ((ba == ba))
412412 then {
413413 let bb = {
414414 let V = aj(J)
415415 if ($isInstanceOf(V, "Int"))
416416 then {
417417 let aJ = V
418418 (aJ + aX)
419419 }
420420 else throw("failed to get global total stawpl")
421421 }
422422 if ((bb == bb))
423423 then {
424424 let bc = {
425425 let V = aj(K)
426426 if ($isInstanceOf(V, "Int"))
427427 then {
428428 let aJ = V
429429 (aJ + aY)
430430 }
431431 else throw("failed to get global index count")
432432 }
433433 if ((bc == bc))
434434 then [ag(I, aZ), ag(H, ba), ag(J, bb), ag(K, bc)]
435435 else throw("Strict value is not equal to itself.")
436436 }
437437 else throw("Strict value is not equal to itself.")
438438 }
439439 else throw("Strict value is not equal to itself.")
440440 }
441441 else throw("Strict value is not equal to itself.")
442442 }
443443
444444
445445 func bd (be,bf,bg,bh,bi,aV,aW,bj,bk,bl,bm,bn,bo) = {
446446 let bp = makeString([bf, be, C], a)
447447 let bq = makeString([bf, be, w], a)
448448 let br = makeString([bf, be, x], a)
449449 let bs = makeString([bf, be, z], a)
450450 let bt = makeString([bf, be, A], a)
451451 let bu = makeString([bf, be, B], a)
452452 let bv = makeString([bf, be, D], a)
453453 let bw = makeString([bf, be, y], a)
454454 let bx = makeString([bf, v], a)
455455 let by = makeString([bf, u], a)
456456 let bz = makeString([bf, be, E], a)
457457 let bA = makeString([bf, be, F], a)
458458 let bB = makeString([bf, be, G], a)
459459 let bC = makeString(["%s", be], a)
460460 let bD = makeString(["%d", toString(bg)], a)
461461 let bE = makeString(["%d", toString(bi)], a)
462462 let bF = makeString(["%d", toString(aV)], a)
463463 let bG = makeString(["%d", toString(aW)], a)
464464 let bH = makeString(["%d", toString(bj)], a)
465465 let bI = makeString(["%d", toString(bk)], a)
466466 let bJ = makeString(["%b", bl], a)
467467 let bK = makeString(["%d", toString(bm)], a)
468468 let bL = makeString(["%d", toString(bn)], a)
469469 let bM = makeString(["%d", toString(bh)], a)
470470 let bN = makeString(["%d", toString(0)], a)
471471 let bO = makeString(["%s", bo], a)
472472 [ar(bp, bC), ar(br, bE), ad(by, bL), ad(bx, bK), ar(bq, bD), ar(bz, bM), ar(bs, bF), ar(bt, bG), ad(bu, bH), ad(bA, bN), ar(bv, bI), ar(bw, bJ), ad(bB, bO)]
473473 }
474474
475475
476476 func bP (h,bQ) = {
477477 let bR = aH()
478478 let bS = fraction(bQ, (f * bR._1), g(h))
479479 if ((size(bR._2) == 0))
480480 then $Tuple2(bS, nil)
481481 else $Tuple2(bS, bR._2)
482482 }
483483
484484
485485 func bT (h,bU) = {
486486 let bV = fraction(h, 15, 10)
487487 fraction(bU, ((h * bV) - h), f)
488488 }
489489
490490
491491 func bW (bX) = {
492492 let bY = Z(M(J), "could not get the running StawLP")
493493 [ab(J, (bY + bX))]
494494 }
495495
496496
497497 func bZ (bX) = {
498498 let bY = Z(M(J), "could not get the running StawLP")
499499 [ab(J, (bY - bX))]
500500 }
501501
502502
503503 func ca (bX) = {
504504 let cb = Z(M(I), "could not get total locked waves")
505505 [ab(I, (cb + bX))]
506506 }
507507
508508
509509 func cc (bX) = {
510510 let cb = Z(M(I), "could not get total locked waves")
511511 [ab(I, (cb - bX))]
512512 }
513513
514514
515515 func cd (ce) = {
516516 let cf = {
517517 let V = blockInfoByHeight(ce)
518518 if ($isInstanceOf(V, "BlockInfo"))
519519 then {
520520 let cg = V
521521 cg.timestamp
522522 }
523523 else throw("counld get timestamp")
524524 }
525525 cf
526526 }
527527
528528
529529 @Callable(au)
530530 func getEmission (h,bU) = {
531531 let ch = at(au)
532532 if ((ch == ch))
533533 then $Tuple2(nil, bT(h, bU))
534534 else throw("Strict value is not equal to itself.")
535535 }
536536
537537
538538
539539 @Callable(au)
540540 func init (av,ci,aF,cj) = {
541541 let ck = if (isDefined(O(n)))
542542 then at(au)
543543 else true
544544 if ((ck == ck))
545545 then {
546546 let ch = ax(av, "invalid address")
547547 if ((ch == ch))
548548 then {
549549 let cl = ax(ci, "invalid address")
550550 if ((cl == cl))
551551 then {
552552 let cm = ax(cj, "invalid address")
553553 if ((cm == cm))
554554 then {
555555 let cn = if (aE(aF, "invalid asset"))
556556 then true
557557 else throw("invalid asset Id")
558558 if ((cn == cn))
559559 then {
560560 let co = T(p, 0)
561561 let cp = T(k, 0)
562562 let cq = T(l, c)
563563 let cr = T(H, 0)
564564 let cs = T(J, 0)
565565 let ct = T(K, 0)
566566 let cu = T(I, 0)
567567 [ag(n, av), ag(o, ci), ag(m, aF), ag(q, cj), ag(p, co), ag(l, cq), ag(k, cp), ag(I, cu), ag(J, cs), ag(H, cr), ag(K, ct)]
568568 }
569569 else throw("Strict value is not equal to itself.")
570570 }
571571 else throw("Strict value is not equal to itself.")
572572 }
573573 else throw("Strict value is not equal to itself.")
574574 }
575575 else throw("Strict value is not equal to itself.")
576576 }
577577 else throw("Strict value is not equal to itself.")
578578 }
579579
580580
581581
582582 @Callable(au)
583583 func modifyGlobalParams (X) = {
584584 let ch = at(au)
585585 if ((ch == ch))
586586 then {
587587 let az = makeString(["got", "list size of", toString(size(X)), "but expected [global_key, value] pair"], " ")
588588 let cl = ae((size(X) != 2), az)
589589 if ((cl == cl))
590590 then {
591591 let N = X[0]
592592 let cv = parseInt(X[1])
593593 let V = cv
594594 if ($isInstanceOf(V, "Int"))
595595 then {
596596 let al = V
597597 let cw = ae((O(N) == unit), (("key " + N) + " not recognized"))
598598 if ((cw == cw))
599599 then {
600600 let cx = {
601601 let aB = aj(N)
602602 if ($isInstanceOf(aB, "Int"))
603603 then {
604604 let aJ = aB
605605 true
606606 }
607607 else throw("invalid key-value pair")
608608 }
609609 if ((cx == cx))
610610 then [ag(N, al)]
611611 else throw("Strict value is not equal to itself.")
612612 }
613613 else throw("Strict value is not equal to itself.")
614614 }
615615 else if ($isInstanceOf(V, "Unit"))
616616 then {
617617 let al = V
618618 let cw = ae((O(N) == unit), (("key " + N) + " not recognized"))
619619 if ((cw == cw))
620620 then {
621621 let cy = X[1]
622622 let cz = aj(n)
623623 let cn = {
624624 let aB = cz
625625 if ($isInstanceOf(aB, "String"))
626626 then {
627627 let cA = aB
628628 if ((size(cA) == size(cy)))
629629 then ax(cy, "string type for value not supported")
630630 else aE(cy, "string type for value not supported")
631631 }
632632 else false
633633 }
634634 if ((cn == cn))
635635 then [ag(N, cy)]
636636 else throw("Strict value is not equal to itself.")
637637 }
638638 else throw("Strict value is not equal to itself.")
639639 }
640640 else throw(("failed to modify " + X[0]))
641641 }
642642 else throw("Strict value is not equal to itself.")
643643 }
644644 else throw("Strict value is not equal to itself.")
645645 }
646646
647647
648648
649649 @Callable(au)
650650 func revokeLock () = {
651651 let ch = at(au)
652652 if ((ch == ch))
653653 then nil
654654 else throw("Strict value is not equal to itself.")
655655 }
656656
657657
658658
659659 @Callable(au)
660660 func claim (be) = {
661661 let cB = toBase58String(au.caller.bytes)
662662 let cC = makeString([cB, be, z], a)
663663 let cD = makeString([cB, be, w], a)
664664 let cE = makeString([cB, be, y], a)
665665 let cF = makeString([cB, be, E], a)
666666 let cG = makeString([cB, be, F], a)
667667 let cH = makeString([cB, be, B], a)
668668 let cI = makeString([cB, be, z], a)
669669 let cJ = makeString([cB, v], a)
670670 let cK = makeString([cB, be, G], a)
671671 let cL = makeString([cB, be, G], a)
672672 let cM = makeString([cB, be, L], a)
673673 let cN = {
674674 let V = aj(I)
675675 if ($isInstanceOf(V, "Int"))
676676 then {
677677 let aJ = V
678678 aJ
679679 }
680680 else throw("failed to get global total waves")
681681 }
682682 if ((cN == cN))
683683 then {
684684 let cO = {
685685 let V = aj(J)
686686 if ($isInstanceOf(V, "Int"))
687687 then {
688688 let aJ = V
689689 aJ
690690 }
691691 else throw("failed to get global total waves")
692692 }
693693 if ((cO == cO))
694694 then {
695695 let bl = {
696696 let V = aj(cE)
697697 if ($isInstanceOf(V, "ByteVector"))
698698 then {
699699 let aJ = V
700700 aJ
701701 }
702702 else throw("failed to get lease id")
703703 }
704704 if ((bl == bl))
705705 then {
706706 let cP = {
707707 let V = aj(cJ)
708708 if ($isInstanceOf(V, "Int"))
709709 then {
710710 let aJ = V
711711 aJ
712712 }
713713 else throw("failed to get total waves locked by this address")
714714 }
715715 if ((cP == cP))
716716 then {
717717 let aV = {
718718 let V = aj(cI)
719719 if ($isInstanceOf(V, "Int"))
720720 then {
721721 let aJ = V
722722 aJ
723723 }
724724 else throw("failed to get total waves locked")
725725 }
726726 if ((aV == aV))
727727 then {
728728 let cQ = {
729729 let V = aj(cG)
730730 if ($isInstanceOf(V, "Int"))
731731 then {
732732 let aJ = V
733733 aJ
734734 }
735735 else throw("failed to get total waves claimed")
736736 }
737737 if ((cQ == cQ))
738738 then {
739739 let bj = {
740740 let V = aj(cH)
741741 if ($isInstanceOf(V, "Int"))
742742 then {
743743 let aJ = V
744744 aJ
745745 }
746746 else throw("failed to get stawPL")
747747 }
748748 if ((bj == bj))
749749 then {
750750 let cR = {
751751 let V = aj(cF)
752752 if ($isInstanceOf(V, "Int"))
753753 then {
754754 let aJ = V
755755 aJ
756756 }
757757 else throw("failed to get lock period timespam")
758758 }
759759 if ((cR == cR))
760760 then {
761761 let cS = {
762762 let V = cd(height)
763763 if ($isInstanceOf(V, "Int"))
764764 then {
765765 let aJ = V
766766 aJ
767767 }
768768 else throw("failed to get current timestamp")
769769 }
770770 if ((cS == cS))
771771 then {
772772 let bU = {
773773 let V = aj(cC)
774774 if ($isInstanceOf(V, "Int"))
775775 then {
776776 let aJ = V
777777 aJ
778778 }
779779 else throw("failed to get collateral")
780780 }
781781 if ((bU == bU))
782782 then {
783783 let h = {
784784 let V = aj(cD)
785785 if ($isInstanceOf(V, "Int"))
786786 then {
787787 let aJ = V
788788 aJ
789789 }
790790 else throw("failed to get lockPeriod")
791791 }
792792 if ((h == h))
793793 then {
794794 let cT = {
795795 let V = aj(cK)
796796 if ($isInstanceOf(V, "String"))
797797 then {
798798 let aJ = V
799799 aJ
800800 }
801801 else throw("failed to get lease state")
802802 }
803803 if ((cT == cT))
804804 then {
805805 let bo = {
806806 let V = aj(cL)
807807 if ($isInstanceOf(V, "String"))
808808 then {
809809 let aJ = V
810810 aJ
811811 }
812812 else throw("failed to get lease state for user")
813813 }
814814 if ((bo == bo))
815815 then {
816816 let cU = {
817817 let V = O(cM)
818818 if ($isInstanceOf(V, "String"))
819819 then {
820820 let aJ = V
821821 let aB = aj(cM)
822822 if ($isInstanceOf(aB, "Int"))
823823 then {
824824 let cV = aB
825825 cV
826826 }
827827 else 0
828828 }
829829 else 0
830830 }
831831 if ((cU == cU))
832832 then {
833833 let ch = ae((cR > cS), "lock period for this entry has not elapsed")
834834 if ((ch == ch))
835835 then {
836836 let cW = if ((cT == "leased"))
837837 then $Tuple2(LeaseCancel(bl), ad(cK, "cancelled"))
838838 else $Tuple2(ad(cK, "cancelled"), ad(cK, "cancelled"))
839839 let cl = ae(if ((0 == aV))
840840 then true
841841 else (0 == bj), "all claims exhausted for this trx")
842842 if ((cl == cl))
843843 then {
844844 let cX = (bT(h, bU) * f)
845845 let cY = {
846846 let cZ = (cS - cR)
847847 let da = (cZ / f)
848848 if ((cU == 0))
849849 then throw("less than 24hrs before first claim")
850850 else if ((cU >= da))
851851 then throw("24hrs or less before next claim")
852852 else {
853853 let db = (cU * cX)
854854 let dc = ae((db == cQ), "can only claim once in 24hrs")
855855 if ((dc == dc))
856856 then {
857857 let dd = ae(((db + cQ) > aV), "all claims exhausted")
858858 if ((dd == dd))
859859 then {
860860 let de = if ((cU == 1))
861861 then db
862862 else (db - cQ)
863863 let df = db
864864 let dg = if ((cU == 1))
865865 then (aV - db)
866866 else (aV - (db - cQ))
867867 let dh = if ((cU == 1))
868868 then (bj - db)
869869 else (bj - (db - cQ))
870870 let di = (cN - dg)
871871 let dj = (cO - dh)
872872 let dk = (cP - de)
873873 let bF = makeString(["%d", toString(dg)], a)
874874 let bH = makeString(["%d", toString(dh)], a)
875875 let bN = makeString(["%d", toString(df)], a)
876876 let dl = makeString(["%d", toString(dk)], a)
877- let dm = makeString(["%d", toString(cU)], a)
877+ let dm = makeString(["%d", toString(da)], a)
878878 [cW._1, cW._2, ad(cI, bF), ad(cH, bH), ad(cG, bN), ad(cJ, dl), ad(cM, dm), ag(I, di), ag(J, dj), ScriptTransfer(Address(au.caller.bytes), de, unit)]
879879 }
880880 else throw("Strict value is not equal to itself.")
881881 }
882882 else throw("Strict value is not equal to itself.")
883883 }
884884 }
885885 if ((cY == cY))
886886 then cY
887887 else throw("Strict value is not equal to itself.")
888888 }
889889 else throw("Strict value is not equal to itself.")
890890 }
891891 else throw("Strict value is not equal to itself.")
892892 }
893893 else throw("Strict value is not equal to itself.")
894894 }
895895 else throw("Strict value is not equal to itself.")
896896 }
897897 else throw("Strict value is not equal to itself.")
898898 }
899899 else throw("Strict value is not equal to itself.")
900900 }
901901 else throw("Strict value is not equal to itself.")
902902 }
903903 else throw("Strict value is not equal to itself.")
904904 }
905905 else throw("Strict value is not equal to itself.")
906906 }
907907 else throw("Strict value is not equal to itself.")
908908 }
909909 else throw("Strict value is not equal to itself.")
910910 }
911911 else throw("Strict value is not equal to itself.")
912912 }
913913 else throw("Strict value is not equal to itself.")
914914 }
915915 else throw("Strict value is not equal to itself.")
916916 }
917917 else throw("Strict value is not equal to itself.")
918918 }
919919 else throw("Strict value is not equal to itself.")
920920 }
921921
922922
923923
924924 @Callable(au)
925925 func mintStaw (h) = {
926926 let cB = toBase58String(au.caller.bytes)
927927 let dn = toBase58String(au.transactionId)
928928 let ch = ae((1 != size(au.payments)), "no payments attached")
929929 if ((ch == ch))
930930 then {
931931 let cl = if (isDefined(au.payments[0].assetId))
932932 then throw("only waves supported")
933933 else true
934934 if ((cl == cl))
935935 then {
936936 let do = au.payments[0].amount
937937 let cm = if (if ((d > do))
938938 then true
939939 else (do > e))
940940 then throw("lock amount out of range, minimum: 1 waves, maximum: 1000 waves")
941941 else true
942942 if ((cm == cm))
943943 then {
944944 let cn = if ((b > h))
945945 then throw("minimum of 14 days lock period")
946946 else true
947947 if ((cn == cn))
948948 then {
949949 let dp = bP(h, do)
950950 let aX = do
951951 let dq = fraction(dp._1, 10, 100)
952952 let dr = (dp._1 - dq)
953953 let ds = (cd(height) + ao(h))
954954 if ((ds == ds))
955955 then {
956956 let dt = {
957957 let V = aj(K)
958958 if ($isInstanceOf(V, "Int"))
959959 then {
960960 let aJ = V
961961 (aJ + 1)
962962 }
963963 else throw("failed to get current global index count")
964964 }
965965 if ((dt == dt))
966966 then {
967967 let du = {
968968 let V = aj(o)
969969 if ($isInstanceOf(V, "String"))
970970 then {
971971 let aJ = V
972972 Address(fromBase58String(aJ))
973973 }
974974 else throw("failed to get dfx address")
975975 }
976976 if ((du == du))
977977 then {
978978 let aK = {
979979 let V = aj(m)
980980 if ($isInstanceOf(V, "String"))
981981 then {
982982 let aJ = V
983983 fromBase58String(aJ)
984984 }
985985 else throw("failed to get asset id")
986986 }
987987 if ((aK == aK))
988988 then {
989989 let dv = {
990990 let V = aj(q)
991991 if ($isInstanceOf(V, "String"))
992992 then {
993993 let aJ = V
994994 Address(fromBase58String(aJ))
995995 }
996996 else throw("failed to get lease node address")
997997 }
998998 if ((dv == dv))
999999 then {
10001000 let dw = makeString([cB, u], a)
10011001 let dx = makeString([cB, v], a)
10021002 let dy = {
10031003 let V = O(dw)
10041004 if ($isInstanceOf(V, "String"))
10051005 then {
10061006 let al = V
10071007 let aB = aj(dw)
10081008 if ($isInstanceOf(aB, "Int"))
10091009 then {
10101010 let aJ = aB
10111011 (aJ + 1)
10121012 }
10131013 else 0
10141014 }
10151015 else 0
10161016 }
10171017 if ((dy == dy))
10181018 then {
10191019 let dz = {
10201020 let V = O(dx)
10211021 if ($isInstanceOf(V, "String"))
10221022 then {
10231023 let al = V
10241024 let aB = aj(dx)
10251025 if ($isInstanceOf(aB, "Int"))
10261026 then {
10271027 let aJ = aB
10281028 (aJ + do)
10291029 }
10301030 else do
10311031 }
10321032 else do
10331033 }
10341034 if ((dz == dz))
10351035 then {
10361036 let dA = Lease(dv, do)
10371037 let dB = toBase58String(calculateLeaseId(dA))
10381038 ((([dA, ScriptTransfer(du, dq, aK), ScriptTransfer(Address(au.caller.bytes), dr, aK)] ++ bd(dn, cB, h, ds, dt, do, dr, aX, height, dB, dz, dy, "leased")) ++ aU(do, dp._1, aX, dt)) ++ dp._2)
10391039 }
10401040 else throw("Strict value is not equal to itself.")
10411041 }
10421042 else throw("Strict value is not equal to itself.")
10431043 }
10441044 else throw("Strict value is not equal to itself.")
10451045 }
10461046 else throw("Strict value is not equal to itself.")
10471047 }
10481048 else throw("Strict value is not equal to itself.")
10491049 }
10501050 else throw("Strict value is not equal to itself.")
10511051 }
10521052 else throw("Strict value is not equal to itself.")
10531053 }
10541054 else throw("Strict value is not equal to itself.")
10551055 }
10561056 else throw("Strict value is not equal to itself.")
10571057 }
10581058 else throw("Strict value is not equal to itself.")
10591059 }
10601060 else throw("Strict value is not equal to itself.")
10611061 }
10621062
10631063

github/deemru/w8io/169f3d6 
108.16 ms