VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0xcb4F2B…B75B
Summary
Transactions
Transfers
Address
0xcb4F2B6a19aA477D2214C7950b6f14e052D1B75B
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xbf8df3046186c6cB44c25130910B44dA14eAbF58
Deployer
0xbf8df3046186c6cB44c25130910B44dA14eAbF58
Code
0x6080604052600436106101445760003560e01c80637a9e5e4b116100c0578063bf7e214f11610074578063e2ceba6411610059578063e2ceba6414610469578063ec35bef314610489578063fbca6ba6146104b657600080fd5b8063bf7e214f146103de578063ddc632621461044957600080fd5b8063a4fc5057116100a5578063a4fc5057146102f7578063a694fc3a14610368578063ad3cb1cc1461038857600080fd5b80637a9e5e4b146102915780638fb36037146102b157600080fd5b80632ec09d3911610117578063485cc955116100fc578063485cc955146102495780634f1ef2861461026957806352d1902d1461027c57600080fd5b80632ec09d39146101fb57806332f266941461021b57600080fd5b80630121b93f1461014957806307920da81461016b57806323ab3828146101a05780632d29a47b146101db575b600080fd5b34801561015557600080fd5b50610169610164366004614bfd565b6104d6565b005b34801561017757600080fd5b5061018b610186366004614bfd565b610dba565b60405190151581526020015b60405180910390f35b3480156101ac57600080fd5b5061018b6101bb366004614c16565b600260209081526000928352604080842090915290825290205460ff1681565b3480156101e757600080fd5b506101696101f6366004614c38565b611672565b34801561020757600080fd5b50610169610216366004614bfd565b6121f4565b34801561022757600080fd5b5061023b610236366004614bfd565b6127fa565b604051908152602001610197565b34801561025557600080fd5b50610169610264366004614c86565b61293a565b610169610277366004614d66565b612b03565b34801561028857600080fd5b5061023b612b1e565b34801561029d57600080fd5b506101696102ac366004614e2c565b612b4d565b3480156102bd57600080fd5b506102c6612c7a565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610197565b34801561030357600080fd5b50610340610312366004614bfd565b6001602081905260009182526040909120805491810154600282015460038301546004909301549192909185565b604080519586526020860194909452928401919091526060830152608082015260a001610197565b34801561037457600080fd5b50610169610383366004614bfd565b612cef565b34801561039457600080fd5b506103d16040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516101979190614eb7565b3480156103ea57600080fd5b507ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610197565b34801561045557600080fd5b50610169610464366004614bfd565b61347e565b34801561047557600080fd5b50610169610484366004614e2c565b614018565b34801561049557600080fd5b506000546104249073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104c257600080fd5b506101696104d1366004614bfd565b614068565b6104e3335b6000366141df565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610554573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105789190614eca565b73ffffffffffffffffffffffffffffffffffffffff16036105fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064015b60405180910390fd5b600080546040517ea5ae210000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c9190614eca565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa15801561072e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107529190614eca565b905060008173ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c59190614ee7565b905060008273ffffffffffffffffffffffffffffffffffffffff1663eb9019d4858573ffffffffffffffffffffffffffffffffffffffff1663d06efeda866040518263ffffffff1660e01b815260040161082191815260200190565b602060405180830381865afa15801561083e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108629190614ee7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401602060405180830381865afa1580156108d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f49190614ee7565b90508060000361090657505050505050565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f766f746573000000000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa1580156109a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c79190614eca565b6040517f9ab24eb000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152919250600091831690639ab24eb090602401600060405180830381865afa158015610a39573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a7f9190810190614f93565b805160208201518151929350606092600003610bd5576040517f42e654960000000000000000000000000000000000000000000000000000000081526004810188905273ffffffffffffffffffffffffffffffffffffffff8916906342e6549690602401600060405180830381865afa158015610b00573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610b46919081019061508c565b80519092508067ffffffffffffffff811115610b6457610b64614cbf565b604051908082528060200260200182016040528015610b8d578160200160208202803683370190505b50915060005b81811015610bd257610ba68260646150f8565b838281518110610bb857610bb8615133565b60ff90921660209283029190910190910152600101610b93565b50505b6040517f613f4a8d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169063613f4a8d90610c299089908590600401615162565b600060405180830381865afa158015610c46573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610c8c91908101906151b5565b6000805460405192955073ffffffffffffffffffffffffffffffffffffffff16916344c028fe918e918c9190610cca908d9089908b90602401615246565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f53ed6399000000000000000000000000000000000000000000000000000000001790525160e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168152610d7a94939291906004016152cc565b600060405180830381600087803b158015610d9457600080fd5b505af1158015610da8573d6000803e3d6000fd5b505050505050505050505050505b5050565b600080546040517ea5ae2100000000000000000000000000000000000000000000000000000000815260048101849052829173ffffffffffffffffffffffffffffffffffffffff169062a5ae2190602401602060405180830381865afa158015610e28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4c9190614eca565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015610eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f129190614eca565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f6e667400000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190614eca565b905060008273ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611027573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104b9190614ee7565b6040517fd06efeda0000000000000000000000000000000000000000000000000000000081526004810182905290915060009073ffffffffffffffffffffffffffffffffffffffff85169063d06efeda90602401602060405180830381865afa1580156110bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e09190614ee7565b600080546040517f62744704000000000000000000000000000000000000000000000000000000008152929350909173ffffffffffffffffffffffffffffffffffffffff9091169063627447049061116c9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015611189573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ad9190614eca565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015291909116906370a0823190602401602060405180830381865afa15801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f9190614ee7565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f72657761726465720000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa1580156112e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113059190614eca565b73ffffffffffffffffffffffffffffffffffffffff16628f33d761132a600187615311565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152600481019190915273ffffffffffffffffffffffffffffffffffffffff8a166024820152604401602060405180830381865afa15801561139a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113be9190614ee7565b6040517f438596320000000000000000000000000000000000000000000000000000000081526004810186905273ffffffffffffffffffffffffffffffffffffffff8981166024830152919250600091881690634385963290604401602060405180830381865afa158015611437573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145b9190615339565b6040517feb9019d400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301526024820187905291925060009189169063eb9019d490604401602060405180830381865afa1580156114d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f89190614ee7565b6040517f9aeb962b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b8116600483015291925090891690639aeb962b90602401602060405180830381865afa158015611568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158c9190615339565b1515600114801561162a57506040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301528816906370a0823190602401602060405180830381865afa158015611604573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116289190614ee7565b155b15611640575060019a9950505050505050505050565b600084118061164f5750600083115b806116635750600081118015611663575081155b9b9a5050505050505050505050565b61167b336104db565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170d9190614ee7565b9050600061171b8385615354565b9050818111156117285750805b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906362744704906117af9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa1580156117cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f09190614eca565b600080546040517f62744704000000000000000000000000000000000000000000000000000000008152929350909173ffffffffffffffffffffffffffffffffffffffff9091169063627447049061187c9060040160208082526004908201527f766f743300000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015611899573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118bd9190614eca565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa15801561195f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119839190614eca565b905060008173ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f69190614ee7565b6040517fd06efeda0000000000000000000000000000000000000000000000000000000081526004810182905290915060009073ffffffffffffffffffffffffffffffffffffffff84169063d06efeda90602401602060405180830381865afa158015611a67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8b9190614ee7565b90506000895b8781101561217a57600080546040517f4f6ccce70000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff90911690634f6ccce790602401602060405180830381865afa158015611b09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2d9190614ee7565b600080546040517ea5ae2100000000000000000000000000000000000000000000000000000000815260048101849052929350909173ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa158015611ba0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc49190614eca565b6040517feb9019d400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301526024820188905291925060009189169063eb9019d490604401602060405180830381865afa158015611c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c619190614ee7565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301528c16906370a0823190602401602060405180830381865afa158015611ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cf19190614ee7565b611cfb9190615354565b90508e8110158015611d115750611d1183610dba565b1561216f57600087815260026020908152604080832086845290915290205460ff16612161576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528b16906370a0823190602401602060405180830381865afa158015611da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc79190614ee7565b60008881526001602052604081208054909190611de5908490615354565b90915550506040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528a16906370a0823190602401602060405180830381865afa158015611e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7a9190614ee7565b60008881526001602052604081206002018054909190611e9b908490615354565b90915550506040517f9ab24eb000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528a1690639ab24eb090602401602060405180830381865afa158015611f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f309190614ee7565b60008881526001602052604081206003018054909190611f51908490615354565b90915550506000546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f7265776172646572000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015611ff2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120169190614eca565b73ffffffffffffffffffffffffffffffffffffffff16628f33d761203b60018a615311565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152600481019190915273ffffffffffffffffffffffffffffffffffffffff85166024820152604401602060405180830381865afa1580156120ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cf9190614ee7565b600088815260016020819052604082200180549091906120f0908490615354565b909155505060008781526001602081905260408220600401805491929091612119908490615354565b90915550506000878152600260209081526040808320868452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b61216a83614068565b600194505b505050600101611a91565b506001811515146121e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4e6f20616374696f6e732072657175697265640000000000000000000000000060448201526064016105f1565b5050505050505050505050565b6121fd336104db565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa15801561226e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122929190614eca565b73ffffffffffffffffffffffffffffffffffffffff160361230f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064016105f1565b600080546040517ea5ae210000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa15801561237d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a19190614eca565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015612443573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124679190614eca565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f6e667400000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015612509573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252d9190614eca565b6040517f9aeb962b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291925090831690639aeb962b90602401602060405180830381865afa15801561259d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c19190615339565b1515600114801561265f57506040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301528216906370a0823190602401602060405180830381865afa158015612639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265d9190614ee7565b155b156127f3576000546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f6e66740000000000000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff909116906344c028fe9087908390636274470490606401602060405180830381865afa15801561270a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061272e9190614eca565b6040805160048082526024820183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f5b70ea9f00000000000000000000000000000000000000000000000000000000179052915160e086901b7fffffffff000000000000000000000000000000000000000000000000000000001681526127c094939260009291016152cc565b600060405180830381600087803b1580156127da57600080fd5b505af11580156127ee573d6000803e3d6000fd5b505050505b5050505050565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7374617473000000000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015612897573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128bb9190614eca565b73ffffffffffffffffffffffffffffffffffffffff1663805da4ad836040518263ffffffff1660e01b81526004016128f39190615367565b602060405180830381865afa158015612910573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129349190614ee7565b92915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156129855750825b905060008267ffffffffffffffff1660011480156129a25750303b155b9050811580156129b0575080155b156129e7576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315612a485784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b612a51876143de565b612a596143f2565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88161790558315612afa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b612b0b6143fc565b612b1482614500565b610db68282614509565b6000612b28614647565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b33612b8c7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612c08576040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105f1565b8173ffffffffffffffffffffffffffffffffffffffff163b600003612c71576040517fc2f31e5e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105f1565b610db6826146b6565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546000919074010000000000000000000000000000000000000000900460ff16612cc7576000612ce9565b7f8fb36037000000000000000000000000000000000000000000000000000000005b91505090565b612cf8336104db565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015612d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d8d9190614eca565b73ffffffffffffffffffffffffffffffffffffffff1603612e0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064016105f1565b600080546040517ea5ae210000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa158015612e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e9c9190614eca565b600080546040517f62744704000000000000000000000000000000000000000000000000000000008152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490612f289060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015612f45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f699190614eca565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015291909116906370a0823190602401602060405180830381865afa158015612fd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ffb9190614ee7565b90506000811161300b5750505050565b6000546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906344c028fe908690839063627447049061309b9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa1580156130b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130dc9190614eca565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906362744704906131639060040160208082526004908201527f766f743300000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015613180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131a49190614eca565b60405173ffffffffffffffffffffffffffffffffffffffff909116602482015260448101879052606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790525160e086901b7fffffffff0000000000000000000000000000000000000000000000000000000016815261327e94939291906004016152cc565b600060405180830381600087803b15801561329857600080fd5b505af11580156132ac573d6000803e3d6000fd5b50506000546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911692506344c028fe9150869083906362744704906133409060040160208082526004908201527f766f743300000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa15801561335d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133819190614eca565b60008560405160240161339691815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa694fc3a000000000000000000000000000000000000000000000000000000001790525160e086901b7fffffffff0000000000000000000000000000000000000000000000000000000016815261344694939291906004016152cc565b600060405180830381600087803b15801561346057600080fd5b505af1158015613474573d6000803e3d6000fd5b5050505050505050565b613487336104db565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa1580156134f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061351c9190614eca565b73ffffffffffffffffffffffffffffffffffffffff1603613599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064016105f1565b600080546040517ea5ae210000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff9091169062a5ae2190602401602060405180830381865afa158015613607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362b9190614eca565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f676f7600000000000000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa1580156136cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f19190614eca565b9050600060018273ffffffffffffffffffffffffffffffffffffffff16639cbe5efd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137669190614ee7565b6137709190615311565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f72657761726465720000000000000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015613812573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138369190614eca565b6040517e8f33d70000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff8681166024830152919250600091831690628f33d790604401602060405180830381865afa1580156138ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138d19190614ee7565b9050806000036138e45750505050505050565b6040517fe70eb3920000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff868116602483015283169063e70eb39290604401600060405180830381600087803b15801561395457600080fd5b505af1158015613968573d6000803e3d6000fd5b5050505060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636c18d1ad6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139fe9190614ee7565b613a0a612710846150f8565b613a1491906153aa565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f666565526563697069656e7400000000000000000000000000000000000000006044820152929350909173ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015613ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ada9190614eca565b6000546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7374617473000000000000000000000000000000000000000000000000000000604482015291925073ffffffffffffffffffffffffffffffffffffffff1690636274470490606401602060405180830381865afa158015613b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b9b9190614eca565b6000546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f7374617473000000000000000000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff928316926322dc48fd928d92879289921690636274470490606401602060405180830381865afa158015613c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c699190614eca565b73ffffffffffffffffffffffffffffffffffffffff1663805da4ad8f6040518263ffffffff1660e01b8152600401613ca19190615367565b602060405180830381865afa158015613cbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ce29190614ee7565b613cec9190615354565b613cf69190615311565b6040518363ffffffff1660e01b8152600401613d139291906153c1565b600060405180830381600087803b158015613d2d57600080fd5b505af1158015613d41573d6000803e3d6000fd5b50505050600082118015613d6a575073ffffffffffffffffffffffffffffffffffffffff811615155b156127ee576000546040517f6274470400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906344c028fe908b908390636274470490613dff9060040160208082526004908201527f6233747200000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015613e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e409190614eca565b600080546040517f6274470400000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f666565526563697069656e740000000000000000000000000000000000000000604482015273ffffffffffffffffffffffffffffffffffffffff90911690636274470490606401602060405180830381865afa158015613edd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f019190614eca565b60405173ffffffffffffffffffffffffffffffffffffffff909116602482015260448101889052606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790525160e086901b7fffffffff00000000000000000000000000000000000000000000000000000000168152613fdb94939291906004016152cc565b600060405180830381600087803b158015613ff557600080fd5b505af1158015614009573d6000803e3d6000fd5b50505050505050505050505050565b614021336104db565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b614071336104db565b600080546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905283929173ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa1580156140e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141069190614eca565b73ffffffffffffffffffffffffffffffffffffffff1603614183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5644503a20546f6b656e20646f6573206e6f742065786973740000000000000060448201526064016105f1565b61418c8261347e565b61419582612cef565b61419e826104d6565b6141a7826121f4565b6040518281527f57ba94d0dfbb222407b5bc7fa46c973a467e020851456b64a5cde372541e77c4906020015b60405180910390a15050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a006000806142626142447ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff1690565b8730614254600460008a8c615413565b61425d9161543d565b614747565b91509150816143d65763ffffffff81161561438c5782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001783556142f27ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff166394c7d7ee8787876040518463ffffffff1660e01b815260040161432e93929190615485565b600060405180830381600087803b15801561434857600080fd5b505af115801561435c573d6000803e3d6000fd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff168555506143d69050565b6040517f068ca9d800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871660048201526024016105f1565b505050505050565b6143e66148c4565b6143ef8161492b565b50565b6143fa6148c4565b565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000cb4f2b6a19aa477d2214c7950b6f14e052d1b75b1614806144c957507f000000000000000000000000cb4f2b6a19aa477d2214c7950b6f14e052d1b75b73ffffffffffffffffffffffffffffffffffffffff166144b07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b156143fa576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6143ef336104db565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561458e575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261458b91810190614ee7565b60015b6145dc576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105f1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114614638576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016105f1565b614642838361493c565b505050565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000cb4f2b6a19aa477d2214c7950b6f14e052d1b75b16146143fa576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad906020016141d3565b60405173ffffffffffffffffffffffffffffffffffffffff848116602483015283811660448301527fffffffff0000000000000000000000000000000000000000000000000000000083166064830152600091829182918291891690608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb7009613000000000000000000000000000000000000000000000000000000001790525161482791906154ef565b600060405180830381855afa9150503d8060008114614862576040519150601f19603f3d011682016040523d82523d6000602084013e614867565b606091505b509150915081156148b9576040815110614899578080602001905181019061488f919061550b565b90945092506148b9565b60208151106148b957808060200190518101906148b69190615339565b93505b505094509492505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166143fa576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6149336148c4565b6143ef816146b6565b6149458261499f565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115614997576146428282614a6e565b610db6614af1565b8073ffffffffffffffffffffffffffffffffffffffff163b600003614a08576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105f1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff1684604051614a9891906154ef565b600060405180830381855af49150503d8060008114614ad3576040519150601f19603f3d011682016040523d82523d6000602084013e614ad8565b606091505b5091509150614ae8858383614b29565b95945050505050565b34156143fa576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082614b3e57614b3982614bbb565b614bb4565b8151158015614b62575073ffffffffffffffffffffffffffffffffffffffff84163b155b15614bb1576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105f1565b50805b9392505050565b805115614bcb5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060208284031215614c0f57600080fd5b5035919050565b60008060408385031215614c2957600080fd5b50508035926020909101359150565b600080600060608486031215614c4d57600080fd5b505081359360208301359350604090920135919050565b73ffffffffffffffffffffffffffffffffffffffff811681146143ef57600080fd5b60008060408385031215614c9957600080fd5b8235614ca481614c64565b91506020830135614cb481614c64565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715614d1157614d11614cbf565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614d5e57614d5e614cbf565b604052919050565b60008060408385031215614d7957600080fd5b8235614d8481614c64565b915060208381013567ffffffffffffffff80821115614da257600080fd5b818601915086601f830112614db657600080fd5b813581811115614dc857614dc8614cbf565b614df8847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614d17565b91508082528784828501011115614e0e57600080fd5b80848401858401376000848284010152508093505050509250929050565b600060208284031215614e3e57600080fd5b8135614bb481614c64565b60005b83811015614e64578181015183820152602001614e4c565b50506000910152565b60008151808452614e85816020860160208601614e49565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000614bb46020830184614e6d565b600060208284031215614edc57600080fd5b8151614bb481614c64565b600060208284031215614ef957600080fd5b5051919050565b600067ffffffffffffffff821115614f1a57614f1a614cbf565b5060051b60200190565b600082601f830112614f3557600080fd5b81516020614f4a614f4583614f00565b614d17565b8083825260208201915060208460051b870101935086841115614f6c57600080fd5b602086015b84811015614f885780518352918301918301614f71565b509695505050505050565b60006020808385031215614fa657600080fd5b825167ffffffffffffffff80821115614fbe57600080fd5b9084019060408287031215614fd257600080fd5b614fda614cee565b825182811115614fe957600080fd5b614ff588828601614f24565b825250838301518281111561500957600080fd5b80840193505086601f84011261501e57600080fd5b8251915061502e614f4583614f00565b82815260059290921b8301840191848101908884111561504d57600080fd5b938501935b8385101561507b57845160ff8116811461506c5760008081fd5b82529385019390850190615052565b948201949094529695505050505050565b60006020828403121561509e57600080fd5b815167ffffffffffffffff8111156150b557600080fd5b6150c184828501614f24565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008261512e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006040820184835260206040602085015281855180845260608601915060208701935060005b818110156151a857845160ff1683529383019391830191600101615189565b5090979650505050505050565b600060208083850312156151c857600080fd5b825167ffffffffffffffff8111156151df57600080fd5b8301601f810185136151f057600080fd5b80516151fe614f4582614f00565b81815260059190911b8201830190838101908783111561521d57600080fd5b928401925b8284101561523b57835182529284019290840190615222565b979650505050505050565b6000606082018583526020606081850152818651808452608086019150828801935060005b818110156152875784518352938301939183019160010161526b565b50508481036040860152855180825290820192508186019060005b818110156152be578251855293830193918301916001016152a2565b509298975050505050505050565b84815273ffffffffffffffffffffffffffffffffffffffff841660208201528260408201526080606082015260006153076080830184614e6d565b9695505050505050565b81810381811115612934576129346150c9565b8051801515811461533457600080fd5b919050565b60006020828403121561534b57600080fd5b614bb482615324565b80820180821115612934576129346150c9565b818152604060208201526000614bb460408301600681527f7265776172640000000000000000000000000000000000000000000000000000602082015260400190565b8082028115828204841417612934576129346150c9565b82815260606020820152600061540460608301600681527f7265776172640000000000000000000000000000000000000000000000000000602082015260400190565b90508260408301529392505050565b6000808585111561542357600080fd5b8386111561543057600080fd5b5050820193919092039150565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561547d5780818660040360031b1b83161692505b505092915050565b73ffffffffffffffffffffffffffffffffffffffff8416815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b60008251615501818460208701614e49565b9190910192915050565b6000806040838503121561551e57600080fd5b61552783615324565b9150602083015163ffffffff81168114614cb457600080fdfea2646970667358221220831b81dab66e8e041c95d08e6867abbcb817b80f0060b72c2cf879530687859564736f6c63430008180033