tx · DEecAFXbcdJZKxUvJtkp3fdfjiLoqEACpY5DcMsox96m

3N3UHNYQ8xwe2WWLKgXX628JyUtF6kYK4wS:  -0.01400000 Waves

2020.10.19 15:14 [1227426] smart account 3N3UHNYQ8xwe2WWLKgXX628JyUtF6kYK4wS > SELF 0.00000000 Waves

{ "type": 13, "id": "DEecAFXbcdJZKxUvJtkp3fdfjiLoqEACpY5DcMsox96m", "fee": 1400000, "feeAssetId": null, "timestamp": 1603109708656, "version": 1, "sender": "3N3UHNYQ8xwe2WWLKgXX628JyUtF6kYK4wS", "senderPublicKey": "Hxyif8HnnHh34SZ7PZewDcNUgrZfHNJsQvLNCcPbCW27", "proofs": [ "2LED4NJWyFw4767ihE7uDV9sB8B4vSHUr6NrTqRg71nsJRar2AZzU86i6Zv6L5a5czJ9Gk1tztSAQSUhy48tnpMK" ], "script": "base64:AAIEAAAAAAAAADYIAhIKCggICAEIAQEICBIRCg8ICAEIAQgBAQEBAQEBAQESAwoBCBIDCgEIEgQKAggBEgMKAQgAAABZAQAAABZjb252ZXJ0SnNvbkFycmF5VG9MaXN0AAAAAgAAAAlqc29uQXJyYXkAAAALc3BsaXRTeW1ib2wJAAS1AAAAAgUAAAAJanNvbkFycmF5BQAAAAtzcGxpdFN5bWJvbAEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAdhZGRyZXNzBQAAAANrZXkCAAAAAAEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwUAAAADa2V5BwAAAAAMa2V5QXNzZXRDb2RlAAAAAAAAAAABAAAAAAprZXlBc3NldElkAAAAAAAAAAACAAAAAA5rZXlBc3NldFN0YXR1cwAAAAAAAAAAAwAAAAAVa2V5QXNzZXRQcmljZURlY2ltYWxzAAAAAAAAAAAEAAAAABNrZXlBc3NldEJha2luZ0Fzc2V0AAAAAAAAAAAFAAAAABtrZXlPdmVyY29sbGF0ZXJhbFBlcmNlbnRhZ2UAAAAAAAAAAAYAAAAACmtleU1pblBvb2wAAAAAAAAAAAcAAAAAFWtleVByaWNlT3JhY2xlQWRkcmVzcwAAAAAAAAAACAAAAAAQa2V5TWluQnV5UGF5bWVudAAAAAAAAAAACQAAAAARa2V5TWluU2VsbFBheW1lbnQAAAAAAAAAAAoAAAAAEmtleUJ1eUxvY2tJbnRlcnZhbAAAAAAAAAAACwAAAAATa2V5U2VsbExvY2tJbnRlcnZhbAAAAAAAAAAADAAAAAAJa2V5QnV5RmVlAAAAAAAAAAANAAAAAAprZXlTZWxsRmVlAAAAAAAAAAAOAAAAABhrZXlQb29sUmVkZW1wdGlvblRpbWVvdXQAAAAAAAAAAA8AAAAAIWtleVdlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAAAAAAAAAAAEAAAAAAOYWRtaW5QdWJsaWNLZXkCAAAALEcxRWJ1NUFNSGFUSkZFYlpOa1pRY0pGVVE5S2ZpWVV3dXB5TEc4NTdEY0ZyAAAAABpuZXV0cmlub0NvbnRyYWN0QWRkcmVzc0tleQIAAAArJXMlc19fY29tbW9uQ29uZmlnX19uZXV0cmlub0NvbnRyYWN0QWRkcmVzcwAAAAAZbmV1dHJpbm9TdGFraW5nQWRkcmVzc0tleQIAAAAqJXMlc19fY29tbW9uQ29uZmlnX19uZXV0cmlub1N0YWtpbmdBZGRyZXNzAAAAABttaW5pbXVuUG9vbEZ1bmRpbmdBbW91bnRLZXkCAAAALCVzJXNfX2NvbW1vbkNvbmZpZ19fbWluaW11bVBvb2xGdW5kaW5nQW1vdW50AAAAABBpc0luaXRpYWxpemVkS2V5AgAAAB8lcyVzX19jb21tb25Db25maWdfX2luaXRpYWxpemVkAAAAABRjdXJyZW50QXNzZXRJbmRleEtleQIAAAAvJXMlc19fY29tbW9uQ29uZmlnX19wcmVkZWZpbmVkQXNzZXRzQWN0aXZlSW5kZXgAAAAAFGFzc2V0c0FkZHJlc3NMaXN0S2V5AgAAACglcyVzX19jb21tb25Db25maWdfX3ByZWRlZmluZWRBc3NldHNMaXN0AAAAAA5kZWJ0VG9rZW5JZEtleQIAAAAfJXMlc19fY29tbW9uQ29uZmlnX19kZWJ0QXNzZXRJZAAAAAAZZGVidFRva2VuRXRhbG9uQmFsYW5jZUtleQIAAAAqJXMlc19fY29tbW9uQ29uZmlnX19kZWJ0QXNzZXRFdGFsb25CYWxhbmNlAAAAABVkZWZvU3Rha2luZ0FkZHJlc3NLZXkCAAAAJiVzJXNfX2NvbW1vbkNvbmZpZ19fZGVmb1N0YWtpbmdBZGRyZXNzAAAAABpkZWZvU3Rha2luZ1BhY2VtYWtlclB1YktleQIAAAArJXMlc19fY29tbW9uQ29uZmlnX19kZWZvU3Rha2luZ1BhY2VtYWtlclB1YgAAAAASbmV1dHJpbm9Bc3NldElkS2V5AgAAABFuZXV0cmlub19hc3NldF9pZAAAAAAObnNidEFzc2V0SWRLZXkCAAAADWJvbmRfYXNzZXRfaWQAAAAADmRlZm9Bc3NldElkS2V5AgAAAA8lc19fZGVmb0Fzc2V0SWQAAAAAFXNldEFzc2V0U2NyaXB0VHhJZEtleQIAAAATJXNfX2Fzc2V0U2NyaXB0VHhJZAEAAAARZ2V0QXNzZXRDb25maWdLZXkAAAABAAAADGFzc2V0QWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAAEyVzJXMlc19fZGVmb0Fzc2V0X18FAAAADGFzc2V0QWRkcmVzcwIAAAAIX19jb25maWcBAAAAEGdldEFzc2V0UHJpY2VLZXkAAAABAAAACWFzc2V0Q29kZQkAASwAAAACAgAAABIlcyVzX19hc3NldFByaWNlX18FAAAACWFzc2V0Q29kZQEAAAAVZ2V0QXNzZXRJbml0SGVpZ2h0S2V5AAAAAQAAAAxhc3NldEFkZHJlc3MJAAEsAAAAAgkAASwAAAACAgAAABMlcyVzJXNfX2RlZm9Bc3NldF9fBQAAAAxhc3NldEFkZHJlc3MCAAAADF9faW5pdEhlaWdodAEAAAAZZ2V0QXNzZXRBY3RpdmF0ZUhlaWdodEtleQAAAAEAAAAMYXNzZXRBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAATJXMlcyVzX19kZWZvQXNzZXRfXwUAAAAMYXNzZXRBZGRyZXNzAgAAABBfX2FjdGl2YXRlSGVpZ2h0AQAAAB1nZXRBc3NldEN1cnJyZW50UG9vbEFtb3VudEtleQAAAAEAAAAMYXNzZXRBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAATJXMlcyVzX19kZWZvQXNzZXRfXwUAAAAMYXNzZXRBZGRyZXNzAgAAAA1fX2N1cnJlbnRQb29sAQAAABhnZXRBc3NldE1heFBvb2xBbW91bnRLZXkAAAABAAAADGFzc2V0QWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAAEyVzJXMlc19fZGVmb0Fzc2V0X18FAAAADGFzc2V0QWRkcmVzcwIAAAAJX19tYXhQb29sAQAAAA9nZXRBc3NldE1ldGFLZXkAAAABAAAADGFzc2V0QWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAAEyVzJXMlc19fZGVmb0Fzc2V0X18FAAAADGFzc2V0QWRkcmVzcwIAAAAGX19tZXRhAQAAABVnZXRBc3NldFBvb2xNYWtlcnNLZXkAAAABAAAADGFzc2V0QWRkcmVzcwkAASwAAAACCQABLAAAAAICAAAAEyVzJXMlc19fZGVmb0Fzc2V0X18FAAAADGFzc2V0QWRkcmVzcwIAAAAMX19wb29sTWFrZXJzAQAAABhnZXRBc3NldEFkZHJlc3NCeUNvZGVLZXkAAAABAAAACWFzc2V0Q29kZQkAASwAAAACCQABLAAAAAICAAAAEyVzJXMlc19fZGVmb0Fzc2V0X18FAAAACWFzc2V0Q29kZQIAAAAUX19hZGRyZXNzQnlBc3NldENvZGUBAAAAG2dldEFzc2V0QWRkcmVzc0J5QXNzZXRJZEtleQAAAAEAAAAHYXNzZXRJZAkAASwAAAACCQABLAAAAAICAAAAEyVzJXMlc19fZGVmb0Fzc2V0X18FAAAAB2Fzc2V0SWQCAAAAEl9fYWRkcmVzc0J5QXNzZXRJZAEAAAAiZ2V0UG9vbE1ha2VyUGFydGljaXBhdGlvbkFtb3VudEtleQAAAAIAAAAMYXNzZXRBZGRyZXNzAAAAEHBvb2xNYWtlckFkZHJlc3MJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAQJXMlcyVzJXNfX3Bvb2xfXwUAAAAMYXNzZXRBZGRyZXNzAgAAAAJfXwUAAAAQcG9vbE1ha2VyQWRkcmVzcwIAAAAIX19hbW91bnQBAAAAJWdldFBvb2xNYWtlclBhcnRpY2lwYXRpb25NYXhBbW91bnRLZXkAAAACAAAADGFzc2V0QWRkcmVzcwAAABBwb29sTWFrZXJBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAECVzJXMlcyVzX19wb29sX18FAAAADGFzc2V0QWRkcmVzcwIAAAACX18FAAAAEHBvb2xNYWtlckFkZHJlc3MCAAAAC19fbWF4QW1vdW50AQAAABtnZXRQb29sTWFrZXJMb2NrZWRBbW91bnRLZXkAAAACAAAADGFzc2V0QWRkcmVzcwAAABBwb29sTWFrZXJBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAECVzJXMlcyVzX19wb29sX18FAAAADGFzc2V0QWRkcmVzcwIAAAACX18FAAAAEHBvb2xNYWtlckFkZHJlc3MCAAAADl9fbG9ja2VkQW1vdW50AQAAABtnZXRQb29sTWFrZXJVbmxvY2tIZWlnaHRLZXkAAAACAAAADGFzc2V0QWRkcmVzcwAAABBwb29sTWFrZXJBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAECVzJXMlcyVzX19wb29sX18FAAAADGFzc2V0QWRkcmVzcwIAAAACX18FAAAAEHBvb2xNYWtlckFkZHJlc3MCAAAADl9fdW5sb2NrSGVpZ2h0AQAAABNnZXRBc3NldENvbmZpZ0FycmF5AAAAAQAAAAxhc3NldEFkZHJlc3MJAQAAABZjb252ZXJ0SnNvbkFycmF5VG9MaXN0AAAAAgkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAEdGhpcwkBAAAAEWdldEFzc2V0Q29uZmlnS2V5AAAAAQUAAAAMYXNzZXRBZGRyZXNzCQABLAAAAAIJAAEsAAAAAgIAAAAOTm8gREVGTyBBc3NldCAFAAAADGFzc2V0QWRkcmVzcwIAAAAOY29uZmlnIHByZXNlbnQCAAAAAl9fAAAAABBuZXV0cmlub0NvbnRyYWN0CQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAabmV1dHJpbm9Db250cmFjdEFkZHJlc3NLZXkCAAAAH05vIG5ldXRyaW5vIGNvbnRyYWN0IHNwZWNpZmllZC4AAAAAD25ldXRyaW5vQXNzZXRJZAkAAlkAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAASbmV1dHJpbm9Bc3NldElkS2V5AgAAABdObyBVU0ROIGFzc2V0IGlkIGZvdW5kLgAAAAALbnNidEFzc2V0SWQJAAJZAAAAAQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAADm5zYnRBc3NldElkS2V5AgAAABZObyBOU0JUIGFzc2V0IGlkIGZvdW5kAAAAABJtaW5pbXVtUG9vbEZ1bmRpbmcJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABttaW5pbXVuUG9vbEZ1bmRpbmdBbW91bnRLZXkCAAAALU1pbmltdW0gcG9vbCBmdW5kaW5nIGFtb3VudCBpcyBub3Qgc3BlY2lmaWVkLgAAAAALYXNzZXRTdGF0dXMJAAUVAAAAAwIAAAAIUFJPUE9TRUQCAAAABVJFQURZAgAAAAZJU1NVRUQAAAAAGHByZWRlZmluZWRBc3NldENvbnRyYWN0cwkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIFAAAABHRoaXMFAAAAFGFzc2V0c0FkZHJlc3NMaXN0S2V5AgAAAC1ObyBwb29sIG9mIHByZWRlcGxveWVkIGFzc2V0IGNvbnRyYWN0cyBmb3VuZC4AAAAAFHByZWRlZmluZWRBc3NldHNMaXN0CQEAAAAWY29udmVydEpzb25BcnJheVRvTGlzdAAAAAIFAAAAGHByZWRlZmluZWRBc3NldENvbnRyYWN0cwIAAAABLAAAAAARY3VycmVudEFzc2V0SW5kZXgJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAUY3VycmVudEFzc2V0SW5kZXhLZXkAAAAAAAAAAAAAAAAACWRlYnRUb2tlbgkAAlkAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAAOZGVidFRva2VuSWRLZXkCAAAAE05vIGRlYnQgdG9rZW4gZm91bmQAAAAADW11bHRpcGxpY2F0b3IAAAAAAAAPQkAAAAAAFmRlYnRUb2tlblJlaXNzdWVBbW91bnQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAZZGVidFRva2VuRXRhbG9uQmFsYW5jZUtleQAAAAAAAAAAAAEAAAAVZ2V0QXNzZXRBZGRyZXNzQnlDb2RlAAAAAQAAAAthc3NldFN5bWJvbAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzCQEAAAAYZ2V0QXNzZXRBZGRyZXNzQnlDb2RlS2V5AAAAAQUAAAALYXNzZXRTeW1ib2wCAAAAAAEAAAAMZ2V0QXNzZXRDb2RlAAAAAQAAAAthc3NldENvbmZpZwkAAZEAAAACBQAAAAthc3NldENvbmZpZwUAAAAMa2V5QXNzZXRDb2RlAQAAAApnZXRBc3NldElEAAAAAQAAAAthc3NldENvbmZpZwkAAZEAAAACBQAAAAthc3NldENvbmZpZwUAAAAKa2V5QXNzZXRJZAEAAAAOZ2V0QXNzZXRTdGF0dXMAAAABAAAAC2Fzc2V0Q29uZmlnCQABkQAAAAIFAAAAC2Fzc2V0Q29uZmlnBQAAAA5rZXlBc3NldFN0YXR1cwEAAAAVZ2V0QXNzZXRQcmljZURlY2ltYWxzAAAAAQAAAAthc3NldENvbmZpZwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAC2Fzc2V0Q29uZmlnBQAAABVrZXlBc3NldFByaWNlRGVjaW1hbHMBAAAAFWdldEFzc2V0QmFraW5nQXNzZXRJZAAAAAEAAAALYXNzZXRDb25maWcJAAGRAAAAAgUAAAALYXNzZXRDb25maWcFAAAAE2tleUFzc2V0QmFraW5nQXNzZXQBAAAAHWdldEFzc2V0T3ZlckNvbGxhdGVyYWxQZXJjZW50AAAAAQAAAAthc3NldENvbmZpZwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAC2Fzc2V0Q29uZmlnBQAAABtrZXlPdmVyY29sbGF0ZXJhbFBlcmNlbnRhZ2UBAAAAHWdldEFzc2V0TWluUmVxdWlyZWRQb29sQW1vdW50AAAAAQAAAAthc3NldENvbmZpZwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAC2Fzc2V0Q29uZmlnBQAAAAprZXlNaW5Qb29sAQAAABpnZXRBc3NldFByaWNlT3JhY2xlQWRkcmVzcwAAAAEAAAALYXNzZXRDb25maWcJAAGRAAAAAgUAAAALYXNzZXRDb25maWcFAAAAFWtleVByaWNlT3JhY2xlQWRkcmVzcwEAAAAYZ2V0TWluQnV5UGF5bWVudFBlckFzc2V0AAAAAQAAAAthc3NldENvbmZpZwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAC2Fzc2V0Q29uZmlnBQAAABBrZXlNaW5CdXlQYXltZW50AQAAABlnZXRNaW5TZWxsUGF5bWVudFBlckFzc2V0AAAAAQAAAAthc3NldENvbmZpZwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAC2Fzc2V0Q29uZmlnBQAAABFrZXlNaW5TZWxsUGF5bWVudAEAAAAaZ2V0QnV5TG9ja0ludGVydmFsUGVyQXNzZXQAAAABAAAAC2Fzc2V0Q29uZmlnCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAALYXNzZXRDb25maWcFAAAAEmtleUJ1eUxvY2tJbnRlcnZhbAEAAAAbZ2V0U2VsbExvY2tJbnRlcnZhbFBlckFzc2V0AAAAAQAAAAthc3NldENvbmZpZwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAC2Fzc2V0Q29uZmlnBQAAABNrZXlTZWxsTG9ja0ludGVydmFsAQAAABFnZXRCdXlGZWVQZXJBc3NldAAAAAEAAAALYXNzZXRDb25maWcJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAthc3NldENvbmZpZwUAAAAJa2V5QnV5RmVlAQAAABJnZXRTZWxsRmVlUGVyQXNzZXQAAAABAAAAC2Fzc2V0Q29uZmlnCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAALYXNzZXRDb25maWcFAAAACmtleVNlbGxGZWUBAAAAGmdldFJlZGVtcHRpb25UaW1lb3V0QmxvY2tzAAAAAQAAAAthc3NldENvbmZpZwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAC2Fzc2V0Q29uZmlnBQAAABhrZXlQb29sUmVkZW1wdGlvblRpbWVvdXQBAAAAIWdldFdlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAAAAAEAAAALYXNzZXRDb25maWcJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAthc3NldENvbmZpZwUAAAAha2V5V2Vla2VuZHNQcmljZUNoYW5nZUNvZWZmaWNpZW50AQAAABJnZXRBc3NldFBvb2xNYWtlcnMAAAABAAAADGFzc2V0QWRkcmVzcwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzCQEAAAAVZ2V0QXNzZXRQb29sTWFrZXJzS2V5AAAAAQUAAAAMYXNzZXRBZGRyZXNzAgAAAAABAAAAEmdldEFzc2V0SW5pdEhlaWdodAAAAAEAAAAMYXNzZXRBZGRyZXNzCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAABVnZXRBc3NldEluaXRIZWlnaHRLZXkAAAABBQAAAAxhc3NldEFkZHJlc3MAAAAAAAAAAAABAAAAFmdldEFzc2V0QWN0aXZhdGVIZWlnaHQAAAABAAAADGFzc2V0QWRkcmVzcwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAZZ2V0QXNzZXRBY3RpdmF0ZUhlaWdodEtleQAAAAEFAAAADGFzc2V0QWRkcmVzcwAAAAAAAAAAAAEAAAAZZ2V0QXNzZXRDdXJyZW50UG9vbEFtb3VudAAAAAEAAAAMYXNzZXRBZGRyZXNzCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAQAAAB1nZXRBc3NldEN1cnJyZW50UG9vbEFtb3VudEtleQAAAAEFAAAADGFzc2V0QWRkcmVzcwAAAAAAAAAAAAEAAAAVZ2V0QXNzZXRNYXhQb29sQW1vdW50AAAAAQAAAAxhc3NldEFkZHJlc3MJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAGGdldEFzc2V0TWF4UG9vbEFtb3VudEtleQAAAAEFAAAADGFzc2V0QWRkcmVzcwAAAAAAAAAAAAEAAAAMZ2V0QXNzZXRNZXRhAAAAAQAAAAxhc3NldEFkZHJlc3MJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAD2dldEFzc2V0TWV0YUtleQAAAAEFAAAADGFzc2V0QWRkcmVzcwIAAAAAAQAAAB9nZXRQb29sTWFrZXJQYXJ0aWNpcGF0aW9uQW1vdW50AAAAAgAAAAxhc3NldEFkZHJlc3MAAAAQcG9vbE1ha2VyQWRkcmVzcwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAiZ2V0UG9vbE1ha2VyUGFydGljaXBhdGlvbkFtb3VudEtleQAAAAIFAAAADGFzc2V0QWRkcmVzcwUAAAAQcG9vbE1ha2VyQWRkcmVzcwAAAAAAAAAAAAEAAAAiZ2V0UG9vbE1ha2VyUGFydGljaXBhdGlvbk1heEFtb3VudAAAAAIAAAAMYXNzZXRBZGRyZXNzAAAAEHBvb2xNYWtlckFkZHJlc3MJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAJWdldFBvb2xNYWtlclBhcnRpY2lwYXRpb25NYXhBbW91bnRLZXkAAAACBQAAAAxhc3NldEFkZHJlc3MFAAAAEHBvb2xNYWtlckFkZHJlc3MAAAAAAAAAAAABAAAAGGdldFBvb2xNYWtlckxvY2tlZEFtb3VudAAAAAIAAAAMYXNzZXRBZGRyZXNzAAAAEHBvb2xNYWtlckFkZHJlc3MJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAG2dldFBvb2xNYWtlckxvY2tlZEFtb3VudEtleQAAAAIFAAAADGFzc2V0QWRkcmVzcwUAAAAQcG9vbE1ha2VyQWRkcmVzcwAAAAAAAAAAAAEAAAAYZ2V0UG9vbE1ha2VyVW5sb2NrSGVpZ2h0AAAAAgAAAAxhc3NldEFkZHJlc3MAAAAQcG9vbE1ha2VyQWRkcmVzcwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQEAAAAbZ2V0UG9vbE1ha2VyVW5sb2NrSGVpZ2h0S2V5AAAAAgUAAAAMYXNzZXRBZGRyZXNzBQAAABBwb29sTWFrZXJBZGRyZXNzAAAAAAAAAAAAAQAAAA1nZXRBc3NldFByaWNlAAAAAgAAABJwcmljZU9yYWNsZUFkZHJlc3MAAAAJYXNzZXRDb2RlCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAScHJpY2VPcmFjbGVBZGRyZXNzCQEAAAAQZ2V0QXNzZXRQcmljZUtleQAAAAEFAAAACWFzc2V0Q29kZQIAAAAUTm8gQXNzZXQgcHJpY2UgZm91bmQBAAAAH2NvbXBvc2VBc3NldENvbmZpZ3VyYXRpb25TdHJpbmcAAAAQAAAACWFzc2V0Q29kZQAAAAdhc3NldElkAAAAC2Fzc2V0U3RhdHVzAAAADXByaWNlRGVjaW1hbHMAAAAOYmFja2luZ0Fzc2V0SWQAAAAVb3ZlckNvbGxhdGVyYWxQZXJjZW50AAAAB21pblBvb2wAAAAScHJpY2VPcmFjbGVBZGRyZXNzAAAADW1pbkJ1eVBheW1lbnQAAAAObWluU2VsbFBheW1lbnQAAAAPYnV5TG9ja0ludGVydmFsAAAAEHNlbGxMb2NrSW50ZXJ2YWwAAAAGYnV5RmVlAAAAB3NlbGxGZWUAAAAVcG9vbFJlZGVtcHRpb25UaW1lb3V0AAAAHndlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAkABLkAAAACCQAETAAAAAICAAAAHiVzJXMlcyVkJXMlZCVkJXMlZCVkJWQlZCVkJWQlZAkABEwAAAACBQAAAAlhc3NldENvZGUJAARMAAAAAgUAAAAHYXNzZXRJZAkABEwAAAACBQAAAAthc3NldFN0YXR1cwkABEwAAAACCQABpAAAAAEFAAAADXByaWNlRGVjaW1hbHMJAARMAAAAAgUAAAAOYmFja2luZ0Fzc2V0SWQJAARMAAAAAgkAAaQAAAABBQAAABVvdmVyQ29sbGF0ZXJhbFBlcmNlbnQJAARMAAAAAgkAAaQAAAABBQAAAAdtaW5Qb29sCQAETAAAAAIFAAAAEnByaWNlT3JhY2xlQWRkcmVzcwkABEwAAAACCQABpAAAAAEFAAAADW1pbkJ1eVBheW1lbnQJAARMAAAAAgkAAaQAAAABBQAAAA5taW5TZWxsUGF5bWVudAkABEwAAAACCQABpAAAAAEFAAAAD2J1eUxvY2tJbnRlcnZhbAkABEwAAAACCQABpAAAAAEFAAAAEHNlbGxMb2NrSW50ZXJ2YWwJAARMAAAAAgkAAaQAAAABBQAAAAZidXlGZWUJAARMAAAAAgkAAaQAAAABBQAAAAdzZWxsRmVlCQAETAAAAAIJAAGkAAAAAQUAAAAVcG9vbFJlZGVtcHRpb25UaW1lb3V0BQAAAANuaWwCAAAAAl9fAAAABgAAAAFpAQAAAARpbml0AAAACAAAABduZXV0cmlub0NvbnRyYWN0QWRkcmVzcwAAABZuZXV0cmlub1N0YWtpbmdBZGRyZXNzAAAAGG1pbmltdW5Qb29sRnVuZGluZ0Ftb3VudAAAABNwcmVkZWZpbmVkQXNzZXRMaXN0AAAAEWN1cnJlbnRBc3NldEluZGV4AAAAEmRlYnRFdGhhbG9uQmFsYW5jZQAAABJkZWZvU3Rha2luZ0FkZHJlc3MAAAAXZGVmb1N0YWtpbmdQYWNlbWFrZXJQdWIDCQEAAAACIT0AAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAOYWRtaW5QdWJsaWNLZXkJAAACAAAAAQIAAAAqT25seSBBZG1pbiBjYW4gcGVyZm9ybSBjb250cmFjdCBvcGVyYXRpb24uAwkAAAAAAAACCQEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQUAAAAQaXNJbml0aWFsaXplZEtleQYJAAACAAAAAQIAAAAhQ29udHJhY3Qgd2FzIGFscmVhZHkgaW5pdGlhbGl6ZWQuBAAAAAlpc3N1ZURlYnQJAARCAAAABQIAAAAJREVGT19ERUJUAgAAABBERUZPIERlYnQgVG9rZW4uAAAAAAAAAAABAAAAAAAAAAAGBgQAAAALZGVidFRva2VuSWQJAAQ4AAAAAQUAAAAJaXNzdWVEZWJ0CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAGm5ldXRyaW5vQ29udHJhY3RBZGRyZXNzS2V5BQAAABduZXV0cmlub0NvbnRyYWN0QWRkcmVzcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABluZXV0cmlub1N0YWtpbmdBZGRyZXNzS2V5BQAAABZuZXV0cmlub1N0YWtpbmdBZGRyZXNzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABttaW5pbXVuUG9vbEZ1bmRpbmdBbW91bnRLZXkFAAAAGG1pbmltdW5Qb29sRnVuZGluZ0Ftb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABRhc3NldHNBZGRyZXNzTGlzdEtleQUAAAATcHJlZGVmaW5lZEFzc2V0TGlzdAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAUY3VycmVudEFzc2V0SW5kZXhLZXkFAAAAEWN1cnJlbnRBc3NldEluZGV4CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABlkZWJ0VG9rZW5FdGFsb25CYWxhbmNlS2V5BQAAABJkZWJ0RXRoYWxvbkJhbGFuY2UJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAOZGVidFRva2VuSWRLZXkJAAJYAAAAAQUAAAALZGVidFRva2VuSWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAVZGVmb1N0YWtpbmdBZGRyZXNzS2V5BQAAABJkZWZvU3Rha2luZ0FkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAaZGVmb1N0YWtpbmdQYWNlbWFrZXJQdWJLZXkFAAAAF2RlZm9TdGFraW5nUGFjZW1ha2VyUHViCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAABBpc0luaXRpYWxpemVkS2V5BgkABEwAAAACBQAAAAlpc3N1ZURlYnQJAARMAAAAAgkBAAAABEJ1cm4AAAACBQAAAAtkZWJ0VG9rZW5JZAAAAAAAAAAAAQUAAAADbmlsAAAAAWkBAAAADHByb3Bvc2VBc3NldAAAAA8AAAAJYXNzZXRDb2RlAAAABG1ldGEAAAAHbWluUG9vbAAAABJwcmljZU9yYWNsZUFkZHJlc3MAAAAVb3ZlckNvbGxhdGVyYWxQZXJjZW50AAAADmJhY2tpbmdBc3NldElkAAAADXByaWNlRGVjaW1hbHMAAAANbWluQnV5UGF5bWVudAAAAA5taW5TZWxsUGF5bWVudAAAAA9idXlMb2NrSW50ZXJ2YWwAAAAQc2VsbExvY2tJbnRlcnZhbAAAAAZidXlGZWUAAAAHc2VsbEZlZQAAABVwb29sUmVkZW1wdGlvblRpbWVvdXQAAAAed2Vla2VuZHNQcmljZUNoYW5nZUNvZWZmaWNpZW50AwkBAAAAAiE9AAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAADmFkbWluUHVibGljS2V5CQAAAgAAAAECAAAAKk9ubHkgQWRtaW4gY2FuIHBlcmZvcm0gY29udHJhY3Qgb3BlcmF0aW9uLgMJAAAAAAAAAgkBAAAADGdldEJvb2xCeUtleQAAAAEFAAAAEGlzSW5pdGlhbGl6ZWRLZXkHCQAAAgAAAAECAAAAGkNvbnRyYWN0IGlzIG5vdCB5ZXQgcmVhZHkuAwkBAAAAAiE9AAAAAgkAAlkAAAABBQAAAA5iYWNraW5nQXNzZXRJZAUAAAAPbmV1dHJpbm9Bc3NldElkCQAAAgAAAAECAAAAI0Jha2luZyBhc3NldCBpZCBjb3VsZCBiZSBVU0ROIG9ubHkuAwkBAAAAAiE9AAAAAgkBAAAAFWdldEFzc2V0QWRkcmVzc0J5Q29kZQAAAAEFAAAACWFzc2V0Q29kZQIAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABdBc3NldCB3aXRoIHBhc3NlZCBjb2RlIAUAAAAJYXNzZXRDb2RlAgAAABsgaGFzIGFscmVhZHkgYmVlbiBwcm9wb3NlZC4DCQAAZgAAAAIFAAAAEm1pbmltdW1Qb29sRnVuZGluZwUAAAAHbWluUG9vbAkAAAIAAAABCQABLAAAAAICAAAAM01pbmltdW0gcG9vbCBhbW91bnQgc2hvdWxkIGJlIGdyZWF0ZXIgb3IgZXF1YWxzIHRvIAkAAaQAAAABBQAAABJtaW5pbXVtUG9vbEZ1bmRpbmcDAwMDAwMDAwkAAGYAAAACAAAAAAAAAAAABQAAABVvdmVyQ29sbGF0ZXJhbFBlcmNlbnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAADXByaWNlRGVjaW1hbHMGCQAAZgAAAAIAAAAAAAAAAAAFAAAADW1pbkJ1eVBheW1lbnQGCQAAZgAAAAIAAAAAAAAAAAAFAAAADm1pblNlbGxQYXltZW50BgkAAGYAAAACAAAAAAAAAAAABQAAAA9idXlMb2NrSW50ZXJ2YWwGCQAAZgAAAAIAAAAAAAAAAAAFAAAAEHNlbGxMb2NrSW50ZXJ2YWwGCQAAZgAAAAIAAAAAAAAAAAAFAAAABmJ1eUZlZQYJAABmAAAAAgAAAAAAAAAAAAUAAAAHc2VsbEZlZQkAAAIAAAABAgAAAChPbmUgb2YgdGhlIHBhc3NlZCBwYXJhbWV0ZXJzIGlzIGludmFsaWQuBAAAABdwcmljZU9yYWNsZUFkZHJlc3NWYWxpZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABBQAAABJwcmljZU9yYWNsZUFkZHJlc3MCAAAAKVBhc3NlZCBQcmljZSBPcmFjbGUgQWRkcmVzcyBpcyBub3QgdmFsaWQuBAAAAAxhc3NldEFkZHJlc3MJAAGRAAAAAgUAAAAUcHJlZGVmaW5lZEFzc2V0c0xpc3QFAAAAEWN1cnJlbnRBc3NldEluZGV4BAAAAAtkZWZvQXNzZXRJZAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEHQAAAAIJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABBQAAAAxhc3NldEFkZHJlc3MCAAAAAAUAAAAOZGVmb0Fzc2V0SWRLZXkCAAAAF05vIGRlZm8gYXNzZXQgSUQgZm91bmQuCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFnZXRBc3NldENvbmZpZ0tleQAAAAEFAAAADGFzc2V0QWRkcmVzcwkBAAAAH2NvbXBvc2VBc3NldENvbmZpZ3VyYXRpb25TdHJpbmcAAAAQBQAAAAlhc3NldENvZGUFAAAAC2RlZm9Bc3NldElkCAUAAAALYXNzZXRTdGF0dXMAAAACXzEFAAAADXByaWNlRGVjaW1hbHMFAAAADmJhY2tpbmdBc3NldElkBQAAABVvdmVyQ29sbGF0ZXJhbFBlcmNlbnQFAAAAB21pblBvb2wFAAAAEnByaWNlT3JhY2xlQWRkcmVzcwUAAAANbWluQnV5UGF5bWVudAUAAAAObWluU2VsbFBheW1lbnQFAAAAD2J1eUxvY2tJbnRlcnZhbAUAAAAQc2VsbExvY2tJbnRlcnZhbAUAAAAGYnV5RmVlBQAAAAdzZWxsRmVlBQAAABVwb29sUmVkZW1wdGlvblRpbWVvdXQFAAAAHndlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAYZ2V0QXNzZXRBZGRyZXNzQnlDb2RlS2V5AAAAAQUAAAAJYXNzZXRDb2RlBQAAAAxhc3NldEFkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dldEFzc2V0TWV0YUtleQAAAAEFAAAADGFzc2V0QWRkcmVzcwUAAAAEbWV0YQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldEFzc2V0SW5pdEhlaWdodEtleQAAAAEFAAAADGFzc2V0QWRkcmVzcwUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRjdXJyZW50QXNzZXRJbmRleEtleQkAAGQAAAACBQAAABFjdXJyZW50QXNzZXRJbmRleAAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAbZ2V0QXNzZXRBZGRyZXNzQnlBc3NldElkS2V5AAAAAQUAAAALZGVmb0Fzc2V0SWQFAAAADGFzc2V0QWRkcmVzcwUAAAADbmlsAAAAAWkBAAAAEWZ1bmRMaXF1aWRpdHlQb29sAAAAAQAAAAlhc3NldENvZGUEAAAADGFzc2V0QWRkcmVzcwkBAAAAFWdldEFzc2V0QWRkcmVzc0J5Q29kZQAAAAEFAAAACWFzc2V0Q29kZQQAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAkBAAAAE2dldEFzc2V0Q29uZmlnQXJyYXkAAAABBQAAAAxhc3NldEFkZHJlc3MEAAAAD2F0dGFjaGVkUGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAIhPQAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BQAAAA5hZG1pblB1YmxpY0tleQkAAAIAAAABAgAAACpPbmx5IEFkbWluIGNhbiBwZXJmb3JtIGNvbnRyYWN0IG9wZXJhdGlvbi4DCQAAAAAAAAIJAQAAAAxnZXRCb29sQnlLZXkAAAABBQAAABBpc0luaXRpYWxpemVkS2V5BwkAAAIAAAABAgAAABpDb250cmFjdCBpcyBub3QgeWV0IHJlYWR5LgMJAQAAAAIhPQAAAAIIBQAAAA9hdHRhY2hlZFBheW1lbnQAAAAHYXNzZXRJZAUAAAAPbmV1dHJpbm9Bc3NldElkCQAAAgAAAAECAAAALkxpcXVpZGl0eSBwb29sIGNvdWxkIGJlIGZ1bmRlZCB3aXRoIFVTRE4gb25seS4DCQAAAAAAAAIIBQAAAA9hdHRhY2hlZFBheW1lbnQAAAAGYW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAIkluY29ycmVjdCBhdHRhY2hlZCBwYXltZW50IGFtb3VudC4DCQAAAAAAAAIFAAAADGFzc2V0QWRkcmVzcwIAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAACVDYW5ub3QgZmluZCBsaXF1aWRpdHkgcG9vbCBmb3IgYXNzZXQgBQAAAAlhc3NldENvZGUCAAAAAS4EAAAAD2ZpbmFsUG9vbEFtb3VudAkAAGQAAAACCAUAAAAPYXR0YWNoZWRQYXltZW50AAAABmFtb3VudAkBAAAAGWdldEFzc2V0Q3VycmVudFBvb2xBbW91bnQAAAABBQAAAAxhc3NldEFkZHJlc3MEAAAADW1heFBvb2xBbW91bnQJAQAAABVnZXRBc3NldE1heFBvb2xBbW91bnQAAAABBQAAAAxhc3NldEFkZHJlc3MEAAAAEHBvb2xNYWtlckFkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABdjdXJyZW50UG9vbE1ha2VyQmFsYW5jZQkBAAAAH2dldFBvb2xNYWtlclBhcnRpY2lwYXRpb25BbW91bnQAAAACBQAAAAxhc3NldEFkZHJlc3MFAAAAEHBvb2xNYWtlckFkZHJlc3MEAAAAE21heFBvb2xNYWtlckJhbGFuY2UJAQAAACJnZXRQb29sTWFrZXJQYXJ0aWNpcGF0aW9uTWF4QW1vdW50AAAAAgUAAAAMYXNzZXRBZGRyZXNzBQAAABBwb29sTWFrZXJBZGRyZXNzBAAAABFjdXJyZW50UG9vbFN0YXR1cwkBAAAADmdldEFzc2V0U3RhdHVzAAAAAQUAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAQAAAAPZmluYWxQb29sU3RhdHVzAwMJAABnAAAAAgUAAAAPZmluYWxQb29sQW1vdW50CQEAAAAdZ2V0QXNzZXRNaW5SZXF1aXJlZFBvb2xBbW91bnQAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0CQAAAAAAAAIFAAAAEWN1cnJlbnRQb29sU3RhdHVzCAUAAAALYXNzZXRTdGF0dXMAAAACXzEHCAUAAAALYXNzZXRTdGF0dXMAAAACXzIFAAAAEWN1cnJlbnRQb29sU3RhdHVzBAAAABFjdXJyZW50UG9vbE1ha2VycwkBAAAAEmdldEFzc2V0UG9vbE1ha2VycwAAAAEFAAAADGFzc2V0QWRkcmVzcwQAAAANbmV3UG9vbE1ha2VycwMJAAAAAAAAAgUAAAARY3VycmVudFBvb2xNYWtlcnMCAAAAAAUAAAAQcG9vbE1ha2VyQWRkcmVzcwMJAQAAAAhjb250YWlucwAAAAIFAAAAEWN1cnJlbnRQb29sTWFrZXJzBQAAABBwb29sTWFrZXJBZGRyZXNzBQAAABFjdXJyZW50UG9vbE1ha2VycwkAASwAAAACCQABLAAAAAIFAAAAEWN1cnJlbnRQb29sTWFrZXJzAgAAAAEsCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAAFYUNvZGUJAQAAAAxnZXRBc3NldENvZGUAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAAANhSUQJAQAAAApnZXRBc3NldElEAAAAAQUAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAQAAAAOYVByaWNlRGVjaW1hbHMJAQAAABVnZXRBc3NldFByaWNlRGVjaW1hbHMAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAAA5hQmFraW5nQXNzZXRJZAkBAAAAFWdldEFzc2V0QmFraW5nQXNzZXRJZAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAAFmFPdmVyQ29sbGF0ZXJhbFBlcmNlbnQJAQAAAB1nZXRBc3NldE92ZXJDb2xsYXRlcmFsUGVyY2VudAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAAEGFNaW5SZXF1aXJlZFBvb2wJAQAAAB1nZXRBc3NldE1pblJlcXVpcmVkUG9vbEFtb3VudAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAAE2FQcmljZU9yYWNsZUFkZHJlc3MJAQAAABpnZXRBc3NldFByaWNlT3JhY2xlQWRkcmVzcwAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAADmFNaW5CdXlQYXltZW50CQEAAAAYZ2V0TWluQnV5UGF5bWVudFBlckFzc2V0AAAAAQUAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAQAAAAPYU1pblNlbGxQYXltZW50CQEAAAAZZ2V0TWluU2VsbFBheW1lbnRQZXJBc3NldAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAAEGFCdXlMb2NrSW50ZXJ2YWwJAQAAABpnZXRCdXlMb2NrSW50ZXJ2YWxQZXJBc3NldAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAAEWFTZWxsTG9ja0ludGVydmFsCQEAAAAbZ2V0U2VsbExvY2tJbnRlcnZhbFBlckFzc2V0AAAAAQUAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAQAAAAHYUJ1eUZlZQkBAAAAEWdldEJ1eUZlZVBlckFzc2V0AAAAAQUAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAQAAAAIYVNlbGxGZWUJAQAAABJnZXRTZWxsRmVlUGVyQXNzZXQAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAABhhUmVkZW1wdGlvblRpbWVvdXRCbG9ja3MJAQAAABpnZXRSZWRlbXB0aW9uVGltZW91dEJsb2NrcwAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAAHndlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAkBAAAAIWdldFdlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAAE25ld1Bvb2xNYWtlckJhbGFuY2UJAABkAAAAAgUAAAAXY3VycmVudFBvb2xNYWtlckJhbGFuY2UICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAQAAAAGcmVzdWx0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAiZ2V0UG9vbE1ha2VyUGFydGljaXBhdGlvbkFtb3VudEtleQAAAAIFAAAADGFzc2V0QWRkcmVzcwkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAE25ld1Bvb2xNYWtlckJhbGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAACVnZXRQb29sTWFrZXJQYXJ0aWNpcGF0aW9uTWF4QW1vdW50S2V5AAAAAgUAAAAMYXNzZXRBZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgMJAABmAAAAAgUAAAATbmV3UG9vbE1ha2VyQmFsYW5jZQUAAAATbWF4UG9vbE1ha2VyQmFsYW5jZQUAAAATbmV3UG9vbE1ha2VyQmFsYW5jZQUAAAATbWF4UG9vbE1ha2VyQmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAHWdldEFzc2V0Q3VycnJlbnRQb29sQW1vdW50S2V5AAAAAQUAAAAMYXNzZXRBZGRyZXNzBQAAAA9maW5hbFBvb2xBbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABhnZXRBc3NldE1heFBvb2xBbW91bnRLZXkAAAABBQAAAAxhc3NldEFkZHJlc3MDCQAAZgAAAAIFAAAAD2ZpbmFsUG9vbEFtb3VudAUAAAANbWF4UG9vbEFtb3VudAUAAAAPZmluYWxQb29sQW1vdW50BQAAAA1tYXhQb29sQW1vdW50CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABFnZXRBc3NldENvbmZpZ0tleQAAAAEFAAAADGFzc2V0QWRkcmVzcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAVZ2V0QXNzZXRQb29sTWFrZXJzS2V5AAAAAQUAAAAMYXNzZXRBZGRyZXNzBQAAAA1uZXdQb29sTWFrZXJzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAABFnZXRBc3NldENvbmZpZ0tleQAAAAEFAAAADGFzc2V0QWRkcmVzcwkBAAAAH2NvbXBvc2VBc3NldENvbmZpZ3VyYXRpb25TdHJpbmcAAAAQBQAAAAVhQ29kZQUAAAADYUlEBQAAAA9maW5hbFBvb2xTdGF0dXMFAAAADmFQcmljZURlY2ltYWxzBQAAAA5hQmFraW5nQXNzZXRJZAUAAAAWYU92ZXJDb2xsYXRlcmFsUGVyY2VudAUAAAAQYU1pblJlcXVpcmVkUG9vbAUAAAATYVByaWNlT3JhY2xlQWRkcmVzcwUAAAAOYU1pbkJ1eVBheW1lbnQFAAAAD2FNaW5TZWxsUGF5bWVudAUAAAAQYUJ1eUxvY2tJbnRlcnZhbAUAAAARYVNlbGxMb2NrSW50ZXJ2YWwFAAAAB2FCdXlGZWUFAAAACGFTZWxsRmVlBQAAABhhUmVkZW1wdGlvblRpbWVvdXRCbG9ja3MFAAAAHndlZWtlbmRzUHJpY2VDaGFuZ2VDb2VmZmljaWVudAUAAAADbmlsAwkAAAAAAAACBQAAABFjdXJyZW50UG9vbFN0YXR1cwgFAAAAC2Fzc2V0U3RhdHVzAAAAAl8zCQAETQAAAAIFAAAABnJlc3VsdAkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAMYXNzZXRBZGRyZXNzCAUAAAAPYXR0YWNoZWRQYXltZW50AAAABmFtb3VudAUAAAAPbmV1dHJpbm9Bc3NldElkBQAAAAZyZXN1bHQAAAABaQEAAAANYWN0aXZhdGVBc3NldAAAAAEAAAAJYXNzZXRDb2RlBAAAAAxhc3NldEFkZHJlc3MJAQAAABVnZXRBc3NldEFkZHJlc3NCeUNvZGUAAAABBQAAAAlhc3NldENvZGUEAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QJAQAAABNnZXRBc3NldENvbmZpZ0FycmF5AAAAAQUAAAAMYXNzZXRBZGRyZXNzBAAAABZjdXJyZW50QXNzZXRQb29sQW1vdW50CQEAAAAZZ2V0QXNzZXRDdXJyZW50UG9vbEFtb3VudAAAAAEFAAAADGFzc2V0QWRkcmVzcwQAAAAFYUNvZGUJAQAAAAxnZXRBc3NldENvZGUAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAAA5hQ3VycmVudFN0YXR1cwkBAAAADmdldEFzc2V0U3RhdHVzAAAAAQUAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAQAAAADYUlECQEAAAAKZ2V0QXNzZXRJRAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAADmFQcmljZURlY2ltYWxzCQEAAAAVZ2V0QXNzZXRQcmljZURlY2ltYWxzAAAAAQUAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAQAAAAOYUJha2luZ0Fzc2V0SWQJAQAAABVnZXRBc3NldEJha2luZ0Fzc2V0SWQAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAABZhT3ZlckNvbGxhdGVyYWxQZXJjZW50CQEAAAAdZ2V0QXNzZXRPdmVyQ29sbGF0ZXJhbFBlcmNlbnQAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAABBhTWluUmVxdWlyZWRQb29sCQEAAAAdZ2V0QXNzZXRNaW5SZXF1aXJlZFBvb2xBbW91bnQAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAABNhUHJpY2VPcmFjbGVBZGRyZXNzCQEAAAAaZ2V0QXNzZXRQcmljZU9yYWNsZUFkZHJlc3MAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAAA5hTWluQnV5UGF5bWVudAkBAAAAGGdldE1pbkJ1eVBheW1lbnRQZXJBc3NldAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAAD2FNaW5TZWxsUGF5bWVudAkBAAAAGWdldE1pblNlbGxQYXltZW50UGVyQXNzZXQAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAABBhQnV5TG9ja0ludGVydmFsCQEAAAAaZ2V0QnV5TG9ja0ludGVydmFsUGVyQXNzZXQAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAABFhU2VsbExvY2tJbnRlcnZhbAkBAAAAG2dldFNlbGxMb2NrSW50ZXJ2YWxQZXJBc3NldAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAAB2FCdXlGZWUJAQAAABFnZXRCdXlGZWVQZXJBc3NldAAAAAEFAAAAFmFzc2V0Q29uZmlndXJhdGlvbkxpc3QEAAAACGFTZWxsRmVlCQEAAAASZ2V0U2VsbEZlZVBlckFzc2V0AAAAAQUAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAQAAAAYYVJlZGVtcHRpb25UaW1lb3V0QmxvY2tzCQEAAAAaZ2V0UmVkZW1wdGlvblRpbWVvdXRCbG9ja3MAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAAB53ZWVrZW5kc1ByaWNlQ2hhbmdlQ29lZmZpY2llbnQJAQAAACFnZXRXZWVrZW5kc1ByaWNlQ2hhbmdlQ29lZmZpY2llbnQAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0AwkBAAAAAiE9AAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAADmFkbWluUHVibGljS2V5CQAAAgAAAAECAAAAKk9ubHkgQWRtaW4gY2FuIHBlcmZvcm0gY29udHJhY3Qgb3BlcmF0aW9uLgMJAAAAAAAAAgkBAAAADGdldEJvb2xCeUtleQAAAAEFAAAAEGlzSW5pdGlhbGl6ZWRLZXkHCQAAAgAAAAECAAAAGkNvbnRyYWN0IGlzIG5vdCB5ZXQgcmVhZHkuAwkBAAAAAiE9AAAAAgUAAAAOYUN1cnJlbnRTdGF0dXMIBQAAAAthc3NldFN0YXR1cwAAAAJfMgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAwQXNzZXQgaXMgbm90IGluIFJFQURZIHN0YXR1cy4gQ3VycmVudCBzdGF0dXMgaXMgBQAAAA5hQ3VycmVudFN0YXR1cwIAAAABLgMJAAAAAAAAAgUAAAAMYXNzZXRBZGRyZXNzAgAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAEkNhbm5vdCBmaW5kIGFzc2V0IAUAAAAJYXNzZXRDb2RlAgAAAAEuAwkAAGYAAAACBQAAABJtaW5pbXVtUG9vbEZ1bmRpbmcFAAAAFmN1cnJlbnRBc3NldFBvb2xBbW91bnQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAC1DYW5ub3QgaXNzdWUgYXNzZXQgYXMgbGlxdWlkaXR5IHBvb2wgYW1vdW50ICgJAAGkAAAAAQUAAAAWY3VycmVudEFzc2V0UG9vbEFtb3VudAIAAAAZKSBpcyBsZXNzIHRoYW4gcmVxdWlyZWQgKAkAAaQAAAABBQAAABJtaW5pbXVtUG9vbEZ1bmRpbmcCAAAAASkEAAAACWlzc3VlRGVidAkBAAAAB1JlaXNzdWUAAAADBQAAAAlkZWJ0VG9rZW4FAAAAFmRlYnRUb2tlblJlaXNzdWVBbW91bnQGCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAZZ2V0QXNzZXRBY3RpdmF0ZUhlaWdodEtleQAAAAEFAAAADGFzc2V0QWRkcmVzcwUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAQAAABFnZXRBc3NldENvbmZpZ0tleQAAAAEFAAAADGFzc2V0QWRkcmVzcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAARZ2V0QXNzZXRDb25maWdLZXkAAAABBQAAAAxhc3NldEFkZHJlc3MJAQAAAB9jb21wb3NlQXNzZXRDb25maWd1cmF0aW9uU3RyaW5nAAAAEAUAAAAFYUNvZGUFAAAAA2FJRAgFAAAAC2Fzc2V0U3RhdHVzAAAAAl8zBQAAAA5hUHJpY2VEZWNpbWFscwUAAAAOYUJha2luZ0Fzc2V0SWQFAAAAFmFPdmVyQ29sbGF0ZXJhbFBlcmNlbnQFAAAAEGFNaW5SZXF1aXJlZFBvb2wFAAAAE2FQcmljZU9yYWNsZUFkZHJlc3MFAAAADmFNaW5CdXlQYXltZW50BQAAAA9hTWluU2VsbFBheW1lbnQFAAAAEGFCdXlMb2NrSW50ZXJ2YWwFAAAAEWFTZWxsTG9ja0ludGVydmFsBQAAAAdhQnV5RmVlBQAAAAhhU2VsbEZlZQUAAAAYYVJlZGVtcHRpb25UaW1lb3V0QmxvY2tzBQAAAB53ZWVrZW5kc1ByaWNlQ2hhbmdlQ29lZmZpY2llbnQJAARMAAAAAgUAAAAJaXNzdWVEZWJ0CQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAADGFzc2V0QWRkcmVzcwUAAAAWY3VycmVudEFzc2V0UG9vbEFtb3VudAUAAAAPbmV1dHJpbm9Bc3NldElkCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEFAAAADGFzc2V0QWRkcmVzcwUAAAAWZGVidFRva2VuUmVpc3N1ZUFtb3VudAUAAAAJZGVidFRva2VuBQAAAANuaWwAAAABaQEAAAAOcmVkZWVtRnJvbVBvb2wAAAACAAAACWFzc2V0Q29kZQAAAAZhbW91bnQEAAAADGFzc2V0QWRkcmVzcwkBAAAAFWdldEFzc2V0QWRkcmVzc0J5Q29kZQAAAAEFAAAACWFzc2V0Q29kZQQAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAkBAAAAE2dldEFzc2V0Q29uZmlnQXJyYXkAAAABBQAAAAxhc3NldEFkZHJlc3MEAAAADWNhbGxlckFkZHJlc3MJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAABl0b3RhbEFtb3VudEluUG9vbEJ5Q2FsbGVyCQEAAAAfZ2V0UG9vbE1ha2VyUGFydGljaXBhdGlvbkFtb3VudAAAAAIFAAAADGFzc2V0QWRkcmVzcwUAAAANY2FsbGVyQWRkcmVzcwQAAAAXbG9ja2VkQW1vdW50QnlQb29sTWFrZXIJAQAAABhnZXRQb29sTWFrZXJMb2NrZWRBbW91bnQAAAACBQAAAAxhc3NldEFkZHJlc3MFAAAADWNhbGxlckFkZHJlc3MDCQEAAAACIT0AAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQUAAAAOYWRtaW5QdWJsaWNLZXkJAAACAAAAAQIAAAAqT25seSBBZG1pbiBjYW4gcGVyZm9ybSBjb250cmFjdCBvcGVyYXRpb24uAwkAAAAAAAACCQEAAAAMZ2V0Qm9vbEJ5S2V5AAAAAQUAAAAQaXNJbml0aWFsaXplZEtleQcJAAACAAAAAQIAAAAaQ29udHJhY3QgaXMgbm90IHlldCByZWFkeS4DCQAAAAAAAAIFAAAADGFzc2V0QWRkcmVzcwIAAAAACQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAABJDYW5ub3QgZmluZCBhc3NldCAFAAAACWFzc2V0Q29kZQIAAAABLgMDAwkAAGYAAAACAAAAAAAAAAAABQAAAAZhbW91bnQGCQAAAAAAAAIFAAAAGXRvdGFsQW1vdW50SW5Qb29sQnlDYWxsZXIAAAAAAAAAAAAGCQAAZgAAAAIFAAAABmFtb3VudAUAAAAZdG90YWxBbW91bnRJblBvb2xCeUNhbGxlcgkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAiQ2Fubm90IGZpbmQgcG9vbCBtYWtlciBieSBhZGRyZXNzIAUAAAANY2FsbGVyQWRkcmVzcwIAAAAhIG9yIGFtb3VudCBwYXNzZWQgaXMgbm90IGNvcnJlY3QuAwkAAGYAAAACBQAAABdsb2NrZWRBbW91bnRCeVBvb2xNYWtlcgAAAAAAAAAAAAkAAAIAAAABAgAAAEZQb29sIG1ha2VyIGFscmVhZHkgaGFzIGluaXRpYXRlZCByZWRlbXB0aW9uIHRoYXQgaXMgbm90IHdpdGhkcmF3biB5ZXQuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAbZ2V0UG9vbE1ha2VyTG9ja2VkQW1vdW50S2V5AAAAAgUAAAAMYXNzZXRBZGRyZXNzBQAAAA1jYWxsZXJBZGRyZXNzBQAAAAZhbW91bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABtnZXRQb29sTWFrZXJVbmxvY2tIZWlnaHRLZXkAAAACBQAAAAxhc3NldEFkZHJlc3MFAAAADWNhbGxlckFkZHJlc3MJAABkAAAAAgUAAAAGaGVpZ2h0CQEAAAAaZ2V0UmVkZW1wdGlvblRpbWVvdXRCbG9ja3MAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BQAAAANuaWwAAAABaQEAAAAId2l0aGRyYXcAAAABAAAACWFzc2V0Q29kZQQAAAAWYXNzZXRDb25maWd1cmF0aW9uTGlzdAkBAAAAE2dldEFzc2V0Q29uZmlnQXJyYXkAAAABBQAAAAlhc3NldENvZGUEAAAADGFzc2V0QWRkcmVzcwkBAAAAFWdldEFzc2V0QWRkcmVzc0J5Q29kZQAAAAEFAAAACWFzc2V0Q29kZQQAAAAScHJpY2VPcmFjbGVBZGRyZXNzCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABCQEAAAAaZ2V0QXNzZXRQcmljZU9yYWNsZUFkZHJlc3MAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BAAAAA1jYWxsZXJBZGRyZXNzCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAASc3ludGhldGljQXNzZXRJbmZvCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAPsAAAAAQkAAlkAAAABBQAAAAxhc3NldEFkZHJlc3MJAAEsAAAAAgIAAAAYQ2Fubm90IGZpbmQgYXNzZXQgYnkgaWQgBQAAAAxhc3NldEFkZHJlc3MEAAAAGnRvdGFsVVNETkJhbGFuY2VPbkNvbnRyYWN0CQAD8AAAAAIFAAAABHRoaXMFAAAAD25ldXRyaW5vQXNzZXRJZAQAAAAcdG90YWxBbW91bnRJblBvb2xCeVBvb2xNYWtlcgkBAAAAH2dldFBvb2xNYWtlclBhcnRpY2lwYXRpb25BbW91bnQAAAACBQAAAAxhc3NldEFkZHJlc3MFAAAADWNhbGxlckFkZHJlc3MEAAAAF2xvY2tlZEFtb3VudEJ5UG9vbE1ha2VyCQEAAAAYZ2V0UG9vbE1ha2VyTG9ja2VkQW1vdW50AAAAAgUAAAAMYXNzZXRBZGRyZXNzBQAAAA1jYWxsZXJBZGRyZXNzBAAAABFtaW5XaXRoZHJhd0hlaWdodAkBAAAAGGdldFBvb2xNYWtlclVubG9ja0hlaWdodAAAAAIFAAAADGFzc2V0QWRkcmVzcwUAAAANY2FsbGVyQWRkcmVzcwQAAAATcG9vbE1ha2V0UHJvcG9ydGlvbgkAAGkAAAACCQEAAAAVZ2V0QXNzZXRNYXhQb29sQW1vdW50AAAAAQUAAAAMYXNzZXRBZGRyZXNzCQEAAAAiZ2V0UG9vbE1ha2VyUGFydGljaXBhdGlvbk1heEFtb3VudAAAAAIFAAAADGFzc2V0QWRkcmVzcwUAAAANY2FsbGVyQWRkcmVzcwMJAQAAAAIhPQAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BQAAAA5hZG1pblB1YmxpY0tleQkAAAIAAAABAgAAACpPbmx5IEFkbWluIGNhbiBwZXJmb3JtIGNvbnRyYWN0IG9wZXJhdGlvbi4DCQAAAAAAAAIJAQAAAAxnZXRCb29sQnlLZXkAAAABBQAAABBpc0luaXRpYWxpemVkS2V5BwkAAAIAAAABAgAAABpDb250cmFjdCBpcyBub3QgeWV0IHJlYWR5LgMJAAAAAAAAAgkBAAAADGdldEJvb2xCeUtleQAAAAEFAAAAEGlzSW5pdGlhbGl6ZWRLZXkHCQAAAgAAAAECAAAAGkNvbnRyYWN0IGlzIG5vdCB5ZXQgcmVhZHkuAwkAAAAAAAACBQAAAAxhc3NldEFkZHJlc3MCAAAAAAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAASQ2Fubm90IGZpbmQgYXNzZXQgBQAAAAlhc3NldENvZGUCAAAAAS4DCQAAAAAAAAIFAAAAHHRvdGFsQW1vdW50SW5Qb29sQnlQb29sTWFrZXIAAAAAAAAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAICAAAAIkNhbm5vdCBmaW5kIHBvb2wgbWFrZXIgYnkgYWRkcmVzcyAFAAAADWNhbGxlckFkZHJlc3MCAAAAFSBvciBubyBsb2NrZWQgYW1vdW50LgMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAABFtaW5XaXRoZHJhd0hlaWdodAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAMUGxlYXNlIHdhaXQgCQABpAAAAAEFAAAAEW1pbldpdGhkcmF3SGVpZ2h0AgAAABEgYmVmb3JlIHdpdGhkcmF3LgQAAAANYXNzZXRFbWlzc2lvbggFAAAAEnN5bnRoZXRpY0Fzc2V0SW5mbwAAAAhxdWFudGl0eQQAAAAMY3VycmVudFByaWNlCQEAAAANZ2V0QXNzZXRQcmljZQAAAAIFAAAAEnByaWNlT3JhY2xlQWRkcmVzcwUAAAAJYXNzZXRDb2RlBAAAABVwb29sTWFrZXJMb2NrZWRBbW91bnQJAQAAABhnZXRQb29sTWFrZXJMb2NrZWRBbW91bnQAAAACBQAAAAxhc3NldEFkZHJlc3MFAAAADWNhbGxlckFkZHJlc3MEAAAAG3ByaWNlV2l0aE92ZXJjb2xsYXRlcmFsUmF0ZQkAAGgAAAACCQEAAAAdZ2V0QXNzZXRPdmVyQ29sbGF0ZXJhbFBlcmNlbnQAAAABBQAAABZhc3NldENvbmZpZ3VyYXRpb25MaXN0BQAAAAxjdXJyZW50UHJpY2UEAAAAGXVzZG5OZWVkZWRUb0NvdmVyRW1pc3Npb24JAABoAAAAAgUAAAAbcHJpY2VXaXRoT3ZlcmNvbGxhdGVyYWxSYXRlBQAAAA1hc3NldEVtaXNzaW9uAwkAAGYAAAACBQAAABp0b3RhbFVTRE5CYWxhbmNlT25Db250cmFjdAUAAAAZdXNkbk5lZWRlZFRvQ292ZXJFbWlzc2lvbgQAAAAcYW1vdXRBdmFpbGFibGVUb0V4aXRGcm9tUG9vbAkAAGUAAAACBQAAABp0b3RhbFVTRE5CYWxhbmNlT25Db250cmFjdAUAAAAZdXNkbk5lZWRlZFRvQ292ZXJFbWlzc2lvbgQAAAARYW1vdW50Rm9yV2l0aGRyYXcJAABoAAAAAgUAAAATcG9vbE1ha2V0UHJvcG9ydGlvbgUAAAAcYW1vdXRBdmFpbGFibGVUb0V4aXRGcm9tUG9vbAQAAAARZmluYWxMb2NrZWRBbW91bnQJAABlAAAAAgkBAAAAGGdldFBvb2xNYWtlckxvY2tlZEFtb3VudAAAAAIFAAAADGFzc2V0QWRkcmVzcwUAAAANY2FsbGVyQWRkcmVzcwUAAAARYW1vdW50Rm9yV2l0aGRyYXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAB1nZXRBc3NldEN1cnJyZW50UG9vbEFtb3VudEtleQAAAAEFAAAADGFzc2V0QWRkcmVzcwkAAGUAAAACCQEAAAAZZ2V0QXNzZXRDdXJyZW50UG9vbEFtb3VudAAAAAEFAAAADGFzc2V0QWRkcmVzcwUAAAARYW1vdW50Rm9yV2l0aGRyYXcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAACJnZXRQb29sTWFrZXJQYXJ0aWNpcGF0aW9uQW1vdW50S2V5AAAAAgUAAAAMYXNzZXRBZGRyZXNzBQAAAA1jYWxsZXJBZGRyZXNzCQAAZQAAAAIJAQAAAB9nZXRQb29sTWFrZXJQYXJ0aWNpcGF0aW9uQW1vdW50AAAAAgUAAAAMYXNzZXRBZGRyZXNzBQAAAA1jYWxsZXJBZGRyZXNzBQAAABFhbW91bnRGb3JXaXRoZHJhdwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAG2dldFBvb2xNYWtlckxvY2tlZEFtb3VudEtleQAAAAIFAAAADGFzc2V0QWRkcmVzcwUAAAANY2FsbGVyQWRkcmVzcwUAAAARZmluYWxMb2NrZWRBbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAANY2FsbGVyQWRkcmVzcwUAAAARYW1vdW50Rm9yV2l0aGRyYXcFAAAAD25ldXRyaW5vQXNzZXRJZAUAAAADbmlsBQAAAANuaWwAAAAATDJiKA==", "chainId": 84, "height": 1227426, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DAHqw9o6NW55eeGxh97P16sBGtVj9DMFHgE7fKdJWLVD Next: 7cDWMnhqNGsoKXC9DQYXSzaNEjmdgZXrEAZhYjqKEnTv Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = split(b, c)
55
66
77 func d (e,f) = valueOrElse(getString(e, f), "")
88
99
1010 func g (f) = valueOrElse(getBoolean(this, f), false)
1111
1212
1313 let h = 1
1414
1515 let i = 2
1616
1717 let j = 3
1818
1919 let k = 4
2020
2121 let l = 5
2222
2323 let m = 6
2424
2525 let n = 7
2626
2727 let o = 8
2828
2929 let p = 9
3030
3131 let q = 10
3232
3333 let r = 11
3434
3535 let s = 12
3636
3737 let t = 13
3838
3939 let u = 14
4040
4141 let v = 15
4242
4343 let w = 16
4444
4545 let x = "G1Ebu5AMHaTJFEbZNkZQcJFUQ9KfiYUwupyLG857DcFr"
4646
4747 let y = "%s%s__commonConfig__neutrinoContractAddress"
4848
4949 let z = "%s%s__commonConfig__neutrinoStakingAddress"
5050
5151 let A = "%s%s__commonConfig__minimumPoolFundingAmount"
5252
5353 let B = "%s%s__commonConfig__initialized"
5454
5555 let C = "%s%s__commonConfig__predefinedAssetsActiveIndex"
5656
5757 let D = "%s%s__commonConfig__predefinedAssetsList"
5858
5959 let E = "%s%s__commonConfig__debtAssetId"
6060
6161 let F = "%s%s__commonConfig__debtAssetEtalonBalance"
6262
6363 let G = "%s%s__commonConfig__defoStakingAddress"
6464
6565 let H = "%s%s__commonConfig__defoStakingPacemakerPub"
6666
6767 let I = "neutrino_asset_id"
6868
6969 let J = "bond_asset_id"
7070
7171 let K = "%s__defoAssetId"
7272
7373 let L = "%s__assetScriptTxId"
7474
7575 func M (N) = (("%s%s%s__defoAsset__" + N) + "__config")
7676
7777
7878 func O (P) = ("%s%s__assetPrice__" + P)
7979
8080
8181 func Q (N) = (("%s%s%s__defoAsset__" + N) + "__initHeight")
8282
8383
8484 func R (N) = (("%s%s%s__defoAsset__" + N) + "__activateHeight")
8585
8686
8787 func S (N) = (("%s%s%s__defoAsset__" + N) + "__currentPool")
8888
8989
9090 func T (N) = (("%s%s%s__defoAsset__" + N) + "__maxPool")
9191
9292
9393 func U (N) = (("%s%s%s__defoAsset__" + N) + "__meta")
9494
9595
9696 func V (N) = (("%s%s%s__defoAsset__" + N) + "__poolMakers")
9797
9898
9999 func W (P) = (("%s%s%s__defoAsset__" + P) + "__addressByAssetCode")
100100
101101
102102 func X (Y) = (("%s%s%s__defoAsset__" + Y) + "__addressByAssetId")
103103
104104
105105 func Z (N,aa) = (((("%s%s%s%s__pool__" + N) + "__") + aa) + "__amount")
106106
107107
108108 func ab (N,aa) = (((("%s%s%s%s__pool__" + N) + "__") + aa) + "__maxAmount")
109109
110110
111111 func ac (N,aa) = (((("%s%s%s%s__pool__" + N) + "__") + aa) + "__lockedAmount")
112112
113113
114114 func ad (N,aa) = (((("%s%s%s%s__pool__" + N) + "__") + aa) + "__unlockHeight")
115115
116116
117117 func ae (N) = a(valueOrErrorMessage(d(this, M(N)), (("No DEFO Asset " + N) + "config present")), "__")
118118
119119
120120 let af = addressFromStringValue(valueOrErrorMessage(getString(this, y), "No neutrino contract specified."))
121121
122122 let ag = fromBase58String(valueOrErrorMessage(getString(af, I), "No USDN asset id found."))
123123
124124 let ah = fromBase58String(valueOrErrorMessage(getString(af, J), "No NSBT asset id found"))
125125
126126 let ai = valueOrErrorMessage(getInteger(this, A), "Minimum pool funding amount is not specified.")
127127
128128 let aj = $Tuple3("PROPOSED", "READY", "ISSUED")
129129
130130 let ak = valueOrErrorMessage(getString(this, D), "No pool of predeployed asset contracts found.")
131131
132132 let al = a(ak, ",")
133133
134134 let am = valueOrElse(getInteger(this, C), 0)
135135
136136 let an = fromBase58String(valueOrErrorMessage(getString(this, E), "No debt token found"))
137137
138138 let ao = 1000000
139139
140140 let ap = valueOrElse(getInteger(this, F), 0)
141141
142142 func aq (ar) = valueOrElse(getString(this, W(ar)), "")
143143
144144
145145 func as (at) = at[h]
146146
147147
148148 func au (at) = at[i]
149149
150150
151151 func av (at) = at[j]
152152
153153
154154 func aw (at) = parseIntValue(at[k])
155155
156156
157157 func ax (at) = at[l]
158158
159159
160160 func ay (at) = parseIntValue(at[m])
161161
162162
163163 func az (at) = parseIntValue(at[n])
164164
165165
166166 func aA (at) = at[o]
167167
168168
169169 func aB (at) = parseIntValue(at[p])
170170
171171
172172 func aC (at) = parseIntValue(at[q])
173173
174174
175175 func aD (at) = parseIntValue(at[r])
176176
177177
178178 func aE (at) = parseIntValue(at[s])
179179
180180
181181 func aF (at) = parseIntValue(at[t])
182182
183183
184184 func aG (at) = parseIntValue(at[u])
185185
186186
187187 func aH (at) = parseIntValue(at[v])
188188
189189
190190 func aI (at) = parseIntValue(at[w])
191191
192192
193193 func aJ (N) = valueOrElse(getString(this, V(N)), "")
194194
195195
196196 func aK (N) = valueOrElse(getInteger(this, Q(N)), 0)
197197
198198
199199 func aL (N) = valueOrElse(getInteger(this, R(N)), 0)
200200
201201
202202 func aM (N) = valueOrElse(getInteger(this, S(N)), 0)
203203
204204
205205 func aN (N) = valueOrElse(getInteger(this, T(N)), 0)
206206
207207
208208 func aO (N) = valueOrElse(getString(this, U(N)), "")
209209
210210
211211 func aP (N,aa) = valueOrElse(getInteger(this, Z(N, aa)), 0)
212212
213213
214214 func aQ (N,aa) = valueOrElse(getInteger(this, ab(N, aa)), 0)
215215
216216
217217 func aR (N,aa) = valueOrElse(getInteger(this, ac(N, aa)), 0)
218218
219219
220220 func aS (N,aa) = valueOrElse(getInteger(this, ad(N, aa)), 0)
221221
222222
223223 func aT (aU,P) = valueOrErrorMessage(getInteger(aU, O(P)), "No Asset price found")
224224
225225
226226 func aV (P,Y,aj,aW,aX,aY,aZ,aU,ba,bb,bc,bd,be,bf,bg,bh) = makeString(["%s%s%s%d%s%d%d%s%d%d%d%d%d%d%d", P, Y, aj, toString(aW), aX, toString(aY), toString(aZ), aU, toString(ba), toString(bb), toString(bc), toString(bd), toString(be), toString(bf), toString(bg)], "__")
227227
228228
229229 @Callable(bi)
230230 func init (bj,bk,bl,bm,am,bn,bo,bp) = if ((toBase58String(bi.callerPublicKey) != x))
231231 then throw("Only Admin can perform contract operation.")
232232 else if ((g(B) == true))
233233 then throw("Contract was already initialized.")
234234 else {
235235 let bq = Issue("DEFO_DEBT", "DEFO Debt Token.", 1, 6, true)
236236 let br = calculateAssetId(bq)
237237 [StringEntry(y, bj), StringEntry(z, bk), IntegerEntry(A, bl), StringEntry(D, bm), IntegerEntry(C, am), IntegerEntry(F, bn), StringEntry(E, toBase58String(br)), StringEntry(G, bo), StringEntry(H, bp), BooleanEntry(B, true), bq, Burn(br, 1)]
238238 }
239239
240240
241241
242242 @Callable(bi)
243243 func proposeAsset (P,bs,aZ,aU,aY,aX,aW,ba,bb,bc,bd,be,bf,bg,bh) = if ((toBase58String(bi.callerPublicKey) != x))
244244 then throw("Only Admin can perform contract operation.")
245245 else if ((g(B) == false))
246246 then throw("Contract is not yet ready.")
247247 else if ((fromBase58String(aX) != ag))
248248 then throw("Baking asset id could be USDN only.")
249249 else if ((aq(P) != ""))
250250 then throw((("Asset with passed code " + P) + " has already been proposed."))
251251 else if ((ai > aZ))
252252 then throw(("Minimum pool amount should be greater or equals to " + toString(ai)))
253253 else if (if (if (if (if (if (if (if ((0 > aY))
254254 then true
255255 else (0 > aW))
256256 then true
257257 else (0 > ba))
258258 then true
259259 else (0 > bb))
260260 then true
261261 else (0 > bc))
262262 then true
263263 else (0 > bd))
264264 then true
265265 else (0 > be))
266266 then true
267267 else (0 > bf))
268268 then throw("One of the passed parameters is invalid.")
269269 else {
270270 let bt = valueOrErrorMessage(addressFromStringValue(aU), "Passed Price Oracle Address is not valid.")
271271 let N = al[am]
272272 let bu = valueOrErrorMessage(getString(valueOrErrorMessage(addressFromString(N), ""), K), "No defo asset ID found.")
273273 [StringEntry(M(N), aV(P, bu, aj._1, aW, aX, aY, aZ, aU, ba, bb, bc, bd, be, bf, bg, bh)), StringEntry(W(P), N), StringEntry(U(N), bs), IntegerEntry(Q(N), height), IntegerEntry(C, (am + 1)), StringEntry(X(bu), N)]
274274 }
275275
276276
277277
278278 @Callable(bi)
279279 func fundLiquidityPool (P) = {
280280 let N = aq(P)
281281 let bv = ae(N)
282282 let bw = value(bi.payments[0])
283283 if ((toBase58String(bi.callerPublicKey) != x))
284284 then throw("Only Admin can perform contract operation.")
285285 else if ((g(B) == false))
286286 then throw("Contract is not yet ready.")
287287 else if ((bw.assetId != ag))
288288 then throw("Liquidity pool could be funded with USDN only.")
289289 else if ((bw.amount == 0))
290290 then throw("Incorrect attached payment amount.")
291291 else if ((N == ""))
292292 then throw((("Cannot find liquidity pool for asset " + P) + "."))
293293 else {
294294 let bx = (bw.amount + aM(N))
295295 let by = aN(N)
296296 let aa = toString(bi.caller)
297297 let bz = aP(N, aa)
298298 let bA = aQ(N, aa)
299299 let bB = av(bv)
300300 let bC = if (if ((bx >= az(bv)))
301301 then (bB == aj._1)
302302 else false)
303303 then aj._2
304304 else bB
305305 let bD = aJ(N)
306306 let bE = if ((bD == ""))
307307 then aa
308308 else if (contains(bD, aa))
309309 then bD
310310 else ((bD + ",") + toString(bi.caller))
311311 let bF = as(bv)
312312 let bG = au(bv)
313313 let bH = aw(bv)
314314 let bI = ax(bv)
315315 let bJ = ay(bv)
316316 let bK = az(bv)
317317 let bL = aA(bv)
318318 let bM = aB(bv)
319319 let bN = aC(bv)
320320 let bO = aD(bv)
321321 let bP = aE(bv)
322322 let bQ = aF(bv)
323323 let bR = aG(bv)
324324 let bS = aH(bv)
325325 let bh = aI(bv)
326326 let bT = (bz + bi.payments[0].amount)
327327 let bU = [IntegerEntry(Z(N, toString(bi.caller)), bT), IntegerEntry(ab(N, toString(bi.caller)), if ((bT > bA))
328328 then bT
329329 else bA), IntegerEntry(S(N), bx), IntegerEntry(T(N), if ((bx > by))
330330 then bx
331331 else by), DeleteEntry(M(N)), StringEntry(V(N), bE), StringEntry(M(N), aV(bF, bG, bC, bH, bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS, bh))]
332332 if ((bB == aj._3))
333333 then (bU :+ ScriptTransfer(addressFromStringValue(N), bw.amount, ag))
334334 else bU
335335 }
336336 }
337337
338338
339339
340340 @Callable(bi)
341341 func activateAsset (P) = {
342342 let N = aq(P)
343343 let bv = ae(N)
344344 let bV = aM(N)
345345 let bF = as(bv)
346346 let bW = av(bv)
347347 let bG = au(bv)
348348 let bH = aw(bv)
349349 let bI = ax(bv)
350350 let bJ = ay(bv)
351351 let bK = az(bv)
352352 let bL = aA(bv)
353353 let bM = aB(bv)
354354 let bN = aC(bv)
355355 let bO = aD(bv)
356356 let bP = aE(bv)
357357 let bQ = aF(bv)
358358 let bR = aG(bv)
359359 let bS = aH(bv)
360360 let bh = aI(bv)
361361 if ((toBase58String(bi.callerPublicKey) != x))
362362 then throw("Only Admin can perform contract operation.")
363363 else if ((g(B) == false))
364364 then throw("Contract is not yet ready.")
365365 else if ((bW != aj._2))
366366 then throw((("Asset is not in READY status. Current status is " + bW) + "."))
367367 else if ((N == ""))
368368 then throw((("Cannot find asset " + P) + "."))
369369 else if ((ai > bV))
370370 then throw((((("Cannot issue asset as liquidity pool amount (" + toString(bV)) + ") is less than required (") + toString(ai)) + ")"))
371371 else {
372372 let bq = Reissue(an, ap, true)
373373 [IntegerEntry(R(N), height), DeleteEntry(M(N)), StringEntry(M(N), aV(bF, bG, aj._3, bH, bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR, bS, bh)), bq, ScriptTransfer(addressFromStringValue(N), bV, ag), ScriptTransfer(addressFromStringValue(N), ap, an)]
374374 }
375375 }
376376
377377
378378
379379 @Callable(bi)
380380 func redeemFromPool (P,bX) = {
381381 let N = aq(P)
382382 let bv = ae(N)
383383 let bY = toString(bi.caller)
384384 let bZ = aP(N, bY)
385385 let ca = aR(N, bY)
386386 if ((toBase58String(bi.callerPublicKey) != x))
387387 then throw("Only Admin can perform contract operation.")
388388 else if ((g(B) == false))
389389 then throw("Contract is not yet ready.")
390390 else if ((N == ""))
391391 then throw((("Cannot find asset " + P) + "."))
392392 else if (if (if ((0 > bX))
393393 then true
394394 else (bZ == 0))
395395 then true
396396 else (bX > bZ))
397397 then throw((("Cannot find pool maker by address " + bY) + " or amount passed is not correct."))
398398 else if ((ca > 0))
399399 then throw("Pool maker already has initiated redemption that is not withdrawn yet.")
400400 else [IntegerEntry(ac(N, bY), bX), IntegerEntry(ad(N, bY), (height + aH(bv)))]
401401 }
402402
403403
404404
405405 @Callable(bi)
406406 func withdraw (P) = {
407407 let bv = ae(P)
408408 let N = aq(P)
409409 let aU = addressFromStringValue(aA(bv))
410410 let bY = toString(bi.caller)
411411 let cb = valueOrErrorMessage(assetInfo(fromBase58String(N)), ("Cannot find asset by id " + N))
412412 let cc = assetBalance(this, ag)
413413 let cd = aP(N, bY)
414414 let ca = aR(N, bY)
415415 let ce = aS(N, bY)
416416 let cf = (aN(N) / aQ(N, bY))
417417 if ((toBase58String(bi.callerPublicKey) != x))
418418 then throw("Only Admin can perform contract operation.")
419419 else if ((g(B) == false))
420420 then throw("Contract is not yet ready.")
421421 else if ((g(B) == false))
422422 then throw("Contract is not yet ready.")
423423 else if ((N == ""))
424424 then throw((("Cannot find asset " + P) + "."))
425425 else if ((cd == 0))
426426 then throw((("Cannot find pool maker by address " + bY) + " or no locked amount."))
427427 else if ((height > ce))
428428 then throw((("Please wait " + toString(ce)) + " before withdraw."))
429429 else {
430430 let cg = cb.quantity
431431 let ch = aT(aU, P)
432432 let ci = aR(N, bY)
433433 let cj = (ay(bv) * ch)
434434 let ck = (cj * cg)
435435 if ((cc > ck))
436436 then {
437437 let cl = (cc - ck)
438438 let cm = (cf * cl)
439439 let cn = (aR(N, bY) - cm)
440440 [IntegerEntry(S(N), (aM(N) - cm)), IntegerEntry(Z(N, bY), (aP(N, bY) - cm)), IntegerEntry(ac(N, bY), cn), ScriptTransfer(addressFromStringValue(bY), cm, ag)]
441441 }
442442 else nil
443443 }
444444 }
445445
446446

github/deemru/w8io/169f3d6 
68.28 ms