Contract Address Details

0x1cd2528522A17B6Be63012fB63AE81f3e3e29D97

Token
Mind Music (MND)
Creator
0x175f93–7ce193 at 0x7d21a0–ca8c73
Balance
0 CRO ( )
Tokens
Fetching tokens...
Transactions
68 Transactions
Transfers
2 Transfers
Gas Used
8,118,733
Last Balance Update
13634934

Contract Creation Code

Verify & Publish
0x600f80546001600160a01b03191661dead17905560c0604052600a6080819052694d696e64204d7573696360b01b60a090815262000041916012919062000e9b565b506040805180820190915260038082526213539160ea1b60209092019182526200006e9160139162000e9b565b506014805460ff191660099081179091556200008c90600a62001054565b6200009f906601c6bf5263400062001065565b6015819055620000b2906000196200109d565b620000c090600019620010b4565b60165560006018556018546019556028601a55601a54601b556000601c55601c54601d5562000102601c54601a546200071260201b6200232c1790919060201c565b601e819055601f5560006020556023805461ffff60a81b1916600160a81b179055601454620001369060ff16600a62001054565b62000149906601c6bf5263400062001065565b6024556014546200015f9060ff16600a62001054565b62000172906601c6bf5263400062001065565b602555601454620001889060ff16600a62001054565b62000199906445d964b80062001065565b602655601454620001af9060ff16600a62001054565b620001c2906601c6bf5263400062001065565b6027556000602855602854602955348015620001dd57600080fd5b5060405162005833380380620058338339810160408190526200020091620010e7565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506016543360009081526003602090815260409182902092909255602180546001600160a01b0319166001600160a01b038816908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620002b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d8919062001141565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000326573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034c919062001141565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200039a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c0919062001141565b602380546001600160a01b03199081166001600160a01b0393841617909155602280548216848416179055600e8054821687841617905560108054909116918516919091179055600160076000620004206000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526007909352818320805485166001908117909155600e54909116835290822080549093168117909255600a90620004906000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600a90935281832080548516600190811790915560235482168452828420805486168217905585821684528284208054861682179055600f54909116835290822080549093168117909255600b90620005226000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600b90935281832080548516600190811790915560235482168452828420805486168217905585821684528284208054861682179055600f54909116835290822080549093168117909255600690620005b46000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526006845282812080548616600190811790915560235483168252838220805487168217905586831682528382208054871682179055600f805484168352848320805488168317905560089095527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7805487168217905593549091168152208054909216179055620006733390565b601080546001600160a01b0319166001600160a01b03929092169190911790556200069b3390565b6001600160a01b031660006001600160a01b031660008051602062005813833981519152601554604051620006d291815260200190565b60405180910390a36000620006f8836015546200078260201b6200238b1790919060201c565b9050620007063382620007cc565b50505050505062001259565b60008062000721838562001161565b905083811015620007795760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b90505b92915050565b60006200077983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000a6c60201b60201c565b6001600160a01b0382166200082e5760405162461bcd60e51b815260206004820152602160248201527f42455032303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840162000770565b60008111620008915760405162461bcd60e51b815260206004820152602860248201527f546f6b656e732076616c75652073686f756c642062652067726561746572207460448201526768656e205a65726f60c01b606482015260840162000770565b6200089c8262000aab565b811115620009135760405162461bcd60e51b815260206004820152603660248201527f546f6b656e732076616c75652073686f756c64206265206c657373207468656e60448201527f20657175616c20746f20796f75722062616c616e636500000000000000000000606482015260840162000770565b6000620009386200092362000b0d565b8362000b4060201b620023cd1790919060201c565b6001600160a01b03841660009081526008602052604090205490915060ff1615620009a9576001600160a01b0383166000908152600460209081526040909120546200098f9184906200238b62000782821b17901c565b6001600160a01b0384166000908152600460205260409020555b6001600160a01b038316600090815260036020908152604090912054620009db9183906200238b62000782821b17901c565b6001600160a01b03841660009081526003602090815260409091209190915560155462000a139184906200238b62000782821b17901c565b60158190555062000a35816016546200078260201b6200238b1790919060201c565b60165560405182815230906001600160a01b03851690600080516020620058138339815191529060200160405180910390a3505050565b6000818484111562000a935760405162461bcd60e51b81526004016200077091906200117c565b50600062000aa28486620010b4565b95945050505050565b6001600160a01b03811660009081526008602052604081205460ff161562000ae957506001600160a01b031660009081526004602052604090205490565b6001600160a01b0382166000908152600360205260409020546200077c9062000bca565b6000808062000b1b62000c5e565b9150915062000b39818362000e1e60201b6200244f1790919060201c565b9250505090565b60008260000362000b54575060006200077c565b600062000b62838562001065565b90508262000b718583620011d4565b14620007795760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840162000770565b600060165482111562000c2f5760405162461bcd60e51b815260206004820152602660248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c2062604482015265616c616e636560d01b606482015260840162000770565b600062000c3b62000b0d565b905062000c57818462000e1e60201b6200244f1790919060201c565b9392505050565b6016546015546000918291825b600d5481101562000dde578260036000600d848154811062000c915762000c91620011eb565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118062000d0057508160046000600d848154811062000cd95762000cd9620011eb565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1562000d1757601654601554945094505050509091565b62000d6e60036000600d848154811062000d355762000d35620011eb565b60009182526020808320909101546001600160a01b0316835282810193909352604090910190205485916200238b62000782821b17901c565b925062000dc760046000600d848154811062000d8e5762000d8e620011eb565b60009182526020808320909101546001600160a01b0316835282810193909352604090910190205484916200238b62000782821b17901c565b91508062000dd58162001201565b91505062000c6b565b5062000dfd60155460165462000e1e60201b6200244f1790919060201c565b82101562000e15576016546015549350935050509091565b90939092509050565b60006200077983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000e6860201b60201c565b6000818362000e8c5760405162461bcd60e51b81526004016200077091906200117c565b50600062000aa28486620011d4565b82805462000ea9906200121d565b90600052602060002090601f01602090048101928262000ecd576000855562000f18565b82601f1062000ee857805160ff191683800117855562000f18565b8280016001018555821562000f18579182015b8281111562000f1857825182559160200191906001019062000efb565b5062000f2692915062000f2a565b5090565b5b8082111562000f26576000815560010162000f2b565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000f9857816000190482111562000f7c5762000f7c62000f41565b8085161562000f8a57918102915b93841c939080029062000f5c565b509250929050565b60008262000fb1575060016200077c565b8162000fc0575060006200077c565b816001811462000fd9576002811462000fe45762001004565b60019150506200077c565b60ff84111562000ff85762000ff862000f41565b50506001821b6200077c565b5060208310610133831016604e8410600b841016171562001029575081810a6200077c565b62001035838362000f57565b80600019048211156200104c576200104c62000f41565b029392505050565b60006200077960ff84168362000fa0565b600081600019048311821515161562001082576200108262000f41565b500290565b634e487b7160e01b600052601260045260246000fd5b600082620010af57620010af62001087565b500690565b600082821015620010c957620010c962000f41565b500390565b6001600160a01b0381168114620010e457600080fd5b50565b60008060008060808587031215620010fe57600080fd5b84516200110b81620010ce565b60208601519094506200111e81620010ce565b60408601519093506200113181620010ce565b6060959095015193969295505050565b6000602082840312156200115457600080fd5b81516200077981620010ce565b6000821982111562001177576200117762000f41565b500190565b600060208083528351808285015260005b81811015620011ab578581018301518582016040015282016200118d565b81811115620011be576000604083870101525b50601f01601f1916929092016040019392505050565b600082620011e657620011e662001087565b500490565b634e487b7160e01b600052603260045260246000fd5b60006001820162001216576200121662000f41565b5060010190565b600181811c908216806200123257607f821691505b6020821081036200125357634e487b7160e01b600052602260045260246000fd5b50919050565b6145aa80620012696000396000f3fe6080604052600436106104565760003560e01c806388f820201161023f578063bd3900c011610139578063d1660f99116100b6578063f157ce401161007a578063f157ce4014610d8d578063f2fde38b14610dad578063f560b92e14610dcd578063f59d047c14610ded578063fe575a8714610e0357600080fd5b8063d1660f9914610cd1578063dd46706414610cf1578063dd62ed3e14610d11578063ea2f0b3714610d57578063f011de1c14610d7757600080fd5b8063c49b9a80116100fd578063c49b9a8014610c31578063ca33e64c14610c51578063caac793414610c71578063cad6ebf914610c91578063cea2695814610cb157600080fd5b8063bd3900c014610b9b578063bf32371914610bbb578063c0b0fda214610bdb578063c21ebd0714610bf1578063c3e4f5cb14610c1157600080fd5b8063a457c2d7116101c7578063b4054b441161018b578063b4054b4414610b05578063b6c5232414610b25578063b8c9d25c14610b3a578063ba34770a14610b5a578063bbc0c74214610b7a57600080fd5b8063a457c2d714610a70578063a69df4b514610a90578063a7229fd914610aa5578063a9059cbb14610ac5578063ade1ba0e14610ae557600080fd5b8063906e9dd01161020e578063906e9dd0146109db578063959bd6c2146109fb57806395d89b4114610a1b578063a1bdc39914610a30578063a3c573eb14610a5057600080fd5b806388f82020146109305780638c2a993e146109695780638da5cb5b146109895780638ee88c53146109bb57600080fd5b80634fb77b221161035057806362fb424e116102d857806370a082311161029c57806370a082311461089b578063715018a6146108bb57806374f4f547146108d0578063772558ce146108f05780637f5a22f91461091057600080fd5b806362fb424e1461081a5780636bc87c3a146108305780636bfdf8a0146108465780636d1b229d1461085b5780636de20a091461087b57600080fd5b806354c694aa1161031f57806354c694aa1461077657806357bb27ab146107965780635e35ac70146107cf57806360c6d8ae146107ef5780636125a72c1461080457600080fd5b80634fb77b22146106dd57806352390c02146106fd578063525fa81f1461071d5780635342acb41461073d57600080fd5b80632f119143116103de57806341cb87fc116103a257806341cb87fc14610646578063437823ec14610666578063457c194c1461068657806346469ae7146106a65780634a74bb02146106bc57600080fd5b80632f119143146105a4578063313ce567146105c45780633685d419146105e657806339509351146106065780633bd5d1731461062657600080fd5b80631ff19c84116104255780631ff19c84146104fe57806322976e0d1461051e57806323b872dd1461053457806325a6cc06146105545780632c505e901461057457600080fd5b806306fdde0314610462578063095ea7b31461048d578063180ea605146104bd57806318160ddd146104df57600080fd5b3661045d57005b600080fd5b34801561046e57600080fd5b50610477610e3c565b6040516104849190613ef9565b60405180910390f35b34801561049957600080fd5b506104ad6104a8366004613f63565b610ece565b6040519015158152602001610484565b3480156104c957600080fd5b506104dd6104d8366004613f8f565b610ee5565b005b3480156104eb57600080fd5b506015545b604051908152602001610484565b34801561050a57600080fd5b506104f0610519366004613f8f565b610f3a565b34801561052a57600080fd5b506104f0601a5481565b34801561054057600080fd5b506104ad61054f366004613fa8565b610fba565b34801561056057600080fd5b506104dd61056f366004613f8f565b611023565b34801561058057600080fd5b506104ad61058f366004613fe9565b60066020526000908152604090205460ff1681565b3480156105b057600080fd5b506104dd6105bf366004613fe9565b611068565b3480156105d057600080fd5b5060145460405160ff9091168152602001610484565b3480156105f257600080fd5b506104dd610601366004613fe9565b6110b3565b34801561061257600080fd5b506104ad610621366004613f63565b611151565b34801561063257600080fd5b506104dd610641366004613f8f565b611187565b34801561065257600080fd5b506104dd610661366004613fe9565b611273565b34801561067257600080fd5b506104dd610681366004613fe9565b611430565b34801561069257600080fd5b506104dd6106a1366004613f8f565b61147e565b3480156106b257600080fd5b506104f060245481565b3480156106c857600080fd5b506023546104ad90600160a81b900460ff1681565b3480156106e957600080fd5b506104dd6106f8366004613fe9565b6114c0565b34801561070957600080fd5b506104dd610718366004613fe9565b61150b565b34801561072957600080fd5b506104dd610738366004613fe9565b611614565b34801561074957600080fd5b506104ad610758366004613fe9565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561078257600080fd5b506104dd610791366004613f8f565b611660565b3480156107a257600080fd5b506104ad6107b1366004613fe9565b6001600160a01b03166000908152600a602052604090205460ff1690565b3480156107db57600080fd5b506104dd6107ea366004613fe9565b6116a5565b3480156107fb57600080fd5b506017546104f0565b34801561081057600080fd5b506104f060265481565b34801561082657600080fd5b506104f060285481565b34801561083c57600080fd5b506104f0601c5481565b34801561085257600080fd5b506104dd6116f3565b34801561086757600080fd5b506104dd610876366004613f8f565b61175d565b34801561088757600080fd5b506104dd610896366004613fe9565b61177e565b3480156108a757600080fd5b506104f06108b6366004613fe9565b6117cc565b3480156108c757600080fd5b506104dd61182b565b3480156108dc57600080fd5b506104dd6108eb366004613f63565b61188d565b3480156108fc57600080fd5b506104dd61090b366004614006565b611914565b34801561091c57600080fd5b506104dd61092b366004613fe9565b611a1e565b34801561093c57600080fd5b506104ad61094b366004613fe9565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561097557600080fd5b506104dd610984366004613f63565b611a6a565b34801561099557600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610484565b3480156109c757600080fd5b506104dd6109d6366004613f8f565b611a9e565b3480156109e757600080fd5b506104dd6109f6366004613fe9565b611adb565b348015610a0757600080fd5b506104dd610a16366004614089565b611b27565b348015610a2757600080fd5b50610477611b6f565b348015610a3c57600080fd5b506104dd610a4b366004614006565b611b7e565b348015610a5c57600080fd5b506011546109a3906001600160a01b031681565b348015610a7c57600080fd5b506104ad610a8b366004613f63565b611c85565b348015610a9c57600080fd5b506104dd611cd4565b348015610ab157600080fd5b506104dd610ac0366004613fa8565b611ddd565b348015610ad157600080fd5b506104ad610ae0366004613f63565b611e12565b348015610af157600080fd5b506104dd610b00366004613f8f565b611e1f565b348015610b1157600080fd5b506021546109a3906001600160a01b031681565b348015610b3157600080fd5b506002546104f0565b348015610b4657600080fd5b506023546109a3906001600160a01b031681565b348015610b6657600080fd5b506104f0610b753660046140a6565b611e64565b348015610b8657600080fd5b506023546104ad90600160b01b900460ff1681565b348015610ba757600080fd5b50600f546109a3906001600160a01b031681565b348015610bc757600080fd5b506104dd610bd6366004613fe9565b611ef3565b348015610be757600080fd5b506104f060185481565b348015610bfd57600080fd5b506022546109a3906001600160a01b031681565b348015610c1d57600080fd5b506104dd610c2c366004613f8f565b611f3e565b348015610c3d57600080fd5b506104dd610c4c366004614089565b611f6d565b348015610c5d57600080fd5b506010546109a3906001600160a01b031681565b348015610c7d57600080fd5b50600e546109a3906001600160a01b031681565b348015610c9d57600080fd5b506104dd610cac366004613fe9565b611fef565b348015610cbd57600080fd5b506104dd610ccc366004613f8f565b612064565b348015610cdd57600080fd5b506104dd610cec366004613fa8565b612093565b348015610cfd57600080fd5b506104dd610d0c366004613f8f565b6120ca565b348015610d1d57600080fd5b506104f0610d2c3660046140d6565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b348015610d6357600080fd5b506104dd610d72366004613fe9565b61214f565b348015610d8357600080fd5b506104f060275481565b348015610d9957600080fd5b506104dd610da8366004613fe9565b61219a565b348015610db957600080fd5b506104dd610dc8366004613fe9565b612206565b348015610dd957600080fd5b506104dd610de8366004613fe9565b6122de565b348015610df957600080fd5b506104f060255481565b348015610e0f57600080fd5b506104ad610e1e366004613fe9565b6001600160a01b031660009081526009602052604090205460ff1690565b606060128054610e4b90614104565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7790614104565b8015610ec45780601f10610e9957610100808354040283529160200191610ec4565b820191906000526020600020905b815481529060010190602001808311610ea757829003601f168201915b5050505050905090565b6000610edb338484612491565b5060015b92915050565b6000546001600160a01b03163314610f185760405162461bcd60e51b8152600401610f0f9061413e565b60405180910390fd5b601454610f3490610f2d9060ff16600a61426d565b82906123cd565b60255550565b6000601654821115610f9d5760405162461bcd60e51b815260206004820152602660248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c2062604482015265616c616e636560d01b6064820152608401610f0f565b6000610fa76125b6565b9050610fb3838261244f565b9392505050565b6000610fc78484846125d9565b6110198433611014856040518060600160405280602881526020016144e8602891396001600160a01b038a166000908152600c602090815260408083203384529091529020549190612cde565b612491565b5060019392505050565b6000546001600160a01b0316331461104d5760405162461bcd60e51b8152600401610f0f9061413e565b60145461106290610f2d9060ff16600a61426d565b60275550565b6000546001600160a01b031633146110925760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600b60205260409020805460ff19169055565b6000546001600160a01b031633146110dd5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03811660009081526008602052604090205460ff166111455760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610f0f565b61114e81612d18565b50565b336000818152600c602090815260408083206001600160a01b03871684529091528120549091610edb918590611014908661232c565b3360008181526008602052604090205460ff16156111fc5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610f0f565b600061120783612e38565b5050506001600160a01b0386166000908152600360205260409020549394506112359392508491505061238b565b6001600160a01b03831660009081526003602052604090205560165461125b908261238b565b60165560175461126b908461232c565b601755505050565b6000546001600160a01b0316331461129d5760405162461bcd60e51b8152600401610f0f9061413e565b602180546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905183929163c45a01559160048083019260209291908290030181865afa1580156112f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131c919061427c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138d919061427c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156113da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fe919061427c565b602380546001600160a01b039283166001600160a01b0319918216179091556022805493909216921691909117905550565b6000546001600160a01b0316331461145a5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000546001600160a01b031633146114a85760405162461bcd60e51b8152600401610f0f9061413e565b601a819055601c546114ba908261232c565b601e5550565b6000546001600160a01b031633146114ea5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b031633146115355760405162461bcd60e51b8152600401610f0f9061413e565b6021546001600160a01b03908116908216036115a25760405162461bcd60e51b815260206004820152602660248201527f57652063616e206e6f74206578636c7564652070616e63616b6573776170207260448201526537baba32b91760d11b6064820152608401610f0f565b6001600160a01b03811660009081526008602052604090205460ff161561160b5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610f0f565b61114e81612e93565b6000546001600160a01b0316331461163e5760405162461bcd60e51b8152600401610f0f9061413e565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461168a5760405162461bcd60e51b8152600401610f0f9061413e565b60145461169f90610f2d9060ff16600a61426d565b60245550565b6000546001600160a01b031633146116cf5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600a60205260409020805460ff19166001179055565b6000546001600160a01b0316331461171d5760405162461bcd60e51b8152600401610f0f9061413e565b33471561114e576040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015611759573d6000803e3d6000fd5b5050565b60145461177290610f2d9060ff16600a61426d565b905061114e3382612f53565b6000546001600160a01b031633146117a85760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6001600160a01b03811660009081526008602052604081205460ff161561180957506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610edf90610f3a565b6000546001600160a01b031633146118555760405162461bcd60e51b8152600401610f0f9061413e565b600080546040516001600160a01b0390911690600080516020614510833981519152908390a3600080546001600160a01b0319169055565b6011546001600160a01b031633146118b75760405162461bcd60e51b8152600401610f0f90614299565b8160006118dc826001600160a01b031660009081526008602052604090205460ff1690565b90508015156000036118f1576118f182612e93565b6118fb848461310c565b80151560000361190e5761190e82612d18565b50505050565b6000546001600160a01b0316331461193e5760405162461bcd60e51b8152600401610f0f9061413e565b6103208111156119a95760405162461bcd60e51b815260206004820152603060248201527f43616e206f6e6c7920626c61636b6c697374203830302061646472657373657360448201526f103832b9103a3930b739b0b1ba34b7b760811b6064820152608401610f0f565b60005b81811015611a19576001600960008585858181106119cc576119cc6142ed565b90506020020160208101906119e19190613fe9565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611a1281614303565b90506119ac565b505050565b6000546001600160a01b03163314611a485760405162461bcd60e51b8152600401610f0f9061413e565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6011546001600160a01b03163314611a945760405162461bcd60e51b8152600401610f0f90614299565b6117598282613116565b6000546001600160a01b03163314611ac85760405162461bcd60e51b8152600401610f0f9061413e565b601c819055601a546114ba90829061232c565b6000546001600160a01b03163314611b055760405162461bcd60e51b8152600401610f0f9061413e565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611b515760405162461bcd60e51b8152600401610f0f9061413e565b60238054911515600160b01b0260ff60b01b19909216919091179055565b606060138054610e4b90614104565b6000546001600160a01b03163314611ba85760405162461bcd60e51b8152600401610f0f9061413e565b610320811115611c155760405162461bcd60e51b815260206004820152603260248201527f43616e206f6e6c7920756e626c61636b6c69737420383030206164647265737360448201527132b9903832b9103a3930b739b0b1ba34b7b760711b6064820152608401610f0f565b60005b81811015611a1957600060096000858585818110611c3857611c386142ed565b9050602002016020810190611c4d9190613fe9565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611c7e81614303565b9050611c18565b6000610edb33846110148560405180606001604052806025815260200161455060259139336000908152600c602090815260408083206001600160a01b038d1684529091529020549190612cde565b6001546001600160a01b03163314611d3a5760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610f0f565b6002544211611d8b5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610f0f565b600154600080546040516001600160a01b03938416939091169160008051602061451083398151915291a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b03163314611e075760405162461bcd60e51b8152600401610f0f9061413e565b611a19838383613253565b6000610edb3384846125d9565b6000546001600160a01b03163314611e495760405162461bcd60e51b8152600401610f0f9061413e565b601454611e5e90610f2d9060ff16600a61426d565b60265550565b6000601554831115611eb85760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610f0f565b81611ed8576000611ec884612e38565b50949650610edf95505050505050565b6000611ee384612e38565b50939650610edf95505050505050565b6000546001600160a01b03163314611f1d5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b03163314611f685760405162461bcd60e51b8152600401610f0f9061413e565b602055565b6000546001600160a01b03163314611f975760405162461bcd60e51b8152600401610f0f9061413e565b60238054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990611fe490831515815260200190565b60405180910390a150565b6000546001600160a01b031633146120195760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03811660009081526009602052604090205460ff16151560011461114e576001600160a01b0381166000908152600960205260409020805460ff1916600117905550565b6000546001600160a01b0316331461208e5760405162461bcd60e51b8152600401610f0f9061413e565b601855565b6000546001600160a01b031633146120bd5760405162461bcd60e51b8152600401610f0f9061413e565b611a19838383600061333c565b6000546001600160a01b031633146120f45760405162461bcd60e51b8152600401610f0f9061413e565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055612123814261431c565b600255600080546040516001600160a01b0390911690600080516020614510833981519152908390a350565b6000546001600160a01b031633146121795760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b031633146121c45760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03811660009081526009602052604090205460ff161561114e576001600160a01b03166000908152600960205260409020805460ff19169055565b6000546001600160a01b031633146122305760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b0381166122955760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f0f565b600080546040516001600160a01b038085169392169160008051602061451083398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146123085760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600080612339838561431c565b905083811015610fb35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610f0f565b6000610fb383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612cde565b6000826000036123df57506000610edf565b60006123eb8385614334565b9050826123f88583614353565b14610fb35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610f0f565b6000610fb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506134c5565b6001600160a01b0383166124f35760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610f0f565b6001600160a01b0382166125545760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610f0f565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60008060006125c36134f3565b90925090506125d2828261244f565b9250505090565b6001600160a01b03831661263d5760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610f0f565b6001600160a01b03821661269f5760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610f0f565b600081116127015760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610f0f565b6001600160a01b03821660009081526006602052604090205460ff168061273d575060275481612730846117cc565b61273a919061431c565b11155b6127af5760405162461bcd60e51b815260206004820152603e60248201527f4d617820746f6b656e73206c696d697420666f722074686973206163636f756e60448201527f7420726561636865642e204f7220747279206c6f77657220616d6f756e7400006064820152608401610f0f565b6001600160a01b03831660009081526009602052604090205460ff16156128095760405162461bcd60e51b815260206004820152600e60248201526d165bdd48185c994818985b9b995960921b6044820152606401610f0f565b6001600160a01b03821660009081526009602052604090205460ff16156128725760405162461bcd60e51b815260206004820152601760248201527f54686520726563697069656e742069732062616e6e65640000000000000000006044820152606401610f0f565b6001600160a01b0383166000908152600a602052604090205460ff16806128bf5750602080546001600160a01b038516600090815260059092526040909120546128bc9042614375565b10155b6129275760405162461bcd60e51b815260206004820152603360248201527f506c65617365207761697420666f72207472616e73616374696f6e20636f6f6c6044820152720c8deeedc40e8d2daca40e8de40ccd2dcd2e6d606b1b6064820152608401610f0f565b6001600160a01b0382166000908152600a602052604090205460ff16806129745750602080546001600160a01b038416600090815260059092526040909120546129719042614375565b10155b6129e65760405162461bcd60e51b815260206004820152603e60248201527f506c65617365207761697420666f7220726563657069656e7473207472616e7360448201527f616374696f6e20636f6f6c646f776e2074696d6520746f2066696e69736800006064820152608401610f0f565b602354600160b01b900460ff16612a82576001600160a01b03831660009081526007602052604090205460ff1680612a3657506001600160a01b03821660009081526007602052604090205460ff165b612a825760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401610f0f565b6023546001600160a01b0390811690841603612b1b576001600160a01b0382166000908152600b602052604090205460ff16612b1657602454811115612b165760405162461bcd60e51b815260206004820152602360248201527f42757920616d6f756e74206578636565647320746865206d61785478416d6f75604482015262373a1760e91b6064820152608401610f0f565b612bb4565b6001600160a01b0383166000908152600b602052604090205460ff16158015612b5157506023546001600160a01b038381169116145b15612bb457602554811115612bb45760405162461bcd60e51b8152602060048201526024808201527f53656c6c20616d6f756e74206578636565647320746865206d61785478416d6f6044820152633ab73a1760e11b6064820152608401610f0f565b6001600160a01b0380831660009081526005602052604080822042908190559286168252812091909155612be7306117cc565b60265490915081108015908190612c085750602354600160a01b900460ff16155b8015612c2257506023546001600160a01b03868116911614155b8015612c375750602354600160a81b900460ff165b15612c4a576026549150612c4a82613675565b6001600160a01b03851660009081526007602052604090205460019060ff1680612c8c57506001600160a01b03851660009081526007602052604090205460ff165b15612c95575060005b6023546001600160a01b03878116911614801590612cc157506023546001600160a01b03868116911614155b15612cca575060005b612cd68686868461333c565b505050505050565b60008184841115612d025760405162461bcd60e51b8152600401610f0f9190613ef9565b506000612d0f8486614375565b95945050505050565b60005b600d5481101561175957816001600160a01b0316600d8281548110612d4257612d426142ed565b6000918252602090912001546001600160a01b031603612e2657600d8054612d6c90600190614375565b81548110612d7c57612d7c6142ed565b600091825260209091200154600d80546001600160a01b039092169183908110612da857612da86142ed565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600890925220805460ff19169055600d805480612e0057612e0061438c565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80612e3081614303565b915050612d1b565b6000806000806000806000806000806000612e528c613798565b93509350935093506000806000612e738f878688612e6e6125b6565b6137ed565b919f509d509b509599509397509195509350505050919395979092949650565b6001600160a01b03811660009081526003602052604090205415612eed576001600160a01b038116600090815260036020526040902054612ed390610f3a565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600860205260408120805460ff19166001908117909155600d805491820181559091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319169091179055565b6001600160a01b038216612f795760405162461bcd60e51b8152600401610f0f906143a2565b60008111612f995760405162461bcd60e51b8152600401610f0f906143e3565b612fa2826117cc565b8111156130105760405162461bcd60e51b815260206004820152603660248201527f546f6b656e732076616c75652073686f756c64206265206c657373207468656e60448201527520657175616c20746f20796f75722062616c616e636560501b6064820152608401610f0f565b600061302461301d6125b6565b83906123cd565b6001600160a01b03841660009081526008602052604090205490915060ff1615613085576001600160a01b03831660009081526004602052604090205461306b908361238b565b6001600160a01b0384166000908152600460205260409020555b6001600160a01b0383166000908152600360205260409020546130a8908261238b565b6001600160a01b0384166000908152600360205260409020556015546130ce908361238b565b6015556016546130de908261238b565b60165560405182815230906001600160a01b03851690600080516020614530833981519152906020016125a9565b6117598282612f53565b6001600160a01b03821661316c5760405162461bcd60e51b815260206004820152601f60248201527f42455032303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610f0f565b6000811161318c5760405162461bcd60e51b8152600401610f0f906143e3565b600061319961301d6125b6565b6001600160a01b0384166000908152600460205260409020549091506131bf908361232c565b6001600160a01b0384166000908152600460209081526040808320939093556003905220546131ee908261232c565b6001600160a01b038416600090815260036020526040902055601554613214908361232c565b601555601654613224908261232c565b6016556040518281526001600160a01b03841690600090600080516020614530833981519152906020016125a9565b6000546001600160a01b0316331461327d5760405162461bcd60e51b8152600401610f0f9061413e565b60405163a9059cbb60e01b81526001600160a01b038381166004830152602482018390526000919085169063a9059cbb906044016020604051808303816000875af11580156132d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132f4919061442b565b90508061190e5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b7103a3930b739b332b9103330b4b632b21760511b6044820152606401610f0f565b806133495761334961384f565b6001600160a01b03841660009081526008602052604090205460ff16801561338a57506001600160a01b03831660009081526008602052604090205460ff16155b1561339f5761339a8484846138c2565b61349d565b6001600160a01b03841660009081526008602052604090205460ff161580156133e057506001600160a01b03831660009081526008602052604090205460ff165b156133f05761339a8484846139ed565b6001600160a01b03841660009081526008602052604090205460ff1615801561343257506001600160a01b03831660009081526008602052604090205460ff16155b156134425761339a848484613aac565b6001600160a01b03841660009081526008602052604090205460ff16801561348257506001600160a01b03831660009081526008602052604090205460ff165b156134925761339a848484613b06565b61349d848484613aac565b8061190e5761190e601d54601c55601954601855601b54601a55602954602855601f54601e55565b600081836134e65760405162461bcd60e51b8152600401610f0f9190613ef9565b506000612d0f8486614353565b6016546015546000918291825b600d54811015613645578260036000600d8481548110613522576135226142ed565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061358d57508160046000600d8481548110613566576135666142ed565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156135a357601654601554945094505050509091565b6135e960036000600d84815481106135bd576135bd6142ed565b60009182526020808320909101546001600160a01b03168352820192909252604001902054849061238b565b925061363160046000600d8481548110613605576136056142ed565b60009182526020808320909101546001600160a01b03168352820192909252604001902054839061238b565b91508061363d81614303565b915050613500565b506015546016546136559161244f565b82101561366c576016546015549350935050509091565b90939092509050565b6023805460ff60a01b1916600160a01b179055601a5481904790156136ec5760006136ab601a54856123cd90919063ffffffff16565b90506136c2601e548261244f90919063ffffffff16565b90506136ce848261238b565b600e549093506136e7906001600160a01b031682613b8f565b479150505b601c541561378657600061370183600261244f565b9050600061370f848361238b565b905061371b3083613b8f565b6000613727478561238b565b601054909150613741906001600160a01b03168383613cea565b60408051848152602081018390529081018390527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050505b50506023805460ff60a01b1916905550565b60008060008060006137a986613d95565b905060006137b687613db8565b905060006137c388613dd5565b905060006137dd836137d784818d8961238b565b9061238b565b9993985091965094509092505050565b60008080806137fc89866123cd565b9050600061380a89876123cd565b9050600061381888886123cd565b905060006138268a896123cd565b9050600061383a836137d78481898961238b565b949d949c50929a509298505050505050505050565b601e5415801561385f5750601854155b801561386b5750601c54155b80156138775750601a54155b80156138835750602854155b1561388a57565b601c8054601d5560188054601955601a8054601b5560288054602955601e8054601f5560009384905591839055829055918190559055565b60008060008060008060006138d688612e38565b965096509650965096509650965061391c88600460008d6001600160a01b03166001600160a01b031681526020019081526020016000205461238b90919063ffffffff16565b6001600160a01b038b1660009081526004602090815260408083209390935560039052205461394b908861238b565b6001600160a01b03808c1660009081526003602052604080822093909355908b168152205461397a908761232c565b6001600160a01b038a1660009081526003602052604090205561399d8a83613df2565b6139a681613e71565b886001600160a01b03168a6001600160a01b0316600080516020614530833981519152866040516139d991815260200190565b60405180910390a350505050505050505050565b6000806000806000806000613a0188612e38565b9650965096509650965096509650613a4787600360008d6001600160a01b03166001600160a01b031681526020019081526020016000205461238b90919063ffffffff16565b6001600160a01b03808c16600090815260036020908152604080832094909455918c16815260049091522054613a7d908561232c565b6001600160a01b038a1660009081526004602090815260408083209390935560039052205461397a908761232c565b6000806000806000806000613ac088612e38565b965096509650965096509650965061394b87600360008d6001600160a01b03166001600160a01b031681526020019081526020016000205461238b90919063ffffffff16565b6000806000806000806000613b1a88612e38565b9650965096509650965096509650613b6088600460008d6001600160a01b03166001600160a01b031681526020019081526020016000205461238b90919063ffffffff16565b6001600160a01b038b16600090815260046020908152604080832093909355600390522054613a47908861238b565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110613bc457613bc46142ed565b6001600160a01b03928316602091820292909201810191909152602254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015613c1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c41919061427c565b81600181518110613c5457613c546142ed565b6001600160a01b039283166020918202929092010152602254613c7a9130911684612491565b60225460405163791ac94760e01b81526001600160a01b039091169063791ac94790613cb3908590600090869089904290600401614448565b600060405180830381600087803b158015613ccd57600080fd5b505af1158015613ce1573d6000803e3d6000fd5b50505050505050565b602254613d029030906001600160a01b031684612491565b60225460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201526001600160a01b0385811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015613d70573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612cd691906144b9565b6000610edf6103e8613db2602854856123cd90919063ffffffff16565b9061244f565b6000610edf6103e8613db2601854856123cd90919063ffffffff16565b6000610edf6103e8613db2601e54856123cd90919063ffffffff16565b8015611759576001600160a01b038216613e1e5760405162461bcd60e51b8152600401610f0f906143a2565b601554613e2b908261238b565b601555613e45613e3c61301d6125b6565b6016549061238b565b601655604051818152309033906000805160206145308339815191529060200160405180910390a35050565b6000613e7b6125b6565b90506000613e8983836123cd565b30600090815260036020526040902054909150613ea6908261232c565b3060009081526003602090815260408083209390935560089052205460ff1615611a195730600090815260046020526040902054613ee4908461232c565b30600090815260046020526040902055505050565b600060208083528351808285015260005b81811015613f2657858101830151858201604001528201613f0a565b81811115613f38576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461114e57600080fd5b60008060408385031215613f7657600080fd5b8235613f8181613f4e565b946020939093013593505050565b600060208284031215613fa157600080fd5b5035919050565b600080600060608486031215613fbd57600080fd5b8335613fc881613f4e565b92506020840135613fd881613f4e565b929592945050506040919091013590565b600060208284031215613ffb57600080fd5b8135610fb381613f4e565b6000806020838503121561401957600080fd5b823567ffffffffffffffff8082111561403157600080fd5b818501915085601f83011261404557600080fd5b81358181111561405457600080fd5b8660208260051b850101111561406957600080fd5b60209290920196919550909350505050565b801515811461114e57600080fd5b60006020828403121561409b57600080fd5b8135610fb38161407b565b600080604083850312156140b957600080fd5b8235915060208301356140cb8161407b565b809150509250929050565b600080604083850312156140e957600080fd5b82356140f481613f4e565b915060208301356140cb81613f4e565b600181811c9082168061411857607f821691505b60208210810361413857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156141c45781600019048211156141aa576141aa614173565b808516156141b757918102915b93841c939080029061418e565b509250929050565b6000826141db57506001610edf565b816141e857506000610edf565b81600181146141fe576002811461420857614224565b6001915050610edf565b60ff84111561421957614219614173565b50506001821b610edf565b5060208310610133831016604e8410600b8410161715614247575081810a610edf565b6142518383614189565b806000190482111561426557614265614173565b029392505050565b6000610fb360ff8416836141cc565b60006020828403121561428e57600080fd5b8151610fb381613f4e565b60208082526034908201527f54686973206d6574686f642063616e206265206f6e6c792074726967676572656040820152733210313c90313934b233b29030b2323932b9b99760611b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006001820161431557614315614173565b5060010190565b6000821982111561432f5761432f614173565b500190565b600081600019048311821515161561434e5761434e614173565b500290565b60008261437057634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561438757614387614173565b500390565b634e487b7160e01b600052603160045260246000fd5b60208082526021908201527f42455032303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526028908201527f546f6b656e732076616c75652073686f756c642062652067726561746572207460408201526768656e205a65726f60c01b606082015260800190565b60006020828403121561443d57600080fd5b8151610fb38161407b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156144985784516001600160a01b031683529383019391830191600101614473565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156144ce57600080fd5b835192506020840151915060408401519050925092509256fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f63d7204a8cd8415a58490cf2e235e87658860b4685275224cea1755783c203864736f6c634300080e0033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef000000000000000000000000cd7d16fb918511bf7269ec4f48d61d79fb26f918000000000000000000000000175f936161f1ed35abee5fd7fa9c0961c17ce193000000000000000000000000175f936161f1ed35abee5fd7fa9c0961c17ce19300000000000000000000000000000000000000000000043c33c1937564800000

