0x6080604052600436106104095760003560e01c806361cd759f11610213578063a9059cbb11610123578063dc44b6a0116100ab578063efcc52de1161007a578063efcc52de14610c31578063f2fde38b14610c47578063f5648a4f14610c67578063f9f92be414610c7c578063fce0f92814610cac57600080fd5b8063dc44b6a014610b9f578063dd62ed3e14610bb5578063ea2f0b3714610bfb578063ee40166e14610c1b57600080fd5b8063c469b6dd116100f2578063c469b6dd14610b1d578063c49b9a8014610b33578063c5f956af14610b53578063c8c8ebe414610b73578063cab0347114610b8957600080fd5b8063a9059cbb14610a96578063aa4bde2814610ab6578063b62496f514610acc578063bbc0c74214610afc57600080fd5b806380feb139116101a65780638da5cb5b116101755780638da5cb5b146109f857806395d89b4114610a165780639a7a23d614610a41578063a073d37f14610a61578063a457c2d714610a7657600080fd5b806380feb139146109695780638366e79a1461098957806388790a68146109a957806388f82020146109bf57600080fd5b806370a08231116101e257806370a08231146108ff578063715018a61461091f578063751039fc146109345780637571336a1461094957600080fd5b806361cd759f1461089357806362b72fb0146108a95780636605bfda146108c95780636eee65d2146108e957600080fd5b8063395093511161031957806351f205e4116102a1578063537df3b611610270578063537df3b61461081557806354cb77f914610835578063557ed1ba1461084b5780635d0044ca1461085e578063602bc62b1461087e57600080fd5b806351f205e41461078757806352390c021461079c578063525fa81f146107bc5780635342acb4146107dc57600080fd5b806344337ea1116102e857806344337ea1146106ec5780634549b0391461070c57806349bd5a5e1461072c5780634a62bb651461074c5780634a74bb021461076657600080fd5b806339509351146106765780633cf96af1146106965780634047ea3e146106b6578063437823ec146106cc57600080fd5b80631d865c301161039c57806325519cf21161036b57806325519cf2146105da5780632d838119146105fa578063313ce5671461061a5780633221c93f146106365780633685d4191461065657600080fd5b80631d865c30146105645780631e293c1014610584578063200a692d146105a457806323b872dd146105ba57600080fd5b8063119c1840116103d8578063119c1840146104cf57806313114a9d146104f15780631694505e1461051057806318160ddd1461054857600080fd5b806301339c211461041557806306fdde031461043f578063095ea7b31461047f57806310d5de531461049f57600080fd5b3661041057005b600080fd5b34801561042157600080fd5b5061042a610ccc565b60405190151581526020015b60405180910390f35b34801561044b57600080fd5b5060408051808201909152600e81526d4f6c6420474d20287761676d692960901b60208201525b6040516104369190613e52565b34801561048b57600080fd5b5061042a61049a366004613eb8565b610fd9565b3480156104ab57600080fd5b5061042a6104ba366004613ee4565b60256020526000908152604090205460ff1681565b3480156104db57600080fd5b506104ef6104ea366004613f01565b610ff0565b005b3480156104fd57600080fd5b506011545b604051908152602001610436565b34801561051c57600080fd5b50602854610530906001600160a01b031681565b6040516001600160a01b039091168152602001610436565b34801561055457600080fd5b50683635c9adc5dea00000610502565b34801561057057600080fd5b506104ef61057f366004613f23565b611071565b34801561059057600080fd5b506104ef61059f366004613f4f565b611156565b3480156105b057600080fd5b50610502601b5481565b3480156105c657600080fd5b5061042a6105d5366004613f68565b6111e4565b3480156105e657600080fd5b506104ef6105f5366004613f23565b61124d565b34801561060657600080fd5b50610502610615366004613f4f565b611329565b34801561062657600080fd5b5060405160098152602001610436565b34801561064257600080fd5b50600554610530906001600160a01b031681565b34801561066257600080fd5b506104ef610671366004613ee4565b6113ad565b34801561068257600080fd5b5061042a610691366004613eb8565b611563565b3480156106a257600080fd5b50600454610530906001600160a01b031681565b3480156106c257600080fd5b5061050260215481565b3480156106d857600080fd5b506104ef6106e7366004613ee4565b611599565b3480156106f857600080fd5b506104ef610707366004613ee4565b61161e565b34801561071857600080fd5b50610502610727366004613fb7565b6116c2565b34801561073857600080fd5b50602954610530906001600160a01b031681565b34801561075857600080fd5b50600b5461042a9060ff1681565b34801561077257600080fd5b5060295461042a90600160a81b900460ff1681565b34801561079357600080fd5b506104ef611756565b3480156107a857600080fd5b506104ef6107b7366004613ee4565b61184e565b3480156107c857600080fd5b506104ef6107d7366004613ee4565b611a3c565b3480156107e857600080fd5b5061042a6107f7366004613ee4565b6001600160a01b03166000908152600d602052604090205460ff1690565b34801561082157600080fd5b506104ef610830366004613ee4565b611b32565b34801561084157600080fd5b50610502601e5481565b34801561085757600080fd5b5042610502565b34801561086a57600080fd5b506104ef610879366004613f4f565b611bca565b34801561088a57600080fd5b50600254610502565b34801561089f57600080fd5b50610502601f5481565b3480156108b557600080fd5b506104ef6108c4366004613ee4565b611c58565b3480156108d557600080fd5b506104ef6108e4366004613ee4565b611d64565b3480156108f557600080fd5b5061050260225481565b34801561090b57600080fd5b5061050261091a366004613ee4565b611e14565b34801561092b57600080fd5b506104ef611e73565b34801561094057600080fd5b5061042a611ee7565b34801561095557600080fd5b506104ef610964366004613fe7565b611f26565b34801561097557600080fd5b50600354610530906001600160a01b031681565b34801561099557600080fd5b5061042a6109a4366004614015565b611f7b565b3480156109b557600080fd5b50610502601c5481565b3480156109cb57600080fd5b5061042a6109da366004613ee4565b6001600160a01b03166000908152600e602052604090205460ff1690565b348015610a0457600080fd5b506000546001600160a01b0316610530565b348015610a2257600080fd5b506040805180820190915260028152614f4760f01b6020820152610472565b348015610a4d57600080fd5b506104ef610a5c366004613fe7565b612182565b348015610a6d57600080fd5b50602754610502565b348015610a8257600080fd5b5061042a610a91366004613eb8565b61223a565b348015610aa257600080fd5b5061042a610ab1366004613eb8565b612289565b348015610ac257600080fd5b5061050260245481565b348015610ad857600080fd5b5061042a610ae7366004613ee4565b60266020526000908152604090205460ff1681565b348015610b0857600080fd5b5060295461042a90600160b01b900460ff1681565b348015610b2957600080fd5b50610502601a5481565b348015610b3f57600080fd5b506104ef610b4e366004614043565b612296565b348015610b5f57600080fd5b50600654610530906001600160a01b031681565b348015610b7f57600080fd5b5061050260235481565b348015610b9557600080fd5b50610502601d5481565b348015610bab57600080fd5b5061050260195481565b348015610bc157600080fd5b50610502610bd0366004614015565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b348015610c0757600080fd5b506104ef610c16366004613ee4565b61230d565b348015610c2757600080fd5b5061050260205481565b348015610c3d57600080fd5b5061050260185481565b348015610c5357600080fd5b506104ef610c62366004613ee4565b612388565b348015610c7357600080fd5b506104ef612472565b348015610c8857600080fd5b5061042a610c97366004613ee4565b600c6020526000908152604090205460ff1681565b348015610cb857600080fd5b506104ef610cc7366004613ee4565b612557565b600080546001600160a01b03163314610d005760405162461bcd60e51b8152600401610cf790614060565b60405180910390fd5b602954600160b01b900460ff1615610d6e5760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401610cf7565b610d76612607565b737a250d5630b4cf539739df2c5dacb4c659f2488d610d96816001611f26565b602880546001600160a01b0319166001600160a01b038316908117909155610dc9903090683635c9adc5dea0000061264c565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b9190614095565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c9190614095565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d9190614095565b602980546001600160a01b0319166001600160a01b03929092169182179055610f37906001611f26565b602954610f4e906001600160a01b03166001612770565b60004711610faa5760405162461bcd60e51b815260206004820152602360248201527f4d757374206861766520455448206f6e20636f6e747261637420746f206c61756044820152620dcc6d60eb1b6064820152608401610cf7565b610fbc610fb630611e14565b476127cb565b600754610fd1906001600160a01b0316612388565b600191505090565b6000610fe633848461264c565b5060015b92915050565b6000546001600160a01b0316331461101a5760405162461bcd60e51b8152600401610cf790614060565b6103e861102782846140c8565b106110665760405162461bcd60e51b815260206004820152600f60248201526e53706c6974206f766572203130302560881b6044820152606401610cf7565b601f91909155601e55565b6000546001600160a01b0316331461109b5760405162461bcd60e51b8152600401610cf790614060565b601b839055601c829055601d819055600a816110b784866140c8565b6110c191906140c8565b111561110f5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b6565702073656c6c2074617865732062656c6f772031302500006044820152606401610cf7565b60408051828152602081018490529081018490527f5ff33e060dbf96ff8c11eeadaaa320b34884dc8af8156d77ab6134d2bece22c3906060015b60405180910390a1505050565b6000546001600160a01b031633146111805760405162461bcd60e51b8152600401610cf790614060565b600081116111be5760405162461bcd60e51b815260206004820152600b60248201526a043616e6e6f7420626520360ac1b6044820152606401610cf7565b6103e86111d482683635c9adc5dea000006140db565b6111de91906140f2565b60235550565b60006111f184848461287f565b611243843361123e85604051806060016040528060288152602001614242602891396001600160a01b038a166000908152600a60209081526040808320338452909152902054919061301a565b61264c565b5060019392505050565b6000546001600160a01b031633146112775760405162461bcd60e51b8152600401610cf790614060565b60188390556019829055601a819055600a8161129384866140c8565b61129d91906140c8565b11156112eb5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206275792074617865732062656c6f77203130250000006044820152606401610cf7565b60408051828152602081018490529081018490527f4b44023290188702187818a2359a9d40279e516e5e9bbade40c321936a77362090606001611149565b60006010548211156113905760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610cf7565b600061139a613054565b90506113a68382613077565b9392505050565b6000546001600160a01b031633146113d75760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166000908152600e602052604090205460ff1661143f5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610cf7565b60005b600f5481101561155f57816001600160a01b0316600f828154811061146957611469614114565b6000918252602090912001546001600160a01b03160361154d57600f80546114939060019061412a565b815481106114a3576114a3614114565b600091825260209091200154600f80546001600160a01b0390921691839081106114cf576114cf614114565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600982526040808220829055600e90925220805460ff19169055600f8054806115275761152761413d565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b8061155781614153565b915050611442565b5050565b336000818152600a602090815260408083206001600160a01b03871684529091528120549091610fe691859061123e90866130b9565b6000546001600160a01b031633146115c35760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166000818152600d6020908152604091829020805460ff1916600117905590519182527f58c3e0504c69d3a92726966f152a771e0f8f6ad4daca1ae9055a38aba1fd2b6291015b60405180910390a150565b6000546001600160a01b031633146116485760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b03811661169e5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f7420626c61636b6c697374203020616464726573730000000000006044820152606401610cf7565b6001600160a01b03166000908152600c60205260409020805460ff19166001179055565b6000683635c9adc5dea0000083111561171d5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610cf7565b8161173c57600061172d84613118565b50939550610fea945050505050565b600061174784613118565b50929550610fea945050505050565b6000546001600160a01b031633146117805760405162461bcd60e51b8152600401610cf790614060565b600061178b30611e14565b90506117a1600a683635c9adc5dea000006140f2565b8110156118165760405162461bcd60e51b815260206004820152603f60248201527f43616e206f6e6c792073776170206261636b206966206d6f7265207468616e2060448201527f2e3125206f6620746f6b656e7320737475636b206f6e20636f6e7472616374006064820152608401610cf7565b61181e613167565b6040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb3290602001611613565b6000546001600160a01b031633146118785760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166000908152600e602052604090205460ff16156118e15760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610cf7565b600f546032906118f29060016140c8565b111561197c5760405162461bcd60e51b815260206004820152604d60248201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f60448201527f756e74732e2020496e636c75646520612070726576696f75736c79206578636c60648201526c3ab232b21030b2323932b9b99760991b608482015260a401610cf7565b6001600160a01b038116600090815260086020526040902054156119d6576001600160a01b0381166000908152600860205260409020546119bc90611329565b6001600160a01b0382166000908152600960205260409020555b6001600160a01b03166000818152600e60205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b0319169091179055565b6000546001600160a01b03163314611a665760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038116611aca5760405162461bcd60e51b815260206004820152602560248201527f5f6c69717569646974794164647265737320616464726573732063616e6e6f74604482015264020626520360dc1b6064820152608401610cf7565b600580546001600160a01b0319166001600160a01b0383169081179091556000818152600d6020908152604091829020805460ff1916600117905590519182527f217742673c85d2f459a37c99960c860122cdadf529374b41418d2718cae7726f9101611613565b6000546001600160a01b03163314611b5c5760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038116611ba95760405162461bcd60e51b815260206004820152601460248201527343616e6e6f74207573652030206164647265737360601b6044820152606401610cf7565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b6000546001600160a01b03163314611bf45760405162461bcd60e51b8152600401610cf790614060565b60008111611c325760405162461bcd60e51b815260206004820152600b60248201526a043616e6e6f7420626520360ac1b6044820152606401610cf7565b6103e8611c4882683635c9adc5dea000006140db565b611c5291906140f2565b60245550565b6000546001600160a01b03163314611c825760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038116611ce65760405162461bcd60e51b815260206004820152602560248201527f5f6d61726b6574696e674164647265737320616464726573732063616e6e6f74604482015264020626520360dc1b6064820152608401610cf7565b600380546001600160a01b039081166000908152600d60209081526040808320805460ff1990811690915585546001600160a01b031916948716948517909555838352918290208054909416600117909355519081527f17d8dfa8312c8aa744fab84e6f3d67f24e7553ac1ff2be20269f1220002137569101611613565b6000546001600160a01b03163314611d8e5760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038116611dda5760405162461bcd60e51b815260206004820152601360248201527243616e6e6f742062652030206164647265737360681b6044820152606401610cf7565b600680546001600160a01b039092166001600160a01b0319909216821790556000908152600d60205260409020805460ff19166001179055565b6001600160a01b0381166000908152600e602052604081205460ff1615611e5157506001600160a01b031660009081526009602052604090205490565b6001600160a01b038216600090815260086020526040902054610fea90611329565b6000546001600160a01b03163314611e9d5760405162461bcd60e51b8152600401610cf790614060565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b03163314611f125760405162461bcd60e51b8152600401610cf790614060565b50600b805460ff1916600190811790915590565b6000546001600160a01b03163314611f505760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b03919091166000908152602560205260409020805460ff1916911515919091179055565b600080546001600160a01b03163314611fa65760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038316611ffc5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610cf7565b306001600160a01b038416036120545760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610cf7565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561209b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120bf919061416c565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015612112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121369190614185565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6000546001600160a01b031633146121ac5760405162461bcd60e51b8152600401610cf790614060565b6029546001600160a01b03908116908316036122305760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610cf7565b61155f8282612770565b6000610fe6338461123e8560405180606001604052806025815260200161426a60259139336000908152600a602090815260408083206001600160a01b038d168452909152902054919061301a565b6000610fe633848461287f565b6000546001600160a01b031633146122c05760405162461bcd60e51b8152600401610cf790614060565b60298054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061161390831515815260200190565b6000546001600160a01b031633146123375760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166000818152600d6020908152604091829020805460ff1916905590519182527f4f6a6b6efe34ec6478021aa9fb7f6980e78ea3a10c74074a8ce49d5d3ebf1f7e9101611613565b6000546001600160a01b031633146123b25760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166124175760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cf7565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461249c5760405162461bcd60e51b8152600401610cf790614060565b602954600160b01b900460ff161561250a5760405162461bcd60e51b815260206004820152602b60248201527f43616e206f6e6c792077697468647261772069662074726164696e672068617360448201526a1b89dd081cdd185c9d195960aa1b6064820152608401610cf7565b604051600090339047908381818185875af1925050503d806000811461254c576040519150601f19603f3d011682016040523d82523d6000602084013e612551565b606091505b50505050565b6000546001600160a01b031633146125815760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166125cd5760405162461bcd60e51b815260206004820152601360248201527243616e6e6f742062652030206164647265737360681b6044820152606401610cf7565b600480546001600160a01b039092166001600160a01b0319909216821790556000908152600d60205260409020805460ff19166001179055565b6000546001600160a01b031633146126315760405162461bcd60e51b8152600401610cf790614060565b6029805461ffff60a81b191661010160a81b17905543602055565b6001600160a01b0383166126ae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610cf7565b6001600160a01b03821661270f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610cf7565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216600090815260266020908152604080832080548515801560ff19928316811790935560259094529190932080549091169092179091556127bd576127bd8261184e565b8061155f5761155f826113ad565b6028546127e39030906001600160a01b03168461264c565b60285460055460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612853573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061287891906141a2565b5050505050565b6001600160a01b0383166128e35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610cf7565b6001600160a01b0382166129455760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610cf7565b600081116129a75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610cf7565b6001600160a01b0383166000908152600c602052604090205460ff1615612a1e5760405162461bcd60e51b815260206004820152602560248201527f46726f6d206164647265737320626c61636b6c6973742e20436f6e746163742060448201526430b236b4b760d91b6064820152608401610cf7565b6001600160a01b0382166000908152600c602052604090205460ff1615612a935760405162461bcd60e51b815260206004820152602360248201527f546f206164647265737320626c61636b6c6973742e20436f6e7461637420616460448201526236b4b760e91b6064820152608401610cf7565b602954600160b01b900460ff16612b2f576001600160a01b0383166000908152600d602052604090205460ff1680612ae357506001600160a01b0382166000908152600d602052604090205460ff165b612b2f5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401610cf7565b600b5460ff1615612d99576000546001600160a01b03848116911614801590612b6657506000546001600160a01b03838116911614155b8015612b7a57506001600160a01b03821615155b8015612b9157506001600160a01b03821661dead14155b8015612ba75750602954600160a01b900460ff16155b15612d99576001600160a01b03831660009081526026602052604090205460ff168015612bed57506001600160a01b03821660009081526025602052604090205460ff16155b15612c6757602354811115612c625760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610cf7565b612d1e565b6001600160a01b03821660009081526026602052604090205460ff168015612ca857506001600160a01b03831660009081526025602052604090205460ff16155b15612d1e57602354811115612d1e5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610cf7565b6001600160a01b03821660009081526025602052604090205460ff16612d995760245481612d4b84611e14565b612d5591906140c8565b1115612d995760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610cf7565b6000612db26022546021546130b990919063ffffffff16565b90506000612dbf30611e14565b60275460295491925082101590600160a01b900460ff16158015612dec5750602954600160a81b900460ff165b8015612e0d5750602954600090612e0b906001600160a01b0316611e14565b115b8015612e195750600083115b8015612e3e57506001600160a01b0385166000908152600d602052604090205460ff16155b8015612e6357506001600160a01b0386166000908152600d602052604090205460ff16155b8015612e8757506001600160a01b03851660009081526026602052604090205460ff165b8015612e905750805b15612e9d57612e9d613167565b6001600160a01b0386166000908152600d602052604090205460019060ff1680612edf57506001600160a01b0386166000908152600d602052604090205460ff165b15612ef1575060036017556000613005565b6001600160a01b03871660009081526026602052604090205460ff1615612f7857612f1a61343f565b60016017556020544303612f37576000601255605a601555613005565b602054612f459060016140c8565b4303612f5a5760006012556032601555613005565b601854601255601a54601954612f7091906140c8565b601555613005565b6001600160a01b03861660009081526026602052604090205460ff1615612ff757612fa161343f565b60026017556020544303612fbe576000601255605a601555613005565b602054612fcc9060016140c8565b4303612fe15760006012556032601555613005565b601b54601255601d54601c54612f7091906140c8565b612fff61343f565b60036017555b6130118787878461346d565b50505050505050565b6000818484111561303e5760405162461bcd60e51b8152600401610cf79190613e52565b50600061304b848661412a565b95945050505050565b6000806000613061613592565b90925090506130708282613077565b9250505090565b60006113a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061372e565b6000806130c683856140c8565b9050838110156113a65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610cf7565b600080600080600080600080600061312f8a61375c565b925092509250600080600061314d8d8686613148613054565b61379e565b919f909e50909c50959a5093985091965092945050505050565b6029805460ff60a01b1916600160a01b179055600061318530611e14565b9050600060225460215461319991906140c8565b905060006131b3600260215461307790919063ffffffff16565b905060006131c184836137ee565b9050476131cd82613830565b60006131d947836137ee565b905060006131fc866131f66022548561398a90919063ffffffff16565b90613077565b9050600061320a83836137ee565b905060006132296103e86131f6601e548661398a90919063ffffffff16565b905060006132486103e86131f6601f548761398a90919063ffffffff16565b9050613254828561412a565b9350613260818561412a565b60006021819055602281905560035460405192965090916001600160a01b039091169086908381818185875af1925050503d80600081146132bd576040519150601f19603f3d011682016040523d82523d6000602084013e6132c2565b606091505b50506004546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114613312576040519150601f19603f3d011682016040523d82523d6000602084013e613317565b606091505b50506006546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114613367576040519150601f19603f3d011682016040523d82523d6000602084013e61336c565b606091505b50508091505061337c89856127cb565b60408051898152602081018690529081018a90527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a167016345785d8a0000471115613425576003546040516001600160a01b03909116904790600081818185875af1925050503d806000811461341a576040519150601f19603f3d011682016040523d82523d6000602084013e61341f565b606091505b50909150505b50506029805460ff60a01b19169055505050505050505050565b60125415801561344f5750601554155b1561345657565b601280546013556015805460165560009182905555565b8061347a5761347a61343f565b6001600160a01b0384166000908152600e602052604090205460ff1680156134bb57506001600160a01b0383166000908152600e602052604090205460ff16155b156134d0576134cb848484613a0c565b61357c565b6001600160a01b0384166000908152600e602052604090205460ff1615801561351157506001600160a01b0383166000908152600e602052604090205460ff165b15613521576134cb848484613b32565b6001600160a01b0384166000908152600e602052604090205460ff16801561356157506001600160a01b0383166000908152600e602052604090205460ff165b15613571576134cb848484613bdb565b61357c848484613c4e565b8061255157612551601354601255601654601555565b6010546000908190683635c9adc5dea00000825b600f548110156136f1578260086000600f84815481106135c8576135c8614114565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061363357508160096000600f848154811061360c5761360c614114565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561364f57505060105493683635c9adc5dea000009350915050565b61369560086000600f848154811061366957613669614114565b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906137ee565b92506136dd60096000600f84815481106136b1576136b1614114565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906137ee565b9150806136e981614153565b9150506135a6565b5060105461370890683635c9adc5dea00000613077565b82101561372557505060105492683635c9adc5dea0000092509050565b90939092509050565b6000818361374f5760405162461bcd60e51b8152600401610cf79190613e52565b50600061304b84866140f2565b60008060008061376b85613c92565b9050600061377886613cae565b905060006137908261378a89866137ee565b906137ee565b979296509094509092505050565b60008080806137ad888661398a565b905060006137bb888761398a565b905060006137c9888861398a565b905060006137db8261378a86866137ee565b939b939a50919850919650505050505050565b60006113a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061301a565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061386557613865614114565b6001600160a01b03928316602091820292909201810191909152602854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156138be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e29190614095565b816001815181106138f5576138f5614114565b6001600160a01b03928316602091820292909201015260285461391b913091168461264c565b60285460405163791ac94760e01b81526001600160a01b039091169063791ac947906139549085906000908690309042906004016141d0565b600060405180830381600087803b15801561396e57600080fd5b505af1158015613982573d6000803e3d6000fd5b505050505050565b60008260000361399c57506000610fea565b60006139a883856140db565b9050826139b585836140f2565b146113a65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610cf7565b600080600080600080613a1e87613118565b6001600160a01b038f16600090815260096020526040902054959b50939950919750955093509150613a5090886137ee565b6001600160a01b038a16600090815260096020908152604080832093909355600890522054613a7f90876137ee565b6001600160a01b03808b1660009081526008602052604080822093909355908a1681522054613aae90866130b9565b6001600160a01b038916600090815260086020526040902055613ad081613cca565b613ada8483613e2e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613b1f91815260200190565b60405180910390a3505050505050505050565b600080600080600080613b4487613118565b6001600160a01b038f16600090815260086020526040902054959b50939950919750955093509150613b7690876137ee565b6001600160a01b03808b16600090815260086020908152604080832094909455918b16815260099091522054613bac90846130b9565b6001600160a01b038916600090815260096020908152604080832093909355600890522054613aae90866130b9565b600080600080600080613bed87613118565b6001600160a01b038f16600090815260096020526040902054959b50939950919750955093509150613c1f90886137ee565b6001600160a01b038a16600090815260096020908152604080832093909355600890522054613b7690876137ee565b600080600080600080613c6087613118565b6001600160a01b038f16600090815260086020526040902054959b50939950919750955093509150613a7f90876137ee565b6000610fea60646131f66012548561398a90919063ffffffff16565b6000610fea60646131f66015548561398a90919063ffffffff16565b600160175403613d3a57601554601954613ce490836140db565b613cee91906140f2565b60216000828254613cff91906140c8565b9091555050601554601a54613d1490836140db565b613d1e91906140f2565b60226000828254613d2f91906140c8565b90915550613da59050565b600260175403613da557601554601c54613d5490836140db565b613d5e91906140f2565b60216000828254613d6f91906140c8565b9091555050601554601d54613d8490836140db565b613d8e91906140f2565b60226000828254613d9f91906140c8565b90915550505b6000613daf613054565b90506000613dbd838361398a565b30600090815260086020526040902054909150613dda90826130b9565b30600090815260086020908152604080832093909355600e9052205460ff1615613e295730600090815260096020526040902054613e1890846130b9565b306000908152600960205260409020555b505050565b601054613e3b90836137ee565b601055601154613e4b90826130b9565b6011555050565b600060208083528351808285015260005b81811015613e7f57858101830151858201604001528201613e63565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114613eb557600080fd5b50565b60008060408385031215613ecb57600080fd5b8235613ed681613ea0565b946020939093013593505050565b600060208284031215613ef657600080fd5b81356113a681613ea0565b60008060408385031215613f1457600080fd5b50508035926020909101359150565b600080600060608486031215613f3857600080fd5b505081359360208301359350604090920135919050565b600060208284031215613f6157600080fd5b5035919050565b600080600060608486031215613f7d57600080fd5b8335613f8881613ea0565b92506020840135613f9881613ea0565b929592945050506040919091013590565b8015158114613eb557600080fd5b60008060408385031215613fca57600080fd5b823591506020830135613fdc81613fa9565b809150509250929050565b60008060408385031215613ffa57600080fd5b823561400581613ea0565b91506020830135613fdc81613fa9565b6000806040838503121561402857600080fd5b823561403381613ea0565b91506020830135613fdc81613ea0565b60006020828403121561405557600080fd5b81356113a681613fa9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156140a757600080fd5b81516113a681613ea0565b634e487b7160e01b600052601160045260246000fd5b80820180821115610fea57610fea6140b2565b8082028115828204841417610fea57610fea6140b2565b60008261410f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b81810381811115610fea57610fea6140b2565b634e487b7160e01b600052603160045260246000fd5b600060018201614165576141656140b2565b5060010190565b60006020828403121561417e57600080fd5b5051919050565b60006020828403121561419757600080fd5b81516113a681613fa9565b6000806000606084860312156141b757600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156142205784516001600160a01b0316835293830193918301916001016141fb565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a4289c17cd86a46f8d1ff643db0305dcfd3ae46201b2a1fe18bb20898088c78464736f6c63430008110033
0x6080604052600380546001600160a01b031990811673930e54ff2dc0911205808c123fc3dc2b94be7d5517909155600480548216732085eea89683d4dc901c170e05fa77b145834507908117909155600580548316909117905560068054909116734c8c413cdf43a8f178f5eea01b8c6285c092efab179055600b805460ff191660011790556200009c683635c9adc5dea00000600019620004b2565b620000aa90600019620004df565b6010556012546013556015546016556000601881905560016019556004601a55601b8190556002601c556005601d556103e8601e55601f81905560208190556029805461ffff60a81b1916905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916331790556010546200015a906103e890620004fb565b6200016790601e62000512565b6007546001600160a01b031660009081526008602052604090205560105462000194906103e890620004fb565b620001a2906103ca62000512565b306000908152600860205260409020556103e8620001cb683635c9adc5dea00000601462000512565b620001d79190620004fb565b6023556064620001f2683635c9adc5dea00000600262000512565b620001fe9190620004fb565b6024556127106200021a683635c9adc5dea00000600162000512565b620002269190620004fb565b6027556001600d6000620002426000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600d909352818320805485166001908117909155600354821684528284208054861682179055600454821684528284208054861682179055600654821684528284208054861682179055600554909116835291208054909216179055620002ee620002e66000546001600160a01b031690565b600162000412565b620002fb30600162000412565b6200030a61dead600162000412565b60035462000323906001600160a01b0316600162000412565b6005546200033c906001600160a01b0316600162000412565b60045462000355906001600160a01b0316600162000412565b6006546200036e906001600160a01b0316600162000412565b6007546001600160a01b03166000600080516020620048008339815191526103e8620003a5683635c9adc5dea00000601e62000512565b620003b19190620004fb565b60405190815260200160405180910390a3306000600080516020620048008339815191526103e8620003ef683635c9adc5dea000006103ca62000512565b620003fb9190620004fb565b60405190815260200160405180910390a36200052c565b6000546001600160a01b03163314620004715760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b6001600160a01b03919091166000908152602560205260409020805460ff1916911515919091179055565b634e487b7160e01b600052601260045260246000fd5b600082620004c457620004c46200049c565b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115620004f557620004f5620004c9565b92915050565b6000826200050d576200050d6200049c565b500490565b8082028115828204841417620004f557620004f5620004c9565b6142c4806200053c6000396000f3fe6080604052600436106104095760003560e01c806361cd759f11610213578063a9059cbb11610123578063dc44b6a0116100ab578063efcc52de1161007a578063efcc52de14610c31578063f2fde38b14610c47578063f5648a4f14610c67578063f9f92be414610c7c578063fce0f92814610cac57600080fd5b8063dc44b6a014610b9f578063dd62ed3e14610bb5578063ea2f0b3714610bfb578063ee40166e14610c1b57600080fd5b8063c469b6dd116100f2578063c469b6dd14610b1d578063c49b9a8014610b33578063c5f956af14610b53578063c8c8ebe414610b73578063cab0347114610b8957600080fd5b8063a9059cbb14610a96578063aa4bde2814610ab6578063b62496f514610acc578063bbc0c74214610afc57600080fd5b806380feb139116101a65780638da5cb5b116101755780638da5cb5b146109f857806395d89b4114610a165780639a7a23d614610a41578063a073d37f14610a61578063a457c2d714610a7657600080fd5b806380feb139146109695780638366e79a1461098957806388790a68146109a957806388f82020146109bf57600080fd5b806370a08231116101e257806370a08231146108ff578063715018a61461091f578063751039fc146109345780637571336a1461094957600080fd5b806361cd759f1461089357806362b72fb0146108a95780636605bfda146108c95780636eee65d2146108e957600080fd5b8063395093511161031957806351f205e4116102a1578063537df3b611610270578063537df3b61461081557806354cb77f914610835578063557ed1ba1461084b5780635d0044ca1461085e578063602bc62b1461087e57600080fd5b806351f205e41461078757806352390c021461079c578063525fa81f146107bc5780635342acb4146107dc57600080fd5b806344337ea1116102e857806344337ea1146106ec5780634549b0391461070c57806349bd5a5e1461072c5780634a62bb651461074c5780634a74bb021461076657600080fd5b806339509351146106765780633cf96af1146106965780634047ea3e146106b6578063437823ec146106cc57600080fd5b80631d865c301161039c57806325519cf21161036b57806325519cf2146105da5780632d838119146105fa578063313ce5671461061a5780633221c93f146106365780633685d4191461065657600080fd5b80631d865c30146105645780631e293c1014610584578063200a692d146105a457806323b872dd146105ba57600080fd5b8063119c1840116103d8578063119c1840146104cf57806313114a9d146104f15780631694505e1461051057806318160ddd1461054857600080fd5b806301339c211461041557806306fdde031461043f578063095ea7b31461047f57806310d5de531461049f57600080fd5b3661041057005b600080fd5b34801561042157600080fd5b5061042a610ccc565b60405190151581526020015b60405180910390f35b34801561044b57600080fd5b5060408051808201909152600e81526d4f6c6420474d20287761676d692960901b60208201525b6040516104369190613e52565b34801561048b57600080fd5b5061042a61049a366004613eb8565b610fd9565b3480156104ab57600080fd5b5061042a6104ba366004613ee4565b60256020526000908152604090205460ff1681565b3480156104db57600080fd5b506104ef6104ea366004613f01565b610ff0565b005b3480156104fd57600080fd5b506011545b604051908152602001610436565b34801561051c57600080fd5b50602854610530906001600160a01b031681565b6040516001600160a01b039091168152602001610436565b34801561055457600080fd5b50683635c9adc5dea00000610502565b34801561057057600080fd5b506104ef61057f366004613f23565b611071565b34801561059057600080fd5b506104ef61059f366004613f4f565b611156565b3480156105b057600080fd5b50610502601b5481565b3480156105c657600080fd5b5061042a6105d5366004613f68565b6111e4565b3480156105e657600080fd5b506104ef6105f5366004613f23565b61124d565b34801561060657600080fd5b50610502610615366004613f4f565b611329565b34801561062657600080fd5b5060405160098152602001610436565b34801561064257600080fd5b50600554610530906001600160a01b031681565b34801561066257600080fd5b506104ef610671366004613ee4565b6113ad565b34801561068257600080fd5b5061042a610691366004613eb8565b611563565b3480156106a257600080fd5b50600454610530906001600160a01b031681565b3480156106c257600080fd5b5061050260215481565b3480156106d857600080fd5b506104ef6106e7366004613ee4565b611599565b3480156106f857600080fd5b506104ef610707366004613ee4565b61161e565b34801561071857600080fd5b50610502610727366004613fb7565b6116c2565b34801561073857600080fd5b50602954610530906001600160a01b031681565b34801561075857600080fd5b50600b5461042a9060ff1681565b34801561077257600080fd5b5060295461042a90600160a81b900460ff1681565b34801561079357600080fd5b506104ef611756565b3480156107a857600080fd5b506104ef6107b7366004613ee4565b61184e565b3480156107c857600080fd5b506104ef6107d7366004613ee4565b611a3c565b3480156107e857600080fd5b5061042a6107f7366004613ee4565b6001600160a01b03166000908152600d602052604090205460ff1690565b34801561082157600080fd5b506104ef610830366004613ee4565b611b32565b34801561084157600080fd5b50610502601e5481565b34801561085757600080fd5b5042610502565b34801561086a57600080fd5b506104ef610879366004613f4f565b611bca565b34801561088a57600080fd5b50600254610502565b34801561089f57600080fd5b50610502601f5481565b3480156108b557600080fd5b506104ef6108c4366004613ee4565b611c58565b3480156108d557600080fd5b506104ef6108e4366004613ee4565b611d64565b3480156108f557600080fd5b5061050260225481565b34801561090b57600080fd5b5061050261091a366004613ee4565b611e14565b34801561092b57600080fd5b506104ef611e73565b34801561094057600080fd5b5061042a611ee7565b34801561095557600080fd5b506104ef610964366004613fe7565b611f26565b34801561097557600080fd5b50600354610530906001600160a01b031681565b34801561099557600080fd5b5061042a6109a4366004614015565b611f7b565b3480156109b557600080fd5b50610502601c5481565b3480156109cb57600080fd5b5061042a6109da366004613ee4565b6001600160a01b03166000908152600e602052604090205460ff1690565b348015610a0457600080fd5b506000546001600160a01b0316610530565b348015610a2257600080fd5b506040805180820190915260028152614f4760f01b6020820152610472565b348015610a4d57600080fd5b506104ef610a5c366004613fe7565b612182565b348015610a6d57600080fd5b50602754610502565b348015610a8257600080fd5b5061042a610a91366004613eb8565b61223a565b348015610aa257600080fd5b5061042a610ab1366004613eb8565b612289565b348015610ac257600080fd5b5061050260245481565b348015610ad857600080fd5b5061042a610ae7366004613ee4565b60266020526000908152604090205460ff1681565b348015610b0857600080fd5b5060295461042a90600160b01b900460ff1681565b348015610b2957600080fd5b50610502601a5481565b348015610b3f57600080fd5b506104ef610b4e366004614043565b612296565b348015610b5f57600080fd5b50600654610530906001600160a01b031681565b348015610b7f57600080fd5b5061050260235481565b348015610b9557600080fd5b50610502601d5481565b348015610bab57600080fd5b5061050260195481565b348015610bc157600080fd5b50610502610bd0366004614015565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b348015610c0757600080fd5b506104ef610c16366004613ee4565b61230d565b348015610c2757600080fd5b5061050260205481565b348015610c3d57600080fd5b5061050260185481565b348015610c5357600080fd5b506104ef610c62366004613ee4565b612388565b348015610c7357600080fd5b506104ef612472565b348015610c8857600080fd5b5061042a610c97366004613ee4565b600c6020526000908152604090205460ff1681565b348015610cb857600080fd5b506104ef610cc7366004613ee4565b612557565b600080546001600160a01b03163314610d005760405162461bcd60e51b8152600401610cf790614060565b60405180910390fd5b602954600160b01b900460ff1615610d6e5760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401610cf7565b610d76612607565b737a250d5630b4cf539739df2c5dacb4c659f2488d610d96816001611f26565b602880546001600160a01b0319166001600160a01b038316908117909155610dc9903090683635c9adc5dea0000061264c565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b9190614095565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9c9190614095565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d9190614095565b602980546001600160a01b0319166001600160a01b03929092169182179055610f37906001611f26565b602954610f4e906001600160a01b03166001612770565b60004711610faa5760405162461bcd60e51b815260206004820152602360248201527f4d757374206861766520455448206f6e20636f6e747261637420746f206c61756044820152620dcc6d60eb1b6064820152608401610cf7565b610fbc610fb630611e14565b476127cb565b600754610fd1906001600160a01b0316612388565b600191505090565b6000610fe633848461264c565b5060015b92915050565b6000546001600160a01b0316331461101a5760405162461bcd60e51b8152600401610cf790614060565b6103e861102782846140c8565b106110665760405162461bcd60e51b815260206004820152600f60248201526e53706c6974206f766572203130302560881b6044820152606401610cf7565b601f91909155601e55565b6000546001600160a01b0316331461109b5760405162461bcd60e51b8152600401610cf790614060565b601b839055601c829055601d819055600a816110b784866140c8565b6110c191906140c8565b111561110f5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b6565702073656c6c2074617865732062656c6f772031302500006044820152606401610cf7565b60408051828152602081018490529081018490527f5ff33e060dbf96ff8c11eeadaaa320b34884dc8af8156d77ab6134d2bece22c3906060015b60405180910390a1505050565b6000546001600160a01b031633146111805760405162461bcd60e51b8152600401610cf790614060565b600081116111be5760405162461bcd60e51b815260206004820152600b60248201526a043616e6e6f7420626520360ac1b6044820152606401610cf7565b6103e86111d482683635c9adc5dea000006140db565b6111de91906140f2565b60235550565b60006111f184848461287f565b611243843361123e85604051806060016040528060288152602001614242602891396001600160a01b038a166000908152600a60209081526040808320338452909152902054919061301a565b61264c565b5060019392505050565b6000546001600160a01b031633146112775760405162461bcd60e51b8152600401610cf790614060565b60188390556019829055601a819055600a8161129384866140c8565b61129d91906140c8565b11156112eb5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206275792074617865732062656c6f77203130250000006044820152606401610cf7565b60408051828152602081018490529081018490527f4b44023290188702187818a2359a9d40279e516e5e9bbade40c321936a77362090606001611149565b60006010548211156113905760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610cf7565b600061139a613054565b90506113a68382613077565b9392505050565b6000546001600160a01b031633146113d75760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166000908152600e602052604090205460ff1661143f5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610cf7565b60005b600f5481101561155f57816001600160a01b0316600f828154811061146957611469614114565b6000918252602090912001546001600160a01b03160361154d57600f80546114939060019061412a565b815481106114a3576114a3614114565b600091825260209091200154600f80546001600160a01b0390921691839081106114cf576114cf614114565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600982526040808220829055600e90925220805460ff19169055600f8054806115275761152761413d565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b8061155781614153565b915050611442565b5050565b336000818152600a602090815260408083206001600160a01b03871684529091528120549091610fe691859061123e90866130b9565b6000546001600160a01b031633146115c35760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166000818152600d6020908152604091829020805460ff1916600117905590519182527f58c3e0504c69d3a92726966f152a771e0f8f6ad4daca1ae9055a38aba1fd2b6291015b60405180910390a150565b6000546001600160a01b031633146116485760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b03811661169e5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f7420626c61636b6c697374203020616464726573730000000000006044820152606401610cf7565b6001600160a01b03166000908152600c60205260409020805460ff19166001179055565b6000683635c9adc5dea0000083111561171d5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610cf7565b8161173c57600061172d84613118565b50939550610fea945050505050565b600061174784613118565b50929550610fea945050505050565b6000546001600160a01b031633146117805760405162461bcd60e51b8152600401610cf790614060565b600061178b30611e14565b90506117a1600a683635c9adc5dea000006140f2565b8110156118165760405162461bcd60e51b815260206004820152603f60248201527f43616e206f6e6c792073776170206261636b206966206d6f7265207468616e2060448201527f2e3125206f6620746f6b656e7320737475636b206f6e20636f6e7472616374006064820152608401610cf7565b61181e613167565b6040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb3290602001611613565b6000546001600160a01b031633146118785760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166000908152600e602052604090205460ff16156118e15760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610cf7565b600f546032906118f29060016140c8565b111561197c5760405162461bcd60e51b815260206004820152604d60248201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f60448201527f756e74732e2020496e636c75646520612070726576696f75736c79206578636c60648201526c3ab232b21030b2323932b9b99760991b608482015260a401610cf7565b6001600160a01b038116600090815260086020526040902054156119d6576001600160a01b0381166000908152600860205260409020546119bc90611329565b6001600160a01b0382166000908152600960205260409020555b6001600160a01b03166000818152600e60205260408120805460ff19166001908117909155600f805491820181559091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b0319169091179055565b6000546001600160a01b03163314611a665760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038116611aca5760405162461bcd60e51b815260206004820152602560248201527f5f6c69717569646974794164647265737320616464726573732063616e6e6f74604482015264020626520360dc1b6064820152608401610cf7565b600580546001600160a01b0319166001600160a01b0383169081179091556000818152600d6020908152604091829020805460ff1916600117905590519182527f217742673c85d2f459a37c99960c860122cdadf529374b41418d2718cae7726f9101611613565b6000546001600160a01b03163314611b5c5760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038116611ba95760405162461bcd60e51b815260206004820152601460248201527343616e6e6f74207573652030206164647265737360601b6044820152606401610cf7565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b6000546001600160a01b03163314611bf45760405162461bcd60e51b8152600401610cf790614060565b60008111611c325760405162461bcd60e51b815260206004820152600b60248201526a043616e6e6f7420626520360ac1b6044820152606401610cf7565b6103e8611c4882683635c9adc5dea000006140db565b611c5291906140f2565b60245550565b6000546001600160a01b03163314611c825760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038116611ce65760405162461bcd60e51b815260206004820152602560248201527f5f6d61726b6574696e674164647265737320616464726573732063616e6e6f74604482015264020626520360dc1b6064820152608401610cf7565b600380546001600160a01b039081166000908152600d60209081526040808320805460ff1990811690915585546001600160a01b031916948716948517909555838352918290208054909416600117909355519081527f17d8dfa8312c8aa744fab84e6f3d67f24e7553ac1ff2be20269f1220002137569101611613565b6000546001600160a01b03163314611d8e5760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038116611dda5760405162461bcd60e51b815260206004820152601360248201527243616e6e6f742062652030206164647265737360681b6044820152606401610cf7565b600680546001600160a01b039092166001600160a01b0319909216821790556000908152600d60205260409020805460ff19166001179055565b6001600160a01b0381166000908152600e602052604081205460ff1615611e5157506001600160a01b031660009081526009602052604090205490565b6001600160a01b038216600090815260086020526040902054610fea90611329565b6000546001600160a01b03163314611e9d5760405162461bcd60e51b8152600401610cf790614060565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b03163314611f125760405162461bcd60e51b8152600401610cf790614060565b50600b805460ff1916600190811790915590565b6000546001600160a01b03163314611f505760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b03919091166000908152602560205260409020805460ff1916911515919091179055565b600080546001600160a01b03163314611fa65760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b038316611ffc5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610cf7565b306001600160a01b038416036120545760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610cf7565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561209b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120bf919061416c565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015612112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121369190614185565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6000546001600160a01b031633146121ac5760405162461bcd60e51b8152600401610cf790614060565b6029546001600160a01b03908116908316036122305760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610cf7565b61155f8282612770565b6000610fe6338461123e8560405180606001604052806025815260200161426a60259139336000908152600a602090815260408083206001600160a01b038d168452909152902054919061301a565b6000610fe633848461287f565b6000546001600160a01b031633146122c05760405162461bcd60e51b8152600401610cf790614060565b60298054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061161390831515815260200190565b6000546001600160a01b031633146123375760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166000818152600d6020908152604091829020805460ff1916905590519182527f4f6a6b6efe34ec6478021aa9fb7f6980e78ea3a10c74074a8ce49d5d3ebf1f7e9101611613565b6000546001600160a01b031633146123b25760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166124175760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610cf7565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461249c5760405162461bcd60e51b8152600401610cf790614060565b602954600160b01b900460ff161561250a5760405162461bcd60e51b815260206004820152602b60248201527f43616e206f6e6c792077697468647261772069662074726164696e672068617360448201526a1b89dd081cdd185c9d195960aa1b6064820152608401610cf7565b604051600090339047908381818185875af1925050503d806000811461254c576040519150601f19603f3d011682016040523d82523d6000602084013e612551565b606091505b50505050565b6000546001600160a01b031633146125815760405162461bcd60e51b8152600401610cf790614060565b6001600160a01b0381166125cd5760405162461bcd60e51b815260206004820152601360248201527243616e6e6f742062652030206164647265737360681b6044820152606401610cf7565b600480546001600160a01b039092166001600160a01b0319909216821790556000908152600d60205260409020805460ff19166001179055565b6000546001600160a01b031633146126315760405162461bcd60e51b8152600401610cf790614060565b6029805461ffff60a81b191661010160a81b17905543602055565b6001600160a01b0383166126ae5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610cf7565b6001600160a01b03821661270f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610cf7565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216600090815260266020908152604080832080548515801560ff19928316811790935560259094529190932080549091169092179091556127bd576127bd8261184e565b8061155f5761155f826113ad565b6028546127e39030906001600160a01b03168461264c565b60285460055460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015612853573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061287891906141a2565b5050505050565b6001600160a01b0383166128e35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610cf7565b6001600160a01b0382166129455760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610cf7565b600081116129a75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610cf7565b6001600160a01b0383166000908152600c602052604090205460ff1615612a1e5760405162461bcd60e51b815260206004820152602560248201527f46726f6d206164647265737320626c61636b6c6973742e20436f6e746163742060448201526430b236b4b760d91b6064820152608401610cf7565b6001600160a01b0382166000908152600c602052604090205460ff1615612a935760405162461bcd60e51b815260206004820152602360248201527f546f206164647265737320626c61636b6c6973742e20436f6e7461637420616460448201526236b4b760e91b6064820152608401610cf7565b602954600160b01b900460ff16612b2f576001600160a01b0383166000908152600d602052604090205460ff1680612ae357506001600160a01b0382166000908152600d602052604090205460ff165b612b2f5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401610cf7565b600b5460ff1615612d99576000546001600160a01b03848116911614801590612b6657506000546001600160a01b03838116911614155b8015612b7a57506001600160a01b03821615155b8015612b9157506001600160a01b03821661dead14155b8015612ba75750602954600160a01b900460ff16155b15612d99576001600160a01b03831660009081526026602052604090205460ff168015612bed57506001600160a01b03821660009081526025602052604090205460ff16155b15612c6757602354811115612c625760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610cf7565b612d1e565b6001600160a01b03821660009081526026602052604090205460ff168015612ca857506001600160a01b03831660009081526025602052604090205460ff16155b15612d1e57602354811115612d1e5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610cf7565b6001600160a01b03821660009081526025602052604090205460ff16612d995760245481612d4b84611e14565b612d5591906140c8565b1115612d995760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610cf7565b6000612db26022546021546130b990919063ffffffff16565b90506000612dbf30611e14565b60275460295491925082101590600160a01b900460ff16158015612dec5750602954600160a81b900460ff165b8015612e0d5750602954600090612e0b906001600160a01b0316611e14565b115b8015612e195750600083115b8015612e3e57506001600160a01b0385166000908152600d602052604090205460ff16155b8015612e6357506001600160a01b0386166000908152600d602052604090205460ff16155b8015612e8757506001600160a01b03851660009081526026602052604090205460ff165b8015612e905750805b15612e9d57612e9d613167565b6001600160a01b0386166000908152600d602052604090205460019060ff1680612edf57506001600160a01b0386166000908152600d602052604090205460ff165b15612ef1575060036017556000613005565b6001600160a01b03871660009081526026602052604090205460ff1615612f7857612f1a61343f565b60016017556020544303612f37576000601255605a601555613005565b602054612f459060016140c8565b4303612f5a5760006012556032601555613005565b601854601255601a54601954612f7091906140c8565b601555613005565b6001600160a01b03861660009081526026602052604090205460ff1615612ff757612fa161343f565b60026017556020544303612fbe576000601255605a601555613005565b602054612fcc9060016140c8565b4303612fe15760006012556032601555613005565b601b54601255601d54601c54612f7091906140c8565b612fff61343f565b60036017555b6130118787878461346d565b50505050505050565b6000818484111561303e5760405162461bcd60e51b8152600401610cf79190613e52565b50600061304b848661412a565b95945050505050565b6000806000613061613592565b90925090506130708282613077565b9250505090565b60006113a683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061372e565b6000806130c683856140c8565b9050838110156113a65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610cf7565b600080600080600080600080600061312f8a61375c565b925092509250600080600061314d8d8686613148613054565b61379e565b919f909e50909c50959a5093985091965092945050505050565b6029805460ff60a01b1916600160a01b179055600061318530611e14565b9050600060225460215461319991906140c8565b905060006131b3600260215461307790919063ffffffff16565b905060006131c184836137ee565b9050476131cd82613830565b60006131d947836137ee565b905060006131fc866131f66022548561398a90919063ffffffff16565b90613077565b9050600061320a83836137ee565b905060006132296103e86131f6601e548661398a90919063ffffffff16565b905060006132486103e86131f6601f548761398a90919063ffffffff16565b9050613254828561412a565b9350613260818561412a565b60006021819055602281905560035460405192965090916001600160a01b039091169086908381818185875af1925050503d80600081146132bd576040519150601f19603f3d011682016040523d82523d6000602084013e6132c2565b606091505b50506004546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114613312576040519150601f19603f3d011682016040523d82523d6000602084013e613317565b606091505b50506006546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114613367576040519150601f19603f3d011682016040523d82523d6000602084013e61336c565b606091505b50508091505061337c89856127cb565b60408051898152602081018690529081018a90527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a167016345785d8a0000471115613425576003546040516001600160a01b03909116904790600081818185875af1925050503d806000811461341a576040519150601f19603f3d011682016040523d82523d6000602084013e61341f565b606091505b50909150505b50506029805460ff60a01b19169055505050505050505050565b60125415801561344f5750601554155b1561345657565b601280546013556015805460165560009182905555565b8061347a5761347a61343f565b6001600160a01b0384166000908152600e602052604090205460ff1680156134bb57506001600160a01b0383166000908152600e602052604090205460ff16155b156134d0576134cb848484613a0c565b61357c565b6001600160a01b0384166000908152600e602052604090205460ff1615801561351157506001600160a01b0383166000908152600e602052604090205460ff165b15613521576134cb848484613b32565b6001600160a01b0384166000908152600e602052604090205460ff16801561356157506001600160a01b0383166000908152600e602052604090205460ff165b15613571576134cb848484613bdb565b61357c848484613c4e565b8061255157612551601354601255601654601555565b6010546000908190683635c9adc5dea00000825b600f548110156136f1578260086000600f84815481106135c8576135c8614114565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061363357508160096000600f848154811061360c5761360c614114565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561364f57505060105493683635c9adc5dea000009350915050565b61369560086000600f848154811061366957613669614114565b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906137ee565b92506136dd60096000600f84815481106136b1576136b1614114565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906137ee565b9150806136e981614153565b9150506135a6565b5060105461370890683635c9adc5dea00000613077565b82101561372557505060105492683635c9adc5dea0000092509050565b90939092509050565b6000818361374f5760405162461bcd60e51b8152600401610cf79190613e52565b50600061304b84866140f2565b60008060008061376b85613c92565b9050600061377886613cae565b905060006137908261378a89866137ee565b906137ee565b979296509094509092505050565b60008080806137ad888661398a565b905060006137bb888761398a565b905060006137c9888861398a565b905060006137db8261378a86866137ee565b939b939a50919850919650505050505050565b60006113a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061301a565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061386557613865614114565b6001600160a01b03928316602091820292909201810191909152602854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156138be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e29190614095565b816001815181106138f5576138f5614114565b6001600160a01b03928316602091820292909201015260285461391b913091168461264c565b60285460405163791ac94760e01b81526001600160a01b039091169063791ac947906139549085906000908690309042906004016141d0565b600060405180830381600087803b15801561396e57600080fd5b505af1158015613982573d6000803e3d6000fd5b505050505050565b60008260000361399c57506000610fea565b60006139a883856140db565b9050826139b585836140f2565b146113a65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610cf7565b600080600080600080613a1e87613118565b6001600160a01b038f16600090815260096020526040902054959b50939950919750955093509150613a5090886137ee565b6001600160a01b038a16600090815260096020908152604080832093909355600890522054613a7f90876137ee565b6001600160a01b03808b1660009081526008602052604080822093909355908a1681522054613aae90866130b9565b6001600160a01b038916600090815260086020526040902055613ad081613cca565b613ada8483613e2e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613b1f91815260200190565b60405180910390a3505050505050505050565b600080600080600080613b4487613118565b6001600160a01b038f16600090815260086020526040902054959b50939950919750955093509150613b7690876137ee565b6001600160a01b03808b16600090815260086020908152604080832094909455918b16815260099091522054613bac90846130b9565b6001600160a01b038916600090815260096020908152604080832093909355600890522054613aae90866130b9565b600080600080600080613bed87613118565b6001600160a01b038f16600090815260096020526040902054959b50939950919750955093509150613c1f90886137ee565b6001600160a01b038a16600090815260096020908152604080832093909355600890522054613b7690876137ee565b600080600080600080613c6087613118565b6001600160a01b038f16600090815260086020526040902054959b50939950919750955093509150613a7f90876137ee565b6000610fea60646131f66012548561398a90919063ffffffff16565b6000610fea60646131f66015548561398a90919063ffffffff16565b600160175403613d3a57601554601954613ce490836140db565b613cee91906140f2565b60216000828254613cff91906140c8565b9091555050601554601a54613d1490836140db565b613d1e91906140f2565b60226000828254613d2f91906140c8565b90915550613da59050565b600260175403613da557601554601c54613d5490836140db565b613d5e91906140f2565b60216000828254613d6f91906140c8565b9091555050601554601d54613d8490836140db565b613d8e91906140f2565b60226000828254613d9f91906140c8565b90915550505b6000613daf613054565b90506000613dbd838361398a565b30600090815260086020526040902054909150613dda90826130b9565b30600090815260086020908152604080832093909355600e9052205460ff1615613e295730600090815260096020526040902054613e1890846130b9565b306000908152600960205260409020555b505050565b601054613e3b90836137ee565b601055601154613e4b90826130b9565b6011555050565b600060208083528351808285015260005b81811015613e7f57858101830151858201604001528201613e63565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114613eb557600080fd5b50565b60008060408385031215613ecb57600080fd5b8235613ed681613ea0565b946020939093013593505050565b600060208284031215613ef657600080fd5b81356113a681613ea0565b60008060408385031215613f1457600080fd5b50508035926020909101359150565b600080600060608486031215613f3857600080fd5b505081359360208301359350604090920135919050565b600060208284031215613f6157600080fd5b5035919050565b600080600060608486031215613f7d57600080fd5b8335613f8881613ea0565b92506020840135613f9881613ea0565b929592945050506040919091013590565b8015158114613eb557600080fd5b60008060408385031215613fca57600080fd5b823591506020830135613fdc81613fa9565b809150509250929050565b60008060408385031215613ffa57600080fd5b823561400581613ea0565b91506020830135613fdc81613fa9565b6000806040838503121561402857600080fd5b823561403381613ea0565b91506020830135613fdc81613ea0565b60006020828403121561405557600080fd5b81356113a681613fa9565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156140a757600080fd5b81516113a681613ea0565b634e487b7160e01b600052601160045260246000fd5b80820180821115610fea57610fea6140b2565b8082028115828204841417610fea57610fea6140b2565b60008261410f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b81810381811115610fea57610fea6140b2565b634e487b7160e01b600052603160045260246000fd5b600060018201614165576141656140b2565b5060010190565b60006020828403121561417e57600080fd5b5051919050565b60006020828403121561419757600080fd5b81516113a681613fa9565b6000806000606084860312156141b757600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156142205784516001600160a01b0316835293830193918301916001016141fb565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a4289c17cd86a46f8d1ff643db0305dcfd3ae46201b2a1fe18bb20898088c78464736f6c63430008110033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef