6101006040526001600b819055600f805460ff1916909117905534801562000025575f80fd5b5060408051602080820183525f82528251808401845260098082526826a2a9a9a2a723a2a960b91b82840181905285518087019096529085529184019190915290916012620186a0600133806200009557604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b620000a081620001d7565b50620000ac8662000226565b60016004556008620000bf8682620002d6565b506009620000ce8582620002d6565b5060ff83166080819052620000e590600a620004b1565b60c0819052620000f69082620004c8565b60e05260c051620001089083620004c8565b60a0819052335f818152600a60209081526040808320805460ff191660011790556006825280832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050505060405180608001604052806059815260200162003ed760599139600c90620001959082620002d6565b506064620001a66012600a620004b1565b620001b590620186a0620004c8565b620001c2906002620004c8565b620001ce9190620004e2565b600e5562000502565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6003620002348282620002d6565b5050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200026157607f821691505b6020821081036200028057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620002d157805f5260205f20601f840160051c81016020851015620002ad5750805b601f840160051c820191505b81811015620002ce575f8155600101620002b9565b50505b505050565b81516001600160401b03811115620002f257620002f262000238565b6200030a816200030384546200024c565b8462000286565b602080601f83116001811462000340575f8415620003285750858301515b5f19600386901b1c1916600185901b1785556200039a565b5f85815260208120601f198616915b8281101562000370578886015182559484019460019091019084016200034f565b50858210156200038e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620003f657815f1904821115620003da57620003da620003a2565b80851615620003e857918102915b93841c9390800290620003bb565b509250929050565b5f826200040e57506001620004ab565b816200041c57505f620004ab565b8160018114620004355760028114620004405762000460565b6001915050620004ab565b60ff841115620004545762000454620003a2565b50506001821b620004ab565b5060208310610133831016604e8410600b841016171562000485575081810a620004ab565b620004918383620003b6565b805f1904821115620004a757620004a7620003a2565b0290505b92915050565b5f620004c160ff841683620003fe565b9392505050565b8082028115828204841417620004ab57620004ab620003a2565b5f82620004fd57634e487b7160e01b5f52601260045260245ffd5b500490565b60805160a05160c05160e0516139696200056e5f395f8181610414015281816109a5015281816113160152818161164f01528181611be501528181611c1d01528181611cdd0152611d0401525f61044e01525f818161032d0152610bdf01525f6103a001526139695ff3fe608060405234801561000f575f80fd5b506004361061023e575f3560e01c806370a0823111610135578063c5b8f772116100b4578063e985e9c511610079578063e985e9c5146105a8578063f242432a146105e3578063f28ca1dd146105f6578063f2fde38b146105fe578063f8b45b0514610611575f80fd5b8063c5b8f7721461052f578063c87b56dd14610542578063d547cfb714610555578063dd62ed3e1461055d578063e0df5b6f14610595575f80fd5b806399a2557a116100fa57806399a2557a146104cb5780639b19251a146104de578063a014e6e214610500578063a22cb46514610509578063a9059cbb1461051c575f80fd5b806370a0823114610470578063715018a6146104985780638462151c146104a05780638da5cb5b146104b357806395d89b41146104c3575f80fd5b806323b872dd116101c15780634eabf2c6116101865780634eabf2c6146103f457806353d6fd59146103fc5780635afcc2f51461040f5780635d0044ca146104365780636d6a6a4d14610449575f80fd5b806323b872dd146103625780632d760d57146103755780632eb2c2d614610388578063313ce5671461039b5780634e1273f4146103d4575f80fd5b8063095ea7b311610207578063095ea7b3146102f55780630a702e8d146103085780630e89341c1461031557806318160ddd1461032857806318d217c31461034f575f80fd5b8062fdd58e1461024257806301ffc9a71461026857806302fe53051461028b57806306fdde03146102a0578063081812fc146102b5575b5f80fd5b610255610250366004612962565b61061a565b6040519081526020015b60405180910390f35b61027b61027636600461299f565b610686565b604051901515815260200161025f565b61029e610299366004612a54565b610726565b005b6102a861073a565b60405161025f9190612ae5565b6102dd6102c3366004612af7565b60056020525f90815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161025f565b61027b610303366004612962565b6107c6565b600f5461027b9060ff1681565b6102a8610323366004612af7565b610896565b6102557f000000000000000000000000000000000000000000000000000000000000000081565b61029e61035d366004612a54565b6108a1565b61027b610370366004612b0e565b6108b9565b610255610383366004612b47565b610a21565b61029e610396366004612c2a565b610a56565b6103c27f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff909116815260200161025f565b6103e76103e2366004612ccc565b610aa3565b60405161025f9190612dca565b61029e610b81565b61029e61040a366004612de9565b610b9d565b6102557f000000000000000000000000000000000000000000000000000000000000000081565b61029e610444366004612af7565b610bcf565b6102557f000000000000000000000000000000000000000000000000000000000000000081565b61025561047e366004612e1e565b6001600160a01b03165f9081526006602052604090205490565b61029e610c13565b6103e76104ae366004612e1e565b610c26565b5f546001600160a01b03166102dd565b6102a8610c57565b6103e76104d9366004612b47565b610c64565b61027b6104ec366004612e1e565b600a6020525f908152604090205460ff1681565b610255600b5481565b61029e610517366004612de9565b610d90565b61027b61052a366004612962565b610d9b565b61027b61053d366004612962565b610daa565b6102a8610550366004612af7565b610ddf565b6102a86110e0565b61025561056b366004612e37565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b61029e6105a3366004612a54565b6110ed565b61027b6105b6366004612e37565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205460ff1690565b61029e6105f1366004612e68565b611101565b6102a861114f565b61029e61060c366004612e1e565b61115c565b610255600e5481565b5f6001600160a01b038316610642576040516323d3ad8160e21b815260040160405180910390fd5b6001600160a01b0383165f908152600160208181526040808420600887901c85529091529091205460ff84161c161561067d57506001610680565b505f5b92915050565b5f6001600160e01b03198216636cdb3d1360e11b14806106b657506001600160e01b031982166303a24d0760e21b145b806106d157506001600160e01b031982166362dc7bb960e11b145b806106ec57506380ac58cd60e01b6001600160e01b03198316145b806107075750635b5e139f60e01b6001600160e01b03198316145b8061068057506301ffc9a760e01b6001600160e01b0319831614610680565b61072e611196565b610737816111c2565b50565b6008805461074790612ec7565b80601f016020809104026020016040519081016040528092919081815260200182805461077390612ec7565b80156107be5780601f10610795576101008083540402835291602001916107be565b820191905f5260205f20905b8154815290600101906020018083116107a157829003601f168201915b505050505081565b5f336107d160045490565b831080156107de57505f83115b15610881576107ed8184610daa565b61081a57604051634b637e8f60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b5f8381526005602090815260409182902080546001600160a01b0319166001600160a01b038881169182179092559251868152908416917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a361088c565b61088c8185856111ce565b5060019392505050565b606061068082610ddf565b6108a9611196565b600c6108b58282612f43565b5050565b5f6108c360045490565b821015610a09576001600160a01b0384165f908152600160208181526040808420600887901c85529091529091205460ff84161c1661092057604051634a1406b160e11b81526001600160a01b0385166004820152602401610811565b336001600160a01b0385161480159061095c57506001600160a01b0384165f90815260026020908152604080832033845290915290205460ff16155b801561097e57505f828152600560205260409020546001600160a01b03163314155b1561099e57604051634a1406b160e11b8152336004820152602401610811565b6109ca84847f00000000000000000000000000000000000000000000000000000000000000005f6111e0565b5f82815260056020908152604080832080546001600160a01b031916905580519182019052818152610a0491869186918691600191611244565b61088c565b610a14843384611407565b61088c84848460016111e0565b5f610a4e83610a308185613012565b6001600160a01b0387165f908152600160205260409020919061147c565b949350505050565b6001600160a01b038516331480610a725750610a7285336105b6565b610a8f57604051632ce44b5f60e11b815260040160405180910390fd5b610a9c858585858561151a565b5050505050565b60608151835114610ac757604051637801f4e960e01b815260040160405180910390fd5b5f83516001600160401b03811115610ae157610ae16129ba565b604051908082528060200260200182016040528015610b0a578160200160208202803683370190505b5090505f5b8451811015610b7957610b54858281518110610b2d57610b2d613025565b6020026020010151858381518110610b4757610b47613025565b602002602001015161061a565b828281518110610b6657610b66613025565b6020908102919091010152600101610b0f565b509392505050565b610b89611196565b600f805460ff19811660ff90911615179055565b610ba5611196565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b610bd7611196565b6064610c03827f0000000000000000000000000000000000000000000000000000000000000000613039565b610c0d9190613064565b600e5550565b610c1b611196565b610c245f61176a565b565b6060610c306117b9565b5f03610c49575050604080515f81526020810190915290565b610680826001600454610c64565b6009805461074790612ec7565b6060818310610c8657604051631960ccad60e11b815260040160405180910390fd5b6001831015610c9457600192505b5f610c9e60045490565b905080831115610cac578092505b5f83851015610cc757610cc0868686610a21565b9050610cca565b505f5b5f816001600160401b03811115610ce357610ce36129ba565b604051908082528060200260200182016040528015610d0c578160200160208202803683370190505b506001600160a01b0388165f90815260016020526040812091925087905b848114610d8257600882901c5f9081526020849052604090205460ff83161c60011615610d775781848280600101935081518110610d6a57610d6a613025565b6020026020010181815250505b816001019150610d2a565b509198975050505050505050565b6108b53383836117ce565b5f3361088c81858560016111e0565b6001600160a01b0382165f908152600160208181526040808420600886901c855290915282205460ff84161c165b9392505050565b6060610dea60045490565b8210610e0957604051637801f4e960e01b815260040160405180910390fd5b5f610e13836118ad565b511115610e2357610680826118ad565b5f600d8054610e3190612ec7565b90501115610e6b57600d610e448361193f565b604051602001610e559291906130e6565b6040516020818303038152906040529050919050565b5f82604051602001610e7f91815260200190565b6040516020818303038152906040528051906020012060f81c90506060806060603f8460ff1611610f17576040518060400160405280600c81526020016b29b2b930b83434b69733b4b360a11b815250925060405180604001604052806008815260200167536572617068696d60c01b815250915060405180610140016040528061011781526020016135e86101179139905061107b565b607f8460ff1611610f8f576040518060400160405280600c81526020016b21b432b93ab134b69733b4b360a11b815250925060405180604001604052806008815260200167436865727562696d60c01b815250915060405180610160016040528061012181526020016138136101219139905061107b565b60bf8460ff1611611005576040518060400160405280600b81526020016a27b83430b734b69733b4b360a91b8152509250604051806040016040528060078152602001664f7068616e696d60c81b815250915060405180610140016040528061011981526020016134af6101199139905061107b565b60ff8460ff161161107b576040518060400160405280600d81526020016c2237b6b4b734b7b7399733b4b360991b815250925060405180604001604052806009815260200168446f6d696e696f6e7360b81b815250915060405180610140016040528061011481526020016136ff610114913990505b5f6110858761193f565b82600c8660405160200161109c949392919061310a565b604051602081830303815290604052905080836040516020016110c09291906131e6565b60405160208183030381529060405295505050505050919050565b919050565b600d805461074790612ec7565b6110f5611196565b600d6108b58282612f43565b6001600160a01b03851633148061111d575061111d85336105b6565b156111365761113185858585856001611244565b610a9c565b604051632ce44b5f60e11b815260040160405180910390fd5b600c805461074790612ec7565b611164611196565b6001600160a01b03811661118d57604051631e4fbdf760e01b81525f6004820152602401610811565b6107378161176a565b5f546001600160a01b03163314610c245760405163118cdaa760e01b8152336004820152602401610811565b60036108b58282612f43565b6111db8383836001611a3b565b505050565b6001600160a01b03841661120957604051634b637e8f60e11b81525f6004820152602401610811565b6001600160a01b0383166112325760405163ec442f0560e01b81525f6004820152602401610811565b61123e84848484611b0d565b50505050565b6001600160a01b03851661126b57604051633a954ecd60e21b815260040160405180910390fd5b335f61127686611d5f565b90508460011480156112b257506001600160a01b0388165f90815260016020818152604080842060088b901c85529091529091205460ff88161c165b15611340576001600160a01b038881165f90815260016020818152604080842060088c901c808652908352818520805460ff8e1686901b8019909116909155958d1685529282528084209284529190528120805490921790915561133b90899089907f0000000000000000000000000000000000000000000000000000000000000000906111e0565b611359565b6040516337dbad3d60e01b815260040160405180910390fd5b6001600160a01b038781169089168682825f805160206135c88339815191525f80a4886001600160a01b03168a6001600160a01b0316856001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628b8b6040516113d3929190918252602082015260400190565b60405180910390a46113e7848b8b86611da5565b84156113fb576113fb848b8b8b8b8b611f28565b50505050505050505050565b6001600160a01b038381165f908152600760209081526040808320938616835292905220545f19811461123e578181101561146e57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610811565b61123e84848484035f611a3b565b5f600883901c60ff8416610101848201106114ee575f828152602087905260409020546114aa90821c612192565b930160ff811693925060018201915f9160081c015b8083146114ec575f838152602088905260409020546114dd90612192565b840193508260010192506114bf565b505b5f8281526020879052604090205461150e90821c6101008690031b612192565b90920195945050505050565b815183511461153c57604051637801f4e960e01b815260040160405180910390fd5b6001600160a01b03841661156357604051633a954ecd60e21b815260040160405180910390fd5b335f5b8451811015611645575f85828151811061158257611582613025565b602002602001015190505f85838151811061159f5761159f613025565b602002602001015190508060011480156115e357506001600160a01b0389165f908152600160208181526040808420600887901c85529091529091205460ff84161c165b1561134057506001600160a01b038881165f908152600160208181526040808420600887901c808652908352818520805460ff90981685901b80199098169055948c168452828252808420948452939052919020805490921790915501611566565b5061167e868686517f00000000000000000000000000000000000000000000000000000000000000006116789190613039565b5f6111e0565b5f805f8651600161168f919061328f565b90506001600160a01b03891691506001600160a01b0388169250602087015183835f805160206135c88339815191525f80a460025b8181146116ed578060200288015184845f805160206135c88339815191525f80a46001016116c4565b50876001600160a01b0316896001600160a01b0316856001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8a8a60405161173d9291906132a2565b60405180910390a4611751848a8a8a611da5565b61175f848a8a8a8a8a612241565b505050505050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60016004546117c99190613012565b905090565b816001600160a01b0316836001600160a01b0316036118415760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610811565b6001600160a01b038381165f81815260026020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6060600380546118bc90612ec7565b80601f01602080910402602001604051908101604052809291908181526020018280546118e890612ec7565b80156119335780601f1061190a57610100808354040283529160200191611933565b820191905f5260205f20905b81548152906001019060200180831161191657829003601f168201915b50505050509050919050565b6060815f036119655750506040805180820190915260018152600360fc1b602082015290565b815f5b811561198e5780611978816132cf565b91506119879050600a83613064565b9150611968565b5f816001600160401b038111156119a7576119a76129ba565b6040519080825280601f01601f1916602001820160405280156119d1576020820181803683370190505b5090505b8415610a4e576119e6600183613012565b91506119f3600a866132e7565b6119fe90603061328f565b60f81b818381518110611a1357611a13613025565b60200101906001600160f81b03191690815f1a905350611a34600a86613064565b94506119d5565b6001600160a01b038416611a645760405163e602df0560e01b81525f6004820152602401610811565b6001600160a01b038316611a8d57604051634a1406b160e11b81525f6004820152602401610811565b6001600160a01b038085165f908152600760209081526040808320938716835292905220829055801561123e57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611aff91815260200190565b60405180910390a350505050565b6001600160a01b038085165f9081526006602052604080822054928616825290205483821015611b695760405163391434e360e21b81526001600160a01b03871660048201526024810183905260448101859052606401610811565b6001600160a01b038087165f81815260066020526040808220888703905592881680825290839020848801905591515f805160206135c883398151915290611bb49088815260200190565b60405180910390a38215611d57576001600160a01b0386165f908152600a602052604090205460ff1680611c60575f7f0000000000000000000000000000000000000000000000000000000000000000611c0e8786613012565b611c189190613064565b611c427f000000000000000000000000000000000000000000000000000000000000000086613064565b611c4c9190613012565b90508015611c5e57611c5e88826122fc565b505b6001600160a01b0386165f908152600a602052604090205460ff16611d5557600b546001148015611c8e5750805b8015611ca657505f546001600160a01b038881169116145b15611cd7576001600160a01b0386165f908152600a60205260409020805460ff191660011790556002600b55611d55565b5f611d027f000000000000000000000000000000000000000000000000000000000000000084613064565b7f0000000000000000000000000000000000000000000000000000000000000000611d2d888661328f565b611d379190613064565b611d419190613012565b90508015611d53576113fb87826125ab565b505b505b505050505050565b6040805160018082528183019092526060916020808301908036833701905050905081815f81518110611d9457611d94613025565b602002602001018181525050919050565b6001600160a01b0382165f908152600a602052604090205460ff16611f2357600e546001600160a01b0383165f908152600660205260409020541115611e2d5760405162461bcd60e51b815260206004820152601f60248201527f5472616e736665722065786365656473206d6178696d756d2077616c6c6574006044820152606401610811565b600f5460ff1615611f2357325f908152601060205260409020544311611ea15760405162461bcd60e51b8152602060048201526024808201527f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f6044820152633bb2b21760e11b6064820152608401610811565b325f9081526010602052604090204390556001600160a01b0382163b158015611ec95750323b155b611f235760405162461bcd60e51b815260206004820152602560248201527f436f6e74726163742074726164696e672072657374726963746564206174206c6044820152640c2eadcc6d60db1b6064820152608401610811565b61123e565b6001600160a01b0384163b15611d57576040516301ffc9a760e01b8152636cdb3d1360e11b60048201526001600160a01b038516906301ffc9a790602401602060405180830381865afa158015611f81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa591906132fa565b156120af5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611fde9089908990889088908890600401613315565b6020604051808303815f875af1925050508015612018575060408051601f3d908101601f1916820190925261201591810190613359565b60015b61207857612024613374565b806308c379a00361205d575061203861338d565b80612043575061205f565b8060405162461bcd60e51b81526004016108119190612ae5565b505b604051639c05499b60e01b815260040160405180910390fd5b6001600160e01b0319811663f23a6e6160e01b146120a957604051639c05499b60e01b815260040160405180910390fd5b50611d57565b604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906120e1908990899088908790600401613415565b6020604051808303815f875af192505050801561211b575060408051601f3d908101601f1916820190925261211891810190613359565b60015b61216157612127613374565b806308c379a003612146575061213b61338d565b806120435750612148565b505b6040516368d2bf6b60e11b815260040160405180910390fd5b6001600160e01b03198116630a85bd0160e11b14611d55576040516368d2bf6b60e11b815260040160405180910390fd5b7f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f7f5555555555555555555555555555555555555555555555555555555555555555600183901c168203600281901c7f3333333333333333333333333333333333333333333333333333333333333333908116911601600481901c01167f01010101010101010101010101010101010101010101010101010101010101010260f81c5f199190911460081b1790565b6001600160a01b0384163b15611d575760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906122859089908990889088908890600401613451565b6020604051808303815f875af19250505080156122bf575060408051601f3d908101601f191682019092526122bc91810190613359565b60015b6122cb57612024613374565b6001600160e01b0319811663bc197c8160e01b14611d5557604051639c05499b60e01b815260040160405180910390fd5b6001600160a01b0382166123235760405163b817eee760e01b815260040160405180910390fd5b60045433905f836001600160401b03811115612341576123416129ba565b60405190808252806020026020018201604052801561236a578160200160208202803683370190505b5090505f846001600160401b03811115612386576123866129ba565b6040519080825280602002602001820160405280156123af578160200160208202803683370190505b5090505f5b8581101561245f5760018382815181106123d0576123d0613025565b6020908102919091018101919091526001600160a01b0388165f90815260019091526040812061240090866127e9565b90508083838151811061241557612415613025565b6020908102919091018101919091526001600160a01b0389165f90815260018083526040808320600886901c8452909352919020805460ff841683901b19169055909450016123b4565b505f8061246d87600161328f565b90506001600160a01b038816915060208301515f835f805160206135c88339815191525f80a460025b8181146124bf57806020028401515f845f805160206135c88339815191525f80a4600101612496565b5086600103612547575f6001600160a01b0316886001600160a01b0316876001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62865f8151811061251957612519613025565b6020026020010151600160405161253a929190918252602082015260400190565b60405180910390a461259f565b5f6001600160a01b0316886001600160a01b0316876001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86886040516125969291906132a2565b60405180910390a45b611d5386895f86611da5565b6060806001600160a01b0384166125d457604051622e076360e81b815260040160405180910390fd5b825f036125f45760405163b562e8dd60e01b815260040160405180910390fd5b33836001600160401b0381111561260d5761260d6129ba565b604051908082528060200260200182016040528015612636578160200160208202803683370190505b509250836001600160401b03811115612651576126516129ba565b60405190808252806020026020018201604052801561267a578160200160208202803683370190505b5091505f61268760045490565b905080855f19031015612698575f80fd5b5f5b858110156126ea578082018582815181106126b7576126b7613025565b60200260200101818152505060018482815181106126d7576126d7613025565b602090810291909101015260010161269a565b506001600160a01b0386165f90815260016020526040902061270d9082876128d6565b8460045f82825461271e919061328f565b909155505f905080612730878461328f565b90506001600160a01b038816915082825f5f805160206135c88339815191525f80a4600183015b81811461277a5780835f5f805160206135c88339815191525f80a4600101612757565b50876001600160a01b03165f6001600160a01b0316856001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb89896040516127ca9291906132a2565b60405180910390a46127de845f8a89611da5565b505050509250929050565b600881901c5f818152602084905260409020545f19919060ff84191690811b901c81158117612829575b5081015f81815260409020548115811715612813575b80156128ce576128bf817f0706060506020504060203020504030106050205030304010505030400000000601f6f8421084210842108cc6318c6db6d54be831560081b6fffffffffffffffffffffffffffffffff851160071b1784811c6001600160401b031060061b1784811c63ffffffff1060051b1784811c61ffff1060041b1784811c60ff1060031b1793841c1c161a1790565b600883901b178481115f031792505b505092915050565b5f1960ff8316846020528360081c5f5261010183820110612932575f805160408220805485851b1790559390910160ff811693600181019160081c015b80821461292e57815f528360405f2055600182019150612913565b505f525b60405f208284610100031c821b8154178155505050505050565b80356001600160a01b03811681146110db575f80fd5b5f8060408385031215612973575f80fd5b61297c8361294c565b946020939093013593505050565b6001600160e01b031981168114610737575f80fd5b5f602082840312156129af575f80fd5b8135610dd88161298a565b634e487b7160e01b5f52604160045260245ffd5b601f8201601f191681016001600160401b03811182821017156129f3576129f36129ba565b6040525050565b5f6001600160401b03831115612a1257612a126129ba565b604051612a29601f8501601f1916602001826129ce565b809150838152848484011115612a3d575f80fd5b838360208301375f60208583010152509392505050565b5f60208284031215612a64575f80fd5b81356001600160401b03811115612a79575f80fd5b8201601f81018413612a89575f80fd5b610a4e848235602084016129fa565b5f5b83811015612ab2578181015183820152602001612a9a565b50505f910152565b5f8151808452612ad1816020860160208601612a98565b601f01601f19169290920160200192915050565b602081525f610dd86020830184612aba565b5f60208284031215612b07575f80fd5b5035919050565b5f805f60608486031215612b20575f80fd5b612b298461294c565b9250612b376020850161294c565b9150604084013590509250925092565b5f805f60608486031215612b59575f80fd5b612b628461294c565b95602085013595506040909401359392505050565b5f6001600160401b03821115612b8f57612b8f6129ba565b5060051b60200190565b5f82601f830112612ba8575f80fd5b81356020612bb582612b77565b604051612bc282826129ce565b80915083815260208101915060208460051b870101935086841115612be5575f80fd5b602086015b84811015612c015780358352918301918301612bea565b509695505050505050565b5f82601f830112612c1b575f80fd5b610dd8838335602085016129fa565b5f805f805f60a08688031215612c3e575f80fd5b612c478661294c565b9450612c556020870161294c565b935060408601356001600160401b0380821115612c70575f80fd5b612c7c89838a01612b99565b94506060880135915080821115612c91575f80fd5b612c9d89838a01612b99565b93506080880135915080821115612cb2575f80fd5b50612cbf88828901612c0c565b9150509295509295909350565b5f8060408385031215612cdd575f80fd5b82356001600160401b0380821115612cf3575f80fd5b818501915085601f830112612d06575f80fd5b81356020612d1382612b77565b604051612d2082826129ce565b83815260059390931b8501820192828101915089841115612d3f575f80fd5b948201945b83861015612d6457612d558661294c565b82529482019490820190612d44565b96505086013592505080821115612d79575f80fd5b50612d8685828601612b99565b9150509250929050565b5f815180845260208085019450602084015f5b83811015612dbf57815187529582019590820190600101612da3565b509495945050505050565b602081525f610dd86020830184612d90565b8015158114610737575f80fd5b5f8060408385031215612dfa575f80fd5b612e038361294c565b91506020830135612e1381612ddc565b809150509250929050565b5f60208284031215612e2e575f80fd5b610dd88261294c565b5f8060408385031215612e48575f80fd5b612e518361294c565b9150612e5f6020840161294c565b90509250929050565b5f805f805f60a08688031215612e7c575f80fd5b612e858661294c565b9450612e936020870161294c565b9350604086013592506060860135915060808601356001600160401b03811115612ebb575f80fd5b612cbf88828901612c0c565b600181811c90821680612edb57607f821691505b602082108103612ef957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156111db57805f5260205f20601f840160051c81016020851015612f245750805b601f840160051c820191505b81811015610a9c575f8155600101612f30565b81516001600160401b03811115612f5c57612f5c6129ba565b612f7081612f6a8454612ec7565b84612eff565b602080601f831160018114612fa3575f8415612f8c5750858301515b5f19600386901b1c1916600185901b178555611d57565b5f85815260208120601f198616915b82811015612fd157888601518255948401946001909101908401612fb2565b5085821015612fee57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561068057610680612ffe565b634e487b7160e01b5f52603260045260245ffd5b808202811582820484141761068057610680612ffe565b634e487b7160e01b5f52601260045260245ffd5b5f8261307257613072613050565b500490565b5f815461308381612ec7565b6001828116801561309b57600181146130b0576130dc565b60ff19841687528215158302870194506130dc565b855f526020805f205f5b858110156130d35781548a8201529084019082016130ba565b50505082870194505b5050505092915050565b5f6130f18285613077565b8351613101818360208801612a98565b01949350505050565b747b226e616d65223a20224d455353454e474552202360581b815284515f9061313a816015850160208a01612a98565b701116113232b9b1b934b83a34b7b7111d1160791b601591840191820152855161316b816026840160208a01612a98565b7f222c2265787465726e616c5f75726c223a2268747470733a2f2f747769747465602692909101918201527f722e636f6d2f4d657373656e6765725f45524358222c22696d616765223a220060468201526131c96065820186613077565b905083516131db818360208801612a98565b019695505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c000000000081525f835161321d81601b850160208801612a98565b7f222c2261747472696275746573223a5b7b2274726169745f74797065223a2243601b918401918201526e37b637b91116113b30b63ab2911d1160891b603b820152835161327281604a840160208801612a98565b63227d5d7d60e01b604a9290910191820152604e01949350505050565b8082018082111561068057610680612ffe565b604081525f6132b46040830185612d90565b82810360208401526132c68185612d90565b95945050505050565b5f600182016132e0576132e0612ffe565b5060010190565b5f826132f5576132f5613050565b500690565b5f6020828403121561330a575f80fd5b8151610dd881612ddc565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f9061334e90830184612aba565b979650505050505050565b5f60208284031215613369575f80fd5b8151610dd88161298a565b5f60033d111561338a5760045f803e505f5160e01c5b90565b5f60443d101561339a5790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156133c957505050505090565b82850191508151818111156133e15750505050505090565b843d87010160208285010111156133fb5750505050505090565b61340a602082860101876129ce565b509095945050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f9061344790830184612aba565b9695505050505050565b6001600160a01b0386811682528516602082015260a0604082018190525f9061347c90830186612d90565b828103606084015261348e8186612d90565b905082810360808401526134a28185612aba565b9897505050505050505056fe4f7068616e696d204e4654732c206d65746963756c6f75736c792065786361766174656420627920736561736f6e656420636f6c6c6563746f727320616e642063726166746564207769746820756e706172616c6c656c656420707265636973696f6e2c20657069746f6d697a6520746865207065616b206f66206469676974616c2072617269747920616e64206578636c757369766974792e204a6f696e207573206f6e204d657373656e67657220746f20656d6261726b206f6e20616e20696e7465727374656c6c6172206f6479737365792c20617320776520747261766572736520746865206c696d69746c65737320636f736d6f732061626f617264206f7572207370616365666172696e672076657373656c732eddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef536572617068696d204e4654732c206d65746963756c6f75736c79206d696e656420627920696e64757374727920656c6974657320616e642063726166746564207769746820756e706172616c6c656c656420707265636973696f6e2c2073796d626f6c697a65207468652070696e6e61636c65206f66206c757875727920616e64206469676974616c2061727469737472792e204a6f696e207573206f6e204d657373656e67657220746f20656d6261726b206f6e20616e20696e7465727374656c6c6172206a6f75726e65792c207768657265207765206578706c6f72652074686520626f756e646c65737320756e6976657273652061626f617264206f7572207370616365666172696e672076657373656c732e446f6d696e696f6e73204e4654732c2064696c6967656e746c7920637572617465642062792065787065727420636f6c6c6563746f727320616e64206372616674656420776974682075746d6f737420707265636973696f6e2c20726570726573656e742074686520657069746f6d65206f66206469676974616c2072617269747920616e64206578636c757369766974792e204a6f696e207573206f6e204d657373656e67657220746f20656d6261726b206f6e20616e20696e7465727374656c6c617220616476656e747572652c207768657265207765206578706c6f72652074686520656e646c65737320636f736d6f732061626f617264206f7572207370616365666172696e672076657373656c732e436865727562696d204e4654732c206361726566756c6c79206d696e65642062792065787065727420636f6c6c6563746f727320616e64206d65746963756c6f75736c792063726166746564207769746820676f6c64656e20657863656c6c656e63652c2073796d626f6c697a65207468652070696e6e61636c65206f66206469676974616c2072617269747920616e64206578636c757369766974792e204a6f696e207573206f6e204d657373656e67657220746f20656d6261726b206f6e20616e20696e7465727374656c6c6172206a6f75726e65792c207768657265207765206578706c6f72652074686520626f756e646c65737320756e6976657273652061626f617264206f7572207370616365666172696e672076657373656c732ea2646970667358221220ab6e020a6b310feb8026bb20ed11bb6576860956793cef87ebc77fb1c89a404164736f6c6343000818003368747470733a2f2f626166796265696237696463636775796836736e6733797a7865726c6f6f7936617a736b6b676a786f707a7071696877673479787867626f6a33792e697066732e6e667473746f726167652e6c696e6b2f