60c06040526000600955600a805462ffffff19166001908117909155600c805460ff191690911790553480156200003557600080fd5b506040518060400160405280600b81526020016a52616d6164616e20496e7560a81b815250604051806040016040528060078152602001662920a6a0a220a760c91b815250601282600390816200008d919062000a53565b5060046200009c838262000a53565b506005805460ff191660ff929092169190911790555060009050620000be3390565b60058054610100600160a81b0319166101006001600160a01b0384169081029190911790915560405191925090600090600080516020620037a3833981519152908290a350600a80546301000000600160b81b03191676347d25d0f2193710e4b4b9f9d4126438c668bf75000000179055737a250d5630b4cf539739df2c5dacb4c659f2488d60808190526040805163c45a015560e01b81529051339291829163c45a0155916004808201926020929091908290030181865afa1580156200018a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b0919062000b1f565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000226919062000b1f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a919062000b1f565b6001600160a01b031660a0819052620002b59060016200042a565b6000620002c460055460ff1690565b620002d190600a62000c66565b620002e190633b9aca0062000c77565b90506103e8620002f382601462000c77565b620002ff919062000c91565b600655620186a06200031382601462000c77565b6200031f919062000c91565b6008556014600d819055600e556200033983600162000580565b6080516200034990600162000580565b6200035630600162000580565b6200036561dead600162000580565b600a546200038590630100000090046001600160a01b0316600162000580565b62000392836001620005e3565b608051620003a2906001620005e3565b620003af306001620005e3565b620003be61dead6001620005e3565b600a54620003de90630100000090046001600160a01b03166001620005e3565b620003ea838262000693565b620003f58362000778565b6200040c306080516000196200088660201b60201c565b6200042133608051836200088660201b60201c565b50505062000cca565b6005546001600160a01b036101009091041633146200047f5760405162461bcd60e51b815260206004820181905260248201526000805160206200378383398151915260448201526064015b60405180910390fd5b60a0516001600160a01b0316826001600160a01b0316141580620004a05750805b620005145760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840162000476565b6001600160a01b0382166000908152601260205260409020805460ff191682151517905562000544828262000580565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6001600160a01b038216600081815260116020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b6005546001600160a01b03610100909104163314620006345760405162461bcd60e51b8152602060048201819052602482015260008051602062003783833981519152604482015260640162000476565b6001600160a01b038216600081815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620006eb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000476565b8060026000828254620006ff919062000cb4565b90915550506001600160a01b038216600090815260208190526040812080548392906200072e90849062000cb4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b03610100909104163314620007c95760405162461bcd60e51b8152602060048201819052602482015260008051602062003783833981519152604482015260640162000476565b6001600160a01b038116620008305760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000476565b6005546040516001600160a01b038084169261010090041690600080516020620037a383398151915290600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b038316620008ea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840162000476565b6001600160a01b0382166200094d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000476565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620009d957607f821691505b602082108103620009fa57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000a4e57600081815260208120601f850160051c8101602086101562000a295750805b601f850160051c820191505b8181101562000a4a5782815560010162000a35565b5050505b505050565b81516001600160401b0381111562000a6f5762000a6f620009ae565b62000a878162000a808454620009c4565b8462000a00565b602080601f83116001811462000abf576000841562000aa65750858301515b600019600386901b1c1916600185901b17855562000a4a565b600085815260208120601f198616915b8281101562000af05788860151825594840194600190910190840162000acf565b508582101562000b0f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121562000b3257600080fd5b81516001600160a01b038116811462000b4a57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000ba857816000190482111562000b8c5762000b8c62000b51565b8085161562000b9a57918102915b93841c939080029062000b6c565b509250929050565b60008262000bc15750600162000c60565b8162000bd05750600062000c60565b816001811462000be9576002811462000bf45762000c14565b600191505062000c60565b60ff84111562000c085762000c0862000b51565b50506001821b62000c60565b5060208310610133831016604e8410600b841016171562000c39575081810a62000c60565b62000c45838362000b67565b806000190482111562000c5c5762000c5c62000b51565b0290505b92915050565b600062000b4a60ff84168362000bb0565b808202811582820484141762000c605762000c6062000b51565b60008262000caf57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000c605762000c6062000b51565b60805160a051612a6962000d1a6000396000818161049801528181610ed1015281816111d20152611aac0152600081816102eb01528181611a6f015281816120a5015261215d0152612a696000f3fe60806040526004361061026b5760003560e01c8063751039fc11610144578063b48bf5ae116100b6578063d257b34f1161007a578063d257b34f1461075f578063dd62ed3e1461077f578063e2f45605146107c5578063e884f260146107db578063f2fde38b146107f0578063fc35464e1461081057600080fd5b8063b48bf5ae146106c9578063b62496f5146106df578063bb586e071461070f578063c024666814610725578063c876d0b91461074557600080fd5b80638da5cb5b116101085780638da5cb5b1461060a5780639369a0561461062d57806395d89b41146106545780639a7a23d614610669578063a457c2d714610689578063a9059cbb146106a957600080fd5b8063751039fc146105895780637571336a1461059e578063791d19c3146105be5780638366e79a146105d457806388e765ff146105f457600080fd5b80632be32b61116101dd57806351f205e4116101a157806351f205e4146104d45780635eaf9582146104e957806362cba029146105085780636ddd17131461051e57806370a082311461053e578063715018a61461057457600080fd5b80632be32b6114610424578063313ce567146104445780633950935114610466578063452ed4f1146104865780634a62bb65146104ba57600080fd5b806310d5de531161022f57806310d5de531461035557806318160ddd14610385578063202d3004146103a457806323b872dd146103c457806325ccf568146103e45780632993a8901461040457600080fd5b8063067788c41461027757806306e99fef1461029957806306fdde03146102ae5780630758d924146102d9578063095ea7b31461032557600080fd5b3661027257005b600080fd5b34801561028357600080fd5b50610297610292366004612452565b610825565b005b3480156102a557600080fd5b5061029761087f565b3480156102ba57600080fd5b506102c3610944565b6040516102d0919061249a565b60405180910390f35b3480156102e557600080fd5b5061030d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102d0565b34801561033157600080fd5b506103456103403660046124cd565b6109d6565b60405190151581526020016102d0565b34801561036157600080fd5b50610345610370366004612452565b60116020526000908152604090205460ff1681565b34801561039157600080fd5b506002545b6040519081526020016102d0565b3480156103b057600080fd5b506102976103bf3660046124f9565b6109ed565b3480156103d057600080fd5b506103456103df36600461251b565b610a28565b3480156103f057600080fd5b506102976103ff366004612452565b610adb565b34801561041057600080fd5b5061029761041f366004612572565b610b37565b34801561043057600080fd5b5061029761043f366004612637565b610bd3565b34801561045057600080fd5b5060055460405160ff90911681526020016102d0565b34801561047257600080fd5b506103456104813660046124cd565b610c5a565b34801561049257600080fd5b5061030d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104c657600080fd5b50600a546103459060ff1681565b3480156104e057600080fd5b50610297610c96565b3480156104f557600080fd5b50600a5461034590610100900460ff1681565b34801561051457600080fd5b50610396600d5481565b34801561052a57600080fd5b50600a546103459062010000900460ff1681565b34801561054a57600080fd5b50610396610559366004612452565b6001600160a01b031660009081526020819052604090205490565b34801561058057600080fd5b50610297610da3565b34801561059557600080fd5b50610297610e23565b3480156105aa57600080fd5b506102976105b936600461265e565b610e9a565b3480156105ca57600080fd5b5061039660095481565b3480156105e057600080fd5b506102976105ef366004612697565b610fc3565b34801561060057600080fd5b5061039660065481565b34801561061657600080fd5b5060055461010090046001600160a01b031661030d565b34801561063957600080fd5b50600a5461030d90630100000090046001600160a01b031681565b34801561066057600080fd5b506102c3611191565b34801561067557600080fd5b5061029761068436600461265e565b6111a0565b34801561069557600080fd5b506103456106a43660046124cd565b6112ea565b3480156106b557600080fd5b506103456106c43660046124cd565b611383565b3480156106d557600080fd5b50610396600e5481565b3480156106eb57600080fd5b506103456106fa366004612452565b60126020526000908152604090205460ff1681565b34801561071b57600080fd5b50610396600f5481565b34801561073157600080fd5b5061029761074036600461265e565b611390565b34801561075157600080fd5b50600c546103459060ff1681565b34801561076b57600080fd5b5061029761077a366004612637565b61141f565b34801561078b57600080fd5b5061039661079a366004612697565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156107d157600080fd5b5061039660085481565b3480156107e757600080fd5b506102976115a0565b3480156107fc57600080fd5b5061029761080b366004612452565b611605565b34801561081c57600080fd5b50610297611701565b6005546001600160a01b0361010090910416331461085e5760405162461bcd60e51b8152600401610855906126c5565b60405180910390fd5b6001600160a01b03166000908152601360205260409020805460ff19169055565b6005546001600160a01b036101009091041633146108af5760405162461bcd60e51b8152600401610855906126c5565b604051600090339047908381818185875af1925050503d80600081146108f1576040519150601f19603f3d011682016040523d82523d6000602084013e6108f6565b606091505b505080915050806109415760405162461bcd60e51b81526020600482015260156024820152741dda5d1a191c985dc81d5b9cdd58d8d95cdcd99d5b605a1b6044820152606401610855565b50565b606060038054610953906126fa565b80601f016020809104026020016040519081016040528092919081815260200182805461097f906126fa565b80156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b5050505050905090565b60006109e33384846117dd565b5060015b92915050565b6005546001600160a01b03610100909104163314610a1d5760405162461bcd60e51b8152600401610855906126c5565b600d91909155600e55565b6000610a35848484611901565b6001600160a01b03841660009081526001602090815260408083203384529091529020546000198114610ad05782811015610ac35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610855565b610ad085338584036117dd565b506001949350505050565b6005546001600160a01b03610100909104163314610b0b5760405162461bcd60e51b8152600401610855906126c5565b600a80546001600160a01b039092166301000000026301000000600160b81b0319909216919091179055565b6005546001600160a01b03610100909104163314610b675760405162461bcd60e51b8152600401610855906126c5565b60005b8151811015610bcf57600160136000848481518110610b8b57610b8b612734565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610bc781612760565b915050610b6a565b5050565b6005546001600160a01b03610100909104163314610c035760405162461bcd60e51b8152600401610855906126c5565b60055460ff16610c1490600a61285d565b610c1e908261286c565b60068190556040519081527ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de41009906020015b60405180910390a150565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916109e3918590610c91908690612883565b6117dd565b6005546001600160a01b03610100909104163314610cc65760405162461bcd60e51b8152600401610855906126c5565b600854306000908152602081905260409020541015610d4f576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e6064820152608401610855565b6007805460ff19166001179055610d64611de5565b6007805460ff191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a1565b6005546001600160a01b03610100909104163314610dd35760405162461bcd60e51b8152600401610855906126c5565b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6005546001600160a01b03610100909104163314610e535760405162461bcd60e51b8152600401610855906126c5565b600a805460ff19908116909155600c805490911690556002546006556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b6005546001600160a01b03610100909104163314610eca5760405162461bcd60e51b8152600401610855906126c5565b80610f60577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610f605760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b6064820152608401610855565b6001600160a01b038216600081815260116020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd6746910160405180910390a15050565b6005546001600160a01b03610100909104163314610ff35760405162461bcd60e51b8152600401610855906126c5565b6001600160a01b0382166110495760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610855565b6001600160a01b038216301415806110695750600a54610100900460ff16155b6110d25760405162461bcd60e51b815260206004820152603460248201527f43616e2774207769746864726177206e617469766520746f6b656e73207768696044820152736c652074726164696e672069732061637469766560601b6064820152608401610855565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015611119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113d9190612896565b905061114a838383611ea7565b604080516001600160a01b0385168152602081018390527fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a1505050565b606060048054610953906126fa565b6005546001600160a01b036101009091041633146111d05760405162461bcd60e51b8152600401610855906126c5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614158061120e5750805b6112805760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610855565b6001600160a01b0382166000908152601260205260409020805460ff19168215151790556112ae8282610f60565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561136c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610855565b61137933858584036117dd565b5060019392505050565b60006109e3338484611901565b6005546001600160a01b036101009091041633146113c05760405162461bcd60e51b8152600401610855906126c5565b6001600160a01b038216600081815260106020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b0361010090910416331461144f5760405162461bcd60e51b8152600401610855906126c5565b620186a061145c60025490565b61146790600161286c565b61147191906128af565b8110156114de5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610855565b6103e86114ea60025490565b6114f590600161286c565b6114ff91906128af565b81111561156b5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610855565b60088190556040518181527f7c26bfee26f82e8cb57af48f4019cc64582db6fac7bad778433f10572ae8b14590602001610c4f565b6005546001600160a01b036101009091041633146115d05760405162461bcd60e51b8152600401610855906126c5565b600c805460ff191690556040517fa29c2b578a5a679452d146ddd35ea04a2e7c57fe555cc7a3d91b3b8b06e6103d90600090a1565b6005546001600160a01b036101009091041633146116355760405162461bcd60e51b8152600401610855906126c5565b6001600160a01b03811661169a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610855565b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546001600160a01b036101009091041633146117315760405162461bcd60e51b8152600401610855906126c5565b600a54610100900460ff161561179d5760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b6064820152608401610855565b600a805462ffff00191662010100179055436009556040517f61a6e4c3146e1b7ac37c7cc76b1d3f8754e07a6b9a00d159870bafb4a36e227690600090a1565b6001600160a01b03831661183f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610855565b6001600160a01b0382166118a05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610855565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166119275760405162461bcd60e51b8152600401610855906128d1565b6001600160a01b03821661194d5760405162461bcd60e51b815260040161085590612916565b6001600160a01b03831660009081526013602052604090205460ff1615801561198f57506001600160a01b03821660009081526013602052604090205460ff16155b61199857600080fd5b806000036119b1576119ac83836000611ef9565b505050565b6001600160a01b03831660009081526010602052604090205460ff16806119f057506001600160a01b03821660009081526010602052604090205460ff165b15611a00576119ac838383611ef9565b600a54610100900460ff16611a575760405162461bcd60e51b815260206004820152601b60248201527f416c6c61682068617320636f76657265642068697320666163652e00000000006044820152606401610855565b600a5460ff1615611c6b57600c5460ff1615611bc2577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614158015611ae157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15611bc257326000908152600b60205260409020544390611b03906001612883565b108015611b3357506001600160a01b0382166000908152600b60205260409020544390611b31906001612883565b105b611b9d5760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b6064820152608401610855565b326000908152600b602052604080822043908190556001600160a01b03851683529120555b6001600160a01b03831660009081526012602052604090205460ff168015611c0357506001600160a01b03821660009081526011602052604090205460ff16155b15611c6b57600654811115611c6b5760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b6064820152608401610855565b60085430600090815260208190526040902054118015611c935750600a5462010000900460ff165b8015611ca2575060075460ff16155b8015611cc657506001600160a01b03821660009081526012602052604090205460ff165b15611ceb576007805460ff19166001179055611ce0611de5565b6007805460ff191690555b6001600160a01b03821660009081526012602052604081205460ff168015611d1557506000600e54115b15611d53576064600e5483611d2a919061286c565b611d3491906128af565b905080600f6000828254611d489190612883565b90915550611db69050565b6001600160a01b03841660009081526012602052604090205460ff168015611d7d57506000600d54115b15611db6576064600d5483611d92919061286c565b611d9c91906128af565b905080600f6000828254611db09190612883565b90915550505b8015611dd457611dc7843083611ef9565b611dd18183612959565b91505b611ddf848484611ef9565b50505050565b30600090815260208190526040812054600f54811580611e03575080155b15611e0d57505050565b600854611e1b90603c61286c565b821115611e3357600854611e3090603c61286c565b91505b611e3c8261204e565b6000600f5547156119ac57600a5460405163010000009091046001600160a01b0316904790600081818185875af1925050503d8060008114611e9a576040519150601f19603f3d011682016040523d82523d6000602084013e611e9f565b606091505b505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526119ac9084906121cb565b6001600160a01b038316611f1f5760405162461bcd60e51b8152600401610855906128d1565b6001600160a01b038216611f455760405162461bcd60e51b815260040161085590612916565b6001600160a01b03831660009081526020819052604090205481811015611fbd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610855565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611ff4908490612883565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161204091815260200190565b60405180910390a350505050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061208357612083612734565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612101573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612125919061296c565b8160018151811061213857612138612734565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac9479061219d908590600090869030904290600401612989565b600060405180830381600087803b1580156121b757600080fd5b505af1158015611e9f573d6000803e3d6000fd5b6000612220826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661229d9092919063ffffffff16565b8051909150156119ac578080602001905181019061223e91906129fa565b6119ac5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610855565b60606122ac84846000856122b4565b949350505050565b6060824710156123155760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610855565b600080866001600160a01b031685876040516123319190612a17565b60006040518083038185875af1925050503d806000811461236e576040519150601f19603f3d011682016040523d82523d6000602084013e612373565b606091505b50915091506123848783838761238f565b979650505050505050565b606083156123fe5782516000036123f7576001600160a01b0385163b6123f75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610855565b50816122ac565b6122ac83838151156124135781518083602001fd5b8060405162461bcd60e51b8152600401610855919061249a565b6001600160a01b038116811461094157600080fd5b803561244d8161242d565b919050565b60006020828403121561246457600080fd5b813561246f8161242d565b9392505050565b60005b83811015612491578181015183820152602001612479565b50506000910152565b60208152600082518060208401526124b9816040850160208701612476565b601f01601f19169190910160400192915050565b600080604083850312156124e057600080fd5b82356124eb8161242d565b946020939093013593505050565b6000806040838503121561250c57600080fd5b50508035926020909101359150565b60008060006060848603121561253057600080fd5b833561253b8161242d565b9250602084013561254b8161242d565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561258557600080fd5b823567ffffffffffffffff8082111561259d57600080fd5b818501915085601f8301126125b157600080fd5b8135818111156125c3576125c361255c565b8060051b604051601f19603f830116810181811085821117156125e8576125e861255c565b60405291825284820192508381018501918883111561260657600080fd5b938501935b8285101561262b5761261c85612442565b8452938501939285019261260b565b98975050505050505050565b60006020828403121561264957600080fd5b5035919050565b801515811461094157600080fd5b6000806040838503121561267157600080fd5b823561267c8161242d565b9150602083013561268c81612650565b809150509250929050565b600080604083850312156126aa57600080fd5b82356126b58161242d565b9150602083013561268c8161242d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c9082168061270e57607f821691505b60208210810361272e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016127725761277261274a565b5060010190565b600181815b808511156127b457816000190482111561279a5761279a61274a565b808516156127a757918102915b93841c939080029061277e565b509250929050565b6000826127cb575060016109e7565b816127d8575060006109e7565b81600181146127ee57600281146127f857612814565b60019150506109e7565b60ff8411156128095761280961274a565b50506001821b6109e7565b5060208310610133831016604e8410600b8410161715612837575081810a6109e7565b6128418383612779565b80600019048211156128555761285561274a565b029392505050565b600061246f60ff8416836127bc565b80820281158282048414176109e7576109e761274a565b808201808211156109e7576109e761274a565b6000602082840312156128a857600080fd5b5051919050565b6000826128cc57634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156109e7576109e761274a565b60006020828403121561297e57600080fd5b815161246f8161242d565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156129d95784516001600160a01b0316835293830193918301916001016129b4565b50506001600160a01b03969096166060850152505050608001529392505050565b600060208284031215612a0c57600080fd5b815161246f81612650565b60008251612a29818460208701612476565b919091019291505056fea2646970667358221220c2cec58e7586907be9a8a2e91a1e4386d16bbafe2dee14f52de8dea27145289264736f6c634300081100334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0