600a805462ffffff60a01b1916600160a01b179055600c805460ff191660011790556000601055601560809081527f4c6567696f6e206f662054686520556e6b6e6f776e000000000000000000000060a052610100604052600460c0908152634c4f545560e01b60e0526003620000778382620008a6565b506004620000868282620008a6565b50505060006200009b620004a060201b60201c565b600580546001600160a01b0319166001600160a01b0383169081179091556040519192509060009060008051602062003a05833981519152908290a350600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b81529051339291829163c45a0155916004808201926020929091908290030181865afa15801562000142573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000168919062000972565b6001600160a01b031663c9c6539630600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f1919062000972565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200023f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000265919062000972565b600780546001600160a01b0319166001600160a01b0392909216918217905562000291906001620004a4565b600754620002aa906001600160a01b0316600162000505565b6b204fce5e3e250261100000006064620002c6826002620009ba565b620002d29190620009da565b6012556064620002e4826002620009ba565b620002f09190620009da565b601355606462000302826002620009ba565b6200030e9190620009da565b60145561271062000321826005620009ba565b6200032d9190620009da565b6008556005601b8190556002601c819055601682905560178190556000601d819055601e556200035d91620009fd565b601a55601754601654620003729190620009fd565b601555600980546001600160a01b03199081167328b0c0476ccfd6ae7e98aea4a390842c0632e03417909155600a80546001600160a01b038616921682179055620003bf90600162000571565b620003cc30600162000571565b620003db61dead600162000571565b600954620003f4906001600160a01b0316600162000571565b6006546200040d906001600160a01b0316600162000571565b600a5462000426906001600160a01b03166001620004a4565b62000433306001620004a4565b6200044261dead6001620004a4565b6009546200045b906001600160a01b03166001620004a4565b60065462000474906001600160a01b03166001620004a4565b6200048030826200061f565b600a5462000497906001600160a01b031662000704565b50505062000a13565b3390565b6001600160a01b03821660008181526020808052604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b6001600160a01b0382166000908152602160205260409020805460ff1916821515179055620005358282620004a4565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b03163314620005c05760405162461bcd60e51b81526020600482018190526024820152600080516020620039e583398151915260448201526064015b60405180910390fd5b6001600160a01b0382166000818152601f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620006775760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620005b7565b80600260008282546200068b9190620009fd565b90915550506001600160a01b03821660009081526020819052604081208054839290620006ba908490620009fd565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b031633146200074f5760405162461bcd60e51b81526020600482018190526024820152600080516020620039e58339815191526044820152606401620005b7565b6001600160a01b038116620007b65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620005b7565b6005546040516001600160a01b0380841692169060008051602062003a0583398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200082c57607f821691505b6020821081036200084d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620008a157600081815260208120601f850160051c810160208610156200087c5750805b601f850160051c820191505b818110156200089d5782815560010162000888565b5050505b505050565b81516001600160401b03811115620008c257620008c262000801565b620008da81620008d3845462000817565b8462000853565b602080601f831160018114620009125760008415620008f95750858301515b600019600386901b1c1916600185901b1785556200089d565b600085815260208120601f198616915b82811015620009435788860151825594840194600190910190840162000922565b5085821015620009625787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200098557600080fd5b81516001600160a01b03811681146200099d57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620009d457620009d4620009a4565b92915050565b600082620009f857634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620009d457620009d4620009a4565b612fc28062000a236000396000f3fe60806040526004361061037a5760003560e01c80638394c168116101d1578063c876d0b911610102578063e884f260116100a0578063f5648a4f1161006f578063f5648a4f14610a03578063f637434214610a18578063f8b45b0514610a2e578063fed20c7814610a4457600080fd5b8063e884f260146109a2578063ee40166e146109b7578063f11a24d3146109cd578063f2fde38b146109e357600080fd5b8063dd62ed3e116100dc578063dd62ed3e1461091a578063e2f4560514610960578063e7dd050b14610976578063e8338a1c1461098c57600080fd5b8063c876d0b9146108ca578063d5fb5b17146108e4578063d85ba0631461090457600080fd5b8063a62068ce1161016f578063b987553911610149578063b987553914610849578063bbc0c74214610869578063beb08ab91461088a578063c0246668146108aa57600080fd5b8063a62068ce146107e3578063a9059cbb146107f9578063b62496f51461081957600080fd5b80638ea5220f116101ab5780638ea5220f1461076e57806395d89b411461078e5780639a7a23d6146107a3578063a457c2d7146107c357600080fd5b80638394c1681461071a57806388e765ff1461073a5780638da5cb5b1461075057600080fd5b80634a62bb65116102ab5780636b0a894c116102495780637571336a116102235780637571336a1461069a5780637e926b4b146106ba57806382aa7c68146106da5780638366e79a146106fa57600080fd5b80636b0a894c146106435780636ddd17131461065957806370a082311461067a57600080fd5b806366ca9b831161028557806366ca9b83146105d557806366d602ae146105f55780636a11afc61461060b5780636a486a8e1461062d57600080fd5b80634a62bb651461057d5780634bf56d681461059e57806358a6d531146105be57600080fd5b80631a8145bb11610318578063313ce567116102f2578063313ce5671461050b578063323401ed14610527578063395093511461053d578063452ed4f11461055d57600080fd5b80631a8145bb146104b557806323b872dd146104cb578063243c20f7146104eb57600080fd5b80630758d924116103545780630758d9241461040f578063095ea7b31461044757806310d5de531461046757806318160ddd1461049657600080fd5b8063017e01921461038657806302dbd8f8146103cb57806306fdde03146103ed57600080fd5b3661038157005b600080fd5b34801561039257600080fd5b506103b66103a1366004612abe565b600d6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156103d757600080fd5b506103eb6103e6366004612ae2565b610a64565b005b3480156103f957600080fd5b50610402610ab2565b6040516103c29190612b04565b34801561041b57600080fd5b5060065461042f906001600160a01b031681565b6040516001600160a01b0390911681526020016103c2565b34801561045357600080fd5b506103b6610462366004612b52565b610b44565b34801561047357600080fd5b506103b6610482366004612abe565b602080526000908152604090205460ff1681565b3480156104a257600080fd5b506002545b6040519081526020016103c2565b3480156104c157600080fd5b506104a760195481565b3480156104d757600080fd5b506103b66104e6366004612b7e565b610b5b565b3480156104f757600080fd5b506103eb610506366004612abe565b610c05565b34801561051757600080fd5b50604051601281526020016103c2565b34801561053357600080fd5b506104a760165481565b34801561054957600080fd5b506103b6610558366004612b52565b610cbc565b34801561056957600080fd5b5060075461042f906001600160a01b031681565b34801561058957600080fd5b50600a546103b690600160a01b900460ff1681565b3480156105aa57600080fd5b506103eb6105b9366004612bbf565b610cf8565b3480156105ca57600080fd5b5060115443106103b6565b3480156105e157600080fd5b506103eb6105f0366004612ae2565b610d33565b34801561060157600080fd5b506104a760135481565b34801561061757600080fd5b50610620610d78565b6040516103c29190612c2f565b34801561063957600080fd5b506104a760155481565b34801561064f57600080fd5b506104a7600f5481565b34801561066557600080fd5b50600a546103b690600160b01b900460ff1681565b34801561068657600080fd5b506104a7610695366004612abe565b610dd9565b3480156106a657600080fd5b506103eb6106b5366004612c50565b610df4565b3480156106c657600080fd5b506103eb6106d5366004612c89565b610ebb565b3480156106e657600080fd5b506103eb6106f5366004612ca6565b610f7d565b34801561070657600080fd5b506103b6610715366004612cbf565b6110b7565b34801561072657600080fd5b506103eb610735366004612ced565b611268565b34801561074657600080fd5b506104a760125481565b34801561075c57600080fd5b506005546001600160a01b031661042f565b34801561077a57600080fd5b50600a5461042f906001600160a01b031681565b34801561079a57600080fd5b506104026112b6565b3480156107af57600080fd5b506103eb6107be366004612c50565b6112c5565b3480156107cf57600080fd5b506103b66107de366004612b52565b6113b9565b3480156107ef57600080fd5b506104a760115481565b34801561080557600080fd5b506103b6610814366004612b52565b611452565b34801561082557600080fd5b506103b6610834366004612abe565b60216020526000908152604090205460ff1681565b34801561085557600080fd5b506103eb610864366004612c89565b61145f565b34801561087557600080fd5b50600a546103b690600160a81b900460ff1681565b34801561089657600080fd5b5060095461042f906001600160a01b031681565b3480156108b657600080fd5b506103eb6108c5366004612c50565b6116bd565b3480156108d657600080fd5b50600c546103b69060ff1681565b3480156108f057600080fd5b5061042f6108ff366004612ca6565b611746565b34801561091057600080fd5b506104a7601a5481565b34801561092657600080fd5b506104a7610935366004612cbf565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561096c57600080fd5b506104a760085481565b34801561098257600080fd5b506104a7601b5481565b34801561099857600080fd5b506104a760185481565b3480156109ae57600080fd5b506103eb611770565b3480156109c357600080fd5b506104a760105481565b3480156109d957600080fd5b506104a7601c5481565b3480156109ef57600080fd5b506103eb6109fe366004612abe565b6117a6565b348015610a0f57600080fd5b506103eb611891565b348015610a2457600080fd5b506104a760175481565b348015610a3a57600080fd5b506104a760145481565b348015610a5057600080fd5b506103eb610a5f366004612abe565b6118fd565b6005546001600160a01b03163314610a975760405162461bcd60e51b8152600401610a8e90612d12565b60405180910390fd5b60168290556017819055610aab8183612d5d565b6015555050565b606060038054610ac190612d70565b80601f0160208091040260200160405190810160405280929190818152602001828054610aed90612d70565b8015610b3a5780601f10610b0f57610100808354040283529160200191610b3a565b820191906000526020600020905b815481529060010190602001808311610b1d57829003601f168201915b5050505050905090565b6000610b513384846119b0565b5060015b92915050565b6000610b68848484611ad4565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610bed5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a8e565b610bfa85338584036119b0565b506001949350505050565b6005546001600160a01b03163314610c2f5760405162461bcd60e51b8152600401610a8e90612d12565b6001600160a01b0381166000908152600d602052604090205460ff1615610c985760405162461bcd60e51b815260206004820152601a60248201527f57616c6c657420697320616c726561647920666c61676765642e0000000000006044820152606401610a8e565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610b51918590610cf3908690612d5d565b6119b0565b6005546001600160a01b03163314610d225760405162461bcd60e51b8152600401610a8e90612d12565b601391909155601291909155601455565b6005546001600160a01b03163314610d5d5760405162461bcd60e51b8152600401610a8e90612d12565b601b829055601c819055610d718183612d5d565b601a555050565b6060600e805480602002602001604051908101604052809291908181526020018280548015610b3a57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610db2575050505050905090565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b03163314610e1e5760405162461bcd60e51b8152600401610a8e90612d12565b80610e91576007546001600160a01b0390811690831603610e915760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b6064820152608401610a8e565b6001600160a01b039190911660009081526020805260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610ee55760405162461bcd60e51b8152600401610a8e90612d12565b80610f325760405162461bcd60e51b815260206004820152601860248201527f506c6561736520636f6e6669726d2072656e6f756e63652100000000000000006044820152606401610a8e565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350600580546001600160a01b0319169055565b6005546001600160a01b03163314610fa75760405162461bcd60e51b8152600401610a8e90612d12565b600a54600160a81b900460ff16156110015760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610a8e565b600a8111156110625760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206d616b652070656e616c747920626c6f636b73206d6f72652060448201526607468616e2031360cc1b6064820152608401610a8e565b600a805461ffff60a81b191661010160a81b179055436010819055611088908290612d5d565b6011556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c790600090a150565b6005546000906001600160a01b031633146110e45760405162461bcd60e51b8152600401610a8e90612d12565b6001600160a01b03831661113a5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610a8e565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a59190612daa565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af11580156111f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121c9190612dc3565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6005546001600160a01b031633146112925760405162461bcd60e51b8152600401610a8e90612d12565b600891909155600a8054911515600160b01b0260ff60b01b19909216919091179055565b606060048054610ac190612d70565b6005546001600160a01b031633146112ef5760405162461bcd60e51b8152600401610a8e90612d12565b6007546001600160a01b03908116908316036113735760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610a8e565b61137d8282612564565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561143b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a8e565b61144833858584036119b0565b5060019392505050565b6000610b51338484611ad4565b6005546001600160a01b031633146114895760405162461bcd60e51b8152600401610a8e90612d12565b806114d65760405162461bcd60e51b815260206004820152601f60248201527f506c6561736520636f6e6669726d20616464696e67206f6620746865204c50006044820152606401610a8e565b600a54600160a81b900460ff16156115445760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401610a8e565b600047116115a05760405162461bcd60e51b815260206004820152602360248201527f4d757374206861766520455448206f6e20636f6e747261637420746f206c61756044820152620dcc6d60eb1b6064820152608401610a8e565b60006115ab30610dd9565b116116075760405162461bcd60e51b815260206004820152602660248201527f4d757374206861766520546f6b656e73206f6e20636f6e747261637420746f206044820152650d8c2eadcc6d60d31b6064820152608401610a8e565b6006546116229030906001600160a01b0316610cf382610dd9565b6006546001600160a01b031663f305d719473061163e81610dd9565b600a546040516001600160e01b031960e087901b16815261167493929160009182916001600160a01b0316904290600401612de0565b60606040518083038185885af1158015611692573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116b79190612e1b565b50505050565b6005546001600160a01b031633146116e75760405162461bcd60e51b8152600401610a8e90612d12565b6001600160a01b0382166000818152601f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b600e818154811061175657600080fd5b6000918252602090912001546001600160a01b0316905081565b6005546001600160a01b0316331461179a5760405162461bcd60e51b8152600401610a8e90612d12565b600c805460ff19169055565b6005546001600160a01b031633146117d05760405162461bcd60e51b8152600401610a8e90612d12565b6001600160a01b0381166118355760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a8e565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146118bb5760405162461bcd60e51b8152600401610a8e90612d12565b604051600090339047908381818185875af1925050503d80600081146116b7576040519150601f19603f3d011682016040523d82523d6000602084013e6116b7565b6005546001600160a01b031633146119275760405162461bcd60e51b8152600401610a8e90612d12565b6001600160a01b0381166000908152600d602052604090205460ff1661198f5760405162461bcd60e51b815260206004820152601e60248201527f57616c6c657420697320616c7265616479206e6f7420666c61676765642e00006044820152606401610a8e565b6001600160a01b03166000908152600d60205260409020805460ff19169055565b6001600160a01b038316611a125760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a8e565b6001600160a01b038216611a735760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a8e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611afa5760405162461bcd60e51b8152600401610a8e90612e49565b6001600160a01b038216611b205760405162461bcd60e51b8152600401610a8e90612e8e565b60008111611b705760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610a8e565b600a54600160a81b900460ff16611c05576001600160a01b0383166000908152601f602052604090205460ff1680611bc057506001600160a01b0382166000908152601f602052604090205460ff165b611c055760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610a8e565b6011544310158015611c205750600a54600160a81b900460ff165b15611cf0576001600160a01b0383166000908152600d602052604090205460ff161580611c5a57506005546001600160a01b038381169116145b80611c6f57506001600160a01b03821661dead145b611cf05760405162461bcd60e51b815260206004820152604660248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e6572206f722064656164206164606482015265323932b9b99760d11b608482015260a401610a8e565b600a54600160a01b900460ff16156120d2576005546001600160a01b03848116911614801590611d2e57506005546001600160a01b03838116911614155b8015611d4557506001600160a01b03821661dead14155b8015611d6a57506001600160a01b0383166000908152601f602052604090205460ff16155b8015611d8f57506001600160a01b0382166000908152601f602052604090205460ff16155b156120d257600c5460ff1615611ea8576006546001600160a01b03838116911614801590611dcb57506007546001600160a01b03838116911614155b15611ea857611ddb600243612ed1565b326000908152600b6020526040902054108015611e195750611dfe600243612ed1565b6001600160a01b0383166000908152600b6020526040902054105b611e835760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b6064820152608401610a8e565b326000908152600b602052604080822043908190556001600160a01b03851683529120555b6001600160a01b03831660009081526021602052604090205460ff168015611ee857506001600160a01b038216600090815260208052604090205460ff16155b15611faf57601254811115611f505760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b6064820152608401610a8e565b601454611f5c83610dd9565b611f669083612d5d565b1115611faa5760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401610a8e565b6120d2565b6001600160a01b03821660009081526021602052604090205460ff168015611fef57506001600160a01b038316600090815260208052604090205460ff16155b1561205957601354811115611faa5760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b6064820152608401610a8e565b6001600160a01b038216600090815260208052604090205460ff166120d25760145461208483610dd9565b61208e9083612d5d565b11156120d25760405162461bcd60e51b815260206004820152601360248201527213585e0815d85b1b195d08115e18d959591959606a1b6044820152606401610a8e565b60006120dd30610dd9565b600854909150811080159081906120fd5750600a54600160b01b900460ff165b80156121135750600754600160a01b900460ff16155b801561213757506001600160a01b03841660009081526021602052604090205460ff165b15612165576007805460ff60a01b1916600160a01b179055612157612592565b6007805460ff60a01b191690555b6001600160a01b0385166000908152601f602052604090205460019060ff16806121a757506001600160a01b0385166000908152601f602052604090205460ff165b156121b0575060005b60008115612550576011544310806121f65750670c7d713b49da00006012546121d99190612ed1565b85101580156121f657504360115460086121f39190612d5d565b10155b801561221a57506001600160a01b03871660009081526021602052604090205460ff165b801561223f57506001600160a01b03861660009081526021602052604090205460ff16155b801561226457506001600160a01b0386166000908152601f602052604090205460ff16155b801561227257506000601a54115b156123f9576011544310612299576001601260008282546122939190612ed1565b90915550505b6001600160a01b0386166000908152600d602052604090205460ff16612379576001600160a01b0386166000908152600d60205260408120805460ff19166001908117909155600f8054919290916122f2908490612d5d565b9091555050600e80546001810182556000919091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0319166001600160a01b0388169081179091556040519081527f55678e47d0a699d3ab99b0184c4ff14f2246ba80522deb921aa0c8823578c44a9060200160405180910390a15b6064612386866063612ee4565b6123909190612efb565b9050601a54601c54826123a39190612ee4565b6123ad9190612efb565b601960008282546123be9190612d5d565b9091555050601a54601b546123d39083612ee4565b6123dd9190612efb565b601860008282546123ee9190612d5d565b909155506125329050565b6001600160a01b03861660009081526021602052604090205460ff16801561242357506000601554115b15612485576064601554866124389190612ee4565b6124429190612efb565b9050601554601754826124559190612ee4565b61245f9190612efb565b601960008282546124709190612d5d565b90915550506015546016546123d39083612ee4565b6001600160a01b03871660009081526021602052604090205460ff1680156124af57506000601a54115b15612532576064601a54866124c49190612ee4565b6124ce9190612efb565b9050601a54601c54826124e19190612ee4565b6124eb9190612efb565b601960008282546124fc9190612d5d565b9091555050601a54601b546125119083612ee4565b61251b9190612efb565b6018600082825461252c9190612d5d565b90915550505b8015612543576125438730836126f4565b61254d8186612ed1565b94505b61255b8787876126f4565b50505050505050565b6001600160a01b0382166000908152602160205260409020805460ff191682151517905561137d8282612849565b600061259d30610dd9565b905060006018546019546125b19190612d5d565b90508115806125be575080155b156125c7575050565b6008546125d590600a612ee4565b8211156125ed576008546125ea90600a612ee4565b91505b600080600283601954866126019190612ee4565b61260b9190612efb565b6126159190612efb565b90506126296126248286612ed1565b6128aa565b6019544790819060009061263f90600290612efb565b6126499087612ed1565b6018546126569085612ee4565b6126609190612efb565b905061266c8183612ed1565b60006019819055601855915083158015906126875750600082115b15612696576126968483612a04565b6009546040516001600160a01b03909116904790600081818185875af1925050503d80600081146126e3576040519150601f19603f3d011682016040523d82523d6000602084013e6126e8565b606091505b50505050505050505050565b6001600160a01b03831661271a5760405162461bcd60e51b8152600401610a8e90612e49565b6001600160a01b0382166127405760405162461bcd60e51b8152600401610a8e90612e8e565b6001600160a01b038316600090815260208190526040902054818110156127b85760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a8e565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906127ef908490612d5d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161283b91815260200190565b60405180910390a350505050565b6001600160a01b03821660008181526020808052604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106128df576128df612f1d565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295c9190612f33565b8160018151811061296f5761296f612f1d565b6001600160a01b03928316602091820292909201015260065461299591309116846119b0565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906129ce908590600090869030904290600401612f50565b600060405180830381600087803b1580156129e857600080fd5b505af11580156129fc573d6000803e3d6000fd5b505050505050565b600654612a1c9030906001600160a01b0316846119b0565b600654600a5460405163f305d71960e01b81526001600160a01b039283169263f305d719928592612a5c9230928992600092839216904290600401612de0565b60606040518083038185885af1158015612a7a573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612a9f9190612e1b565b5050505050565b6001600160a01b0381168114612abb57600080fd5b50565b600060208284031215612ad057600080fd5b8135612adb81612aa6565b9392505050565b60008060408385031215612af557600080fd5b50508035926020909101359150565b600060208083528351808285015260005b81811015612b3157858101830151858201604001528201612b15565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215612b6557600080fd5b8235612b7081612aa6565b946020939093013593505050565b600080600060608486031215612b9357600080fd5b8335612b9e81612aa6565b92506020840135612bae81612aa6565b929592945050506040919091013590565b600080600060608486031215612bd457600080fd5b505081359360208301359350604090920135919050565b600081518084526020808501945080840160005b83811015612c245781516001600160a01b031687529582019590820190600101612bff565b509495945050505050565b602081526000612adb6020830184612beb565b8015158114612abb57600080fd5b60008060408385031215612c6357600080fd5b8235612c6e81612aa6565b91506020830135612c7e81612c42565b809150509250929050565b600060208284031215612c9b57600080fd5b8135612adb81612c42565b600060208284031215612cb857600080fd5b5035919050565b60008060408385031215612cd257600080fd5b8235612cdd81612aa6565b91506020830135612c7e81612aa6565b60008060408385031215612d0057600080fd5b823591506020830135612c7e81612c42565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610b5557610b55612d47565b600181811c90821680612d8457607f821691505b602082108103612da457634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612dbc57600080fd5b5051919050565b600060208284031215612dd557600080fd5b8151612adb81612c42565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215612e3057600080fd5b8351925060208401519150604084015190509250925092565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610b5557610b55612d47565b8082028115828204841417610b5557610b55612d47565b600082612f1857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612f4557600080fd5b8151612adb81612aa6565b85815284602082015260a060408201526000612f6f60a0830186612beb565b6001600160a01b039490941660608301525060800152939250505056fea26469706673582212200b84b8016ce5337943aec61ce55bf001474c907dccf7c92aee8d3ad19814641b64736f6c634300081100334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0