60c06040526000600a819055600b55600d805462ffffff19166001908117909155600f805460ff191690911790553480156200003a57600080fd5b5060405180604001604052806006815260200165105cd8d95b9960d21b8152506040518060400160405280600381526020016241534360e81b81525060128260039081620000899190620009be565b506004620000988382620009be565b506005805460ff191660ff929092169190911790555060009050620000ba3390565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600046600103620001375750737a250d5630b4cf539739df2c5dacb4c659f2488d620001f4565b466005036200015c5750737a250d5630b4cf539739df2c5dacb4c659f2488d620001f4565b466038036200018157507310ed43c718714eb63d5aa57b78b54704e256024e620001f4565b4661210503620001a75750736bded42c6da8fbf0d2ba55b2fa120c5e0c8d7891620001f4565b60405162461bcd60e51b815260206004820152601460248201527f436861696e206e6f7420636f6e6669677572656400000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200023f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000265919062000a8a565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000a8a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000329573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034f919062000a8a565b6001600160a01b031660a08190526200036a90600162000545565b60006200037960055460ff1690565b6200038690600a62000bd1565b620003979064174876e80062000be2565b90506103e8620003a982600562000be2565b620003b5919062000bfc565b600755612710620003c882600562000be2565b620003d4919062000bfc565b6008556064620003e682600162000be2565b620003f2919062000bfc565b600955611b5860148190556103e86015819055620004109162000c1f565b601355610fa0601181905561138860128190556200042e9162000c1f565b601055600680546001600160a01b03191633179055620004676200045f60055461010090046001600160a01b031690565b6001620005b1565b62000474306001620005b1565b6200048361dead6001620005b1565b62000490826001620005b1565b620004b4620004ac60055461010090046001600160a01b031690565b600162000662565b620004c130600162000662565b620004ce82600162000662565b620004dd61dead600162000662565b62000500620004f960055461010090046001600160a01b031690565b826200070c565b6200051730608051600019620007f160201b60201c565b6200053d6200053360055461010090046001600160a01b031690565b60805183620007f1565b505062000c35565b6001600160a01b0382166000908152601d60205260409020805460ff191682151517905562000575828262000662565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b03610100909104163314620006025760405162461bcd60e51b8152602060048201819052602482015260008051602062003e518339815191526044820152606401620001eb565b6001600160a01b038216600081815260186020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df791015b60405180910390a25050565b6005546001600160a01b03610100909104163314620006b35760405162461bcd60e51b8152602060048201819052602482015260008051602062003e518339815191526044820152606401620001eb565b6001600160a01b0382166000818152601c6020908152604091829020805460ff191685151590811790915591519182527f575f9d01836c9206322151b9e9ec3f2b77b87e71176933b9b44d2d732f768d95910162000656565b6001600160a01b038216620007645760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620001eb565b806002600082825462000778919062000c1f565b90915550506001600160a01b03821660009081526020819052604081208054839290620007a790849062000c1f565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b038316620008555760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401620001eb565b6001600160a01b038216620008b85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620001eb565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200094457607f821691505b6020821081036200096557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620009b957600081815260208120601f850160051c81016020861015620009945750805b601f850160051c820191505b81811015620009b557828155600101620009a0565b5050505b505050565b81516001600160401b03811115620009da57620009da62000919565b620009f281620009eb84546200092f565b846200096b565b602080601f83116001811462000a2a576000841562000a115750858301515b600019600386901b1c1916600185901b178555620009b5565b600085815260208120601f198616915b8281101562000a5b5788860151825594840194600190910190840162000a3a565b508582101562000a7a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562000a9d57600080fd5b81516001600160a01b038116811462000ab557600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000b1357816000190482111562000af75762000af762000abc565b8085161562000b0557918102915b93841c939080029062000ad7565b509250929050565b60008262000b2c5750600162000bcb565b8162000b3b5750600062000bcb565b816001811462000b54576002811462000b5f5762000b7f565b600191505062000bcb565b60ff84111562000b735762000b7362000abc565b50506001821b62000bcb565b5060208310610133831016604e8410600b841016171562000ba4575081810a62000bcb565b62000bb0838362000ad2565b806000190482111562000bc75762000bc762000abc565b0290505b92915050565b600062000ab560ff84168362000b1b565b808202811582820484141762000bcb5762000bcb62000abc565b60008262000c1a57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000bcb5762000bcb62000abc565b60805160a0516131c562000c8c600039600081816105e30152818161151901528181611e730152818161276d01526127940152600081816103e501528181611e3601528181612887015261294201526131c56000f3fe60806040526004361061037a5760003560e01c806382aa7c68116101d1578063c18bc19511610102578063e2f45605116100a0578063f2fde38b1161006f578063f2fde38b14610a4a578063f8b45b0514610a6a578063fb002c9714610a80578063fd72e22a14610a9657600080fd5b8063e2f45605146109f3578063e884f26014610a09578063ee40166e14610a1e578063efcc1b2f14610a3457600080fd5b8063c8c8ebe4116100dc578063c8c8ebe41461096b578063ccb6135814610981578063d0a3981414610997578063dd62ed3e146109ad57600080fd5b8063c18bc19514610911578063c492f04614610931578063c876d0b91461095157600080fd5b8063a9059cbb1161016f578063b71dc42a11610149578063b71dc42a1461089c578063b9e93700146108bc578063bbc0c742146108d2578063c0246668146108f157600080fd5b8063a9059cbb1461081c578063abb810521461083c578063b62496f51461086c57600080fd5b806395d89b41116101ab57806395d89b41146107b15780639a36f932146107c65780639a7a23d6146107dc578063a457c2d7146107fc57600080fd5b806382aa7c681461074e5780638da5cb5b1461076e578063924de9b71461079157600080fd5b8063313ce567116102ab5780636ddd171311610249578063715018a611610223578063715018a6146106ee5780637506cbd814610703578063751039fc146107195780637571336a1461072e57600080fd5b80636ddd1713146106785780636e0285d81461069857806370a08231146106b857600080fd5b8063452ed4f111610285578063452ed4f1146105d15780634a62bb65146106055780634fbee1931461061f57806366ca9b831461065857600080fd5b8063313ce5671461057a578063327b8e751461059c57806339509351146105b157600080fd5b8063106b5da1116103185780631a8145bb116102f25780631a8145bb1461050e5780631fc851bd1461052457806323b872dd1461053a57806330d5d18d1461055a57600080fd5b8063106b5da1146104a957806310d5de53146104c957806318160ddd146104f957600080fd5b8063095ea7b311610354578063095ea7b31461041f578063099d0d301461044f5780630d128cfe146104735780630f4432e31461049357600080fd5b806302dbd8f81461038657806306fdde03146103a85780630758d924146103d357600080fd5b3661038157005b600080fd5b34801561039257600080fd5b506103a66103a13660046129f2565b610ab6565b005b3480156103b457600080fd5b506103bd610b5d565b6040516103ca9190612a14565b60405180910390f35b3480156103df57600080fd5b506104077f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016103ca565b34801561042b57600080fd5b5061043f61043a366004612a77565b610bef565b60405190151581526020016103ca565b34801561045b57600080fd5b5061046560125481565b6040519081526020016103ca565b34801561047f57600080fd5b506103a661048e366004612b82565b610c06565b34801561049f57600080fd5b50610465600a5481565b3480156104b557600080fd5b506103a66104c4366004612bbf565b610c9e565b3480156104d557600080fd5b5061043f6104e4366004612bd8565b601c6020526000908152604090205460ff1681565b34801561050557600080fd5b50600254610465565b34801561051a57600080fd5b5061046560175481565b34801561053057600080fd5b50610465600c5481565b34801561054657600080fd5b5061043f610555366004612bfc565b610d91565b34801561056657600080fd5b506103a6610575366004612bd8565b610e44565b34801561058657600080fd5b5060055460405160ff90911681526020016103ca565b3480156105a857600080fd5b506103a6610f32565b3480156105bd57600080fd5b5061043f6105cc366004612a77565b611063565b3480156105dd57600080fd5b506104077f000000000000000000000000000000000000000000000000000000000000000081565b34801561061157600080fd5b50600d5461043f9060ff1681565b34801561062b57600080fd5b5061043f61063a366004612bd8565b6001600160a01b031660009081526018602052604090205460ff1690565b34801561066457600080fd5b506103a66106733660046129f2565b61109f565b34801561068457600080fd5b50600d5461043f9062010000900460ff1681565b3480156106a457600080fd5b506103a66106b3366004612c3d565b611139565b3480156106c457600080fd5b506104656106d3366004612bd8565b6001600160a01b031660009081526020819052604090205490565b3480156106fa57600080fd5b506103a661128b565b34801561070f57600080fd5b5061046560115481565b34801561072557600080fd5b5061043f61130b565b34801561073a57600080fd5b506103a6610749366004612d0d565b61135a565b34801561075a57600080fd5b506103a6610769366004612bbf565b6113ea565b34801561077a57600080fd5b5060055461010090046001600160a01b0316610407565b34801561079d57600080fd5b506103a66107ac366004612d42565b61148c565b3480156107bd57600080fd5b506103bd6114d8565b3480156107d257600080fd5b5061046561271081565b3480156107e857600080fd5b506103a66107f7366004612d0d565b6114e7565b34801561080857600080fd5b5061043f610817366004612a77565b6115d6565b34801561082857600080fd5b5061043f610837366004612a77565b61166f565b34801561084857600080fd5b5061043f610857366004612bd8565b601b6020526000908152604090205460ff1681565b34801561087857600080fd5b5061043f610887366004612bd8565b601d6020526000908152604090205460ff1681565b3480156108a857600080fd5b506103a66108b7366004612b82565b61167c565b3480156108c857600080fd5b5061046560135481565b3480156108de57600080fd5b50600d5461043f90610100900460ff1681565b3480156108fd57600080fd5b506103a661090c366004612d0d565b611714565b34801561091d57600080fd5b506103a661092c366004612bbf565b61179c565b34801561093d57600080fd5b506103a661094c366004612d5d565b611881565b34801561095d57600080fd5b50600f5461043f9060ff1681565b34801561097757600080fd5b5061046560075481565b34801561098d57600080fd5b5061046560155481565b3480156109a357600080fd5b5061046560105481565b3480156109b957600080fd5b506104656109c8366004612de1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156109ff57600080fd5b5061046560085481565b348015610a1557600080fd5b5061043f611963565b348015610a2a57600080fd5b50610465600b5481565b348015610a4057600080fd5b5061046560145481565b348015610a5657600080fd5b506103a6610a65366004612bd8565b6119a6565b348015610a7657600080fd5b5061046560095481565b348015610a8c57600080fd5b5061046560165481565b348015610aa257600080fd5b50600654610407906001600160a01b031681565b6005546001600160a01b03610100909104163314610aef5760405162461bcd60e51b8152600401610ae690612e1a565b60405180910390fd5b60118290556012819055610b038183612e65565b60108190556127101015610b595760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b65657020666565732061742031303025206f72206c65737300006044820152606401610ae6565b5050565b606060038054610b6c90612e78565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9890612e78565b8015610be55780601f10610bba57610100808354040283529160200191610be5565b820191906000526020600020905b815481529060010190602001808311610bc857829003601f168201915b5050505050905090565b6000610bfc338484611aa2565b5060015b92915050565b6005546001600160a01b03610100909104163314610c365760405162461bcd60e51b8152600401610ae690612e1a565b60005b8151811015610b59576001601b6000848481518110610c5a57610c5a612eb2565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610c9681612ec8565b915050610c39565b6005546001600160a01b03610100909104163314610cce5760405162461bcd60e51b8152600401610ae690612e1a565b60055460ff16610cdf90600a612fc5565b6103e8610ceb60025490565b610cf6906001612fd4565b610d009190612feb565b610d0a9190612feb565b8111610d705760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e312560881b6064820152608401610ae6565b60055460ff16610d8190600a612fc5565b610d8b9082612fd4565b60075550565b6000610d9e848484611bc6565b6001600160a01b03841660009081526001602090815260408083203384529091529020546000198114610e395782811015610e2c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610ae6565b610e398533858403611aa2565b506001949350505050565b6005546001600160a01b03610100909104163314610e745760405162461bcd60e51b8152600401610ae690612e1a565b6001600160a01b038116610eca5760405162461bcd60e51b815260206004820152601860248201527f6d6179206e6f742073657420746f2030206164647265737300000000000000006044820152606401610ae6565b610ed5816001611714565b6006546040516001600160a01b03918216918316907f086aa05ff00214e2d0c7c02b8a46b2614ad955732e6b43aa8afca69ed1ad76f890600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03610100909104163314610f625760405162461bcd60e51b8152600401610ae690612e1a565b601954610fa45760405162461bcd60e51b815260206004820152601060248201526f4e6f20626f747320746f20626c6f636b60801b6044820152606401610ae6565b60005b60195481101561105457601b600060198381548110610fc857610fc8612eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400190205460ff16611042576001601b60006019848154811061100d5761100d612eb2565b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790555b8061104c81612ec8565b915050610fa7565b50611061601960006129b8565b565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610bfc91859061109a908690612e65565b611aa2565b6005546001600160a01b036101009091041633146110cf5760405162461bcd60e51b8152600401610ae690612e1a565b601482905560158190556110e38183612e65565b60138190556127101015610b595760405162461bcd60e51b815260206004820152601e60248201527f4d757374206b65657020666565732061742031303025206f72206c65737300006044820152606401610ae6565b6005546001600160a01b036101009091041633146111695760405162461bcd60e51b8152600401610ae690612e1a565b80518251146111ba5760405162461bcd60e51b815260206004820152601e60248201527f617272617973206d757374206265207468652073616d65206c656e67746800006044820152606401610ae6565b61025882511061122b5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203630302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610ae6565b60005b8251811015611286576112743384838151811061124d5761124d612eb2565b602002602001015184848151811061126757611267612eb2565b6020026020010151612549565b8061127e81612ec8565b91505061122e565b505050565b6005546001600160a01b036101009091041633146112bb5760405162461bcd60e51b8152600401610ae690612e1a565b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6005546000906001600160a01b0361010090910416331461133e5760405162461bcd60e51b8152600401610ae690612e1a565b50600d805460ff19908116909155600f80549091169055600190565b6005546001600160a01b0361010090910416331461138a5760405162461bcd60e51b8152600401610ae690612e1a565b6001600160a01b0382166000818152601c6020908152604091829020805460ff191685151590811790915591519182527f575f9d01836c9206322151b9e9ec3f2b77b87e71176933b9b44d2d732f768d9591015b60405180910390a25050565b6005546001600160a01b0361010090910416331461141a5760405162461bcd60e51b8152600401610ae690612e1a565b600d54610100900460ff16156114725760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e6700000000000000006044820152606401610ae6565b600d805462ffff0019166201010017905543600b55601a55565b6005546001600160a01b036101009091041633146114bc5760405162461bcd60e51b8152600401610ae690612e1a565b600d8054911515620100000262ff000019909216919091179055565b606060048054610b6c90612e78565b6005546001600160a01b036101009091041633146115175760405162461bcd60e51b8152600401610ae690612e1a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036115cc5760405162461bcd60e51b815260206004820152604560248201527f5468652050616e63616b655377617020706169722063616e6e6f74206265207260448201527f656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b6572606482015264506169727360d81b608482015260a401610ae6565b610b59828261269e565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156116585760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610ae6565b6116653385858403611aa2565b5060019392505050565b6000610bfc338484611bc6565b6005546001600160a01b036101009091041633146116ac5760405162461bcd60e51b8152600401610ae690612e1a565b60005b8151811015610b59576000601b60008484815181106116d0576116d0612eb2565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061170c81612ec8565b9150506116af565b6005546001600160a01b036101009091041633146117445760405162461bcd60e51b8152600401610ae690612e1a565b6001600160a01b038216600081815260186020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df791016113de565b6005546001600160a01b036101009091041633146117cc5760405162461bcd60e51b8152600401610ae690612e1a565b60055460ff166117dd90600a612fc5565b60646117e860025490565b6117f3906001612fd4565b6117fd9190612feb565b6118079190612feb565b81116118605760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015261312560f01b6064820152608401610ae6565b60055460ff1661187190600a612fc5565b61187b9082612fd4565b60095550565b6005546001600160a01b036101009091041633146118b15760405162461bcd60e51b8152600401610ae690612e1a565b60005b828110156119225781601860008686858181106118d3576118d3612eb2565b90506020020160208101906118e89190612bd8565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061191a81612ec8565b9150506118b4565b507f7fdaf542373fa84f4ee8d662c642f44e4c2276a217d7d29e548b6eb29a233b358383836040516119569392919061300d565b60405180910390a1505050565b6005546000906001600160a01b036101009091041633146119965760405162461bcd60e51b8152600401610ae690612e1a565b50600f805460ff19169055600190565b6005546001600160a01b036101009091041633146119d65760405162461bcd60e51b8152600401610ae690612e1a565b6001600160a01b038116611a3b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ae6565b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b038316611b045760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ae6565b6001600160a01b038216611b655760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ae6565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611bec5760405162461bcd60e51b8152600401610ae690613066565b6001600160a01b038216611c125760405162461bcd60e51b8152600401610ae6906130ab565b6001600160a01b0382166000908152601b602052604090205460ff16158015611c5457506001600160a01b0383166000908152601b602052604090205460ff16155b611c8a5760405162461bcd60e51b81526020600482015260076024820152664e6f20626f747360c81b6044820152606401610ae6565b80600003611c9e5761128683836000612549565b600d54610100900460ff16611d38576001600160a01b03831660009081526018602052604090205460ff1680611cec57506001600160a01b03821660009081526018602052604090205460ff165b611d385760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420616374697665207965742e0000000000006044820152606401610ae6565b600d5460ff161561214c576005546001600160a01b038481166101009092041614801590611d7957506005546001600160a01b038381166101009092041614155b8015611d8d57506001600160a01b03821615155b8015611da457506001600160a01b03821661dead14155b8015611dba5750600554600160a81b900460ff16155b1561214c57600f5460ff1615611ed257326000908152600e60205260409020544390611de790600f612e65565b10611e345760405162461bcd60e51b815260206004820152601760248201527f5472616e736665722044656c617920656e61626c65642e0000000000000000006044820152606401610ae6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614158015611ea857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15611ed257326000908152600e602052604080822043908190556001600160a01b03851683529120555b6001600160a01b0383166000908152601d602052604090205460ff168015611f1357506001600160a01b0382166000908152601c602052604090205460ff16155b1561200157600754811115611f885760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610ae6565b6009546001600160a01b038316600090815260208190526040902054611fae9083612e65565b1115611ffc5760405162461bcd60e51b815260206004820152601b60248201527f556e61626c6520746f20657863656564204d61782057616c6c657400000000006044820152606401610ae6565b61214c565b6001600160a01b0382166000908152601d602052604090205460ff16801561204257506001600160a01b0383166000908152601c602052604090205460ff16155b156120b857600754811115611ffc5760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610ae6565b6001600160a01b0382166000908152601c602052604090205460ff1661214c576009546001600160a01b0383166000908152602081905260409020546120fe9083612e65565b111561214c5760405162461bcd60e51b815260206004820152601b60248201527f556e61626c6520746f20657863656564204d61782057616c6c657400000000006044820152606401610ae6565b30600090815260208190526040902054600854811080159081906121785750600d5462010000900460ff165b801561218e5750600554600160a81b900460ff16155b80156121b357506001600160a01b0385166000908152601d602052604090205460ff16155b80156121d857506001600160a01b03851660009081526018602052604090205460ff16155b80156121fd57506001600160a01b03841660009081526018602052604090205460ff16155b1561222b576005805460ff60a81b1916600160a81b17905561221d612708565b6005805460ff60a81b191690555b6005546001600160a01b03861660009081526018602052604090205460ff600160a81b90920482161591168061227957506001600160a01b03851660009081526018602052604090205460ff165b15612282575060005b600081156125355743601a54600b5461229b9190612e65565b101580156122e357506001600160a01b0386166000908152601d602052604090205460ff16806122e357506001600160a01b0387166000908152601d602052604090205460ff165b156123b657612710601354866122f99190612fd4565b6123039190612feb565b9050601354601554826123169190612fd4565b6123209190612feb565b601760008282546123319190612e65565b90915550506013546014546123469083612fd4565b6123509190612feb565b601660008282546123619190612e65565b9091555050601980546001810182556000919091527f944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c96950180546001600160a01b0319166001600160a01b038816179055612517565b6001600160a01b0386166000908152601d602052604090205460ff1680156123e057506000601054115b1561246957612710601054866123f69190612fd4565b6124009190612feb565b9050601054601254826124139190612fd4565b61241d9190612feb565b6017600082825461242e9190612e65565b90915550506010546011546124439083612fd4565b61244d9190612feb565b6016600082825461245e9190612e65565b909155506125179050565b6001600160a01b0387166000908152601d602052604090205460ff16801561249357506000601354115b1561251757612710601354866124a99190612fd4565b6124b39190612feb565b9050601354601554826124c69190612fd4565b6124d09190612feb565b601760008282546124e19190612e65565b90915550506013546014546124f69083612fd4565b6125009190612feb565b601660008282546125119190612e65565b90915550505b801561252857612528873083612549565b61253281866130ee565b94505b612540878787612549565b50505050505050565b6001600160a01b03831661256f5760405162461bcd60e51b8152600401610ae690613066565b6001600160a01b0382166125955760405162461bcd60e51b8152600401610ae6906130ab565b6001600160a01b0383166000908152602081905260409020548181101561260d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610ae6565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612644908490612e65565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161269091815260200190565b60405180910390a350505050565b6001600160a01b0382166000908152601d60205260409020805460ff19168215151790556126cc828261135a565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b306000908152602081905260408120549050600060165460175461272c9190612e65565b9050811580612739575080155b15612742575050565b60175415612822576000816017548461275b9190612fd4565b6127659190612feb565b9050612792307f000000000000000000000000000000000000000000000000000000000000000083612549565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156127ed57600080fd5b505af19250505080156127fe575060015b5061280981846130ee565b92506017548261281991906130ee565b60006017559150505b8115610b5957604080516002808252606082018352610b599285926000929091602083019080368337019050509050308160008151811061286557612865612eb2565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129079190613101565b8160018151811061291a5761291a612eb2565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b81527f000000000000000000000000000000000000000000000000000000000000000083169263791ac947926129829287926000928892911690429060040161311e565b600060405180830381600087803b15801561299c57600080fd5b505af11580156129b0573d6000803e3d6000fd5b505050505050565b50805460008255906000526020600020908101906129d691906129d9565b50565b5b808211156129ee57600081556001016129da565b5090565b60008060408385031215612a0557600080fd5b50508035926020909101359150565b600060208083528351808285015260005b81811015612a4157858101830151858201604001528201612a25565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146129d657600080fd5b60008060408385031215612a8a57600080fd5b8235612a9581612a62565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612ae257612ae2612aa3565b604052919050565b600067ffffffffffffffff821115612b0457612b04612aa3565b5060051b60200190565b600082601f830112612b1f57600080fd5b81356020612b34612b2f83612aea565b612ab9565b82815260059290921b84018101918181019086841115612b5357600080fd5b8286015b84811015612b77578035612b6a81612a62565b8352918301918301612b57565b509695505050505050565b600060208284031215612b9457600080fd5b813567ffffffffffffffff811115612bab57600080fd5b612bb784828501612b0e565b949350505050565b600060208284031215612bd157600080fd5b5035919050565b600060208284031215612bea57600080fd5b8135612bf581612a62565b9392505050565b600080600060608486031215612c1157600080fd5b8335612c1c81612a62565b92506020840135612c2c81612a62565b929592945050506040919091013590565b60008060408385031215612c5057600080fd5b823567ffffffffffffffff80821115612c6857600080fd5b612c7486838701612b0e565b9350602091508185013581811115612c8b57600080fd5b85019050601f81018613612c9e57600080fd5b8035612cac612b2f82612aea565b81815260059190911b82018301908381019088831115612ccb57600080fd5b928401925b82841015612ce957833582529284019290840190612cd0565b80955050505050509250929050565b80358015158114612d0857600080fd5b919050565b60008060408385031215612d2057600080fd5b8235612d2b81612a62565b9150612d3960208401612cf8565b90509250929050565b600060208284031215612d5457600080fd5b612bf582612cf8565b600080600060408486031215612d7257600080fd5b833567ffffffffffffffff80821115612d8a57600080fd5b818601915086601f830112612d9e57600080fd5b813581811115612dad57600080fd5b8760208260051b8501011115612dc257600080fd5b602092830195509350612dd89186019050612cf8565b90509250925092565b60008060408385031215612df457600080fd5b8235612dff81612a62565b91506020830135612e0f81612a62565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c0057610c00612e4f565b600181811c90821680612e8c57607f821691505b602082108103612eac57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b600060018201612eda57612eda612e4f565b5060010190565b600181815b80851115612f1c578160001904821115612f0257612f02612e4f565b80851615612f0f57918102915b93841c9390800290612ee6565b509250929050565b600082612f3357506001610c00565b81612f4057506000610c00565b8160018114612f565760028114612f6057612f7c565b6001915050610c00565b60ff841115612f7157612f71612e4f565b50506001821b610c00565b5060208310610133831016604e8410600b8410161715612f9f575081810a610c00565b612fa98383612ee1565b8060001904821115612fbd57612fbd612e4f565b029392505050565b6000612bf560ff841683612f24565b8082028115828204841417610c0057610c00612e4f565b60008261300857634e487b7160e01b600052601260045260246000fd5b500490565b6040808252810183905260008460608301825b8681101561305057823561303381612a62565b6001600160a01b0316825260209283019290910190600101613020565b5080925050508215156020830152949350505050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610c0057610c00612e4f565b60006020828403121561311357600080fd5b8151612bf581612a62565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561316e5784516001600160a01b031683529383019391830191600101613149565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220684b07e8ffda545123f3b06d1e3312c72a68417786b1688e3a0433825f63be0a64736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572