VeChain
Explorer
Mainnet
Search
Networks
Main
Test
Contract
0xdbaa2E…EE7C
Summary
Transactions
Transfers
Address
0xdbaa2E675951b658403Cba7EcDA43db8d5b3EE7C
VET
0.00
VET
VTHO
0.00
VTHO
Master
0x098F2b53460b382850A60Af179C0EF7084533FAa
Deployer
0x098F2b53460b382850A60Af179C0EF7084533FAa
Code
0x6080604052600436106101635760003560e01c80637974cf7c116100c0578063b0e21e8a11610074578063d06ca61f11610059578063d06ca61f146103c0578063eef0f494146103e0578063f820574e146104005761016a565b8063b0e21e8a1461037e578063cb9f8ea7146103a05761016a565b80638da5cb5b116100a55780638da5cb5b146103295780639e281a981461033e578063a339cca11461035e5761016a565b80637974cf7c146102f45780637d9cc3e6146103145761016a565b806335d2541411610117578063534e7894116100fc578063534e78941461029457806372882732146102b4578063787dce3d146102d45761016a565b806335d254141461023a5780634e9c1118146102675761016a565b806324ca984e1161014857806324ca984e146101d857806325bcc90a146101fa5780632e1a7d4d1461021a5761016a565b80631f00ca741461016f57806323dfda73146101a85761016a565b3661016a57005b600080fd5b34801561017b57600080fd5b5061018f61018a366004614f2a565b610420565b60405161019f949392919061512e565b60405180910390f35b3480156101b457600080fd5b506101c86101c3366004614fa3565b61153f565b60405161019f949392919061521c565b3480156101e457600080fd5b506101f86101f3366004614ca7565b611e52565b005b34801561020657600080fd5b506101f8610215366004614d91565b61204d565b34801561022657600080fd5b506101f8610235366004614efa565b61253c565b34801561024657600080fd5b5061025a610255366004614ca7565b612612565b60405161019f91906152d3565b34801561027357600080fd5b50610287610282366004614efa565b612627565b60405161019f91906150c0565b3480156102a057600080fd5b506101f86102af366004614ca7565b61265e565b3480156102c057600080fd5b506101f86102cf366004614efa565b6126f6565b3480156102e057600080fd5b506101f86102ef366004614efa565b612c36565b34801561030057600080fd5b5061028761030f366004614d91565b612cc8565b34801561032057600080fd5b50610287612d1f565b34801561033557600080fd5b50610287612d3b565b34801561034a57600080fd5b506101f8610359366004614dd1565b612d57565b34801561036a57600080fd5b506101f8610379366004614d1e565b612f35565b34801561038a57600080fd5b50610393613153565b60405161019f919061543d565b3480156103ac57600080fd5b5061025a6103bb366004614ca7565b613159565b3480156103cc57600080fd5b5061018f6103db366004614f2a565b61316e565b3480156103ec57600080fd5b506101c86103fb366004614fa3565b61392d565b34801561040c57600080fd5b5061025a61041b366004614ce6565b61412d565b60408051600280825260608083018452928392839260009284928492909160208301908036833701905050905087876000818110610487577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061049c9190614ca7565b816000815181106104d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508787600181811061054a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061055f9190614ca7565b81600181518110610599577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506105dd898261392d565b89600081518110610617577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010189600081518110610658577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010189600081518110610699577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602090810291909101019290925273ffffffffffffffffffffffffffffffffffffffff9093169052919052915087876000816106fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906107139190614ca7565b8160008151811061074d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff92831660209182029290920101526002548251911690829060019081106107b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506107f6898261392d565b89600181518110610830577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010189600181518110610871577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101896001815181106108b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602090810291909101019290925273ffffffffffffffffffffffffffffffffffffffff93841690915292909252600254835192945016908290600090610921577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505087876001818110610995577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906109aa9190614ca7565b816001815181106109e4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050610aaa86600181518110610a5b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600181518110610a9c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518261392d565b89600281518110610ae4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010189600281518110610b25577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010189600281518110610b66577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018390528397508473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152508490525050505085600081518110610be4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600081518110610c25577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015186600181518110610c67577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600081518110610ca8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101511015610f755760408051600180825281830190925290935060009084816020015b6060815260200190600190039081610cd157905050905086600081518110610d22577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181600081518110610d64577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181905250600061271060035483600081518110610db1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600081518110610df2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151610e049190615506565b610e0e91906154cd565b90508082600081518110610e4b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600081518110610e8c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151610e9e91906154b5565b82600081518110610ed8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600081518110610f19577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60209081029190910181019190915260408051600080825292810190915281610f52565b6060815260200190600190039081610f3d5790505b506040805160008152602081019091529399509297509195506115369350505050565b60408051600280825260608201909252600094508491816020015b6060815260200190600190039081610f9057905050905086600181518110610fe1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181600081518110611023577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181905250600061271060035483600081518110611070577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516000815181106110b1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516110c39190615506565b6110cd91906154cd565b9050808260008151811061110a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160008151811061114b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015161115d91906154b5565b82600081518110611197577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516000815181106111d8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181815250508760028151811061121e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015182600181518110611260577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602090810291909101015260408051600280825260608201909252600091816020015b6060815260200190600190039081611283579050509050866001815181106112d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181600081518110611316577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101819052508660028151811061135b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518160018151811061139d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60209081029190910101526040805160028082526060820190925260009181602001602082028036833701905050905088600181518110611407577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015181600081518110611449577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050886002815181106114bd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151816001815181106114ff577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015292985091965090945061153692505050565b93509350935093565b606060006060806000805b6000548110156118fd5760006116408860008481548110611594577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020918290200154604080517fad5c4648000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263ad5c464892600480840193829003018186803b15801561160357600080fd5b505afa158015611617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163b9190614cca565b61414d565b90506116a78160008481548110611680577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1661438f565b156118ea5760008083815481106116e7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000918252602090912001546040517fd06ca61f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063d06ca61f90611748908d908690600401615446565b60006040518083038186803b15801561176057600080fd5b505afa158015611774573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526117ba9190810190614dfc565b9050600081600183516117cd9190615543565b81518110611804577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050848111156118e75780945081985060008481548110611856577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000918252602082200154815473ffffffffffffffffffffffffffffffffffffffff90911699506118e1918591879081106118ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16614624565b96508295505b50505b50806118f58161555a565b91505061154a565b506000600660008860008151811061193e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008860018a516119919190615543565b815181106119c8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015611ae357600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015611acb57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611aa0575b50505050508152505081526020019060010190611a2a565b5050505090506007600088600081518110611b27577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008860018a51611b7a9190615543565b81518110611bb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040016000205460ff1615611e475760005b8151811015611e45576000828281518110611c31577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160000151905060008173ffffffffffffffffffffffffffffffffffffffff1663d06ca61f8c868681518110611c97577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151602001516040518363ffffffff1660e01b8152600401611cc0929190615446565b60006040518083038186803b158015611cd857600080fd5b505afa158015611cec573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611d329190810190614dfc565b905060008160018351611d459190615543565b81518110611d7c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151905085811115611e2f57809550819950829850611de5858581518110611dd3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516020015184614624565b9750848481518110611e20577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516020015196505b5050508080611e3d9061555a565b915050611bed565b505b505092959194509250565b60015473ffffffffffffffffffffffffffffffffffffffff163314611eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea3906152de565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604090205460ff1661204a5760008054600180820183558280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516908117909155604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051929360059390929163ad5c4648916004808301926020929190829003018186803b158015611fa257600080fd5b505afa158015611fb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fda9190614cca565b73ffffffffffffffffffffffffffffffffffffffff90811682526020808301939093526040918201600090812080549515157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00968716179055908516815260049092529020805490911660011790555b50565b60015473ffffffffffffffffffffffffffffffffffffffff16331461209e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea3906152de565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600660209081526040808320938616835292905220548110612109576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea390615406565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526006602090815260408083209386168352929052208054819061214b90600190615543565b81548110612182577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202018183815481106121c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020909120825460029092020180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091178155600180830180546122319284019190614ae4565b509050508080548061226c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155906122d36001830182614b34565b505090555073ffffffffffffffffffffffffffffffffffffffff8084166000818152600760209081526040808320948716835293815283822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556006815283822092825291909152208054819061235190600190615543565b81548110612388577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202018183815481106123cf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020909120825460029092020180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091178155600180830180546124379284019190614ae4565b5090505080805480612472577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008281526020812060027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155906124d96001830182614b34565b50509055505073ffffffffffffffffffffffffffffffffffffffff908116600090815260076020908152604080832094909316825292909252902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60015473ffffffffffffffffffffffffffffffffffffffff16331461258d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea3906152de565b804710156125c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea39061533b565b60015460405173ffffffffffffffffffffffffffffffffffffffff9091169082156108fc029083906000818181858888f1935050505015801561260e573d6000803e3d6000fd5b5050565b60046020526000908152604090205460ff1681565b6000818154811061263757600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60015473ffffffffffffffffffffffffffffffffffffffff1633146126af576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea3906152de565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60015473ffffffffffffffffffffffffffffffffffffffff163314612747576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea3906152de565b6000548110612782576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea390615406565b600460008083815481106127bf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205460ff161561204a576000808281548110612834577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168083526004808352604080852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905580517fad5c46480000000000000000000000000000000000000000000000000000000081529051929550859363ad5c464893828401939192909190829003018186803b1580156128da57600080fd5b505afa1580156128ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129129190614cca565b90506000805b600054811015612a5d57848114158015612a3d57508273ffffffffffffffffffffffffffffffffffffffff166000828154811061297e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60009182526020918290200154604080517fad5c4648000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169263ad5c464892600480840193829003018186803b1580156129ed57600080fd5b505afa158015612a01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a259190614cca565b73ffffffffffffffffffffffffffffffffffffffff16145b15612a4b5760019150612a5d565b80612a558161555a565b915050612918565b5080612aaf5773ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b60008054612abf90600190615543565b81548110612af6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000918252602082200154815473ffffffffffffffffffffffffffffffffffffffff909116919086908110612b54577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000918252602082200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155805480612bd8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60008281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905501905550505050565b60015473ffffffffffffffffffffffffffffffffffffffff163314612c87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea3906152de565b612710811115612cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea390615372565b600355565b60066020528260005260406000206020528160005260406000208181548110612cf057600080fd5b600091825260209091206002909102015473ffffffffffffffffffffffffffffffffffffffff16925083915050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff163314612da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea3906152de565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152819073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190612dfc9030906004016150c0565b60206040518083038186803b158015612e1457600080fd5b505afa158015612e28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4c9190614f12565b1015612e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea3906153cf565b6001546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481169263a9059cbb92612ede92909116908590600401615108565b602060405180830381600087803b158015612ef857600080fd5b505af1158015612f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f309190614e8c565b505050565b60015473ffffffffffffffffffffffffffffffffffffffff163314612f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea3906152de565b73ffffffffffffffffffffffffffffffffffffffff8481166000908152600660209081526040808320878516845282528083208151808301909252868516825281830186815281546001808201845592865294849020835160029096020180547fffffffffffffffffffffffff00000000000000000000000000000000000000001695909616949094178555925180519194936130299390850192910190614b52565b50505073ffffffffffffffffffffffffffffffffffffffff8381166000908152600660209081526040808320888516845282528083208151808301909252868516825281830186815281546001808201845592865294849020835160029096020180547fffffffffffffffffffffffff00000000000000000000000000000000000000001695909616949094178555925180519194936130cf9390850192910190614b52565b5050505073ffffffffffffffffffffffffffffffffffffffff9283166000818152600760208181526040808420969097168352948552858220805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00918216811790925591865286832093835292909452939093208054909216909217905550565b60035481565b60056020526000908152604090205460ff1681565b60608060606000606060006127106003548a61318a9190615506565b61319491906154cd565b61319e908a615543565b6040805160028082526060820183529293506000929091602083019080368337019050509050888860008181106131fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906132139190614ca7565b8160008151811061324d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050888860018181106132c1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906132d69190614ca7565b81600181518110613310577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613354828261153f565b8a60008151811061338e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018a6000815181106133cf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018a600081518110613410577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602090810291909101019290925273ffffffffffffffffffffffffffffffffffffffff909316905291905292508888600081613475577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061348a9190614ca7565b816000815181106134c4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600254825191169082906001908110613529577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061356d828261153f565b8a6001815181106135a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018a6001815181106135e8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018a600181518110613629577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602090810291909101019290925273ffffffffffffffffffffffffffffffffffffffff93841690915292909252600254835192955016908290600090613698577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508888600181811061370c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906137219190614ca7565b8160018151811061375b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613821876001815181106137d2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151600181518110613813577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518261153f565b8a60028151811061385b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018a60028151811061389c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018a6002815181106138dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018390528398508473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152508490525050505050505093509350935093565b6060600081807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff835b600054811015613c035760006139a08860008481548110611594577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506139e08160008481548110611680577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b15613bf0576000808381548110613a20577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000918252602090912001546040517f1f00ca7400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690631f00ca7490613a81908d908690600401615446565b60006040518083038186803b158015613a9957600080fd5b505afa158015613aad573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613af39190810190614dfc565b9050600081600081518110613b31577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151905084811015613bed5780945081985060008481548110613b83577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000918252602082200154815473ffffffffffffffffffffffffffffffffffffffff9091169950613be7918591879081106118ba577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b96508295505b50505b5080613bfb8161555a565b915050613956565b5060006006600088600081518110613c44577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008860018a51613c979190615543565b81518110613cce577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015613de957600084815260209081902060408051808201825260028602909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939491938583019392830182828015613dd157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311613da6575b50505050508152505081526020019060010190613d30565b5050505090506007600088600081518110613e2d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008860018a51613e809190615543565b81518110613eb7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040016000205460ff1615611e475760005b8151811015611e45576000828281518110613f37577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015160000151905060008173ffffffffffffffffffffffffffffffffffffffff16631f00ca748c868681518110613f9d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151602001516040518363ffffffff1660e01b8152600401613fc6929190615446565b60006040518083038186803b158015613fde57600080fd5b505afa158015613ff2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526140389190810190614dfc565b9050600081600081518110614076577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151905085811015614117578095508199508298506140cd858581518110611dd3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9750848481518110614108577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516020015196505b50505080806141259061555a565b915050613ef3565b600760209081526000928352604080842090915290825290205460ff1681565b60606000835167ffffffffffffffff811115614192577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156141bb578160200160208202803683370190505b50905060005b845181101561438557600254855173ffffffffffffffffffffffffffffffffffffffff90911690869083908110614221577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156142be578382828151811061427f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050614373565b8481815181106142f7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151828281518110614338577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8061437d8161555a565b9150506141c1565b5090505b92915050565b6000808273ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156143d857600080fd5b505afa1580156143ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144109190614cca565b90508060005b600186516144249190615543565b8110156146185760008273ffffffffffffffffffffffffffffffffffffffff1663e6a43905888481518110614482577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518985600161449891906154b5565b815181106144cf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516040518363ffffffff1660e01b81526004016144f49291906150e1565b60206040518083038186803b15801561450c57600080fd5b505afa158015614520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145449190614cca565b905073ffffffffffffffffffffffffffffffffffffffff811661456e576000945050505050614389565b60008173ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156145b657600080fd5b505afa1580156145ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145ee9190614f12565b90508061460357600095505050505050614389565b505080806146109061555a565b915050614416565b50600195945050505050565b606060008273ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561466e57600080fd5b505afa158015614682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146a69190614cca565b905060008190506000600186516146bd9190615543565b67ffffffffffffffff8111156146fc577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561473557816020015b614722614bcc565b81526020019060019003908161471a5790505b50905060005b600187516147499190615543565b811015614ada5760008373ffffffffffffffffffffffffffffffffffffffff1663e6a439058984815181106147a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101518a8560016147bd91906154b5565b815181106147f4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516040518363ffffffff1660e01b81526004016148199291906150e1565b60206040518083038186803b15801561483157600080fd5b505afa158015614845573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148699190614cca565b90506000808273ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156148b457600080fd5b505afa1580156148c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906148ec9190614eac565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff16915060008373ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561495957600080fd5b505afa15801561496d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149919190614cca565b905060008473ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156149db57600080fd5b505afa1580156149ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a139190614cca565b90506040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018273ffffffffffffffffffffffffffffffffffffffff16815260200184815250878781518110614ab7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018190525050505050508080614ad29061555a565b91505061473b565b5095945050505050565b828054828255906000526020600020908101928215614b245760005260206000209182015b82811115614b24578254825591600101919060010190614b09565b50614b30929150614bfa565b5090565b508054600082559060005260206000209081019061204a9190614bfa565b828054828255906000526020600020908101928215614b24579160200282015b82811115614b2457825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190614b72565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b5b80821115614b305760008155600101614bfb565b600082601f830112614c1f578081fd5b81356020614c34614c2f83615491565b615467565b8281528181019085830183850287018401881015614c50578586fd5b855b85811015614c77578135614c65816155f1565b84529284019290840190600101614c52565b5090979650505050505050565b80516dffffffffffffffffffffffffffff81168114614ca257600080fd5b919050565b600060208284031215614cb8578081fd5b8135614cc3816155f1565b9392505050565b600060208284031215614cdb578081fd5b8151614cc3816155f1565b60008060408385031215614cf8578081fd5b8235614d03816155f1565b91506020830135614d13816155f1565b809150509250929050565b60008060008060808587031215614d33578182fd5b8435614d3e816155f1565b93506020850135614d4e816155f1565b92506040850135614d5e816155f1565b9150606085013567ffffffffffffffff811115614d79578182fd5b614d8587828801614c0f565b91505092959194509250565b600080600060608486031215614da5578283fd5b8335614db0816155f1565b92506020840135614dc0816155f1565b929592945050506040919091013590565b60008060408385031215614de3578182fd5b8235614dee816155f1565b946020939093013593505050565b60006020808385031215614e0e578182fd5b825167ffffffffffffffff811115614e24578283fd5b8301601f81018513614e34578283fd5b8051614e42614c2f82615491565b8181528381019083850185840285018601891015614e5e578687fd5b8694505b83851015614e80578051835260019490940193918501918501614e62565b50979650505050505050565b600060208284031215614e9d578081fd5b81518015158114614cc3578182fd5b600080600060608486031215614ec0578283fd5b614ec984614c84565b9250614ed760208501614c84565b9150604084015163ffffffff81168114614eef578182fd5b809150509250925092565b600060208284031215614f0b578081fd5b5035919050565b600060208284031215614f23578081fd5b5051919050565b600080600060408486031215614f3e578081fd5b83359250602084013567ffffffffffffffff80821115614f5c578283fd5b818601915086601f830112614f6f578283fd5b813581811115614f7d578384fd5b8760208083028501011115614f90578384fd5b6020830194508093505050509250925092565b60008060408385031215614fb5578182fd5b82359150602083013567ffffffffffffffff811115614fd2578182fd5b614fde85828601614c0f565b9150509250929050565b6000815180845260208085019450808401835b8381101561502d57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614ffb565b509495945050505050565b6000815180845260208085018081965082840281019150828601855b8581101561507e57828403895261506c848351614fe8565b98850198935090840190600101615054565b5091979650505050505050565b6000815180845260208085019450808401835b8381101561502d5781518752958201959082019060010161509e565b15159052565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6000608082016080835280875180835260a0850191506020925060a0838202860101838a01855b838110156151a1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6088840301855261518f83835161508b565b94860194925090850190600101615155565b505085810384870152885180825290840192509050878301845b828110156151ed57815173ffffffffffffffffffffffffffffffffffffffff16845292840192908401906001016151bb565b50505083810360408501526152028187615038565b9250505061521360608301846150ba565b95945050505050565b6000608080835261522f8184018861508b565b602073ffffffffffffffffffffffffffffffffffffffff808916828701526040868403818801528389518086528486019150848b019550875b818110156152af578651805186168452868101518616878501528481015185850152606080820151871690850152880151888401529585019560a090920191600101615268565b505087810360608901526152c3818a614fe8565b9c9b505050505050505050505050565b901515815260200190565b60208082526026908201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060408201527f616374696f6e0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526014908201527f496e73756666696369656e742062616c616e6365000000000000000000000000604082015260600190565b60208082526026908201527f466565206d757374206265206c657373207468616e206f7220657175616c207460408201527f6f20313030250000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601a908201527f496e73756666696369656e7420746f6b656e2062616c616e6365000000000000604082015260600190565b60208082526013908201527f496e646578206f7574206f6620626f756e647300000000000000000000000000604082015260600190565b90815260200190565b60008382526040602083015261545f6040830184614fe8565b949350505050565b60405181810167ffffffffffffffff81118282101715615489576154896155c2565b604052919050565b600067ffffffffffffffff8211156154ab576154ab6155c2565b5060209081020190565b600082198211156154c8576154c8615593565b500190565b600082615501577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561553e5761553e615593565b500290565b60008282101561555557615555615593565b500390565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561558c5761558c615593565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461204a57600080fdfea26469706673582212208d276d54f1f1d74f6f697bf512e5c9a224a8b44423814cbc658313ec7d7450dd64736f6c63430008000033