12 txs
4k calls
constructor
constructor()
functions
allPairs
viewfunction allPairs(uint256) view returns (address)
allPairsLength
viewfunction allPairsLength() view returns (uint256)
feeTo
viewfunction feeTo() view returns (address)
feeToSetter
viewfunction feeToSetter() view returns (address)
getPair
viewfunction getPair(address, address) view returns (address)
INIT_CODE_HASH
viewfunction INIT_CODE_HASH() view returns (bytes32)
router
viewfunction router() view returns (address)
routerSetter
viewfunction routerSetter() view returns (address)
createPair
nonpayablefunction createPair(address tokenA, address tokenB) returns (address pair)
setFeeTo
nonpayablefunction setFeeTo(address _feeTo)
setFeeToSetter
nonpayablefunction setFeeToSetter(address _feeToSetter)
setRouter
nonpayablefunction setRouter(address _router)
setRouterSetter
nonpayablefunction setRouterSetter(address setter)
events
PairCreated
event PairCreated(address indexed token0, address indexed token1, address pair, uint256)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50600180546001600160a01b0319908116909155600280549091163317905561535b8061003e6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063a2e74af61161008c578063dd5819ad11610066578063dd5819ad146101c3578063e6a43905146101e9578063f46901ed14610217578063f887ea401461023d576100cf565b8063a2e74af614610147578063c0d786551461016f578063c9c6539614610195576100cf565b8063017e7e58146100d4578063094b7415146100f85780631e3dd18b14610100578063257671f51461011d578063461142c314610137578063574f2ba31461013f575b600080fd5b6100dc610245565b604080516001600160a01b039092168252519081900360200190f35b6100dc610254565b6100dc6004803603602081101561011657600080fd5b5035610263565b61012561028a565b60408051918252519081900360200190f35b6100dc61031d565b61012561032c565b61016d6004803603602081101561015d57600080fd5b50356001600160a01b0316610332565b005b61016d6004803603602081101561018557600080fd5b50356001600160a01b03166103aa565b6100dc600480360360408110156101ab57600080fd5b506001600160a01b0381358116916020013516610422565b61016d600480360360208110156101d957600080fd5b50356001600160a01b0316610753565b6100dc600480360360408110156101ff57600080fd5b506001600160a01b03813581169160200135166107cb565b61016d6004803603602081101561022d57600080fd5b50356001600160a01b03166107f1565b6100dc610869565b6000546001600160a01b031681565b6001546001600160a01b031681565b6005818154811061027057fe5b6000918252602090912001546001600160a01b0316905081565b60405161029960208201610878565b6020820181038252601f19601f820116604052506040516020018082805190602001908083835b602083106102df5780518252601f1990920191602091820191016102c0565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012081565b6002546001600160a01b031681565b60055490565b6001546001600160a01b03163314610388576040805162461bcd60e51b8152602060048201526014602482015273283ab6b82b34b9ba309d102327a92124a22222a760611b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b03163314610400576040805162461bcd60e51b8152602060048201526014602482015273283ab6b82b34b9ba309d102327a92124a22222a760611b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000816001600160a01b0316836001600160a01b0316141561048b576040805162461bcd60e51b815260206004820152601e60248201527f50756d7056697374613a204944454e544943414c5f4144445245535345530000604482015290519081900360640190fd5b600080836001600160a01b0316856001600160a01b0316106104ae5783856104b1565b84845b90925090506001600160a01b038216610511576040805162461bcd60e51b815260206004820152601760248201527f50756d7056697374613a205a45524f5f41444452455353000000000000000000604482015290519081900360640190fd5b6001600160a01b03828116600090815260046020908152604080832085851684529091529020541615610584576040805162461bcd60e51b815260206004820152601660248201527550756d7056697374613a20504149525f45584953545360501b604482015290519081900360640190fd5b60606040518060200161059690610878565b6020820181038252601f19601f8201166040525090506000838360405160200180836001600160a01b03166001600160a01b031660601b8152601401826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001209050808251602084016000f56040805163485cc95560e01b81526001600160a01b038781166004830152868116602483015291519297509087169163485cc9559160448082019260009290919082900301818387803b15801561066957600080fd5b505af115801561067d573d6000803e3d6000fd5b505050506001600160a01b0384811660008181526004602081815260408084208987168086529083528185208054978d166001600160a01b031998891681179091559383528185208686528352818520805488168517905560058054600181018255958190527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db090950180549097168417909655925483519283529082015281517f0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9929181900390910190a35050505092915050565b6002546001600160a01b031633146107a9576040805162461bcd60e51b8152602060048201526014602482015273283ab6b82b34b9ba309d102327a92124a22222a760611b604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60046020908152600092835260408084209091529082529020546001600160a01b031681565b6001546001600160a01b03163314610847576040805162461bcd60e51b8152602060048201526014602482015273283ab6b82b34b9ba309d102327a92124a22222a760611b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b614aa080620008878339019056fe68056bc75e2d631000006006556000600a819055600e5560c06040526004608081905263139d5b1b60e21b60a09081526200003e9160139190620001fc565b5060408051808201909152600480825263139d5b1b60e21b60209092019182526200006c91601491620001fc565b5060408051808201909152600480825263139d5b1b60e21b60209092019182526200009a91601591620001fc565b5060408051808201909152600480825263139d5b1b60e21b6020909201918252620000c891601691620001fc565b5060408051808201909152600480825263139d5b1b60e21b6020909201918252620000f691601791620001fc565b506001601e553480156200010957600080fd5b50600180546001600160a01b03191633179055604051469080605262004a4e8239604080519182900360520182208282018252600480845263050554d560e41b6020948501528251808401845260018152603160f81b908501528251808501929092527fb52becac69e92a092ba9c634e265c2030b92097990139d1f4b4dd88e1d090a76828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606083015260808201959095523060a0808301919091528251808303909101815260c0909101909152805191012090915550600780546001600160a01b03191633179055620002a1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023f57805160ff19168380011785556200026f565b828001600101855582156200026f579182015b828111156200026f57825182559160200191906001019062000252565b506200027d92915062000281565b5090565b6200029e91905b808211156200027d576000815560010162000288565b90565b61479d80620002b16000396000f3fe6080604052600436106103b65760003560e01c806370a08231116101f2578063bc25cf771161010d578063d505accf116100a0578063e2a7797e1161006f578063e2a7797e1461111e578063ef70768a14611133578063f079399714611166578063fff6cae91461117b576103b6565b8063d505accf14611012578063dc2dc3f314611070578063dd62ed3e146110ce578063e29eb83614611109576103b6565b8063ccec72fb116100dc578063ccec72fb14610dae578063d170755114610dc3578063d21220a714610dd8578063d2f2ea8a14610ded576103b6565b8063bc25cf7714610d3c578063c45a015514610d6f578063c7b8b46d14610d84578063cc2b765714610d99576103b6565b806395d89b4111610185578063aba8315011610154578063aba8315014610ce8578063abb5ca0914610cfd578063b15be2f514610d12578063ba9a7a5614610d27576103b6565b806395d89b4114610c4a57806396365d4414610c5f578063a82d6d0314610c74578063a9059cbb14610caf576103b6565b80637dd2b0ad116101c15780637dd2b0ad14610bba5780637ecebe0014610bcf57806389afcb4414610c025780638ce7442614610c35576103b6565b806370a0823114610b2a578063727a573c14610b5d5780637464fc3d14610b905780637a91ae7414610ba5576103b6565b8063313ce567116102e25780635a3d549311610275578063666da64f11610244578063666da64f14610ab85780636a62784214610acd5780636dd240a514610b005780636fd3acb414610b15576103b6565b80635a3d549314610a4f5780635cb1ccec14610a6457806361047d3314610a8e57806365008cd614610aa3576103b6565b80633b84e997116102b15780633b84e9971461082f578063434beeaf146109ea578063485cc955146109ff5780635909c0d514610a3a576103b6565b8063313ce567146107db5780633644e515146107f05780633705b39214610805578063371db1331461081a576103b6565b8063095ea7b31161035a57806318160ddd1161032957806318160ddd1461075957806323b872dd1461076e57806325e6f516146107b157806330adf81f146107c6576103b6565b8063095ea7b3146106bb5780630dfe16811461070857806312ed704d1461071d578063163258b214610732576103b6565b8063022c0d9f11610396578063022c0d9f1461054057806302d05d3f146105d757806306fdde03146105ec5780630902f1ac14610676576103b6565b806273010d14610498578062afb325146104c9578063018d0f8d146104f4575b600760009054906101000a90046001600160a01b03166001600160a01b031663f887ea406040518163ffffffff1660e01b815260040160206040518083038186803b15801561040457600080fd5b505afa158015610418573d6000803e3d6000fd5b505050506040513d602081101561042e57600080fd5b50516001600160a01b0316331461047a576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b600d805434908101909155600c80548201905561049690611190565b005b3480156104a457600080fd5b506104ad611210565b604080516001600160a01b039092168252519081900360200190f35b3480156104d557600080fd5b506104de61121f565b6040805160ff9092168252519081900360200190f35b34801561050057600080fd5b506105276004803603602081101561051757600080fd5b50356001600160a01b031661122f565b6040805192835260208301919091528051918290030190f35b34801561054c57600080fd5b506104966004803603608081101561056357600080fd5b8135916020810135916001600160a01b036040830135169190810190608081016060820135600160201b81111561059957600080fd5b8201836020820111156105ab57600080fd5b803590602001918460018302840111600160201b831117156105cc57600080fd5b509092509050611248565b3480156105e357600080fd5b506104ad6117cd565b3480156105f857600080fd5b506106016117dc565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561063b578181015183820152602001610623565b50505050905090810190601f1680156106685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561068257600080fd5b5061068b6117fc565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b3480156106c757600080fd5b506106f4600480360360408110156106de57600080fd5b506001600160a01b038135169060200135611826565b604080519115158252519081900360200190f35b34801561071457600080fd5b506104ad6118f9565b34801561072957600080fd5b506104de611908565b34801561073e57600080fd5b50610747611911565b60408051918252519081900360200190f35b34801561076557600080fd5b50610747611917565b34801561077a57600080fd5b506106f46004803603606081101561079157600080fd5b506001600160a01b0381358116916020810135909116906040013561191d565b3480156107bd57600080fd5b50610601611a72565b3480156107d257600080fd5b50610747611b00565b3480156107e757600080fd5b506104de611b24565b3480156107fc57600080fd5b50610747611b29565b34801561081157600080fd5b506104de611b2f565b34801561082657600080fd5b506104de611b3f565b34801561083b57600080fd5b50610496600480360360a081101561085257600080fd5b810190602081018135600160201b81111561086c57600080fd5b82018360208201111561087e57600080fd5b803590602001918460018302840111600160201b8311171561089f57600080fd5b919390929091602081019035600160201b8111156108bc57600080fd5b8201836020820111156108ce57600080fd5b803590602001918460018302840111600160201b831117156108ef57600080fd5b919390929091602081019035600160201b81111561090c57600080fd5b82018360208201111561091e57600080fd5b803590602001918460018302840111600160201b8311171561093f57600080fd5b919390929091602081019035600160201b81111561095c57600080fd5b82018360208201111561096e57600080fd5b803590602001918460018302840111600160201b8311171561098f57600080fd5b919390929091602081019035600160201b8111156109ac57600080fd5b8201836020820111156109be57600080fd5b803590602001918460018302840111600160201b831117156109df57600080fd5b509092509050611b4f565b3480156109f657600080fd5b50610601611bb3565b348015610a0b57600080fd5b5061049660048036036040811015610a2257600080fd5b506001600160a01b0381358116916020013516611c0e565b348015610a4657600080fd5b50610747611c89565b348015610a5b57600080fd5b50610747611c8f565b348015610a7057600080fd5b5061074760048036036020811015610a8757600080fd5b5035611c95565b348015610a9a57600080fd5b50610747611cb3565b348015610aaf57600080fd5b50610747611d1b565b348015610ac457600080fd5b50610496611d21565b348015610ad957600080fd5b5061074760048036036020811015610af057600080fd5b50356001600160a01b0316611f23565b348015610b0c57600080fd5b506107476122f1565b348015610b2157600080fd5b506104de6122f7565b348015610b3657600080fd5b5061074760048036036020811015610b4d57600080fd5b50356001600160a01b0316612307565b348015610b6957600080fd5b5061049660048036036020811015610b8057600080fd5b50356001600160a01b0316612319565b348015610b9c57600080fd5b50610747612356565b348015610bb157600080fd5b506104de61235c565b348015610bc657600080fd5b506104de61236a565b348015610bdb57600080fd5b5061074760048036036020811015610bf257600080fd5b50356001600160a01b0316612379565b348015610c0e57600080fd5b5061052760048036036020811015610c2557600080fd5b50356001600160a01b031661238b565b348015610c4157600080fd5b506104ad6127ec565b348015610c5657600080fd5b506106016127fb565b348015610c6b57600080fd5b5061074761281e565b348015610c8057600080fd5b5061074760048036036040811015610c9757600080fd5b506001600160a01b0381358116916020013516612824565b348015610cbb57600080fd5b506106f460048036036040811015610cd257600080fd5b506001600160a01b038135169060200135612c9a565b348015610cf457600080fd5b50610601612ca7565b348015610d0957600080fd5b50610601612d02565b348015610d1e57600080fd5b50610496612d5d565b348015610d3357600080fd5b50610747612d8a565b348015610d4857600080fd5b5061049660048036036020811015610d5f57600080fd5b50356001600160a01b0316612d90565b348015610d7b57600080fd5b506104ad612efb565b348015610d9057600080fd5b506104de612f0a565b348015610da557600080fd5b506104de612f1a565b348015610dba57600080fd5b506104ad612f2a565b348015610dcf57600080fd5b50610601612f39565b348015610de457600080fd5b506104ad612f94565b348015610df957600080fd5b50610e02612fa3565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019080838360005b83811015610e4f578181015183820152602001610e37565b50505050905090810190601f168015610e7c5780820380516001836020036101000a031916815260200191505b5086810385528a5181528a516020918201918c019080838360005b83811015610eaf578181015183820152602001610e97565b50505050905090810190601f168015610edc5780820380516001836020036101000a031916815260200191505b5086810384528951815289516020918201918b019080838360005b83811015610f0f578181015183820152602001610ef7565b50505050905090810190601f168015610f3c5780820380516001836020036101000a031916815260200191505b5086810383528851815288516020918201918a019080838360005b83811015610f6f578181015183820152602001610f57565b50505050905090810190601f168015610f9c5780820380516001836020036101000a031916815260200191505b50868103825287518152875160209182019189019080838360005b83811015610fcf578181015183820152602001610fb7565b50505050905090810190601f168015610ffc5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b34801561101e57600080fd5b50610496600480360360e081101561103557600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561329a565b34801561107c57600080fd5b50610747600480360360c081101561109357600080fd5b506001600160a01b03813581169160ff6020820135811692604083013582169260608101358316926080820135169160a09091013516613563565b3480156110da57600080fd5b50610747600480360360408110156110f157600080fd5b506001600160a01b03813581169160200135166139d1565b34801561111557600080fd5b506107476139ee565b34801561112a57600080fd5b506104de6139f4565b34801561113f57600080fd5b506104966004803603602081101561115657600080fd5b50356001600160a01b0316613a04565b34801561117257600080fd5b50610496613b87565b34801561118757600080fd5b50610496613bce565b6018546111c55760186000546006548302816111a857fe5b82546001810184556000938452602090932091900491015561120d565b60186000546006548302816111d657fe5b046018600160188054905003815481106111ec57fe5b60009182526020808320909101548454600181018655948352912091019101555b50565b6010546001600160a01b031681565b600954600160c81b900460ff1681565b6019602052600090815260409020805460019091015482565b601e54600114611293576040805162461bcd60e51b8152602060048201526011602482015270141d5b5c159a5cdd184e881313d0d2d151607a1b604482015290519081900360640190fd5b6000601e55600754604080516303e21fa960e61b815290516001600160a01b039092169163f887ea4091600480820192602092909190829003018186803b1580156112dd57600080fd5b505afa1580156112f1573d6000803e3d6000fd5b505050506040513d602081101561130757600080fd5b50516001600160a01b03163314611353576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b60008511806113625750600084115b61139d5760405162461bcd60e51b81526004018080602001828103825260298152602001806146836029913960400191505060405180910390fd5b6000806113a86117fc565b5091509150816001600160701b0316871080156113cd5750806001600160701b031686105b6114085760405162461bcd60e51b81526004018080602001828103825260218152602001806147486021913960400191505060405180910390fd5b60085460095460009182916001600160a01b039182169190811690891682148015906114465750806001600160a01b0316896001600160a01b031614155b611497576040805162461bcd60e51b815260206004820152601960248201527f50756d705669737461506169723a20494e56414c49445f544f00000000000000604482015290519081900360640190fd5b8a156114a8576114a8828a8d613d30565b89156114b9576114b9818a8c613d30565b861561157457886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561155b57600080fd5b505af115801561156f573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156115ba57600080fd5b505afa1580156115ce573d6000803e3d6000fd5b505050506040513d60208110156115e457600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b15801561163057600080fd5b505afa158015611644573d6000803e3d6000fd5b505050506040513d602081101561165a57600080fd5b5051925060009150506001600160701b0385168a9003831161167d57600061168c565b89856001600160701b03160383035b9050600089856001600160701b03160383116116a95760006116b8565b89856001600160701b03160383035b905060008211806116c95750600081115b6117045760405162461bcd60e51b81526004018080602001828103825260248152602001806146d86024913960400191505060405180910390fd5b601a546001600160701b03808216600160701b90920481169190910216848402101561175b576040805162461bcd60e51b81526020600482015260016024820152604b60f81b604482015290519081900360640190fd5b61176784848888613eca565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001601e55505050505050505050565b6011546001600160a01b031681565b60405180604001604052806004815260200163050554d560e41b81525081565b601a546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b600154604080516303e21fa960e61b815290516000926001600160a01b03169163f887ea40916004808301926020929190829003018186803b15801561186b57600080fd5b505afa15801561187f573d6000803e3d6000fd5b505050506040513d602081101561189557600080fd5b50516001600160a01b038481169116146118e4576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b6118ef338484614099565b5060015b92915050565b6008546001600160a01b031681565b600b5460ff1681565b600a5481565b60005481565b600154604080516303e21fa960e61b815290516000926001600160a01b03169163f887ea40916004808301926020929190829003018186803b15801561196257600080fd5b505afa158015611976573d6000803e3d6000fd5b505050506040513d602081101561198c57600080fd5b50516001600160a01b031633146119d8576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b6001600160a01b038416600090815260036020908152604080832033845290915290205460001914611a5d576001600160a01b0384166000908152600360209081526040808320338452909152902054611a38908363ffffffff6140fb16565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b611a6884848461414b565b5060019392505050565b6015805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015611af85780601f10611acd57610100808354040283529160200191611af8565b820191906000526020600020905b815481529060010190602001808311611adb57829003601f168201915b505050505081565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60045481565b600954600160c01b900460ff1681565b600b546301000000900460ff1681565b6011546001600160a01b03163314611b6657600080fd5b611b7260138b8b6145ea565b50611b7f601489896145ea565b50611b8c601587876145ea565b50611b99601685856145ea565b50611ba6601783836145ea565b5050505050505050505050565b6016805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015611af85780601f10611acd57610100808354040283529160200191611af8565b6007546001600160a01b03163314611c5b576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b600880546001600160a01b039384166001600160a01b03199182161790915560098054929093169116179055565b601b5481565b601c5481565b60188181548110611ca257fe5b600091825260209091200154905081565b601854600090611cc557506000611d18565b60065433600090815260196020526040902060010154601880546000198101908110611ced57fe5b600091825260208083209091015433835260199091526040909120549190030281611d1457fe5b0490505b90565b60125481565b601e54600114611d6c576040805162461bcd60e51b8152602060048201526011602482015270141d5b5c159a5cdd184e881313d0d2d151607a1b604482015290519081900360640190fd5b6000601e55601854611dc5576040805162461bcd60e51b815260206004820152601f60248201527f50756d705669737461506169723a204e6f7468696e6720746f20436c61696d00604482015290519081900360640190fd5b60065433600090815260196020526040812060010154601880549293926000198101908110611df057fe5b600091825260208083209091015433835260199091526040909120549190030281611e1757fe5b60408051808201825233600090815260026020908152929020548152601880549490930494509290830191906000198101908110611e5157fe5b600091825260208083209091015490925233808252601983526040808320855181559490930151600190940193909355600d80548590039055905190919083908381818185875af1925050503d8060008114611ec9576040519150601f19603f3d011682016040523d82523d6000602084013e611ece565b606091505b5050905080611f1a576040805162461bcd60e51b815260206004820152601360248201527204661696c656420746f2073656e642050756d7606c1b604482015290519081900360640190fd5b50506001601e55565b6000601e54600114611f70576040805162461bcd60e51b8152602060048201526011602482015270141d5b5c159a5cdd184e881313d0d2d151607a1b604482015290519081900360640190fd5b6000601e55600754604080516303e21fa960e61b815290516001600160a01b039092169163f887ea4091600480820192602092909190829003018186803b158015611fba57600080fd5b505afa158015611fce573d6000803e3d6000fd5b505050506040513d6020811015611fe457600080fd5b50516001600160a01b03163314612030576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b60008061203b6117fc565b50600854604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b15801561208f57600080fd5b505afa1580156120a3573d6000803e3d6000fd5b505050506040513d60208110156120b957600080fd5b5051600954604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561210c57600080fd5b505afa158015612120573d6000803e3d6000fd5b505050506040513d602081101561213657600080fd5b505190506000612155836001600160701b03871663ffffffff6140fb16565b90506000612172836001600160701b03871663ffffffff6140fb16565b905060006121808787614205565b600054909150806121d1576040805162461bcd60e51b8152602060048201526016602482015275155cd948199a5c9cdd17db5a5b9d081a5b9cdd19585960521b604482015290519081900360640190fd5b61221d6001600160701b0389166121ee868463ffffffff61436316565b816121f557fe5b046001600160701b038916612210868563ffffffff61436316565b8161221757fe5b046143c6565b98506000891161225e5760405162461bcd60e51b815260040180806020018281038252602c8152602001806146ac602c913960400191505060405180910390fd5b6122688a8a6143de565b61227486868a8a613eca565b81156122a457601a546122a0906001600160701b0380821691600160701b90041663ffffffff61436316565b601d555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001601e5550949695505050505050565b600e5481565b600954600160a01b900460ff1681565b60026020526000908152604090205481565b6011546001600160a01b0316331461233057600080fd5b42600e55601080546001600160a01b0319166001600160a01b0392909216919091179055565b601d5481565b600b54610100900460ff1681565b600b5462010000900460ff1681565b60056020526000908152604090205481565b600080601e546001146123d9576040805162461bcd60e51b8152602060048201526011602482015270141d5b5c159a5cdd184e881313d0d2d151607a1b604482015290519081900360640190fd5b6000601e55600754604080516303e21fa960e61b815290516001600160a01b039092169163f887ea4091600480820192602092909190829003018186803b15801561242357600080fd5b505afa158015612437573d6000803e3d6000fd5b505050506040513d602081101561244d57600080fd5b50516001600160a01b03163314612499576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b6000806124a46117fc565b50600854600954604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561250057600080fd5b505afa158015612514573d6000803e3d6000fd5b505050506040513d602081101561252a57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561257857600080fd5b505afa15801561258c573d6000803e3d6000fd5b505050506040513d60208110156125a257600080fd5b5051306000908152600260205260408120549192506125c18888614205565b600054909150806125d8848763ffffffff61436316565b816125df57fe5b049a50806125f3848663ffffffff61436316565b816125fa57fe5b04995060008b11801561260d575060008a115b6126485760405162461bcd60e51b815260040180806020018281038252602c81526020018061471c602c913960400191505060405180910390fd5b6126523084614474565b61265d878d8d613d30565b612668868d8c613d30565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b1580156126ae57600080fd5b505afa1580156126c2573d6000803e3d6000fd5b505050506040513d60208110156126d857600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561272457600080fd5b505afa158015612738573d6000803e3d6000fd5b505050506040513d602081101561274e57600080fd5b5051935061275e85858b8b613eca565b811561278e57601a5461278a906001600160701b0380821691600160701b90041663ffffffff61436316565b601d555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001601e81905550915091565b600f546001600160a01b031681565b60405180604001604052806007815260200166050554d502d4c560cc1b81525081565b600d5481565b6000601e54600114612871576040805162461bcd60e51b8152602060048201526011602482015270141d5b5c159a5cdd184e881313d0d2d151607a1b604482015290519081900360640190fd5b6000601e55600754604080516303e21fa960e61b815290516001600160a01b039092169163f887ea4091600480820192602092909190829003018186803b1580156128bb57600080fd5b505afa1580156128cf573d6000803e3d6000fd5b505050506040513d60208110156128e557600080fd5b50516001600160a01b03163314612931576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b60008061293c6117fc565b50600854604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b15801561299057600080fd5b505afa1580156129a4573d6000803e3d6000fd5b505050506040513d60208110156129ba57600080fd5b5051600954604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015612a0d57600080fd5b505afa158015612a21573d6000803e3d6000fd5b505050506040513d6020811015612a3757600080fd5b505190506000612a56836001600160701b03871663ffffffff6140fb16565b90506000612a73836001600160701b03871663ffffffff6140fb16565b90506000612a818787614205565b6000549091508015612a9257600080fd5b612abc6103e8612ab0612aab878763ffffffff61436316565b614512565b9063ffffffff6140fb16565b9850612acb60006103e86143de565b601180546001600160a01b03199081166001600160a01b038e81169190911790925542601255600f8054909116918c169190911790556009805460ff60c81b1960ff60c01b1960ff60a01b19909216600160a11b1760ff60a81b1916600160a91b1760ff60b01b1916600160b11b1760ff60b81b1916600160b91b17918216600160c01b600160b01b840460ff908116600160a01b909504811694909401600190810185169190910291909117918216600160c81b600160b81b84048516600160a81b9094048516939093019091019092160217905588612bdd5760405162461bcd60e51b815260040180806020018281038252602c8152602001806146ac602c913960400191505060405180910390fd5b60648904808a03612bf061dead826143de565b612c0e73494bdbc7275d21a1bafc83bd1e2e3c5538f00d5e836143de565b612c1a88888c8c613eca565b8315612c4a57601a54612c46906001600160701b0380821691600160701b90041663ffffffff61436316565b601d555b6040805187815260208101879052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001601e5550969998505050505050505050565b60006118ef33848461414b565b6014805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015611af85780601f10611acd57610100808354040283529160200191611af8565b6013805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015611af85780601f10611acd57610100808354040283529160200191611af8565b6011546001600160a01b03163314612d7457600080fd5b601180546001600160a01b03191661dead179055565b6103e881565b601e54600114612ddb576040805162461bcd60e51b8152602060048201526011602482015270141d5b5c159a5cdd184e881313d0d2d151607a1b604482015290519081900360640190fd5b6000601e55600854600954601a54604080516370a0823160e01b815230600482015290516001600160a01b039485169490931692612e8a9285928792612e85926001600160701b03169185916370a0823191602480820192602092909190829003018186803b158015612e4d57600080fd5b505afa158015612e61573d6000803e3d6000fd5b505050506040513d6020811015612e7757600080fd5b50519063ffffffff6140fb16565b613d30565b601a54604080516370a0823160e01b81523060048201529051612ef19284928792612e8592600160701b90046001600160701b0316916001600160a01b038616916370a0823191602480820192602092909190829003018186803b158015612e4d57600080fd5b50506001601e5550565b6007546001600160a01b031681565b600954600160a81b900460ff1681565b600954600160b01b900460ff1681565b600f546001600160a01b031690565b6017805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015611af85780601f10611acd57610100808354040283529160200191611af8565b6009546001600160a01b031681565b606080606080606060136014601560166017848054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561304a5780601f1061301f5761010080835404028352916020019161304a565b820191906000526020600020905b81548152906001019060200180831161302d57829003601f168201915b5050875460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959a50899450925084019050828280156130d85780601f106130ad576101008083540402835291602001916130d8565b820191906000526020600020905b8154815290600101906020018083116130bb57829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959950889450925084019050828280156131665780601f1061313b57610100808354040283529160200191613166565b820191906000526020600020905b81548152906001019060200180831161314957829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959850879450925084019050828280156131f45780601f106131c9576101008083540402835291602001916131f4565b820191906000526020600020905b8154815290600101906020018083116131d757829003601f168201915b5050845460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959750869450925084019050828280156132825780601f1061325757610100808354040283529160200191613282565b820191906000526020600020905b81548152906001019060200180831161326557829003601f168201915b50505050509050945094509450945094509091929394565b428410156132e4576040805162461bcd60e51b8152602060048201526012602482015271141d5b5c159a5cdd184e881156141254915160721b604482015290519081900360640190fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663f887ea406040518163ffffffff1660e01b815260040160206040518083038186803b15801561333257600080fd5b505afa158015613346573d6000803e3d6000fd5b505050506040513d602081101561335c57600080fd5b50516001600160a01b038781169116146133ab576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b6004546001600160a01b0380891660008181526005602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa1580156134c6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906134fc5750886001600160a01b0316816001600160a01b0316145b61354d576040805162461bcd60e51b815260206004820152601c60248201527f50756d7056697374613a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b613558898989614099565b505050505050505050565b6000601e546001146135b0576040805162461bcd60e51b8152602060048201526011602482015270141d5b5c159a5cdd184e881313d0d2d151607a1b604482015290519081900360640190fd5b6000601e55600754604080516303e21fa960e61b815290516001600160a01b039092169163f887ea4091600480820192602092909190829003018186803b1580156135fa57600080fd5b505afa15801561360e573d6000803e3d6000fd5b505050506040513d602081101561362457600080fd5b50516001600160a01b03163314613670576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b60008061367b6117fc565b50600854604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b1580156136cf57600080fd5b505afa1580156136e3573d6000803e3d6000fd5b505050506040513d60208110156136f957600080fd5b5051600954604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561374c57600080fd5b505afa158015613760573d6000803e3d6000fd5b505050506040513d602081101561377657600080fd5b505190506000613795836001600160701b03871663ffffffff6140fb16565b905060006137b2836001600160701b03871663ffffffff6140fb16565b905060006137c08787614205565b60005490915080156137d157600080fd5b6137ea6103e8612ab0612aab878763ffffffff61436316565b98506137f960006103e86143de565b8e601160006101000a8154816001600160a01b0302191690836001600160a01b031602179055504260128190555089600f60006101000a8154816001600160a01b0302191690836001600160a01b031602179055508d600960146101000a81548160ff021916908360ff1602179055508c600960156101000a81548160ff021916908360ff1602179055508b600960166101000a81548160ff021916908360ff1602179055508a600960176101000a81548160ff021916908360ff1602179055508b8e01600101600960186101000a81548160ff021916908360ff1602179055508a8d01600101600960196101000a81548160ff021916908360ff160217905550600089116139395760405162461bcd60e51b815260040180806020018281038252602c8152602001806146ac602c913960400191505060405180910390fd5b6139438f8a6143de565b61394f86868a8a613eca565b811561397f57601a5461397b906001600160701b0380821691600160701b90041663ffffffff61436316565b601d555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001601e5550949b9a5050505050505050505050565b600360209081526000928352604080842090915290825290205481565b600c5481565b600954600160b81b900460ff1681565b600760009054906101000a90046001600160a01b03166001600160a01b031663f887ea406040518163ffffffff1660e01b815260040160206040518083038186803b158015613a5257600080fd5b505afa158015613a66573d6000803e3d6000fd5b505050506040513d6020811015613a7c57600080fd5b50516001600160a01b03163314613ac8576040805162461bcd60e51b815260206004820152601860248201526000805160206146fc833981519152604482015290519081900360640190fd5b601854613b16576040805180820182526001600160a01b038316600081815260026020908152848220548452808401828152928252601990529290922090518155905160019091015561120d565b6040805180820182526001600160a01b0383166000908152600260209081529290205481526018805491928301916000198101908110613b5257fe5b60009182526020808320909101549092526001600160a01b038416815260198252604090208251815591015160019091015550565b600e54613b9357600080fd5b6011546001600160a01b03163314613baa57600080fd5b601054600f80546001600160a01b0319166001600160a01b03909216919091179055565b601e54600114613c19576040805162461bcd60e51b8152602060048201526011602482015270141d5b5c159a5cdd184e881313d0d2d151607a1b604482015290519081900360640190fd5b6000601e55600854604080516370a0823160e01b81523060048201529051613d29926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015613c6a57600080fd5b505afa158015613c7e573d6000803e3d6000fd5b505050506040513d6020811015613c9457600080fd5b5051600954604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015613ce157600080fd5b505afa158015613cf5573d6000803e3d6000fd5b505050506040513d6020811015613d0b57600080fd5b5051601a546001600160701b0380821691600160701b900416613eca565b6001601e55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310613ddd5780518252601f199092019160209182019101613dbe565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613e3f576040519150601f19603f3d011682016040523d82523d6000602084013e613e44565b606091505b5091509150818015613e72575080511580613e725750808060200190516020811015613e6f57600080fd5b50515b613ec3576040805162461bcd60e51b815260206004820152601a60248201527f50756d7056697374613a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6001600160701b038411801590613ee857506001600160701b038311155b613f39576040805162461bcd60e51b815260206004820152601760248201527f50756d705669737461506169723a204f564552464c4f57000000000000000000604482015290519081900360640190fd5b601a5463ffffffff42811691600160e01b90048116820390811615801590613f6957506001600160701b03841615155b8015613f7d57506001600160701b03831615155b15613fee578063ffffffff16613fab85613f9686614564565b6001600160e01b03169063ffffffff61457616565b601b80546001600160e01b03929092169290920201905563ffffffff8116613fd684613f9687614564565b601c80546001600160e01b0392909216929092020190555b601a80546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b808203828111156118f3576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160a01b038316600090815260026020526040902054614174908263ffffffff6140fb16565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546141a9908263ffffffff61459b16565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600760009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561425657600080fd5b505afa15801561426a573d6000803e3d6000fd5b505050506040513d602081101561428057600080fd5b5051601d546001600160a01b03821615801594509192509061434f57801561434a5760006142c3612aab6001600160701b0388811690881663ffffffff61436316565b905060006142d083614512565b9050808211156143475760006142fe6142ef848463ffffffff6140fb16565b6000549063ffffffff61436316565b905060006143238361431786600563ffffffff61436316565b9063ffffffff61459b16565b9050600081838161433057fe5b04905080156143435761434387826143de565b5050505b50505b61435b565b801561435b576000601d555b505092915050565b600081158061437e5750508082028282828161437b57fe5b04145b6118f3576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b60008183106143d557816143d7565b825b9392505050565b6000546143f1908263ffffffff61459b16565b60009081556001600160a01b03831681526002602052604090205461441c908263ffffffff61459b16565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03821660009081526002602052604090205461449d908263ffffffff6140fb16565b6001600160a01b038316600090815260026020526040812091909155546144ca908263ffffffff6140fb16565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b60006003821115614555575080600160028204015b8181101561454f5780915060028182858161453e57fe5b04018161454757fe5b049050614527565b5061455f565b811561455f575060015b919050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161459357fe5b049392505050565b808201828110156118f3576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061462b5782800160ff19823516178555614658565b82800160010185558215614658579182015b8281111561465857823582559160200191906001019061463d565b50614664929150614668565b5090565b611d1891905b80821115614664576000815560010161466e56fe50756d705669737461506169723a20494e53554646494349454e545f4f55545055545f414d4f554e5450756d705669737461506169723a20494e53554646494349454e545f4c49515549444954595f4d494e54454450756d7056697374613a20494e53554646494349454e545f494e5055545f414d4f554e5450756d705669737461506169723a20464f5242494444454e000000000000000050756d705669737461506169723a20494e53554646494349454e545f4c49515549444954595f4255524e454450756d7056697374613a20494e53554646494349454e545f4c4951554944495459a265627a7a72315820222158ad63d03f6cb728b03525bb0662a2eddaf2de202394f99cdbba1813595e64736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429a265627a7a72315820231173f81aee17f3c7cde4d8cf6ab9707ff0fa49b0c54d92bfd276630c11d64a64736f6c63430005100032