{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"blacklist","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"blacklister","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"configureMinter","inputs":[{"name":"minter","type":"address","internalType":"address"},{"name":"minterAllowedAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"currency","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"tokenName","type":"string","internalType":"string"},{"name":"tokenSymbol","type":"string","internalType":"string"},{"name":"tokenCurrency","type":"string","internalType":"string"},{"name":"tokenDecimals","type":"uint8","internalType":"uint8"},{"name":"newMasterMinter","type":"address","internalType":"address"},{"name":"newPauser","type":"address","internalType":"address"},{"name":"newBlacklister","type":"address","internalType":"address"},{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isBlacklisted","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isMinter","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"masterMinter","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"minterAllowance","inputs":[{"name":"minter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pauser","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeMinter","inputs":[{"name":"minter","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"rescueERC20","inputs":[{"name":"tokenContract","type":"address","internalType":"contract IERC20"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rescuer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unBlacklist","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateBlacklister","inputs":[{"name":"_newBlacklister","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateMasterMinter","inputs":[{"name":"_newMasterMinter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updatePauser","inputs":[{"name":"_newPauser","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateRescuer","inputs":[{"name":"newRescuer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Blacklisted","inputs":[{"name":"_account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BlacklisterChanged","inputs":[{"name":"newBlacklister","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Burn","inputs":[{"name":"burner","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MasterMinterChanged","inputs":[{"name":"newMasterMinter","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"minter","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MinterConfigured","inputs":[{"name":"minter","type":"address","indexed":true,"internalType":"address"},{"name":"minterAllowedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MinterRemoved","inputs":[{"name":"oldMinter","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":false,"internalType":"address"},{"name":"newOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Pause","inputs":[],"anonymous":false},{"type":"event","name":"PauserChanged","inputs":[{"name":"newAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RescuerChanged","inputs":[{"name":"newRescuer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UnBlacklisted","inputs":[{"name":"_account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unpause","inputs":[],"anonymous":false}],"bytecode":{"object":"0x60806040526001805460ff60a01b191690556000600b5534801561002257600080fd5b5061002c33610031565b610053565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6136c980620000636000396000f3fe608060405234801561001057600080fd5b50600436106102265760003560e01c806370a082311161012a578063aa271e1a116100bd578063dd62ed3e1161008c578063f2fde38b11610071578063f2fde38b146108e8578063f9f92be41461091b578063fe575a871461094e57610226565b8063dd62ed3e146108a5578063e5a6b10f146108e057610226565b8063aa271e1a146107f4578063ad38bf2214610827578063b2118a8d1461085a578063bd1024301461089d57610226565b806395d89b41116100f957806395d89b41146107785780639fd0506d14610780578063a9059cbb14610788578063aa20e1e4146107c157610226565b806370a08231146107025780638456cb59146107355780638a6db9c31461073d5780638da5cb5b1461077057610226565b80633357162b116101bd57806340c10f191161018c5780634e44d956116101715780634e44d9561461068e578063554bab3c146106c75780635c975abb146106fa57610226565b806340c10f191461063857806342966c681461067157610226565b80633357162b1461040b57806335d99f35146105f757806338a63183146106285780633f4ba83a1461063057610226565b806323b872dd116101f957806323b872dd146103445780632ab60045146103875780633092afd5146103ba578063313ce567146103ed57610226565b806306fdde031461022b578063095ea7b3146102a857806318160ddd146102f55780631a8952661461030f575b600080fd5b610233610981565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026d578181015183820152602001610255565b50505050905090810190601f16801561029a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e1600480360360408110156102be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a2d565b604080519115158252519081900360200190f35b6102fd610b90565b60408051918252519081900360200190f35b6103426004803603602081101561032557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b96565b005b6102e16004803603606081101561035a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c53565b6103426004803603602081101561039d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f0e565b6102e1600480360360208110156103d057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661106f565b6103f5611168565b6040805160ff9092168252519081900360200190f35b610342600480360361010081101561042257600080fd5b81019060208101813564010000000081111561043d57600080fd5b82018360208201111561044f57600080fd5b8035906020019184600183028401116401000000008311171561047157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156104c457600080fd5b8201836020820111156104d657600080fd5b803590602001918460018302840111640100000000831117156104f857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561054b57600080fd5b82018360208201111561055d57600080fd5b8035906020019184600183028401116401000000008311171561057f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff90811691604081013582169160608201358116916080013516611171565b6105ff6114b3565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6105ff6114cf565b6103426114eb565b6102e16004803603604081101561064e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356115ae565b6103426004803603602081101561068757600080fd5b503561197f565b6102e1600480360360408110156106a457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611c21565b610342600480360360208110156106dd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611db4565b6102e1611f1b565b6102fd6004803603602081101561071857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611f3c565b610342611f4d565b6102fd6004803603602081101561075357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612027565b6105ff61204f565b61023361206b565b6105ff6120e4565b6102e16004803603604081101561079e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612100565b610342600480360360208110156107d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612258565b6102e16004803603602081101561080a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166123bf565b6103426004803603602081101561083d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166123ea565b6103426004803603606081101561087057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135612551565b6105ff6125e7565b6102fd600480360360408110156108bb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516612603565b61023361263b565b610342600480360360208110156108fe57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166126b4565b6103426004803603602081101561093157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612807565b6102e16004803603602081101561096457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166128c4565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f81018490048402820184019092528181529291830182828015610a255780601f106109fa57610100808354040283529160200191610a25565b820191906000526020600020905b815481529060010190602001808311610a0857829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff1615610aba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33610ac4816128cb565b15610b1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b83610b24816128cb565b15610b7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b610b853386866128f6565b506001949350505050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff163314610c06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613435602c913960400191505060405180910390fd5b610c0f81612a3d565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff1615610ce057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33610cea816128cb565b15610d40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b84610d4a816128cb565b15610da0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b84610daa816128cb565b15610e00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a60209081526040808320338452909152902054851115610e89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806134fb6028913960400191505060405180910390fd5b610e94878787612a48565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a60209081526040808320338452909152902054610ecf9086612c13565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610f9457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611000576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613393602a913960400191505060405180910390fd5b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b60085460009073ffffffffffffffffffffffffffffffffffffffff1633146110e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061340c6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff16156111e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613551602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611251576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806134a8602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166112bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061336a6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613523602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061363e6028913960400191505060405180910390fd5b87516113a89060049060208b01906131f7565b5086516113bc9060059060208a01906131f7565b5085516113d09060079060208901906131f7565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff878116919091179092556001805482168684161790556002805490911691841691909117905561146a81612c5c565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b600e5473ffffffffffffffffffffffffffffffffffffffff1690565b60015473ffffffffffffffffffffffffffffffffffffffff16331461155b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135f26022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff161561163b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff166116a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134876021913960400191505060405180910390fd5b336116ad816128cb565b15611703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b8361170d816128cb565b15611763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166117cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806132ff6023913960400191505060405180910390fd5b60008411611828576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806133bd6029913960400191505060405180910390fd5b336000908152600d602052604090205480851115611891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806135c4602e913960400191505060405180910390fd5b600b5461189e9086612ca3565b600b556118bd866118b8876118b283612d17565b90612ca3565b612d3f565b6118c78186612c13565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff1615611a0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611a71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134876021913960400191505060405180910390fd5b33611a7b816128cb565b15611ad1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b6000611adc33612d17565b905060008311611b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806132d66029913960400191505060405180910390fd5b82811015611b90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806134616026913960400191505060405180910390fd5b600b54611b9d9084612c13565b600b55611bae336118b88386612c13565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60015460009074010000000000000000000000000000000000000000900460ff1615611cae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff163314611d1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061340c6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611e3a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611ea6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806132ae6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1681565b6000611f4782612d17565b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611fbd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135f26022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f81018490048402820184019092528181529291830182828015610a255780601f106109fa57610100808354040283529160200191610a25565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015460009074010000000000000000000000000000000000000000900460ff161561218d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33612197816128cb565b156121ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b836121f7816128cb565b1561224d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b610b85338686612a48565b60005473ffffffffffffffffffffffffffffffffffffffff1633146122de57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661234a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806134a8602f913960400191505060405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b73ffffffffffffffffffffffffffffffffffffffff166000908152600c602052604090205460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461247057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166124dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806136666032913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b600e5473ffffffffffffffffffffffffffffffffffffffff1633146125c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806134d76024913960400191505060405180910390fd5b6125e273ffffffffffffffffffffffffffffffffffffffff84168383612d68565b505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f81018490048402820184019092528181529291830182828015610a255780601f106109fa57610100808354040283529160200191610a25565b60005473ffffffffffffffffffffffffffffffffffffffff16331461273a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166127a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133226026913960400191505060405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff9283168152918316602083015280517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09281900390910190a161280481612c5c565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314612877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613435602c913960400191505060405180910390fd5b61288081612df5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6000611f47825b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205460ff1690565b73ffffffffffffffffffffffffffffffffffffffff8316612962576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806135a06024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166129ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806133486022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000818152600a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b612804816000612dfc565b73ffffffffffffffffffffffffffffffffffffffff8316612ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061357b6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216612b20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061328b6023913960400191505060405180910390fd5b612b2983612d17565b811115612b81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133e66026913960400191505060405180910390fd5b612b98836118b883612b9287612d17565b90612c13565b612ba9826118b8836118b286612d17565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000612c5583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612e52565b9392505050565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600082820183811015612c5557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902055565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526125e2908490612f03565b6128048160015b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60008184841115612efb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ec0578181015183820152602001612ea8565b50505050905090810190601f168015612eed5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6060612f65826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612fdb9092919063ffffffff16565b8051909150156125e257808060200190516020811015612f8457600080fd5b50516125e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613614602a913960400191505060405180910390fd5b6060612fea8484600085612ff2565b949350505050565b6060612ffd856131be565b61306857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106130d257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613095565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613134576040519150601f19603f3d011682016040523d82523d6000602084013e613139565b606091505b5091509150811561314d579150612fea9050565b80511561315d5780518082602001fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152865160248401528651879391928392604401919085019080838360008315612ec0578181015183820152602001612ea8565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590612fea575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061323857805160ff1916838001178555613265565b82800160010185558215613265579182015b8281111561326557825182559160200191906001019061324a565b50613271929150613275565b5090565b5b80821115613271576000815560010161327656fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735061757361626c653a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e3a206275726e20616d6f756e74206e6f742067726561746572207468616e203046696174546f6b656e3a206d696e7420746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737346696174546f6b656e3a206e65772070617573657220697320746865207a65726f2061646472657373526573637561626c653a206e6577207265736375657220697320746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e74206e6f742067726561746572207468616e203045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d61737465724d696e746572426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c697374657246696174546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e74657246696174546f6b656e3a206e6577206d61737465724d696e74657220697320746865207a65726f2061646472657373526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636546696174546f6b656e3a206e657720626c61636b6c697374657220697320746865207a65726f206164647265737346696174546f6b656e3a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d696e746572416c6c6f77616e63655061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656446696174546f6b656e3a206e6577206f776e657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c6973746564a164736f6c634300060c000a","sourceMap":"859:52:17:-:0;;;2107:26:24;;;-1:-1:-1;;;;2107:26:24;;;2128:5;1710:33:22;;859:52:17;;;;;;;;;-1:-1:-1;2226:20:23;2235:10;2226:8;:20::i;:::-;859:52:17;;2496:79:23;2551:6;:17;;-1:-1:-1;;;;;;2551:17:23;-1:-1:-1;;;;;2551:17:23;;;;;;;;;;2496:79::o;859:52:17:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102265760003560e01c806370a082311161012a578063aa271e1a116100bd578063dd62ed3e1161008c578063f2fde38b11610071578063f2fde38b146108e8578063f9f92be41461091b578063fe575a871461094e57610226565b8063dd62ed3e146108a5578063e5a6b10f146108e057610226565b8063aa271e1a146107f4578063ad38bf2214610827578063b2118a8d1461085a578063bd1024301461089d57610226565b806395d89b41116100f957806395d89b41146107785780639fd0506d14610780578063a9059cbb14610788578063aa20e1e4146107c157610226565b806370a08231146107025780638456cb59146107355780638a6db9c31461073d5780638da5cb5b1461077057610226565b80633357162b116101bd57806340c10f191161018c5780634e44d956116101715780634e44d9561461068e578063554bab3c146106c75780635c975abb146106fa57610226565b806340c10f191461063857806342966c681461067157610226565b80633357162b1461040b57806335d99f35146105f757806338a63183146106285780633f4ba83a1461063057610226565b806323b872dd116101f957806323b872dd146103445780632ab60045146103875780633092afd5146103ba578063313ce567146103ed57610226565b806306fdde031461022b578063095ea7b3146102a857806318160ddd146102f55780631a8952661461030f575b600080fd5b610233610981565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026d578181015183820152602001610255565b50505050905090810190601f16801561029a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e1600480360360408110156102be57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610a2d565b604080519115158252519081900360200190f35b6102fd610b90565b60408051918252519081900360200190f35b6103426004803603602081101561032557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b96565b005b6102e16004803603606081101561035a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610c53565b6103426004803603602081101561039d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f0e565b6102e1600480360360208110156103d057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661106f565b6103f5611168565b6040805160ff9092168252519081900360200190f35b610342600480360361010081101561042257600080fd5b81019060208101813564010000000081111561043d57600080fd5b82018360208201111561044f57600080fd5b8035906020019184600183028401116401000000008311171561047157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156104c457600080fd5b8201836020820111156104d657600080fd5b803590602001918460018302840111640100000000831117156104f857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561054b57600080fd5b82018360208201111561055d57600080fd5b8035906020019184600183028401116401000000008311171561057f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff90811691604081013582169160608201358116916080013516611171565b6105ff6114b3565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6105ff6114cf565b6103426114eb565b6102e16004803603604081101561064e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356115ae565b6103426004803603602081101561068757600080fd5b503561197f565b6102e1600480360360408110156106a457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611c21565b610342600480360360208110156106dd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611db4565b6102e1611f1b565b6102fd6004803603602081101561071857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611f3c565b610342611f4d565b6102fd6004803603602081101561075357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612027565b6105ff61204f565b61023361206b565b6105ff6120e4565b6102e16004803603604081101561079e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612100565b610342600480360360208110156107d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612258565b6102e16004803603602081101561080a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166123bf565b6103426004803603602081101561083d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166123ea565b6103426004803603606081101561087057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135612551565b6105ff6125e7565b6102fd600480360360408110156108bb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516612603565b61023361263b565b610342600480360360208110156108fe57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166126b4565b6103426004803603602081101561093157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612807565b6102e16004803603602081101561096457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166128c4565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f81018490048402820184019092528181529291830182828015610a255780601f106109fa57610100808354040283529160200191610a25565b820191906000526020600020905b815481529060010190602001808311610a0857829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff1615610aba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33610ac4816128cb565b15610b1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b83610b24816128cb565b15610b7a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b610b853386866128f6565b506001949350505050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff163314610c06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613435602c913960400191505060405180910390fd5b610c0f81612a3d565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff1615610ce057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33610cea816128cb565b15610d40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b84610d4a816128cb565b15610da0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b84610daa816128cb565b15610e00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a60209081526040808320338452909152902054851115610e89576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806134fb6028913960400191505060405180910390fd5b610e94878787612a48565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a60209081526040808320338452909152902054610ecf9086612c13565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610f9457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611000576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613393602a913960400191505060405180910390fd5b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b60085460009073ffffffffffffffffffffffffffffffffffffffff1633146110e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061340c6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff16156111e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613551602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611251576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806134a8602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166112bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061336a6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613523602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061363e6028913960400191505060405180910390fd5b87516113a89060049060208b01906131f7565b5086516113bc9060059060208a01906131f7565b5085516113d09060079060208901906131f7565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff878116919091179092556001805482168684161790556002805490911691841691909117905561146a81612c5c565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b600e5473ffffffffffffffffffffffffffffffffffffffff1690565b60015473ffffffffffffffffffffffffffffffffffffffff16331461155b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135f26022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff161561163b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff166116a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134876021913960400191505060405180910390fd5b336116ad816128cb565b15611703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b8361170d816128cb565b15611763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166117cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806132ff6023913960400191505060405180910390fd5b60008411611828576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806133bd6029913960400191505060405180910390fd5b336000908152600d602052604090205480851115611891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806135c4602e913960400191505060405180910390fd5b600b5461189e9086612ca3565b600b556118bd866118b8876118b283612d17565b90612ca3565b612d3f565b6118c78186612c13565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff1615611a0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611a71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806134876021913960400191505060405180910390fd5b33611a7b816128cb565b15611ad1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b6000611adc33612d17565b905060008311611b37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806132d66029913960400191505060405180910390fd5b82811015611b90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806134616026913960400191505060405180910390fd5b600b54611b9d9084612c13565b600b55611bae336118b88386612c13565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60015460009074010000000000000000000000000000000000000000900460ff1615611cae57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff163314611d1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061340c6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611e3a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611ea6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806132ae6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1681565b6000611f4782612d17565b92915050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611fbd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135f26022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f81018490048402820184019092528181529291830182828015610a255780601f106109fa57610100808354040283529160200191610a25565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015460009074010000000000000000000000000000000000000000900460ff161561218d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b33612197816128cb565b156121ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b836121f7816128cb565b1561224d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806136986025913960400191505060405180910390fd5b610b85338686612a48565b60005473ffffffffffffffffffffffffffffffffffffffff1633146122de57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661234a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806134a8602f913960400191505060405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b73ffffffffffffffffffffffffffffffffffffffff166000908152600c602052604090205460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461247057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166124dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806136666032913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b600e5473ffffffffffffffffffffffffffffffffffffffff1633146125c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806134d76024913960400191505060405180910390fd5b6125e273ffffffffffffffffffffffffffffffffffffffff84168383612d68565b505050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f81018490048402820184019092528181529291830182828015610a255780601f106109fa57610100808354040283529160200191610a25565b60005473ffffffffffffffffffffffffffffffffffffffff16331461273a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166127a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133226026913960400191505060405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff9283168152918316602083015280517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09281900390910190a161280481612c5c565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314612877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613435602c913960400191505060405180910390fd5b61288081612df5565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6000611f47825b73ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205460ff1690565b73ffffffffffffffffffffffffffffffffffffffff8316612962576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806135a06024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166129ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806133486022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000818152600a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b612804816000612dfc565b73ffffffffffffffffffffffffffffffffffffffff8316612ab4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061357b6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216612b20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061328b6023913960400191505060405180910390fd5b612b2983612d17565b811115612b81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806133e66026913960400191505060405180910390fd5b612b98836118b883612b9287612d17565b90612c13565b612ba9826118b8836118b286612d17565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000612c5583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612e52565b9392505050565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600082820183811015612c5557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902055565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526125e2908490612f03565b6128048160015b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60008184841115612efb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ec0578181015183820152602001612ea8565b50505050905090810190601f168015612eed5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6060612f65826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612fdb9092919063ffffffff16565b8051909150156125e257808060200190516020811015612f8457600080fd5b50516125e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180613614602a913960400191505060405180910390fd5b6060612fea8484600085612ff2565b949350505050565b6060612ffd856131be565b61306857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106130d257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613095565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613134576040519150601f19603f3d011682016040523d82523d6000602084013e613139565b606091505b5091509150811561314d579150612fea9050565b80511561315d5780518082602001fd5b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201818152865160248401528651879391928392604401919085019080838360008315612ec0578181015183820152602001612ea8565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590612fea575050151592915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061323857805160ff1916838001178555613265565b82800160010185558215613265579182015b8281111561326557825182559160200191906001019061324a565b50613271929150613275565b5090565b5b80821115613271576000815560010161327656fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735061757361626c653a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e3a206275726e20616d6f756e74206e6f742067726561746572207468616e203046696174546f6b656e3a206d696e7420746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737346696174546f6b656e3a206e65772070617573657220697320746865207a65726f2061646472657373526573637561626c653a206e6577207265736375657220697320746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e74206e6f742067726561746572207468616e203045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d61737465724d696e746572426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c697374657246696174546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e74657246696174546f6b656e3a206e6577206d61737465724d696e74657220697320746865207a65726f2061646472657373526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636546696174546f6b656e3a206e657720626c61636b6c697374657220697320746865207a65726f206164647265737346696174546f6b656e3a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d696e746572416c6c6f77616e63655061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656446696174546f6b656e3a206e6577206f776e657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c6973746564a164736f6c634300060c000a","sourceMap":"859:52:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1153:18:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7228:311;;;;;;;;;;;;;;;;-1:-1:-1;7228:311:22;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6566:100;;;:::i;:::-;;;;;;;;;;;;;;;;2337:141:20;;;;;;;;;;;;;;;;-1:-1:-1;2337:141:20;;;;:::i;:::-;;8437:502:22;;;;;;;;;;;;;;;;-1:-1:-1;8437:502:22;;;;;;;;;;;;;;;;;;:::i;1934:230:18:-;;;;;;;;;;;;;;;;-1:-1:-1;1934:230:18;;;;:::i;10865:211:22:-;;;;;;;;;;;;;;;;-1:-1:-1;10865:211:22;;;;:::i;1203:21::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2795:1036;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2795:1036:22;;;;;;;;-1:-1:-1;2795:1036:22;;-1:-1:-1;;2795:1036:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2795:1036:22;;;;;;;;-1:-1:-1;2795:1036:22;;-1:-1:-1;;2795:1036:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2795:1036:22;;-1:-1:-1;;;2795:1036:22;;;;;-1:-1:-1;;2795:1036:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1258:27::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1139:83:18;;;:::i;2803:94:24:-;;;:::i;4348:832:22:-;;;;;;;;;;;;;;;;-1:-1:-1;4348:832:22;;;;;;;;;:::i;11369:506::-;;;;;;;;;;;;;;;;-1:-1:-1;11369:506:22;;:::i;10343:356::-;;;;;;;;;;;;;;;;-1:-1:-1;10343:356:22;;;;;;;;;:::i;3018:220:24:-;;;;;;;;;;;;;;;;-1:-1:-1;3018:220:24;;;;:::i;2107:26::-;;;:::i;6853:120:22:-;;;;;;;;;;;;;;;;-1:-1:-1;6853:120:22;;;;:::i;2624:89:24:-;;;:::i;5595:118:22:-;;;;;;;;;;;;;;;;-1:-1:-1;5595:118:22;;;;:::i;2358:79:23:-;;;:::i;1177:20:22:-;;;:::i;2080:21:24:-;;;:::i;9137:282:22:-;;;;;;;;;;;;;;;;-1:-1:-1;9137:282:22;;;;;;;;;:::i;12016:269::-;;;;;;;;;;;;;;;;-1:-1:-1;12016:269:22;;;;:::i;5914:104::-;;;;;;;;;;;;;;;;-1:-1:-1;5914:104:22;;;;:::i;2614:265:20:-;;;;;;;;;;;;;;;;-1:-1:-1;2614:265:20;;;;:::i;1664:147:18:-;;;;;;;;;;;;;;;;-1:-1:-1;1664:147:18;;;;;;;;;;;;;;;;;;:::i;879:26:20:-;;;:::i;6300:139:22:-;;;;;;;;;;;;;;;;-1:-1:-1;6300:139:22;;;;;;;;;;;:::i;1230:22::-;;;:::i;2948:235:23:-;;;;;;;;;;;;;;;;-1:-1:-1;2948:235:23;;;;:::i;2068:135:20:-;;;;;;;;;;;;;;;;-1:-1:-1;2068:135:20;;;;:::i;1837:118::-;;;;;;;;;;;;;;;;-1:-1:-1;1837:118:20;;;;:::i;1153:18:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7228:311::-;2287:6:24;;7455:4:22;;2287:6:24;;;;;2286:7;2278:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7394:10:22::1;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7429:7:22::2;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7475:36:22::3;7484:10;7496:7;7505:5;7475:8;:36::i;:::-;-1:-1:-1::0;7528:4:22::3;::::0;7228:311;-1:-1:-1;;;;7228:311:22:o;6566:100::-;6647:12;;6566:100;:::o;2337:141:20:-;1284:11;;;;1270:10;:25;1262:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2411:22:::1;2424:8;2411:12;:22::i;:::-;2448:23;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;2337:141:::0;:::o;8437:502:22:-;2287:6:24;;8694:4:22;;2287:6:24;;;;;2286:7;2278:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8609:10:22::1;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8644:4:22::2;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8673:2:22::3;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8731:13:22::4;::::0;::::4;;::::0;;;:7:::4;:13;::::0;;;;;;;8745:10:::4;8731:25:::0;;;;;;;;8722:34;::::4;;8714:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8811:26;8821:4;8827:2;8831:5;8811:9;:26::i;:::-;8875:13;::::0;::::4;;::::0;;;:7:::4;:13;::::0;;;;;;;8889:10:::4;8875:25:::0;;;;;;;;:36:::4;::::0;8905:5;8875:29:::4;:36::i;:::-;8847:13;::::0;::::4;;::::0;;;:7:::4;:13;::::0;;;;;;;8861:10:::4;8847:25:::0;;;;;;;:64;8928:4:::4;::::0;-1:-1:-1;1621:1:20::3;::::2;2324::24::1;8437:502:22::0;;;;;:::o;1934:230:18:-;2716:6:23;;;;2702:10;:20;2694:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2014:24:18::1;::::0;::::1;2006:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2095:8;:21:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;;2131:26:::1;::::0;::::1;::::0;-1:-1:-1;;2131:26:18::1;1934:230:::0;:::o;10865:211:22:-;5334:12;;10938:4;;5334:12;;5320:10;:26;5312:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10954:15:::1;::::0;::::1;10972:5;10954:15:::0;;;:7:::1;:15;::::0;;;;;;;:23;;;::::1;::::0;;10987:13:::1;:21:::0;;;;;;:25;;;11027:21;::::1;::::0;10972:5;11027:21:::1;-1:-1:-1::0;11065:4:22::1;10865:211:::0;;;:::o;1203:21::-;;;;;;:::o;2795:1036::-;3111:11;;;;;;;3110:12;3102:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3187:29;;;3179:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3286:23;;;3278:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3373:28;;;3365:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3470:22;;;3462:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3548:16;;;;:4;;:16;;;;;:::i;:::-;-1:-1:-1;3574:20:22;;;;:6;;:20;;;;;:::i;:::-;-1:-1:-1;3604:24:22;;;;:8;;:24;;;;;:::i;:::-;-1:-1:-1;3638:8:22;:24;;;;;;;;;;3672:12;:30;;;;;;;;;;;;;;;;;-1:-1:-1;3712:18:22;;;;;;;;;;3740:11;:28;;;;;;;;;;;;;;3778:18;3787:8;3778;:18::i;:::-;-1:-1:-1;;3806:11:22;:18;;;;;;;;-1:-1:-1;;;;;;2795:1036:22:o;1258:27::-;;;;;;:::o;1139:83:18:-;1207:8;;;;1139:83;:::o;2803:94:24:-;2474:6;;;;2460:10;:20;2452:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2852:6:::1;:14:::0;;;::::1;::::0;;2881:9:::1;::::0;::::1;::::0;2861:5:::1;::::0;2881:9:::1;2803:94::o:0;4348:832:22:-;2287:6:24;;4553:4:22;;2287:6:24;;;;;2286:7;2278:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3967:10:22::1;3959:19;::::0;;;:7:::1;:19;::::0;;;;;::::1;;3951:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4496:10:::2;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4531:3:22::3;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4581:17:22::4;::::0;::::4;4573:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4666:1;4656:7;:11;4648:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4769:10;4724:28;4755:25:::0;;;:13:::4;:25;::::0;;;;;4798:31;;::::4;;4790:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4906:12;::::0;:25:::4;::::0;4923:7;4906:16:::4;:25::i;:::-;4891:12;:40:::0;4941:46:::4;4953:3:::0;4958:28:::4;4978:7:::0;4958:15:::4;4953:3:::0;4958:10:::4;:15::i;:::-;:19:::0;::::4;:28::i;:::-;4941:11;:46::i;:::-;5025:33;:20:::0;5050:7;5025:24:::4;:33::i;:::-;5011:10;4997:25;::::0;;;:13:::4;:25;::::0;;;;;;;;:61;;;;5073:30;;;;;;;4997:25:::4;5073:30:::0;::::4;::::0;::::4;::::0;;;;;;::::4;5118:34;::::0;;;;;;;::::4;::::0;::::4;::::0;5135:1:::4;::::0;5118:34:::4;::::0;;;;::::4;::::0;;::::4;-1:-1:-1::0;5169:4:22::4;::::0;4348:832;-1:-1:-1;;;;;4348:832:22:o;11369:506::-;2287:6:24;;;;;;;2286:7;2278:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3967:10:22::1;3959:19;::::0;;;:7:::1;:19;::::0;;;;;::::1;;3951:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11450:10:::2;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11472:15:22::3;11490:22;11501:10;11490;:22::i;:::-;11472:40;;11540:1;11530:7;:11;11522:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11616:7;11605;:18;;11597:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11692:12;::::0;:25:::3;::::0;11709:7;11692:16:::3;:25::i;:::-;11677:12;:40:::0;11727:45:::3;11739:10;11751:20;:7:::0;11763;11751:11:::3;:20::i;11727:45::-;11787:25;::::0;;;;;;;11792:10:::3;::::0;11787:25:::3;::::0;;;;;::::3;::::0;;::::3;11827:41;::::0;;;;;;;11856:1:::3;::::0;11836:10:::3;::::0;11827:41:::3;::::0;;;;::::3;::::0;;::::3;1621:1:20;4026::22::2;11369:506:::0;:::o;10343:356::-;2287:6:24;;10516:4:22;;2287:6:24;;;;;2286:7;2278:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5334:12:22::1;::::0;::::1;;5320:10;:26;5312:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10536:15:::2;::::0;::::2;;::::0;;;:7:::2;:15;::::0;;;;;;;:22;;;::::2;10554:4;10536:22;::::0;;10568:13:::2;:21:::0;;;;;;:43;;;10626:45;;;;;;;::::2;::::0;;;;;;;;::::2;-1:-1:-1::0;10688:4:22::2;10343:356:::0;;;;:::o;3018:220:24:-;2716:6:23;;;;2702:10;:20;2694:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3097:24:24::1;::::0;::::1;3089:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3176:6;:19:::0;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;;3210:21:::1;::::0;3224:6;::::1;::::0;3210:21:::1;::::0;-1:-1:-1;;3210:21:24::1;3018:220:::0;:::o;2107:26::-;;;;;;;;;:::o;6853:120:22:-;6921:7;6947:19;6958:7;6947:10;:19::i;:::-;6940:26;6853:120;-1:-1:-1;;6853:120:22:o;2624:89:24:-;2474:6;;;;2460:10;:20;2452:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2680:4:::1;2671:13:::0;;;::::1;::::0;::::1;::::0;;2699:7:::1;::::0;::::1;::::0;2671:13;;2699:7:::1;2624:89::o:0;5595:118:22:-;5685:21;;5659:7;5685:21;;;:13;:21;;;;;;;5595:118::o;2358:79:23:-;2398:7;2424:6;;;2358:79;:::o;1177:20:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2080:21:24;;;;;;:::o;9137:282:22:-;2287:6:24;;9339:4:22;;2287:6:24;;;;;2286:7;2278:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9283:10:22::1;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9318:2:22::2;1545:24:20;1560:8;1545:14;:24::i;:::-;1544:25;1536:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9359:32:22::3;9369:10;9381:2;9385:5;9359:9;:32::i;12016:269::-:0;2716:6:23;;;;2702:10;:20;2694:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12107:30:22::1;::::0;::::1;12099:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12199:12;:31:::0;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;;12245:33:::1;::::0;12265:12;::::1;::::0;12245:33:::1;::::0;-1:-1:-1;;12245:33:22::1;12016:269:::0;:::o;5914:104::-;5995:16;;5972:4;5995:16;;;:7;:16;;;;;;;;;5914:104::o;2614:265:20:-;2716:6:23;;;;2702:10;:20;2694:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2703:29:20::1;::::0;::::1;2695:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2797:11;:29:::0;;;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;;2841:31:::1;::::0;2860:11;::::1;::::0;2841:31:::1;::::0;-1:-1:-1;;2841:31:20::1;2614:265:::0;:::o;1664:147:18:-;1370:8;;;;1356:10;:22;1348:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:38:::1;:26;::::0;::::1;1793:2:::0;1797:6;1766:26:::1;:38::i;:::-;1664:147:::0;;;:::o;879:26:20:-;;;;;;:::o;6300:139:22:-;6409:14;;;;6383:7;6409:14;;;:7;:14;;;;;;;;:23;;;;;;;;;;;;;6300:139::o;1230:22::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:235:23;2716:6;;;;2702:10;:20;2694:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3030:22:::1;::::0;::::1;3022:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3131:6;::::0;3110:38:::1;::::0;;3131:6:::1;::::0;;::::1;3110:38:::0;;;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;;;;;::::1;3158:18;3167:8;3158;:18::i;:::-;2948:235:::0;:::o;2068:135:20:-;1284:11;;;;1270:10;:25;1262:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2140:20:::1;2151:8;2140:10;:20::i;:::-;2175:21;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;2068:135:::0;:::o;1837:118::-;1901:4;1924:24;1939:8;13432:144:22;13537:32;;13514:4;13537:32;;;:22;:32;;;;;;;;;13432:144::o;7741:333::-;7842:19;;;7834:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7920:21;;;7912:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7990:14;;;;;;;;:7;:14;;;;;;;;:23;;;;;;;;;;;;;:31;;;8036;;;;;;;;;;;;;;;;;7741:333;;;:::o;12502:110::-;12570:35;12589:8;12599:5;12570:18;:35::i;9604:472::-;9700:18;;;9692:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9778:16;;;9770:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9861:16;9872:4;9861:10;:16::i;:::-;9852:5;:25;;9844:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9931:46;9943:4;9949:27;9970:5;9949:16;9960:4;9949:10;:16::i;:::-;:20;;:27::i;9931:46::-;9987:42;9999:2;10003:25;10022:5;10003:14;10014:2;10003:10;:14::i;9987:42::-;10059:2;10044:25;;10053:4;10044:25;;;10063:5;10044:25;;;;;;;;;;;;;;;;;;9604:472;;;:::o;1321:134:0:-;1379:7;1405:43;1409:1;1412;1405:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1398:50;1321:134;-1:-1:-1;;;1321:134:0:o;2496:79:23:-;2551:6;:17;;;;;;;;;;;;;;;2496:79::o;874:176:0:-;932:7;963:5;;;986:6;;;;978:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13776:137:22;13871:35;;13845:7;13871:35;;;:25;:35;;;;;;;13776:137::o;13240:::-;13324:35;;;;;;;;:25;:35;;;;;:46;13240:137::o;696:175:2:-;805:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;828:23;805:58;;;778:86;;798:5;;778:19;:86::i;12340:107:22:-;12406:34;12425:8;12435:4;12884:154;12980:32;;;;;;;;;:22;:32;;;;;:51;;;;;;;;;;;;;12884:154::o;1746:187:0:-;1832:7;1867:12;1859:6;;;;1851:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1902:5:0;;;1746:187::o;2959:751:2:-;3378:23;3404:69;3432:4;3404:69;;;;;;;;;;;;;;;;;3412:5;3404:27;;;;:69;;;;;:::i;:::-;3487:17;;3378:95;;-1:-1:-1;3487:21:2;3483:221;;3627:10;3616:30;;;;;;;;;;;;;;;-1:-1:-1;3616:30:2;3608:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3770:194:3;3873:12;3904:53;3927:6;3935:4;3941:1;3944:12;3904:22;:53::i;:::-;3897:60;3770:194;-1:-1:-1;;;;3770:194:3:o;5117:958::-;5247:12;5279:18;5290:6;5279:10;:18::i;:::-;5271:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5402:12;5416:23;5443:6;:11;;5463:8;5474:4;5443:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5401:78;;;;5493:7;5489:580;;;5523:10;-1:-1:-1;5516:17:3;;-1:-1:-1;5516:17:3;5489:580;5634:17;;:21;5630:429;;5892:10;5886:17;5952:15;5939:10;5935:2;5931:19;5924:44;5841:145;6024:20;;;;;;;;;;;;;;;;;;;;6031:12;;6024:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;718:610;778:4;1239:20;;1084:66;1278:23;;;;;;:42;;-1:-1:-1;;1305:15:3;;;1270:51;-1:-1:-1;;718:610:3:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","blacklist(address)":"f9f92be4","blacklister()":"bd102430","burn(uint256)":"42966c68","configureMinter(address,uint256)":"4e44d956","currency()":"e5a6b10f","decimals()":"313ce567","initialize(string,string,string,uint8,address,address,address,address)":"3357162b","isBlacklisted(address)":"fe575a87","isMinter(address)":"aa271e1a","masterMinter()":"35d99f35","mint(address,uint256)":"40c10f19","minterAllowance(address)":"8a6db9c3","name()":"06fdde03","owner()":"8da5cb5b","pause()":"8456cb59","paused()":"5c975abb","pauser()":"9fd0506d","removeMinter(address)":"3092afd5","rescueERC20(address,address,uint256)":"b2118a8d","rescuer()":"38a63183","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","unBlacklist(address)":"1a895266","unpause()":"3f4ba83a","updateBlacklister(address)":"ad38bf22","updateMasterMinter(address)":"aa20e1e4","updatePauser(address)":"554bab3c","updateRescuer(address)":"2ab60045"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"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\":\"_account\",\"type\":\"address\"}],\"name\":\"Blacklisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newBlacklister\",\"type\":\"address\"}],\"name\":\"BlacklisterChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"burner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newMasterMinter\",\"type\":\"address\"}],\"name\":\"MasterMinterChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minterAllowedAmount\",\"type\":\"uint256\"}],\"name\":\"MinterConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldMinter\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Pause\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"PauserChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRescuer\",\"type\":\"address\"}],\"name\":\"RescuerChanged\",\"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\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"UnBlacklisted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpause\",\"type\":\"event\"},{\"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\":\"value\",\"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\":\"_account\",\"type\":\"address\"}],\"name\":\"blacklist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blacklister\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minterAllowedAmount\",\"type\":\"uint256\"}],\"name\":\"configureMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"tokenSymbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"tokenCurrency\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"tokenDecimals\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"newMasterMinter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newPauser\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newBlacklister\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isBlacklisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"masterMinter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"minterAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauser\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"removeMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"tokenContract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"rescueERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rescuer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"unBlacklist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newBlacklister\",\"type\":\"address\"}],\"name\":\"updateBlacklister\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newMasterMinter\",\"type\":\"address\"}],\"name\":\"updateMasterMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newPauser\",\"type\":\"address\"}],\"name\":\"updatePauser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newRescuer\",\"type\":\"address\"}],\"name\":\"updateRescuer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC20 Token backed by fiat reserves\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"params\":{\"owner\":\"The token owner's address.\",\"spender\":\"The spender's address.\"},\"returns\":{\"_0\":\"The remaining allowance.\"}},\"approve(address,uint256)\":{\"params\":{\"spender\":\"The spender's address.\",\"value\":\"The allowance amount.\"},\"returns\":{\"_0\":\"True if the operation was successful.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"The address to check.\"},\"returns\":{\"_0\":\"balance The fiat token balance of the account.\"}},\"blacklist(address)\":{\"params\":{\"_account\":\"The address to blacklist.\"}},\"burn(uint256)\":{\"details\":\"The caller must be a minter, must not be blacklisted, and the amount to burn should be less than or equal to the account's balance.\",\"params\":{\"_amount\":\"the amount of tokens to be burned.\"}},\"configureMinter(address,uint256)\":{\"params\":{\"minter\":\"The address of the minter.\",\"minterAllowedAmount\":\"The minting amount allowed for the minter.\"},\"returns\":{\"_0\":\"True if the operation was successful.\"}},\"initialize(string,string,string,uint8,address,address,address,address)\":{\"params\":{\"newBlacklister\":\"The blacklister address for the fiat token.\",\"newMasterMinter\":\"The masterMinter address for the fiat token.\",\"newOwner\":\"The owner of the fiat token.\",\"newPauser\":\"The pauser address for the fiat token.\",\"tokenCurrency\":\"The fiat currency that the token represents.\",\"tokenDecimals\":\"The number of decimals that the token uses.\",\"tokenName\":\"The name of the fiat token.\",\"tokenSymbol\":\"The symbol of the fiat token.\"}},\"isBlacklisted(address)\":{\"params\":{\"_account\":\"The address to check.\"},\"returns\":{\"_0\":\"True if the account is blacklisted, false if the account is not blacklisted.\"}},\"isMinter(address)\":{\"params\":{\"account\":\"The address to check.\"},\"returns\":{\"_0\":\"True if the account is a minter, false if the account is not a minter.\"}},\"mint(address,uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to mint. Must be less than or equal to the minterAllowance of the caller.\",\"_to\":\"The address that will receive the minted tokens.\"},\"returns\":{\"_0\":\"True if the operation was successful.\"}},\"minterAllowance(address)\":{\"params\":{\"minter\":\"The address to check.\"},\"returns\":{\"_0\":\"The remaining minter allowance for the account.\"}},\"owner()\":{\"details\":\"Tells the address of the owner\",\"returns\":{\"_0\":\"the address of the owner\"}},\"pause()\":{\"details\":\"called by the owner to pause, triggers stopped state\"},\"removeMinter(address)\":{\"params\":{\"minter\":\"The address of the minter to remove.\"},\"returns\":{\"_0\":\"True if the operation was successful.\"}},\"rescueERC20(address,address,uint256)\":{\"params\":{\"amount\":\"Amount to withdraw\",\"to\":\"Recipient address\",\"tokenContract\":\"ERC20 token contract address\"}},\"rescuer()\":{\"returns\":{\"_0\":\"Rescuer's address\"}},\"totalSupply()\":{\"returns\":{\"_0\":\"The totalSupply of the fiat token.\"}},\"transfer(address,uint256)\":{\"params\":{\"to\":\"Payee's address.\",\"value\":\"Transfer amount.\"},\"returns\":{\"_0\":\"True if the operation was successful.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"The caller must have some fiat token allowance on the payer's tokens.\",\"params\":{\"from\":\"Payer's address.\",\"to\":\"Payee's address.\",\"value\":\"Transfer amount.\"},\"returns\":{\"_0\":\"True if the operation was successful.\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}},\"unBlacklist(address)\":{\"params\":{\"_account\":\"The address to remove from the blacklist.\"}},\"unpause()\":{\"details\":\"called by the owner to unpause, returns to normal state\"},\"updateBlacklister(address)\":{\"params\":{\"_newBlacklister\":\"The address of the new blacklister.\"}},\"updateMasterMinter(address)\":{\"params\":{\"_newMasterMinter\":\"The address of the new master minter.\"}},\"updatePauser(address)\":{\"params\":{\"_newPauser\":\"The address of the new pauser.\"}},\"updateRescuer(address)\":{\"params\":{\"newRescuer\":\"The address of the new rescuer.\"}}},\"title\":\"FiatTokenV1_1\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Gets the remaining amount of fiat tokens a spender is allowed to transfer on behalf of the token owner.\"},\"approve(address,uint256)\":{\"notice\":\"Sets a fiat token allowance for a spender to spend on behalf of the caller.\"},\"balanceOf(address)\":{\"notice\":\"Gets the fiat token balance of an account.\"},\"blacklist(address)\":{\"notice\":\"Adds account to blacklist.\"},\"burn(uint256)\":{\"notice\":\"Allows a minter to burn some of its own tokens.\"},\"configureMinter(address,uint256)\":{\"notice\":\"Adds or updates a new minter with a mint allowance.\"},\"initialize(string,string,string,uint8,address,address,address,address)\":{\"notice\":\"Initializes the fiat token contract.\"},\"isBlacklisted(address)\":{\"notice\":\"Checks if account is blacklisted.\"},\"isMinter(address)\":{\"notice\":\"Checks if an account is a minter.\"},\"mint(address,uint256)\":{\"notice\":\"Mints fiat tokens to an address.\"},\"minterAllowance(address)\":{\"notice\":\"Gets the minter allowance for an account.\"},\"removeMinter(address)\":{\"notice\":\"Removes a minter.\"},\"rescueERC20(address,address,uint256)\":{\"notice\":\"Rescue ERC20 tokens locked up in this contract.\"},\"rescuer()\":{\"notice\":\"Returns current rescuer\"},\"totalSupply()\":{\"notice\":\"Gets the totalSupply of the fiat token.\"},\"transfer(address,uint256)\":{\"notice\":\"Transfers tokens from the caller.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Transfers tokens from an address to another by spending the caller's allowance.\"},\"unBlacklist(address)\":{\"notice\":\"Removes account from blacklist.\"},\"updateBlacklister(address)\":{\"notice\":\"Updates the blacklister address.\"},\"updateMasterMinter(address)\":{\"notice\":\"Updates the master minter address.\"},\"updatePauser(address)\":{\"notice\":\"Updates the pauser address.\"},\"updateRescuer(address)\":{\"notice\":\"Updates the rescuer address.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol\":\"FiatTokenV1_1\"},\"evmVersion\":\"istanbul\",\"libraries\":{\"SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts_v3.1.0/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5\",\"dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV\"]},\"lib/openzeppelin-contracts_v3.1.0/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017\",\"dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5\"]},\"lib/openzeppelin-contracts_v3.1.0/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf3b30f8a49631420635a8c35daacfcaa338012755f18a76fdd118730256f9a27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0d7de652204c2ee291a61aa984103dfc7ae4392d651fbbc44a0079caee7c69a3\",\"dweb:/ipfs/Qmcw1cQnq9eWDnrCBwU3TNyqLfTMUFg5YKpYUkELoMPuUE\"]},\"lib/openzeppelin-contracts_v3.1.0/contracts/utils/Address.sol\":{\"keccak256\":\"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff\",\"dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS\"]},\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol\":{\"keccak256\":\"0x3b728c44c15c1ea7a61b6461742958834bc398b169da10cd350fc1a444a93c34\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a99ba77233ae53ccf7b6827a94730a1a664a8f525cc291b6b29090aa4ebb2bcf\",\"dweb:/ipfs/Qme9eZZh7YRk4kEj68Qgr58898gnT1XmminvKVhpvRCkTv\"]},\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/Rescuable.sol\":{\"keccak256\":\"0x3a1724df6032053b3409d137fde519cf3e2de040876791f006ae52901367c65e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b094ccbb80b92665184634ce74d7f79ad057311e47b66dc3be07a7db0128f1a1\",\"dweb:/ipfs/QmV52aq78xsE4Yun8EJqBJNVLEYKNuFN89kYXokdJ3knrK\"]},\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/AbstractFiatTokenV1.sol\":{\"keccak256\":\"0x8c8304c7f254e274e51f5b886d91f91c731432885aa352d25ed881c1682a9700\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3470e35dd7dc304944f2d9718b6164976b7e5f1d6c8efcdd511d73bb3b5bf273\",\"dweb:/ipfs/QmaZwLkCDpDdJuHKvsCQHpVars5Xrp2xfM8budLENUSmW6\"]},\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/Blacklistable.sol\":{\"keccak256\":\"0x0a81bb84c1c6f84d9b29ea065825b67f0c2514933c947ef7a235687b1d02abe5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://eb99105e2e4af6be3fbd30beb39a389b920dbdfa00e712b056e8c883832b44fc\",\"dweb:/ipfs/QmQQemDRjA82ywmJQ3dJhMjEdJjvPEezyXzEtCppVDUNfe\"]},\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/FiatTokenV1.sol\":{\"keccak256\":\"0xd2e239041e121efa4b66aee229a522bac3b959aab3f66249f17c1c1d0371b616\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://370ac5f4cd368c671c414518e2286b598d6320612165c7c5145ffe904c730099\",\"dweb:/ipfs/QmWBUMmpC7kECREYZcbyKw14LfpAbJvZnPe4E31KvJjEeu\"]},\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/Ownable.sol\":{\"keccak256\":\"0x3185c30c5c78bfab0e88f219e3ad48c30aaeca8ebd4d888e6efda41021a5a759\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03e00b50b100a50ef4dc0e07663291ddda6ba6023befc7b47c899bb700ad1549\",\"dweb:/ipfs/QmcHhU6ppJDQnY8UWpzSMy1XSLUJ4ZXqhuwnShxP4sQ2gB\"]},\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/Pausable.sol\":{\"keccak256\":\"0xb9a79584f8405cee912de46324f35f67de2b2457498f713ed5ada8d2e91d67be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://831d6348c99afe201c720dea740aa7cd652051c2118102d9556bd989936da888\",\"dweb:/ipfs/QmYCxGYuEZnxbgXoLNbr9TFy8SXKktwfG2sxWgrAgHxXwD\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"_account","type":"address","indexed":true}],"type":"event","name":"Blacklisted","anonymous":false},{"inputs":[{"internalType":"address","name":"newBlacklister","type":"address","indexed":true}],"type":"event","name":"BlacklisterChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"burner","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Burn","anonymous":false},{"inputs":[{"internalType":"address","name":"newMasterMinter","type":"address","indexed":true}],"type":"event","name":"MasterMinterChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"minter","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"address","name":"minter","type":"address","indexed":true},{"internalType":"uint256","name":"minterAllowedAmount","type":"uint256","indexed":false}],"type":"event","name":"MinterConfigured","anonymous":false},{"inputs":[{"internalType":"address","name":"oldMinter","type":"address","indexed":true}],"type":"event","name":"MinterRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":false},{"internalType":"address","name":"newOwner","type":"address","indexed":false}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"type":"event","name":"Pause","anonymous":false},{"inputs":[{"internalType":"address","name":"newAddress","type":"address","indexed":true}],"type":"event","name":"PauserChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"newRescuer","type":"address","indexed":true}],"type":"event","name":"RescuerChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_account","type":"address","indexed":true}],"type":"event","name":"UnBlacklisted","anonymous":false},{"inputs":[],"type":"event","name":"Unpause","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"blacklist"},{"inputs":[],"stateMutability":"view","type":"function","name":"blacklister","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"address","name":"minter","type":"address"},{"internalType":"uint256","name":"minterAllowedAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"configureMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currency","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"string","name":"tokenCurrency","type":"string"},{"internalType":"uint8","name":"tokenDecimals","type":"uint8"},{"internalType":"address","name":"newMasterMinter","type":"address"},{"internalType":"address","name":"newPauser","type":"address"},{"internalType":"address","name":"newBlacklister","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"masterMinter","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"minter","type":"address"}],"stateMutability":"view","type":"function","name":"minterAllowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pause"},{"inputs":[],"stateMutability":"view","type":"function","name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pauser","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"minter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"contract IERC20","name":"tokenContract","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rescueERC20"},{"inputs":[],"stateMutability":"view","type":"function","name":"rescuer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unBlacklist"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unpause"},{"inputs":[{"internalType":"address","name":"_newBlacklister","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateBlacklister"},{"inputs":[{"internalType":"address","name":"_newMasterMinter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateMasterMinter"},{"inputs":[{"internalType":"address","name":"_newPauser","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updatePauser"},{"inputs":[{"internalType":"address","name":"newRescuer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateRescuer"}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"params":{"owner":"The token owner's address.","spender":"The spender's address."},"returns":{"_0":"The remaining allowance."}},"approve(address,uint256)":{"params":{"spender":"The spender's address.","value":"The allowance amount."},"returns":{"_0":"True if the operation was successful."}},"balanceOf(address)":{"params":{"account":"The address to check."},"returns":{"_0":"balance The fiat token balance of the account."}},"blacklist(address)":{"params":{"_account":"The address to blacklist."}},"burn(uint256)":{"details":"The caller must be a minter, must not be blacklisted, and the amount to burn should be less than or equal to the account's balance.","params":{"_amount":"the amount of tokens to be burned."}},"configureMinter(address,uint256)":{"params":{"minter":"The address of the minter.","minterAllowedAmount":"The minting amount allowed for the minter."},"returns":{"_0":"True if the operation was successful."}},"initialize(string,string,string,uint8,address,address,address,address)":{"params":{"newBlacklister":"The blacklister address for the fiat token.","newMasterMinter":"The masterMinter address for the fiat token.","newOwner":"The owner of the fiat token.","newPauser":"The pauser address for the fiat token.","tokenCurrency":"The fiat currency that the token represents.","tokenDecimals":"The number of decimals that the token uses.","tokenName":"The name of the fiat token.","tokenSymbol":"The symbol of the fiat token."}},"isBlacklisted(address)":{"params":{"_account":"The address to check."},"returns":{"_0":"True if the account is blacklisted, false if the account is not blacklisted."}},"isMinter(address)":{"params":{"account":"The address to check."},"returns":{"_0":"True if the account is a minter, false if the account is not a minter."}},"mint(address,uint256)":{"params":{"_amount":"The amount of tokens to mint. Must be less than or equal to the minterAllowance of the caller.","_to":"The address that will receive the minted tokens."},"returns":{"_0":"True if the operation was successful."}},"minterAllowance(address)":{"params":{"minter":"The address to check."},"returns":{"_0":"The remaining minter allowance for the account."}},"owner()":{"details":"Tells the address of the owner","returns":{"_0":"the address of the owner"}},"pause()":{"details":"called by the owner to pause, triggers stopped state"},"removeMinter(address)":{"params":{"minter":"The address of the minter to remove."},"returns":{"_0":"True if the operation was successful."}},"rescueERC20(address,address,uint256)":{"params":{"amount":"Amount to withdraw","to":"Recipient address","tokenContract":"ERC20 token contract address"}},"rescuer()":{"returns":{"_0":"Rescuer's address"}},"totalSupply()":{"returns":{"_0":"The totalSupply of the fiat token."}},"transfer(address,uint256)":{"params":{"to":"Payee's address.","value":"Transfer amount."},"returns":{"_0":"True if the operation was successful."}},"transferFrom(address,address,uint256)":{"details":"The caller must have some fiat token allowance on the payer's tokens.","params":{"from":"Payer's address.","to":"Payee's address.","value":"Transfer amount."},"returns":{"_0":"True if the operation was successful."}},"transferOwnership(address)":{"details":"Allows the current owner to transfer control of the contract to a newOwner.","params":{"newOwner":"The address to transfer ownership to."}},"unBlacklist(address)":{"params":{"_account":"The address to remove from the blacklist."}},"unpause()":{"details":"called by the owner to unpause, returns to normal state"},"updateBlacklister(address)":{"params":{"_newBlacklister":"The address of the new blacklister."}},"updateMasterMinter(address)":{"params":{"_newMasterMinter":"The address of the new master minter."}},"updatePauser(address)":{"params":{"_newPauser":"The address of the new pauser."}},"updateRescuer(address)":{"params":{"newRescuer":"The address of the new rescuer."}}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Gets the remaining amount of fiat tokens a spender is allowed to transfer on behalf of the token owner."},"approve(address,uint256)":{"notice":"Sets a fiat token allowance for a spender to spend on behalf of the caller."},"balanceOf(address)":{"notice":"Gets the fiat token balance of an account."},"blacklist(address)":{"notice":"Adds account to blacklist."},"burn(uint256)":{"notice":"Allows a minter to burn some of its own tokens."},"configureMinter(address,uint256)":{"notice":"Adds or updates a new minter with a mint allowance."},"initialize(string,string,string,uint8,address,address,address,address)":{"notice":"Initializes the fiat token contract."},"isBlacklisted(address)":{"notice":"Checks if account is blacklisted."},"isMinter(address)":{"notice":"Checks if an account is a minter."},"mint(address,uint256)":{"notice":"Mints fiat tokens to an address."},"minterAllowance(address)":{"notice":"Gets the minter allowance for an account."},"removeMinter(address)":{"notice":"Removes a minter."},"rescueERC20(address,address,uint256)":{"notice":"Rescue ERC20 tokens locked up in this contract."},"rescuer()":{"notice":"Returns current rescuer"},"totalSupply()":{"notice":"Gets the totalSupply of the fiat token."},"transfer(address,uint256)":{"notice":"Transfers tokens from the caller."},"transferFrom(address,address,uint256)":{"notice":"Transfers tokens from an address to another by spending the caller's allowance."},"unBlacklist(address)":{"notice":"Removes account from blacklist."},"updateBlacklister(address)":{"notice":"Updates the blacklister address."},"updateMasterMinter(address)":{"notice":"Updates the master minter address."},"updatePauser(address)":{"notice":"Updates the pauser address."},"updateRescuer(address)":{"notice":"Updates the rescuer address."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol":"FiatTokenV1_1"},"evmVersion":"istanbul","libraries":{"SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/openzeppelin-contracts_v3.1.0/contracts/math/SafeMath.sol":{"keccak256":"0x9a9cf02622cd7a64261b10534fc3260449da25c98c9e96d1b4ae8110a20e5806","urls":["bzz-raw://2df142592d1dc267d9549049ee3317fa190d2f87eaa565f86ab05ec83f7ab8f5","dweb:/ipfs/QmSkJtcfWo7c42KnL5hho6GFxK6HRNV91XABx1P7xDtfLV"],"license":"MIT"},"lib/openzeppelin-contracts_v3.1.0/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x5c26b39d26f7ed489e555d955dcd3e01872972e71fdd1528e93ec164e4f23385","urls":["bzz-raw://efdc632af6960cf865dbc113665ea1f5b90eab75cc40ec062b2f6ae6da582017","dweb:/ipfs/QmfAZFDuG62vxmAN9DnXApv7e7PMzPqi4RkqqZHLMSQiY5"],"license":"MIT"},"lib/openzeppelin-contracts_v3.1.0/contracts/token/ERC20/SafeERC20.sol":{"keccak256":"0xf3b30f8a49631420635a8c35daacfcaa338012755f18a76fdd118730256f9a27","urls":["bzz-raw://0d7de652204c2ee291a61aa984103dfc7ae4392d651fbbc44a0079caee7c69a3","dweb:/ipfs/Qmcw1cQnq9eWDnrCBwU3TNyqLfTMUFg5YKpYUkELoMPuUE"],"license":"MIT"},"lib/openzeppelin-contracts_v3.1.0/contracts/utils/Address.sol":{"keccak256":"0xdfb4f812600ba4ce6738c35584ceb8c9433472583051b48ba5b1f66cb758a498","urls":["bzz-raw://df02dffe1c1de089d9b4f6192f0dcf464526f2230f420b3deec4645e0cdd2bff","dweb:/ipfs/QmcqXGAU3KJqwrgUVoGJ2W8osomhSJ4R5kdsRpbuW3fELS"],"license":"MIT"},"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol":{"keccak256":"0x3b728c44c15c1ea7a61b6461742958834bc398b169da10cd350fc1a444a93c34","urls":["bzz-raw://a99ba77233ae53ccf7b6827a94730a1a664a8f525cc291b6b29090aa4ebb2bcf","dweb:/ipfs/Qme9eZZh7YRk4kEj68Qgr58898gnT1XmminvKVhpvRCkTv"],"license":"Apache-2.0"},"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/Rescuable.sol":{"keccak256":"0x3a1724df6032053b3409d137fde519cf3e2de040876791f006ae52901367c65e","urls":["bzz-raw://b094ccbb80b92665184634ce74d7f79ad057311e47b66dc3be07a7db0128f1a1","dweb:/ipfs/QmV52aq78xsE4Yun8EJqBJNVLEYKNuFN89kYXokdJ3knrK"],"license":"Apache-2.0"},"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/AbstractFiatTokenV1.sol":{"keccak256":"0x8c8304c7f254e274e51f5b886d91f91c731432885aa352d25ed881c1682a9700","urls":["bzz-raw://3470e35dd7dc304944f2d9718b6164976b7e5f1d6c8efcdd511d73bb3b5bf273","dweb:/ipfs/QmaZwLkCDpDdJuHKvsCQHpVars5Xrp2xfM8budLENUSmW6"],"license":"Apache-2.0"},"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/Blacklistable.sol":{"keccak256":"0x0a81bb84c1c6f84d9b29ea065825b67f0c2514933c947ef7a235687b1d02abe5","urls":["bzz-raw://eb99105e2e4af6be3fbd30beb39a389b920dbdfa00e712b056e8c883832b44fc","dweb:/ipfs/QmQQemDRjA82ywmJQ3dJhMjEdJjvPEezyXzEtCppVDUNfe"],"license":"Apache-2.0"},"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/FiatTokenV1.sol":{"keccak256":"0xd2e239041e121efa4b66aee229a522bac3b959aab3f66249f17c1c1d0371b616","urls":["bzz-raw://370ac5f4cd368c671c414518e2286b598d6320612165c7c5145ffe904c730099","dweb:/ipfs/QmWBUMmpC7kECREYZcbyKw14LfpAbJvZnPe4E31KvJjEeu"],"license":"Apache-2.0"},"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/Ownable.sol":{"keccak256":"0x3185c30c5c78bfab0e88f219e3ad48c30aaeca8ebd4d888e6efda41021a5a759","urls":["bzz-raw://03e00b50b100a50ef4dc0e07663291ddda6ba6023befc7b47c899bb700ad1549","dweb:/ipfs/QmcHhU6ppJDQnY8UWpzSMy1XSLUJ4ZXqhuwnShxP4sQ2gB"],"license":"MIT"},"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/Pausable.sol":{"keccak256":"0xb9a79584f8405cee912de46324f35f67de2b2457498f713ed5ada8d2e91d67be","urls":["bzz-raw://831d6348c99afe201c720dea740aa7cd652051c2118102d9556bd989936da888","dweb:/ipfs/QmYCxGYuEZnxbgXoLNbr9TFy8SXKktwfG2sxWgrAgHxXwD"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":3029,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"_owner","offset":0,"slot":"0","type":"t_address"},{"astId":3125,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"pauser","offset":0,"slot":"1","type":"t_address"},{"astId":3128,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"paused","offset":20,"slot":"1","type":"t_bool"},{"astId":2009,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"blacklister","offset":0,"slot":"2","type":"t_address"},{"astId":2013,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"_deprecatedBlacklisted","offset":0,"slot":"3","type":"t_mapping(t_address,t_bool)"},{"astId":2191,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"name","offset":0,"slot":"4","type":"t_string_storage"},{"astId":2193,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"symbol","offset":0,"slot":"5","type":"t_string_storage"},{"astId":2195,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"decimals","offset":0,"slot":"6","type":"t_uint8"},{"astId":2197,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"currency","offset":0,"slot":"7","type":"t_string_storage"},{"astId":2199,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"masterMinter","offset":0,"slot":"8","type":"t_address"},{"astId":2201,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"initialized","offset":20,"slot":"8","type":"t_bool"},{"astId":2206,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"balanceAndBlacklistStates","offset":0,"slot":"9","type":"t_mapping(t_address,t_uint256)"},{"astId":2212,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"allowed","offset":0,"slot":"10","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":2215,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"totalSupply_","offset":0,"slot":"11","type":"t_uint256"},{"astId":2219,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"minters","offset":0,"slot":"12","type":"t_mapping(t_address,t_bool)"},{"astId":2223,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"minterAllowed","offset":0,"slot":"13","type":"t_mapping(t_address,t_uint256)"},{"astId":1901,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol:FiatTokenV1_1","label":"_rescuer","offset":0,"slot":"14","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"userdoc":{"version":1,"kind":"user","methods":{"allowance(address,address)":{"notice":"Gets the remaining amount of fiat tokens a spender is allowed to transfer on behalf of the token owner."},"approve(address,uint256)":{"notice":"Sets a fiat token allowance for a spender to spend on behalf of the caller."},"balanceOf(address)":{"notice":"Gets the fiat token balance of an account."},"blacklist(address)":{"notice":"Adds account to blacklist."},"burn(uint256)":{"notice":"Allows a minter to burn some of its own tokens."},"configureMinter(address,uint256)":{"notice":"Adds or updates a new minter with a mint allowance."},"initialize(string,string,string,uint8,address,address,address,address)":{"notice":"Initializes the fiat token contract."},"isBlacklisted(address)":{"notice":"Checks if account is blacklisted."},"isMinter(address)":{"notice":"Checks if an account is a minter."},"mint(address,uint256)":{"notice":"Mints fiat tokens to an address."},"minterAllowance(address)":{"notice":"Gets the minter allowance for an account."},"removeMinter(address)":{"notice":"Removes a minter."},"rescueERC20(address,address,uint256)":{"notice":"Rescue ERC20 tokens locked up in this contract."},"rescuer()":{"notice":"Returns current rescuer"},"totalSupply()":{"notice":"Gets the totalSupply of the fiat token."},"transfer(address,uint256)":{"notice":"Transfers tokens from the caller."},"transferFrom(address,address,uint256)":{"notice":"Transfers tokens from an address to another by spending the caller's allowance."},"unBlacklist(address)":{"notice":"Removes account from blacklist."},"updateBlacklister(address)":{"notice":"Updates the blacklister address."},"updateMasterMinter(address)":{"notice":"Updates the master minter address."},"updatePauser(address)":{"notice":"Updates the pauser address."},"updateRescuer(address)":{"notice":"Updates the rescuer address."}}},"devdoc":{"version":1,"kind":"dev","details":"ERC20 Token backed by fiat reserves","methods":{"allowance(address,address)":{"params":{"owner":"The token owner's address.","spender":"The spender's address."},"returns":{"_0":"The remaining allowance."}},"approve(address,uint256)":{"params":{"spender":"The spender's address.","value":"The allowance amount."},"returns":{"_0":"True if the operation was successful."}},"balanceOf(address)":{"params":{"account":"The address to check."},"returns":{"_0":"balance The fiat token balance of the account."}},"blacklist(address)":{"params":{"_account":"The address to blacklist."}},"burn(uint256)":{"details":"The caller must be a minter, must not be blacklisted, and the amount to burn should be less than or equal to the account's balance.","params":{"_amount":"the amount of tokens to be burned."}},"configureMinter(address,uint256)":{"params":{"minter":"The address of the minter.","minterAllowedAmount":"The minting amount allowed for the minter."},"returns":{"_0":"True if the operation was successful."}},"initialize(string,string,string,uint8,address,address,address,address)":{"params":{"newBlacklister":"The blacklister address for the fiat token.","newMasterMinter":"The masterMinter address for the fiat token.","newOwner":"The owner of the fiat token.","newPauser":"The pauser address for the fiat token.","tokenCurrency":"The fiat currency that the token represents.","tokenDecimals":"The number of decimals that the token uses.","tokenName":"The name of the fiat token.","tokenSymbol":"The symbol of the fiat token."}},"isBlacklisted(address)":{"params":{"_account":"The address to check."},"returns":{"_0":"True if the account is blacklisted, false if the account is not blacklisted."}},"isMinter(address)":{"params":{"account":"The address to check."},"returns":{"_0":"True if the account is a minter, false if the account is not a minter."}},"mint(address,uint256)":{"params":{"_amount":"The amount of tokens to mint. Must be less than or equal to the minterAllowance of the caller.","_to":"The address that will receive the minted tokens."},"returns":{"_0":"True if the operation was successful."}},"minterAllowance(address)":{"params":{"minter":"The address to check."},"returns":{"_0":"The remaining minter allowance for the account."}},"owner()":{"details":"Tells the address of the owner","returns":{"_0":"the address of the owner"}},"pause()":{"details":"called by the owner to pause, triggers stopped state"},"removeMinter(address)":{"params":{"minter":"The address of the minter to remove."},"returns":{"_0":"True if the operation was successful."}},"rescueERC20(address,address,uint256)":{"params":{"amount":"Amount to withdraw","to":"Recipient address","tokenContract":"ERC20 token contract address"}},"rescuer()":{"returns":{"_0":"Rescuer's address"}},"totalSupply()":{"returns":{"_0":"The totalSupply of the fiat token."}},"transfer(address,uint256)":{"params":{"to":"Payee's address.","value":"Transfer amount."},"returns":{"_0":"True if the operation was successful."}},"transferFrom(address,address,uint256)":{"details":"The caller must have some fiat token allowance on the payer's tokens.","params":{"from":"Payer's address.","to":"Payee's address.","value":"Transfer amount."},"returns":{"_0":"True if the operation was successful."}},"transferOwnership(address)":{"details":"Allows the current owner to transfer control of the contract to a newOwner.","params":{"newOwner":"The address to transfer ownership to."}},"unBlacklist(address)":{"params":{"_account":"The address to remove from the blacklist."}},"unpause()":{"details":"called by the owner to unpause, returns to normal state"},"updateBlacklister(address)":{"params":{"_newBlacklister":"The address of the new blacklister."}},"updateMasterMinter(address)":{"params":{"_newMasterMinter":"The address of the new master minter."}},"updatePauser(address)":{"params":{"_newPauser":"The address of the new pauser."}},"updateRescuer(address)":{"params":{"newRescuer":"The address of the new rescuer."}}},"title":"FiatTokenV1_1"},"ast":{"absolutePath":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/FiatTokenV1_1.sol","id":1887,"exportedSymbols":{"FiatTokenV1_1":[1886]},"nodeType":"SourceUnit","src":"659:253:17","nodes":[{"id":1876,"nodeType":"PragmaDirective","src":"659:23:17","nodes":[],"literals":["solidity","0.6",".12"]},{"id":1878,"nodeType":"ImportDirective","src":"684:52:17","nodes":[],"absolutePath":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/FiatTokenV1.sol","file":"../v1/FiatTokenV1.sol","scope":1887,"sourceUnit":3025,"symbolAliases":[{"foreign":{"argumentTypes":null,"id":1877,"name":"FiatTokenV1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":null,"src":"693:11:17","typeDescriptions":{"typeIdentifier":null,"typeString":null}},"local":null}],"unitAlias":""},{"id":1880,"nodeType":"ImportDirective","src":"737:44:17","nodes":[],"absolutePath":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1.1/Rescuable.sol","file":"./Rescuable.sol","scope":1887,"sourceUnit":1976,"symbolAliases":[{"foreign":{"argumentTypes":null,"id":1879,"name":"Rescuable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":null,"src":"746:9:17","typeDescriptions":{"typeIdentifier":null,"typeString":null}},"local":null}],"unitAlias":""},{"id":1886,"nodeType":"ContractDefinition","src":"859:52:17","nodes":[],"abstract":false,"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":1882,"name":"FiatTokenV1","nodeType":"UserDefinedTypeName","referencedDeclaration":3024,"src":"885:11:17","typeDescriptions":{"typeIdentifier":"t_contract$_FiatTokenV1_$3024","typeString":"contract FiatTokenV1"}},"id":1883,"nodeType":"InheritanceSpecifier","src":"885:11:17"},{"arguments":null,"baseName":{"contractScope":null,"id":1884,"name":"Rescuable","nodeType":"UserDefinedTypeName","referencedDeclaration":1975,"src":"898:9:17","typeDescriptions":{"typeIdentifier":"t_contract$_Rescuable_$1975","typeString":"contract Rescuable"}},"id":1885,"nodeType":"InheritanceSpecifier","src":"898:9:17"}],"contractDependencies":[273,1975,2000,2148,3024,3108,3208],"contractKind":"contract","documentation":{"id":1881,"nodeType":"StructuredDocumentation","src":"783:75:17","text":" @title FiatTokenV1_1\n @dev ERC20 Token backed by fiat reserves"},"fullyImplemented":true,"linearizedBaseContracts":[1886,1975,3024,2148,3208,3108,2000,273],"name":"FiatTokenV1_1","scope":1887}],"license":"Apache-2.0"},"id":17}