{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "indexed": true,
          "internalType": "string",
          "name": "symbol",
          "type": "string"
        },
        {
          "indexed": true,
          "internalType": "uint8",
          "name": "decimals",
          "type": "uint8"
        }
      ],
      "name": "UpdateDetails",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "VERSION",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "_PERMIT_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_account",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amnt",
          "type": "uint256"
        }
      ],
      "name": "burn",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_subtractedValue",
          "type": "uint256"
        }
      ],
      "name": "decreaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deposit",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "detailsHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "domainSeparator",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_addedValue",
          "type": "uint256"
        }
      ],
      "name": "increaseAllowance",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amnt",
          "type": "uint256"
        }
      ],
      "name": "mint",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "nonces",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_deadline",
          "type": "uint256"
        },
        {
          "internalType": "uint8",
          "name": "_v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "_r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "_s",
          "type": "bytes32"
        }
      ],
      "name": "permit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_newName",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "_newSymbol",
          "type": "string"
        },
        {
          "internalType": "uint8",
          "name": "_newDecimals",
          "type": "uint8"
        }
      ],
      "name": "setDetails",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_detailsHash",
          "type": "bytes32"
        }
      ],
      "name": "setDetailsHash",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9608052610120604052600160e052603160f81b610100527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660a05261190160f01b60c05234801561007057600080fd5b5060805160a05160c05160f01c6126336100a56000398061124f525080611584525080610ecf52806111eb52506126336000f3fe6080604052600436106101a15760003560e01c80638da5cb5b116100e1578063cc2ab7c71161008a578063dd62ed3e11610064578063dd62ed3e14610722578063f2fde38b1461076a578063f698da25146107aa578063ffa1ad74146107bf576101a1565b8063cc2ab7c714610685578063d0e30db0146106af578063d505accf146106b7576101a1565b80639dc29fac116100bb5780639dc29fac146105b3578063a457c2d7146105f9578063a9059cbb1461063f576101a1565b80638da5cb5b1461054b57806395d89b4114610589578063982aaf6b1461059e576101a1565b806340c10f191161014e57806370a082311161012857806370a08231146104a1578063715018a6146104e15780637ecebe00146104f65780638129fc1c14610536576101a1565b806340c10f19146103725780634815fcb1146103ba578063654935f4146103cf576101a1565b806323b872dd1161017f57806323b872dd146102b1578063313ce56714610301578063395093511461032c576101a1565b806306fdde03146101a6578063095ea7b31461023057806318160ddd1461028a575b600080fd5b3480156101b257600080fd5b506101bb6107d4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f55781810151838201526020016101dd565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023c57600080fd5b506102766004803603604081101561025357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610888565b604080519115158252519081900360200190f35b34801561029657600080fd5b5061029f61089e565b60408051918252519081900360200190f35b3480156102bd57600080fd5b50610276600480360360608110156102d457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356108a4565b34801561030d57600080fd5b5061031661091a565b6040805160ff9092168252519081900360200190f35b34801561033857600080fd5b506102766004803603604081101561034f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610923565b34801561037e57600080fd5b506103b86004803603604081101561039557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610966565b005b3480156103c657600080fd5b5061029f610a1c565b3480156103db57600080fd5b506103b8600480360360608110156103f257600080fd5b81019060208101813564010000000081111561040d57600080fd5b82018360208201111561041f57600080fd5b8035906020019184600183028401116401000000008311171561044157600080fd5b91939092909160208101903564010000000081111561045f57600080fd5b82018360208201111561047157600080fd5b8035906020019184600183028401116401000000008311171561049357600080fd5b91935091503560ff16610a22565b3480156104ad57600080fd5b5061029f600480360360208110156104c457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c49565b3480156104ed57600080fd5b506103b8610c5a565b34801561050257600080fd5b5061029f6004803603602081101561051957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d04565b34801561054257600080fd5b506103b8610d16565b34801561055757600080fd5b50610560610e32565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561059557600080fd5b506101bb610e4e565b3480156105aa57600080fd5b5061029f610ecd565b3480156105bf57600080fd5b506103b8600480360360408110156105d657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610ef1565b34801561060557600080fd5b506102766004803603604081101561061c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610fa3565b34801561064b57600080fd5b506102766004803603604081101561066257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610fff565b34801561069157600080fd5b506103b8600480360360208110156106a857600080fd5b503561100c565b6103b86110c2565b3480156106c357600080fd5b506103b8600480360360e08110156106da57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356110cc565b34801561072e57600080fd5b5061029f6004803603604081101561074557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166113f9565b34801561077657600080fd5b506103b86004803603602081101561078d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611431565b3480156107b657600080fd5b5061029f6114e2565b3480156107cb57600080fd5b506103166115d8565b60688054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561087e5780601f106108535761010080835404028352916020019161087e565b820191906000526020600020905b81548152906001019060200180831161086157829003601f168201915b5050505050905090565b60006108953384846115dd565b50600192915050565b60675490565b60006108b1848484611724565b610910843361090b856040518060600160405280602881526020016125706028913973ffffffffffffffffffffffffffffffffffffffff8a16600090815260666020908152604080832033845290915290205491906118f6565b6115dd565b5060019392505050565b606a5460ff1690565b33600081815260666020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161089591859061090b90866119a7565b61096e611a22565b73ffffffffffffffffffffffffffffffffffffffff1661098c610e32565b73ffffffffffffffffffffffffffffffffffffffff1614610a0e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610a188282611a26565b5050565b606c5481565b60685460009060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001841615020190911604158015610a97575060695460027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001841615020190911604155b8015610aa65750606a5460ff16155b90508080610b295750606c54610b2787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250889250611b59915050565b145b610b9457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f21636f6d6d69747465642064657461696c730000000000000000000000000000604482015290519081900360640190fd5b610ba0606887876123cf565b50610bad606985856123cf565b50606a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff841617905580610c41578160ff168484604051808383808284376040519201829003822094508b93508a92508190508383808284376040519201829003822094507f96848da8c41ae282b5ec5c04f45fc469a8186bb78de70419275c2c402fcc27b193506000925050a45b505050505050565b6000610c5482611c94565b92915050565b610c62611a22565b73ffffffffffffffffffffffffffffffffffffffff16610c80610e32565b73ffffffffffffffffffffffffffffffffffffffff1614610d0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b565b606b6020526000908152604090205481565b600054610100900460ff1680610d2f5750610d2f611cbc565b80610d3d575060005460ff16155b610d92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612542602e913960400191505060405180910390fd5b600054610100900460ff16158015610df857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b610e00611ccd565b8015610e2f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50565b60335473ffffffffffffffffffffffffffffffffffffffff1690565b60698054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561087e5780601f106108535761010080835404028352916020019161087e565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ef9611a22565b73ffffffffffffffffffffffffffffffffffffffff16610f17610e32565b73ffffffffffffffffffffffffffffffffffffffff1614610f9957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610a188282611dbf565b6000610895338461090b856040518060600160405280602581526020016126026025913933600090815260666020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d16845290915290205491906118f6565b6000610895338484611724565b611014611a22565b73ffffffffffffffffffffffffffffffffffffffff16611032610e32565b73ffffffffffffffffffffffffffffffffffffffff16146110b457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b80606c5414610e2f57606c55565b610d023334611a26565b8342111561113b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff87166111bd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332305065726d69743a206f776e6572207a65726f206164647265737300604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8088166000818152606b602090815260408083205481517f00000000000000000000000000000000000000000000000000000000000000008185015280830195909552948b166060850152608084018a905260a0840185905260c08085018a90528151808603909101815260e090940190528251920191909120907f00000000000000000000000000000000000000000000000000000000000000006112766114e2565b83604051602001808461ffff1660f01b81526002018381526020018281526020019350505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611310573d6000803e3d6000fd5b5050506020604051035190508a73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8b166000908152606b602052604090206001850190556113ec8b8b8b6115dd565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205490565b611439611a22565b73ffffffffffffffffffffffffffffffffffffffff16611457610e32565b73ffffffffffffffffffffffffffffffffffffffff16146114d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610e2f81611f09565b6000804690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f606860000160405180828054600181600116156101000203166002900480156115695780601f10611547576101008083540402835291820191611569565b820191906000526020600020905b815481529060010190602001808311611555575b505060408051918290038220602080840196909652828201527f0000000000000000000000000000000000000000000000000000000000000000606083015260808201959095523060a0808301919091528551808303909101815260c090910190945250508151910120905090565b600081565b73ffffffffffffffffffffffffffffffffffffffff8316611649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806125de6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166116b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806124fa6022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260666020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316611790576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806125b96025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166117fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061248f6023913960400191505060405180910390fd5b6118078383836120ab565b6118518160405180606001604052806026815260200161251c6026913973ffffffffffffffffffffffffffffffffffffffff861660009081526065602052604090205491906118f6565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260656020526040808220939093559084168152205461188d90826119a7565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526065602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561199f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561196457818101518382015260200161194c565b50505050905090810190601f1680156119915780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611a1b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b73ffffffffffffffffffffffffffffffffffffffff8216611aa857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611ab4600083836120ab565b606754611ac190826119a7565b60675573ffffffffffffffffffffffffffffffffffffffff8216600090815260656020526040902054611af490826119a7565b73ffffffffffffffffffffffffffffffffffffffff831660008181526065602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000835184845185856040516020018086815260200185805190602001908083835b60208310611bb857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611b7b565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790529201868152855190830192860191508083835b60208310611c4057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611c03565b6001836020036101000a0380198251168184511680821785525050505050509050018260ff1660f81b8152600101955050505050506040516020818303038152906040528051906020012090509392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526065602052604090205490565b6000611cc7306120b0565b15905090565b600054610100900460ff1680611ce65750611ce6611cbc565b80611cf4575060005460ff16155b611d49576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612542602e913960400191505060405180910390fd5b600054610100900460ff16158015611daf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b611db76120b6565b610e006121c8565b73ffffffffffffffffffffffffffffffffffffffff8216611e2b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125986021913960400191505060405180910390fd5b611e37826000836120ab565b611e81816040518060600160405280602281526020016124b26022913973ffffffffffffffffffffffffffffffffffffffff851660009081526065602052604090205491906118f6565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260656020526040902055606754611eb49082612358565b60675560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b611f11611a22565b73ffffffffffffffffffffffffffffffffffffffff16611f2f610e32565b73ffffffffffffffffffffffffffffffffffffffff1614611fb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661201d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806124d46026913960400191505060405180910390fd5b60335460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b505050565b3b151590565b600054610100900460ff16806120cf57506120cf611cbc565b806120dd575060005460ff16155b612132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612542602e913960400191505060405180910390fd5b600054610100900460ff16158015610e0057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790558015610e2f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b600054610100900460ff16806121e157506121e1611cbc565b806121ef575060005460ff16155b612244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612542602e913960400191505060405180910390fd5b600054610100900460ff161580156122aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b60006122b4611a22565b603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610e2f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b6000828211156123c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826124055760008555612469565b82601f1061243c578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612469565b82800160010185558215612469579182015b8281111561246957823582559160200191906001019061244e565b50612475929150612479565b5090565b5b80821115612475576000815560010161247a56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c6343000706000a",
    "sourceMap": "877:117:35:-:0;825:169;;1078:10;122:122:60;1078:10:35;;122:122:60;1078:10:35;-1:-1:-1;1078:10:35;;1068:21;1000:89;;-1:-1:-1;1095:68:35;;122:122:60;;;;;;;;;;;;;;;;;;;;;;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x6080604052600436106101a15760003560e01c80638da5cb5b116100e1578063cc2ab7c71161008a578063dd62ed3e11610064578063dd62ed3e14610722578063f2fde38b1461076a578063f698da25146107aa578063ffa1ad74146107bf576101a1565b8063cc2ab7c714610685578063d0e30db0146106af578063d505accf146106b7576101a1565b80639dc29fac116100bb5780639dc29fac146105b3578063a457c2d7146105f9578063a9059cbb1461063f576101a1565b80638da5cb5b1461054b57806395d89b4114610589578063982aaf6b1461059e576101a1565b806340c10f191161014e57806370a082311161012857806370a08231146104a1578063715018a6146104e15780637ecebe00146104f65780638129fc1c14610536576101a1565b806340c10f19146103725780634815fcb1146103ba578063654935f4146103cf576101a1565b806323b872dd1161017f57806323b872dd146102b1578063313ce56714610301578063395093511461032c576101a1565b806306fdde03146101a6578063095ea7b31461023057806318160ddd1461028a575b600080fd5b3480156101b257600080fd5b506101bb6107d4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f55781810151838201526020016101dd565b50505050905090810190601f1680156102225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023c57600080fd5b506102766004803603604081101561025357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610888565b604080519115158252519081900360200190f35b34801561029657600080fd5b5061029f61089e565b60408051918252519081900360200190f35b3480156102bd57600080fd5b50610276600480360360608110156102d457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001356108a4565b34801561030d57600080fd5b5061031661091a565b6040805160ff9092168252519081900360200190f35b34801561033857600080fd5b506102766004803603604081101561034f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610923565b34801561037e57600080fd5b506103b86004803603604081101561039557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610966565b005b3480156103c657600080fd5b5061029f610a1c565b3480156103db57600080fd5b506103b8600480360360608110156103f257600080fd5b81019060208101813564010000000081111561040d57600080fd5b82018360208201111561041f57600080fd5b8035906020019184600183028401116401000000008311171561044157600080fd5b91939092909160208101903564010000000081111561045f57600080fd5b82018360208201111561047157600080fd5b8035906020019184600183028401116401000000008311171561049357600080fd5b91935091503560ff16610a22565b3480156104ad57600080fd5b5061029f600480360360208110156104c457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610c49565b3480156104ed57600080fd5b506103b8610c5a565b34801561050257600080fd5b5061029f6004803603602081101561051957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610d04565b34801561054257600080fd5b506103b8610d16565b34801561055757600080fd5b50610560610e32565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561059557600080fd5b506101bb610e4e565b3480156105aa57600080fd5b5061029f610ecd565b3480156105bf57600080fd5b506103b8600480360360408110156105d657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610ef1565b34801561060557600080fd5b506102766004803603604081101561061c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610fa3565b34801561064b57600080fd5b506102766004803603604081101561066257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610fff565b34801561069157600080fd5b506103b8600480360360208110156106a857600080fd5b503561100c565b6103b86110c2565b3480156106c357600080fd5b506103b8600480360360e08110156106da57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356110cc565b34801561072e57600080fd5b5061029f6004803603604081101561074557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166113f9565b34801561077657600080fd5b506103b86004803603602081101561078d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611431565b3480156107b657600080fd5b5061029f6114e2565b3480156107cb57600080fd5b506103166115d8565b60688054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561087e5780601f106108535761010080835404028352916020019161087e565b820191906000526020600020905b81548152906001019060200180831161086157829003601f168201915b5050505050905090565b60006108953384846115dd565b50600192915050565b60675490565b60006108b1848484611724565b610910843361090b856040518060600160405280602881526020016125706028913973ffffffffffffffffffffffffffffffffffffffff8a16600090815260666020908152604080832033845290915290205491906118f6565b6115dd565b5060019392505050565b606a5460ff1690565b33600081815260666020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161089591859061090b90866119a7565b61096e611a22565b73ffffffffffffffffffffffffffffffffffffffff1661098c610e32565b73ffffffffffffffffffffffffffffffffffffffff1614610a0e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610a188282611a26565b5050565b606c5481565b60685460009060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001841615020190911604158015610a97575060695460027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001841615020190911604155b8015610aa65750606a5460ff16155b90508080610b295750606c54610b2787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250889250611b59915050565b145b610b9457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f21636f6d6d69747465642064657461696c730000000000000000000000000000604482015290519081900360640190fd5b610ba0606887876123cf565b50610bad606985856123cf565b50606a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff841617905580610c41578160ff168484604051808383808284376040519201829003822094508b93508a92508190508383808284376040519201829003822094507f96848da8c41ae282b5ec5c04f45fc469a8186bb78de70419275c2c402fcc27b193506000925050a45b505050505050565b6000610c5482611c94565b92915050565b610c62611a22565b73ffffffffffffffffffffffffffffffffffffffff16610c80610e32565b73ffffffffffffffffffffffffffffffffffffffff1614610d0257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b565b606b6020526000908152604090205481565b600054610100900460ff1680610d2f5750610d2f611cbc565b80610d3d575060005460ff16155b610d92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612542602e913960400191505060405180910390fd5b600054610100900460ff16158015610df857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b610e00611ccd565b8015610e2f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50565b60335473ffffffffffffffffffffffffffffffffffffffff1690565b60698054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561087e5780601f106108535761010080835404028352916020019161087e565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ef9611a22565b73ffffffffffffffffffffffffffffffffffffffff16610f17610e32565b73ffffffffffffffffffffffffffffffffffffffff1614610f9957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610a188282611dbf565b6000610895338461090b856040518060600160405280602581526020016126026025913933600090815260666020908152604080832073ffffffffffffffffffffffffffffffffffffffff8d16845290915290205491906118f6565b6000610895338484611724565b611014611a22565b73ffffffffffffffffffffffffffffffffffffffff16611032610e32565b73ffffffffffffffffffffffffffffffffffffffff16146110b457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b80606c5414610e2f57606c55565b610d023334611a26565b8342111561113b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff87166111bd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332305065726d69743a206f776e6572207a65726f206164647265737300604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8088166000818152606b602090815260408083205481517f00000000000000000000000000000000000000000000000000000000000000008185015280830195909552948b166060850152608084018a905260a0840185905260c08085018a90528151808603909101815260e090940190528251920191909120907f00000000000000000000000000000000000000000000000000000000000000006112766114e2565b83604051602001808461ffff1660f01b81526002018381526020018281526020019350505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611310573d6000803e3d6000fd5b5050506020604051035190508a73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8b166000908152606b602052604090206001850190556113ec8b8b8b6115dd565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205490565b611439611a22565b73ffffffffffffffffffffffffffffffffffffffff16611457610e32565b73ffffffffffffffffffffffffffffffffffffffff16146114d957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610e2f81611f09565b6000804690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f606860000160405180828054600181600116156101000203166002900480156115695780601f10611547576101008083540402835291820191611569565b820191906000526020600020905b815481529060010190602001808311611555575b505060408051918290038220602080840196909652828201527f0000000000000000000000000000000000000000000000000000000000000000606083015260808201959095523060a0808301919091528551808303909101815260c090910190945250508151910120905090565b600081565b73ffffffffffffffffffffffffffffffffffffffff8316611649576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806125de6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166116b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806124fa6022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260666020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316611790576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806125b96025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166117fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061248f6023913960400191505060405180910390fd5b6118078383836120ab565b6118518160405180606001604052806026815260200161251c6026913973ffffffffffffffffffffffffffffffffffffffff861660009081526065602052604090205491906118f6565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260656020526040808220939093559084168152205461188d90826119a7565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526065602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561199f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561196457818101518382015260200161194c565b50505050905090810190601f1680156119915780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611a1b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b73ffffffffffffffffffffffffffffffffffffffff8216611aa857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611ab4600083836120ab565b606754611ac190826119a7565b60675573ffffffffffffffffffffffffffffffffffffffff8216600090815260656020526040902054611af490826119a7565b73ffffffffffffffffffffffffffffffffffffffff831660008181526065602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000835184845185856040516020018086815260200185805190602001908083835b60208310611bb857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611b7b565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790529201868152855190830192860191508083835b60208310611c4057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611c03565b6001836020036101000a0380198251168184511680821785525050505050509050018260ff1660f81b8152600101955050505050506040516020818303038152906040528051906020012090509392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526065602052604090205490565b6000611cc7306120b0565b15905090565b600054610100900460ff1680611ce65750611ce6611cbc565b80611cf4575060005460ff16155b611d49576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612542602e913960400191505060405180910390fd5b600054610100900460ff16158015611daf57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b611db76120b6565b610e006121c8565b73ffffffffffffffffffffffffffffffffffffffff8216611e2b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806125986021913960400191505060405180910390fd5b611e37826000836120ab565b611e81816040518060600160405280602281526020016124b26022913973ffffffffffffffffffffffffffffffffffffffff851660009081526065602052604090205491906118f6565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260656020526040902055606754611eb49082612358565b60675560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b611f11611a22565b73ffffffffffffffffffffffffffffffffffffffff16611f2f610e32565b73ffffffffffffffffffffffffffffffffffffffff1614611fb157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661201d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806124d46026913960400191505060405180910390fd5b60335460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b505050565b3b151590565b600054610100900460ff16806120cf57506120cf611cbc565b806120dd575060005460ff16155b612132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612542602e913960400191505060405180910390fd5b600054610100900460ff16158015610e0057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790558015610e2f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b600054610100900460ff16806121e157506121e1611cbc565b806121ef575060005460ff16155b612244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612542602e913960400191505060405180910390fd5b600054610100900460ff161580156122aa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909116610100171660011790555b60006122b4611a22565b603380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610e2f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b6000828211156123c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826124055760008555612469565b82601f1061243c578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612469565b82800160010185558215612469579182015b8281111561246957823582559160200191906001019061244e565b50612475929150612479565b5090565b5b80821115612475576000815560010161247a56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c6343000706000a",
    "sourceMap": "122:122:60:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6438:95:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2491:204:62;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2491:204:62;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5229:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3165:443;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3165:443:62;;;;;;;;;;;;;;;;;;:::i;7354:95:35:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4004:289:62;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4004:289:62;;;;;;;;;:::i;2694:104:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2694:104:35;;;;;;;;;:::i;:::-;;1323:35;;;;;;;;;;;;;:::i;3288:1074::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3288:1074:35;-1:-1:-1;3288:1074:35;;;;:::i;6191:182::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6191:182:35;;;;:::i;8581:84::-;;;;;;;;;;;;;:::i;1219:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1219:41:35;;;;:::i;1515:83::-;;;;;;;;;;;;;:::i;1335:85:7:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6646:99:35;;;;;;;;;;;;;:::i;825:169::-;;;;;;;;;;;;;:::i;2237:108::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2237:108:35;;;;;;;;;:::i;4783:386:62:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4783:386:62;;;;;;;;;:::i;2142:210::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2142:210:62;;;;;;;;;:::i;2930:174:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2930:174:35;;:::i;161:81:60:-;;;:::i;5026:1048:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5026:1048:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5607:196:62:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5607:196:62;;;;;;;;;;;:::i;8190:198:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8190:198:35;;;;:::i;7561:582::-;;;;;;;;;;;;;:::i;171:33:68:-;;;;;;;;;;;;;:::i;6438:95:35:-;6516:5;6509:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6484:13;;6509:17;;6516:5;;6509:17;;6516:5;6509:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6438:95;:::o;2491:204:62:-;2608:4;2628:39;2637:10;2649:8;2659:7;2628:8;:39::i;:::-;-1:-1:-1;2684:4:62;2491:204;;;;:::o;5229:92::-;5308:6;;5229:92;:::o;3165:443::-;3304:4;3320:39;3330:7;3339:10;3351:7;3320:9;:39::i;:::-;3369:211;3391:7;3412:10;3436:134;3489:7;3436:134;;;;;;;;;;;;;;;;;:19;;;;;;;:10;:19;;;;;;;;3456:10;3436:31;;;;;;;;;:134;:35;:134::i;:::-;3369:8;:211::i;:::-;-1:-1:-1;3597:4:62;3165:443;;;;;:::o;7354:95:35:-;7428:14;;;;7354:95;:::o;4004:289:62:-;4160:10;4118:4;4206:22;;;:10;:22;;;;;;;;;:32;;;;;;;;;;4118:4;;4138:127;;4184:8;;4206:49;;4243:11;4206:36;:49::i;2694:104:35:-;1558:12:7;:10;:12::i;:::-;1547:23;;:7;:5;:7::i;:::-;:23;;;1539:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2774:17:35::1;2780:3;2785:5;2774;:17::i;:::-;2694:104:::0;;:::o;1323:35::-;;;;:::o;3288:1074::-;3469:5;3463:24;3440:20;;3463:24;;;;;;;;;;;;;:29;:76;;;;-1:-1:-1;3514:12:35;3508:26;;;;3514:12;3508:26;;;;;;;;;:31;3463:76;:111;;;;-1:-1:-1;3555:14:35;;;;:19;3463:111;3440:134;;3834:15;:208;;;;4031:11;;3869:142;3919:8;;3869:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3869:142:35;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3949:10:35;;-1:-1:-1;3949:10:35;;;;3869:142;;3949:10;;;;3869:142;;;;;;;;;-1:-1:-1;3981:12:35;;-1:-1:-1;3869:28:35;;-1:-1:-1;;3869:142:35:i;:::-;:173;3834:208;3813:273;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4150:21;:5;4163:8;;4150:21;:::i;:::-;-1:-1:-1;4181:25:35;:12;4196:10;;4181:25;:::i;:::-;-1:-1:-1;4216:14:35;:29;;;;;;;;;;4260:15;4255:101;;4332:12;4296:49;;4320:10;;4296:49;;;;;;;;;;;;;;;;;;;-1:-1:-1;4310:8:35;;-1:-1:-1;4310:8:35;;-1:-1:-1;4296:49:35;;-1:-1:-1;4310:8:35;;;;4296:49;;;;;;;;;;;;-1:-1:-1;4296:49:35;;-1:-1:-1;4296:49:35;;-1:-1:-1;;4296:49:35;4255:101;3288:1074;;;;;;:::o;6191:182::-;6311:7;6341:25;6357:8;6341:15;:25::i;:::-;6334:32;6191:182;-1:-1:-1;;6191:182:35:o;8581:84::-;1558:12:7;:10;:12::i;:::-;1547:23;;:7;:5;:7::i;:::-;:23;;;1539:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8581:84:35:o;1219:41::-;;;;;;;;;;;;;:::o;1515:83::-;1512:13:11;;;;;;;;:33;;;1529:16;:14;:16::i;:::-;1512:50;;;-1:-1:-1;1550:12:11;;;;1549:13;1512:50;1504:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1624:19;1647:13;;;;;;1646:14;1670:98;;;;1704:13;:20;;1738:19;1704:20;;;;;;1738:19;1720:4;1738:19;;;1670:98;1575:16:35::1;:14;:16::i;:::-;1794:14:11::0;1790:66;;;1840:5;1824:21;;;;;;1790:66;1515:83:35;:::o;1335:85:7:-;1407:6;;;;1335:85;:::o;6646:99:35:-;6726:12;6719:19;;;;;;;;;;6726:12;6719:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6694:13;;6719:19;;6726:12;;6719:19;;6726:12;6719:19;;;;;;;;;;;;;;;;;;;;;;;;825:169;;;:::o;2237:108::-;1558:12:7;:10;:12::i;:::-;1547:23;;:7;:5;:7::i;:::-;:23;;;1539:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2319:19:35::1;2325:5;2332;2319;:19::i;4783:386:62:-:0;4902:4;4922:219;4944:10;4968:8;4990:141;5044:16;4990:141;;;;;;;;;;;;;;;;;5001:10;4990:22;;;;:10;:22;;;;;;;;;:32;;;;;;;;;;;:141;:36;:141::i;2142:210::-;2262:4;2282:42;2292:10;2304;2316:7;2282:9;:42::i;2930:174:35:-;1558:12:7;:10;:12::i;:::-;1547:23;;:7;:5;:7::i;:::-;:23;;;1539:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3033:12:35::1;3018:11;;:27;3014:84;;3061:11;:26:::0;2930:174::o;161:81:60:-;207:28;213:10;225:9;207:5;:28::i;5026:1048:35:-;5253:9;5234:15;:28;;5226:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5314:20;;;5306:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5397:14;;;;5380;5397;;;:6;:14;;;;;;;;;5466:183;;5494:16;5466:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5443:216;;;;;;;;;5744:26;5788:17;:15;:17::i;:::-;5823:11;5710:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5687:171;;;;;;5669:189;;5868:15;5886:30;5896:7;5905:2;5909;5913;5886:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5868:48;;5945:6;5934:17;;:7;:17;;;5926:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5996:14;;;;;;;:6;:14;;;;;6022:1;6013:10;;5996:27;;6033:34;6003:6;6050:8;6060:6;6033:8;:34::i;:::-;5026:1048;;;;;;;;;;;:::o;5607:196:62:-;5768:18;;;;5738:7;5768:18;;;:10;:18;;;;;;;;:28;;;;;;;;;;;;;5607:196::o;8190:198:35:-;1558:12:7;:10;:12::i;:::-;1547:23;;:7;:5;:7::i;:::-;:23;;;1539:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8334:47:35::1;8371:9;8334:36;:47::i;7561:582::-:0;7609:7;7628:16;7689:9;7677:21;;7795:141;7974:5;:10;;7958:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7958:28:35;;;;;;;;;7763:359;;;;;;;;;;;;8008:31;7763:359;;;;;;;;;;;8099:4;7763:359;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7736:400:35;;;;;;-1:-1:-1;7561:582:35;:::o;171:33:68:-;203:1;171:33;:::o;8752:380:62:-;8886:20;;;8878:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8965:22;;;8957:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9037:18;;;;;;;;:10;:18;;;;;;;;:28;;;;;;;;;;;;;:38;;;9090:35;;;;;;;;;;;;;;;;;8752:380;;;:::o;6282:636::-;6419:21;;;6411:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6513:24;;;6492:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6609:49;6630:7;6639:10;6651:6;6609:20;:49::i;:::-;6689:105;6724:6;6689:105;;;;;;;;;;;;;;;;;:17;;;;;;;:8;:17;;;;;;;:105;:21;:105::i;:::-;6669:17;;;;;;;;:8;:17;;;;;;:125;;;;6827:20;;;;;;;:32;;6852:6;6827:24;:32::i;:::-;6804:20;;;;;;;;:8;:20;;;;;;;;;:55;;;;6874:37;;;;;;;6804:20;;6874:37;;;;;;;;;;;;;6282:636;;;:::o;5432:163:24:-;5518:7;5553:12;5545:6;;;;5537:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:24;;;5432:163::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:24:o;828:104:18:-;915:10;828:104;:::o;7191:367:62:-;7276:22;;;7268:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7345:51;7374:1;7378:8;7388:7;7345:20;:51::i;:::-;7416:6;;:19;;7427:7;7416:10;:19::i;:::-;7407:6;:28;7466:18;;;;;;;:8;:18;;;;;;:31;;7489:7;7466:22;:31::i;:::-;7445:18;;;;;;;:8;:18;;;;;;;;:52;;;;7512:39;;;;;;;7445:18;;;;7512:39;;;;;;;;;;7191:367;;:::o;7902:429:33:-;8040:7;8149:5;8143:19;8184:5;8217:7;8211:21;8254:7;8283:9;8105:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8105:205:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8078:246;;;;;;8059:265;;7902:429;;;;;:::o;5379:170:62:-;5524:18;;5494:7;5524:18;;;:8;:18;;;;;;;5379:170::o;1952:123:11:-;2000:4;2024:44;2062:4;2024:29;:44::i;:::-;2023:45;2016:52;;1952:123;:::o;935:126:7:-;1512:13:11;;;;;;;;:33;;;1529:16;:14;:16::i;:::-;1512:50;;;-1:-1:-1;1550:12:11;;;;1549:13;1512:50;1504:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1624:19;1647:13;;;;;;1646:14;1670:98;;;;1704:13;:20;;1738:19;1704:20;;;;;;1738:19;1720:4;1738:19;;;1670:98;992:26:7::1;:24;:26::i;:::-;1028;:24;:26::i;7883:441:62:-:0;7968:22;;;7960:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8039:51;8060:8;8078:1;8082:7;8039:20;:51::i;:::-;8122:103;8158:7;8122:103;;;;;;;;;;;;;;;;;:18;;;;;;;:8;:18;;;;;;;:103;:22;:103::i;:::-;8101:18;;;;;;;:8;:18;;;;;:124;8244:6;;:19;;8255:7;8244:10;:19::i;:::-;8235:6;:28;8278:39;;;;;;;;8305:1;;8278:39;;;;;;;;;;;;;7883:441;;:::o;2261:240:7:-;1558:12;:10;:12::i;:::-;1547:23;;:7;:5;:7::i;:::-;:23;;;1539:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2349:22:::1;::::0;::::1;2341:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2450:6;::::0;2429:38:::1;::::0;::::1;::::0;;::::1;::::0;2450:6:::1;::::0;2429:38:::1;::::0;2450:6:::1;::::0;2429:38:::1;2477:6;:17:::0;;;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;2261:240::o;10150:124:62:-;;;;:::o;737:413:17:-;1097:20;1135:8;;;737:413::o;759:64:18:-;1512:13:11;;;;;;;;:33;;;1529:16;:14;:16::i;:::-;1512:50;;;-1:-1:-1;1550:12:11;;;;1549:13;1512:50;1504:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1624:19;1647:13;;;;;;1646:14;1670:98;;;;1704:13;:20;;1738:19;1704:20;;;;;;1738:19;1720:4;1738:19;;;1794:14;1790:66;;;1840:5;1824:21;;;;;;759:64:18;:::o;1067:192:7:-;1512:13:11;;;;;;;;:33;;;1529:16;:14;:16::i;:::-;1512:50;;;-1:-1:-1;1550:12:11;;;;1549:13;1512:50;1504:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1624:19;1647:13;;;;;;1646:14;1670:98;;;;1704:13;:20;;1738:19;1704:20;;;;;;1738:19;1720:4;1738:19;;;1670:98;1134:17:7::1;1154:12;:10;:12::i;:::-;1176:6;:18:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;1209:43:::1;::::0;1176:18;;-1:-1:-1;1176:18:7;-1:-1:-1;;1209:43:7::1;::::0;-1:-1:-1;;1209:43:7::1;1778:1:11;1794:14:::0;1790:66;;;1840:5;1824:21;;;;;;1067:192:7;:::o;3136:155:24:-;3194:7;3226:1;3221;:6;;3213:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:24;;;3136:155::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;",
    "linkReferences": {},
    "immutableReferences": {
      "31277": [
        {
          "start": 3791,
          "length": 32
        },
        {
          "start": 4587,
          "length": 32
        }
      ],
      "31285": [
        {
          "start": 5508,
          "length": 32
        }
      ],
      "31291": [
        {
          "start": 4687,
          "length": 32
        }
      ]
    }
  },
  "methodIdentifiers": {
    "VERSION()": "ffa1ad74",
    "_PERMIT_TYPEHASH()": "982aaf6b",
    "allowance(address,address)": "dd62ed3e",
    "approve(address,uint256)": "095ea7b3",
    "balanceOf(address)": "70a08231",
    "burn(address,uint256)": "9dc29fac",
    "decimals()": "313ce567",
    "decreaseAllowance(address,uint256)": "a457c2d7",
    "deposit()": "d0e30db0",
    "detailsHash()": "4815fcb1",
    "domainSeparator()": "f698da25",
    "increaseAllowance(address,uint256)": "39509351",
    "initialize()": "8129fc1c",
    "mint(address,uint256)": "40c10f19",
    "name()": "06fdde03",
    "nonces(address)": "7ecebe00",
    "owner()": "8da5cb5b",
    "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf",
    "renounceOwnership()": "715018a6",
    "setDetails(string,string,uint8)": "654935f4",
    "setDetailsHash(bytes32)": "cc2ab7c7",
    "symbol()": "95d89b41",
    "totalSupply()": "18160ddd",
    "transfer(address,uint256)": "a9059cbb",
    "transferFrom(address,address,uint256)": "23b872dd",
    "transferOwnership(address)": "f2fde38b"
  },
  "ast": {
    "absolutePath": "packages/contracts-bridge/contracts/test/utils/MockWeth.sol",
    "id": 42736,
    "exportedSymbols": {
      "BridgeToken": [
        31661
      ],
      "MockWeth": [
        42735
      ]
    },
    "nodeType": "SourceUnit",
    "src": "46:199:60",
    "nodes": [
      {
        "id": 42719,
        "nodeType": "PragmaDirective",
        "src": "46:22:60",
        "literals": [
          "solidity",
          "0.7",
          ".6"
        ]
      },
      {
        "id": 42721,
        "nodeType": "ImportDirective",
        "src": "70:50:60",
        "absolutePath": "packages/contracts-bridge/contracts/BridgeToken.sol",
        "file": "../../BridgeToken.sol",
        "scope": 42736,
        "sourceUnit": 31662,
        "symbolAliases": [
          {
            "foreign": {
              "id": 42720,
              "name": "BridgeToken",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "78:11:60",
              "typeDescriptions": {}
            }
          }
        ],
        "unitAlias": ""
      },
      {
        "id": 42735,
        "nodeType": "ContractDefinition",
        "src": "122:122:60",
        "nodes": [
          {
            "id": 42734,
            "nodeType": "FunctionDefinition",
            "src": "161:81:60",
            "body": {
              "id": 42733,
              "nodeType": "Block",
              "src": "197:45:60",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "expression": {
                          "id": 42727,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "213:3:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 42728,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "sender",
                        "nodeType": "MemberAccess",
                        "src": "213:10:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        }
                      },
                      {
                        "expression": {
                          "id": 42729,
                          "name": "msg",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": -15,
                          "src": "225:3:60",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_message",
                            "typeString": "msg"
                          }
                        },
                        "id": 42730,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "value",
                        "nodeType": "MemberAccess",
                        "src": "225:9:60",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address_payable",
                          "typeString": "address payable"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 42726,
                      "name": "_mint",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 43111,
                      "src": "207:5:60",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256)"
                      }
                    },
                    "id": 42731,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "207:28:60",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 42732,
                  "nodeType": "ExpressionStatement",
                  "src": "207:28:60"
                }
              ]
            },
            "functionSelector": "d0e30db0",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "deposit",
            "parameters": {
              "id": 42724,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "177:2:60"
            },
            "returnParameters": {
              "id": 42725,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "197:0:60"
            },
            "scope": 42735,
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 42722,
              "name": "BridgeToken",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 31661,
              "src": "143:11:60",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_BridgeToken_$31661",
                "typeString": "contract BridgeToken"
              }
            },
            "id": 42723,
            "nodeType": "InheritanceSpecifier",
            "src": "143:11:60"
          }
        ],
        "contractDependencies": [
          23168,
          23676,
          25131,
          27517,
          31661,
          33609,
          43237,
          44622
        ],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          42735,
          31661,
          43237,
          27517,
          23168,
          25131,
          23676,
          33609,
          44622
        ],
        "name": "MockWeth",
        "scope": 42736
      }
    ],
    "license": "MIT OR Apache-2.0"
  },
  "id": 60
}