60e0604052600a805460ff19169055610544600d553480156200002157600080fd5b506040516200375b3803806200375b833981016040819052620000449162000553565b838360405180604001604052806004815260200163426f6b6960e01b81525060405180604001604052806004815260200163424f4b4960e01b8152508160029080519060200190620000989291906200044b565b508051620000ae9060039060208401906200044b565b50506000805550620000c0336200012c565b6001600160a01b0391821660a052166080528551620000e790600b9060208901906200044b565b506001600160a01b03851660c052601682905560178190556040805160208101909152600080825262000120913291609691906200017e565b5050505050506200071c565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000546001600160a01b038516620001a857604051622e076360e81b815260040160405180910390fd5b83600003620001ca5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038516600081815260056020908152604080832080546001600160801b031981166001600160401b038083168c018116918217680100000000000000006001600160401b031990941690921783900481168c01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b42909216919091021790558080850183801562000283575062000283876001600160a01b03166200034860201b620016f51760201c565b1562000302575b60405182906001600160a01b038916906000906000805160206200373b833981519152908290a46001820191620002c79060009089908862000357565b620002e5576040516368d2bf6b60e11b815260040160405180910390fd5b8082036200028a578260005414620002fc57600080fd5b62000337565b5b6040516001830192906001600160a01b038916906000906000805160206200373b833981519152908290a480820362000303575b506000555050505050565b50505050565b6001600160a01b03163b151590565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906200038e90339089908890889060040162000657565b6020604051808303816000875af1925050508015620003cc575060408051601f3d908101601f19168201909252620003c991810190620006ad565b60015b6200042e573d808015620003fd576040519150601f19603f3d011682016040523d82523d6000602084013e62000402565b606091505b50805160000362000426576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b8280546200045990620006e0565b90600052602060002090601f0160209004810192826200047d5760008555620004c8565b82601f106200049857805160ff1916838001178555620004c8565b82800160010185558215620004c8579182015b82811115620004c8578251825591602001919060010190620004ab565b50620004d6929150620004da565b5090565b5b80821115620004d65760008155600101620004db565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620005245781810151838201526020016200050a565b83811115620003425750506000910152565b80516001600160a01b03811681146200054e57600080fd5b919050565b60008060008060008060c087890312156200056d57600080fd5b86516001600160401b03808211156200058557600080fd5b818901915089601f8301126200059a57600080fd5b815181811115620005af57620005af620004f1565b604051601f8201601f19908116603f01168101908382118183101715620005da57620005da620004f1565b816040528281528c6020848701011115620005f457600080fd5b6200060783602083016020880162000507565b809a5050505050506200061d6020880162000536565b94506200062d6040880162000536565b93506200063d6060880162000536565b92506080870151915060a087015190509295509295509295565b600060018060a01b038087168352808616602084015250836040830152608060608301528251806080840152620006968160a085016020870162000507565b601f01601f19169190910160a00195945050505050565b600060208284031215620006c057600080fd5b81516001600160e01b031981168114620006d957600080fd5b9392505050565b600181811c90821680620006f557607f821691505b6020821081036200071657634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c051612fe16200075a6000396000610a5a015260008181610f190152611b18015260008181610cca0152611ae90152612fe16000f3fe60806040526004361061025c5760003560e01c806375d7741b11610144578063b88d4fde116100b6578063db292e7f1161007a578063db292e7f14610728578063dc33e68114610748578063dc8c57b414610768578063e985e9c51461077e578063f2fde38b146107c7578063f9020e33146107e757600080fd5b8063b88d4fde14610685578063bef7d63b146106a5578063c87b56dd146106c5578063ce4fe56f146106e5578063d60cd6951461071557600080fd5b806394985ddd1161010857806394985ddd146105cd57806394c4303a146105ed57806394d15abb1461061d57806395d89b41146106305780639a48eb5114610645578063a22cb4651461066557600080fd5b806375d7741b14610510578063784754f4146105305780637ac98be1146105435780638da5cb5b146105595780639231ab2a1461057757600080fd5b806329d7871b116101dd5780634891ad88116101a15780634891ad881461046157806351830227146104815780636352211e1461049b5780636e569177146104bb57806370a08231146104db578063715018a6146104fb57600080fd5b806329d7871b146103ba5780632a85db55146103d05780633fe05a2c146103f057806342842e0e1461042b5780634586fb4e1461044b57600080fd5b8063161b7f9311610224578063161b7f931461033257806318160ddd1461035657806323b872dd1461036f57806324600fc31461038f578063293108e0146103a457600080fd5b806301ffc9a71461026157806306fdde0314610296578063081812fc146102b8578063095ea7b3146102f05780630c96549414610312575b600080fd5b34801561026d57600080fd5b5061028161027c3660046127eb565b61080e565b60405190151581526020015b60405180910390f35b3480156102a257600080fd5b506102ab610860565b60405161028d9190612867565b3480156102c457600080fd5b506102d86102d336600461287a565b6108f2565b6040516001600160a01b03909116815260200161028d565b3480156102fc57600080fd5b5061031061030b3660046128aa565b610936565b005b34801561031e57600080fd5b5061031061032d3660046128d4565b6109c3565b34801561033e57600080fd5b50610348600e5481565b60405190815260200161028d565b34801561036257600080fd5b5060015460005403610348565b34801561037b57600080fd5b5061031061038a3660046128ef565b610a18565b34801561039b57600080fd5b50610310610a23565b3480156103b057600080fd5b50610348600f5481565b3480156103c657600080fd5b50610348600d5481565b3480156103dc57600080fd5b506103106103eb3660046129c8565b610aa5565b3480156103fc57600080fd5b5061028161040b366004612a30565b805160208183018101805160138252928201919093012091525460ff1681565b34801561043757600080fd5b506103106104463660046128ef565b610ae6565b34801561045757600080fd5b5061034860165481565b34801561046d57600080fd5b5061031061047c366004612a64565b610b01565b34801561048d57600080fd5b506014546102819060ff1681565b3480156104a757600080fd5b506102d86104b636600461287a565b610b52565b3480156104c757600080fd5b506103106104d6366004612a85565b610b64565b3480156104e757600080fd5b506103486104f63660046128d4565b610b99565b34801561050757600080fd5b50610310610be7565b34801561051c57600080fd5b5061034861052b3660046129c8565b610c1d565b61031061053e366004612aa7565b610d53565b34801561054f57600080fd5b5061034860175481565b34801561056557600080fd5b506008546001600160a01b03166102d8565b34801561058357600080fd5b5061059761059236600461287a565b610ee8565b6040805182516001600160a01b031681526020808401516001600160401b0316908201529181015115159082015260600161028d565b3480156105d957600080fd5b506103106105e8366004612a85565b610f0e565b3480156105f957600080fd5b506102816106083660046128d4565b60126020526000908152604090205460ff1681565b61031061062b366004612aa7565b610f90565b34801561063c57600080fd5b506102ab6111ca565b34801561065157600080fd5b50610310610660366004612a85565b6111d9565b34801561067157600080fd5b50610310610680366004612b5a565b61120e565b34801561069157600080fd5b506103106106a0366004612b91565b6112a3565b3480156106b157600080fd5b506010546102d8906001600160a01b031681565b3480156106d157600080fd5b506102ab6106e036600461287a565b6112f4565b3480156106f157600080fd5b506102816107003660046128d4565b60116020526000908152604090205460ff1681565b610310610723366004612bf8565b61145a565b34801561073457600080fd5b506103106107433660046129c8565b6115f2565b34801561075457600080fd5b506103486107633660046128d4565b61162f565b34801561077457600080fd5b5061034860155481565b34801561078a57600080fd5b50610281610799366004612c47565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b3480156107d357600080fd5b506103106107e23660046128d4565b61165d565b3480156107f357600080fd5b50600a546108019060ff1681565b60405161028d9190612c90565b60006001600160e01b031982166380ac58cd60e01b148061083f57506001600160e01b03198216635b5e139f60e01b145b8061085a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461086f90612cb8565b80601f016020809104026020016040519081016040528092919081815260200182805461089b90612cb8565b80156108e85780601f106108bd576101008083540402835291602001916108e8565b820191906000526020600020905b8154815290600101906020018083116108cb57829003601f168201915b5050505050905090565b60006108fd82611704565b61091a576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600061094182610b52565b9050806001600160a01b0316836001600160a01b0316036109755760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b0382161480159061099557506109938133610799565b155b156109b3576040516367d9dca160e11b815260040160405180910390fd5b6109be83838361172f565b505050565b6008546001600160a01b031633146109f65760405162461bcd60e51b81526004016109ed90612cf2565b60405180910390fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6109be83838361178b565b6008546001600160a01b03163314610a4d5760405162461bcd60e51b81526004016109ed90612cf2565b6040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016904780156108fc02916000818181858888f19350505050158015610aa2573d6000803e3d6000fd5b50565b6008546001600160a01b03163314610acf5760405162461bcd60e51b81526004016109ed90612cf2565b8051610ae290600b90602084019061273c565b5050565b6109be838383604051806020016040528060008152506112a3565b6008546001600160a01b03163314610b2b5760405162461bcd60e51b81526004016109ed90612cf2565b600a805482919060ff19166001836004811115610b4a57610b4a612c7a565b021790555050565b6000610b5d82611979565b5192915050565b6008546001600160a01b03163314610b8e5760405162461bcd60e51b81526004016109ed90612cf2565b601791909155601655565b60006001600160a01b038216610bc2576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b6008546001600160a01b03163314610c115760405162461bcd60e51b81526004016109ed90612cf2565b610c1b6000611a93565b565b6008546000906001600160a01b03163314610c4a5760405162461bcd60e51b81526004016109ed90612cf2565b60145460ff1615610c905760405162461bcd60e51b815260206004820152601060248201526f1053149150511648149155915053115160821b60448201526064016109ed565b8151610ca390600c90602085019061273c565b506017546040516323b872dd60e01b815233600482015230602482015260448101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af1158015610d1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3f9190612d27565b5061085a601654601754611ae5565b919050565b323314610d725760405162461bcd60e51b81526004016109ed90612d44565b6003600a5460ff166004811115610d8b57610d8b612c7a565b14610dd85760405162461bcd60e51b815260206004820181905260248201527f414c4c4f57204c495354204d494e54494e47204953204e4f542041435449564560448201526064016109ed565b600f546040516001600160601b03193360601b166020820152610e169183916034015b60405160208183030381529060405280519060200120611c69565b610e625760405162461bcd60e51b815260206004820152601b60248201527f4d494e544552204953204e4f54204f4e20414c4c4f57204c495354000000000060448201526064016109ed565b3360009081526012602052604090205460ff1615610ec25760405162461bcd60e51b815260206004820152601d60248201527f414c4c4f574c495354205449434b455420414c5245414459205553454400000060448201526064016109ed565b336000908152601260205260409020805460ff19166001908117909155610aa290611c7f565b604080516060810182526000808252602082018190529181019190915261085a82611979565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f865760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c0060448201526064016109ed565b610ae28282611da1565b323314610faf5760405162461bcd60e51b81526004016109ed90612d44565b6001600a5460ff166004811115610fc857610fc8612c7a565b1480610fea57506003600a5460ff166004811115610fe857610fe8612c7a565b145b6110365760405162461bcd60e51b815260206004820152601860248201527f445245414d4552532053414c45204e4f5420414354495645000000000000000060448201526064016109ed565b600e546040516001600160601b03193360601b16602082015261105d918391603401610dfb565b6110a95760405162461bcd60e51b815260206004820152601e60248201527f4d494e544552204953204e4f54204f4e20445245414d455253204c495354000060448201526064016109ed565b6001600a5460ff1660048111156110c2576110c2612c7a565b03611152573360009081526011602052604090205460ff16156111335760405162461bcd60e51b815260206004820152602360248201527f445245414d45522050524553414c45205449434b455420414c5245414459205560448201526214d15160ea1b60648201526084016109ed565b336000908152601160205260409020805460ff191660011790556111c0565b3360009081526012602052604090205460ff1615610ec25760405162461bcd60e51b815260206004820152602560248201527f445245414d455220414c4c4f574c495354205449434b455420414c5245414459604482015264081554d15160da1b60648201526084016109ed565b610aa26001611c7f565b60606003805461086f90612cb8565b6008546001600160a01b031633146112035760405162461bcd60e51b81526004016109ed90612cf2565b600e91909155600f55565b336001600160a01b038316036112375760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6112ae84848461178b565b6001600160a01b0383163b151580156112d057506112ce84848484611e12565b155b156112ee576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606112ff82611704565b6113635760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016109ed565b60145460ff166113ff57600b805461137a90612cb8565b80601f01602080910402602001604051908101604052809291908181526020018280546113a690612cb8565b80156113f35780601f106113c8576101008083540402835291602001916113f3565b820191906000526020600020905b8154815290600101906020018083116113d657829003601f168201915b50505050509050919050565b600061140e6001546000540390565b60155461141b9085612d91565b6114259190612dbf565b9050600c61143282611efd565b604051602001611443929190612def565b604051602081830303815290604052915050919050565b3233146114795760405162461bcd60e51b81526004016109ed90612d44565b6002600a5460ff16600481111561149257611492612c7a565b14806114b457506004600a5460ff1660048111156114b2576114b2612c7a565b145b6115005760405162461bcd60e51b815260206004820152601760248201527f4249525448204f4620424f4b49204953204e4f54204f4e00000000000000000060448201526064016109ed565b6004600a5460ff16600481111561151957611519612c7a565b14806115335750600083600d546115309190612e95565b10155b6115755760405162461bcd60e51b8152602060048201526013602482015272141550931250c810d05408115610d151511151606a1b60448201526064016109ed565b60038311156115c65760405162461bcd60e51b815260206004820181905260248201527f5155414e5449545920535552504153534553205045522d54584e204c494d495460448201526064016109ed565b6115d1338383611ffd565b82600d60008282546115e39190612e95565b909155506109be905083611c7f565b6008546001600160a01b0316331461161c5760405162461bcd60e51b81526004016109ed90612cf2565b8051610ae290600c90602084019061273c565b6001600160a01b038116600090815260056020526040812054600160401b90046001600160401b031661085a565b6008546001600160a01b031633146116875760405162461bcd60e51b81526004016109ed90612cf2565b6001600160a01b0381166116ec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109ed565b610aa281611a93565b6001600160a01b03163b151590565b600080548210801561085a575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600061179682611979565b9050836001600160a01b031681600001516001600160a01b0316146117cd5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b03861614806117eb57506117eb8533610799565b806118065750336117fb846108f2565b6001600160a01b0316145b90508061182657604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661184d57604051633a954ecd60e21b815260040160405180910390fd5b6118596000848761172f565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b4290921691909102178355870180845292208054919390911661192d57600054821461192d57805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b5050505050565b604080516060810182526000808252602082018190529181019190915281600054811015611a7a57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290611a785780516001600160a01b031615611a0f579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215611a73579392505050565b611a0f565b505b604051636f96cda160e11b815260040160405180910390fd5b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634000aea07f000000000000000000000000000000000000000000000000000000000000000084866000604051602001611b55929190918252602082015260400190565b6040516020818303038152906040526040518463ffffffff1660e01b8152600401611b8293929190612eac565b6020604051808303816000875af1158015611ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bc59190612d27565b50600083815260096020818152604080842054815180840189905280830186905230606082015260808082018390528351808303909101815260a090910190925281519183019190912093879052919052611c21906001612d91565b600085815260096020526040902055611c618482604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b949350505050565b600082611c768584612196565b14949350505050565b60145460ff1615611cc85760405162461bcd60e51b81526020600482015260136024820152721393c81352539514c81413d4d5149155915053606a1b60448201526064016109ed565b611cd98166ea7aa67b2d0000612ed3565b3414611d1c5760405162461bcd60e51b8152602060048201526012602482015271125390d3d4949150d5081155120814d1539560721b60448201526064016109ed565b611e6181611d2d6001546000540390565b611d379190612d91565b1115611d855760405162461bcd60e51b815260206004820152601860248201527f4d415820434150204f4620424f4b49204558434545444544000000000000000060448201526064016109ed565b610aa2338260405180602001604052806000815250600061220a565b60145460ff1615611de75760405162461bcd60e51b815260206004820152601060248201526f1053149150511648149155915053115160821b60448201526064016109ed565b6014805460ff19166001179055611e016001546000540390565b611e0b9082612dbf565b6015555050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611e47903390899088908890600401612ef2565b6020604051808303816000875af1925050508015611e82575060408051601f3d908101601f19168201909252611e7f91810190612f2f565b60015b611ee0573d808015611eb0576040519150601f19603f3d011682016040523d82523d6000602084013e611eb5565b606091505b508051600003611ed8576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b606081600003611f245750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611f4e5780611f3881612f4c565b9150611f479050600a83612f65565b9150611f28565b6000816001600160401b03811115611f6857611f6861292b565b6040519080825280601f01601f191660200182016040528015611f92576020820181803683370190505b5090505b8415611c6157611fa7600183612e95565b9150611fb4600a86612dbf565b611fbf906030612d91565b60f81b818381518110611fd457611fd4612f79565b60200101906001600160f81b031916908160001a905350611ff6600a86612f65565b9450611f96565b6040516001600160601b0319606085901b1660208201526034810183905260009061208e90605401604051602081830303815290604052805190602001206040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506013826040516120a09190612f8f565b9081526040519081900360200190205460ff16156120f95760405162461bcd60e51b815260206004820152601660248201527514d251d390551554914810531491505116481554d15160521b60448201526064016109ed565b6010546001600160a01b031661210f82846123d6565b6001600160a01b03161461215e5760405162461bcd60e51b81526020600482015260166024820152751393d508119493d3481093d2d248119493d39511539160521b60448201526064016109ed565b60016013836040516121709190612f8f565b908152604051908190036020019020805491151560ff1990921691909117905550505050565b600081815b84518110156122025760008582815181106121b8576121b8612f79565b602002602001015190508083116121de57600083815260208290526040902092506121ef565b600081815260208490526040902092505b50806121fa81612f4c565b91505061219b565b509392505050565b6000546001600160a01b03851661223357604051622e076360e81b815260040160405180910390fd5b836000036122545760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038516600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff1981166001600160401b038083168c018116918217600160401b67ffffffffffffffff1990941690921783900481168c01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b42909216919091021790558080850183801561230057506001600160a01b0387163b15155b15612388575b60405182906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46123516000888480600101955088611e12565b61236e576040516368d2bf6b60e11b815260040160405180910390fd5b80820361230657826000541461238357600080fd5b6123cd565b5b6040516001830192906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808203612389575b50600055611972565b60008060006123e585856123f2565b9150915061220281612460565b60008082516041036124285760208301516040840151606085015160001a61241c87828585612616565b94509450505050612459565b82516040036124515760208301516040840151612446868383612703565b935093505050612459565b506000905060025b9250929050565b600081600481111561247457612474612c7a565b0361247c5750565b600181600481111561249057612490612c7a565b036124dd5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016109ed565b60028160048111156124f1576124f1612c7a565b0361253e5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016109ed565b600381600481111561255257612552612c7a565b036125aa5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016109ed565b60048160048111156125be576125be612c7a565b03610aa25760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b60648201526084016109ed565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561264d57506000905060036126fa565b8460ff16601b1415801561266557508460ff16601c14155b1561267657506000905060046126fa565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156126ca573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166126f3576000600192509250506126fa565b9150600090505b94509492505050565b6000806001600160ff1b0383168161272060ff86901c601b612d91565b905061272e87828885612616565b935093505050935093915050565b82805461274890612cb8565b90600052602060002090601f01602090048101928261276a57600085556127b0565b82601f1061278357805160ff19168380011785556127b0565b828001600101855582156127b0579182015b828111156127b0578251825591602001919060010190612795565b506127bc9291506127c0565b5090565b5b808211156127bc57600081556001016127c1565b6001600160e01b031981168114610aa257600080fd5b6000602082840312156127fd57600080fd5b8135612808816127d5565b9392505050565b60005b8381101561282a578181015183820152602001612812565b838111156112ee5750506000910152565b6000815180845261285381602086016020860161280f565b601f01601f19169290920160200192915050565b602081526000612808602083018461283b565b60006020828403121561288c57600080fd5b5035919050565b80356001600160a01b0381168114610d4e57600080fd5b600080604083850312156128bd57600080fd5b6128c683612893565b946020939093013593505050565b6000602082840312156128e657600080fd5b61280882612893565b60008060006060848603121561290457600080fd5b61290d84612893565b925061291b60208501612893565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156129695761296961292b565b604052919050565b60006001600160401b0383111561298a5761298a61292b565b61299d601f8401601f1916602001612941565b90508281528383830111156129b157600080fd5b828260208301376000602084830101529392505050565b6000602082840312156129da57600080fd5b81356001600160401b038111156129f057600080fd5b8201601f81018413612a0157600080fd5b611c6184823560208401612971565b600082601f830112612a2157600080fd5b61280883833560208501612971565b600060208284031215612a4257600080fd5b81356001600160401b03811115612a5857600080fd5b611c6184828501612a10565b600060208284031215612a7657600080fd5b81356005811061280857600080fd5b60008060408385031215612a9857600080fd5b50508035926020909101359150565b60006020808385031215612aba57600080fd5b82356001600160401b0380821115612ad157600080fd5b818501915085601f830112612ae557600080fd5b813581811115612af757612af761292b565b8060051b9150612b08848301612941565b8181529183018401918481019088841115612b2257600080fd5b938501935b83851015612b4057843582529385019390850190612b27565b98975050505050505050565b8015158114610aa257600080fd5b60008060408385031215612b6d57600080fd5b612b7683612893565b91506020830135612b8681612b4c565b809150509250929050565b60008060008060808587031215612ba757600080fd5b612bb085612893565b9350612bbe60208601612893565b92506040850135915060608501356001600160401b03811115612be057600080fd5b612bec87828801612a10565b91505092959194509250565b600080600060608486031215612c0d57600080fd5b833592506020840135915060408401356001600160401b03811115612c3157600080fd5b612c3d86828701612a10565b9150509250925092565b60008060408385031215612c5a57600080fd5b612c6383612893565b9150612c7160208401612893565b90509250929050565b634e487b7160e01b600052602160045260246000fd5b6020810160058310612cb257634e487b7160e01b600052602160045260246000fd5b91905290565b600181811c90821680612ccc57607f821691505b602082108103612cec57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215612d3957600080fd5b815161280881612b4c565b6020808252601e908201527f5468652063616c6c657220697320616e6f7468657220636f6e74726163740000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115612da457612da4612d7b565b500190565b634e487b7160e01b600052601260045260246000fd5b600082612dce57612dce612da9565b500690565b60008151612de581856020860161280f565b9290920192915050565b600080845481600182811c915080831680612e0b57607f831692505b60208084108203612e2a57634e487b7160e01b86526022600452602486fd5b818015612e3e5760018114612e4f57612e7c565b60ff19861689528489019650612e7c565b60008b81526020902060005b86811015612e745781548b820152908501908301612e5b565b505084890196505b505050505050612e8c8185612dd3565b95945050505050565b600082821015612ea757612ea7612d7b565b500390565b60018060a01b0384168152826020820152606060408201526000612e8c606083018461283b565b6000816000190483118215151615612eed57612eed612d7b565b500290565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f259083018461283b565b9695505050505050565b600060208284031215612f4157600080fd5b8151612808816127d5565b600060018201612f5e57612f5e612d7b565b5060010190565b600082612f7457612f74612da9565b500490565b634e487b7160e01b600052603260045260246000fd5b60008251612fa181846020870161280f565b919091019291505056fea2646970667358221220cf069677dfaf9de6cfd160a8151f7b8dc5cd3d37b550e94c3883c533317c065364736f6c634300080d0033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000006108702e2e5e7e2df587d6b15136239d92c4000c000000000000000000000000f0d54349addcf704f77ae15b96510dea15cb7952000000000000000000000000514910771af9ca656af840dff83e8264ecf986caaa77729d3466ca35ae8d28b3bbac7cc36a5031efdc430821c02bc31a238af4450000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000000000000000000004f68747470733a2f2f626f6b692e6d7970696e6174612e636c6f75642f697066732f516d59787062355562433271745a6a4b776e473967584337596a5172673637447567576770527a666476555472510000000000000000000000000000000000