tx · 8pXG1pzHGD7SmgA8E1VH8N8r2Wd1KDYkWaFX91sfRLRJ

3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai:  -0.02800000 Waves

2023.06.22 14:54 [2633809] smart account 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > SELF 0.00000000 Waves

{ "type": 13, "id": "8pXG1pzHGD7SmgA8E1VH8N8r2Wd1KDYkWaFX91sfRLRJ", "fee": 2800000, "feeAssetId": null, "timestamp": 1687434838565, "version": 2, "chainId": 84, "sender": "3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai", "senderPublicKey": "2JEaBjtjvMoNGKZmL9QxYefa1VkMJM3vMW8rNvTs9R2H", "proofs": [ "39kkt52ySUf58Q4K9ptz3jmoDuSfyfiGx5DJudbpBHH72cx35qaz8MwnaCzgZ5sW4XFpo27S8qPEZ2iJTCida3JZ" ], "script": "base64:BgK0LQgCEgASBAoCCAgSBAoCCAgSAwoBCBIKCggICAgICAgIARIDCgEIEgYKBAgICAgSBAoCCBgSAwoBCBIECgIIGBIDCgEYEgoKCAgICAgIAQgIEgQKAggBEgMKAQESAwoBARIECgIIARIGCgQICAgIEgQKAggIEgQKAggIEgQKAggIEgMKAQgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIDCgEIEgMKAQgSBAoCCAgSAwoBCBIDCgEIEgMKAQgSAwoBCCIGU0NBTEU4IgVNVUxUOCIGTVVMVDEyIgdTQ0FMRTE4IgZNVUxUMTgiDlBPT0xXRUlHSFRNVUxUIg5HV1h2aXJ0dWFsUE9PTCIMbGFiZWxQb29sc0xwIg1kZWZhdWx0U3ByZWFkIgt3YXZlc1N0cmluZyIQY29udHJhY3RGaWxlbmFtZSIRZGVjaW1hbHNNdWx0UHJpY2UiA1NFUCIFRU1QVFkiClBvb2xBY3RpdmUiD1Bvb2xQdXREaXNhYmxlZCITUG9vbE1hdGNoZXJEaXNhYmxlZCIMUG9vbFNodXRkb3duIhJpZHhJbnRlcm5hbEFzc2V0SWQiD2lkeFJlc3V0QWN0aW9ucyIgaWR4SWZBc3NldElkQ2FsY3VsYXRpb25QZXJmb3JtZWQiDmlkeFBvb2xBZGRyZXNzIg1pZHhQb29sU3RhdHVzIhBpZHhQb29sTFBBc3NldElkIg1pZHhBbXRBc3NldElkIg9pZHhQcmljZUFzc2V0SWQiDmlkeEFtdEFzc2V0RGNtIhBpZHhQcmljZUFzc2V0RGNtIg5pZHhJQW10QXNzZXRJZCIQaWR4SVByaWNlQXNzZXRJZCINaWR4TFBBc3NldERjbSILaWR4UG9vbFR5cGUiE3Bvb2xMYWJlbFd4RW1pc3Npb24iD3ZhbGlkUG9vbExhYmVscyIHd3JhcEVyciIDbXNnIgh0aHJvd0VyciIWa2V5QWxsb3dlZExwU2NyaXB0SGFzaCIca2V5QWxsb3dlZExwU3RhYmxlU2NyaXB0SGFzaCIMc3dhcENvbnRyYWN0IhBrZXlGYWN0b3J5Q29uZmlnIg9rZXlMcFRva2Vuc0xpc3QiEWtleVBvb2xTY3JpcHRIYXNoIg1rZXlNYXRjaGVyUHViIhhrZXlMZWdhY3lGYWN0b3J5Q29udHJhY3QiDmtleUxlZ2FjeVBvb2xzIhNrZXlNYW5hZ2VyUHVibGljS2V5IhZrZXlNYW5hZ2VyVmF1bHRBZGRyZXNzIg9rZXlBZG1pblB1YktleXMiFmtleUFzc2V0c1N0b3JlQ29udHJhY3QiGWtleVZvdGluZ0VtaXNzaW9uQ29udHJhY3QiFGtleVVzZXJQb29sc0NvbnRyYWN0Ig5rZXlQcmljZUFzc2V0cyIQa2V5UHJpY2VEZWNpbWFscyITa2V5QWxsUG9vbHNTaHV0ZG93biIWa2V5TmV4dEludGVybmFsQXNzZXRJZCIPa2V5UG9vbFRvV2VpZ2h0Igtwb29sQWRkcmVzcyIWa2V5UG9vbFRvV2VpZ2h0SGlzdG9yeSIDbnVtIh9rZXlNYXBwaW5nc0ludGVybmFsMmJhc2VBc3NldElkIhFpbnRlcm5hbEJhc2VBc3NldCIfa2V5TWFwcGluZ3NCYXNlQXNzZXQyaW50ZXJuYWxJZCIMYmFzZUFzc2V0U3RyIg1rZXlQb29sQ29uZmlnIhNhbW91bnRBc3NldEludGVybmFsIhJwcmljZUFzc2V0SW50ZXJuYWwiIWtleVBvb2xPbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZCIOYXNzZXRzSW50ZXJuYWwiCyR0MDM4NzgzOTQwIiVrZXlBbGxQb29sc09uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkIh1rZXlNYXBwaW5nTHBBc3NldFRvUG9vbEFzc2V0cyIKbHBBc3NldFN0ciIda2V5TWFwcGluZ1Bvb2xBc3NldHNUb0xwYXNzZXQiGGludGVybmFsQW1vdW50QXNzZXRJZFN0ciIXaW50ZXJuYWxQcmljZUFzc2V0SWRTdHIiDWtleVBvb2xTcHJlYWQiKWtleU1hcHBpbmdQb29sQ29udHJhY3RBZGRyZXNzVG9Qb29sQXNzZXRzIhNwb29sQ29udHJhY3RBZGRyZXNzIilrZXlNYXBwaW5nUG9vbEFzc2V0c1RvUG9vbENvbnRyYWN0QWRkcmVzcyIfa2V5TWFwcGluZ1Bvb2xDb250cmFjdFRvTFBBc3NldCIqa2V5TWFwcGluZ1Bvb2xMUEFzc2V0VG9Qb29sQ29udHJhY3RBZGRyZXNzIg1rZXlXeEVtaXNzaW9uIg1hbW91bnRBc3NldElkIgxwcmljZUFzc2V0SWQiCGtleUluRmVlIg9rZXlJbkZlZURlZmF1bHQiCWtleU91dEZlZSIQa2V5T3V0RmVlRGVmYXVsdCIWa2V5U2tpcE9yZGVyVmFsaWRhdGlvbiIRa2V5Q2hhbmdlQW1wRGVsYXkiEWtleUNoYW5nZUFtcERlbHRhIhJrZXlDaGFuZ2VBbXBUYXJnZXQiFWtleVNXYXZlc1Byb3h5QWRkcmVzcyIQa2V5U1dhdmVzQXNzZXRJZCIXa2V5U3Rha2luZ1Byb2ZpdEFkZHJlc3MiDmtleUxlYXNlZFJhdGlvIgdhc3NldElkIhVrZXlMZWFzZWRSYXRpb0RlZmF1bHQiF2tleUxlYXNlZFJhdGlvVG9sZXJhbmNlIg1rZXlNaW5CYWxhbmNlIhRrZXlNaW5CYWxhbmNlRGVmYXVsdCIPZ2V0U3RyaW5nT3JGYWlsIgNrZXkiEGdldEJvb2xlYW5PckZhaWwiDGdldEludE9yRmFpbCIMcGFyc2VBc3NldElkIgVpbnB1dCIcZ2V0TWFuYWdlclZhdWx0QWRkcmVzc09yVGhpcyIHJG1hdGNoMCIBcyIYSWR4RmFjdG9yeUNmZ1N0YWtpbmdEYXBwIhlJZHhGYWN0b3J5Q2ZnQm9vc3RpbmdEYXBwIhRJZHhGYWN0b3J5Q2ZnSWRvRGFwcCIVSWR4RmFjdG9yeUNmZ1RlYW1EYXBwIhlJZHhGYWN0b3J5Q2ZnRW1pc3Npb25EYXBwIhVJZHhGYWN0b3J5Q2ZnUmVzdERhcHAiGUlkeEZhY3RvcnlDZmdTbGlwcGFnZURhcHAiFElkeEZhY3RvcnlDZmdEYW9EYXBwIhpJZHhGYWN0b3J5Q2ZnTWFya2V0aW5nRGFwcCIaSWR4RmFjdG9yeUNmZ0d3eFJld2FyZERhcHAiFklkeEZhY3RvcnlDZmdCaXJkc0RhcHAiGGdldEJvb3N0aW5nQWRkcmVzc09yRmFpbCIKZmFjdG9yeUNmZyIYZ2V0RW1pc3Npb25BZGRyZXNzT3JGYWlsIhdnZXRTdGFraW5nQWRkcmVzc09yRmFpbCIZZ2V0R3d4UmV3YXJkQWRkcmVzc09yRmFpbCIOZ2V0UHJpY2VBc3NldHMiFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQiE21hbmFnZXJWYXVsdEFkZHJlc3MiFXBlcm1pc3Npb25EZW5pZWRFcnJvciIJdGVzdEVycm9yIghtdXN0VGhpcyIBaSILbXVzdE1hbmFnZXIiAnBrIhBkYXRhRmFjdG9yeUNmZ1YzIg5zdGFraW5nQWRkcmVzcyIPYm9vc3RpbmdBZGRyZXNzIgtpZG9Db250cmFjdCIMdGVhbUNvbnRyYWN0IhBlbWlzc2lvbkNvbnRyYWN0IgxyZXN0Q29udHJhY3QiEHNsaXBwYWdlQ29udHJhY3QiC2Rhb0NvbnRyYWN0IhFtYXJrZXRpbmdDb250cmFjdCISZ3d4UmV3YXJkc0NvbnRyYWN0Ig1iaXJkc0NvbnRyYWN0Ig5kYXRhRmFjdG9yeUNmZyILZGF0YVBvb2xDZmciCnBvb2xTdGF0dXMiCWxwQXNzZXRJZCIOYW1vdW50QXNzZXRTdHIiDXByaWNlQXNzZXRTdHIiE2Ftb3VudEFzc2V0RGVjaW1hbHMiEnByaWNlQXNzZXREZWNpbWFscyIVYW1vdW50QXNzZXRJbnRlcm5hbElkIhRwcmljZUFzc2V0SW50ZXJuYWxJZCIPbHBBc3NldERlY2ltYWxzIghwb29sVHlwZSIVZGF0YU1hcHBpbmdQb29sQXNzZXRzIhZpbnRlcm5hbEFtb3VudEFzc2V0U3RyIhVpbnRlcm5hbFByaWNlQXNzZXRTdHIiDWdldFBvb2xDb25maWciCnBvb2xBc3NldHMiGmdldEludGVybmFsQXNzZXRJZE9yQ3JlYXRlIgphc3NldElkU3RyIgtpbmNyZW1lbnRvciIPaW50ZXJuYWxBc3NldElkIhhjdXJyZW50SW5kZXhPZkludGVybmFsSWQiBnJlc3VsdCISbmV3SW50ZXJuYWxBc3NldElkIgltdXN0QWRtaW4iCGFkbWluUEtzIglpc01hbmFnZXIiFmludE9yRGVmYXVsdE9yRmFsbGJhY2siCmtleURlZmF1bHQiDXZhbHVlRmFsbGJhY2siEnBvb2xFeGlzdHNJbnRlcm5hbCIEYW1BcyIEcHJBcyIDY2ZnIgpjZmdSZXZlcnNlIgZleGlzdHMiHGdldEFzc2V0c0RhdGFGcm9tUG9vbEFkZHJlc3MiDmdldFBvb2xDcmVhdG9yIg0kdDAxNTE2NjE1MzAzIhF1c2VyUG9vbHNDb250cmFjdCILcG9vbENyZWF0b3IiEWdldEFkZHJlc3NCYWxhbmNlIg1hZGRyZXNzU3RyaW5nIg1hc3NldElkU3RyaW5nIgdhZGRyZXNzIgtpc1Bvb2xFbXB0eSINJHQwMTU4NzgxNjAxNSINJHQwMTYzMzAxNjYzNCIBciIHJG1hdGNoMSICcmQiCmlzTGVhc2FibGUiC2xlYXNlZFJhdGlvIgptaW5CYWxhbmNlIgFiIgJiZCINJHQwMTY5MDAxNzEyNCIMcHJveHlBZGRyZXNzIgxwcm94eUFzc2V0SWQiDHByb3h5UmF0ZU11bCIUc3Rha2luZ1Byb2ZpdEFkZHJlc3MiBmFzc2V0MSIGYXNzZXQyIglhc3NldE51bTEiCWFzc2V0TnVtMiICZWUiA3JlcyICbHAiD3N0YWtpbmdDb250cmFjdCIQYm9vc3RpbmdDb250cmFjdCIQc2xwaXBhZ2VDb250cmFjdCINcHJpY2VEZWNpbWFscyILY2hlY2tDYWxsZXIiEG1hdGhjaGVyUHViNThTdHIiCm1hdGhjZXJQdWIiFWxlZ2FjeUZhY3RvcnlDb250cmFjdCILbGVnYWN5UG9vbHMiE2Fzc2V0c1N0b3JlQ29udHJhY3QiFnZvdGluZ0VtaXNzaW9uQ29udHJhY3QiC3ByaWNlQXNzZXRzIgVjaGVrcyIMYWRtaW5QdWJLZXlzIgtscEFzc2V0TmFtZSIMbHBBc3NldERlc2NyIgpwb29sV2VpZ2h0IgRsb2dvIhdpbnRlcm5hbEFtb3VudEFzc2V0RGF0YSIVaW50ZXJuYWxBbW91bnRBc3NldElkIhZpbnRlcm5hbFByaWNlQXNzZXREYXRhIhRpbnRlcm5hbFByaWNlQXNzZXRJZCIVcG9vbEFjY291bnRTY3JpcHRIYXNoIhxldGhhbG9uUG9vbEFjY291bnRTY3JpcHRIYXNoIgpwb29sRXhpc3RzIg9wb29sQ29uZmlnVmFsdWUiFGFtb3VudEFzc2V0c0RlY2ltYWxzIhNwcmljZUFzc2V0c0RlY2ltYWxzIhJscEFzc2V0SXNzdWVBY3Rpb24iDGxwQXNzZXRJZFN0ciIYcG9vbEFjdGl2YXRlSW52b2tlUmVzdWx0IhhjcmVhdGVPclVwZGF0ZUxwQXNzZXRJbnYiEmFkZFBvb2xzTHBMYWJlbEludiIKc2V0TG9nb0ludiIQYWRkQXNzZXRzTGlua0ludiIbaW5jcmVhc2VBc3NldFBvb2xzTnVtYmVySW52IgluZXdTdGF0dXMiCnBvb2xDb25maWciCmxwQXNzZXREY20iDGFtb3VudFRvRW1pdCIGY2FsbGVyIgxvcmlnaW5DYWxsZXIiEGxwQXNzZXRSZXF1ZXN0ZWQiB2xwQXNzZXQiDGFtb3VudFRvQnVybiIHcGF5bWVudCINcGF5bWVudEFtb3VudCIPaW5BbW91bnRBc3NldElkIhpscEFzc2V0UmVxdWVzdGVkRm9yQnVybmluZyIFc2hhcmUiDXBvb2xXZWlnaHRLZXkiDGd3eFdlaWdodEtleSIJZ3d4V2VpZ2h0Ig1wb29sV2VpZ2h0TmV3IhFvbk1vZGlmeVdlaWdodEludiIVZ3d4VmlydHVhbFBvb2xBY3Rpb25zIhRwb29sV2VpZ2h0SGlzdG9yeUtleSIXcG9vbFdlaWdodEhpc3RvcnlPclVuaXQiGHBvb2xXZWlnaHRIaXN0b3J5QWN0aW9ucyIOYnRjUG9vbEFkZHJlc3MiDmV0aFBvb2xBZGRyZXNzIhFldGhCdGNQb29sQWRkcmVzcyITdXNkY1VzZHRQb29sQWRkcmVzcyIPZXRoQnRjV2VpZ2h0TmV3IhF1c2RjVXNkdFdlaWdodE5ldyIPd2VpZ2h0RGVjcmVtZW50IgtzdGFraW5nRGFwcCINZ3d4UmV3YXJkRGFwcCIMYnRjV2VpZ2h0S0VZIgxldGhXZWlnaHRLRVkiD2V0aEJ0Y1dlaWdodEtFWSIRdXNkY1VzZHRXZWlnaHRLRVkiCWJ0Y1dlaWdodCIJZXRoV2VpZ2h0IgxidGNXZWlnaHROZXciDGV0aFdlaWdodE5ldyIPYnRjTHBBc3NldElkU3RyIg9ldGhMcEFzc2V0SWRTdHIiEmV0aEJ0Y0xwQXNzZXRJZFN0ciIUdXNkY1VzZHRMcEFzc2V0SWRTdHIiEW9uTW9kaWZ5V2VpZ2h0QnRjIhFvbk1vZGlmeVdlaWdodEV0aCIUb25Nb2RpZnlXZWlnaHRFdGhCdGMiFm9uTW9kaWZ5V2VpZ2h0VXNkY1VzZHQiCWhhdmVMYWJlbCIUY2hlY2tQcmljZUFzc2V0c1NpemUiAmNiIgNhY2MiCnByaWNlQXNzZXQiB2FjdGlvbnMiAiRsIgIkcyIFJGFjYzAiBSRmMF8xIgIkYSICJGkiBSRmMF8yIh5wb29sT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiImFsbFBvb2xzT25lVG9rZW5PcGVyYXRpb25zRGlzYWJsZWQiA2ZlZSIQYW1vdW50QXNzZXRJZFN0ciIPcHJpY2VBc3NldElkU3RyIhthbW91bnRBc3NldEludGVybmFsSWRPcHRpb24iGnByaWNlQXNzZXRJbnRlcm5hbElkT3B0aW9uIhlwb29sQ29udHJhY3RBZGRyZXNzT3B0aW9uIg9scEFzc2V0SWRPcHRpb24iCHBvb2xJbmZvIgVkZWxheSIFZGVsdGEiBnRhcmdldCIGd2VpZ2h0IgtjaGVja1dlaWdodCILY2hlY2tTdGF0dXMiDSR0MDM5MTE2MzkyNTMiD3VzZXJQb29sc0ludm9rZSIUdm90aW5nRW1pc3Npb25JbnZva2UiEWFzc2V0c1N0b3JlSW52b2tlIgJ0eCIGdmVyaWZ5Ig90YXJnZXRQdWJsaWNLZXl9AAFhAAgAAWIAgMLXLwABYwCAoJSljR0AAWQAEgABZQkAtgIBAICAkLu61q3wDQABZgUBYgABZwIOR1dYdmlydHVhbFBPT0wAAWgCCFBPT0xTX0xQAAFpAICJegABagIFV0FWRVMAAWsCD2ZhY3RvcnlfdjIucmlkZQABbAkAaAIJAGgCAGQA6AcA6AcAAW0CAl9fAAFuAgAAAW8AAQABcAACAAFxAAMAAXIABAABcwABAAF0AAIAAXUAAwABdgABAAF3AAIAAXgAAwABeQAEAAF6AAUAAUEABgABQgAHAAFDAAgAAUQACQABRQAKAAFGAAsAAUcCC1dYX0VNSVNTSU9OAAFICQDMCAIFAUcFA25pbAEBSQEBSgkAuQkCCQDMCAIFAWsJAMwIAgICOiAJAMwIAgUBSgUDbmlsAgABAUsBAUoJAAIBCQEBSQEFAUoBAUwAAhclc19fYWxsb3dlZExwU2NyaXB0SGFzaAEBTQACHSVzX19hbGxvd2VkTHBTdGFibGVTY3JpcHRIYXNoAQFOAAIQJXNfX3N3YXBDb250cmFjdAEBTwACESVzX19mYWN0b3J5Q29uZmlnAQFQAAIQJXNfX2xwVG9rZW5zTGlzdAEBUQACFiVzJXNfX3Bvb2xfX3NjcmlwdEhhc2gBAVIAAhglcyVzX19tYXRjaGVyX19wdWJsaWNLZXkBAVMAAhklc19fbGVnYWN5RmFjdG9yeUNvbnRyYWN0AQFUAAIPJXNfX2xlZ2FjeVBvb2xzAQFVAAIUJXNfX21hbmFnZXJQdWJsaWNLZXkBAVYAAhclc19fbWFuYWdlclZhdWx0QWRkcmVzcwEBVwACECVzX19hZG1pblB1YktleXMBAVgAAhclc19fYXNzZXRzU3RvcmVDb250cmFjdAEBWQACGiVzX192b3RpbmdFbWlzc2lvbkNvbnRyYWN0AQFaAAIVJXNfX3VzZXJQb29sc0NvbnRyYWN0AQJhYQAJALkJAgkAzAgCAgIlcwkAzAgCAgtwcmljZUFzc2V0cwUDbmlsBQFtAQJhYgACESVzX19wcmljZURlY2ltYWxzAQJhYwACDCVzX19zaHV0ZG93bgECYWQAAhclc19fbmV4dEludGVybmFsQXNzZXRJZAECYWUBAmFmCQCsAgICEiVzJXNfX3Bvb2xXZWlnaHRfXwUCYWYBAmFnAgJhZgJhaAkArAICCQCsAgIJAKwCAgISJXMlc19fcG9vbFdlaWdodF9fBQJhZgICX18JAKQDAQUCYWgBAmFpAQJhagkArAICAiglcyVzJWRfX21hcHBpbmdzX19pbnRlcm5hbDJiYXNlQXNzZXRJZF9fCQCkAwEFAmFqAQJhawECYWwJAKwCAgIoJXMlcyVzX19tYXBwaW5nc19fYmFzZUFzc2V0MmludGVybmFsSWRfXwUCYWwBAmFtAgJhbgJhbwkArAICCQCsAgIJAKwCAgkArAICAgglZCVkJXNfXwUCYW4CAl9fBQJhbwIIX19jb25maWcBAmFwAQJhcQQCYXIFAmFxBAJhbggFAmFyAl8xBAJhbwgFAmFyAl8yCQC5CQIJAMwIAgIGJWQlZCVzCQDMCAIJAKQDAQUCYW4JAMwIAgkApAMBBQJhbwkAzAgCAhpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUDbmlsBQFtAQJhcwAJALkJAgkAzAgCAgIlcwkAzAgCAhpvbmVUb2tlbk9wZXJhdGlvbnNEaXNhYmxlZAUDbmlsBQFtAQJhdAECYXUJAKwCAgkArAICAgglcyVzJXNfXwUCYXUCGF9fbWFwcGluZ3NfX2xwQXNzZXQyUG9vbAECYXYCAmF3AmF4CQCsAgIJAKwCAgkArAICCQCsAgICCiVkJWQlcyVzX18FAmF3AgJfXwUCYXgCHl9fbWFwcGluZ3NfX1Bvb2xBc3NldHMyTHBBc3NldAECYXkBAmFmCQCsAgICDiVzJXNfX3NwcmVhZF9fBQJhZgECYXoBAmFBCQCsAgIJAKwCAgIIJXMlcyVzX18FAmFBAiNfX21hcHBpbmdzX19wb29sQ29udHJhY3QyUG9vbEFzc2V0cwECYUICAmF3AmF4CQCsAgIJAKwCAgkArAICCQCsAgICCiVkJWQlcyVzX18JAKQDAQUCYXcCAl9fCQCkAwEFAmF4AiNfX21hcHBpbmdzX19wb29sQXNzZXRzMlBvb2xDb250cmFjdAECYUMBAmFBCQCsAgIJAKwCAgIIJXMlcyVzX18FAmFBAiBfX21hcHBpbmdzX19wb29sQ29udHJhY3QyTHBBc3NldAECYUQBAmF1CQCsAgIJAKwCAgIIJXMlcyVzX18FAmF1AiBfX21hcHBpbmdzX19scEFzc2V0MlBvb2xDb250cmFjdAECYUUCAmFGAmFHCQCsAgIJAKwCAgkArAICAhQlcyVzJXNfX3d4RW1pc3Npb25fXwUCYUYCAl9fBQJhRwECYUgBAmFmCQCsAgICDSVzJXNfX2luRmVlX18FAmFmAQJhSQACECVzX19pbkZlZURlZmF1bHQBAmFKAQJhZgkArAICAg4lcyVzX19vdXRGZWVfXwUCYWYBAmFLAAIRJXNfX291dEZlZURlZmF1bHQBAmFMAQJhZgkArAICAhslcyVzX19za2lwT3JkZXJWYWxpZGF0aW9uX18FAmFmAQJhTQECYWYJAKwCAgIWJXMlc19fY2hhbmdlQW1wRGVsYXlfXwUCYWYBAmFOAQJhZgkArAICAhYlcyVzX19jaGFuZ2VBbXBEZWx0YV9fBQJhZgECYU8BAmFmCQCsAgICFyVzJXNfX2NoYW5nZUFtcFRhcmdldF9fBQJhZgECYVAAAhYlc19fc1dhdmVzUHJveHlBZGRyZXNzAQJhUQACESVzX19zV2F2ZXNBc3NldElkAQJhUgACGCVzX19zdGFraW5nUHJvZml0QWRkcmVzcwECYVMCAmFmAmFUCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICC2xlYXNlZFJhdGlvCQDMCAIFAmFmCQDMCAIFAmFUBQNuaWwFAW0BAmFVAQJhVAkAuQkCCQDMCAICBCVzJXMJAMwIAgISbGVhc2VkUmF0aW9EZWZhdWx0CQDMCAIFAmFUBQNuaWwFAW0BAmFWAgJhZgJhVAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhRsZWFzZWRSYXRpb1RvbGVyYW5jZQkAzAgCBQJhZgkAzAgCBQJhVAUDbmlsBQFtAQJhVwICYWYCYVQJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIKbWluQmFsYW5jZQkAzAgCBQJhZgkAzAgCBQJhVAUDbmlsBQFtAQJhWAECYVQJALkJAgkAzAgCAgQlcyVzCQDMCAICEW1pbkJhbGFuY2VEZWZhdWx0CQDMCAIFAmFUBQNuaWwFAW0BAmFZAQJhWgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFBHRoaXMFAmFaCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYVoBAmJhAQJhWgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCbCAIFBHRoaXMFAmFaCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYVoBAmJiAQJhWgkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCaCAIFBHRoaXMFAmFaCQCsAgICFU5vIGRhdGEgZm9yIHRoaXMua2V5PQUCYVoBAmJjAQJiZAMJAAACBQJiZAUBagUEdW5pdAkA2QQBBQJiZAECYmUABAJiZgkAoggBCQEBVgADCQABAgUCYmYCBlN0cmluZwQCYmcFAmJmCQERQGV4dHJOYXRpdmUoMTA2MikBBQJiZwUEdGhpcwACYmgAAQACYmkAAgACYmoAAwACYmsABAACYmwABQACYm0ABgACYm4ABwACYm8ACAACYnAACQACYnEACgACYnIACwECYnMBAmJ0CQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJ0BQJiaQECYnUBAmJ0CQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJ0BQJibAECYnYBAmJ0CQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJ0BQJiaAECYncBAmJ0CQERQGV4dHJOYXRpdmUoMTA2MikBCQCRAwIFAmJ0BQJicQECYngABAJiZgkAoggBCQECYWEAAwkAAQIFAmJmAgZTdHJpbmcEAmJnBQJiZgMJAAACCQCxAgEFAmJnAAAFA25pbAkAtQkCBQJiZwUBbQUDbmlsAQJieQAEAmJ6CQECYmUABAJiZgkAnQgCBQJiegkBAVUAAwkAAQIFAmJmAgZTdHJpbmcEAmJnBQJiZgkA2QQBBQJiZwMJAAECBQJiZgIEVW5pdAUEdW5pdAkAAgECC01hdGNoIGVycm9yAAJiQQkBAUsBAhFQZXJtaXNzaW9uIGRlbmllZAACYkIJAQFLAQIPVGVzdCBlcnJvciBoZXJlAQJiQwECYkQDCQAAAggFAmJEBmNhbGxlcgUEdGhpcwYFAmJBAQJiRQECYkQEAmJmCQECYnkAAwkAAQIFAmJmAgpCeXRlVmVjdG9yBAJiRgUCYmYDCQAAAggFAmJED2NhbGxlclB1YmxpY0tleQUCYkYGBQJiQQMJAAECBQJiZgIEVW5pdAkBAmJDAQUCYkQJAAIBAgtNYXRjaCBlcnJvcgECYkcLAmJIAmJJAmJKAmJLAmJMAmJNAmJOAmJPAmJQAmJRAmJSCQC5CQIJAMwIAgIWJXMlcyVzJXMlcyVzJXMlcyVzJXMlcwkAzAgCBQJiSAkAzAgCBQJiSQkAzAgCBQJiSgkAzAgCBQJiSwkAzAgCBQJiTAkAzAgCBQJiTQkAzAgCBQJiTgkAzAgCBQJiTwkAzAgCBQJiUAkAzAgCBQJiUQkAzAgCBQJiUgUDbmlsBQFtAQJiUwcCYkgCYkkCYkoCYksCYkwCYk0CYk4JALkJAgkAzAgCAgwlcyVzJXMlcyVzJXMJAMwIAgUCYkgJAMwIAgUCYkkJAMwIAgUCYkoJAMwIAgUCYksJAMwIAgUCYkwJAMwIAgUCYk0JAMwIAgUCYk4FA25pbAUBbQECYlQLAmFmAmJVAmJWAmJXAmJYAmJZAmJaAmNhAmNiAmNjAmNkCQC5CQIJAMwIAgIWJXMlZCVzJXMlcyVkJWQlZCVkJWQlcwkAzAgCBQJhZgkAzAgCBQJiVQkAzAgCBQJiVgkAzAgCBQJiVwkAzAgCBQJiWAkAzAgCCQCkAwEFAmJZCQDMCAIJAKQDAQUCYloJAMwIAgkApAMBBQJjYQkAzAgCCQCkAwEFAmNiCQDMCAIJAKQDAQUCY2MJAMwIAgUCY2QFA25pbAUBbQECY2UCAmNmAmNnCQC5CQIJAMwIAgIEJWQlZAkAzAgCCQCkAwEFAmNmCQDMCAIJAKQDAQUCY2cFA25pbAUBbQECY2gBAmFmBAJjaQkAtQkCCQECYVkBCQECYXoBBQJhZgUBbQQCYW4JAJEDAgUCY2kAAQQCYW8JAJEDAgUCY2kAAgkAtQkCCQECYVkBCQECYW0CBQJhbgUCYW8FAW0BAmNqAgJjawJjbAQCY20JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmFrAQUCY2sAAAQCY24JAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwkBAmFkAAAABAJjbwMJAAACBQJjbQAABAJjcAkAZAIFAmNuBQJjbAkAlQoDBQJjcAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFkAAUCY3AJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhawEFAmNrBQJjcAkAzAgCCQELU3RyaW5nRW50cnkCCQECYWkBBQJjcAUCY2sFA25pbAYJAJUKAwUCY20FA25pbAcFAmNvAQJjcQECYkQEAmNyCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAKIIAQkBAVcABQFuBQFtAwkBD2NvbnRhaW5zRWxlbWVudAIFAmNyCQDYBAEIBQJiRA9jYWxsZXJQdWJsaWNLZXkGBAJjcwkBAmJFAQUCYkQDCQAAAgUCY3MFAmNzBgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECY3QDAmFaAmN1AmN2CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmFaCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFAmN1BQJjdgECY3cCAmFGAmFHBAJhbgkAnwgBCQECYWsBBQJhRgQCYW8JAJ8IAQkBAmFrAQUCYUcDAwkAAAIFAmFuBQR1bml0BgkAAAIFAmFvBQR1bml0BwQCY3gJAKQDAQkBBXZhbHVlAQUCYW4EAmN5CQCkAwEJAQV2YWx1ZQEFAmFvBAJjegkAoggBCQECYW0CBQJjeAUCY3kEAmNBCQCiCAEJAQJhbQIFAmN5BQJjeAQCY0IDCQECIT0CBQJjegUEdW5pdAYJAQIhPQIFAmNBBQR1bml0BQJjQgECY0MBAmFBBAJjaQQCYmYJAKIIAQkBAmF6AQUCYUEDCQABAgUCYmYCBlN0cmluZwQCYmcFAmJmCQC1CQIFAmJnBQFtCQEBSwEJALkJAgkAzAgCBQJhQQkAzAgCAhFwb29sIGlzIG5vdCBmb3VuZAUDbmlsAgEgBAJhbgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmNpAAEEAmFvCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCY2kAAgQCYUYJARFAZXh0ck5hdGl2ZSgxMDU4KQEJAQJhaQEFAmFuBAJhRwkBEUBleHRyTmF0aXZlKDEwNTgpAQkBAmFpAQUCYW8EAmJWCQERQGV4dHJOYXRpdmUoMTA1OCkBCQECYUMBBQJhQQkAlwoFBQJhRgUCYUcFAmJWBQJhbgUCYW8BAmNEAQJhQQQCY0UJAQJjQwEFAmFBBAJhRggFAmNFAl8xBAJhRwgFAmNFAl8yBAJiVggFAmNFAl8zBAJhbggFAmNFAl80BAJhbwgFAmNFAl81BAJjRgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQkBAVoABAJjRwkA/AcEBQJjRgIWZ2V0UG9vbENyZWF0b3JSRUFET05MWQkAzAgCBQJhRgkAzAgCBQJhRwUDbmlsBQNuaWwFAmNHAQJjSAICY0kCY0oEAmNLCQERQGV4dHJOYXRpdmUoMTA2MikBBQJjSQMJAAACBQJjSgIFV0FWRVMICQDvBwEFAmNLB3JlZ3VsYXIEAmFUCQDZBAEFAmNKCQDwBwIFAmNLBQJhVAECY0wBAmFBBAJjTQkBAmNDAQUCYUEEAmFGCAUCY00CXzEEAmFHCAUCY00CXzIEAmJWCAUCY00CXzMEAmFuCAUCY00CXzQEAmFvCAUCY00CXzUDCQAAAgkBAmNIAgUCYUEFAmFGAAAJAAACCQECY0gCBQJhQQUCYUcAAAchAmJEARdnZXRTd2FwQ29udHJhY3RSRUFET05MWQAJAJQKAgUDbmlsCQECYVkBCQEBTgACYkQBGmdldFBvb2xMZWFzZUNvbmZpZ1JFQURPTkxZAgJhZgJhVAQCY04EAmJmCQCaCAIFBHRoaXMJAQJhUwIFAmFmBQJhVAMJAAECBQJiZgIDSW50BAJjTwUCYmYJAJQKAgYJAJcDAQkAzAgCAGQJAMwIAgkAlgMBCQDMCAIAAAkAzAgCBQJjTwUDbmlsBQNuaWwEAmNQCQCaCAIFBHRoaXMJAQJhVQEFAmFUAwkAAQIFAmNQAgNJbnQEAmNRBQJjUAkAlAoCBgkAlwMBCQDMCAIAZAkAzAgCCQCWAwEJAMwIAgAACQDMCAIFAmNRBQNuaWwFA25pbAkAlAoCBwAABAJjUggFAmNOAl8xBAJjUwgFAmNOAl8yBAJjVAQCYmYJAJoIAgUEdGhpcwkBAmFXAgUCYWYFAmFUAwkAAQIFAmJmAgNJbnQEAmNVBQJiZgkAlgMBCQDMCAIAAAkAzAgCBQJjVQUDbmlsBAJjUAkAmggCBQR0aGlzCQECYVgBBQJhVAMJAAECBQJjUAIDSW50BAJjVgUCY1AJAJYDAQkAzAgCAAAJAMwIAgUCY1YFA25pbAAABAJjVwMJAAACBQJhVAIFV0FWRVMJAJUKAwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQECYVAAAgAJAJ0IAgUEdGhpcwkBC3ZhbHVlT3JFbHNlAgkBAmFRAAIABQFjCQCVCgMCAAIAAAAEAmNYCAUCY1cCXzEEAmNZCAUCY1cCXzIEAmNaCAUCY1cCXzMEAmRhCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQJhUgACAAkAlAoCBQNuaWwJAJkKBwUCY1IFAmNTBQJjVAUCY1gFAmNZBQJjWgUCZGECYkQBIGdldExwQXNzZXRGcm9tUG9vbEFzc2V0c1JFQURPTkxZAgJkYgJkYwMDCQAAAgUCZGICLDhMUVc4ZjdQNWQ1UFpNN0d0WkVCZ2FxUlBHU3pTM0RmUHVpWHJVUko0QUpTCQAAAgUCZGMCBVdBVkVTBwkAlAoCBQNuaWwFBHVuaXQEAmRkCQEFdmFsdWUBCQCaCAIFBHRoaXMJAQJhawEFAmRiBAJkZQkBBXZhbHVlAQkAmggCBQR0aGlzCQECYWsBBQJkYwQCZGYJAJ0IAgUEdGhpcwkBAmF2AgkApAMBBQJkZAkApAMBBQJkZQQCZGcDCQAAAgUCZGYFBHVuaXQFBHVuaXQJALACAgkBBXZhbHVlAQUCZGYABAkAlAoCBQNuaWwFAmRnAmJEASFnZXRQb29sQWRkcmVzc0Zyb21McEFzc2V0UkVBRE9OTFkBAmRoCQCUCgIFA25pbAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzCQECYUQBBQJkaAIAAmJEAQtjb25zdHJ1Y3RvcggCZGkCZGoCYkoCYksCYkwCYk0CZGsCZGwEAmRtCQECYkUBBQJiRAMJAAACBQJkbQUCZG0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBAU8ACQECYlMHBQJkaQUCZGoFAmJKBQJiSwUCYkwFAmJNBQJkawkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFiAAUCZGwFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRAENY29uc3RydWN0b3JWMgECZG4EAmRtCQECYkUBBQJiRAMJAAACBQJkbQUCZG0EAmRvCQCnCAEJANkEAQUCZG4DCQAAAgUCZG8FAmRvCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFSAAUCZG4FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRAENY29uc3RydWN0b3JWMwQCYk8CYlACYlECYlIEAmRtCQECYkUBBQJiRAMJAAACBQJkbQUCZG0EAmJ0CQC1CQIJAQJhWQEJAQFPAAUBbQkAzAgCCQELU3RyaW5nRW50cnkCCQEBTwAJAQJiRwsJAJEDAgUCYnQAAQkAkQMCBQJidAACCQCRAwIFAmJ0AAMJAJEDAgUCYnQABAkAkQMCBQJidAAFCQCRAwIFAmJ0AAYJAJEDAgUCYnQABwUCYk8FAmJQBQJiUQUCYlIFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRAENY29uc3RydWN0b3JWNAICZHACZHEEAmRtCQECYkUBBQJiRAMJAAACBQJkbQUCZG0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVMABQJkcAkAzAgCCQELU3RyaW5nRW50cnkCCQEBVAAJALkJAgUCZHEFAW0FA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRAENY29uc3RydWN0b3JWNQECZHIEAmRtCQECYkUBBQJiRAMJAAACBQJkbQUCZG0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBAVgABQJkcgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEAQ1jb25zdHJ1Y3RvclY2AgJkcwJkdAQCZHUJAMwIAgkBAmJFAQUCYkQJAMwIAgMJAQIhPQIJAKYIAQUCZHMFBHVuaXQGAihpbnZhbGlkIHZvdGluZyBlbWlzc2lvbiBjb250cmFjdCBhZGRyZXNzBQNuaWwDCQAAAgUCZHUFAmR1CQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFZAAUCZHMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmFhAAkAuQkCBQJkdAUBbQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEAQlzZXRBZG1pbnMBAmR2BAJkbQkBAmJFAQUCYkQDCQAAAgUCZG0FAmRtCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQFXAAkAuQkCBQJkdgUBbQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEAQ9hY3RpdmF0ZU5ld1Bvb2wIAmFmAmJXAmJYAmR3AmR4AmR5AmNkAmR6BAJkbQkBAmNxAQUCYkQDCQAAAgUCZG0FAmRtAwkBCWlzRGVmaW5lZAEJAKIIAQkBAmF6AQUCYWYJAQFLAQkArAICCQCsAgICDVBvb2wgYWRkcmVzcyAFAmFmAhQgYWxyZWFkeSByZWdpc3RlcmVkLgQCZEEJAQJjagIFAmJXAAEEAmRCCAUCZEECXzEEAmRDCQECY2oCBQJiWAMIBQJkQQJfMwACAAEEAmRECAUCZEMCXzEEAmRFCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAPEHAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYWYJAKwCAgIpTm8gc2NyaXB0IGhhcyBiZWVuIGZvdW5kIG9uIHBvb2wgYWNjb3VudCAFAmFmBAJkRgkBEUBleHRyTmF0aXZlKDEwNTcpAQkBAVEABAJkRwkBAmN3AgUCYlcFAmJYAwUCZEcJAQFLAQkArAICCQCsAgIJAKwCAgkArAICAgVQb29sIAUCYlcCAS8FAmJYAhwgaGFzIGFscmVhZHkgYmVlbiBhY3RpdmF0ZWQuBAJkSAkBBXZhbHVlAQkAnQgCBQR0aGlzCQECYW0CCQCkAwEFAmRCCQCkAwEFAmREBAJkSQMJAAACBQJiVwIFV0FWRVMFAWwJAGwGAAoAAAgJAQV2YWx1ZQEJAOwHAQkA2QQBBQJiVwhkZWNpbWFscwAAAAAFBERPV04EAmRKAwkAAAIFAmJYAgVXQVZFUwUBbAkAbAYACgAACAkBBXZhbHVlAQkA7AcBCQDZBAEFAmJYCGRlY2ltYWxzAAAAAAUERE9XTgQCZEsJAMIIBQUCZHcFAmR4AAEACAYEAmJWCQC4CAEFAmRLBAJkTAkA2AQBBQJiVgQCZE0JAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQUCYWYCCGFjdGl2YXRlCQDMCAIFAmJXCQDMCAIFAmJYBQNuaWwFA25pbAMJAAACBQJkTQUCZE0DCQECIT0CBQJkTQIHc3VjY2VzcwkBAUsBAiNQb29sIGluaXRpYWxpc2F0aW9uIGVycm9yIGhhcHBlbmVkLgQCZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQJhWQEJAQFYAAQCZE4JAPwHBAUCZHICDmNyZWF0ZU9yVXBkYXRlCQDMCAIFAmRMCQDMCAIFAmR3CQDMCAIHBQNuaWwFA25pbAMJAAACBQJkTgUCZE4EAmRPCQD8BwQFAmRyAghhZGRMYWJlbAkAzAgCBQJkTAkAzAgCBQFoBQNuaWwFA25pbAMJAAACBQJkTwUCZE8EAmRQCQD8BwQFAmRyAgdzZXRMb2dvCQDMCAIFAmRMCQDMCAIFAmR6BQNuaWwFA25pbAMJAAACBQJkUAUCZFAEAmRRCQD8BwQFAmRyAg1hZGRBc3NldHNMaW5rCQDMCAIFAmJXCQDMCAIFAmJYCQDMCAIFAmRMBQNuaWwFA25pbAMJAAACBQJkUQUCZFEEAmRSCQD8BwQFAmRyAhhpbmNyZWFzZUFzc2V0UG9vbHNOdW1iZXIJAMwIAgUCYlcFA25pbAUDbmlsAwkAAAIFAmRSBQJkUgkAlAoCCQDOCAIJAM4IAggFAmRBAl8yCAUCZEMCXzIJAMwIAgUCZEsJAMwIAgkBBEJ1cm4CBQJiVgABCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhbQIJAKQDAQUCZEIJAKQDAQUCZEQJAQJiVAsFAmFmCQCkAwEFAW8FAmRMBQJiVwUCYlgFAmRJBQJkSgUCZEIFAmREBQFsBQJjZAkAzAgCCQELU3RyaW5nRW50cnkCCQECYXQBBQJkTAkBAmNlAgUCZEIFAmRECQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhdgIJAKQDAQUCZEIJAKQDAQUCZEQJAKwCAgIEJXNfXwUCZEwJAMwIAgkBC1N0cmluZ0VudHJ5AgkBAmF6AQUCYWYJAQJjZQIFAmRCBQJkRAkAzAgCCQELU3RyaW5nRW50cnkCCQECYUICBQJkQgUCZEQFAmFmCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQJhRAEFAmRMBQJhZgkAzAgCCQELU3RyaW5nRW50cnkCCQECYUMBBQJhZgUCZEwJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhZQEFAmFmBQJkeQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmF5AQUCYWYFAWkFA25pbAUCZEwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkQBCm1hbmFnZVBvb2wCAmFmAmRTBAJkbQkBAmJFAQUCYkQDCQAAAgUCZG0FAmRtBAJkVAkBAmNoAQUCYWYEAmJVCQCRAwIFAmRUBQF3BAJkTAkAkQMCBQJkVAUBeAQCYlcJAJEDAgUCZFQFAXkEAmJYCQCRAwIFAmRUBQF6BAJkSQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRUBQFBBAJkSgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRUBQFCBAJkQgkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRUBQFDBAJkRAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRUBQFEBAJkVQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRUBQFFBAJjZAkAkQMCBQJkVAUBRgkAzAgCCQELU3RyaW5nRW50cnkCCQECYW0CCQCkAwEFAmRCCQCkAwEFAmRECQECYlQLBQJhZgkApAMBBQJkUwUCZEwFAmJXBQJiWAUCZEkFAmRKBQJkQgUCZEQFAmRVBQJjZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEAQRlbWl0AQJkVgQCZFcIBQJiRAZjYWxsZXIEAmRYCAUCYkQMb3JpZ2luQ2FsbGVyBAJkWQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJAQJhQwEJAKUIAQUCZFcCHUludmFsaWQgTFAgYWRkcmVzcyBjYWxsZWQgbWUuBAJkWgkA2QQBBQJkWQQCZHEJALUJAgkBC3ZhbHVlT3JFbHNlAgkAoggBCQEBVAAFAW4FAW0EAmRwCQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBAVMAAihMZWdhY3kgZmFjdG9yeSBjb250cmFjdCBkb2VzIG5vdCBleGlzdHMuAwkAZwIAAAUCZFYFA25pbAMJAQ9jb250YWluc0VsZW1lbnQCBQJkcQkApQgBBQJkVwkAlAoCBQNuaWwFAmRwCQCUCgIJAMwIAgkBB1JlaXNzdWUDBQJkWgUCZFYGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQJiRAZjYWxsZXIFAmRWBQJkWgUDbmlsAgdzdWNjZXNzAmJEAQRidXJuAQJlYQQCZFcIBQJiRAZjYWxsZXIEAmRYCAUCYkQMb3JpZ2luQ2FsbGVyBAJlYgkBBXZhbHVlAQkAkQMCCAUCYkQIcGF5bWVudHMAAAQCZWMJAQV2YWx1ZQEIBQJlYgZhbW91bnQEAmVkCQDYBAEJAQV2YWx1ZQEIBQJlYgdhc3NldElkBAJlZQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJAQJhQwEJAKUIAQUCZFcCHUludmFsaWQgTFAgYWRkcmVzcyBjYWxsZWQgbWUuAwkBAiE9AgUCZWQFAmVlCQEBSwECFUludmFsaWQgYXNzZXQgcGFzc2VkLgMJAQIhPQIFAmVhBQJlYwkBAUsBAhZJbnZhbGlkIGFtb3VudCBwYXNzZWQuBAJkWgkA2QQBBQJlZQkAlAoCCQDMCAIJAQRCdXJuAgUCZFoFAmVhBQNuaWwCB3N1Y2Nlc3MCYkQBDG1vZGlmeVdlaWdodAICYlYCZWYEAmRtAwkAAAIJANgEAQgIBQJiRAZjYWxsZXIFYnl0ZXMJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBAVkAAgAGCQECYkUBBQJiRAMJAAACBQJkbQUCZG0EAmFBCQECYVkBCQECYUQBBQJiVgQCZWcJAQJhZQEFAmFBBAJlaAkBAmFlAQUBZwQCZWkJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUCZWgAAAQCZHkJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUCZWcAAAQCZWoFAmVmBAJidAkAtQkCCQECYVkBCQEBTwAFAW0EAmRpCQECYnYBBQJidAQCZWsJAPwHBAUCZGkCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmJWCQDMCAIFAmFBBQNuaWwFA25pbAMJAAACBQJlawUCZWsEAmVsAwkAAAIFAmVpAAAFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZWgAAAUDbmlsBAJlbQkBAmFnAgUCYUEAAAQCZW4JAJ8IAQUCZW0EAmVvAwkAAAIFAmVuBQR1bml0BQNuaWwJAMwIAgkBC0RlbGV0ZUVudHJ5AQUCZW0FA25pbAkAzggCCQDOCAIJAMwIAgkBDEludGVnZXJFbnRyeQIFAmVnBQJlagUDbmlsBQJlbAUCZW8JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkQBDW1vZGlmeVdlaWdodHMEAmVwAmVxAmVyAmVzBAJkbQkBAmJFAQUCYkQDCQAAAgUCZG0FAmRtBAJldAkAaQIJAGgCAAUFAWYAZAQCZXUJAGkCCQBoAgAFBQFmAGQEAmV2CQBpAgkAaAIABQUBZgBkBAJidAkAtQkCCQECYVkBCQEBTwAFAW0EAmV3CQECYnYBBQJidAQCZXgJAQJidwEFAmJ0BAJleQkBAmFlAQUCZXAEAmV6CQECYWUBBQJlcQQCZUEJAQJhZQEFAmVyBAJlQgkBAmFlAQUCZXMEAmVDCQECYmIBBQJleQQCZUQJAQJiYgEFAmV6BAJlRQkAZQIFAmVDBQJldgQCZUYJAGUCBQJlRAUCZXYDCQBnAgAABQJlRQkBAUsBCQCsAgICFmludmFsaWQgYnRjV2VpZ2h0TmV3OiAJAKQDAQUCZUUDCQBnAgAABQJlRgkBAUsBCQCsAgICFmludmFsaWQgZXRoV2VpZ2h0TmV3OiAJAKQDAQUCZUYEAmVHCQECYVkBCQECYUMBBQJlcAQCZUgJAQJhWQEJAQJhQwEFAmVxBAJlSQkBAmFZAQkBAmFDAQUCZXIEAmVKCQECYVkBCQECYUMBBQJlcwQCZUsJAPwHBAUCZXcCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmVHCQDMCAIFAmVwBQNuaWwFA25pbAMJAAACBQJlSwUCZUsEAmVMCQD8BwQFAmV3Ag5vbk1vZGlmeVdlaWdodAkAzAgCBQJlSAkAzAgCBQJlcQUDbmlsBQNuaWwDCQAAAgUCZUwFAmVMBAJlTQkA/AcEBQJldwIOb25Nb2RpZnlXZWlnaHQJAMwIAgUCZUkJAMwIAgUCZXIFA25pbAUDbmlsAwkAAAIFAmVNBQJlTQQCZU4JAPwHBAUCZXcCDm9uTW9kaWZ5V2VpZ2h0CQDMCAIFAmVKCQDMCAIFAmVzBQNuaWwFA25pbAMJAAACBQJlTgUCZU4JAMwIAgkBDEludGVnZXJFbnRyeQIFAmV5BQJlRQkAzAgCCQEMSW50ZWdlckVudHJ5AgUCZXoFAmVGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQJlQQUCZXQJAMwIAgkBDEludGVnZXJFbnRyeQIFAmVCBQJldQkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFnAgUCZXAAAAUCZUMJAMwIAgkBDEludGVnZXJFbnRyeQIJAQJhZwIFAmVxAAAFAmVECQDMCAIJAQxJbnRlZ2VyRW50cnkCCQECYWcCBQJlcgAABQJldAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBAmFnAgUCZXMAAAUCZXUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgJiRAEYY2hlY2tXeEVtaXNzaW9uUG9vbExhYmVsAgJhRgJhRwQCZU8EAmJmCQCgCAEJAQJhRQIFAmFGBQJhRwMJAAECBQJiZgIHQm9vbGVhbgQCY1UFAmJmBQJjVQcJAJQKAgUDbmlsBQJlTwJiRAEWc2V0V3hFbWlzc2lvblBvb2xMYWJlbAICYUYCYUcEAmRtCQECY3EBBQJiRAMJAAACBQJkbQUCZG0JAJQKAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBAmFFAgUCYUYFAmFHBgUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEARlkZWxldGVXeEVtaXNzaW9uUG9vbExhYmVsAgJhRgJhRwQCZG0DCQAAAggFAmJEBmNhbGxlcgUEdGhpcwYJAQJjcQEFAmJEAwkAAAIFAmRtBQJkbQkAlAoCCQDMCAIJAQtEZWxldGVFbnRyeQEJAQJhRQIFAmFGBQJhRwUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAmJEARJvblZlcmlmaWNhdGlvbkxvc3MBAmFUBAJkbQMJAAACCQDYBAEICAUCYkQGY2FsbGVyBWJ5dGVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMJAQFYAAIABgkBAmJFAQUCYkQDCQAAAgUCZG0FAmRtBAJkdAkBAmJ4AAQCZVADCQBmAgkAkAMBBQJkdAAABgkBAUsBAhRpbnZhbGlkIHByaWNlIGFzc2V0cwMJAAACBQJlUAUCZVAKAQJlUQICZVICZVMEAmNPCQD8BwQFBHRoaXMCGWRlbGV0ZVd4RW1pc3Npb25Qb29sTGFiZWwJAMwIAgUCYVQJAMwIAgUCZVMFA25pbAUDbmlsAwkAAAIFAmNPBQJjTwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQCZVQKAAJlVQUCZHQKAAJlVgkAkAMBBQJlVQoAAmVXBQR1bml0CgECZVgCAmVZAmVaAwkAZwIFAmVaBQJlVgUCZVkJAQJlUQIFAmVZCQCRAwIFAmVVBQJlWgoBAmZhAgJlWQJlWgMJAGcCBQJlWgUCZVYFAmVZCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTEJAQJmYQIJAQJlWAIJAQJlWAIJAQJlWAIJAQJlWAIJAQJlWAIJAQJlWAIJAQJlWAIJAQJlWAIJAQJlWAIJAQJlWAIJAQJlWAIFAmVXAAAAAQACAAMABAAFAAYABwAIAAkACgALAwkAAAIFAmVUBQJlVAkAlAoCBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4CYkQBKGlzUG9vbE9uZVRva2VuT3BlcmF0aW9uc0Rpc2FibGVkUkVBRE9OTFkBAmFmBAJkVAkBAmNoAQUCYWYEAmFxCQCUCgIJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQJkVAUBQwkBDXBhcnNlSW50VmFsdWUBCQCRAwIFAmRUBQFEBAJmYgkBC3ZhbHVlT3JFbHNlAgkAoAgBCQECYXABBQJhcQcEAmZjCQELdmFsdWVPckVsc2UCCQCgCAEJAQJhcwAHCQCUCgIFA25pbAMFAmZjBgUCZmICYkQBEGdldEluRmVlUkVBRE9OTFkBAmFmBAJmZAkBAmN0AwkBAmFIAQUCYWYJAQJhSQAAAAkAlAoCBQNuaWwFAmZkAmJEARFnZXRPdXRGZWVSRUFET05MWQECYWYEAmZkCQECY3QDCQECYUoBBQJhZgkBAmFLAAkAawMACgUBYgCQTgkAlAoCBQNuaWwFAmZkAmJEARBwb29sSW5mb1JFQURPTkxZAgJmZQJmZgQCZmcJAJoIAgUEdGhpcwkBAmFrAQUCZmUEAmZoCQCaCAIFBHRoaXMJAQJhawEFAmZmBAJmaQkAnQgCBQR0aGlzCQECYUICCQEFdmFsdWUBBQJmZwkBBXZhbHVlAQUCZmgEAmZqCQCdCAIFBHRoaXMJAQJhQwEJAQV2YWx1ZQEFAmZpBAJkRwMDCQEJaXNEZWZpbmVkAQUCZmcJAQlpc0RlZmluZWQBBQJmaAcJAQlpc0RlZmluZWQBBQJmaQcEAmZrAwUCZEcJAJQKAgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQUCZmkJAQJiYwEJAQV2YWx1ZQEFAmZqBQR1bml0CQCUCgIFA25pbAUCZmsCYkQBFWdldFBvb2xTdGF0dXNSRUFET05MWQECYWYEAmNpCQC1CQIJAQJhWQEJAQJhegEFAmFmBQFtBAJhbgkAkQMCBQJjaQABBAJhbwkAkQMCBQJjaQACBAJjegkAtQkCCQECYVkBCQECYW0CBQJhbgUCYW8FAW0JAJQKAgUDbmlsCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUCY3oFAXcCYkQBFWdldFBvb2xDb25maWdSRUFET05MWQECYWYEAmNpCQC1CQIJAQJhWQEJAQJhegEFAmFmBQFtBAJhbgkAkQMCBQJjaQABBAJhbwkAkQMCBQJjaQACBAJjegkAtQkCCQECYVkBCQECYW0CBQJhbgUCYW8FAW0JAJQKAgUDbmlsBQJjegJiRAEgZ2V0UG9vbENvbmZpZ0J5THBBc3NldElkUkVBRE9OTFkBAmRMBAJjaQkAtQkCCQECYVkBCQECYXQBBQJkTAUBbQQCYW4JAJEDAgUCY2kAAQQCYW8JAJEDAgUCY2kAAgQCY3oJALUJAgkBAmFZAQkBAmFtAgUCYW4FAmFvBQFtCQCUCgIFA25pbAUCY3oCYkQBEnBvb2xFeGlzdHNSRUFET05MWQICYUYCYUcJAJQKAgUDbmlsCQECY3cCBQJhRgUCYUcCYkQBG3NraXBPcmRlclZhbGlkYXRpb25SRUFET05MWQECYWYJAJQKAgUDbmlsCQELdmFsdWVPckVsc2UCCQCgCAEJAQJhTAEFAmFmBwJiRAEaZ2V0Q2hhbmdlQW1wQ29uZmlnUkVBRE9OTFkBAmFmBAJmbAkBEUBleHRyTmF0aXZlKDEwNTUpAQkBAmFNAQUCYWYEAmZtCQERQGV4dHJOYXRpdmUoMTA1NSkBCQECYU4BBQJhZgQCZm4JARFAZXh0ck5hdGl2ZSgxMDU1KQEJAQJhTwEFAmFmCQCUCgIFA25pbAkAzAgCBQJmbAkAzAgCBQJmbQkAzAgCBQJmbgUDbmlsAmJEARVnZXRQb29sV2VpZ2h0UkVBRE9OTFkBAmJWBAJhZgkBAmFZAQkBAmFEAQUCYlYEAmZvCQELdmFsdWVPckVsc2UCCQCfCAEJAQJhZQEFAmFmAAAJAJQKAgUDbmlsBQJmbwJiRAEKZGVsZXRlUG9vbAECYUEEAmRUCQECY2gBBQJhQQQCZG0DCQAAAgkApQgBCAUCYkQGY2FsbGVyCQECY0QBBQJhQQMJAQJjTAEFAmFBBgkBAUsBAhFQb29sIGlzIG5vdCBlbXB0eQkBAmJFAQUCYkQDCQAAAgUCZG0FAmRtBAJmcAMJAAACCQELdmFsdWVPckVsc2UCCQCfCAEJAQJhZQEFAmFBAAAAAAYJAQFLAQIXUG9vbCB3ZWlnaHQgaXMgbm90IFplcm8DCQAAAgUCZnAFAmZwBAJmcQMJAAACCQCRAwIFAmRUBQF3CQCkAwEFAXIGCQEBSwECGVBvb2wgbXVzdCBiZSBTSFVURE9XTiAoNCkDCQAAAgUCZnEFAmZxBAJmcgkBAmNDAQUCYUEEAmFGCAUCZnICXzEEAmFHCAUCZnICXzIEAmJWCAUCZnICXzMEAmFuCAUCZnICXzQEAmFvCAUCZnICXzUEAmNGCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEBWgAEAmZzCQD8BwQFAmNGAgpkZWxldGVQb29sCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFA25pbAMJAAACBQJmcwUCZnMEAmRzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEBWQAEAmZ0CQD8BwQFAmRzAgpkZWxldGVQb29sCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFA25pbAMJAAACBQJmdAUCZnQEAmRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBCQEBWAAEAmZ1CQD8BwQFAmRyAgpkZWxldGVQb29sCQDMCAIFAmFGCQDMCAIFAmFHBQNuaWwFA25pbAMJAAACBQJmdQUCZnUJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFDAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF6AQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF2AgkApAMBBQJhbgkApAMBBQJhbwkAzAgCCQELRGVsZXRlRW50cnkBCQECYUICBQJhbgUCYW8JAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFtAgkApAMBBQJhbgkApAMBBQJhbwkAzAgCCQELRGVsZXRlRW50cnkBCQECYXQBBQJiVgkAzAgCCQELRGVsZXRlRW50cnkBCQECYUQBBQJiVgkAzAgCCQELRGVsZXRlRW50cnkBCQECYUUCBQJhRgUCYUcJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFlAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmF5AQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFIAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFKAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFMAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFNAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFOAQUCYUEJAMwIAgkBC0RlbGV0ZUVudHJ5AQkBAmFPAQUCYUEFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECZnYBAmZ3AAQCZngEAmJmCQECYnkAAwkAAQIFAmJmAgpCeXRlVmVjdG9yBAJiRgUCYmYFAmJGAwkAAQIFAmJmAgRVbml0CAUCZnYPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAmZ2CWJvZHlCeXRlcwkAkQMCCAUCZnYGcHJvb2ZzAAAFAmZ4LuuPpg==", "height": 2633809, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7qHNU28LTEdeHnhAG5KYoJ6w53Q6s6EufAfRqe6LvMJY Next: 6UbubqTkuh3Lr1XU348nUrJxxGZKs1A9TZqcYzC3CUrs Diff:
OldNewDifferences
10471047 else K("Pool weight is not Zero")
10481048 if ((fp == fp))
10491049 then {
1050- let fq = if ((getIntegerValue(dT[w]) == r))
1050+ let fq = if ((dT[w] == toString(r)))
10511051 then true
1052- else K("Pools must be SHUTDOWN (4)")
1052+ else K("Pool must be SHUTDOWN (4)")
10531053 if ((fq == fq))
10541054 then {
10551055 let fr = cC(aA)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 8
55
66 let b = 100000000
77
88 let c = 1000000000000
99
1010 let d = 18
1111
1212 let e = toBigInt(1000000000000000000)
1313
1414 let f = b
1515
1616 let g = "GWXvirtualPOOL"
1717
1818 let h = "POOLS_LP"
1919
2020 let i = 2000000
2121
2222 let j = "WAVES"
2323
2424 let k = "factory_v2.ride"
2525
2626 let l = ((100 * 1000) * 1000)
2727
2828 let m = "__"
2929
3030 let n = ""
3131
3232 let o = 1
3333
3434 let p = 2
3535
3636 let q = 3
3737
3838 let r = 4
3939
4040 let s = 1
4141
4242 let t = 2
4343
4444 let u = 3
4545
4646 let v = 1
4747
4848 let w = 2
4949
5050 let x = 3
5151
5252 let y = 4
5353
5454 let z = 5
5555
5656 let A = 6
5757
5858 let B = 7
5959
6060 let C = 8
6161
6262 let D = 9
6363
6464 let E = 10
6565
6666 let F = 11
6767
6868 let G = "WX_EMISSION"
6969
7070 let H = [G]
7171
7272 func I (J) = makeString([k, ": ", J], "")
7373
7474
7575 func K (J) = throw(I(J))
7676
7777
7878 func L () = "%s__allowedLpScriptHash"
7979
8080
8181 func M () = "%s__allowedLpStableScriptHash"
8282
8383
8484 func N () = "%s__swapContract"
8585
8686
8787 func O () = "%s__factoryConfig"
8888
8989
9090 func P () = "%s__lpTokensList"
9191
9292
9393 func Q () = "%s%s__pool__scriptHash"
9494
9595
9696 func R () = "%s%s__matcher__publicKey"
9797
9898
9999 func S () = "%s__legacyFactoryContract"
100100
101101
102102 func T () = "%s__legacyPools"
103103
104104
105105 func U () = "%s__managerPublicKey"
106106
107107
108108 func V () = "%s__managerVaultAddress"
109109
110110
111111 func W () = "%s__adminPubKeys"
112112
113113
114114 func X () = "%s__assetsStoreContract"
115115
116116
117117 func Y () = "%s__votingEmissionContract"
118118
119119
120120 func Z () = "%s__userPoolsContract"
121121
122122
123123 func aa () = makeString(["%s", "priceAssets"], m)
124124
125125
126126 func ab () = "%s__priceDecimals"
127127
128128
129129 func ac () = "%s__shutdown"
130130
131131
132132 func ad () = "%s__nextInternalAssetId"
133133
134134
135135 func ae (af) = ("%s%s__poolWeight__" + af)
136136
137137
138138 func ag (af,ah) = ((("%s%s__poolWeight__" + af) + "__") + toString(ah))
139139
140140
141141 func ai (aj) = ("%s%s%d__mappings__internal2baseAssetId__" + toString(aj))
142142
143143
144144 func ak (al) = ("%s%s%s__mappings__baseAsset2internalId__" + al)
145145
146146
147147 func am (an,ao) = (((("%d%d%s__" + an) + "__") + ao) + "__config")
148148
149149
150150 func ap (aq) = {
151151 let ar = aq
152152 let an = ar._1
153153 let ao = ar._2
154154 makeString(["%d%d%s", toString(an), toString(ao), "oneTokenOperationsDisabled"], m)
155155 }
156156
157157
158158 func as () = makeString(["%s", "oneTokenOperationsDisabled"], m)
159159
160160
161161 func at (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2Pool")
162162
163163
164164 func av (aw,ax) = (((("%d%d%s%s__" + aw) + "__") + ax) + "__mappings__PoolAssets2LpAsset")
165165
166166
167167 func ay (af) = ("%s%s__spread__" + af)
168168
169169
170170 func az (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2PoolAssets")
171171
172172
173173 func aB (aw,ax) = (((("%d%d%s%s__" + toString(aw)) + "__") + toString(ax)) + "__mappings__poolAssets2PoolContract")
174174
175175
176176 func aC (aA) = (("%s%s%s__" + aA) + "__mappings__poolContract2LpAsset")
177177
178178
179179 func aD (au) = (("%s%s%s__" + au) + "__mappings__lpAsset2PoolContract")
180180
181181
182182 func aE (aF,aG) = ((("%s%s%s__wxEmission__" + aF) + "__") + aG)
183183
184184
185185 func aH (af) = ("%s%s__inFee__" + af)
186186
187187
188188 func aI () = "%s__inFeeDefault"
189189
190190
191191 func aJ (af) = ("%s%s__outFee__" + af)
192192
193193
194194 func aK () = "%s__outFeeDefault"
195195
196196
197197 func aL (af) = ("%s%s__skipOrderValidation__" + af)
198198
199199
200200 func aM (af) = ("%s%s__changeAmpDelay__" + af)
201201
202202
203203 func aN (af) = ("%s%s__changeAmpDelta__" + af)
204204
205205
206206 func aO (af) = ("%s%s__changeAmpTarget__" + af)
207207
208208
209209 func aP () = "%s__sWavesProxyAddress"
210210
211211
212212 func aQ () = "%s__sWavesAssetId"
213213
214214
215215 func aR () = "%s__stakingProfitAddress"
216216
217217
218218 func aS (af,aT) = makeString(["%s%s%s", "leasedRatio", af, aT], m)
219219
220220
221221 func aU (aT) = makeString(["%s%s", "leasedRatioDefault", aT], m)
222222
223223
224224 func aV (af,aT) = makeString(["%s%s%s", "leasedRatioTolerance", af, aT], m)
225225
226226
227227 func aW (af,aT) = makeString(["%s%s%s", "minBalance", af, aT], m)
228228
229229
230230 func aX (aT) = makeString(["%s%s", "minBalanceDefault", aT], m)
231231
232232
233233 func aY (aZ) = valueOrErrorMessage(getString(this, aZ), ("No data for this.key=" + aZ))
234234
235235
236236 func ba (aZ) = valueOrErrorMessage(getBoolean(this, aZ), ("No data for this.key=" + aZ))
237237
238238
239239 func bb (aZ) = valueOrErrorMessage(getInteger(this, aZ), ("No data for this.key=" + aZ))
240240
241241
242242 func bc (bd) = if ((bd == j))
243243 then unit
244244 else fromBase58String(bd)
245245
246246
247247 func be () = {
248248 let bf = getString(V())
249249 if ($isInstanceOf(bf, "String"))
250250 then {
251251 let bg = bf
252252 addressFromStringValue(bg)
253253 }
254254 else this
255255 }
256256
257257
258258 let bh = 1
259259
260260 let bi = 2
261261
262262 let bj = 3
263263
264264 let bk = 4
265265
266266 let bl = 5
267267
268268 let bm = 6
269269
270270 let bn = 7
271271
272272 let bo = 8
273273
274274 let bp = 9
275275
276276 let bq = 10
277277
278278 let br = 11
279279
280280 func bs (bt) = addressFromStringValue(bt[bi])
281281
282282
283283 func bu (bt) = addressFromStringValue(bt[bl])
284284
285285
286286 func bv (bt) = addressFromStringValue(bt[bh])
287287
288288
289289 func bw (bt) = addressFromStringValue(bt[bq])
290290
291291
292292 func bx () = {
293293 let bf = getString(aa())
294294 if ($isInstanceOf(bf, "String"))
295295 then {
296296 let bg = bf
297297 if ((size(bg) == 0))
298298 then nil
299299 else split(bg, m)
300300 }
301301 else nil
302302 }
303303
304304
305305 func by () = {
306306 let bz = be()
307307 let bf = getString(bz, U())
308308 if ($isInstanceOf(bf, "String"))
309309 then {
310310 let bg = bf
311311 fromBase58String(bg)
312312 }
313313 else if ($isInstanceOf(bf, "Unit"))
314314 then unit
315315 else throw("Match error")
316316 }
317317
318318
319319 let bA = K("Permission denied")
320320
321321 let bB = K("Test error here")
322322
323323 func bC (bD) = if ((bD.caller == this))
324324 then true
325325 else bA
326326
327327
328328 func bE (bD) = {
329329 let bf = by()
330330 if ($isInstanceOf(bf, "ByteVector"))
331331 then {
332332 let bF = bf
333333 if ((bD.callerPublicKey == bF))
334334 then true
335335 else bA
336336 }
337337 else if ($isInstanceOf(bf, "Unit"))
338338 then bC(bD)
339339 else throw("Match error")
340340 }
341341
342342
343343 func bG (bH,bI,bJ,bK,bL,bM,bN,bO,bP,bQ,bR) = makeString(["%s%s%s%s%s%s%s%s%s%s%s", bH, bI, bJ, bK, bL, bM, bN, bO, bP, bQ, bR], m)
344344
345345
346346 func bS (bH,bI,bJ,bK,bL,bM,bN) = makeString(["%s%s%s%s%s%s", bH, bI, bJ, bK, bL, bM, bN], m)
347347
348348
349349 func bT (af,bU,bV,bW,bX,bY,bZ,ca,cb,cc,cd) = makeString(["%s%d%s%s%s%d%d%d%d%d%s", af, bU, bV, bW, bX, toString(bY), toString(bZ), toString(ca), toString(cb), toString(cc), cd], m)
350350
351351
352352 func ce (cf,cg) = makeString(["%d%d", toString(cf), toString(cg)], m)
353353
354354
355355 func ch (af) = {
356356 let ci = split(aY(az(af)), m)
357357 let an = ci[1]
358358 let ao = ci[2]
359359 split(aY(am(an, ao)), m)
360360 }
361361
362362
363363 func cj (ck,cl) = {
364364 let cm = valueOrElse(getInteger(this, ak(ck)), 0)
365365 let cn = valueOrElse(getInteger(this, ad()), 0)
366366 let co = if ((cm == 0))
367367 then {
368368 let cp = (cn + cl)
369369 $Tuple3(cp, [IntegerEntry(ad(), cp), IntegerEntry(ak(ck), cp), StringEntry(ai(cp), ck)], true)
370370 }
371371 else $Tuple3(cm, nil, false)
372372 co
373373 }
374374
375375
376376 func cq (bD) = {
377377 let cr = split(valueOrElse(getString(W()), n), m)
378378 if (containsElement(cr, toBase58String(bD.callerPublicKey)))
379379 then true
380380 else {
381381 let cs = bE(bD)
382382 if ((cs == cs))
383383 then true
384384 else throw("Strict value is not equal to itself.")
385385 }
386386 }
387387
388388
389389 func ct (aZ,cu,cv) = valueOrElse(getInteger(this, aZ), valueOrElse(getInteger(this, cu), cv))
390390
391391
392392 func cw (aF,aG) = {
393393 let an = getInteger(ak(aF))
394394 let ao = getInteger(ak(aG))
395395 if (if ((an == unit))
396396 then true
397397 else (ao == unit))
398398 then false
399399 else {
400400 let cx = toString(value(an))
401401 let cy = toString(value(ao))
402402 let cz = getString(am(cx, cy))
403403 let cA = getString(am(cy, cx))
404404 let cB = if ((cz != unit))
405405 then true
406406 else (cA != unit)
407407 cB
408408 }
409409 }
410410
411411
412412 func cC (aA) = {
413413 let ci = {
414414 let bf = getString(az(aA))
415415 if ($isInstanceOf(bf, "String"))
416416 then {
417417 let bg = bf
418418 split(bg, m)
419419 }
420420 else K(makeString([aA, "pool is not found"], " "))
421421 }
422422 let an = parseIntValue(ci[1])
423423 let ao = parseIntValue(ci[2])
424424 let aF = getStringValue(ai(an))
425425 let aG = getStringValue(ai(ao))
426426 let bV = getStringValue(aC(aA))
427427 $Tuple5(aF, aG, bV, an, ao)
428428 }
429429
430430
431431 func cD (aA) = {
432432 let cE = cC(aA)
433433 let aF = cE._1
434434 let aG = cE._2
435435 let bV = cE._3
436436 let an = cE._4
437437 let ao = cE._5
438438 let cF = addressFromStringValue(getStringValue(Z()))
439439 let cG = invoke(cF, "getPoolCreatorREADONLY", [aF, aG], nil)
440440 cG
441441 }
442442
443443
444444 func cH (cI,cJ) = {
445445 let cK = addressFromStringValue(cI)
446446 if ((cJ == "WAVES"))
447447 then wavesBalance(cK).regular
448448 else {
449449 let aT = fromBase58String(cJ)
450450 assetBalance(cK, aT)
451451 }
452452 }
453453
454454
455455 func cL (aA) = {
456456 let cM = cC(aA)
457457 let aF = cM._1
458458 let aG = cM._2
459459 let bV = cM._3
460460 let an = cM._4
461461 let ao = cM._5
462462 if ((cH(aA, aF) == 0))
463463 then (cH(aA, aG) == 0)
464464 else false
465465 }
466466
467467
468468 @Callable(bD)
469469 func getSwapContractREADONLY () = $Tuple2(nil, aY(N()))
470470
471471
472472
473473 @Callable(bD)
474474 func getPoolLeaseConfigREADONLY (af,aT) = {
475475 let cN = {
476476 let bf = getInteger(this, aS(af, aT))
477477 if ($isInstanceOf(bf, "Int"))
478478 then {
479479 let cO = bf
480480 $Tuple2(true, min([100, max([0, cO])]))
481481 }
482482 else {
483483 let cP = getInteger(this, aU(aT))
484484 if ($isInstanceOf(cP, "Int"))
485485 then {
486486 let cQ = cP
487487 $Tuple2(true, min([100, max([0, cQ])]))
488488 }
489489 else $Tuple2(false, 0)
490490 }
491491 }
492492 let cR = cN._1
493493 let cS = cN._2
494494 let cT = {
495495 let bf = getInteger(this, aW(af, aT))
496496 if ($isInstanceOf(bf, "Int"))
497497 then {
498498 let cU = bf
499499 max([0, cU])
500500 }
501501 else {
502502 let cP = getInteger(this, aX(aT))
503503 if ($isInstanceOf(cP, "Int"))
504504 then {
505505 let cV = cP
506506 max([0, cV])
507507 }
508508 else 0
509509 }
510510 }
511511 let cW = if ((aT == "WAVES"))
512512 then $Tuple3(valueOrElse(getString(this, aP()), ""), getString(this, valueOrElse(aQ(), "")), c)
513513 else $Tuple3("", "", 0)
514514 let cX = cW._1
515515 let cY = cW._2
516516 let cZ = cW._3
517517 let da = valueOrElse(getString(this, aR()), "")
518518 $Tuple2(nil, $Tuple7(cR, cS, cT, cX, cY, cZ, da))
519519 }
520520
521521
522522
523523 @Callable(bD)
524524 func getLpAssetFromPoolAssetsREADONLY (db,dc) = if (if ((db == "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS"))
525525 then (dc == "WAVES")
526526 else false)
527527 then $Tuple2(nil, unit)
528528 else {
529529 let dd = value(getInteger(this, ak(db)))
530530 let de = value(getInteger(this, ak(dc)))
531531 let df = getString(this, av(toString(dd), toString(de)))
532532 let dg = if ((df == unit))
533533 then unit
534534 else drop(value(df), 4)
535535 $Tuple2(nil, dg)
536536 }
537537
538538
539539
540540 @Callable(bD)
541541 func getPoolAddressFromLpAssetREADONLY (dh) = $Tuple2(nil, valueOrElse(getString(this, aD(dh)), ""))
542542
543543
544544
545545 @Callable(bD)
546546 func constructor (di,dj,bJ,bK,bL,bM,dk,dl) = {
547547 let dm = bE(bD)
548548 if ((dm == dm))
549549 then [StringEntry(O(), bS(di, dj, bJ, bK, bL, bM, dk)), IntegerEntry(ab(), dl)]
550550 else throw("Strict value is not equal to itself.")
551551 }
552552
553553
554554
555555 @Callable(bD)
556556 func constructorV2 (dn) = {
557557 let dm = bE(bD)
558558 if ((dm == dm))
559559 then {
560560 let do = addressFromPublicKey(fromBase58String(dn))
561561 if ((do == do))
562562 then [StringEntry(R(), dn)]
563563 else throw("Strict value is not equal to itself.")
564564 }
565565 else throw("Strict value is not equal to itself.")
566566 }
567567
568568
569569
570570 @Callable(bD)
571571 func constructorV3 (bO,bP,bQ,bR) = {
572572 let dm = bE(bD)
573573 if ((dm == dm))
574574 then {
575575 let bt = split(aY(O()), m)
576576 [StringEntry(O(), bG(bt[1], bt[2], bt[3], bt[4], bt[5], bt[6], bt[7], bO, bP, bQ, bR))]
577577 }
578578 else throw("Strict value is not equal to itself.")
579579 }
580580
581581
582582
583583 @Callable(bD)
584584 func constructorV4 (dp,dq) = {
585585 let dm = bE(bD)
586586 if ((dm == dm))
587587 then [StringEntry(S(), dp), StringEntry(T(), makeString(dq, m))]
588588 else throw("Strict value is not equal to itself.")
589589 }
590590
591591
592592
593593 @Callable(bD)
594594 func constructorV5 (dr) = {
595595 let dm = bE(bD)
596596 if ((dm == dm))
597597 then [StringEntry(X(), dr)]
598598 else throw("Strict value is not equal to itself.")
599599 }
600600
601601
602602
603603 @Callable(bD)
604604 func constructorV6 (ds,dt) = {
605605 let du = [bE(bD), if ((addressFromString(ds) != unit))
606606 then true
607607 else "invalid voting emission contract address"]
608608 if ((du == du))
609609 then [StringEntry(Y(), ds), StringEntry(aa(), makeString(dt, m))]
610610 else throw("Strict value is not equal to itself.")
611611 }
612612
613613
614614
615615 @Callable(bD)
616616 func setAdmins (dv) = {
617617 let dm = bE(bD)
618618 if ((dm == dm))
619619 then [StringEntry(W(), makeString(dv, m))]
620620 else throw("Strict value is not equal to itself.")
621621 }
622622
623623
624624
625625 @Callable(bD)
626626 func activateNewPool (af,bW,bX,dw,dx,dy,cd,dz) = {
627627 let dm = cq(bD)
628628 if ((dm == dm))
629629 then if (isDefined(getString(az(af))))
630630 then K((("Pool address " + af) + " already registered."))
631631 else {
632632 let dA = cj(bW, 1)
633633 let dB = dA._1
634634 let dC = cj(bX, if (dA._3)
635635 then 2
636636 else 1)
637637 let dD = dC._1
638638 let dE = valueOrErrorMessage(scriptHash(addressFromStringValue(af)), ("No script has been found on pool account " + af))
639639 let dF = getBinaryValue(Q())
640640 let dG = cw(bW, bX)
641641 if (dG)
642642 then K((((("Pool " + bW) + "/") + bX) + " has already been activated."))
643643 else {
644644 let dH = value(getString(this, am(toString(dB), toString(dD))))
645645 let dI = if ((bW == "WAVES"))
646646 then l
647647 else pow(10, 0, value(assetInfo(fromBase58String(bW))).decimals, 0, 0, DOWN)
648648 let dJ = if ((bX == "WAVES"))
649649 then l
650650 else pow(10, 0, value(assetInfo(fromBase58String(bX))).decimals, 0, 0, DOWN)
651651 let dK = Issue(dw, dx, 1, 8, true)
652652 let bV = calculateAssetId(dK)
653653 let dL = toBase58String(bV)
654654 let dM = invoke(addressFromStringValue(af), "activate", [bW, bX], nil)
655655 if ((dM == dM))
656656 then if ((dM != "success"))
657657 then K("Pool initialisation error happened.")
658658 else {
659659 let dr = addressFromStringValue(aY(X()))
660660 let dN = invoke(dr, "createOrUpdate", [dL, dw, false], nil)
661661 if ((dN == dN))
662662 then {
663663 let dO = invoke(dr, "addLabel", [dL, h], nil)
664664 if ((dO == dO))
665665 then {
666666 let dP = invoke(dr, "setLogo", [dL, dz], nil)
667667 if ((dP == dP))
668668 then {
669669 let dQ = invoke(dr, "addAssetsLink", [bW, bX, dL], nil)
670670 if ((dQ == dQ))
671671 then {
672672 let dR = invoke(dr, "increaseAssetPoolsNumber", [bW], nil)
673673 if ((dR == dR))
674674 then $Tuple2(((dA._2 ++ dC._2) ++ [dK, Burn(bV, 1), StringEntry(am(toString(dB), toString(dD)), bT(af, toString(o), dL, bW, bX, dI, dJ, dB, dD, l, cd)), StringEntry(at(dL), ce(dB, dD)), StringEntry(av(toString(dB), toString(dD)), ("%s__" + dL)), StringEntry(az(af), ce(dB, dD)), StringEntry(aB(dB, dD), af), StringEntry(aD(dL), af), StringEntry(aC(af), dL), IntegerEntry(ae(af), dy), IntegerEntry(ay(af), i)]), dL)
675675 else throw("Strict value is not equal to itself.")
676676 }
677677 else throw("Strict value is not equal to itself.")
678678 }
679679 else throw("Strict value is not equal to itself.")
680680 }
681681 else throw("Strict value is not equal to itself.")
682682 }
683683 else throw("Strict value is not equal to itself.")
684684 }
685685 else throw("Strict value is not equal to itself.")
686686 }
687687 }
688688 else throw("Strict value is not equal to itself.")
689689 }
690690
691691
692692
693693 @Callable(bD)
694694 func managePool (af,dS) = {
695695 let dm = bE(bD)
696696 if ((dm == dm))
697697 then {
698698 let dT = ch(af)
699699 let bU = dT[w]
700700 let dL = dT[x]
701701 let bW = dT[y]
702702 let bX = dT[z]
703703 let dI = parseIntValue(dT[A])
704704 let dJ = parseIntValue(dT[B])
705705 let dB = parseIntValue(dT[C])
706706 let dD = parseIntValue(dT[D])
707707 let dU = parseIntValue(dT[E])
708708 let cd = dT[F]
709709 [StringEntry(am(toString(dB), toString(dD)), bT(af, toString(dS), dL, bW, bX, dI, dJ, dB, dD, dU, cd))]
710710 }
711711 else throw("Strict value is not equal to itself.")
712712 }
713713
714714
715715
716716 @Callable(bD)
717717 func emit (dV) = {
718718 let dW = bD.caller
719719 let dX = bD.originCaller
720720 let dY = valueOrErrorMessage(getString(aC(toString(dW))), "Invalid LP address called me.")
721721 let dZ = fromBase58String(dY)
722722 let dq = split(valueOrElse(getString(T()), n), m)
723723 let dp = addressFromStringValue(valueOrErrorMessage(getString(S()), "Legacy factory contract does not exists."))
724724 if ((0 >= dV))
725725 then nil
726726 else if (containsElement(dq, toString(dW)))
727727 then $Tuple2(nil, dp)
728728 else $Tuple2([Reissue(dZ, dV, true), ScriptTransfer(bD.caller, dV, dZ)], "success")
729729 }
730730
731731
732732
733733 @Callable(bD)
734734 func burn (ea) = {
735735 let dW = bD.caller
736736 let dX = bD.originCaller
737737 let eb = value(bD.payments[0])
738738 let ec = value(eb.amount)
739739 let ed = toBase58String(value(eb.assetId))
740740 let ee = valueOrErrorMessage(getString(aC(toString(dW))), "Invalid LP address called me.")
741741 if ((ed != ee))
742742 then K("Invalid asset passed.")
743743 else if ((ea != ec))
744744 then K("Invalid amount passed.")
745745 else {
746746 let dZ = fromBase58String(ee)
747747 $Tuple2([Burn(dZ, ea)], "success")
748748 }
749749 }
750750
751751
752752
753753 @Callable(bD)
754754 func modifyWeight (bV,ef) = {
755755 let dm = if ((toBase58String(bD.caller.bytes) == valueOrElse(getString(this, Y()), "")))
756756 then true
757757 else bE(bD)
758758 if ((dm == dm))
759759 then {
760760 let aA = aY(aD(bV))
761761 let eg = ae(aA)
762762 let eh = ae(g)
763763 let ei = valueOrElse(getInteger(eh), 0)
764764 let dy = valueOrElse(getInteger(eg), 0)
765765 let ej = ef
766766 let bt = split(aY(O()), m)
767767 let di = bv(bt)
768768 let ek = invoke(di, "onModifyWeight", [bV, aA], nil)
769769 if ((ek == ek))
770770 then {
771771 let el = if ((ei == 0))
772772 then nil
773773 else [IntegerEntry(eh, 0)]
774774 let em = ag(aA, 0)
775775 let en = getInteger(em)
776776 let eo = if ((en == unit))
777777 then nil
778778 else [DeleteEntry(em)]
779779 (([IntegerEntry(eg, ej)] ++ el) ++ eo)
780780 }
781781 else throw("Strict value is not equal to itself.")
782782 }
783783 else throw("Strict value is not equal to itself.")
784784 }
785785
786786
787787
788788 @Callable(bD)
789789 func modifyWeights (ep,eq,er,es) = {
790790 let dm = bE(bD)
791791 if ((dm == dm))
792792 then {
793793 let et = ((5 * f) / 100)
794794 let eu = ((5 * f) / 100)
795795 let ev = ((5 * f) / 100)
796796 let bt = split(aY(O()), m)
797797 let ew = bv(bt)
798798 let ex = bw(bt)
799799 let ey = ae(ep)
800800 let ez = ae(eq)
801801 let eA = ae(er)
802802 let eB = ae(es)
803803 let eC = bb(ey)
804804 let eD = bb(ez)
805805 let eE = (eC - ev)
806806 let eF = (eD - ev)
807807 if ((0 >= eE))
808808 then K(("invalid btcWeightNew: " + toString(eE)))
809809 else if ((0 >= eF))
810810 then K(("invalid ethWeightNew: " + toString(eF)))
811811 else {
812812 let eG = aY(aC(ep))
813813 let eH = aY(aC(eq))
814814 let eI = aY(aC(er))
815815 let eJ = aY(aC(es))
816816 let eK = invoke(ew, "onModifyWeight", [eG, ep], nil)
817817 if ((eK == eK))
818818 then {
819819 let eL = invoke(ew, "onModifyWeight", [eH, eq], nil)
820820 if ((eL == eL))
821821 then {
822822 let eM = invoke(ew, "onModifyWeight", [eI, er], nil)
823823 if ((eM == eM))
824824 then {
825825 let eN = invoke(ew, "onModifyWeight", [eJ, es], nil)
826826 if ((eN == eN))
827827 then [IntegerEntry(ey, eE), IntegerEntry(ez, eF), IntegerEntry(eA, et), IntegerEntry(eB, eu), IntegerEntry(ag(ep, 0), eC), IntegerEntry(ag(eq, 0), eD), IntegerEntry(ag(er, 0), et), IntegerEntry(ag(es, 0), eu)]
828828 else throw("Strict value is not equal to itself.")
829829 }
830830 else throw("Strict value is not equal to itself.")
831831 }
832832 else throw("Strict value is not equal to itself.")
833833 }
834834 else throw("Strict value is not equal to itself.")
835835 }
836836 }
837837 else throw("Strict value is not equal to itself.")
838838 }
839839
840840
841841
842842 @Callable(bD)
843843 func checkWxEmissionPoolLabel (aF,aG) = {
844844 let eO = {
845845 let bf = getBoolean(aE(aF, aG))
846846 if ($isInstanceOf(bf, "Boolean"))
847847 then {
848848 let cU = bf
849849 cU
850850 }
851851 else false
852852 }
853853 $Tuple2(nil, eO)
854854 }
855855
856856
857857
858858 @Callable(bD)
859859 func setWxEmissionPoolLabel (aF,aG) = {
860860 let dm = cq(bD)
861861 if ((dm == dm))
862862 then $Tuple2([BooleanEntry(aE(aF, aG), true)], unit)
863863 else throw("Strict value is not equal to itself.")
864864 }
865865
866866
867867
868868 @Callable(bD)
869869 func deleteWxEmissionPoolLabel (aF,aG) = {
870870 let dm = if ((bD.caller == this))
871871 then true
872872 else cq(bD)
873873 if ((dm == dm))
874874 then $Tuple2([DeleteEntry(aE(aF, aG))], unit)
875875 else throw("Strict value is not equal to itself.")
876876 }
877877
878878
879879
880880 @Callable(bD)
881881 func onVerificationLoss (aT) = {
882882 let dm = if ((toBase58String(bD.caller.bytes) == valueOrElse(getString(this, X()), "")))
883883 then true
884884 else bE(bD)
885885 if ((dm == dm))
886886 then {
887887 let dt = bx()
888888 let eP = if ((size(dt) > 0))
889889 then true
890890 else K("invalid price assets")
891891 if ((eP == eP))
892892 then {
893893 func eQ (eR,eS) = {
894894 let cO = invoke(this, "deleteWxEmissionPoolLabel", [aT, eS], nil)
895895 if ((cO == cO))
896896 then unit
897897 else throw("Strict value is not equal to itself.")
898898 }
899899
900900 let eT = {
901901 let eU = dt
902902 let eV = size(eU)
903903 let eW = unit
904904 func eX (eY,eZ) = if ((eZ >= eV))
905905 then eY
906906 else eQ(eY, eU[eZ])
907907
908908 func fa (eY,eZ) = if ((eZ >= eV))
909909 then eY
910910 else throw("List size exceeds 11")
911911
912912 fa(eX(eX(eX(eX(eX(eX(eX(eX(eX(eX(eX(eW, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11)
913913 }
914914 if ((eT == eT))
915915 then $Tuple2(nil, unit)
916916 else throw("Strict value is not equal to itself.")
917917 }
918918 else throw("Strict value is not equal to itself.")
919919 }
920920 else throw("Strict value is not equal to itself.")
921921 }
922922
923923
924924
925925 @Callable(bD)
926926 func isPoolOneTokenOperationsDisabledREADONLY (af) = {
927927 let dT = ch(af)
928928 let aq = $Tuple2(parseIntValue(dT[C]), parseIntValue(dT[D]))
929929 let fb = valueOrElse(getBoolean(ap(aq)), false)
930930 let fc = valueOrElse(getBoolean(as()), false)
931931 $Tuple2(nil, if (fc)
932932 then true
933933 else fb)
934934 }
935935
936936
937937
938938 @Callable(bD)
939939 func getInFeeREADONLY (af) = {
940940 let fd = ct(aH(af), aI(), 0)
941941 $Tuple2(nil, fd)
942942 }
943943
944944
945945
946946 @Callable(bD)
947947 func getOutFeeREADONLY (af) = {
948948 let fd = ct(aJ(af), aK(), fraction(10, b, 10000))
949949 $Tuple2(nil, fd)
950950 }
951951
952952
953953
954954 @Callable(bD)
955955 func poolInfoREADONLY (fe,ff) = {
956956 let fg = getInteger(this, ak(fe))
957957 let fh = getInteger(this, ak(ff))
958958 let fi = getString(this, aB(value(fg), value(fh)))
959959 let fj = getString(this, aC(value(fi)))
960960 let dG = if (if (isDefined(fg))
961961 then isDefined(fh)
962962 else false)
963963 then isDefined(fi)
964964 else false
965965 let fk = if (dG)
966966 then $Tuple2(addressFromStringValue(value(fi)), bc(value(fj)))
967967 else unit
968968 $Tuple2(nil, fk)
969969 }
970970
971971
972972
973973 @Callable(bD)
974974 func getPoolStatusREADONLY (af) = {
975975 let ci = split(aY(az(af)), m)
976976 let an = ci[1]
977977 let ao = ci[2]
978978 let cz = split(aY(am(an, ao)), m)
979979 $Tuple2(nil, parseIntValue(cz[w]))
980980 }
981981
982982
983983
984984 @Callable(bD)
985985 func getPoolConfigREADONLY (af) = {
986986 let ci = split(aY(az(af)), m)
987987 let an = ci[1]
988988 let ao = ci[2]
989989 let cz = split(aY(am(an, ao)), m)
990990 $Tuple2(nil, cz)
991991 }
992992
993993
994994
995995 @Callable(bD)
996996 func getPoolConfigByLpAssetIdREADONLY (dL) = {
997997 let ci = split(aY(at(dL)), m)
998998 let an = ci[1]
999999 let ao = ci[2]
10001000 let cz = split(aY(am(an, ao)), m)
10011001 $Tuple2(nil, cz)
10021002 }
10031003
10041004
10051005
10061006 @Callable(bD)
10071007 func poolExistsREADONLY (aF,aG) = $Tuple2(nil, cw(aF, aG))
10081008
10091009
10101010
10111011 @Callable(bD)
10121012 func skipOrderValidationREADONLY (af) = $Tuple2(nil, valueOrElse(getBoolean(aL(af)), false))
10131013
10141014
10151015
10161016 @Callable(bD)
10171017 func getChangeAmpConfigREADONLY (af) = {
10181018 let fl = getIntegerValue(aM(af))
10191019 let fm = getIntegerValue(aN(af))
10201020 let fn = getIntegerValue(aO(af))
10211021 $Tuple2(nil, [fl, fm, fn])
10221022 }
10231023
10241024
10251025
10261026 @Callable(bD)
10271027 func getPoolWeightREADONLY (bV) = {
10281028 let af = aY(aD(bV))
10291029 let fo = valueOrElse(getInteger(ae(af)), 0)
10301030 $Tuple2(nil, fo)
10311031 }
10321032
10331033
10341034
10351035 @Callable(bD)
10361036 func deletePool (aA) = {
10371037 let dT = ch(aA)
10381038 let dm = if ((toString(bD.caller) == cD(aA)))
10391039 then if (cL(aA))
10401040 then true
10411041 else K("Pool is not empty")
10421042 else bE(bD)
10431043 if ((dm == dm))
10441044 then {
10451045 let fp = if ((valueOrElse(getInteger(ae(aA)), 0) == 0))
10461046 then true
10471047 else K("Pool weight is not Zero")
10481048 if ((fp == fp))
10491049 then {
1050- let fq = if ((getIntegerValue(dT[w]) == r))
1050+ let fq = if ((dT[w] == toString(r)))
10511051 then true
1052- else K("Pools must be SHUTDOWN (4)")
1052+ else K("Pool must be SHUTDOWN (4)")
10531053 if ((fq == fq))
10541054 then {
10551055 let fr = cC(aA)
10561056 let aF = fr._1
10571057 let aG = fr._2
10581058 let bV = fr._3
10591059 let an = fr._4
10601060 let ao = fr._5
10611061 let cF = addressFromStringValue(getStringValue(Z()))
10621062 let fs = invoke(cF, "deletePool", [aF, aG], nil)
10631063 if ((fs == fs))
10641064 then {
10651065 let ds = addressFromStringValue(getStringValue(Y()))
10661066 let ft = invoke(ds, "deletePool", [aF, aG], nil)
10671067 if ((ft == ft))
10681068 then {
10691069 let dr = addressFromStringValue(getStringValue(X()))
10701070 let fu = invoke(dr, "deletePool", [aF, aG], nil)
10711071 if ((fu == fu))
10721072 then [DeleteEntry(aC(aA)), DeleteEntry(az(aA)), DeleteEntry(av(toString(an), toString(ao))), DeleteEntry(aB(an, ao)), DeleteEntry(am(toString(an), toString(ao))), DeleteEntry(at(bV)), DeleteEntry(aD(bV)), DeleteEntry(aE(aF, aG)), DeleteEntry(ae(aA)), DeleteEntry(ay(aA)), DeleteEntry(aH(aA)), DeleteEntry(aJ(aA)), DeleteEntry(aL(aA)), DeleteEntry(aM(aA)), DeleteEntry(aN(aA)), DeleteEntry(aO(aA))]
10731073 else throw("Strict value is not equal to itself.")
10741074 }
10751075 else throw("Strict value is not equal to itself.")
10761076 }
10771077 else throw("Strict value is not equal to itself.")
10781078 }
10791079 else throw("Strict value is not equal to itself.")
10801080 }
10811081 else throw("Strict value is not equal to itself.")
10821082 }
10831083 else throw("Strict value is not equal to itself.")
10841084 }
10851085
10861086
10871087 @Verifier(fv)
10881088 func fw () = {
10891089 let fx = {
10901090 let bf = by()
10911091 if ($isInstanceOf(bf, "ByteVector"))
10921092 then {
10931093 let bF = bf
10941094 bF
10951095 }
10961096 else if ($isInstanceOf(bf, "Unit"))
10971097 then fv.senderPublicKey
10981098 else throw("Match error")
10991099 }
11001100 sigVerify(fv.bodyBytes, fv.proofs[0], fx)
11011101 }
11021102

github/deemru/w8io/026f985 
133.36 ms