60806040526102ba600f556010805460ff191690553480156200002157600080fd5b506040516200325838038062003258833981016040819052620000449162000428565b6040518060200160405280600081525082828181816002908051906020019062000070929190620002b5565b50805162000086906003906020840190620002b5565b50506001600055506200009933620000e9565b50506009805460ff60a01b19169055620000b3816200013b565b50620000e17338474cf247b0b31d602d49ba8c227198ea2a7c7f6103e8620001b460201b62000f171760201c565b5050620004cf565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6009546001600160a01b031633146200019b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b8051620001b090600a906020840190620002b5565b5050565b6127106001600160601b0382161115620002245760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b606482015260840162000192565b6001600160a01b0382166200027c5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c696420726563656976657200000000000000604482015260640162000192565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600d55565b828054620002c39062000492565b90600052602060002090601f016020900481019282620002e7576000855562000332565b82601f106200030257805160ff191683800117855562000332565b8280016001018555821562000332579182015b828111156200033257825182559160200191906001019062000315565b506200034092915062000344565b5090565b5b8082111562000340576000815560010162000345565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200038357600080fd5b81516001600160401b0380821115620003a057620003a06200035b565b604051601f8301601f19908116603f01168101908282118183101715620003cb57620003cb6200035b565b81604052838152602092508683858801011115620003e857600080fd5b600091505b838210156200040c5785820183015181830184015290820190620003ed565b838211156200041e5760008385830101525b9695505050505050565b600080604083850312156200043c57600080fd5b82516001600160401b03808211156200045457600080fd5b620004628683870162000371565b935060208501519150808211156200047957600080fd5b50620004888582860162000371565b9150509250929050565b600181811c90821680620004a757607f821691505b60208210811415620004c957634e487b7160e01b600052602260045260246000fd5b50919050565b612d7980620004df6000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80635c975abb11610125578063b88d4fde116100ad578063def3be3d1161007c578063def3be3d14610485578063e985e9c514610492578063eb12d61e146104a5578063f2fde38b146104b8578063f47c84c5146104cb57600080fd5b8063b88d4fde14610444578063c7fecbcc14610457578063c87b56dd1461046a578063d547cfb71461047d57600080fd5b80638456cb59116100f45780638456cb59146103fd5780638da5cb5b1461040557806395d89b4114610416578063a22cb4651461041e578063b7f1d0721461043157600080fd5b80635c975abb146103bd5780636352211e146103cf57806370a08231146103e2578063715018a6146103f557600080fd5b806323b872dd116101a85780633059d438116101775780633059d438146103695780633f4ba83a1461037c57806342842e0e14610384578063484b973c1461039757806350093451146103aa57600080fd5b806323b872dd146102fe5780632a55205a146103115780632a8fa0301461034357806330176e131461035657600080fd5b8063081812fc116101ef578063081812fc1461028a578063095ea7b3146102b55780630e316ab7146102c857806318160ddd146102db5780632211532d146102eb57600080fd5b806301ffc9a7146102215780630452b6141461024957806304634d8d1461026057806306fdde0314610275575b600080fd5b61023461022f3660046125d9565b6104d4565b60405190151581526020015b60405180910390f35b610252600f5481565b604051908152602001610240565b61027361026e36600461260b565b6104e5565b005b61027d610526565b60405161024091906126a8565b61029d6102983660046126bb565b6105b8565b6040516001600160a01b039091168152602001610240565b6102736102c33660046126d4565b6105fc565b6102736102d6366004612700565b610683565b6001546000540360001901610252565b6102736102f9366004612732565b6106b8565b61027361030c36600461274d565b6106f5565b61032461031f36600461278e565b610700565b604080516001600160a01b039093168352602083019190915201610240565b6102736103513660046127b0565b6107ae565b6102736103643660046128dd565b610899565b610234610377366004612925565b6108d6565b610273610909565b61027361039236600461274d565b61093d565b6102736103a53660046126d4565b610958565b6102736103b83660046126bb565b61098c565b600954600160a01b900460ff16610234565b61029d6103dd3660046126bb565b610a7c565b6102526103f0366004612700565b610a8e565b610273610adc565b610273610b10565b6009546001600160a01b031661029d565b61027d610b42565b61027361042c366004612925565b610b51565b61027361043f366004612700565b610c17565b61027361045236600461295a565b610c63565b60125461029d906001600160a01b031681565b61027d6104783660046126bb565b610cad565b61027d610d3b565b6010546102349060ff1681565b6102346104a03660046129d9565b610dc9565b6102736104b3366004612700565b610e47565b6102736104c6366004612700565b610e7c565b6102526103e881565b60006104df82611014565b92915050565b6009546001600160a01b031633146105185760405162461bcd60e51b815260040161050f90612a07565b60405180910390fd5b6105228282610f17565b5050565b60606002805461053590612a3c565b80601f016020809104026020016040519081016040528092919081815260200182805461056190612a3c565b80156105ae5780601f10610583576101008083540402835291602001916105ae565b820191906000526020600020905b81548152906001019060200180831161059157829003601f168201915b5050505050905090565b60006105c382611039565b6105e0576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600061060782610a7c565b9050806001600160a01b0316836001600160a01b0316141561063c5760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b03821614610673576106568133610dc9565b610673576040516367d9dca160e11b815260040160405180910390fd5b61067e838383611072565b505050565b6009546001600160a01b031633146106ad5760405162461bcd60e51b815260040161050f90612a07565b610522600b826110ce565b6009546001600160a01b031633146106e25760405162461bcd60e51b815260040161050f90612a07565b6010805460ff1916911515919091179055565b61067e8383836110e3565b6000828152600e602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610775575060408051808201909152600d546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610794906001600160601b031687612a8d565b61079e9190612ac2565b91519350909150505b9250929050565b6107c76107bb33856112de565b600b9084846011611320565b8261088e5760105460ff166108285760405162461bcd60e51b815260206004820152602160248201527f676d6f6e65793a20756e7265736572766564206d696e74696e6720636c6f73656044820152601960fa1b606482015260840161050f565b6000600f541361087a5760405162461bcd60e51b815260206004820152601a60248201527f676d6f6e65793a206e6f206d6f726520756e7265736572766564000000000000604482015260640161050f565b600f6000815461088990612ad6565b909155505b61067e3360016113c9565b6009546001600160a01b031633146108c35760405162461bcd60e51b815260040161050f90612a07565b805161052290600a90602084019061252a565b6000601160006108ee6108e986866112de565b61143f565b815260208101919091526040016000205460ff169392505050565b6009546001600160a01b031633146109335760405162461bcd60e51b815260040161050f90612a07565b61093b61144a565b565b61067e83838360405180602001604052806000815250610c63565b6009546001600160a01b031633146109825760405162461bcd60e51b815260040161050f90612a07565b61052282826113c9565b6009546001600160a01b031633146109b65760405162461bcd60e51b815260040161050f90612a07565b600081600f546109c69190612af4565b905060008113610a185760405162461bcd60e51b815260206004820152601760248201527f676d6f6e65793a206e656761746976652072656d61696e000000000000000000604482015260640161050f565b6001546000546103e891900360001901610a329083612b35565b1115610a765760405162461bcd60e51b81526020600482015260136024820152720cedadedccaf27440caf0c6cacac8e640dac2f606b1b604482015260640161050f565b600f5550565b6000610a87826114e7565b5192915050565b60006001600160a01b038216610ab7576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b6009546001600160a01b03163314610b065760405162461bcd60e51b815260040161050f90612a07565b61093b6000611609565b6009546001600160a01b03163314610b3a5760405162461bcd60e51b815260040161050f90612a07565b61093b61165b565b60606003805461053590612a3c565b33610b5b816116e3565b6001600160a01b0316836001600160a01b03161415610c0d5781610b80576001610b83565b60005b6001600160a01b0382166000908152600860205260409020805460ff191660018381811115610bb457610bb4612b4d565b0217905550826001600160a01b0316816001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3184604051610c00911515815260200190565b60405180910390a3505050565b61067e8383611842565b6009546001600160a01b03163314610c415760405162461bcd60e51b815260040161050f90612a07565b601280546001600160a01b0319166001600160a01b0392909216919091179055565b610c6e8484846110e3565b6001600160a01b0383163b15610ca757610c8a848484846118d8565b610ca7576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6012546060906001600160a01b031615610d325760125460405163c87b56dd60e01b8152600481018490526001600160a01b039091169063c87b56dd90602401600060405180830381865afa158015610d0a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104df9190810190612b63565b6104df826119c0565b600a8054610d4890612a3c565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7490612a3c565b8015610dc15780601f10610d9657610100808354040283529160200191610dc1565b820191906000526020600020905b815481529060010190602001808311610da457829003601f168201915b505050505081565b6001600160a01b03808316600090815260076020908152604080832093851683529290529081205460ff1615610e01575060016104df565b6001600160a01b03831660009081526008602052604081205460ff166001811115610e2e57610e2e612b4d565b148015610e405750610e408383611a44565b9392505050565b6009546001600160a01b03163314610e715760405162461bcd60e51b815260040161050f90612a07565b610522600b82611a82565b6009546001600160a01b03163314610ea65760405162461bcd60e51b815260040161050f90612a07565b6001600160a01b038116610f0b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161050f565b610f1481611609565b50565b6127106001600160601b0382161115610f855760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b606482015260840161050f565b6001600160a01b038216610fdb5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c696420726563656976657200000000000000604482015260640161050f565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600d55565b60006001600160e01b0319821663152a902d60e11b14806104df57506104df82611a97565b60008160011115801561104d575060005482105b80156104df575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610e40836001600160a01b038416611aa2565b60006110ee826114e7565b9050836001600160a01b031681600001516001600160a01b0316146111255760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b038616148061114357506111438533610dc9565b8061115e575033611153846105b8565b6001600160a01b0316145b90508061117e57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0384166111a557604051633a954ecd60e21b815260040160405180910390fd5b6111b28585856001611b95565b6111be60008487611072565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b4290921691909102178355870180845292208054919390911661129257600054821461129257805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b5050505050565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501604051602081830303815290604052905092915050565b600061132b8561143f565b60008181526020849052604090205490915060ff161561139c5760405162461bcd60e51b815260206004820152602660248201527f5369676e6174757265436865636b65723a204d65737361676520616c726561646044820152651e481d5cd95960d21b606482015260840161050f565b6000818152602083905260409020805460ff191660011790556113c186828686611bf3565b505050505050565b6001546000546113eb91839103600019016113e6906103e8612bd0565b611c57565b9050600081116114355760405162461bcd60e51b8152602060048201526015602482015274676d6f6e65793a206e6f206d6f7265206d696e747360581b604482015260640161050f565b6105228282611c6d565b60006104df82611c87565b600954600160a01b900460ff1661149a5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161050f565b6009805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b604080516060810182526000808252602082018190529181019190915281806001116115f0576000548110156115f057600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff161515918101829052906115ee5780516001600160a01b031615611585579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff16151592810192909252156115e9579392505050565b611585565b505b604051636f96cda160e11b815260040160405180910390fd5b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600954600160a01b900460ff16156116a85760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161050f565b6009805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586114ca3390565b600080468060018114611718576089811461173457600481146117505762013881811461176c576105398114611788576117a0565b73a5409ec958c83c3f309868babaca7c86dcb077c192506117a0565b7358807bad0b376efc12f5ad86aac70e78ed67deae92506117a0565b73f57b2c51ded3a29e6891aba85459d600256cf31792506117a0565b73ff7ca10af37178bdd056628ef42fd7f799fac77c92506117a0565b73e1a2bbc877b29adbc56d2659dbcb0ae14ee6207192505b506001600160a01b03821615806117b75750806089145b806117c457508062013881145b156117d0575092915050565b60405163c455279160e01b81526001600160a01b03858116600483015283169063c455279190602401602060405180830381865afa158015611816573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183a9190612be7565b949350505050565b6001600160a01b03821633141561186c5760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061190d903390899088908890600401612c04565b6020604051808303816000875af1925050508015611948575060408051601f3d908101601f1916820190925261194591810190612c41565b60015b6119a3573d808015611976576040519150601f19603f3d011682016040523d82523d6000602084013e61197b565b606091505b50805161199b576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b60606119cb82611039565b6119e857604051630a14c4b560e41b815260040160405180910390fd5b60006119f2611cc2565b9050805160001415611a135760405180602001604052806000815250610e40565b80611a1d84611cd1565b604051602001611a2e929190612c5e565b6040516020818303038152906040529392505050565b600080611a50846116e3565b90506001600160a01b0381161580159061183a5750826001600160a01b0316816001600160a01b031614949350505050565b6000610e40836001600160a01b038416611dce565b60006104df82611e1d565b60008181526001830160205260408120548015611b8b576000611ac6600183612bd0565b8554909150600090611ada90600190612bd0565b9050818114611b3f576000866000018281548110611afa57611afa612c8d565b9060005260206000200154905080876000018481548110611b1d57611b1d612c8d565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611b5057611b50612ca3565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104df565b60009150506104df565b600954600160a01b900460ff1615611be75760405162461bcd60e51b8152602060048201526015602482015274115490cdcc8c5050dbdb5b5bdb8e881c185d5cd959605a1b604482015260640161050f565b610ca784848484611e6d565b611bff84848484611f61565b610ca75760405162461bcd60e51b815260206004820152602360248201527f5369676e6174757265436865636b65723a20496e76616c6964207369676e617460448201526275726560e81b606482015260840161050f565b6000818310611c665781610e40565b5090919050565b610522828260405180602001604052806000815250611fb6565b6000611c938251611cd1565b82604051602001611ca5929190612cb9565b604051602081830303815290604052805190602001209050919050565b6060611ccc612187565b905090565b606081611cf55750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611d1f5780611d0981612d14565b9150611d189050600a83612ac2565b9150611cf9565b6000816001600160401b03811115611d3957611d39612832565b6040519080825280601f01601f191660200182016040528015611d63576020820181803683370190505b5090505b841561183a57611d78600183612bd0565b9150611d85600a86612d2f565b611d90906030612b35565b60f81b818381518110611da557611da5612c8d565b60200101906001600160f81b031916908160001a905350611dc7600a86612ac2565b9450611d67565b6000818152600183016020526040812054611e15575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104df565b5060006104df565b60006001600160e01b031982166380ac58cd60e01b1480611e4e57506001600160e01b03198216635b5e139f60e01b145b806104df57506301ffc9a760e01b6001600160e01b03198316146104df565b6001600160a01b0383161580611eaf575060016001600160a01b03841660009081526008602052604090205460ff166001811115611ead57611ead612b4d565b145b15611eb957610ca7565b6000611ec4846116e3565b90506001600160a01b038116611efd57506001600160a01b0383166000908152600860205260409020805460ff19166001179055610ca7565b611f0684610a8e565b6112d757806001600160a01b0316846001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c316001604051611f52911515815260200190565b60405180910390a35050505050565b6000611fad611fa68585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061219692505050565b86906121ba565b95945050505050565b6000546001600160a01b038416611fdf57604051622e076360e81b815260040160405180910390fd5b82611ffd5760405163b562e8dd60e01b815260040160405180910390fd5b61200a6000858386611b95565b6001600160a01b038416600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff1981166001600160401b038083168b0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168b01811690920217909155858452600490925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b15612132575b60405182906001600160a01b038816906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46120fb60008784806001019550876118d8565b612118576040516368d2bf6b60e11b815260040160405180910390fd5b8082106120b057826000541461212d57600080fd5b612177565b5b6040516001830192906001600160a01b038816906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808210612133575b506000908155610ca79085838684565b6060600a805461053590612a3c565b60008060006121a585856121dc565b915091506121b281612249565b509392505050565b6001600160a01b03811660009081526001830160205260408120541515610e40565b6000808251604114156122135760208301516040840151606085015160001a61220787828585612404565b945094505050506107a7565b82516040141561223d57602083015160408401516122328683836124f1565b9350935050506107a7565b506000905060026107a7565b600081600481111561225d5761225d612b4d565b14156122665750565b600181600481111561227a5761227a612b4d565b14156122c85760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161050f565b60028160048111156122dc576122dc612b4d565b141561232a5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161050f565b600381600481111561233e5761233e612b4d565b14156123975760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161050f565b60048160048111156123ab576123ab612b4d565b1415610f145760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b606482015260840161050f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561243b57506000905060036124e8565b8460ff16601b1415801561245357508460ff16601c14155b1561246457506000905060046124e8565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156124b8573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166124e1576000600192509250506124e8565b9150600090505b94509492505050565b6000806001600160ff1b0383168161250e60ff86901c601b612b35565b905061251c87828885612404565b935093505050935093915050565b82805461253690612a3c565b90600052602060002090601f016020900481019282612558576000855561259e565b82601f1061257157805160ff191683800117855561259e565b8280016001018555821561259e579182015b8281111561259e578251825591602001919060010190612583565b506125aa9291506125ae565b5090565b5b808211156125aa57600081556001016125af565b6001600160e01b031981168114610f1457600080fd5b6000602082840312156125eb57600080fd5b8135610e40816125c3565b6001600160a01b0381168114610f1457600080fd5b6000806040838503121561261e57600080fd5b8235612629816125f6565b915060208301356001600160601b038116811461264557600080fd5b809150509250929050565b60005b8381101561266b578181015183820152602001612653565b83811115610ca75750506000910152565b60008151808452612694816020860160208601612650565b601f01601f19169290920160200192915050565b602081526000610e40602083018461267c565b6000602082840312156126cd57600080fd5b5035919050565b600080604083850312156126e757600080fd5b82356126f2816125f6565b946020939093013593505050565b60006020828403121561271257600080fd5b8135610e40816125f6565b8035801515811461272d57600080fd5b919050565b60006020828403121561274457600080fd5b610e408261271d565b60008060006060848603121561276257600080fd5b833561276d816125f6565b9250602084013561277d816125f6565b929592945050506040919091013590565b600080604083850312156127a157600080fd5b50508035926020909101359150565b6000806000604084860312156127c557600080fd5b6127ce8461271d565b925060208401356001600160401b03808211156127ea57600080fd5b818601915086601f8301126127fe57600080fd5b81358181111561280d57600080fd5b87602082850101111561281f57600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561287057612870612832565b604052919050565b60006001600160401b0382111561289157612891612832565b50601f01601f191660200190565b60006128b26128ad84612878565b612848565b90508281528383830111156128c657600080fd5b828260208301376000602084830101529392505050565b6000602082840312156128ef57600080fd5b81356001600160401b0381111561290557600080fd5b8201601f8101841361291657600080fd5b61183a8482356020840161289f565b6000806040838503121561293857600080fd5b8235612943816125f6565b91506129516020840161271d565b90509250929050565b6000806000806080858703121561297057600080fd5b843561297b816125f6565b9350602085013561298b816125f6565b92506040850135915060608501356001600160401b038111156129ad57600080fd5b8501601f810187136129be57600080fd5b6129cd8782356020840161289f565b91505092959194509250565b600080604083850312156129ec57600080fd5b82356129f7816125f6565b91506020830135612645816125f6565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680612a5057607f821691505b60208210811415612a7157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612aa757612aa7612a77565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612ad157612ad1612aac565b500490565b6000600160ff1b821415612aec57612aec612a77565b506000190190565b600080821280156001600160ff1b0384900385131615612b1657612b16612a77565b600160ff1b8390038412811615612b2f57612b2f612a77565b50500190565b60008219821115612b4857612b48612a77565b500190565b634e487b7160e01b600052602160045260246000fd5b600060208284031215612b7557600080fd5b81516001600160401b03811115612b8b57600080fd5b8201601f81018413612b9c57600080fd5b8051612baa6128ad82612878565b818152856020838501011115612bbf57600080fd5b611fad826020830160208601612650565b600082821015612be257612be2612a77565b500390565b600060208284031215612bf957600080fd5b8151610e40816125f6565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612c379083018461267c565b9695505050505050565b600060208284031215612c5357600080fd5b8151610e40816125c3565b60008351612c70818460208801612650565b835190830190612c84818360208801612650565b01949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b7f19457468657265756d205369676e6564204d6573736167653a0a000000000000815260008351612cf181601a850160208801612650565b835190830190612d0881601a840160208801612650565b01601a01949350505050565b6000600019821415612d2857612d28612a77565b5060010190565b600082612d3e57612d3e612aac565b50069056fea2646970667358221220f616d123b788eb1ed6c2c6bcaf9d65fad67a579819ccb689253fcd3c574be41264736f6c634300080b003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000941646d6974204f6e650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000541444d4954000000000000000000000000000000000000000000000000000000