diff --git a/core/systemcontracts/upgrade.go b/core/systemcontracts/upgrade.go index 4b9a267fad..bf74b73248 100644 --- a/core/systemcontracts/upgrade.go +++ b/core/systemcontracts/upgrade.go @@ -653,13 +653,13 @@ func init() { Configs: []*UpgradeConfig{ { ContractAddr: common.HexToAddress(ValidatorContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/ff8df0741e8f7e9b2c85c2a3b7b2426ad2ba1fad", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/0f352c4623898d92664a46cbfc26c52b79aad838", Code: "60806040526004361061048d5760003560e01c806388b32f1111610255578063c81b166211610144578063e40716a1116100c1578063f92eb86b11610085578063f92eb86b14610bd7578063f9a2bbc714610bec578063fc3e590814610c01578063fccc281314610c16578063fd4ad81f14610c2b578063fd6a687914610c5a57610494565b8063e40716a114610b5a578063ea321e4914610b6f578063eb57e20214610b8f578063eda5868c14610baf578063f340fa0114610bc457610494565b8063d86222d511610108578063d86222d514610af1578063daacdb6614610b06578063dc927faf14610b1b578063e086c7b114610b30578063e1c7392a14610b4557610494565b8063c81b166214610a92578063c8509d81146108a0578063ce910b0c14610aa7578063d04aa99614610ac7578063d68fb56a14610adc57610494565b8063a78abc16116101d2578063aef198a911610196578063aef198a914610a31578063b7ab4db514610a46578063b8cf4ef114610a68578063bf9f499514610650578063c6d3394514610a7d57610494565b8063a78abc16146109b2578063aaf5eb68146109c7578063ab51bb96146109dc578063ac431751146109f1578063ad3c9da614610a1157610494565b80639dc09262116102195780639dc09262146109495780639fe0f8161461095e578063a0dc275814610973578063a1a11bf514610988578063a5422d5c1461099d57610494565b806388b32f11146108d55780638b5ad0c9146108ea5780638d19a410146108ff5780639369d7de1461091f57806396713da91461093457610494565b80635192c82c1161037c5780636e47b482116102f95780637942fd05116102bd5780637942fd05146108615780637a84ca2a1461087657806381650b621461088b578063831d65d1146108a0578063853230aa1461084c57806386249882146108c057610494565b80636e47b482146107f857806370fd5bad1461080d578063718a8aa81461082257806375d47a0a1461083757806378dfed4a1461084c57610494565b80635667515a116103405780635667515a146107675780635d77156c1461077c57806360eba4fe1461079157806362b72cf5146107b15780636969a25c146107c657610494565b80635192c82c146106e857806351e80672146106fd578063549b03f21461071257806355614fcc14610727578063565c56b31461074757610494565b80633365af3a1161040a57806343756e5c116103ce57806343756e5c1461067257806345cf9daf14610687578063493279b11461069c5780634bf6c882146106be5780634df6e0c3146106d357610494565b80633365af3a146105d857806335409f7f146105f85780633b071dcc146106185780633de0f0d81461063b5780633dffc3871461065057610494565b8063152ad3b811610451578063152ad3b81461054c5780631ff180691461056e578063219f22d514610583578063300c356714610598578063321d398a146105b857610494565b806304c4fec61461049957806307a56847146104b05780630bee7a67146104db5780630e2374a5146104fd5780631182b8751461051f57610494565b3661049457005b600080fd5b3480156104a557600080fd5b506104ae610c6f565b005b3480156104bc57600080fd5b506104c5610ce1565b6040516104d29190617594565b60405180910390f35b3480156104e757600080fd5b506104f0610ce7565b6040516104d291906175be565b34801561050957600080fd5b50610512610cec565b6040516104d2919061699b565b34801561052b57600080fd5b5061053f61053a366004616881565b610cf2565b6040516104d29190616b12565b34801561055857600080fd5b50610561610f2a565b6040516104d29190616b07565b34801561057a57600080fd5b506104c5610f33565b34801561058f57600080fd5b506104f0610f39565b3480156105a457600080fd5b506104ae6105b336600461670b565b610f3e565b3480156105c457600080fd5b506105616105d336600461682e565b6112c2565b3480156105e457600080fd5b506105616105f336600461682e565b611391565b34801561060457600080fd5b506104ae6106133660046166e4565b611442565b34801561062457600080fd5b5061062d61159b565b6040516104d2929190616a1d565b34801561064757600080fd5b506104c5611877565b34801561065c57600080fd5b5061066561187d565b6040516104d291906175cf565b34801561067e57600080fd5b50610512611882565b34801561069357600080fd5b506104c5611888565b3480156106a857600080fd5b506106b161188e565b6040516104d29190617585565b3480156106ca57600080fd5b50610665611893565b3480156106df57600080fd5b5061062d611898565b3480156106f457600080fd5b506104c5611a16565b34801561070957600080fd5b50610512611a1c565b34801561071e57600080fd5b506104c5611a22565b34801561073357600080fd5b506105616107423660046166e4565b611a28565b34801561075357600080fd5b506104c56107623660046166e4565b611a5d565b34801561077357600080fd5b50610665611aae565b34801561078857600080fd5b506104f0611ab3565b34801561079d57600080fd5b5061053f6107ac36600461682e565b611ab8565b3480156107bd57600080fd5b506104c5611b5e565b3480156107d257600080fd5b506107e66107e136600461682e565b611b64565b6040516104d2969594939291906169c8565b34801561080457600080fd5b50610512611bc8565b34801561081957600080fd5b50610665611bce565b34801561082e57600080fd5b50610665611bd3565b34801561084357600080fd5b50610512611bd8565b34801561085857600080fd5b506104c5611bde565b34801561086d57600080fd5b50610665611be4565b34801561088257600080fd5b506104c5611be9565b34801561089757600080fd5b506104f0611bef565b3480156108ac57600080fd5b506104ae6108bb366004616881565b611bf4565b3480156108cc57600080fd5b506104c5611c55565b3480156108e157600080fd5b506104c5611c5b565b3480156108f657600080fd5b506104c5611c61565b34801561090b57600080fd5b506104c561091a3660046166e4565b611c67565b34801561092b57600080fd5b506104ae611ca7565b34801561094057600080fd5b50610665611dbb565b34801561095557600080fd5b50610512611dc0565b34801561096a57600080fd5b506104c5611dc6565b34801561097f57600080fd5b506104c5611dcb565b34801561099457600080fd5b50610512611dd0565b3480156109a957600080fd5b5061053f611dd6565b3480156109be57600080fd5b50610561611df5565b3480156109d357600080fd5b506104c5611dfe565b3480156109e857600080fd5b506104f0611aae565b3480156109fd57600080fd5b506104ae610a0c3660046167d2565b611e07565b348015610a1d57600080fd5b506104c5610a2c3660046166e4565b6126b3565b348015610a3d57600080fd5b506104c56126c5565b348015610a5257600080fd5b50610a5b6126d2565b6040516104d29190616a0a565b348015610a7457600080fd5b506104c56127be565b348015610a8957600080fd5b506104c5611bce565b348015610a9e57600080fd5b506105126127c3565b348015610ab357600080fd5b5061053f610ac236600461682e565b6127c9565b348015610ad357600080fd5b506104c56127d6565b348015610ae857600080fd5b506104c56127db565b348015610afd57600080fd5b506104c561281a565b348015610b1257600080fd5b506104c5612826565b348015610b2757600080fd5b5061051261282c565b348015610b3c57600080fd5b506104c5612832565b348015610b5157600080fd5b506104ae612837565b348015610b6657600080fd5b506104c56129e6565b348015610b7b57600080fd5b50610561610b8a366004616793565b6129ec565b348015610b9b57600080fd5b506104ae610baa3660046166e4565b612b72565b348015610bbb57600080fd5b506104f0612c7a565b6104ae610bd23660046166e4565b612c7f565b348015610be357600080fd5b506104c5612f07565b348015610bf857600080fd5b50610512612f0d565b348015610c0d57600080fd5b50610665611dc6565b348015610c2257600080fd5b50610512612f13565b348015610c3757600080fd5b50610c4b610c4636600461682e565b612f19565b6040516104d29392919061759d565b348015610c6657600080fd5b50610512612fdb565b6000610c7a33611c67565b9050600b8181548110610c8957fe5b600091825260209091206001601690920201015460ff16610cc55760405162461bcd60e51b8152600401610cbc9061723d565b60405180910390fd5b6000610ccf6127db565b9050610cdc338383612fe1565b505050565b60095481565b606481565b61200181565b60005460609060ff16610d175760405162461bcd60e51b8152600401610cbc90616cd1565b3361200014610d385760405162461bcd60e51b8152600401610cbc9061741c565b600b54610df657610d476163d0565b60015460005b81811015610df257600b805460018101825560009190915283516000805160206176478339815191526016909202918201908155602080860151600080516020617c768339815191528401805460ff1916911515919091179055604086015180518794610dce936000805160206176678339815191529091019201906163ff565b506060820151610de49060038301906013616479565b505050806001019050610d4d565b5050505b610dfe6164a6565b6000610e3f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131cd92505050565b9150915080610e5b57610e526064613389565b92505050610f23565b815160009060ff16610e8057610e79836020015184604001516133ea565b9050610eef565b825160ff1660011415610eeb57826020015151600114610ec557600080516020617627833981519152604051610eb590617124565b60405180910390a1506067610ee6565b610e798360200151600081518110610ed957fe5b602002602001015161403e565b610eef565b5060655b63ffffffff8116610f145750506040805160008152602081019091529150610f239050565b610f1d81613389565b93505050505b9392505050565b60075460ff1681565b60035481565b606881565b334114610f5d5760405162461bcd60e51b8152600401610cbc9061746b565b6010544311610f7e5760405162461bcd60e51b8152600401610cbc90616e2d565b60005460ff16610fa05760405162461bcd60e51b8152600401610cbc90616cd1565b600f54610fb8576032600f55611002316011556112b8565b60006110023168056bc75e2d63100000811115610fe757610fe081606463ffffffff6141b516565b9150611030565b60115481111561102957610fe0606461101d600f54611011601154866141f790919063ffffffff16565b9063ffffffff61423916565b9063ffffffff6141b516565b50506112b8565b6040516309a99b4f60e41b815261100290639a99b4f09061105790309086906004016169af565b602060405180830381600087803b15801561107157600080fd5b505af1158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a99190616846565b611002316011559150816110be5750506112b8565b6000805b848110156110ec578585828181106110d657fe5b90506020020135820191508060010190506110c2565b50806110fa575050506112b8565b6000806000805b898110156112b0578489898381811061111657fe5b9050602002013588028161112657fe5b0493508a8a8281811061113557fe5b905060200201602081019061114a91906166e4565b6001600160a01b0381166000908152600460205260409020549093509150811561126657600060018084038154811061117f57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff16156111ec57836001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d85866040516111df9190617594565b60405180910390a2611260565b6003546111ff908663ffffffff61427316565b6003908155810154611217908663ffffffff61427316565b60038201556040516001600160a01b038516907fcb0aad6cf9cd03bdf6137e359f541c42f38b39f007cae8e89e88aa7d8c6617b290611257908890617594565b60405180910390a25b506112a8565b826001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858560405161129f9190617594565b60405180910390a25b600101611101565b505050505050505b5050436010555050565b60015460009082106112d65750600061138c565b60006001600160a01b0316600183815481106112ee57fe5b60009182526020909120600490910201546001600160a01b0316148061131e5750600854158061131e5750600a54155b8061132d575060085460095410155b8061133e575061133c82611391565b155b8061136757506000600b838154811061135357fe5b906000526020600020906016020160000154115b8061137b575060016113776126d2565b5111155b156113885750600061138c565b5060015b919050565b60015460009082106113a55750600061138c565b600b5482106113e257600182815481106113bb57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615905061138c565b600182815481106113ef57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615801561143c5750600b828154811061142357fe5b600091825260209091206001601690920201015460ff16155b92915050565b33611001146114635760405162461bcd60e51b8152600401610cbc9061753c565b600b54611521576114726163d0565b60015460005b8181101561151d57600b805460018101825560009190915283516000805160206176478339815191526016909202918201908155602080860151600080516020617c768339815191528401805460ff19169115159190911790556040860151805187946114f9936000805160206176678339815191529091019201906163ff565b50606082015161150f9060038301906013616479565b505050806001019050611478565b5050505b6001600160a01b038116600090815260046020526040902054806115455750611598565b6001810390506000600b828154811061155a57fe5b600091825260209091206001601690920201015460ff16905061157d8383614298565b80156115865750805b15610cdc576009805460001901905550505b50565b60015460609081906000805b828110156115ee57600181815481106115bc57fe5b9060005260206000209060040201600201601c9054906101000a900460ff166115e6576001909101905b6001016115a7565b5060608160405190808252806020026020018201604052801561161b578160200160208202803683370190505b50905060608260405190808252806020026020018201604052801561165457816020015b606081526020019060019003908161163f5790505b50600b54600094509091508414156117cf5760005b848110156117c9576001818154811061167e57fe5b9060005260206000209060040201600201601c9054906101000a900460ff166117c157600181815481106116ae57fe5b600091825260209091206004909102015483516001600160a01b03909116908490869081106116d957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600b818154811061170657fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561179e5780601f106117735761010080835404028352916020019161179e565b820191906000526020600020905b81548152906001019060200180831161178157829003601f168201915b50505050508285815181106117af57fe5b60209081029190910101526001909301925b600101611669565b5061186b565b60005b8481101561186957600181815481106117e757fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611861576001818154811061181757fe5b600091825260209091206004909102015483516001600160a01b039091169084908690811061184257fe5b6001600160a01b03909216602092830291909101909101526001909301925b6001016117d2565b505b909450925050505b9091565b61271081565b600181565b61100181565b60085481565b603881565b600881565b600e54600c546060918291806118ac575060155b60606118b66126d2565b905060606118c38261464b565b9050828251116118da579094509250611873915050565b838383510310156118ec578282510393505b83156119225760c8430461190883838388880360008a8a6147b9565b6119208383838888038989038a8b8b8b5103016147b9565b505b60608360405190808252806020026020018201604052801561194e578160200160208202803683370190505b50905060608460405190808252806020026020018201604052801561198757816020015b60608152602001906001900390816119725790505b50905060005b85811015611a08578481815181106119a157fe5b60200260200101518382815181106119b557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508381815181106119e157fe5b60200260200101518282815181106119f557fe5b602090810291909101015260010161198d565b509096509450505050509091565b60065481565b61200081565b600f5481565b6001600160a01b03811660009081526004602052604081205480611a5057600091505061138c565b60001901610f2381611391565b6001600160a01b03811660009081526004602052604081205480611a8557600091505061138c565b600180820381548110611a9457fe5b906000526020600020906004020160030154915050919050565b600081565b606781565b60128181548110611ac557fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815293509091830182828015611b565780601f10611b2b57610100808354040283529160200191611b56565b820191906000526020600020905b815481529060010190602001808311611b3957829003601f168201915b505050505081565b60105481565b60018181548110611b7157fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b81046001600160401b031691600160e01b90910460ff169086565b61100581565b600281565b601081565b61100881565b6103e881565b600b81565b600c5481565b606681565b3361200014611c155760405162461bcd60e51b8152600401610cbc9061741c565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051611c48939291906175dd565b60405180910390a1505050565b60025481565b60115481565b600a5481565b6001600160a01b03811660009081526004602052604081205480611c9d5760405162461bcd60e51b8152600401610cbc906173a4565b6000190192915050565b600b54611d6557611cb66163d0565b60015460005b81811015611d6157600b805460018101825560009190915283516000805160206176478339815191526016909202918201908155602080860151600080516020617c768339815191528401805460ff1916911515919091179055604086015180518794611d3d936000805160206176678339815191529091019201906163ff565b506060820151611d539060038301906013616479565b505050806001019050611cbc565b5050505b600854611d725760036008555b600a54611d7f576002600a555b6000611d8a33611c67565b9050611d95816112c2565b611db15760405162461bcd60e51b8152600401610cbc906170e1565b6115983382614910565b600981565b61100781565b600381565b60c881565b61100681565b6040518061062001604052806105ef81526020016176876105ef913981565b60005460ff1681565b6402540be40081565b60005460ff16611e295760405162461bcd60e51b8152600401610cbc90616cd1565b3361100714611e4a5760405162461bcd60e51b8152600401610cbc906171aa565b611eb484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526013815272065787069726554696d655365636f6e6447617606c1b602082015291506149a89050565b15611f515760208114611ed95760405162461bcd60e51b8152600401610cbc9061735e565b604080516020601f8401819004810282018101909252828152600091611f1791858580838501838280828437600092019190915250614a0192505050565b905060648110158015611f2d5750620186a08111155b611f495760405162461bcd60e51b8152600401610cbc90616f8a565b600255612670565b611fb184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260098152686275726e526174696f60b81b602082015291506149a89050565b1561204d5760208114611fd65760405162461bcd60e51b8152600401610cbc90616b57565b604080516020601f840181900481028201810190925282815260009161201491858580838501838280828437600092019190915250614a0192505050565b90506127108111156120385760405162461bcd60e51b8152600401610cbc90616e6f565b6006556007805460ff19166001179055612670565b6120b784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260138152726d61784e756d4f664d61696e7461696e696e6760681b602082015291506149a89050565b1561215157602081146120dc5760405162461bcd60e51b8152600401610cbc90616b8e565b604080516020601f840181900481028201810190925282815260009161211a91858580838501838280828437600092019190915250614a0192505050565b600c5490915080612129575060155b8082106121485760405162461bcd60e51b8152600401610cbc90616ee2565b50600855612670565b6121ba84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61696e7461696e536c6173685363616c6560701b602082015291506149a89050565b1561225357602081146121df5760405162461bcd60e51b8152600401610cbc90616c57565b604080516020601f840181900481028201810190925282815260009161221d91858580838501838280828437600092019190915250614a0192505050565b905060008111801561222f5750600a81105b61224b5760405162461bcd60e51b8152600401610cbc906174b8565b600a55612670565b6122c784848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601981527f6d61784e756d4f66576f726b696e6743616e6469646174657300000000000000602082015291506149a89050565b1561235657602081146122ec5760405162461bcd60e51b8152600401610cbc90616c0b565b604080516020601f840181900481028201810190925282815260009161232a91858580838501838280828437600092019190915250614a0192505050565b9050600d5481111561234e5760405162461bcd60e51b8152600401610cbc90617000565b600e55612670565b6123bf84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61784e756d4f6643616e6469646174657360701b602082015291506149a89050565b1561244157602081146123e45760405162461bcd60e51b8152600401610cbc906171f8565b604080516020601f840181900481028201810190925282815260009161242291858580838501838280828437600092019190915250614a0192505050565b600d819055600e5490915081101561243b57600d54600e555b50612670565b6124a584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c6e756d4f66436162696e65747360981b602082015291506149a89050565b1561255357602081146124ca5760405162461bcd60e51b8152600401610cbc90616c9c565b604080516020601f840181900481028201810190925282815260009161250891858580838501838280828437600092019190915250614a0192505050565b90506000811161252a5760405162461bcd60e51b8152600401610cbc90616d3f565b602981111561254b5760405162461bcd60e51b8152600401610cbc90616d87565b600c55612670565b6125bd84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527266696e616c697479526577617264526174696f60681b602082015291506149a89050565b1561265857602081146125e25760405162461bcd60e51b8152600401610cbc906172e1565b604080516020601f840181900481028201810190925282815260009161262091858580838501838280828437600092019190915250614a0192505050565b905060018110158015612634575060648111155b6126505760405162461bcd60e51b8152600401610cbc9061706f565b600f55612670565b60405162461bcd60e51b8152600401610cbc90617515565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040516126a59493929190616b25565b60405180910390a150505050565b60046020526000908152604090205481565b68056bc75e2d6310000081565b6001546060906000805b82811015612701576126ed81611391565b156126f9578160010191505b6001016126dc565b5060608160405190808252806020026020018201604052801561272e578160200160208202803683370190505b5090506000915060005b838110156127b55761274981611391565b156127ad576001818154811061275b57fe5b600091825260209091206004909102015482516001600160a01b039091169083908590811061278657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b600101612738565b50925050505b90565b601581565b61100281565b60138181548110611ac557fe5b603281565b60006127e56126d2565b519050600080600c54116127fa5760156127fe565b600c545b90508082111561280c578091505b8161281657600191505b5090565b67016345785d8a000081565b60055481565b61100381565b602981565b60005460ff161561285a5760405162461bcd60e51b8152600401610cbc906172aa565b6128626164a6565b60006128886040518061062001604052806105ef81526020016176876105ef91396131cd565b91509150806128a95760405162461bcd60e51b8152600401610cbc906173db565b60005b8260200151518110156129ce576001836020015182815181106128cb57fe5b60209081029190910181015182546001818101855560009485528385208351600493840290910180546001600160a01b039283166001600160a01b03199182161782558587015182850180549185169183169190911790556040860151600283018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b199590981692909516919091179290921694909417161790915560a0909301516003909301929092559186015180519185019391859081106129a157fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020556001016128ac565b50506103e8600255506000805460ff19166001179055565b600d5481565b601354600090815b81811015612af557612add85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050601380549092508591508110612a4557fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015612ad35780601f10612aa857610100808354040283529160200191612ad3565b820191906000526020600020905b815481529060010190602001808311612ab657829003601f168201915b5050505050614a06565b15612aed5760019250505061143c565b6001016129f4565b5060125460005b81811015612b6657612b4d86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050601280549092508591508110612a4557fe5b15612b5e576001935050505061143c565b600101612afc565b50600095945050505050565b3361100114612b935760405162461bcd60e51b8152600401610cbc9061753c565b600b54612c5157612ba26163d0565b60015460005b81811015612c4d57600b805460018101825560009190915283516000805160206176478339815191526016909202918201908155602080860151600080516020617c768339815191528401805460ff1916911515919091179055604086015180518794612c29936000805160206176678339815191529091019201906163ff565b506060820151612c3f9060038301906013616479565b505050806001019050612ba8565b5050505b6000612c5c82614a6a565b9050612c67816112c2565b15612c7657612c768282614910565b5050565b606581565b334114612c9e5760405162461bcd60e51b8152600401610cbc9061746b565b60005460ff16612cc05760405162461bcd60e51b8152600401610cbc90616cd1565b60003411612ce05760405162461bcd60e51b8152600401610cbc90616fd1565b6001600160a01b0381166000908152600460205260409020546007543491906103e89060ff1615612d1057506006545b600083118015612d205750600081115b15612dc1576000612d3d61271061101d868563ffffffff61423916565b90508015612dbf5760405161dead9082156108fc029083906000818181858888f19350505050158015612d74573d6000803e3d6000fd5b507f627059660ea01c4733a328effb2294d2f86905bf806da763a89cee254de8bee581604051612da49190617594565b60405180910390a1612dbc848263ffffffff6141f716565b93505b505b8115612ebf576000600180840381548110612dd857fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff1615612e4557846001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b485604051612e389190617594565b60405180910390a2612eb9565b600354612e58908563ffffffff61427316565b6003908155810154612e70908563ffffffff61427316565b60038201556040516001600160a01b038616907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc05590612eb0908790617594565b60405180910390a25b50612f01565b836001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b484604051612ef89190617594565b60405180910390a25b50505050565b600e5481565b61100081565b61dead81565b600b8181548110612f2657fe5b6000918252602091829020601691909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f810188900488028501880190925281845293965060ff90911694919291830182828015612fd15780601f10612fa657610100808354040283529160200191612fd1565b820191906000526020600020905b815481529060010190602001808311612fb457829003601f168201915b5050505050905083565b61100481565b6000600a5460001480612ff2575081155b80612ffd5750600954155b1561300a57506000610f23565b60096000815460019003919050819055506000613055600a5461101d8561101d600b898154811061303757fe5b6000918252602090912060169091020154439063ffffffff6141f716565b90506000600b858154811061306657fe5b906000526020600020906016020160010160006101000a81548160ff0219169083151502179055506000806110016001600160a01b0316638256ace66040518163ffffffff1660e01b8152600401604080518083038186803b1580156130cb57600080fd5b505afa1580156130df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613103919061685e565b915091506000935080831061317d5761311c8787614298565b506040516305bfb49960e41b815261100190635bfb499090613142908a9060040161699b565b600060405180830381600087803b15801561315c57600080fd5b505af1158015613170573d6000803e3d6000fd5b505050506001935061318f565b81831061318f5761318d87614a6a565b505b6040516001600160a01b038816907fb9d38178dc641ff1817967a63c9078cbcd955a9f1fcd75e0e3636de615d44d3b90600090a25050509392505050565b6131d56164a6565b60006131df6164a6565b6131e76164ca565b6131f86131f386614c0d565b614c32565b90506000805b61320783614c7c565b1561337b578061322c5761322261321d84614c9d565b614ceb565b60ff168452613373565b806001141561336e57606061324861324385614c9d565b614d6b565b9050805160405190808252806020026020018201604052801561328557816020015b6132726164ea565b81526020019060019003908161326a5790505b50856020018190525080516040519080825280602002602001820160405280156132c357816020015b60608152602001906001900390816132ae5790505b50604086015260005b8151811015613363576132dd6164ea565b606060006132fd8585815181106132f057fe5b6020026020010151614e3c565b9250925092508061331d578860009a509a50505050505050505050613384565b828960200151858151811061332e57fe5b6020026020010181905250818960400151858151811061334a57fe5b60200260200101819052505050508060010190506132cc565b506001925050613373565b61337b565b6001016131fe565b50919350909150505b915091565b604080516001808252818301909252606091829190816020015b60608152602001906001900390816133a35790505090506133c98363ffffffff16614f56565b816000815181106133d657fe5b6020026020010181905250610f2381614f69565b60006029835111156134215760008051602061762783398151915260405161341190616de4565b60405180910390a150606661143c565b60005b83518110156134bf5760005b818110156134b65784818151811061344457fe5b6020026020010151600001516001600160a01b031685838151811061346557fe5b6020026020010151600001516001600160a01b031614156134ae5760008051602061762783398151915260405161349b90616f3f565b60405180910390a160669250505061143c565b600101613430565b50600101613424565b506060806134cd8585614ff3565b60015491935091506000908190815b818110156135525767016345785d8a0000600182815481106134fa57fe5b9060005260206000209060040201600301541061351c5783600101935061354a565b60006001828154811061352b57fe5b906000526020600020906004020160030154111561354a578260010192505b6001016134dc565b5060608360405190808252806020026020018201604052801561357f578160200160208202803683370190505b5090506060846040519080825280602002602001820160405280156135ae578160200160208202803683370190505b5090506060856040519080825280602002602001820160405280156135dd578160200160208202803683370190505b50905060608660405190808252806020026020018201604052801561360c578160200160208202803683370190505b509050600060608760405190808252806020026020018201604052801561363d578160200160208202803683370190505b50905060608860405190808252806020026020018201604052801561366c578160200160208202803683370190505b509050600099506000985060006110046001600160a01b031663149d14d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156136b457600080fd5b505afa1580156136c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ec9190616846565b905067016345785d8a00008111156137375760008051602061762783398151915260405161371990617269565b60405180910390a160689d505050505050505050505050505061143c565b60005b898110156139a85767016345785d8a00006001828154811061375857fe5b906000526020600020906004020160030154106138dd576001818154811061377c57fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316898d815181106137ad57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006402540be400600183815481106137e257fe5b906000526020600020906004020160030154816137fb57fe5b066001838154811061380957fe5b90600052602060002090600402016003015403905061383183826141f790919063ffffffff16565b898e8151811061383d57fe5b6020026020010181815250506001828154811061385657fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316878e8151811061388757fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081888e815181106138b457fe5b60209081029190910101526138cf868263ffffffff61427316565b95508c6001019c50506139a0565b6000600182815481106138ec57fe5b90600052602060002090600402016003015411156139a0576001818154811061391157fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316848c8151811061394257fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506001818154811061396f57fe5b906000526020600020906004020160030154838c8151811061398d57fe5b6020026020010181815250508a6001019a505b60010161373a565b5060008415613c1e576002546040516303702b2960e51b815261100491636e0565209188916139e2918e918e918d91420190600401616a8d565b6020604051808303818588803b1580156139fb57600080fd5b505af193505050508015613a2c575060408051601f3d908101601f19168201909252613a2991810190616773565b60015b613ba3576040516000815260443d1015613a4857506000613ae3565b60046000803e60005160e01c6308c379a08114613a69576000915050613ae3565b60043d036004833e81513d60248201116001600160401b0382111715613a9457600092505050613ae3565b80830180516001600160401b03811115613ab5576000945050505050613ae3565b8060208301013d8601811115613ad357600095505050505050613ae3565b601f01601f191660405250925050505b80613aee5750613b30565b60019150857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28082604051613b229190616b12565b60405180910390a250613b9e565b3d808015613b5a576040519150601f19603f3d011682016040523d82523d6000602084013e613b5f565b606091505b5060019150857fbfa884552dd8921b6ce90bfe906952ae5b3b29be0cc1a951d4f62697635a3a4582604051613b949190616b12565b60405180910390a2505b613c1e565b8015613be5577fa217d08e65f80c73121cd9db834d81652d544bfbf452f6d04922b16c90a37b7086604051613bd89190617594565b60405180910390a1613c1c565b857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf280604051613c1390616bd4565b60405180910390a25b505b8015613dd45760005b8751811015613dd2576000888281518110613c3e57fe5b60200260200101519050600060018281548110613c5757fe5b60009182526020909120600160049092020181015481546001600160a01b03909116916108fc9185908110613c8857fe5b9060005260206000209060040201600301549081150290604051600060405180830381858888f1935050505090508015613d445760018281548110613cc957fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d9185908110613d1857fe5b906000526020600020906004020160030154604051613d379190617594565b60405180910390a2613dc8565b60018281548110613d5157fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d9185908110613da057fe5b906000526020600020906004020160030154604051613dbf9190617594565b60405180910390a25b5050600101613c27565b505b835115613f1e5760005b8451811015613f1c576000858281518110613df557fe5b60200260200101516001600160a01b03166108fc868481518110613e1557fe5b60200260200101519081150290604051600060405180830381858888f1935050505090508015613eab57858281518110613e4b57fe5b60200260200101516001600160a01b03167f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d868481518110613e8957fe5b6020026020010151604051613e9e9190617594565b60405180910390a2613f13565b858281518110613eb757fe5b60200260200101516001600160a01b03167f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d868481518110613ef557fe5b6020026020010151604051613f0a9190617594565b60405180910390a25b50600101613dde565b505b5050505050505050505050506000471115613f9a577f6ecc855f9440a9282c90913bbc91619fd44f5ec0b462af28d127b116f130aa4d47604051613f629190617594565b60405180910390a1604051611002904780156108fc02916000818181858888f19350505050158015613f98573d6000803e3d6000fd5b505b60006003819055600555815115613fb557613fb5828261522c565b6110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613ff257600080fd5b505af1158015614006573d6000803e3d6000fd5b50506040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf925060009150a1506000949350505050565b80516001600160a01b031660009081526004602052604081205480158061408f575060018082038154811061406f57fe5b9060005260206000209060040201600201601c9054906101000a900460ff165b156140d55782516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a2600091505061138c565b60015460055460001982011180159061412b5784516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a26000935050505061138c565b60058054600190810190915580548190600019860190811061414957fe5b6000918252602082206002600490920201018054921515600160e01b0260ff60e01b199093169290921790915585516040516001600160a01b03909116917ff226e7d8f547ff903d9d419cf5f54e0d7d07efa9584135a53a057c5f1f27f49a91a2506000949350505050565b6000610f2383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506159e6565b6000610f2383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615a1d565b6000826142485750600061143c565b8282028284828161425557fe5b0414610f235760405162461bcd60e51b8152600401610cbc90617169565b600082820183811015610f235760405162461bcd60e51b8152600401610cbc90616d08565b600080600183815481106142a857fe5b906000526020600020906004020160030154905060006001808054905003905060016142d26126d2565b5111614307576000600185815481106142e757fe5b90600052602060002090600402016003018190555060009250505061143c565b846001600160a01b03167f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70836040516143409190617594565b60405180910390a26001600160a01b038516600090815260046020526040812055835b6001546000190181101561452d576001816001018154811061438157fe5b90600052602060002090600402016001828154811061439c57fe5b60009182526020909120825460049092020180546001600160a01b03199081166001600160a01b0393841617825560018085015481840180548416918616919091179055600280860180549185018054909416919095161780835584546001600160401b03600160a01b91829004160267ffffffffffffffff60a01b1990911617808355935460ff600160e01b918290041615150260ff60e01b19909416939093179055600392830154920191909155600b80549091830190811061445d57fe5b9060005260206000209060160201600b828154811061447857fe5b600091825260209091208254601690920201908155600180830154818301805460ff909216151560ff19909216919091179055600280840180546144cf93838601939082161561010002600019019091160461651f565b506144e260038281019084016013616594565b509050508060010160046000600184815481106144fb57fe5b600091825260208083206004909202909101546001600160a01b03168352820192909252604001902055600101614363565b50600180548061453957fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b80548061458c57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906145be60028301826165be565b6145cc600383016000616602565b5050905560008183816145db57fe5b049050801561463f5760015460005b8181101561463c57826001828154811061460057fe5b906000526020600020906004020160030154016001828154811061462057fe5b60009182526020909120600360049092020101556001016145ea565b50505b50600195945050505050565b60015481516040805182815260208084028201019091526060929190839082801561468a57816020015b60608152602001906001900390816146755790505b50600b5490915083146146a157925061138c915050565b60005b828110156147b057600b6001600460008985815181106146c057fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403815481106146f457fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561478c5780601f106147615761010080835404028352916020019161478c565b820191906000526020600020905b81548152906001019060200180831161476f57829003601f168201915b505050505082828151811061479d57fe5b60209081029190910101526001016146a4565b50949350505050565b60005b8281101561490657600082878388016040516020016147dc92919061698d565b6040516020818303038152906040528051906020012060001c816147fc57fe5b069050808501828701146148fd576000898388018151811061481a57fe5b602002602001015190506060898489018151811061483457fe5b602002602001015190508a8388018151811061484c57fe5b60200260200101518b858a018151811061486257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b8489018151811061489157fe5b60200260200101906001600160a01b031690816001600160a01b03168152505089838801815181106148bf57fe5b60200260200101518a858a01815181106148d557fe5b6020026020010181905250808a848901815181106148ef57fe5b602002602001018190525050505b506001016147bc565b5050505050505050565b600980546001908101909155600b80548390811061492a57fe5b906000526020600020906016020160010160006101000a81548160ff02191690831515021790555043600b828154811061496057fe5b600091825260208220601690910201919091556040516001600160a01b038416917ff62981a567ec3cec866c6fa93c55bcdf841d6292d18b8d522ececa769375d82d91a25050565b6000816040516020016149bb9190616971565b60405160208183030381529060405280519060200120836040516020016149e29190616971565b6040516020818303038152906040528051906020012014905092915050565b015190565b815181516000916001918114808314614a225760009250614a60565b600160208701838101602088015b600284838510011415614a5b578051835114614a4f5760009650600093505b60209283019201614a30565b505050505b5090949350505050565b6001600160a01b03811660009081526004602052604081205480614a935750600019905061138c565b600181039050600060018281548110614aa857fe5b9060005260206000209060040201600301549050600060018381548110614acb57fe5b6000918252602090912060036004909202010155600154604051600019909101906001600160a01b038616907f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d90614b24908590617594565b60405180910390a280614b3c5782935050505061138c565b6000818381614b4757fe5b0490508015614c035760005b84811015614ba5578160018281548110614b6957fe5b9060005260206000209060040201600301540160018281548110614b8957fe5b6000918252602090912060036004909202010155600101614b53565b50600180549085015b81811015614c00578260018281548110614bc457fe5b9060005260206000209060040201600301540160018281548110614be457fe5b6000918252602090912060036004909202010155600101614bae565b50505b5091949350505050565b614c15616611565b506040805180820190915281518152602082810190820152919050565b614c3a6164ca565b614c4382615a49565b614c4c57600080fd5b6000614c5b8360200151615a83565b60208085015160408051808201909152868152920190820152915050919050565b6000614c86616611565b505080518051602091820151919092015191011190565b614ca5616611565b614cae82614c7c565b614cb757600080fd5b60208201516000614cc782615ae6565b80830160209586015260408051808201909152908152938401919091525090919050565b805160009015801590614d0057508151602110155b614d0957600080fd5b6000614d188360200151615a83565b90508083600001511015614d3e5760405162461bcd60e51b8152600401610cbc90617327565b8251602080850151830180519284900392918310156147b057506020919091036101000a90049392505050565b6060614d7682615a49565b614d7f57600080fd5b6000614d8a83615bc7565b9050606081604051908082528060200260200182016040528015614dc857816020015b614db5616611565b815260200190600190039081614dad5790505b5090506000614dda8560200151615a83565b60208601510190506000805b84811015614e3157614df783615ae6565b9150604051806040016040528083815260200184815250848281518110614e1a57fe5b602090810291909101015291810191600101614de6565b509195945050505050565b614e446164ea565b60606000614e506164ea565b6060614e5a6164ca565b614e6387614c32565b90506000805b614e7283614c7c565b15614f475780614e9d57614e8d614e8884614c9d565b615c23565b6001600160a01b03168552614f3f565b8060011415614ec557614eb2614e8884614c9d565b6001600160a01b03166020860152614f3f565b8060021415614eed57614eda614e8884614c9d565b6001600160a01b03166040860152614f3f565b8060031415614f1957614f0261321d84614c9d565b6001600160401b0316606086015260019150614f3f565b8060041415614f3a57614f33614f2e84614c9d565b615c3d565b9350614f3f565b614f47565b600101614e69565b50929791965091945092505050565b606061143c614f6483615cad565b615d93565b6060815160001415614f8a575060408051600081526020810190915261138c565b606082600081518110614f9957fe5b602002602001015190506000600190505b8351811015614fda57614fd082858381518110614fc357fe5b6020026020010151615de5565b9150600101614faa565b50610f23614fed825160c060ff16615e62565b82615de5565b6060806000808080806150046127db565b6001549091505b801561511257600181039250600b838154811061502457fe5b600091825260209091206001601690920201015460ff1661504457615109565b6001838154811061505157fe5b60009182526020909120600490910201546001600160a01b03169450615078858484612fe1565b935083158061508b575060018a51038610155b1561509557615109565b60005b8a5181101561510757856001600160a01b03168b82815181106150b757fe5b6020026020010151600001516001600160a01b031614156150ff5760018b82815181106150e057fe5b6020908102919091010151901515608090910152600190960195615107565b600101615098565b505b6000190161500b565b508489510360405190808252806020026020018201604052801561515057816020015b61513d6164ea565b8152602001906001900390816151355790505b5096508489510360405190808252806020026020018201604052801561518a57816020015b60608152602001906001900390816151755790505b5095506000915060005b895181101561521e578981815181106151a957fe5b602002602001015160800151615216578981815181106151c557fe5b60200260200101518884815181106151d957fe5b60200260200101819052508881815181106151f057fe5b602002602001015187848151811061520457fe5b60200260200101819052508260010192505b600101615194565b5050505050505b9250929050565b600154825160005b828110156153495760016152466164ea565b6001838154811061525357fe5b600091825260208083206040805160c08101825260049490940290910180546001600160a01b0390811685526001820154811693850193909352600281015492831691840191909152600160a01b82046001600160401b03166060840152600160e01b90910460ff16151560808301526003015460a082015291505b8481101561531d578781815181106152e357fe5b6020026020010151600001516001600160a01b031682600001516001600160a01b03161415615315576000925061531d565b6001016152cf565b50811561533f5780516001600160a01b03166000908152600460205260408120555b5050600101615234565b508082111561540857805b8281101561540657600180548061536757fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806153ba57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906153ec60028301826165be565b6153fa600383016000616602565b50509055600101615354565b505b60008183106154175781615419565b825b905060005b81811015615788576154cb86828151811061543557fe5b60200260200101516001838154811061544a57fe5b60009182526020918290206040805160c08101825260049390930290910180546001600160a01b0390811684526001820154811694840194909452600281015493841691830191909152600160a01b83046001600160401b03166060830152600160e01b90920460ff161515608082015260039091015460a0820152615f34565b61567f5780600101600460008884815181106154e357fe5b6020026020010151600001516001600160a01b03166001600160a01b031681526020019081526020016000208190555085818151811061551f57fe5b60200260200101516001828154811061553457fe5b6000918252602091829020835160049092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549184169185169190911790556040840151600282018054606087015160808801511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909716929097169190911792909216939093171692909217905560a09091015160039091015584518590829081106155ef57fe5b6020026020010151600b828154811061560457fe5b906000526020600020906016020160020190805190602001906156289291906163ff565b506000600b828154811061563857fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b80548390811061566957fe5b6000918252602090912060169091020155615780565b61571085828151811061568e57fe5b6020026020010151600b83815481106156a357fe5b600091825260209182902060026016909202018101805460408051601f600019610100600186161502019093169490940491820185900485028401850190528083529192909190830182828015612ad35780601f10612aa857610100808354040283529160200191612ad3565b61575b5784818151811061572057fe5b6020026020010151600b828154811061573557fe5b906000526020600020906016020160020190805190602001906157599291906163ff565b505b60006001828154811061576a57fe5b9060005260206000209060040201600301819055505b60010161541e565b5082821115615960576157996163d0565b835b8381101561595d578581815181106157af57fe5b6020026020010151826040018190525060018782815181106157cd57fe5b6020908102919091018101518254600181810185556000948552838520835160049093020180546001600160a01b039384166001600160a01b0319918216178255848601518284018054918616918316919091179055604080860151600284018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909a1692909616919091179290921696909617169190911790935560a090930151600390930192909255600b8054928301815590935284516016909102600080516020617647833981519152810191825585830151600080516020617c768339815191528201805491151560ff199092169190911790559285015180518694929361590393600080516020617667833981519152019201906163ff565b5060608201516159199060038301906013616479565b505050806001016004600089848151811061593057fe5b602090810291909101810151516001600160a01b031682528101919091526040016000205560010161579b565b50505b615968615fb5565b615970616197565b6000600981905560015493505b838110156159de576000600b828154811061599457fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b8054839081106159c557fe5b600091825260209091206016909102015560010161597d565b505050505050565b60008183615a075760405162461bcd60e51b8152600401610cbc9190616b12565b506000838581615a1357fe5b0495945050505050565b60008184841115615a415760405162461bcd60e51b8152600401610cbc9190616b12565b505050900390565b8051600090615a5a5750600061138c565b6020820151805160001a9060c0821015615a795760009250505061138c565b5060019392505050565b8051600090811a6080811015615a9d57600091505061138c565b60b8811080615ab8575060c08110801590615ab8575060f881105b15615ac757600191505061138c565b60c0811015615adb5760b51901905061138c565b60f51901905061138c565b80516000908190811a6080811015615b015760019150615bc0565b60b8811015615b1657607e1981019150615bc0565b60c0811015615b6757600060b78203600186019550806020036101000a865104915060018101820193505080831015615b615760405162461bcd60e51b8152600401610cbc906170b6565b50615bc0565b60f8811015615b7c5760be1981019150615bc0565b600060f78203600186019550806020036101000a865104915060018101820193505080831015615bbe5760405162461bcd60e51b8152600401610cbc906170b6565b505b5092915050565b8051600090615bd85750600061138c565b60008090506000615bec8460200151615a83565b602085015185519181019250015b80821015615c1a57615c0b82615ae6565b82019150826001019250615bfa565b50909392505050565b8051600090601514615c3457600080fd5b61143c82614ceb565b8051606090615c4b57600080fd5b6000615c5a8360200151615a83565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015615c91576020820181803683370190505b50905060008160200190506147b0848760200151018285616385565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff198416615cf157506018615d15565b6fffffffffffffffffffffffffffffffff198416615d1157506010615d15565b5060005b6020811015615d4b57818181518110615d2a57fe5b01602001516001600160f81b03191615615d4357615d4b565b600101615d15565b60008160200390506060816040519080825280601f01601f191660200182016040528015615d80576020820181803683370190505b5080830196909652508452509192915050565b606081516001148015615dc55750607f60f81b82600081518110615db357fe5b01602001516001600160f81b03191611155b15615dd157508061138c565b61143c615de38351608060ff16615e62565b835b6060806040519050835180825260208201818101602087015b81831015615e16578051835260209283019201615dfe565b50855184518101855292509050808201602086015b81831015615e43578051835260209283019201615e2b565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615e8c5760405162461bcd60e51b8152600401610cbc90616eba565b60408051600180825281830190925260609160208201818036833701905050905060378411615ee65782840160f81b81600081518110615ec857fe5b60200101906001600160f81b031916908160001a905350905061143c565b6060615ef185615cad565b90508381510160370160f81b82600081518110615f0a57fe5b60200101906001600160f81b031916908160001a905350615f2b8282615de5565b95945050505050565b805182516000916001600160a01b039182169116148015615f6e575081602001516001600160a01b031683602001516001600160a01b0316145b8015615f93575081604001516001600160a01b031683604001516001600160a01b0316145b8015610f235750506060908101519101516001600160401b0390811691161490565b6012546013548082111561600057805b82811015615ffe576012805480615fd857fe5b600190038181906000526020600020016000615ff491906165be565b9055600101615fc5565b505b600081831061600f5781616011565b825b905060005b81811015616129576160ce6012828154811061602e57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156160bc5780601f10616091576101008083540402835291602001916160bc565b820191906000526020600020905b81548152906001019060200180831161609f57829003601f168201915b505050505060138381548110612a4557fe5b61612157601381815481106160df57fe5b90600052602060002001601282815481106160f657fe5b90600052602060002001908054600181600116156101000203166002900461611f92919061651f565b505b600101616016565b5082821115610cdc57825b82811015612f015760126013828154811061614b57fe5b600091825260208083208454600181810187559585529190932092909101805461618e94939092019290916002610100928216159290920260001901160461651f565b50600101616134565b601354600b54808211156161e257805b828110156161e05760138054806161ba57fe5b6001900381819060005260206000200160006161d691906165be565b90556001016161a7565b505b60008183106161f157816161f3565b825b905060005b81811015616312576162b06013828154811061621057fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561629e5780601f106162735761010080835404028352916020019161629e565b820191906000526020600020905b81548152906001019060200180831161628157829003601f168201915b5050505050600b83815481106156a357fe5b61630a57600b81815481106162c157fe5b9060005260206000209060160201600201601382815481106162df57fe5b90600052602060002001908054600181600116156101000203166002900461630892919061651f565b505b6001016161f8565b5082821115610cdc57825b82811015612f01576013600b828154811061633457fe5b60009182526020808320845460018082018755958552919093206016929092029092016002908101805461637c9593909401939092600019908216156101000201160461651f565b5060010161631d565b8061638f57610cdc565b5b602081106163af578251825260209283019290910190601f1901616390565b915181516020939093036101000a6000190180199091169216919091179052565b604051806080016040528060008152602001600015158152602001606081526020016163fa61662b565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061644057805160ff191683800117855561646d565b8280016001018555821561646d579182015b8281111561646d578251825591602001919060010190616452565b5061281692915061664a565b826013810192821561646d579160200282018281111561646d578251825591602001919060010190616452565b6040518060600160405280600060ff16815260200160608152602001606081525090565b60405180604001604052806164dd616611565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10616558578054855561646d565b8280016001018555821561646d57600052602060002091601f016020900482015b8281111561646d578254825591600101919060010190616579565b826013810192821561646d579182018281111561646d578254825591600101919060010190616579565b50805460018160011615610100020316600290046000825580601f106165e45750611598565b601f016020900490600052602060002090810190611598919061664a565b5061159890601381019061664a565b604051806040016040528060008152602001600081525090565b6040518061026001604052806013906020820280368337509192915050565b6127bb91905b808211156128165760008155600101616650565b60008083601f840112616675578182fd5b5081356001600160401b0381111561668b578182fd5b602083019150836020808302850101111561522557600080fd5b60008083601f8401126166b6578182fd5b5081356001600160401b038111156166cc578182fd5b60208301915083602082850101111561522557600080fd5b6000602082840312156166f5578081fd5b81356001600160a01b0381168114610f23578182fd5b60008060008060408587031215616720578283fd5b84356001600160401b0380821115616736578485fd5b61674288838901616664565b9096509450602087013591508082111561675a578384fd5b5061676787828801616664565b95989497509550505050565b600060208284031215616784578081fd5b81518015158114610f23578182fd5b600080602083850312156167a5578182fd5b82356001600160401b038111156167ba578283fd5b6167c6858286016166a5565b90969095509350505050565b600080600080604085870312156167e7578384fd5b84356001600160401b03808211156167fd578586fd5b616809888389016166a5565b90965094506020870135915080821115616821578384fd5b50616767878288016166a5565b60006020828403121561683f578081fd5b5035919050565b600060208284031215616857578081fd5b5051919050565b60008060408385031215616870578182fd5b505080516020909101519092909150565b600080600060408486031215616895578283fd5b833560ff811681146168a5578384fd5b925060208401356001600160401b038111156168bf578283fd5b6168cb868287016166a5565b9497909650939450505050565b6000815180845260208085019450808401835b838110156169105781516001600160a01b0316875295820195908201906001016168eb565b509495945050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000815180845261695d8160208601602086016175fa565b601f01601f19169290920160200192915050565b600082516169838184602087016175fa565b9190910192915050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03968716815294861660208601529290941660408401526001600160401b03166060830152911515608082015260a081019190915260c00190565b600060208252610f2360208301846168d8565b600060408252616a3060408301856168d8565b602083820381850152818551808452828401915082838202850101838801865b83811015616a7e57601f19878403018552616a6c838351616945565b94860194925090850190600101616a50565b50909998505050505050505050565b600060808252616aa060808301876168d8565b828103602084810191909152865180835287820192820190845b81811015616ad657845183529383019391830191600101616aba565b50508481036040860152616aea81886168d8565b93505050506001600160401b038316606083015295945050505050565b901515815260200190565b600060208252610f236020830184616945565b600060408252616b3960408301868861691b565b8281036020840152616b4c81858761691b565b979650505050505050565b6020808252601c908201527f6c656e677468206f66206275726e526174696f206d69736d6174636800000000604082015260600190565b60208082526026908201527f6c656e677468206f66206d61784e756d4f664d61696e7461696e696e67206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601b908201527f6261746368207472616e736665722072657475726e2066616c73650000000000604082015260600190565b6020808252602c908201527f6c656e677468206f66206d61784e756d4f66576f726b696e6743616e6469646160408201526b0e8cae640dad2e6dac2e8c6d60a31b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61696e7461696e536c6173685363616c65206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252818101527f6c656e677468206f66206e756d4f66436162696e657473206d69736d61746368604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526028908201527f746865206e756d4f66436162696e657473206d75737420626520677265617465604082015267072207468616e20360c41b606082015260800190565b60208082526039908201527f746865206e756d4f66436162696e657473206d757374206265206c657373207460408201527f68616e204d41585f4e554d5f4f465f56414c494441544f525300000000000000606082015260800190565b60208082526029908201527f746865206e756d626572206f662076616c696461746f727320657863656564206040820152681d1a19481b1a5b5a5d60ba1b606082015260800190565b60208082526022908201527f63616e206e6f7420646f207468697320747769636520696e206f6e6520626c6f604082015261636b60f01b606082015260800190565b6020808252602b908201527f746865206275726e526174696f206d757374206265206e6f206772656174657260408201526a0207468616e2031303030360ac1b606082015260800190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526037908201527f746865206d61784e756d4f664d61696e7461696e696e67206d7573742062652060408201527f6c657373207468616e206e756d4f66436162696e657473000000000000000000606082015260800190565b6020808252602b908201527f6475706c696361746520636f6e73656e7375732061646472657373206f66207660408201526a185b1a59185d1bdc94d95d60aa1b606082015260800190565b60208082526027908201527f7468652065787069726554696d655365636f6e64476170206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601590820152746465706f7369742076616c7565206973207a65726f60581b604082015260600190565b60208082526049908201527f746865206d61784e756d4f66576f726b696e6743616e64696461746573206d7560408201527f7374206265206e6f742067726561746572207468616e206d61784e756d4f6643606082015268616e6469646174657360b81b608082015260a00190565b60208082526027908201527f7468652066696e616c697479526577617264526174696f206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f63616e206e6f7420656e7465722054656d706f72617279204d61696e74656e616040820152626e636560e81b606082015260800190565b60208082526025908201527f6c656e677468206f66206a61696c2076616c696461746f7273206d757374206260408201526465206f6e6560d81b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61784e756d4f6643616e64696461746573206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252601290820152716e6f7420696e206d61696e74656e616e636560701b604082015260600190565b60208082526021908201527f666565206973206c6172676572207468616e2044555354595f494e434f4d494e6040820152604760f81b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662066696e616c697479526577617264526174696f206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662065787069726554696d655365636f6e64476170206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526017908201527f6f6e6c792063757272656e742076616c696461746f7273000000000000000000604082015260600190565b60208082526021908201527f6661696c656420746f20706172736520696e69742076616c696461746f7253656040820152601d60fa1b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252603e908201527f746865206d61696e7461696e536c6173685363616c65206d757374206265206760408201527f726561746572207468616e203020616e64206c657373207468616e2031300000606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b60208082526029908201527f746865206d6573736167652073656e646572206d75737420626520736c6173686040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b61ffff91909116815260200190565b90815260200190565b6000848252831515602083015260606040830152615f2b6060830184616945565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260406020830152615f2b60408301848661691b565b60005b838110156176155781810151838201526020016175fd565b83811115612f01575050600091015256fe70e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb20175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbbf905ec80f905e8f846942a7cdd959bfe8d9487b2a43b33565295a698f7e294b6a7edd747c0554875d3fc531d19ba1497992c5e941ff80f3f7f110ffd8920a3ac38fdef318fe94a3f86048c27395000f846946488aa4d1955ee33403f8ccb1d4de5fb97c7ade294220f003d8bdfaadf52aa1e55ae4cc485e6794875941a87e90e440a39c99aa9cb5cea0ad6a3f0b2407b86048c27395000f846949ef9f4360c606c7ab4db26b016007d3ad0ab86a0946103af86a874b705854033438383c82575f25bc29418e2db06cbff3e3c5f856410a1838649e760175786048c27395000f84694ee01c3b1283aa067c58eab4709f85e99d46de5fe94ee4b9bfb1871c64e2bcabb1dc382dc8b7c4218a29415904ab26ab0e99d70b51c220ccdcccabee6e29786048c27395000f84694685b1ded8013785d6623cc18d214320b6bb6475994a20ef4e5e4e7e36258dbf51f4d905114cb1b34bc9413e39085dc88704f4394d35209a02b1a9520320c86048c27395000f8469478f3adfc719c99674c072166708589033e2d9afe9448a30d5eaa7b64492a160f139e2da2800ec3834e94055838358c29edf4dcc1ba1985ad58aedbb6be2b86048c27395000f84694c2be4ec20253b8642161bc3f444f53679c1f3d479466f50c616d737e60d7ca6311ff0d9c434197898a94d1d678a2506eeaa365056fe565df8bc8659f28b086048c27395000f846942f7be8361c80a4c1e7e9aaf001d0877f1cfde218945f93992ac37f3e61db2ef8a587a436a161fd210b94ecbc4fb1a97861344dad0867ca3cba2b860411f086048c27395000f84694ce2fd7544e0b2cc94692d4a704debef7bcb613289444abc67b4b2fba283c582387f54c9cba7c34bafa948acc2ab395ded08bb75ce85bf0f95ad2abc51ad586048c27395000f84694b8f7166496996a7da21cf1f1b04d9b3e26a3d077946770572763289aac606e4f327c2f6cc1aa3b3e3b94882d745ed97d4422ca8da1c22ec49d880c4c097286048c27395000f846942d4c407bbe49438ed859fe965b140dcf1aab71a9943ad0939e120f33518fbba04631afe7a3ed6327b194b2bbb170ca4e499a2b0f3cc85ebfa6e8c4dfcbea86048c27395000f846946bbad7cf34b5fa511d8e963dbba288b1960e75d694853b0f6c324d1f4e76c8266942337ac1b0af1a229442498946a51ca5924552ead6fc2af08b94fcba648601d1a94a2000f846944430b3230294d12c6ab2aac5c2cd68e80b16b581947b107f4976a252a6939b771202c28e64e03f52d694795811a7f214084116949fc4f53cedbf189eeab28601d1a94a2000f84694ea0a6e3c511bbd10f4519ece37dc24887e11b55d946811ca77acfb221a49393c193f3a22db829fcc8e9464feb7c04830dd9ace164fc5c52b3f5a29e5018a8601d1a94a2000f846947ae2f5b9e386cd1b50a4550696d957cb4900f03a94e83bcc5077e6b873995c24bac871b5ad856047e19464e48d4057a90b233e026c1041e6012ada897fe88601d1a94a2000f8469482012708dafc9e1b880fd083b32182b869be8e09948e5adc73a2d233a1b496ed3115464dd6c7b887509428b383d324bc9a37f4e276190796ba5a8947f5ed8601d1a94a2000f8469422b81f8e175ffde54d797fe11eb03f9e3bf75f1d94a1c3ef7ca38d8ba80cce3bfc53ebd2903ed21658942767f7447f7b9b70313d4147b795414aecea54718601d1a94a2000f8469468bf0b8b6fb4e317a0f9d6f03eaf8ce6675bc60d94675cfe570b7902623f47e7f59c9664b5f5065dcf94d84f0d2e50bcf00f2fc476e1c57f5ca2d57f625b8601d1a94a2000f846948c4d90829ce8f72d0163c1d5cf348a862d5506309485c42a7b34309bee2ed6a235f86d16f059deec5894cc2cedc53f0fa6d376336efb67e43d167169f3b78601d1a94a2000f8469435e7a025f4da968de7e4d7e4004197917f4070f194b1182abaeeb3b4d8eba7e6a4162eac7ace23d57394c4fd0d870da52e73de2dd8ded19fe3d26f43a1138601d1a94a2000f84694d6caa02bbebaebb5d7e581e4b66559e635f805ff94c07335cf083c1c46a487f0325769d88e163b653694efaff03b42e41f953a925fc43720e45fb61a19938601d1a94a20000175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbaa2646970667358221220f34958dbcda05e6d94770a38da790183bc12f970a53f415eb7a8e4ba99cbf89e64736f6c63430006040033", }, { ContractAddr: common.HexToAddress(SlashContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/ff8df0741e8f7e9b2c85c2a3b7b2426ad2ba1fad", - Code: "608060405234801561001057600080fd5b506004361061027f5760003560e01c80637942fd051161015c578063c80d4b8f116100ce578063dc927faf11610087578063dc927faf146104ad578063e1c7392a146104b5578063f9a2bbc7146104bd578063fc3e5908146104c5578063fc4333cd146104cd578063fd6a6879146104d55761027f565b8063c80d4b8f1461045c578063c81b166214610464578063c8509d811461046c578063c96be4cb1461047f578063cc844b7314610492578063d2a42e4b146104a55761027f565b80639dc09262116101205780639dc0926214610421578063a1a11bf514610429578063a78abc1614610431578063ab51bb9614610439578063ac0af62914610441578063ac431751146104495761027f565b80637942fd05146103ee5780638256ace6146103f6578063831d65d1146103fe57806396713da9146104115780639bc8e4f2146104195761027f565b8063493279b1116101f557806362b72cf5116101b957806362b72cf5146103be5780636e47b482146103c657806370fd5bad146103ce578063718a8aa8146103d657806375d47a0a146103de5780637912a65d146103e65761027f565b8063493279b11461037c5780634bf6c8821461039157806351e8067214610399578063567a372d146103a15780635bfb4990146103a95761027f565b806335aa2e441161024757806335aa2e441461030e57806337c8dab914610321578063389f4f71146103425780633a63f4b1146103575780633dffc3871461035f57806343756e5c146103745761027f565b80630bee7a67146102845780630e2374a5146102a25780631182b875146102b757806322d1e80b146102d757806323bac5a2146102ec575b600080fd5b61028c6104dd565b6040516102999190613368565b60405180910390f35b6102aa6104e2565b6040516102999190612c17565b6102ca6102c5366004612b4d565b6104e8565b6040516102999190612c4f565b6102df61054e565b6040516102999190612c44565b6102ff6102fa3660046128fb565b610557565b60405161029993929190613350565b6102aa61031c366004612b1d565b61057a565b61033461032f3660046128fb565b6105a1565b604051610299929190613342565b61034a6105f8565b6040516102999190613318565b61034a6105fe565b610367610604565b6040516102999190613379565b6102aa610609565b61038461060f565b6040516102999190613309565b610367610614565b6102aa610619565b61034a61061f565b6103bc6103b73660046128fb565b610625565b005b61034a6106d0565b6102aa6106d6565b6103676106dc565b6103676106e1565b6102aa6106e6565b61034a6106ec565b6103676106f1565b6103346106f6565b6103bc61040c366004612b4d565b610700565b610367610812565b61034a610817565b6102aa610822565b6102aa610828565b6102df61082e565b61028c610837565b61034a61083c565b6103bc610457366004612a01565b610841565b61034a610ce0565b6102aa610ce5565b6103bc61047a366004612b4d565b610ceb565b6103bc61048d3660046128fb565b610d5c565b6103bc6104a0366004612a6a565b61114d565b61034a61172f565b6102aa611734565b6103bc61173a565b6102aa611776565b61036761177c565b6103bc611781565b6102aa611bca565b606481565b61200181565b606033612000146105145760405162461bcd60e51b815260040161050b9061318f565b60405180910390fd5b60005460ff166105365760405162461bcd60e51b815260040161050b90612d30565b60405162461bcd60e51b815260040161050b90613252565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061058757fe5b6000918252602090912001546001600160a01b0316905081565b6000806105ac6126e2565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b603881565b600881565b61200081565b60045481565b33611000146106465760405162461bcd60e51b815260040161050b90612f74565b60005460ff166106685760405162461bcd60e51b815260040161050b90612d30565b61200063f7a251d7600b61067b84611bd0565b60006040518463ffffffff1660e01b815260040161069b93929190613387565b600060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107215760405162461bcd60e51b815260040161050b9061318f565b60005460ff166107435760405162461bcd60e51b815260040161050b90612d30565b61074b612705565b600061078c84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ca292505050565b9150915080156107d35781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107c691613368565b60405180910390a16106c9565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e79161080391613368565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108635760405162461bcd60e51b815260040161050b90612d30565b33611007146108845760405162461bcd60e51b815260040161050b9061304c565b6108ef84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611d229050565b1561098a57602081146109145760405162461bcd60e51b815260040161050b90612f00565b604080516020601f840181900481028201810190925282815260009161095291858580838501838280828437600092019190915250611d7c92505050565b905060018110158015610966575060055481105b6109825760405162461bcd60e51b815260040161050b9061314a565b600455610c9d565b6109f084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611d229050565b15610a8c5760208114610a155760405162461bcd60e51b815260040161050b9061309a565b604080516020601f8401819004810282018101909252828152600091610a5391858580838501838280828437600092019190915250611d7c92505050565b90506103e88111158015610a68575060045481115b610a845760405162461bcd60e51b815260040161050b90612d9e565b600555610c9d565b610b0084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611d229050565b15610b9a5760208114610b255760405162461bcd60e51b815260040161050b90613289565b604080516020601f8401819004810282018101909252828152600091610b6391858580838501838280828437600092019190915250611d7c92505050565b9050600a8110158015610b765750606481105b610b925760405162461bcd60e51b815260040161050b90612eb4565b600655610c9d565b610c0e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611d229050565b15610c855760208114610c335760405162461bcd60e51b815260040161050b90612dd3565b604080516020601f8401819004810282018101909252828152610c6f9190848480838501838280828437600092019190915250611d8192505050565b6007805460ff1916911515919091179055610c9d565b60405162461bcd60e51b815260040161050b9061322b565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610cd29493929190612c62565b60405180910390a150505050565b609681565b61100281565b3361200014610d0c5760405162461bcd60e51b815260040161050b9061318f565b60005460ff16610d2e5760405162461bcd60e51b815260040161050b90612d30565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610d7b5760405162461bcd60e51b815260040161050b906131de565b60005460ff16610d9d5760405162461bcd60e51b815260040161050b90612d30565b6003544311610dbe5760405162461bcd60e51b815260040161050b906132d4565b3a15610ddc5760405162461bcd60e51b815260040161050b90612fef565b60405163155853f360e21b8152611000906355614fcc90610e01908490600401612c17565b60206040518083038186803b158015610e1957600080fd5b505afa158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5191906129e1565b610e5a57611146565b610e626126e2565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ebd576020810180516001019052610f16565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610f2857fe5b0661107457600060208201526040516335409f7f60e01b8152611000906335409f7f90610f59908590600401612c17565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610fa785611bd0565b60006040518463ffffffff1660e01b8152600401610fc793929190613387565b600060405180830381600087803b158015610fe157600080fd5b505af1925050508015610ff2575060015b61106f573d808015611020576040519150601f19603f3d011682016040523d82523d6000602084013e611025565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051611065929190613321565b60405180910390a2505b6110e0565b60045481602001518161108357fe5b066110e0576040516375abf10160e11b81526110009063eb57e202906110ad908590600401612c17565b600060405180830381600087803b1580156110c757600080fd5b505af11580156110db573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff1661116f5760405162461bcd60e51b815260040161050b90612d30565b604051630a83aaa960e31b81526110069063541d554890611194903390600401612c17565b60206040518083038186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e491906129e1565b6112005760405162461bcd60e51b815260040161050b90612c94565b60075460ff166112225760405162461bcd60e51b815260040161050b90612cfb565b60065461122f5760146006555b8051514361010090910111801561125157504381602001516000015161010001115b61126d5760405162461bcd60e51b815260040161050b90612ccb565b80602001516020015181600001516020015114801561129b5750806020015160600151816000015160600151145b156112b85760405162461bcd60e51b815260040161050b90612f47565b8051604081015190511080156112d75750602081015160408101519051105b6112f35760405162461bcd60e51b815260040161050b90612e7d565b6020810151518151511080156113185750806000015160400151816020015160400151105b8061134357508051516020820151511080156113435750806020015160400151816000015160400151105b8061135d5750806020015160400151816000015160400151145b6113795760405162461bcd60e51b815260040161050b90612d67565b604080820151905163ea321e4960e01b81526110009163ea321e49916113a29190600401612c4f565b60206040518083038186803b1580156113ba57600080fd5b505afa1580156113ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f291906129e1565b61140e5760405162461bcd60e51b815260040161050b9061301d565b61142081600001518260400151611da9565b8015611439575061143981602001518260400151611da9565b6114555760405162461bcd60e51b815260040161050b90612e1e565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561149357600080fd5b505afa1580156114a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114cf919081019061291e565b9150915060005b815181101561160c576115008282815181106114ee57fe5b60200260200101518560400151611f81565b15611604576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f0906115389033908590600401612c2b565b602060405180830381600087803b15801561155257600080fd5b505af1158015611566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158a9190612b35565b506110006001600160a01b03166335409f7f8584815181106115a857fe5b60200260200101516040518263ffffffff1660e01b81526004016115cc9190612c17565b600060405180830381600087803b1580156115e657600080fd5b505af11580156115fa573d6000803e3d6000fd5b505050505061160c565b6001016114d6565b50600061161e84604001516000611fe5565b90506120006001600160a01b031663f7a251d7600b6116408760400151612001565b60006040518463ffffffff1660e01b815260040161166093929190613387565b600060405180830381600087803b15801561167a57600080fd5b505af192505050801561168b575060015b6116fd573d8080156116b9576040519150601f19603f3d011682016040523d82523d6000602084013e6116be565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f3628826040516116ef9190612c4f565b60405180910390a250611729565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff161561175d5760405162461bcd60e51b815260040161050b906130dc565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b33611000146117a25760405162461bcd60e51b815260040161050b90612f74565b60005460ff166117c45760405162461bcd60e51b815260040161050b90612d30565b6001546117d057611bc8565b600154600090600019015b808211611b9c576000805b828410156118ff576117f66126e2565b600260006001878154811061180757fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156118e95760046005548161187457fe5b0481602001510381602001818152505080600260006001888154811061189657fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff19169115159190911790556118f3565b60019250506118ff565b508360010193506117e6565b828411611a965761190e6126e2565b600260006001868154811061191f57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611a075760046005548161198c57fe5b048160200151038160200181815250508060026000600187815481106119ae57fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611a969050565b6002600060018681548110611a1857fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805480611a5c57fe5b600082815260209020810160001990810180546001600160a01b031916905501905583611a895750611a96565b50600019909201916118ff565b818015611aa05750805b15611b7f576002600060018681548110611ab657fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611afd57fe5b600091825260209091200154600180546001600160a01b039092169186908110611b2357fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611b5c57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611b8b575050611b9c565b5050600190910190600019016117db565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611beb579050509050611c14836001600160a01b031661203c565b81600081518110611c2157fe5b6020026020010181905250611c354361205f565b81600181518110611c4257fe5b6020908102919091010152611c57603861205f565b81600281518110611c6457fe5b6020026020010181905250611c784261205f565b81600381518110611c8557fe5b6020026020010181905250611c9981612072565b9150505b919050565b611caa612705565b6000611cb4612705565b611cbc612717565b611ccd611cc8866120fc565b612121565b90506000805b611cdc8361216b565b15611d155780611d0857611cf7611cf28461218c565b6121da565b63ffffffff16845260019150611d0d565b611d15565b600101611cd3565b5091935090915050915091565b600081604051602001611d359190612bfb565b6040516020818303038152906040528051906020012083604051602001611d5c9190612bfb565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611d9b576001915081611da1565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611dc5575050604080516020808252818301909252919250606091908082018180368337019050509050611e0a856000015161205f565b82600081518110611e1757fe5b6020026020010181905250611e32602086602001518361225c565b611e3b8161226c565b82600181518110611e4857fe5b6020026020010181905250611e60856040015161205f565b82600281518110611e6d57fe5b6020026020010181905250611e88602086606001518361225c565b611e918161226c565b82600381518110611e9e57fe5b6020026020010181905250611ec46020611eb784612072565b805190602001208361225c565b6040805160b080825260e08201909252606091602082018180368337019050509050611ef48183600060206122c2565b611f06818760800151602060606122c2565b611f148186608060306122c2565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611f5157600080fd5b506001611f5f826000612315565b60ff1614611f74576000945050505050611d76565b5060019695505050505050565b815181516000916001918114808314611f9d5760009250611fdb565b600160208701838101602088015b600284838510011415611fd6578051835114611fca5760009650600093505b60209283019201611fab565b505050505b5090949350505050565b60008160200183511015611ff857600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b606081526020019060019003908161201c579050509050611c148361226c565b60408051600560a21b8318601482015260348101909152606090611c998161226c565b6060611d7661206d83612331565b61226c565b60608151600014156120935750604080516000815260208101909152611c9d565b6060826000815181106120a257fe5b602002602001015190506000600190505b83518110156120e3576120d9828583815181106120cc57fe5b6020026020010151612417565b91506001016120b3565b50611c996120f6825160c060ff16612494565b82612417565b612104612737565b506040805180820190915281518152602082810190820152919050565b612129612717565b61213282612566565b61213b57600080fd5b600061214a83602001516125a0565b60208085015160408051808201909152868152920190820152915050919050565b6000612175612737565b505080518051602091820151919092015191011190565b612194612737565b61219d8261216b565b6121a657600080fd5b602082015160006121b682612603565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906121ef57508151602110155b6121f857600080fd5b600061220783602001516125a0565b9050808360000151101561222d5760405162461bcd60e51b815260040161050b90613113565b82516020808501518301805192849003929183101561225357826020036101000a820491505b50949350505050565b9091018181526020918201910152565b60608151600114801561229e5750607f60f81b8260008151811061228c57fe5b01602001516001600160f81b03191611155b156122aa575080611c9d565b611d766122bc8351608060ff16612494565b83612417565b60005b818110156106c9578381815181106122d957fe5b602001015160f81c60f81b8584806001019550815181106122f657fe5b60200101906001600160f81b031916908160001a9053506001016122c5565b6000816001018351101561232857600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff19841661237557506018612399565b6fffffffffffffffffffffffffffffffff19841661239557506010612399565b5060005b60208110156123cf578181815181106123ae57fe5b01602001516001600160f81b031916156123c7576123cf565b600101612399565b60008160200390506060816040519080825280601f01601f191660200182016040528015612404576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b81831015612448578051835260209283019201612430565b50855184518101855292509050808201602086015b8183101561247557805183526020928301920161245d565b508651929092011591909101601f01601f191660405250905092915050565b60606801000000000000000083106124be5760405162461bcd60e51b815260040161050b90612e55565b604080516001808252818301909252606091602082018180368337019050509050603784116125185782840160f81b816000815181106124fa57fe5b60200101906001600160f81b031916908160001a9053509050611d76565b606061252385612331565b90508381510160370160f81b8260008151811061253c57fe5b60200101906001600160f81b031916908160001a90535061255d8282612417565b95945050505050565b805160009061257757506000611c9d565b6020820151805160001a9060c082101561259657600092505050611c9d565b5060019392505050565b8051600090811a60808110156125ba576000915050611c9d565b60b88110806125d5575060c081108015906125d5575060f881105b156125e4576001915050611c9d565b60c08110156125f85760b519019050611c9d565b60f519019050611c9d565b80516000908190811a608081101561261e57600191506126db565b60b881101561263357607e19810191506126db565b60c081101561268457600060b78203600186019550806020036101000a86510491506001810182019350508083101561267e5760405162461bcd60e51b815260040161050b90612fc4565b506126db565b60f88110156126995760be19810191506126db565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611da15760405162461bcd60e51b815260040161050b90612fc4565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061272a612737565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f830112612761578081fd5b815161277461276f826133da565b6133b3565b818152915060208083019084810160005b848110156127ea578151870188603f8201126127a057600080fd5b838101516127b061276f826133fa565b81815260408b818486010111156127c657600080fd5b6127d58388840183870161341e565b50865250509282019290820190600101612785565b505050505092915050565b60008083601f840112612806578182fd5b50813567ffffffffffffffff81111561281d578182fd5b60208301915083602082850101111561283557600080fd5b9250929050565b600082601f83011261284c578081fd5b813561285a61276f826133fa565b915080825283602082850101111561287157600080fd5b8060208401602084013760009082016020015292915050565b600060a0828403121561289b578081fd5b6128a560a06133b3565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff8111156128e357600080fd5b6128ef8482850161283c565b60808301525092915050565b60006020828403121561290c578081fd5b81356129178161344a565b9392505050565b60008060408385031215612930578081fd5b825167ffffffffffffffff80821115612947578283fd5b81850186601f820112612958578384fd5b8051925061296861276f846133da565b80848252602080830192508084018a828389028701011115612988578788fd5b8794505b868510156129b357805161299f8161344a565b84526001949094019392810192810161298c565b5088015190965093505050808211156129ca578283fd5b506129d785828601612751565b9150509250929050565b6000602082840312156129f2578081fd5b81518015158114612917578182fd5b60008060008060408587031215612a16578182fd5b843567ffffffffffffffff80821115612a2d578384fd5b612a39888389016127f5565b90965094506020870135915080821115612a51578384fd5b50612a5e878288016127f5565b95989497509550505050565b600060208284031215612a7b578081fd5b813567ffffffffffffffff80821115612a92578283fd5b81840160608187031215612aa4578384fd5b612aae60606133b3565b9250803582811115612abe578485fd5b612aca8782840161288a565b845250602081013582811115612ade578485fd5b612aea8782840161288a565b602085015250604081013582811115612b01578485fd5b612b0d8782840161283c565b6040850152509195945050505050565b600060208284031215612b2e578081fd5b5035919050565b600060208284031215612b46578081fd5b5051919050565b600080600060408486031215612b61578283fd5b833560ff81168114612b71578384fd5b9250602084013567ffffffffffffffff811115612b8c578283fd5b612b98868287016127f5565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612be781602086016020860161341e565b601f01601f19169290920160200192915050565b60008251612c0d81846020870161341e565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526129176020830184612bcf565b600060408252612c76604083018688612ba5565b8281036020840152612c89818587612ba5565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252601690820152751d1bdbc81bdb1908189b1bd8dac81a5b9d9bdb1d995960521b604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252601590820152741d9bdd195059191c881a5cc81b9bdd08199bdd5b99605a1b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b60008382526040602083015261333a6040830184612bcf565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526133a36060830185612bcf565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156133d257600080fd5b604052919050565b600067ffffffffffffffff8211156133f0578081fd5b5060209081020190565b600067ffffffffffffffff821115613410578081fd5b50601f01601f191660200190565b60005b83811015613439578181015183820152602001613421565b838111156117295750506000910152565b6001600160a01b038116811461345f57600080fd5b5056fea26469706673582212203ff44ea8476527808295b83e64ac3046b95b3fcdc4679c323a3dcf9b0c6e5aac64736f6c63430006040033", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/0f352c4623898d92664a46cbfc26c52b79aad838", + Code: "608060405234801561001057600080fd5b506004361061027f5760003560e01c80637942fd051161015c578063c80d4b8f116100ce578063dc927faf11610087578063dc927faf146104ad578063e1c7392a146104b5578063f9a2bbc7146104bd578063fc3e5908146104c5578063fc4333cd146104cd578063fd6a6879146104d55761027f565b8063c80d4b8f1461045c578063c81b166214610464578063c8509d811461046c578063c96be4cb1461047f578063cc844b7314610492578063d2a42e4b146104a55761027f565b80639dc09262116101205780639dc0926214610421578063a1a11bf514610429578063a78abc1614610431578063ab51bb9614610439578063ac0af62914610441578063ac431751146104495761027f565b80637942fd05146103ee5780638256ace6146103f6578063831d65d1146103fe57806396713da9146104115780639bc8e4f2146104195761027f565b8063493279b1116101f557806362b72cf5116101b957806362b72cf5146103be5780636e47b482146103c657806370fd5bad146103ce578063718a8aa8146103d657806375d47a0a146103de5780637912a65d146103e65761027f565b8063493279b11461037c5780634bf6c8821461039157806351e8067214610399578063567a372d146103a15780635bfb4990146103a95761027f565b806335aa2e441161024757806335aa2e441461030e57806337c8dab914610321578063389f4f71146103425780633a63f4b1146103575780633dffc3871461035f57806343756e5c146103745761027f565b80630bee7a67146102845780630e2374a5146102a25780631182b875146102b757806322d1e80b146102d757806323bac5a2146102ec575b600080fd5b61028c6104dd565b604051610299919061336a565b60405180910390f35b6102aa6104e2565b6040516102999190612c1b565b6102ca6102c5366004612b51565b6104e8565b6040516102999190612c53565b6102df61054e565b6040516102999190612c48565b6102ff6102fa3660046128ff565b610557565b60405161029993929190613352565b6102aa61031c366004612b21565b61057a565b61033461032f3660046128ff565b6105a1565b604051610299929190613344565b61034a6105f8565b604051610299919061331a565b61034a6105fe565b610367610604565b604051610299919061337b565b6102aa610609565b61038461060f565b604051610299919061330b565b610367610614565b6102aa610619565b61034a61061f565b6103bc6103b73660046128ff565b610625565b005b61034a6106d0565b6102aa6106d6565b6103676106dc565b6103676106e1565b6102aa6106e6565b61034a6106ec565b6103676106f1565b6103346106f6565b6103bc61040c366004612b51565b610700565b610367610812565b61034a610817565b6102aa610822565b6102aa610828565b6102df61082e565b61028c610837565b61034a61083c565b6103bc610457366004612a05565b610841565b61034a610ce0565b6102aa610ce5565b6103bc61047a366004612b51565b610ceb565b6103bc61048d3660046128ff565b610d5c565b6103bc6104a0366004612a6e565b61114d565b61034a611733565b6102aa611738565b6103bc61173e565b6102aa61177a565b610367611780565b6103bc611785565b6102aa611bce565b606481565b61200181565b606033612000146105145760405162461bcd60e51b815260040161050b90613163565b60405180910390fd5b60005460ff166105365760405162461bcd60e51b815260040161050b90612d04565b60405162461bcd60e51b815260040161050b90613254565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061058757fe5b6000918252602090912001546001600160a01b0316905081565b6000806105ac6126e6565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b603881565b600881565b61200081565b60045481565b33611000146106465760405162461bcd60e51b815260040161050b90612f48565b60005460ff166106685760405162461bcd60e51b815260040161050b90612d04565b61200063f7a251d7600b61067b84611bd4565b60006040518463ffffffff1660e01b815260040161069b93929190613389565b600060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107215760405162461bcd60e51b815260040161050b90613163565b60005460ff166107435760405162461bcd60e51b815260040161050b90612d04565b61074b612709565b600061078c84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ca692505050565b9150915080156107d35781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107c69161336a565b60405180910390a16106c9565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e7916108039161336a565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108635760405162461bcd60e51b815260040161050b90612d04565b33611007146108845760405162461bcd60e51b815260040161050b90613020565b6108ef84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611d269050565b1561098a57602081146109145760405162461bcd60e51b815260040161050b90612ed4565b604080516020601f840181900481028201810190925282815260009161095291858580838501838280828437600092019190915250611d8092505050565b905060018110158015610966575060055481105b6109825760405162461bcd60e51b815260040161050b9061311e565b600455610c9d565b6109f084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611d269050565b15610a8c5760208114610a155760405162461bcd60e51b815260040161050b9061306e565b604080516020601f8401819004810282018101909252828152600091610a5391858580838501838280828437600092019190915250611d8092505050565b90506103e88111158015610a68575060045481115b610a845760405162461bcd60e51b815260040161050b90612d72565b600555610c9d565b610b0084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611d269050565b15610b9a5760208114610b255760405162461bcd60e51b815260040161050b9061328b565b604080516020601f8401819004810282018101909252828152600091610b6391858580838501838280828437600092019190915250611d8092505050565b9050600a8110158015610b765750606481105b610b925760405162461bcd60e51b815260040161050b90612e88565b600655610c9d565b610c0e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611d269050565b15610c855760208114610c335760405162461bcd60e51b815260040161050b90612da7565b604080516020601f8401819004810282018101909252828152610c6f9190848480838501838280828437600092019190915250611d8592505050565b6007805460ff1916911515919091179055610c9d565b60405162461bcd60e51b815260040161050b906131ff565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610cd29493929190612c66565b60405180910390a150505050565b609681565b61100281565b3361200014610d0c5760405162461bcd60e51b815260040161050b90613163565b60005460ff16610d2e5760405162461bcd60e51b815260040161050b90612d04565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610d7b5760405162461bcd60e51b815260040161050b906131b2565b60005460ff16610d9d5760405162461bcd60e51b815260040161050b90612d04565b6003544311610dbe5760405162461bcd60e51b815260040161050b906132d6565b3a15610ddc5760405162461bcd60e51b815260040161050b90612fc3565b60405163155853f360e21b8152611000906355614fcc90610e01908490600401612c1b565b60206040518083038186803b158015610e1957600080fd5b505afa158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5191906129e5565b610e5a57611146565b610e626126e6565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ebd576020810180516001019052610f16565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610f2857fe5b0661107457600060208201526040516335409f7f60e01b8152611000906335409f7f90610f59908590600401612c1b565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610fa785611bd4565b60006040518463ffffffff1660e01b8152600401610fc793929190613389565b600060405180830381600087803b158015610fe157600080fd5b505af1925050508015610ff2575060015b61106f573d808015611020576040519150601f19603f3d011682016040523d82523d6000602084013e611025565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051611065929190613323565b60405180910390a2505b6110e0565b60045481602001518161108357fe5b066110e0576040516375abf10160e11b81526110009063eb57e202906110ad908590600401612c1b565b600060405180830381600087803b1580156110c757600080fd5b505af11580156110db573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff1661116f5760405162461bcd60e51b815260040161050b90612d04565b604051630a83aaa960e31b81526110069063541d554890611194903390600401612c1b565b60206040518083038186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e491906129e5565b6112005760405162461bcd60e51b815260040161050b90612c98565b60075460ff166112225760405162461bcd60e51b815260040161050b90612ccf565b60065461122f5760146006555b438160000151604001516101000111801561125557504381602001516040015161010001115b6112715760405162461bcd60e51b815260040161050b90613226565b80602001516020015181600001516020015114801561129f5750806020015160600151816000015160600151145b156112bc5760405162461bcd60e51b815260040161050b90612f1b565b8051604081015190511080156112db5750602081015160408101519051105b6112f75760405162461bcd60e51b815260040161050b90612e51565b60208101515181515110801561131c5750806000015160400151816020015160400151105b8061134757508051516020820151511080156113475750806020015160400151816000015160400151105b806113615750806020015160400151816000015160400151145b61137d5760405162461bcd60e51b815260040161050b90612d3b565b604080820151905163ea321e4960e01b81526110009163ea321e49916113a69190600401612c53565b60206040518083038186803b1580156113be57600080fd5b505afa1580156113d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f691906129e5565b6114125760405162461bcd60e51b815260040161050b90612ff1565b61142481600001518260400151611dad565b801561143d575061143d81602001518260400151611dad565b6114595760405162461bcd60e51b815260040161050b90612df2565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561149757600080fd5b505afa1580156114ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114d39190810190612922565b9150915060005b8151811015611610576115048282815181106114f257fe5b60200260200101518560400151611f85565b15611608576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f09061153c9033908590600401612c2f565b602060405180830381600087803b15801561155657600080fd5b505af115801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190612b39565b506110006001600160a01b03166335409f7f8584815181106115ac57fe5b60200260200101516040518263ffffffff1660e01b81526004016115d09190612c1b565b600060405180830381600087803b1580156115ea57600080fd5b505af11580156115fe573d6000803e3d6000fd5b5050505050611610565b6001016114da565b50600061162284604001516000611fe9565b90506120006001600160a01b031663f7a251d7600b6116448760400151612005565b60006040518463ffffffff1660e01b815260040161166493929190613389565b600060405180830381600087803b15801561167e57600080fd5b505af192505050801561168f575060015b611701573d8080156116bd576040519150601f19603f3d011682016040523d82523d6000602084013e6116c2565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f3628826040516116f39190612c53565b60405180910390a25061172d565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff16156117615760405162461bcd60e51b815260040161050b906130b0565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b33611000146117a65760405162461bcd60e51b815260040161050b90612f48565b60005460ff166117c85760405162461bcd60e51b815260040161050b90612d04565b6001546117d457611bcc565b600154600090600019015b808211611ba0576000805b82841015611903576117fa6126e6565b600260006001878154811061180b57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156118ed5760046005548161187857fe5b0481602001510381602001818152505080600260006001888154811061189a57fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff19169115159190911790556118f7565b6001925050611903565b508360010193506117ea565b828411611a9a576119126126e6565b600260006001868154811061192357fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611a0b5760046005548161199057fe5b048160200151038160200181815250508060026000600187815481106119b257fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611a9a9050565b6002600060018681548110611a1c57fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805480611a6057fe5b600082815260209020810160001990810180546001600160a01b031916905501905583611a8d5750611a9a565b5060001990920191611903565b818015611aa45750805b15611b83576002600060018681548110611aba57fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611b0157fe5b600091825260209091200154600180546001600160a01b039092169186908110611b2757fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611b6057fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611b8f575050611ba0565b5050600190910190600019016117df565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611bef579050509050611c18836001600160a01b0316612040565b81600081518110611c2557fe5b6020026020010181905250611c3943612063565b81600181518110611c4657fe5b6020908102919091010152611c5b6038612063565b81600281518110611c6857fe5b6020026020010181905250611c7c42612063565b81600381518110611c8957fe5b6020026020010181905250611c9d81612076565b9150505b919050565b611cae612709565b6000611cb8612709565b611cc061271b565b611cd1611ccc86612100565b612125565b90506000805b611ce08361216f565b15611d195780611d0c57611cfb611cf684612190565b6121de565b63ffffffff16845260019150611d11565b611d19565b600101611cd7565b5091935090915050915091565b600081604051602001611d399190612bff565b6040516020818303038152906040528051906020012083604051602001611d609190612bff565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611d9f576001915081611da5565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611dc9575050604080516020808252818301909252919250606091908082018180368337019050509050611e0e8560000151612063565b82600081518110611e1b57fe5b6020026020010181905250611e366020866020015183612260565b611e3f81612270565b82600181518110611e4c57fe5b6020026020010181905250611e648560400151612063565b82600281518110611e7157fe5b6020026020010181905250611e8c6020866060015183612260565b611e9581612270565b82600381518110611ea257fe5b6020026020010181905250611ec86020611ebb84612076565b8051906020012083612260565b6040805160b080825260e08201909252606091602082018180368337019050509050611ef88183600060206122c6565b611f0a818760800151602060606122c6565b611f188186608060306122c6565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611f5557600080fd5b506001611f63826000612319565b60ff1614611f78576000945050505050611d7a565b5060019695505050505050565b815181516000916001918114808314611fa15760009250611fdf565b600160208701838101602088015b600284838510011415611fda578051835114611fce5760009650600093505b60209283019201611faf565b505050505b5090949350505050565b60008160200183511015611ffc57600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081612020579050509050611c1883612270565b60408051600560a21b8318601482015260348101909152606090611c9d81612270565b6060611d7a61207183612335565b612270565b60608151600014156120975750604080516000815260208101909152611ca1565b6060826000815181106120a657fe5b602002602001015190506000600190505b83518110156120e7576120dd828583815181106120d057fe5b602002602001015161241b565b91506001016120b7565b50611c9d6120fa825160c060ff16612498565b8261241b565b61210861273b565b506040805180820190915281518152602082810190820152919050565b61212d61271b565b6121368261256a565b61213f57600080fd5b600061214e83602001516125a4565b60208085015160408051808201909152868152920190820152915050919050565b600061217961273b565b505080518051602091820151919092015191011190565b61219861273b565b6121a18261216f565b6121aa57600080fd5b602082015160006121ba82612607565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906121f357508151602110155b6121fc57600080fd5b600061220b83602001516125a4565b905080836000015110156122315760405162461bcd60e51b815260040161050b906130e7565b82516020808501518301805192849003929183101561225757826020036101000a820491505b50949350505050565b9091018181526020918201910152565b6060815160011480156122a25750607f60f81b8260008151811061229057fe5b01602001516001600160f81b03191611155b156122ae575080611ca1565b611d7a6122c08351608060ff16612498565b8361241b565b60005b818110156106c9578381815181106122dd57fe5b602001015160f81c60f81b8584806001019550815181106122fa57fe5b60200101906001600160f81b031916908160001a9053506001016122c9565b6000816001018351101561232c57600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166123795750601861239d565b6fffffffffffffffffffffffffffffffff1984166123995750601061239d565b5060005b60208110156123d3578181815181106123b257fe5b01602001516001600160f81b031916156123cb576123d3565b60010161239d565b60008160200390506060816040519080825280601f01601f191660200182016040528015612408576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b8183101561244c578051835260209283019201612434565b50855184518101855292509050808201602086015b81831015612479578051835260209283019201612461565b508651929092011591909101601f01601f191660405250905092915050565b60606801000000000000000083106124c25760405162461bcd60e51b815260040161050b90612e29565b6040805160018082528183019092526060916020820181803683370190505090506037841161251c5782840160f81b816000815181106124fe57fe5b60200101906001600160f81b031916908160001a9053509050611d7a565b606061252785612335565b90508381510160370160f81b8260008151811061254057fe5b60200101906001600160f81b031916908160001a905350612561828261241b565b95945050505050565b805160009061257b57506000611ca1565b6020820151805160001a9060c082101561259a57600092505050611ca1565b5060019392505050565b8051600090811a60808110156125be576000915050611ca1565b60b88110806125d9575060c081108015906125d9575060f881105b156125e8576001915050611ca1565b60c08110156125fc5760b519019050611ca1565b60f519019050611ca1565b80516000908190811a608081101561262257600191506126df565b60b881101561263757607e19810191506126df565b60c081101561268857600060b78203600186019550806020036101000a8651049150600181018201935050808310156126825760405162461bcd60e51b815260040161050b90612f98565b506126df565b60f881101561269d5760be19810191506126df565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611da55760405162461bcd60e51b815260040161050b90612f98565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061272e61273b565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f830112612765578081fd5b8151612778612773826133dc565b6133b5565b818152915060208083019084810160005b848110156127ee578151870188603f8201126127a457600080fd5b838101516127b4612773826133fc565b81815260408b818486010111156127ca57600080fd5b6127d983888401838701613420565b50865250509282019290820190600101612789565b505050505092915050565b60008083601f84011261280a578182fd5b50813567ffffffffffffffff811115612821578182fd5b60208301915083602082850101111561283957600080fd5b9250929050565b600082601f830112612850578081fd5b813561285e612773826133fc565b915080825283602082850101111561287557600080fd5b8060208401602084013760009082016020015292915050565b600060a0828403121561289f578081fd5b6128a960a06133b5565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff8111156128e757600080fd5b6128f384828501612840565b60808301525092915050565b600060208284031215612910578081fd5b813561291b8161344c565b9392505050565b60008060408385031215612934578081fd5b825167ffffffffffffffff8082111561294b578283fd5b81850186601f82011261295c578384fd5b8051925061296c612773846133dc565b80848252602080830192508084018a82838902870101111561298c578788fd5b8794505b868510156129b75780516129a38161344c565b845260019490940193928101928101612990565b5088015190965093505050808211156129ce578283fd5b506129db85828601612755565b9150509250929050565b6000602082840312156129f6578081fd5b8151801515811461291b578182fd5b60008060008060408587031215612a1a578182fd5b843567ffffffffffffffff80821115612a31578384fd5b612a3d888389016127f9565b90965094506020870135915080821115612a55578384fd5b50612a62878288016127f9565b95989497509550505050565b600060208284031215612a7f578081fd5b813567ffffffffffffffff80821115612a96578283fd5b81840160608187031215612aa8578384fd5b612ab260606133b5565b9250803582811115612ac2578485fd5b612ace8782840161288e565b845250602081013582811115612ae2578485fd5b612aee8782840161288e565b602085015250604081013582811115612b05578485fd5b612b1187828401612840565b6040850152509195945050505050565b600060208284031215612b32578081fd5b5035919050565b600060208284031215612b4a578081fd5b5051919050565b600080600060408486031215612b65578283fd5b833560ff81168114612b75578384fd5b9250602084013567ffffffffffffffff811115612b90578283fd5b612b9c868287016127f9565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612beb816020860160208601613420565b601f01601f19169290920160200192915050565b60008251612c11818460208701613420565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b60006020825261291b6020830184612bd3565b600060408252612c7a604083018688612ba9565b8281036020840152612c8d818587612ba9565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252601590820152741d9bdd195059191c881a5cc81b9bdd08199bdd5b99605a1b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601490820152731d185c99d95d08189b1bd8dac81d1bdbc81bdb1960621b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b60008382526040602083015261333c6040830184612bd3565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526133a56060830185612bd3565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156133d457600080fd5b604052919050565b600067ffffffffffffffff8211156133f2578081fd5b5060209081020190565b600067ffffffffffffffff821115613412578081fd5b50601f01601f191660200190565b60005b8381101561343b578181015183820152602001613423565b8381111561172d5750506000910152565b6001600160a01b038116811461346157600080fd5b5056fea2646970667358221220532ad4dea38f301adf4b42a3bbc7b2ca9d59afe0f9ac4088e05b58394b1c666564736f6c63430006040033", }, }, } @@ -669,13 +669,13 @@ func init() { Configs: []*UpgradeConfig{ { ContractAddr: common.HexToAddress(ValidatorContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/ff8df0741e8f7e9b2c85c2a3b7b2426ad2ba1fad", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/0f352c4623898d92664a46cbfc26c52b79aad838", Code: "60806040526004361061048d5760003560e01c806388b32f1111610255578063c81b166211610144578063e40716a1116100c1578063f92eb86b11610085578063f92eb86b14610bd7578063f9a2bbc714610bec578063fc3e590814610c01578063fccc281314610c16578063fd4ad81f14610c2b578063fd6a687914610c5a57610494565b8063e40716a114610b5a578063ea321e4914610b6f578063eb57e20214610b8f578063eda5868c14610baf578063f340fa0114610bc457610494565b8063d86222d511610108578063d86222d514610af1578063daacdb6614610b06578063dc927faf14610b1b578063e086c7b114610b30578063e1c7392a14610b4557610494565b8063c81b166214610a92578063c8509d81146108a0578063ce910b0c14610aa7578063d04aa99614610ac7578063d68fb56a14610adc57610494565b8063a78abc16116101d2578063aef198a911610196578063aef198a914610a31578063b7ab4db514610a46578063b8cf4ef114610a68578063bf9f499514610650578063c6d3394514610a7d57610494565b8063a78abc16146109b2578063aaf5eb68146109c7578063ab51bb96146109dc578063ac431751146109f1578063ad3c9da614610a1157610494565b80639dc09262116102195780639dc09262146109495780639fe0f8161461095e578063a0dc275814610973578063a1a11bf514610988578063a5422d5c1461099d57610494565b806388b32f11146108d55780638b5ad0c9146108ea5780638d19a410146108ff5780639369d7de1461091f57806396713da91461093457610494565b80635192c82c1161037c5780636e47b482116102f95780637942fd05116102bd5780637942fd05146108615780637a84ca2a1461087657806381650b621461088b578063831d65d1146108a0578063853230aa1461084c57806386249882146108c057610494565b80636e47b482146107f857806370fd5bad1461080d578063718a8aa81461082257806375d47a0a1461083757806378dfed4a1461084c57610494565b80635667515a116103405780635667515a146107675780635d77156c1461077c57806360eba4fe1461079157806362b72cf5146107b15780636969a25c146107c657610494565b80635192c82c146106e857806351e80672146106fd578063549b03f21461071257806355614fcc14610727578063565c56b31461074757610494565b80633365af3a1161040a57806343756e5c116103ce57806343756e5c1461067257806345cf9daf14610687578063493279b11461069c5780634bf6c882146106be5780634df6e0c3146106d357610494565b80633365af3a146105d857806335409f7f146105f85780633b071dcc146106185780633de0f0d81461063b5780633dffc3871461065057610494565b8063152ad3b811610451578063152ad3b81461054c5780631ff180691461056e578063219f22d514610583578063300c356714610598578063321d398a146105b857610494565b806304c4fec61461049957806307a56847146104b05780630bee7a67146104db5780630e2374a5146104fd5780631182b8751461051f57610494565b3661049457005b600080fd5b3480156104a557600080fd5b506104ae610c6f565b005b3480156104bc57600080fd5b506104c5610ce1565b6040516104d29190617594565b60405180910390f35b3480156104e757600080fd5b506104f0610ce7565b6040516104d291906175be565b34801561050957600080fd5b50610512610cec565b6040516104d2919061699b565b34801561052b57600080fd5b5061053f61053a366004616881565b610cf2565b6040516104d29190616b12565b34801561055857600080fd5b50610561610f2a565b6040516104d29190616b07565b34801561057a57600080fd5b506104c5610f33565b34801561058f57600080fd5b506104f0610f39565b3480156105a457600080fd5b506104ae6105b336600461670b565b610f3e565b3480156105c457600080fd5b506105616105d336600461682e565b6112c2565b3480156105e457600080fd5b506105616105f336600461682e565b611391565b34801561060457600080fd5b506104ae6106133660046166e4565b611442565b34801561062457600080fd5b5061062d61159b565b6040516104d2929190616a1d565b34801561064757600080fd5b506104c5611877565b34801561065c57600080fd5b5061066561187d565b6040516104d291906175cf565b34801561067e57600080fd5b50610512611882565b34801561069357600080fd5b506104c5611888565b3480156106a857600080fd5b506106b161188e565b6040516104d29190617585565b3480156106ca57600080fd5b50610665611893565b3480156106df57600080fd5b5061062d611898565b3480156106f457600080fd5b506104c5611a16565b34801561070957600080fd5b50610512611a1c565b34801561071e57600080fd5b506104c5611a22565b34801561073357600080fd5b506105616107423660046166e4565b611a28565b34801561075357600080fd5b506104c56107623660046166e4565b611a5d565b34801561077357600080fd5b50610665611aae565b34801561078857600080fd5b506104f0611ab3565b34801561079d57600080fd5b5061053f6107ac36600461682e565b611ab8565b3480156107bd57600080fd5b506104c5611b5e565b3480156107d257600080fd5b506107e66107e136600461682e565b611b64565b6040516104d2969594939291906169c8565b34801561080457600080fd5b50610512611bc8565b34801561081957600080fd5b50610665611bce565b34801561082e57600080fd5b50610665611bd3565b34801561084357600080fd5b50610512611bd8565b34801561085857600080fd5b506104c5611bde565b34801561086d57600080fd5b50610665611be4565b34801561088257600080fd5b506104c5611be9565b34801561089757600080fd5b506104f0611bef565b3480156108ac57600080fd5b506104ae6108bb366004616881565b611bf4565b3480156108cc57600080fd5b506104c5611c55565b3480156108e157600080fd5b506104c5611c5b565b3480156108f657600080fd5b506104c5611c61565b34801561090b57600080fd5b506104c561091a3660046166e4565b611c67565b34801561092b57600080fd5b506104ae611ca7565b34801561094057600080fd5b50610665611dbb565b34801561095557600080fd5b50610512611dc0565b34801561096a57600080fd5b506104c5611dc6565b34801561097f57600080fd5b506104c5611dcb565b34801561099457600080fd5b50610512611dd0565b3480156109a957600080fd5b5061053f611dd6565b3480156109be57600080fd5b50610561611df5565b3480156109d357600080fd5b506104c5611dfe565b3480156109e857600080fd5b506104f0611aae565b3480156109fd57600080fd5b506104ae610a0c3660046167d2565b611e07565b348015610a1d57600080fd5b506104c5610a2c3660046166e4565b6126b3565b348015610a3d57600080fd5b506104c56126c5565b348015610a5257600080fd5b50610a5b6126d2565b6040516104d29190616a0a565b348015610a7457600080fd5b506104c56127be565b348015610a8957600080fd5b506104c5611bce565b348015610a9e57600080fd5b506105126127c3565b348015610ab357600080fd5b5061053f610ac236600461682e565b6127c9565b348015610ad357600080fd5b506104c56127d6565b348015610ae857600080fd5b506104c56127db565b348015610afd57600080fd5b506104c561281a565b348015610b1257600080fd5b506104c5612826565b348015610b2757600080fd5b5061051261282c565b348015610b3c57600080fd5b506104c5612832565b348015610b5157600080fd5b506104ae612837565b348015610b6657600080fd5b506104c56129e6565b348015610b7b57600080fd5b50610561610b8a366004616793565b6129ec565b348015610b9b57600080fd5b506104ae610baa3660046166e4565b612b72565b348015610bbb57600080fd5b506104f0612c7a565b6104ae610bd23660046166e4565b612c7f565b348015610be357600080fd5b506104c5612f07565b348015610bf857600080fd5b50610512612f0d565b348015610c0d57600080fd5b50610665611dc6565b348015610c2257600080fd5b50610512612f13565b348015610c3757600080fd5b50610c4b610c4636600461682e565b612f19565b6040516104d29392919061759d565b348015610c6657600080fd5b50610512612fdb565b6000610c7a33611c67565b9050600b8181548110610c8957fe5b600091825260209091206001601690920201015460ff16610cc55760405162461bcd60e51b8152600401610cbc9061723d565b60405180910390fd5b6000610ccf6127db565b9050610cdc338383612fe1565b505050565b60095481565b606481565b61200181565b60005460609060ff16610d175760405162461bcd60e51b8152600401610cbc90616cd1565b3361200014610d385760405162461bcd60e51b8152600401610cbc9061741c565b600b54610df657610d476163d0565b60015460005b81811015610df257600b805460018101825560009190915283516000805160206177f283398151915260169092029182019081556020808601516000805160206178328339815191528401805460ff1916911515919091179055604086015180518794610dce936000805160206178128339815191529091019201906163ff565b506060820151610de49060038301906013616479565b505050806001019050610d4d565b5050505b610dfe6164a6565b6000610e3f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131cd92505050565b9150915080610e5b57610e526064613389565b92505050610f23565b815160009060ff16610e8057610e79836020015184604001516133ea565b9050610eef565b825160ff1660011415610eeb57826020015151600114610ec5576000805160206177d2833981519152604051610eb590617124565b60405180910390a1506067610ee6565b610e798360200151600081518110610ed957fe5b602002602001015161403e565b610eef565b5060655b63ffffffff8116610f145750506040805160008152602081019091529150610f239050565b610f1d81613389565b93505050505b9392505050565b60075460ff1681565b60035481565b606881565b334114610f5d5760405162461bcd60e51b8152600401610cbc9061746b565b6010544311610f7e5760405162461bcd60e51b8152600401610cbc90616e2d565b60005460ff16610fa05760405162461bcd60e51b8152600401610cbc90616cd1565b600f54610fb8576032600f55611002316011556112b8565b60006110023168056bc75e2d63100000811115610fe757610fe081606463ffffffff6141b516565b9150611030565b60115481111561102957610fe0606461101d600f54611011601154866141f790919063ffffffff16565b9063ffffffff61423916565b9063ffffffff6141b516565b50506112b8565b6040516309a99b4f60e41b815261100290639a99b4f09061105790309086906004016169af565b602060405180830381600087803b15801561107157600080fd5b505af1158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a99190616846565b611002316011559150816110be5750506112b8565b6000805b848110156110ec578585828181106110d657fe5b90506020020135820191508060010190506110c2565b50806110fa575050506112b8565b6000806000805b898110156112b0578489898381811061111657fe5b9050602002013588028161112657fe5b0493508a8a8281811061113557fe5b905060200201602081019061114a91906166e4565b6001600160a01b0381166000908152600460205260409020549093509150811561126657600060018084038154811061117f57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff16156111ec57836001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d85866040516111df9190617594565b60405180910390a2611260565b6003546111ff908663ffffffff61427316565b6003908155810154611217908663ffffffff61427316565b60038201556040516001600160a01b038516907fcb0aad6cf9cd03bdf6137e359f541c42f38b39f007cae8e89e88aa7d8c6617b290611257908890617594565b60405180910390a25b506112a8565b826001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858560405161129f9190617594565b60405180910390a25b600101611101565b505050505050505b5050436010555050565b60015460009082106112d65750600061138c565b60006001600160a01b0316600183815481106112ee57fe5b60009182526020909120600490910201546001600160a01b0316148061131e5750600854158061131e5750600a54155b8061132d575060085460095410155b8061133e575061133c82611391565b155b8061136757506000600b838154811061135357fe5b906000526020600020906016020160000154115b8061137b575060016113776126d2565b5111155b156113885750600061138c565b5060015b919050565b60015460009082106113a55750600061138c565b600b5482106113e257600182815481106113bb57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615905061138c565b600182815481106113ef57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615801561143c5750600b828154811061142357fe5b600091825260209091206001601690920201015460ff16155b92915050565b33611001146114635760405162461bcd60e51b8152600401610cbc9061753c565b600b54611521576114726163d0565b60015460005b8181101561151d57600b805460018101825560009190915283516000805160206177f283398151915260169092029182019081556020808601516000805160206178328339815191528401805460ff19169115159190911790556040860151805187946114f9936000805160206178128339815191529091019201906163ff565b50606082015161150f9060038301906013616479565b505050806001019050611478565b5050505b6001600160a01b038116600090815260046020526040902054806115455750611598565b6001810390506000600b828154811061155a57fe5b600091825260209091206001601690920201015460ff16905061157d8383614298565b80156115865750805b15610cdc576009805460001901905550505b50565b60015460609081906000805b828110156115ee57600181815481106115bc57fe5b9060005260206000209060040201600201601c9054906101000a900460ff166115e6576001909101905b6001016115a7565b5060608160405190808252806020026020018201604052801561161b578160200160208202803683370190505b50905060608260405190808252806020026020018201604052801561165457816020015b606081526020019060019003908161163f5790505b50600b54600094509091508414156117cf5760005b848110156117c9576001818154811061167e57fe5b9060005260206000209060040201600201601c9054906101000a900460ff166117c157600181815481106116ae57fe5b600091825260209091206004909102015483516001600160a01b03909116908490869081106116d957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600b818154811061170657fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561179e5780601f106117735761010080835404028352916020019161179e565b820191906000526020600020905b81548152906001019060200180831161178157829003601f168201915b50505050508285815181106117af57fe5b60209081029190910101526001909301925b600101611669565b5061186b565b60005b8481101561186957600181815481106117e757fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611861576001818154811061181757fe5b600091825260209091206004909102015483516001600160a01b039091169084908690811061184257fe5b6001600160a01b03909216602092830291909101909101526001909301925b6001016117d2565b505b909450925050505b9091565b61271081565b600181565b61100181565b60085481565b606181565b600881565b600e54600c546060918291806118ac575060155b60606118b66126d2565b905060606118c38261464b565b9050828251116118da579094509250611873915050565b838383510310156118ec578282510393505b83156119225760c8430461190883838388880360008a8a6147b9565b6119208383838888038989038a8b8b8b5103016147b9565b505b60608360405190808252806020026020018201604052801561194e578160200160208202803683370190505b50905060608460405190808252806020026020018201604052801561198757816020015b60608152602001906001900390816119725790505b50905060005b85811015611a08578481815181106119a157fe5b60200260200101518382815181106119b557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508381815181106119e157fe5b60200260200101518282815181106119f557fe5b602090810291909101015260010161198d565b509096509450505050509091565b60065481565b61200081565b600f5481565b6001600160a01b03811660009081526004602052604081205480611a5057600091505061138c565b60001901610f2381611391565b6001600160a01b03811660009081526004602052604081205480611a8557600091505061138c565b600180820381548110611a9457fe5b906000526020600020906004020160030154915050919050565b600081565b606781565b60128181548110611ac557fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815293509091830182828015611b565780601f10611b2b57610100808354040283529160200191611b56565b820191906000526020600020905b815481529060010190602001808311611b3957829003601f168201915b505050505081565b60105481565b60018181548110611b7157fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b81046001600160401b031691600160e01b90910460ff169086565b61100581565b600281565b601081565b61100881565b6103e881565b600b81565b600c5481565b606681565b3361200014611c155760405162461bcd60e51b8152600401610cbc9061741c565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051611c48939291906175dd565b60405180910390a1505050565b60025481565b60115481565b600a5481565b6001600160a01b03811660009081526004602052604081205480611c9d5760405162461bcd60e51b8152600401610cbc906173a4565b6000190192915050565b600b54611d6557611cb66163d0565b60015460005b81811015611d6157600b805460018101825560009190915283516000805160206177f283398151915260169092029182019081556020808601516000805160206178328339815191528401805460ff1916911515919091179055604086015180518794611d3d936000805160206178128339815191529091019201906163ff565b506060820151611d539060038301906013616479565b505050806001019050611cbc565b5050505b600854611d725760036008555b600a54611d7f576002600a555b6000611d8a33611c67565b9050611d95816112c2565b611db15760405162461bcd60e51b8152600401610cbc906170e1565b6115983382614910565b600981565b61100781565b600381565b60c881565b61100681565b604051806101e001604052806101ab81526020016176276101ab913981565b60005460ff1681565b6402540be40081565b60005460ff16611e295760405162461bcd60e51b8152600401610cbc90616cd1565b3361100714611e4a5760405162461bcd60e51b8152600401610cbc906171aa565b611eb484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526013815272065787069726554696d655365636f6e6447617606c1b602082015291506149a89050565b15611f515760208114611ed95760405162461bcd60e51b8152600401610cbc9061735e565b604080516020601f8401819004810282018101909252828152600091611f1791858580838501838280828437600092019190915250614a0192505050565b905060648110158015611f2d5750620186a08111155b611f495760405162461bcd60e51b8152600401610cbc90616f8a565b600255612670565b611fb184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260098152686275726e526174696f60b81b602082015291506149a89050565b1561204d5760208114611fd65760405162461bcd60e51b8152600401610cbc90616b57565b604080516020601f840181900481028201810190925282815260009161201491858580838501838280828437600092019190915250614a0192505050565b90506127108111156120385760405162461bcd60e51b8152600401610cbc90616e6f565b6006556007805460ff19166001179055612670565b6120b784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260138152726d61784e756d4f664d61696e7461696e696e6760681b602082015291506149a89050565b1561215157602081146120dc5760405162461bcd60e51b8152600401610cbc90616b8e565b604080516020601f840181900481028201810190925282815260009161211a91858580838501838280828437600092019190915250614a0192505050565b600c5490915080612129575060155b8082106121485760405162461bcd60e51b8152600401610cbc90616ee2565b50600855612670565b6121ba84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61696e7461696e536c6173685363616c6560701b602082015291506149a89050565b1561225357602081146121df5760405162461bcd60e51b8152600401610cbc90616c57565b604080516020601f840181900481028201810190925282815260009161221d91858580838501838280828437600092019190915250614a0192505050565b905060008111801561222f5750600a81105b61224b5760405162461bcd60e51b8152600401610cbc906174b8565b600a55612670565b6122c784848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601981527f6d61784e756d4f66576f726b696e6743616e6469646174657300000000000000602082015291506149a89050565b1561235657602081146122ec5760405162461bcd60e51b8152600401610cbc90616c0b565b604080516020601f840181900481028201810190925282815260009161232a91858580838501838280828437600092019190915250614a0192505050565b9050600d5481111561234e5760405162461bcd60e51b8152600401610cbc90617000565b600e55612670565b6123bf84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61784e756d4f6643616e6469646174657360701b602082015291506149a89050565b1561244157602081146123e45760405162461bcd60e51b8152600401610cbc906171f8565b604080516020601f840181900481028201810190925282815260009161242291858580838501838280828437600092019190915250614a0192505050565b600d819055600e5490915081101561243b57600d54600e555b50612670565b6124a584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c6e756d4f66436162696e65747360981b602082015291506149a89050565b1561255357602081146124ca5760405162461bcd60e51b8152600401610cbc90616c9c565b604080516020601f840181900481028201810190925282815260009161250891858580838501838280828437600092019190915250614a0192505050565b90506000811161252a5760405162461bcd60e51b8152600401610cbc90616d3f565b602981111561254b5760405162461bcd60e51b8152600401610cbc90616d87565b600c55612670565b6125bd84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527266696e616c697479526577617264526174696f60681b602082015291506149a89050565b1561265857602081146125e25760405162461bcd60e51b8152600401610cbc906172e1565b604080516020601f840181900481028201810190925282815260009161262091858580838501838280828437600092019190915250614a0192505050565b905060018110158015612634575060648111155b6126505760405162461bcd60e51b8152600401610cbc9061706f565b600f55612670565b60405162461bcd60e51b8152600401610cbc90617515565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040516126a59493929190616b25565b60405180910390a150505050565b60046020526000908152604090205481565b68056bc75e2d6310000081565b6001546060906000805b82811015612701576126ed81611391565b156126f9578160010191505b6001016126dc565b5060608160405190808252806020026020018201604052801561272e578160200160208202803683370190505b5090506000915060005b838110156127b55761274981611391565b156127ad576001818154811061275b57fe5b600091825260209091206004909102015482516001600160a01b039091169083908590811061278657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b600101612738565b50925050505b90565b601581565b61100281565b60138181548110611ac557fe5b603281565b60006127e56126d2565b519050600080600c54116127fa5760156127fe565b600c545b90508082111561280c578091505b8161281657600191505b5090565b67016345785d8a000081565b60055481565b61100381565b602981565b60005460ff161561285a5760405162461bcd60e51b8152600401610cbc906172aa565b6128626164a6565b6000612888604051806101e001604052806101ab81526020016176276101ab91396131cd565b91509150806128a95760405162461bcd60e51b8152600401610cbc906173db565b60005b8260200151518110156129ce576001836020015182815181106128cb57fe5b60209081029190910181015182546001818101855560009485528385208351600493840290910180546001600160a01b039283166001600160a01b03199182161782558587015182850180549185169183169190911790556040860151600283018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b199590981692909516919091179290921694909417161790915560a0909301516003909301929092559186015180519185019391859081106129a157fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020556001016128ac565b50506103e8600255506000805460ff19166001179055565b600d5481565b601354600090815b81811015612af557612add85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050601380549092508591508110612a4557fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015612ad35780601f10612aa857610100808354040283529160200191612ad3565b820191906000526020600020905b815481529060010190602001808311612ab657829003601f168201915b5050505050614a06565b15612aed5760019250505061143c565b6001016129f4565b5060125460005b81811015612b6657612b4d86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050601280549092508591508110612a4557fe5b15612b5e576001935050505061143c565b600101612afc565b50600095945050505050565b3361100114612b935760405162461bcd60e51b8152600401610cbc9061753c565b600b54612c5157612ba26163d0565b60015460005b81811015612c4d57600b805460018101825560009190915283516000805160206177f283398151915260169092029182019081556020808601516000805160206178328339815191528401805460ff1916911515919091179055604086015180518794612c29936000805160206178128339815191529091019201906163ff565b506060820151612c3f9060038301906013616479565b505050806001019050612ba8565b5050505b6000612c5c82614a6a565b9050612c67816112c2565b15612c7657612c768282614910565b5050565b606581565b334114612c9e5760405162461bcd60e51b8152600401610cbc9061746b565b60005460ff16612cc05760405162461bcd60e51b8152600401610cbc90616cd1565b60003411612ce05760405162461bcd60e51b8152600401610cbc90616fd1565b6001600160a01b0381166000908152600460205260409020546007543491906103e89060ff1615612d1057506006545b600083118015612d205750600081115b15612dc1576000612d3d61271061101d868563ffffffff61423916565b90508015612dbf5760405161dead9082156108fc029083906000818181858888f19350505050158015612d74573d6000803e3d6000fd5b507f627059660ea01c4733a328effb2294d2f86905bf806da763a89cee254de8bee581604051612da49190617594565b60405180910390a1612dbc848263ffffffff6141f716565b93505b505b8115612ebf576000600180840381548110612dd857fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff1615612e4557846001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b485604051612e389190617594565b60405180910390a2612eb9565b600354612e58908563ffffffff61427316565b6003908155810154612e70908563ffffffff61427316565b60038201556040516001600160a01b038616907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc05590612eb0908790617594565b60405180910390a25b50612f01565b836001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b484604051612ef89190617594565b60405180910390a25b50505050565b600e5481565b61100081565b61dead81565b600b8181548110612f2657fe5b6000918252602091829020601691909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f810188900488028501880190925281845293965060ff90911694919291830182828015612fd15780601f10612fa657610100808354040283529160200191612fd1565b820191906000526020600020905b815481529060010190602001808311612fb457829003601f168201915b5050505050905083565b61100481565b6000600a5460001480612ff2575081155b80612ffd5750600954155b1561300a57506000610f23565b60096000815460019003919050819055506000613055600a5461101d8561101d600b898154811061303757fe5b6000918252602090912060169091020154439063ffffffff6141f716565b90506000600b858154811061306657fe5b906000526020600020906016020160010160006101000a81548160ff0219169083151502179055506000806110016001600160a01b0316638256ace66040518163ffffffff1660e01b8152600401604080518083038186803b1580156130cb57600080fd5b505afa1580156130df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613103919061685e565b915091506000935080831061317d5761311c8787614298565b506040516305bfb49960e41b815261100190635bfb499090613142908a9060040161699b565b600060405180830381600087803b15801561315c57600080fd5b505af1158015613170573d6000803e3d6000fd5b505050506001935061318f565b81831061318f5761318d87614a6a565b505b6040516001600160a01b038816907fb9d38178dc641ff1817967a63c9078cbcd955a9f1fcd75e0e3636de615d44d3b90600090a25050509392505050565b6131d56164a6565b60006131df6164a6565b6131e76164ca565b6131f86131f386614c0d565b614c32565b90506000805b61320783614c7c565b1561337b578061322c5761322261321d84614c9d565b614ceb565b60ff168452613373565b806001141561336e57606061324861324385614c9d565b614d6b565b9050805160405190808252806020026020018201604052801561328557816020015b6132726164ea565b81526020019060019003908161326a5790505b50856020018190525080516040519080825280602002602001820160405280156132c357816020015b60608152602001906001900390816132ae5790505b50604086015260005b8151811015613363576132dd6164ea565b606060006132fd8585815181106132f057fe5b6020026020010151614e3c565b9250925092508061331d578860009a509a50505050505050505050613384565b828960200151858151811061332e57fe5b6020026020010181905250818960400151858151811061334a57fe5b60200260200101819052505050508060010190506132cc565b506001925050613373565b61337b565b6001016131fe565b50919350909150505b915091565b604080516001808252818301909252606091829190816020015b60608152602001906001900390816133a35790505090506133c98363ffffffff16614f56565b816000815181106133d657fe5b6020026020010181905250610f2381614f69565b6000602983511115613421576000805160206177d283398151915260405161341190616de4565b60405180910390a150606661143c565b60005b83518110156134bf5760005b818110156134b65784818151811061344457fe5b6020026020010151600001516001600160a01b031685838151811061346557fe5b6020026020010151600001516001600160a01b031614156134ae576000805160206177d283398151915260405161349b90616f3f565b60405180910390a160669250505061143c565b600101613430565b50600101613424565b506060806134cd8585614ff3565b60015491935091506000908190815b818110156135525767016345785d8a0000600182815481106134fa57fe5b9060005260206000209060040201600301541061351c5783600101935061354a565b60006001828154811061352b57fe5b906000526020600020906004020160030154111561354a578260010192505b6001016134dc565b5060608360405190808252806020026020018201604052801561357f578160200160208202803683370190505b5090506060846040519080825280602002602001820160405280156135ae578160200160208202803683370190505b5090506060856040519080825280602002602001820160405280156135dd578160200160208202803683370190505b50905060608660405190808252806020026020018201604052801561360c578160200160208202803683370190505b509050600060608760405190808252806020026020018201604052801561363d578160200160208202803683370190505b50905060608860405190808252806020026020018201604052801561366c578160200160208202803683370190505b509050600099506000985060006110046001600160a01b031663149d14d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156136b457600080fd5b505afa1580156136c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ec9190616846565b905067016345785d8a0000811115613737576000805160206177d283398151915260405161371990617269565b60405180910390a160689d505050505050505050505050505061143c565b60005b898110156139a85767016345785d8a00006001828154811061375857fe5b906000526020600020906004020160030154106138dd576001818154811061377c57fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316898d815181106137ad57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006402540be400600183815481106137e257fe5b906000526020600020906004020160030154816137fb57fe5b066001838154811061380957fe5b90600052602060002090600402016003015403905061383183826141f790919063ffffffff16565b898e8151811061383d57fe5b6020026020010181815250506001828154811061385657fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316878e8151811061388757fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081888e815181106138b457fe5b60209081029190910101526138cf868263ffffffff61427316565b95508c6001019c50506139a0565b6000600182815481106138ec57fe5b90600052602060002090600402016003015411156139a0576001818154811061391157fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316848c8151811061394257fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506001818154811061396f57fe5b906000526020600020906004020160030154838c8151811061398d57fe5b6020026020010181815250508a6001019a505b60010161373a565b5060008415613c1e576002546040516303702b2960e51b815261100491636e0565209188916139e2918e918e918d91420190600401616a8d565b6020604051808303818588803b1580156139fb57600080fd5b505af193505050508015613a2c575060408051601f3d908101601f19168201909252613a2991810190616773565b60015b613ba3576040516000815260443d1015613a4857506000613ae3565b60046000803e60005160e01c6308c379a08114613a69576000915050613ae3565b60043d036004833e81513d60248201116001600160401b0382111715613a9457600092505050613ae3565b80830180516001600160401b03811115613ab5576000945050505050613ae3565b8060208301013d8601811115613ad357600095505050505050613ae3565b601f01601f191660405250925050505b80613aee5750613b30565b60019150857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28082604051613b229190616b12565b60405180910390a250613b9e565b3d808015613b5a576040519150601f19603f3d011682016040523d82523d6000602084013e613b5f565b606091505b5060019150857fbfa884552dd8921b6ce90bfe906952ae5b3b29be0cc1a951d4f62697635a3a4582604051613b949190616b12565b60405180910390a2505b613c1e565b8015613be5577fa217d08e65f80c73121cd9db834d81652d544bfbf452f6d04922b16c90a37b7086604051613bd89190617594565b60405180910390a1613c1c565b857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf280604051613c1390616bd4565b60405180910390a25b505b8015613dd45760005b8751811015613dd2576000888281518110613c3e57fe5b60200260200101519050600060018281548110613c5757fe5b60009182526020909120600160049092020181015481546001600160a01b03909116916108fc9185908110613c8857fe5b9060005260206000209060040201600301549081150290604051600060405180830381858888f1935050505090508015613d445760018281548110613cc957fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d9185908110613d1857fe5b906000526020600020906004020160030154604051613d379190617594565b60405180910390a2613dc8565b60018281548110613d5157fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d9185908110613da057fe5b906000526020600020906004020160030154604051613dbf9190617594565b60405180910390a25b5050600101613c27565b505b835115613f1e5760005b8451811015613f1c576000858281518110613df557fe5b60200260200101516001600160a01b03166108fc868481518110613e1557fe5b60200260200101519081150290604051600060405180830381858888f1935050505090508015613eab57858281518110613e4b57fe5b60200260200101516001600160a01b03167f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d868481518110613e8957fe5b6020026020010151604051613e9e9190617594565b60405180910390a2613f13565b858281518110613eb757fe5b60200260200101516001600160a01b03167f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d868481518110613ef557fe5b6020026020010151604051613f0a9190617594565b60405180910390a25b50600101613dde565b505b5050505050505050505050506000471115613f9a577f6ecc855f9440a9282c90913bbc91619fd44f5ec0b462af28d127b116f130aa4d47604051613f629190617594565b60405180910390a1604051611002904780156108fc02916000818181858888f19350505050158015613f98573d6000803e3d6000fd5b505b60006003819055600555815115613fb557613fb5828261522c565b6110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613ff257600080fd5b505af1158015614006573d6000803e3d6000fd5b50506040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf925060009150a1506000949350505050565b80516001600160a01b031660009081526004602052604081205480158061408f575060018082038154811061406f57fe5b9060005260206000209060040201600201601c9054906101000a900460ff165b156140d55782516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a2600091505061138c565b60015460055460001982011180159061412b5784516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a26000935050505061138c565b60058054600190810190915580548190600019860190811061414957fe5b6000918252602082206002600490920201018054921515600160e01b0260ff60e01b199093169290921790915585516040516001600160a01b03909116917ff226e7d8f547ff903d9d419cf5f54e0d7d07efa9584135a53a057c5f1f27f49a91a2506000949350505050565b6000610f2383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506159e6565b6000610f2383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615a1d565b6000826142485750600061143c565b8282028284828161425557fe5b0414610f235760405162461bcd60e51b8152600401610cbc90617169565b600082820183811015610f235760405162461bcd60e51b8152600401610cbc90616d08565b600080600183815481106142a857fe5b906000526020600020906004020160030154905060006001808054905003905060016142d26126d2565b5111614307576000600185815481106142e757fe5b90600052602060002090600402016003018190555060009250505061143c565b846001600160a01b03167f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70836040516143409190617594565b60405180910390a26001600160a01b038516600090815260046020526040812055835b6001546000190181101561452d576001816001018154811061438157fe5b90600052602060002090600402016001828154811061439c57fe5b60009182526020909120825460049092020180546001600160a01b03199081166001600160a01b0393841617825560018085015481840180548416918616919091179055600280860180549185018054909416919095161780835584546001600160401b03600160a01b91829004160267ffffffffffffffff60a01b1990911617808355935460ff600160e01b918290041615150260ff60e01b19909416939093179055600392830154920191909155600b80549091830190811061445d57fe5b9060005260206000209060160201600b828154811061447857fe5b600091825260209091208254601690920201908155600180830154818301805460ff909216151560ff19909216919091179055600280840180546144cf93838601939082161561010002600019019091160461651f565b506144e260038281019084016013616594565b509050508060010160046000600184815481106144fb57fe5b600091825260208083206004909202909101546001600160a01b03168352820192909252604001902055600101614363565b50600180548061453957fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b80548061458c57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906145be60028301826165be565b6145cc600383016000616602565b5050905560008183816145db57fe5b049050801561463f5760015460005b8181101561463c57826001828154811061460057fe5b906000526020600020906004020160030154016001828154811061462057fe5b60009182526020909120600360049092020101556001016145ea565b50505b50600195945050505050565b60015481516040805182815260208084028201019091526060929190839082801561468a57816020015b60608152602001906001900390816146755790505b50600b5490915083146146a157925061138c915050565b60005b828110156147b057600b6001600460008985815181106146c057fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403815481106146f457fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561478c5780601f106147615761010080835404028352916020019161478c565b820191906000526020600020905b81548152906001019060200180831161476f57829003601f168201915b505050505082828151811061479d57fe5b60209081029190910101526001016146a4565b50949350505050565b60005b8281101561490657600082878388016040516020016147dc92919061698d565b6040516020818303038152906040528051906020012060001c816147fc57fe5b069050808501828701146148fd576000898388018151811061481a57fe5b602002602001015190506060898489018151811061483457fe5b602002602001015190508a8388018151811061484c57fe5b60200260200101518b858a018151811061486257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b8489018151811061489157fe5b60200260200101906001600160a01b031690816001600160a01b03168152505089838801815181106148bf57fe5b60200260200101518a858a01815181106148d557fe5b6020026020010181905250808a848901815181106148ef57fe5b602002602001018190525050505b506001016147bc565b5050505050505050565b600980546001908101909155600b80548390811061492a57fe5b906000526020600020906016020160010160006101000a81548160ff02191690831515021790555043600b828154811061496057fe5b600091825260208220601690910201919091556040516001600160a01b038416917ff62981a567ec3cec866c6fa93c55bcdf841d6292d18b8d522ececa769375d82d91a25050565b6000816040516020016149bb9190616971565b60405160208183030381529060405280519060200120836040516020016149e29190616971565b6040516020818303038152906040528051906020012014905092915050565b015190565b815181516000916001918114808314614a225760009250614a60565b600160208701838101602088015b600284838510011415614a5b578051835114614a4f5760009650600093505b60209283019201614a30565b505050505b5090949350505050565b6001600160a01b03811660009081526004602052604081205480614a935750600019905061138c565b600181039050600060018281548110614aa857fe5b9060005260206000209060040201600301549050600060018381548110614acb57fe5b6000918252602090912060036004909202010155600154604051600019909101906001600160a01b038616907f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d90614b24908590617594565b60405180910390a280614b3c5782935050505061138c565b6000818381614b4757fe5b0490508015614c035760005b84811015614ba5578160018281548110614b6957fe5b9060005260206000209060040201600301540160018281548110614b8957fe5b6000918252602090912060036004909202010155600101614b53565b50600180549085015b81811015614c00578260018281548110614bc457fe5b9060005260206000209060040201600301540160018281548110614be457fe5b6000918252602090912060036004909202010155600101614bae565b50505b5091949350505050565b614c15616611565b506040805180820190915281518152602082810190820152919050565b614c3a6164ca565b614c4382615a49565b614c4c57600080fd5b6000614c5b8360200151615a83565b60208085015160408051808201909152868152920190820152915050919050565b6000614c86616611565b505080518051602091820151919092015191011190565b614ca5616611565b614cae82614c7c565b614cb757600080fd5b60208201516000614cc782615ae6565b80830160209586015260408051808201909152908152938401919091525090919050565b805160009015801590614d0057508151602110155b614d0957600080fd5b6000614d188360200151615a83565b90508083600001511015614d3e5760405162461bcd60e51b8152600401610cbc90617327565b8251602080850151830180519284900392918310156147b057506020919091036101000a90049392505050565b6060614d7682615a49565b614d7f57600080fd5b6000614d8a83615bc7565b9050606081604051908082528060200260200182016040528015614dc857816020015b614db5616611565b815260200190600190039081614dad5790505b5090506000614dda8560200151615a83565b60208601510190506000805b84811015614e3157614df783615ae6565b9150604051806040016040528083815260200184815250848281518110614e1a57fe5b602090810291909101015291810191600101614de6565b509195945050505050565b614e446164ea565b60606000614e506164ea565b6060614e5a6164ca565b614e6387614c32565b90506000805b614e7283614c7c565b15614f475780614e9d57614e8d614e8884614c9d565b615c23565b6001600160a01b03168552614f3f565b8060011415614ec557614eb2614e8884614c9d565b6001600160a01b03166020860152614f3f565b8060021415614eed57614eda614e8884614c9d565b6001600160a01b03166040860152614f3f565b8060031415614f1957614f0261321d84614c9d565b6001600160401b0316606086015260019150614f3f565b8060041415614f3a57614f33614f2e84614c9d565b615c3d565b9350614f3f565b614f47565b600101614e69565b50929791965091945092505050565b606061143c614f6483615cad565b615d93565b6060815160001415614f8a575060408051600081526020810190915261138c565b606082600081518110614f9957fe5b602002602001015190506000600190505b8351811015614fda57614fd082858381518110614fc357fe5b6020026020010151615de5565b9150600101614faa565b50610f23614fed825160c060ff16615e62565b82615de5565b6060806000808080806150046127db565b6001549091505b801561511257600181039250600b838154811061502457fe5b600091825260209091206001601690920201015460ff1661504457615109565b6001838154811061505157fe5b60009182526020909120600490910201546001600160a01b03169450615078858484612fe1565b935083158061508b575060018a51038610155b1561509557615109565b60005b8a5181101561510757856001600160a01b03168b82815181106150b757fe5b6020026020010151600001516001600160a01b031614156150ff5760018b82815181106150e057fe5b6020908102919091010151901515608090910152600190960195615107565b600101615098565b505b6000190161500b565b508489510360405190808252806020026020018201604052801561515057816020015b61513d6164ea565b8152602001906001900390816151355790505b5096508489510360405190808252806020026020018201604052801561518a57816020015b60608152602001906001900390816151755790505b5095506000915060005b895181101561521e578981815181106151a957fe5b602002602001015160800151615216578981815181106151c557fe5b60200260200101518884815181106151d957fe5b60200260200101819052508881815181106151f057fe5b602002602001015187848151811061520457fe5b60200260200101819052508260010192505b600101615194565b5050505050505b9250929050565b600154825160005b828110156153495760016152466164ea565b6001838154811061525357fe5b600091825260208083206040805160c08101825260049490940290910180546001600160a01b0390811685526001820154811693850193909352600281015492831691840191909152600160a01b82046001600160401b03166060840152600160e01b90910460ff16151560808301526003015460a082015291505b8481101561531d578781815181106152e357fe5b6020026020010151600001516001600160a01b031682600001516001600160a01b03161415615315576000925061531d565b6001016152cf565b50811561533f5780516001600160a01b03166000908152600460205260408120555b5050600101615234565b508082111561540857805b8281101561540657600180548061536757fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806153ba57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906153ec60028301826165be565b6153fa600383016000616602565b50509055600101615354565b505b60008183106154175781615419565b825b905060005b81811015615788576154cb86828151811061543557fe5b60200260200101516001838154811061544a57fe5b60009182526020918290206040805160c08101825260049390930290910180546001600160a01b0390811684526001820154811694840194909452600281015493841691830191909152600160a01b83046001600160401b03166060830152600160e01b90920460ff161515608082015260039091015460a0820152615f34565b61567f5780600101600460008884815181106154e357fe5b6020026020010151600001516001600160a01b03166001600160a01b031681526020019081526020016000208190555085818151811061551f57fe5b60200260200101516001828154811061553457fe5b6000918252602091829020835160049092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549184169185169190911790556040840151600282018054606087015160808801511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909716929097169190911792909216939093171692909217905560a09091015160039091015584518590829081106155ef57fe5b6020026020010151600b828154811061560457fe5b906000526020600020906016020160020190805190602001906156289291906163ff565b506000600b828154811061563857fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b80548390811061566957fe5b6000918252602090912060169091020155615780565b61571085828151811061568e57fe5b6020026020010151600b83815481106156a357fe5b600091825260209182902060026016909202018101805460408051601f600019610100600186161502019093169490940491820185900485028401850190528083529192909190830182828015612ad35780601f10612aa857610100808354040283529160200191612ad3565b61575b5784818151811061572057fe5b6020026020010151600b828154811061573557fe5b906000526020600020906016020160020190805190602001906157599291906163ff565b505b60006001828154811061576a57fe5b9060005260206000209060040201600301819055505b60010161541e565b5082821115615960576157996163d0565b835b8381101561595d578581815181106157af57fe5b6020026020010151826040018190525060018782815181106157cd57fe5b6020908102919091018101518254600181810185556000948552838520835160049093020180546001600160a01b039384166001600160a01b0319918216178255848601518284018054918616918316919091179055604080860151600284018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909a1692909616919091179290921696909617169190911790935560a090930151600390930192909255600b80549283018155909352845160169091026000805160206177f28339815191528101918255858301516000805160206178328339815191528201805491151560ff199092169190911790559285015180518694929361590393600080516020617812833981519152019201906163ff565b5060608201516159199060038301906013616479565b505050806001016004600089848151811061593057fe5b602090810291909101810151516001600160a01b031682528101919091526040016000205560010161579b565b50505b615968615fb5565b615970616197565b6000600981905560015493505b838110156159de576000600b828154811061599457fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b8054839081106159c557fe5b600091825260209091206016909102015560010161597d565b505050505050565b60008183615a075760405162461bcd60e51b8152600401610cbc9190616b12565b506000838581615a1357fe5b0495945050505050565b60008184841115615a415760405162461bcd60e51b8152600401610cbc9190616b12565b505050900390565b8051600090615a5a5750600061138c565b6020820151805160001a9060c0821015615a795760009250505061138c565b5060019392505050565b8051600090811a6080811015615a9d57600091505061138c565b60b8811080615ab8575060c08110801590615ab8575060f881105b15615ac757600191505061138c565b60c0811015615adb5760b51901905061138c565b60f51901905061138c565b80516000908190811a6080811015615b015760019150615bc0565b60b8811015615b1657607e1981019150615bc0565b60c0811015615b6757600060b78203600186019550806020036101000a865104915060018101820193505080831015615b615760405162461bcd60e51b8152600401610cbc906170b6565b50615bc0565b60f8811015615b7c5760be1981019150615bc0565b600060f78203600186019550806020036101000a865104915060018101820193505080831015615bbe5760405162461bcd60e51b8152600401610cbc906170b6565b505b5092915050565b8051600090615bd85750600061138c565b60008090506000615bec8460200151615a83565b602085015185519181019250015b80821015615c1a57615c0b82615ae6565b82019150826001019250615bfa565b50909392505050565b8051600090601514615c3457600080fd5b61143c82614ceb565b8051606090615c4b57600080fd5b6000615c5a8360200151615a83565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015615c91576020820181803683370190505b50905060008160200190506147b0848760200151018285616385565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff198416615cf157506018615d15565b6fffffffffffffffffffffffffffffffff198416615d1157506010615d15565b5060005b6020811015615d4b57818181518110615d2a57fe5b01602001516001600160f81b03191615615d4357615d4b565b600101615d15565b60008160200390506060816040519080825280601f01601f191660200182016040528015615d80576020820181803683370190505b5080830196909652508452509192915050565b606081516001148015615dc55750607f60f81b82600081518110615db357fe5b01602001516001600160f81b03191611155b15615dd157508061138c565b61143c615de38351608060ff16615e62565b835b6060806040519050835180825260208201818101602087015b81831015615e16578051835260209283019201615dfe565b50855184518101855292509050808201602086015b81831015615e43578051835260209283019201615e2b565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615e8c5760405162461bcd60e51b8152600401610cbc90616eba565b60408051600180825281830190925260609160208201818036833701905050905060378411615ee65782840160f81b81600081518110615ec857fe5b60200101906001600160f81b031916908160001a905350905061143c565b6060615ef185615cad565b90508381510160370160f81b82600081518110615f0a57fe5b60200101906001600160f81b031916908160001a905350615f2b8282615de5565b95945050505050565b805182516000916001600160a01b039182169116148015615f6e575081602001516001600160a01b031683602001516001600160a01b0316145b8015615f93575081604001516001600160a01b031683604001516001600160a01b0316145b8015610f235750506060908101519101516001600160401b0390811691161490565b6012546013548082111561600057805b82811015615ffe576012805480615fd857fe5b600190038181906000526020600020016000615ff491906165be565b9055600101615fc5565b505b600081831061600f5781616011565b825b905060005b81811015616129576160ce6012828154811061602e57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156160bc5780601f10616091576101008083540402835291602001916160bc565b820191906000526020600020905b81548152906001019060200180831161609f57829003601f168201915b505050505060138381548110612a4557fe5b61612157601381815481106160df57fe5b90600052602060002001601282815481106160f657fe5b90600052602060002001908054600181600116156101000203166002900461611f92919061651f565b505b600101616016565b5082821115610cdc57825b82811015612f015760126013828154811061614b57fe5b600091825260208083208454600181810187559585529190932092909101805461618e94939092019290916002610100928216159290920260001901160461651f565b50600101616134565b601354600b54808211156161e257805b828110156161e05760138054806161ba57fe5b6001900381819060005260206000200160006161d691906165be565b90556001016161a7565b505b60008183106161f157816161f3565b825b905060005b81811015616312576162b06013828154811061621057fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561629e5780601f106162735761010080835404028352916020019161629e565b820191906000526020600020905b81548152906001019060200180831161628157829003601f168201915b5050505050600b83815481106156a357fe5b61630a57600b81815481106162c157fe5b9060005260206000209060160201600201601382815481106162df57fe5b90600052602060002001908054600181600116156101000203166002900461630892919061651f565b505b6001016161f8565b5082821115610cdc57825b82811015612f01576013600b828154811061633457fe5b60009182526020808320845460018082018755958552919093206016929092029092016002908101805461637c9593909401939092600019908216156101000201160461651f565b5060010161631d565b8061638f57610cdc565b5b602081106163af578251825260209283019290910190601f1901616390565b915181516020939093036101000a6000190180199091169216919091179052565b604051806080016040528060008152602001600015158152602001606081526020016163fa61662b565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061644057805160ff191683800117855561646d565b8280016001018555821561646d579182015b8281111561646d578251825591602001919060010190616452565b5061281692915061664a565b826013810192821561646d579160200282018281111561646d578251825591602001919060010190616452565b6040518060600160405280600060ff16815260200160608152602001606081525090565b60405180604001604052806164dd616611565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10616558578054855561646d565b8280016001018555821561646d57600052602060002091601f016020900482015b8281111561646d578254825591600101919060010190616579565b826013810192821561646d579182018281111561646d578254825591600101919060010190616579565b50805460018160011615610100020316600290046000825580601f106165e45750611598565b601f016020900490600052602060002090810190611598919061664a565b5061159890601381019061664a565b604051806040016040528060008152602001600081525090565b6040518061026001604052806013906020820280368337509192915050565b6127bb91905b808211156128165760008155600101616650565b60008083601f840112616675578182fd5b5081356001600160401b0381111561668b578182fd5b602083019150836020808302850101111561522557600080fd5b60008083601f8401126166b6578182fd5b5081356001600160401b038111156166cc578182fd5b60208301915083602082850101111561522557600080fd5b6000602082840312156166f5578081fd5b81356001600160a01b0381168114610f23578182fd5b60008060008060408587031215616720578283fd5b84356001600160401b0380821115616736578485fd5b61674288838901616664565b9096509450602087013591508082111561675a578384fd5b5061676787828801616664565b95989497509550505050565b600060208284031215616784578081fd5b81518015158114610f23578182fd5b600080602083850312156167a5578182fd5b82356001600160401b038111156167ba578283fd5b6167c6858286016166a5565b90969095509350505050565b600080600080604085870312156167e7578384fd5b84356001600160401b03808211156167fd578586fd5b616809888389016166a5565b90965094506020870135915080821115616821578384fd5b50616767878288016166a5565b60006020828403121561683f578081fd5b5035919050565b600060208284031215616857578081fd5b5051919050565b60008060408385031215616870578182fd5b505080516020909101519092909150565b600080600060408486031215616895578283fd5b833560ff811681146168a5578384fd5b925060208401356001600160401b038111156168bf578283fd5b6168cb868287016166a5565b9497909650939450505050565b6000815180845260208085019450808401835b838110156169105781516001600160a01b0316875295820195908201906001016168eb565b509495945050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000815180845261695d8160208601602086016175fa565b601f01601f19169290920160200192915050565b600082516169838184602087016175fa565b9190910192915050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03968716815294861660208601529290941660408401526001600160401b03166060830152911515608082015260a081019190915260c00190565b600060208252610f2360208301846168d8565b600060408252616a3060408301856168d8565b602083820381850152818551808452828401915082838202850101838801865b83811015616a7e57601f19878403018552616a6c838351616945565b94860194925090850190600101616a50565b50909998505050505050505050565b600060808252616aa060808301876168d8565b828103602084810191909152865180835287820192820190845b81811015616ad657845183529383019391830191600101616aba565b50508481036040860152616aea81886168d8565b93505050506001600160401b038316606083015295945050505050565b901515815260200190565b600060208252610f236020830184616945565b600060408252616b3960408301868861691b565b8281036020840152616b4c81858761691b565b979650505050505050565b6020808252601c908201527f6c656e677468206f66206275726e526174696f206d69736d6174636800000000604082015260600190565b60208082526026908201527f6c656e677468206f66206d61784e756d4f664d61696e7461696e696e67206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601b908201527f6261746368207472616e736665722072657475726e2066616c73650000000000604082015260600190565b6020808252602c908201527f6c656e677468206f66206d61784e756d4f66576f726b696e6743616e6469646160408201526b0e8cae640dad2e6dac2e8c6d60a31b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61696e7461696e536c6173685363616c65206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252818101527f6c656e677468206f66206e756d4f66436162696e657473206d69736d61746368604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526028908201527f746865206e756d4f66436162696e657473206d75737420626520677265617465604082015267072207468616e20360c41b606082015260800190565b60208082526039908201527f746865206e756d4f66436162696e657473206d757374206265206c657373207460408201527f68616e204d41585f4e554d5f4f465f56414c494441544f525300000000000000606082015260800190565b60208082526029908201527f746865206e756d626572206f662076616c696461746f727320657863656564206040820152681d1a19481b1a5b5a5d60ba1b606082015260800190565b60208082526022908201527f63616e206e6f7420646f207468697320747769636520696e206f6e6520626c6f604082015261636b60f01b606082015260800190565b6020808252602b908201527f746865206275726e526174696f206d757374206265206e6f206772656174657260408201526a0207468616e2031303030360ac1b606082015260800190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526037908201527f746865206d61784e756d4f664d61696e7461696e696e67206d7573742062652060408201527f6c657373207468616e206e756d4f66436162696e657473000000000000000000606082015260800190565b6020808252602b908201527f6475706c696361746520636f6e73656e7375732061646472657373206f66207660408201526a185b1a59185d1bdc94d95d60aa1b606082015260800190565b60208082526027908201527f7468652065787069726554696d655365636f6e64476170206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601590820152746465706f7369742076616c7565206973207a65726f60581b604082015260600190565b60208082526049908201527f746865206d61784e756d4f66576f726b696e6743616e64696461746573206d7560408201527f7374206265206e6f742067726561746572207468616e206d61784e756d4f6643606082015268616e6469646174657360b81b608082015260a00190565b60208082526027908201527f7468652066696e616c697479526577617264526174696f206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f63616e206e6f7420656e7465722054656d706f72617279204d61696e74656e616040820152626e636560e81b606082015260800190565b60208082526025908201527f6c656e677468206f66206a61696c2076616c696461746f7273206d757374206260408201526465206f6e6560d81b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61784e756d4f6643616e64696461746573206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252601290820152716e6f7420696e206d61696e74656e616e636560701b604082015260600190565b60208082526021908201527f666565206973206c6172676572207468616e2044555354595f494e434f4d494e6040820152604760f81b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662066696e616c697479526577617264526174696f206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662065787069726554696d655365636f6e64476170206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526017908201527f6f6e6c792063757272656e742076616c696461746f7273000000000000000000604082015260600190565b60208082526021908201527f6661696c656420746f20706172736520696e69742076616c696461746f7253656040820152601d60fa1b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252603e908201527f746865206d61696e7461696e536c6173685363616c65206d757374206265206760408201527f726561746572207468616e203020616e64206c657373207468616e2031300000606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b60208082526029908201527f746865206d6573736167652073656e646572206d75737420626520736c6173686040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b61ffff91909116815260200190565b90815260200190565b6000848252831515602083015260606040830152615f2b6060830184616945565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260406020830152615f2b60408301848661691b565b60005b838110156176155781810151838201526020016175fd565b83811115612f01575050600091015256fef901a880f901a4f844941284214b9b9c85549ab3d2b972df0deef66ac2c9946ddf42a51534fc98d0c0a3b42c963cace8441ddf946ddf42a51534fc98d0c0a3b42c963cace8441ddf8410000000f84494a2959d3f95eae5dc7d70144ce1b73b403b7eb6e0948081ef03f1d9e0bb4a5bf38f16285c879299f07f948081ef03f1d9e0bb4a5bf38f16285c879299f07f8410000000f8449435552c16704d214347f29fa77f77da6d75d7c75294dc4973e838e3949c77aced16ac2315dc2d7ab11194dc4973e838e3949c77aced16ac2315dc2d7ab1118410000000f84494980a75ecd1309ea12fa2ed87a8744fbfc9b863d594cc6ac05c95a99c1f7b5f88de0e3486c82293b27094cc6ac05c95a99c1f7b5f88de0e3486c82293b2708410000000f84494f474cf03cceff28abc65c9cbae594f725c80e12d94e61a183325a18a173319dd8e19c8d069459e217594e61a183325a18a173319dd8e19c8d069459e21758410000000f84494b71b214cb885500844365e95cd9942c7276e7fd894d22ca3ba2141d23adab65ce4940eb7665ea2b6a794d22ca3ba2141d23adab65ce4940eb7665ea2b6a7841000000070e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb20175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbb0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbaa26469706673582212201bfbc326e63aa136a8685cddd241600b97b8502885f737aee34f1189c78be29b64736f6c63430006040033", }, { ContractAddr: common.HexToAddress(SlashContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/ff8df0741e8f7e9b2c85c2a3b7b2426ad2ba1fad", - Code: "608060405234801561001057600080fd5b506004361061027f5760003560e01c80637942fd051161015c578063c80d4b8f116100ce578063dc927faf11610087578063dc927faf146104ad578063e1c7392a146104b5578063f9a2bbc7146104bd578063fc3e5908146104c5578063fc4333cd146104cd578063fd6a6879146104d55761027f565b8063c80d4b8f1461045c578063c81b166214610464578063c8509d811461046c578063c96be4cb1461047f578063cc844b7314610492578063d2a42e4b146104a55761027f565b80639dc09262116101205780639dc0926214610421578063a1a11bf514610429578063a78abc1614610431578063ab51bb9614610439578063ac0af62914610441578063ac431751146104495761027f565b80637942fd05146103ee5780638256ace6146103f6578063831d65d1146103fe57806396713da9146104115780639bc8e4f2146104195761027f565b8063493279b1116101f557806362b72cf5116101b957806362b72cf5146103be5780636e47b482146103c657806370fd5bad146103ce578063718a8aa8146103d657806375d47a0a146103de5780637912a65d146103e65761027f565b8063493279b11461037c5780634bf6c8821461039157806351e8067214610399578063567a372d146103a15780635bfb4990146103a95761027f565b806335aa2e441161024757806335aa2e441461030e57806337c8dab914610321578063389f4f71146103425780633a63f4b1146103575780633dffc3871461035f57806343756e5c146103745761027f565b80630bee7a67146102845780630e2374a5146102a25780631182b875146102b757806322d1e80b146102d757806323bac5a2146102ec575b600080fd5b61028c6104dd565b6040516102999190613368565b60405180910390f35b6102aa6104e2565b6040516102999190612c17565b6102ca6102c5366004612b4d565b6104e8565b6040516102999190612c4f565b6102df61054e565b6040516102999190612c44565b6102ff6102fa3660046128fb565b610557565b60405161029993929190613350565b6102aa61031c366004612b1d565b61057a565b61033461032f3660046128fb565b6105a1565b604051610299929190613342565b61034a6105f8565b6040516102999190613318565b61034a6105fe565b610367610604565b6040516102999190613379565b6102aa610609565b61038461060f565b6040516102999190613309565b610367610614565b6102aa610619565b61034a61061f565b6103bc6103b73660046128fb565b610625565b005b61034a6106d0565b6102aa6106d6565b6103676106dc565b6103676106e1565b6102aa6106e6565b61034a6106ec565b6103676106f1565b6103346106f6565b6103bc61040c366004612b4d565b610700565b610367610812565b61034a610817565b6102aa610822565b6102aa610828565b6102df61082e565b61028c610837565b61034a61083c565b6103bc610457366004612a01565b610841565b61034a610ce0565b6102aa610ce5565b6103bc61047a366004612b4d565b610ceb565b6103bc61048d3660046128fb565b610d5c565b6103bc6104a0366004612a6a565b61114d565b61034a61172f565b6102aa611734565b6103bc61173a565b6102aa611776565b61036761177c565b6103bc611781565b6102aa611bca565b606481565b61200181565b606033612000146105145760405162461bcd60e51b815260040161050b9061318f565b60405180910390fd5b60005460ff166105365760405162461bcd60e51b815260040161050b90612d30565b60405162461bcd60e51b815260040161050b90613252565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061058757fe5b6000918252602090912001546001600160a01b0316905081565b6000806105ac6126e2565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b606181565b600881565b61200081565b60045481565b33611000146106465760405162461bcd60e51b815260040161050b90612f74565b60005460ff166106685760405162461bcd60e51b815260040161050b90612d30565b61200063f7a251d7600b61067b84611bd0565b60006040518463ffffffff1660e01b815260040161069b93929190613387565b600060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107215760405162461bcd60e51b815260040161050b9061318f565b60005460ff166107435760405162461bcd60e51b815260040161050b90612d30565b61074b612705565b600061078c84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ca292505050565b9150915080156107d35781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107c691613368565b60405180910390a16106c9565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e79161080391613368565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108635760405162461bcd60e51b815260040161050b90612d30565b33611007146108845760405162461bcd60e51b815260040161050b9061304c565b6108ef84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611d229050565b1561098a57602081146109145760405162461bcd60e51b815260040161050b90612f00565b604080516020601f840181900481028201810190925282815260009161095291858580838501838280828437600092019190915250611d7c92505050565b905060018110158015610966575060055481105b6109825760405162461bcd60e51b815260040161050b9061314a565b600455610c9d565b6109f084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611d229050565b15610a8c5760208114610a155760405162461bcd60e51b815260040161050b9061309a565b604080516020601f8401819004810282018101909252828152600091610a5391858580838501838280828437600092019190915250611d7c92505050565b90506103e88111158015610a68575060045481115b610a845760405162461bcd60e51b815260040161050b90612d9e565b600555610c9d565b610b0084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611d229050565b15610b9a5760208114610b255760405162461bcd60e51b815260040161050b90613289565b604080516020601f8401819004810282018101909252828152600091610b6391858580838501838280828437600092019190915250611d7c92505050565b9050600a8110158015610b765750606481105b610b925760405162461bcd60e51b815260040161050b90612eb4565b600655610c9d565b610c0e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611d229050565b15610c855760208114610c335760405162461bcd60e51b815260040161050b90612dd3565b604080516020601f8401819004810282018101909252828152610c6f9190848480838501838280828437600092019190915250611d8192505050565b6007805460ff1916911515919091179055610c9d565b60405162461bcd60e51b815260040161050b9061322b565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610cd29493929190612c62565b60405180910390a150505050565b609681565b61100281565b3361200014610d0c5760405162461bcd60e51b815260040161050b9061318f565b60005460ff16610d2e5760405162461bcd60e51b815260040161050b90612d30565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610d7b5760405162461bcd60e51b815260040161050b906131de565b60005460ff16610d9d5760405162461bcd60e51b815260040161050b90612d30565b6003544311610dbe5760405162461bcd60e51b815260040161050b906132d4565b3a15610ddc5760405162461bcd60e51b815260040161050b90612fef565b60405163155853f360e21b8152611000906355614fcc90610e01908490600401612c17565b60206040518083038186803b158015610e1957600080fd5b505afa158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5191906129e1565b610e5a57611146565b610e626126e2565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ebd576020810180516001019052610f16565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610f2857fe5b0661107457600060208201526040516335409f7f60e01b8152611000906335409f7f90610f59908590600401612c17565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610fa785611bd0565b60006040518463ffffffff1660e01b8152600401610fc793929190613387565b600060405180830381600087803b158015610fe157600080fd5b505af1925050508015610ff2575060015b61106f573d808015611020576040519150601f19603f3d011682016040523d82523d6000602084013e611025565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051611065929190613321565b60405180910390a2505b6110e0565b60045481602001518161108357fe5b066110e0576040516375abf10160e11b81526110009063eb57e202906110ad908590600401612c17565b600060405180830381600087803b1580156110c757600080fd5b505af11580156110db573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff1661116f5760405162461bcd60e51b815260040161050b90612d30565b604051630a83aaa960e31b81526110069063541d554890611194903390600401612c17565b60206040518083038186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e491906129e1565b6112005760405162461bcd60e51b815260040161050b90612c94565b60075460ff166112225760405162461bcd60e51b815260040161050b90612cfb565b60065461122f5760146006555b8051514361010090910111801561125157504381602001516000015161010001115b61126d5760405162461bcd60e51b815260040161050b90612ccb565b80602001516020015181600001516020015114801561129b5750806020015160600151816000015160600151145b156112b85760405162461bcd60e51b815260040161050b90612f47565b8051604081015190511080156112d75750602081015160408101519051105b6112f35760405162461bcd60e51b815260040161050b90612e7d565b6020810151518151511080156113185750806000015160400151816020015160400151105b8061134357508051516020820151511080156113435750806020015160400151816000015160400151105b8061135d5750806020015160400151816000015160400151145b6113795760405162461bcd60e51b815260040161050b90612d67565b604080820151905163ea321e4960e01b81526110009163ea321e49916113a29190600401612c4f565b60206040518083038186803b1580156113ba57600080fd5b505afa1580156113ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f291906129e1565b61140e5760405162461bcd60e51b815260040161050b9061301d565b61142081600001518260400151611da9565b8015611439575061143981602001518260400151611da9565b6114555760405162461bcd60e51b815260040161050b90612e1e565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561149357600080fd5b505afa1580156114a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114cf919081019061291e565b9150915060005b815181101561160c576115008282815181106114ee57fe5b60200260200101518560400151611f81565b15611604576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f0906115389033908590600401612c2b565b602060405180830381600087803b15801561155257600080fd5b505af1158015611566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158a9190612b35565b506110006001600160a01b03166335409f7f8584815181106115a857fe5b60200260200101516040518263ffffffff1660e01b81526004016115cc9190612c17565b600060405180830381600087803b1580156115e657600080fd5b505af11580156115fa573d6000803e3d6000fd5b505050505061160c565b6001016114d6565b50600061161e84604001516000611fe5565b90506120006001600160a01b031663f7a251d7600b6116408760400151612001565b60006040518463ffffffff1660e01b815260040161166093929190613387565b600060405180830381600087803b15801561167a57600080fd5b505af192505050801561168b575060015b6116fd573d8080156116b9576040519150601f19603f3d011682016040523d82523d6000602084013e6116be565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f3628826040516116ef9190612c4f565b60405180910390a250611729565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff161561175d5760405162461bcd60e51b815260040161050b906130dc565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b33611000146117a25760405162461bcd60e51b815260040161050b90612f74565b60005460ff166117c45760405162461bcd60e51b815260040161050b90612d30565b6001546117d057611bc8565b600154600090600019015b808211611b9c576000805b828410156118ff576117f66126e2565b600260006001878154811061180757fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156118e95760046005548161187457fe5b0481602001510381602001818152505080600260006001888154811061189657fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff19169115159190911790556118f3565b60019250506118ff565b508360010193506117e6565b828411611a965761190e6126e2565b600260006001868154811061191f57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611a075760046005548161198c57fe5b048160200151038160200181815250508060026000600187815481106119ae57fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611a969050565b6002600060018681548110611a1857fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805480611a5c57fe5b600082815260209020810160001990810180546001600160a01b031916905501905583611a895750611a96565b50600019909201916118ff565b818015611aa05750805b15611b7f576002600060018681548110611ab657fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611afd57fe5b600091825260209091200154600180546001600160a01b039092169186908110611b2357fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611b5c57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611b8b575050611b9c565b5050600190910190600019016117db565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611beb579050509050611c14836001600160a01b031661203c565b81600081518110611c2157fe5b6020026020010181905250611c354361205f565b81600181518110611c4257fe5b6020908102919091010152611c57606161205f565b81600281518110611c6457fe5b6020026020010181905250611c784261205f565b81600381518110611c8557fe5b6020026020010181905250611c9981612072565b9150505b919050565b611caa612705565b6000611cb4612705565b611cbc612717565b611ccd611cc8866120fc565b612121565b90506000805b611cdc8361216b565b15611d155780611d0857611cf7611cf28461218c565b6121da565b63ffffffff16845260019150611d0d565b611d15565b600101611cd3565b5091935090915050915091565b600081604051602001611d359190612bfb565b6040516020818303038152906040528051906020012083604051602001611d5c9190612bfb565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611d9b576001915081611da1565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611dc5575050604080516020808252818301909252919250606091908082018180368337019050509050611e0a856000015161205f565b82600081518110611e1757fe5b6020026020010181905250611e32602086602001518361225c565b611e3b8161226c565b82600181518110611e4857fe5b6020026020010181905250611e60856040015161205f565b82600281518110611e6d57fe5b6020026020010181905250611e88602086606001518361225c565b611e918161226c565b82600381518110611e9e57fe5b6020026020010181905250611ec46020611eb784612072565b805190602001208361225c565b6040805160b080825260e08201909252606091602082018180368337019050509050611ef48183600060206122c2565b611f06818760800151602060606122c2565b611f148186608060306122c2565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611f5157600080fd5b506001611f5f826000612315565b60ff1614611f74576000945050505050611d76565b5060019695505050505050565b815181516000916001918114808314611f9d5760009250611fdb565b600160208701838101602088015b600284838510011415611fd6578051835114611fca5760009650600093505b60209283019201611fab565b505050505b5090949350505050565b60008160200183511015611ff857600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b606081526020019060019003908161201c579050509050611c148361226c565b60408051600560a21b8318601482015260348101909152606090611c998161226c565b6060611d7661206d83612331565b61226c565b60608151600014156120935750604080516000815260208101909152611c9d565b6060826000815181106120a257fe5b602002602001015190506000600190505b83518110156120e3576120d9828583815181106120cc57fe5b6020026020010151612417565b91506001016120b3565b50611c996120f6825160c060ff16612494565b82612417565b612104612737565b506040805180820190915281518152602082810190820152919050565b612129612717565b61213282612566565b61213b57600080fd5b600061214a83602001516125a0565b60208085015160408051808201909152868152920190820152915050919050565b6000612175612737565b505080518051602091820151919092015191011190565b612194612737565b61219d8261216b565b6121a657600080fd5b602082015160006121b682612603565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906121ef57508151602110155b6121f857600080fd5b600061220783602001516125a0565b9050808360000151101561222d5760405162461bcd60e51b815260040161050b90613113565b82516020808501518301805192849003929183101561225357826020036101000a820491505b50949350505050565b9091018181526020918201910152565b60608151600114801561229e5750607f60f81b8260008151811061228c57fe5b01602001516001600160f81b03191611155b156122aa575080611c9d565b611d766122bc8351608060ff16612494565b83612417565b60005b818110156106c9578381815181106122d957fe5b602001015160f81c60f81b8584806001019550815181106122f657fe5b60200101906001600160f81b031916908160001a9053506001016122c5565b6000816001018351101561232857600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff19841661237557506018612399565b6fffffffffffffffffffffffffffffffff19841661239557506010612399565b5060005b60208110156123cf578181815181106123ae57fe5b01602001516001600160f81b031916156123c7576123cf565b600101612399565b60008160200390506060816040519080825280601f01601f191660200182016040528015612404576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b81831015612448578051835260209283019201612430565b50855184518101855292509050808201602086015b8183101561247557805183526020928301920161245d565b508651929092011591909101601f01601f191660405250905092915050565b60606801000000000000000083106124be5760405162461bcd60e51b815260040161050b90612e55565b604080516001808252818301909252606091602082018180368337019050509050603784116125185782840160f81b816000815181106124fa57fe5b60200101906001600160f81b031916908160001a9053509050611d76565b606061252385612331565b90508381510160370160f81b8260008151811061253c57fe5b60200101906001600160f81b031916908160001a90535061255d8282612417565b95945050505050565b805160009061257757506000611c9d565b6020820151805160001a9060c082101561259657600092505050611c9d565b5060019392505050565b8051600090811a60808110156125ba576000915050611c9d565b60b88110806125d5575060c081108015906125d5575060f881105b156125e4576001915050611c9d565b60c08110156125f85760b519019050611c9d565b60f519019050611c9d565b80516000908190811a608081101561261e57600191506126db565b60b881101561263357607e19810191506126db565b60c081101561268457600060b78203600186019550806020036101000a86510491506001810182019350508083101561267e5760405162461bcd60e51b815260040161050b90612fc4565b506126db565b60f88110156126995760be19810191506126db565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611da15760405162461bcd60e51b815260040161050b90612fc4565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061272a612737565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f830112612761578081fd5b815161277461276f826133da565b6133b3565b818152915060208083019084810160005b848110156127ea578151870188603f8201126127a057600080fd5b838101516127b061276f826133fa565b81815260408b818486010111156127c657600080fd5b6127d58388840183870161341e565b50865250509282019290820190600101612785565b505050505092915050565b60008083601f840112612806578182fd5b50813567ffffffffffffffff81111561281d578182fd5b60208301915083602082850101111561283557600080fd5b9250929050565b600082601f83011261284c578081fd5b813561285a61276f826133fa565b915080825283602082850101111561287157600080fd5b8060208401602084013760009082016020015292915050565b600060a0828403121561289b578081fd5b6128a560a06133b3565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff8111156128e357600080fd5b6128ef8482850161283c565b60808301525092915050565b60006020828403121561290c578081fd5b81356129178161344a565b9392505050565b60008060408385031215612930578081fd5b825167ffffffffffffffff80821115612947578283fd5b81850186601f820112612958578384fd5b8051925061296861276f846133da565b80848252602080830192508084018a828389028701011115612988578788fd5b8794505b868510156129b357805161299f8161344a565b84526001949094019392810192810161298c565b5088015190965093505050808211156129ca578283fd5b506129d785828601612751565b9150509250929050565b6000602082840312156129f2578081fd5b81518015158114612917578182fd5b60008060008060408587031215612a16578182fd5b843567ffffffffffffffff80821115612a2d578384fd5b612a39888389016127f5565b90965094506020870135915080821115612a51578384fd5b50612a5e878288016127f5565b95989497509550505050565b600060208284031215612a7b578081fd5b813567ffffffffffffffff80821115612a92578283fd5b81840160608187031215612aa4578384fd5b612aae60606133b3565b9250803582811115612abe578485fd5b612aca8782840161288a565b845250602081013582811115612ade578485fd5b612aea8782840161288a565b602085015250604081013582811115612b01578485fd5b612b0d8782840161283c565b6040850152509195945050505050565b600060208284031215612b2e578081fd5b5035919050565b600060208284031215612b46578081fd5b5051919050565b600080600060408486031215612b61578283fd5b833560ff81168114612b71578384fd5b9250602084013567ffffffffffffffff811115612b8c578283fd5b612b98868287016127f5565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612be781602086016020860161341e565b601f01601f19169290920160200192915050565b60008251612c0d81846020870161341e565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526129176020830184612bcf565b600060408252612c76604083018688612ba5565b8281036020840152612c89818587612ba5565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252601690820152751d1bdbc81bdb1908189b1bd8dac81a5b9d9bdb1d995960521b604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252601590820152741d9bdd195059191c881a5cc81b9bdd08199bdd5b99605a1b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b60008382526040602083015261333a6040830184612bcf565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526133a36060830185612bcf565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156133d257600080fd5b604052919050565b600067ffffffffffffffff8211156133f0578081fd5b5060209081020190565b600067ffffffffffffffff821115613410578081fd5b50601f01601f191660200190565b60005b83811015613439578181015183820152602001613421565b838111156117295750506000910152565b6001600160a01b038116811461345f57600080fd5b5056fea26469706673582212203a9ca09f5159164ba93c08e6c82b9ec349e3c2c79d7defcc0d20427ff56c775364736f6c63430006040033", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/0f352c4623898d92664a46cbfc26c52b79aad838", + Code: "608060405234801561001057600080fd5b506004361061027f5760003560e01c80637942fd051161015c578063c80d4b8f116100ce578063dc927faf11610087578063dc927faf146104ad578063e1c7392a146104b5578063f9a2bbc7146104bd578063fc3e5908146104c5578063fc4333cd146104cd578063fd6a6879146104d55761027f565b8063c80d4b8f1461045c578063c81b166214610464578063c8509d811461046c578063c96be4cb1461047f578063cc844b7314610492578063d2a42e4b146104a55761027f565b80639dc09262116101205780639dc0926214610421578063a1a11bf514610429578063a78abc1614610431578063ab51bb9614610439578063ac0af62914610441578063ac431751146104495761027f565b80637942fd05146103ee5780638256ace6146103f6578063831d65d1146103fe57806396713da9146104115780639bc8e4f2146104195761027f565b8063493279b1116101f557806362b72cf5116101b957806362b72cf5146103be5780636e47b482146103c657806370fd5bad146103ce578063718a8aa8146103d657806375d47a0a146103de5780637912a65d146103e65761027f565b8063493279b11461037c5780634bf6c8821461039157806351e8067214610399578063567a372d146103a15780635bfb4990146103a95761027f565b806335aa2e441161024757806335aa2e441461030e57806337c8dab914610321578063389f4f71146103425780633a63f4b1146103575780633dffc3871461035f57806343756e5c146103745761027f565b80630bee7a67146102845780630e2374a5146102a25780631182b875146102b757806322d1e80b146102d757806323bac5a2146102ec575b600080fd5b61028c6104dd565b604051610299919061336a565b60405180910390f35b6102aa6104e2565b6040516102999190612c1b565b6102ca6102c5366004612b51565b6104e8565b6040516102999190612c53565b6102df61054e565b6040516102999190612c48565b6102ff6102fa3660046128ff565b610557565b60405161029993929190613352565b6102aa61031c366004612b21565b61057a565b61033461032f3660046128ff565b6105a1565b604051610299929190613344565b61034a6105f8565b604051610299919061331a565b61034a6105fe565b610367610604565b604051610299919061337b565b6102aa610609565b61038461060f565b604051610299919061330b565b610367610614565b6102aa610619565b61034a61061f565b6103bc6103b73660046128ff565b610625565b005b61034a6106d0565b6102aa6106d6565b6103676106dc565b6103676106e1565b6102aa6106e6565b61034a6106ec565b6103676106f1565b6103346106f6565b6103bc61040c366004612b51565b610700565b610367610812565b61034a610817565b6102aa610822565b6102aa610828565b6102df61082e565b61028c610837565b61034a61083c565b6103bc610457366004612a05565b610841565b61034a610ce0565b6102aa610ce5565b6103bc61047a366004612b51565b610ceb565b6103bc61048d3660046128ff565b610d5c565b6103bc6104a0366004612a6e565b61114d565b61034a611733565b6102aa611738565b6103bc61173e565b6102aa61177a565b610367611780565b6103bc611785565b6102aa611bce565b606481565b61200181565b606033612000146105145760405162461bcd60e51b815260040161050b90613163565b60405180910390fd5b60005460ff166105365760405162461bcd60e51b815260040161050b90612d04565b60405162461bcd60e51b815260040161050b90613254565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061058757fe5b6000918252602090912001546001600160a01b0316905081565b6000806105ac6126e6565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b606181565b600881565b61200081565b60045481565b33611000146106465760405162461bcd60e51b815260040161050b90612f48565b60005460ff166106685760405162461bcd60e51b815260040161050b90612d04565b61200063f7a251d7600b61067b84611bd4565b60006040518463ffffffff1660e01b815260040161069b93929190613389565b600060405180830381600087803b1580156106b557600080fd5b505af11580156106c9573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107215760405162461bcd60e51b815260040161050b90613163565b60005460ff166107435760405162461bcd60e51b815260040161050b90612d04565b61074b612709565b600061078c84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ca692505050565b9150915080156107d35781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107c69161336a565b60405180910390a16106c9565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e7916108039161336a565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108635760405162461bcd60e51b815260040161050b90612d04565b33611007146108845760405162461bcd60e51b815260040161050b90613020565b6108ef84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611d269050565b1561098a57602081146109145760405162461bcd60e51b815260040161050b90612ed4565b604080516020601f840181900481028201810190925282815260009161095291858580838501838280828437600092019190915250611d8092505050565b905060018110158015610966575060055481105b6109825760405162461bcd60e51b815260040161050b9061311e565b600455610c9d565b6109f084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611d269050565b15610a8c5760208114610a155760405162461bcd60e51b815260040161050b9061306e565b604080516020601f8401819004810282018101909252828152600091610a5391858580838501838280828437600092019190915250611d8092505050565b90506103e88111158015610a68575060045481115b610a845760405162461bcd60e51b815260040161050b90612d72565b600555610c9d565b610b0084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611d269050565b15610b9a5760208114610b255760405162461bcd60e51b815260040161050b9061328b565b604080516020601f8401819004810282018101909252828152600091610b6391858580838501838280828437600092019190915250611d8092505050565b9050600a8110158015610b765750606481105b610b925760405162461bcd60e51b815260040161050b90612e88565b600655610c9d565b610c0e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611d269050565b15610c855760208114610c335760405162461bcd60e51b815260040161050b90612da7565b604080516020601f8401819004810282018101909252828152610c6f9190848480838501838280828437600092019190915250611d8592505050565b6007805460ff1916911515919091179055610c9d565b60405162461bcd60e51b815260040161050b906131ff565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610cd29493929190612c66565b60405180910390a150505050565b609681565b61100281565b3361200014610d0c5760405162461bcd60e51b815260040161050b90613163565b60005460ff16610d2e5760405162461bcd60e51b815260040161050b90612d04565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610d7b5760405162461bcd60e51b815260040161050b906131b2565b60005460ff16610d9d5760405162461bcd60e51b815260040161050b90612d04565b6003544311610dbe5760405162461bcd60e51b815260040161050b906132d6565b3a15610ddc5760405162461bcd60e51b815260040161050b90612fc3565b60405163155853f360e21b8152611000906355614fcc90610e01908490600401612c1b565b60206040518083038186803b158015610e1957600080fd5b505afa158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5191906129e5565b610e5a57611146565b610e626126e6565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ebd576020810180516001019052610f16565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610f2857fe5b0661107457600060208201526040516335409f7f60e01b8152611000906335409f7f90610f59908590600401612c1b565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610fa785611bd4565b60006040518463ffffffff1660e01b8152600401610fc793929190613389565b600060405180830381600087803b158015610fe157600080fd5b505af1925050508015610ff2575060015b61106f573d808015611020576040519150601f19603f3d011682016040523d82523d6000602084013e611025565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051611065929190613323565b60405180910390a2505b6110e0565b60045481602001518161108357fe5b066110e0576040516375abf10160e11b81526110009063eb57e202906110ad908590600401612c1b565b600060405180830381600087803b1580156110c757600080fd5b505af11580156110db573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff1661116f5760405162461bcd60e51b815260040161050b90612d04565b604051630a83aaa960e31b81526110069063541d554890611194903390600401612c1b565b60206040518083038186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e491906129e5565b6112005760405162461bcd60e51b815260040161050b90612c98565b60075460ff166112225760405162461bcd60e51b815260040161050b90612ccf565b60065461122f5760146006555b438160000151604001516101000111801561125557504381602001516040015161010001115b6112715760405162461bcd60e51b815260040161050b90613226565b80602001516020015181600001516020015114801561129f5750806020015160600151816000015160600151145b156112bc5760405162461bcd60e51b815260040161050b90612f1b565b8051604081015190511080156112db5750602081015160408101519051105b6112f75760405162461bcd60e51b815260040161050b90612e51565b60208101515181515110801561131c5750806000015160400151816020015160400151105b8061134757508051516020820151511080156113475750806020015160400151816000015160400151105b806113615750806020015160400151816000015160400151145b61137d5760405162461bcd60e51b815260040161050b90612d3b565b604080820151905163ea321e4960e01b81526110009163ea321e49916113a69190600401612c53565b60206040518083038186803b1580156113be57600080fd5b505afa1580156113d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f691906129e5565b6114125760405162461bcd60e51b815260040161050b90612ff1565b61142481600001518260400151611dad565b801561143d575061143d81602001518260400151611dad565b6114595760405162461bcd60e51b815260040161050b90612df2565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561149757600080fd5b505afa1580156114ab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114d39190810190612922565b9150915060005b8151811015611610576115048282815181106114f257fe5b60200260200101518560400151611f85565b15611608576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f09061153c9033908590600401612c2f565b602060405180830381600087803b15801561155657600080fd5b505af115801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190612b39565b506110006001600160a01b03166335409f7f8584815181106115ac57fe5b60200260200101516040518263ffffffff1660e01b81526004016115d09190612c1b565b600060405180830381600087803b1580156115ea57600080fd5b505af11580156115fe573d6000803e3d6000fd5b5050505050611610565b6001016114da565b50600061162284604001516000611fe9565b90506120006001600160a01b031663f7a251d7600b6116448760400151612005565b60006040518463ffffffff1660e01b815260040161166493929190613389565b600060405180830381600087803b15801561167e57600080fd5b505af192505050801561168f575060015b611701573d8080156116bd576040519150601f19603f3d011682016040523d82523d6000602084013e6116c2565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f3628826040516116f39190612c53565b60405180910390a25061172d565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff16156117615760405162461bcd60e51b815260040161050b906130b0565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b33611000146117a65760405162461bcd60e51b815260040161050b90612f48565b60005460ff166117c85760405162461bcd60e51b815260040161050b90612d04565b6001546117d457611bcc565b600154600090600019015b808211611ba0576000805b82841015611903576117fa6126e6565b600260006001878154811061180b57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156118ed5760046005548161187857fe5b0481602001510381602001818152505080600260006001888154811061189a57fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff19169115159190911790556118f7565b6001925050611903565b508360010193506117ea565b828411611a9a576119126126e6565b600260006001868154811061192357fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611a0b5760046005548161199057fe5b048160200151038160200181815250508060026000600187815481106119b257fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611a9a9050565b6002600060018681548110611a1c57fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805480611a6057fe5b600082815260209020810160001990810180546001600160a01b031916905501905583611a8d5750611a9a565b5060001990920191611903565b818015611aa45750805b15611b83576002600060018681548110611aba57fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611b0157fe5b600091825260209091200154600180546001600160a01b039092169186908110611b2757fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611b6057fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611b8f575050611ba0565b5050600190910190600019016117df565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611bef579050509050611c18836001600160a01b0316612040565b81600081518110611c2557fe5b6020026020010181905250611c3943612063565b81600181518110611c4657fe5b6020908102919091010152611c5b6061612063565b81600281518110611c6857fe5b6020026020010181905250611c7c42612063565b81600381518110611c8957fe5b6020026020010181905250611c9d81612076565b9150505b919050565b611cae612709565b6000611cb8612709565b611cc061271b565b611cd1611ccc86612100565b612125565b90506000805b611ce08361216f565b15611d195780611d0c57611cfb611cf684612190565b6121de565b63ffffffff16845260019150611d11565b611d19565b600101611cd7565b5091935090915050915091565b600081604051602001611d399190612bff565b6040516020818303038152906040528051906020012083604051602001611d609190612bff565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611d9f576001915081611da5565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611dc9575050604080516020808252818301909252919250606091908082018180368337019050509050611e0e8560000151612063565b82600081518110611e1b57fe5b6020026020010181905250611e366020866020015183612260565b611e3f81612270565b82600181518110611e4c57fe5b6020026020010181905250611e648560400151612063565b82600281518110611e7157fe5b6020026020010181905250611e8c6020866060015183612260565b611e9581612270565b82600381518110611ea257fe5b6020026020010181905250611ec86020611ebb84612076565b8051906020012083612260565b6040805160b080825260e08201909252606091602082018180368337019050509050611ef88183600060206122c6565b611f0a818760800151602060606122c6565b611f188186608060306122c6565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611f5557600080fd5b506001611f63826000612319565b60ff1614611f78576000945050505050611d7a565b5060019695505050505050565b815181516000916001918114808314611fa15760009250611fdf565b600160208701838101602088015b600284838510011415611fda578051835114611fce5760009650600093505b60209283019201611faf565b505050505b5090949350505050565b60008160200183511015611ffc57600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081612020579050509050611c1883612270565b60408051600560a21b8318601482015260348101909152606090611c9d81612270565b6060611d7a61207183612335565b612270565b60608151600014156120975750604080516000815260208101909152611ca1565b6060826000815181106120a657fe5b602002602001015190506000600190505b83518110156120e7576120dd828583815181106120d057fe5b602002602001015161241b565b91506001016120b7565b50611c9d6120fa825160c060ff16612498565b8261241b565b61210861273b565b506040805180820190915281518152602082810190820152919050565b61212d61271b565b6121368261256a565b61213f57600080fd5b600061214e83602001516125a4565b60208085015160408051808201909152868152920190820152915050919050565b600061217961273b565b505080518051602091820151919092015191011190565b61219861273b565b6121a18261216f565b6121aa57600080fd5b602082015160006121ba82612607565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906121f357508151602110155b6121fc57600080fd5b600061220b83602001516125a4565b905080836000015110156122315760405162461bcd60e51b815260040161050b906130e7565b82516020808501518301805192849003929183101561225757826020036101000a820491505b50949350505050565b9091018181526020918201910152565b6060815160011480156122a25750607f60f81b8260008151811061229057fe5b01602001516001600160f81b03191611155b156122ae575080611ca1565b611d7a6122c08351608060ff16612498565b8361241b565b60005b818110156106c9578381815181106122dd57fe5b602001015160f81c60f81b8584806001019550815181106122fa57fe5b60200101906001600160f81b031916908160001a9053506001016122c9565b6000816001018351101561232c57600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166123795750601861239d565b6fffffffffffffffffffffffffffffffff1984166123995750601061239d565b5060005b60208110156123d3578181815181106123b257fe5b01602001516001600160f81b031916156123cb576123d3565b60010161239d565b60008160200390506060816040519080825280601f01601f191660200182016040528015612408576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b8183101561244c578051835260209283019201612434565b50855184518101855292509050808201602086015b81831015612479578051835260209283019201612461565b508651929092011591909101601f01601f191660405250905092915050565b60606801000000000000000083106124c25760405162461bcd60e51b815260040161050b90612e29565b6040805160018082528183019092526060916020820181803683370190505090506037841161251c5782840160f81b816000815181106124fe57fe5b60200101906001600160f81b031916908160001a9053509050611d7a565b606061252785612335565b90508381510160370160f81b8260008151811061254057fe5b60200101906001600160f81b031916908160001a905350612561828261241b565b95945050505050565b805160009061257b57506000611ca1565b6020820151805160001a9060c082101561259a57600092505050611ca1565b5060019392505050565b8051600090811a60808110156125be576000915050611ca1565b60b88110806125d9575060c081108015906125d9575060f881105b156125e8576001915050611ca1565b60c08110156125fc5760b519019050611ca1565b60f519019050611ca1565b80516000908190811a608081101561262257600191506126df565b60b881101561263757607e19810191506126df565b60c081101561268857600060b78203600186019550806020036101000a8651049150600181018201935050808310156126825760405162461bcd60e51b815260040161050b90612f98565b506126df565b60f881101561269d5760be19810191506126df565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611da55760405162461bcd60e51b815260040161050b90612f98565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061272e61273b565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f830112612765578081fd5b8151612778612773826133dc565b6133b5565b818152915060208083019084810160005b848110156127ee578151870188603f8201126127a457600080fd5b838101516127b4612773826133fc565b81815260408b818486010111156127ca57600080fd5b6127d983888401838701613420565b50865250509282019290820190600101612789565b505050505092915050565b60008083601f84011261280a578182fd5b50813567ffffffffffffffff811115612821578182fd5b60208301915083602082850101111561283957600080fd5b9250929050565b600082601f830112612850578081fd5b813561285e612773826133fc565b915080825283602082850101111561287557600080fd5b8060208401602084013760009082016020015292915050565b600060a0828403121561289f578081fd5b6128a960a06133b5565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff8111156128e757600080fd5b6128f384828501612840565b60808301525092915050565b600060208284031215612910578081fd5b813561291b8161344c565b9392505050565b60008060408385031215612934578081fd5b825167ffffffffffffffff8082111561294b578283fd5b81850186601f82011261295c578384fd5b8051925061296c612773846133dc565b80848252602080830192508084018a82838902870101111561298c578788fd5b8794505b868510156129b75780516129a38161344c565b845260019490940193928101928101612990565b5088015190965093505050808211156129ce578283fd5b506129db85828601612755565b9150509250929050565b6000602082840312156129f6578081fd5b8151801515811461291b578182fd5b60008060008060408587031215612a1a578182fd5b843567ffffffffffffffff80821115612a31578384fd5b612a3d888389016127f9565b90965094506020870135915080821115612a55578384fd5b50612a62878288016127f9565b95989497509550505050565b600060208284031215612a7f578081fd5b813567ffffffffffffffff80821115612a96578283fd5b81840160608187031215612aa8578384fd5b612ab260606133b5565b9250803582811115612ac2578485fd5b612ace8782840161288e565b845250602081013582811115612ae2578485fd5b612aee8782840161288e565b602085015250604081013582811115612b05578485fd5b612b1187828401612840565b6040850152509195945050505050565b600060208284031215612b32578081fd5b5035919050565b600060208284031215612b4a578081fd5b5051919050565b600080600060408486031215612b65578283fd5b833560ff81168114612b75578384fd5b9250602084013567ffffffffffffffff811115612b90578283fd5b612b9c868287016127f9565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612beb816020860160208601613420565b601f01601f19169290920160200192915050565b60008251612c11818460208701613420565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b60006020825261291b6020830184612bd3565b600060408252612c7a604083018688612ba9565b8281036020840152612c8d818587612ba9565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252601590820152741d9bdd195059191c881a5cc81b9bdd08199bdd5b99605a1b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601490820152731d185c99d95d08189b1bd8dac81d1bdbc81bdb1960621b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b60008382526040602083015261333c6040830184612bd3565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526133a56060830185612bd3565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156133d457600080fd5b604052919050565b600067ffffffffffffffff8211156133f2578081fd5b5060209081020190565b600067ffffffffffffffff821115613412578081fd5b50601f01601f191660200190565b60005b8381101561343b578181015183820152602001613423565b8381111561172d5750506000910152565b6001600160a01b038116811461346157600080fd5b5056fea2646970667358221220c3310788cc2517fb88ccc86019bc9b743e07923bbb3700f681487f4aa3af63b964736f6c63430006040033", }, }, } @@ -685,13 +685,13 @@ func init() { Configs: []*UpgradeConfig{ { ContractAddr: common.HexToAddress(ValidatorContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/ff8df0741e8f7e9b2c85c2a3b7b2426ad2ba1fad", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/0f352c4623898d92664a46cbfc26c52b79aad838", Code: "60806040526004361061048d5760003560e01c806388b32f1111610255578063c81b166211610144578063e40716a1116100c1578063f92eb86b11610085578063f92eb86b14610bd7578063f9a2bbc714610bec578063fc3e590814610c01578063fccc281314610c16578063fd4ad81f14610c2b578063fd6a687914610c5a57610494565b8063e40716a114610b5a578063ea321e4914610b6f578063eb57e20214610b8f578063eda5868c14610baf578063f340fa0114610bc457610494565b8063d86222d511610108578063d86222d514610af1578063daacdb6614610b06578063dc927faf14610b1b578063e086c7b114610b30578063e1c7392a14610b4557610494565b8063c81b166214610a92578063c8509d81146108a0578063ce910b0c14610aa7578063d04aa99614610ac7578063d68fb56a14610adc57610494565b8063a78abc16116101d2578063aef198a911610196578063aef198a914610a31578063b7ab4db514610a46578063b8cf4ef114610a68578063bf9f499514610650578063c6d3394514610a7d57610494565b8063a78abc16146109b2578063aaf5eb68146109c7578063ab51bb96146109dc578063ac431751146109f1578063ad3c9da614610a1157610494565b80639dc09262116102195780639dc09262146109495780639fe0f8161461095e578063a0dc275814610973578063a1a11bf514610988578063a5422d5c1461099d57610494565b806388b32f11146108d55780638b5ad0c9146108ea5780638d19a410146108ff5780639369d7de1461091f57806396713da91461093457610494565b80635192c82c1161037c5780636e47b482116102f95780637942fd05116102bd5780637942fd05146108615780637a84ca2a1461087657806381650b621461088b578063831d65d1146108a0578063853230aa1461084c57806386249882146108c057610494565b80636e47b482146107f857806370fd5bad1461080d578063718a8aa81461082257806375d47a0a1461083757806378dfed4a1461084c57610494565b80635667515a116103405780635667515a146107675780635d77156c1461077c57806360eba4fe1461079157806362b72cf5146107b15780636969a25c146107c657610494565b80635192c82c146106e857806351e80672146106fd578063549b03f21461071257806355614fcc14610727578063565c56b31461074757610494565b80633365af3a1161040a57806343756e5c116103ce57806343756e5c1461067257806345cf9daf14610687578063493279b11461069c5780634bf6c882146106be5780634df6e0c3146106d357610494565b80633365af3a146105d857806335409f7f146105f85780633b071dcc146106185780633de0f0d81461063b5780633dffc3871461065057610494565b8063152ad3b811610451578063152ad3b81461054c5780631ff180691461056e578063219f22d514610583578063300c356714610598578063321d398a146105b857610494565b806304c4fec61461049957806307a56847146104b05780630bee7a67146104db5780630e2374a5146104fd5780631182b8751461051f57610494565b3661049457005b600080fd5b3480156104a557600080fd5b506104ae610c6f565b005b3480156104bc57600080fd5b506104c5610ce1565b6040516104d29190617595565b60405180910390f35b3480156104e757600080fd5b506104f0610ce7565b6040516104d291906175bf565b34801561050957600080fd5b50610512610cec565b6040516104d2919061699c565b34801561052b57600080fd5b5061053f61053a366004616882565b610cf2565b6040516104d29190616b13565b34801561055857600080fd5b50610561610f2a565b6040516104d29190616b08565b34801561057a57600080fd5b506104c5610f33565b34801561058f57600080fd5b506104f0610f39565b3480156105a457600080fd5b506104ae6105b336600461670c565b610f3e565b3480156105c457600080fd5b506105616105d336600461682f565b6112c2565b3480156105e457600080fd5b506105616105f336600461682f565b611391565b34801561060457600080fd5b506104ae6106133660046166e5565b611442565b34801561062457600080fd5b5061062d61159b565b6040516104d2929190616a1e565b34801561064757600080fd5b506104c5611877565b34801561065c57600080fd5b5061066561187d565b6040516104d291906175d0565b34801561067e57600080fd5b50610512611882565b34801561069357600080fd5b506104c5611888565b3480156106a857600080fd5b506106b161188e565b6040516104d29190617586565b3480156106ca57600080fd5b50610665611894565b3480156106df57600080fd5b5061062d611899565b3480156106f457600080fd5b506104c5611a17565b34801561070957600080fd5b50610512611a1d565b34801561071e57600080fd5b506104c5611a23565b34801561073357600080fd5b506105616107423660046166e5565b611a29565b34801561075357600080fd5b506104c56107623660046166e5565b611a5e565b34801561077357600080fd5b50610665611aaf565b34801561078857600080fd5b506104f0611ab4565b34801561079d57600080fd5b5061053f6107ac36600461682f565b611ab9565b3480156107bd57600080fd5b506104c5611b5f565b3480156107d257600080fd5b506107e66107e136600461682f565b611b65565b6040516104d2969594939291906169c9565b34801561080457600080fd5b50610512611bc9565b34801561081957600080fd5b50610665611bcf565b34801561082e57600080fd5b50610665611bd4565b34801561084357600080fd5b50610512611bd9565b34801561085857600080fd5b506104c5611bdf565b34801561086d57600080fd5b50610665611be5565b34801561088257600080fd5b506104c5611bea565b34801561089757600080fd5b506104f0611bf0565b3480156108ac57600080fd5b506104ae6108bb366004616882565b611bf5565b3480156108cc57600080fd5b506104c5611c56565b3480156108e157600080fd5b506104c5611c5c565b3480156108f657600080fd5b506104c5611c62565b34801561090b57600080fd5b506104c561091a3660046166e5565b611c68565b34801561092b57600080fd5b506104ae611ca8565b34801561094057600080fd5b50610665611dbc565b34801561095557600080fd5b50610512611dc1565b34801561096a57600080fd5b506104c5611dc7565b34801561097f57600080fd5b506104c5611dcc565b34801561099457600080fd5b50610512611dd1565b3480156109a957600080fd5b5061053f611dd7565b3480156109be57600080fd5b50610561611df6565b3480156109d357600080fd5b506104c5611dff565b3480156109e857600080fd5b506104f0611aaf565b3480156109fd57600080fd5b506104ae610a0c3660046167d3565b611e08565b348015610a1d57600080fd5b506104c5610a2c3660046166e5565b6126b4565b348015610a3d57600080fd5b506104c56126c6565b348015610a5257600080fd5b50610a5b6126d3565b6040516104d29190616a0b565b348015610a7457600080fd5b506104c56127bf565b348015610a8957600080fd5b506104c5611bcf565b348015610a9e57600080fd5b506105126127c4565b348015610ab357600080fd5b5061053f610ac236600461682f565b6127ca565b348015610ad357600080fd5b506104c56127d7565b348015610ae857600080fd5b506104c56127dc565b348015610afd57600080fd5b506104c561281b565b348015610b1257600080fd5b506104c5612827565b348015610b2757600080fd5b5061051261282d565b348015610b3c57600080fd5b506104c5612833565b348015610b5157600080fd5b506104ae612838565b348015610b6657600080fd5b506104c56129e7565b348015610b7b57600080fd5b50610561610b8a366004616794565b6129ed565b348015610b9b57600080fd5b506104ae610baa3660046166e5565b612b73565b348015610bbb57600080fd5b506104f0612c7b565b6104ae610bd23660046166e5565b612c80565b348015610be357600080fd5b506104c5612f08565b348015610bf857600080fd5b50610512612f0e565b348015610c0d57600080fd5b50610665611dc7565b348015610c2257600080fd5b50610512612f14565b348015610c3757600080fd5b50610c4b610c4636600461682f565b612f1a565b6040516104d29392919061759e565b348015610c6657600080fd5b50610512612fdc565b6000610c7a33611c68565b9050600b8181548110610c8957fe5b600091825260209091206001601690920201015460ff16610cc55760405162461bcd60e51b8152600401610cbc9061723e565b60405180910390fd5b6000610ccf6127dc565b9050610cdc338383612fe2565b505050565b60095481565b606481565b61200181565b60005460609060ff16610d175760405162461bcd60e51b8152600401610cbc90616cd2565b3361200014610d385760405162461bcd60e51b8152600401610cbc9061741d565b600b54610df657610d476163d1565b60015460005b81811015610df257600b805460018101825560009190915283516000805160206177f383398151915260169092029182019081556020808601516000805160206178338339815191528401805460ff1916911515919091179055604086015180518794610dce93600080516020617813833981519152909101920190616400565b506060820151610de4906003830190601361647a565b505050806001019050610d4d565b5050505b610dfe6164a7565b6000610e3f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131ce92505050565b9150915080610e5b57610e52606461338a565b92505050610f23565b815160009060ff16610e8057610e79836020015184604001516133eb565b9050610eef565b825160ff1660011415610eeb57826020015151600114610ec5576000805160206177d3833981519152604051610eb590617125565b60405180910390a1506067610ee6565b610e798360200151600081518110610ed957fe5b602002602001015161403f565b610eef565b5060655b63ffffffff8116610f145750506040805160008152602081019091529150610f239050565b610f1d8161338a565b93505050505b9392505050565b60075460ff1681565b60035481565b606881565b334114610f5d5760405162461bcd60e51b8152600401610cbc9061746c565b6010544311610f7e5760405162461bcd60e51b8152600401610cbc90616e2e565b60005460ff16610fa05760405162461bcd60e51b8152600401610cbc90616cd2565b600f54610fb8576032600f55611002316011556112b8565b60006110023168056bc75e2d63100000811115610fe757610fe081606463ffffffff6141b616565b9150611030565b60115481111561102957610fe0606461101d600f54611011601154866141f890919063ffffffff16565b9063ffffffff61423a16565b9063ffffffff6141b616565b50506112b8565b6040516309a99b4f60e41b815261100290639a99b4f09061105790309086906004016169b0565b602060405180830381600087803b15801561107157600080fd5b505af1158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a99190616847565b611002316011559150816110be5750506112b8565b6000805b848110156110ec578585828181106110d657fe5b90506020020135820191508060010190506110c2565b50806110fa575050506112b8565b6000806000805b898110156112b0578489898381811061111657fe5b9050602002013588028161112657fe5b0493508a8a8281811061113557fe5b905060200201602081019061114a91906166e5565b6001600160a01b0381166000908152600460205260409020549093509150811561126657600060018084038154811061117f57fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff16156111ec57836001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d85866040516111df9190617595565b60405180910390a2611260565b6003546111ff908663ffffffff61427416565b6003908155810154611217908663ffffffff61427416565b60038201556040516001600160a01b038516907fcb0aad6cf9cd03bdf6137e359f541c42f38b39f007cae8e89e88aa7d8c6617b290611257908890617595565b60405180910390a25b506112a8565b826001600160a01b03167fb9c75cbbfde137c4281689580799ef5f52144e78858f776a5979b2b212137d858560405161129f9190617595565b60405180910390a25b600101611101565b505050505050505b5050436010555050565b60015460009082106112d65750600061138c565b60006001600160a01b0316600183815481106112ee57fe5b60009182526020909120600490910201546001600160a01b0316148061131e5750600854158061131e5750600a54155b8061132d575060085460095410155b8061133e575061133c82611391565b155b8061136757506000600b838154811061135357fe5b906000526020600020906016020160000154115b8061137b575060016113776126d3565b5111155b156113885750600061138c565b5060015b919050565b60015460009082106113a55750600061138c565b600b5482106113e257600182815481106113bb57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615905061138c565b600182815481106113ef57fe5b9060005260206000209060040201600201601c9054906101000a900460ff1615801561143c5750600b828154811061142357fe5b600091825260209091206001601690920201015460ff16155b92915050565b33611001146114635760405162461bcd60e51b8152600401610cbc9061753d565b600b54611521576114726163d1565b60015460005b8181101561151d57600b805460018101825560009190915283516000805160206177f383398151915260169092029182019081556020808601516000805160206178338339815191528401805460ff19169115159190911790556040860151805187946114f993600080516020617813833981519152909101920190616400565b50606082015161150f906003830190601361647a565b505050806001019050611478565b5050505b6001600160a01b038116600090815260046020526040902054806115455750611598565b6001810390506000600b828154811061155a57fe5b600091825260209091206001601690920201015460ff16905061157d8383614299565b80156115865750805b15610cdc576009805460001901905550505b50565b60015460609081906000805b828110156115ee57600181815481106115bc57fe5b9060005260206000209060040201600201601c9054906101000a900460ff166115e6576001909101905b6001016115a7565b5060608160405190808252806020026020018201604052801561161b578160200160208202803683370190505b50905060608260405190808252806020026020018201604052801561165457816020015b606081526020019060019003908161163f5790505b50600b54600094509091508414156117cf5760005b848110156117c9576001818154811061167e57fe5b9060005260206000209060040201600201601c9054906101000a900460ff166117c157600181815481106116ae57fe5b600091825260209091206004909102015483516001600160a01b03909116908490869081106116d957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600b818154811061170657fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561179e5780601f106117735761010080835404028352916020019161179e565b820191906000526020600020905b81548152906001019060200180831161178157829003601f168201915b50505050508285815181106117af57fe5b60209081029190910101526001909301925b600101611669565b5061186b565b60005b8481101561186957600181815481106117e757fe5b9060005260206000209060040201600201601c9054906101000a900460ff16611861576001818154811061181757fe5b600091825260209091206004909102015483516001600160a01b039091169084908690811061184257fe5b6001600160a01b03909216602092830291909101909101526001909301925b6001016117d2565b505b909450925050505b9091565b61271081565b600181565b61100181565b60085481565b6102ca81565b600881565b600e54600c546060918291806118ad575060155b60606118b76126d3565b905060606118c48261464c565b9050828251116118db579094509250611873915050565b838383510310156118ed578282510393505b83156119235760c8430461190983838388880360008a8a6147ba565b6119218383838888038989038a8b8b8b5103016147ba565b505b60608360405190808252806020026020018201604052801561194f578160200160208202803683370190505b50905060608460405190808252806020026020018201604052801561198857816020015b60608152602001906001900390816119735790505b50905060005b85811015611a09578481815181106119a257fe5b60200260200101518382815181106119b657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508381815181106119e257fe5b60200260200101518282815181106119f657fe5b602090810291909101015260010161198e565b509096509450505050509091565b60065481565b61200081565b600f5481565b6001600160a01b03811660009081526004602052604081205480611a5157600091505061138c565b60001901610f2381611391565b6001600160a01b03811660009081526004602052604081205480611a8657600091505061138c565b600180820381548110611a9557fe5b906000526020600020906004020160030154915050919050565b600081565b606781565b60128181548110611ac657fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815293509091830182828015611b575780601f10611b2c57610100808354040283529160200191611b57565b820191906000526020600020905b815481529060010190602001808311611b3a57829003601f168201915b505050505081565b60105481565b60018181548110611b7257fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b0392831694509082169291821691600160a01b81046001600160401b031691600160e01b90910460ff169086565b61100581565b600281565b601081565b61100881565b6103e881565b600b81565b600c5481565b606681565b3361200014611c165760405162461bcd60e51b8152600401610cbc9061741d565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051611c49939291906175de565b60405180910390a1505050565b60025481565b60115481565b600a5481565b6001600160a01b03811660009081526004602052604081205480611c9e5760405162461bcd60e51b8152600401610cbc906173a5565b6000190192915050565b600b54611d6657611cb76163d1565b60015460005b81811015611d6257600b805460018101825560009190915283516000805160206177f383398151915260169092029182019081556020808601516000805160206178338339815191528401805460ff1916911515919091179055604086015180518794611d3e93600080516020617813833981519152909101920190616400565b506060820151611d54906003830190601361647a565b505050806001019050611cbd565b5050505b600854611d735760036008555b600a54611d80576002600a555b6000611d8b33611c68565b9050611d96816112c2565b611db25760405162461bcd60e51b8152600401610cbc906170e2565b6115983382614911565b600981565b61100781565b600381565b60c881565b61100681565b604051806101e001604052806101ab81526020016176286101ab913981565b60005460ff1681565b6402540be40081565b60005460ff16611e2a5760405162461bcd60e51b8152600401610cbc90616cd2565b3361100714611e4b5760405162461bcd60e51b8152600401610cbc906171ab565b611eb584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526013815272065787069726554696d655365636f6e6447617606c1b602082015291506149a99050565b15611f525760208114611eda5760405162461bcd60e51b8152600401610cbc9061735f565b604080516020601f8401819004810282018101909252828152600091611f1891858580838501838280828437600092019190915250614a0292505050565b905060648110158015611f2e5750620186a08111155b611f4a5760405162461bcd60e51b8152600401610cbc90616f8b565b600255612671565b611fb284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260098152686275726e526174696f60b81b602082015291506149a99050565b1561204e5760208114611fd75760405162461bcd60e51b8152600401610cbc90616b58565b604080516020601f840181900481028201810190925282815260009161201591858580838501838280828437600092019190915250614a0292505050565b90506127108111156120395760405162461bcd60e51b8152600401610cbc90616e70565b6006556007805460ff19166001179055612671565b6120b884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260138152726d61784e756d4f664d61696e7461696e696e6760681b602082015291506149a99050565b1561215257602081146120dd5760405162461bcd60e51b8152600401610cbc90616b8f565b604080516020601f840181900481028201810190925282815260009161211b91858580838501838280828437600092019190915250614a0292505050565b600c549091508061212a575060155b8082106121495760405162461bcd60e51b8152600401610cbc90616ee3565b50600855612671565b6121bb84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61696e7461696e536c6173685363616c6560701b602082015291506149a99050565b1561225457602081146121e05760405162461bcd60e51b8152600401610cbc90616c58565b604080516020601f840181900481028201810190925282815260009161221e91858580838501838280828437600092019190915250614a0292505050565b90506000811180156122305750600a81105b61224c5760405162461bcd60e51b8152600401610cbc906174b9565b600a55612671565b6122c884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601981527f6d61784e756d4f66576f726b696e6743616e6469646174657300000000000000602082015291506149a99050565b1561235757602081146122ed5760405162461bcd60e51b8152600401610cbc90616c0c565b604080516020601f840181900481028201810190925282815260009161232b91858580838501838280828437600092019190915250614a0292505050565b9050600d5481111561234f5760405162461bcd60e51b8152600401610cbc90617001565b600e55612671565b6123c084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260128152716d61784e756d4f6643616e6469646174657360701b602082015291506149a99050565b1561244257602081146123e55760405162461bcd60e51b8152600401610cbc906171f9565b604080516020601f840181900481028201810190925282815260009161242391858580838501838280828437600092019190915250614a0292505050565b600d819055600e5490915081101561243c57600d54600e555b50612671565b6124a684848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600d81526c6e756d4f66436162696e65747360981b602082015291506149a99050565b1561255457602081146124cb5760405162461bcd60e51b8152600401610cbc90616c9d565b604080516020601f840181900481028201810190925282815260009161250991858580838501838280828437600092019190915250614a0292505050565b90506000811161252b5760405162461bcd60e51b8152600401610cbc90616d40565b602981111561254c5760405162461bcd60e51b8152600401610cbc90616d88565b600c55612671565b6125be84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601381527266696e616c697479526577617264526174696f60681b602082015291506149a99050565b1561265957602081146125e35760405162461bcd60e51b8152600401610cbc906172e2565b604080516020601f840181900481028201810190925282815260009161262191858580838501838280828437600092019190915250614a0292505050565b905060018110158015612635575060648111155b6126515760405162461bcd60e51b8152600401610cbc90617070565b600f55612671565b60405162461bcd60e51b8152600401610cbc90617516565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040516126a69493929190616b26565b60405180910390a150505050565b60046020526000908152604090205481565b68056bc75e2d6310000081565b6001546060906000805b82811015612702576126ee81611391565b156126fa578160010191505b6001016126dd565b5060608160405190808252806020026020018201604052801561272f578160200160208202803683370190505b5090506000915060005b838110156127b65761274a81611391565b156127ae576001818154811061275c57fe5b600091825260209091206004909102015482516001600160a01b039091169083908590811061278757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b600101612739565b50925050505b90565b601581565b61100281565b60138181548110611ac657fe5b603281565b60006127e66126d3565b519050600080600c54116127fb5760156127ff565b600c545b90508082111561280d578091505b8161281757600191505b5090565b67016345785d8a000081565b60055481565b61100381565b602981565b60005460ff161561285b5760405162461bcd60e51b8152600401610cbc906172ab565b6128636164a7565b6000612889604051806101e001604052806101ab81526020016176286101ab91396131ce565b91509150806128aa5760405162461bcd60e51b8152600401610cbc906173dc565b60005b8260200151518110156129cf576001836020015182815181106128cc57fe5b60209081029190910181015182546001818101855560009485528385208351600493840290910180546001600160a01b039283166001600160a01b03199182161782558587015182850180549185169183169190911790556040860151600283018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b199590981692909516919091179290921694909417161790915560a0909301516003909301929092559186015180519185019391859081106129a257fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020556001016128ad565b50506103e8600255506000805460ff19166001179055565b600d5481565b601354600090815b81811015612af657612ade85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050601380549092508591508110612a4657fe5b600091825260209182902001805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015612ad45780601f10612aa957610100808354040283529160200191612ad4565b820191906000526020600020905b815481529060010190602001808311612ab757829003601f168201915b5050505050614a07565b15612aee5760019250505061143c565b6001016129f5565b5060125460005b81811015612b6757612b4e86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050601280549092508591508110612a4657fe5b15612b5f576001935050505061143c565b600101612afd565b50600095945050505050565b3361100114612b945760405162461bcd60e51b8152600401610cbc9061753d565b600b54612c5257612ba36163d1565b60015460005b81811015612c4e57600b805460018101825560009190915283516000805160206177f383398151915260169092029182019081556020808601516000805160206178338339815191528401805460ff1916911515919091179055604086015180518794612c2a93600080516020617813833981519152909101920190616400565b506060820151612c40906003830190601361647a565b505050806001019050612ba9565b5050505b6000612c5d82614a6b565b9050612c68816112c2565b15612c7757612c778282614911565b5050565b606581565b334114612c9f5760405162461bcd60e51b8152600401610cbc9061746c565b60005460ff16612cc15760405162461bcd60e51b8152600401610cbc90616cd2565b60003411612ce15760405162461bcd60e51b8152600401610cbc90616fd2565b6001600160a01b0381166000908152600460205260409020546007543491906103e89060ff1615612d1157506006545b600083118015612d215750600081115b15612dc2576000612d3e61271061101d868563ffffffff61423a16565b90508015612dc05760405161dead9082156108fc029083906000818181858888f19350505050158015612d75573d6000803e3d6000fd5b507f627059660ea01c4733a328effb2294d2f86905bf806da763a89cee254de8bee581604051612da59190617595565b60405180910390a1612dbd848263ffffffff6141f816565b93505b505b8115612ec0576000600180840381548110612dd957fe5b9060005260206000209060040201905080600201601c9054906101000a900460ff1615612e4657846001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b485604051612e399190617595565b60405180910390a2612eba565b600354612e59908563ffffffff61427416565b6003908155810154612e71908563ffffffff61427416565b60038201556040516001600160a01b038616907f93a090ecc682c002995fad3c85b30c5651d7fd29b0be5da9d784a3302aedc05590612eb1908790617595565b60405180910390a25b50612f02565b836001600160a01b03167ff177e5d6c5764d79c32883ed824111d9b13f5668cf6ab1cc12dd36791dd955b484604051612ef99190617595565b60405180910390a25b50505050565b600e5481565b61100081565b61dead81565b600b8181548110612f2757fe5b6000918252602091829020601691909102018054600180830154600280850180546040805161010096831615969096026000190190911692909204601f810188900488028501880190925281845293965060ff90911694919291830182828015612fd25780601f10612fa757610100808354040283529160200191612fd2565b820191906000526020600020905b815481529060010190602001808311612fb557829003601f168201915b5050505050905083565b61100481565b6000600a5460001480612ff3575081155b80612ffe5750600954155b1561300b57506000610f23565b60096000815460019003919050819055506000613056600a5461101d8561101d600b898154811061303857fe5b6000918252602090912060169091020154439063ffffffff6141f816565b90506000600b858154811061306757fe5b906000526020600020906016020160010160006101000a81548160ff0219169083151502179055506000806110016001600160a01b0316638256ace66040518163ffffffff1660e01b8152600401604080518083038186803b1580156130cc57600080fd5b505afa1580156130e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613104919061685f565b915091506000935080831061317e5761311d8787614299565b506040516305bfb49960e41b815261100190635bfb499090613143908a9060040161699c565b600060405180830381600087803b15801561315d57600080fd5b505af1158015613171573d6000803e3d6000fd5b5050505060019350613190565b8183106131905761318e87614a6b565b505b6040516001600160a01b038816907fb9d38178dc641ff1817967a63c9078cbcd955a9f1fcd75e0e3636de615d44d3b90600090a25050509392505050565b6131d66164a7565b60006131e06164a7565b6131e86164cb565b6131f96131f486614c0e565b614c33565b90506000805b61320883614c7d565b1561337c578061322d5761322361321e84614c9e565b614cec565b60ff168452613374565b806001141561336f57606061324961324485614c9e565b614d6c565b9050805160405190808252806020026020018201604052801561328657816020015b6132736164eb565b81526020019060019003908161326b5790505b50856020018190525080516040519080825280602002602001820160405280156132c457816020015b60608152602001906001900390816132af5790505b50604086015260005b8151811015613364576132de6164eb565b606060006132fe8585815181106132f157fe5b6020026020010151614e3d565b9250925092508061331e578860009a509a50505050505050505050613385565b828960200151858151811061332f57fe5b6020026020010181905250818960400151858151811061334b57fe5b60200260200101819052505050508060010190506132cd565b506001925050613374565b61337c565b6001016131ff565b50919350909150505b915091565b604080516001808252818301909252606091829190816020015b60608152602001906001900390816133a45790505090506133ca8363ffffffff16614f57565b816000815181106133d757fe5b6020026020010181905250610f2381614f6a565b6000602983511115613422576000805160206177d383398151915260405161341290616de5565b60405180910390a150606661143c565b60005b83518110156134c05760005b818110156134b75784818151811061344557fe5b6020026020010151600001516001600160a01b031685838151811061346657fe5b6020026020010151600001516001600160a01b031614156134af576000805160206177d383398151915260405161349c90616f40565b60405180910390a160669250505061143c565b600101613431565b50600101613425565b506060806134ce8585614ff4565b60015491935091506000908190815b818110156135535767016345785d8a0000600182815481106134fb57fe5b9060005260206000209060040201600301541061351d5783600101935061354b565b60006001828154811061352c57fe5b906000526020600020906004020160030154111561354b578260010192505b6001016134dd565b50606083604051908082528060200260200182016040528015613580578160200160208202803683370190505b5090506060846040519080825280602002602001820160405280156135af578160200160208202803683370190505b5090506060856040519080825280602002602001820160405280156135de578160200160208202803683370190505b50905060608660405190808252806020026020018201604052801561360d578160200160208202803683370190505b509050600060608760405190808252806020026020018201604052801561363e578160200160208202803683370190505b50905060608860405190808252806020026020018201604052801561366d578160200160208202803683370190505b509050600099506000985060006110046001600160a01b031663149d14d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156136b557600080fd5b505afa1580156136c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ed9190616847565b905067016345785d8a0000811115613738576000805160206177d383398151915260405161371a9061726a565b60405180910390a160689d505050505050505050505050505061143c565b60005b898110156139a95767016345785d8a00006001828154811061375957fe5b906000526020600020906004020160030154106138de576001818154811061377d57fe5b906000526020600020906004020160020160009054906101000a90046001600160a01b0316898d815181106137ae57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006402540be400600183815481106137e357fe5b906000526020600020906004020160030154816137fc57fe5b066001838154811061380a57fe5b90600052602060002090600402016003015403905061383283826141f890919063ffffffff16565b898e8151811061383e57fe5b6020026020010181815250506001828154811061385757fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316878e8151811061388857fe5b60200260200101906001600160a01b031690816001600160a01b03168152505081888e815181106138b557fe5b60209081029190910101526138d0868263ffffffff61427416565b95508c6001019c50506139a1565b6000600182815481106138ed57fe5b90600052602060002090600402016003015411156139a1576001818154811061391257fe5b906000526020600020906004020160010160009054906101000a90046001600160a01b0316848c8151811061394357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506001818154811061397057fe5b906000526020600020906004020160030154838c8151811061398e57fe5b6020026020010181815250508a6001019a505b60010161373b565b5060008415613c1f576002546040516303702b2960e51b815261100491636e0565209188916139e3918e918e918d91420190600401616a8e565b6020604051808303818588803b1580156139fc57600080fd5b505af193505050508015613a2d575060408051601f3d908101601f19168201909252613a2a91810190616774565b60015b613ba4576040516000815260443d1015613a4957506000613ae4565b60046000803e60005160e01c6308c379a08114613a6a576000915050613ae4565b60043d036004833e81513d60248201116001600160401b0382111715613a9557600092505050613ae4565b80830180516001600160401b03811115613ab6576000945050505050613ae4565b8060208301013d8601811115613ad457600095505050505050613ae4565b601f01601f191660405250925050505b80613aef5750613b31565b60019150857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf28082604051613b239190616b13565b60405180910390a250613b9f565b3d808015613b5b576040519150601f19603f3d011682016040523d82523d6000602084013e613b60565b606091505b5060019150857fbfa884552dd8921b6ce90bfe906952ae5b3b29be0cc1a951d4f62697635a3a4582604051613b959190616b13565b60405180910390a2505b613c1f565b8015613be6577fa217d08e65f80c73121cd9db834d81652d544bfbf452f6d04922b16c90a37b7086604051613bd99190617595565b60405180910390a1613c1d565b857fa7cdeed7d0db45e3219a6e5d60838824c16f1d39991fcfe3f963029c844bf280604051613c1490616bd5565b60405180910390a25b505b8015613dd55760005b8751811015613dd3576000888281518110613c3f57fe5b60200260200101519050600060018281548110613c5857fe5b60009182526020909120600160049092020181015481546001600160a01b03909116916108fc9185908110613c8957fe5b9060005260206000209060040201600301549081150290604051600060405180830381858888f1935050505090508015613d455760018281548110613cca57fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d9185908110613d1957fe5b906000526020600020906004020160030154604051613d389190617595565b60405180910390a2613dc9565b60018281548110613d5257fe5b60009182526020909120600160049092020181015481546001600160a01b03909116917f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d9185908110613da157fe5b906000526020600020906004020160030154604051613dc09190617595565b60405180910390a25b5050600101613c28565b505b835115613f1f5760005b8451811015613f1d576000858281518110613df657fe5b60200260200101516001600160a01b03166108fc868481518110613e1657fe5b60200260200101519081150290604051600060405180830381858888f1935050505090508015613eac57858281518110613e4c57fe5b60200260200101516001600160a01b03167f6c61d60f69a7beb3e1c80db7f39f37b208537cbb19da3174511b477812b2fc7d868481518110613e8a57fe5b6020026020010151604051613e9f9190617595565b60405180910390a2613f14565b858281518110613eb857fe5b60200260200101516001600160a01b03167f25d0ce7d2f0cec669a8c17efe49d195c13455bb8872b65fa610ac7f53fe4ca7d868481518110613ef657fe5b6020026020010151604051613f0b9190617595565b60405180910390a25b50600101613ddf565b505b5050505050505050505050506000471115613f9b577f6ecc855f9440a9282c90913bbc91619fd44f5ec0b462af28d127b116f130aa4d47604051613f639190617595565b60405180910390a1604051611002904780156108fc02916000818181858888f19350505050158015613f99573d6000803e3d6000fd5b505b60006003819055600555815115613fb657613fb6828261522d565b6110016001600160a01b031663fc4333cd6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613ff357600080fd5b505af1158015614007573d6000803e3d6000fd5b50506040517fedd8d7296956dd970ab4de3f2fc03be2b0ffc615d20cd4c72c6e44f928630ebf925060009150a1506000949350505050565b80516001600160a01b0316600090815260046020526040812054801580614090575060018082038154811061407057fe5b9060005260206000209060040201600201601c9054906101000a900460ff165b156140d65782516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a2600091505061138c565b60015460055460001982011180159061412c5784516040516001600160a01b03909116907fe209c46bebf57cf265d5d9009a00870e256d9150f3ed5281ab9d9eb3cec6e4be90600090a26000935050505061138c565b60058054600190810190915580548190600019860190811061414a57fe5b6000918252602082206002600490920201018054921515600160e01b0260ff60e01b199093169290921790915585516040516001600160a01b03909116917ff226e7d8f547ff903d9d419cf5f54e0d7d07efa9584135a53a057c5f1f27f49a91a2506000949350505050565b6000610f2383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506159e7565b6000610f2383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250615a1e565b6000826142495750600061143c565b8282028284828161425657fe5b0414610f235760405162461bcd60e51b8152600401610cbc9061716a565b600082820183811015610f235760405162461bcd60e51b8152600401610cbc90616d09565b600080600183815481106142a957fe5b906000526020600020906004020160030154905060006001808054905003905060016142d36126d3565b5111614308576000600185815481106142e857fe5b90600052602060002090600402016003018190555060009250505061143c565b846001600160a01b03167f3b6f9ef90462b512a1293ecec018670bf7b7f1876fb727590a8a6d7643130a70836040516143419190617595565b60405180910390a26001600160a01b038516600090815260046020526040812055835b6001546000190181101561452e576001816001018154811061438257fe5b90600052602060002090600402016001828154811061439d57fe5b60009182526020909120825460049092020180546001600160a01b03199081166001600160a01b0393841617825560018085015481840180548416918616919091179055600280860180549185018054909416919095161780835584546001600160401b03600160a01b91829004160267ffffffffffffffff60a01b1990911617808355935460ff600160e01b918290041615150260ff60e01b19909416939093179055600392830154920191909155600b80549091830190811061445e57fe5b9060005260206000209060160201600b828154811061447957fe5b600091825260209091208254601690920201908155600180830154818301805460ff909216151560ff19909216919091179055600280840180546144d0938386019390821615610100026000190190911604616520565b506144e360038281019084016013616595565b509050508060010160046000600184815481106144fc57fe5b600091825260208083206004909202909101546001600160a01b03168352820192909252604001902055600101614364565b50600180548061453a57fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b80548061458d57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906145bf60028301826165bf565b6145cd600383016000616603565b5050905560008183816145dc57fe5b04905080156146405760015460005b8181101561463d57826001828154811061460157fe5b906000526020600020906004020160030154016001828154811061462157fe5b60009182526020909120600360049092020101556001016145eb565b50505b50600195945050505050565b60015481516040805182815260208084028201019091526060929190839082801561468b57816020015b60608152602001906001900390816146765790505b50600b5490915083146146a257925061138c915050565b60005b828110156147b157600b6001600460008985815181106146c157fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205403815481106146f557fe5b600091825260209182902060026016909202018101805460408051601f60001961010060018616150201909316949094049182018590048502840185019052808352919290919083018282801561478d5780601f106147625761010080835404028352916020019161478d565b820191906000526020600020905b81548152906001019060200180831161477057829003601f168201915b505050505082828151811061479e57fe5b60209081029190910101526001016146a5565b50949350505050565b60005b8281101561490757600082878388016040516020016147dd92919061698e565b6040516020818303038152906040528051906020012060001c816147fd57fe5b069050808501828701146148fe576000898388018151811061481b57fe5b602002602001015190506060898489018151811061483557fe5b602002602001015190508a8388018151811061484d57fe5b60200260200101518b858a018151811061486357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b8489018151811061489257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505089838801815181106148c057fe5b60200260200101518a858a01815181106148d657fe5b6020026020010181905250808a848901815181106148f057fe5b602002602001018190525050505b506001016147bd565b5050505050505050565b600980546001908101909155600b80548390811061492b57fe5b906000526020600020906016020160010160006101000a81548160ff02191690831515021790555043600b828154811061496157fe5b600091825260208220601690910201919091556040516001600160a01b038416917ff62981a567ec3cec866c6fa93c55bcdf841d6292d18b8d522ececa769375d82d91a25050565b6000816040516020016149bc9190616972565b60405160208183030381529060405280519060200120836040516020016149e39190616972565b6040516020818303038152906040528051906020012014905092915050565b015190565b815181516000916001918114808314614a235760009250614a61565b600160208701838101602088015b600284838510011415614a5c578051835114614a505760009650600093505b60209283019201614a31565b505050505b5090949350505050565b6001600160a01b03811660009081526004602052604081205480614a945750600019905061138c565b600181039050600060018281548110614aa957fe5b9060005260206000209060040201600301549050600060018381548110614acc57fe5b6000918252602090912060036004909202010155600154604051600019909101906001600160a01b038616907f8cd4e147d8af98a9e3b6724021b8bf6aed2e5dac71c38f2dce8161b82585b25d90614b25908590617595565b60405180910390a280614b3d5782935050505061138c565b6000818381614b4857fe5b0490508015614c045760005b84811015614ba6578160018281548110614b6a57fe5b9060005260206000209060040201600301540160018281548110614b8a57fe5b6000918252602090912060036004909202010155600101614b54565b50600180549085015b81811015614c01578260018281548110614bc557fe5b9060005260206000209060040201600301540160018281548110614be557fe5b6000918252602090912060036004909202010155600101614baf565b50505b5091949350505050565b614c16616612565b506040805180820190915281518152602082810190820152919050565b614c3b6164cb565b614c4482615a4a565b614c4d57600080fd5b6000614c5c8360200151615a84565b60208085015160408051808201909152868152920190820152915050919050565b6000614c87616612565b505080518051602091820151919092015191011190565b614ca6616612565b614caf82614c7d565b614cb857600080fd5b60208201516000614cc882615ae7565b80830160209586015260408051808201909152908152938401919091525090919050565b805160009015801590614d0157508151602110155b614d0a57600080fd5b6000614d198360200151615a84565b90508083600001511015614d3f5760405162461bcd60e51b8152600401610cbc90617328565b8251602080850151830180519284900392918310156147b157506020919091036101000a90049392505050565b6060614d7782615a4a565b614d8057600080fd5b6000614d8b83615bc8565b9050606081604051908082528060200260200182016040528015614dc957816020015b614db6616612565b815260200190600190039081614dae5790505b5090506000614ddb8560200151615a84565b60208601510190506000805b84811015614e3257614df883615ae7565b9150604051806040016040528083815260200184815250848281518110614e1b57fe5b602090810291909101015291810191600101614de7565b509195945050505050565b614e456164eb565b60606000614e516164eb565b6060614e5b6164cb565b614e6487614c33565b90506000805b614e7383614c7d565b15614f485780614e9e57614e8e614e8984614c9e565b615c24565b6001600160a01b03168552614f40565b8060011415614ec657614eb3614e8984614c9e565b6001600160a01b03166020860152614f40565b8060021415614eee57614edb614e8984614c9e565b6001600160a01b03166040860152614f40565b8060031415614f1a57614f0361321e84614c9e565b6001600160401b0316606086015260019150614f40565b8060041415614f3b57614f34614f2f84614c9e565b615c3e565b9350614f40565b614f48565b600101614e6a565b50929791965091945092505050565b606061143c614f6583615cae565b615d94565b6060815160001415614f8b575060408051600081526020810190915261138c565b606082600081518110614f9a57fe5b602002602001015190506000600190505b8351811015614fdb57614fd182858381518110614fc457fe5b6020026020010151615de6565b9150600101614fab565b50610f23614fee825160c060ff16615e63565b82615de6565b6060806000808080806150056127dc565b6001549091505b801561511357600181039250600b838154811061502557fe5b600091825260209091206001601690920201015460ff166150455761510a565b6001838154811061505257fe5b60009182526020909120600490910201546001600160a01b03169450615079858484612fe2565b935083158061508c575060018a51038610155b156150965761510a565b60005b8a5181101561510857856001600160a01b03168b82815181106150b857fe5b6020026020010151600001516001600160a01b031614156151005760018b82815181106150e157fe5b6020908102919091010151901515608090910152600190960195615108565b600101615099565b505b6000190161500c565b508489510360405190808252806020026020018201604052801561515157816020015b61513e6164eb565b8152602001906001900390816151365790505b5096508489510360405190808252806020026020018201604052801561518b57816020015b60608152602001906001900390816151765790505b5095506000915060005b895181101561521f578981815181106151aa57fe5b602002602001015160800151615217578981815181106151c657fe5b60200260200101518884815181106151da57fe5b60200260200101819052508881815181106151f157fe5b602002602001015187848151811061520557fe5b60200260200101819052508260010192505b600101615195565b5050505050505b9250929050565b600154825160005b8281101561534a5760016152476164eb565b6001838154811061525457fe5b600091825260208083206040805160c08101825260049490940290910180546001600160a01b0390811685526001820154811693850193909352600281015492831691840191909152600160a01b82046001600160401b03166060840152600160e01b90910460ff16151560808301526003015460a082015291505b8481101561531e578781815181106152e457fe5b6020026020010151600001516001600160a01b031682600001516001600160a01b03161415615316576000925061531e565b6001016152d0565b5081156153405780516001600160a01b03166000908152600460205260408120555b5050600101615235565b508082111561540957805b8281101561540757600180548061536857fe5b60008281526020812060046000199093019283020180546001600160a01b0319908116825560018201805490911690556002810180546001600160e81b0319169055600301559055600b8054806153bb57fe5b60008281526020812060166000199093019283020181815560018101805460ff19169055906153ed60028301826165bf565b6153fb600383016000616603565b50509055600101615355565b505b6000818310615418578161541a565b825b905060005b81811015615789576154cc86828151811061543657fe5b60200260200101516001838154811061544b57fe5b60009182526020918290206040805160c08101825260049390930290910180546001600160a01b0390811684526001820154811694840194909452600281015493841691830191909152600160a01b83046001600160401b03166060830152600160e01b90920460ff161515608082015260039091015460a0820152615f35565b6156805780600101600460008884815181106154e457fe5b6020026020010151600001516001600160a01b03166001600160a01b031681526020019081526020016000208190555085818151811061552057fe5b60200260200101516001828154811061553557fe5b6000918252602091829020835160049092020180546001600160a01b039283166001600160a01b0319918216178255928401516001820180549184169185169190911790556040840151600282018054606087015160808801511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909716929097169190911792909216939093171692909217905560a09091015160039091015584518590829081106155f057fe5b6020026020010151600b828154811061560557fe5b90600052602060002090601602016002019080519060200190615629929190616400565b506000600b828154811061563957fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b80548390811061566a57fe5b6000918252602090912060169091020155615781565b61571185828151811061568f57fe5b6020026020010151600b83815481106156a457fe5b600091825260209182902060026016909202018101805460408051601f600019610100600186161502019093169490940491820185900485028401850190528083529192909190830182828015612ad45780601f10612aa957610100808354040283529160200191612ad4565b61575c5784818151811061572157fe5b6020026020010151600b828154811061573657fe5b9060005260206000209060160201600201908051906020019061575a929190616400565b505b60006001828154811061576b57fe5b9060005260206000209060040201600301819055505b60010161541f565b50828211156159615761579a6163d1565b835b8381101561595e578581815181106157b057fe5b6020026020010151826040018190525060018782815181106157ce57fe5b6020908102919091018101518254600181810185556000948552838520835160049093020180546001600160a01b039384166001600160a01b0319918216178255848601518284018054918616918316919091179055604080860151600284018054606089015160808a01511515600160e01b0260ff60e01b196001600160401b03909216600160a01b0267ffffffffffffffff60a01b1995909a1692909616919091179290921696909617169190911790935560a090930151600390930192909255600b80549283018155909352845160169091026000805160206177f38339815191528101918255858301516000805160206178338339815191528201805491151560ff19909216919091179055928501518051869492936159049360008051602061781383398151915201920190616400565b50606082015161591a906003830190601361647a565b505050806001016004600089848151811061593157fe5b602090810291909101810151516001600160a01b031682528101919091526040016000205560010161579c565b50505b615969615fb6565b615971616198565b6000600981905560015493505b838110156159df576000600b828154811061599557fe5b60009182526020822060169190910201600101805460ff191692151592909217909155600b8054839081106159c657fe5b600091825260209091206016909102015560010161597e565b505050505050565b60008183615a085760405162461bcd60e51b8152600401610cbc9190616b13565b506000838581615a1457fe5b0495945050505050565b60008184841115615a425760405162461bcd60e51b8152600401610cbc9190616b13565b505050900390565b8051600090615a5b5750600061138c565b6020820151805160001a9060c0821015615a7a5760009250505061138c565b5060019392505050565b8051600090811a6080811015615a9e57600091505061138c565b60b8811080615ab9575060c08110801590615ab9575060f881105b15615ac857600191505061138c565b60c0811015615adc5760b51901905061138c565b60f51901905061138c565b80516000908190811a6080811015615b025760019150615bc1565b60b8811015615b1757607e1981019150615bc1565b60c0811015615b6857600060b78203600186019550806020036101000a865104915060018101820193505080831015615b625760405162461bcd60e51b8152600401610cbc906170b7565b50615bc1565b60f8811015615b7d5760be1981019150615bc1565b600060f78203600186019550806020036101000a865104915060018101820193505080831015615bbf5760405162461bcd60e51b8152600401610cbc906170b7565b505b5092915050565b8051600090615bd95750600061138c565b60008090506000615bed8460200151615a84565b602085015185519181019250015b80821015615c1b57615c0c82615ae7565b82019150826001019250615bfb565b50909392505050565b8051600090601514615c3557600080fd5b61143c82614cec565b8051606090615c4c57600080fd5b6000615c5b8360200151615a84565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015615c92576020820181803683370190505b50905060008160200190506147b1848760200151018285616386565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff198416615cf257506018615d16565b6fffffffffffffffffffffffffffffffff198416615d1257506010615d16565b5060005b6020811015615d4c57818181518110615d2b57fe5b01602001516001600160f81b03191615615d4457615d4c565b600101615d16565b60008160200390506060816040519080825280601f01601f191660200182016040528015615d81576020820181803683370190505b5080830196909652508452509192915050565b606081516001148015615dc65750607f60f81b82600081518110615db457fe5b01602001516001600160f81b03191611155b15615dd257508061138c565b61143c615de48351608060ff16615e63565b835b6060806040519050835180825260208201818101602087015b81831015615e17578051835260209283019201615dff565b50855184518101855292509050808201602086015b81831015615e44578051835260209283019201615e2c565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615e8d5760405162461bcd60e51b8152600401610cbc90616ebb565b60408051600180825281830190925260609160208201818036833701905050905060378411615ee75782840160f81b81600081518110615ec957fe5b60200101906001600160f81b031916908160001a905350905061143c565b6060615ef285615cae565b90508381510160370160f81b82600081518110615f0b57fe5b60200101906001600160f81b031916908160001a905350615f2c8282615de6565b95945050505050565b805182516000916001600160a01b039182169116148015615f6f575081602001516001600160a01b031683602001516001600160a01b0316145b8015615f94575081604001516001600160a01b031683604001516001600160a01b0316145b8015610f235750506060908101519101516001600160401b0390811691161490565b6012546013548082111561600157805b82811015615fff576012805480615fd957fe5b600190038181906000526020600020016000615ff591906165bf565b9055600101615fc6565b505b60008183106160105781616012565b825b905060005b8181101561612a576160cf6012828154811061602f57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156160bd5780601f10616092576101008083540402835291602001916160bd565b820191906000526020600020905b8154815290600101906020018083116160a057829003601f168201915b505050505060138381548110612a4657fe5b61612257601381815481106160e057fe5b90600052602060002001601282815481106160f757fe5b906000526020600020019080546001816001161561010002031660029004616120929190616520565b505b600101616017565b5082821115610cdc57825b82811015612f025760126013828154811061614c57fe5b600091825260208083208454600181810187559585529190932092909101805461618f949390920192909160026101009282161592909202600019011604616520565b50600101616135565b601354600b54808211156161e357805b828110156161e15760138054806161bb57fe5b6001900381819060005260206000200160006161d791906165bf565b90556001016161a8565b505b60008183106161f257816161f4565b825b905060005b81811015616313576162b16013828154811061621157fe5b600091825260209182902001805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561629f5780601f106162745761010080835404028352916020019161629f565b820191906000526020600020905b81548152906001019060200180831161628257829003601f168201915b5050505050600b83815481106156a457fe5b61630b57600b81815481106162c257fe5b9060005260206000209060160201600201601382815481106162e057fe5b906000526020600020019080546001816001161561010002031660029004616309929190616520565b505b6001016161f9565b5082821115610cdc57825b82811015612f02576013600b828154811061633557fe5b60009182526020808320845460018082018755958552919093206016929092029092016002908101805461637d95939094019390926000199082161561010002011604616520565b5060010161631e565b8061639057610cdc565b5b602081106163b0578251825260209283019290910190601f1901616391565b915181516020939093036101000a6000190180199091169216919091179052565b604051806080016040528060008152602001600015158152602001606081526020016163fb61662c565b905290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061644157805160ff191683800117855561646e565b8280016001018555821561646e579182015b8281111561646e578251825591602001919060010190616453565b5061281792915061664b565b826013810192821561646e579160200282018281111561646e578251825591602001919060010190616453565b6040518060600160405280600060ff16815260200160608152602001606081525090565b60405180604001604052806164de616612565b8152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10616559578054855561646e565b8280016001018555821561646e57600052602060002091601f016020900482015b8281111561646e57825482559160010191906001019061657a565b826013810192821561646e579182018281111561646e57825482559160010191906001019061657a565b50805460018160011615610100020316600290046000825580601f106165e55750611598565b601f016020900490600052602060002090810190611598919061664b565b5061159890601381019061664b565b604051806040016040528060008152602001600081525090565b6040518061026001604052806013906020820280368337509192915050565b6127bc91905b808211156128175760008155600101616651565b60008083601f840112616676578182fd5b5081356001600160401b0381111561668c578182fd5b602083019150836020808302850101111561522657600080fd5b60008083601f8401126166b7578182fd5b5081356001600160401b038111156166cd578182fd5b60208301915083602082850101111561522657600080fd5b6000602082840312156166f6578081fd5b81356001600160a01b0381168114610f23578182fd5b60008060008060408587031215616721578283fd5b84356001600160401b0380821115616737578485fd5b61674388838901616665565b9096509450602087013591508082111561675b578384fd5b5061676887828801616665565b95989497509550505050565b600060208284031215616785578081fd5b81518015158114610f23578182fd5b600080602083850312156167a6578182fd5b82356001600160401b038111156167bb578283fd5b6167c7858286016166a6565b90969095509350505050565b600080600080604085870312156167e8578384fd5b84356001600160401b03808211156167fe578586fd5b61680a888389016166a6565b90965094506020870135915080821115616822578384fd5b50616768878288016166a6565b600060208284031215616840578081fd5b5035919050565b600060208284031215616858578081fd5b5051919050565b60008060408385031215616871578182fd5b505080516020909101519092909150565b600080600060408486031215616896578283fd5b833560ff811681146168a6578384fd5b925060208401356001600160401b038111156168c0578283fd5b6168cc868287016166a6565b9497909650939450505050565b6000815180845260208085019450808401835b838110156169115781516001600160a01b0316875295820195908201906001016168ec565b509495945050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000815180845261695e8160208601602086016175fb565b601f01601f19169290920160200192915050565b600082516169848184602087016175fb565b9190910192915050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03968716815294861660208601529290941660408401526001600160401b03166060830152911515608082015260a081019190915260c00190565b600060208252610f2360208301846168d9565b600060408252616a3160408301856168d9565b602083820381850152818551808452828401915082838202850101838801865b83811015616a7f57601f19878403018552616a6d838351616946565b94860194925090850190600101616a51565b50909998505050505050505050565b600060808252616aa160808301876168d9565b828103602084810191909152865180835287820192820190845b81811015616ad757845183529383019391830191600101616abb565b50508481036040860152616aeb81886168d9565b93505050506001600160401b038316606083015295945050505050565b901515815260200190565b600060208252610f236020830184616946565b600060408252616b3a60408301868861691c565b8281036020840152616b4d81858761691c565b979650505050505050565b6020808252601c908201527f6c656e677468206f66206275726e526174696f206d69736d6174636800000000604082015260600190565b60208082526026908201527f6c656e677468206f66206d61784e756d4f664d61696e7461696e696e67206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601b908201527f6261746368207472616e736665722072657475726e2066616c73650000000000604082015260600190565b6020808252602c908201527f6c656e677468206f66206d61784e756d4f66576f726b696e6743616e6469646160408201526b0e8cae640dad2e6dac2e8c6d60a31b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61696e7461696e536c6173685363616c65206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252818101527f6c656e677468206f66206e756d4f66436162696e657473206d69736d61746368604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526028908201527f746865206e756d4f66436162696e657473206d75737420626520677265617465604082015267072207468616e20360c41b606082015260800190565b60208082526039908201527f746865206e756d4f66436162696e657473206d757374206265206c657373207460408201527f68616e204d41585f4e554d5f4f465f56414c494441544f525300000000000000606082015260800190565b60208082526029908201527f746865206e756d626572206f662076616c696461746f727320657863656564206040820152681d1a19481b1a5b5a5d60ba1b606082015260800190565b60208082526022908201527f63616e206e6f7420646f207468697320747769636520696e206f6e6520626c6f604082015261636b60f01b606082015260800190565b6020808252602b908201527f746865206275726e526174696f206d757374206265206e6f206772656174657260408201526a0207468616e2031303030360ac1b606082015260800190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526037908201527f746865206d61784e756d4f664d61696e7461696e696e67206d7573742062652060408201527f6c657373207468616e206e756d4f66436162696e657473000000000000000000606082015260800190565b6020808252602b908201527f6475706c696361746520636f6e73656e7375732061646472657373206f66207660408201526a185b1a59185d1bdc94d95d60aa1b606082015260800190565b60208082526027908201527f7468652065787069726554696d655365636f6e64476170206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601590820152746465706f7369742076616c7565206973207a65726f60581b604082015260600190565b60208082526049908201527f746865206d61784e756d4f66576f726b696e6743616e64696461746573206d7560408201527f7374206265206e6f742067726561746572207468616e206d61784e756d4f6643606082015268616e6469646174657360b81b608082015260a00190565b60208082526027908201527f7468652066696e616c697479526577617264526174696f206973206f7574206f604082015266662072616e676560c81b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f63616e206e6f7420656e7465722054656d706f72617279204d61696e74656e616040820152626e636560e81b606082015260800190565b60208082526025908201527f6c656e677468206f66206a61696c2076616c696461746f7273206d757374206260408201526465206f6e6560d81b606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526025908201527f6c656e677468206f66206d61784e756d4f6643616e64696461746573206d69736040820152640dac2e8c6d60db1b606082015260800190565b6020808252601290820152716e6f7420696e206d61696e74656e616e636560701b604082015260600190565b60208082526021908201527f666565206973206c6172676572207468616e2044555354595f494e434f4d494e6040820152604760f81b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662066696e616c697479526577617264526174696f206d696040820152650e6dac2e8c6d60d31b606082015260800190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526026908201527f6c656e677468206f662065787069726554696d655365636f6e64476170206d696040820152650e6dac2e8c6d60d31b606082015260800190565b60208082526017908201527f6f6e6c792063757272656e742076616c696461746f7273000000000000000000604082015260600190565b60208082526021908201527f6661696c656420746f20706172736520696e69742076616c696461746f7253656040820152601d60fa1b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252603e908201527f746865206d61696e7461696e536c6173685363616c65206d757374206265206760408201527f726561746572207468616e203020616e64206c657373207468616e2031300000606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b60208082526029908201527f746865206d6573736167652073656e646572206d75737420626520736c6173686040820152680818dbdb9d1c9858dd60ba1b606082015260800190565b61ffff91909116815260200190565b90815260200190565b6000848252831515602083015260606040830152615f2c6060830184616946565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260406020830152615f2c60408301848661691c565b60005b838110156176165781810151838201526020016175fe565b83811115612f02575050600091015256fef901a880f901a4f844941284214b9b9c85549ab3d2b972df0deef66ac2c9946ddf42a51534fc98d0c0a3b42c963cace8441ddf946ddf42a51534fc98d0c0a3b42c963cace8441ddf8410000000f84494a2959d3f95eae5dc7d70144ce1b73b403b7eb6e0948081ef03f1d9e0bb4a5bf38f16285c879299f07f948081ef03f1d9e0bb4a5bf38f16285c879299f07f8410000000f8449435552c16704d214347f29fa77f77da6d75d7c75294dc4973e838e3949c77aced16ac2315dc2d7ab11194dc4973e838e3949c77aced16ac2315dc2d7ab1118410000000f84494980a75ecd1309ea12fa2ed87a8744fbfc9b863d594cc6ac05c95a99c1f7b5f88de0e3486c82293b27094cc6ac05c95a99c1f7b5f88de0e3486c82293b2708410000000f84494f474cf03cceff28abc65c9cbae594f725c80e12d94e61a183325a18a173319dd8e19c8d069459e217594e61a183325a18a173319dd8e19c8d069459e21758410000000f84494b71b214cb885500844365e95cd9942c7276e7fd894d22ca3ba2141d23adab65ce4940eb7665ea2b6a794d22ca3ba2141d23adab65ce4940eb7665ea2b6a7841000000070e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb20175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbb0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbaa26469706673582212206e1523e3ea49e964e21e7d6e66bb4cfe1d540a17ea2d2be68ff39a6a76e3e24b64736f6c63430006040033", }, { ContractAddr: common.HexToAddress(SlashContract), - CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/ff8df0741e8f7e9b2c85c2a3b7b2426ad2ba1fad", - Code: "608060405234801561001057600080fd5b506004361061027f5760003560e01c80637942fd051161015c578063c80d4b8f116100ce578063dc927faf11610087578063dc927faf146104ad578063e1c7392a146104b5578063f9a2bbc7146104bd578063fc3e5908146104c5578063fc4333cd146104cd578063fd6a6879146104d55761027f565b8063c80d4b8f1461045c578063c81b166214610464578063c8509d811461046c578063c96be4cb1461047f578063cc844b7314610492578063d2a42e4b146104a55761027f565b80639dc09262116101205780639dc0926214610421578063a1a11bf514610429578063a78abc1614610431578063ab51bb9614610439578063ac0af62914610441578063ac431751146104495761027f565b80637942fd05146103ee5780638256ace6146103f6578063831d65d1146103fe57806396713da9146104115780639bc8e4f2146104195761027f565b8063493279b1116101f557806362b72cf5116101b957806362b72cf5146103be5780636e47b482146103c657806370fd5bad146103ce578063718a8aa8146103d657806375d47a0a146103de5780637912a65d146103e65761027f565b8063493279b11461037c5780634bf6c8821461039157806351e8067214610399578063567a372d146103a15780635bfb4990146103a95761027f565b806335aa2e441161024757806335aa2e441461030e57806337c8dab914610321578063389f4f71146103425780633a63f4b1146103575780633dffc3871461035f57806343756e5c146103745761027f565b80630bee7a67146102845780630e2374a5146102a25780631182b875146102b757806322d1e80b146102d757806323bac5a2146102ec575b600080fd5b61028c6104dd565b604051610299919061336a565b60405180910390f35b6102aa6104e2565b6040516102999190612c19565b6102ca6102c5366004612b4f565b6104e8565b6040516102999190612c51565b6102df61054e565b6040516102999190612c46565b6102ff6102fa3660046128fd565b610557565b60405161029993929190613352565b6102aa61031c366004612b1f565b61057a565b61033461032f3660046128fd565b6105a1565b604051610299929190613344565b61034a6105f8565b604051610299919061331a565b61034a6105fe565b610367610604565b604051610299919061337b565b6102aa610609565b61038461060f565b604051610299919061330b565b610367610615565b6102aa61061a565b61034a610620565b6103bc6103b73660046128fd565b610626565b005b61034a6106d1565b6102aa6106d7565b6103676106dd565b6103676106e2565b6102aa6106e7565b61034a6106ed565b6103676106f2565b6103346106f7565b6103bc61040c366004612b4f565b610701565b610367610813565b61034a610818565b6102aa610823565b6102aa610829565b6102df61082f565b61028c610838565b61034a61083d565b6103bc610457366004612a03565b610842565b61034a610ce1565b6102aa610ce6565b6103bc61047a366004612b4f565b610cec565b6103bc61048d3660046128fd565b610d5d565b6103bc6104a0366004612a6c565b61114e565b61034a611730565b6102aa611735565b6103bc61173b565b6102aa611777565b61036761177d565b6103bc611782565b6102aa611bcb565b606481565b61200181565b606033612000146105145760405162461bcd60e51b815260040161050b90613191565b60405180910390fd5b60005460ff166105365760405162461bcd60e51b815260040161050b90612d32565b60405162461bcd60e51b815260040161050b90613254565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061058757fe5b6000918252602090912001546001600160a01b0316905081565b6000806105ac6126e4565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b6102ca81565b600881565b61200081565b60045481565b33611000146106475760405162461bcd60e51b815260040161050b90612f76565b60005460ff166106695760405162461bcd60e51b815260040161050b90612d32565b61200063f7a251d7600b61067c84611bd1565b60006040518463ffffffff1660e01b815260040161069c93929190613389565b600060405180830381600087803b1580156106b657600080fd5b505af11580156106ca573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107225760405162461bcd60e51b815260040161050b90613191565b60005460ff166107445760405162461bcd60e51b815260040161050b90612d32565b61074c612707565b600061078d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ca492505050565b9150915080156107d45781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107c79161336a565b60405180910390a16106ca565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e7916108049161336a565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108645760405162461bcd60e51b815260040161050b90612d32565b33611007146108855760405162461bcd60e51b815260040161050b9061304e565b6108f084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611d249050565b1561098b57602081146109155760405162461bcd60e51b815260040161050b90612f02565b604080516020601f840181900481028201810190925282815260009161095391858580838501838280828437600092019190915250611d7e92505050565b905060018110158015610967575060055481105b6109835760405162461bcd60e51b815260040161050b9061314c565b600455610c9e565b6109f184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611d249050565b15610a8d5760208114610a165760405162461bcd60e51b815260040161050b9061309c565b604080516020601f8401819004810282018101909252828152600091610a5491858580838501838280828437600092019190915250611d7e92505050565b90506103e88111158015610a69575060045481115b610a855760405162461bcd60e51b815260040161050b90612da0565b600555610c9e565b610b0184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611d249050565b15610b9b5760208114610b265760405162461bcd60e51b815260040161050b9061328b565b604080516020601f8401819004810282018101909252828152600091610b6491858580838501838280828437600092019190915250611d7e92505050565b9050600a8110158015610b775750606481105b610b935760405162461bcd60e51b815260040161050b90612eb6565b600655610c9e565b610c0f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611d249050565b15610c865760208114610c345760405162461bcd60e51b815260040161050b90612dd5565b604080516020601f8401819004810282018101909252828152610c709190848480838501838280828437600092019190915250611d8392505050565b6007805460ff1916911515919091179055610c9e565b60405162461bcd60e51b815260040161050b9061322d565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610cd39493929190612c64565b60405180910390a150505050565b609681565b61100281565b3361200014610d0d5760405162461bcd60e51b815260040161050b90613191565b60005460ff16610d2f5760405162461bcd60e51b815260040161050b90612d32565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610d7c5760405162461bcd60e51b815260040161050b906131e0565b60005460ff16610d9e5760405162461bcd60e51b815260040161050b90612d32565b6003544311610dbf5760405162461bcd60e51b815260040161050b906132d6565b3a15610ddd5760405162461bcd60e51b815260040161050b90612ff1565b60405163155853f360e21b8152611000906355614fcc90610e02908490600401612c19565b60206040518083038186803b158015610e1a57600080fd5b505afa158015610e2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5291906129e3565b610e5b57611147565b610e636126e4565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ebe576020810180516001019052610f17565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610f2957fe5b0661107557600060208201526040516335409f7f60e01b8152611000906335409f7f90610f5a908590600401612c19565b600060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610fa885611bd1565b60006040518463ffffffff1660e01b8152600401610fc893929190613389565b600060405180830381600087803b158015610fe257600080fd5b505af1925050508015610ff3575060015b611070573d808015611021576040519150601f19603f3d011682016040523d82523d6000602084013e611026565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051611066929190613323565b60405180910390a2505b6110e1565b60045481602001518161108457fe5b066110e1576040516375abf10160e11b81526110009063eb57e202906110ae908590600401612c19565b600060405180830381600087803b1580156110c857600080fd5b505af11580156110dc573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff166111705760405162461bcd60e51b815260040161050b90612d32565b604051630a83aaa960e31b81526110069063541d554890611195903390600401612c19565b60206040518083038186803b1580156111ad57600080fd5b505afa1580156111c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e591906129e3565b6112015760405162461bcd60e51b815260040161050b90612c96565b60075460ff166112235760405162461bcd60e51b815260040161050b90612cfd565b6006546112305760146006555b8051514361010090910111801561125257504381602001516000015161010001115b61126e5760405162461bcd60e51b815260040161050b90612ccd565b80602001516020015181600001516020015114801561129c5750806020015160600151816000015160600151145b156112b95760405162461bcd60e51b815260040161050b90612f49565b8051604081015190511080156112d85750602081015160408101519051105b6112f45760405162461bcd60e51b815260040161050b90612e7f565b6020810151518151511080156113195750806000015160400151816020015160400151105b8061134457508051516020820151511080156113445750806020015160400151816000015160400151105b8061135e5750806020015160400151816000015160400151145b61137a5760405162461bcd60e51b815260040161050b90612d69565b604080820151905163ea321e4960e01b81526110009163ea321e49916113a39190600401612c51565b60206040518083038186803b1580156113bb57600080fd5b505afa1580156113cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f391906129e3565b61140f5760405162461bcd60e51b815260040161050b9061301f565b61142181600001518260400151611dab565b801561143a575061143a81602001518260400151611dab565b6114565760405162461bcd60e51b815260040161050b90612e20565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561149457600080fd5b505afa1580156114a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114d09190810190612920565b9150915060005b815181101561160d576115018282815181106114ef57fe5b60200260200101518560400151611f83565b15611605576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f0906115399033908590600401612c2d565b602060405180830381600087803b15801561155357600080fd5b505af1158015611567573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158b9190612b37565b506110006001600160a01b03166335409f7f8584815181106115a957fe5b60200260200101516040518263ffffffff1660e01b81526004016115cd9190612c19565b600060405180830381600087803b1580156115e757600080fd5b505af11580156115fb573d6000803e3d6000fd5b505050505061160d565b6001016114d7565b50600061161f84604001516000611fe7565b90506120006001600160a01b031663f7a251d7600b6116418760400151612003565b60006040518463ffffffff1660e01b815260040161166193929190613389565b600060405180830381600087803b15801561167b57600080fd5b505af192505050801561168c575060015b6116fe573d8080156116ba576040519150601f19603f3d011682016040523d82523d6000602084013e6116bf565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f3628826040516116f09190612c51565b60405180910390a25061172a565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff161561175e5760405162461bcd60e51b815260040161050b906130de565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b33611000146117a35760405162461bcd60e51b815260040161050b90612f76565b60005460ff166117c55760405162461bcd60e51b815260040161050b90612d32565b6001546117d157611bc9565b600154600090600019015b808211611b9d576000805b82841015611900576117f76126e4565b600260006001878154811061180857fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156118ea5760046005548161187557fe5b0481602001510381602001818152505080600260006001888154811061189757fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff19169115159190911790556118f4565b6001925050611900565b508360010193506117e7565b828411611a975761190f6126e4565b600260006001868154811061192057fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611a085760046005548161198d57fe5b048160200151038160200181815250508060026000600187815481106119af57fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611a979050565b6002600060018681548110611a1957fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805480611a5d57fe5b600082815260209020810160001990810180546001600160a01b031916905501905583611a8a5750611a97565b5060001990920191611900565b818015611aa15750805b15611b80576002600060018681548110611ab757fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611afe57fe5b600091825260209091200154600180546001600160a01b039092169186908110611b2457fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611b5d57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611b8c575050611b9d565b5050600190910190600019016117dc565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611bec579050509050611c15836001600160a01b031661203e565b81600081518110611c2257fe5b6020026020010181905250611c3643612061565b81600181518110611c4357fe5b6020908102919091010152611c596102ca612061565b81600281518110611c6657fe5b6020026020010181905250611c7a42612061565b81600381518110611c8757fe5b6020026020010181905250611c9b81612074565b9150505b919050565b611cac612707565b6000611cb6612707565b611cbe612719565b611ccf611cca866120fe565b612123565b90506000805b611cde8361216d565b15611d175780611d0a57611cf9611cf48461218e565b6121dc565b63ffffffff16845260019150611d0f565b611d17565b600101611cd5565b5091935090915050915091565b600081604051602001611d379190612bfd565b6040516020818303038152906040528051906020012083604051602001611d5e9190612bfd565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611d9d576001915081611da3565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611dc7575050604080516020808252818301909252919250606091908082018180368337019050509050611e0c8560000151612061565b82600081518110611e1957fe5b6020026020010181905250611e34602086602001518361225e565b611e3d8161226e565b82600181518110611e4a57fe5b6020026020010181905250611e628560400151612061565b82600281518110611e6f57fe5b6020026020010181905250611e8a602086606001518361225e565b611e938161226e565b82600381518110611ea057fe5b6020026020010181905250611ec66020611eb984612074565b805190602001208361225e565b6040805160b080825260e08201909252606091602082018180368337019050509050611ef68183600060206122c4565b611f08818760800151602060606122c4565b611f168186608060306122c4565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611f5357600080fd5b506001611f61826000612317565b60ff1614611f76576000945050505050611d78565b5060019695505050505050565b815181516000916001918114808314611f9f5760009250611fdd565b600160208701838101602088015b600284838510011415611fd8578051835114611fcc5760009650600093505b60209283019201611fad565b505050505b5090949350505050565b60008160200183511015611ffa57600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b606081526020019060019003908161201e579050509050611c158361226e565b60408051600560a21b8318601482015260348101909152606090611c9b8161226e565b6060611d7861206f83612333565b61226e565b60608151600014156120955750604080516000815260208101909152611c9f565b6060826000815181106120a457fe5b602002602001015190506000600190505b83518110156120e5576120db828583815181106120ce57fe5b6020026020010151612419565b91506001016120b5565b50611c9b6120f8825160c060ff16612496565b82612419565b612106612739565b506040805180820190915281518152602082810190820152919050565b61212b612719565b61213482612568565b61213d57600080fd5b600061214c83602001516125a2565b60208085015160408051808201909152868152920190820152915050919050565b6000612177612739565b505080518051602091820151919092015191011190565b612196612739565b61219f8261216d565b6121a857600080fd5b602082015160006121b882612605565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906121f157508151602110155b6121fa57600080fd5b600061220983602001516125a2565b9050808360000151101561222f5760405162461bcd60e51b815260040161050b90613115565b82516020808501518301805192849003929183101561225557826020036101000a820491505b50949350505050565b9091018181526020918201910152565b6060815160011480156122a05750607f60f81b8260008151811061228e57fe5b01602001516001600160f81b03191611155b156122ac575080611c9f565b611d786122be8351608060ff16612496565b83612419565b60005b818110156106ca578381815181106122db57fe5b602001015160f81c60f81b8584806001019550815181106122f857fe5b60200101906001600160f81b031916908160001a9053506001016122c7565b6000816001018351101561232a57600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166123775750601861239b565b6fffffffffffffffffffffffffffffffff1984166123975750601061239b565b5060005b60208110156123d1578181815181106123b057fe5b01602001516001600160f81b031916156123c9576123d1565b60010161239b565b60008160200390506060816040519080825280601f01601f191660200182016040528015612406576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b8183101561244a578051835260209283019201612432565b50855184518101855292509050808201602086015b8183101561247757805183526020928301920161245f565b508651929092011591909101601f01601f191660405250905092915050565b60606801000000000000000083106124c05760405162461bcd60e51b815260040161050b90612e57565b6040805160018082528183019092526060916020820181803683370190505090506037841161251a5782840160f81b816000815181106124fc57fe5b60200101906001600160f81b031916908160001a9053509050611d78565b606061252585612333565b90508381510160370160f81b8260008151811061253e57fe5b60200101906001600160f81b031916908160001a90535061255f8282612419565b95945050505050565b805160009061257957506000611c9f565b6020820151805160001a9060c082101561259857600092505050611c9f565b5060019392505050565b8051600090811a60808110156125bc576000915050611c9f565b60b88110806125d7575060c081108015906125d7575060f881105b156125e6576001915050611c9f565b60c08110156125fa5760b519019050611c9f565b60f519019050611c9f565b80516000908190811a608081101561262057600191506126dd565b60b881101561263557607e19810191506126dd565b60c081101561268657600060b78203600186019550806020036101000a8651049150600181018201935050808310156126805760405162461bcd60e51b815260040161050b90612fc6565b506126dd565b60f881101561269b5760be19810191506126dd565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611da35760405162461bcd60e51b815260040161050b90612fc6565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061272c612739565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f830112612763578081fd5b8151612776612771826133dc565b6133b5565b818152915060208083019084810160005b848110156127ec578151870188603f8201126127a257600080fd5b838101516127b2612771826133fc565b81815260408b818486010111156127c857600080fd5b6127d783888401838701613420565b50865250509282019290820190600101612787565b505050505092915050565b60008083601f840112612808578182fd5b50813567ffffffffffffffff81111561281f578182fd5b60208301915083602082850101111561283757600080fd5b9250929050565b600082601f83011261284e578081fd5b813561285c612771826133fc565b915080825283602082850101111561287357600080fd5b8060208401602084013760009082016020015292915050565b600060a0828403121561289d578081fd5b6128a760a06133b5565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff8111156128e557600080fd5b6128f18482850161283e565b60808301525092915050565b60006020828403121561290e578081fd5b81356129198161344c565b9392505050565b60008060408385031215612932578081fd5b825167ffffffffffffffff80821115612949578283fd5b81850186601f82011261295a578384fd5b8051925061296a612771846133dc565b80848252602080830192508084018a82838902870101111561298a578788fd5b8794505b868510156129b55780516129a18161344c565b84526001949094019392810192810161298e565b5088015190965093505050808211156129cc578283fd5b506129d985828601612753565b9150509250929050565b6000602082840312156129f4578081fd5b81518015158114612919578182fd5b60008060008060408587031215612a18578182fd5b843567ffffffffffffffff80821115612a2f578384fd5b612a3b888389016127f7565b90965094506020870135915080821115612a53578384fd5b50612a60878288016127f7565b95989497509550505050565b600060208284031215612a7d578081fd5b813567ffffffffffffffff80821115612a94578283fd5b81840160608187031215612aa6578384fd5b612ab060606133b5565b9250803582811115612ac0578485fd5b612acc8782840161288c565b845250602081013582811115612ae0578485fd5b612aec8782840161288c565b602085015250604081013582811115612b03578485fd5b612b0f8782840161283e565b6040850152509195945050505050565b600060208284031215612b30578081fd5b5035919050565b600060208284031215612b48578081fd5b5051919050565b600080600060408486031215612b63578283fd5b833560ff81168114612b73578384fd5b9250602084013567ffffffffffffffff811115612b8e578283fd5b612b9a868287016127f7565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612be9816020860160208601613420565b601f01601f19169290920160200192915050565b60008251612c0f818460208701613420565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602082526129196020830184612bd1565b600060408252612c78604083018688612ba7565b8281036020840152612c8b818587612ba7565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252601690820152751d1bdbc81bdb1908189b1bd8dac81a5b9d9bdb1d995960521b604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252601590820152741d9bdd195059191c881a5cc81b9bdd08199bdd5b99605a1b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b60008382526040602083015261333c6040830184612bd1565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526133a56060830185612bd1565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156133d457600080fd5b604052919050565b600067ffffffffffffffff8211156133f2578081fd5b5060209081020190565b600067ffffffffffffffff821115613412578081fd5b50601f01601f191660200190565b60005b8381101561343b578181015183820152602001613423565b8381111561172a5750506000910152565b6001600160a01b038116811461346157600080fd5b5056fea2646970667358221220226652726efa038b3d2fe6d50705e0a212fdac1cf7c8e28661c6ab097ba0f90564736f6c63430006040033", + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/0f352c4623898d92664a46cbfc26c52b79aad838", + Code: "608060405234801561001057600080fd5b506004361061027f5760003560e01c80637942fd051161015c578063c80d4b8f116100ce578063dc927faf11610087578063dc927faf146104ad578063e1c7392a146104b5578063f9a2bbc7146104bd578063fc3e5908146104c5578063fc4333cd146104cd578063fd6a6879146104d55761027f565b8063c80d4b8f1461045c578063c81b166214610464578063c8509d811461046c578063c96be4cb1461047f578063cc844b7314610492578063d2a42e4b146104a55761027f565b80639dc09262116101205780639dc0926214610421578063a1a11bf514610429578063a78abc1614610431578063ab51bb9614610439578063ac0af62914610441578063ac431751146104495761027f565b80637942fd05146103ee5780638256ace6146103f6578063831d65d1146103fe57806396713da9146104115780639bc8e4f2146104195761027f565b8063493279b1116101f557806362b72cf5116101b957806362b72cf5146103be5780636e47b482146103c657806370fd5bad146103ce578063718a8aa8146103d657806375d47a0a146103de5780637912a65d146103e65761027f565b8063493279b11461037c5780634bf6c8821461039157806351e8067214610399578063567a372d146103a15780635bfb4990146103a95761027f565b806335aa2e441161024757806335aa2e441461030e57806337c8dab914610321578063389f4f71146103425780633a63f4b1146103575780633dffc3871461035f57806343756e5c146103745761027f565b80630bee7a67146102845780630e2374a5146102a25780631182b875146102b757806322d1e80b146102d757806323bac5a2146102ec575b600080fd5b61028c6104dd565b604051610299919061336c565b60405180910390f35b6102aa6104e2565b6040516102999190612c1d565b6102ca6102c5366004612b53565b6104e8565b6040516102999190612c55565b6102df61054e565b6040516102999190612c4a565b6102ff6102fa366004612901565b610557565b60405161029993929190613354565b6102aa61031c366004612b23565b61057a565b61033461032f366004612901565b6105a1565b604051610299929190613346565b61034a6105f8565b604051610299919061331c565b61034a6105fe565b610367610604565b604051610299919061337d565b6102aa610609565b61038461060f565b604051610299919061330d565b610367610615565b6102aa61061a565b61034a610620565b6103bc6103b7366004612901565b610626565b005b61034a6106d1565b6102aa6106d7565b6103676106dd565b6103676106e2565b6102aa6106e7565b61034a6106ed565b6103676106f2565b6103346106f7565b6103bc61040c366004612b53565b610701565b610367610813565b61034a610818565b6102aa610823565b6102aa610829565b6102df61082f565b61028c610838565b61034a61083d565b6103bc610457366004612a07565b610842565b61034a610ce1565b6102aa610ce6565b6103bc61047a366004612b53565b610cec565b6103bc61048d366004612901565b610d5d565b6103bc6104a0366004612a70565b61114e565b61034a611734565b6102aa611739565b6103bc61173f565b6102aa61177b565b610367611781565b6103bc611786565b6102aa611bcf565b606481565b61200181565b606033612000146105145760405162461bcd60e51b815260040161050b90613165565b60405180910390fd5b60005460ff166105365760405162461bcd60e51b815260040161050b90612d06565b60405162461bcd60e51b815260040161050b90613256565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b6001818154811061058757fe5b6000918252602090912001546001600160a01b0316905081565b6000806105ac6126e8565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b60065481565b600181565b61100181565b6102ca81565b600881565b61200081565b60045481565b33611000146106475760405162461bcd60e51b815260040161050b90612f4a565b60005460ff166106695760405162461bcd60e51b815260040161050b90612d06565b61200063f7a251d7600b61067c84611bd5565b60006040518463ffffffff1660e01b815260040161069c9392919061338b565b600060405180830381600087803b1580156106b657600080fd5b505af11580156106ca573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b603281565b600b81565b6004546005549091565b33612000146107225760405162461bcd60e51b815260040161050b90613165565b60005460ff166107445760405162461bcd60e51b815260040161050b90612d06565b61074c61270b565b600061078d84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ca892505050565b9150915080156107d45781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e629967916107c79161336c565b60405180910390a16106ca565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e7916108049161336c565b60405180910390a15050505050565b600981565b662386f26fc1000081565b61100781565b61100681565b60005460ff1681565b600081565b600481565b60005460ff166108645760405162461bcd60e51b815260040161050b90612d06565b33611007146108855760405162461bcd60e51b815260040161050b90613022565b6108f084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b60208201529150611d289050565b1561098b57602081146109155760405162461bcd60e51b815260040161050b90612ed6565b604080516020601f840181900481028201810190925282815260009161095391858580838501838280828437600092019190915250611d8292505050565b905060018110158015610967575060055481105b6109835760405162461bcd60e51b815260040161050b90613120565b600455610c9e565b6109f184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b60208201529150611d289050565b15610a8d5760208114610a165760405162461bcd60e51b815260040161050b90613070565b604080516020601f8401819004810282018101909252828152600091610a5491858580838501838280828437600092019190915250611d8292505050565b90506103e88111158015610a69575060045481115b610a855760405162461bcd60e51b815260040161050b90612d74565b600555610c9e565b610b0184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f66696e616c697479536c617368526577617264526174696f000000000000000060208201529150611d289050565b15610b9b5760208114610b265760405162461bcd60e51b815260040161050b9061328d565b604080516020601f8401819004810282018101909252828152600091610b6491858580838501838280828437600092019190915250611d8292505050565b9050600a8110158015610b775750606481105b610b935760405162461bcd60e51b815260040161050b90612e8a565b600655610c9e565b610c0f84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c617368000000000000000060208201529150611d289050565b15610c865760208114610c345760405162461bcd60e51b815260040161050b90612da9565b604080516020601f8401819004810282018101909252828152610c709190848480838501838280828437600092019190915250611d8792505050565b6007805460ff1916911515919091179055610c9e565b60405162461bcd60e51b815260040161050b90613201565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a84848484604051610cd39493929190612c68565b60405180910390a150505050565b609681565b61100281565b3361200014610d0d5760405162461bcd60e51b815260040161050b90613165565b60005460ff16610d2f5760405162461bcd60e51b815260040161050b90612d06565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b334114610d7c5760405162461bcd60e51b815260040161050b906131b4565b60005460ff16610d9e5760405162461bcd60e51b815260040161050b90612d06565b6003544311610dbf5760405162461bcd60e51b815260040161050b906132d8565b3a15610ddd5760405162461bcd60e51b815260040161050b90612fc5565b60405163155853f360e21b8152611000906355614fcc90610e02908490600401612c1d565b60206040518083038186803b158015610e1a57600080fd5b505afa158015610e2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5291906129e7565b610e5b57611147565b610e636126e8565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff161580159282019290925290610ebe576020810180516001019052610f17565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b438152600554602082015181610f2957fe5b0661107557600060208201526040516335409f7f60e01b8152611000906335409f7f90610f5a908590600401612c1d565b600060405180830381600087803b158015610f7457600080fd5b505af1158015610f88573d6000803e3d6000fd5b505050506120006001600160a01b031663f7a251d7600b610fa885611bd5565b60006040518463ffffffff1660e01b8152600401610fc89392919061338b565b600060405180830381600087803b158015610fe257600080fd5b505af1925050508015610ff3575060015b611070573d808015611021576040519150601f19603f3d011682016040523d82523d6000602084013e611026565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051611066929190613325565b60405180910390a2505b6110e1565b60045481602001518161108457fe5b066110e1576040516375abf10160e11b81526110009063eb57e202906110ae908590600401612c1d565b600060405180830381600087803b1580156110c857600080fd5b505af11580156110dc573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff166111705760405162461bcd60e51b815260040161050b90612d06565b604051630a83aaa960e31b81526110069063541d554890611195903390600401612c1d565b60206040518083038186803b1580156111ad57600080fd5b505afa1580156111c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e591906129e7565b6112015760405162461bcd60e51b815260040161050b90612c9a565b60075460ff166112235760405162461bcd60e51b815260040161050b90612cd1565b6006546112305760146006555b438160000151604001516101000111801561125657504381602001516040015161010001115b6112725760405162461bcd60e51b815260040161050b90613228565b8060200151602001518160000151602001511480156112a05750806020015160600151816000015160600151145b156112bd5760405162461bcd60e51b815260040161050b90612f1d565b8051604081015190511080156112dc5750602081015160408101519051105b6112f85760405162461bcd60e51b815260040161050b90612e53565b60208101515181515110801561131d5750806000015160400151816020015160400151105b8061134857508051516020820151511080156113485750806020015160400151816000015160400151105b806113625750806020015160400151816000015160400151145b61137e5760405162461bcd60e51b815260040161050b90612d3d565b604080820151905163ea321e4960e01b81526110009163ea321e49916113a79190600401612c55565b60206040518083038186803b1580156113bf57600080fd5b505afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f791906129e7565b6114135760405162461bcd60e51b815260040161050b90612ff3565b61142581600001518260400151611daf565b801561143e575061143e81602001518260400151611daf565b61145a5760405162461bcd60e51b815260040161050b90612df4565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114d49190810190612924565b9150915060005b8151811015611611576115058282815181106114f357fe5b60200260200101518560400151611f87565b15611609576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f09061153d9033908590600401612c31565b602060405180830381600087803b15801561155757600080fd5b505af115801561156b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158f9190612b3b565b506110006001600160a01b03166335409f7f8584815181106115ad57fe5b60200260200101516040518263ffffffff1660e01b81526004016115d19190612c1d565b600060405180830381600087803b1580156115eb57600080fd5b505af11580156115ff573d6000803e3d6000fd5b5050505050611611565b6001016114db565b50600061162384604001516000611feb565b90506120006001600160a01b031663f7a251d7600b6116458760400151612007565b60006040518463ffffffff1660e01b81526004016116659392919061338b565b600060405180830381600087803b15801561167f57600080fd5b505af1925050508015611690575060015b611702573d8080156116be576040519150601f19603f3d011682016040523d82523d6000602084013e6116c3565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f3628826040516116f49190612c55565b60405180910390a25061172e565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b601481565b61100381565b60005460ff16156117625760405162461bcd60e51b815260040161050b906130b2565b603260045560966005556000805460ff19166001179055565b61100081565b600381565b33611000146117a75760405162461bcd60e51b815260040161050b90612f4a565b60005460ff166117c95760405162461bcd60e51b815260040161050b90612d06565b6001546117d557611bcd565b600154600090600019015b808211611ba1576000805b82841015611904576117fb6126e8565b600260006001878154811061180c57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156118ee5760046005548161187957fe5b0481602001510381602001818152505080600260006001888154811061189b57fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff19169115159190911790556118f8565b6001925050611904565b508360010193506117eb565b828411611a9b576119136126e8565b600260006001868154811061192457fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff161515908201526005549091506004900481602001511115611a0c5760046005548161199157fe5b048160200151038160200181815250508060026000600187815481106119b357fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff19169115159190911790559150611a9b9050565b6002600060018681548110611a1d57fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805480611a6157fe5b600082815260209020810160001990810180546001600160a01b031916905501905583611a8e5750611a9b565b5060001990920191611904565b818015611aa55750805b15611b84576002600060018681548110611abb57fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff19169055805484908110611b0257fe5b600091825260209091200154600180546001600160a01b039092169186908110611b2857fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506001805480611b6157fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b82611b90575050611ba1565b5050600190910190600019016117e0565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081611bf0579050509050611c19836001600160a01b0316612042565b81600081518110611c2657fe5b6020026020010181905250611c3a43612065565b81600181518110611c4757fe5b6020908102919091010152611c5d6102ca612065565b81600281518110611c6a57fe5b6020026020010181905250611c7e42612065565b81600381518110611c8b57fe5b6020026020010181905250611c9f81612078565b9150505b919050565b611cb061270b565b6000611cba61270b565b611cc261271d565b611cd3611cce86612102565b612127565b90506000805b611ce283612171565b15611d1b5780611d0e57611cfd611cf884612192565b6121e0565b63ffffffff16845260019150611d13565b611d1b565b600101611cd9565b5091935090915050915091565b600081604051602001611d3b9190612c01565b6040516020818303038152906040528051906020012083604051602001611d629190612c01565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff811615611da1576001915081611da7565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b6060815260200190600190039081611dcb575050604080516020808252818301909252919250606091908082018180368337019050509050611e108560000151612065565b82600081518110611e1d57fe5b6020026020010181905250611e386020866020015183612262565b611e4181612272565b82600181518110611e4e57fe5b6020026020010181905250611e668560400151612065565b82600281518110611e7357fe5b6020026020010181905250611e8e6020866060015183612262565b611e9781612272565b82600381518110611ea457fe5b6020026020010181905250611eca6020611ebd84612078565b8051906020012083612262565b6040805160b080825260e08201909252606091602082018180368337019050509050611efa8183600060206122c8565b611f0c818760800151602060606122c8565b611f1a8186608060306122c8565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa611f5757600080fd5b506001611f6582600061231b565b60ff1614611f7a576000945050505050611d7c565b5060019695505050505050565b815181516000916001918114808314611fa35760009250611fe1565b600160208701838101602088015b600284838510011415611fdc578051835114611fd05760009650600093505b60209283019201611fb1565b505050505b5090949350505050565b60008160200183511015611ffe57600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081612022579050509050611c1983612272565b60408051600560a21b8318601482015260348101909152606090611c9f81612272565b6060611d7c61207383612337565b612272565b60608151600014156120995750604080516000815260208101909152611ca3565b6060826000815181106120a857fe5b602002602001015190506000600190505b83518110156120e9576120df828583815181106120d257fe5b602002602001015161241d565b91506001016120b9565b50611c9f6120fc825160c060ff1661249a565b8261241d565b61210a61273d565b506040805180820190915281518152602082810190820152919050565b61212f61271d565b6121388261256c565b61214157600080fd5b600061215083602001516125a6565b60208085015160408051808201909152868152920190820152915050919050565b600061217b61273d565b505080518051602091820151919092015191011190565b61219a61273d565b6121a382612171565b6121ac57600080fd5b602082015160006121bc82612609565b80830160209586015260408051808201909152908152938401919091525090919050565b8051600090158015906121f557508151602110155b6121fe57600080fd5b600061220d83602001516125a6565b905080836000015110156122335760405162461bcd60e51b815260040161050b906130e9565b82516020808501518301805192849003929183101561225957826020036101000a820491505b50949350505050565b9091018181526020918201910152565b6060815160011480156122a45750607f60f81b8260008151811061229257fe5b01602001516001600160f81b03191611155b156122b0575080611ca3565b611d7c6122c28351608060ff1661249a565b8361241d565b60005b818110156106ca578381815181106122df57fe5b602001015160f81c60f81b8584806001019550815181106122fc57fe5b60200101906001600160f81b031916908160001a9053506001016122cb565b6000816001018351101561232e57600080fd5b50016001015190565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff19841661237b5750601861239f565b6fffffffffffffffffffffffffffffffff19841661239b5750601061239f565b5060005b60208110156123d5578181815181106123b457fe5b01602001516001600160f81b031916156123cd576123d5565b60010161239f565b60008160200390506060816040519080825280601f01601f19166020018201604052801561240a576020820181803683370190505b5080830196909652508452509192915050565b6060806040519050835180825260208201818101602087015b8183101561244e578051835260209283019201612436565b50855184518101855292509050808201602086015b8183101561247b578051835260209283019201612463565b508651929092011591909101601f01601f191660405250905092915050565b60606801000000000000000083106124c45760405162461bcd60e51b815260040161050b90612e2b565b6040805160018082528183019092526060916020820181803683370190505090506037841161251e5782840160f81b8160008151811061250057fe5b60200101906001600160f81b031916908160001a9053509050611d7c565b606061252985612337565b90508381510160370160f81b8260008151811061254257fe5b60200101906001600160f81b031916908160001a905350612563828261241d565b95945050505050565b805160009061257d57506000611ca3565b6020820151805160001a9060c082101561259c57600092505050611ca3565b5060019392505050565b8051600090811a60808110156125c0576000915050611ca3565b60b88110806125db575060c081108015906125db575060f881105b156125ea576001915050611ca3565b60c08110156125fe5760b519019050611ca3565b60f519019050611ca3565b80516000908190811a608081101561262457600191506126e1565b60b881101561263957607e19810191506126e1565b60c081101561268a57600060b78203600186019550806020036101000a8651049150600181018201935050808310156126845760405162461bcd60e51b815260040161050b90612f9a565b506126e1565b60f881101561269f5760be19810191506126e1565b600060f78203600186019550806020036101000a865104915060018101820193505080831015611da75760405162461bcd60e51b815260040161050b90612f9a565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b604051806040016040528061273061273d565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f830112612767578081fd5b815161277a612775826133de565b6133b7565b818152915060208083019084810160005b848110156127f0578151870188603f8201126127a657600080fd5b838101516127b6612775826133fe565b81815260408b818486010111156127cc57600080fd5b6127db83888401838701613422565b5086525050928201929082019060010161278b565b505050505092915050565b60008083601f84011261280c578182fd5b50813567ffffffffffffffff811115612823578182fd5b60208301915083602082850101111561283b57600080fd5b9250929050565b600082601f830112612852578081fd5b8135612860612775826133fe565b915080825283602082850101111561287757600080fd5b8060208401602084013760009082016020015292915050565b600060a082840312156128a1578081fd5b6128ab60a06133b7565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff8111156128e957600080fd5b6128f584828501612842565b60808301525092915050565b600060208284031215612912578081fd5b813561291d8161344e565b9392505050565b60008060408385031215612936578081fd5b825167ffffffffffffffff8082111561294d578283fd5b81850186601f82011261295e578384fd5b8051925061296e612775846133de565b80848252602080830192508084018a82838902870101111561298e578788fd5b8794505b868510156129b95780516129a58161344e565b845260019490940193928101928101612992565b5088015190965093505050808211156129d0578283fd5b506129dd85828601612757565b9150509250929050565b6000602082840312156129f8578081fd5b8151801515811461291d578182fd5b60008060008060408587031215612a1c578182fd5b843567ffffffffffffffff80821115612a33578384fd5b612a3f888389016127fb565b90965094506020870135915080821115612a57578384fd5b50612a64878288016127fb565b95989497509550505050565b600060208284031215612a81578081fd5b813567ffffffffffffffff80821115612a98578283fd5b81840160608187031215612aaa578384fd5b612ab460606133b7565b9250803582811115612ac4578485fd5b612ad087828401612890565b845250602081013582811115612ae4578485fd5b612af087828401612890565b602085015250604081013582811115612b07578485fd5b612b1387828401612842565b6040850152509195945050505050565b600060208284031215612b34578081fd5b5035919050565b600060208284031215612b4c578081fd5b5051919050565b600080600060408486031215612b67578283fd5b833560ff81168114612b77578384fd5b9250602084013567ffffffffffffffff811115612b92578283fd5b612b9e868287016127fb565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612bed816020860160208601613422565b601f01601f19169290920160200192915050565b60008251612c13818460208701613422565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b60006020825261291d6020830184612bd5565b600060408252612c7c604083018688612bab565b8281036020840152612c8f818587612bab565b979650505050505050565b6020808252601f908201527f746865206d73672073656e646572206973206e6f7420612072656c6179657200604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b6020808252602c908201527f7468652066696e616c69747920736c6173682072657761726420726174696f2060408201526b6f7574206f662072616e676560a01b606082015260800190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b6020808252601590820152741d9bdd195059191c881a5cc81b9bdd08199bdd5b99605a1b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601490820152731d185c99d95d08189b1bd8dac81d1bdbc81bdb1960621b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252602b908201527f6c656e677468206f662066696e616c697479536c61736852657761726452617460408201526a0d2de40dad2e6dac2e8c6d60ab1b606082015260800190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b60008382526040602083015261333e6040830184612bd5565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff85168252606060208301526133a76060830185612bd5565b9050826040830152949350505050565b60405181810167ffffffffffffffff811182821017156133d657600080fd5b604052919050565b600067ffffffffffffffff8211156133f4578081fd5b5060209081020190565b600067ffffffffffffffff821115613414578081fd5b50601f01601f191660200190565b60005b8381101561343d578181015183820152602001613425565b8381111561172e5750506000910152565b6001600160a01b038116811461346357600080fd5b5056fea2646970667358221220c718f1c5ee43249ff71654cc153787c56920fa43b814eeac452e4a10f8a32e9064736f6c63430006040033", }, }, }