From c0df5e70006221263744bc1ba1ade5663f07131d Mon Sep 17 00:00:00 2001 From: Roshan Date: Thu, 21 Dec 2023 16:15:10 +0800 Subject: [PATCH] chore: add new byte code of `TokenHub` and `GovHub` to Feynman upgrade --- core/systemcontracts/upgrade.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/systemcontracts/upgrade.go b/core/systemcontracts/upgrade.go index bde0be316..3048d6f54 100644 --- a/core/systemcontracts/upgrade.go +++ b/core/systemcontracts/upgrade.go @@ -880,6 +880,16 @@ func init() { CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/cfc0bd1127186a917ddc38fd38d22903034d3f0b", Code: "608060405234801561001057600080fd5b50600436106103425760003560e01c80637e434d54116101b8578063ac43175111610104578063dcc6f156116100a2578063f9a2bbc71161007c578063f9a2bbc7146105de578063fc3e5908146105e6578063fc4333cd146105ee578063fd6a6879146105f657610342565b8063dcc6f156146105c6578063df8079e9146105ce578063e1c7392a146105d657610342565b8063c8509d81116100de578063c8509d8114610585578063c96be4cb14610598578063cc844b73146105ab578063dc927faf146105be57610342565b8063ac43175114610562578063c80d4b8f14610575578063c81b16621461057d57610342565b80639f804f5f11610171578063aa82dce11161014b578063aa82dce114610542578063aad560631461054a578063ab51bb9614610552578063ac0af6291461055a57610342565b80639f804f5f1461052a578063a1a11bf514610532578063a78abc161461053a57610342565b80637e434d54146104e45780638256ace6146104ec578063831d65d1146104f457806396713da9146105075780639dc092621461050f5780639e89ded81461051757610342565b8063493279b11161029257806362b72cf511610230578063718a8aa81161020a578063718a8aa8146104c457806375d47a0a146104cc5780637912a65d146104d45780637942fd05146104dc57610342565b806362b72cf5146104ac5780636e47b482146104b457806370fd5bad146104bc57610342565b806351b4dce31161026c57806351b4dce31461048157806351e8067214610489578063567a372d146104915780635bfb49901461049957610342565b8063493279b11461045c5780634bf6c8821461047157806350055f901461047957610342565b806328087028116102ff57806337c8dab9116102d957806337c8dab914610416578063389f4f71146104375780633dffc3871461043f57806343756e5c1461045457610342565b806328087028146103e65780633306ccca146103ee57806335aa2e441461040357610342565b80630bee7a67146103475780630e2374a5146103655780631182b8751461037a57806322d1e80b1461039a57806323bac5a2146103af57806327962118146103d1575b600080fd5b61034f6105fe565b60405161035c9190613e4e565b60405180910390f35b61036d610603565b60405161035c919061362c565b61038d610388366004613562565b610609565b60405161035c9190613664565b6103a261066f565b60405161035c9190613659565b6103c26103bd366004613279565b610678565b60405161035c93929190613e36565b6103e46103df3660046133bf565b61069b565b005b61036d610ac2565b6103f6610ac8565b60405161035c9190613dfe565b61036d610411366004613532565b610acd565b610429610424366004613279565b610af4565b60405161035c929190613e28565b6103f6610b4b565b610447610b51565b60405161035c9190613e5f565b61036d610b56565b610464610b5c565b60405161035c9190613def565b610447610b62565b6103f6610b67565b61036d610b6d565b61036d610b73565b6103f6610b79565b6103e46104a7366004613279565b610b7f565b6103f6610c2a565b61036d610c30565b610447610c36565b610447610c3b565b61036d610c40565b6103f6610c46565b610447610c4b565b61036d610c50565b610429610c56565b6103e4610502366004613562565b610c60565b610447610d73565b61036d610d78565b6103e46105253660046132b1565b610d7e565b6103f6610dad565b61036d610db3565b6103a2610db9565b61036d610dc2565b61036d610dc8565b61034f610dce565b6103f6610dd3565b6103e4610570366004613416565b610dd8565b6103f6611374565b61036d611379565b6103e4610593366004613562565b61137f565b6103e46105a6366004613279565b6113f0565b6103e46105b936600461347f565b611871565b61036d611eb8565b6103f6611ebe565b61036d611ec3565b6103e4611ec9565b61036d611f16565b610447611f1c565b6103e4611f21565b61036d61236a565b606481565b61200181565b606033612000146106355760405162461bcd60e51b815260040161062c90613c92565b60405180910390fd5b60005460ff166106575760405162461bcd60e51b815260040161062c90613738565b60405162461bcd60e51b815260040161062c90613d83565b60075460ff1681565b600260208190526000918252604090912080546001820154919092015460ff1683565b60005460ff166106bd5760405162461bcd60e51b815260040161062c90613738565b6006546106ca5760146006555b8151158015906106da5750805115155b6106f65760405162461bcd60e51b815260040161062c90613bf0565b60408051600380825260808201909252606091816020015b606081526020019060019003908161070e5790505090506107306102ca612370565b8160008151811061073d57fe5b60200260200101819052506107518361238b565b8160018151811061075e57fe5b60200260200101819052506107728261238b565b8160028151811061077f57fe5b60200260200101819052506060610795826123e1565b60408051603480825260608281019093529293509091602082018180368337019050509050815160346020830182602086016068600019fa6107d657600080fd5b506014810151603482015160405163436aa28360e11b8152600090612002906386d545069061080990869060040161362c565b60206040518083038186803b15801561082157600080fd5b505afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190613295565b6001600160a01b031614156108805760405162461bcd60e51b815260040161062c90613708565b43600854820110156108a45760405162461bcd60e51b815260040161062c906136a9565b60606110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b1580156108e157600080fd5b505afa1580156108f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261091d91908101906132dc565b50905060005b8151811015610a605781818151811061093857fe5b60200260200101516001600160a01b0316846001600160a01b03161415610a58576006546040516309a99b4f60e41b815260646110028031909302049190639a99b4f09061098c9033908590600401613640565b602060405180830381600087803b1580156109a657600080fd5b505af11580156109ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109de919061354a565b506110006001600160a01b03166335409f7f8484815181106109fc57fe5b60200260200101516040518263ffffffff1660e01b8152600401610a20919061362c565b600060405180830381600087803b158015610a3a57600080fd5b505af1158015610a4e573d6000803e3d6000fd5b5050505050610a60565b600101610923565b50604051631871f7d960e31b81526120029063c38fbec890610a8690869060040161362c565b600060405180830381600087803b158015610aa057600080fd5b505af1158015610ab4573d6000803e3d6000fd5b505050505050505050505050565b61200581565b603c81565b60018181548110610ada57fe5b6000918252602090912001546001600160a01b0316905081565b600080610aff613060565b5050506001600160a01b0316600090815260026020818152604092839020835160608101855281548082526001830154938201849052919093015460ff16151592909301919091529091565b60055481565b600181565b61100181565b6102ca81565b600881565b60065481565b61200681565b61200081565b60045481565b3361100014610ba05760405162461bcd60e51b815260040161062c9061397b565b60005460ff16610bc25760405162461bcd60e51b815260040161062c90613738565b61200063f7a251d7600b610bd584612472565b60006040518463ffffffff1660e01b8152600401610bf593929190613e6d565b600060405180830381600087803b158015610c0f57600080fd5b505af1158015610c23573d6000803e3d6000fd5b5050505050565b60035481565b61100581565b600281565b601081565b61100881565b600581565b600b81565b61200381565b6004546005549091565b3361200014610c815760405162461bcd60e51b815260040161062c90613c92565b60005460ff16610ca35760405162461bcd60e51b815260040161062c90613738565b610cab613083565b6000610cec84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061253c92505050565b915091508015610d335781516040517f7f0956d47419b9525356e7111652b653b530ec6f5096dccc04589bc38e62996791610d2691613e4e565b60405180910390a1610c23565b81516040517f7d45f62d17443dd4547bca8a8112c60e2385669318dc300ec61a5d2492f262e791610d6391613e4e565b60405180910390a150505b505050565b600981565b61100781565b3361100014610d9f5760405162461bcd60e51b815260040161062c9061397b565b610da982826125bc565b5050565b60085481565b61100681565b60005460ff1681565b61200281565b61300081565b600081565b600481565b60005460ff16610dfa5760405162461bcd60e51b815260040161062c90613738565b3361100714610e1b5760405162461bcd60e51b815260040161062c90613adf565b610e8684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040805180820190915260148152731b5a5cd9195b59585b9bdc951a1c995cda1bdb1960621b602082015291506127939050565b15610f215760208114610eab5760405162461bcd60e51b815260040161062c90613907565b604080516020601f8401819004810282018101909252828152600091610ee9918585808385018382808284376000920191909152506127ed92505050565b905060018110158015610efd575060055481105b610f195760405162461bcd60e51b815260040161062c90613c4d565b600455611331565b610f8784848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600f81526e19995b1bdb9e551a1c995cda1bdb19608a1b602082015291506127939050565b156110235760208114610fac5760405162461bcd60e51b815260040161062c90613b2d565b604080516020601f8401819004810282018101909252828152600091610fea918585808385018382808284376000920191909152506127ed92505050565b90506103e88111158015610fff575060045481115b61101b5760405162461bcd60e51b815260040161062c906137f1565b600555611331565b61109084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601681527566656c6f6e79536c617368526577617264526174696f60501b602082015291506127939050565b1561112a57602081146110b55760405162461bcd60e51b815260040161062c90613a67565b604080516020601f84018190048102820181019092528281526000916110f3918585808385018382808284376000920191909152506127ed92505050565b9050600a81101580156111065750606481105b6111225760405162461bcd60e51b815260040161062c90613b6f565b600655611331565b61119e84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601881527f656e61626c654d616c6963696f7573566f7465536c6173680000000000000000602082015291506127939050565b1561121557602081146111c35760405162461bcd60e51b815260040161062c90613826565b604080516020601f84018190048102820181019092528281526111ff91908484808385018382808284376000920191909152506127f292505050565b6007805460ff1916911515919091179055611331565b61127c84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601081526f66656c6f6e79536c61736853636f706560801b602082015291506127939050565b1561131957602081146112a15760405162461bcd60e51b815260040161062c906139f6565b604080516020601f84018190048102820181019092528281526000916112df918585808385018382808284376000920191909152506127ed92505050565b905061708081101580156112f55750620d2f0081105b6113115760405162461bcd60e51b815260040161062c9061376f565b600855611331565b60405162461bcd60e51b815260040161062c90613d2e565b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a848484846040516113669493929190613677565b60405180910390a150505050565b600a81565b61100281565b33612000146113a05760405162461bcd60e51b815260040161062c90613c92565b60005460ff166113c25760405162461bcd60e51b815260040161062c90613738565b6040517f07db600eebe2ac176be8dcebad61858c245a4961bb32ca2aa3d159b09aa0810e90600090a1505050565b33411461140f5760405162461bcd60e51b815260040161062c90613ce1565b60005460ff166114315760405162461bcd60e51b815260040161062c90613738565b60035443116114525760405162461bcd60e51b815260040161062c90613dba565b3a156114705760405162461bcd60e51b815260040161062c90613a39565b60405163155853f360e21b8152611000906355614fcc9061149590849060040161362c565b60206040518083038186803b1580156114ad57600080fd5b505afa1580156114c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e5919061339f565b6114ee5761186a565b6114f6613060565b506001600160a01b0381166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015460ff1615801592820192909252906115515760208101805160010190526115aa565b60016040820181905260208201819052805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0384161790555b4381526005546020820151816115bc57fe5b0661179857600060208201526040516335409f7f60e01b8152611000906335409f7f906115ed90859060040161362c565b600060405180830381600087803b15801561160757600080fd5b505af115801561161b573d6000803e3d6000fd5b505060405163436aa28360e11b81526000925061200291506386d545069061164790869060040161362c565b60206040518083038186803b15801561165f57600080fd5b505afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116979190613295565b6001600160a01b0316146116b8576116b38282602001516125bc565b611793565b61200063f7a251d7600b6116cb85612472565b60006040518463ffffffff1660e01b81526004016116eb93929190613e6d565b600060405180830381600087803b15801561170557600080fd5b505af1925050508015611716575060015b611793573d808015611744576040519150601f19603f3d011682016040523d82523d6000602084013e611749565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c836020015183604051611789929190613e07565b60405180910390a2505b611804565b6004548160200151816117a757fe5b06611804576040516375abf10160e11b81526110009063eb57e202906117d190859060040161362c565b600060405180830381600087803b1580156117eb57600080fd5b505af11580156117ff573d6000803e3d6000fd5b505050505b6001600160a01b0382166000818152600260208181526040808420865181559186015160018301558581015191909201805460ff1916911515919091179055517fddb6012116e51abf5436d956a4f0ebd927e92c576ff96d7918290c8782291e3e9190a2505b5043600355565b60005460ff166118935760405162461bcd60e51b815260040161062c90613738565b60075460ff166118b55760405162461bcd60e51b815260040161062c906136d3565b6006546118c25760146006555b6008546118cf57603c6008555b6008548151604001514391011180156118f357504360085482602001516040015101115b61190f5760405162461bcd60e51b815260040161062c90613d55565b80602001516020015181600001516020015114801561193d5750806020015160600151816000015160600151145b1561195a5760405162461bcd60e51b815260040161062c9061394e565b8051604081015190511080156119795750602081015160408101519051105b6119955760405162461bcd60e51b815260040161062c906138d0565b6020810151518151511080156119ba5750806000015160400151816020015160400151105b806119e557508051516020820151511080156119e55750806020015160400151816000015160400151105b806119ff5750806020015160400151816000015160400151145b611a1b5760405162461bcd60e51b815260040161062c906137ba565b604080820151905163ea321e4960e01b81526110009163ea321e4991611a449190600401613664565b60206040518083038186803b158015611a5c57600080fd5b505afa158015611a70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a94919061339f565b611ab05760405162461bcd60e51b815260040161062c90613ab0565b611ac28160000151826040015161281a565b8015611adb5750611adb8160200151826040015161281a565b611af75760405162461bcd60e51b815260040161062c90613871565b6060806110006001600160a01b0316633b071dcc6040518163ffffffff1660e01b815260040160006040518083038186803b158015611b3557600080fd5b505afa158015611b49573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b7191908101906132dc565b9150915060005b8151811015611cac57611ba2828281518110611b9057fe5b602002602001015185604001516129f2565b15611ca4576006546040516213929d60e11b8152606461100280319093020491906227253a90611bd89033908590600401613640565b602060405180830381600087803b158015611bf257600080fd5b505af1158015611c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c2a919061354a565b506110006001600160a01b03166335409f7f858481518110611c4857fe5b60200260200101516040518263ffffffff1660e01b8152600401611c6c919061362c565b600060405180830381600087803b158015611c8657600080fd5b505af1158015611c9a573d6000803e3d6000fd5b5050505050611cac565b600101611b78565b5060408084015190516317b4f35360e01b8152600091612002916317b4f35391611cd891600401613664565b60206040518083038186803b158015611cf057600080fd5b505afa158015611d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d289190613295565b6001600160a01b031614611d96576040808401519051630e9fbf5160e01b815261200291630e9fbf5191611d5f9190600401613664565b600060405180830381600087803b158015611d7957600080fd5b505af1158015611d8d573d6000803e3d6000fd5b50505050610d6e565b6000611da784604001516000612a56565b90506120006001600160a01b031663f7a251d7600b611dc98760400151612a72565b60006040518463ffffffff1660e01b8152600401611de993929190613e6d565b600060405180830381600087803b158015611e0357600080fd5b505af1925050508015611e14575060015b611e86573d808015611e42576040519150601f19603f3d011682016040523d82523d6000602084013e611e47565b606091505b50817fd58d1183100bd0932c0588f31c4205d6bc6168909765a96c41adbed3115f362882604051611e789190613664565b60405180910390a250611eb2565b60405181907f7b78aadacff901d8b63d0dba4f86283d4db8aef27f9ed70413dd860f1c9532b690600090a25b50505050565b61100381565b601481565b61200481565b60005460ff1615611eec5760405162461bcd60e51b815260040161062c90613bb9565b60056004819055600a905560078054600160ff199182168117909255600080549091169091179055565b61100081565b600381565b3361100014611f425760405162461bcd60e51b815260040161062c9061397b565b60005460ff16611f645760405162461bcd60e51b815260040161062c90613738565b600154611f7057612368565b600154600090600019015b80821161233c576000805b8284101561209f57611f96613060565b6002600060018781548110611fa757fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156120895760046005548161201457fe5b0481602001510381602001818152505080600260006001888154811061203657fe5b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190208351815591830151600183015591909101516002909101805460ff1916911515919091179055612093565b600192505061209f565b50836001019350611f86565b828411612236576120ae613060565b60026000600186815481106120bf57fe5b60009182526020808320909101546001600160a01b0316835282810193909352604091820190208151606081018352815481526001820154938101939093526002015460ff1615159082015260055490915060049004816020015111156121a75760046005548161212c57fe5b0481602001510381602001818152505080600260006001878154811061214e57fe5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201902083518155918301516001808401919091559201516002909101805460ff191691151591909117905591506122369050565b60026000600186815481106121b857fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff191690558054806121fc57fe5b600082815260209020810160001990810180546001600160a01b0319169055019055836122295750612236565b506000199092019161209f565b8180156122405750805b1561231f57600260006001868154811061225657fe5b60009182526020808320909101546001600160a01b031683528201929092526040018120818155600181810192909255600201805460ff1916905580548490811061229d57fe5b600091825260209091200154600180546001600160a01b0390921691869081106122c357fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060018054806122fc57fe5b600082815260209020810160001990810180546001600160a01b03191690550190555b8261232b57505061233c565b505060019091019060001901611f7b565b6040517fcfdb3b6ccaeccbdc68be3c59c840e3b3c90f0a7c491f5fff1cf56cfda200dd9c90600090a150505b565b61100481565b606061238361237e83612aad565b61238b565b90505b919050565b6060815160011480156123bd5750607f60f81b826000815181106123ab57fe5b01602001516001600160f81b03191611155b156123c9575080612386565b6123836123db8351608060ff16612b93565b83612c65565b60608151600014156124025750604080516000815260208101909152612386565b60608260008151811061241157fe5b602002602001015190506000600190505b8351811015612452576124488285838151811061243b57fe5b6020026020010151612c65565b9150600101612422565b5061246b612465825160c060ff16612b93565b82612c65565b9392505050565b60408051600480825260a08201909252606091829190816020015b606081526020019060019003908161248d5790505090506124b6836001600160a01b0316612ce2565b816000815181106124c357fe5b60200260200101819052506124d743612370565b816001815181106124e457fe5b60209081029190910101526124fa6102ca612370565b8160028151811061250757fe5b602002602001018190525061251b42612370565b8160038151811061252857fe5b602002602001018190525061246b816123e1565b612544613083565b600061254e613083565b612556613095565b61256761256286612d05565b612d2a565b90506000805b61257683612d74565b156125af57806125a25761259161258c84612d95565b612de3565b63ffffffff168452600191506125a7565b6125af565b60010161256d565b5091935090915050915091565b6040516375cc7d8960e01b8152612002906375cc7d89906125e190859060040161362c565b600060405180830381600087803b1580156125fb57600080fd5b505af192505050801561260c575060015b610da9576040516000815260443d1015612628575060006126c5565b60046000803e60005160e01c6308c379a081146126495760009150506126c5565b60043d036004833e81513d602482011167ffffffffffffffff82111715612675576000925050506126c5565b808301805167ffffffffffffffff8111156126975760009450505050506126c5565b8060208301013d86018111156126b5576000955050505050506126c5565b601f01601f191660405250925050505b806126d05750612719565b826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c838360405161270b929190613e07565b60405180910390a25061278e565b3d808015612743576040519150601f19603f3d011682016040523d82523d6000602084013e612748565b606091505b50826001600160a01b03167fd7bc86ff5d08c8ab043edec743302aba2520e6635172a428bc956721db9e2d1c8383604051612784929190613e07565b60405180910390a2505b610da9565b6000816040516020016127a69190613610565b60405160208183030381529060405280519060200120836040516020016127cd9190613610565b604051602081830303815290604052805190602001201490505b92915050565b015190565b8082015160009060ff81161561280c576001915081612812565b60009150815b505092915050565b60408051600480825260a0820190925260009160609190816020015b606081526020019060019003908161283657505060408051602080825281830190925291925060609190808201818036833701905050905061287b8560000151612370565b8260008151811061288857fe5b60200260200101819052506128a36020866020015183612e65565b6128ac8161238b565b826001815181106128b957fe5b60200260200101819052506128d18560400151612370565b826002815181106128de57fe5b60200260200101819052506128f96020866060015183612e65565b6129028161238b565b8260038151811061290f57fe5b60200260200101819052506129356020612928846123e1565b8051906020012083612e65565b6040805160b080825260e08201909252606091602082018180368337019050509050612965818360006020612e75565b61297781876080015160206060612e75565b612985818660806030612e75565b604080516001808252818301909252606091602082018180368337019050509050815160016020830182602086016066600019fa6129c257600080fd5b5060016129d0826000612ec8565b60ff16146129e55760009450505050506127e7565b5060019695505050505050565b815181516000916001918114808314612a0e5760009250612a4c565b600160208701838101602088015b600284838510011415612a47578051835114612a3b5760009650600093505b60209283019201612a1c565b505050505b5090949350505050565b60008160200183511015612a6957600080fd5b50016020015190565b60408051600480825260a08201909252606091829190816020015b6060815260200190600190039081612a8d5790505090506124b68361238b565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff198416612af157506018612b15565b6fffffffffffffffffffffffffffffffff198416612b1157506010612b15565b5060005b6020811015612b4b57818181518110612b2a57fe5b01602001516001600160f81b03191615612b4357612b4b565b600101612b15565b60008160200390506060816040519080825280601f01601f191660200182016040528015612b80576020820181803683370190505b5080830196909652508452509192915050565b6060680100000000000000008310612bbd5760405162461bcd60e51b815260040161062c906138a8565b60408051600180825281830190925260609160208201818036833701905050905060378411612c175782840160f81b81600081518110612bf957fe5b60200101906001600160f81b031916908160001a90535090506127e7565b6060612c2285612aad565b90508381510160370160f81b82600081518110612c3b57fe5b60200101906001600160f81b031916908160001a905350612c5c8282612c65565b95945050505050565b6060806040519050835180825260208201818101602087015b81831015612c96578051835260209283019201612c7e565b50855184518101855292509050808201602086015b81831015612cc3578051835260209283019201612cab565b508651929092011591909101601f01601f191660405250905092915050565b60408051600560a21b831860148201526034810190915260609061246b8161238b565b612d0d6130b5565b506040805180820190915281518152602082810190820152919050565b612d32613095565b612d3b82612ee4565b612d4457600080fd5b6000612d538360200151612f1e565b60208085015160408051808201909152868152920190820152915050919050565b6000612d7e6130b5565b505080518051602091820151919092015191011190565b612d9d6130b5565b612da682612d74565b612daf57600080fd5b60208201516000612dbf82612f81565b80830160209586015260408051808201909152908152938401919091525090919050565b805160009015801590612df857508151602110155b612e0157600080fd5b6000612e108360200151612f1e565b90508083600001511015612e365760405162461bcd60e51b815260040161062c90613c16565b825160208085015183018051928490039291831015612e5c57826020036101000a820491505b50949350505050565b9091018181526020918201910152565b60005b81811015610c2357838181518110612e8c57fe5b602001015160f81c60f81b858480600101955081518110612ea957fe5b60200101906001600160f81b031916908160001a905350600101612e78565b60008160010183511015612edb57600080fd5b50016001015190565b8051600090612ef557506000612386565b6020820151805160001a9060c0821015612f1457600092505050612386565b5060019392505050565b8051600090811a6080811015612f38576000915050612386565b60b8811080612f53575060c08110801590612f53575060f881105b15612f62576001915050612386565b60c0811015612f765760b519019050612386565b60f519019050612386565b80516000908190811a6080811015612f9c5760019150613059565b60b8811015612fb157607e1981019150613059565b60c081101561300257600060b78203600186019550806020036101000a865104915060018101820193505080831015612ffc5760405162461bcd60e51b815260040161062c906139cb565b50613059565b60f88110156130175760be1981019150613059565b600060f78203600186019550806020036101000a8651049150600181018201935050808310156128125760405162461bcd60e51b815260040161062c906139cb565b5092915050565b604051806060016040528060008152602001600081526020016000151581525090565b60408051602081019091526000815290565b60405180604001604052806130a86130b5565b8152602001600081525090565b604051806040016040528060008152602001600081525090565b600082601f8301126130df578081fd5b81516130f26130ed82613ec0565b613e99565b818152915060208083019084810160005b84811015613168578151870188603f82011261311e57600080fd5b8381015161312e6130ed82613ee0565b81815260408b8184860101111561314457600080fd5b61315383888401838701613f04565b50865250509282019290820190600101613103565b505050505092915050565b60008083601f840112613184578182fd5b50813567ffffffffffffffff81111561319b578182fd5b6020830191508360208285010111156131b357600080fd5b9250929050565b600082601f8301126131ca578081fd5b81356131d86130ed82613ee0565b91508082528360208285010111156131ef57600080fd5b8060208401602084013760009082016020015292915050565b600060a08284031215613219578081fd5b61322360a0613e99565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff81111561326157600080fd5b61326d848285016131ba565b60808301525092915050565b60006020828403121561328a578081fd5b813561246b81613f30565b6000602082840312156132a6578081fd5b815161246b81613f30565b600080604083850312156132c3578081fd5b82356132ce81613f30565b946020939093013593505050565b600080604083850312156132ee578182fd5b825167ffffffffffffffff80821115613305578384fd5b81850186601f820112613316578485fd5b805192506133266130ed84613ec0565b80848252602080830192508084018a828389028701011115613346578889fd5b8894505b8685101561337157805161335d81613f30565b84526001949094019392810192810161334a565b508801519096509350505080821115613388578283fd5b50613395858286016130cf565b9150509250929050565b6000602082840312156133b0578081fd5b8151801515811461246b578182fd5b600080604083850312156133d1578182fd5b823567ffffffffffffffff808211156133e8578384fd5b6133f4868387016131ba565b93506020850135915080821115613409578283fd5b50613395858286016131ba565b6000806000806040858703121561342b578182fd5b843567ffffffffffffffff80821115613442578384fd5b61344e88838901613173565b90965094506020870135915080821115613466578384fd5b5061347387828801613173565b95989497509550505050565b600060208284031215613490578081fd5b813567ffffffffffffffff808211156134a7578283fd5b818401606081870312156134b9578384fd5b6134c36060613e99565b92508035828111156134d3578485fd5b6134df87828401613208565b8452506020810135828111156134f3578485fd5b6134ff87828401613208565b602085015250604081013582811115613516578485fd5b613522878284016131ba565b6040850152509195945050505050565b600060208284031215613543578081fd5b5035919050565b60006020828403121561355b578081fd5b5051919050565b600080600060408486031215613576578081fd5b833560ff81168114613586578182fd5b9250602084013567ffffffffffffffff8111156135a1578182fd5b6135ad86828701613173565b9497909650939450505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b600081518084526135fc816020860160208601613f04565b601f01601f19169290920160200192915050565b60008251613622818460208701613f04565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b60006020825261246b60208301846135e4565b60006040825261368b6040830186886135ba565b828103602084015261369e8185876135ba565b979650505050505050565b60208082526010908201526f195d9a59195b98d9481d1bdbc81bdb1960821b604082015260600190565b6020808252818101527f6d616c6963696f757320766f746520736c617368206e6f7420656e61626c6564604082015260600190565b6020808252601690820152751d985b1a59185d1bdc881b9bdd081b5a59dc985d195960521b604082015260600190565b60208082526019908201527f74686520636f6e7472616374206e6f7420696e69742079657400000000000000604082015260600190565b6020808252602b908201527f746865206d616c6963696f757320766f746520736c6173682073636f7065206f60408201526a7574206f662072616e676560a81b606082015260800190565b6020808252601a908201527f6e6f2076696f6c6174696f6e206f6620766f74652072756c6573000000000000604082015260600190565b6020808252818101527f7468652066656c6f6e795468726573686f6c64206f7574206f662072616e6765604082015260600190565b6020808252602b908201527f6c656e677468206f6620656e61626c654d616c6963696f7573566f7465536c6160408201526a0e6d040dad2e6dac2e8c6d60ab1b606082015260800190565b60208082526017908201527f766572696679207369676e6174757265206661696c6564000000000000000000604082015260600190565b6020808252600e908201526d696e70757420746f6f206c6f6e6760901b604082015260600190565b60208082526019908201527f7372634e756d20626967676572207468616e207461724e756d00000000000000604082015260600190565b60208082526027908201527f6c656e677468206f66206d697364656d65616e6f725468726573686f6c64206d6040820152660d2e6dac2e8c6d60cb1b606082015260800190565b60208082526013908201527274776f206964656e746963616c20766f74657360681b604082015260600190565b60208082526030908201527f746865206d6573736167652073656e646572206d7573742062652076616c696460408201526f185d1bdc94d95d0818dbdb9d1c9858dd60821b606082015260800190565b6020808252601190820152706164646974696f6e206f766572666c6f7760781b604082015260600190565b60208082526023908201527f6c656e677468206f662066656c6f6e79536c61736853636f7065206d69736d616040820152620e8c6d60eb1b606082015260800190565b6020808252601490820152736761737072696365206973206e6f74207a65726f60601b604082015260600190565b60208082526029908201527f6c656e677468206f662066656c6f6e79536c617368526577617264526174696f604082015268040dad2e6dac2e8c6d60bb1b606082015260800190565b6020808252601590820152741d9bdd195059191c881a5cc81b9bdd08199bdd5b99605a1b604082015260600190565b6020808252602e908201527f746865206d6573736167652073656e646572206d75737420626520676f76657260408201526d1b985b98d94818dbdb9d1c9858dd60921b606082015260800190565b60208082526022908201527f6c656e677468206f662066656c6f6e795468726573686f6c64206d69736d61746040820152610c6d60f31b606082015260800190565b6020808252602a908201527f7468652066656c6f6e7920736c6173682072657761726420726174696f206f7560408201526974206f662072616e676560b01b606082015260800190565b60208082526019908201527f74686520636f6e747261637420616c726561647920696e697400000000000000604082015260600190565b6020808252600c908201526b32b6b83a3c903432b0b232b960a11b604082015260600190565b6020808252601a908201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604082015260600190565b60208082526025908201527f746865206d697364656d65616e6f725468726573686f6c64206f7574206f662060408201526472616e676560d81b606082015260800190565b6020808252602f908201527f746865206d6573736167652073656e646572206d7573742062652063726f737360408201526e0818da185a5b8818dbdb9d1c9858dd608a1b606082015260800190565b6020808252602d908201527f746865206d6573736167652073656e646572206d75737420626520746865206260408201526c3637b1b590383937b23ab1b2b960991b606082015260800190565b6020808252600d908201526c756e6b6e6f776e20706172616d60981b604082015260600190565b6020808252601490820152731d185c99d95d08189b1bd8dac81d1bdbc81bdb1960621b604082015260600190565b6020808252601e908201527f7265636569766520756e65787065637465642073796e207061636b6167650000604082015260600190565b6020808252818101527f63616e206e6f7420736c61736820747769636520696e206f6e6520626c6f636b604082015260600190565b61ffff91909116815260200190565b90815260200190565b600083825260406020830152613e2060408301846135e4565b949350505050565b918252602082015260400190565b92835260208301919091521515604082015260600190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b600060ff8516825260606020830152613e8960608301856135e4565b9050826040830152949350505050565b60405181810167ffffffffffffffff81118282101715613eb857600080fd5b604052919050565b600067ffffffffffffffff821115613ed6578081fd5b5060209081020190565b600067ffffffffffffffff821115613ef6578081fd5b50601f01601f191660200190565b60005b83811015613f1f578181015183820152602001613f07565b83811115611eb25750506000910152565b6001600160a01b0381168114613f4557600080fd5b5056fea164736f6c6343000604000a", }, + { + ContractAddr: common.HexToAddress(TokenHubContract), + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/cfc0bd1127186a917ddc38fd38d22903034d3f0b", + Code: "6080604052600436106104345760003560e01c806393ab703f11610229578063bbface1f1161012e578063e8f35cea116100b6578063fb063e8f1161007a578063fb063e8f146110c1578063fc1a598f146110d6578063fc3e590814610cf7578063fd6a687914611109578063ff9c0027146108cd5761047c565b8063e8f35cea1461103a578063ebf71d531461106d578063f014847214611082578063f9a2bbc714611097578063fa9e9159146110ac5761047c565b8063cf419844116100fd578063cf41984414610fc0578063d9e6dae91461083a578063dc927faf14610ffb578063df8079e914611010578063e1c7392a146110255761047c565b8063bbface1f14610ec0578063bd46646114610ef3578063c81b166214610f26578063c8509d8114610f3b5761047c565b8063a7c9f02d116101b1578063ab51bb9611610180578063ab51bb9614610d7d578063ac43175114610d92578063b99328c514610e5d578063b9fd21e314610e96578063ba35ead614610eab5761047c565b8063a7c9f02d14610cf7578063aa7415f514610d0c578063aa82dce114610d53578063aad5606314610d685761047c565b80639a99b4f0116101f85780639a99b4f014610c6a5780639dc0926214610ca3578063a1a11bf514610cb8578063a496fba214610ccd578063a78abc1614610ce25761047c565b806393ab703f14610bf25780639509b98014610c0757806396713da914610c405780639a854bbd14610c555761047c565b806351e806721161033a57806371d30863116102c25780637e434d54116102865780637e434d5414610ae0578063831d65d114610af55780638525db0314610b7a5780638b87b21f1461078f5780638eff336c14610bb35761047c565b806371d3086314610a38578063727be1f814610a4d57806375d47a0a14610a775780637942fd0514610a8c578063799758b914610aa15761047c565b806366dea52a1161030957806366dea52a146108cd5780636e056520146108e25780636e47b48214610a0e57806370fd5bad146108cd578063718a8aa814610a235761047c565b806351e806721461087957806359b927891461088e5780635d499b1b146108b8578063613684751461083a5761047c565b80633dffc387116103bd578063493279b11161038c578063493279b1146107f95780634a3acdf4146108255780634bf6c8821461083a57806350432d321461084f57806351b4dce3146108645761047c565b80633dffc3871461078f5780633fd8b02f146107ba57806343756e5c146107cf57806343a368b9146107e45761047c565b806312234582116104045780631223458214610625578063149d14d91461066057806328087028146106755780632ae454831461068a5780633d713223146106de5761047c565b806227253a146104815780630bee7a67146104cc5780630e2374a5146104fa5780631182b8751461052b5761047c565b3661047c57341561047a576040805133815234602082015281517f6c98249d85d88c3753a04a22230f595e4dc8d3dc86c34af35deeeedc861b89db929181900390910190a15b005b600080fd5b34801561048d57600080fd5b506104ba600480360360408110156104a457600080fd5b506001600160a01b03813516906020013561111e565b60408051918252519081900360200190f35b3480156104d857600080fd5b506104e16111db565b6040805163ffffffff9092168252519081900360200190f35b34801561050657600080fd5b5061050f6111e0565b604080516001600160a01b039092168252519081900360200190f35b34801561053757600080fd5b506105b06004803603604081101561054e57600080fd5b60ff8235169190810190604081016020820135600160201b81111561057257600080fd5b82018360208201111561058457600080fd5b803590602001918460018302840111600160201b831117156105a557600080fd5b5090925090506111e6565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105ea5781810151838201526020016105d2565b50505050905090810190601f1680156106175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561063157600080fd5b5061047a6004803603604081101561064857600080fd5b506001600160a01b0381358116916020013516611314565b34801561066c57600080fd5b506104ba61140e565b34801561068157600080fd5b5061050f611414565b34801561069657600080fd5b506106c5600480360360408110156106ad57600080fd5b506001600160a01b038135811691602001351661141a565b6040805192835260208301919091528051918290030190f35b3480156106ea57600080fd5b5061050f6004803603602081101561070157600080fd5b810190602081018135600160201b81111561071b57600080fd5b82018360208201111561072d57600080fd5b803590602001918460018302840111600160201b8311171561074e57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061143e945050505050565b34801561079b57600080fd5b506107a4611462565b6040805160ff9092168252519081900360200190f35b3480156107c657600080fd5b506104ba611467565b3480156107db57600080fd5b5061050f61146d565b3480156107f057600080fd5b506104ba611473565b34801561080557600080fd5b5061080e61147f565b6040805161ffff9092168252519081900360200190f35b34801561083157600080fd5b506104ba611485565b34801561084657600080fd5b506107a461148b565b34801561085b57600080fd5b506104ba611490565b34801561087057600080fd5b5061050f61149b565b34801561088557600080fd5b5061050f6114a1565b34801561089a57600080fd5b5061050f600480360360208110156108b157600080fd5b50356114a7565b3480156108c457600080fd5b506104ba6114c2565b3480156108d957600080fd5b506107a46114cb565b6109fa600480360360808110156108f857600080fd5b810190602081018135600160201b81111561091257600080fd5b82018360208201111561092457600080fd5b803590602001918460208302840111600160201b8311171561094557600080fd5b919390929091602081019035600160201b81111561096257600080fd5b82018360208201111561097457600080fd5b803590602001918460208302840111600160201b8311171561099557600080fd5b919390929091602081019035600160201b8111156109b257600080fd5b8201836020820111156109c457600080fd5b803590602001918460208302840111600160201b831117156109e557600080fd5b91935091503567ffffffffffffffff166114d0565b604080519115158252519081900360200190f35b348015610a1a57600080fd5b5061050f6119a5565b348015610a2f57600080fd5b506107a46119ab565b348015610a4457600080fd5b506104ba6119b0565b348015610a5957600080fd5b506109fa60048036036020811015610a7057600080fd5b50356119b6565b348015610a8357600080fd5b5061050f611a37565b348015610a9857600080fd5b506107a4611a3d565b348015610aad57600080fd5b5061047a60048036036060811015610ac457600080fd5b508035906001600160a01b036020820135169060400135611a42565b348015610aec57600080fd5b5061050f611ce8565b348015610b0157600080fd5b5061047a60048036036040811015610b1857600080fd5b60ff8235169190810190604081016020820135600160201b811115610b3c57600080fd5b820183602082011115610b4e57600080fd5b803590602001918460018302840111600160201b83111715610b6f57600080fd5b509092509050611cee565b348015610b8657600080fd5b5061047a60048036036040811015610b9d57600080fd5b50803590602001356001600160a01b0316611e37565b348015610bbf57600080fd5b5061047a60048036036060811015610bd657600080fd5b508035906001600160a01b036020820135169060400135611fa0565b348015610bfe57600080fd5b506104ba612026565b348015610c1357600080fd5b5061047a60048036036040811015610c2a57600080fd5b506001600160a01b03813516906020013561202d565b348015610c4c57600080fd5b506107a46121ea565b348015610c6157600080fd5b506104ba6121ef565b348015610c7657600080fd5b506104ba60048036036040811015610c8d57600080fd5b506001600160a01b0381351690602001356121fb565b348015610caf57600080fd5b5061050f612339565b348015610cc457600080fd5b5061050f61233f565b348015610cd957600080fd5b506107a4612345565b348015610cee57600080fd5b506109fa61234a565b348015610d0357600080fd5b506107a4612353565b6109fa60048036036080811015610d2257600080fd5b5080356001600160a01b03908116916020810135909116906040810135906060013567ffffffffffffffff16612358565b348015610d5f57600080fd5b5061050f612a19565b348015610d7457600080fd5b5061050f612a1f565b348015610d8957600080fd5b506104e1612345565b348015610d9e57600080fd5b5061047a60048036036040811015610db557600080fd5b810190602081018135600160201b811115610dcf57600080fd5b820183602082011115610de157600080fd5b803590602001918460018302840111600160201b83111715610e0257600080fd5b919390929091602081019035600160201b811115610e1f57600080fd5b820183602082011115610e3157600080fd5b803590602001918460018302840111600160201b83111715610e5257600080fd5b509092509050612a25565b348015610e6957600080fd5b5061047a60048036036040811015610e8057600080fd5b50803590602001356001600160a01b0316612ecd565b348015610ea257600080fd5b506104ba612f4d565b348015610eb757600080fd5b506104ba612f57565b348015610ecc57600080fd5b506104ba60048036036020811015610ee357600080fd5b50356001600160a01b0316612f5d565b348015610eff57600080fd5b506104ba60048036036020811015610f1657600080fd5b50356001600160a01b0316612f6f565b348015610f3257600080fd5b5061050f612f8a565b348015610f4757600080fd5b5061047a60048036036040811015610f5e57600080fd5b60ff8235169190810190604081016020820135600160201b811115610f8257600080fd5b820183602082011115610f9457600080fd5b803590602001918460018302840111600160201b83111715610fb557600080fd5b509092509050612f90565b348015610fcc57600080fd5b5061047a60048036036040811015610fe357600080fd5b506001600160a01b0381358116916020013516613060565b34801561100757600080fd5b5061050f613334565b34801561101c57600080fd5b5061050f61333a565b34801561103157600080fd5b5061047a613340565b34801561104657600080fd5b506104ba6004803603602081101561105d57600080fd5b50356001600160a01b03166133e0565b34801561107957600080fd5b506107a46133f2565b34801561108e57600080fd5b506107a46133f7565b3480156110a357600080fd5b5061050f6133fc565b3480156110b857600080fd5b506104ba613402565b3480156110cd57600080fd5b506104ba613408565b3480156110e257600080fd5b506105b0600480360360208110156110f957600080fd5b50356001600160a01b0316613416565b34801561111557600080fd5b5061050f61353d565b6000805460ff16611164576040805162461bcd60e51b81526020600482015260196024820152600080516020615cf3833981519152604482015290519081900360640190fd5b33611005146111a45760405162461bcd60e51b815260040180806020018281038252602f81526020018061594f602f913960400191505060405180910390fd5b60405162461bcd60e51b8152600401808060200182810382526026815260200180615da96026913960400191505060405180910390fd5b606481565b61200181565b60005460609060ff1661122e576040805162461bcd60e51b81526020600482015260196024820152600080516020615cf3833981519152604482015290519081900360640190fd5b336120001461126e5760405162461bcd60e51b815260040180806020018281038252602f815260200180615ca1602f913960400191505060405180910390fd5b60ff8416600214156112c0576112b983838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061354392505050565b905061130d565b6040805162461bcd60e51b815260206004820152601860248201527f756e7265636f676e697a65642073796e207061636b6167650000000000000000604482015290519081900360640190fd5b9392505050565b33612000146113545760405162461bcd60e51b815260040180806020018281038252602f815260200180615ca1602f913960400191505060405180910390fd5b6001600160a01b03808316600090815260076020908152604080832093851683529290522080546113bf576040805162461bcd60e51b815260206004820152601060248201526f1b9bc81b1bd8dad95908185b5bdd5b9d60821b604482015290519081900360640190fd5b8054600082556040805182815290516001600160a01b0380861692908716917f152fb15aa5d80f843e1e4bd5f2fc9161714f169945024decec7e84fb910fdd519181900360200190a350505050565b60015490565b61200581565b60076020908152600092835260408084209091529082529020805460019091015482565b6020818101516000908152600490915260409020546001600160a01b03165b919050565b600181565b60055481565b61100181565b670de0b6b3a764000081565b6102ca81565b61a8c081565b600881565b66071afd498d000081565b61200681565b61200081565b6000908152600460205260409020546001600160a01b031690565b6402540be40081565b600281565b6000805460ff16611516576040805162461bcd60e51b81526020600482015260196024820152600080516020615cf3833981519152604482015290519081900360640190fd5b8685146115545760405162461bcd60e51b815260040180806020018281038252603b815260200180615c66603b913960400191505060405180910390fd5b8683146115925760405162461bcd60e51b815260040180806020018281038252603f815260200180615b39603f913960400191505060405180910390fd5b426078018267ffffffffffffffff1610156115de5760405162461bcd60e51b81526004018080602001828103825260248152602001806159fe6024913960400191505060405180910390fd5b6402540be4003406156116225760405162461bcd60e51b8152600401808060200182810382526040815260200180615d696040913960400191505060405180910390fd5b60408051868152602080880282010190915285906000908190606090848015611655578160200160208202803683370190505b50905060005b84811015611730576402540be4008b8b8381811061167557fe5b905060200201358161168357fe5b06156116c05760405162461bcd60e51b815260040180806020018281038252603c815260200180615b78603c913960400191505060405180910390fd5b6116e58b8b838181106116cf57fe5b905060200201358561366790919063ffffffff16565b93506117116402540be4008c8c848181106116fc57fe5b905060200201356136c190919063ffffffff16565b82828151811061171d57fe5b602090810291909101015260010161165b565b5060015461175590611748908663ffffffff61370316565b849063ffffffff61366716565b3410156117935760405162461bcd60e51b8152600401808060200182810382526056815260200180615d136056913960600191505060405180910390fd5b6117a3348463ffffffff61375c16565b91506117ad615802565b6040518060c001604052806221272160e91b60001b815260200160006001600160a01b031681526020018381526020018e8e808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050908252506040805160208c810282810182019093528c82529283019290918d918d91829185019084908082843760009201919091525050509082525067ffffffffffffffff8916602090910152905061200063f7a251d760036118718461379e565b611886876402540be40063ffffffff6136c116565b6040518463ffffffff1660e01b8152600401808460ff1660ff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156118e45781810151838201526020016118cc565b50505050905090810190601f1680156119115780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561193257600080fd5b505af1158015611946573d6000803e3d6000fd5b505060408051600081523360208201528082018890526060810187905290517f74eab09b0e53aefc23f2e1b16da593f95c2dd49c6f5a23720463d10d9c330b2a9350908190036080019150a15060019c9b505050505050505050505050565b61100581565b601081565b60015481565b600033612001146119f85760405162461bcd60e51b815260040180806020018281038252603381526020018061591c6033913960400191505060405180910390fd5b8115611a2f576040516120019083156108fc029084906000818181858888f19350505050158015611a2d573d6000803e3d6000fd5b505b506001919050565b61100881565b600b81565b60005460ff16611a87576040805162461bcd60e51b81526020600482015260196024820152600080516020615cf3833981519152604482015290519081900360640190fd5b3361300014611ac75760405162461bcd60e51b815260040180806020018281038252602b815260200180615ae9602b913960400191505060405180910390fd5b677ce66c50e2840000811115611b0e5760405162461bcd60e51b8152600401808060200182810382526035815260200180615a226035913960400191505060405180910390fd5b60006221272160e91b8414611c6f576000848152600460205260409020546001600160a01b031680611b78576040805162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a59081cde5b589bdb60921b604482015290519081900360640190fd5b6001600160a01b038116600090815260026020526040902054611b9b8482613a59565b604080516370a0823160e01b8152306004820152905191945084916001600160a01b038516916370a08231916024808301926020929190829003018186803b158015611be657600080fd5b505afa158015611bfa573d6000803e3d6000fd5b505050506040513d6020811015611c1057600080fd5b50511015611c5c576040805162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b611c6886838588613a99565b5050611ce2565b611c84826402540be40063ffffffff61370316565b905080471015611cd2576040805162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6000611ce085828487613a99565b505b50505050565b61200381565b60005460ff16611d33576040805162461bcd60e51b81526020600482015260196024820152600080516020615cf3833981519152604482015290519081900360640190fd5b3361200014611d735760405162461bcd60e51b815260040180806020018281038252602f815260200180615ca1602f913960400191505060405180910390fd5b60ff831660031415611dc357611dbe82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613b3392505050565b611e32565b7f41ce201247b6ceb957dcdb217d0b8acb50b9ea0e12af9af4f5e7f38902101605838383604051808460ff1660ff168152602001806020018281038252848482818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a15b505050565b3361300014611e775760405162461bcd60e51b815260040180806020018281038252602b815260200180615ae9602b913960400191505060405180910390fd5b60006221272160e91b8314611ee257506000828152600460205260409020546001600160a01b031680611ee2576040805162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a59081cde5b589bdb60921b604482015290519081900360640190fd5b6001600160a01b0380821660009081526007602090815260408083209386168352929052208054611f4d576040805162461bcd60e51b815260206004820152601060248201526f1b9bc81b1bd8dad95908185b5bdd5b9d60821b604482015290519081900360640190fd5b8054600082556040805182815290516001600160a01b03808716929086169188917f8041a9a8704332594e2884f5e0f942281cdd7611854c365b4d0aa70b2295d6b6919081900360200190a45050505050565b3361100814611fe05760405162461bcd60e51b8152600401808060200182810382526023815260200180615cd06023913960400191505060405180910390fd5b600083815260046020908152604080832080546001600160a01b039096166001600160a01b03199096168617905593825260038152838220949094556002909352912055565b62093a8081565b81806001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561206757600080fd5b505afa15801561207b573d6000803e3d6000fd5b505050506040513d602081101561209157600080fd5b50516001600160a01b031633146120ef576040805162461bcd60e51b815260206004820152601860248201527f6e6f74206f776e6572206f6620424550323020746f6b656e0000000000000000604482015290519081900360640190fd5b6000821161213d576040805162461bcd60e51b81526020600482015260166024820152751e995c9bc81b1a5b5a5d081b9bdd08185b1b1bddd95960521b604482015290519081900360640190fd5b6001600160a01b038316600090815260036020526040902054612193576040805162461bcd60e51b81526020600482015260096024820152681b9bdd08189bdd5b9960ba1b604482015290519081900360640190fd5b6001600160a01b038316600081815260066020908152604091829020859055815185815291513393927f9df3a90730dbf23b5cc18dbbd5f4af3fa94a0dffb6ff6841f98a9a9a6ac626a892908290030190a3505050565b600981565b677ce66c50e284000081565b6000805460ff16612241576040805162461bcd60e51b81526020600482015260196024820152600080516020615cf3833981519152604482015290519081900360640190fd5b33611005146122815760405162461bcd60e51b815260040180806020018281038252602f81526020018061594f602f913960400191505060405180910390fd5b60004783106122905747612292565b825b9050670de0b6b3a76400008111156122ae576000915050612333565b8015612330576040516001600160a01b0385169082156108fc029083906000818181858888f193505050501580156122ea573d6000803e3d6000fd5b50604080516001600160a01b03861681526020810183905281517ff8b71c64315fc33b2ead2adfa487955065152a8ac33d9d5193aafd7f45dc15a0929181900390910190a15b90505b92915050565b61100781565b61100681565b600081565b60005460ff1681565b600381565b6000805460ff1661239e576040805162461bcd60e51b81526020600482015260196024820152600080516020615cf3833981519152604482015290519081900360640190fd5b426078018267ffffffffffffffff1610156123ea5760405162461bcd60e51b81526004018080602001828103825260248152602001806159fe6024913960400191505060405180910390fd5b6402540be40034061561242e5760405162461bcd60e51b8152600401808060200182810382526040815260200180615d696040913960400191505060405180910390fd5b600080806001600160a01b03881661250d5760015461245490879063ffffffff61366716565b3410156124925760405162461bcd60e51b8152600401808060200182810382526061815260200180615a886061913960800191505060405180910390fd5b6402540be4008606156124d65760405162461bcd60e51b815260040180806020018281038252603c815260200180615b78603c913960400191505060405180910390fd5b6124e6348763ffffffff61375c16565b90506124fd866402540be40063ffffffff6136c116565b6221272160e91b935091506127b0565b6001600160a01b0388166000908152600360205260409020549250826125645760405162461bcd60e51b8152600401808060200182810382526031815260200180615a576031913960400191505060405180910390fd5b6001543410156125a55760405162461bcd60e51b815260040180806020018281038252603f815260200180615bd5603f913960400191505060405180910390fd5b506001600160a01b03871660009081526002602052604090205434906008811115806125f057506008811180156125f057506125ee876007198301600a0a63ffffffff613b8f16565b155b61262b5760405162461bcd60e51b815260040180806020018281038252603c815260200180615b78603c913960400191505060405180910390fd5b6126358782613bd1565b925061264084613c0a565b15612688576305f5e1008310156126885760405162461bcd60e51b815260040180806020018281038252603a8152602001806159a0603a913960400191505060405180910390fd5b6008811015806126a257506008811080156126a257508683115b6126dd5760405162461bcd60e51b8152600401808060200182810382526025815260200180615b146025913960400191505060405180910390fd5b677ce66c50e28400008311156127245760405162461bcd60e51b8152600401808060200182810382526035815260200180615a226035913960400191505060405180910390fd5b604080516323b872dd60e01b81523360048201523060248201526044810189905290516001600160a01b038b16916323b872dd9160648083019260209291908290030181600087803b15801561277957600080fd5b505af115801561278d573d6000803e3d6000fd5b505050506040513d60208110156127a357600080fd5b50516127ae57600080fd5b505b6127b8615802565b6040805160c0810182528581526001600160a01b038b166020820152815160018082528184018452919283019181602001602082028036833750505081526040805160018082528183019092526020928301929091908083019080368337505050815260408051600180825281830190925260209283019290919080830190803683370190505081526020018767ffffffffffffffff16815250905082816040015160008151811061286657fe5b60200260200101818152505087816060015160008151811061288457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250503381608001516000815181106128b657fe5b6001600160a01b039092166020928302919091019091015261200063f7a251d760036128e18461379e565b6128f6866402540be40063ffffffff6136c116565b6040518463ffffffff1660e01b8152600401808460ff1660ff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561295457818101518382015260200161293c565b50505050905090810190601f1680156129815780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156129a257600080fd5b505af11580156129b6573d6000803e3d6000fd5b5050604080516001600160a01b038d1681523360208201528082018b90526060810186905290517f74eab09b0e53aefc23f2e1b16da593f95c2dd49c6f5a23720463d10d9c330b2a9350908190036080019150a150600198975050505050505050565b61200281565b61300081565b3361100714612a655760405162461bcd60e51b815260040180806020018281038252602e815260200180615c14602e913960400191505060405180910390fd5b60208114612aba576040805162461bcd60e51b815260206004820152601b60248201527f65787065637465642076616c7565206c656e6774682069732033320000000000604482015290519081900360640190fd5b606084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8801819004810282018101909252868152939450606093925086915085908190840183828082843760009201919091525050505060208301519091506772656c617946656560c01b811415612bc2576020820151670de0b6b3a76400008111801590612b6957506402540be4008106155b612bba576040805162461bcd60e51b815260206004820152601960248201527f7468652072656c6179466565206f7574206f662072616e676500000000000000604482015290519081900360640190fd5b600155612e38565b612c3687878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601781527f6c617267655472616e736665724c6f636b506572696f6400000000000000000060208201529150613d109050565b15612cd257604080516020601f8701819004810282018101909252858152600091612c7991888880838501838280828437600092019190915250613df792505050565b905062093a80811115612cca576040805162461bcd60e51b81526020600482015260146024820152736c6f636b20706572696f6420746f6f206c6f6e6760601b604482015290519081900360640190fd5b600555612e38565b612d3e87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080518082019091526015815274189b9893185c99d9551c985b9cd9995c931a5b5a5d605a1b60208201529150613d109050565b15612dfb57604080516020601f8701819004810282018101909252858152600091612d8191888880838501838280828437600092019190915250613df792505050565b905068056bc75e2d63100000811015612dcb5760405162461bcd60e51b815260040180806020018281038252602281526020018061597e6022913960400191505060405180910390fd5b6000805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f855612e38565b6040805162461bcd60e51b815260206004820152600d60248201526c756e6b6e6f776e20706172616d60981b604482015290519081900360640190fd5b7f6cdb0ac70ab7f2e2d035cca5be60d89906f2dede7648ddbd7402189c1eeed17a878787876040518080602001806020018381038352878782818152602001925080828437600083820152601f01601f191690910184810383528581526020019050858580828437600083820152604051601f909101601f19169092018290039850909650505050505050a150505050505050565b3361100814612f0d5760405162461bcd60e51b8152600401808060200182810382526023815260200180615cd06023913960400191505060405180910390fd5b600091825260046020908152604080842080546001600160a01b03191690556001600160a01b039290921683526003815281832083905560029052812055565b6221272160e91b81565b61c35081565b60026020526000908152604090205481565b6001600160a01b031660009081526003602052604090205490565b61100281565b60005460ff16612fd5576040805162461bcd60e51b81526020600482015260196024820152600080516020615cf3833981519152604482015290519081900360640190fd5b33612000146130155760405162461bcd60e51b815260040180806020018281038252602f815260200180615ca1602f913960400191505060405180910390fd5b60ff831660031415611dc357611dbe82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613dfc92505050565b60085460ff16600214156130ac576040805162461bcd60e51b815260206004820152600e60248201526d4e6f2072652d656e7472616e637960901b604482015290519081900360640190fd5b6008805460ff191660021790556001600160a01b0380831660009081526007602090815260408083209385168352929052208054613124576040805162461bcd60e51b815260206004820152601060248201526f1b9bc81b1bd8dad95908185b5bdd5b9d60821b604482015290519081900360640190fd5b806001015442101561317d576040805162461bcd60e51b815260206004820152601760248201527f7374696c6c206f6e206c6f636b696e6720706572696f64000000000000000000604482015290519081900360640190fd5b805460008083556001600160a01b0385166131f0576040516001600160a01b038516906127109084906000818181858888f193505050503d80600081146131e0576040519150601f19603f3d011682016040523d82523d6000602084013e6131e5565b606091505b505080915050613283565b846001600160a01b031663a9059cbb61c35086856040518463ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600088803b15801561325357600080fd5b5087f1158015613267573d6000803e3d6000fd5b50505050506040513d602081101561327e57600080fd5b505190505b806132d5576040805162461bcd60e51b815260206004820152601e60248201527f776974686472617720756e6c6f636b656420746f6b656e206661696c65640000604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03167f832fc3e25f2b3e6fb0eb59419a73cba405f2a249fce75f7e31ea5a457a0323f1846040518082815260200191505060405180910390a350506008805460ff19166001179055505050565b61100381565b61200481565b60005460ff1615613398576040805162461bcd60e51b815260206004820152601960248201527f74686520636f6e747261637420616c726561647920696e697400000000000000604482015290519081900360640190fd5b66071afd498d000060019081556000808052600260205260127fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55805460ff19169091179055565b60066020526000908152604090205481565b600481565b600581565b61100081565b61271081565b69021e19e0c9bab240000081565b6001600160a01b03811660009081526003602090815260409182902054825182815280840190935260609290918391906020820181803683375050506020810183905290506000805b60208160ff1610156134a657828160ff168151811061347a57fe5b01602001516001600160f81b031916156134995781600101915061349e565b6134a6565b60010161345f565b5060608160ff166040519080825280601f01601f1916602001820160405280156134d7576020820181803683370190505b50905060005b8260ff168160ff16101561353357838160ff16815181106134fa57fe5b602001015160f81c60f81b828260ff168151811061351457fe5b60200101906001600160f81b031916908160001a9053506001016134dd565b5095945050505050565b61100481565b606061354d61584e565b600061355884613ef3565b91509150806135ae576040805162461bcd60e51b815260206004820152601f60248201527f756e7265636f676e697a6564207472616e73666572496e207061636b61676500604482015290519081900360640190fd5b60006135b983614032565b905063ffffffff81161561364d576040808401516020808601516001600160a01b031660009081526002909152918220546135f49190613bd1565b90506135fe615883565b60405180608001604052808660000151815260200183815260200186608001516001600160a01b031681526020018463ffffffff16815250905061364181614398565b9550505050505061145d565b5050604080516000815260208101909152915061145d9050565b600082820183811015612330576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061233083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614474565b60008261371257506000612333565b8282028284828161371f57fe5b04146123305760405162461bcd60e51b8152600401808060200182810382526021815260200180615bb46021913960400191505060405180910390fd5b600061233083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250614516565b60408051600680825260e08201909252606091829190816020015b60608152602001906001900390816137b957505083519091506137db90614570565b816000815181106137e857fe5b602002602001018190525061380983602001516001600160a01b0316614583565b8160018151811061381657fe5b60200260200101819052506000836040015151905060608160405190808252806020026020018201604052801561386157816020015b606081526020019060019003908161384c5790505b50905060005b828110156138ae5761388f8660400151828151811061388257fe5b6020026020010151614570565b82828151811061389b57fe5b6020908102919091010152600101613867565b506138b8816145a6565b836002815181106138c557fe5b602002602001018190525060608260405190808252806020026020018201604052801561390657816020015b60608152602001906001900390816138f15790505b50905060005b8381101561395c5761393d8760600151828151811061392757fe5b60200260200101516001600160a01b0316614583565b82828151811061394957fe5b602090810291909101015260010161390c565b50613966816145a6565b8460038151811061397357fe5b60200260200101819052506060836040519080825280602002602001820160405280156139b457816020015b606081526020019060019003908161399f5790505b50905060005b848110156139f4576139d58860800151828151811061392757fe5b8282815181106139e157fe5b60209081029190910101526001016139ba565b506139fe816145a6565b85600481518110613a0b57fe5b6020026020010181905250613a2d8760a0015167ffffffffffffffff16614570565b85600581518110613a3a57fe5b6020026020010181905250613a4e856145a6565b979650505050505050565b60006008821115613a8257613a7b836007198401600a0a63ffffffff61370316565b9050612333565b612330836008849003600a0a63ffffffff6136c116565b6001600160a01b0380841660009081526007602090815260408083209385168352929052208054613ad0908463ffffffff61366716565b81554262093a80016001820181905560408051858152602081019290925280516001600160a01b03808616939088169289927f446d1aa056e7b903901f49880e9f252762c1b81dc4301cf28db6dae526497eaa9281900390910190a45050505050565b613b3b6158aa565b6000613b4683614630565b9150915080613b865760405162461bcd60e51b8152600401808060200182810382526024815260200180615c426024913960400191505060405180910390fd5b611e32826147fb565b600061233083836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250614c7f565b60006008821115613bf357613a7b836007198401600a0a63ffffffff6136c116565b612330836008849003600a0a63ffffffff61370316565b604080516020808252818301909252600091606091906020820181803683375050506020810184905290506000805b60208160ff161015613c8057828160ff1681518110613c5457fe5b01602001516001600160f81b03191615613c7357816001019150613c78565b613c80565b600101613c39565b50600760ff82161015613c985760009250505061145d565b816005820360ff1681518110613caa57fe5b6020910101516001600160f81b031916602d60f81b14613ccf5760009250505061145d565b816001820360ff1681518110613ce157fe5b6020910101516001600160f81b031916604d60f81b14613d065760009250505061145d565b5060019392505050565b6000816040516020018082805190602001908083835b60208310613d455780518252601f199092019160209182019101613d26565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120836040516020018082805190602001908083835b60208310613db35780518252601f199092019160209182019101613d94565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014905092915050565b015190565b613e04615802565b6000613e0f83614ce1565b9150915080613e4f5760405162461bcd60e51b81526004018080602001828103825260248152602001806159da6024913960400191505060405180910390fd5b613e576158aa565b602080840180516001600160a01b0390811684526040808701518585015291511660009081526002909252812054905b846040015151811015613ed857613eb585604001518281518110613ea757fe5b602002602001015183613a59565b85604001518281518110613ec557fe5b6020908102919091010152600101613e87565b506080840151604083015260056060830152611ce0826147fb565b613efb61584e565b6000613f0561584e565b613f0d6158e1565b613f1e613f1986614f45565b614f6a565b90506000805b613f2d83614fb4565b156140255780613f4f57613f48613f4384614fd5565b615023565b845261401d565b8060011415613f7c57613f69613f6484614fd5565b6150da565b6001600160a01b0316602085015261401d565b8060021415613f9b57613f91613f4384614fd5565b604085015261401d565b8060031415613fc357613fb0613f6484614fd5565b6001600160a01b0316606085015261401d565b8060041415613feb57613fd8613f6484614fd5565b6001600160a01b0316608085015261401d565b806005141561401857614000613f4384614fd5565b67ffffffffffffffff1660a08501526001915061401d565b614025565b600101613f24565b5091935090915050915091565b60208101516000906001600160a01b0316614176578160a0015167ffffffffffffffff164211156140655750600161145d565b81604001514710156140795750600361145d565b614082826150f4565b6140f757606082015160408084015190516000926001600160a01b0316916127109184818181858888f193505050503d80600081146140dd576040519150601f19603f3d011682016040523d82523d6000602084013e6140e2565b606091505b50509050806140f557506004905061145d565b505b7f471eb9cc1ffe55ffadf15b32595415eb9d80f22e761d24bd6dffc607e1284d5982602001518360600151846040015160405180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b03168152602001828152602001935050505060405180910390a150600061145d565b8160a0015167ffffffffffffffff164211156141945750600161145d565b81516020808401516001600160a01b0316600090815260039091526040902054146141c15750600261145d565b602080830151604080516370a0823160e01b815230600482015290516000936001600160a01b03909316926370a082319261c3509260248083019392829003018187803b15801561421157600080fd5b5086fa158015614225573d6000803e3d6000fd5b50505050506040513d602081101561423c57600080fd5b5051604084015190915081101561425757506003905061145d565b614260836150f4565b61431757600083602001516001600160a01b031663a9059cbb61c350866060015187604001516040518463ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600088803b1580156142d557600080fd5b5087f11580156142e9573d6000803e3d6000fd5b50505050506040513d602081101561430057600080fd5b505190508061431557506005915061145d9050565b505b7f471eb9cc1ffe55ffadf15b32595415eb9d80f22e761d24bd6dffc607e1284d5983602001518460600151856040015160405180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b03168152602001828152602001935050505060405180910390a1506000905061145d565b60408051600480825260a08201909252606091829190816020015b60608152602001906001900390816143b357505083519091506143d590614570565b816000815181106143e257fe5b60200260200101819052506143fa8360200151614570565b8160018151811061440757fe5b602002602001018190525061442883604001516001600160a01b0316614583565b8160028151811061443557fe5b6020026020010181905250614453836060015163ffffffff16614570565b8160038151811061446057fe5b602002602001018190525061130d816145a6565b600081836145005760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156144c55781810151838201526020016144ad565b50505050905090810190601f1680156144f25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161450c57fe5b0495945050505050565b600081848411156145685760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156144c55781810151838201526020016144ad565b505050900390565b606061233361457e83615262565b615348565b60408051600560a21b831860148201526034810190915260609061130d81615348565b60608151600014156145c7575060408051600081526020810190915261145d565b6060826000815181106145d657fe5b602002602001015190506000600190505b83518110156146175761460d8285838151811061460057fe5b602002602001015161539a565b91506001016145e7565b5061130d61462a825160c060ff16615417565b8261539a565b6146386158aa565b60006146426158aa565b61464a6158e1565b614656613f1986614f45565b90506000805b61466583614fb4565b15614025578061468b5761467b613f6484614fd5565b6001600160a01b031684526147f3565b806001141561472c5760606146a76146a285614fd5565b61550f565b905080516040519080825280602002602001820160405280156146d4578160200160208202803683370190505b50602086015260005b8151811015614725576147028282815181106146f557fe5b6020026020010151615023565b8660200151828151811061471257fe5b60209081029190910101526001016146dd565b50506147f3565b80600214156147ce5760606147436146a285614fd5565b90508051604051908082528060200260200182016040528015614770578160200160208202803683370190505b50604086015260005b81518110156147255761479e82828151811061479157fe5b60200260200101516150da565b866040015182815181106147ae57fe5b6001600160a01b0390921660209283029190910190910152600101614779565b8060031415614018576147e3613f4384614fd5565b63ffffffff166060850152600191505b60010161465c565b80516001600160a01b0316614a255760005b816020015151811015614a1f5760008260400151828151811061482c57fe5b60200260200101516001600160a01b03166127108460200151848151811061485057fe5b60209081029190910101516040516000818181858888f193505050503d8060008114614898576040519150601f19603f3d011682016040523d82523d6000602084013e61489d565b606091505b5050905080614960577f203f9f67a785f4f81be4d48b109aa0c498d1bc8097ecc2627063f480cc5fe73e8360000151846040015184815181106148dc57fe5b6020026020010151856020015185815181106148f457fe5b6020026020010151866060015160405180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018381526020018263ffffffff1663ffffffff16815260200194505050505060405180910390a1614a16565b7fd468d4fa5e8fb4adc119b29a983fd0785e04af5cb8b7a3a69a47270c54b6901a83600001518460400151848151811061499657fe5b6020026020010151856020015185815181106149ae57fe5b6020026020010151866060015160405180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018381526020018263ffffffff1663ffffffff16815260200194505050505060405180910390a15b5060010161480d565b50614c7c565b60005b816020015151811015614c7a57600082600001516001600160a01b031663a9059cbb61c35085604001518581518110614a5d57fe5b602002602001015186602001518681518110614a7557fe5b60200260200101516040518463ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600088803b158015614acc57600080fd5b5087f1158015614ae0573d6000803e3d6000fd5b50505050506040513d6020811015614af757600080fd5b505190508015614bbb577fd468d4fa5e8fb4adc119b29a983fd0785e04af5cb8b7a3a69a47270c54b6901a836000015184604001518481518110614b3757fe5b602002602001015185602001518581518110614b4f57fe5b6020026020010151866060015160405180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018381526020018263ffffffff1663ffffffff16815260200194505050505060405180910390a1614c71565b7f203f9f67a785f4f81be4d48b109aa0c498d1bc8097ecc2627063f480cc5fe73e836000015184604001518481518110614bf157fe5b602002602001015185602001518581518110614c0957fe5b6020026020010151866060015160405180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b031681526020018381526020018263ffffffff1663ffffffff16815260200194505050505060405180910390a15b50600101614a28565b505b50565b60008183614cce5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156144c55781810151838201526020016144ad565b50828481614cd857fe5b06949350505050565b614ce9615802565b6000614cf3615802565b614cfb6158e1565b614d07613f1986614f45565b90506000805b614d1683614fb4565b156140255780614d3357614d2c613f4384614fd5565b8452614f3d565b8060011415614d5b57614d48613f6484614fd5565b6001600160a01b03166020850152614f3d565b8060021415614dea576060614d726146a285614fd5565b90508051604051908082528060200260200182016040528015614d9f578160200160208202803683370190505b50604086015260005b8151811015614de357614dc08282815181106146f557fe5b86604001518281518110614dd057fe5b6020908102919091010152600101614da8565b5050614f3d565b8060031415614e7f576060614e016146a285614fd5565b90508051604051908082528060200260200182016040528015614e2e578160200160208202803683370190505b50606086015260005b8151811015614de357614e4f82828151811061479157fe5b86606001518281518110614e5f57fe5b6001600160a01b0390921660209283029190910190910152600101614e37565b8060041415614f14576060614e966146a285614fd5565b90508051604051908082528060200260200182016040528015614ec3578160200160208202803683370190505b50608086015260005b8151811015614de357614ee482828151811061479157fe5b86608001518281518110614ef457fe5b6001600160a01b0390921660209283029190910190910152600101614ecc565b806005141561401857614f29613f4384614fd5565b67ffffffffffffffff1660a0850152600191505b600101614d0d565b614f4d615901565b506040805180820190915281518152602082810190820152919050565b614f726158e1565b614f7b826155e0565b614f8457600080fd5b6000614f938360200151615610565b60208085015160408051808201909152868152920190820152915050919050565b6000614fbe615901565b505080518051602091820151919092015191011190565b614fdd615901565b614fe682614fb4565b614fef57600080fd5b60208201516000614fff82615673565b80830160209586015260408051808201909152908152938401919091525090919050565b80516000901580159061503857508151602110155b61504157600080fd5b60006150508360200151615610565b905080836000015110156150ab576040805162461bcd60e51b815260206004820152601a60248201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604482015290519081900360640190fd5b8251602080850151830180519284900392918310156150d157826020036101000a820491505b50949350505050565b80516000906015146150eb57600080fd5b61233382615023565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85415801561512d5750600554155b1561516f5760008052600660205269021e19e0c9bab24000007f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85561a8c06005555b6020808301516001600160a01b031660009081526006909152604090205480158061519d5750808360400151105b156151ac57600091505061145d565b6020808401516001600160a01b0390811660009081526007835260408082206060880151909316825291909252908190209084015181546151f29163ffffffff61366716565b8155600554420160018201819055606085015160208087015160408089015181519081529283019490945283516001600160a01b039384169493909116927f3fb83143cd331170da18fb1e8564d97e8ec39264b6ecb1ba248ea7596ab07258928290030190a35060019392505050565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166152a6575060186152ca565b6fffffffffffffffffffffffffffffffff1984166152c6575060106152ca565b5060005b6020811015615300578181815181106152df57fe5b01602001516001600160f81b031916156152f857615300565b6001016152ca565b60008160200390506060816040519080825280601f01601f191660200182016040528015615335576020820181803683370190505b5080830196909652508452509192915050565b60608151600114801561537a5750607f60f81b8260008151811061536857fe5b01602001516001600160f81b03191611155b1561538657508061145d565b6123336153988351608060ff16615417565b835b6060806040519050835180825260208201818101602087015b818310156153cb5780518352602092830192016153b3565b50855184518101855292509050808201602086015b818310156153f85780518352602092830192016153e0565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310615467576040805162461bcd60e51b815260206004820152600e60248201526d696e70757420746f6f206c6f6e6760901b604482015290519081900360640190fd5b604080516001808252818301909252606091602082018180368337019050509050603784116154c15782840160f81b816000815181106154a357fe5b60200101906001600160f81b031916908160001a9053509050612333565b60606154cc85615262565b90508381510160370160f81b826000815181106154e557fe5b60200101906001600160f81b031916908160001a905350615506828261539a565b95945050505050565b606061551a826155e0565b61552357600080fd5b600061552e836157a6565b905060608160405190808252806020026020018201604052801561556c57816020015b615559615901565b8152602001906001900390816155515790505b509050600061557e8560200151615610565b60208601510190506000805b848110156155d55761559b83615673565b91506040518060400160405280838152602001848152508482815181106155be57fe5b60209081029190910101529181019160010161558a565b509195945050505050565b80516000906155f15750600061145d565b6020820151805160001a9060c0821015613d065760009250505061145d565b8051600090811a608081101561562a57600091505061145d565b60b8811080615645575060c08110801590615645575060f881105b1561565457600191505061145d565b60c08110156156685760b51901905061145d565b60f51901905061145d565b80516000908190811a608081101561568e576001915061579f565b60b88110156156a357607e198101915061579f565b60c081101561571d57600060b78203600186019550806020036101000a865104915060018101820193505080831015615717576040805162461bcd60e51b81526020600482015260116024820152706164646974696f6e206f766572666c6f7760781b604482015290519081900360640190fd5b5061579f565b60f88110156157325760be198101915061579f565b600060f78203600186019550806020036101000a86510491506001810182019350508083101561579d576040805162461bcd60e51b81526020600482015260116024820152706164646974696f6e206f766572666c6f7760781b604482015290519081900360640190fd5b505b5092915050565b80516000906157b75750600061145d565b600080905060006157cb8460200151615610565b602085015185519181019250015b808210156157f9576157ea82615673565b820191508260010192506157d9565b50909392505050565b6040518060c001604052806000801916815260200160006001600160a01b03168152602001606081526020016060815260200160608152602001600067ffffffffffffffff1681525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604051806080016040528060006001600160a01b031681526020016060815260200160608152602001600063ffffffff1681525090565b60405180604001604052806158f4615901565b8152602001600081525090565b60405180604001604052806000815260200160008152509056fe6f6e6c79207374616b696e672073797374656d20636f6e74726163742063616e2063616c6c20746869732066756e6374696f6e746865206d6573736167652073656e646572206d75737420626520696e63656e746976697a6520636f6e7472616374626e62206c61726765207472616e73666572206c696d697420746f6f20736d616c6c466f72206d696e69546f6b656e2c20746865207472616e7366657220616d6f756e74206d757374206e6f74206265206c657373207468616e2031756e7265636f676e697a6564207472616e736665724f75742073796e207061636b61676565787069726554696d65206d7573742062652074776f206d696e75746573206c61746572616d6f756e7420697320746f6f206c617267652c20657863656564206d6178696d756d206265703220746f6b656e20616d6f756e7474686520636f6e747261637420686173206e6f74206265656e20626f756e6420746f20616e79206265703220746f6b656e726563656976656420424e4220616d6f756e742073686f756c64206265206e6f206c657373207468616e207468652073756d206f66207472616e736665724f757420424e4220616d6f756e7420616e64206d696e696d756d2072656c6179466565746865206d73672073656e646572206d75737420626520746f6b656e207265636f76657220706f7274616c616d6f756e7420697320746f6f206c617267652c2075696e74323536206f766572666c6f774c656e677468206f6620726563697069656e74416464727320646f65736e277420657175616c20746f206c656e677468206f6620726566756e644164647273696e76616c6964207472616e7366657220616d6f756e743a20707265636973696f6e206c6f737320696e20616d6f756e7420636f6e76657273696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77726563656976656420424e4220616d6f756e742073686f756c64206265206e6f206c657373207468616e20746865206d696e696d756d2072656c6179466565746865206d6573736167652073656e646572206d75737420626520676f7665726e616e636520636f6e7472616374756e7265636f676e697a6564207472616e736665724f75742061636b207061636b6167654c656e677468206f6620726563697069656e74416464727320646f65736e277420657175616c20746f206c656e677468206f6620616d6f756e7473746865206d6573736167652073656e646572206d7573742062652063726f737320636861696e20636f6e7472616374746865206d73672073656e646572206d75737420626520746f6b656e4d616e6167657274686520636f6e7472616374206e6f7420696e69742079657400000000000000726563656976656420424e4220616d6f756e742073686f756c64206265206e6f206c657373207468616e207468652073756d206f66207472616e7366657220424e4220616d6f756e7420616e642072656c6179466565696e76616c696420726563656976656420424e4220616d6f756e743a20707265636973696f6e206c6f737320696e20616d6f756e7420636f6e76657273696f6e434c41494d5f524557415244535f464f525f46494e414c4954595f4e4f545f414c4c4f574544a164736f6c6343000604000a", + }, + { + ContractAddr: common.HexToAddress(GovHubContract), + CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/cfc0bd1127186a917ddc38fd38d22903034d3f0b", + Code: "608060405234801561001057600080fd5b50600436106102115760003560e01c80637e434d5411610125578063aad56063116100ad578063dc927faf1161007c578063dc927faf14610602578063df8079e91461060a578063f9a2bbc714610612578063fc3e59081461061a578063fd6a68791461062257610211565b8063aad5606314610572578063ab51bb961461057a578063c81b166214610582578063c8509d811461058a57610211565b80639ab1a373116100f45780639ab1a373146105365780639dc092621461053e578063a1a11bf514610546578063a78abc161461054e578063aa82dce11461056a57610211565b80637e434d54146103e5578063831d65d1146103ed57806388e4194e1461046757806396713da91461052e57610211565b8063493279b1116101a85780636e47b482116101775780636e47b482146103bd57806370fd5bad146103c5578063718a8aa8146103cd57806375d47a0a146103d55780637942fd05146103dd57610211565b8063493279b1146103865780634bf6c882146103a557806351b4dce3146103ad57806351e80672146103b557610211565b80633a21baae116101e45780633a21baae146103505780633dffc3871461035857806343756e5c146103765780634900c4ea1461037e57610211565b80630bee7a67146102165780630e2374a5146102375780631182b8751461025b5780632808702814610348575b600080fd5b61021e61062a565b6040805163ffffffff9092168252519081900360200190f35b61023f61062f565b604080516001600160a01b039092168252519081900360200190f35b6102d36004803603604081101561027157600080fd5b60ff8235169190810190604081016020820135600160201b81111561029557600080fd5b8201836020820111156102a757600080fd5b803590602001918460018302840111600160201b831117156102c857600080fd5b509092509050610635565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561030d5781810151838201526020016102f5565b50505050905090810190601f16801561033a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023f6106e4565b61021e6106ea565b6103606106ef565b6040805160ff9092168252519081900360200190f35b61023f6106f4565b6103606106fa565b61038e6106ff565b6040805161ffff9092168252519081900360200190f35b610360610705565b61023f61070a565b61023f610710565b61023f610716565b61036061071c565b610360610721565b61023f610726565b61036061072c565b61023f610731565b6104656004803603604081101561040357600080fd5b60ff8235169190810190604081016020820135600160201b81111561042757600080fd5b82018360208201111561043957600080fd5b803590602001918460018302840111600160201b8311171561045a57600080fd5b509092509050610737565b005b6104656004803603606081101561047d57600080fd5b810190602081018135600160201b81111561049757600080fd5b8201836020820111156104a957600080fd5b803590602001918460018302840111600160201b831117156104ca57600080fd5b919390929091602081019035600160201b8111156104e757600080fd5b8201836020820111156104f957600080fd5b803590602001918460018302840111600160201b8311171561051a57600080fd5b9193509150356001600160a01b03166107c9565b6103606108b4565b61021e6108b9565b61023f6108be565b61023f6108c4565b6105566108ca565b604080519115158252519081900360200190f35b61023f6108d3565b61023f6108d9565b61021e6106fa565b61023f6108df565b610465600480360360408110156105a057600080fd5b60ff8235169190810190604081016020820135600160201b8111156105c457600080fd5b8201836020820111156105d657600080fd5b803590602001918460018302840111600160201b831117156105f757600080fd5b5090925090506108e5565b61023f61095c565b61023f610962565b61023f610968565b61036061096e565b61023f610973565b606481565b61200181565b606061063f6115e1565b600061068085858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061097992505050565b915091508061069c576106936064610a3f565b925050506106dd565b60006106a783610aa9565b905063ffffffff81166106ce57505060408051600081526020810190915291506106dd9050565b6106d781610a3f565b93505050505b9392505050565b61200581565b606681565b600181565b61100181565b600081565b6102ca81565b600881565b61200681565b61200081565b61100581565b600281565b601081565b61100881565b600b81565b61200381565b33612000146107775760405162461bcd60e51b815260040180806020018281038252602f815260200180611646602f913960400191505060405180910390fd5b6040805162461bcd60e51b815260206004820152601e60248201527f7265636569766520756e65787065637465642061636b207061636b6167650000604482015290519081900360640190fd5b505050565b33612006146108095760405162461bcd60e51b81526004018080602001828103825260318152602001806116756031913960400191505060405180910390fd5b6108116115e1565b604051806060016040528087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f8801819004810282018101909252868152918101919087908790819084018382808284376000920191909152505050908252506001600160a01b03841660209091015290506108ab81610aa9565b50505050505050565b600981565b606581565b61100781565b61100681565b60005460ff1681565b61200281565b61300081565b61100281565b33612000146109255760405162461bcd60e51b815260040180806020018281038252602f815260200180611646602f913960400191505060405180910390fd5b60405162461bcd60e51b81526004018080602001828103825260238152602001806116a66023913960400191505060405180910390fd5b61100381565b61200481565b61100081565b600381565b61100481565b6109816115e1565b600061098b6115e1565b61099361160b565b6109a461099f86610e4a565b610e6f565b90506000805b6109b383610eb9565b15610a3257806109d5576109ce6109c984610eda565b610f28565b8452610a2a565b80600114156109f4576109ea6109c984610eda565b6020850152610a2a565b8060021415610a2557610a0e610a0984610eda565b610fa1565b6001600160a01b0316604085015260019150610a2a565b610a32565b6001016109aa565b5091935090915050915091565b604080516001808252818301909252606091829190816020015b6060815260200190600190039081610a59579050509050610a7f8363ffffffff16610fc1565b81600081518110610a8c57fe5b6020026020010181905250610aa081610fd4565b9150505b919050565b6000610ab8826040015161105e565b610b2457604080516020808252601c908201527f74686520746172676574206973206e6f74206120636f6e7472616374000000008183015290517f70e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb29181900360600190a1506065610aa4565b81604001516001600160a01b031663ac431751836000015184602001516040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610b91578181015183820152602001610b79565b50505050905090810190601f168015610bbe5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015610bf1578181015183820152602001610bd9565b50505050905090810190601f168015610c1e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610c3f57600080fd5b505af1925050508015610c50575060015b610e42576040516000815260443d1015610c6c57506000610d09565b60046000803e60005160e01c6308c379a08114610c8d576000915050610d09565b60043d036004833e81513d602482011167ffffffffffffffff82111715610cb957600092505050610d09565b808301805167ffffffffffffffff811115610cdb576000945050505050610d09565b8060208301013d8601811115610cf957600095505050505050610d09565b601f01601f191660405250925050505b80610d145750610db7565b7f70e72399380dcfb0338abc03dc8d47f9f470ada8e769c9a78d644ea97385ecb2816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d73578181015183820152602001610d5b565b50505050905090810190601f168015610da05780820380516001836020036101000a031916815260200191505b509250505060405180910390a16066915050610aa4565b3d808015610de1576040519150601f19603f3d011682016040523d82523d6000602084013e610de6565b606091505b5060408051602080825283518183015283517f1279f84165b4fd69c35e1f338ff107231b036c655cd1688851e011ce617c4e8d938593928392918301919085019080838360008315610d73578181015183820152602001610d5b565b506000919050565b610e5261162b565b506040805180820190915281518152602082810190820152919050565b610e7761160b565b610e8082611064565b610e8957600080fd5b6000610e98836020015161109e565b60208085015160408051808201909152868152920190820152915050919050565b6000610ec361162b565b505080518051602091820151919092015191011190565b610ee261162b565b610eeb82610eb9565b610ef457600080fd5b60208201516000610f0482611101565b80830160209586015260408051808201909152908152938401919091525090919050565b8051606090610f3657600080fd5b6000610f45836020015161109e565b83516040805191839003808352601f19601f8201168301602001909152919250606090828015610f7c576020820181803683370190505b5090506000816020019050610f98848760200151018285611234565b50949350505050565b8051600090601514610fb257600080fd5b610fbb8261127f565b92915050565b6060610fbb610fcf83611334565b61141a565b6060815160001415610ff55750604080516000815260208101909152610aa4565b60608260008151811061100457fe5b602002602001015190506000600190505b83518110156110455761103b8285838151811061102e57fe5b602002602001015161146c565b9150600101611015565b50610aa0611058825160c060ff166114e9565b8261146c565b3b151590565b805160009061107557506000610aa4565b6020820151805160001a9060c082101561109457600092505050610aa4565b5060019392505050565b8051600090811a60808110156110b8576000915050610aa4565b60b88110806110d3575060c081108015906110d3575060f881105b156110e2576001915050610aa4565b60c08110156110f65760b519019050610aa4565b60f519019050610aa4565b80516000908190811a608081101561111c576001915061122d565b60b881101561113157607e198101915061122d565b60c08110156111ab57600060b78203600186019550806020036101000a8651049150600181018201935050808310156111a5576040805162461bcd60e51b81526020600482015260116024820152706164646974696f6e206f766572666c6f7760781b604482015290519081900360640190fd5b5061122d565b60f88110156111c05760be198101915061122d565b600060f78203600186019550806020036101000a86510491506001810182019350508083101561122b576040805162461bcd60e51b81526020600482015260116024820152706164646974696f6e206f766572666c6f7760781b604482015290519081900360640190fd5b505b5092915050565b8061123e576107c4565b5b6020811061125e578251825260209283019290910190601f190161123f565b915181516020939093036101000a6000190180199091169216919091179052565b80516000901580159061129457508151602110155b61129d57600080fd5b60006112ac836020015161109e565b90508083600001511015611307576040805162461bcd60e51b815260206004820152601a60248201527f6c656e677468206973206c657373207468616e206f6666736574000000000000604482015290519081900360640190fd5b825160208085015183018051928490039291831015610f9857506020919091036101000a90049392505050565b604080516020808252818301909252606091829190602082018180368337505050602081018490529050600067ffffffffffffffff1984166113785750601861139c565b6fffffffffffffffffffffffffffffffff1984166113985750601061139c565b5060005b60208110156113d2578181815181106113b157fe5b01602001516001600160f81b031916156113ca576113d2565b60010161139c565b60008160200390506060816040519080825280601f01601f191660200182016040528015611407576020820181803683370190505b5080830196909652508452509192915050565b60608151600114801561144c5750607f60f81b8260008151811061143a57fe5b01602001516001600160f81b03191611155b15611458575080610aa4565b610fbb61146a8351608060ff166114e9565b835b6060806040519050835180825260208201818101602087015b8183101561149d578051835260209283019201611485565b50855184518101855292509050808201602086015b818310156114ca5780518352602092830192016114b2565b508651929092011591909101601f01601f191660405250905092915050565b6060680100000000000000008310611539576040805162461bcd60e51b815260206004820152600e60248201526d696e70757420746f6f206c6f6e6760901b604482015290519081900360640190fd5b604080516001808252818301909252606091602082018180368337019050509050603784116115935782840160f81b8160008151811061157557fe5b60200101906001600160f81b031916908160001a9053509050610fbb565b606061159e85611334565b90508381510160370160f81b826000815181106115b757fe5b60200101906001600160f81b031916908160001a9053506115d8828261146c565b95945050505050565b6040518060600160405280606081526020016060815260200160006001600160a01b031681525090565b604051806040016040528061161e61162b565b8152602001600081525090565b60405180604001604052806000815260200160008152509056fe746865206d6573736167652073656e646572206d7573742062652063726f737320636861696e20636f6e7472616374746865206d73672073656e646572206d75737420626520676f7665726e6f722074696d656c6f636b20636f6e74726163747265636569766520756e6578706563746564206661696c2061636b207061636b616765a164736f6c6343000604000a", + }, { ContractAddr: common.HexToAddress(StakingContract), CommitUrl: "https://github.com/bnb-chain/bsc-genesis-contract/commit/cfc0bd1127186a917ddc38fd38d22903034d3f0b",