3 txs
27 calls
constructor
constructor(address defaultAdmin, address _presaleWallet, address _hyphaPresaleCoreContractAddress)
functions
checkWalletBlacklistStatus
viewfunction checkWalletBlacklistStatus(address buyerWallet) view returns (bool)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getCoinPair
viewfunction getCoinPair(address CoinPair) view returns (tuple)
getCoinPairState
viewfunction getCoinPairState(address CoinPair) view returns (bool)
getCoinPairTokenAddress
viewfunction getCoinPairTokenAddress(address CoinPair) view returns (address)
getLatestPrice
viewfunction getLatestPrice(address coinPair) view returns (uint256)
getPurchasePrice
viewfunction getPurchasePrice(address coinPair, uint256 hyphaTokenAmount) view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getTokenAmount
viewfunction getTokenAmount(address coinPair, uint256 ethAmount) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
claimStuckTokens
nonpayablefunction claimStuckTokens(address coin)
disableCoinPair
nonpayablefunction disableCoinPair(address CoinPair) returns (bool)
enableCoinPair
nonpayablefunction enableCoinPair(address CoinPair) returns (bool)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
removeWalletFromBlacklist
nonpayablefunction removeWalletFromBlacklist(address buyerWallet) returns (bool)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setCoinPairs
nonpayablefunction setCoinPairs(address coinPair, address coinAddress, uint256 chainId, uint256 decimals) returns (bool)
setWalletToBlacklist
nonpayablefunction setWalletToBlacklist(address buyerWallet) returns (bool)
updatePresaleCoreContract
nonpayablefunction updatePresaleCoreContract(address _hyphaPresaleCoreContractAddress)
events
Received
event Received(address, uint256)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801561000f575f80fd5b50604051612ab5380380612ab583398181016040528101906100319190610290565b6001808190555061004a5f801b846100d360201b60201c565b508160045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506102e0565b5f6100e483836101c860201b60201c565b6101be5760015f808581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061015b61022b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506101c2565b5f90505b92915050565b5f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61025f82610236565b9050919050565b61026f81610255565b8114610279575f80fd5b50565b5f8151905061028a81610266565b92915050565b5f805f606084860312156102a7576102a6610232565b5b5f6102b48682870161027c565b93505060206102c58682870161027c565b92505060406102d68682870161027c565b9150509250925092565b6127c8806102ed5f395ff3fe60806040526004361061012d575f3560e01c806336568abe116100aa57806391d148541161006e57806391d14854146104b9578063a217fddf146104f5578063c23c01b01461051f578063c50796a81461055b578063d547741f14610597578063f9d0831a146105bf5761016d565b806336568abe146103b5578063377591dc146103dd57806359995cdb146104195780636fac731a146104555780637e43db22146104915761016d565b806317274bdc116100f157806317274bdc1461029d57806318f52ff2146102d9578063248a9ca3146103155780632f2ff15d14610351578063322b5bdc146103795761016d565b806301ffc9a71461017157806308799f48146101ad5780630af96c8f146101e9578063115ece4c1461022557806316345f18146102615761016d565b3661016d577f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f885258743334604051610163929190611f92565b60405180910390a1005b5f80fd5b34801561017c575f80fd5b5061019760048036038101906101929190612012565b6105e7565b6040516101a49190612057565b60405180910390f35b3480156101b8575f80fd5b506101d360048036038101906101ce919061209a565b610660565b6040516101e09190612057565b60405180910390f35b3480156101f4575f80fd5b5061020f600480360381019061020a91906120ef565b6106cc565b60405161021c9190612057565b60405180910390f35b348015610230575f80fd5b5061024b60048036038101906102469190612153565b6109b0565b6040516102589190612191565b60405180910390f35b34801561026c575f80fd5b506102876004803603810190610282919061209a565b610bcb565b6040516102949190612191565b60405180910390f35b3480156102a8575f80fd5b506102c360048036038101906102be919061209a565b610c90565b6040516102d09190612057565b60405180910390f35b3480156102e4575f80fd5b506102ff60048036038101906102fa9190612153565b610da1565b60405161030c9190612191565b60405180910390f35b348015610320575f80fd5b5061033b600480360381019061033691906121dd565b610feb565b6040516103489190612217565b60405180910390f35b34801561035c575f80fd5b5061037760048036038101906103729190612230565b611007565b005b348015610384575f80fd5b5061039f600480360381019061039a919061209a565b611029565b6040516103ac9190612057565b60405180910390f35b3480156103c0575f80fd5b506103db60048036038101906103d69190612230565b611120565b005b3480156103e8575f80fd5b5061040360048036038101906103fe919061209a565b61119b565b604051610410919061226e565b60405180910390f35b348015610424575f80fd5b5061043f600480360381019061043a919061209a565b6112a4565b60405161044c9190612307565b60405180910390f35b348015610460575f80fd5b5061047b6004803603810190610476919061209a565b61141f565b6040516104889190612057565b60405180910390f35b34801561049c575f80fd5b506104b760048036038101906104b2919061209a565b61152f565b005b3480156104c4575f80fd5b506104df60048036038101906104da9190612230565b61157f565b6040516104ec9190612057565b60405180910390f35b348015610500575f80fd5b506105096115e2565b6040516105169190612217565b60405180910390f35b34801561052a575f80fd5b506105456004803603810190610540919061209a565b6115e8565b6040516105529190612057565b60405180910390f35b348015610566575f80fd5b50610581600480360381019061057c919061209a565b611653565b60405161058e9190612057565b60405180910390f35b3480156105a2575f80fd5b506105bd60048036038101906105b89190612230565b6116a5565b005b3480156105ca575f80fd5b506105e560048036038101906105e0919061209a565b6116c7565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106595750610658826118e1565b5b9050919050565b5f805f1b61066d8161194a565b600160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001915050919050565b5f805f1b6106d98161194a565b5f60055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490501115610887578460055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154811061077157610770612320565b5b905f5260205f2090600402015f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154811061080c5761080b612320565b5b905f5260205f209060040201600101819055508260055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154811061086f5761086e612320565b5b905f5260205f209060040201600201819055506109a3565b5f60405180608001604052808773ffffffffffffffffffffffffffffffffffffffff16815260200186815260200185815260200160011515815250905060055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f2090600402015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201556060820151816003015f6101000a81548160ff0219169083151502179055505050505b6001915050949350505050565b5f8060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307c52d836040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a409190612361565b90505f610a4c85610bcb565b90505f600660055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548110610aa057610a9f612320565b5b905f5260205f2090600402016002015403610b0357610b00610acc60648561195e90919063ffffffff16565b610af2610ae360648661195e90919063ffffffff16565b8861198390919063ffffffff16565b61195e90919063ffffffff16565b90505b601260055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548110610b5457610b53612320565b5b905f5260205f2090600402016002015403610bbf57610bbc610b846402540be4008561198390919063ffffffff16565b610bae610b9f6402540be4008661198390919063ffffffff16565b8861198390919063ffffffff16565b61195e90919063ffffffff16565b90505b80935050505092915050565b5f808290505f8173ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610c1a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3e91906123fe565b5050509150505f8113610c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7d906124cf565b60405180910390fd5b8092505050919050565b5f805f1b610c9d8161194a565b600160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490501015610d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1890612537565b60405180910390fd5b600160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548110610d7257610d71612320565b5b905f5260205f2090600402016003015f6101000a81548160ff0219169083151502179055506001915050919050565b5f8060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166307c52d836040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e319190612361565b90505f610e3d85610bcb565b90505f601260055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548110610e9157610e90612320565b5b905f5260205f2090600402016002015403610f1657610f13610ec16402540be4008461198390919063ffffffff16565b610f05610edf670de0b6b3a76400008961198390919063ffffffff16565b610ef76402540be4008861198390919063ffffffff16565b61198390919063ffffffff16565b61195e90919063ffffffff16565b90505b600660055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548110610f6757610f66612320565b5b905f5260205f2090600402016002015403610fdf57610fdc610f9360648461195e90919063ffffffff16565b610fce610fac620f42408961198390919063ffffffff16565b610fc060648861195e90919063ffffffff16565b61198390919063ffffffff16565b61195e90919063ffffffff16565b90505b80935050505092915050565b5f805f8381526020019081526020015f20600101549050919050565b61101082610feb565b6110198161194a565b61102383836119c3565b50505050565b5f600160055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905010156110ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a590612537565b60405180910390fd5b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815481106110fd576110fc612320565b5b905f5260205f2090600402016003015f9054906101000a900460ff169050919050565b611128611aac565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461118c576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111968282611ab3565b505050565b5f600160055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490501015611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790612537565b60405180910390fd5b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154811061126f5761126e612320565b5b905f5260205f2090600402015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6112ac611eff565b600160055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805490501015611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132790612537565b60405180910390fd5b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154811061137f5761137e612320565b5b905f5260205f2090600402016040518060800160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015f9054906101000a900460ff1615151515815250509050919050565b5f805f1b61142c8161194a565b600160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905010156114b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a790612537565b60405180910390fd5b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548110611500576114ff612320565b5b905f5260205f2090600402016003015f6101000a81548160ff0219169083151502179055506001915050919050565b5f801b61153b8161194a565b8160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b5f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f801b81565b5f805f1b6115f58161194a565b5f60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001915050919050565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b6116ae82610feb565b6116b78161194a565b6116c18383611ab3565b50505050565b6116cf611b9c565b5f801b6116db8161194a565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361176a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611761906125c5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118075760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611801573d5f803e3d5ffd5b506118d5565b5f8290505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611845919061226e565b602060405180830381865afa158015611860573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118849190612361565b90506118d260045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16611be29092919063ffffffff16565b50505b506118de611c61565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61195b81611956611aac565b611c6a565b50565b5f80821161196a575f80fd5b5f8284611977919061263d565b90508091505092915050565b5f808303611993575f90506119bd565b5f82846119a0919061266d565b90508284826119af919061263d565b146119b8575f80fd5b809150505b92915050565b5f6119ce838361157f565b611aa25760015f808581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611a3f611aac565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050611aa6565b5f90505b92915050565b5f33905090565b5f611abe838361157f565b15611b92575f805f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611b2f611aac565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611b96565b5f90505b92915050565b600260015403611bd8576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b611c5c838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401611c15929190611f92565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611cbb565b505050565b60018081905550565b611c74828261157f565b611cb75780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611cae9291906126ae565b60405180910390fd5b5050565b5f611ce5828473ffffffffffffffffffffffffffffffffffffffff16611d5090919063ffffffff16565b90505f815114158015611d09575080806020019051810190611d0791906126ff565b155b15611d4b57826040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401611d42919061226e565b60405180910390fd5b505050565b6060611d5d83835f611d65565b905092915050565b606081471015611dac57306040517fcd786059000000000000000000000000000000000000000000000000000000008152600401611da3919061226e565b60405180910390fd5b5f808573ffffffffffffffffffffffffffffffffffffffff168486604051611dd4919061277c565b5f6040518083038185875af1925050503d805f8114611e0e576040519150601f19603f3d011682016040523d82523d5f602084013e611e13565b606091505b5091509150611e23868383611e2e565b925050509392505050565b606082611e4357611e3e82611ebb565b611eb3565b5f8251148015611e6957505f8473ffffffffffffffffffffffffffffffffffffffff163b145b15611eab57836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401611ea2919061226e565b60405180910390fd5b819050611eb4565b5b9392505050565b5f81511115611ecd5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180608001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f151581525090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f6482611f3b565b9050919050565b611f7481611f5a565b82525050565b5f819050919050565b611f8c81611f7a565b82525050565b5f604082019050611fa55f830185611f6b565b611fb26020830184611f83565b9392505050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ff181611fbd565b8114611ffb575f80fd5b50565b5f8135905061200c81611fe8565b92915050565b5f6020828403121561202757612026611fb9565b5b5f61203484828501611ffe565b91505092915050565b5f8115159050919050565b6120518161203d565b82525050565b5f60208201905061206a5f830184612048565b92915050565b61207981611f5a565b8114612083575f80fd5b50565b5f8135905061209481612070565b92915050565b5f602082840312156120af576120ae611fb9565b5b5f6120bc84828501612086565b91505092915050565b6120ce81611f7a565b81146120d8575f80fd5b50565b5f813590506120e9816120c5565b92915050565b5f805f806080858703121561210757612106611fb9565b5b5f61211487828801612086565b945050602061212587828801612086565b9350506040612136878288016120db565b9250506060612147878288016120db565b91505092959194509250565b5f806040838503121561216957612168611fb9565b5b5f61217685828601612086565b9250506020612187858286016120db565b9150509250929050565b5f6020820190506121a45f830184611f83565b92915050565b5f819050919050565b6121bc816121aa565b81146121c6575f80fd5b50565b5f813590506121d7816121b3565b92915050565b5f602082840312156121f2576121f1611fb9565b5b5f6121ff848285016121c9565b91505092915050565b612211816121aa565b82525050565b5f60208201905061222a5f830184612208565b92915050565b5f806040838503121561224657612245611fb9565b5b5f612253858286016121c9565b925050602061226485828601612086565b9150509250929050565b5f6020820190506122815f830184611f6b565b92915050565b61229081611f5a565b82525050565b61229f81611f7a565b82525050565b6122ae8161203d565b82525050565b608082015f8201516122c85f850182612287565b5060208201516122db6020850182612296565b5060408201516122ee6040850182612296565b50606082015161230160608501826122a5565b50505050565b5f60808201905061231a5f8301846122b4565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061235b816120c5565b92915050565b5f6020828403121561237657612375611fb9565b5b5f6123838482850161234d565b91505092915050565b5f69ffffffffffffffffffff82169050919050565b6123aa8161238c565b81146123b4575f80fd5b50565b5f815190506123c5816123a1565b92915050565b5f819050919050565b6123dd816123cb565b81146123e7575f80fd5b50565b5f815190506123f8816123d4565b92915050565b5f805f805f60a0868803121561241757612416611fb9565b5b5f612424888289016123b7565b9550506020612435888289016123ea565b94505060406124468882890161234d565b93505060606124578882890161234d565b9250506080612468888289016123b7565b9150509295509295909350565b5f82825260208201905092915050565b7f48797068613a20496e76616c69642070726963650000000000000000000000005f82015250565b5f6124b9601483612475565b91506124c482612485565b602082019050919050565b5f6020820190508181035f8301526124e6816124ad565b9050919050565b7f48797068613a20436f696e2070616972206e6f742065786973740000000000005f82015250565b5f612521601a83612475565b915061252c826124ed565b602082019050919050565b5f6020820190508181035f83015261254e81612515565b9050919050565b7f48595048413a204f776e65722063616e6e6f7420636c61696d206e61746976655f8201527f20746f6b656e7300000000000000000000000000000000000000000000000000602082015250565b5f6125af602783612475565b91506125ba82612555565b604082019050919050565b5f6020820190508181035f8301526125dc816125a3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61264782611f7a565b915061265283611f7a565b925082612662576126616125e3565b5b828204905092915050565b5f61267782611f7a565b915061268283611f7a565b925082820261269081611f7a565b915082820484148315176126a7576126a6612610565b5b5092915050565b5f6040820190506126c15f830185611f6b565b6126ce6020830184612208565b9392505050565b6126de8161203d565b81146126e8575f80fd5b50565b5f815190506126f9816126d5565b92915050565b5f6020828403121561271457612713611fb9565b5b5f612721848285016126eb565b91505092915050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f6127568261272a565b6127608185612734565b935061277081856020860161273e565b80840191505092915050565b5f612787828461274c565b91508190509291505056fea2646970667358221220709e28b41cf1afb08180df0f2a26047d48c560df5b62625134c66695cb664a3964736f6c634300081a0033000000000000000000000000e35f88a6fce6ec2a1dc8e7ac146246d6944ae3140000000000000000000000002c23ce6340b5244050a87e31451561f7873d6d58000000000000000000000000b0893d7751e776b4750a114da3fa6860e84dc2b2