60a06040526ddead000000000000000000000000608052683635c9adc5dea00000600c8190556200003390600019620002ba565b620000419060001962000257565b600d5560408051808201909152600580825264496e61726960d81b60209092019182526200007291600f91620001b1565b5060408051808201909152600580825264496e61726960d81b6020909201918252620000a191601091620001b1565b506011805460ff19908116600917909155600060148190556015819055601681905560178190556019805490921660019081179092556103e8601a55601b55600a601c5566038d7ea4c68000601d55601f805461ffff191690911790556020805461ffff60a81b191690553480156200011957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d5433600081815260036020908152604080832094909455600c549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620002dd565b828054620001bf906200027d565b90600052602060002090601f016020900481019282620001e357600085556200022e565b82601f10620001fe57805160ff19168380011785556200022e565b828001600101855582156200022e579182015b828111156200022e57825182559160200191906001019062000211565b506200023c92915062000240565b5090565b5b808211156200023c576000815560010162000241565b6000828210156200027857634e487b7160e01b600052601160045260246000fd5b500390565b600181811c908216806200029257607f821691505b60208210811415620002b457634e487b7160e01b600052602260045260246000fd5b50919050565b600082620002d857634e487b7160e01b600052601260045260246000fd5b500690565b60805160601c613c0862000303600039600081816103ce01526133390152613c086000f3fe6080604052600436106102815760003560e01c8063610d5b191161014f578063975c0ed3116100c1578063dd4670641161007a578063dd4670641461079d578063dd62ed3e146107bd578063e2c335db14610803578063f03e63b414610819578063f2fde38b14610839578063ffb54a991461085957600080fd5b8063975c0ed3146106fc578063a3b855ce14610712578063a457c2d714610732578063a69df4b514610752578063a9059cbb14610767578063b4f40c611461078757600080fd5b80637f160346116101135780637f160346146106465780638203f5fe1461066657806388f820201461067b5780638a8c523c146106b45780638da5cb5b146106c957806395d89b41146106e757600080fd5b8063610d5b19146105a157806367de8be9146105da5780636bc87c3a146105fa57806370a0823114610610578063790ca4131461063057600080fd5b8063313ce567116101f35780634a74bb02116101ac5780634a74bb02146104e85780634ddfae4b146105095780635342acb41461051f578063557ed1ba14610558578063602bc62b1461056b5780636053a0e31461058057600080fd5b8063313ce5671461043057806339509351146104525780633b124fe7146104725780633bd5d173146104885780634549b039146104a857806349bd5a5e146104c857600080fd5b806318160ddd1161024557806318160ddd14610367578063224a7c6a1461037c57806323b872dd1461039c57806327c8f835146103bc57806329370cc6146103f05780632d8381191461041057600080fd5b8063061c82d01461028d57806306fdde03146102af578063095ea7b3146102da57806313114a9d1461030a5780631694505e1461032957600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046138c2565b610878565b005b3480156102bb57600080fd5b506102c46108d0565b6040516102d19190613980565b60405180910390f35b3480156102e657600080fd5b506102fa6102f536600461387b565b610962565b60405190151581526020016102d1565b34801561031657600080fd5b50600e545b6040519081526020016102d1565b34801561033557600080fd5b50601f5461034f906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016102d1565b34801561037357600080fd5b50600c5461031b565b34801561038857600080fd5b506102ad6103973660046138c2565b610979565b3480156103a857600080fd5b506102fa6103b736600461383a565b6109a8565b3480156103c857600080fd5b5061034f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103fc57600080fd5b506102ad61040b3660046138a7565b610a11565b34801561041c57600080fd5b5061031b61042b3660046138c2565b610a8b565b34801561043c57600080fd5b5060115460405160ff90911681526020016102d1565b34801561045e57600080fd5b506102fa61046d36600461387b565b610b0f565b34801561047e57600080fd5b5061031b60145481565b34801561049457600080fd5b506102ad6104a33660046138c2565b610b45565b3480156104b457600080fd5b5061031b6104c33660046138db565b610c2f565b3480156104d457600080fd5b5060205461034f906001600160a01b031681565b3480156104f457600080fd5b506020546102fa90600160a81b900460ff1681565b34801561051557600080fd5b5061031b601d5481565b34801561052b57600080fd5b506102fa61053a3660046137c7565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561056457600080fd5b504261031b565b34801561057757600080fd5b5060025461031b565b34801561058c57600080fd5b506020546102fa90600160b01b900460ff1681565b3480156105ad57600080fd5b506102fa6105bc3660046137c7565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156105e657600080fd5b506102ad6105f53660046138c2565b610cbc565b34801561060657600080fd5b5061031b60165481565b34801561061c57600080fd5b5061031b61062b3660046137c7565b610ceb565b34801561063c57600080fd5b5061031b60125481565b34801561065257600080fd5b506102ad6106613660046138c2565b610d4a565b34801561067257600080fd5b506102ad610d92565b34801561068757600080fd5b506102fa6106963660046137c7565b6001600160a01b03166000908152600a602052604090205460ff1690565b3480156106c057600080fd5b506102ad611dd5565b3480156106d557600080fd5b506000546001600160a01b031661034f565b3480156106f357600080fd5b506102c4611e53565b34801561070857600080fd5b5061031b60185481565b34801561071e57600080fd5b506102ad61072d3660046138c2565b611e62565b34801561073e57600080fd5b506102fa61074d36600461387b565b611e91565b34801561075e57600080fd5b506102ad611ee0565b34801561077357600080fd5b506102fa61078236600461387b565b611ff8565b34801561079357600080fd5b5061031b601c5481565b3480156107a957600080fd5b506102ad6107b83660046138c2565b612005565b3480156107c957600080fd5b5061031b6107d8366004613801565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561080f57600080fd5b5061031b601b5481565b34801561082557600080fd5b506102ad6108343660046137c7565b61209c565b34801561084557600080fd5b506102ad6108543660046137c7565b6120ee565b34801561086557600080fd5b50601f546102fa90610100900460ff1681565b6000546001600160a01b031633146108ab5760405162461bcd60e51b81526004016108a2906139d5565b60405180910390fd5b6014816018546108bb9190613a5f565b11156108c657600080fd5b6014819055601555565b6060600f80546108df90613ac1565b80601f016020809104026020016040519081016040528092919081815260200182805461090b90613ac1565b80156109585780601f1061092d57610100808354040283529160200191610958565b820191906000526020600020905b81548152906001019060200180831161093b57829003601f168201915b5050505050905090565b600061096f3384846121d8565b5060015b92915050565b6000546001600160a01b031633146109a35760405162461bcd60e51b81526004016108a2906139d5565b601d55565b60006109b58484846122fc565b610a078433610a0285604051806060016040528060288152602001613b86602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190612986565b6121d8565b5060019392505050565b6000546001600160a01b03163314610a3b5760405162461bcd60e51b81526004016108a2906139d5565b6020805460ff60b01b1916600160b01b8315159081029190911782556040519081527f3794234fa370c9f3b948dda3e3040530785b2ef1eb27dda3ffde478f4e2643c0910160405180910390a150565b6000600d54821115610af25760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016108a2565b6000610afc6129c0565b9050610b0883826129e3565b9392505050565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161096f918590610a029086612a25565b336000818152600a602052604090205460ff1615610bba5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084016108a2565b6000610bc583612a84565b505050506001600160a01b038416600090815260036020526040902054919250610bf191905082612ad3565b6001600160a01b038316600090815260036020526040902055600d54610c179082612ad3565b600d55600e54610c279084612a25565b600e55505050565b6000600c54831115610c835760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016108a2565b81610ca2576000610c9384612a84565b50939550610973945050505050565b6000610cad84612a84565b50929550610973945050505050565b6000546001600160a01b03163314610ce65760405162461bcd60e51b81526004016108a2906139d5565b601c55565b6001600160a01b0381166000908152600a602052604081205460ff1615610d2857506001600160a01b031660009081526004602052604090205490565b6001600160a01b03821660009081526003602052604090205461097390610a8b565b6000546001600160a01b03163314610d745760405162461bcd60e51b81526004016108a2906139d5565b60148054610d829083613a5f565b1115610d8d57600080fd5b601855565b6000546001600160a01b03163314610dbc5760405162461bcd60e51b81526004016108a2906139d5565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0e57600080fd5b505afa158015610e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4691906137e4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8e57600080fd5b505afa158015610ea2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec691906137e4565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610f0e57600080fd5b505af1158015610f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4691906137e4565b602080546001600160a01b0319166001600160a01b03928316179055601f805462010000600160b01b03191662010000848416021790556000805460019260099291166001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526009835290812080548416600190811790915560079092527f57c722c10b286721330ce1e7368f87f549121277c4e5ffab2e83419c7564f96180548416831790556008805480840182557ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee390810180546001600160a01b0319908116737589319ed0fd750017159fb4e4d96c63966173c1179091557fb4360de54da26af4127515af1e49997106b425ee5904e923f0902c7618138e598054871686179055825480860184558201805482167365a67df75ccbf57828185c7c050e34de64d859d01790557faa01439ba306fcf815e716b248617e3c66941c4344ce5297e38ccc42cd30bc1180548716861781558354808701855583018054831673e031b36b53e53a292a20c5f08fd1658cddf74fce9081179091558154881687179091558354808701855583018054831690911790557f20bb0313363229c48e5dca565476b9f004fcadd21a3cebd9148dbac2f2ba8e6d80548716861790558254808601845582018054821673e516bdee55b0b4e9bacaf6285130de15589b13451790557f185a84d37a19636863439d4bd8f79b953edfc2f2b332404b82e2c102dfbb4b8d80548716861790558254808601845582018054821673a1cec245c456dd1bd9f2815a6955fef44eb4191b1790557ff405e61457986734bcc74d319afb38a21149b3d56f884ce85ec24a17fadbe35d80548716861790558254808601845582018054821673d7d3ee77d35d0a56f91542d4905b1a2b1cd7cf951790557fa2988ed14d9641c67aefa7ee82d50112dd7b9326d1e98e9dce9d802915d3b36480548716861790558254808601845582018054821673fe76f05dc59fec04184fa0245ad0c3cf9a57b9641790557f158b420708a0e60d8f36936f51360cee200d1017c9023a4ddcae85bff89c0f4e80548716861790558254808601845582018054821673dc81a3450817a58d00f45c86d0368290088db8481790557ff1d1c874a6478f85b6b904feafb9a196ead08dc959fdf0a523b19e42779d27ce8054871686179055825480860184558201805482167345fd07c63e5c316540f14b2002b085aee78e38811790557f401a4c0ca7781d92989fe1809638f35a473d45b2aa1f20ea08b891ad153486ab8054871686179055825480860184558201805482167327f9adb26d532a41d97e00206114e429ad58c6791790557fcdd749be89563b0fe17aff861f904dad7a5ecfebb7ff064b12d5552d5c400ea7805487168617905582548086018455820180548216739282dc5c422fa91ff2f6ff3a0b45b7bf97cf78e71790557f3eca23c1fceac0076012235763bf4b524e34500801ac57fb32381013c0d6901e80548716861790558254808601845582018054821673fad95b6089c53a0d1d861eabfaadd8901b0f85331790557f297b29cec8a1eb621a328e39c96c47ebe5e4031f1f910cb41ad54c511034e73a805487168617905582548086018455820180548216731d6e8bac6ea3730825bde4b005ed7b2b39a2932d1790557ffe44942143e318205a789f77df1b2bf735ffc548308bab5499d0216aec3332e48054871686179055825480860184558201805482166d084e91743124a982076c59f100841790557f3e4f611ed8482ea59e6424ad23a75453ec3ddb7677cd19d4c934256448de183a805487168617905582548086018455820180548216736da4bea09c3aa0761b09b19837d9105a522543031790557f7ee7f44cdecb2d7c9ebf96addf904d703c57dc894fdb6b132a783045f8ad751980548716861790558254808601845582018054821673323b7f37d382a68b0195b873af17cea5b67cd5951790557fb1c982ebec4b3ffbad67c2dd4b8d8215a47baa972366e4a63f51e9c6ce9a5d4e8054871686179055825480860184558201805482166f5804b22091aa9830e50459a15e7c92411790557fa11920fa7ae15c72226954c89a9e5c6f067c85fde0c317c7a78e3897c4aa229d80548716861790558254808601845582018054821673a3b0e79935815730d942a444a84d4bd14a3395531790557f1ea4ceff6c7cd2bd1aa871eb2c9e7b14363c267e1c8d45b2b4038682a83baef480548716861790558254808601845582018054821673f6da21e95d74767009accb145b96897ac3630bad1790557f5ccd521e90776b08b8302e31941eda99ae5bb6dd0a4a30a038e75275ed151f1f8054871686179055825480860184558201805482166d7673393729d5618dc555fd13f9aa1790557f9aac9a42097620b1ff8454a6252a3d8b6aecd2746f5cc70c2496bd35cd9e69b18054871686179055825480860184558201805482166d03441d59dde9a90bffb1cd3fabf11790557fa9d6552d66baaa4186648ea67a6cabd630f6081027f5bf546135d86d60df82fd8054871686179055825480860184558201805482167359903993ae67bf48f10832e9be28935fee04d6f61790557fe35fa26e68f804147088c2b96da426aeba0a986c80b2972d565ff073fcf3b2ed80548716861790558254808601845582018054821670917de6037d52b1f0a306eecd208405f7cd1790557f0974c6061423c59b1cc18edad4ab1f546201d6fbcde60ba3925dea5bbc1f3b92805487168617905582548086018455820180548216737100e690554b1c2fd01e8648db88be235c1e65141790557fe96e4260a99427d26094e01497bcbf1209430052150bbba23c77691cfd3888de8054871686179055825480860184558201805482167372b30cdc1583224381132d379a052a6b107254151790557fc71bda09a50ffbca62ccd1161350db5851fbb6ddd35d31c3c3517822e54b5c55805487168617905582548086018455820180548216739edd647d7d6eceae6bb61d7785ef66c5055a9bee1790557f3848f2c08fb0667ee5b5086c84806cc492f6771453629ea470ad1bb4309b27df80548716861790558254808601845582018054821673fe9d99ef02e905127239e85a611c29ad32c31c2f1790557f954a0c36a45fcaf27e7a22dfaa2c9f3b813d726eab18c0fdbf36d3b835f9975c8054871686178155835480870185558301805483167339608b6f20704889c51c0ae28b1fca8f36a5239b9081179091557f7985ebff531dc9ae85a3acb40e87a09c7806f6a13dabe868af5b0a8d22bd505e80548916881790558454808801865584018054841673c496d84215d5018f6f53e7f6f12e45c9b5e8e8a91790557f6c52e41dd6b06a1bc9b96527098c91ef1536901d6b06ec3895465678b4d3cb2d8054891688179055845480880186558401805484167359341bc6b4f3ace878574b05914f43309dd678c71790557f33bb6bc5e24dd699dcbf1756dad57e97b0d83832560d2b9372cac6749ec975d080548916881790558454808801865584018054841673e986d48efee9ec1b8f66cd0b0ae8e3d18f091bdf1790557fc419d9cfed3cf702f7269baae5ca04d34554e3d12c577f99b455846286201a5c805489168817905584548088018655840180548416734aeb32e16dcac00b092596adc6cd4955efdee2901790557fab78f0789a7bb7c5eaddd13a6a0e91c9346a2134aed2e32ec259fffe6a6a9c7680548916881790558454808801865584018054841673136f4b5b6a306091b280e3f251fa0e21b1280cd51790558154881687179091558354808701855583018054831690911790557f1be75507d4b2cac3a24552f05fdfa14cf0f018e17cf718ca8d750a13ecaa3fb8805487168617905582548086018455820180548216735b83a351500b631cc2a20a665ee17f0dc66e3db71790557f8499ee18ee603a2cfde0354d5d324ebcbe145b33d7bdb9c0e42bad4169d18d9d80548716861790558254808601845582018054821673bcb05a3f85d34f0194c70d5914d5c4e28f11cc021790557f47c3decdbf0327f6973c2489bb6b726e7c2d32891ee0e58aab41a4ba06f0745b8054871686179055825480860184558201805482167322246f9bca9921bfa9a3f8df5babc5bc8ee738501790557f327a45de5f4ec9398adddd1243a3de3a045557ad91bb3317327482f19cc2fa568054871686179055825480860184558201805482167342d4c197036bd9984ca652303e07dd29fa6bdb371790557f91e3d6ffd1390da3bfbc0e0875515e89982841b064fcda9b67cffc63d8082ab68054871686179055825480860184558201805482166e3b3cc22af3ae1eac0440bcee416b401790557f0f0787d14733cc845754e46f4b9ac4f1ad047fd749dc13e3d96a4ae78999260f80548716861790558254808601845582018054821673231dc6af3c66741f6cf618884b953df0e83c1a2a1790557f9e1cab7afd1c36c8834124180f41b4fdd617e5b830a32dbe4ad39ce2403f330180548716861790558254808601845582018054821673c6bf34596f74eb22e066a878848dfb9fc1cf4c651790557ffce34a7b755f382e92d8fed99c280c08c64d82c48720533c065ce505a27e30c48054871686179055825480860184558201805482167320f6fcd6b8813c4f98c0ffbd88c87c0255040aa31790557f036de65337957dcec72784f3b7bdcc4c1db7dca6197401781e45567a6282e7ec80548716861790558254808601845582018054821673d334c5392ed4863c81576422b968c6fb90ee9f791790557fb223036d049cf96d476dc559d24b358878d6abfa6d8b9398c62a0461b2db6f6a80548716861790558254808601845582018054821673fffff6e70842330948ca47254f2be673b1cb0db71790557f3f74e5026cf68c914529907c341f86db0d11f8d7bb07501e2da38fe88ece2d8a80548716861781558354808701855583018054831673a39c50bf86e15391180240938f469a7bf4fdae9a90811790915581549097168617905582549485018355919092529101805490911690911790555060118054741896bdf0327a5e20de16ad817dc70312edd7c63a00610100600160a81b0319909116179055565b6000546001600160a01b03163314611dff5760405162461bcd60e51b81526004016108a2906139d5565b671bc16d674ec80000601e55601460188190556016819055600090556020805460ff60a81b1916600160a81b179055601f805461ff001916610100179055426012819055611e4e9060f0613a5f565b601355565b6060601080546108df90613ac1565b6000546001600160a01b03163314611e8c5760405162461bcd60e51b81526004016108a2906139d5565b601b55565b600061096f3384610a0285604051806060016040528060258152602001613bae602591393360009081526005602090815260408083206001600160a01b038d1684529091529020549190612986565b6001546001600160a01b03163314611f465760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b60648201526084016108a2565b6002544211611f975760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c203720646179730060448201526064016108a2565b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b600061096f3384846122fc565b6000546001600160a01b0316331461202f5760405162461bcd60e51b81526004016108a2906139d5565b60008054600180546001600160a01b03199081166001600160a01b0384161790915516905561205e8142613a5f565b600255600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6000546001600160a01b031633146120c65760405162461bcd60e51b81526004016108a2906139d5565b601180546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000546001600160a01b031633146121185760405162461bcd60e51b81526004016108a2906139d5565b6001600160a01b03811661217d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108a2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661223a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108a2565b6001600160a01b03821661229b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108a2565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166123605760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108a2565b6001600160a01b0382166123c25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108a2565b600081116124245760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108a2565b6001600160a01b03821660009081526007602052604090205460ff16156124875760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b60448201526064016108a2565b3360009081526007602052604090205460ff16156124e15760405162461bcd60e51b8152602060048201526017602482015276596f752068617665206e6f20706f77657220686572652160481b60448201526064016108a2565b6000546001600160a01b0384811691161480159061250d57506000546001600160a01b03838116911614155b1561263857601f54610100900460ff166125c4576001600160a01b03831630148061254057506001600160a01b03821630145b8061255857506000546001600160a01b038481169116145b8061257057506000546001600160a01b038381169116145b6125c457601f54610100900460ff166125c45760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016108a2565b601f5460ff1615612638573360009081526006602052604090206002015460ff1661263857604080516060810182526000808252602080830182815260018486018181523385526006909352949092209251835590519282019290925590516002909101805460ff19169115159190911790555b6020546001600160a01b0384811691161480156126695750601f546001600160a01b03838116620100009092041614155b801561268e57506001600160a01b03821660009081526009602052604090205460ff16155b156127de57601f54610100900460ff166126ea5760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e000000000000000060448201526064016108a2565b601854601655601f5460ff16156127ab574260135411156127ab57601e5481111561271457600080fd5b6001600160a01b03821660009081526006602052604090205442116127865760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b60648201526084016108a2565b61279142602d613a5f565b6001600160a01b0383166000908152600660205260409020555b601f5460ff16156127de576127c142600f613a5f565b6001600160a01b0383166000908152600660205260409020600101555b602054600160a01b900460ff161580156128015750602054600160a81b900460ff165b801561281a57506020546001600160a01b038381169116145b156129295760195460ff161561287d576000612841601a5483612b1590919063ffffffff16565b60205490915061287090612869908490612863906001600160a01b0316610ceb565b90612a25565b82906129e3565b905061287b81612b94565b505b601654600061288b30610ceb565b9050801561289c5761289c81612be0565b6020544790600160b01b900460ff1680156128b95750601b548410155b15612923576000600a9050600061290e600a6128f86129056128fe6018546128f8601c546128f26018548e612ad390919063ffffffff16565b90612b15565b906129e3565b8690612a25565b601d5490612b15565b90508083106129205761292081612c43565b50505b50506016555b6001600160a01b03831660009081526009602052604090205460019060ff168061296b57506001600160a01b03831660009081526009602052604090205460ff165b15612974575060005b61298084848484612c75565b50505050565b600081848411156129aa5760405162461bcd60e51b81526004016108a29190613980565b5060006129b78486613aaa565b95945050505050565b60008060006129cd612d9a565b90925090506129dc82826129e3565b9250505090565b6000610b0883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612f1c565b600080612a328385613a5f565b905083811015610b085760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016108a2565b6000806000806000806000806000612a9b8a612f4a565b9250925092506000806000612ab98d8686612ab46129c0565b612f8c565b919f909e50909c50959a5093985091965092945050505050565b6000610b0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612986565b600082612b2457506000610973565b6000612b308385613a8b565b905082612b3d8583613a77565b14610b085760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016108a2565b60185480821015612ba85750601854612bbc565b6028821115612bb957506028612bbc565b50805b612bc7816002612fdc565b15612bda5780612bd681613afc565b9150505b60165550565b6020805460ff60a01b1916600160a01b17905547612bfd8261301e565b6000612c094783612ad3565b601154909150612c319061010090046001600160a01b0316612c2c8360026129e3565b6131e5565b50506020805460ff60a01b1916905550565b6020805460ff60a01b1916600160a01b1790558015612c6557612c6581613220565b506020805460ff60a01b19169055565b80612c8257612c826133e6565b6001600160a01b0384166000908152600a602052604090205460ff168015612cc357506001600160a01b0383166000908152600a602052604090205460ff16155b15612cd857612cd3848484613414565b612d84565b6001600160a01b0384166000908152600a602052604090205460ff16158015612d1957506001600160a01b0383166000908152600a602052604090205460ff165b15612d2957612cd384848461353a565b6001600160a01b0384166000908152600a602052604090205460ff168015612d6957506001600160a01b0383166000908152600a602052604090205460ff165b15612d7957612cd38484846135e3565b612d84848484613656565b8061298057612980601554601455601754601655565b600d54600c546000918291825b600b54811015612eec578260036000600b8481548110612dc957612dc9613b57565b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612e3457508160046000600b8481548110612e0d57612e0d613b57565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15612e4a57600d54600c54945094505050509091565b612e9060036000600b8481548110612e6457612e64613b57565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490612ad3565b9250612ed860046000600b8481548110612eac57612eac613b57565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390612ad3565b915080612ee481613afc565b915050612da7565b50600c54600d54612efc916129e3565b821015612f1357600d54600c549350935050509091565b90939092509050565b60008183612f3d5760405162461bcd60e51b81526004016108a29190613980565b5060006129b78486613a77565b600080600080612f598561369a565b90506000612f66866136b6565b90506000612f7e82612f788986612ad3565b90612ad3565b979296509094509092505050565b6000808080612f9b8886612b15565b90506000612fa98887612b15565b90506000612fb78888612b15565b90506000612fc982612f788686612ad3565b939b939a50919850919650505050505050565b6000610b0883836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f00000000000000008152506136d2565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061305357613053613b57565b60200260200101906001600160a01b031690816001600160a01b031681525050601f60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156130c157600080fd5b505afa1580156130d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130f991906137e4565b8160018151811061310c5761310c613b57565b6001600160a01b039283166020918202929092010152601f5461313891309162010000900416846121d8565b601f5460405163791ac94760e01b8152620100009091046001600160a01b03169063791ac94790613176908590600090869030904290600401613a23565b600060405180830381600087803b15801561319057600080fd5b505af11580156131a4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516131d9929190613a0a565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801561321b573d6000803e3d6000fd5b505050565b604080516002808252606082018352600092602083019080368337019050509050601f60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561328f57600080fd5b505afa1580156132a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132c791906137e4565b816000815181106132da576132da613b57565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061330e5761330e613b57565b6001600160a01b039283166020918202929092010152601f546201000090041663b6f9de95836000847f00000000000000000000000000000000000000000000000000000000000000006133644261012c612a25565b6040518663ffffffff1660e01b8152600401613383949392919061394b565b6000604051808303818588803b15801561339c57600080fd5b505af11580156133b0573d6000803e3d6000fd5b50505050507f6fd378a9d8b7345c2e5b18229aaf1e39d32b177b501d0a0d26a0a858a23a962482826040516131d9929190613a0a565b6014541580156133f65750601654155b156133fd57565b601480546015556016805460175560009182905555565b60008060008060008061342687612a84565b6001600160a01b038f16600090815260046020526040902054959b509399509197509550935091506134589088612ad3565b6001600160a01b038a166000908152600460209081526040808320939093556003905220546134879087612ad3565b6001600160a01b03808b1660009081526003602052604080822093909355908a16815220546134b69086612a25565b6001600160a01b0389166000908152600360205260409020556134d881613706565b6134e2848361378e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161352791815260200190565b60405180910390a3505050505050505050565b60008060008060008061354c87612a84565b6001600160a01b038f16600090815260036020526040902054959b5093995091975095509350915061357e9087612ad3565b6001600160a01b03808b16600090815260036020908152604080832094909455918b168152600490915220546135b49084612a25565b6001600160a01b0389166000908152600460209081526040808320939093556003905220546134b69086612a25565b6000806000806000806135f587612a84565b6001600160a01b038f16600090815260046020526040902054959b509399509197509550935091506136279088612ad3565b6001600160a01b038a1660009081526004602090815260408083209390935560039052205461357e9087612ad3565b60008060008060008061366887612a84565b6001600160a01b038f16600090815260036020526040902054959b509399509197509550935091506134879087612ad3565b600061097360646128f860145485612b1590919063ffffffff16565b600061097360646128f860165485612b1590919063ffffffff16565b600081836136f35760405162461bcd60e51b81526004016108a29190613980565b506136fe8385613b17565b949350505050565b60006137106129c0565b9050600061371e8383612b15565b3060009081526003602052604090205490915061373b9082612a25565b30600090815260036020908152604080832093909355600a9052205460ff161561321b57306000908152600460205260409020546137799084612a25565b30600090815260046020526040902055505050565b600d5461379b9083612ad3565b600d55600e546137ab9082612a25565b600e555050565b803580151581146137c257600080fd5b919050565b6000602082840312156137d957600080fd5b8135610b0881613b6d565b6000602082840312156137f657600080fd5b8151610b0881613b6d565b6000806040838503121561381457600080fd5b823561381f81613b6d565b9150602083013561382f81613b6d565b809150509250929050565b60008060006060848603121561384f57600080fd5b833561385a81613b6d565b9250602084013561386a81613b6d565b929592945050506040919091013590565b6000806040838503121561388e57600080fd5b823561389981613b6d565b946020939093013593505050565b6000602082840312156138b957600080fd5b610b08826137b2565b6000602082840312156138d457600080fd5b5035919050565b600080604083850312156138ee57600080fd5b823591506138fe602084016137b2565b90509250929050565b600081518084526020808501945080840160005b838110156139405781516001600160a01b03168752958201959082019060010161391b565b509495945050505050565b8481526080602082015260006139646080830186613907565b6001600160a01b03949094166040830152506060015292915050565b600060208083528351808285015260005b818110156139ad57858101830151858201604001528201613991565b818111156139bf576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8281526040602082015260006136fe6040830184613907565b85815284602082015260a060408201526000613a4260a0830186613907565b6001600160a01b0394909416606083015250608001529392505050565b60008219821115613a7257613a72613b2b565b500190565b600082613a8657613a86613b41565b500490565b6000816000190483118215151615613aa557613aa5613b2b565b500290565b600082821015613abc57613abc613b2b565b500390565b600181811c90821680613ad557607f821691505b60208210811415613af657634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415613b1057613b10613b2b565b5060010190565b600082613b2657613b26613b41565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114613b8257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ad4eec2decd463320835aaa20342c91f4302afde104fccd9e0988d556afbd3ee64736f6c63430008050033