VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0xB085a9…38c6
Summary
Transactions
Transfers
Address
0xB085a9F37Ab3681f682451415938116C69a138c6
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xbf8df3046186c6cB44c25130910B44dA14eAbF58
Deployer
0xbf8df3046186c6cB44c25130910B44dA14eAbF58
Code
0x6080604052600436106101445760003560e01c80637a9e5e4b116100c0578063bf7e214f11610074578063e2ceba6411610059578063e2ceba6414610469578063ec35bef314610489578063fbca6ba6146104b657600080fd5b8063bf7e214f146103de578063ddc632621461044957600080fd5b8063a4fc5057116100a5578063a4fc5057146102f7578063a694fc3a14610368578063ad3cb1cc1461038857600080fd5b80637a9e5e4b146102915780638fb36037146102b157600080fd5b80632ec09d3911610117578063485cc955116100fc578063485cc955146102495780634f1ef2861461026957806352d1902d1461027c57600080fd5b80632ec09d39146101fb57806332f266941461021b57600080fd5b80630121b93f1461014957806307920da81461016b57806323ab3828146101a05780632d29a47b146101db575b600080fd5b34801561015557600080fd5b50610169610164366004614be1565b6104d6565b005b34801561017757600080fd5b5061018b610186366004614be1565b610dba565b60405190151581526020015b60405180910390f35b3480156101ac57600080fd5b5061018b6101bb366004614bfa565b600260209081526000928352604080842090915290825290205460ff1681565b3480156101e757600080fd5b506101696101f6366004614c1c565b611672565b34801561020757600080fd5b50610169610216366004614be1565b6121f4565b34801561022757600080fd5b5061023b610236366004614be1565b6127fa565b604051908152602001610197565b34801561025557600080fd5b50610169610264366004614c6a565b61293a565b610169610277366004614d4a565b612b03565b34801561028857600080fd5b5061023b612b1e565b34801561029d57600080fd5b506101696102ac366004614e10565b612b4d565b3480156102bd57600080fd5b506102c6612c7a565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610197565b34801561030357600080fd5b50610340610312366004614be1565b6001602081905260009182526040909120805491810154600282015460038301546004909301549192909185565b604080519586526020860194909452928401919091526060830152608082015260a001610197565b34801561037457600080fd5b50610169610383366004614be1565b612cef565b34801561039457600080fd5b506103d16040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101979190614e9b565b3480156103ea57600080fd5b507ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610197565b34801561045557600080fd5b50610169610464366004614be1565b61347e565b34801561047557600080fd5b50610169610484366004614e10565b614017565b34801561049557600080fd5b506000546104249073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104c257600080fd5b506101696104d1366004614be1565b614067565b6104e3335b6000366141c3565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610554573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105789190614eae565b73ffffffffffffffffffffffffffffffffffffffff16036105fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064015b60405180910390fd5b600080546040517ea5ae210000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c9190614eae565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa15801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190614eae565b905060008173ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c59190614ecb565b905060008273ffffffffffffffffffffffffffffffffffffffff1663eb9019d4858573ffffffffffffffffffffffffffffffffffffffff1663d06efeda866040518263ffffffff1660e01b815260040161082191815260200190565b602060405180830381865afa15801561083e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108629190614ecb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401602060405180830381865afa1580156108d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f49190614ecb565b90508060000361090657505050505050565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f766f746573000000000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa1580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190614eae565b6040517f9ab24eb000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152919250600091831690639ab24eb090602401600060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a7f9190810190614f77565b805160208201518151929350606092600003610bd5576040517f42e654960000000000000000000000000000000000000000000000000000000081526004810188905273ffffffffffffffffffffffffffffffffffffffff8916906342e6549690602401600060405180830381865afa158015610b00573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b469190810190615070565b80519092508067ffffffffffffffff811115610b6457610b64614ca3565b604051908082528060200260200182016040528015610b8d578160200160208202803683370190505b50915060005b81811015610bd257610ba68260646150dc565b838281518110610bb857610bb8615117565b60ff90921660209283029190910190910152600101610b93565b50505b6040517f613f4a8d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169063613f4a8d90610c299089908590600401615146565b600060405180830381865afa158015610c46573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610c8c9190810190615199565b6000805460405192955073ffffffffffffffffffffffffffffffffffffffff16916344c028fe918e918c9190610cca908d9089908b9060240161522a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f53ed6399000000000000000000000000000000000000000000000000000000001790525160e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168152610d7a94939291906004016152b0565b600060405180830381600087803b158015610d9457600080fd5b505af1158015610da8573d6000803e3d6000fd5b505050505050505050505050505b5050565b600080546040517ea5ae2100000000000000000000000000000000000000000000000000000000815260048101849052829173ffffffffffffffffffffffffffffffffffffffff169062a5ae2190602401602060405180830381865afa158015610e28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4c9190614eae565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015610eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f129190614eae565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f6e667400000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190614eae565b905060008273ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611027573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104b9190614ecb565b6040517fd06efeda0000000000000000000000000000000000000000000000000000000081526004810182905290915060009073ffffffffffffffffffffffffffffffffffffffff85169063d06efeda90602401602060405180830381865afa1580156110bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e09190614ecb565b600080546040517f62744704000000000000000000000000000000000000000000000000000000008152929350909173ffffffffffffffffffffffffffffffffffffffff9091169063627447049061116c9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015611189573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ad9190614eae565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015291909116906370a0823190602401602060405180830381865afa15801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f9190614ecb565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f72657761726465720000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa1580156112e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113059190614eae565b73ffffffffffffffffffffffffffffffffffffffff16628f33d761132a6001876152f5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a166024820152604401602060405180830381865afa15801561139a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113be9190614ecb565b6040517f438596320000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8981166024830152919250600091881690634385963290604401602060405180830381865afa158015611437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145b919061531d565b6040517feb9019d400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301526024820187905291925060009189169063eb9019d490604401602060405180830381865afa1580156114d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f89190614ecb565b6040517f9aeb962b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b8116600483015291925090891690639aeb962b90602401602060405180830381865afa158015611568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158c919061531d565b1515600114801561162a57506040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301528816906370a0823190602401602060405180830381865afa158015611604573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116289190614ecb565b155b15611640575060019a9950505050505050505050565b600084118061164f5750600083115b806116635750600081118015611663575081155b9b9a5050505050505050505050565b61167b336104db565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170d9190614ecb565b9050600061171b8385615338565b9050818111156117285750805b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906362744704906117af9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa1580156117cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f09190614eae565b600080546040517f62744704000000000000000000000000000000000000000000000000000000008152929350909173ffffffffffffffffffffffffffffffffffffffff9091169063627447049061187c9060040160208082526004908201527f766f743300000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015611899573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118bd9190614eae565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa15801561195f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119839190614eae565b905060008173ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f69190614ecb565b6040517fd06efeda0000000000000000000000000000000000000000000000000000000081526004810182905290915060009073ffffffffffffffffffffffffffffffffffffffff84169063d06efeda90602401602060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8b9190614ecb565b90506000895b8781101561217a57600080546040517f4f6ccce70000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff90911690634f6ccce790602401602060405180830381865afa158015611b09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2d9190614ecb565b600080546040517ea5ae2100000000000000000000000000000000000000000000000000000000815260048101849052929350909173ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa158015611ba0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc49190614eae565b6040517feb9019d400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301526024820188905291925060009189169063eb9019d490604401602060405180830381865afa158015611c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c619190614ecb565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301528c16906370a0823190602401602060405180830381865afa158015611ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf19190614ecb565b611cfb9190615338565b90508e8110158015611d115750611d1183610dba565b1561216f57600087815260026020908152604080832086845290915290205460ff16612161576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528b16906370a0823190602401602060405180830381865afa158015611da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc79190614ecb565b60008881526001602052604081208054909190611de5908490615338565b90915550506040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528a16906370a0823190602401602060405180830381865afa158015611e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7a9190614ecb565b60008881526001602052604081206002018054909190611e9b908490615338565b90915550506040517f9ab24eb000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528a1690639ab24eb090602401602060405180830381865afa158015611f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f309190614ecb565b60008881526001602052604081206003018054909190611f51908490615338565b90915550506000546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f7265776172646572000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015611ff2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120169190614eae565b73ffffffffffffffffffffffffffffffffffffffff16628f33d761203b60018a6152f5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152600481019190915273ffffffffffffffffffffffffffffffffffffffff85166024820152604401602060405180830381865afa1580156120ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cf9190614ecb565b600088815260016020819052604082200180549091906120f0908490615338565b909155505060008781526001602081905260408220600401805491929091612119908490615338565b90915550506000878152600260209081526040808320868452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b61216a83614067565b600194505b505050600101611a91565b506001811515146121e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4e6f20616374696f6e732072657175697265640000000000000000000000000060448201526064016105f1565b5050505050505050505050565b6121fd336104db565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa15801561226e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122929190614eae565b73ffffffffffffffffffffffffffffffffffffffff160361230f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064016105f1565b600080546040517ea5ae210000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa15801561237d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a19190614eae565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015612443573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124679190614eae565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f6e667400000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015612509573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252d9190614eae565b6040517f9aeb962b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291925090831690639aeb962b90602401602060405180830381865afa15801561259d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c1919061531d565b1515600114801561265f57506040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301528216906370a0823190602401602060405180830381865afa158015612639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265d9190614ecb565b155b156127f3576000546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f6e66740000000000000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff909116906344c028fe9087908390636274470490606401602060405180830381865afa15801561270a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061272e9190614eae565b6040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f5b70ea9f00000000000000000000000000000000000000000000000000000000179052915160e086901b7fffffffff000000000000000000000000000000000000000000000000000000001681526127c094939260009291016152b0565b600060405180830381600087803b1580156127da57600080fd5b505af11580156127ee573d6000803e3d6000fd5b505050505b5050505050565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7374617473000000000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015612897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128bb9190614eae565b73ffffffffffffffffffffffffffffffffffffffff1663805da4ad836040518263ffffffff1660e01b81526004016128f3919061534b565b602060405180830381865afa158015612910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129349190614ecb565b92915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156129855750825b905060008267ffffffffffffffff1660011480156129a25750303b155b9050811580156129b0575080155b156129e7576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315612a485784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b612a51876143c2565b612a596143d6565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88161790558315612afa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b612b0b6143e0565b612b14826144e4565b610db682826144ed565b6000612b2861462b565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b33612b8c7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612c08576040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105f1565b8173ffffffffffffffffffffffffffffffffffffffff163b600003612c71576040517fc2f31e5e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105f1565b610db68261469a565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546000919074010000000000000000000000000000000000000000900460ff16612cc7576000612ce9565b7f8fb36037000000000000000000000000000000000000000000000000000000005b91505090565b612cf8336104db565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015612d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8d9190614eae565b73ffffffffffffffffffffffffffffffffffffffff1603612e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064016105f1565b600080546040517ea5ae210000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa158015612e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e9c9190614eae565b600080546040517f62744704000000000000000000000000000000000000000000000000000000008152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490612f289060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015612f45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f699190614eae565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291909116906370a0823190602401602060405180830381865afa158015612fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ffb9190614ecb565b90506000811161300b5750505050565b6000546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906344c028fe908690839063627447049061309b9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa1580156130b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130dc9190614eae565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906362744704906131639060040160208082526004908201527f766f743300000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015613180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131a49190614eae565b60405173ffffffffffffffffffffffffffffffffffffffff909116602482015260448101879052606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790525160e086901b7fffffffff0000000000000000000000000000000000000000000000000000000016815261327e94939291906004016152b0565b600060405180830381600087803b15801561329857600080fd5b505af11580156132ac573d6000803e3d6000fd5b50506000546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692506344c028fe9150869083906362744704906133409060040160208082526004908201527f766f743300000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa15801561335d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133819190614eae565b60008560405160240161339691815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa694fc3a000000000000000000000000000000000000000000000000000000001790525160e086901b7fffffffff0000000000000000000000000000000000000000000000000000000016815261344694939291906004016152b0565b600060405180830381600087803b15801561346057600080fd5b505af1158015613474573d6000803e3d6000fd5b5050505050505050565b613487336104db565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa1580156134f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061351c9190614eae565b73ffffffffffffffffffffffffffffffffffffffff1603613599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064016105f1565b600080546040517ea5ae210000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa158015613607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362b9190614eae565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa1580156136cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f19190614eae565b90506000808273ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137659190614ecb565b61376f91906152f5565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f72657761726465720000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015613811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138359190614eae565b6040517e8f33d70000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff8681166024830152919250600091831690628f33d790604401602060405180830381865afa1580156138ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138d09190614ecb565b9050806000036138e35750505050505050565b6040517fe70eb3920000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff868116602483015283169063e70eb39290604401600060405180830381600087803b15801561395357600080fd5b505af1158015613967573d6000803e3d6000fd5b5050505060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636c18d1ad6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139fd9190614ecb565b613a09612710846150dc565b613a13919061538e565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f666565526563697069656e7400000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015613ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ad99190614eae565b6000546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7374617473000000000000000000000000000000000000000000000000000000604482015291925073ffffffffffffffffffffffffffffffffffffffff1690636274470490606401602060405180830381865afa158015613b76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b9a9190614eae565b6000546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7374617473000000000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff928316926322dc48fd928d92879289921690636274470490606401602060405180830381865afa158015613c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c689190614eae565b73ffffffffffffffffffffffffffffffffffffffff1663805da4ad8f6040518263ffffffff1660e01b8152600401613ca0919061534b565b602060405180830381865afa158015613cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ce19190614ecb565b613ceb9190615338565b613cf591906152f5565b6040518363ffffffff1660e01b8152600401613d129291906153a5565b600060405180830381600087803b158015613d2c57600080fd5b505af1158015613d40573d6000803e3d6000fd5b50505050600082118015613d69575073ffffffffffffffffffffffffffffffffffffffff811615155b156127ee576000546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906344c028fe908b908390636274470490613dfe9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015613e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3f9190614eae565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f666565526563697069656e740000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015613edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f009190614eae565b60405173ffffffffffffffffffffffffffffffffffffffff909116602482015260448101889052606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790525160e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168152613fda94939291906004016152b0565b600060405180830381600087803b158015613ff457600080fd5b505af1158015614008573d6000803e3d6000fd5b50505050505050505050505050565b614020336104db565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b614070336104db565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa1580156140e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141059190614eae565b73ffffffffffffffffffffffffffffffffffffffff1603614182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064016105f1565b61418b8261347e565b6040518281527f57ba94d0dfbb222407b5bc7fa46c973a467e020851456b64a5cde372541e77c4906020015b60405180910390a15050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a006000806142466142287ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff1690565b8730614238600460008a8c6153f7565b61424191615421565b61472b565b91509150816143ba5763ffffffff8116156143705782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001783556142d67ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff166394c7d7ee8787876040518463ffffffff1660e01b815260040161431293929190615469565b600060405180830381600087803b15801561432c57600080fd5b505af1158015614340573d6000803e3d6000fd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff168555506143ba9050565b6040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871660048201526024016105f1565b505050505050565b6143ca6148a8565b6143d38161490f565b50565b6143de6148a8565b565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b085a9f37ab3681f682451415938116c69a138c61614806144ad57507f000000000000000000000000b085a9f37ab3681f682451415938116c69a138c673ffffffffffffffffffffffffffffffffffffffff166144947f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b156143de576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6143d3336104db565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015614572575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261456f91810190614ecb565b60015b6145c0576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105f1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461461c576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016105f1565b6146268383614920565b505050565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b085a9f37ab3681f682451415938116c69a138c616146143de576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016141b7565b60405173ffffffffffffffffffffffffffffffffffffffff848116602483015283811660448301527fffffffff0000000000000000000000000000000000000000000000000000000083166064830152600091829182918291891690608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb7009613000000000000000000000000000000000000000000000000000000001790525161480b91906154d3565b600060405180830381855afa9150503d8060008114614846576040519150601f19603f3d011682016040523d82523d6000602084013e61484b565b606091505b5091509150811561489d57604081511061487d578080602001905181019061487391906154ef565b909450925061489d565b602081511061489d578080602001905181019061489a919061531d565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166143de576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6149176148a8565b6143d38161469a565b61492982614983565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561497b576146268282614a52565b610db6614ad5565b8073ffffffffffffffffffffffffffffffffffffffff163b6000036149ec576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105f1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051614a7c91906154d3565b600060405180830381855af49150503d8060008114614ab7576040519150601f19603f3d011682016040523d82523d6000602084013e614abc565b606091505b5091509150614acc858383614b0d565b95945050505050565b34156143de576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082614b2257614b1d82614b9f565b614b98565b8151158015614b46575073ffffffffffffffffffffffffffffffffffffffff84163b155b15614b95576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105f1565b50805b9392505050565b805115614baf5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060208284031215614bf357600080fd5b5035919050565b60008060408385031215614c0d57600080fd5b50508035926020909101359150565b600080600060608486031215614c3157600080fd5b505081359360208301359350604090920135919050565b73ffffffffffffffffffffffffffffffffffffffff811681146143d357600080fd5b60008060408385031215614c7d57600080fd5b8235614c8881614c48565b91506020830135614c9881614c48565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715614cf557614cf5614ca3565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614d4257614d42614ca3565b604052919050565b60008060408385031215614d5d57600080fd5b8235614d6881614c48565b915060208381013567ffffffffffffffff80821115614d8657600080fd5b818601915086601f830112614d9a57600080fd5b813581811115614dac57614dac614ca3565b614ddc847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614cfb565b91508082528784828501011115614df257600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215614e2257600080fd5b8135614b9881614c48565b60005b83811015614e48578181015183820152602001614e30565b50506000910152565b60008151808452614e69816020860160208601614e2d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000614b986020830184614e51565b600060208284031215614ec057600080fd5b8151614b9881614c48565b600060208284031215614edd57600080fd5b5051919050565b600067ffffffffffffffff821115614efe57614efe614ca3565b5060051b60200190565b600082601f830112614f1957600080fd5b81516020614f2e614f2983614ee4565b614cfb565b8083825260208201915060208460051b870101935086841115614f5057600080fd5b602086015b84811015614f6c5780518352918301918301614f55565b509695505050505050565b60006020808385031215614f8a57600080fd5b825167ffffffffffffffff80821115614fa257600080fd5b9084019060408287031215614fb657600080fd5b614fbe614cd2565b825182811115614fcd57600080fd5b614fd988828601614f08565b8252508383015182811115614fed57600080fd5b80840193505086601f84011261500257600080fd5b82519150615012614f2983614ee4565b82815260059290921b8301840191848101908884111561503157600080fd5b938501935b8385101561505f57845160ff811681146150505760008081fd5b82529385019390850190615036565b948201949094529695505050505050565b60006020828403121561508257600080fd5b815167ffffffffffffffff81111561509957600080fd5b6150a584828501614f08565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082615112577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006040820184835260206040602085015281855180845260608601915060208701935060005b8181101561518c57845160ff168352938301939183019160010161516d565b5090979650505050505050565b600060208083850312156151ac57600080fd5b825167ffffffffffffffff8111156151c357600080fd5b8301601f810185136151d457600080fd5b80516151e2614f2982614ee4565b81815260059190911b8201830190838101908783111561520157600080fd5b928401925b8284101561521f57835182529284019290840190615206565b979650505050505050565b6000606082018583526020606081850152818651808452608086019150828801935060005b8181101561526b5784518352938301939183019160010161524f565b50508481036040860152855180825290820192508186019060005b818110156152a257825185529383019391830191600101615286565b509298975050505050505050565b84815273ffffffffffffffffffffffffffffffffffffffff841660208201528260408201526080606082015260006152eb6080830184614e51565b9695505050505050565b81810381811115612934576129346150ad565b8051801515811461531857600080fd5b919050565b60006020828403121561532f57600080fd5b614b9882615308565b80820180821115612934576129346150ad565b818152604060208201526000614b9860408301600681527f7265776172640000000000000000000000000000000000000000000000000000602082015260400190565b8082028115828204841417612934576129346150ad565b8281526060602082015260006153e860608301600681527f7265776172640000000000000000000000000000000000000000000000000000602082015260400190565b90508260408301529392505050565b6000808585111561540757600080fd5b8386111561541457600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156154615780818660040360031b1b83161692505b505092915050565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b600082516154e5818460208701614e2d565b9190910192915050565b6000806040838503121561550257600080fd5b61550b83615308565b9150602083015163ffffffff81168114614c9857600080fdfea2646970667358221220a8da0c15e01a3a364be76e0e519f50ae6c875d8ec2f53763167cfe4a58a3bd1864736f6c63430008180033