0x6080604052600436106101f25760003560e01c806370a082311161010d578063a8a69b9d116100a0578063c02466681161006f578063c024666814610599578063d82e8c06146105b9578063dd62ed3e146105ce578063f2fde38b14610614578063f9d0831a1461063457600080fd5b8063a8a69b9d1461050a578063a9059cbb14610543578063aa4bde2814610563578063bb85c6d11461057957600080fd5b80638da5cb5b116100dc5780638da5cb5b14610497578063929f1360146104b557806395d89b41146104d5578063a457c2d7146104ea57600080fd5b806370a0823114610417578063715018a61461044d57806375f0a874146104625780638a8c523c1461048257600080fd5b8063313ce567116101855780634ada218b116101545780634ada218b146103945780634fbee193146103b35780635031595f146103ec578063585251a61461040257600080fd5b8063313ce56714610322578063395093511461033e578063470624021461035e57806349bd5a5e1461037457600080fd5b806321a9d82a116101c157806321a9d82a146102b057806323b872dd146102ca57806327a14fc2146102ea5780632b14ca561461030c57600080fd5b806306fdde03146101fe578063095ea7b3146102295780631694505e1461025957806318160ddd1461029157600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610213610654565b604051610220919061170f565b60405180910390f35b34801561023557600080fd5b50610249610244366004611779565b6106e6565b6040519015158152602001610220565b34801561026557600080fd5b50600654610279906001600160a01b031681565b6040516001600160a01b039091168152602001610220565b34801561029d57600080fd5b506002545b604051908152602001610220565b3480156102bc57600080fd5b50600d546102499060ff1681565b3480156102d657600080fd5b506102496102e53660046117a3565b6106fd565b3480156102f657600080fd5b5061030a6103053660046117df565b6107b3565b005b34801561031857600080fd5b506102a2600b5481565b34801561032e57600080fd5b5060405160128152602001610220565b34801561034a57600080fd5b50610249610359366004611779565b61082e565b34801561036a57600080fd5b506102a2600a5481565b34801561038057600080fd5b50600754610279906001600160a01b031681565b3480156103a057600080fd5b50600d5461024990610100900460ff1681565b3480156103bf57600080fd5b506102496103ce3660046117f8565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156103f857600080fd5b506102a2600e5481565b34801561040e57600080fd5b5061030a61086a565b34801561042357600080fd5b506102a26104323660046117f8565b6001600160a01b031660009081526020819052604090205490565b34801561045957600080fd5b5061030a610939565b34801561046e57600080fd5b50600f54610279906001600160a01b031681565b34801561048e57600080fd5b5061030a6109ad565b3480156104a357600080fd5b506005546001600160a01b0316610279565b3480156104c157600080fd5b5061030a6104d0366004611828565b610a44565b3480156104e157600080fd5b50610213610b4a565b3480156104f657600080fd5b50610249610505366004611779565b610b59565b34801561051657600080fd5b506102496105253660046117f8565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561054f57600080fd5b5061024961055e366004611779565b610bf2565b34801561056f57600080fd5b506102a2600c5481565b34801561058557600080fd5b5061030a6105943660046117f8565b610bff565b3480156105a557600080fd5b5061030a6105b4366004611828565b610cb5565b3480156105c557600080fd5b5061030a610dba565b3480156105da57600080fd5b506102a26105e936600461185f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561062057600080fd5b5061030a61062f3660046117f8565b610e7d565b34801561064057600080fd5b5061030a61064f3660046117f8565b610f68565b60606003805461066390611892565b80601f016020809104026020016040519081016040528092919081815260200182805461068f90611892565b80156106dc5780601f106106b1576101008083540402835291602001916106dc565b820191906000526020600020905b8154815290600101906020018083116106bf57829003601f168201915b5050505050905090565b60006106f3338484611191565b5060015b92915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461079d57828110156107905760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61079d8533858403611191565b6107a88585856112b5565b506001949350505050565b6005546001600160a01b031633146107dd5760405162461bcd60e51b8152600401610787906118cc565b6107e96012600a6119fb565b6107f39082611a0a565b600c8190556040519081527f21bc0ea3406acb92d4449ab33befb4ae82f873a22f3b6cf0e466b2710beb59429060200160405180910390a150565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106f3918590610865908690611a21565b611191565b6005546001600160a01b031633146108945760405162461bcd60e51b8152600401610787906118cc565b600d5460ff16156108f35760405162461bcd60e51b815260206004820152602360248201527f4d61782057616c6c6574204c696d697420697320616c726561647920656e61626044820152621b195960ea1b6064820152608401610787565b600d805460ff191660019081179091556040519081527f670f884265aba2d05e7c26efbc42f8365effc4cb3fcfcefddba0c0b71a6231f1906020015b60405180910390a1565b6005546001600160a01b031633146109635760405162461bcd60e51b8152600401610787906118cc565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146109d75760405162461bcd60e51b8152600401610787906118cc565b600d54610100900460ff1615610a2f5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c65640000000000006044820152606401610787565b600d805461ff00191661010017905542600e55565b6005546001600160a01b03163314610a6e5760405162461bcd60e51b8152600401610787906118cc565b6001600160a01b03821660009081526009602052604090205481151560ff909116151503610aea5760405162461bcd60e51b8152602060048201526024808201527f4163636f756e7420697320616c72656164792073657420746f207468617420736044820152637461746560e01b6064820152608401610787565b6001600160a01b038216600081815260096020908152604091829020805460ff191685151590811790915591519182527f1d9a11e204b58ad56c619c61600e42167624659d218f0143f1f64956b0daae6c91015b60405180910390a25050565b60606004805461066390611892565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610bdb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610787565b610be83385858403611191565b5060019392505050565b60006106f33384846112b5565b6005546001600160a01b03163314610c295760405162461bcd60e51b8152600401610787906118cc565b6001600160a01b038116610c935760405162461bcd60e51b815260206004820152602b60248201527f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60448201526a65726f206164647265737360a81b6064820152608401610787565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610cdf5760405162461bcd60e51b8152600401610787906118cc565b6001600160a01b03821660009081526008602052604090205481151560ff909116151503610d625760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b6064820152608401610787565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610b3e565b6005546001600160a01b03163314610de45760405162461bcd60e51b8152600401610787906118cc565b600d5460ff16610e425760405162461bcd60e51b8152602060048201526024808201527f4d61782057616c6c6574204c696d697420697320616c72656164792064697361604482015263189b195960e21b6064820152608401610787565b600d805460ff19169055604051600081527f670f884265aba2d05e7c26efbc42f8365effc4cb3fcfcefddba0c0b71a6231f19060200161092f565b6005546001600160a01b03163314610ea75760405162461bcd60e51b8152600401610787906118cc565b6001600160a01b038116610f0c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610787565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610f925760405162461bcd60e51b8152600401610787906118cc565b306001600160a01b038216036110105760405162461bcd60e51b815260206004820152603760248201527f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160448201527f6c616e6365206f6620697473206f776e20746f6b656e730000000000000000006064820152608401610787565b6001600160a01b0381166110a957604051600090339047908381818185875af1925050503d8060008114611060576040519150601f19603f3d011682016040523d82523d6000602084013e611065565b606091505b50509050806110a55760405162461bcd60e51b815260206004820152600c60248201526b10db185a5b4819985a5b195960a21b6044820152606401610787565b5050565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156110f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111169190611a34565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118a9190611a4d565b5050505b50565b6001600160a01b0383166111f35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610787565b6001600160a01b0382166112545760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610787565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112db5760405162461bcd60e51b815260040161078790611a6a565b6001600160a01b0382166113015760405162461bcd60e51b815260040161078790611aaf565b600d54610100900460ff16801561132557506078600e54426113239190611af2565b115b8061134857506001600160a01b03831660009081526008602052604090205460ff165b8061136b57506001600160a01b03821660009081526008602052604090205460ff165b6113b75760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610787565b806000036113d0576113cb838360006115bb565b505050565b6001600160a01b03831660009081526008602052604081205460ff168061140f57506001600160a01b03831660009081526008602052604090205460ff165b1561141c5750600061147c565b6007546001600160a01b039081169085160361143b5750600a5461147c565b6007546001600160a01b0390811690841603611478576101a4600e54426114629190611af2565b1161146f5750601461147c565b50600b5461147c565b5060005b80156114c357600060646114908385611a0a565b61149a9190611b05565b90506114a68184611af2565b600f549093506114c19086906001600160a01b0316836115bb565b505b600d5460ff16156115b4576001600160a01b03841660009081526009602052604090205460ff1615801561151057506001600160a01b03831660009081526009602052604090205460ff16155b801561152a57506007546001600160a01b03848116911614155b156115b4576001600160a01b038316600090815260208190526040902054600c546115558483611a21565b11156115b25760405162461bcd60e51b815260206004820152602660248201527f526563697069656e74206578636565647320746865206d61782077616c6c6574604482015265081b1a5b5a5d60d21b6064820152608401610787565b505b61118a8484845b6001600160a01b0383166115e15760405162461bcd60e51b815260040161078790611a6a565b6001600160a01b0382166116075760405162461bcd60e51b815260040161078790611aaf565b6001600160a01b0383166000908152602081905260409020548181101561167f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610787565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906116b6908490611a21565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161170291815260200190565b60405180910390a361118a565b600060208083528351808285015260005b8181101561173c57858101830151858201604001528201611720565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461177457600080fd5b919050565b6000806040838503121561178c57600080fd5b6117958361175d565b946020939093013593505050565b6000806000606084860312156117b857600080fd5b6117c18461175d565b92506117cf6020850161175d565b9150604084013590509250925092565b6000602082840312156117f157600080fd5b5035919050565b60006020828403121561180a57600080fd5b6118138261175d565b9392505050565b801515811461118e57600080fd5b6000806040838503121561183b57600080fd5b6118448361175d565b915060208301356118548161181a565b809150509250929050565b6000806040838503121561187257600080fd5b61187b8361175d565b91506118896020840161175d565b90509250929050565b600181811c908216806118a657607f821691505b6020821081036118c657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561195257816000190482111561193857611938611901565b8085161561194557918102915b93841c939080029061191c565b509250929050565b600082611969575060016106f7565b81611976575060006106f7565b816001811461198c5760028114611996576119b2565b60019150506106f7565b60ff8411156119a7576119a7611901565b50506001821b6106f7565b5060208310610133831016604e8410600b84101617156119d5575081810a6106f7565b6119df8383611917565b80600019048211156119f3576119f3611901565b029392505050565b600061181360ff84168361195a565b80820281158282048414176106f7576106f7611901565b808201808211156106f7576106f7611901565b600060208284031215611a4657600080fd5b5051919050565b600060208284031215611a5f57600080fd5b81516118138161181a565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156106f7576106f7611901565b600082611b2257634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220d57ae689334d2c330ad37ee88ec86344f91a2b745dc6be1d44834710288bc9b564736f6c63430008120033
0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020016a506570656e67205a68616f60a81b81525060405180604001604052806006815260200165504550454e4760d01b815250816003908162000066919062000804565b50600462000075828262000804565b50505060006200008a6200043860201b60201c565b600580546001600160a01b0319166001600160a01b03831690811790915560405191925090600090600080516020620024ba833981519152908290a350731a0786ce4cb81c533aaa46d98a15ed9d97f8dc24620000e7816200043c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000146573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016c9190620008d0565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e09190620008d0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200022e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002549190620008d0565b600680546001600160a01b038086166001600160a01b031992831681179093556007805491851691909216179055909150620002959030906000196200054e565b6001600a819055600b819055600f80546001600160a01b0319167320f2e01a5e74ffe277de0a47f4adc6bbaea10fb61790553060009081526009602081905260408220805460ff19168417905590620002f66005546001600160a01b031690565b6001600160a01b031681526020808201929092526040016000908120805493151560ff1994851617905561dead815260099091527f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb193075003785805490921660019081179092556008906200036e6005546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905560089092527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd093342998054841660019081179091553083529120805490921617905562000405620003f06005546001600160a01b031690565b6d14bddab3e51a57cff87a5000000062000676565b600d805460ff1916600117905560646200041e60025490565b6200042a919062000902565b600c55506200094d92505050565b3390565b6005546001600160a01b031633146200049c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b038116620005035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000493565b6005546040516001600160a01b03808416921690600080516020620024ba83398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316620005b25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000493565b6001600160a01b038216620006155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000493565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216620006ce5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000493565b8060026000828254620006e2919062000925565b90915550506001600160a01b038216600090815260208190526040812080548392906200071190849062000925565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200078b57607f821691505b602082108103620007ac57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200075b57600081815260208120601f850160051c81016020861015620007db5750805b601f850160051c820191505b81811015620007fc57828155600101620007e7565b505050505050565b81516001600160401b0381111562000820576200082062000760565b620008388162000831845462000776565b84620007b2565b602080601f831160018114620008705760008415620008575750858301515b600019600386901b1c1916600185901b178555620007fc565b600085815260208120601f198616915b82811015620008a15788860151825594840194600190910190840162000880565b5085821015620008c05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620008e357600080fd5b81516001600160a01b0381168114620008fb57600080fd5b9392505050565b6000826200092057634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200094757634e487b7160e01b600052601160045260246000fd5b92915050565b611b5d806200095d6000396000f3fe6080604052600436106101f25760003560e01c806370a082311161010d578063a8a69b9d116100a0578063c02466681161006f578063c024666814610599578063d82e8c06146105b9578063dd62ed3e146105ce578063f2fde38b14610614578063f9d0831a1461063457600080fd5b8063a8a69b9d1461050a578063a9059cbb14610543578063aa4bde2814610563578063bb85c6d11461057957600080fd5b80638da5cb5b116100dc5780638da5cb5b14610497578063929f1360146104b557806395d89b41146104d5578063a457c2d7146104ea57600080fd5b806370a0823114610417578063715018a61461044d57806375f0a874146104625780638a8c523c1461048257600080fd5b8063313ce567116101855780634ada218b116101545780634ada218b146103945780634fbee193146103b35780635031595f146103ec578063585251a61461040257600080fd5b8063313ce56714610322578063395093511461033e578063470624021461035e57806349bd5a5e1461037457600080fd5b806321a9d82a116101c157806321a9d82a146102b057806323b872dd146102ca57806327a14fc2146102ea5780632b14ca561461030c57600080fd5b806306fdde03146101fe578063095ea7b3146102295780631694505e1461025957806318160ddd1461029157600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b50610213610654565b604051610220919061170f565b60405180910390f35b34801561023557600080fd5b50610249610244366004611779565b6106e6565b6040519015158152602001610220565b34801561026557600080fd5b50600654610279906001600160a01b031681565b6040516001600160a01b039091168152602001610220565b34801561029d57600080fd5b506002545b604051908152602001610220565b3480156102bc57600080fd5b50600d546102499060ff1681565b3480156102d657600080fd5b506102496102e53660046117a3565b6106fd565b3480156102f657600080fd5b5061030a6103053660046117df565b6107b3565b005b34801561031857600080fd5b506102a2600b5481565b34801561032e57600080fd5b5060405160128152602001610220565b34801561034a57600080fd5b50610249610359366004611779565b61082e565b34801561036a57600080fd5b506102a2600a5481565b34801561038057600080fd5b50600754610279906001600160a01b031681565b3480156103a057600080fd5b50600d5461024990610100900460ff1681565b3480156103bf57600080fd5b506102496103ce3660046117f8565b6001600160a01b031660009081526008602052604090205460ff1690565b3480156103f857600080fd5b506102a2600e5481565b34801561040e57600080fd5b5061030a61086a565b34801561042357600080fd5b506102a26104323660046117f8565b6001600160a01b031660009081526020819052604090205490565b34801561045957600080fd5b5061030a610939565b34801561046e57600080fd5b50600f54610279906001600160a01b031681565b34801561048e57600080fd5b5061030a6109ad565b3480156104a357600080fd5b506005546001600160a01b0316610279565b3480156104c157600080fd5b5061030a6104d0366004611828565b610a44565b3480156104e157600080fd5b50610213610b4a565b3480156104f657600080fd5b50610249610505366004611779565b610b59565b34801561051657600080fd5b506102496105253660046117f8565b6001600160a01b031660009081526009602052604090205460ff1690565b34801561054f57600080fd5b5061024961055e366004611779565b610bf2565b34801561056f57600080fd5b506102a2600c5481565b34801561058557600080fd5b5061030a6105943660046117f8565b610bff565b3480156105a557600080fd5b5061030a6105b4366004611828565b610cb5565b3480156105c557600080fd5b5061030a610dba565b3480156105da57600080fd5b506102a26105e936600461185f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561062057600080fd5b5061030a61062f3660046117f8565b610e7d565b34801561064057600080fd5b5061030a61064f3660046117f8565b610f68565b60606003805461066390611892565b80601f016020809104026020016040519081016040528092919081815260200182805461068f90611892565b80156106dc5780601f106106b1576101008083540402835291602001916106dc565b820191906000526020600020905b8154815290600101906020018083116106bf57829003601f168201915b5050505050905090565b60006106f3338484611191565b5060015b92915050565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461079d57828110156107905760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61079d8533858403611191565b6107a88585856112b5565b506001949350505050565b6005546001600160a01b031633146107dd5760405162461bcd60e51b8152600401610787906118cc565b6107e96012600a6119fb565b6107f39082611a0a565b600c8190556040519081527f21bc0ea3406acb92d4449ab33befb4ae82f873a22f3b6cf0e466b2710beb59429060200160405180910390a150565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106f3918590610865908690611a21565b611191565b6005546001600160a01b031633146108945760405162461bcd60e51b8152600401610787906118cc565b600d5460ff16156108f35760405162461bcd60e51b815260206004820152602360248201527f4d61782057616c6c6574204c696d697420697320616c726561647920656e61626044820152621b195960ea1b6064820152608401610787565b600d805460ff191660019081179091556040519081527f670f884265aba2d05e7c26efbc42f8365effc4cb3fcfcefddba0c0b71a6231f1906020015b60405180910390a1565b6005546001600160a01b031633146109635760405162461bcd60e51b8152600401610787906118cc565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146109d75760405162461bcd60e51b8152600401610787906118cc565b600d54610100900460ff1615610a2f5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e6720697320616c726561647920656e61626c65640000000000006044820152606401610787565b600d805461ff00191661010017905542600e55565b6005546001600160a01b03163314610a6e5760405162461bcd60e51b8152600401610787906118cc565b6001600160a01b03821660009081526009602052604090205481151560ff909116151503610aea5760405162461bcd60e51b8152602060048201526024808201527f4163636f756e7420697320616c72656164792073657420746f207468617420736044820152637461746560e01b6064820152608401610787565b6001600160a01b038216600081815260096020908152604091829020805460ff191685151590811790915591519182527f1d9a11e204b58ad56c619c61600e42167624659d218f0143f1f64956b0daae6c91015b60405180910390a25050565b60606004805461066390611892565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610bdb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610787565b610be83385858403611191565b5060019392505050565b60006106f33384846112b5565b6005546001600160a01b03163314610c295760405162461bcd60e51b8152600401610787906118cc565b6001600160a01b038116610c935760405162461bcd60e51b815260206004820152602b60248201527f4d61726b6574696e672077616c6c65742063616e6e6f7420626520746865207a60448201526a65726f206164647265737360a81b6064820152608401610787565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610cdf5760405162461bcd60e51b8152600401610787906118cc565b6001600160a01b03821660009081526008602052604090205481151560ff909116151503610d625760405162461bcd60e51b815260206004820152602a60248201527f4163636f756e7420697320616c7265616479207468652076616c7565206f6620604482015269276578636c756465642760b01b6064820152608401610787565b6001600160a01b038216600081815260086020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610b3e565b6005546001600160a01b03163314610de45760405162461bcd60e51b8152600401610787906118cc565b600d5460ff16610e425760405162461bcd60e51b8152602060048201526024808201527f4d61782057616c6c6574204c696d697420697320616c72656164792064697361604482015263189b195960e21b6064820152608401610787565b600d805460ff19169055604051600081527f670f884265aba2d05e7c26efbc42f8365effc4cb3fcfcefddba0c0b71a6231f19060200161092f565b6005546001600160a01b03163314610ea75760405162461bcd60e51b8152600401610787906118cc565b6001600160a01b038116610f0c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610787565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610f925760405162461bcd60e51b8152600401610787906118cc565b306001600160a01b038216036110105760405162461bcd60e51b815260206004820152603760248201527f4f776e65722063616e6e6f7420636c61696d20636f6e7472616374277320626160448201527f6c616e6365206f6620697473206f776e20746f6b656e730000000000000000006064820152608401610787565b6001600160a01b0381166110a957604051600090339047908381818185875af1925050503d8060008114611060576040519150601f19603f3d011682016040523d82523d6000602084013e611065565b606091505b50509050806110a55760405162461bcd60e51b815260206004820152600c60248201526b10db185a5b4819985a5b195960a21b6044820152606401610787565b5050565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156110f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111169190611a34565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0383169063a9059cbb906044016020604051808303816000875af1158015611166573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118a9190611a4d565b5050505b50565b6001600160a01b0383166111f35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610787565b6001600160a01b0382166112545760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610787565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112db5760405162461bcd60e51b815260040161078790611a6a565b6001600160a01b0382166113015760405162461bcd60e51b815260040161078790611aaf565b600d54610100900460ff16801561132557506078600e54426113239190611af2565b115b8061134857506001600160a01b03831660009081526008602052604090205460ff165b8061136b57506001600160a01b03821660009081526008602052604090205460ff165b6113b75760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610787565b806000036113d0576113cb838360006115bb565b505050565b6001600160a01b03831660009081526008602052604081205460ff168061140f57506001600160a01b03831660009081526008602052604090205460ff165b1561141c5750600061147c565b6007546001600160a01b039081169085160361143b5750600a5461147c565b6007546001600160a01b0390811690841603611478576101a4600e54426114629190611af2565b1161146f5750601461147c565b50600b5461147c565b5060005b80156114c357600060646114908385611a0a565b61149a9190611b05565b90506114a68184611af2565b600f549093506114c19086906001600160a01b0316836115bb565b505b600d5460ff16156115b4576001600160a01b03841660009081526009602052604090205460ff1615801561151057506001600160a01b03831660009081526009602052604090205460ff16155b801561152a57506007546001600160a01b03848116911614155b156115b4576001600160a01b038316600090815260208190526040902054600c546115558483611a21565b11156115b25760405162461bcd60e51b815260206004820152602660248201527f526563697069656e74206578636565647320746865206d61782077616c6c6574604482015265081b1a5b5a5d60d21b6064820152608401610787565b505b61118a8484845b6001600160a01b0383166115e15760405162461bcd60e51b815260040161078790611a6a565b6001600160a01b0382166116075760405162461bcd60e51b815260040161078790611aaf565b6001600160a01b0383166000908152602081905260409020548181101561167f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610787565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906116b6908490611a21565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161170291815260200190565b60405180910390a361118a565b600060208083528351808285015260005b8181101561173c57858101830151858201604001528201611720565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461177457600080fd5b919050565b6000806040838503121561178c57600080fd5b6117958361175d565b946020939093013593505050565b6000806000606084860312156117b857600080fd5b6117c18461175d565b92506117cf6020850161175d565b9150604084013590509250925092565b6000602082840312156117f157600080fd5b5035919050565b60006020828403121561180a57600080fd5b6118138261175d565b9392505050565b801515811461118e57600080fd5b6000806040838503121561183b57600080fd5b6118448361175d565b915060208301356118548161181a565b809150509250929050565b6000806040838503121561187257600080fd5b61187b8361175d565b91506118896020840161175d565b90509250929050565b600181811c908216806118a657607f821691505b6020821081036118c657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561195257816000190482111561193857611938611901565b8085161561194557918102915b93841c939080029061191c565b509250929050565b600082611969575060016106f7565b81611976575060006106f7565b816001811461198c5760028114611996576119b2565b60019150506106f7565b60ff8411156119a7576119a7611901565b50506001821b6106f7565b5060208310610133831016604e8410600b84101617156119d5575081810a6106f7565b6119df8383611917565b80600019048211156119f3576119f3611901565b029392505050565b600061181360ff84168361195a565b80820281158282048414176106f7576106f7611901565b808201808211156106f7576106f7611901565b600060208284031215611a4657600080fd5b5051919050565b600060208284031215611a5f57600080fd5b81516118138161181a565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156106f7576106f7611901565b600082611b2257634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220d57ae689334d2c330ad37ee88ec86344f91a2b745dc6be1d44834710288bc9b564736f6c634300081200338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0