VeChain
Explorer
Testnet
Search
Networks
Main
Test
Contract
0xBa21B2…a38c
Summary
Transactions
Transfers
Address
0xBa21B2730007426C257acf82C952DD2D4A46a38c
VET
0.00
VET
VTHO
0.00
VTHO
Master
0x5959D60345aB12befE24bd8d21EF53eBa7688f6D
Deployer
0x5959D60345aB12befE24bd8d21EF53eBa7688f6D
Code
0x608060405234801561001057600080fd5b50600436106100625760003560e01c80636441c7801461006757806389035730146100a55780639dee23d01461011e578063a167129514610135578063bae0d91814610160578063d26273831461019a575b600080fd5b61008c6100753660046107de565b60046020526000908152604090205462ffffff1681565b60405162ffffff90911681526020015b60405180910390f35b6000546001546002546100de926001600160a01b03908116928116919081169062ffffff600160a01b8204811691600160b81b90041685565b604080516001600160a01b0396871681529486166020860152929094169183019190915262ffffff9081166060830152909116608082015260a00161009c565b6101266101d8565b60405161009c93929190610844565b6101486101433660046108c9565b6103b7565b6040516001600160a01b03909116815260200161009c565b61014861016e3660046108c9565b60056020908152600093845260408085208252928452828420905282529020546001600160a01b031681565b6101ad6101a836600461090c565b610771565b604080516001600160a01b03948516815293909216602084015262ffffff169082015260600161009c565b6003546060908190819060008167ffffffffffffffff8111156101fd576101fd610925565b604051908082528060200260200182016040528015610226578160200160208202803683370190505b50905060008267ffffffffffffffff81111561024457610244610925565b60405190808252806020026020018201604052801561026d578160200160208202803683370190505b50905060008367ffffffffffffffff81111561028b5761028b610925565b6040519080825280602002602001820160405280156102b4578160200160208202803683370190505b50905060005b848110156103a9576000600382815481106102d7576102d761093b565b60009182526020909120600290910201805486519192506001600160a01b03169086908490811061030a5761030a61093b565b6001600160a01b0392831660209182029290920101526001820154855191169085908490811061033c5761033c61093b565b60200260200101906001600160a01b031690816001600160a01b0316815250508060010160149054906101000a900462ffffff168383815181106103825761038261093b565b62ffffff90921660209283029190910190910152506103a2816001610951565b90506102ba565b509196909550909350915050565b6000826001600160a01b0316846001600160a01b0316036103eb5760405163fbfc7a9160e01b815260040160405180910390fd5b62ffffff8083166000908152600460205260408120549091169003610423576040516309c74fbb60e21b815260040160405180910390fd5b826001600160a01b0316846001600160a01b031610610443578284610446565b83835b90945092506001600160a01b038416610472576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b0384811660009081526005602090815260408083208785168452825280832062ffffff8716845290915290205416156104c557604051630188c99160e11b815260040160405180910390fd5b6040805160a0810182523081526001600160a01b03868116602080840191825287831684860190815262ffffff88811660008181526004855288812054909216606080890182905260808901839052975183546001600160a01b03199081169189169190911790935594516001805490931690871617909155905160028054919095166001600160b81b031990911617600160a01b9093029290921762ffffff60b81b1916600160b81b9092029190911790915591516bffffffffffffffffffffffff1987831b8116938201939093529085901b90911660348201526001600160e81b031960e884901b166048820152604b01604051602081830303815290604052805190602001206040516105da906107b9565b8190604051809103906000f59050801580156105fa573d6000803e3d6000fd5b50600080546001600160a01b031990811682556001805482168155600280546001600160d01b03191681556001600160a01b038981168086526005602081815260408089208d8616808b52908352818a2062ffffff8e8116808d52918552838c2080548e8a16908d168117909155838d52958552838c20878d528552838c20828d528552838c2080548c16871790558351606081018552878152808601848152818601848152600380549d8e018155909e5290519a9099027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810180549b8a169b909c169a909a17909a5596517fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c90980180549a51909916600160a01b026001600160b81b0319909a169790951696909617979097179095559251938452949550939290917f97d23878912fda7f82bd5a8502f2c6e9086f5a4728f9054627788b3162f86ced910160405180910390a49392505050565b6003818154811061078157600080fd5b6000918252602090912060029091020180546001909101546001600160a01b03918216925090811690600160a01b900462ffffff1683565b614b508061097983390190565b803562ffffff811681146107d957600080fd5b919050565b6000602082840312156107f057600080fd5b6107f9826107c6565b9392505050565b600081518084526020808501945080840160005b838110156108395781516001600160a01b031687529582019590820190600101610814565b509495945050505050565b6060815260006108576060830186610800565b60208382038185015261086a8287610800565b8481036040860152855180825282870193509082019060005b818110156108a457845162ffffff1683529383019391830191600101610883565b509098975050505050505050565b80356001600160a01b03811681146107d957600080fd5b6000806000606084860312156108de57600080fd5b6108e7846108b2565b92506108f5602085016108b2565b9150610903604085016107c6565b90509250925092565b60006020828403121561091e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8082018082111561097257634e487b7160e01b600052601160045260246000fd5b9291505056fe6101206040523480156200001257600080fd5b50336001600160a01b031663890357306040518163ffffffff1660e01b815260040160a0604051808303816000875af115801562000054573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200007a9190620000d8565b62ffffff908116610100521660e0526001600160a01b0390811660c05290811660a0521660805262000148565b80516001600160a01b0381168114620000bf57600080fd5b919050565b805162ffffff81168114620000bf57600080fd5b600080600080600060a08688031215620000f157600080fd5b620000fc86620000a7565b94506200010c60208701620000a7565b93506200011c60408701620000a7565b92506200012c60608701620000c4565b91506200013c60808701620000c4565b90509295509295909350565b60805160a05160c05160e051610100516149456200020b60003960008181610491015281816108610152818161089801526114c301526000818161041c0152818161141d01528181611dab0152611de30152600081816104570152818161097801528181610a9001528181610c2401528181610eca0152818161183a0152611ff601526000818161014c015281816108e801528181610a0901528181610b7101528181610dd3015281816119700152611f63015260006103f501526149456000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80636a234ae9116100b8578063d21220a71161007c578063d21220a714610452578063dd5a12d814610479578063ddca3f431461048c578063f3058399146104b3578063f30dba93146104bc578063fe4b84df1461054557600080fd5b80636a234ae9146103aa578063883bdbfd146103bd578063a34123a7146103dd578063c45a0155146103f0578063d0c93a7c1461041757600080fd5b80633c8a7d8d1161010a5780633c8a7d8d1461028457806346141319146102ac5780634a182392146102c35780634f1eb3d8146102d6578063514ea4bf146103095780635339c2961461038a57600080fd5b80630dfe1681146101475780631a6865021461018b578063252c09d7146101b657806332148f67146101f05780633850c7bd14610205575b600080fd5b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b60035461019e906001600160801b031681565b6040516001600160801b039091168152602001610182565b6101c96101c436600461401e565b610558565b6040805163ffffffff909416845260069290920b6020840152151590820152606001610182565b6102036101fe366004614037565b61058c565b005b60028054610246916001600160a01b03821691600160a01b810490910b9061ffff600160b81b8204811691600160c81b8104821691600160d81b9091041685565b604080516001600160a01b03909616865260029490940b602086015261ffff928316938501939093528116606084015216608082015260a001610182565b6102976102923660046140e5565b61061c565b60408051928352602083019190915201610182565b6102b560015481565b604051908152602001610182565b6102036102d136600461416d565b610859565b6102e96102e43660046141c0565b610cfd565b604080516001600160801b03938416815292909116602083015201610182565b61035461031736600461401e565b60066020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b604080516001600160801b039687168152602081019590955284019290925283166060830152909116608082015260a001610182565b6102b5610398366004614227565b60056020526000908152604090205481565b6102976103b836600461424a565b610fd1565b6103d06103cb366004614291565b61108d565b6040516101829190614306565b6102976103eb36600461434d565b6110fd565b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b61043e7f000000000000000000000000000000000000000000000000000000000000000081565b60405162ffffff9091168152602001610182565b61016e7f000000000000000000000000000000000000000000000000000000000000000081565b610297610487366004614390565b611238565b61043e7f000000000000000000000000000000000000000000000000000000000000000081565b6102b560005481565b61050a6104ca3660046143e0565b600460205260009081526040902080546001820154600283015460039093015460ff8316936101009093046001600160801b031692600f9290920b919085565b6040805195151586526001600160801b039094166020860152600f9290920b928401929092526060830191909152608082015260a001610182565b61020361055336600461401e565b611b1e565b60078161ffff811061056957600080fd5b015463ffffffff81169150600160201b810460060b90600160581b900460ff1683565b600254600160d81b900461ffff1660006105a860078385611c4d565b90508161ffff168161ffff1614610617576002805461ffff60d81b1916600160d81b61ffff8481169182029290921790925560408051918516825260208201929092527fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a910160405180910390a15b505050565b6000808560020b8760020b12158061063b5750620d89e719600288900b125b80610657575061064e620d89e719614411565b60020b8660020b135b15610674576040516264847d60e41b815260040160405180910390fd5b846001600160801b031660000361069e57604051630200e8a960e31b815260040160405180910390fd5b6000806106dc60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b815260200189600f0b815250611cc7565b925092505081935080925060008060008611156106fe576106fb611f4b565b91505b841561070f5761070c611fde565b90505b60405163d348799760e01b8152339063d34879979061073890899089908d908d9060040161445c565b600060405180830381600087803b15801561075257600080fd5b505af1158015610766573d6000803e3d6000fd5b50505050600086118015610789575061077d611f4b565b610787878461447c565b115b156107a75760405163098fb56160e01b815260040160405180910390fd5b6000851180156107c657506107ba611fde565b6107c4868361447c565b115b156107e45760405163098fb56160e01b815260040160405180910390fd5b604080513381526001600160801b038b1660208201529081018790526060810186905260028b810b91908d900b906001600160a01b038f16907f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde9060800160405180910390a450505050965096945050505050565b600061088e857f000000000000000000000000000000000000000000000000000000000000000062ffffff16620f424061202d565b905060006108c5857f000000000000000000000000000000000000000000000000000000000000000062ffffff16620f424061202d565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024016020604051808303816000875af1158015610931573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610955919061448f565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024016020604051808303816000875af11580156109c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e5919061448f565b90508715610a6e5760405163a9059cbb60e01b8152336004820152602481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb90604401600060405180830381600087803b158015610a5557600080fd5b505af1158015610a69573d6000803e3d6000fd5b505050505b8615610af55760405163a9059cbb60e01b8152336004820152602481018890527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb90604401600060405180830381600087803b158015610adc57600080fd5b505af1158015610af0573d6000803e3d6000fd5b505050505b604051630e9cbafb60e41b8152339063e9cbafb090610b1e90879087908b908b9060040161445c565b600060405180830381600087803b158015610b3857600080fd5b505af1158015610b4c573d6000803e3d6000fd5b505050508382610b5c919061447c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a08231906024016020604051808303816000875af1158015610bc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be6919061448f565b1015610c0557604051637bc35e0560e01b815260040160405180910390fd5b610c0f838261447c565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a08231906024016020604051808303816000875af1158015610c75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c99919061448f565b1015610cb857604051637bc35e0560e01b815260040160405180910390fd5b604080518981526020810189905233917f1c1db1f1d6a01e51fec24bb54087b65fe5430f692280e70d92f718eb72ae76b7910160405180910390a25050505050505050565b60008080610d0e6006338989612076565b60038101549091506001600160801b0390811690861611610d2f5784610d3e565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611610d665783610d7c565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615610e6f57600381018054849190600090610dad9084906001600160801b03166144a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb89856040518363ffffffff1660e01b8152600401610e3c9291906001600160a01b039290921682526001600160801b0316602082015260400190565b600060405180830381600087803b158015610e5657600080fd5b505af1158015610e6a573d6000803e3d6000fd5b505050505b6001600160801b03821615610f6657818160030160108282829054906101000a90046001600160801b0316610ea491906144a8565b92506101000a8154816001600160801b0302191690836001600160801b031602179055507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb89846040518363ffffffff1660e01b8152600401610f339291906001600160a01b039290921682526001600160801b0316602082015260400190565b600060405180830381600087803b158015610f4d57600080fd5b505af1158015610f61573d6000803e3d6000fd5b505050505b604080516001600160a01b038a1681526001600160801b0385811660208301528416818301529051600288810b92908a900b9133917fa89c1c8a741251492622c95237828c75d1dbb03ea956f09e3792ff2a14f4fe62919081900360600190a4509550959350505050565b6040805160a081018252600280546001600160a01b0381168352600160a01b810490910b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b900490911660808201526000805460015491928392909190836110466006888b8b612076565b905060008061106b8b8b8860200151888860046120d39095949392919063ffffffff16565b909250905061107b8383836121bd565b909c909b509950505050505050505050565b60606110f4428484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060028054600795949350600160a01b810490910b915061ffff600160b81b8204811691600160c81b9004166122af565b90505b92915050565b60008060008060006111486040518060800160405280336001600160a01b031681526020018a60020b81526020018960020b81526020018861113e906144cf565b600f0b9052611cc7565b92509250925081611158906144f5565b9450611163816144f5565b935060008511806111745750600084115b156111d65760038301546111929086906001600160801b0316614511565b60038401546111b2908690600160801b90046001600160801b0316614511565b6001600160801b039182169116600160801b026001600160801b0319161760038401555b604080516001600160801b038816815260208101879052908101859052600288810b91908a900b9033907f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c9060600160405180910390a4505050935093915050565b6040805160a081018252600280546001600160a01b0381168352600160a01b810490910b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b9004909116608082015260035460009182916001600160801b0316886112ec5781600001516001600160a01b0316876001600160a01b031610806112e7575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038816115b61131d565b81600001516001600160a01b0316876001600160a01b0316118061131d57506401000276a36001600160a01b038816105b1561133b57604051632d4eeeb360e21b815260040160405180910390fd5b60006040518060c001604052808a81526020016000815260200184600001516001600160a01b03168152602001846020015160020b81526020018b61138257600154611386565b6000545b8152602001836001600160801b031681525090505b8051158015906113c15750876001600160a01b031681604001516001600160a01b031614155b156116a6576040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915260408201516001600160a01b031681526060820151611442906005907f00000000000000000000000000000000000000000000000000000000000000008e61236e565b5060020b602082018190526114569061252b565b6001600160a01b0316606082015260408201516114e7908c611490578a6001600160a01b031683606001516001600160a01b0316116114aa565b8a6001600160a01b031683606001516001600160a01b0316105b6114b85782606001516114ba565b8a5b60a085015185517f0000000000000000000000000000000000000000000000000000000000000000612951565b60c0850190815260a0850191909152608084019182526001600160a01b0390921660408501529051905161151b919061447c565b8251839061152a908390614531565b90525060a081015160208301805161154390839061447c565b90525060a08201516001600160801b03161561158e576115798160c00151600160801b8460a001516001600160801b0316612a84565b8260800181815161158a919061447c565b9052505b80606001516001600160a01b031682604001516001600160a01b0316036116695760006115e982602001518d6115c6576000546115cc565b84608001515b8e6115db5785608001516115df565b6001545b6004929190612b51565b90508b156115fd576115fa816144cf565b90505b61160b8360a0015182612b9e565b6001600160801b031660a0840181905260000361163b57604051634323a55560e01b815260040160405180910390fd5b8b61164a57816020015161165b565b6001826020015161165b9190614544565b60020b6060840152506116a0565b80600001516001600160a01b031682604001516001600160a01b0316146116a0576116978260400151612bcf565b60020b60608301525b5061139b565b826020015160020b816060015160020b14611764576000806116e885604001516116cd4290565b6020880151606089015160808a015160079493929190612f09565b604085015160608601516002805463ffffffff60b81b1916600160c81b61ffff9586160261ffff60b81b191617600160b81b9590941694909402929092176001600160b81b031916600160a01b62ffffff909316929092026001600160a01b031916919091176001600160a01b03909116179055506117899050565b6040810151600280546001600160a01b0319166001600160a01b039092169190911790555b8060a001516001600160801b0316826001600160801b0316146117cb5760a0810151600380546001600160801b0319166001600160801b039092169190911790555b89156117de5760808101516000556117e7565b60808101516001555b8961180b5780602001516117fa906144f5565b8151611806908b614531565b611825565b8051611817908a614531565b8160200151611825906144f5565b90955093508915611966576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a9059cbb8c611869876144f5565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156118af57600080fd5b505af11580156118c3573d6000803e3d6000fd5b5050505060006118d1611f4b565b60405163fa461e3360e01b8152909150339063fa461e33906118fd90899089908d908d9060040161445c565b600060405180830381600087803b15801561191757600080fd5b505af115801561192b573d6000803e3d6000fd5b50505050611937611f4b565b611941878361447c565b11156119605760405163098fb56160e01b815260040160405180910390fd5b50611a98565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a9059cbb8c61199f886144f5565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156119e557600080fd5b505af11580156119f9573d6000803e3d6000fd5b505050506000611a07611fde565b60405163fa461e3360e01b8152909150339063fa461e3390611a3390899089908d908d9060040161445c565b600060405180830381600087803b158015611a4d57600080fd5b505af1158015611a61573d6000803e3d6000fd5b50505050611a6d611fde565b611a77868361447c565b1115611a965760405163098fb56160e01b815260040160405180910390fd5b505b6002805460a083810151604080518a8152602081018a90526001600160a01b03808616828401526001600160801b039093166060820152600160a01b90940490940b60808401529251928e169233927fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca6792908290030190a3505050965096945050505050565b6002546001600160a01b031615611b475760405162dc149f60e41b815260040160405180910390fd5b6000611b528261304e565b90506000611b5f82612bcf565b9050600080611bb1426007906040805160608101825263ffffffff929092168083526000602084015260019290910182905282546bffffffffffffffffffffffff191617600160581b17909155908190565b6040805160a0810182526001600160a01b0397909716808852600287810b60208a015260009289019290925261ffff9384166060890181905292909316608090970187905280546001600160b81b031916909217600160a01b62ffffff909616959095029490941765ffffffffffff60b81b1916600160c81b90940261ffff60d81b191693909317600160d81b90940293909317909155505050565b60008261ffff168261ffff1611611c65575081611cc0565b825b8261ffff168161ffff161015611cbb576001858261ffff1661ffff8110611c9057611c90614569565b01805463ffffffff191663ffffffff9290921691909117905580611cb38161457f565b915050611c67565b508190505b9392505050565b6040805160a081018252600280546001600160a01b0381168352600160a01b810490910b60208084019190915261ffff600160b81b8304811684860152600160c81b830481166060850152600160d81b909204909116608083015260008054600154865193870151958701519295869586959094611d489260069291612076565b6020808901519085015160608a0151929850600092611d6e92600492909187878761307b565b6040890151602086015160608b0151929350600092611d959260049290918888600161307b565b90508115611dcf576020890151611dcf906005907f0000000000000000000000000000000000000000000000000000000000000000613182565b8015611e07576040890151611e07906005907f0000000000000000000000000000000000000000000000000000000000000000613182565b6020808a015160408b0151918701516000928392611e2a92600492908a8a6120d3565b60608d01519193509150611e41908b908484613218565b8a6020015160020b876020015160020b1215611e8557611e7e611e678c6020015161252b565b611e748d6040015161252b565b8d6060015161334d565b9850611f3d565b8a6040015160020b876020015160020b1215611f1357611eb08760000151611e748d6040015161252b565b9850611ece611ec28c6020015161252b565b885160608e0151613389565b60035460608d0151919950611eee916001600160801b0390911690612b9e565b600380546001600160801b0319166001600160801b0392909216919091179055611f3d565b611f3a611f238c6020015161252b565b611f308d6040015161252b565b8d60600151613389565b97505b505050505050509193909250565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a08231906024015b6020604051808303816000875af1158015611fb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd9919061448f565b905090565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401611f96565b600061203a848484612a84565b90506000828061204c5761204c6145a0565b8486091115611cc057600019811061206357600080fd5b8061206d816145b6565b95945050505050565b6040805160609490941b6bffffffffffffffffffffffff191660208086019190915260e893841b60348601529190921b60378401528151601a818503018152603a9093018252825192810192909220600090815292909152902090565b600285810b60008181526020899052604080822088850b83529082209193849391929184918291908a900b1261211457505060028201546003830154612138565b60028401546121239089614531565b91508360030154876121359190614531565b90505b6000808b60020b8b60020b121561215a5750506002830154600384015461217e565b6002850154612169908b614531565b915084600301548961217b9190614531565b90505b81612189858c614531565b6121939190614531565b9750806121a0848b614531565b6121aa9190614531565b9650505050505050965096945050505050565b60008060006121ea8660010154866121d59190614531565b87546001600160801b0316600160801b612a84565b905060006122168760020154866122019190614531565b88546001600160801b0316600160801b612a84565b90506000826001600160801b0316118061223957506000816001600160801b0316115b1561228c5760038701546122579083906001600160801b0316614511565b60038801546001600160801b03918216955061227c918391600160801b900416614511565b6001600160801b031692506122a5565b816001600160801b03169350806001600160801b031692505b5050935093915050565b6060845167ffffffffffffffff8111156122cb576122cb6145cf565b6040519080825280602002602001820160405280156122f4578160200160208202803683370190505b50905060005b85518110156123635761232a888888848151811061231a5761231a614569565b60200260200101518888886133b7565b82828151811061233c5761233c614569565b602002602001019060060b908160060b81525050808061235b906145b6565b9150506122fa565b509695505050505050565b6000808061237c85876145e5565b905060008660020b12801561239c5750612396858761461f565b60020b15155b156123af57806123ab81614641565b9150505b831561245c576000806123c18361352b565b90925090506000600160ff831681901b906123dc9082614531565b6123e6919061447c565b600184900b600090815260208c905260409020548116801515965090915085612426578861241760ff851687614544565b6124219190614664565b612451565b8861243082613548565b61243a9085614684565b6124479060ff1687614544565b6124519190614664565b965050505050612521565b60008061247261246d84600161469d565b61352b565b9092509050600061248a600160ff841681901b614531565b600184900b600090815260208c9052604090205490199081168015159650909150856124e357886124bc8460ff614684565b60ff166124ca87600161469d565b6124d4919061469d565b6124de9190614664565b61251a565b88836124ee8361363a565b6124f89190614684565b60ff1661250687600161469d565b612510919061469d565b61251a9190614664565b9650505050505b5094509492505050565b60008060008360020b12612542578260020b61254f565b8260020b61254f906144f5565b905061255e620d89e719614411565b62ffffff1681111561259b5760405162461bcd60e51b81526020600482015260016024820152601560fa1b60448201526064015b60405180910390fd5b6000816001166000036125b257600160801b6125c4565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156126035760806125fe826ffff97272373d413259a46990580e213a6146c2565b901c90505b600482161561262d576080612628826ffff2e50f5f656932ef12357cf3c7fdcc6146c2565b901c90505b6008821615612657576080612652826fffe5caca7e10e4e61c3624eaa0941cd06146c2565b901c90505b601082161561268157608061267c826fffcb9843d60f6159c9db58835c9266446146c2565b901c90505b60208216156126ab5760806126a6826fff973b41fa98c081472e6896dfb254c06146c2565b901c90505b60408216156126d55760806126d0826fff2ea16466c96a3843ec78b326b528616146c2565b901c90505b60808216156126ff5760806126fa826ffe5dee046a99a2a811c461f1969c30536146c2565b901c90505b61010082161561272a576080612725826ffcbe86c7900a88aedcffc83b479aa3a46146c2565b901c90505b610200821615612755576080612750826ff987a7253ac413176f2b074cf7815e546146c2565b901c90505b61040082161561278057608061277b826ff3392b0822b70005940c7a398e4b70f36146c2565b901c90505b6108008216156127ab5760806127a6826fe7159475a2c29b7443b29c7fa6e889d96146c2565b901c90505b6110008216156127d65760806127d1826fd097f3bdfd2022b8845ad8f792aa58256146c2565b901c90505b6120008216156128015760806127fc826fa9f746462d870fdf8a65dc1f90e061e56146c2565b901c90505b61400082161561282c576080612827826f70d869a156d2a1b890bb3df62baf32f76146c2565b901c90505b618000821615612857576080612852826f31be135f97d08fd981231505542fcfa66146c2565b901c90505b6201000082161561288357608061287e826f09aa508b5b7a84e1c677de54f3e99bc96146c2565b901c90505b620200008216156128ae5760806128a9826e5d6af8dedb81196699c329225ee6046146c2565b901c90505b620400008216156128d85760806128d3826d2216e584f5fa1ea926041bedfe986146c2565b901c90505b620800008216156129005760806128fb826b048a170391f7dc42444e8fa26146c2565b901c90505b60008460020b131561291b57612918816000196146d9565b90505b612929600160201b826146ed565b15612935576001612938565b60005b6129499060ff16602083901c61447c565b949350505050565b60008080806001600160a01b03808916908a161015816129868861297889620f4240614701565b62ffffff16620f4240612a84565b90508161299f5761299a8b8b8b6001613765565b6129ac565b6129ac8b8b8b60016137e6565b94508481106129bd578995506129cc565b6129c98b8a83856138b2565b95505b6001600160a01b03868116908b16148215612a1057806129f8576129f38c888c60016137e6565b6129fa565b855b9550612a098c888c6000613765565b9450612a3b565b80612a2757612a228c888c6001613765565b612a29565b855b9550612a388c888c60006137e6565b94505b80612a5157612a4a868a614531565b9350612a75565b612a728662ffffff8a16612a688b620f4240614701565b62ffffff1661202d565b93505b50505095509550955095915050565b6000808060001985870985870292508281108382030391505080600003612abe57838281612ab457612ab46145a0565b0492505050611cc0565b838110612ae857604051631dcf306360e21b81526004810182905260248101859052604401612592565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600283810b600090815260208690526040812091820154909190612b759085614531565b60028201556003810154612b899084614531565b600382015560010154600f0b95945050505050565b60008082600f0b1215612bc557612bb4826144cf565b612bbe90846144a8565b90506110f7565b6110f48284614511565b60006401000276a36001600160a01b03831610801590612c0b575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b612c3b5760405162461bcd60e51b81526020600482015260016024820152602960f91b6044820152606401612592565b640100000000600160c01b03602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c97908811961790941790921717909117171760808110612cd657612ccc607f82614531565b83901c9150612ce7565b612ce181607f614531565b83901b91505b60006040612cf660808461471d565b901b9050828302607f1c92508260801c80603f1b8217915083811c935050828302607f1c92508260801c80603e1b8217915083811c935050828302607f1c92508260801c80603d1b8217915083811c935050828302607f1c92508260801c80603c1b8217915083811c935050828302607f1c92508260801c80603b1b8217915083811c935050828302607f1c92508260801c80603a1b8217915083811c935050828302607f1c92508260801c8060391b8217915083811c935050828302607f1c92508260801c8060381b8217915083811c935050828302607f1c92508260801c8060371b8217915083811c935050828302607f1c92508260801c8060361b8217915083811c935050828302607f1c92508260801c8060351b8217915083811c935050828302607f1c92508260801c8060341b8217915083811c935050828302607f1c92508260801c8060331b8217915083811c935050828302607f1c92508260801c8060321b8217915050600081693627a301d71055774c85612e79919061473d565b905060006080612e996f028f6481ab7f045a5af012a19d003aaa8461471d565b901d905060006080612ebb846fdb2df09e81959a81455e260799a0632f61476d565b901d90508060020b8260020b14612efa57886001600160a01b0316612edf8261252b565b6001600160a01b03161115612ef45781612efc565b80612efc565b815b9998505050505050505050565b6000806000888861ffff1661ffff8110612f2557612f25614569565b60408051606081018252919092015463ffffffff808216808452600160201b830460060b6020850152600160581b90920460ff161515938301939093529092509088169003612f7a5787859250925050613043565b8461ffff168461ffff16118015612fa25750612f97600186614795565b61ffff168861ffff16145b15612faf57839150612fb3565b8491505b81612fbf8960016147b0565b612fc991906147cb565b9250612fd68188886138d4565b898461ffff1661ffff8110612fed57612fed614569565b82519101805460208401516040909401511515600160581b0260ff60581b1966ffffffffffffff909516600160201b026affffffffffffffffffffff1990921663ffffffff909416939093171792909216179055505b965096945050505050565b600061305c60406060614684565b60ff1661306c604084901b613953565b600f0b901b600f0b9050919050565b600286900b6000908152602088905260408120805461010090046001600160801b0316826130a98289612b9e565b6001600160801b03808216159084168015919091141595509091506000036130f3578860020b8a60020b136130e75760028301879055600383018690555b825460ff191660011783555b825470ffffffffffffffffffffffffffffffff0019166101006001600160801b038316021783558461313a57600183015461313590600f8a810b91900b61476d565b613150565b600183015461315090600f8a810b91900b61471d565b60019390930180546001600160801b0319166001600160801b0390941693909317909255509098975050505050505050565b61318c818361461f565b60020b156131dc5760405162461bcd60e51b815260206004820152601c60248201527f5469636b206973206e6f7420636f72726563746c7920737061636564000000006044820152606401612592565b6000806131ec61246d84866145e5565b600191820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600061324285600101548461322d9190614531565b86546001600160801b0316600160801b612a84565b905060006132598660020154846121d59190614531565b8654909150613271906001600160801b031686612b9e565b86546001600160801b0319166001600160801b03918216178755600187018590556002870184905582161515806132b157506000816001600160801b0316115b15613345576003860180548391906000906132d69084906001600160801b0316614511565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550808660030160108282829054906101000a90046001600160801b03166133209190614511565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b505050505050565b60008082600f0b1261336b5761336684848460016137e6565b612949565b6133808484613379856144cf565b60006137e6565b612949906144f5565b60008082600f0b126133a2576133668484846001613765565b61338084846133b0856144cf565b6000613765565b60008463ffffffff16600003613441576000878461ffff1661ffff81106133e0576133e0614569565b60408051606081018252919092015463ffffffff808216808452600160201b830460060b6020850152600160581b90920460ff1615159383019390935290925090881614613436576134338188876138d4565b90505b602001519050613521565b600061344d86886147ec565b90506000806134608a8a858a8a8a613975565b91509150816000015163ffffffff168363ffffffff160361348957506020015191506135219050565b806000015163ffffffff168363ffffffff16036134ae57602001519250613521915050565b815181516000916134be916147ec565b63ffffffff16905060008360000151856134d891906147ec565b63ffffffff1690508082856020015185602001516134f69190614809565b6135009190614836565b61350a919061486b565b8460200151613519919061488b565b955050505050505b9695505050505050565b600281900b60081d60006135416101008461461f565b9050915091565b600080821161355657600080fd5b600160801b821061357457608091821c9161357190826148b8565b90505b600160401b821061359257604091821c9161358f90826148b8565b90505b600160201b82106135b057602091821c916135ad90826148b8565b90505b6201000082106135cd57601091821c916135ca90826148b8565b90505b61010082106135e957600891821c916135e690826148b8565b90505b6010821061360457600491821c9161360190826148b8565b90505b6004821061361f57600291821c9161361c90826148b8565b90505b60028210613635576136326001826148b8565b90505b919050565b600080821161364857600080fd5b5060ff6001600160801b0382161561366c57613665608082614684565b9050613674565b608082901c91505b67ffffffffffffffff8216156136965761368f604082614684565b905061369e565b604082901c91505b63ffffffff8216156136bc576136b5602082614684565b90506136c4565b602082901c91505b61ffff8216156136e0576136d9601082614684565b90506136e8565b601082901c91505b60ff821615613703576136fc600882614684565b905061370b565b600882901c91505b600f8216156137265761371f600482614684565b905061372e565b600482901c91505b600382161561374957613742600282614684565b9050613751565b600282901c91505b600182161561363557613632600182614684565b6000836001600160a01b0316856001600160a01b03161115613785579293925b81156137bc576137b56001600160801b0384166137a287876148d1565b6001600160a01b0316600160601b61202d565b9050612949565b61206d6001600160801b0384166137d387876148d1565b6001600160a01b0316600160601b612a84565b6000836001600160a01b0316856001600160a01b03161115613806579293925b6000856001600160a01b03161161381c57600080fd5b600160601b600160e01b03606084901b16600061383987876148d1565b6001600160a01b03169050831561387d576138766138618383896001600160a01b031661202d565b886001600160a01b0316808204910615150190565b92506138a8565b866001600160a01b031661389b8383896001600160a01b0316612a84565b6138a591906146d9565b92505b5050949350505050565b6000816138c9576138c4858585613b3d565b61206d565b61206d858585613b6a565b6040805160608101825260008082526020820181905291810191909152835160009061390090856147ec565b63ffffffff16905060405180606001604052808563ffffffff168152602001828560020b61392e919061486b565b876020015161393d919061488b565b60060b8152600160209091015295945050505050565b60008082600f0b121561396557600080fd5b613632604083600f0b901b613c0e565b60408051606081018252600080825260208201819052918101919091526040805160608101825260008082526020820181905291810191909152878461ffff1661ffff81106139c6576139c6614569565b60408051606081018252919092015463ffffffff8116808352600160201b820460060b6020840152600160581b90910460ff161515928201929092529250613a1090889088613d7e565b15613a3b57815163ffffffff8781169116146130435781613a328388886138d4565b91509150613043565b8783613a488660016147b0565b613a5291906147cb565b61ffff1661ffff8110613a6757613a67614569565b60408051606081018252919092015463ffffffff81168252600160201b810460060b6020830152600160581b900460ff1615159181018290529250613ae05760408051606081018252895463ffffffff81168252600160201b810460060b6020830152600160581b900460ff1615159181019190915291505b613aef87836000015188613d7e565b613b215760405162461bcd60e51b815260206004820152600360248201526213d31160ea1b6044820152606401612592565b613b2e8888888787613e4d565b91509150965096945050505050565b6000613b5782600160601b856001600160801b0316612a84565b612949906001600160a01b03861661447c565b6000600160601b600160e01b03606084901b1681613b916001600160a01b038716856146c2565b90506001600160a01b038616613ba785836146d9565b03613be1576000613bb8828461447c565b9050828110613bdf57613bd583886001600160a01b03168361202d565b9350505050611cc0565b505b6135218285613bf96001600160a01b038a16836146d9565b613c03919061447c565b808204910615150190565b600081600003613c2057506000919050565b816001600160801b8210613c395760809190911c9060401b5b600160401b8210613c4f5760409190911c9060201b5b600160201b8210613c655760209190911c9060101b5b620100008210613c7a5760109190911c9060081b5b6101008210613c8e5760089190911c9060041b5b60108210613ca15760049190911c9060021b5b60048210613cad5760011b5b6001818581613cbe57613cbe6145a0565b048201901c90506001818581613cd657613cd66145a0565b048201901c90506001818581613cee57613cee6145a0565b048201901c90506001818581613d0657613d066145a0565b048201901c90506001818581613d1e57613d1e6145a0565b048201901c90506001818581613d3657613d366145a0565b048201901c90506001818581613d4e57613d4e6145a0565b048201901c90506000818581613d6657613d666145a0565b049050808210613d76578061206d565b509392505050565b60008363ffffffff168363ffffffff1611158015613da857508363ffffffff168263ffffffff1611155b15613dc4578163ffffffff168363ffffffff1611159050611cc0565b60008463ffffffff168463ffffffff1611613df257613ded63ffffffff8516600160201b6148f1565b613dfa565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611613e3157613e2c63ffffffff8516600160201b6148f1565b613e39565b8363ffffffff165b64ffffffffff169091111595945050505050565b604080516060808201835260008083526020808401829052838501829052845192830185528183528201819052928101839052909183613e8e8660016147b0565b613e9891906147cb565b61ffff169050600060018561ffff1683613eb2919061447c565b613ebc9190614531565b905060005b6002613ecd838561447c565b613ed791906146d9565b905089613ee861ffff8816836146ed565b61ffff8110613ef957613ef9614569565b60408051606081018252919092015463ffffffff81168252600160201b810460060b6020830152600160581b900460ff1615159181018290529550613f4a57613f4381600161447c565b9250613ec1565b8961ffff8716613f5b83600161447c565b613f6591906146ed565b61ffff8110613f7657613f76614569565b60408051606081018252929091015463ffffffff81168352600160201b810460060b602084015260ff600160581b909104161515908201528551909450600090613fc2908b908b613d7e565b9050808015613fdb5750613fdb8a8a8760000151613d7e565b15613fe65750614011565b80613ffd57613ff6600183614531565b925061400b565b61400882600161447c565b93505b50613ec1565b5050509550959350505050565b60006020828403121561403057600080fd5b5035919050565b60006020828403121561404957600080fd5b813561ffff81168114611cc057600080fd5b6001600160a01b038116811461407057600080fd5b50565b8035600281900b811461363557600080fd5b80356001600160801b038116811461363557600080fd5b60008083601f8401126140ae57600080fd5b50813567ffffffffffffffff8111156140c657600080fd5b6020830191508360208285010111156140de57600080fd5b9250929050565b60008060008060008060a087890312156140fe57600080fd5b86356141098161405b565b955061411760208801614073565b945061412560408801614073565b935061413360608801614085565b9250608087013567ffffffffffffffff81111561414f57600080fd5b61415b89828a0161409c565b979a9699509497509295939492505050565b6000806000806060858703121561418357600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156141a857600080fd5b6141b48782880161409c565b95989497509550505050565b600080600080600060a086880312156141d857600080fd5b85356141e38161405b565b94506141f160208701614073565b93506141ff60408701614073565b925061420d60608701614085565b915061421b60808701614085565b90509295509295909350565b60006020828403121561423957600080fd5b81358060010b8114611cc057600080fd5b60008060006060848603121561425f57600080fd5b61426884614073565b925061427660208501614073565b915060408401356142868161405b565b809150509250925092565b600080602083850312156142a457600080fd5b823567ffffffffffffffff808211156142bc57600080fd5b818501915085601f8301126142d057600080fd5b8135818111156142df57600080fd5b8660208260051b85010111156142f457600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b8181101561434157835160060b83529284019291840191600101614322565b50909695505050505050565b60008060006060848603121561436257600080fd5b61436b84614073565b925061437960208501614073565b915061438760408501614085565b90509250925092565b60008060008060008060a087890312156143a957600080fd5b86356143b48161405b565b9550602087013580151581146143c957600080fd5b94506040870135935060608701356141338161405b565b6000602082840312156143f257600080fd5b6110f482614073565b634e487b7160e01b600052601160045260246000fd5b60008160020b627fffff19810361442a5761442a6143fb565b60000392915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b848152836020820152606060408201526000613521606083018486614433565b808201808211156110f7576110f76143fb565b6000602082840312156144a157600080fd5b5051919050565b6001600160801b038281168282160390808211156144c8576144c86143fb565b5092915050565b600081600f0b6f7fffffffffffffffffffffffffffffff19810361442a5761442a6143fb565b6000600160ff1b820161450a5761450a6143fb565b5060000390565b6001600160801b038181168382160190808211156144c8576144c86143fb565b818103818111156110f7576110f76143fb565b600282810b9082900b03627fffff198112627fffff821317156110f7576110f76143fb565b634e487b7160e01b600052603260045260246000fd5b600061ffff808316818103614596576145966143fb565b6001019392505050565b634e487b7160e01b600052601260045260246000fd5b6000600182016145c8576145c86143fb565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60008160020b8360020b806145fc576145fc6145a0565b627fffff19821460001982141615614616576146166143fb565b90059392505050565b60008260020b80614632576146326145a0565b808360020b0791505092915050565b60008160020b627fffff19810361465a5761465a6143fb565b6000190192915050565b60008260020b8260020b028060020b91508082146144c8576144c86143fb565b60ff82811682821603908111156110f7576110f76143fb565b600281810b9083900b01627fffff8113627fffff19821217156110f7576110f76143fb565b80820281158282048414176110f7576110f76143fb565b6000826146e8576146e86145a0565b500490565b6000826146fc576146fc6145a0565b500690565b62ffffff8281168282160390808211156144c8576144c86143fb565b81810360008312801583831316838312821617156144c8576144c86143fb565b80820260008212600160ff1b84141615614759576147596143fb565b81810583148215176110f7576110f76143fb565b808201828112600083128015821682158216171561478d5761478d6143fb565b505092915050565b61ffff8281168282160390808211156144c8576144c86143fb565b61ffff8181168382160190808211156144c8576144c86143fb565b600061ffff808416806147e0576147e06145a0565b92169190910692915050565b63ffffffff8281168282160390808211156144c8576144c86143fb565b600682810b9082900b03667fffffffffffff198112667fffffffffffff821317156110f7576110f76143fb565b60008160060b8360060b8061484d5761484d6145a0565b667fffffffffffff19821460001982141615614616576146166143fb565b60008260060b8260060b028060060b91508082146144c8576144c86143fb565b600681810b9083900b01667fffffffffffff8113667fffffffffffff19821217156110f7576110f76143fb565b60ff81811683821601908111156110f7576110f76143fb565b6001600160a01b038281168282160390808211156144c8576144c86143fb565b64ffffffffff8181168382160190808211156144c8576144c86143fb56fea2646970667358221220cdd32f52fe3c0a18480a3327d3997701a37d2186f12b7000089f143dc3c4dafd64736f6c63430008140033a2646970667358221220f94bb9ccb60ff89a98fdd231dd63b7c1c9affc0683c4787894a8e825f17aa28364736f6c63430008140033