// SPDX-License-Identifier: MITpragmasolidity>=0.8.0;/// @title Decompiled Contract/// @author Jonathan Becker <jonathan@jbecker.dev>/// @custom:version heimdall-rs v0.9.2////// @notice This contract was decompiled using the heimdall-rs decompiler./// It was generated directly by tracing the EVM opcodes from this contract./// As a result, it may not compile or even be valid solidity code./// Despite this, it should be obvious what each function does. Overall/// logic should have been preserved throughout decompiling.////// @custom:github You can find the open-source decompiler here:/// https://heimdall.rscontract DecompiledContract {uint256public constant decimals =18;stringpublic constant unresolved_06fdde03 ="UMA Voting Token v1";stringpublic constant unresolved_95d89b41 ="UMA";bytes32 store_d;mapping(bytes32=>bytes32) storage_map_f;mapping(bytes32=>bytes32) storage_map_h;mapping(bytes32=>bytes32) storage_map_a;mapping(bytes32=>bytes32) storage_map_j;uint256public unresolved_18160ddd;mapping(bytes32=>bytes32) storage_map_k;uint256public snapshot;mapping(bytes32=>bytes32) storage_map_i;mapping(bytes32=>bytes32) storage_map_m;mapping(bytes32=>bytes32) storage_map_p;bytes32 store_g;mapping(bytes32=>bytes32) storage_map_e;mapping(bytes32=>bytes32) storage_map_l;mapping(bytes32=>bytes32) storage_map_n;mapping(bytes32=>bytes32) storage_map_o;event Event_8c5be1e5();event Snapshot(uint256);event Transfer(address,address,uint256);/// @custom:selector 0x095ea7b3/// @custom:signature Unresolved_095ea7b3(address arg0, uint256 arg1) public payable returns (bool)/// @param arg0 ["address", "uint160", "bytes20", "int160"]/// @param arg1 ["uint256", "bytes32", "int256"]function Unresolved_095ea7b3(address arg0,uint256 arg1)publicpayablereturns(bool){require(!(address(msg.sender)==0),"ERC20: approve to the zero address");require(!(address(arg0)==0),"ERC20: approve to the zero address");
var_a =address(arg0);
storage_map_a[var_a]= arg1;emit Event_8c5be1e5(address(msg.sender),address(arg0), arg1);return0x01;}/// @custom:selector 0x981b24d0/// @custom:signature totalSupplyAt(uint256 arg0) public view returns (uint256)/// @param arg0 ["uint256", "bytes32", "int256"]function totalSupplyAt(uint256 arg0)publicviewreturns(uint256){require(arg0 >0,"ERC20Snapshot: nonexistent id");require(!(arg0 > snapshot),"ERC20Snapshot: nonexistent id");if(!store_d ==0){if(!0< store_d){if(0x02){if(0x02){require(!(store_d ==0),"ERC20Snapshot: id is 0");require(!(0< store_d),"ERC20Snapshot: id is 0");require(0x02,"ERC20Snapshot: id is 0");require(0x02,"ERC20Snapshot: id is 0");require(0x02,"ERC20Snapshot: id is 0");}require(0x02,"ERC20Snapshot: id is 0");require(0x02,"ERC20Snapshot: id is 0");
var_f =0x04;require((0+(store_d /0x02))+((0+(store_d %0x02))/0x02)< store_d,"ERC20Snapshot: id is 0");require(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff< store_d,"ERC20Snapshot: id is 0");require(!(storage_map_e[var_f]== arg0),"ERC20Snapshot: id is 0");
var_f =0x05;require(!(0== store_d),"ERC20Snapshot: id is 0");return unresolved_18160ddd;return storage_map_f[var_f];require(0< store_g,"ERC20Snapshot: id is 0");return0;return unresolved_18160ddd;require(0x01,"ERC20Snapshot: id is 0");}require(0,"ERC20Snapshot: id is 0");}}}/// @custom:selector 0xa9059cbb/// @custom:signature transfer(address arg0, uint256 arg1) public payable returns (bool)/// @param arg0 ["address", "uint160", "bytes20", "int160"]/// @param arg1 ["uint256", "bytes32", "int256"]function transfer(address arg0,uint256 arg1)publicpayablereturns(bool){
var_a =address(msg.sender);uint256 var_b =0;require(!(storage_map_h[var_a]==0),"