wemix-logo
WEMIX3.0 Explorer

Contract

0x3a4e4d90d250fc9c43a14a4a8e99a81a630d3393
Contract Name
N/A
Optimization Enabled
No
Compiler Version
N/A
EVM Version
N/A
License
N/A
Audited
No
Contract Security Audit
No contract security audit has been submitted
Submit Audit
Contract Creation Code
0x6080604052600436106100e75760003560e01c80637d6ca0c01161008a578063d3e1c28411610059578063d3e1c2841461021e578063df417d6c146103aa578063e33ba217146103c8578063e3e2b539146103e8576100ee565b80637d6ca0c01461032a578063a7e2cf8d1461034a578063b6549ecc1461036a578063bb03c3391461038a576100ee565b80632d9876cb116100c65780632d9876cb146102405780633a072e4e146102605780633f393dc8146102855780634b4018a7146102b2576100ee565b80156101c057806305d9dc2e146101ec578063187806841461021e576100ee565b366100ee57005b600036606030633f393dc86101068460048188614822565b6040518363ffffffff1660e01b815260040161012392919061484c565b6000604051808303816000875af192505050801561016357506040513d6000823e601f3d908101601f191682016040526101609190810190614966565b60015b61018b576101748260048186614822565b81019061018191906149eb565b92506101ac915050565b506101998260048186614822565b8101906101a69190614a4f565b93505050505b6101b581610408565b915050805190602001f35b3480156101cc57600080fd5b506101d5610578565b6040516101e3929190614ab1565b60405180910390f35b3480156101f857600080fd5b506004546001600160a01b03165b6040516001600160a01b0390911681526020016101e3565b34801561022a57600080fd5b5061023e610239366004614aff565b61125e565b005b34801561024c57600080fd5b5061023e61025b366004614b8c565b6112a3565b34801561026c57600080fd5b5042435b604080519283526020830191909152016101e3565b34801561029157600080fd5b506102a56102a0366004614c12565b6112b9565b6040516101e39190614c72565b3480156102be57600080fd5b506102d26102cd366004614c94565b611320565b6040516101e3919081518152602080830151908201526040808301516001600160a01b0390811691830191909152606080840151909116908201526080808301519082015260a0918201519181019190915260c00190565b34801561033657600080fd5b5061023e610345366004614d43565b6113d2565b34801561035657600080fd5b50610270610365366004614daf565b6114d3565b34801561037657600080fd5b5061023e610385366004614dfa565b6114f6565b34801561039657600080fd5b5061023e6103a5366004614e17565b611581565b3480156103b657600080fd5b506002546001600160a01b0316610206565b3480156103d457600080fd5b5061023e6103e3366004614dfa565b61165a565b3480156103f457600080fd5b5061023e610403366004614e88565b6116bb565b600080600080600080865160601415610439578680602001905181019061042f9190614ee3565b50965094506104fd565b60208701519550602080880101519450606a875111156104a35750505060548401516074850151606b860151600160e81b90910491906110008311156104905761048561100084614f31565b925060019350610495565b600093505b6104a36000838387876116cf565b6095875111156104fd57505050607f840151609f8501516096860151600160e81b90910491906110008311156104ea576104df61100084614f31565b9250600193506104ef565b600093505b6104fd6000838387876116cf565b60405163a9059cbb60e01b81526001600160a01b0386169063a9059cbb9061052b9033908a90600401614f48565b6020604051808303816000875af115801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e9190614f61565b5050505050505050565b604080516003808252608082019092526000916060919060208201838036833701905050905060005a604080518082019091526000808252602082015290915060008060008060008060008060003660688110156105fa576000516014603c8237600160601b815104925060038101905060036050823751600160e81b90049d505b806091101561062d57600051601460678237600160601b81510492506003810190506003607b823751600160e81b90049d505b506040516004808237600160e01b8151049650600481019050600460088237600160e01b81510493506004810190506004600c8237600160e01b81510492506001810190506001601082378051600160f81b90049950602001601460118237600160601b81510495506003810190506003602582378051600160e81b9004975060200160146028823751600160601b900493506110008711156106e1576106d661100088614f31565b9650600197506106e6565b600097505b6110008d13156106ff576106fc6110008e614f7e565b9c505b600a8962ffffff1611156107485761071d86868b62ffffff16612cd1565b945061072a60108a614fbd565b9850600a8962ffffff1611156107485761074560108a614fbd565b98505b6001600160a01b038086168b52811660208b0152600787148061076b575060c887115b1561078e576000878152600560205260409020600201546001600160a01b03168a525b8c6007148061079d575060c88d135b156107c55760008d8152600560209081526040909120600201546001600160a01b0316908b01525b8862ffffff16600814806107de57508862ffffff166006145b806107ee57508862ffffff166009145b1561091e57895160208b015160405163a7e2cf8d60e01b81526000928392309263a7e2cf8d926108249290918b90600401614fe1565b60408051808303816000875af192505050801561085e575060408051601f3d908101601f1916820190925261085b91810190615004565b60015b610867576108db565b50508b5160208d015160405163a7e2cf8d60e01b8152309263a7e2cf8d92610893928b90600401614fe1565b60408051808303816000875af11580156108b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d59190615004565b90925090505b818e6001815181106108ef576108ef615028565b602002602001018181525050808e60028151811061090f5761090f615028565b60200260200101818152505050505b8361092b87858584612d3a565b91985094509250600062ffffff8b16158061094b57508a62ffffff166009145b8061095b57508a62ffffff166008145b15610b46578a62ffffff16600914156109ed576002546040516323b872dd60e01b81526001600160a01b039182166004820152306024820152604481018a9052908316906323b872dd906064016020604051808303816000875af11580156109c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109eb9190614f61565b505b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a55919061503e565b6040805136600481018252602082018c9052918101899052919250603b19016060820181603c8237601f910101601f1916604052600862ffffff8d161415610b1d57306001600160a01b0316632d9876cb8a8a8a8f8f876040518763ffffffff1660e01b8152600401610acd96959493929190615057565b600060405180830381600087803b158015610ae757600080fd5b505af1925050508015610af8575060015b610b1857650102b36211c6199f5050505050505050505050505050509091565b610b40565b610b328d600001518e60200151898989612e2d565b610b408989898e8e86612ee0565b50611075565b6002546040516323b872dd60e01b81526001600160a01b039182166004820152306024820152604481018a9052908316906323b872dd906064016020604051808303816000875af1158015610b9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc39190614f61565b506040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610c08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2c919061503e565b90508a62ffffff1660061415610cbf57306001600160a01b031663e3e2b5398989898e8e6040518663ffffffff1660e01b8152600401610c709594939291906150a4565b600060405180830381600087803b158015610c8a57600080fd5b505af1925050508015610c9b575060015b610cba57650102b36211c6199e50505050505050505050505050509091565b610ce1565b610cd48c600001518d60200151888888612e2d565b610ce18888888d8d6116cf565b368060661015610d29576040516014603c8237600160601b81510498506003810190506003605082378051600160e81b90049a5060200160146053823751600160601b900496505b50611000891115610d4b57610d406110008a614f31565b985060019950610d50565b600099505b6040516370a0823160e01b81523060048201526001600160a01b038716906370a0823190602401602060405180830381865afa158015610d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db8919061503e565b975060008811610e065760405162461bcd60e51b8152602060048201526014602482015273233ab1b59020b6b7bab73a24b7101e901816101960611b60448201526064015b60405180910390fd5b8a62ffffff1660061415610e9757306001600160a01b031663e3e2b5398989898e8e6040518663ffffffff1660e01b8152600401610e489594939291906150a4565b600060405180830381600087803b158015610e6257600080fd5b505af1925050508015610e73575060015b610e9257650102b36211c6199e50505050505050505050505050509091565b610ea4565b610ea48888888d8d6116cf565b60009550368060911015610ef057604051601460678237600160601b81510498506003810190506003607b82378051600160e81b90049a506020016014607e823751600160601b900496505b50611000891115610f1257610f076110008a614f31565b985060019950610f17565b600099505b6001600160a01b03861615611075576040516370a0823160e01b81523060048201526001600160a01b038716906370a0823190602401602060405180830381865afa158015610f6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8e919061503e565b975060008811610fd75760405162461bcd60e51b81526020600482015260146024820152734675636b20416d6f756e74496e203d20302c203360601b6044820152606401610dfd565b8a62ffffff166006141561106857306001600160a01b031663e3e2b5398989898e8e6040518663ffffffff1660e01b81526004016110199594939291906150a4565b600060405180830381600087803b15801561103357600080fd5b505af1925050508015611044575060015b61106357650102b36211c6199e50505050505050505050505050509091565b611075565b6110758888888d8d6116cf565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156110bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e0919061503e565b90506110ec8282614f7e565b9f508b62ffffff166006148061110757508b62ffffff166007145b8061111757508b62ffffff166008145b8061112757508b62ffffff166009145b15611170576002546001600160a01b031633148061114f57506003546001600160a01b031633145b61116b5760405162461bcd60e51b8152600401610dfd906150d3565b6111aa565b8181116111aa5760405162461bcd60e51b81526020600482015260086024820152674675636b20594f5560c01b6044820152606401610dfd565b60025460405163a9059cbb60e01b81526001600160a01b038581169263a9059cbb926111de92909116908590600401614f48565b6020604051808303816000875af11580156111fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112219190614f61565b505a61122d908f614f31565b8f60008151811061124057611240615028565b60200260200101818152505050505050505050505050505050509091565b61129d82828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061040892505050565b50505050565b6112b1868686868686612ee0565b505050505050565b60606000828060200190518101906112d191906150f1565b945091925050506001600160a01b038116301461131a5760405162461bcd60e51b81526020600482015260076024820152666164647265737360c81b6044820152606401610dfd565b50919050565b61136b6040518060c00160405280600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b5060ff16600090815260056020818152604092839020835160c0810185528154815260018201549281019290925260028101546001600160a01b0390811694830194909452600381015490931660608201526004830154608082015291015460a082015290565b6003546001600160a01b03163314806113f557506002546001600160a01b031633145b6114115760405162461bcd60e51b8152600401610dfd906150d3565b60005b825181101561129d5783818151811061142f5761142f615028565b60200260200101516001600160a01b031663095ea7b384838151811061145757611457615028565b6020026020010151846040518363ffffffff1660e01b815260040161147d929190614f48565b6020604051808303816000875af115801561149c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c09190614f61565b50806114cb81615149565b915050611414565b6000806114e0858461322c565b91506114ec848461322c565b9050935093915050565b6003546001600160a01b031633148061151957506002546001600160a01b031633145b6115355760405162461bcd60e51b8152600401610dfd906150d3565b600480546001600160a01b0383166001600160a01b03199182168117909255600080549091169091179055600180546001600160a01b0319166001600160a01b03831617905550565b50565b6003546001600160a01b03163314806115a457506002546001600160a01b031633145b6115c05760405162461bcd60e51b8152600401610dfd906150d3565b6040805160c08101825296875260208088019687526001600160a01b03958616888301908152948616606089019081526080890194855260a0890193845260ff909916600090815260059182905291909120965187559451600187015591516002860180549185166001600160a01b0319928316179055955160038601805491909416961695909517909155925160048301559151910155565b6003546001600160a01b031633148061167d57506002546001600160a01b031633145b6116995760405162461bcd60e51b8152600401610dfd906150d3565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6116c885858585856116cf565b5050505050565b6000818152600560205260409020600101546401000276a39073fffd8963efd1fc6a506488495d951d5263988d26908761176e576040516370a0823160e01b81523060048201526001600160a01b038716906370a0823190602401602060405180830381865afa158015611747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176b919061503e565b97505b600088116117b25760405162461bcd60e51b815260206004820152601160248201527004675636b20416d6f756e74496e203d203607c1b6044820152606401610dfd565b6064811015611ed2576000848152600560205260409020546001141561198f57806028141561191c576000848152600560205260409081902060020154905163a9059cbb60e01b81526001600160a01b038881169263a9059cbb9261181f92909116908c90600401614f48565b6020604051808303816000875af115801561183e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118629190614f61565b50604080516001600160a01b0388811660248301528981166044808401919091528351808403909101815260649092018352602080830180516001600160e01b0316631f2c13e160e31b17905260008881526005909152839020600201549251919216906118d1908390615164565b6000604051808303816000865af19150503d806000811461190e576040519150601f19603f3d011682016040523d82523d6000602084013e611913565b606091505b5050505061198f565b60405163a9059cbb60e01b81526001600160a01b0387169063a9059cbb9061194a908a908c90600401614f48565b6020604051808303816000875af1158015611969573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198d9190614f61565b505b80600114156119c557600084815260056020819052604090912060048101549101546119c091899130918a91613586565b61056e565b80600214156119d9576119c08730886137d3565b8060281415611a7657604080516001600160a01b038881166020830152308284018190526002606080850191909152845180850390910181526080840194859052637132bb7f60e01b909452908a1692637132bb7f92611a3f9290600090608401615180565b600060405180830381600087803b158015611a5957600080fd5b505af1158015611a6d573d6000803e3d6000fd5b5050505061056e565b8060031415611d09576000876001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611abf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae391906151c4565b90506000886001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4991906151c4565b604080516002808252606082018352929350600092839260208301908036833701905050905088611b7b578284611b7e565b83835b9050809250508981600081518110611b9857611b98615028565b60200260200101906001600160a01b031690816001600160a01b0316815250508181600181518110611bcc57611bcc615028565b60200260200101906001600160a01b031690816001600160a01b0316815250506000600560008a815260200190815260200160002060020160009054906101000a90046001600160a01b031690508a6001600160a01b031663095ea7b3828f6040518363ffffffff1660e01b8152600401611c48929190614f48565b6020604051808303816000875af1158015611c67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8b9190614f61565b506001600160a01b038116635c11d7958e60008530611cad42620186a06151e1565b6040518663ffffffff1660e01b8152600401611ccd9594939291906151f9565b600060405180830381600087803b158015611ce757600080fd5b505af1158015611cfb573d6000803e3d6000fd5b50505050505050505061056e565b8060041415611d8a5760405163029e02cd60e51b815285151560048201523060248201526001600160a01b038816906353c059a0906044016020604051808303816000875af1158015611d60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d84919061503e565b5061056e565b60008481526005602052604080822060038101549151635e95284160e01b815283926001600160a01b031691635e95284191611dd1918e918e918e918e919060040161526a565b6000604051808303816000875af1158015611df0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e189190810190615351565b9150915060005b8251811015611eca57828181518110611e3a57611e3a615028565b60200260200101516001600160a01b0316828281518110611e5d57611e5d615028565b6020026020010151604051611e729190615164565b6000604051808303816000865af19150503d8060008114611eaf576040519150601f19603f3d011682016040523d82523d6000602084013e611eb4565b606091505b5050508080611ec290615149565b915050611e1f565b50505061056e565b8060661480611ee15750806069145b156122db576000848152600560205260408120600201546001600160a01b031690611f0e89898989613a13565b9050735aea5775959fbc2557cc8789bc1bf90a239d9a916001600160a01b038916141561201a57604051632e1a7d4d60e01b8152600481018b9052739bd8c192a74566546f8998a29c1e0ca10a47c3599850735aea5775959fbc2557cc8789bc1bf90a239d9a9190632e1a7d4d90602401600060405180830381600087803b158015611f9957600080fd5b505af1158015611fad573d6000803e3d6000fd5b50505050739bd8c192a74566546f8998a29c1e0ca10a47c3596001600160a01b031663d0e30db08b6040518263ffffffff1660e01b81526004016000604051808303818588803b15801561200057600080fd5b505af1158015612014573d6000803e3d6000fd5b50505050505b735aea5775959fbc2557cc8789bc1bf90a239d9a916001600160a01b03821614156120565750739bd8c192a74566546f8998a29c1e0ca10a47c3595b60405163095ea7b360e01b81526001600160a01b0389169063095ea7b3906120849085908e90600401614f48565b6020604051808303816000875af11580156120a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c79190614f61565b5060006120d742620186a06151e1565b604051638638569960e01b81526001600160a01b038b811660048301528481166024830152604482018e90526000606483015230608483015260a482018390529192509084169063863856999060c4016020604051808303816000875af1158015612146573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216a919061503e565b50735aea5775959fbc2557cc8789bc1bf90a239d9a916001600160a01b0383161415611eca576040516370a0823160e01b8152306004820152739bd8c192a74566546f8998a29c1e0ca10a47c359906370a0823190602401602060405180830381865afa1580156121df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612203919061503e565b604051632e1a7d4d60e01b815260048101829052909b50739bd8c192a74566546f8998a29c1e0ca10a47c35990632e1a7d4d90602401600060405180830381600087803b15801561225357600080fd5b505af1158015612267573d6000803e3d6000fd5b50505050735aea5775959fbc2557cc8789bc1bf90a239d9a916001600160a01b031663d0e30db08c6040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122ba57600080fd5b505af11580156122ce573d6000803e3d6000fd5b505050505050505061056e565b80606514156123bb576001851515141561239157866001600160a01b031663857f812f308a620c34fe198a8d8d60405160200161231a93929190615415565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016123489493929190615438565b60408051808303816000875af1158015612366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238a9190615004565b505061056e565b866001600160a01b0316632c481252308a620c34ff8a8d8d60405160200161231a93929190615415565b80606a141561243a57866001600160a01b03166324b31a0c308a88896123eb576123e6600188615471565b6123f6565b6123f6886001615491565b8b8e8e60405160200161240b93929190615415565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016123489594939291906154bc565b80606c14806124495750806068145b156124c457866001600160a01b031663128acb0830878b8961247557612470600188615471565b612480565b612480886001615491565b8b8e8e60405160200161249593929190615415565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612348959493929190615502565b80606d14156125f8576000848152600560205260409081902060020154905163a9059cbb60e01b81526001600160a01b039182169188169063a9059cbb906125129084908d90600401614f48565b6020604051808303816000875af1158015612531573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125559190614f61565b5060006125658989896000613a13565b604051633ee101c160e11b81526001600160a01b038a811660048301528083166024830152604482018d905260006064830152306084830181905260a483015291925090831690637dc203829060c4016020604051808303816000875af11580156125d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eca919061503e565b80606e141561281857600061260e898988613a45565b6000868152600560205260409020600201546004549192506001600160a01b0390811691898216911614156126fc5760048054604051632e1a7d4d60e01b81529182018c90526001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561268157600080fd5b505af1158015612695573d6000803e3d6000fd5b50505050806001600160a01b03168a836040516126b29190615164565b60006040518083038185875af1925050503d80600081146126ef576040519150601f19603f3d011682016040523d82523d6000602084013e6126f4565b606091505b5050506127cc565b60405163095ea7b360e01b81526001600160a01b0389169063095ea7b39061272a9084908e90600401614f48565b6020604051808303816000875af1158015612749573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276d9190614f61565b50806001600160a01b0316826040516127869190615164565b6000604051808303816000865af19150503d80600081146127c3576040519150601f19603f3d011682016040523d82523d6000602084013e6127c8565b606091505b5050505b478015611eca576004805460408051630d0e30db60e41b815290516001600160a01b039092169263d0e30db0928592808301926000929182900301818588803b1580156122ba57600080fd5b806067141561287b57866001600160a01b031663c51c9029308a886000808c8f8f60405160200161284b93929190615415565b6040516020818303038152906040526040518763ffffffff1660e01b81526004016123489695949392919061553d565b806101f5141561289357600061260e89898989613dad565b806101f614156129b55760006128b088888864018d5d42aa613a13565b6000868152600560205260409081902060020154905163a9059cbb60e01b81529192506001600160a01b03808a169263a9059cbb926128f59216908d90600401614f48565b6020604051808303816000875af1158015612914573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129389190614f61565b5060008581526005602052604090819020600201549051634998b10960e11b81526001600160a01b039091169063933162129061297d908a9085903090600401614fe1565b600060405180830381600087803b15801561299757600080fd5b505af11580156129ab573d6000803e3d6000fd5b505050505061056e565b806101f71415612a9a576040805160c0810182526000602082018190529181018290526060808201839052608082019290925260a081019190915230815285612a0857612a03600184615471565b612a13565b612a13846001615491565b6001600160a01b03166020808301919091526001600160801b038a1660408084019190915260016060840152871515608084015251612a589189918c918c9101615415565b60408051601f1981840301815291815260a083019190915251637191f58760e11b81526001600160a01b0389169063e323eb0e9061297d90849060040161557a565b8061022b1415612b84576000848152600560205260409081902060030154905163a9059cbb60e01b81526001600160a01b038881169263a9059cbb92612ae892909116908c90600401614f48565b6020604051808303816000875af1158015612b07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2b9190614f61565b5060008481526005602052604090819020600301549051632ad06f9160e01b81526001600160a01b0389811660048301528881166024830152871515604483015230606483015290911690632ad06f9190608401611a3f565b600084815260056020526040808220600381015491516392fe313760e01b815283926001600160a01b0316916392fe313791612bcb918e918e918e918e919060040161526a565b6000604051808303816000875af1158015612bea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612c129190810190615351565b9150915060005b8251811015612cc457828181518110612c3457612c34615028565b60200260200101516001600160a01b0316828281518110612c5757612c57615028565b6020026020010151604051612c6c9190615164565b6000604051808303816000865af19150503d8060008114612ca9576040519150601f19603f3d011682016040523d82523d6000602084013e612cae565b606091505b5050508080612cbc90615149565b915050612c19565b5050505050505050505050565b600080612cdf8560646151e1565b604051602001612cf191815260200190565b6040516020818303038152906040528051906020012060001c905060006020841015612d2657612d218286615491565b612d30565b612d308583615471565b9695505050505050565b600080600080846001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da291906155e0565b90508060ff1660121415612de957612dc0886509184e72a0006155fd565b9350612dd38766038d7ea4c680006155fd565b9250612de68666038d7ea4c680006155fd565b91505b60078160ff161015612e2257612e01886127106155fd565b9350612e1087620f42406155fd565b9250612e1f86620f42406155fd565b91505b509450945094915050565b6000806000841180612e3f5750600083115b15612e5557612e4f878787613f1e565b90925090505b8315612e9657838210612e965760405162461bcd60e51b815260206004820152600960248201526804572726f72204243360bc1b6044820152606401610dfd565b8215612ed757828111612ed75760405162461bcd60e51b81526020600482015260096024820152684572726f722042433160b81b6044820152606401610dfd565b50505050505050565b6000828152600560205260409020600101546401000276a39073fffd8963efd1fc6a506488495d951d5263988d26906064811015612f68578060011415612f525760008581526005602081905260409091206004810154910154612f4d918b918b9130918c918a91614006565b613221565b8060021415612f4d57612f4d8989308a886141ca565b80606514156130305760018615151415612ffb5760405163857f812f60e01b81526001600160a01b0389169063857f812f90612fb29030908d90620c34fe19908a90600401615438565b60408051808303816000875af1158015612fd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ff49190615004565b5050613221565b604051631624092960e11b81526001600160a01b03891690632c48125290612fb29030908d90620c34ff908a90600401615438565b80606a141561308c57876001600160a01b03166324b31a0c308b898a6130605761305b600188615471565b61306b565b61306b886001615491565b896040518663ffffffff1660e01b8152600401612fb29594939291906154bc565b80606c148061309b5750806068145b156130f357876001600160a01b031663128acb0830888c8a6130c7576130c2600188615471565b6130d2565b6130d2886001615491565b896040518663ffffffff1660e01b8152600401612fb2959493929190615502565b80606714156131335760405163c51c902960e01b81526001600160a01b0389169063c51c902990612fb29030908d908b9060009081908c9060040161553d565b806101f71415613221576040805160c0810182526000602082018190529181018290526060808201839052608082019290925260a08101919091523081528661318657613181600184615471565b613191565b613191846001615491565b6001600160a01b0390811660208301526001600160801b038b1660408084019190915260016060840152881515608084015260a0830187905251637191f58760e11b8152908a169063e323eb0e906131ed90849060040161557a565b600060405180830381600087803b15801561320757600080fd5b505af115801561321b573d6000803e3d6000fd5b50505050505b505050505050505050565b6040516370a0823160e01b81526001600160a01b038381166004830152600091908316906370a0823190602401602060405180830381865afa158015613276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061329a919061503e565b9050806134475760408051600481526024810182526020810180516001600160e01b0316630240bc6b60e21b179052905160009081906001600160a01b038716906132e6908590615164565b6000604051808303816000865af19150503d8060008114613323576040519150601f19603f3d011682016040523d82523d6000602084013e613328565b606091505b509150915081156134435760008082516040141561335e57828060200190518101906133549190615638565b90925090506133ad565b825160601415613387578280602001905181019061337c919061566b565b5090925090506133ad565b600f835111156133ad57828060200190518101906133a591906156c2565b509193509150505b6000886001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061341191906151c4565b9050806001600160a01b0316886001600160a01b0316146134325781613434565b825b6001600160701b031696505050505b5050505b8061356b5760408051600481526024810182526020810180516001600160e01b0316631048cc2f60e21b179052905160009081906001600160a01b03871690613491908590615164565b6000604051808303816000865af19150503d80600081146134ce576040519150601f19603f3d011682016040523d82523d6000602084013e6134d3565b606091505b5091509150811561356757805115613567576060818060200190518101906134fb9190615716565b9050600061350a88600061430b565b509050806001600160a01b0316876001600160a01b031614613546578160028151811061353957613539615028565b6020026020010151613562565b8160018151811061355957613559615028565b60200260200101515b955050505b5050505b61357f6001600160a01b03841631826151e1565b9392505050565b60008590506000806000836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156135ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135f291906151c4565b9050600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613635573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613659919061566b565b506001600160701b031691506001600160701b03169150600080846001600160a01b03168b6001600160a01b031614613693578284613696565b83835b6040516370a0823160e01b81526001600160a01b038b81166004830152929450909250908c16906370a0823190602401602060405180830381865afa1580156136e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613707919061503e565b96506137138288614f31565b96506137228783838d8d614531565b955050505050600080826001600160a01b0316896001600160a01b03161461374c57836000613750565b6000845b6040805160008152602081019182905263022c0d9f60e01b90915291935091506001600160a01b0387169063022c0d9f9061379490859085908f906024810161579b565b600060405180830381600087803b1580156137ae57600080fd5b505af11580156137c2573d6000803e3d6000fd5b505050505050505050505050505050565b60008390506000846001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015613818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061383c91906151c4565b905060008060008061384d896146b4565b915091506000856001600160a01b0316886001600160a01b031614613873578183613876565b82825b506040516370a0823160e01b81526001600160a01b03898116600483015291925082918a16906370a0823190602401602060405180830381865afa1580156138c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e6919061503e565b6138f09190614f31565b6040516378a051ad60e11b8152600481018290526001600160a01b038a811660248301529196509088169063f140a35a90604401602060405180830381865afa158015613941573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613965919061503e565b9350505050600080846001600160a01b0316876001600160a01b03161461398e57826000613992565b6000835b6040805160008152602081019182905263022c0d9f60e01b90915291935091506001600160a01b0387169063022c0d9f906139d690859085908d906024810161579b565b600060405180830381600087803b1580156139f057600080fd5b505af1158015613a04573d6000803e3d6000fd5b50505050505050505050505050565b60008083613a305785613a268487615491565b612d219190615471565b82613a3b8787615491565b612d309190615471565b60408051600280825260608083018452926000929190602083019080368337019050509050600080613a7886600161430b565b9150915060008086613a8b578284613a8e565b83835b60008054929450909250906001600160a01b0380851691161415613af6576000546001600160a01b03166004604360981b011415613ae1575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee613af9565b50600080516020615920833981519152613af9565b50815b8086600081518110613b0d57613b0d615028565b60209081029190910101526000546001600160a01b0383811691161415613b78576000546001600160a01b03166004604360981b011415613b63575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee613b7b565b50600080516020615920833981519152613b7b565b50805b8086600181518110613b8f57613b8f615028565b6020908102919091010152604080516001808252818301909252600091816020015b6040805160608082018352600082526020808301829052928201528252600019909201910181613bb1579050509050896001600160a01b031660001b81600081518110613c0057613c00615028565b60209081029190910101515260408051600280825260608201909252908160200160208202803683370190505081600081518110613c4057613c40615028565b6020026020010151602001819052506040518060200160405280600081525081600081518110613c7257613c72615028565b60209081029190910101516040015280516001600160801b038c16908290600090613c9f57613c9f615028565b602002602001015160200151600081518110613cbd57613cbd615028565b6020908102919091010152805161010160f01b908290600090613ce257613ce2615028565b602002602001015160200151600181518110613d0057613d00615028565b602002602001018181525050600087516001600160401b03811115613d2757613d2761487b565b604051908082528060200260200182016040528015613d50578160200160208202803683370190505b509050600063d3115a8a898385604051602401613d6f93929190615803565b60408051601f198184030181529190526020810180516001600160e01b031660e09390931b9290921790915299505050505050505050509392505050565b60606000613dbc8585856147a0565b6001549091508490829060009086906001600160a01b0380861691161415613dea5760009350849250613e08565b6001546001600160a01b0386811691161415613e0857600093508792505b826001600160a01b0316846001600160a01b031610613e28578284613e2b565b83835b909450925080613e3e5762010002613e50565b6f0ffff5433e2b3d8211706e6102aa94715b604080516001600160a01b0387811660208301528616818301526101a460608201528315156080820181905260a08201526001600160801b038d811660c0830152600060e083018190529084166101008301526101208201819052610140808301919091528251808303909101815261016082019092529193509063a15112f990613ee3906001908490610184016158e0565b60408051601f198184030181529190526020810180516001600160e01b031660e09390931b929092179091529b9a5050505050505050505050565b60405163a7e2cf8d60e01b81526000908190309063a7e2cf8d90613f4a90889088908890600401614fe1565b60408051808303816000875af1925050508015613f84575060408051601f3d908101601f19168201909252613f8191810190615004565b60015b613f8d57613ffe565b505060405163a7e2cf8d60e01b8152309063a7e2cf8d90613fb690889088908890600401614fe1565b60408051808303816000875af1158015613fd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ff89190615004565b90925090505b935093915050565b6000869050600080826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561404c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061407091906151c4565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156140b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140d7919061566b565b506001600160701b031691506001600160701b03169150600080846001600160a01b03168b6001600160a01b031614614111578284614114565b83835b915091506141258e83838c8c614531565b955050505050600080826001600160a01b0316896001600160a01b03161461414f57836000614153565b6000845b60405163022c0d9f60e01b815291935091506001600160a01b0386169063022c0d9f9061418a90859085908f908e9060040161579b565b600060405180830381600087803b1580156141a457600080fd5b505af11580156141b8573d6000803e3d6000fd5b50505050505050505050505050505050565b60008490506000856001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561420f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061423391906151c4565b6040516378a051ad60e11b8152600481018990526001600160a01b03868116602483015291925060009184169063f140a35a90604401602060405180830381865afa158015614286573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142aa919061503e565b9050600080836001600160a01b0316876001600160a01b0316146142d0578260006142d4565b6000835b60405163022c0d9f60e01b815291935091506001600160a01b0386169063022c0d9f906131ed90859085908d908c9060040161579b565b60408051600481526024810182526020810180516001600160e01b03166338706d1f60e01b1790529051600091829182916001600160a01b038716916143519190615164565b6000604051808303816000865af19150503d806000811461438e576040519150601f19603f3d011682016040523d82523d6000602084013e614393565b606091505b509150506000818060200190518101906143ad9190615716565b9050806001815181106143c2576143c2615028565b602002602001015160008051602061592083398151915260001b14806144185750806001815181106143f6576143f6615028565b602002602001015173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60001b145b15614430576000546001600160a01b03169350614454565b60008160018151811061444557614445615028565b60200260200101519050809450505b8060028151811061446757614467615028565b602002602001015160008051602061592083398151915260001b14806144bd57508060028151811061449b5761449b615028565b602002602001015173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60001b145b156144d5576000546001600160a01b031692506144f9565b6000816002815181106144ea576144ea615028565b60200260200101519050809350505b841561452857826001600160a01b0316846001600160a01b03161061451f578284614522565b83835b90945092505b50509250929050565b60008086116145935760405162461bcd60e51b815260206004820152602860248201527f4d79563246616c7368737761703a20494e53554646494349454e545f494e50556044820152671517d05353d5539560c21b6064820152608401610dfd565b6000851180156145a35750600084115b6145fd5760405162461bcd60e51b815260206004820152602560248201527f4d79563246616c7368737761703a20494e53554646494349454e545f4c495155604482015264494449545960d81b6064820152608401610dfd565b8161465a57600061460e84886155fd565b9050600061461c86836155fd565b905060008261462d896127106155fd565b61463791906151e1565b90506103e861464682846158fd565b6146509190614f31565b93505050506146ab565b600061466685886155fd565b9050600061467488886151e1565b905061468081836158fd565b92506103e861271061469287866155fd565b61469c91906158fd565b6146a69190614f31565b925050505b95945050505050565b60408051600481526024810182526020810180516001600160e01b0316630240bc6b60e21b1790529051600091829182906001600160a01b038616906146fb908490615164565b6000604051808303816000865af19150503d8060008114614738576040519150601f19603f3d011682016040523d82523d6000602084013e61473d565b606091505b5091505060008082516060141561476d5782806020019051810190614762919061566b565b509092509050614789565b8280602001905181019061478191906156c2565b509193509150505b6001600160701b0391821697911695509350505050565b6001546000906001600160a01b03848116911614156147be57600092505b640465dd92316000836147e557856147d68387615491565b6147e09190615471565b6147fa565b816147f08787615491565b6147fa9190615471565b9050806001600160a01b038116612d3057506001546001600160a01b03169695505050505050565b6000808585111561483257600080fd5b8386111561483f57600080fd5b5050820193919092039150565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156148b9576148b961487b565b604052919050565b60006001600160401b038211156148da576148da61487b565b50601f01601f191660200190565b60005b838110156149035781810151838201526020016148eb565b8381111561129d5750506000910152565b600082601f83011261492557600080fd5b8151614938614933826148c1565b614891565b81815284602083860101111561494d57600080fd5b61495e8260208301602087016148e8565b949350505050565b60006020828403121561497857600080fd5b81516001600160401b0381111561498e57600080fd5b61495e84828501614914565b600082601f8301126149ab57600080fd5b81356149b9614933826148c1565b8181528460208386010111156149ce57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215614a0057600080fd5b833592506020840135915060408401356001600160401b03811115614a2457600080fd5b614a308682870161499a565b9150509250925092565b6001600160a01b038116811461157e57600080fd5b60008060008060808587031215614a6557600080fd5b8435614a7081614a3a565b9350602085013592506040850135915060608501356001600160401b03811115614a9957600080fd5b614aa58782880161499a565b91505092959194509250565b6000604082018483526020604081850152818551808452606086019150828701935060005b81811015614af257845183529383019391830191600101614ad6565b5090979650505050505050565b60008060008060608587031215614b1557600080fd5b843593506020850135925060408501356001600160401b0380821115614b3a57600080fd5b818701915087601f830112614b4e57600080fd5b813581811115614b5d57600080fd5b886020828501011115614b6f57600080fd5b95989497505060200194505050565b801515811461157e57600080fd5b60008060008060008060c08789031215614ba557600080fd5b863595506020870135614bb781614a3a565b94506040870135614bc781614a3a565b93506060870135614bd781614b7e565b92506080870135915060a08701356001600160401b03811115614bf957600080fd5b614c0589828a0161499a565b9150509295509295509295565b600060208284031215614c2457600080fd5b81356001600160401b03811115614c3a57600080fd5b61495e8482850161499a565b60008151808452614c5e8160208601602086016148e8565b601f01601f19169290920160200192915050565b60208152600061357f6020830184614c46565b60ff8116811461157e57600080fd5b600060208284031215614ca657600080fd5b813561357f81614c85565b60006001600160401b03821115614cca57614cca61487b565b5060051b60200190565b600082601f830112614ce557600080fd5b81356020614cf561493383614cb1565b82815260059290921b84018101918181019086841115614d1457600080fd5b8286015b84811015614d38578035614d2b81614a3a565b8352918301918301614d18565b509695505050505050565b600080600060608486031215614d5857600080fd5b83356001600160401b0380821115614d6f57600080fd5b614d7b87838801614cd4565b94506020860135915080821115614d9157600080fd5b50614d9e86828701614cd4565b925050604084013590509250925092565b600080600060608486031215614dc457600080fd5b8335614dcf81614a3a565b92506020840135614ddf81614a3a565b91506040840135614def81614a3a565b809150509250925092565b600060208284031215614e0c57600080fd5b813561357f81614a3a565b600080600080600080600060e0888a031215614e3257600080fd5b8735614e3d81614c85565b965060208801359550604088013594506060880135614e5b81614a3a565b93506080880135614e6b81614a3a565b9699959850939692959460a0840135945060c09093013592915050565b600080600080600060a08688031215614ea057600080fd5b853594506020860135614eb281614a3a565b93506040860135614ec281614a3a565b92506060860135614ed281614b7e565b949793965091946080013592915050565b600080600060608486031215614ef857600080fd5b8351614f0381614a3a565b602085015160408601519194509250614def81614a3a565b634e487b7160e01b600052601160045260246000fd5b600082821015614f4357614f43614f1b565b500390565b6001600160a01b03929092168252602082015260400190565b600060208284031215614f7357600080fd5b815161357f81614b7e565b60008083128015600160ff1b850184121615614f9c57614f9c614f1b565b6001600160ff1b0384018313811615614fb757614fb7614f1b565b50500390565b600062ffffff83811690831681811015614fd957614fd9614f1b565b039392505050565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6000806040838503121561501757600080fd5b505080516020909101519092909150565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561505057600080fd5b5051919050565b8681526001600160a01b0386811660208301528516604082015283151560608201526080810183905260c060a0820181905260009061509890830184614c46565b98975050505050505050565b9485526001600160a01b0393841660208601529190921660408401529015156060830152608082015260a00190565b6020808252600490820152634675636b60e01b604082015260600190565b6000806000806080858703121561510757600080fd5b845161511281614a3a565b80945050602085015192506040850151915060608501516001600160401b0381111561513d57600080fd5b614aa587828801614914565b600060001982141561515d5761515d614f1b565b5060010190565b600082516151768184602087016148e8565b9190910192915050565b6080815260006151936080830186614c46565b6001600160a01b03948516602084810191909152939094166040830152508083036060909101526000825201919050565b6000602082840312156151d657600080fd5b815161357f81614a3a565b600082198211156151f4576151f4614f1b565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156152495784516001600160a01b031683529383019391830191600101615224565b50506001600160a01b03969096166060850152505050608001529392505050565b9485526001600160a01b03938416602086015291831660408501521515606084015280546080840152600181015460a08401526002810154821660c0840152600381015490911660e08301526004810154610100830152600501546101208201526101400190565b600082601f8301126152e357600080fd5b815160206152f361493383614cb1565b82815260059290921b8401810191818101908684111561531257600080fd5b8286015b84811015614d385780516001600160401b038111156153355760008081fd5b6153438986838b0101614914565b845250918301918301615316565b6000806040838503121561536457600080fd5b82516001600160401b038082111561537b57600080fd5b818501915085601f83011261538f57600080fd5b8151602061539f61493383614cb1565b82815260059290921b840181019181810190898411156153be57600080fd5b948201945b838610156153e55785516153d681614a3a565b825294820194908201906153c3565b918801519196509093505050808211156153fe57600080fd5b5061540b858286016152d2565b9150509250929050565b6001600160a01b0393841681526020810192909252909116604082015260600190565b60018060a01b03851681526001600160801b03841660208201528260020b6040820152608060608201526000612d306080830184614c46565b60006001600160a01b0383811690831681811015614fd957614fd9614f1b565b60006001600160a01b038281168482168083038211156154b3576154b3614f1b565b01949350505050565b6001600160a01b0386811682526020820186905284151560408301528316606082015260a0608082018190526000906154f790830184614c46565b979650505050505050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190526000906154f790830184614c46565b60018060a01b03871681528560208201528415156040820152831515606082015282608082015260c060a0820152600061509860c0830184614c46565b60208152600060018060a01b03808451166020840152806020850151166040840152506001600160801b0360408401511660608301526060830151151560808301526080830151151560a083015260a083015160c08084015261495e60e0840182614c46565b6000602082840312156155f257600080fd5b815161357f81614c85565b600081600019048311821515161561561757615617614f1b565b500290565b80516001600160701b038116811461563357600080fd5b919050565b6000806040838503121561564b57600080fd5b6156548361561c565b91506156626020840161561c565b90509250929050565b60008060006060848603121561568057600080fd5b6156898461561c565b92506156976020850161561c565b9150604084015163ffffffff81168114614def57600080fd5b805161ffff8116811461563357600080fd5b600080600080608085870312156156d857600080fd5b6156e18561561c565b93506156ef6020860161561c565b92506156fd604086016156b0565b915061570b606086016156b0565b905092959194509250565b6000602080838503121561572957600080fd5b82516001600160401b0381111561573f57600080fd5b8301601f8101851361575057600080fd5b805161575e61493382614cb1565b81815260059190911b8201830190838101908783111561577d57600080fd5b928401925b828410156154f757835182529284019290840190615782565b84815283602082015260018060a01b0383166040820152608060608201526000612d306080830184614c46565b600081518084526020808501945080840160005b838110156157f8578151875295820195908201906001016157dc565b509495945050505050565b60006060808352615816818401876157c8565b83810360208581019190915286518083528782019282019060005b81811015615850578451600f0b83529383019391830191600101615831565b505060409250858103838701528087518083528383019150838160051b840101848a0160005b838110156158ce57601f19868403018552815180518452878101518a898601526158a28b8601826157c8565b918a0151858303868c01529190506158ba8183614c46565b968901969450505090860190600101615876565b50909c9b505050505050505050505050565b61ffff8316815260406020820152600061495e6040830184614c46565b60008261591a57634e487b7160e01b600052601260045260246000fd5b50049056feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea2646970667358221220440cc9c1613f0eb387c8e7690df82b370b23c8fc8f02ffdcd134f4ebe08f513464736f6c634300080a0033