0x6080604052600436106103c75760003560e01c806370a08231116101f2578063a9059cbb1161010d578063dc44b6a0116100a0578063ee40166e1161006f578063ee40166e14610b80578063efcc52de14610b96578063f2fde38b14610bac578063f5648a4f14610bcc57600080fd5b8063dc44b6a014610aef578063dd62ed3e14610b05578063e884f26014610b4b578063ea2f0b3714610b6057600080fd5b8063c5d24189116100dc578063c5d2418914610a93578063c860795214610aa9578063c876d0b914610abf578063c8c8ebe414610ad957600080fd5b8063a9059cbb14610a02578063b62496f514610a22578063bbc0c74214610a52578063c49b9a8014610a7357600080fd5b806388f82020116101855780639a7a23d6116101545780639a7a23d61461098d578063a073d37f146109ad578063a457c2d7146109c2578063a5ece941146109e257600080fd5b806388f82020146108e95780638da5cb5b14610922578063906e9dd01461094057806395d89b411461096057600080fd5b80638366e79a116101c15780638366e79a14610863578063837917581461088357806385ecfd28146108a357806388790a68146108d357600080fd5b806370a08231146107f9578063715018a614610819578063751039fc1461082e5780637571336a1461084357600080fd5b80633685d419116102e25780634a74bb02116102755780635342acb4116102445780635342acb414610778578063557ed1ba146107b15780635bb988c9146107c4578063602bc62b146107e457600080fd5b80634a74bb021461070257806351f205e41461072357806352390c0214610738578063525fa81f1461075857600080fd5b8063437823ec116102b1578063437823ec146106835780634549b039146106a357806349bd5a5e146106c35780634a62bb65146106e357600080fd5b80633685d4191461060d578063395093511461062d5780633ad10ef61461064d5780634047ea3e1461066d57600080fd5b80631fc851bd1161035a57806325519cf21161032957806325519cf2146105915780632d838119146105b1578063313ce567146105d15780633221c93f146105ed57600080fd5b80631fc851bd1461052f578063200a692d1461054557806323b872dd1461055b57806324171f321461057b57600080fd5b806313114a9d1161039657806313114a9d1461049b5780631694505e146104ba57806318160ddd146104f25780631d865c301461050f57600080fd5b806306fdde03146103d35780630923160214610419578063095ea7b31461043b57806310d5de531461046b57600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b5060408051808201909152600b81526a4b6f6e6b657920446f6e6760a81b60208201525b6040516104109190613c61565b60405180910390f35b34801561042557600080fd5b50610439610434366004613cb6565b610be1565b005b34801561044757600080fd5b5061045b610456366004613ce7565b610c36565b6040519015158152602001610410565b34801561047757600080fd5b5061045b610486366004613d13565b60226020526000908152604090205460ff1681565b3480156104a757600080fd5b50600f545b604051908152602001610410565b3480156104c657600080fd5b506027546104da906001600160a01b031681565b6040516001600160a01b039091168152602001610410565b3480156104fe57600080fd5b5069d3c21bcecceda10000006104ac565b34801561051b57600080fd5b5061043961052a366004613d30565b610c4d565b34801561053b57600080fd5b506104ac601e5481565b34801561055157600080fd5b506104ac60195481565b34801561056757600080fd5b5061045b610576366004613d5c565b610d32565b34801561058757600080fd5b506104ac60205481565b34801561059d57600080fd5b506104396105ac366004613d30565b610d9b565b3480156105bd57600080fd5b506104ac6105cc366004613cb6565b610e77565b3480156105dd57600080fd5b5060405160098152602001610410565b3480156105f957600080fd5b506005546104da906001600160a01b031681565b34801561061957600080fd5b50610439610628366004613d13565b610efb565b34801561063957600080fd5b5061045b610648366004613ce7565b6110b2565b34801561065957600080fd5b506004546104da906001600160a01b031681565b34801561067957600080fd5b506104ac601f5481565b34801561068f57600080fd5b5061043961069e366004613d13565b6110e8565b3480156106af57600080fd5b506104ac6106be366004613dab565b61116d565b3480156106cf57600080fd5b506028546104da906001600160a01b031681565b3480156106ef57600080fd5b50600a5461045b90610100900460ff1681565b34801561070e57600080fd5b5060285461045b90600160a81b900460ff1681565b34801561072f57600080fd5b50610439611202565b34801561074457600080fd5b50610439610753366004613d13565b6112fb565b34801561076457600080fd5b50610439610773366004613d13565b6114e9565b34801561078457600080fd5b5061045b610793366004613d13565b6001600160a01b03166000908152600b602052604090205460ff1690565b3480156107bd57600080fd5b50426104ac565b3480156107d057600080fd5b506104396107df366004613d13565b6115df565b3480156107f057600080fd5b506002546104ac565b34801561080557600080fd5b506104ac610814366004613d13565b611652565b34801561082557600080fd5b506104396116b1565b34801561083a57600080fd5b5061045b611725565b34801561084f57600080fd5b5061043961085e366004613ddb565b61176b565b34801561086f57600080fd5b5061045b61087e366004613e09565b6117c0565b34801561088f57600080fd5b5061045b61089e366004613f0d565b6119e6565b3480156108af57600080fd5b5061045b6108be366004613d13565b601d6020526000908152604090205460ff1681565b3480156108df57600080fd5b506104ac601a5481565b3480156108f557600080fd5b5061045b610904366004613d13565b6001600160a01b03166000908152600c602052604090205460ff1690565b34801561092e57600080fd5b506000546001600160a01b03166104da565b34801561094c57600080fd5b5061043961095b366004613d13565b611df1565b34801561096c57600080fd5b50604080518082019091526004815263444f4e4760e01b6020820152610403565b34801561099957600080fd5b506104396109a8366004613ddb565b611efd565b3480156109b957600080fd5b506026546104ac565b3480156109ce57600080fd5b5061045b6109dd366004613ce7565b611fb5565b3480156109ee57600080fd5b506003546104da906001600160a01b031681565b348015610a0e57600080fd5b5061045b610a1d366004613ce7565b612004565b348015610a2e57600080fd5b5061045b610a3d366004613d13565b60256020526000908152604090205460ff1681565b348015610a5e57600080fd5b5060285461045b90600160b01b900460ff1681565b348015610a7f57600080fd5b50610439610a8e366004613fcf565b612011565b348015610a9f57600080fd5b506104ac60185481565b348015610ab557600080fd5b506104ac601b5481565b348015610acb57600080fd5b50600a5461045b9060ff1681565b348015610ae557600080fd5b506104ac60215481565b348015610afb57600080fd5b506104ac60175481565b348015610b1157600080fd5b506104ac610b20366004613e09565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b348015610b5757600080fd5b5061045b612088565b348015610b6c57600080fd5b50610439610b7b366004613d13565b6120c3565b348015610b8c57600080fd5b506104ac601c5481565b348015610ba257600080fd5b506104ac60165481565b348015610bb857600080fd5b50610439610bc7366004613d13565b61213e565b348015610bd857600080fd5b50610439612228565b6000546001600160a01b03163314610c145760405162461bcd60e51b8152600401610c0b90613fec565b60405180910390fd5b60c8811015610c2257600080fd5b610c3081633b9aca00614037565b60245550565b6000610c4333848461230d565b5060015b92915050565b6000546001600160a01b03163314610c775760405162461bcd60e51b8152600401610c0b90613fec565b6019839055601a829055601b819055600f81610c938486614056565b610c9d9190614056565b1115610ceb5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b6565702073656c6c2074617865732062656c6f772031352500006044820152606401610c0b565b60408051828152602081018490529081018490527f5ff33e060dbf96ff8c11eeadaaa320b34884dc8af8156d77ab6134d2bece22c3906060015b60405180910390a1505050565b6000610d3f848484612431565b610d918433610d8c856040518060600160405280602881526020016141e1602891396001600160a01b038a1660009081526008602090815260408083203384529091529020549190612d29565b61230d565b5060019392505050565b6000546001600160a01b03163314610dc55760405162461bcd60e51b8152600401610c0b90613fec565b601683905560178290556018819055600a81610de18486614056565b610deb9190614056565b1115610e395760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206275792074617865732062656c6f77203130250000006044820152606401610c0b565b60408051828152602081018490529081018490527f4b44023290188702187818a2359a9d40279e516e5e9bbade40c321936a77362090606001610d25565b6000600e54821115610ede5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610c0b565b6000610ee8612d63565b9050610ef48382612d86565b9392505050565b6000546001600160a01b03163314610f255760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000908152600c602052604090205460ff16610f8d5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610c0b565b60005b600d548110156110ae57816001600160a01b0316600d8281548110610fb757610fb761406e565b6000918252602090912001546001600160a01b0316141561109c57600d8054610fe290600190614084565b81548110610ff257610ff261406e565b600091825260209091200154600d80546001600160a01b03909216918390811061101e5761101e61406e565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600782526040808220829055600c90925220805460ff19169055600d8054806110765761107661409b565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b806110a6816140b1565b915050610f90565b5050565b3360008181526008602090815260408083206001600160a01b03871684529091528120549091610c43918590610d8c9086612dc8565b6000546001600160a01b031633146111125760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000818152600b6020908152604091829020805460ff1916600117905590519182527f58c3e0504c69d3a92726966f152a771e0f8f6ad4daca1ae9055a38aba1fd2b6291015b60405180910390a150565b600069d3c21bcecceda10000008311156111c95760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610c0b565b816111e85760006111d984612e27565b50939550610c47945050505050565b60006111f384612e27565b50929550610c47945050505050565b6000546001600160a01b0316331461122c5760405162461bcd60e51b8152600401610c0b90613fec565b600061123730611652565b905061124e606469d3c21bcecceda10000006140cc565b8110156112c35760405162461bcd60e51b815260206004820152603e60248201527f43616e206f6e6c792073776170206261636b206966206d6f7265207468616e2060448201527f3125206f6620746f6b656e7320737475636b206f6e20636f6e747261637400006064820152608401610c0b565b6112cb612e76565b6040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb3290602001611162565b6000546001600160a01b031633146113255760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000908152600c602052604090205460ff161561138e5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610c0b565b600d5460329061139f906001614056565b11156114295760405162461bcd60e51b815260206004820152604d60248201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f60448201527f756e74732e2020496e636c75646520612070726576696f75736c79206578636c60648201526c3ab232b21030b2323932b9b99760991b608482015260a401610c0b565b6001600160a01b03811660009081526006602052604090205415611483576001600160a01b03811660009081526006602052604090205461146990610e77565b6001600160a01b0382166000908152600760205260409020555b6001600160a01b03166000818152600c60205260408120805460ff19166001908117909155600d805491820181559091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319169091179055565b6000546001600160a01b031633146115135760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166115775760405162461bcd60e51b815260206004820152602560248201527f5f6c69717569646974794164647265737320616464726573732063616e6e6f74604482015264020626520360dc1b6064820152608401610c0b565b600580546001600160a01b0319166001600160a01b0383169081179091556000818152600b6020908152604091829020805460ff1916600117905590519182527f217742673c85d2f459a37c99960c860122cdadf529374b41418d2718cae7726f9101611162565b6000546001600160a01b031633146116095760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000818152601d6020526040808220805460ff19169055517fccaa6e1cfd4cf9506fa856fdc8e0a00894b2621ece1d60ab36209873305944989190a250565b6001600160a01b0381166000908152600c602052604081205460ff161561168f57506001600160a01b031660009081526007602052604090205490565b6001600160a01b038216600090815260066020526040902054610c4790610e77565b6000546001600160a01b031633146116db5760405162461bcd60e51b8152600401610c0b90613fec565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146117505760405162461bcd60e51b8152600401610c0b90613fec565b50600a80546023805460ff1916905561ffff19169055600190565b6000546001600160a01b031633146117955760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b03919091166000908152602260205260409020805460ff1916911515919091179055565b600080546001600160a01b031633146117eb5760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0383166118415760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610c0b565b6001600160a01b03831630141561189a5760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610c0b565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b1580156118dc57600080fd5b505afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191491906140ee565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb90604401602060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190614107565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b600080546001600160a01b03163314611a115760405162461bcd60e51b8152600401610c0b90613fec565b602854600160b01b900460ff1615611a7f5760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401610c0b565b60c8835110611aef5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203230302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610c0b565b60005b8351811015611b57576000848281518110611b0f57611b0f61406e565b602002602001015190506000848381518110611b2d57611b2d61406e565b60200260200101519050611b42338383612431565b50508080611b4f906140b1565b915050611af2565b50611b606130c9565b737a250d5630b4cf539739df2c5dacb4c659f2488d611b8081600161176b565b602780546001600160a01b0319166001600160a01b038316908117909155611bb490309069d3c21bcecceda100000061230d565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611bed57600080fd5b505afa158015611c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c259190614124565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6d57600080fd5b505afa158015611c81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca59190614124565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015611ced57600080fd5b505af1158015611d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d259190614124565b602880546001600160a01b0319166001600160a01b03929092169182179055611d4f90600161176b565b602854611d66906001600160a01b0316600161311e565b60004711611dc25760405162461bcd60e51b815260206004820152602360248201527f4d757374206861766520455448206f6e20636f6e747261637420746f206c61756044820152620dcc6d60eb1b6064820152608401610c0b565b611dd4611dce30611652565b47613179565b610d917339cb8494adb4f5f0df7642fdcf873877eb5ae0a46114e9565b6000546001600160a01b03163314611e1b5760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b038116611e7f5760405162461bcd60e51b815260206004820152602560248201527f5f6d61726b6574696e674164647265737320616464726573732063616e6e6f74604482015264020626520360dc1b6064820152608401610c0b565b600380546001600160a01b039081166000908152600b60209081526040808320805460ff1990811690915585546001600160a01b031916948716948517909555838352918290208054909416600117909355519081527fd1e7d6a3390dd5008bd1c57798817b9f806e4c417264e7d3d67e42e784dc24a99101611162565b6000546001600160a01b03163314611f275760405162461bcd60e51b8152600401610c0b90613fec565b6028546001600160a01b0383811691161415611fab5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610c0b565b6110ae828261311e565b6000610c433384610d8c85604051806060016040528060258152602001614209602591393360009081526008602090815260408083206001600160a01b038d1684529091529020549190612d29565b6000610c43338484612431565b6000546001600160a01b0316331461203b5760405162461bcd60e51b8152600401610c0b90613fec565b60288054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061116290831515815260200190565b600080546001600160a01b031633146120b35760405162461bcd60e51b8152600401610c0b90613fec565b50600a805460ff19169055600190565b6000546001600160a01b031633146120ed5760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000818152600b6020908152604091829020805460ff1916905590519182527f4f6a6b6efe34ec6478021aa9fb7f6980e78ea3a10c74074a8ce49d5d3ebf1f7e9101611162565b6000546001600160a01b031633146121685760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166121cd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c0b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146122525760405162461bcd60e51b8152600401610c0b90613fec565b602854600160b01b900460ff16156122c05760405162461bcd60e51b815260206004820152602b60248201527f43616e206f6e6c792077697468647261772069662074726164696e672068617360448201526a1b89dd081cdd185c9d195960aa1b6064820152608401610c0b565b604051600090339047908381818185875af1925050503d8060008114612302576040519150601f19603f3d011682016040523d82523d6000602084013e612307565b606091505b50505050565b6001600160a01b03831661236f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c0b565b6001600160a01b0382166123d05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c0b565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166124955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c0b565b6001600160a01b0382166124f75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c0b565b600081116125595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610c0b565b602854600160b01b900460ff166125f5576001600160a01b0383166000908152600b602052604090205460ff16806125a957506001600160a01b0382166000908152600b602052604090205460ff165b6125f55760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401610c0b565b600a54610100900460ff1615612a03576000546001600160a01b0384811691161480159061263157506000546001600160a01b03838116911614155b801561264557506001600160a01b03821615155b801561265c57506001600160a01b03821661dead14155b80156126725750602854600160a01b900460ff16155b15612a03576000546001600160a01b038481169116148015906126a357506028546001600160a01b03838116911614155b80156126b05750601c5443145b156126ff576001600160a01b0382166000818152601d6020526040808220805460ff19166001179055517fb90badc1cf1c52268f4fa9afb5276aebf640bcca3300cdfc9cf37db17daa13e29190a25b60235460ff16801561272957506001600160a01b03831660009081526025602052604090205460ff165b15612780576024543a11156127805760405162461bcd60e51b815260206004820152601860248201527f4761732070726963652065786365656473206c696d69742e00000000000000006044820152606401610c0b565b600a5460ff1615612891576000546001600160a01b038381169116148015906127b757506027546001600160a01b03838116911614155b80156127d157506028546001600160a01b03838116911614155b15612891576001600160a01b03821660009081526009602052604090205443116128755760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610c0b565b6001600160a01b03821660009081526009602052604090204390555b6001600160a01b03831660009081526025602052604090205460ff1680156128d257506001600160a01b03821660009081526022602052604090205460ff16155b1561294c576021548111156129475760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610c0b565b612a03565b6001600160a01b03821660009081526025602052604090205460ff16801561298d57506001600160a01b03831660009081526022602052604090205460ff16155b15612a0357602154811115612a035760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610c0b565b6000612a1c602054601f54612dc890919063ffffffff16565b90506000612a2930611652565b60265460285491925082101590600160a01b900460ff16158015612a565750602854600160a81b900460ff165b8015612a775750602854600090612a75906001600160a01b0316611652565b115b8015612a835750600083115b8015612aa857506001600160a01b0385166000908152600b602052604090205460ff16155b8015612acd57506001600160a01b0386166000908152600b602052604090205460ff16155b8015612af157506001600160a01b03851660009081526025602052604090205460ff165b8015612afa5750805b15612b0757612b07612e76565b6001600160a01b0386166000908152600b602052604090205460019060ff1680612b4957506001600160a01b0386166000908152600b602052604090205460ff165b15612b5b575060036015556000612d14565b6001600160a01b03871660009081526025602052604090205460ff1615612ba757612b8461323c565b601654601055601854601754612b9a9190614056565b6013556001601555612d14565b6001600160a01b03861660009081526025602052604090205460ff1615612c4457612bd061323c565b601954601055601b54601a54612be69190614056565b60135560026015556001600160a01b0387166000908152601d602052604090205460ff168015612c17575042601e54115b15612c3f57601054612c2a906005614037565b601055601354612c3b906005614037565b6013555b612d14565b6001600160a01b0387166000908152601d602052604090205460ff161580612c6e575042601e5411155b612d065760405162461bcd60e51b815260206004820152605960248201527f536e69706572732063616e2774207472616e7366657220746f6b656e7320746f60448201527f2073656c6c206368656170657220756e74696c2070656e616c74792074696d6560648201527f6672616d65206973206f7665722e2020444d2061204d6f642e00000000000000608482015260a401610c0b565b612d0e61323c565b60036015555b612d208787878461326a565b50505050505050565b60008184841115612d4d5760405162461bcd60e51b8152600401610c0b9190613c61565b506000612d5a8486614084565b95945050505050565b6000806000612d7061338f565b9092509050612d7f8282612d86565b9250505090565b6000610ef483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061352f565b600080612dd58385614056565b905083811015610ef45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c0b565b6000806000806000806000806000612e3e8a61355d565b9250925092506000806000612e5c8d8686612e57612d63565b61359f565b919f909e50909c50959a5093985091965092945050505050565b6028805460ff60a01b1916600160a01b1790556000612e9430611652565b90506000602054601f54612ea89190614056565b90506000612ec26002601f54612d8690919063ffffffff16565b90506000612ed084836135ef565b905047612edc82613631565b6000612ee847836135ef565b90506000612f0b86612f056020548561379a90919063ffffffff16565b90612d86565b90506000612f1983836135ef565b905060006007612f2a846002614037565b612f3491906140cc565b9050612f408184614084565b6000601f819055602081905560035460405192955090916001600160a01b039091169085908381818185875af1925050503d8060008114612f9d576040519150601f19603f3d011682016040523d82523d6000602084013e612fa2565b606091505b50506004546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114612ff2576040519150601f19603f3d011682016040523d82523d6000602084013e612ff7565b606091505b5050809150506130078884613179565b60408051888152602081018590529081018990527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a167016345785d8a00004711156130b0576003546040516001600160a01b03909116904790600081818185875af1925050503d80600081146130a5576040519150601f19603f3d011682016040523d82523d6000602084013e6130aa565b606091505b50909150505b50506028805460ff60a01b191690555050505050505050565b6000546001600160a01b031633146130f35760405162461bcd60e51b8152600401610c0b90613fec565b6028805461ffff60a81b191661010160a81b17905543601c55613119426203f480614056565b601e55565b6001600160a01b038216600090815260256020908152604080832080548515801560ff199283168117909355602290945291909320805490911690921790915561316b5761316b826112fb565b806110ae576110ae82610efb565b6027546131919030906001600160a01b03168461230d565b60275460055460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b1580156131fc57600080fd5b505af1158015613210573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132359190614141565b5050505050565b60105415801561324c5750601354155b1561325357565b601080546011556013805460145560009182905555565b806132775761327761323c565b6001600160a01b0384166000908152600c602052604090205460ff1680156132b857506001600160a01b0383166000908152600c602052604090205460ff16155b156132cd576132c8848484613819565b613379565b6001600160a01b0384166000908152600c602052604090205460ff1615801561330e57506001600160a01b0383166000908152600c602052604090205460ff165b1561331e576132c884848461393f565b6001600160a01b0384166000908152600c602052604090205460ff16801561335e57506001600160a01b0383166000908152600c602052604090205460ff165b1561336e576132c88484846139e8565b613379848484613a5b565b8061230757612307601154601055601454601355565b600e54600090819069d3c21bcecceda1000000825b600d548110156134f0578260066000600d84815481106133c6576133c661406e565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061343157508160076000600d848154811061340a5761340a61406e565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561344e575050600e549369d3c21bcecceda10000009350915050565b61349460066000600d84815481106134685761346861406e565b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906135ef565b92506134dc60076000600d84815481106134b0576134b061406e565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906135ef565b9150806134e8816140b1565b9150506133a4565b50600e546135089069d3c21bcecceda1000000612d86565b821015613526575050600e549269d3c21bcecceda100000092509050565b90939092509050565b600081836135505760405162461bcd60e51b8152600401610c0b9190613c61565b506000612d5a84866140cc565b60008060008061356c85613a9f565b9050600061357986613abb565b905060006135918261358b89866135ef565b906135ef565b979296509094509092505050565b60008080806135ae888661379a565b905060006135bc888761379a565b905060006135ca888861379a565b905060006135dc8261358b86866135ef565b939b939a50919850919650505050505050565b6000610ef483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612d29565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106136665761366661406e565b6001600160a01b03928316602091820292909201810191909152602754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156136ba57600080fd5b505afa1580156136ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f29190614124565b816001815181106137055761370561406e565b6001600160a01b03928316602091820292909201015260275461372b913091168461230d565b60275460405163791ac94760e01b81526001600160a01b039091169063791ac9479061376490859060009086903090429060040161416f565b600060405180830381600087803b15801561377e57600080fd5b505af1158015613792573d6000803e3d6000fd5b505050505050565b6000826137a957506000610c47565b60006137b58385614037565b9050826137c285836140cc565b14610ef45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c0b565b60008060008060008061382b87612e27565b6001600160a01b038f16600090815260076020526040902054959b5093995091975095509350915061385d90886135ef565b6001600160a01b038a1660009081526007602090815260408083209390935560069052205461388c90876135ef565b6001600160a01b03808b1660009081526006602052604080822093909355908a16815220546138bb9086612dc8565b6001600160a01b0389166000908152600660205260409020556138dd81613ad7565b6138e78483613c3d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161392c91815260200190565b60405180910390a3505050505050505050565b60008060008060008061395187612e27565b6001600160a01b038f16600090815260066020526040902054959b5093995091975095509350915061398390876135ef565b6001600160a01b03808b16600090815260066020908152604080832094909455918b168152600790915220546139b99084612dc8565b6001600160a01b0389166000908152600760209081526040808320939093556006905220546138bb9086612dc8565b6000806000806000806139fa87612e27565b6001600160a01b038f16600090815260076020526040902054959b50939950919750955093509150613a2c90886135ef565b6001600160a01b038a1660009081526007602090815260408083209390935560069052205461398390876135ef565b600080600080600080613a6d87612e27565b6001600160a01b038f16600090815260066020526040902054959b5093995091975095509350915061388c90876135ef565b6000610c476064612f056010548561379a90919063ffffffff16565b6000610c476064612f056013548561379a90919063ffffffff16565b60016015541415613b4857601354601754613af29083614037565b613afc91906140cc565b601f6000828254613b0d9190614056565b9091555050601354601854613b229083614037565b613b2c91906140cc565b60206000828254613b3d9190614056565b90915550613bb49050565b60026015541415613bb457601354601a54613b639083614037565b613b6d91906140cc565b601f6000828254613b7e9190614056565b9091555050601354601b54613b939083614037565b613b9d91906140cc565b60206000828254613bae9190614056565b90915550505b6000613bbe612d63565b90506000613bcc838361379a565b30600090815260066020526040902054909150613be99082612dc8565b30600090815260066020908152604080832093909355600c9052205460ff1615613c385730600090815260076020526040902054613c279084612dc8565b306000908152600760205260409020555b505050565b600e54613c4a90836135ef565b600e55600f54613c5a9082612dc8565b600f555050565b600060208083528351808285015260005b81811015613c8e57858101830151858201604001528201613c72565b81811115613ca0576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215613cc857600080fd5b5035919050565b6001600160a01b0381168114613ce457600080fd5b50565b60008060408385031215613cfa57600080fd5b8235613d0581613ccf565b946020939093013593505050565b600060208284031215613d2557600080fd5b8135610ef481613ccf565b600080600060608486031215613d4557600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215613d7157600080fd5b8335613d7c81613ccf565b92506020840135613d8c81613ccf565b929592945050506040919091013590565b8015158114613ce457600080fd5b60008060408385031215613dbe57600080fd5b823591506020830135613dd081613d9d565b809150509250929050565b60008060408385031215613dee57600080fd5b8235613df981613ccf565b91506020830135613dd081613d9d565b60008060408385031215613e1c57600080fd5b8235613e2781613ccf565b91506020830135613dd081613ccf565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613e7657613e76613e37565b604052919050565b600067ffffffffffffffff821115613e9857613e98613e37565b5060051b60200190565b600082601f830112613eb357600080fd5b81356020613ec8613ec383613e7e565b613e4d565b82815260059290921b84018101918181019086841115613ee757600080fd5b8286015b84811015613f025780358352918301918301613eeb565b509695505050505050565b60008060408385031215613f2057600080fd5b823567ffffffffffffffff80821115613f3857600080fd5b818501915085601f830112613f4c57600080fd5b81356020613f5c613ec383613e7e565b82815260059290921b84018101918181019089841115613f7b57600080fd5b948201945b83861015613fa2578535613f9381613ccf565b82529482019490820190613f80565b96505086013592505080821115613fb857600080fd5b50613fc585828601613ea2565b9150509250929050565b600060208284031215613fe157600080fd5b8135610ef481613d9d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561405157614051614021565b500290565b6000821982111561406957614069614021565b500190565b634e487b7160e01b600052603260045260246000fd5b60008282101561409657614096614021565b500390565b634e487b7160e01b600052603160045260246000fd5b60006000198214156140c5576140c5614021565b5060010190565b6000826140e957634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561410057600080fd5b5051919050565b60006020828403121561411957600080fd5b8151610ef481613d9d565b60006020828403121561413657600080fd5b8151610ef481613ccf565b60008060006060848603121561415657600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156141bf5784516001600160a01b03168352938301939183019160010161419a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122021222eb18a9a8b97bdddae958ae3314364d0deee5c5f925a454b5f6d95aa875f64736f6c63430008090033
0x6080604052600a805461ffff19166101011790556200002b69d3c21bcecceda1000000600019620003bd565b6200003990600019620003ea565b600e55601054601155601354601455600260168190556001601781905560076018819055601992909255601a819055601b919091556000601c8190556023805460ff191690921790915564746a5288006024556028805461ffff60a81b1916905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506103e8600e54620000eb919062000404565b620000f99061026c6200041b565b33600090815260066020526040902055600e546200011b906103e89062000404565b620001299061017c6200041b565b306000908152600660205260409020556103e86200015369d3c21bcecceda100000060146200041b565b6200015f919062000404565b6021556127106200017c69d3c21bcecceda100000060056200041b565b62000188919062000404565b602655600380546001600160a01b0319908116735aba07e022556083769e2547fad3067442220e1c17909155600480549091167339cb8494adb4f5f0df7642fdcf873877eb5ae0a4179055620001e66000546001600160a01b031690565b600580546001600160a01b0319166001600160a01b039283161781556000805483168152600b6020526040808220805460ff19908116600190811790925530845282842080548216831790556003548616845282842080548216831790559354851683529082208054909316179091555462000265911660016200031d565b620002723060016200031d565b6200028161dead60016200031d565b336000600080516020620046b08339815191526103e8620002af69d3c21bcecceda100000061026c6200041b565b620002bb919062000404565b60405190815260200160405180910390a3306000600080516020620046b08339815191526103e8620002fa69d3c21bcecceda100000061017c6200041b565b62000306919062000404565b60405190815260200160405180910390a36200043d565b6000546001600160a01b031633146200037c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640160405180910390fd5b6001600160a01b03919091166000908152602260205260409020805460ff1916911515919091179055565b634e487b7160e01b600052601260045260246000fd5b600082620003cf57620003cf620003a7565b500690565b634e487b7160e01b600052601160045260246000fd5b600082821015620003ff57620003ff620003d4565b500390565b600082620004165762000416620003a7565b500490565b6000816000190483118215151615620004385762000438620003d4565b500290565b614263806200044d6000396000f3fe6080604052600436106103c75760003560e01c806370a08231116101f2578063a9059cbb1161010d578063dc44b6a0116100a0578063ee40166e1161006f578063ee40166e14610b80578063efcc52de14610b96578063f2fde38b14610bac578063f5648a4f14610bcc57600080fd5b8063dc44b6a014610aef578063dd62ed3e14610b05578063e884f26014610b4b578063ea2f0b3714610b6057600080fd5b8063c5d24189116100dc578063c5d2418914610a93578063c860795214610aa9578063c876d0b914610abf578063c8c8ebe414610ad957600080fd5b8063a9059cbb14610a02578063b62496f514610a22578063bbc0c74214610a52578063c49b9a8014610a7357600080fd5b806388f82020116101855780639a7a23d6116101545780639a7a23d61461098d578063a073d37f146109ad578063a457c2d7146109c2578063a5ece941146109e257600080fd5b806388f82020146108e95780638da5cb5b14610922578063906e9dd01461094057806395d89b411461096057600080fd5b80638366e79a116101c15780638366e79a14610863578063837917581461088357806385ecfd28146108a357806388790a68146108d357600080fd5b806370a08231146107f9578063715018a614610819578063751039fc1461082e5780637571336a1461084357600080fd5b80633685d419116102e25780634a74bb02116102755780635342acb4116102445780635342acb414610778578063557ed1ba146107b15780635bb988c9146107c4578063602bc62b146107e457600080fd5b80634a74bb021461070257806351f205e41461072357806352390c0214610738578063525fa81f1461075857600080fd5b8063437823ec116102b1578063437823ec146106835780634549b039146106a357806349bd5a5e146106c35780634a62bb65146106e357600080fd5b80633685d4191461060d578063395093511461062d5780633ad10ef61461064d5780634047ea3e1461066d57600080fd5b80631fc851bd1161035a57806325519cf21161032957806325519cf2146105915780632d838119146105b1578063313ce567146105d15780633221c93f146105ed57600080fd5b80631fc851bd1461052f578063200a692d1461054557806323b872dd1461055b57806324171f321461057b57600080fd5b806313114a9d1161039657806313114a9d1461049b5780631694505e146104ba57806318160ddd146104f25780631d865c301461050f57600080fd5b806306fdde03146103d35780630923160214610419578063095ea7b31461043b57806310d5de531461046b57600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b5060408051808201909152600b81526a4b6f6e6b657920446f6e6760a81b60208201525b6040516104109190613c61565b60405180910390f35b34801561042557600080fd5b50610439610434366004613cb6565b610be1565b005b34801561044757600080fd5b5061045b610456366004613ce7565b610c36565b6040519015158152602001610410565b34801561047757600080fd5b5061045b610486366004613d13565b60226020526000908152604090205460ff1681565b3480156104a757600080fd5b50600f545b604051908152602001610410565b3480156104c657600080fd5b506027546104da906001600160a01b031681565b6040516001600160a01b039091168152602001610410565b3480156104fe57600080fd5b5069d3c21bcecceda10000006104ac565b34801561051b57600080fd5b5061043961052a366004613d30565b610c4d565b34801561053b57600080fd5b506104ac601e5481565b34801561055157600080fd5b506104ac60195481565b34801561056757600080fd5b5061045b610576366004613d5c565b610d32565b34801561058757600080fd5b506104ac60205481565b34801561059d57600080fd5b506104396105ac366004613d30565b610d9b565b3480156105bd57600080fd5b506104ac6105cc366004613cb6565b610e77565b3480156105dd57600080fd5b5060405160098152602001610410565b3480156105f957600080fd5b506005546104da906001600160a01b031681565b34801561061957600080fd5b50610439610628366004613d13565b610efb565b34801561063957600080fd5b5061045b610648366004613ce7565b6110b2565b34801561065957600080fd5b506004546104da906001600160a01b031681565b34801561067957600080fd5b506104ac601f5481565b34801561068f57600080fd5b5061043961069e366004613d13565b6110e8565b3480156106af57600080fd5b506104ac6106be366004613dab565b61116d565b3480156106cf57600080fd5b506028546104da906001600160a01b031681565b3480156106ef57600080fd5b50600a5461045b90610100900460ff1681565b34801561070e57600080fd5b5060285461045b90600160a81b900460ff1681565b34801561072f57600080fd5b50610439611202565b34801561074457600080fd5b50610439610753366004613d13565b6112fb565b34801561076457600080fd5b50610439610773366004613d13565b6114e9565b34801561078457600080fd5b5061045b610793366004613d13565b6001600160a01b03166000908152600b602052604090205460ff1690565b3480156107bd57600080fd5b50426104ac565b3480156107d057600080fd5b506104396107df366004613d13565b6115df565b3480156107f057600080fd5b506002546104ac565b34801561080557600080fd5b506104ac610814366004613d13565b611652565b34801561082557600080fd5b506104396116b1565b34801561083a57600080fd5b5061045b611725565b34801561084f57600080fd5b5061043961085e366004613ddb565b61176b565b34801561086f57600080fd5b5061045b61087e366004613e09565b6117c0565b34801561088f57600080fd5b5061045b61089e366004613f0d565b6119e6565b3480156108af57600080fd5b5061045b6108be366004613d13565b601d6020526000908152604090205460ff1681565b3480156108df57600080fd5b506104ac601a5481565b3480156108f557600080fd5b5061045b610904366004613d13565b6001600160a01b03166000908152600c602052604090205460ff1690565b34801561092e57600080fd5b506000546001600160a01b03166104da565b34801561094c57600080fd5b5061043961095b366004613d13565b611df1565b34801561096c57600080fd5b50604080518082019091526004815263444f4e4760e01b6020820152610403565b34801561099957600080fd5b506104396109a8366004613ddb565b611efd565b3480156109b957600080fd5b506026546104ac565b3480156109ce57600080fd5b5061045b6109dd366004613ce7565b611fb5565b3480156109ee57600080fd5b506003546104da906001600160a01b031681565b348015610a0e57600080fd5b5061045b610a1d366004613ce7565b612004565b348015610a2e57600080fd5b5061045b610a3d366004613d13565b60256020526000908152604090205460ff1681565b348015610a5e57600080fd5b5060285461045b90600160b01b900460ff1681565b348015610a7f57600080fd5b50610439610a8e366004613fcf565b612011565b348015610a9f57600080fd5b506104ac60185481565b348015610ab557600080fd5b506104ac601b5481565b348015610acb57600080fd5b50600a5461045b9060ff1681565b348015610ae557600080fd5b506104ac60215481565b348015610afb57600080fd5b506104ac60175481565b348015610b1157600080fd5b506104ac610b20366004613e09565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b348015610b5757600080fd5b5061045b612088565b348015610b6c57600080fd5b50610439610b7b366004613d13565b6120c3565b348015610b8c57600080fd5b506104ac601c5481565b348015610ba257600080fd5b506104ac60165481565b348015610bb857600080fd5b50610439610bc7366004613d13565b61213e565b348015610bd857600080fd5b50610439612228565b6000546001600160a01b03163314610c145760405162461bcd60e51b8152600401610c0b90613fec565b60405180910390fd5b60c8811015610c2257600080fd5b610c3081633b9aca00614037565b60245550565b6000610c4333848461230d565b5060015b92915050565b6000546001600160a01b03163314610c775760405162461bcd60e51b8152600401610c0b90613fec565b6019839055601a829055601b819055600f81610c938486614056565b610c9d9190614056565b1115610ceb5760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b6565702073656c6c2074617865732062656c6f772031352500006044820152606401610c0b565b60408051828152602081018490529081018490527f5ff33e060dbf96ff8c11eeadaaa320b34884dc8af8156d77ab6134d2bece22c3906060015b60405180910390a1505050565b6000610d3f848484612431565b610d918433610d8c856040518060600160405280602881526020016141e1602891396001600160a01b038a1660009081526008602090815260408083203384529091529020549190612d29565b61230d565b5060019392505050565b6000546001600160a01b03163314610dc55760405162461bcd60e51b8152600401610c0b90613fec565b601683905560178290556018819055600a81610de18486614056565b610deb9190614056565b1115610e395760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206275792074617865732062656c6f77203130250000006044820152606401610c0b565b60408051828152602081018490529081018490527f4b44023290188702187818a2359a9d40279e516e5e9bbade40c321936a77362090606001610d25565b6000600e54821115610ede5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610c0b565b6000610ee8612d63565b9050610ef48382612d86565b9392505050565b6000546001600160a01b03163314610f255760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000908152600c602052604090205460ff16610f8d5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610c0b565b60005b600d548110156110ae57816001600160a01b0316600d8281548110610fb757610fb761406e565b6000918252602090912001546001600160a01b0316141561109c57600d8054610fe290600190614084565b81548110610ff257610ff261406e565b600091825260209091200154600d80546001600160a01b03909216918390811061101e5761101e61406e565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600782526040808220829055600c90925220805460ff19169055600d8054806110765761107661409b565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b806110a6816140b1565b915050610f90565b5050565b3360008181526008602090815260408083206001600160a01b03871684529091528120549091610c43918590610d8c9086612dc8565b6000546001600160a01b031633146111125760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000818152600b6020908152604091829020805460ff1916600117905590519182527f58c3e0504c69d3a92726966f152a771e0f8f6ad4daca1ae9055a38aba1fd2b6291015b60405180910390a150565b600069d3c21bcecceda10000008311156111c95760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610c0b565b816111e85760006111d984612e27565b50939550610c47945050505050565b60006111f384612e27565b50929550610c47945050505050565b6000546001600160a01b0316331461122c5760405162461bcd60e51b8152600401610c0b90613fec565b600061123730611652565b905061124e606469d3c21bcecceda10000006140cc565b8110156112c35760405162461bcd60e51b815260206004820152603e60248201527f43616e206f6e6c792073776170206261636b206966206d6f7265207468616e2060448201527f3125206f6620746f6b656e7320737475636b206f6e20636f6e747261637400006064820152608401610c0b565b6112cb612e76565b6040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb3290602001611162565b6000546001600160a01b031633146113255760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000908152600c602052604090205460ff161561138e5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610c0b565b600d5460329061139f906001614056565b11156114295760405162461bcd60e51b815260206004820152604d60248201527f43616e6e6f74206578636c756465206d6f7265207468616e203530206163636f60448201527f756e74732e2020496e636c75646520612070726576696f75736c79206578636c60648201526c3ab232b21030b2323932b9b99760991b608482015260a401610c0b565b6001600160a01b03811660009081526006602052604090205415611483576001600160a01b03811660009081526006602052604090205461146990610e77565b6001600160a01b0382166000908152600760205260409020555b6001600160a01b03166000818152600c60205260408120805460ff19166001908117909155600d805491820181559091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319169091179055565b6000546001600160a01b031633146115135760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166115775760405162461bcd60e51b815260206004820152602560248201527f5f6c69717569646974794164647265737320616464726573732063616e6e6f74604482015264020626520360dc1b6064820152608401610c0b565b600580546001600160a01b0319166001600160a01b0383169081179091556000818152600b6020908152604091829020805460ff1916600117905590519182527f217742673c85d2f459a37c99960c860122cdadf529374b41418d2718cae7726f9101611162565b6000546001600160a01b031633146116095760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000818152601d6020526040808220805460ff19169055517fccaa6e1cfd4cf9506fa856fdc8e0a00894b2621ece1d60ab36209873305944989190a250565b6001600160a01b0381166000908152600c602052604081205460ff161561168f57506001600160a01b031660009081526007602052604090205490565b6001600160a01b038216600090815260066020526040902054610c4790610e77565b6000546001600160a01b031633146116db5760405162461bcd60e51b8152600401610c0b90613fec565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080546001600160a01b031633146117505760405162461bcd60e51b8152600401610c0b90613fec565b50600a80546023805460ff1916905561ffff19169055600190565b6000546001600160a01b031633146117955760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b03919091166000908152602260205260409020805460ff1916911515919091179055565b600080546001600160a01b031633146117eb5760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0383166118415760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610c0b565b6001600160a01b03831630141561189a5760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610c0b565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b1580156118dc57600080fd5b505afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191491906140ee565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb90604401602060405180830381600087803b15801561196257600080fd5b505af1158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190614107565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b600080546001600160a01b03163314611a115760405162461bcd60e51b8152600401610c0b90613fec565b602854600160b01b900460ff1615611a7f5760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401610c0b565b60c8835110611aef5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203230302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610c0b565b60005b8351811015611b57576000848281518110611b0f57611b0f61406e565b602002602001015190506000848381518110611b2d57611b2d61406e565b60200260200101519050611b42338383612431565b50508080611b4f906140b1565b915050611af2565b50611b606130c9565b737a250d5630b4cf539739df2c5dacb4c659f2488d611b8081600161176b565b602780546001600160a01b0319166001600160a01b038316908117909155611bb490309069d3c21bcecceda100000061230d565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611bed57600080fd5b505afa158015611c01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c259190614124565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6d57600080fd5b505afa158015611c81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca59190614124565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015611ced57600080fd5b505af1158015611d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d259190614124565b602880546001600160a01b0319166001600160a01b03929092169182179055611d4f90600161176b565b602854611d66906001600160a01b0316600161311e565b60004711611dc25760405162461bcd60e51b815260206004820152602360248201527f4d757374206861766520455448206f6e20636f6e747261637420746f206c61756044820152620dcc6d60eb1b6064820152608401610c0b565b611dd4611dce30611652565b47613179565b610d917339cb8494adb4f5f0df7642fdcf873877eb5ae0a46114e9565b6000546001600160a01b03163314611e1b5760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b038116611e7f5760405162461bcd60e51b815260206004820152602560248201527f5f6d61726b6574696e674164647265737320616464726573732063616e6e6f74604482015264020626520360dc1b6064820152608401610c0b565b600380546001600160a01b039081166000908152600b60209081526040808320805460ff1990811690915585546001600160a01b031916948716948517909555838352918290208054909416600117909355519081527fd1e7d6a3390dd5008bd1c57798817b9f806e4c417264e7d3d67e42e784dc24a99101611162565b6000546001600160a01b03163314611f275760405162461bcd60e51b8152600401610c0b90613fec565b6028546001600160a01b0383811691161415611fab5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610c0b565b6110ae828261311e565b6000610c433384610d8c85604051806060016040528060258152602001614209602591393360009081526008602090815260408083206001600160a01b038d1684529091529020549190612d29565b6000610c43338484612431565b6000546001600160a01b0316331461203b5760405162461bcd60e51b8152600401610c0b90613fec565b60288054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061116290831515815260200190565b600080546001600160a01b031633146120b35760405162461bcd60e51b8152600401610c0b90613fec565b50600a805460ff19169055600190565b6000546001600160a01b031633146120ed5760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166000818152600b6020908152604091829020805460ff1916905590519182527f4f6a6b6efe34ec6478021aa9fb7f6980e78ea3a10c74074a8ce49d5d3ebf1f7e9101611162565b6000546001600160a01b031633146121685760405162461bcd60e51b8152600401610c0b90613fec565b6001600160a01b0381166121cd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c0b565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146122525760405162461bcd60e51b8152600401610c0b90613fec565b602854600160b01b900460ff16156122c05760405162461bcd60e51b815260206004820152602b60248201527f43616e206f6e6c792077697468647261772069662074726164696e672068617360448201526a1b89dd081cdd185c9d195960aa1b6064820152608401610c0b565b604051600090339047908381818185875af1925050503d8060008114612302576040519150601f19603f3d011682016040523d82523d6000602084013e612307565b606091505b50505050565b6001600160a01b03831661236f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c0b565b6001600160a01b0382166123d05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c0b565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166124955760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610c0b565b6001600160a01b0382166124f75760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610c0b565b600081116125595760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610c0b565b602854600160b01b900460ff166125f5576001600160a01b0383166000908152600b602052604090205460ff16806125a957506001600160a01b0382166000908152600b602052604090205460ff165b6125f55760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401610c0b565b600a54610100900460ff1615612a03576000546001600160a01b0384811691161480159061263157506000546001600160a01b03838116911614155b801561264557506001600160a01b03821615155b801561265c57506001600160a01b03821661dead14155b80156126725750602854600160a01b900460ff16155b15612a03576000546001600160a01b038481169116148015906126a357506028546001600160a01b03838116911614155b80156126b05750601c5443145b156126ff576001600160a01b0382166000818152601d6020526040808220805460ff19166001179055517fb90badc1cf1c52268f4fa9afb5276aebf640bcca3300cdfc9cf37db17daa13e29190a25b60235460ff16801561272957506001600160a01b03831660009081526025602052604090205460ff165b15612780576024543a11156127805760405162461bcd60e51b815260206004820152601860248201527f4761732070726963652065786365656473206c696d69742e00000000000000006044820152606401610c0b565b600a5460ff1615612891576000546001600160a01b038381169116148015906127b757506027546001600160a01b03838116911614155b80156127d157506028546001600160a01b03838116911614155b15612891576001600160a01b03821660009081526009602052604090205443116128755760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610c0b565b6001600160a01b03821660009081526009602052604090204390555b6001600160a01b03831660009081526025602052604090205460ff1680156128d257506001600160a01b03821660009081526022602052604090205460ff16155b1561294c576021548111156129475760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610c0b565b612a03565b6001600160a01b03821660009081526025602052604090205460ff16801561298d57506001600160a01b03831660009081526022602052604090205460ff16155b15612a0357602154811115612a035760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610c0b565b6000612a1c602054601f54612dc890919063ffffffff16565b90506000612a2930611652565b60265460285491925082101590600160a01b900460ff16158015612a565750602854600160a81b900460ff165b8015612a775750602854600090612a75906001600160a01b0316611652565b115b8015612a835750600083115b8015612aa857506001600160a01b0385166000908152600b602052604090205460ff16155b8015612acd57506001600160a01b0386166000908152600b602052604090205460ff16155b8015612af157506001600160a01b03851660009081526025602052604090205460ff165b8015612afa5750805b15612b0757612b07612e76565b6001600160a01b0386166000908152600b602052604090205460019060ff1680612b4957506001600160a01b0386166000908152600b602052604090205460ff165b15612b5b575060036015556000612d14565b6001600160a01b03871660009081526025602052604090205460ff1615612ba757612b8461323c565b601654601055601854601754612b9a9190614056565b6013556001601555612d14565b6001600160a01b03861660009081526025602052604090205460ff1615612c4457612bd061323c565b601954601055601b54601a54612be69190614056565b60135560026015556001600160a01b0387166000908152601d602052604090205460ff168015612c17575042601e54115b15612c3f57601054612c2a906005614037565b601055601354612c3b906005614037565b6013555b612d14565b6001600160a01b0387166000908152601d602052604090205460ff161580612c6e575042601e5411155b612d065760405162461bcd60e51b815260206004820152605960248201527f536e69706572732063616e2774207472616e7366657220746f6b656e7320746f60448201527f2073656c6c206368656170657220756e74696c2070656e616c74792074696d6560648201527f6672616d65206973206f7665722e2020444d2061204d6f642e00000000000000608482015260a401610c0b565b612d0e61323c565b60036015555b612d208787878461326a565b50505050505050565b60008184841115612d4d5760405162461bcd60e51b8152600401610c0b9190613c61565b506000612d5a8486614084565b95945050505050565b6000806000612d7061338f565b9092509050612d7f8282612d86565b9250505090565b6000610ef483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061352f565b600080612dd58385614056565b905083811015610ef45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c0b565b6000806000806000806000806000612e3e8a61355d565b9250925092506000806000612e5c8d8686612e57612d63565b61359f565b919f909e50909c50959a5093985091965092945050505050565b6028805460ff60a01b1916600160a01b1790556000612e9430611652565b90506000602054601f54612ea89190614056565b90506000612ec26002601f54612d8690919063ffffffff16565b90506000612ed084836135ef565b905047612edc82613631565b6000612ee847836135ef565b90506000612f0b86612f056020548561379a90919063ffffffff16565b90612d86565b90506000612f1983836135ef565b905060006007612f2a846002614037565b612f3491906140cc565b9050612f408184614084565b6000601f819055602081905560035460405192955090916001600160a01b039091169085908381818185875af1925050503d8060008114612f9d576040519150601f19603f3d011682016040523d82523d6000602084013e612fa2565b606091505b50506004546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114612ff2576040519150601f19603f3d011682016040523d82523d6000602084013e612ff7565b606091505b5050809150506130078884613179565b60408051888152602081018590529081018990527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a167016345785d8a00004711156130b0576003546040516001600160a01b03909116904790600081818185875af1925050503d80600081146130a5576040519150601f19603f3d011682016040523d82523d6000602084013e6130aa565b606091505b50909150505b50506028805460ff60a01b191690555050505050505050565b6000546001600160a01b031633146130f35760405162461bcd60e51b8152600401610c0b90613fec565b6028805461ffff60a81b191661010160a81b17905543601c55613119426203f480614056565b601e55565b6001600160a01b038216600090815260256020908152604080832080548515801560ff199283168117909355602290945291909320805490911690921790915561316b5761316b826112fb565b806110ae576110ae82610efb565b6027546131919030906001600160a01b03168461230d565b60275460055460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b1580156131fc57600080fd5b505af1158015613210573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906132359190614141565b5050505050565b60105415801561324c5750601354155b1561325357565b601080546011556013805460145560009182905555565b806132775761327761323c565b6001600160a01b0384166000908152600c602052604090205460ff1680156132b857506001600160a01b0383166000908152600c602052604090205460ff16155b156132cd576132c8848484613819565b613379565b6001600160a01b0384166000908152600c602052604090205460ff1615801561330e57506001600160a01b0383166000908152600c602052604090205460ff165b1561331e576132c884848461393f565b6001600160a01b0384166000908152600c602052604090205460ff16801561335e57506001600160a01b0383166000908152600c602052604090205460ff165b1561336e576132c88484846139e8565b613379848484613a5b565b8061230757612307601154601055601454601355565b600e54600090819069d3c21bcecceda1000000825b600d548110156134f0578260066000600d84815481106133c6576133c661406e565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061343157508160076000600d848154811061340a5761340a61406e565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561344e575050600e549369d3c21bcecceda10000009350915050565b61349460066000600d84815481106134685761346861406e565b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906135ef565b92506134dc60076000600d84815481106134b0576134b061406e565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906135ef565b9150806134e8816140b1565b9150506133a4565b50600e546135089069d3c21bcecceda1000000612d86565b821015613526575050600e549269d3c21bcecceda100000092509050565b90939092509050565b600081836135505760405162461bcd60e51b8152600401610c0b9190613c61565b506000612d5a84866140cc565b60008060008061356c85613a9f565b9050600061357986613abb565b905060006135918261358b89866135ef565b906135ef565b979296509094509092505050565b60008080806135ae888661379a565b905060006135bc888761379a565b905060006135ca888861379a565b905060006135dc8261358b86866135ef565b939b939a50919850919650505050505050565b6000610ef483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612d29565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106136665761366661406e565b6001600160a01b03928316602091820292909201810191909152602754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156136ba57600080fd5b505afa1580156136ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f29190614124565b816001815181106137055761370561406e565b6001600160a01b03928316602091820292909201015260275461372b913091168461230d565b60275460405163791ac94760e01b81526001600160a01b039091169063791ac9479061376490859060009086903090429060040161416f565b600060405180830381600087803b15801561377e57600080fd5b505af1158015613792573d6000803e3d6000fd5b505050505050565b6000826137a957506000610c47565b60006137b58385614037565b9050826137c285836140cc565b14610ef45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c0b565b60008060008060008061382b87612e27565b6001600160a01b038f16600090815260076020526040902054959b5093995091975095509350915061385d90886135ef565b6001600160a01b038a1660009081526007602090815260408083209390935560069052205461388c90876135ef565b6001600160a01b03808b1660009081526006602052604080822093909355908a16815220546138bb9086612dc8565b6001600160a01b0389166000908152600660205260409020556138dd81613ad7565b6138e78483613c3d565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161392c91815260200190565b60405180910390a3505050505050505050565b60008060008060008061395187612e27565b6001600160a01b038f16600090815260066020526040902054959b5093995091975095509350915061398390876135ef565b6001600160a01b03808b16600090815260066020908152604080832094909455918b168152600790915220546139b99084612dc8565b6001600160a01b0389166000908152600760209081526040808320939093556006905220546138bb9086612dc8565b6000806000806000806139fa87612e27565b6001600160a01b038f16600090815260076020526040902054959b50939950919750955093509150613a2c90886135ef565b6001600160a01b038a1660009081526007602090815260408083209390935560069052205461398390876135ef565b600080600080600080613a6d87612e27565b6001600160a01b038f16600090815260066020526040902054959b5093995091975095509350915061388c90876135ef565b6000610c476064612f056010548561379a90919063ffffffff16565b6000610c476064612f056013548561379a90919063ffffffff16565b60016015541415613b4857601354601754613af29083614037565b613afc91906140cc565b601f6000828254613b0d9190614056565b9091555050601354601854613b229083614037565b613b2c91906140cc565b60206000828254613b3d9190614056565b90915550613bb49050565b60026015541415613bb457601354601a54613b639083614037565b613b6d91906140cc565b601f6000828254613b7e9190614056565b9091555050601354601b54613b939083614037565b613b9d91906140cc565b60206000828254613bae9190614056565b90915550505b6000613bbe612d63565b90506000613bcc838361379a565b30600090815260066020526040902054909150613be99082612dc8565b30600090815260066020908152604080832093909355600c9052205460ff1615613c385730600090815260076020526040902054613c279084612dc8565b306000908152600760205260409020555b505050565b600e54613c4a90836135ef565b600e55600f54613c5a9082612dc8565b600f555050565b600060208083528351808285015260005b81811015613c8e57858101830151858201604001528201613c72565b81811115613ca0576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215613cc857600080fd5b5035919050565b6001600160a01b0381168114613ce457600080fd5b50565b60008060408385031215613cfa57600080fd5b8235613d0581613ccf565b946020939093013593505050565b600060208284031215613d2557600080fd5b8135610ef481613ccf565b600080600060608486031215613d4557600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215613d7157600080fd5b8335613d7c81613ccf565b92506020840135613d8c81613ccf565b929592945050506040919091013590565b8015158114613ce457600080fd5b60008060408385031215613dbe57600080fd5b823591506020830135613dd081613d9d565b809150509250929050565b60008060408385031215613dee57600080fd5b8235613df981613ccf565b91506020830135613dd081613d9d565b60008060408385031215613e1c57600080fd5b8235613e2781613ccf565b91506020830135613dd081613ccf565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613e7657613e76613e37565b604052919050565b600067ffffffffffffffff821115613e9857613e98613e37565b5060051b60200190565b600082601f830112613eb357600080fd5b81356020613ec8613ec383613e7e565b613e4d565b82815260059290921b84018101918181019086841115613ee757600080fd5b8286015b84811015613f025780358352918301918301613eeb565b509695505050505050565b60008060408385031215613f2057600080fd5b823567ffffffffffffffff80821115613f3857600080fd5b818501915085601f830112613f4c57600080fd5b81356020613f5c613ec383613e7e565b82815260059290921b84018101918181019089841115613f7b57600080fd5b948201945b83861015613fa2578535613f9381613ccf565b82529482019490820190613f80565b96505086013592505080821115613fb857600080fd5b50613fc585828601613ea2565b9150509250929050565b600060208284031215613fe157600080fd5b8135610ef481613d9d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561405157614051614021565b500290565b6000821982111561406957614069614021565b500190565b634e487b7160e01b600052603260045260246000fd5b60008282101561409657614096614021565b500390565b634e487b7160e01b600052603160045260246000fd5b60006000198214156140c5576140c5614021565b5060010190565b6000826140e957634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561410057600080fd5b5051919050565b60006020828403121561411957600080fd5b8151610ef481613d9d565b60006020828403121561413657600080fd5b8151610ef481613ccf565b60008060006060848603121561415657600080fd5b8351925060208401519150604084015190509250925092565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156141bf5784516001600160a01b03168352938301939183019160010161419a565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122021222eb18a9a8b97bdddae958ae3314364d0deee5c5f925a454b5f6d95aa875f64736f6c63430008090033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef