VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0xE0dfc8…77bE
Summary
Transactions
Transfers
Address
0xE0dfc81d4e616C66b1A4F39259F8A23F194f77bE
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xf077b491b355E64048cE21E3A6Fc4751eEeA77fa
Deployer
0xf077b491b355E64048cE21E3A6Fc4751eEeA77fa
Code
0x6080604052600436106103af5760003560e01c806301ffc9a7146103b457806306fdde03146103e9578063081812fc1461040b578063095ea7b3146104385780630af645d51461045a5780630c0f1c841461047a5780630c394a60146104be57806316b3548f146104e057806318160ddd1461050057806320bcff5f1461052357806323b872dd14610543578063248a9ca31461056357806326f78e471461058357806329f7540b146105a35780632e17de78146105c55780632f2ff15d146105e55780632f745c591461060557806336568abe1461062557806339c753fc146106455780633f4ba83a14610658578063401a63c91461066d57806342842e0e1461068d578063432d975c146106ad578063454b0608146106da5780634abc56bf146106ed5780634bf5d7e91461070d5780634d4f6ea9146107225780634f1ef286146107425780634f6ccce71461075557806352d1902d1461077557806354fd4d501461078a57806355f804b31461079e57806359c87d14146107be57806359d50375146107d35780635c975abb146107f5578063604f21771461080a578063631d89fb146108345780636352211e1461085457806367528bcd146108745780636b72cdb8146108945780636c0360eb146108a95780636d779991146108be57806370a08231146108eb578063724b4fcf1461090b578063796c27c6146109205780637aee0158146109575780637dc29b7e146109775780638456cb591461099757806384e66840146109ac578063858d50e8146109cc57806391d14854146109ec57806391ddadf414610a0c57806395d89b4114610a215780639cdcad3814610a36578063a217fddf14610a4b578063a22cb46514610a60578063a498400914610a80578063a77ad11d14610aa0578063a780f53914610acd578063aca07dbc14610aed578063ad3cb1cc14610b0d578063aef0c8ee14610b3e578063af05355114610b76578063b04df7d714610b96578063b80777ea14610bb6578063b88d4fde14610bcb578063bf9d4a2114610beb578063c87b56dd14610c0b578063d011645c14610c2b578063d547741f14610c5d578063d621517e14610c7d578063d8da3bbf14610c9d578063de4ddf1114610cb0578063e1fac59414610cd0578063e4b50cb814610ce5578063e63ab1e914610d12578063e764c7c414610d34578063e79fdfa814610d61578063e985e9c514610d76578063ea66aeb314610d96578063ec87621c14610dc3578063f057248514610de5578063f72c0d8b14610e05578063fe933bed14610e27575b600080fd5b3480156103c057600080fd5b506103d46103cf36600461400b565b610e3c565b60405190151581526020015b60405180910390f35b3480156103f557600080fd5b506103fe610e4d565b6040516103e09190614078565b34801561041757600080fd5b5061042b61042636600461408b565b610eee565b6040516103e091906140a4565b34801561044457600080fd5b506104586104533660046140cf565b610f03565b005b34801561046657600080fd5b506104586104753660046143b3565b610f12565b34801561048657600080fd5b5061049a6104953660046143e7565b610f9e565b604080516001600160d01b03909316835263ffffffff9091166020830152016103e0565b3480156104ca57600080fd5b506104d3611032565b6040516103e09190614476565b3480156104ec57600080fd5b506104586104fb3660046144d8565b6110bf565b34801561050c57600080fd5b5061051561115d565b6040519081526020016103e0565b34801561052f57600080fd5b5061051561053e366004614591565b611172565b34801561054f57600080fd5b5061045861055e3660046145d2565b611209565b34801561056f57600080fd5b5061051561057e36600461408b565b61129d565b34801561058f57600080fd5b5061045861059e3660046146bb565b6112bd565b3480156105af57600080fd5b506105b86116b8565b6040516103e0919061481c565b3480156105d157600080fd5b506103d46105e036600461408b565b61173f565b3480156105f157600080fd5b50610458610600366004614869565b6117e8565b34801561061157600080fd5b506105156106203660046140cf565b611804565b34801561063157600080fd5b50610458610640366004614869565b611866565b6103d4610653366004614895565b61189e565b34801561066457600080fd5b5061045861194b565b34801561067957600080fd5b506104586106883660046148c5565b61196e565b34801561069957600080fd5b506104586106a83660046145d2565b6119f4565b3480156106b957600080fd5b506106cd6106c83660046148c5565b611a0f565b6040516103e091906148e0565b6103d46106e836600461408b565b611a9c565b3480156106f957600080fd5b5061045861070836600461491b565b611af4565b34801561071957600080fd5b506103fe611b67565b34801561072e57600080fd5b506103d461073d36600461408b565b611bdf565b610458610750366004614949565b611c62565b34801561076157600080fd5b5061051561077036600461408b565b611c7d565b34801561078157600080fd5b50610515611cde565b34801561079657600080fd5b506001610515565b3480156107aa57600080fd5b506104586107b9366004614996565b611cfb565b3480156107ca57600080fd5b5061042b611d59565b3480156107df57600080fd5b5061051560008051602061558083398151915281565b34801561080157600080fd5b506103d4611d79565b61081d6108183660046143e7565b611d8e565b6040805192151583526020830191909152016103e0565b34801561084057600080fd5b506103d461084f3660046148c5565b611e3b565b34801561086057600080fd5b5061042b61086f36600461408b565b611ebe565b34801561088057600080fd5b5061045861088f3660046148c5565b611ec9565b3480156108a057600080fd5b5061042b611f1a565b3480156108b557600080fd5b506103fe611f36565b3480156108ca57600080fd5b506108de6108d93660046143e7565b611f40565b6040516103e091906149ca565b3480156108f757600080fd5b506105156109063660046148c5565b612002565b34801561091757600080fd5b506106cd61205a565b34801561092c57600080fd5b5061094061093b36600461408b565b6120e1565b60405165ffffffffffff90911681526020016103e0565b34801561096357600080fd5b506104586109723660046140cf565b61210c565b34801561098357600080fd5b506104586109923660046148c5565b612138565b3480156109a357600080fd5b50610458612189565b3480156109b857600080fd5b506104586109c736600461408b565b6121a9565b3480156109d857600080fd5b506103d46109e736600461408b565b6121d4565b3480156109f857600080fd5b506103d4610a07366004614869565b61222c565b348015610a1857600080fd5b50610940612262565b348015610a2d57600080fd5b506103fe6122d1565b348015610a4257600080fd5b5061042b6122ee565b348015610a5757600080fd5b50610515600081565b348015610a6c57600080fd5b50610458610a7b3660046149dd565b61230a565b348015610a8c57600080fd5b506103d4610a9b3660046148c5565b612315565b348015610aac57600080fd5b50610ac0610abb36600461408b565b612339565b6040516103e09190614a09565b348015610ad957600080fd5b50610515610ae83660046148c5565b6123c1565b348015610af957600080fd5b50610515610b0836600461408b565b612449565b348015610b1957600080fd5b506103fe604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610b4a57600080fd5b50610b5e610b59366004614a1d565b612490565b6040516001600160d01b0390911681526020016103e0565b348015610b8257600080fd5b50610458610b913660046143e7565b612531565b348015610ba257600080fd5b506103d4610bb136600461408b565b612589565b348015610bc257600080fd5b506109406125cb565b348015610bd757600080fd5b50610458610be6366004614a4b565b612616565b348015610bf757600080fd5b50610ac0610c063660046148c5565b61262d565b348015610c1757600080fd5b506103fe610c2636600461408b565b612674565b348015610c3757600080fd5b50610c4b610c4636600461408b565b612743565b60405160ff90911681526020016103e0565b348015610c6957600080fd5b50610458610c78366004614869565b612766565b348015610c8957600080fd5b506103d4610c9836600461408b565b612782565b61081d610cab366004614ab2565b61280a565b348015610cbc57600080fd5b50610458610ccb366004614ad0565b6128c3565b348015610cdc57600080fd5b50610b5e612921565b348015610cf157600080fd5b50610d05610d0036600461408b565b6129a4565b6040516103e09190614b24565b348015610d1e57600080fd5b5061051560008051602061560083398151915281565b348015610d4057600080fd5b50610d54610d4f3660046148c5565b612a4d565b6040516103e09190614b32565b348015610d6d57600080fd5b50610515606481565b348015610d8257600080fd5b506103d4610d91366004614b6a565b612acc565b348015610da257600080fd5b50610db6610db13660046148c5565b612b0b565b6040516103e09190614b94565b348015610dcf57600080fd5b506105156000805160206155e083398151915281565b348015610df157600080fd5b506103d4610e0036600461408b565b612b98565b348015610e1157600080fd5b506105156000805160206155a083398151915281565b348015610e3357600080fd5b50610b5e612bbc565b6000610e4782612be0565b92915050565b60606000610e59612c05565b9050806000018054610e6a90614bd6565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9690614bd6565b8015610ee35780601f10610eb857610100808354040283529160200191610ee3565b820191906000526020600020905b815481529060010190602001808311610ec657829003601f168201915b505050505091505090565b6000610ef982612c29565b50610e4782612c61565b610f0e828233612c8a565b5050565b600080516020615580833981519152610f2a81612c97565b7395f0af4c6b93e71d516285a2ce656833fb84b49863587167e3610f4c612ca1565b846040518363ffffffff1660e01b8152600401610f6a929190614c10565b60006040518083038186803b158015610f8257600080fd5b505af4158015610f96573d6000803e3d6000fd5b505050505050565b6000806000610fab612ca1565b60405163571a481160e01b81529091507395f0af4c6b93e71d516285a2ce656833fb84b4989063571a481190610fe79084908890600401614cce565b6040805180830381865af4158015611003573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110279190614cdf565b909590945092505050565b6060600061103e612ca1565b604051633a38b4b760e01b8152600481018290529091507395f0af4c6b93e71d516285a2ce656833fb84b49890633a38b4b790602401600060405180830381865af4158015611091573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b99190810190614e1b565b91505090565b6000805160206155808339815191526110d781612c97565b7395f0af4c6b93e71d516285a2ce656833fb84b498638c0347d56110f9612ca1565b8a8a8a8a8a8a8a6040518963ffffffff1660e01b8152600401611123989796959493929190614ecb565b60006040518083038186803b15801561113b57600080fd5b505af415801561114f573d6000803e3d6000fd5b505050505050505050505050565b600080611168612cc5565b6002015492915050565b6040516320bcff5f60e01b815265ffffffffffff80851660048301528316602482015260448101829052600090736b515cd1fcdce0e08f412b9ee0b2c40cc0629bb0906320bcff5f90606401602060405180830381865af41580156111db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ff9190614f24565b90505b9392505050565b6001600160a01b03821661123c576000604051633250574960e11b815260040161123391906140a4565b60405180910390fd5b6000611249838333612ce9565b9050836001600160a01b0316816001600160a01b031614611297576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401611233565b50505050565b6000806112a8612e2f565b60009384526020525050604090206001015490565b60006112c7612e53565b805490915060ff600160401b82041615906001600160401b03166000811580156112ee5750825b90506000826001600160401b0316600114801561130a5750303b155b905081158015611318575080155b156113365760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b0319166001178555831561135f57845460ff60401b1916600160401b1785555b60608601516001600160a01b03161580611384575060808601516001600160a01b0316155b8061139a575060a08601516001600160a01b0316155b806113b0575060c08601516001600160a01b0316155b806113c6575060e08601516001600160a01b0316155b806113dd57506101208601516001600160a01b0316155b806113f457506101008601516001600160a01b0316155b15611412576040516303988b8160e61b815260040160405180910390fd5b85515115806114245750602086015151155b806114325750604086015151155b156114505760405163155796cd60e31b815260040160405180910390fd5b856101400151600003611476576040516363868c5560e11b815260040160405180910390fd5b8561016001515160000361149d576040516380af3b2760e01b815260040160405180910390fd5b6114af86600001518760200151612e77565b6114b7612e89565b6114bf612e9b565b6114c7612e9b565b6114d86000801b8760600151612ea3565b506114f56000805160206155a08339815191528760800151612ea3565b506115126000805160206156008339815191528760a00151612ea3565b5061152f6000805160206155808339815191528760c00151612ea3565b50600061153a612ca1565b905060005b876101600151518110156115e7577395f0af4c6b93e71d516285a2ce656833fb84b49863587167e3838a6101600151848151811061157f5761157f614f3d565b60200260200101516040518363ffffffff1660e01b81526004016115a4929190614c10565b60006040518083038186803b1580156115bc57600080fd5b505af41580156115d0573d6000803e3d6000fd5b5050505080806115df90614f69565b91505061153f565b5060e087015181546001600160a01b03918216600160381b02600160381b600160d81b03199091161782556101008801516001830180549183166001600160a01b03199283161790556101208901516002840180549190931691161790556101408701516003820155604087015160048201906116649082614fc8565b50508315610f9657845460ff60401b191685556040517fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906116a890600190614a09565b60405180910390a1505050505050565b606060006116c4612ca1565b60405163e35bc30f60e01b8152600481018290529091507395f0af4c6b93e71d516285a2ce656833fb84b4989063e35bc30f90602401600060405180830381865af4158015611717573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b99190810190615087565b6000611749612f44565b611751612f6a565b600061175b612ca1565b60405163964f1f0160e01b8152909150735174d910e696f9f1321b2da3790ce1a25e0b262f9063964f1f01906117979084908790600401615120565b602060405180830381865af41580156117b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d8919061512e565b9150506117e3612fa0565b919050565b6117f18261129d565b6117fa81612c97565b6112978383612ea3565b60008061180f612cc5565b905061181a84612002565b831061183d57838360405163295f44f760e21b815260040161123392919061514b565b6001600160a01b0384166000908152602091825260408082208583529092522054905092915050565b6001600160a01b038116331461188f5760405163334bd91960e11b815260040160405180910390fd5b6118998282612fb1565b505050565b60006118a8612f44565b6118b0612f6a565b60006118ba612ca1565b604051630eb31b5b60e01b815260048101829052602481018690528415156044820152909150735174d910e696f9f1321b2da3790ce1a25e0b262f90630eb31b5b90606401602060405180830381865af415801561191c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611940919061512e565b915050610e47612fa0565b60008051602061560083398151915261196381612c97565b61196b613029565b50565b600061197981612c97565b6000611983612ca1565b60405163b6a9fe9b60e01b815290915073fec023661fd41cac0222e672ad039e920c0625219063b6a9fe9b906119bf9084908790600401615164565b60006040518083038186803b1580156119d757600080fd5b505af41580156119eb573d6000803e3d6000fd5b50505050505050565b61189983838360405180602001604052806000815250612616565b60606000611a1b612ca1565b604051636882b53560e01b815290915073584e5d3a1bf9943871c79b06073b29d9edbad25290636882b53590611a579084908790600401615164565b600060405180830381865af4158015611a74573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611202919081019061517b565b6000611aa6612f44565b611aae612f6a565b6000611ab8612ca1565b6040516351a1d6eb60e01b8152909150735174d910e696f9f1321b2da3790ce1a25e0b262f906351a1d6eb906117979084908790600401615120565b600080516020615580833981519152611b0c81612c97565b7395f0af4c6b93e71d516285a2ce656833fb84b4986348c20667611b2e612ca1565b6040516001600160e01b031960e084901b168152600481019190915260ff8616602482015263ffffffff851660448201526064016119bf565b606073ecd051467b1720f225f825c296a5e86afd9c8593634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865af4158015611bb2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bda9190810190615209565b905090565b600080611bea612ca1565b60018101546040516341e0255160e11b8152600481018690529192506001600160a01b0316906383c04aa290602401602060405180830381865afa158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a919061512e565b159392505050565b611c6a613080565b611c7382613125565b610f0e828261313d565b600080611c88612cc5565b9050611c9261115d565b8310611cb65760008360405163295f44f760e21b815260040161123392919061514b565b806002018381548110611ccb57611ccb614f3d565b9060005260206000200154915050919050565b6000611ce86131f1565b506000805160206155c083398151915290565b6000805160206155e0833981519152611d1381612c97565b6000611d1d612ca1565b60405163b0561d6b60e01b815290915073fec023661fd41cac0222e672ad039e920c0625219063b0561d6b906119bf908490879060040161523d565b6000611d63612ca1565b54600160381b90046001600160a01b0316919050565b600080611d8461323a565b5460ff1692915050565b600080611d99612f44565b611da1612f6a565b6000611dab612ca1565b604051631d1ed99560e31b8152909150735174d910e696f9f1321b2da3790ce1a25e0b262f9063e8f6cca890611de79084908890600401614cce565b6040805180830381865af4158015611e03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e279190615256565b9093509150611e369050612fa0565b915091565b600073584e5d3a1bf9943871c79b06073b29d9edbad25263eea841ac611e5f612ca1565b846040518363ffffffff1660e01b8152600401611e7d929190615164565b602060405180830381865af4158015611e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061512e565b6000610e4782612c29565b6000611ed481612c97565b6000611ede612ca1565b60405163045b221960e21b815290915073fec023661fd41cac0222e672ad039e920c0625219063116c8864906119bf9084908790600401615164565b6000611f24612ca1565b600201546001600160a01b0316919050565b6060611bda61325e565b6040805160e081018252606080825260006020830181905292820183905281018290526080810182905260a0810182905260c0810182905290611f81612ca1565b60405163d8fa39d960e01b81529091507395f0af4c6b93e71d516285a2ce656833fb84b4989063d8fa39d990611fbd9084908790600401614cce565b600060405180830381865af4158015611fda573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112029190810190615284565b60008061200d612c05565b90506001600160a01b0383166120395760006040516322718ad960e21b815260040161123391906140a4565b6001600160a01b039092166000908152600390920160205250604090205490565b60607395f0af4c6b93e71d516285a2ce656833fb84b498632a08d1b461207e612ca1565b6040518263ffffffff1660e01b815260040161209c91815260200190565b600060405180830381865af41580156120b9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bda919081019061517b565b6000806120ec612ca1565b60009384526008016020525050604090206002015465ffffffffffff1690565b33301461212e573360405163d86ad9cf60e01b815260040161123391906140a4565b610f0e82826132f9565b600061214381612c97565b600061214d612ca1565b604051630746dd8d60e41b815290915073fec023661fd41cac0222e672ad039e920c0625219063746dd8d0906119bf9084908790600401615164565b6000805160206156008339815191526121a181612c97565b61196b613313565b3330146121cb573360405163d86ad9cf60e01b815260040161123391906140a4565b61196b8161335a565b60006121de612f44565b6121e6612f6a565b60006121f0612ca1565b604051638f68702560e01b8152909150736b515cd1fcdce0e08f412b9ee0b2c40cc0629bb090638f687025906117979084908790600401615120565b600080612237612e2f565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b600073ecd051467b1720f225f825c296a5e86afd9c85936391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865af41580156122ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bda91906152b8565b606060006122dd612c05565b9050806001018054610e6a90614bd6565b60006122f8612ca1565b600101546001600160a01b0316919050565b610f0e338383613395565b600073584e5d3a1bf9943871c79b06073b29d9edbad2526333c0fe64611e5f612ca1565b600080612344612ca1565b60405163daac674560e01b815290915073584e5d3a1bf9943871c79b06073b29d9edbad2529063daac6745906123809084908790600401615120565b602060405180830381865af415801561239d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120291906152d5565b6000806123cc612ca1565b604051631fa88ddd60e21b815290915073584e5d3a1bf9943871c79b06073b29d9edbad25290637ea23774906124089084908790600401615164565b602060405180830381865af4158015612425573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112029190614f24565b600080612454612ca1565b6040516375d5c08960e01b8152909150736b515cd1fcdce0e08f412b9ee0b2c40cc0629bb0906375d5c089906124089084908790600401615120565b60008061249b612ca1565b6040516311d4051560e31b81526004810182905260ff8616602482015265ffffffffffff851660448201529091507395f0af4c6b93e71d516285a2ce656833fb84b49890638ea028a890606401602060405180830381865af4158015612505573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252991906152f2565b949350505050565b60008051602061558083398151915261254981612c97565b7395f0af4c6b93e71d516285a2ce656833fb84b49863ecf3b3c861256b612ca1565b846040518363ffffffff1660e01b8152600401610f6a929190614cce565b600073584e5d3a1bf9943871c79b06073b29d9edbad25263f97a49db6125ad612ca1565b846040518363ffffffff1660e01b8152600401611e7d929190615120565b600073ecd051467b1720f225f825c296a5e86afd9c859363b80777ea6040518163ffffffff1660e01b8152600401602060405180830381865af41580156122ad573d6000803e3d6000fd5b612621848484611209565b6112978484848461343a565b600080612638612ca1565b604051630e20fdcd60e41b815290915073584e5d3a1bf9943871c79b06073b29d9edbad2529063e20fdcd0906123809084908790600401615164565b60606000612680612ca1565b600084815260088201602052604081205491925060ff909116908190036126b857505060408051602081019091526000815292915050565b73584e5d3a1bf9943871c79b06073b29d9edbad252638f1f3b0e83866126e08560ff16613551565b6040518463ffffffff1660e01b81526004016126fe9392919061530f565b600060405180830381865af415801561271b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125299190810190615209565b60008061274e612ca1565b60009384526008016020525050604090205460ff1690565b61276f8261129d565b61277881612c97565b6112978383612fb1565b60008061278d612ca1565b6040516358ee2ca560e11b815290915073584e5d3a1bf9943871c79b06073b29d9edbad2529063b1dc594a906127c99084908790600401615120565b602060405180830381865af41580156127e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611202919061512e565b600080612815612f44565b61281d612f6a565b6000612827612ca1565b6040516261013d60e31b81526004810182905260ff871660248201528515156044820152909150735174d910e696f9f1321b2da3790ce1a25e0b262f9063030809e8906064016040805180830381865af4158015612889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ad9190615256565b90935091506128bc9050612fa0565b9250929050565b60006128ce81612c97565b60006128d8612ca1565b604051630251989160e61b81526004810182905265ffffffffffff8516602482015290915073fec023661fd41cac0222e672ad039e920c062521906394662440906044016119bf565b600073584e5d3a1bf9943871c79b06073b29d9edbad252630e692e0b612945612ca1565b6040518263ffffffff1660e01b815260040161296391815260200190565b602060405180830381865af4158015612980573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bda91906152f2565b6040805160808101825260008082526020820181905291810182905260608101829052906129d0612ca1565b60405163ed3c4f9d60e01b815290915073584e5d3a1bf9943871c79b06073b29d9edbad2529063ed3c4f9d90612a0c9084908790600401615120565b608060405180830381865af4158015612a29573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120291906153af565b6040516339d931f160e21b815260609073584e5d3a1bf9943871c79b06073b29d9edbad2529063e764c7c490612a879085906004016140a4565b600060405180830381865af4158015612aa4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e4791908101906153cb565b600080612ad7612c05565b6001600160a01b03948516600090815260059190910160209081526040808320959096168252939093525050205460ff1690565b60606000612b17612ca1565b60405163ddd6ce9560e01b815290915073584e5d3a1bf9943871c79b06073b29d9edbad2529063ddd6ce9590612b539084908790600401615164565b600060405180830381865af4158015612b70573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112029190810190615450565b600073584e5d3a1bf9943871c79b06073b29d9edbad25263768853956125ad612ca1565b600073584e5d3a1bf9943871c79b06073b29d9edbad2526325c2e47c612945612ca1565b60006001600160e01b0319821663780e9d6360e01b1480610e475750610e47826135e3565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930090565b600080612c3583613623565b90506001600160a01b038116610e4757604051637e27328960e01b815260048101849052602401611233565b600080612c6c612c05565b6000938452600401602052505060409020546001600160a01b031690565b611899838383600161364c565b61196b8133613756565b7fec49bc12bd9c2cfd865ff38825256c053d253acea1262d51e4c4821cc4d5b70090565b7f645e039705490088daad89bae25049a34f4a9072d398537b1ab2425f24cbed0090565b6000612cf483611bdf565b612d1157604051635a8181f760e01b815260040160405180910390fd5b6000612d1b612ca1565b90506000736b515cd1fcdce0e08f412b9ee0b2c40cc0629bb06375d5c08983876040518363ffffffff1660e01b8152600401612d58929190615120565b602060405180830381865af4158015612d75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d999190614f24565b1115612e1b57604051638f68702560e01b8152736b515cd1fcdce0e08f412b9ee0b2c40cc0629bb090638f68702590612dd89084908890600401615120565b602060405180830381865af4158015612df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e19919061512e565b505b612e26858585613781565b95945050505050565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b612e7f613796565b610f0e82826137bb565b612e91613796565b612e996137e9565b565b612e99613796565b600080612eae612e2f565b9050612eba848461222c565b612f3a576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055612ef03390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610e47565b6000915050610e47565b612f4c611d79565b15612e995760405163d93c066560e01b815260040160405180910390fd5b6000612f74613806565b805490915060011901612f9a57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b6000612faa613806565b6001905550565b600080612fbc612e2f565b9050612fc8848461222c565b15612f3a576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610e47565b61303161382a565b600061303b61323a565b805460ff1916815590507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405161307591906140a4565b60405180910390a150565b306001600160a01b037f000000000000000000000000e0dfc81d4e616c66b1a4f39259f8a23f194f77be16148061310757507f000000000000000000000000e0dfc81d4e616c66b1a4f39259f8a23f194f77be6001600160a01b03166130fb6000805160206155c0833981519152546001600160a01b031690565b6001600160a01b031614155b15612e995760405163703e46dd60e11b815260040160405180910390fd5b6000805160206155a0833981519152610f0e81612c97565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613197575060408051601f3d908101601f1916820190925261319491810190614f24565b60015b6131b65781604051634c9c8ce360e01b815260040161123391906140a4565b6000805160206155c083398151915281146131e757604051632a87526960e21b815260048101829052602401611233565b611899838361384f565b306001600160a01b037f000000000000000000000000e0dfc81d4e616c66b1a4f39259f8a23f194f77be1614612e995760405163703e46dd60e11b815260040160405180910390fd5b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330090565b6060613268612ca1565b600401805461327690614bd6565b80601f01602080910402602001604051908101604052809291908181526020018280546132a290614bd6565b80156132ef5780601f106132c4576101008083540402835291602001916132ef565b820191906000526020600020905b8154815290600101906020018083116132d257829003601f168201915b5050505050905090565b610f0e8282604051806020016040528060008152506138a5565b61331b612f44565b600061332561323a565b805460ff1916600117815590507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586130683390565b60006133696000836000612ce9565b90506001600160a01b038116610f0e57604051637e27328960e01b815260048101839052602401611233565b600061339f612c05565b90506001600160a01b0383166133ca5782604051630b61174360e31b815260040161123391906140a4565b6001600160a01b038481166000818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a350505050565b6001600160a01b0383163b1561129757604051630a85bd0160e11b81526001600160a01b0384169063150b7a029061347c9033908890879087906004016154e0565b6020604051808303816000875af19250505080156134b7575060408051601f3d908101601f191682019092526134b49181019061551d565b60015b613517573d8080156134e5576040519150601f19603f3d011682016040523d82523d6000602084013e6134ea565b606091505b50805160000361350f5783604051633250574960e11b815260040161123391906140a4565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b1461354a5783604051633250574960e11b815260040161123391906140a4565b5050505050565b6060600061355e836138bc565b60010190506000816001600160401b0381111561357d5761357d6140f9565b6040519080825280601f01601f1916602001820160405280156135a7576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846135b157509392505050565b60006001600160e01b031982166380ac58cd60e01b148061361457506001600160e01b03198216635b5e139f60e01b145b80610e475750610e4782613992565b60008061362e612c05565b6000938452600201602052505060409020546001600160a01b031690565b6000613656612c05565b9050818061366c57506001600160a01b03831615155b1561372557600061367c85612c29565b90506001600160a01b038416158015906136a85750836001600160a01b0316816001600160a01b031614155b80156136bb57506136b98185612acc565b155b156136db578360405163a9fbf51f60e01b815260040161123391906140a4565b82156137235784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b600093845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b613760828261222c565b610f0e57808260405163e2517d3f60e01b815260040161123392919061514b565b600061378b612f44565b6111ff8484846139c7565b61379e613a55565b612e9957604051631afcd79f60e31b815260040160405180910390fd5b6137c3613796565b60006137cd612c05565b9050806137da8482614fc8565b50600181016112978382614fc8565b6137f1613796565b60006137fb61323a565b805460ff1916905550565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0090565b613832611d79565b612e9957604051638dfc202b60e01b815260040160405180910390fd5b61385882613a6f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561389d576118998282613acb565b610f0e613b38565b6138af8383613b57565b611899600084848461343a565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106138fb5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310613925576904ee2d6d415b85acef8160201b830492506020015b662386f26fc10000831061394357662386f26fc10000830492506010015b6305f5e100831061395b576305f5e100830492506008015b612710831061396f57612710830492506004015b60648310613981576064830492506002015b600a8310610e475760010192915050565b60006001600160e01b03198216637965db0b60e01b1480610e4757506301ffc9a760e01b6001600160e01b0319831614610e47565b6000806139d5858585613bbc565b90506001600160a01b0381166139f3576139ee84613cc3565b613a16565b846001600160a01b0316816001600160a01b031614613a1657613a168185613cfc565b6001600160a01b038516613a3257613a2d84613d9d565b6111ff565b846001600160a01b0316816001600160a01b0316146111ff576111ff8585613e66565b6000613a5f612e53565b54600160401b900460ff16919050565b806001600160a01b03163b600003613a9c5780604051634c9c8ce360e01b815260040161123391906140a4565b6000805160206155c083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051613ae8919061553a565b600060405180830381855af49150503d8060008114613b23576040519150601f19603f3d011682016040523d82523d6000602084013e613b28565b606091505b5091509150612e26858383613ebe565b3415612e995760405163b398979f60e01b815260040160405180910390fd5b6001600160a01b038216613b81576000604051633250574960e11b815260040161123391906140a4565b6000613b8f83836000612ce9565b90506001600160a01b038116156118995760006040516339e3563760e11b815260040161123391906140a4565b600080613bc7612c05565b90506000613bd485613623565b90506001600160a01b03841615613bf057613bf0818587613f11565b6001600160a01b03811615613c3057613c0d60008660008061364c565b6001600160a01b0381166000908152600383016020526040902080546000190190555b6001600160a01b03861615613c61576001600160a01b03861660009081526003830160205260409020805460010190555b600085815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b6000613ccd612cc5565b600281018054600085815260039093016020908152604084208290556001820183559183529120019190915550565b6000613d06612cc5565b90506000613d1384612002565b6000848152600184016020526040902054909150808214613d68576001600160a01b03851660009081526020848152604080832085845282528083205484845281842081905583526001860190915290208190555b50600092835260018201602090815260408085208590556001600160a01b039095168452918252838320908352905290812055565b6000613da7612cc5565b6002810154909150600090613dbe90600190615556565b6000848152600384016020526040812054600285018054939450909284908110613dea57613dea614f3d565b9060005260206000200154905080846002018381548110613e0d57613e0d614f3d565b600091825260208083209091019290925582815260038601909152604080822084905586825281205560028401805480613e4957613e49615569565b600190038181906000526020600020016000905590555050505050565b6000613e70612cc5565b905060006001613e7f85612002565b613e899190615556565b6001600160a01b0390941660009081526020838152604080832087845282528083208690559482526001909301909252502055565b606082613ed357613ece82613f67565b611202565b8151158015613eea57506001600160a01b0384163b155b15613f0a5783604051639996b31560e01b815260040161123391906140a4565b5080611202565b613f1c838383613f90565b611899576001600160a01b038316613f4a57604051637e27328960e01b815260048101829052602401611233565b818160405163177e802f60e01b815260040161123392919061514b565b805115613f775780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006001600160a01b038316158015906111ff5750826001600160a01b0316846001600160a01b03161480613fca5750613fca8484612acc565b806111ff5750826001600160a01b0316613fe383612c61565b6001600160a01b031614949350505050565b6001600160e01b03198116811461196b57600080fd5b60006020828403121561401d57600080fd5b813561120281613ff5565b60005b8381101561404357818101518382015260200161402b565b50506000910152565b60008151808452614064816020860160208601614028565b601f01601f19169290920160200192915050565b602081526000611202602083018461404c565b60006020828403121561409d57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b80356001600160a01b03811681146117e357600080fd5b600080604083850312156140e257600080fd5b6140eb836140b8565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715614131576141316140f9565b60405290565b60405160e081016001600160401b0381118282101715614131576141316140f9565b60405161018081016001600160401b0381118282101715614131576141316140f9565b604051601f8201601f191681016001600160401b03811182821017156141a4576141a46140f9565b604052919050565b60006001600160401b038211156141c5576141c56140f9565b50601f01601f191660200190565b600082601f8301126141e457600080fd5b81356141f76141f2826141ac565b61417c565b81815284602083860101111561420c57600080fd5b816020850160208301376000918101602001919091529392505050565b801515811461196b57600080fd5b80356117e381614229565b60ff8116811461196b57600080fd5b80356117e381614242565b6001600160401b038116811461196b57600080fd5b80356117e38161425c565b6001600160d01b038116811461196b57600080fd5b80356117e38161427c565b63ffffffff8116811461196b57600080fd5b80356117e38161429c565b6000606082840312156142cb57600080fd5b6142d361410f565b905081356001600160401b03808211156142ec57600080fd5b9083019060e0828603121561430057600080fd5b614308614137565b82358281111561431757600080fd5b614323878286016141d3565b82525061433260208401614237565b602082015261434360408401614237565b604082015261435460608401614251565b606082015261436560808401614271565b608082015261437660a08401614271565b60a082015260c083013560c082015280845250505061439760208301614291565b60208201526143a8604083016142ae565b604082015292915050565b6000602082840312156143c557600080fd5b81356001600160401b038111156143db57600080fd5b612529848285016142b9565b6000602082840312156143f957600080fd5b813561120281614242565b6000815160e0845261441960e085018261404c565b905060208301511515602085015260408301511515604085015260ff6060840151166060850152608083015160018060401b0380821660808701528060a08601511660a0870152505060c083015160c08501528091505092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156144cb57603f198886030184526144b9858351614404565b9450928501929085019060010161449d565b5092979650505050505050565b600080600080600080600060e0888a0312156144f357600080fd5b87356144fe81614242565b965060208801356001600160401b0381111561451957600080fd5b6145258a828b016141d3565b965050604088013561453681614229565b9450606088013561454681614229565b935060808801356145568161425c565b925060a08801356145668161425c565b8092505060c0880135905092959891949750929550565b65ffffffffffff8116811461196b57600080fd5b6000806000606084860312156145a657600080fd5b83356145b18161457d565b925060208401356145c18161457d565b929592945050506040919091013590565b6000806000606084860312156145e757600080fd5b6145f0846140b8565b92506145fe602085016140b8565b9150604084013590509250925092565b60006001600160401b03821115614627576146276140f9565b5060051b60200190565b600082601f83011261464257600080fd5b813560206146526141f28361460e565b82815260059290921b8401810191818101908684111561467157600080fd5b8286015b848110156146b05780356001600160401b038111156146945760008081fd5b6146a28986838b01016142b9565b845250918301918301614675565b509695505050505050565b6000602082840312156146cd57600080fd5b81356001600160401b03808211156146e457600080fd5b9083019061018082860312156146f957600080fd5b614701614159565b82358281111561471057600080fd5b61471c878286016141d3565b82525060208301358281111561473157600080fd5b61473d878286016141d3565b60208301525060408301358281111561475557600080fd5b614761878286016141d3565b604083015250614773606084016140b8565b6060820152614784608084016140b8565b608082015261479560a084016140b8565b60a08201526147a660c084016140b8565b60c08201526147b760e084016140b8565b60e08201526101006147ca8185016140b8565b908201526101206147dc8482016140b8565b90820152610140838101359082015261016080840135838111156147ff57600080fd5b61480b88828701614631565b918301919091525095945050505050565b6020808252825182820181905260009190848201906040850190845b8181101561485d5783516001600160d01b031683529284019291840191600101614838565b50909695505050505050565b6000806040838503121561487c57600080fd5b8235915061488c602084016140b8565b90509250929050565b600080604083850312156148a857600080fd5b8235915060208301356148ba81614229565b809150509250929050565b6000602082840312156148d757600080fd5b611202826140b8565b6020808252825182820181905260009190848201906040850190845b8181101561485d57835160ff16835292840192918401916001016148fc565b6000806040838503121561492e57600080fd5b823561493981614242565b915060208301356148ba8161429c565b6000806040838503121561495c57600080fd5b614965836140b8565b915060208301356001600160401b0381111561498057600080fd5b61498c858286016141d3565b9150509250929050565b6000602082840312156149a857600080fd5b81356001600160401b038111156149be57600080fd5b612529848285016141d3565b6020815260006112026020830184614404565b600080604083850312156149f057600080fd5b6149f9836140b8565b915060208301356148ba81614229565b6001600160401b0391909116815260200190565b60008060408385031215614a3057600080fd5b8235614a3b81614242565b915060208301356148ba8161457d565b60008060008060808587031215614a6157600080fd5b614a6a856140b8565b9350614a78602086016140b8565b92506040850135915060608501356001600160401b03811115614a9a57600080fd5b614aa6878288016141d3565b91505092959194509250565b60008060408385031215614ac557600080fd5b82356149f981614242565b600060208284031215614ae257600080fd5b81356112028161457d565b805160ff1682526020808201516001600160401b0316908301526040808201519083015260609081015165ffffffffffff16910152565b60808101610e478284614aed565b6020808252825182820181905260009190848201906040850190845b8181101561485d57835183529284019291840191600101614b4e565b60008060408385031215614b7d57600080fd5b614b86836140b8565b915061488c602084016140b8565b6020808252825182820181905260009190848201906040850190845b8181101561485d57614bc3838551614aed565b9284019260809290920191600101614bb0565b600181811c90821680614bea57607f821691505b602082108103614c0a57634e487b7160e01b600052602260045260246000fd5b50919050565b828152604060208201526000825160606040840152805160e060a0850152614c3c61018085018261404c565b90506020820151151560c08501526040820151151560e085015260ff6060830151166101008501526080820151614c7f6101208601826001600160401b03169052565b5060a08201516001600160401b031661014085015260c09091015161016084015260208401516001600160d01b0316606084015260409093015163ffffffff1660809092019190915250919050565b91825260ff16602082015260400190565b60008060408385031215614cf257600080fd5b8251614cfd8161427c565b60208401519092506148ba8161429c565b600082601f830112614d1f57600080fd5b8151614d2d6141f2826141ac565b818152846020838601011115614d4257600080fd5b612529826020830160208701614028565b80516117e381614229565b80516117e381614242565b80516117e38161425c565b600060e08284031215614d8657600080fd5b614d8e614137565b82519091506001600160401b03811115614da757600080fd5b614db384828501614d0e565b825250614dc260208301614d53565b6020820152614dd360408301614d53565b6040820152614de460608301614d5e565b6060820152614df560808301614d69565b6080820152614e0660a08301614d69565b60a082015260c082015160c082015292915050565b60006020808385031215614e2e57600080fd5b82516001600160401b0380821115614e4557600080fd5b818501915085601f830112614e5957600080fd5b8151614e676141f28261460e565b81815260059190911b83018401908481019088831115614e8657600080fd5b8585015b83811015614ebe57805185811115614ea25760008081fd5b614eb08b89838a0101614d74565b845250918601918601614e8a565b5098975050505050505050565b60006101008a835260ff8a166020840152806040840152614eee8184018a61404c565b9715156060840152505093151560808501526001600160401b0392831660a0850152911660c083015260e0909101529392505050565b600060208284031215614f3657600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201614f7b57614f7b614f53565b5060010190565b601f82111561189957600081815260208120601f850160051c81016020861015614fa95750805b601f850160051c820191505b81811015610f9657828155600101614fb5565b81516001600160401b03811115614fe157614fe16140f9565b614ff581614fef8454614bd6565b84614f82565b602080601f83116001811461502a57600084156150125750858301515b600019600386901b1c1916600185901b178555610f96565b600085815260208120601f198616915b828110156150595788860151825594840194600190910190840161503a565b50858210156150775787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602080838503121561509a57600080fd5b82516001600160401b038111156150b057600080fd5b8301601f810185136150c157600080fd5b80516150cf6141f28261460e565b81815260059190911b820183019083810190878311156150ee57600080fd5b928401925b828410156151155783516151068161427c565b825292840192908401906150f3565b979650505050505050565b918252602082015260400190565b60006020828403121561514057600080fd5b815161120281614229565b6001600160a01b03929092168252602082015260400190565b9182526001600160a01b0316602082015260400190565b6000602080838503121561518e57600080fd5b82516001600160401b038111156151a457600080fd5b8301601f810185136151b557600080fd5b80516151c36141f28261460e565b81815260059190911b820183019083810190878311156151e257600080fd5b928401925b828410156151155783516151fa81614242565b825292840192908401906151e7565b60006020828403121561521b57600080fd5b81516001600160401b0381111561523157600080fd5b61252984828501614d0e565b8281526040602082015260006111ff604083018461404c565b6000806040838503121561526957600080fd5b825161527481614229565b6020939093015192949293505050565b60006020828403121561529657600080fd5b81516001600160401b038111156152ac57600080fd5b61252984828501614d74565b6000602082840312156152ca57600080fd5b81516112028161457d565b6000602082840312156152e757600080fd5b81516112028161425c565b60006020828403121561530457600080fd5b81516112028161427c565b838152826020820152606060408201526000612e26606083018461404c565b60006080828403121561534057600080fd5b604051608081016001600160401b0381118282101715615362576153626140f9565b8060405250809150825161537581614242565b815260208301516153858161425c565b60208201526040838101519082015260608301516153a28161457d565b6060919091015292915050565b6000608082840312156153c157600080fd5b611202838361532e565b600060208083850312156153de57600080fd5b82516001600160401b038111156153f457600080fd5b8301601f8101851361540557600080fd5b80516154136141f28261460e565b81815260059190911b8201830190838101908783111561543257600080fd5b928401925b8284101561511557835182529284019290840190615437565b6000602080838503121561546357600080fd5b82516001600160401b0381111561547957600080fd5b8301601f8101851361548a57600080fd5b80516154986141f28261460e565b81815260079190911b820183019083810190878311156154b757600080fd5b928401925b82841015615115576154ce888561532e565b825284820191506080840193506154bc565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906155139083018461404c565b9695505050505050565b60006020828403121561552f57600080fd5b815161120281613ff5565b6000825161554c818460208701614028565b9190910192915050565b81810381811115610e4757610e47614f53565b634e487b7160e01b600052603160045260246000fdfeb885c7fab33eebc89fe071f92830192e26ac26c5457a8375da4744f5d35edba4189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0865d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862aa264697066735822122092684d78735d513644ebf83aedf339fc45ef0acbb546b7df8684d056a90ab01a64736f6c63430008140033