Deployed ByteCode

0x6080604052600436106104565760003560e01c806388f820201161023f578063bd3900c011610139578063d1660f99116100b6578063f157ce401161007a578063f157ce4014610d8d578063f2fde38b14610dad578063f560b92e14610dcd578063f59d047c14610ded578063fe575a8714610e0357600080fd5b8063d1660f9914610cd1578063dd46706414610cf1578063dd62ed3e14610d11578063ea2f0b3714610d57578063f011de1c14610d7757600080fd5b8063c49b9a80116100fd578063c49b9a8014610c31578063ca33e64c14610c51578063caac793414610c71578063cad6ebf914610c91578063cea2695814610cb157600080fd5b8063bd3900c014610b9b578063bf32371914610bbb578063c0b0fda214610bdb578063c21ebd0714610bf1578063c3e4f5cb14610c1157600080fd5b8063a457c2d7116101c7578063b4054b441161018b578063b4054b4414610b05578063b6c5232414610b25578063b8c9d25c14610b3a578063ba34770a14610b5a578063bbc0c74214610b7a57600080fd5b8063a457c2d714610a70578063a69df4b514610a90578063a7229fd914610aa5578063a9059cbb14610ac5578063ade1ba0e14610ae557600080fd5b8063906e9dd01161020e578063906e9dd0146109db578063959bd6c2146109fb57806395d89b4114610a1b578063a1bdc39914610a30578063a3c573eb14610a5057600080fd5b806388f82020146109305780638c2a993e146109695780638da5cb5b146109895780638ee88c53146109bb57600080fd5b80634fb77b221161035057806362fb424e116102d857806370a082311161029c57806370a082311461089b578063715018a6146108bb57806374f4f547146108d0578063772558ce146108f05780637f5a22f91461091057600080fd5b806362fb424e1461081a5780636bc87c3a146108305780636bfdf8a0146108465780636d1b229d1461085b5780636de20a091461087b57600080fd5b806354c694aa1161031f57806354c694aa1461077657806357bb27ab146107965780635e35ac70146107cf57806360c6d8ae146107ef5780636125a72c1461080457600080fd5b80634fb77b22146106dd57806352390c02146106fd578063525fa81f1461071d5780635342acb41461073d57600080fd5b80632f119143116103de57806341cb87fc116103a257806341cb87fc14610646578063437823ec14610666578063457c194c1461068657806346469ae7146106a65780634a74bb02146106bc57600080fd5b80632f119143146105a4578063313ce567146105c45780633685d419146105e657806339509351146106065780633bd5d1731461062657600080fd5b80631ff19c84116104255780631ff19c84146104fe57806322976e0d1461051e57806323b872dd1461053457806325a6cc06146105545780632c505e901461057457600080fd5b806306fdde0314610462578063095ea7b31461048d578063180ea605146104bd57806318160ddd146104df57600080fd5b3661045d57005b600080fd5b34801561046e57600080fd5b50610477610e3c565b6040516104849190613ef9565b60405180910390f35b34801561049957600080fd5b506104ad6104a8366004613f63565b610ece565b6040519015158152602001610484565b3480156104c957600080fd5b506104dd6104d8366004613f8f565b610ee5565b005b3480156104eb57600080fd5b506015545b604051908152602001610484565b34801561050a57600080fd5b506104f0610519366004613f8f565b610f3a565b34801561052a57600080fd5b506104f0601a5481565b34801561054057600080fd5b506104ad61054f366004613fa8565b610fba565b34801561056057600080fd5b506104dd61056f366004613f8f565b611023565b34801561058057600080fd5b506104ad61058f366004613fe9565b60066020526000908152604090205460ff1681565b3480156105b057600080fd5b506104dd6105bf366004613fe9565b611068565b3480156105d057600080fd5b5060145460405160ff9091168152602001610484565b3480156105f257600080fd5b506104dd610601366004613fe9565b6110b3565b34801561061257600080fd5b506104ad610621366004613f63565b611151565b34801561063257600080fd5b506104dd610641366004613f8f565b611187565b34801561065257600080fd5b506104dd610661366004613fe9565b611273565b34801561067257600080fd5b506104dd610681366004613fe9565b611430565b34801561069257600080fd5b506104dd6106a1366004613f8f565b61147e565b3480156106b257600080fd5b506104f060245481565b3480156106c857600080fd5b506023546104ad90600160a81b900460ff1681565b3480156106e957600080fd5b506104dd6106f8366004613fe9565b6114c0565b34801561070957600080fd5b506104dd610718366004613fe9565b61150b565b34801561072957600080fd5b506104dd610738366004613fe9565b611614565b34801561074957600080fd5b506104ad610758366004613fe9565b6001600160a01b031660009081526007602052604090205460ff1690565b34801561078257600080fd5b506104dd610791366004613f8f565b611660565b3480156107a257600080fd5b506104ad6107b1366004613fe9565b6001600160a01b03166000908152600a602052604090205460ff1690565b3480156107db57600080fd5b506104dd6107ea366004613fe9565b6116a5565b3480156107fb57600080fd5b506017546104f0565b34801561081057600080fd5b506104f060265481565b34801561082657600080fd5b506104f060285481565b34801561083c57600080fd5b506104f0601c5481565b34801561085257600080fd5b506104dd6116f3565b34801561086757600080fd5b506104dd610876366004613f8f565b61175d565b34801561088757600080fd5b506104dd610896366004613fe9565b61177e565b3480156108a757600080fd5b506104f06108b6366004613fe9565b6117cc565b3480156108c757600080fd5b506104dd61182b565b3480156108dc57600080fd5b506104dd6108eb366004613f63565b61188d565b3480156108fc57600080fd5b506104dd61090b366004614006565b611914565b34801561091c57600080fd5b506104dd61092b366004613fe9565b611a1e565b34801561093c57600080fd5b506104ad61094b366004613fe9565b6001600160a01b031660009081526008602052604090205460ff1690565b34801561097557600080fd5b506104dd610984366004613f63565b611a6a565b34801561099557600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610484565b3480156109c757600080fd5b506104dd6109d6366004613f8f565b611a9e565b3480156109e757600080fd5b506104dd6109f6366004613fe9565b611adb565b348015610a0757600080fd5b506104dd610a16366004614089565b611b27565b348015610a2757600080fd5b50610477611b6f565b348015610a3c57600080fd5b506104dd610a4b366004614006565b611b7e565b348015610a5c57600080fd5b506011546109a3906001600160a01b031681565b348015610a7c57600080fd5b506104ad610a8b366004613f63565b611c85565b348015610a9c57600080fd5b506104dd611cd4565b348015610ab157600080fd5b506104dd610ac0366004613fa8565b611ddd565b348015610ad157600080fd5b506104ad610ae0366004613f63565b611e12565b348015610af157600080fd5b506104dd610b00366004613f8f565b611e1f565b348015610b1157600080fd5b506021546109a3906001600160a01b031681565b348015610b3157600080fd5b506002546104f0565b348015610b4657600080fd5b506023546109a3906001600160a01b031681565b348015610b6657600080fd5b506104f0610b753660046140a6565b611e64565b348015610b8657600080fd5b506023546104ad90600160b01b900460ff1681565b348015610ba757600080fd5b50600f546109a3906001600160a01b031681565b348015610bc757600080fd5b506104dd610bd6366004613fe9565b611ef3565b348015610be757600080fd5b506104f060185481565b348015610bfd57600080fd5b506022546109a3906001600160a01b031681565b348015610c1d57600080fd5b506104dd610c2c366004613f8f565b611f3e565b348015610c3d57600080fd5b506104dd610c4c366004614089565b611f6d565b348015610c5d57600080fd5b506010546109a3906001600160a01b031681565b348015610c7d57600080fd5b50600e546109a3906001600160a01b031681565b348015610c9d57600080fd5b506104dd610cac366004613fe9565b611fef565b348015610cbd57600080fd5b506104dd610ccc366004613f8f565b612064565b348015610cdd57600080fd5b506104dd610cec366004613fa8565b612093565b348015610cfd57600080fd5b506104dd610d0c366004613f8f565b6120ca565b348015610d1d57600080fd5b506104f0610d2c3660046140d6565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b348015610d6357600080fd5b506104dd610d72366004613fe9565b61214f565b348015610d8357600080fd5b506104f060275481565b348015610d9957600080fd5b506104dd610da8366004613fe9565b61219a565b348015610db957600080fd5b506104dd610dc8366004613fe9565b612206565b348015610dd957600080fd5b506104dd610de8366004613fe9565b6122de565b348015610df957600080fd5b506104f060255481565b348015610e0f57600080fd5b506104ad610e1e366004613fe9565b6001600160a01b031660009081526009602052604090205460ff1690565b606060128054610e4b90614104565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7790614104565b8015610ec45780601f10610e9957610100808354040283529160200191610ec4565b820191906000526020600020905b815481529060010190602001808311610ea757829003601f168201915b5050505050905090565b6000610edb338484612491565b5060015b92915050565b6000546001600160a01b03163314610f185760405162461bcd60e51b8152600401610f0f9061413e565b60405180910390fd5b601454610f3490610f2d9060ff16600a61426d565b82906123cd565b60255550565b6000601654821115610f9d5760405162461bcd60e51b815260206004820152602660248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c2062604482015265616c616e636560d01b6064820152608401610f0f565b6000610fa76125b6565b9050610fb3838261244f565b9392505050565b6000610fc78484846125d9565b6110198433611014856040518060600160405280602881526020016144e8602891396001600160a01b038a166000908152600c602090815260408083203384529091529020549190612cde565b612491565b5060019392505050565b6000546001600160a01b0316331461104d5760405162461bcd60e51b8152600401610f0f9061413e565b60145461106290610f2d9060ff16600a61426d565b60275550565b6000546001600160a01b031633146110925760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600b60205260409020805460ff19169055565b6000546001600160a01b031633146110dd5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03811660009081526008602052604090205460ff166111455760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610f0f565b61114e81612d18565b50565b336000818152600c602090815260408083206001600160a01b03871684529091528120549091610edb918590611014908661232c565b3360008181526008602052604090205460ff16156111fc5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610f0f565b600061120783612e38565b5050506001600160a01b0386166000908152600360205260409020549394506112359392508491505061238b565b6001600160a01b03831660009081526003602052604090205560165461125b908261238b565b60165560175461126b908461232c565b601755505050565b6000546001600160a01b0316331461129d5760405162461bcd60e51b8152600401610f0f9061413e565b602180546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905183929163c45a01559160048083019260209291908290030181865afa1580156112f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131c919061427c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138d919061427c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156113da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fe919061427c565b602380546001600160a01b039283166001600160a01b0319918216179091556022805493909216921691909117905550565b6000546001600160a01b0316331461145a5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6000546001600160a01b031633146114a85760405162461bcd60e51b8152600401610f0f9061413e565b601a819055601c546114ba908261232c565b601e5550565b6000546001600160a01b031633146114ea5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b031633146115355760405162461bcd60e51b8152600401610f0f9061413e565b6021546001600160a01b03908116908216036115a25760405162461bcd60e51b815260206004820152602660248201527f57652063616e206e6f74206578636c7564652070616e63616b6573776170207260448201526537baba32b91760d11b6064820152608401610f0f565b6001600160a01b03811660009081526008602052604090205460ff161561160b5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610f0f565b61114e81612e93565b6000546001600160a01b0316331461163e5760405162461bcd60e51b8152600401610f0f9061413e565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461168a5760405162461bcd60e51b8152600401610f0f9061413e565b60145461169f90610f2d9060ff16600a61426d565b60245550565b6000546001600160a01b031633146116cf5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600a60205260409020805460ff19166001179055565b6000546001600160a01b0316331461171d5760405162461bcd60e51b8152600401610f0f9061413e565b33471561114e576040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015611759573d6000803e3d6000fd5b5050565b60145461177290610f2d9060ff16600a61426d565b905061114e3382612f53565b6000546001600160a01b031633146117a85760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6001600160a01b03811660009081526008602052604081205460ff161561180957506001600160a01b031660009081526004602052604090205490565b6001600160a01b038216600090815260036020526040902054610edf90610f3a565b6000546001600160a01b031633146118555760405162461bcd60e51b8152600401610f0f9061413e565b600080546040516001600160a01b0390911690600080516020614510833981519152908390a3600080546001600160a01b0319169055565b6011546001600160a01b031633146118b75760405162461bcd60e51b8152600401610f0f90614299565b8160006118dc826001600160a01b031660009081526008602052604090205460ff1690565b90508015156000036118f1576118f182612e93565b6118fb848461310c565b80151560000361190e5761190e82612d18565b50505050565b6000546001600160a01b0316331461193e5760405162461bcd60e51b8152600401610f0f9061413e565b6103208111156119a95760405162461bcd60e51b815260206004820152603060248201527f43616e206f6e6c7920626c61636b6c697374203830302061646472657373657360448201526f103832b9103a3930b739b0b1ba34b7b760811b6064820152608401610f0f565b60005b81811015611a19576001600960008585858181106119cc576119cc6142ed565b90506020020160208101906119e19190613fe9565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611a1281614303565b90506119ac565b505050565b6000546001600160a01b03163314611a485760405162461bcd60e51b8152600401610f0f9061413e565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6011546001600160a01b03163314611a945760405162461bcd60e51b8152600401610f0f90614299565b6117598282613116565b6000546001600160a01b03163314611ac85760405162461bcd60e51b8152600401610f0f9061413e565b601c819055601a546114ba90829061232c565b6000546001600160a01b03163314611b055760405162461bcd60e51b8152600401610f0f9061413e565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314611b515760405162461bcd60e51b8152600401610f0f9061413e565b60238054911515600160b01b0260ff60b01b19909216919091179055565b606060138054610e4b90614104565b6000546001600160a01b03163314611ba85760405162461bcd60e51b8152600401610f0f9061413e565b610320811115611c155760405162461bcd60e51b815260206004820152603260248201527f43616e206f6e6c7920756e626c61636b6c69737420383030206164647265737360448201527132b9903832b9103a3930b739b0b1ba34b7b760711b6064820152608401610f0f565b60005b81811015611a1957600060096000858585818110611c3857611c386142ed565b9050602002016020810190611c4d9190613fe9565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055611c7e81614303565b9050611c18565b6000610edb33846110148560405180606001604052806025815260200161455060259139336000908152600c602090815260408083206001600160a01b038d1684529091529020549190612cde565b6001546001600160a01b03163314611d3a5760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b6064820152608401610f0f565b6002544211611d8b5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c20372064617973006044820152606401610f0f565b600154600080546040516001600160a01b03938416939091169160008051602061451083398151915291a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b03163314611e075760405162461bcd60e51b8152600401610f0f9061413e565b611a19838383613253565b6000610edb3384846125d9565b6000546001600160a01b03163314611e495760405162461bcd60e51b8152600401610f0f9061413e565b601454611e5e90610f2d9060ff16600a61426d565b60265550565b6000601554831115611eb85760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610f0f565b81611ed8576000611ec884612e38565b50949650610edf95505050505050565b6000611ee384612e38565b50939650610edf95505050505050565b6000546001600160a01b03163314611f1d5760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b03163314611f685760405162461bcd60e51b8152600401610f0f9061413e565b602055565b6000546001600160a01b03163314611f975760405162461bcd60e51b8152600401610f0f9061413e565b60238054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15990611fe490831515815260200190565b60405180910390a150565b6000546001600160a01b031633146120195760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03811660009081526009602052604090205460ff16151560011461114e576001600160a01b0381166000908152600960205260409020805460ff1916600117905550565b6000546001600160a01b0316331461208e5760405162461bcd60e51b8152600401610f0f9061413e565b601855565b6000546001600160a01b031633146120bd5760405162461bcd60e51b8152600401610f0f9061413e565b611a19838383600061333c565b6000546001600160a01b031633146120f45760405162461bcd60e51b8152600401610f0f9061413e565b60008054600180546001600160a01b03199081166001600160a01b03841617909155169055612123814261431c565b600255600080546040516001600160a01b0390911690600080516020614510833981519152908390a350565b6000546001600160a01b031633146121795760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6000546001600160a01b031633146121c45760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03811660009081526009602052604090205460ff161561114e576001600160a01b03166000908152600960205260409020805460ff19169055565b6000546001600160a01b031633146122305760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b0381166122955760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f0f565b600080546040516001600160a01b038085169392169160008051602061451083398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146123085760405162461bcd60e51b8152600401610f0f9061413e565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600080612339838561431c565b905083811015610fb35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610f0f565b6000610fb383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612cde565b6000826000036123df57506000610edf565b60006123eb8385614334565b9050826123f88583614353565b14610fb35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610f0f565b6000610fb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506134c5565b6001600160a01b0383166124f35760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610f0f565b6001600160a01b0382166125545760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610f0f565b6001600160a01b038381166000818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60008060006125c36134f3565b90925090506125d2828261244f565b9250505090565b6001600160a01b03831661263d5760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610f0f565b6001600160a01b03821661269f5760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610f0f565b600081116127015760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610f0f565b6001600160a01b03821660009081526006602052604090205460ff168061273d575060275481612730846117cc565b61273a919061431c565b11155b6127af5760405162461bcd60e51b815260206004820152603e60248201527f4d617820746f6b656e73206c696d697420666f722074686973206163636f756e60448201527f7420726561636865642e204f7220747279206c6f77657220616d6f756e7400006064820152608401610f0f565b6001600160a01b03831660009081526009602052604090205460ff16156128095760405162461bcd60e51b815260206004820152600e60248201526d165bdd48185c994818985b9b995960921b6044820152606401610f0f565b6001600160a01b03821660009081526009602052604090205460ff16156128725760405162461bcd60e51b815260206004820152601760248201527f54686520726563697069656e742069732062616e6e65640000000000000000006044820152606401610f0f565b6001600160a01b0383166000908152600a602052604090205460ff16806128bf5750602080546001600160a01b038516600090815260059092526040909120546128bc9042614375565b10155b6129275760405162461bcd60e51b815260206004820152603360248201527f506c65617365207761697420666f72207472616e73616374696f6e20636f6f6c6044820152720c8deeedc40e8d2daca40e8de40ccd2dcd2e6d606b1b6064820152608401610f0f565b6001600160a01b0382166000908152600a602052604090205460ff16806129745750602080546001600160a01b038416600090815260059092526040909120546129719042614375565b10155b6129e65760405162461bcd60e51b815260206004820152603e60248201527f506c65617365207761697420666f7220726563657069656e7473207472616e7360448201527f616374696f6e20636f6f6c646f776e2074696d6520746f2066696e69736800006064820152608401610f0f565b602354600160b01b900460ff16612a82576001600160a01b03831660009081526007602052604090205460ff1680612a3657506001600160a01b03821660009081526007602052604090205460ff165b612a825760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401610f0f565b6023546001600160a01b0390811690841603612b1b576001600160a01b0382166000908152600b602052604090205460ff16612b1657602454811115612b165760405162461bcd60e51b815260206004820152602360248201527f42757920616d6f756e74206578636565647320746865206d61785478416d6f75604482015262373a1760e91b6064820152608401610f0f565b612bb4565b6001600160a01b0383166000908152600b602052604090205460ff16158015612b5157506023546001600160a01b038381169116145b15612bb457602554811115612bb45760405162461bcd60e51b8152602060048201526024808201527f53656c6c20616d6f756e74206578636565647320746865206d61785478416d6f6044820152633ab73a1760e11b6064820152608401610f0f565b6001600160a01b0380831660009081526005602052604080822042908190559286168252812091909155612be7306117cc565b60265490915081108015908190612c085750602354600160a01b900460ff16155b8015612c2257506023546001600160a01b03868116911614155b8015612c375750602354600160a81b900460ff165b15612c4a576026549150612c4a82613675565b6001600160a01b03851660009081526007602052604090205460019060ff1680612c8c57506001600160a01b03851660009081526007602052604090205460ff165b15612c95575060005b6023546001600160a01b03878116911614801590612cc157506023546001600160a01b03868116911614155b15612cca575060005b612cd68686868461333c565b505050505050565b60008184841115612d025760405162461bcd60e51b8152600401610f0f9190613ef9565b506000612d0f8486614375565b95945050505050565b60005b600d5481101561175957816001600160a01b0316600d8281548110612d4257612d426142ed565b6000918252602090912001546001600160a01b031603612e2657600d8054612d6c90600190614375565b81548110612d7c57612d7c6142ed565b600091825260209091200154600d80546001600160a01b039092169183908110612da857612da86142ed565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600890925220805460ff19169055600d805480612e0057612e0061438c565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80612e3081614303565b915050612d1b565b6000806000806000806000806000806000612e528c613798565b93509350935093506000806000612e738f878688612e6e6125b6565b6137ed565b919f509d509b509599509397509195509350505050919395979092949650565b6001600160a01b03811660009081526003602052604090205415612eed576001600160a01b038116600090815260036020526040902054612ed390610f3a565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600860205260408120805460ff19166001908117909155600d805491820181559091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319169091179055565b6001600160a01b038216612f795760405162461bcd60e51b8152600401610f0f906143a2565b60008111612f995760405162461bcd60e51b8152600401610f0f906143e3565b612fa2826117cc565b8111156130105760405162461bcd60e51b815260206004820152603660248201527f546f6b656e732076616c75652073686f756c64206265206c657373207468656e60448201527520657175616c20746f20796f75722062616c616e636560501b6064820152608401610f0f565b600061302461301d6125b6565b83906123cd565b6001600160a01b03841660009081526008602052604090205490915060ff1615613085576001600160a01b03831660009081526004602052604090205461306b908361238b565b6001600160a01b0384166000908152600460205260409020555b6001600160a01b0383166000908152600360205260409020546130a8908261238b565b6001600160a01b0384166000908152600360205260409020556015546130ce908361238b565b6015556016546130de908261238b565b60165560405182815230906001600160a01b03851690600080516020614530833981519152906020016125a9565b6117598282612f53565b6001600160a01b03821661316c5760405162461bcd60e51b815260206004820152601f60248201527f42455032303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610f0f565b6000811161318c5760405162461bcd60e51b8152600401610f0f906143e3565b600061319961301d6125b6565b6001600160a01b0384166000908152600460205260409020549091506131bf908361232c565b6001600160a01b0384166000908152600460209081526040808320939093556003905220546131ee908261232c565b6001600160a01b038416600090815260036020526040902055601554613214908361232c565b601555601654613224908261232c565b6016556040518281526001600160a01b03841690600090600080516020614530833981519152906020016125a9565b6000546001600160a01b0316331461327d5760405162461bcd60e51b8152600401610f0f9061413e565b60405163a9059cbb60e01b81526001600160a01b038381166004830152602482018390526000919085169063a9059cbb906044016020604051808303816000875af11580156132d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132f4919061442b565b90508061190e5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b7103a3930b739b332b9103330b4b632b21760511b6044820152606401610f0f565b806133495761334961384f565b6001600160a01b03841660009081526008602052604090205460ff16801561338a57506001600160a01b03831660009081526008602052604090205460ff16155b1561339f5761339a8484846138c2565b61349d565b6001600160a01b03841660009081526008602052604090205460ff161580156133e057506001600160a01b03831660009081526008602052604090205460ff165b156133f05761339a8484846139ed565b6001600160a01b03841660009081526008602052604090205460ff1615801561343257506001600160a01b03831660009081526008602052604090205460ff16155b156134425761339a848484613aac565b6001600160a01b03841660009081526008602052604090205460ff16801561348257506001600160a01b03831660009081526008602052604090205460ff165b156134925761339a848484613b06565b61349d848484613aac565b8061190e5761190e601d54601c55601954601855601b54601a55602954602855601f54601e55565b600081836134e65760405162461bcd60e51b8152600401610f0f9190613ef9565b506000612d0f8486614353565b6016546015546000918291825b600d54811015613645578260036000600d8481548110613522576135226142ed565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061358d57508160046000600d8481548110613566576135666142ed565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156135a357601654601554945094505050509091565b6135e960036000600d84815481106135bd576135bd6142ed565b60009182526020808320909101546001600160a01b03168352820192909252604001902054849061238b565b925061363160046000600d8481548110613605576136056142ed565b60009182526020808320909101546001600160a01b03168352820192909252604001902054839061238b565b91508061363d81614303565b915050613500565b506015546016546136559161244f565b82101561366c576016546015549350935050509091565b90939092509050565b6023805460ff60a01b1916600160a01b179055601a5481904790156136ec5760006136ab601a54856123cd90919063ffffffff16565b90506136c2601e548261244f90919063ffffffff16565b90506136ce848261238b565b600e549093506136e7906001600160a01b031682613b8f565b479150505b601c541561378657600061370183600261244f565b9050600061370f848361238b565b905061371b3083613b8f565b6000613727478561238b565b601054909150613741906001600160a01b03168383613cea565b60408051848152602081018390529081018390527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050505b50506023805460ff60a01b1916905550565b60008060008060006137a986613d95565b905060006137b687613db8565b905060006137c388613dd5565b905060006137dd836137d784818d8961238b565b9061238b565b9993985091965094509092505050565b60008080806137fc89866123cd565b9050600061380a89876123cd565b9050600061381888886123cd565b905060006138268a896123cd565b9050600061383a836137d78481898961238b565b949d949c50929a509298505050505050505050565b601e5415801561385f5750601854155b801561386b5750601c54155b80156138775750601a54155b80156138835750602854155b1561388a57565b601c8054601d5560188054601955601a8054601b5560288054602955601e8054601f5560009384905591839055829055918190559055565b60008060008060008060006138d688612e38565b965096509650965096509650965061391c88600460008d6001600160a01b03166001600160a01b031681526020019081526020016000205461238b90919063ffffffff16565b6001600160a01b038b1660009081526004602090815260408083209390935560039052205461394b908861238b565b6001600160a01b03808c1660009081526003602052604080822093909355908b168152205461397a908761232c565b6001600160a01b038a1660009081526003602052604090205561399d8a83613df2565b6139a681613e71565b886001600160a01b03168a6001600160a01b0316600080516020614530833981519152866040516139d991815260200190565b60405180910390a350505050505050505050565b6000806000806000806000613a0188612e38565b9650965096509650965096509650613a4787600360008d6001600160a01b03166001600160a01b031681526020019081526020016000205461238b90919063ffffffff16565b6001600160a01b03808c16600090815260036020908152604080832094909455918c16815260049091522054613a7d908561232c565b6001600160a01b038a1660009081526004602090815260408083209390935560039052205461397a908761232c565b6000806000806000806000613ac088612e38565b965096509650965096509650965061394b87600360008d6001600160a01b03166001600160a01b031681526020019081526020016000205461238b90919063ffffffff16565b6000806000806000806000613b1a88612e38565b9650965096509650965096509650613b6088600460008d6001600160a01b03166001600160a01b031681526020019081526020016000205461238b90919063ffffffff16565b6001600160a01b038b16600090815260046020908152604080832093909355600390522054613a47908861238b565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110613bc457613bc46142ed565b6001600160a01b03928316602091820292909201810191909152602254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015613c1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c41919061427c565b81600181518110613c5457613c546142ed565b6001600160a01b039283166020918202929092010152602254613c7a9130911684612491565b60225460405163791ac94760e01b81526001600160a01b039091169063791ac94790613cb3908590600090869089904290600401614448565b600060405180830381600087803b158015613ccd57600080fd5b505af1158015613ce1573d6000803e3d6000fd5b50505050505050565b602254613d029030906001600160a01b031684612491565b60225460405163f305d71960e01b81523060048201526024810184905260006044820181905260648201526001600160a01b0385811660848301524260a48301529091169063f305d71990839060c40160606040518083038185885af1158015613d70573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612cd691906144b9565b6000610edf6103e8613db2602854856123cd90919063ffffffff16565b9061244f565b6000610edf6103e8613db2601854856123cd90919063ffffffff16565b6000610edf6103e8613db2601e54856123cd90919063ffffffff16565b8015611759576001600160a01b038216613e1e5760405162461bcd60e51b8152600401610f0f906143a2565b601554613e2b908261238b565b601555613e45613e3c61301d6125b6565b6016549061238b565b601655604051818152309033906000805160206145308339815191529060200160405180910390a35050565b6000613e7b6125b6565b90506000613e8983836123cd565b30600090815260036020526040902054909150613ea6908261232c565b3060009081526003602090815260408083209390935560089052205460ff1615611a195730600090815260046020526040902054613ee4908461232c565b30600090815260046020526040902055505050565b600060208083528351808285015260005b81811015613f2657858101830151858201604001528201613f0a565b81811115613f38576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461114e57600080fd5b60008060408385031215613f7657600080fd5b8235613f8181613f4e565b946020939093013593505050565b600060208284031215613fa157600080fd5b5035919050565b600080600060608486031215613fbd57600080fd5b8335613fc881613f4e565b92506020840135613fd881613f4e565b929592945050506040919091013590565b600060208284031215613ffb57600080fd5b8135610fb381613f4e565b6000806020838503121561401957600080fd5b823567ffffffffffffffff8082111561403157600080fd5b818501915085601f83011261404557600080fd5b81358181111561405457600080fd5b8660208260051b850101111561406957600080fd5b60209290920196919550909350505050565b801515811461114e57600080fd5b60006020828403121561409b57600080fd5b8135610fb38161407b565b600080604083850312156140b957600080fd5b8235915060208301356140cb8161407b565b809150509250929050565b600080604083850312156140e957600080fd5b82356140f481613f4e565b915060208301356140cb81613f4e565b600181811c9082168061411857607f821691505b60208210810361413857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156141c45781600019048211156141aa576141aa614173565b808516156141b757918102915b93841c939080029061418e565b509250929050565b6000826141db57506001610edf565b816141e857506000610edf565b81600181146141fe576002811461420857614224565b6001915050610edf565b60ff84111561421957614219614173565b50506001821b610edf565b5060208310610133831016604e8410600b8410161715614247575081810a610edf565b6142518383614189565b806000190482111561426557614265614173565b029392505050565b6000610fb360ff8416836141cc565b60006020828403121561428e57600080fd5b8151610fb381613f4e565b60208082526034908201527f54686973206d6574686f642063616e206265206f6e6c792074726967676572656040820152733210313c90313934b233b29030b2323932b9b99760611b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006001820161431557614315614173565b5060010190565b6000821982111561432f5761432f614173565b500190565b600081600019048311821515161561434e5761434e614173565b500290565b60008261437057634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561438757614387614173565b500390565b634e487b7160e01b600052603160045260246000fd5b60208082526021908201527f42455032303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526028908201527f546f6b656e732076616c75652073686f756c642062652067726561746572207460408201526768656e205a65726f60c01b606082015260800190565b60006020828403121561443d57600080fd5b8151610fb38161407b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156144985784516001600160a01b031683529383019391830191600101614473565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156144ce57600080fd5b835192506020840151915060408401519050925092509256fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63658be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f63d7204a8cd8415a58490cf2e235e87658860b4685275224cea1755783c203864736f6c634300080e0033