Loading
[ { "inputs": [ { "internalType": "address", "name": "_swapTokenAddress_", "type": "address" }, { "internalType": "string", "name": "_name_", "type": "string" }, { "internalType": "string", "name": "_symbol_", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": "bytes32", "name": "partition", "type": "bytes32" }, { "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": "ApprovalByPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "AuthorizedOperator", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "AuthorizedOperatorByPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "fromPartition", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "toPartition", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "ChangedPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "collateralManager", "type": "address" } ], "name": "CollateralManagerRegistered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "Minted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldValue", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newValue", "type": "address" } ], "name": "OwnerUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "authorizedAddress", "type": "address" } ], "name": "OwnershipTransferAuthorization", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bytes4", "name": "flag", "type": "bytes4" }, { "indexed": false, "internalType": "string", "name": "name", "type": "string" }, { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "PartitionStrategySet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "RevokedOperator", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "partition", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "tokenHolder", "type": "address" } ], "name": "RevokedOperatorByPartition", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Swap", "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": "bytes32", "name": "fromPartition", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, "internalType": "bytes", "name": "operatorData", "type": "bytes" } ], "name": "TransferByPartition", "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": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "name": "allowanceByPartition", "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": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "approveByPartition", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "assumeOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_operator", "type": "address" } ], "name": "authorizeOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_operator", "type": "address" } ], "name": "authorizeOperatorByPartition", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_authorizedAddress", "type": "address" } ], "name": "authorizeOwnershipTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "authorizedNewOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenHolder", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_tokenHolder", "type": "address" } ], "name": "balanceOfByPartition", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_interfaceHash", "type": "bytes32" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "canImplementInterfaceForAddress", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "collateralManagers", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_subtractedValue", "type": "uint256" } ], "name": "decreaseAllowanceByPartition", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "defaultPartition", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "granularity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_addedValue", "type": "uint256" } ], "name": "increaseAllowanceByPartition", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_collateralManager", "type": "address" } ], "name": "isCollateralManager", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_operator", "type": "address" }, { "internalType": "address", "name": "_tokenHolder", "type": "address" } ], "name": "isOperator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_operator", "type": "address" }, { "internalType": "address", "name": "_collateralManager", "type": "address" } ], "name": "isOperatorForCollateralManager", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_operator", "type": "address" }, { "internalType": "address", "name": "_tokenHolder", "type": "address" } ], "name": "isOperatorForPartition", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "_prefix", "type": "bytes4" } ], "name": "isPartitionStrategy", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "partitionStrategies", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenHolder", "type": "address" } ], "name": "partitionsOf", "outputs": [ { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "registerCollateralManager", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_operator", "type": "address" } ], "name": "revokeOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_operator", "type": "address" } ], "name": "revokeOperatorByPartition", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "_prefix", "type": "bytes4" }, { "internalType": "address", "name": "_implementation", "type": "address" } ], "name": "setPartitionStrategy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" } ], "name": "swap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapToken", "outputs": [ { "internalType": "contract ISwapToken", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokenGraveyard", "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": "totalPartitions", "outputs": [ { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "totalSupplyByPartition", "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": "bytes32", "name": "_partition", "type": "bytes32" }, { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" }, { "internalType": "bytes", "name": "_operatorData", "type": "bytes" } ], "name": "transferByPartition", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "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" } ]
60c06040526002608081905261035360f41b60a09081526200002591600191906200080e565b5060408051808201909152600280825261353160f01b60209092019182526200004f91816200080e565b50604080518082019091526002808252611a9960f11b60209092019182526200007b916003916200080e565b5060408051808201909152600280825261353360f01b6020909201918252620000a7916004916200080e565b50604080518082019091526002808252611a9b60f11b6020909201918252620000d3916005916200080e565b5060408051808201909152600280825261353760f01b6020909201918252620000ff916006916200080e565b506040805180820190915260028082526106a760f31b60209092019182526200012b916007916200080e565b5060408051808201909152600280825261353960f01b602090920191825262000157916008916200080e565b5060408051808201909152600280825261354160f01b602090920191825262000183916009916200080e565b50604080518082019091526002808252611aa160f11b6020909201918252620001af91600a916200080e565b5060408051808201909152600280825261354360f01b6020909201918252620001db91600b916200080e565b50604080518082019091526002808252610d5160f21b60209092019182526200020791600c916200080e565b5060408051808201909152600280825261354560f01b60209092019182526200023391600d916200080e565b50604080518082019091526002808252611aa360f11b60209092019182526200025f91600e916200080e565b5060408051808201909152600280825261036360f41b60209092019182526200028b91600f916200080e565b503480156200029957600080fd5b5060405162003f2338038062003f2383398181016040526060811015620002bf57600080fd5b815160208301805160405192949293830192919084640100000000821115620002e757600080fd5b908301906020820185811115620002fd57600080fd5b82516401000000008111828201881017156200031857600080fd5b82525081516020918201929091019080838360005b83811015620003475781810151838201526020016200032d565b50505050905090810190601f168015620003755780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200039957600080fd5b908301906020820185811115620003af57600080fd5b8251640100000000811182820188101715620003ca57600080fd5b82525081516020918201929091019080838360005b83811015620003f9578181015183820152602001620003df565b50505050905090810190601f168015620004275780820380516001836020036101000a031916815260200191505b506040525050601080546001600160a01b031916331790555060096001600160a01b038416620004ee5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015620004df5780601f10620004b357610100808354040283529160200191620004df565b820191906000526020600020905b815481529060010190602001808311620004c157829003601f168201915b50509250505060405180910390fd5b50602380546001600160a01b0319166001600160a01b03851617905581516200051f9060129060208501906200080e565b508051620005359060139060208401906200080e565b506000601481905562000551906001600160e01b036200063816565b620005886040518060400160405280600881526020016720b6b82a37b5b2b760c11b815250306200067a60201b62001b2c1760201c565b620005c16040518060400160405280600a81526020016922a92199182a37b5b2b760b11b815250306200067a60201b62001b2c1760201c565b620005f76040518060400160405280600881526020016720b6b82a37b5b2b760c11b8152506200077160201b62001c1f1760201c565b6200062f6040518060400160405280600a81526020016922a92199182a37b5b2b760b11b8152506200077160201b62001c1f1760201c565b505050620008b3565b601680546001810182557fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289018290555460009182526017602052604090912055565b6000826040516020018082805190602001908083835b60208310620006b15780518252601f19909201916020918201910162000690565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f19018352808552825192909101919091206329965a1d60e01b8252306004830152602482018190526001600160a01b03881660448301529251929550731820a4b7618bde71dce8cdc73aab6c95905fad2494506329965a1d9350606480820193600093509182900301818387803b1580156200075357600080fd5b505af115801562000768573d6000803e3d6000fd5b50505050505050565b6001600080836040516020018082805190602001908083835b60208310620007ab5780518252601f1990920191602091820191016200078a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200085157805160ff191683800117855562000881565b8280016001018555821562000881579182015b828111156200088157825182559160200191906001019062000864565b506200088f92915062000893565b5090565b620008b091905b808211156200088f57600081556001016200089a565b90565b61366080620008c36000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c8063740ab8f411610151578063a2c1cae2116100c3578063b9d7b47111610087578063b9d7b4711461090f578063c2f89a5114610917578063dc73e49c14610949578063dd62ed3e14610951578063e30834e01461097f578063fad8b32a146109b557610269565b8063a2c1cae21461084d578063a457c2d714610855578063a9059cbb14610881578063aeb72e70146108ad578063b6363cf2146108e157610269565b80638da5cb5b116101155780638da5cb5b146107cb578063900ff16d146107d3578063959b8c3f146107fa57806395d89b4114610820578063a0cf6b8414610828578063a26734dc1461083057610269565b8063740ab8f41461072057806375deca02146107465780637e3a262d14610780578063814435af1461078857806387f4427e146107a557610269565b80632036a94d116101ea57806339509351116101ae57806339509351146106165780635481eed314610642578063556f0dc71461066657806369598efe1461066e5780636d77cad6146106c657806370a08231146106fa57610269565b80632036a94d1461048357806323b872dd1461056a578063249cb3fa146105a057806330e82803146105cc578063313ce567146105f857610269565b806314d1e62f1161023157806314d1e62f146103a5578063168ecec5146103d757806317ec83ca1461040357806318160ddd146104495780631ff6442e1461045157610269565b806303438dd01461026e57806306fdde0314610296578063095ea7b3146103135780630e0e923b14610353578063103ef9e114610379575b600080fd5b6102946004803603602081101561028457600080fd5b50356001600160a01b03166109db565b005b61029e610c41565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102d85781810151838201526020016102c0565b50505050905090810190601f1680156103055780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61033f6004803603604081101561032957600080fd5b506001600160a01b038135169060200135610cd7565b604080519115158252519081900360200190f35b61033f6004803603602081101561036957600080fd5b50356001600160a01b0316610cef565b6102946004803603604081101561038f57600080fd5b50803590602001356001600160a01b0316610d0c565b61033f600480360360608110156103bb57600080fd5b508035906001600160a01b036020820135169060400135610de3565b610294600480360360408110156103ed57600080fd5b50803590602001356001600160a01b0316610dfc565b6104376004803603606081101561041957600080fd5b508035906001600160a01b0360208201358116916040013516610ed0565b60408051918252519081900360200190f35b610437610f00565b61033f6004803603606081101561046757600080fd5b508035906001600160a01b036020820135169060400135610f06565b610437600480360360c081101561049957600080fd5b8135916001600160a01b03602082013581169260408301359091169160608101359181019060a0810160808201356401000000008111156104d957600080fd5b8201836020820111156104eb57600080fd5b8035906020019184600183028401116401000000008311171561050d57600080fd5b91939092909160208101903564010000000081111561052b57600080fd5b82018360208201111561053d57600080fd5b8035906020019184600183028401116401000000008311171561055f57600080fd5b509092509050610f50565b61033f6004803603606081101561058057600080fd5b506001600160a01b03813581169160208101359091169060400135610fd7565b610437600480360360408110156105b657600080fd5b50803590602001356001600160a01b0316610ff5565b610437600480360360408110156105e257600080fd5b50803590602001356001600160a01b0316611059565b61060061107e565b6040805160ff9092168252519081900360200190f35b61033f6004803603604081101561062c57600080fd5b506001600160a01b038135169060200135611083565b61064a6110e1565b604080516001600160a01b039092168252519081900360200190f35b6104376110f0565b6106766110f5565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156106b257818101518382015260200161069a565b505050509050019250505060405180910390f35b61033f600480360360608110156106dc57600080fd5b508035906001600160a01b036020820135811691604001351661114c565b6104376004803603602081101561071057600080fd5b50356001600160a01b0316611161565b6106766004803603602081101561073657600080fd5b50356001600160a01b031661117c565b6107636004803603602081101561075c57600080fd5b50356111e8565b604080516001600160e01b03199092168252519081900360200190f35b61043761121c565b61064a6004803603602081101561079e57600080fd5b5035611221565b610294600480360360208110156107bb57600080fd5b50356001600160a01b0316611248565b61064a6112e8565b61033f600480360360208110156107e957600080fd5b50356001600160e01b0319166112f7565b6102946004803603602081101561081057600080fd5b50356001600160a01b0316611316565b61029e6113e1565b61064a611442565b6104376004803603602081101561084657600080fd5b5035611448565b61029461145a565b61033f6004803603604081101561086b57600080fd5b506001600160a01b03813516906020013561150a565b61033f6004803603604081101561089757600080fd5b506001600160a01b038135169060200135611568565b61033f600480360360608110156108c357600080fd5b508035906001600160a01b0360208201358116916040013516611586565b61033f600480360360408110156108f757600080fd5b506001600160a01b03813581169160200135166115ef565b6102946115fb565b61033f6004803603606081101561092d57600080fd5b508035906001600160a01b036020820135169060400135611705565b61064a61174a565b6104376004803603604081101561096757600080fd5b506001600160a01b0381358116916020013516611759565b6102946004803603604081101561099557600080fd5b5080356001600160e01b03191690602001356001600160a01b03166117a3565b610294600480360360208110156109cb57600080fd5b50356001600160a01b0316611a64565b60235460408051636eb1769f60e11b81526001600160a01b0384811660048301523060248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610a3257600080fd5b505afa158015610a46573d6000803e3d6000fd5b505050506040513d6020811015610a5c57600080fd5b50519050600481610b005760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b820191906000526020600020905b815481529060010190602001808311610ad457829003601f168201915b50509250505060405180910390fd5b50602354604080516323b872dd60e01b81526001600160a01b03858116600483015261dead602483015260448201859052915191909216916323b872dd9160648083019260209291908290030181600087803b158015610b5f57600080fd5b505af1158015610b73573d6000803e3d6000fd5b505050506040513d6020811015610b8957600080fd5b5051600f90610bf15760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b50610bfd338383611cba565b6040805182815290516001600160a01b0384169133917fea368a40e9570069bb8e6511d668293ad2e1f03b0d982431fd223de9f3b70ca69181900360200190a35050565b60128054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610ccd5780601f10610ca257610100808354040283529160200191610ccd565b820191906000526020600020905b815481529060010190602001808311610cb057829003601f168201915b5050505050905090565b6000610ce581338585611e7d565b5060015b92915050565b6001600160a01b0316600090815260208052604090205460ff1690565b60076001600160a01b038216331415610d7e5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b50336000818152601e6020908152604080832086845282528083206001600160a01b0386168085529252808320805460ff1916600117905551909185917f3646a897c70797ecc134b0adc32f471b07bf1d6f451133b0384badab531e3fd69190a45050565b6000610df184338585611e7d565b5060015b9392505050565b60076001600160a01b038216331415610e6e5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b50336000818152601e6020908152604080832086845282528083206001600160a01b0386168085529252808320805460ff1916905551909185917f3b287c4f1bab4df949b33bceacef984f544dc5d5479930d00e4ee8c9d8dd96f29190a45050565b6000928352601d602090815260408085206001600160a01b03948516865282528085209290931684525290205490565b60145490565b6000838152601d60209081526040808320338085529083528184206001600160a01b0387168552909252822054610df19186918690610f4b908763ffffffff61201f16565b611e7d565b6000610fca89338a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b908190840183828082843760009201919091525061206192505050565b9998505050505050505050565b6000610df13385858560405180602001604052806000815250612508565b60008281526020819052604081205460ff161561105157604051602001808073455243313832305f4143434550545f4d4147494360601b8152506014019050604051602081830303815290604052805190602001209050610ce9565b506000610ce9565b6001600160a01b03166000908152601b60209081526040808320938352929052205490565b601290565b3360008181527f0a51588b1664495f089dd83d2d26f247920f94a57a4a09f20cf068efc8f82bd4602090815260408083206001600160a01b03871684529091528120549091610ce5918391908690610f4b908763ffffffff61253116565b6011546001600160a01b031690565b600190565b60606016805480602002602001604051908101604052809291908181526020018280548015610ccd57602002820191906000526020600020905b81548152602001906001019080831161112f575050505050905090565b600061115984848461258b565b949350505050565b6001600160a01b031660009081526015602052604090205490565b6001600160a01b0381166000908152601960209081526040918290208054835181840281018401909452808452606093928301828280156111dc57602002820191906000526020600020905b8154815260200190600101908083116111c8575b50505050509050919050565b602181815481106111f557fe5b9060005260206000209060089182820401919006600402915054906101000a900460e01b81565b600081565b601f818154811061122e57fe5b6000918252602090912001546001600160a01b0316905081565b6010546001600160a01b03163314611298576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b73232b960911b604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fb58bcc286020502f4931905baafed22acc969c092ed724234c73361efc68839090600090a250565b6010546001600160a01b031690565b6001600160e01b03191660009081526022602052604090205460ff1690565b60076001600160a01b0382163314156113885760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b50336000818152601c602090815260408083206001600160a01b0386168085529252808320805460ff191660011790555190917ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f991a350565b60138054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610ccd5780601f10610ca257610100808354040283529160200191610ccd565b61dead81565b60186020526000908152604090205481565b6011546001600160a01b031633146114aa576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b73232b960911b604482015290519081900360640190fd5b60108054601180546001600160a01b03198084166001600160a01b038381169190911795869055911690915560405191811692169082907f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a90600090a350565b3360008181527f0a51588b1664495f089dd83d2d26f247920f94a57a4a09f20cf068efc8f82bd4602090815260408083206001600160a01b03871684529091528120549091610ce5918391908690610f4b908763ffffffff61201f16565b6000610ce53333858560405180602001604052806000815250612508565b6001600160a01b038116600090815260208052604081205460ff16801561115957506115b283836125e0565b806111595750506001600160a01b039081166000908152601e60209081526040808320958352948152848220939092168152919052205460ff1690565b6000610df583836125e0565b336000908152602080526040902054600b9060ff16156116745760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b50601f805460018181019092557fa03837a25210ee280c2113ff4b77ca23440b19d4866cca721c801278fd08d8070180546001600160a01b0319163390811790915560008181526020808052604091829020805460ff19169094179093558051918252517f2d9629b61129967906b4b31b246507fe09b2b62e2c963a3b9e4d1aff6d4af75b929181900390910190a1565b6000838152601d60209081526040808320338085529083528184206001600160a01b0387168552909252822054610df19186918690610f4b908763ffffffff61253116565b6023546001600160a01b031681565b6001600160a01b0391821660009081527f0a51588b1664495f089dd83d2d26f247920f94a57a4a09f20cf068efc8f82bd46020908152604080832093909416825291909152205490565b6117ab6112e8565b6001600160a01b0316336001600160a01b0316146005906118255760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b506001600160e01b03198216600090815260226020526040902054600d9060ff16156118aa5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b50600e6001600160e01b0319831661191b5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b5060606119278361262d565b90506119338183611b2c565b6021805460018082019092557f3a6357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b5706008820401805463ffffffff60079093166004026101000a928302191660e087901c929092029190911790556001600160e01b031984166000818152602260209081526040808320805460ff1916909517909455835192835282810184815285519484019490945284516001600160a01b038716947fb1c6e929e0b0638c228622a32f1f2fb3375541d8faa4a0176173b50b4bfc75ea9489948894919360608501928601918190849084905b83811015611a24578181015183820152602001611a0c565b50505050905090810190601f168015611a515780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2505050565b60076001600160a01b038216331415611ad65760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b50336000818152601c602090815260408083206001600160a01b0386168085529252808320805460ff191690555190917f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa191a350565b6000826040516020018082805190602001908083835b60208310611b615780518252601f199092019160209182019101611b42565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f19018352808552825192909101919091206329965a1d60e01b8252306004830152602482018190526001600160a01b03881660448301529251929550731820a4b7618bde71dce8cdc73aab6c95905fad2494506329965a1d9350606480820193600093509182900301818387803b158015611c0257600080fd5b505af1158015611c16573d6000803e3d6000fd5b50505050505050565b6001600080836040516020018082805190602001908083835b60208310611c575780518252601f199092019160209182019101611c38565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60066001600160a01b038316611d295760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b50601454611d3d908263ffffffff61253116565b601455611d4c8260008361267d565b611d7d6000801b846000858560405180602001604052806000815250604051806020016040528060008152506127c7565b604080518281526020810182905260008183015290516001600160a01b0380851692908616917fbcd28e05e57d4bcd5bfcc92a4661d412893e6112c44a2e25d96cfdfc30d5f22e9181900360800190a36040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3604080516001600160a01b038581168252602082018490526080828401819052600090830181905260c06060840181905283018190529251908516929182917fff4e9a26af4eb73b8bacfaa4abd4fea03d9448e7b912dc5ff4019048875aa2d4918190036101000190a4505050565b60056001600160a01b038416611eec5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b5060076001600160a01b038316611f5c5760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b506000848152601d602090815260408083206001600160a01b038088168086529184528285209087168086529084529382902085905581518581529151909288927ff061499aa77c2f6f5e25e34955a06623705344a88256cc861a121ec0bce5cfec929081900390910190a48361201957816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b50505050565b6000610df583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c43565b600060066001600160a01b0386166120d25760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b50866001600160a01b0316866001600160a01b03161461226b576120f788888861258b565b8061213057506000888152601d602090815260408083206001600160a01b03808b168552908352818420908b1684529091529020548411155b6004906121965760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b506000888152601d602090815260408083206001600160a01b03808b168552908352818420908b168452909152902054841161223b576000888152601d602090815260408083206001600160a01b03808b168552908352818420908b16845290915290205461220b908563ffffffff61201f16565b6000898152601d602090815260408083206001600160a01b038b168452825280832033845290915290205561226b565b6000888152601d602090815260408083206001600160a01b03808b168552908352818420908b1684529091528120555b61227a88888888888888612cda565b6001600160a01b0386166000908152601b602090815260408083208b84529091529020546003908511156123075760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b506000612314848a6130d6565b9050612321878a8761312b565b61232c86828761267d565b61233b818989898989896127c7565b856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3856001600160a01b0316876001600160a01b03168a7fff4e9a26af4eb73b8bacfaa4abd4fea03d9448e7b912dc5ff4019048875aa2d48b89898960405180856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561241f578181015183820152602001612407565b50505050905090810190601f16801561244c5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561247f578181015183820152602001612467565b50505050905090810190601f1680156124ac5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a48881146124fc5760408051868152905182918b917f67c8ba31d2dd11f1384577b3405b04ed91eed1231e408432ad2458cab37b2fa19181900360200190a35b98975050505050505050565b6125296000801b868686868660405180602001604052806000815250612061565b505050505050565b600082820183811015610df5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061259783836125e0565b806125cf57506001600160a01b038083166000908152601e6020908152604080832088845282528083209387168352929052205460ff165b806111595750611159848484613347565b6000816001600160a01b0316836001600160a01b03161480610df55750506001600160a01b039081166000908152601c602090815260408083209490931682529290925290205460ff1690565b604080517f416d70506172746974696f6e537472617465677956616c696461746f7200000060208201526001600160e01b031992909216603d830152805180830360210181526041909201905290565b80612687576127c2565b6001600160a01b0383166000908152601560205260409020546126b0908263ffffffff61253116565b6001600160a01b038416600090815260156020908152604080832093909355601a815282822085835290522054612725576001600160a01b03831660008181526019602090815260408083208054600181018255818552838520018790559383529254601a8252838320868452909152919020555b6001600160a01b0383166000908152601b60209081526040808320858452909152902054612759908263ffffffff61253116565b6001600160a01b0384166000908152601b60209081526040808320868452825280832093909355601790522054612793576127938261343c565b6000828152601860205260409020546127b2908263ffffffff61253116565b6000838152601860205260409020555b505050565b60006127d28861347e565b6001600160e01b0319811660009081526022602052604090205490915060ff16156129d057600061280b306128068461262d565b613481565b90506001600160a01b038116156129ca57806001600160a01b031663b3c46f426000356001600160e01b0319168b8b8b8b8b8b8b6040518963ffffffff1660e01b815260040180896001600160e01b0319166001600160e01b0319168152602001888152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156128fd5781810151838201526020016128e5565b50505050905090810190601f16801561292a5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561295d578181015183820152602001612945565b50505050905090810190601f16801561298a5780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b1580156129b157600080fd5b505af11580156129c5573d6000803e3d6000fd5b505050505b50612a43565b600c6001600160e01b0319821615612a415760405162461bcd60e51b8152602060048201908152825460026000196101006001841615020190911604602483018190529091829160449091019084908015610af15780601f10610ac657610100808354040283529160200191610af1565b505b6000612a798660405180604001604052806012815260200171105b5c151bdad95b9cd49958da5c1a595b9d60721b815250613481565b90506001600160a01b03811615612c3857806001600160a01b0316638240ef486000356001600160e01b0319168b8b8b8b8b8b8b6040518963ffffffff1660e01b815260040180896001600160e01b0319166001600160e01b0319168152602001888152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612b6b578181015183820152602001612b53565b50505050905090810190601f168015612b985780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612bcb578181015183820152602001612bb3565b50505050905090810190601f168015612bf85780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b158015612c1f57600080fd5b505af1158015612c33573d6000803e3d6000fd5b505050505b505050505050505050565b60008184841115612cd25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c97578181015183820152602001612c7f565b50505050905090810190601f168015612cc45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000612d0d866040518060400160405280600f81526020016e20b6b82a37b5b2b739a9b2b73232b960891b815250613481565b90506001600160a01b03811615612ecc57806001600160a01b031663ec3bb2886000356001600160e01b0319168a8a8a8a8a8a8a6040518963ffffffff1660e01b815260040180896001600160e01b0319166001600160e01b0319168152602001888152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612dff578181015183820152602001612de7565b50505050905090810190601f168015612e2c5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612e5f578181015183820152602001612e47565b50505050905090810190601f168015612e8c5780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b158015612eb357600080fd5b505af1158015612ec7573d6000803e3d6000fd5b505050505b6000612ed78961347e565b6001600160e01b0319811660009081526022602052604090205490915060ff1615612c38576000612f0b306128068461262d565b90506001600160a01b038116156130ca57806001600160a01b031663dc86ad7a6000356001600160e01b0319168c8c8c8c8c8c8c6040518963ffffffff1660e01b815260040180896001600160e01b0319166001600160e01b0319168152602001888152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612ffd578181015183820152602001612fe5565b50505050905090810190601f16801561302a5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561305d578181015183820152602001613045565b50505050905090810190601f16801561308a5780820380516001836020036101000a031916815260200191505b509a5050505050505050505050600060405180830381600087803b1580156130b157600080fd5b505af11580156130c5573d6000803e3d6000fd5b505050505b50505050505050505050565b60006040835110156130e9575080610ce9565b60008084806020019051604081101561310157600080fd5b5080516020909101519092509050600019821415613122579150610ce99050565b50919392505050565b80613135576127c2565b6001600160a01b03831660009081526015602052604090205461315e908263ffffffff61201f16565b6001600160a01b038416600090815260156020908152604080832093909355601b81528282208583529052205461319b908263ffffffff61201f16565b6001600160a01b0384166000908152601b602090815260408083208684528252808320939093556018905220546131d8908263ffffffff61201f16565b60008381526018602052604090208190551580156131f557508115155b156132035761320382613584565b6001600160a01b0383166000908152601b602090815260408083208584529091529020546127c2576001600160a01b0383166000908152601a602090815260408083208584529091529020548061325a57506127c2565b6001600160a01b03841660009081526019602052604081208054600019810190811061328257fe5b906000526020600020015490508060196000876001600160a01b03166001600160a01b0316815260200190815260200160002060018403815481106132c357fe5b60009182526020808320909101929092556001600160a01b038716808252601a83526040808320858452845280832086905590825260199092522080548061330757fe5b6000828152602080822083016000199081018390559092019092556001600160a01b0387168252601a815260408083208784529091528120555050505050565b6000806133538561347e565b6001600160e01b0319811660009081526022602052604090205490915060ff16613381576000915050610df5565b6000613390306128068461262d565b90506001600160a01b038116156134305760408051633f0413df60e01b8152600481018890526001600160a01b0387811660248301528681166044830152915191831691633f0413df91606480820192602092909190829003018186803b1580156133fa57600080fd5b505afa15801561340e573d6000803e3d6000fd5b505050506040513d602081101561342457600080fd5b50519250610df5915050565b50600095945050505050565b601680546001810182557fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289018290555460009182526017602052604090912055565b90565b600080826040516020018082805190602001908083835b602083106134b75780518252601f199092019160209182019101613498565b51815160209384036101000a60001901801990921691161790526040805192909401828103601f1901835280855282519282019290922063555ddc6560e11b83526001600160a01b038b166004840152602483018190529351939650731820a4b7618bde71dce8cdc73aab6c95905fad24955063aabbb8ca94506044808301949193509091829003018186803b15801561355057600080fd5b505afa158015613564573d6000803e3d6000fd5b505050506040513d602081101561357a57600080fd5b5051949350505050565b6000818152601760205260409020548061359e5750613627565b601680546000919060001981019081106135b457fe5b9060005260206000200154905080601660018403815481106135d257fe5b600091825260208083209091019290925582815260179091526040902082905560168054806135fd57fe5b60008281526020808220830160001990810183905590920190925584825260179052604081205550505b5056fea264697066735822122046f1197cc0a6e3d6399ed22c3480b4059302d3180614e1c23cf41dc5ac02219764736f6c634300060a00330000000000000000000000004a57e687b9126435a9b19e4a802113e266adebde000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003416d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003414d500000000000000000000000000000000000000000000000000000000000
0xa264697066735822122046f1197cc0a6e3d6399ed22c3480b4059302d3180614e1c23cf41dc5ac02219764736f6c634300060a00330000000000000000000000004a57e687b9126435a9b19e4a802113e266adebde000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000003416d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003414d500000000000000000000000000000000000000000000000000000000000