608060405260006004556702c68af0bb14000060055561071260065534801561002757600080fd5b5061003133610036565b610088565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b612f7b80620000986000396000f3fe60806040526004361061025b5760003560e01c806360d938dc11610144578063b533731d116100b6578063e985e9c51161007a578063e985e9c5146106e4578063ebf0c7171461072d578063f242432a14610743578063f2f5a7e514610763578063f2fde38b14610783578063fae4c7f9146107a357600080fd5b8063b533731d14610674578063e1f3763b14610694578063e2f36dce146106a9578063e3e1e8ef146106bc578063e748e07c146106cf57600080fd5b80638da5cb5b116101085780638da5cb5b146105b157806395d89b41146105d9578063972a2a6214610609578063a22cb46514610629578063a38bffda14610649578063aeb167681461065f57600080fd5b806360d938dc146105245780636fdaddf114610546578063715018a61461055c5780637a5b85c11461057157806381530b681461059157600080fd5b806329c68dc1116101dd5780633e11ab3f116101a15780633e11ab3f1461047a5780634cdb44001461048f5780634e1273f4146104af5780635217a3dc146104dc5780635a5e5d58146104fc5780635b8ad4291461050f57600080fd5b806329c68dc1146103fb5780632eb2c2d61461041057806334393743146104305780633b4c4b25146104455780633ccfd60b1461046557600080fd5b80630e89341c116102245780630e89341c1461035857806318160ddd146103785780631e84c4131461038e57806322f3e2d4146103af5780632333f3c4146103ce57600080fd5b8062fdd58e1461026057806301ffc9a71461029357806302fe5305146102c357806305720296146102e557806306fdde0314610315575b600080fd5b34801561026c57600080fd5b5061028061027b366004612675565b6107bd565b6040519081526020015b60405180910390f35b34801561029f57600080fd5b506102b36102ae366004612793565b610854565b604051901515815260200161028a565b3480156102cf57600080fd5b506102e36102de3660046127cd565b6108a6565b005b3480156102f157600080fd5b506102b3610300366004612815565b600a6020526000908152604090205460ff1681565b34801561032157600080fd5b5061034b6040518060400160405280600a81526020016942616279204d6f6f647960b01b81525081565b60405161028a9190612a9c565b34801561036457600080fd5b5061034b610373366004612815565b6108e7565b34801561038457600080fd5b5061028060045481565b34801561039a57600080fd5b506008546102b3906301000000900460ff1681565b3480156103bb57600080fd5b506008546102b390610100900460ff1681565b3480156103da57600080fd5b506102806103e93660046124de565b600b6020526000908152604090205481565b34801561040757600080fd5b506102e36109a6565b34801561041c57600080fd5b506102e361042b36600461252c565b6109ed565b34801561043c57600080fd5b506102e3610a84565b34801561045157600080fd5b506102e3610460366004612815565b610ad1565b34801561047157600080fd5b506102e3610b00565b34801561048657600080fd5b506102e3610bb2565b34801561049b57600080fd5b506102e36104aa36600461269f565b610bfd565b3480156104bb57600080fd5b506104cf6104ca3660046126d3565b610c69565b60405161028a9190612a5b565b3480156104e857600080fd5b506102e36104f73660046124de565b610d92565b6102e361050a366004612815565b610dde565b34801561051b57600080fd5b506102e3610f47565b34801561053057600080fd5b506008546102b390640100000000900460ff1681565b34801561055257600080fd5b5061028060065481565b34801561056857600080fd5b506102e3610f85565b34801561057d57600080fd5b506008546102b39062010000900460ff1681565b34801561059d57600080fd5b506102e36105ac366004612815565b610fbb565b3480156105bd57600080fd5b506003546040516001600160a01b03909116815260200161028a565b3480156105e557600080fd5b5061034b60405180604001604052806004815260200163424d414360e01b81525081565b34801561061557600080fd5b506102b3610624366004612736565b610fea565b34801561063557600080fd5b506102e3610644366004612639565b611128565b34801561065557600080fd5b5061028060055481565b34801561066b57600080fd5b50610280600281565b34801561068057600080fd5b506102e361068f3660046124de565b6111ff565b3480156106a057600080fd5b506102e3611234565b6102e36106b736600461282e565b61127d565b6102e36106ca36600461282e565b611549565b3480156106db57600080fd5b50610280600581565b3480156106f057600080fd5b506102b36106ff3660046124f9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b34801561073957600080fd5b5061028060075481565b34801561074f57600080fd5b506102e361075e3660046125d5565b611740565b34801561076f57600080fd5b506102e361077e366004612815565b6117c7565b34801561078f57600080fd5b506102e361079e3660046124de565b6117f6565b3480156107af57600080fd5b506008546102b39060ff1681565b60006001600160a01b03831661082e5760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b148061088557506001600160e01b031982166303a24d0760e21b145b806108a057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6003546001600160a01b031633146108d05760405162461bcd60e51b815260040161082590612bb6565b80516108e39060099060208401906122c9565b5050565b606060045482106109535760405162461bcd60e51b815260206004820152603060248201527f455243313135354d657461646174613a2055524920717565727920666f72206e60448201526f37b732bc34b9ba32b73a103a37b5b2b760811b6064820152608401610825565b60085460ff1661098557600960405160200161096f9190612987565b6040516020818303038152906040529050919050565b60096109908361188e565b60405160200161096f929190612993565b919050565b6003546001600160a01b031633146109d05760405162461bcd60e51b815260040161082590612bb6565b6008805461ff001981166101009182900460ff1615909102179055565b6001600160a01b038516331480610a095750610a0985336106ff565b610a705760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b6064820152608401610825565b610a7d8585858585611993565b5050505050565b6003546001600160a01b03163314610aae5760405162461bcd60e51b815260040161082590612bb6565b6008805464ff000000001981166401000000009182900460ff1615909102179055565b6003546001600160a01b03163314610afb5760405162461bcd60e51b815260040161082590612bb6565b600655565b6003546001600160a01b03163314610b2a5760405162461bcd60e51b815260040161082590612bb6565b4780610b785760405162461bcd60e51b815260206004820181905260248201527f42616c616e63652073686f756c64206265206d6f7265207468616e207a65726f6044820152606401610825565b6003546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156108e3573d6000803e3d6000fd5b6003546001600160a01b03163314610bdc5760405162461bcd60e51b815260040161082590612bb6565b6008805463ff00000019811663010000009182900460ff1615909102179055565b6003546001600160a01b03163314610c275760405162461bcd60e51b815260040161082590612bb6565b60005b81518110156108e357610c57828281518110610c4857610c48612e5e565b60200260200101516001611b2f565b80610c6181612ddf565b915050610c2a565b60608151835114610cce5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610825565b600083516001600160401b03811115610ce957610ce9612e74565b604051908082528060200260200182016040528015610d12578160200160208202803683370190505b50905060005b8451811015610d8a57610d5d858281518110610d3657610d36612e5e565b6020026020010151858381518110610d5057610d50612e5e565b60200260200101516107bd565b828281518110610d6f57610d6f612e5e565b6020908102919091010152610d8381612ddf565b9050610d18565b509392505050565b6003546001600160a01b03163314610dbc5760405162461bcd60e51b815260040161082590612bb6565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b600854610100900460ff16610e055760405162461bcd60e51b815260040161082590612b86565b6008546301000000900460ff16610e5e5760405162461bcd60e51b815260206004820152601b60248201527f5075626c69632073616c65206973206e6f74206f70656e2079657400000000006044820152606401610825565b6005811115610eaf5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74206d696e742061626f7665206c696d69740000000000000000006044820152606401610825565b600654600454610ebf9083611ca0565b1115610edd5760405162461bcd60e51b815260040161082590612beb565b6005543490610eec9083611cb3565b1015610f3a5760405162461bcd60e51b815260206004820152601f60248201527f45746865722076616c75652073656e74206973206e6f7420636f7272656374006044820152606401610825565b610f443382611b2f565b50565b6003546001600160a01b03163314610f715760405162461bcd60e51b815260040161082590612bb6565b6008805460ff19811660ff90911615179055565b6003546001600160a01b03163314610faf5760405162461bcd60e51b815260040161082590612bb6565b610fb96000611cbf565b565b6003546001600160a01b03163314610fe55760405162461bcd60e51b815260040161082590612bb6565b600555565b600081815b845181101561111c57600085828151811061100c5761100c612e5e565b6020026020010151905080831161109557604080516020810185905290810182905260029060600160408051601f198184030181529082905261104e9161296b565b602060405180830381855afa15801561106b573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061108e919061277a565b9250611109565b604080516020810183905290810184905260029060600160408051601f19818403018152908290526110c69161296b565b602060405180830381855afa1580156110e3573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190611106919061277a565b92505b508061111481612ddf565b915050610fef565b50600754149392505050565b336001600160a01b03831614156111935760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610825565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6003546001600160a01b031633146112295760405162461bcd60e51b815260040161082590612bb6565b610f44816001611b2f565b6003546001600160a01b0316331461125e5760405162461bcd60e51b815260040161082590612bb6565b6008805462ff0000198116620100009182900460ff1615909102179055565b600854610100900460ff166112a45760405162461bcd60e51b815260040161082590612b86565b60085462010000900460ff166112fc5760405162461bcd60e51b815260206004820152601960248201527f46726565206d696e74206973206e6f74206f70656e20796574000000000000006044820152606401610825565b61137581600261130b8561188e565b60405160200161131b919061296b565b60408051601f19818403018152908290526113359161296b565b602060405180830381855afa158015611352573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610624919061277a565b6113b35760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b6044820152606401610825565b6000828152600a602052604090205460ff16156114125760405162461bcd60e51b815260206004820152601860248201527f416c726561647920636c61696d656420676976656177617900000000000000006044820152606401610825565b600c54604051627eeac760e11b8152336004820152602481018490526001600160a01b0390911690600090829062fdd58e9060440160206040518083038186803b15801561145f57600080fd5b505afa158015611473573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611497919061277a565b116114ee5760405162461bcd60e51b815260206004820152602160248201527f596f7520617265206e6f7420746865206f776e6572206f662074686973204e466044820152601560fa1b6064820152608401610825565b6006546004546114ff906001611ca0565b111561151d5760405162461bcd60e51b815260040161082590612beb565b6000838152600a60205260409020805460ff19166001908117909155611544903390611b2f565b505050565b600854610100900460ff166115705760405162461bcd60e51b815260040161082590612b86565b600854640100000000900460ff166115ca5760405162461bcd60e51b815260206004820152601760248201527f50726573616c65206973206e6f74206f70656e207965740000000000000000006044820152606401610825565b6115d48133610fea565b6116125760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b6044820152606401610825565b6006546004546116229084611ca0565b11156116405760405162461bcd60e51b815260040161082590612beb565b336000908152600b602052604090205460029061165d9084611ca0565b11156116ab5760405162461bcd60e51b815260206004820152601c60248201527f50757263686173652065786365656473206d61782077686974656564000000006044820152606401610825565b60055434906116ba9084611cb3565b10156117085760405162461bcd60e51b815260206004820152601f60248201527f45746865722076616c75652073656e74206973206e6f7420636f7272656374006044820152606401610825565b6117123383611b2f565b336000908152600b602052604090205461172c9083611ca0565b336000908152600b60205260409020555050565b6001600160a01b03851633148061175c575061175c85336106ff565b6117ba5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b6064820152608401610825565b610a7d8585858585611d11565b6003546001600160a01b031633146117f15760405162461bcd60e51b815260040161082590612bb6565b600755565b6003546001600160a01b031633146118205760405162461bcd60e51b815260040161082590612bb6565b6001600160a01b0381166118855760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610825565b610f4481611cbf565b6060816118b25750506040805180820190915260018152600360fc1b602082015290565b8160005b81156118dc57806118c681612ddf565b91506118d59050600a83612cfe565b91506118b6565b6000816001600160401b038111156118f6576118f6612e74565b6040519080825280601f01601f191660200182016040528015611920576020820181803683370190505b5090505b841561198b57611935600183612d31565b9150611942600a86612e1e565b61194d906030612ce6565b60f81b81838151811061196257611962612e5e565b60200101906001600160f81b031916908160001a905350611984600a86612cfe565b9450611924565b949350505050565b81518351146119b45760405162461bcd60e51b815260040161082590612c3a565b6001600160a01b0384166119da5760405162461bcd60e51b815260040161082590612af7565b3360005b8451811015611ac15760008582815181106119fb576119fb612e5e565b602002602001015190506000858381518110611a1957611a19612e5e565b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015611a695760405162461bcd60e51b815260040161082590612b3c565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611aa6908490612ce6565b9250508190555050505080611aba90612ddf565b90506119de565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611b11929190612a6e565b60405180910390a4611b27818787878787611e37565b505050505050565b6001811115611c67576000816001600160401b03811115611b5257611b52612e74565b604051908082528060200260200182016040528015611b7b578160200160208202803683370190505b5090506000826001600160401b03811115611b9857611b98612e74565b604051908082528060200260200182016040528015611bc1578160200160208202803683370190505b50905060005b838163ffffffff161015611c44578063ffffffff16600454611be99190612ce6565b838263ffffffff1681518110611c0157611c01612e5e565b6020026020010181815250506001828263ffffffff1681518110611c2757611c27612e5e565b602090810291909101015280611c3c81612dfa565b915050611bc7565b50611c6084838360405180602001604052806000815250611fa2565b5050611c85565b611c85826004546001604051806020016040528060008152506120ed565b8060046000828254611c979190612ce6565b90915550505050565b6000611cac8284612ce6565b9392505050565b6000611cac8284612d12565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038416611d375760405162461bcd60e51b815260040161082590612af7565b33611d50818787611d47886121b4565b610a7d886121b4565b6000848152602081815260408083206001600160a01b038a16845290915290205483811015611d915760405162461bcd60e51b815260040161082590612b3c565b6000858152602081815260408083206001600160a01b038b8116855292528083208785039055908816825281208054869290611dce908490612ce6565b909155505060408051868152602081018690526001600160a01b03808916928a821692918616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611e2e8288888888886121ff565b50505050505050565b6001600160a01b0384163b15611b275760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611e7b90899089908890889088906004016129b8565b602060405180830381600087803b158015611e9557600080fd5b505af1925050508015611ec5575060408051601f3d908101601f19168201909252611ec2918101906127b0565b60015b611f7257611ed1612e8a565b806308c379a01415611f0b5750611ee6612ea6565b80611ef15750611f0d565b8060405162461bcd60e51b81526004016108259190612a9c565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610825565b6001600160e01b0319811663bc197c8160e01b14611e2e5760405162461bcd60e51b815260040161082590612aaf565b6001600160a01b038416611fc85760405162461bcd60e51b815260040161082590612c82565b8151835114611fe95760405162461bcd60e51b815260040161082590612c3a565b3360005b84518110156120855783818151811061200857612008612e5e565b602002602001015160008087848151811061202557612025612e5e565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b03168152602001908152602001600020600082825461206d9190612ce6565b9091555081905061207d81612ddf565b915050611fed565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516120d6929190612a6e565b60405180910390a4610a7d81600087878787611e37565b6001600160a01b0384166121135760405162461bcd60e51b815260040161082590612c82565b3361212481600087611d47886121b4565b6000848152602081815260408083206001600160a01b038916845290915281208054859290612154908490612ce6565b909155505060408051858152602081018590526001600160a01b0380881692600092918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610a7d816000878787876121ff565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106121ee576121ee612e5e565b602090810291909101015292915050565b6001600160a01b0384163b15611b275760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906122439089908990889088908890600401612a16565b602060405180830381600087803b15801561225d57600080fd5b505af192505050801561228d575060408051601f3d908101601f1916820190925261228a918101906127b0565b60015b61229957611ed1612e8a565b6001600160e01b0319811663f23a6e6160e01b14611e2e5760405162461bcd60e51b815260040161082590612aaf565b8280546122d590612d78565b90600052602060002090601f0160209004810192826122f7576000855561233d565b82601f1061231057805160ff191683800117855561233d565b8280016001018555821561233d579182015b8281111561233d578251825591602001919060010190612322565b5061234992915061234d565b5090565b5b80821115612349576000815560010161234e565b60006001600160401b0383111561237b5761237b612e74565b604051612392601f8501601f191660200182612db3565b8091508381528484840111156123a757600080fd5b83836020830137600060208583010152509392505050565b80356001600160a01b03811681146109a157600080fd5b600082601f8301126123e757600080fd5b813560206123f482612cc3565b6040516124018282612db3565b8381528281019150858301600585901b8701840188101561242157600080fd5b60005b8581101561244757612435826123bf565b84529284019290840190600101612424565b5090979650505050505050565b600082601f83011261246557600080fd5b8135602061247282612cc3565b60405161247f8282612db3565b8381528281019150858301600585901b8701840188101561249f57600080fd5b60005b85811015612447578135845292840192908401906001016124a2565b600082601f8301126124cf57600080fd5b611cac83833560208501612362565b6000602082840312156124f057600080fd5b611cac826123bf565b6000806040838503121561250c57600080fd5b612515836123bf565b9150612523602084016123bf565b90509250929050565b600080600080600060a0868803121561254457600080fd5b61254d866123bf565b945061255b602087016123bf565b935060408601356001600160401b038082111561257757600080fd5b61258389838a01612454565b9450606088013591508082111561259957600080fd5b6125a589838a01612454565b935060808801359150808211156125bb57600080fd5b506125c8888289016124be565b9150509295509295909350565b600080600080600060a086880312156125ed57600080fd5b6125f6866123bf565b9450612604602087016123bf565b9350604086013592506060860135915060808601356001600160401b0381111561262d57600080fd5b6125c8888289016124be565b6000806040838503121561264c57600080fd5b612655836123bf565b91506020830135801515811461266a57600080fd5b809150509250929050565b6000806040838503121561268857600080fd5b612691836123bf565b946020939093013593505050565b6000602082840312156126b157600080fd5b81356001600160401b038111156126c757600080fd5b61198b848285016123d6565b600080604083850312156126e657600080fd5b82356001600160401b03808211156126fd57600080fd5b612709868387016123d6565b9350602085013591508082111561271f57600080fd5b5061272c85828601612454565b9150509250929050565b6000806040838503121561274957600080fd5b82356001600160401b0381111561275f57600080fd5b61276b85828601612454565b95602094909401359450505050565b60006020828403121561278c57600080fd5b5051919050565b6000602082840312156127a557600080fd5b8135611cac81612f2f565b6000602082840312156127c257600080fd5b8151611cac81612f2f565b6000602082840312156127df57600080fd5b81356001600160401b038111156127f557600080fd5b8201601f8101841361280657600080fd5b61198b84823560208401612362565b60006020828403121561282757600080fd5b5035919050565b6000806040838503121561284157600080fd5b8235915060208301356001600160401b0381111561285e57600080fd5b61272c85828601612454565b600081518084526020808501945080840160005b8381101561289a5781518752958201959082019060010161287e565b509495945050505050565b600081518084526128bd816020860160208601612d48565b601f01601f19169290920160200192915050565b8054600090600181811c90808316806128eb57607f831692505b602080841082141561290d57634e487b7160e01b600052602260045260246000fd5b81801561292157600181146129325761295f565b60ff1986168952848901965061295f565b60008881526020902060005b868110156129575781548b82015290850190830161293e565b505084890196505b50505050505092915050565b6000825161297d818460208701612d48565b9190910192915050565b6000611cac82846128d1565b600061299f82856128d1565b83516129af818360208801612d48565b01949350505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906129e49083018661286a565b82810360608401526129f6818661286a565b90508281036080840152612a0a81856128a5565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090612a50908301846128a5565b979650505050505050565b602081526000611cac602083018461286a565b604081526000612a81604083018561286a565b8281036020840152612a93818561286a565b95945050505050565b602081526000611cac60208301846128a5565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b602080825260169082015275436f6e7472616374206973206e6f742061637469766560501b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602f908201527f507572636861736520776f756c6420657863656564206d6178207075626c696360408201526e20737570706c79206f66204e46547360881b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60006001600160401b03821115612cdc57612cdc612e74565b5060051b60200190565b60008219821115612cf957612cf9612e32565b500190565b600082612d0d57612d0d612e48565b500490565b6000816000190483118215151615612d2c57612d2c612e32565b500290565b600082821015612d4357612d43612e32565b500390565b60005b83811015612d63578181015183820152602001612d4b565b83811115612d72576000848401525b50505050565b600181811c90821680612d8c57607f821691505b60208210811415612dad57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f191681016001600160401b0381118282101715612dd857612dd8612e74565b6040525050565b6000600019821415612df357612df3612e32565b5060010190565b600063ffffffff80831681811415612e1457612e14612e32565b6001019392505050565b600082612e2d57612e2d612e48565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115612ea35760046000803e5060005160e01c5b90565b600060443d1015612eb45790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715612ee357505050505090565b8285019150815181811115612efb5750505050505090565b843d8701016020828501011115612f155750505050505090565b612f2460208286010187612db3565b509095945050505050565b6001600160e01b031981168114610f4457600080fdfea264697066735822122082b7b0b9640b1735f7ce9df2f964eac77bf8798c14df44fc926d970dad9108ed64736f6c63430008070033