org.bcos.contract.source.FileServerManager Maven / Gradle / Ivy
package org.bcos.contract.source;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.Future;
import org.bcos.channel.client.TransactionSucCallback;
import org.bcos.web3j.abi.EventEncoder;
import org.bcos.web3j.abi.EventValues;
import org.bcos.web3j.abi.TypeReference;
import org.bcos.web3j.abi.datatypes.Address;
import org.bcos.web3j.abi.datatypes.Event;
import org.bcos.web3j.abi.datatypes.Function;
import org.bcos.web3j.abi.datatypes.Type;
import org.bcos.web3j.abi.datatypes.Utf8String;
import org.bcos.web3j.abi.datatypes.generated.Int256;
import org.bcos.web3j.abi.datatypes.generated.Uint256;
import org.bcos.web3j.crypto.Credentials;
import org.bcos.web3j.crypto.EncryptType;
import org.bcos.web3j.protocol.Web3j;
import org.bcos.web3j.protocol.core.DefaultBlockParameter;
import org.bcos.web3j.protocol.core.methods.request.EthFilter;
import org.bcos.web3j.protocol.core.methods.response.Log;
import org.bcos.web3j.protocol.core.methods.response.TransactionReceipt;
import org.bcos.web3j.tx.Contract;
import org.bcos.web3j.tx.TransactionManager;
import rx.Observable;
import rx.functions.Func1;
/**
* Auto generated code.
* Do not modify!
* Please use the web3j command line tools, or {@link org.bcos.web3j.codegen.SolidityFunctionWrapperGenerator} to update.
*
* Generated with web3j version none.
*/
public final class FileServerManager extends Contract {
private static String BINARY = "60606040526000600155341561001157fe5b5b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b6167c680620000676000396000f30060606040523615610126576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063180db1b4146101285780631bd951551461014e57806324b508a3146101bc578063276e64721461029d5780632ced7cef1461030f578063319af333146104035780633ca6268e146104905780633d7403a3146105075780633ffbd47f1461057957806341304fac1461061657806341c0e1b5146106845780634b5c4277146106965780635e01eb5a1461074757806378a9eeed146107e057806382b7b50014610879578063893d20e81461095a578063a0d578f4146109f3578063a87d942c14610a61578063b1498e2914610a87578063b2a840c014610af9578063b60e72cc14610b74578063ca0941b414610beb575bfe5b341561013057fe5b610138610cd5565b6040518082815260200191505060405180910390f35b341561015657fe5b6101a6600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ce0565b6040518082815260200191505060405180910390f35b34156101c457fe5b610214600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dba565b6040518080602001828103825283818151815260200191508051906020019080838360008314610263575b8051825260208311156102635760208201915060208101905060208303925061023f565b505050905090810190601f16801561028f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102a557fe5b6102f5600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611218565b604051808215151515815260200191505060405180910390f35b341561031757fe5b6103ed600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506116d8565b6040518082815260200191505060405180910390f35b341561040b57fe5b61047a600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061174e565b6040518082815260200191505060405180910390f35b341561049857fe5b6104f1600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506117d5565b6040518082815260200191505060405180910390f35b341561050f57fe5b61055f600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611846565b604051808215151515815260200191505060405180910390f35b341561058157fe5b610614600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611d6e565b005b341561061e57fe5b61066e600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611d73565b6040518082815260200191505060405180910390f35b341561068c57fe5b610694611da8565b005b341561069e57fe5b610731600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611e07565b6040518082815260200191505060405180910390f35b341561074f57fe5b610757611e4d565b60405180806020018281038252838181518152602001915080519060200190808383600083146107a6575b8051825260208311156107a657602082019150602081019050602083039250610782565b505050905090810190601f1680156107d25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107e857fe5b6107f0611e7a565b604051808060200182810382528381815181526020019150805190602001908083836000831461083f575b80518252602083111561083f5760208201915060208101905060208303925061081b565b505050905090810190601f16801561086b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561088157fe5b6108d1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612192565b6040518080602001828103825283818151815260200191508051906020019080838360008314610920575b805182526020831115610920576020820191506020810190506020830392506108fc565b505050905090810190601f16801561094c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561096257fe5b61096a61247d565b60405180806020018281038252838181518152602001915080519060200190808383600083146109b9575b8051825260208311156109b957602082019150602081019050602083039250610995565b505050905090810190601f1680156109e55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109fb57fe5b610a4b600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506124cc565b6040518082815260200191505060405180910390f35b3415610a6957fe5b610a716125f4565b6040518082815260200191505060405180910390f35b3415610a8f57fe5b610adf600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612602565b604051808215151515815260200191505060405180910390f35b3415610b0157fe5b610b5a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050612b6e565b604051808215151515815260200191505060405180910390f35b3415610b7c57fe5b610bd5600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050613063565b6040518082815260200191505060405180910390f35b3415610bf357fe5b610c4c600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506130d0565b6040518080602001828103825283818151815260200191508051906020019080838360008314610c9b575b805182526020831115610c9b57602082019150602081019050602083039250610c77565b505050905090810190601f168015610cc75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600060015490505b90565b600060006000835191506020821115610cf857602091505b60009250600090505b6020811015610db25781811015610d9e578381815181101515610d2057fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900460ff166101008402019250610da6565b610100830292505b5b806001019050610d01565b5b5050919050565b610dc26164fd565b60006000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509250610e97610e50604060405190810160405280600581526020017f746f74616c0000000000000000000000000000000000000000000000000000008152506003805490506134e490919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508561385e9092919063ffffffff16565b925060009150600090505b6003805490508110156111c55760006001811115610ebc57fe5b6002600383815481101515610ecd57fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015610f375780601f10610f15576101008083540402835291820191610f37565b820191906000526020600020905b815481529060010190602001808311610f23575b5050915050908152602001604051809103902060090160009054906101000a900460ff166001811115610f6657fe5b141580156110ac57506110ab846002600384815481101515610f8457fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015610fee5780601f10610fcc576101008083540402835291820191610fee565b820191906000526020600020905b815481529060010190602001808311610fda575b505091505090815260200160405180910390206006018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110985780601f1061106d57610100808354040283529160200191611098565b820191906000526020600020905b81548152906001019060200180831161107b57829003601f168201915b50505050506138fe90919063ffffffff16565b5b156111b757600082111561110657611103604060405190810160405280600181526020017f2c0000000000000000000000000000000000000000000000000000000000000081525084613a4290919063ffffffff16565b92505b6001820191506111b46111a5600260038481548110151561112357fe5b906000526020600020900160005b50604051808280546001816001161561010002031660029004801561118d5780601f1061116b57610100808354040283529182019161118d565b820191906000526020600020905b815481529060010190602001808311611179575b50509150509081526020016040518091039020613aad565b84613a4290919063ffffffff16565b92505b5b8080600101915050610ea2565b61120e604060405190810160405280600381526020017f5d7d7d000000000000000000000000000000000000000000000000000000000081525084613a4290919063ffffffff16565b92505b5050919050565b600060006000600181111561122957fe5b6002846040518082805190602001908083835b6020831061125f578051825260208201915060208101905060208303925061123c565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160009054906101000a900460ff1660018111156112ae57fe5b141561138257600460058111156112c157fe5b600181905550611306604060405190810160405280601881526020017f64656c65746520736572766572206e6f74206578697374730000000000000000815250611d73565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260188152602001807f64656c65746520736572766572206e6f742065786973747300000000000000008152506020019250505060405180910390a1600191506116d2565b600460006113909190616511565b600090505b6003805490508110156114e75761146b836003838154811015156113b557fe5b906000526020600020900160005b508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114585780601f1061142d57610100808354040283529160200191611458565b820191906000526020600020905b81548152906001019060200180831161143b57829003601f168201915b50505050506138fe90919063ffffffff16565b15611475576114dc565b600480548060010182816114899190616533565b916000526020600020900160005b6003848154811015156114a657fe5b906000526020600020900160005b50909190915090805460018160011615610100020316600290046114d992919061655f565b50505b806001019050611395565b600360006114f59190616511565b600090505b600480549050811015611579576003805480600101828161151b9190616533565b916000526020600020900160005b60048481548110151561153857fe5b906000526020600020900160005b509091909150908054600181600116156101000203166002900461156b92919061655f565b50505b8060010190506114fa565b60006002846040518082805190602001908083835b602083106115b1578051825260208201915060208101905060208303925061158e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160006101000a81548160ff0219169083600181111561160257fe5b02179055506000600581111561161457fe5b60018190555061165a604060405190810160405280601b81526020017f64656c6574652073657276657220737563636573732c2069643a20000000000081525084611e07565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260158152602001807f64656c65746520736572766572207375636365737300000000000000000000008152506020019250505060405180910390a1600191505b50919050565b60006116e26164fd565b6020604051908101604052806000815250905061170a85858361385e9092919063ffffffff16565b905061171583610ce0565b6001026000191661172582610ce0565b60010260405180826000191660001916815260200191505060405180910390a15b509392505050565b60006117586164fd565b6020604051908101604052806000815250905061179e8461178e8573ffffffffffffffffffffffffffffffffffffffff166143e5565b8361385e9092919063ffffffff16565b90506117a981610ce0565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b60006117df6164fd565b6020604051908101604052806000815250905061180f846117ff856145f3565b8361385e9092919063ffffffff16565b905061181a81610ce0565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b600061185260056147d2565b61186682600561491090919063ffffffff16565b151561193a576001600581111561187957fe5b6001819055506118be604060405190810160405280600d81526020017f6261642066696c65206a736f6e00000000000000000000000000000000000000815250611d73565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc60015460405180828152602001806020018281038252600d8152602001807f6261642066696c65206a736f6e000000000000000000000000000000000000008152506020019250505060405180910390a160009050611d69565b6000600181111561194757fe5b6002600560000160405180828054600181600116156101000203166002900480156119a95780601f106119875761010080835404028352918201916119a9565b820191906000526020600020905b815481529060010190602001808311611995575b5050915050908152602001604051809103902060090160009054906101000a900460ff1660018111156119d857fe5b1415611aac57600460058111156119eb57fe5b600181905550611a30604060405190810160405280601681526020017f7570646174652066696c65206e6f742065786973747300000000000000000000815250611d73565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260168152602001807f7570646174652066696c65206e6f7420657869737473000000000000000000008152506020019250505060405180910390a160009050611d69565b6001600560090160006101000a81548160ff02191690836001811115611ace57fe5b02179055506103e842026005600301819055506005600260056000016040518082805460018160011615610100020316600290048015611b455780601f10611b23576101008083540402835291820191611b45565b820191906000526020600020905b815481529060010190602001808311611b31575b5050915050908152602001604051809103902060008201816000019080546001816001161561010002031660029004611b7f9291906165e6565b5060018201816001019080546001816001161561010002031660029004611ba79291906165e6565b50600282015481600201556003820154816003015560048201816004019080546001816001161561010002031660029004611be39291906165e6565b5060058201816005019080546001816001161561010002031660029004611c0b9291906165e6565b5060068201816006019080546001816001161561010002031660029004611c339291906165e6565b5060078201816007019080546001816001161561010002031660029004611c5b9291906165e6565b50600882015481600801556009820160009054906101000a900460ff168160090160006101000a81548160ff02191690836001811115611c9757fe5b021790555090505060006005811115611cac57fe5b600181905550611cf1604060405190810160405280601381526020017f7570646174652066696c65207375636365737300000000000000000000000000815250611d73565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260138152602001807f7570646174652066696c652073756363657373000000000000000000000000008152506020019250505060405180910390a1600190505b919050565b5b5050565b6000611d7e82610ce0565b60010260405180826000191660001916815260200191505060405180910390a0600090505b919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0457611e05565b5b565b6000611e1282610ce0565b60010260001916611e2284610ce0565b60010260405180826000191660001916815260200191505060405180910390a1600090505b92915050565b611e556164fd565b611e743373ffffffffffffffffffffffffffffffffffffffff16614c38565b90505b90565b611e826164fd565b60006000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509250611f57611f10604060405190810160405280600581526020017f746f74616c0000000000000000000000000000000000000000000000000000008152506003805490506134e490919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508561385e9092919063ffffffff16565b925060009150600090505b6003805490508110156121415760006001811115611f7c57fe5b6002600383815481101515611f8d57fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015611ff75780601f10611fd5576101008083540402835291820191611ff7565b820191906000526020600020905b815481529060010190602001808311611fe3575b5050915050908152602001604051809103902060090160009054906101000a900460ff16600181111561202657fe5b1415156121335760008211156120825761207f604060405190810160405280600181526020017f2c0000000000000000000000000000000000000000000000000000000000000081525084613a4290919063ffffffff16565b92505b600182019150612130612121600260038481548110151561209f57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156121095780601f106120e7576101008083540402835291820191612109565b820191906000526020600020905b8154815290600101906020018083116120f5575b50509150509081526020016040518091039020613aad565b84613a4290919063ffffffff16565b92505b5b8080600101915050611f62565b61218a604060405190810160405280600381526020017f5d7d7d000000000000000000000000000000000000000000000000000000000081525084613a4290919063ffffffff16565b92505b505090565b61219a6164fd565b6000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b000000000000000000000000000000815250915060009050600060018111156121e657fe5b6002846040518082805190602001908083835b6020831061221c57805182526020820191506020810190506020830392506121f9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160009054906101000a900460ff16600181111561226b57fe5b14151561239557600190506123096122c2604060405190810160405280600581526020017f746f74616c000000000000000000000000000000000000000000000000000000815250836134e490919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508461385e9092919063ffffffff16565b915061238e61237f6002856040518082805190602001908083835b602083106123475780518252602082019150602081019050602083039250612324565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020613aad565b83613a4290919063ffffffff16565b915061242b565b6124286123e1604060405190810160405280600581526020017f746f74616c000000000000000000000000000000000000000000000000000000815250836134e490919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508461385e9092919063ffffffff16565b91505b612474604060405190810160405280600381526020017f5d7d7d000000000000000000000000000000000000000000000000000000000081525083613a4290919063ffffffff16565b91505b50919050565b6124856164fd565b6124c6600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16614c38565b90505b90565b6000600060018111156124db57fe5b6002836040518082805190602001908083835b6020831061251157805182526020820191506020810190506020830392506124ee565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160009054906101000a900460ff16600181111561256057fe5b141580156125db575060006002836040518082805190602001908083835b602083106125a1578051825260208201915060208101905060208303925061257e565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206008015414155b156125e957600190506125ee565b600090505b5b919050565b600060038054905090505b90565b600061261882600561491090919063ffffffff16565b15156126ec576001600581111561262b57fe5b600181905550612670604060405190810160405280601181526020017f62616420736572766572206a736f6e2021000000000000000000000000000000815250611d73565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc60015460405180828152602001806020018281038252600f8152602001807f62616420736572766572206a736f6e00000000000000000000000000000000008152506020019250505060405180910390a160009050612b69565b600060018111156126f957fe5b60026005600001604051808280546001816001161561010002031660029004801561275b5780601f1061273957610100808354040283529182019161275b565b820191906000526020600020905b815481529060010190602001808311612747575b5050915050908152602001604051809103902060090160009054906101000a900460ff16600181111561278a57fe5b14151561285f576004600581111561279e57fe5b6001819055506127e3604060405190810160405280601b81526020017f7468652073657276657220616c72656164792065786973747320210000000000815250611d73565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260198152602001807f7468652073657276657220616c726561647920657869737473000000000000008152506020019250505060405180910390a160009050612b69565b6001600560090160006101000a81548160ff0219169083600181111561288157fe5b02179055506103e84202600560030181905550600380548060010182816128a89190616533565b916000526020600020900160005b6005600001909190915090805460018160011615610100020316600290046128df92919061655f565b505060056002600560000160405180828054600181600116156101000203166002900480156129455780601f10612923576101008083540402835291820191612945565b820191906000526020600020905b815481529060010190602001808311612931575b505091505090815260200160405180910390206000820181600001908054600181600116156101000203166002900461297f9291906165e6565b50600182018160010190805460018160011615610100020316600290046129a79291906165e6565b506002820154816002015560038201548160030155600482018160040190805460018160011615610100020316600290046129e39291906165e6565b5060058201816005019080546001816001161561010002031660029004612a0b9291906165e6565b5060068201816006019080546001816001161561010002031660029004612a339291906165e6565b5060078201816007019080546001816001161561010002031660029004612a5b9291906165e6565b50600882015481600801556009820160009054906101000a900460ff168160090160006101000a81548160ff02191690836001811115612a9757fe5b021790555090505060006005811115612aac57fe5b600181905550612af1604060405190810160405280601781526020017f696e736572742073657276657220737563636573732021000000000000000000815250611d73565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260158152602001807f696e7365727420736572766572207375636365737300000000000000000000008152506020019250505060405180910390a1600190505b919050565b60006000600090505b600380549050811015612f6d57612cc0846002600384815481101515612b9957fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015612c035780601f10612be1576101008083540402835291820191612c03565b820191906000526020600020905b815481529060010190602001808311612bef575b505091505090815260200160405180910390206000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612cad5780601f10612c8257610100808354040283529160200191612cad565b820191906000526020600020905b815481529060010190602001808311612c9057829003601f168201915b50505050506138fe90919063ffffffff16565b8015612d5c575060006001811115612cd457fe5b6002856040518082805190602001908083835b60208310612d0a5780518252602082019150602081019050602083039250612ce7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160009054906101000a900460ff166001811115612d5957fe5b14155b15612f5f57826002856040518082805190602001908083835b60208310612d985780518252602082019150602081019050602083039250612d75565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020600801819055506000831415612e5857612e52604060405190810160405280601481526020017f64697361626c6520746865207365727665723a2000000000000000000000000081525085604060405190810160405280601181526020017f46696c655365727665724d616e616765720000000000000000000000000000008152506116d8565b50612ed1565b612ecf604060405190810160405280601381526020017f656e61626c6520746865207365727665723a200000000000000000000000000081525085604060405190810160405280601181526020017f46696c655365727665724d616e616765720000000000000000000000000000008152506116d8565b505b60006005811115612ede57fe5b6001819055507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260158152602001807f656e61626c6520736572766572207375636365737300000000000000000000008152506020019250505060405180910390a16001915061305c565b5b8080600101915050612b77565b612fe4604060405190810160405280601481526020017f656e61626c6520736572766572206661696c2c2000000000000000000000000081525085604060405190810160405280601181526020017f46696c655365727665724d616e616765720000000000000000000000000000008152506116d8565b507f6f52e1083ea2b4deef2cb48dbb504881c8b27cfedc2d85bc841b9ed1613c54cc6001546040518082815260200180602001828103825260128152602001807f656e61626c6520736572766572206661696c00000000000000000000000000008152506020019250505060405180910390a1600091505b5092915050565b600061306d6164fd565b6020604051908101604052806000815250905061309d8461308d85614e4a565b8361385e9092919063ffffffff16565b90506130a881610ce0565b60010260405180826000191660001916815260200191505060405180910390a05b5092915050565b6130d86164fd565b6000600090505b6003805490508110156134c957600060018111156130f957fe5b600260038381548110151561310a57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156131745780601f10613152576101008083540402835291820191613174565b820191906000526020600020905b815481529060010190602001808311613160575b5050915050908152602001604051809103902060090160009054906101000a900460ff1660018111156131a357fe5b141580156132e957506132e88460026003848154811015156131c157fe5b906000526020600020900160005b50604051808280546001816001161561010002031660029004801561322b5780601f1061320957610100808354040283529182019161322b565b820191906000526020600020905b815481529060010190602001808311613217575b505091505090815260200160405180910390206001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132d55780601f106132aa576101008083540402835291602001916132d5565b820191906000526020600020905b8154815290600101906020018083116132b857829003601f168201915b50505050506138fe90919063ffffffff16565b5b8015613385575082600260038381548110151561330257fe5b906000526020600020900160005b50604051808280546001816001161561010002031660029004801561336c5780601f1061334a57610100808354040283529182019161336c565b820191906000526020600020905b815481529060010190602001808311613358575b5050915050908152602001604051809103902060020154145b156134bb57600260038281548110151561339b57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156134055780601f106133e3576101008083540402835291820191613405565b820191906000526020600020905b8154815290600101906020018083116133f1575b505091505090815260200160405180910390206000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156134af5780601f10613484576101008083540402835291602001916134af565b820191906000526020600020905b81548152906001019060200180831161349257829003601f168201915b505050505091506134dd565b5b80806001019150506130df565b602060405190810160405280600081525091505b5092915050565b6134ec6164fd565b600060006000600060038651019350600087141561350f57600184019350613539565b8692505b600083111561353857600a8381151561352857fe5b0492508380600101945050613513565b5b836040518059106135475750595b908082528060200260200182016040525b509450600091507f2200000000000000000000000000000000000000000000000000000000000000858380600101945081518110151561359457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600090505b855181101561367d5785818151811015156135e057fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002858380600101945081518110151561363f57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b80806001019150506135c9565b7f220000000000000000000000000000000000000000000000000000000000000085838060010194508151811015156136b257fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f3a00000000000000000000000000000000000000000000000000000000000000858380600101945081518110151561371757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060018403915060008714156137bd5760307f010000000000000000000000000000000000000000000000000000000000000002858381518110151561378857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350613853565b5b6000871115613852576030600a888115156137d557fe5b06017f01000000000000000000000000000000000000000000000000000000000000000285838060019003945081518110151561380e57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8781151561384a57fe5b0496506137be565b5b5b5050505092915050565b6138666164fd565b60006000600060006000865188518a5101016040518059106138855750595b908082528060200260200182016040525b509550602089019450602088019350602087019250602086019150600090506138c3818301868b51614f98565b8851810190506138d7818301858a51614f98565b8751810190506138eb818301848951614f98565b8651810190505b50505050509392505050565b60006000825184511415156139165760009150613a3b565b600090505b8351811015613a3657828181518110151561393257fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191684828151811015156139ad57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141515613a2a5760009150613a3b565b5b80600101905061391b565b600191505b5092915050565b613a4a6164fd565b6000600060008451865101604051805910613a625750595b908082528060200260200182016040525b509350602086019250602085019150602084019050613a9481848851614f98565b613aa386518201838751614f98565b5b50505092915050565b613ab56164fd565b604060405190810160405280600181526020017f7b000000000000000000000000000000000000000000000000000000000000008152509050613c1d613bd6604060405190810160405280600281526020017f6964000000000000000000000000000000000000000000000000000000000000815250846000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613bc35780601f10613b9857610100808354040283529160200191613bc3565b820191906000526020600020905b815481529060010190602001808311613ba657829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b9050613d4e613d07604060405190810160405280600481526020017f686f737400000000000000000000000000000000000000000000000000000000815250846001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613cf45780601f10613cc957610100808354040283529160200191613cf4565b820191906000526020600020905b815481529060010190602001808311613cd757829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b9050613de7613da0604060405190810160405280600481526020017f706f72740000000000000000000000000000000000000000000000000000000081525084600201546134e490919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b9050613e80613e39604060405190810160405280600a81526020017f75706461746554696d650000000000000000000000000000000000000000000081525084600301546134e490919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b9050613fb1613f6a604060405190810160405280600881526020017f706f736974696f6e000000000000000000000000000000000000000000000000815250846005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613f575780601f10613f2c57610100808354040283529160200191613f57565b820191906000526020600020905b815481529060010190602001808311613f3a57829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90506140e261409b604060405190810160405280600581526020017f67726f7570000000000000000000000000000000000000000000000000000000815250846006018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156140885780601f1061405d57610100808354040283529160200191614088565b820191906000526020600020905b81548152906001019060200180831161406b57829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90506142136141cc604060405190810160405280600c81526020017f6f7267616e697a6174696f6e0000000000000000000000000000000000000000815250846004018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156141b95780601f1061418e576101008083540402835291602001916141b9565b820191906000526020600020905b81548152906001019060200180831161419c57829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90506142ac614265604060405190810160405280600681526020017f656e61626c65000000000000000000000000000000000000000000000000000081525084600801546134e490919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90506143dd614396604060405190810160405280600481526020017f696e666f00000000000000000000000000000000000000000000000000000000815250846007018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156143835780601f1061435857610100808354040283529160200191614383565b820191906000526020600020905b81548152906001019060200180831161436657829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f7d000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90505b919050565b6143ed6164fd565b60006000602a6040518059106144005750595b908082528060200260200182016040525b5092507f300000000000000000000000000000000000000000000000000000000000000083600081518110151561444457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008360018151811015156144a457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350602991505b60028260ff161015156145eb57600f841690506010848115156144f857fe5b049350600a8160ff16101561457357603081017f010000000000000000000000000000000000000000000000000000000000000002838360ff1681518110151561453e57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506145de565b6061600a8203017f010000000000000000000000000000000000000000000000000000000000000002838360ff168151811015156145ad57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b816001900391506144d9565b5b5050919050565b6145fb6164fd565b60006000600060006000600087141561464c57604060405190810160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525095506147c8565b86945060019350600092506000871215614673578660000394506000935082806001019350505b8491505b600082111561469c57600a8281151561468c57fe5b0491508280600101935050614677565b8260ff166040518059106146ad5750595b908082528060200260200182016040525b509550831515614729577f2d000000000000000000000000000000000000000000000000000000000000008660008151811015156146f857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b6001830390505b60008511156147c7576030600a8681151561474757fe5b06017f01000000000000000000000000000000000000000000000000000000000000000286828060019003935060ff1681518110151561478357fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a858115156147bf57fe5b049450614730565b5b5050505050919050565b60206040519081016040528060008152508160000190805190602001906147fa92919061666d565b50602060405190810160405280600081525081600101908051906020019061482392919061666d565b506000816002018190555060008160030181905550602060405190810160405280600081525081600501908051906020019061486092919061666d565b50602060405190810160405280600081525081600401908051906020019061488992919061666d565b5060206040519081016040528060008152508160070190805190602001906148b292919061666d565b5060206040519081016040528060008152508160060190805190602001906148db92919061666d565b506000816008018190555060008160090160006101000a81548160ff0219169083600181111561490757fe5b02179055505b50565b600061491b836147d2565b614964604060405190810160405280600281526020017f69640000000000000000000000000000000000000000000000000000000000008152508361526090919063ffffffff16565b83600001908051906020019061497b92919061666d565b506149c5604060405190810160405280600481526020017f686f7374000000000000000000000000000000000000000000000000000000008152508361526090919063ffffffff16565b8360010190805190602001906149dc92919061666d565b50614a26604060405190810160405280600481526020017f706f727400000000000000000000000000000000000000000000000000000000815250836159b090919063ffffffff16565b8360020181905550614a77604060405190810160405280600881526020017f706f736974696f6e0000000000000000000000000000000000000000000000008152508361526090919063ffffffff16565b836005019080519060200190614a8e92919061666d565b50614ad8604060405190810160405280600581526020017f67726f75700000000000000000000000000000000000000000000000000000008152508361526090919063ffffffff16565b836006019080519060200190614aef92919061666d565b50614b39604060405190810160405280600c81526020017f6f7267616e697a6174696f6e00000000000000000000000000000000000000008152508361526090919063ffffffff16565b836004019080519060200190614b5092919061666d565b50614b9a604060405190810160405280600481526020017f696e666f000000000000000000000000000000000000000000000000000000008152508361526090919063ffffffff16565b836007019080519060200190614bb192919061666d565b50614bfb604060405190810160405280600681526020017f656e61626c650000000000000000000000000000000000000000000000000000815250836159b090919063ffffffff16565b83600801819055506000836000018054600181600116156101000203166002900490501415614c2d5760009050614c32565b600190505b92915050565b614c406164fd565b614c486166ed565b60006000600060006028604051805910614c5f5750595b908082528060200260200182016040525b509450600093505b6014841015614e3c578360130360080260020a8773ffffffffffffffffffffffffffffffffffffffff16811515614cab57fe5b047f01000000000000000000000000000000000000000000000000000000000000000292506010837f0100000000000000000000000000000000000000000000000000000000000000900460ff16811515614d0257fe5b047f0100000000000000000000000000000000000000000000000000000000000000029150817f01000000000000000000000000000000000000000000000000000000000000009004601002837f01000000000000000000000000000000000000000000000000000000000000009004037f0100000000000000000000000000000000000000000000000000000000000000029050614da082616259565b8585600202815181101515614db157fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350614dea81616259565b8560018660020201815181101515614dfe57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8380600101945050614c78565b8495505b5050505050919050565b614e526164fd565b6000600060006000851415614e9f57604060405190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509350614f90565b600092508491505b6000821115614ecc57600a82811515614ebc57fe5b0491508280600101935050614ea7565b8260ff16604051805910614edd5750595b908082528060200260200182016040525b5093506001830390505b6000851115614f8f576030600a86811515614f0f57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000284828060019003935060ff16815181101515614f4b57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85811515614f8757fe5b049450614ef8565b5b505050919050565b60005b602082101515614fc157825184526020840193506020830192505b602082039150614f9b565b6001826020036101000a039050801983511681855116818117865250505b50505050565b614fed6164fd565b6000600060006000600586518851010160405180591061500a5750595b908082528060200260200182016040525b509450602087019350602086019250602085019150600090507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561506957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506150a7818301848851614f98565b8551810190507f220000000000000000000000000000000000000000000000000000000000000085828060010193508151811015156150e257fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f3a00000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561514757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f220000000000000000000000000000000000000000000000000000000000000085828060010193508151811015156151ac57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506151ea818301858951614f98565b8651810190507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561522557fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5050505092915050565b6152686164fd565b6000600060006000600060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600094505b6001156157b95761533861532789604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f220000000000000000000000000000000000000000000000000000000000000081525061385e9092919063ffffffff16565b868b61634e9092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415615427576153f76153e689604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f270000000000000000000000000000000000000000000000000000000000000081525061385e9092919063ffffffff16565b868b61634e9092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415615426576159a4565b5b600288510186019550600093505b8851861015615797577f2000000000000000000000000000000000000000000000000000000000000000898781518110151561546d57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061557f57507f0900000000000000000000000000000000000000000000000000000000000000898781518110151561551057fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061562357507f0d0000000000000000000000000000000000000000000000000000000000000089878151811015156155b457fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806156c757507f0a00000000000000000000000000000000000000000000000000000000000000898781518110151561565857fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156156d9578580600101965050615792565b7f3a00000000000000000000000000000000000000000000000000000000000000898781518110151561570857fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561578c57858060010196505060019350615797565b615797565b5b615435565b88518614156157a5576159a4565b83156157b0576157b9565b8594505b61529c565b60019250615808604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250878b61634e9092919063ffffffff16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156158b15760009250615881604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250878b61634e9092919063ffffffff16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156158b0576159a4565b5b600182019150821561590f57615908604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250838b61634e9092919063ffffffff16565b905061595d565b61595a604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250838b61634e9092919063ffffffff16565b90505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81141561598a576159a4565b6159a1828383038b6163b89092919063ffffffff16565b96505b50505050505092915050565b6000600060006000600060006000600096507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600094505b600115615f0757615a86615a7589604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f220000000000000000000000000000000000000000000000000000000000000081525061385e9092919063ffffffff16565b868b61634e9092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415615b7557615b45615b3489604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f270000000000000000000000000000000000000000000000000000000000000081525061385e9092919063ffffffff16565b868b61634e9092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415615b745761624d565b5b600288510186019550600093505b8851861015615ee5577f20000000000000000000000000000000000000000000000000000000000000008987815181101515615bbb57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480615ccd57507f09000000000000000000000000000000000000000000000000000000000000008987815181101515615c5e57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80615d7157507f0d000000000000000000000000000000000000000000000000000000000000008987815181101515615d0257fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80615e1557507f0a000000000000000000000000000000000000000000000000000000000000008987815181101515615da657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15615e27578580600101965050615ee0565b7f3a000000000000000000000000000000000000000000000000000000000000008987815181101515615e5657fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415615eda57858060010196505060019350615ee5565b615ee5565b5b615b83565b8851861415615ef35761624d565b8315615efe57615f07565b8594505b6159ea565b8592505b8851831015616004578883815181101515615f2257fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004915060208260ff161480615fa7575060098260ff16145b80615fb55750600d8260ff16145b80615fc35750600a8260ff16145b80615fd15750603a8260ff16145b80615fdf575060228260ff16145b80615fed575060278260ff16145b1515615ff857616004565b5b826001019250615f0b565b600190507f2b00000000000000000000000000000000000000000000000000000000000000898481518110151561603757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156160bb5760019050828060010193505061616b565b7f2d0000000000000000000000000000000000000000000000000000000000000089848151811015156160ea57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561616a576000905082806001019350505b5b5b885183101561623e57888381518110151561618357fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004915060308260ff161015801561620b575060398260ff1611155b15156162245780151561621f578660000396505b61624d565b6030820360ff16600a88020196505b82600101925061616c565b80151561624c578660000396505b5b50505050505092915050565b6000600a7f010000000000000000000000000000000000000000000000000000000000000002827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610156162f8576030827f01000000000000000000000000000000000000000000000000000000000000009004017f0100000000000000000000000000000000000000000000000000000000000000029050616349565b6057827f01000000000000000000000000000000000000000000000000000000000000009004017f0100000000000000000000000000000000000000000000000000000000000000029050616349565b5b919050565b6000600060006000602087019250602086019150826163758689510387860189518661643d565b0390508651811015616389578093506163ad565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff93505b5b5050509392505050565b6163c06164fd565b60006000848651038411156163d6578486510393505b6000841115156163f85760206040519081016040528060008152509250616434565b836040518059106164065750595b908082528060200260200182016040525b5092506020860191506020830190506164338186840186614f98565b5b50509392505050565b6000600060006000600088871115156164eb576020871115156164a05760018760200360080260020a031980875116888b038a018a96505b81838851161461649557600187019650806001880310616475578b8b0196505b5050508394506164f1565b8686209150879350600092505b868903831115156164e95786842090508060001916826000191614156164d5578394506164f1565b6001840193505b82806001019350506164ad565b5b5b88880194505b50505050949350505050565b602060405190810160405280600081525090565b508054600082559060005260206000209081019061652f9190616701565b5b50565b81548183558181151161655a578183600052602060002091820191016165599190616701565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061659857805485556165d5565b828001600101855582156165d557600052602060002091601f016020900482015b828111156165d45782548255916001019190600101906165b9565b5b5090506165e2919061672d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061661f578054855561665c565b8280016001018555821561665c57600052602060002091601f016020900482015b8281111561665b578254825591600101919060010190616640565b5b509050616669919061672d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106166ae57805160ff19168380011785556166dc565b828001600101855582156166dc579182015b828111156166db5782518255916020019190600101906166c0565b5b5090506166e9919061672d565b5090565b602060405190810160405280600081525090565b61672a91905b80821115616726576000818161671d9190616752565b50600101616707565b5090565b90565b61674f91905b8082111561674b576000816000905550600101616733565b5090565b90565b50805460018160011615610100020316600290046000825580601f106167785750616797565b601f016020900490600052602060002090810190616796919061672d565b5b505600a165627a7a7230582053d23e17a55ebe34b606a5b69099f77c2af00dd8ee94ce1b76bc0f828567dca60029";
public static final String ABI = "[{\"constant\":true,\"inputs\":[],\"name\":\"getErrno\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"}],\"name\":\"stringToUint\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_group\",\"type\":\"string\"}],\"name\":\"listByGroup\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_serverId\",\"type\":\"string\"}],\"name\":\"deleteById\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_str2\",\"type\":\"string\"},{\"name\":\"_topic\",\"type\":\"string\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_i\",\"type\":\"int256\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_json\",\"type\":\"string\"}],\"name\":\"update\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"string\"},{\"name\":\"_version\",\"type\":\"string\"}],\"name\":\"register\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"kill\",\"outputs\":[],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_topic\",\"type\":\"string\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getSender\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"listAll\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_serverId\",\"type\":\"string\"}],\"name\":\"find\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_serverId\",\"type\":\"string\"}],\"name\":\"isServerEnable\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getCount\",\"outputs\":[{\"name\":\"_total\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_json\",\"type\":\"string\"}],\"name\":\"insert\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_serverId\",\"type\":\"string\"},{\"name\":\"_enable\",\"type\":\"uint256\"}],\"name\":\"enable\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_str\",\"type\":\"string\"},{\"name\":\"_ui\",\"type\":\"uint256\"}],\"name\":\"log\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_host\",\"type\":\"string\"},{\"name\":\"_port\",\"type\":\"uint256\"}],\"name\":\"findIdByHostPort\",\"outputs\":[{\"name\":\"_ret\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_errno\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"_info\",\"type\":\"string\"}],\"name\":\"Notify\",\"type\":\"event\"}]";
private static String GUOMI_BINARY = "60606040526000600155341561001157fe5b5b5b33600060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b6167c680620000676000396000f30060606040523615610126576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630852f4aa1461012857806308d44d9e146102095780630a23dad51461028457806310ea872b1461037857806315abed5f146103e657806319f65ac31461045d5780631cbe4a50146104f65780631e14b2f814610583578063216af82a146105fa578063286247841461066c578063346366ef1461069257806338bcbb0e1461077357806339e60ad1146107855780639e761d1714610836578063a49efe86146108a8578063c624d5341461091a578063d9f262f0146109b3578063e9167eb0146109d9578063f029783614610a47578063f07c64f814610ae4578063f3f06c5f14610b7d578063f9f9168714610c67575bfe5b341561013057fe5b610180600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610cd5565b60405180806020018281038252838181518152602001915080519060200190808383600083146101cf575b8051825260208311156101cf576020820191506020810190506020830392506101ab565b505050905090810190601f1680156101fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021157fe5b61026a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611133565b604051808215151515815260200191505060405180910390f35b341561028c57fe5b610362600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611628565b6040518082815260200191505060405180910390f35b341561038057fe5b6103d0600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061169e565b6040518082815260200191505060405180910390f35b34156103ee57fe5b610447600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506117c6565b6040518082815260200191505060405180910390f35b341561046557fe5b61046d611833565b60405180806020018281038252838181518152602001915080519060200190808383600083146104bc575b8051825260208311156104bc57602082019150602081019050602083039250610498565b505050905090810190601f1680156104e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104fe57fe5b61056d600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611860565b6040518082815260200191505060405180910390f35b341561058b57fe5b6105e4600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506118e7565b6040518082815260200191505060405180910390f35b341561060257fe5b610652600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611958565b604051808215151515815260200191505060405180910390f35b341561067457fe5b61067c611ec4565b6040518082815260200191505060405180910390f35b341561069a57fe5b6106ea600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611ed2565b6040518080602001828103825283818151815260200191508051906020019080838360008314610739575b80518252602083111561073957602082019150602081019050602083039250610715565b505050905090810190601f1680156107655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561077b57fe5b6107836121bd565b005b341561078d57fe5b610820600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061221c565b6040518082815260200191505060405180910390f35b341561083e57fe5b61088e600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612262565b604051808215151515815260200191505060405180910390f35b34156108b057fe5b610900600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612722565b604051808215151515815260200191505060405180910390f35b341561092257fe5b61092a612c4a565b6040518080602001828103825283818151815260200191508051906020019080838360008314610979575b80518252602083111561097957602082019150602081019050602083039250610955565b505050905090810190601f1680156109a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109bb57fe5b6109c3612c99565b6040518082815260200191505060405180910390f35b34156109e157fe5b610a31600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612ca4565b6040518082815260200191505060405180910390f35b3415610a4f57fe5b610ae2600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612d7e565b005b3415610aec57fe5b610af4612d83565b6040518080602001828103825283818151815260200191508051906020019080838360008314610b43575b805182526020831115610b4357602082019150602081019050602083039250610b1f565b505050905090810190601f168015610b6f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610b8557fe5b610bde600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190505061309b565b6040518080602001828103825283818151815260200191508051906020019080838360008314610c2d575b805182526020831115610c2d57602082019150602081019050602083039250610c09565b505050905090810190601f168015610c595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610c6f57fe5b610cbf600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506134af565b6040518082815260200191505060405180910390f35b610cdd6164fd565b60006000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509250610db2610d6b604060405190810160405280600581526020017f746f74616c0000000000000000000000000000000000000000000000000000008152506003805490506134e490919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508561385e9092919063ffffffff16565b925060009150600090505b6003805490508110156110e05760006001811115610dd757fe5b6002600383815481101515610de857fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015610e525780601f10610e30576101008083540402835291820191610e52565b820191906000526020600020905b815481529060010190602001808311610e3e575b5050915050908152602001604051809103902060090160009054906101000a900460ff166001811115610e8157fe5b14158015610fc75750610fc6846002600384815481101515610e9f57fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015610f095780601f10610ee7576101008083540402835291820191610f09565b820191906000526020600020905b815481529060010190602001808311610ef5575b505091505090815260200160405180910390206006018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fb35780601f10610f8857610100808354040283529160200191610fb3565b820191906000526020600020905b815481529060010190602001808311610f9657829003601f168201915b50505050506138fe90919063ffffffff16565b5b156110d25760008211156110215761101e604060405190810160405280600181526020017f2c0000000000000000000000000000000000000000000000000000000000000081525084613a4290919063ffffffff16565b92505b6001820191506110cf6110c0600260038481548110151561103e57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156110a85780601f106110865761010080835404028352918201916110a8565b820191906000526020600020905b815481529060010190602001808311611094575b50509150509081526020016040518091039020613aad565b84613a4290919063ffffffff16565b92505b5b8080600101915050610dbd565b611129604060405190810160405280600381526020017f5d7d7d000000000000000000000000000000000000000000000000000000000081525084613a4290919063ffffffff16565b92505b5050919050565b60006000600090505b6003805490508110156115325761128584600260038481548110151561115e57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156111c85780601f106111a65761010080835404028352918201916111c8565b820191906000526020600020905b8154815290600101906020018083116111b4575b505091505090815260200160405180910390206000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112725780601f1061124757610100808354040283529160200191611272565b820191906000526020600020905b81548152906001019060200180831161125557829003601f168201915b50505050506138fe90919063ffffffff16565b801561132157506000600181111561129957fe5b6002856040518082805190602001908083835b602083106112cf57805182526020820191506020810190506020830392506112ac565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160009054906101000a900460ff16600181111561131e57fe5b14155b1561152457826002856040518082805190602001908083835b6020831061135d578051825260208201915060208101905060208303925061133a565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060080181905550600083141561141d57611417604060405190810160405280601481526020017f64697361626c6520746865207365727665723a2000000000000000000000000081525085604060405190810160405280601181526020017f46696c655365727665724d616e61676572000000000000000000000000000000815250611628565b50611496565b611494604060405190810160405280601381526020017f656e61626c6520746865207365727665723a200000000000000000000000000081525085604060405190810160405280601181526020017f46696c655365727665724d616e61676572000000000000000000000000000000815250611628565b505b600060058111156114a357fe5b6001819055507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260158152602001807f656e61626c6520736572766572207375636365737300000000000000000000008152506020019250505060405180910390a160019150611621565b5b808060010191505061113c565b6115a9604060405190810160405280601481526020017f656e61626c6520736572766572206661696c2c2000000000000000000000000081525085604060405190810160405280601181526020017f46696c655365727665724d616e61676572000000000000000000000000000000815250611628565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260128152602001807f656e61626c6520736572766572206661696c00000000000000000000000000008152506020019250505060405180910390a1600091505b5092915050565b60006116326164fd565b6020604051908101604052806000815250905061165a85858361385e9092919063ffffffff16565b905061166583612ca4565b6001026000191661167582612ca4565b60010260405180826000191660001916815260200191505060405180910390a15b509392505050565b6000600060018111156116ad57fe5b6002836040518082805190602001908083835b602083106116e357805182526020820191506020810190506020830392506116c0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160009054906101000a900460ff16600181111561173257fe5b141580156117ad575060006002836040518082805190602001908083835b602083106117735780518252602082019150602081019050602083039250611750565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206008015414155b156117bb57600190506117c0565b600090505b5b919050565b60006117d06164fd565b60206040519081016040528060008152509050611800846117f0856143e5565b8361385e9092919063ffffffff16565b905061180b81612ca4565b60010260405180826000191660001916815260200191505060405180910390a05b5092915050565b61183b6164fd565b61185a3373ffffffffffffffffffffffffffffffffffffffff16614533565b90505b90565b600061186a6164fd565b602060405190810160405280600081525090506118b0846118a08573ffffffffffffffffffffffffffffffffffffffff16614745565b8361385e9092919063ffffffff16565b90506118bb81612ca4565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b60006118f16164fd565b602060405190810160405280600081525090506119218461191185614953565b8361385e9092919063ffffffff16565b905061192c81612ca4565b60010260405180826000191660001916815260200191505060405180910390a0600091505b5092915050565b600061196e826005614b3290919063ffffffff16565b1515611a42576001600581111561198157fe5b6001819055506119c6604060405190810160405280601181526020017f62616420736572766572206a736f6e20210000000000000000000000000000008152506134af565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d060015460405180828152602001806020018281038252600f8152602001807f62616420736572766572206a736f6e00000000000000000000000000000000008152506020019250505060405180910390a160009050611ebf565b60006001811115611a4f57fe5b600260056000016040518082805460018160011615610100020316600290048015611ab15780601f10611a8f576101008083540402835291820191611ab1565b820191906000526020600020905b815481529060010190602001808311611a9d575b5050915050908152602001604051809103902060090160009054906101000a900460ff166001811115611ae057fe5b141515611bb55760046005811115611af457fe5b600181905550611b39604060405190810160405280601b81526020017f7468652073657276657220616c726561647920657869737473202100000000008152506134af565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260198152602001807f7468652073657276657220616c726561647920657869737473000000000000008152506020019250505060405180910390a160009050611ebf565b6001600560090160006101000a81548160ff02191690836001811115611bd757fe5b02179055506103e8420260056003018190555060038054806001018281611bfe9190616511565b916000526020600020900160005b600560000190919091509080546001816001161561010002031660029004611c3592919061653d565b50506005600260056000016040518082805460018160011615610100020316600290048015611c9b5780601f10611c79576101008083540402835291820191611c9b565b820191906000526020600020905b815481529060010190602001808311611c87575b5050915050908152602001604051809103902060008201816000019080546001816001161561010002031660029004611cd59291906165c4565b5060018201816001019080546001816001161561010002031660029004611cfd9291906165c4565b50600282015481600201556003820154816003015560048201816004019080546001816001161561010002031660029004611d399291906165c4565b5060058201816005019080546001816001161561010002031660029004611d619291906165c4565b5060068201816006019080546001816001161561010002031660029004611d899291906165c4565b5060078201816007019080546001816001161561010002031660029004611db19291906165c4565b50600882015481600801556009820160009054906101000a900460ff168160090160006101000a81548160ff02191690836001811115611ded57fe5b021790555090505060006005811115611e0257fe5b600181905550611e47604060405190810160405280601781526020017f696e7365727420736572766572207375636365737320210000000000000000008152506134af565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260158152602001807f696e7365727420736572766572207375636365737300000000000000000000008152506020019250505060405180910390a1600190505b919050565b600060038054905090505b90565b611eda6164fd565b6000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b00000000000000000000000000000081525091506000905060006001811115611f2657fe5b6002846040518082805190602001908083835b60208310611f5c5780518252602082019150602081019050602083039250611f39565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160009054906101000a900460ff166001811115611fab57fe5b1415156120d55760019050612049612002604060405190810160405280600581526020017f746f74616c000000000000000000000000000000000000000000000000000000815250836134e490919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508461385e9092919063ffffffff16565b91506120ce6120bf6002856040518082805190602001908083835b602083106120875780518252602082019150602081019050602083039250612064565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020613aad565b83613a4290919063ffffffff16565b915061216b565b612168612121604060405190810160405280600581526020017f746f74616c000000000000000000000000000000000000000000000000000000815250836134e490919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508461385e9092919063ffffffff16565b91505b6121b4604060405190810160405280600381526020017f5d7d7d000000000000000000000000000000000000000000000000000000000081525083613a4290919063ffffffff16565b91505b50919050565b600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156122195761221a565b5b565b600061222782612ca4565b6001026000191661223784612ca4565b60010260405180826000191660001916815260200191505060405180910390a1600090505b92915050565b600060006000600181111561227357fe5b6002846040518082805190602001908083835b602083106122a95780518252602082019150602081019050602083039250612286565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160009054906101000a900460ff1660018111156122f857fe5b14156123cc576004600581111561230b57fe5b600181905550612350604060405190810160405280601881526020017f64656c65746520736572766572206e6f742065786973747300000000000000008152506134af565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260188152602001807f64656c65746520736572766572206e6f742065786973747300000000000000008152506020019250505060405180910390a16001915061271c565b600460006123da919061664b565b600090505b600380549050811015612531576124b5836003838154811015156123ff57fe5b906000526020600020900160005b508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124a25780601f10612477576101008083540402835291602001916124a2565b820191906000526020600020905b81548152906001019060200180831161248557829003601f168201915b50505050506138fe90919063ffffffff16565b156124bf57612526565b600480548060010182816124d39190616511565b916000526020600020900160005b6003848154811015156124f057fe5b906000526020600020900160005b509091909150908054600181600116156101000203166002900461252392919061653d565b50505b8060010190506123df565b6003600061253f919061664b565b600090505b6004805490508110156125c357600380548060010182816125659190616511565b916000526020600020900160005b60048481548110151561258257fe5b906000526020600020900160005b50909190915090805460018160011615610100020316600290046125b592919061653d565b50505b806001019050612544565b60006002846040518082805190602001908083835b602083106125fb57805182526020820191506020810190506020830392506125d8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060090160006101000a81548160ff0219169083600181111561264c57fe5b02179055506000600581111561265e57fe5b6001819055506126a4604060405190810160405280601b81526020017f64656c6574652073657276657220737563636573732c2069643a2000000000008152508461221c565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260158152602001807f64656c65746520736572766572207375636365737300000000000000000000008152506020019250505060405180910390a1600191505b50919050565b600061272e6005614e5a565b612742826005614b3290919063ffffffff16565b1515612816576001600581111561275557fe5b60018190555061279a604060405190810160405280600d81526020017f6261642066696c65206a736f6e000000000000000000000000000000000000008152506134af565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d060015460405180828152602001806020018281038252600d8152602001807f6261642066696c65206a736f6e000000000000000000000000000000000000008152506020019250505060405180910390a160009050612c45565b6000600181111561282357fe5b6002600560000160405180828054600181600116156101000203166002900480156128855780601f10612863576101008083540402835291820191612885565b820191906000526020600020905b815481529060010190602001808311612871575b5050915050908152602001604051809103902060090160009054906101000a900460ff1660018111156128b457fe5b141561298857600460058111156128c757fe5b60018190555061290c604060405190810160405280601681526020017f7570646174652066696c65206e6f7420657869737473000000000000000000008152506134af565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260168152602001807f7570646174652066696c65206e6f7420657869737473000000000000000000008152506020019250505060405180910390a160009050612c45565b6001600560090160006101000a81548160ff021916908360018111156129aa57fe5b02179055506103e842026005600301819055506005600260056000016040518082805460018160011615610100020316600290048015612a215780601f106129ff576101008083540402835291820191612a21565b820191906000526020600020905b815481529060010190602001808311612a0d575b5050915050908152602001604051809103902060008201816000019080546001816001161561010002031660029004612a5b9291906165c4565b5060018201816001019080546001816001161561010002031660029004612a839291906165c4565b50600282015481600201556003820154816003015560048201816004019080546001816001161561010002031660029004612abf9291906165c4565b5060058201816005019080546001816001161561010002031660029004612ae79291906165c4565b5060068201816006019080546001816001161561010002031660029004612b0f9291906165c4565b5060078201816007019080546001816001161561010002031660029004612b379291906165c4565b50600882015481600801556009820160009054906101000a900460ff168160090160006101000a81548160ff02191690836001811115612b7357fe5b021790555090505060006005811115612b8857fe5b600181905550612bcd604060405190810160405280601381526020017f7570646174652066696c652073756363657373000000000000000000000000008152506134af565b507fb5168e052c8ad10f5061a3fd9bdc8c4c0b52ca9a8b436e6c11c947156236e3d06001546040518082815260200180602001828103825260138152602001807f7570646174652066696c652073756363657373000000000000000000000000008152506020019250505060405180910390a1600190505b919050565b612c526164fd565b612c93600060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16614533565b90505b90565b600060015490505b90565b600060006000835191506020821115612cbc57602091505b60009250600090505b6020811015612d765781811015612d62578381815181101515612ce457fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f0100000000000000000000000000000000000000000000000000000000000000900460ff166101008402019250612d6a565b610100830292505b5b806001019050612cc5565b5b5050919050565b5b5050565b612d8b6164fd565b60006000604060405190810160405280601181526020017f7b22726574223a302c2264617461223a7b0000000000000000000000000000008152509250612e60612e19604060405190810160405280600581526020017f746f74616c0000000000000000000000000000000000000000000000000000008152506003805490506134e490919063ffffffff16565b604060405190810160405280600a81526020017f2c226974656d73223a5b000000000000000000000000000000000000000000008152508561385e9092919063ffffffff16565b925060009150600090505b60038054905081101561304a5760006001811115612e8557fe5b6002600383815481101515612e9657fe5b906000526020600020900160005b506040518082805460018160011615610100020316600290048015612f005780601f10612ede576101008083540402835291820191612f00565b820191906000526020600020905b815481529060010190602001808311612eec575b5050915050908152602001604051809103902060090160009054906101000a900460ff166001811115612f2f57fe5b14151561303c576000821115612f8b57612f88604060405190810160405280600181526020017f2c0000000000000000000000000000000000000000000000000000000000000081525084613a4290919063ffffffff16565b92505b60018201915061303961302a6002600384815481101515612fa857fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156130125780601f10612ff0576101008083540402835291820191613012565b820191906000526020600020905b815481529060010190602001808311612ffe575b50509150509081526020016040518091039020613aad565b84613a4290919063ffffffff16565b92505b5b8080600101915050612e6b565b613093604060405190810160405280600381526020017f5d7d7d000000000000000000000000000000000000000000000000000000000081525084613a4290919063ffffffff16565b92505b505090565b6130a36164fd565b6000600090505b60038054905081101561349457600060018111156130c457fe5b60026003838154811015156130d557fe5b906000526020600020900160005b50604051808280546001816001161561010002031660029004801561313f5780601f1061311d57610100808354040283529182019161313f565b820191906000526020600020905b81548152906001019060200180831161312b575b5050915050908152602001604051809103902060090160009054906101000a900460ff16600181111561316e57fe5b141580156132b457506132b384600260038481548110151561318c57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156131f65780601f106131d45761010080835404028352918201916131f6565b820191906000526020600020905b8154815290600101906020018083116131e2575b505091505090815260200160405180910390206001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132a05780601f10613275576101008083540402835291602001916132a0565b820191906000526020600020905b81548152906001019060200180831161328357829003601f168201915b50505050506138fe90919063ffffffff16565b5b801561335057508260026003838154811015156132cd57fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156133375780601f10613315576101008083540402835291820191613337565b820191906000526020600020905b815481529060010190602001808311613323575b5050915050908152602001604051809103902060020154145b1561348657600260038281548110151561336657fe5b906000526020600020900160005b5060405180828054600181600116156101000203166002900480156133d05780601f106133ae5761010080835404028352918201916133d0565b820191906000526020600020905b8154815290600101906020018083116133bc575b505091505090815260200160405180910390206000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561347a5780601f1061344f5761010080835404028352916020019161347a565b820191906000526020600020905b81548152906001019060200180831161345d57829003601f168201915b505050505091506134a8565b5b80806001019150506130aa565b602060405190810160405280600081525091505b5092915050565b60006134ba82612ca4565b60010260405180826000191660001916815260200191505060405180910390a0600090505b919050565b6134ec6164fd565b600060006000600060038651019350600087141561350f57600184019350613539565b8692505b600083111561353857600a8381151561352857fe5b0492508380600101945050613513565b5b836040518059106135475750595b908082528060200260200182016040525b509450600091507f2200000000000000000000000000000000000000000000000000000000000000858380600101945081518110151561359457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600090505b855181101561367d5785818151811015156135e057fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f010000000000000000000000000000000000000000000000000000000000000002858380600101945081518110151561363f57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b80806001019150506135c9565b7f220000000000000000000000000000000000000000000000000000000000000085838060010194508151811015156136b257fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f3a00000000000000000000000000000000000000000000000000000000000000858380600101945081518110151561371757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060018403915060008714156137bd5760307f010000000000000000000000000000000000000000000000000000000000000002858381518110151561378857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350613853565b5b6000871115613852576030600a888115156137d557fe5b06017f01000000000000000000000000000000000000000000000000000000000000000285838060019003945081518110151561380e57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8781151561384a57fe5b0496506137be565b5b5b5050505092915050565b6138666164fd565b60006000600060006000865188518a5101016040518059106138855750595b908082528060200260200182016040525b509550602089019450602088019350602087019250602086019150600090506138c3818301868b51614f98565b8851810190506138d7818301858a51614f98565b8751810190506138eb818301848951614f98565b8651810190505b50505050509392505050565b60006000825184511415156139165760009150613a3b565b600090505b8351811015613a3657828181518110151561393257fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191684828151811015156139ad57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141515613a2a5760009150613a3b565b5b80600101905061391b565b600191505b5092915050565b613a4a6164fd565b6000600060008451865101604051805910613a625750595b908082528060200260200182016040525b509350602086019250602085019150602084019050613a9481848851614f98565b613aa386518201838751614f98565b5b50505092915050565b613ab56164fd565b604060405190810160405280600181526020017f7b000000000000000000000000000000000000000000000000000000000000008152509050613c1d613bd6604060405190810160405280600281526020017f6964000000000000000000000000000000000000000000000000000000000000815250846000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613bc35780601f10613b9857610100808354040283529160200191613bc3565b820191906000526020600020905b815481529060010190602001808311613ba657829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b9050613d4e613d07604060405190810160405280600481526020017f686f737400000000000000000000000000000000000000000000000000000000815250846001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613cf45780601f10613cc957610100808354040283529160200191613cf4565b820191906000526020600020905b815481529060010190602001808311613cd757829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b9050613de7613da0604060405190810160405280600481526020017f706f72740000000000000000000000000000000000000000000000000000000081525084600201546134e490919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b9050613e80613e39604060405190810160405280600a81526020017f75706461746554696d650000000000000000000000000000000000000000000081525084600301546134e490919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b9050613fb1613f6a604060405190810160405280600881526020017f706f736974696f6e000000000000000000000000000000000000000000000000815250846005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613f575780601f10613f2c57610100808354040283529160200191613f57565b820191906000526020600020905b815481529060010190602001808311613f3a57829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90506140e261409b604060405190810160405280600581526020017f67726f7570000000000000000000000000000000000000000000000000000000815250846006018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156140885780601f1061405d57610100808354040283529160200191614088565b820191906000526020600020905b81548152906001019060200180831161406b57829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90506142136141cc604060405190810160405280600c81526020017f6f7267616e697a6174696f6e0000000000000000000000000000000000000000815250846004018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156141b95780601f1061418e576101008083540402835291602001916141b9565b820191906000526020600020905b81548152906001019060200180831161419c57829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90506142ac614265604060405190810160405280600681526020017f656e61626c65000000000000000000000000000000000000000000000000000081525084600801546134e490919063ffffffff16565b604060405190810160405280600181526020017f2c000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90506143dd614396604060405190810160405280600481526020017f696e666f00000000000000000000000000000000000000000000000000000000815250846007018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156143835780601f1061435857610100808354040283529160200191614383565b820191906000526020600020905b81548152906001019060200180831161436657829003601f168201915b5050505050614fe590919063ffffffff16565b604060405190810160405280600181526020017f7d000000000000000000000000000000000000000000000000000000000000008152508361385e9092919063ffffffff16565b90505b919050565b6143ed6164fd565b600060006000600085141561443a57604060405190810160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250935061452b565b600092508491505b600082111561446757600a8281151561445757fe5b0491508280600101935050614442565b8260ff166040518059106144785750595b908082528060200260200182016040525b5093506001830390505b600085111561452a576030600a868115156144aa57fe5b06017f01000000000000000000000000000000000000000000000000000000000000000284828060019003935060ff168151811015156144e657fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8581151561452257fe5b049450614493565b5b505050919050565b61453b6164fd565b61454361666d565b6000600060006000602860405180591061455a5750595b908082528060200260200182016040525b509450600093505b6014841015614737578360130360080260020a8773ffffffffffffffffffffffffffffffffffffffff168115156145a657fe5b047f01000000000000000000000000000000000000000000000000000000000000000292506010837f0100000000000000000000000000000000000000000000000000000000000000900460ff168115156145fd57fe5b047f0100000000000000000000000000000000000000000000000000000000000000029150817f01000000000000000000000000000000000000000000000000000000000000009004601002837f01000000000000000000000000000000000000000000000000000000000000009004037f010000000000000000000000000000000000000000000000000000000000000002905061469b82615260565b85856002028151811015156146ac57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506146e581615260565b85600186600202018151811015156146f957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8380600101945050614573565b8495505b5050505050919050565b61474d6164fd565b60006000602a6040518059106147605750595b908082528060200260200182016040525b5092507f30000000000000000000000000000000000000000000000000000000000000008360008151811015156147a457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000083600181518110151561480457fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350602991505b60028260ff1610151561494b57600f8416905060108481151561485857fe5b049350600a8160ff1610156148d357603081017f010000000000000000000000000000000000000000000000000000000000000002838360ff1681518110151561489e57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061493e565b6061600a8203017f010000000000000000000000000000000000000000000000000000000000000002838360ff1681518110151561490d57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b81600190039150614839565b5b5050919050565b61495b6164fd565b6000600060006000600060008714156149ac57604060405190810160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509550614b28565b869450600193506000925060008712156149d3578660000394506000935082806001019350505b8491505b60008211156149fc57600a828115156149ec57fe5b04915082806001019350506149d7565b8260ff16604051805910614a0d5750595b908082528060200260200182016040525b509550831515614a89577f2d00000000000000000000000000000000000000000000000000000000000000866000815181101515614a5857fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b6001830390505b6000851115614b27576030600a86811515614aa757fe5b06017f01000000000000000000000000000000000000000000000000000000000000000286828060019003935060ff16815181101515614ae357fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85811515614b1f57fe5b049450614a90565b5b5050505050919050565b6000614b3d83614e5a565b614b86604060405190810160405280600281526020017f69640000000000000000000000000000000000000000000000000000000000008152508361535590919063ffffffff16565b836000019080519060200190614b9d929190616681565b50614be7604060405190810160405280600481526020017f686f7374000000000000000000000000000000000000000000000000000000008152508361535590919063ffffffff16565b836001019080519060200190614bfe929190616681565b50614c48604060405190810160405280600481526020017f706f72740000000000000000000000000000000000000000000000000000000081525083615aa590919063ffffffff16565b8360020181905550614c99604060405190810160405280600881526020017f706f736974696f6e0000000000000000000000000000000000000000000000008152508361535590919063ffffffff16565b836005019080519060200190614cb0929190616681565b50614cfa604060405190810160405280600581526020017f67726f75700000000000000000000000000000000000000000000000000000008152508361535590919063ffffffff16565b836006019080519060200190614d11929190616681565b50614d5b604060405190810160405280600c81526020017f6f7267616e697a6174696f6e00000000000000000000000000000000000000008152508361535590919063ffffffff16565b836004019080519060200190614d72929190616681565b50614dbc604060405190810160405280600481526020017f696e666f000000000000000000000000000000000000000000000000000000008152508361535590919063ffffffff16565b836007019080519060200190614dd3929190616681565b50614e1d604060405190810160405280600681526020017f656e61626c65000000000000000000000000000000000000000000000000000081525083615aa590919063ffffffff16565b83600801819055506000836000018054600181600116156101000203166002900490501415614e4f5760009050614e54565b600190505b92915050565b6020604051908101604052806000815250816000019080519060200190614e82929190616681565b506020604051908101604052806000815250816001019080519060200190614eab929190616681565b5060008160020181905550600081600301819055506020604051908101604052806000815250816005019080519060200190614ee8929190616681565b506020604051908101604052806000815250816004019080519060200190614f11929190616681565b506020604051908101604052806000815250816007019080519060200190614f3a929190616681565b506020604051908101604052806000815250816006019080519060200190614f63929190616681565b506000816008018190555060008160090160006101000a81548160ff02191690836001811115614f8f57fe5b02179055505b50565b60005b602082101515614fc157825184526020840193506020830192505b602082039150614f9b565b6001826020036101000a039050801983511681855116818117865250505b50505050565b614fed6164fd565b6000600060006000600586518851010160405180591061500a5750595b908082528060200260200182016040525b509450602087019350602086019250602085019150600090507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561506957fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506150a7818301848851614f98565b8551810190507f220000000000000000000000000000000000000000000000000000000000000085828060010193508151811015156150e257fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f3a00000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561514757fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f220000000000000000000000000000000000000000000000000000000000000085828060010193508151811015156151ac57fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506151ea818301858951614f98565b8651810190507f2200000000000000000000000000000000000000000000000000000000000000858280600101935081518110151561522557fe5b9060200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5050505092915050565b6000600a7f010000000000000000000000000000000000000000000000000000000000000002827effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191610156152ff576030827f01000000000000000000000000000000000000000000000000000000000000009004017f0100000000000000000000000000000000000000000000000000000000000000029050615350565b6057827f01000000000000000000000000000000000000000000000000000000000000009004017f0100000000000000000000000000000000000000000000000000000000000000029050615350565b5b919050565b61535d6164fd565b6000600060006000600060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600094505b6001156158ae5761542d61541c89604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f220000000000000000000000000000000000000000000000000000000000000081525061385e9092919063ffffffff16565b868b61634e9092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86141561551c576154ec6154db89604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f270000000000000000000000000000000000000000000000000000000000000081525061385e9092919063ffffffff16565b868b61634e9092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff86141561551b57615a99565b5b600288510186019550600093505b885186101561588c577f2000000000000000000000000000000000000000000000000000000000000000898781518110151561556257fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061567457507f0900000000000000000000000000000000000000000000000000000000000000898781518110151561560557fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061571857507f0d0000000000000000000000000000000000000000000000000000000000000089878151811015156156a957fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806157bc57507f0a00000000000000000000000000000000000000000000000000000000000000898781518110151561574d57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156157ce578580600101965050615887565b7f3a0000000000000000000000000000000000000000000000000000000000000089878151811015156157fd57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156158815785806001019650506001935061588c565b61588c565b5b61552a565b885186141561589a57615a99565b83156158a5576158ae565b8594505b615391565b600192506158fd604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250878b61634e9092919063ffffffff16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156159a65760009250615976604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250878b61634e9092919063ffffffff16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156159a557615a99565b5b6001820191508215615a04576159fd604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250838b61634e9092919063ffffffff16565b9050615a52565b615a4f604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250838b61634e9092919063ffffffff16565b90505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811415615a7f57615a99565b615a96828383038b6163b89092919063ffffffff16565b96505b50505050505092915050565b6000600060006000600060006000600096507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600094505b600115615ffc57615b7b615b6a89604060405190810160405280600181526020017f2200000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f220000000000000000000000000000000000000000000000000000000000000081525061385e9092919063ffffffff16565b868b61634e9092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415615c6a57615c3a615c2989604060405190810160405280600181526020017f2700000000000000000000000000000000000000000000000000000000000000815250604060405190810160405280600181526020017f270000000000000000000000000000000000000000000000000000000000000081525061385e9092919063ffffffff16565b868b61634e9092919063ffffffff16565b95507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861415615c6957616342565b5b600288510186019550600093505b8851861015615fda577f20000000000000000000000000000000000000000000000000000000000000008987815181101515615cb057fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480615dc257507f09000000000000000000000000000000000000000000000000000000000000008987815181101515615d5357fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80615e6657507f0d000000000000000000000000000000000000000000000000000000000000008987815181101515615df757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80615f0a57507f0a000000000000000000000000000000000000000000000000000000000000008987815181101515615e9b57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15615f1c578580600101965050615fd5565b7f3a000000000000000000000000000000000000000000000000000000000000008987815181101515615f4b57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415615fcf57858060010196505060019350615fda565b615fda565b5b615c78565b8851861415615fe857616342565b8315615ff357615ffc565b8594505b615adf565b8592505b88518310156160f957888381518110151561601757fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004915060208260ff16148061609c575060098260ff16145b806160aa5750600d8260ff16145b806160b85750600a8260ff16145b806160c65750603a8260ff16145b806160d4575060228260ff16145b806160e2575060278260ff16145b15156160ed576160f9565b5b826001019250616000565b600190507f2b00000000000000000000000000000000000000000000000000000000000000898481518110151561612c57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614156161b057600190508280600101935050616260565b7f2d0000000000000000000000000000000000000000000000000000000000000089848151811015156161df57fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141561625f576000905082806001019350505b5b5b885183101561633357888381518110151561627857fe5b9060200101517f010000000000000000000000000000000000000000000000000000000000000090047f0100000000000000000000000000000000000000000000000000000000000000027f01000000000000000000000000000000000000000000000000000000000000009004915060308260ff1610158015616300575060398260ff1611155b151561631957801515616314578660000396505b616342565b6030820360ff16600a88020196505b826001019250616261565b801515616341578660000396505b5b50505050505092915050565b6000600060006000602087019250602086019150826163758689510387860189518661643d565b0390508651811015616389578093506163ad565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff93505b5b5050509392505050565b6163c06164fd565b60006000848651038411156163d6578486510393505b6000841115156163f85760206040519081016040528060008152509250616434565b836040518059106164065750595b908082528060200260200182016040525b5092506020860191506020830190506164338186840186614f98565b5b50509392505050565b6000600060006000600088871115156164eb576020871115156164a05760018760200360080260020a031980875116888b038a018a96505b81838851161461649557600187019650806001880310616475578b8b0196505b5050508394506164f1565b8686209150879350600092505b868903831115156164e95786842090508060001916826000191614156164d5578394506164f1565b6001840193505b82806001019350506164ad565b5b5b88880194505b50505050949350505050565b602060405190810160405280600081525090565b815481835581811511616538578183600052602060002091820191016165379190616701565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061657657805485556165b3565b828001600101855582156165b357600052602060002091601f016020900482015b828111156165b2578254825591600101919060010190616597565b5b5090506165c0919061672d565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106165fd578054855561663a565b8280016001018555821561663a57600052602060002091601f016020900482015b8281111561663957825482559160010191906001019061661e565b5b509050616647919061672d565b5090565b50805460008255906000526020600020908101906166699190616701565b5b50565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106166c257805160ff19168380011785556166f0565b828001600101855582156166f0579182015b828111156166ef5782518255916020019190600101906166d4565b5b5090506166fd919061672d565b5090565b61672a91905b80821115616726576000818161671d9190616752565b50600101616707565b5090565b90565b61674f91905b8082111561674b576000816000905550600101616733565b5090565b90565b50805460018160011615610100020316600290046000825580601f106167785750616797565b601f016020900490600052602060002090810190616796919061672d565b5b505600a165627a7a723058207d38a4282109fb1bcf9d5b907c22b68bb4365c77b44eb111c67885a7a8e325a20029";
private FileServerManager(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit, Boolean isInitByName) {
super(BINARY, contractAddress, web3j, credentials, gasPrice, gasLimit, isInitByName);
if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY);
}
private FileServerManager(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit, Boolean isInitByName) {
super(BINARY, contractAddress, web3j, transactionManager, gasPrice, gasLimit, isInitByName);
if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY);
}
private FileServerManager(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
super(BINARY, contractAddress, web3j, credentials, gasPrice, gasLimit, false);
if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY);
}
private FileServerManager(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
super(BINARY, contractAddress, web3j, transactionManager, gasPrice, gasLimit, false);
if(EncryptType.encryptType == 1) super.setContractBinary(GUOMI_BINARY);
}
public static List getNotifyEvents(TransactionReceipt transactionReceipt) {
final Event event = new Event("Notify",
Arrays.>asList(),
Arrays.>asList(new TypeReference() {}, new TypeReference() {}));
List valueList = extractEventParameters(event, transactionReceipt);
ArrayList responses = new ArrayList(valueList.size());
for (EventValues eventValues : valueList) {
NotifyEventResponse typedResponse = new NotifyEventResponse();
typedResponse._errno = (Uint256) eventValues.getNonIndexedValues().get(0);
typedResponse._info = (Utf8String) eventValues.getNonIndexedValues().get(1);
responses.add(typedResponse);
}
return responses;
}
public Observable notifyEventObservable(DefaultBlockParameter startBlock, DefaultBlockParameter endBlock) {
final Event event = new Event("Notify",
Arrays.>asList(),
Arrays.>asList(new TypeReference() {}, new TypeReference() {}));
EthFilter filter = new EthFilter(startBlock, endBlock, getContractAddress());
filter.addSingleTopic(EventEncoder.encode(event));
return web3j.ethLogObservable(filter).map(new Func1() {
@Override
public NotifyEventResponse call(Log log) {
EventValues eventValues = extractEventParameters(event, log);
NotifyEventResponse typedResponse = new NotifyEventResponse();
typedResponse._errno = (Uint256) eventValues.getNonIndexedValues().get(0);
typedResponse._info = (Utf8String) eventValues.getNonIndexedValues().get(1);
return typedResponse;
}
});
}
public Future getErrno() {
Function function = new Function("getErrno",
Arrays.asList(),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future stringToUint(Utf8String _str) {
Function function = new Function("stringToUint",
Arrays.asList(_str),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future listByGroup(Utf8String _group) {
Function function = new Function("listByGroup",
Arrays.asList(_group),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future deleteById(Utf8String _serverId) {
Function function = new Function("deleteById", Arrays.asList(_serverId), Collections.>emptyList());
return executeTransactionAsync(function);
}
public void deleteById(Utf8String _serverId, TransactionSucCallback callback) {
Function function = new Function("deleteById", Arrays.asList(_serverId), Collections.>emptyList());
executeTransactionAsync(function, callback);
}
public Future log(Utf8String _str, Utf8String _str2, Utf8String _topic) {
Function function = new Function("log",
Arrays.asList(_str, _str2, _topic),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future log(Utf8String _str, Address _addr) {
Function function = new Function("log",
Arrays.asList(_str, _addr),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future log(Utf8String _str, Int256 _i) {
Function function = new Function("log",
Arrays.asList(_str, _i),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future update(Utf8String _json) {
Function function = new Function("update", Arrays.asList(_json), Collections.>emptyList());
return executeTransactionAsync(function);
}
public void update(Utf8String _json, TransactionSucCallback callback) {
Function function = new Function("update", Arrays.asList(_json), Collections.>emptyList());
executeTransactionAsync(function, callback);
}
public Future register(Utf8String _name, Utf8String _version) {
Function function = new Function("register", Arrays.asList(_name, _version), Collections.>emptyList());
return executeTransactionAsync(function);
}
public void register(Utf8String _name, Utf8String _version, TransactionSucCallback callback) {
Function function = new Function("register", Arrays.asList(_name, _version), Collections.>emptyList());
executeTransactionAsync(function, callback);
}
public Future log(Utf8String _str) {
Function function = new Function("log",
Arrays.asList(_str),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future kill() {
Function function = new Function("kill", Arrays.asList(), Collections.>emptyList());
return executeTransactionAsync(function);
}
public void kill(TransactionSucCallback callback) {
Function function = new Function("kill", Arrays.asList(), Collections.>emptyList());
executeTransactionAsync(function, callback);
}
public Future log(Utf8String _str, Utf8String _topic) {
Function function = new Function("log",
Arrays.asList(_str, _topic),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future getSender() {
Function function = new Function("getSender",
Arrays.asList(),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future listAll() {
Function function = new Function("listAll",
Arrays.asList(),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future find(Utf8String _serverId) {
Function function = new Function("find",
Arrays.asList(_serverId),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future getOwner() {
Function function = new Function("getOwner",
Arrays.asList(),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future isServerEnable(Utf8String _serverId) {
Function function = new Function("isServerEnable",
Arrays.asList(_serverId),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future getCount() {
Function function = new Function("getCount",
Arrays.asList(),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future insert(Utf8String _json) {
Function function = new Function("insert", Arrays.asList(_json), Collections.>emptyList());
return executeTransactionAsync(function);
}
public void insert(Utf8String _json, TransactionSucCallback callback) {
Function function = new Function("insert", Arrays.asList(_json), Collections.>emptyList());
executeTransactionAsync(function, callback);
}
public Future enable(Utf8String _serverId, Uint256 _enable) {
Function function = new Function("enable", Arrays.asList(_serverId, _enable), Collections.>emptyList());
return executeTransactionAsync(function);
}
public void enable(Utf8String _serverId, Uint256 _enable, TransactionSucCallback callback) {
Function function = new Function("enable", Arrays.asList(_serverId, _enable), Collections.>emptyList());
executeTransactionAsync(function, callback);
}
public Future log(Utf8String _str, Uint256 _ui) {
Function function = new Function("log",
Arrays.asList(_str, _ui),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public Future findIdByHostPort(Utf8String _host, Uint256 _port) {
Function function = new Function("findIdByHostPort",
Arrays.asList(_host, _port),
Arrays.>asList(new TypeReference() {}));
return executeCallSingleValueReturnAsync(function);
}
public static Future deploy(Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit, BigInteger initialWeiValue) {
if(EncryptType.encryptType == 1) setBinary(getGuomiBinary());
return deployAsync(FileServerManager.class, web3j, credentials, gasPrice, gasLimit, BINARY, "", initialWeiValue);
}
public static Future deploy(Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit, BigInteger initialWeiValue) {
if(EncryptType.encryptType == 1) setBinary(getGuomiBinary());
return deployAsync(FileServerManager.class, web3j, transactionManager, gasPrice, gasLimit, BINARY, "", initialWeiValue);
}
public static FileServerManager load(String contractAddress, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
return new FileServerManager(contractAddress, web3j, credentials, gasPrice, gasLimit, false);
}
public static FileServerManager load(String contractAddress, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
return new FileServerManager(contractAddress, web3j, transactionManager, gasPrice, gasLimit, false);
}
public static FileServerManager loadByName(String contractName, Web3j web3j, Credentials credentials, BigInteger gasPrice, BigInteger gasLimit) {
return new FileServerManager(contractName, web3j, credentials, gasPrice, gasLimit, true);
}
public static FileServerManager loadByName(String contractName, Web3j web3j, TransactionManager transactionManager, BigInteger gasPrice, BigInteger gasLimit) {
return new FileServerManager(contractName, web3j, transactionManager, gasPrice, gasLimit, true);
}
public static void setBinary(String binary) {
BINARY = binary;
}
public static String getGuomiBinary() {
return GUOMI_BINARY;
}
public static class NotifyEventResponse {
public Uint256 _errno;
public Utf8String _info;
}
}