0x6080604052600436106102cd5760003560e01c8063720efed211610175578063c5f956af116100dc578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b14610841578063f5648a4f14610861578063fb002c9714610876578063fde83a341461088c57600080fd5b8063e2f45605146107f5578063ea4cfe121461080b578063ee40166e1461082b57600080fd5b8063c5f956af1461072d578063cc2ffe7c1461074d578063d257b34f14610763578063d729715f14610783578063d85ba06314610799578063dd62ed3e146107af57600080fd5b80639c2e4ac61161012e5780639c2e4ac614610672578063a457c2d714610688578063a9059cbb146106a8578063b62496f5146106c8578063bcc178fd146106f8578063c02466681461070d57600080fd5b8063720efed2146105d75780638366e79a146105ec5780638a940f541461060c5780638da5cb5b1461061f57806395d89b411461063d5780639a7a23d61461065257600080fd5b8063452ed4f1116102345780636605bfda116101ed5780636b2fb124116101c75780636b2fb124146105555780636ddd17131461056b57806370a082311461058c578063715018a6146105c257600080fd5b80636605bfda146104ff5780636690864e1461051f5780636a486a8e1461053f57600080fd5b8063452ed4f114610468578063499b8394146104885780634f77f6c0146104a857806351f205e4146104be5780635a139dd4146104d35780635c068a8c146104e957600080fd5b80632307b441116102865780632307b441146103c257806323b872dd146103e25780632bf2b11b14610402578063313ce5671461041757806339509351146104335780633cda66641461045357600080fd5b806306fdde03146102d95780630758d92414610304578063095ea7b31461033c57806318160ddd1461036c5780631c75f0851461038b5780631ff8d507146103ab57600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102ee6108a2565b6040516102fb9190612554565b60405180910390f35b34801561031057600080fd5b50600654610324906001600160a01b031681565b6040516001600160a01b0390911681526020016102fb565b34801561034857600080fd5b5061035c6103573660046125ba565b610934565b60405190151581526020016102fb565b34801561037857600080fd5b506002545b6040519081526020016102fb565b34801561039757600080fd5b50600b54610324906001600160a01b031681565b3480156103b757600080fd5b506103c061094b565b005b3480156103ce57600080fd5b506103c06103dd3660046126bc565b61099f565b3480156103ee57600080fd5b5061035c6103fd36600461277e565b610af7565b34801561040e57600080fd5b506103c0610baa565b34801561042357600080fd5b50604051601281526020016102fb565b34801561043f57600080fd5b5061035c61044e3660046125ba565b610bea565b34801561045f57600080fd5b506103c0610c26565b34801561047457600080fd5b50600754610324906001600160a01b031681565b34801561049457600080fd5b506103c06104a33660046127bf565b610c66565b3480156104b457600080fd5b5061037d60115481565b3480156104ca57600080fd5b506103c0610d00565b3480156104df57600080fd5b5061037d600d5481565b3480156104f557600080fd5b5061037d600e5481565b34801561050b57600080fd5b506103c061051a3660046127bf565b610e10565b34801561052b57600080fd5b506103c061053a3660046127bf565b610eaa565b34801561054b57600080fd5b5061037d60105481565b34801561056157600080fd5b5061037d60125481565b34801561057757600080fd5b50600b5461035c90600160a01b900460ff1681565b34801561059857600080fd5b5061037d6105a73660046127bf565b6001600160a01b031660009081526020819052604090205490565b3480156105ce57600080fd5b506103c0610f74565b3480156105e357600080fd5b506103c0610fe8565b3480156105f857600080fd5b5061035c6106073660046127e3565b611028565b6103c061061a366004612868565b61124e565b34801561062b57600080fd5b506005546001600160a01b0316610324565b34801561064957600080fd5b506102ee61171a565b34801561065e57600080fd5b506103c061066d3660046128f0565b611729565b34801561067e57600080fd5b5061037d600f5481565b34801561069457600080fd5b5061035c6106a33660046125ba565b6117e5565b3480156106b457600080fd5b5061035c6106c33660046125ba565b61187e565b3480156106d457600080fd5b5061035c6106e33660046127bf565b60196020526000908152604090205460ff1681565b34801561070457600080fd5b506103c061188b565b34801561071957600080fd5b506103c06107283660046128f0565b6118cb565b34801561073957600080fd5b50600a54610324906001600160a01b031681565b34801561075957600080fd5b5061037d60155481565b34801561076f57600080fd5b506103c061077e36600461291e565b611954565b34801561078f57600080fd5b5061037d60135481565b3480156107a557600080fd5b5061037d600c5481565b3480156107bb57600080fd5b5061037d6107ca3660046127e3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561080157600080fd5b5061037d60085481565b34801561081757600080fd5b50600954610324906001600160a01b031681565b34801561083757600080fd5b5061037d60175481565b34801561084d57600080fd5b506103c061085c3660046127bf565b611a9f565b34801561086d57600080fd5b506103c0611b8a565b34801561088257600080fd5b5061037d60145481565b34801561089857600080fd5b5061037d60165481565b6060600380546108b190612937565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd90612937565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050905090565b6000610941338484611c01565b5060015b92915050565b6005546001600160a01b0316331461097e5760405162461bcd60e51b815260040161097590612971565b60405180910390fd5b600b805460ff60a01b198116600160a01b9182900460ff1615909102179055565b6005546001600160a01b031633146109c95760405162461bcd60e51b815260040161097590612971565b8051825114610a1a5760405162461bcd60e51b815260206004820152601e60248201527f617272617973206d757374206265207468652073616d65206c656e67746800006044820152606401610975565b60c8825110610a8a5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203230302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610975565b60005b8251811015610af2576000838281518110610aaa57610aaa6129a6565b602002602001015190506000838381518110610ac857610ac86129a6565b60200260200101519050610add338383611d25565b50508080610aea906129d2565b915050610a8d565b505050565b6000610b04848484611e7a565b6001600160a01b03841660009081526001602090815260408083203384529091529020546000198114610b9f5782811015610b925760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610975565b610b9f8533858403611c01565b506001949350505050565b6005546001600160a01b03163314610bd45760405162461bcd60e51b815260040161097590612971565b6003600d819055600e556001600f556007600c55565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610941918590610c219086906129eb565b611c01565b6005546001600160a01b03163314610c505760405162461bcd60e51b815260040161097590612971565b6000600d819055600e819055600f819055600c55565b6005546001600160a01b03163314610c905760405162461bcd60e51b815260040161097590612971565b6001600160a01b038116610cb65760405162461bcd60e51b8152600401610975906129fe565b600980546001600160a01b0319166001600160a01b0383169081179091556040517f4efa56652237561d0f1fd31311aeaaa41f3b754a461545ed3cf6ced5876d298290600090a250565b6005546001600160a01b03163314610d2a5760405162461bcd60e51b815260040161097590612971565b600854306000908152602081905260409020541015610db3576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e6064820152608401610975565b6007805460ff60a01b1916600160a01b179055610dce6121f5565b6007805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a1565b6005546001600160a01b03163314610e3a5760405162461bcd60e51b815260040161097590612971565b6001600160a01b038116610e605760405162461bcd60e51b8152600401610975906129fe565b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f2e1e696cfb265fa16e1170d24ef04cb2262772bde00ecf34d80bae6722487b7f90600090a250565b6005546001600160a01b03163314610ed45760405162461bcd60e51b815260040161097590612971565b6001600160a01b038116610f2a5760405162461bcd60e51b815260206004820181905260248201527f5f7465616d4164647265737320616464726573732063616e6e6f7420626520306044820152606401610975565b600b80546001600160a01b0319166001600160a01b0383169081179091556040517f17d8dfa8312c8aa744fab84e6f3d67f24e7553ac1ff2be20269f12200021375690600090a250565b6005546001600160a01b03163314610f9e5760405162461bcd60e51b815260040161097590612971565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146110125760405162461bcd60e51b815260040161097590612971565b6000601181905560128190556013819055601055565b6005546000906001600160a01b031633146110555760405162461bcd60e51b815260040161097590612971565b6001600160a01b0383166110ab5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610975565b306001600160a01b038416036111205760405162461bcd60e51b815260206004820152603460248201527f43616e2774207769746864726177206e617469766520746f6b656e73207768696044820152736c652074726164696e672069732061637469766560601b6064820152608401610975565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b9190612a44565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af11580156111de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112029190612a5d565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6005546001600160a01b031633146112785760405162461bcd60e51b815260040161097590612971565b6017541561128557600080fd5b600034116112ca5760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610975565b600085116113135760405162461bcd60e51b8152602060048201526016602482015275139bc81314081d1bdad95b9cc81cdc1958da599a595960521b6044820152606401610975565b82151534600082611325576000611330565b611330600283612a7a565b905061133c8183612a9c565b91506000600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b79190612aaf565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114309190612aaf565b6040516364e329cb60e11b81526001600160a01b038381166004830152306024830152919091169063c9c65396906044016020604051808303816000875af1158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a49190612aaf565b600780546001600160a01b0319166001600160a01b039290921691821790556114ce9060016123bf565b6114ea33306114e58c670de0b6b3a7640000612acc565b611d25565b6006546001600160a01b031663f305d719843061151c816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015611580573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115a59190612ae3565b5050436017555083156116fc5760408051600280825260608201835260009260208301908036833701905050905081816000815181106115e7576115e76129a6565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061161b5761161b6129a6565b6001600160a01b03928316602091820292909201015260065460405163b6f9de9560e01b815291169063b6f9de9590479061166190600090869033904290600401612b55565b6000604051808303818588803b15801561167a57600080fd5b505af115801561168e573d6000803e3d6000fd5b505050505060005b888110156116f9576116e7338b8b848181106116b4576116b46129a6565b90506020020160208101906116c991906127bf565b8a8a858181106116db576116db6129a6565b90506020020135611d25565b806116f1816129d2565b915050611696565b50505b5050600b805460ff60a01b1916600160a01b17905550505050505050565b6060600480546108b190612937565b6005546001600160a01b031633146117535760405162461bcd60e51b815260040161097590612971565b6007546001600160a01b03908116908316036117d75760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610975565b6117e182826123bf565b5050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156118675760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610975565b6118743385858403611c01565b5060019392505050565b6000610941338484611e7a565b6005546001600160a01b031633146118b55760405162461bcd60e51b815260040161097590612971565b6003601181905560125560016013556007601055565b6005546001600160a01b031633146118f55760405162461bcd60e51b815260040161097590612971565b6001600160a01b038216600081815260186020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b0316331461197e5760405162461bcd60e51b815260040161097590612971565b620186a061198b60025490565b611996906001612acc565b6119a09190612a7a565b811015611a0d5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610975565b6103e8611a1960025490565b611a24906001612acc565b611a2e9190612a7a565b811115611a9a5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610975565b600855565b6005546001600160a01b03163314611ac95760405162461bcd60e51b815260040161097590612971565b6001600160a01b038116611b2e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610975565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611bb45760405162461bcd60e51b815260040161097590612971565b604051600090339047908381818185875af1925050503d8060008114611bf6576040519150601f19603f3d011682016040523d82523d6000602084013e611bfb565b606091505b50505050565b6001600160a01b038316611c635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610975565b6001600160a01b038216611cc45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610975565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611d4b5760405162461bcd60e51b815260040161097590612b8a565b6001600160a01b038216611d715760405162461bcd60e51b815260040161097590612bcf565b6001600160a01b03831660009081526020819052604090205481811015611de95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610975565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611e209084906129eb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e6c91815260200190565b60405180910390a350505050565b6001600160a01b038316611ea05760405162461bcd60e51b815260040161097590612b8a565b6001600160a01b038216611ec65760405162461bcd60e51b815260040161097590612bcf565b60008111611f165760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610975565b30600090815260208181526040808320546008546001600160a01b03881685526018909352922054908210159060019060ff1680611f6c57506001600160a01b03851660009081526018602052604090205460ff165b15611f75575060005b808015611f7f5750815b8015611f945750600b54600160a01b900460ff165b8015611faa5750600754600160a01b900460ff16155b8015611fce57506001600160a01b03851660009081526019602052604090205460ff165b15611ffc576007805460ff60a01b1916600160a01b179055611fee6121f5565b6007805460ff60a01b191690555b600081156121e1576001600160a01b03861660009081526019602052604090205460ff16801561202e57506000601054115b156120e6576064601054866120439190612acc565b61204d9190612a7a565b9050601054601154826120609190612acc565b61206a9190612a7a565b6014600082825461207b91906129eb565b90915550506010546012546120909083612acc565b61209a9190612a7a565b601560008282546120ab91906129eb565b90915550506010546013546120c09083612acc565b6120ca9190612a7a565b601660008282546120db91906129eb565b909155506121c39050565b6001600160a01b03871660009081526019602052604090205460ff16801561211057506000600c54115b156121c3576064600c54866121259190612acc565b61212f9190612a7a565b9050600c54600d54826121429190612acc565b61214c9190612a7a565b6014600082825461215d91906129eb565b9091555050600c54600e546121729083612acc565b61217c9190612a7a565b6015600082825461218d91906129eb565b9091555050600c54600f546121a29083612acc565b6121ac9190612a7a565b601660008282546121bd91906129eb565b90915550505b80156121d4576121d4873083611d25565b6121de8186612a9c565b94505b6121ec878787611d25565b50505050505050565b306000908152602081905260408120549050600060165460155460145461221c91906129eb565b61222691906129eb565b9050811580612233575080155b1561223c575050565b60085461224a90600a612acc565b8211156122625760085461225f90600a612acc565b91505b600061226d83612413565b601554479060009084906122819084612acc565b61228b9190612a7a565b90506000846016548461229e9190612acc565b6122a89190612a7a565b6000601481905560158190556016819055600a546040519293506001600160a01b031691849181818185875af1925050503d8060008114612305576040519150601f19603f3d011682016040523d82523d6000602084013e61230a565b606091505b5050600b546040519195506001600160a01b0316908290600081818185875af1925050503d806000811461235a576040519150601f19603f3d011682016040523d82523d6000602084013e61235f565b606091505b50506009546040519195506001600160a01b0316904790600081818185875af1925050503d80600081146123af576040519150601f19603f3d011682016040523d82523d6000602084013e6123b4565b606091505b505050505050505050565b6001600160a01b038216600081815260196020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612448576124486129a6565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156124a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c59190612aaf565b816001815181106124d8576124d86129a6565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac9479061251e908590600090869030904290600401612c12565b600060405180830381600087803b15801561253857600080fd5b505af115801561254c573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561258157858101830151858201604001528201612565565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146125b757600080fd5b50565b600080604083850312156125cd57600080fd5b82356125d8816125a2565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612625576126256125e6565b604052919050565b600067ffffffffffffffff821115612647576126476125e6565b5060051b60200190565b600082601f83011261266257600080fd5b813560206126776126728361262d565b6125fc565b82815260059290921b8401810191818101908684111561269657600080fd5b8286015b848110156126b1578035835291830191830161269a565b509695505050505050565b600080604083850312156126cf57600080fd5b823567ffffffffffffffff808211156126e757600080fd5b818501915085601f8301126126fb57600080fd5b8135602061270b6126728361262d565b82815260059290921b8401810191818101908984111561272a57600080fd5b948201945b83861015612751578535612742816125a2565b8252948201949082019061272f565b9650508601359250508082111561276757600080fd5b5061277485828601612651565b9150509250929050565b60008060006060848603121561279357600080fd5b833561279e816125a2565b925060208401356127ae816125a2565b929592945050506040919091013590565b6000602082840312156127d157600080fd5b81356127dc816125a2565b9392505050565b600080604083850312156127f657600080fd5b8235612801816125a2565b91506020830135612811816125a2565b809150509250929050565b60008083601f84011261282e57600080fd5b50813567ffffffffffffffff81111561284657600080fd5b6020830191508360208260051b850101111561286157600080fd5b9250929050565b60008060008060006060868803121561288057600080fd5b85359450602086013567ffffffffffffffff8082111561289f57600080fd5b6128ab89838a0161281c565b909650945060408801359150808211156128c457600080fd5b506128d18882890161281c565b969995985093965092949392505050565b80151581146125b757600080fd5b6000806040838503121561290357600080fd5b823561290e816125a2565b91506020830135612811816128e2565b60006020828403121561293057600080fd5b5035919050565b600181811c9082168061294b57607f821691505b60208210810361296b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016129e4576129e46129bc565b5060010190565b80820180821115610945576109456129bc565b60208082526026908201527f5f6f7065726174696f6e734164647265737320616464726573732063616e6e6f60408201526507420626520360d41b606082015260800190565b600060208284031215612a5657600080fd5b5051919050565b600060208284031215612a6f57600080fd5b81516127dc816128e2565b600082612a9757634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610945576109456129bc565b600060208284031215612ac157600080fd5b81516127dc816125a2565b8082028115828204841417610945576109456129bc565b600080600060608486031215612af857600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b83811015612b4a5781516001600160a01b031687529582019590820190600101612b25565b509495945050505050565b848152608060208201526000612b6e6080830186612b11565b6001600160a01b03949094166040830152506060015292915050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b85815284602082015260a060408201526000612c3160a0830186612b11565b6001600160a01b039490941660608301525060800152939250505056fea264697066735822122078db6d9563fb25471c991f4d5cbb856ab6d89d3982bf0f1ed48861f6e07899e964736f6c63430008110033
0x6080604052600b805460ff60a01b191690553480156200001e57600080fd5b5060405180604001604052806008815260200167446567656e44414f60c01b815250604051806040016040528060048152602001634444414f60e01b81525081600390816200006e919062000776565b5060046200007d828262000776565b5050506000620000926200031560201b60201c565b600580546001600160a01b0319166001600160a01b0383169081179091556040519192509060009060008051602062003565833981519152908290a350600680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155339062000109828260001962000319565b62000118308260001962000319565b6b02de89507556d846780000006127106200013582600562000858565b62000141919062000878565b6008556003600d819055600e8190556001600f819055906200016490806200089b565b6200017091906200089b565b600c5560036011819055601281905560016013819055906200019390806200089b565b6200019f91906200089b565b601055600980546001600160a01b031990811673aecead12509d2c966ddded53fbb198dedb4124a517909155600a8054821673639c4fe68cc9dd9da3990b78d5baa0f5e4e00e14179055600b805490911673012683b865ed2c8db3f4569a11bf962c40b926b01790556200021583600162000445565b6200022230600162000445565b6200023161dead600162000445565b6009546200024a906001600160a01b0316600162000445565b600a5462000263906001600160a01b0316600162000445565b600b546200027c906001600160a01b0316600162000445565b6200029d73d0012d64fc164d014d973e855152db75cb8f5fb2600162000445565b620002c561dead6064620002b384600a62000858565b620002bf919062000878565b620004ef565b620002d9836064620002b384603c62000858565b6200030173d0012d64fc164d014d973e855152db75cb8f5fb26064620002b384601e62000858565b6200030c83620005d4565b505050620008b1565b3390565b6001600160a01b038316620003815760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620003e45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000378565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b03163314620004905760405162461bcd60e51b8152602060048201819052602482015260008051602062003545833981519152604482015260640162000378565b6001600160a01b038216600081815260186020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216620005475760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000378565b80600260008282546200055b91906200089b565b90915550506001600160a01b038216600090815260208190526040812080548392906200058a9084906200089b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b031633146200061f5760405162461bcd60e51b8152602060048201819052602482015260008051602062003545833981519152604482015260640162000378565b6001600160a01b038116620006865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000378565b6005546040516001600160a01b038084169216906000805160206200356583398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006fc57607f821691505b6020821081036200071d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200077157600081815260208120601f850160051c810160208610156200074c5750805b601f850160051c820191505b818110156200076d5782815560010162000758565b5050505b505050565b81516001600160401b03811115620007925762000792620006d1565b620007aa81620007a38454620006e7565b8462000723565b602080601f831160018114620007e25760008415620007c95750858301515b600019600386901b1c1916600185901b1785556200076d565b600085815260208120601f198616915b828110156200081357888601518255948401946001909101908401620007f2565b5085821015620008325787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000872576200087262000842565b92915050565b6000826200089657634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111562000872576200087262000842565b612c8480620008c16000396000f3fe6080604052600436106102cd5760003560e01c8063720efed211610175578063c5f956af116100dc578063e2f4560511610095578063f2fde38b1161006f578063f2fde38b14610841578063f5648a4f14610861578063fb002c9714610876578063fde83a341461088c57600080fd5b8063e2f45605146107f5578063ea4cfe121461080b578063ee40166e1461082b57600080fd5b8063c5f956af1461072d578063cc2ffe7c1461074d578063d257b34f14610763578063d729715f14610783578063d85ba06314610799578063dd62ed3e146107af57600080fd5b80639c2e4ac61161012e5780639c2e4ac614610672578063a457c2d714610688578063a9059cbb146106a8578063b62496f5146106c8578063bcc178fd146106f8578063c02466681461070d57600080fd5b8063720efed2146105d75780638366e79a146105ec5780638a940f541461060c5780638da5cb5b1461061f57806395d89b411461063d5780639a7a23d61461065257600080fd5b8063452ed4f1116102345780636605bfda116101ed5780636b2fb124116101c75780636b2fb124146105555780636ddd17131461056b57806370a082311461058c578063715018a6146105c257600080fd5b80636605bfda146104ff5780636690864e1461051f5780636a486a8e1461053f57600080fd5b8063452ed4f114610468578063499b8394146104885780634f77f6c0146104a857806351f205e4146104be5780635a139dd4146104d35780635c068a8c146104e957600080fd5b80632307b441116102865780632307b441146103c257806323b872dd146103e25780632bf2b11b14610402578063313ce5671461041757806339509351146104335780633cda66641461045357600080fd5b806306fdde03146102d95780630758d92414610304578063095ea7b31461033c57806318160ddd1461036c5780631c75f0851461038b5780631ff8d507146103ab57600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102ee6108a2565b6040516102fb9190612554565b60405180910390f35b34801561031057600080fd5b50600654610324906001600160a01b031681565b6040516001600160a01b0390911681526020016102fb565b34801561034857600080fd5b5061035c6103573660046125ba565b610934565b60405190151581526020016102fb565b34801561037857600080fd5b506002545b6040519081526020016102fb565b34801561039757600080fd5b50600b54610324906001600160a01b031681565b3480156103b757600080fd5b506103c061094b565b005b3480156103ce57600080fd5b506103c06103dd3660046126bc565b61099f565b3480156103ee57600080fd5b5061035c6103fd36600461277e565b610af7565b34801561040e57600080fd5b506103c0610baa565b34801561042357600080fd5b50604051601281526020016102fb565b34801561043f57600080fd5b5061035c61044e3660046125ba565b610bea565b34801561045f57600080fd5b506103c0610c26565b34801561047457600080fd5b50600754610324906001600160a01b031681565b34801561049457600080fd5b506103c06104a33660046127bf565b610c66565b3480156104b457600080fd5b5061037d60115481565b3480156104ca57600080fd5b506103c0610d00565b3480156104df57600080fd5b5061037d600d5481565b3480156104f557600080fd5b5061037d600e5481565b34801561050b57600080fd5b506103c061051a3660046127bf565b610e10565b34801561052b57600080fd5b506103c061053a3660046127bf565b610eaa565b34801561054b57600080fd5b5061037d60105481565b34801561056157600080fd5b5061037d60125481565b34801561057757600080fd5b50600b5461035c90600160a01b900460ff1681565b34801561059857600080fd5b5061037d6105a73660046127bf565b6001600160a01b031660009081526020819052604090205490565b3480156105ce57600080fd5b506103c0610f74565b3480156105e357600080fd5b506103c0610fe8565b3480156105f857600080fd5b5061035c6106073660046127e3565b611028565b6103c061061a366004612868565b61124e565b34801561062b57600080fd5b506005546001600160a01b0316610324565b34801561064957600080fd5b506102ee61171a565b34801561065e57600080fd5b506103c061066d3660046128f0565b611729565b34801561067e57600080fd5b5061037d600f5481565b34801561069457600080fd5b5061035c6106a33660046125ba565b6117e5565b3480156106b457600080fd5b5061035c6106c33660046125ba565b61187e565b3480156106d457600080fd5b5061035c6106e33660046127bf565b60196020526000908152604090205460ff1681565b34801561070457600080fd5b506103c061188b565b34801561071957600080fd5b506103c06107283660046128f0565b6118cb565b34801561073957600080fd5b50600a54610324906001600160a01b031681565b34801561075957600080fd5b5061037d60155481565b34801561076f57600080fd5b506103c061077e36600461291e565b611954565b34801561078f57600080fd5b5061037d60135481565b3480156107a557600080fd5b5061037d600c5481565b3480156107bb57600080fd5b5061037d6107ca3660046127e3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561080157600080fd5b5061037d60085481565b34801561081757600080fd5b50600954610324906001600160a01b031681565b34801561083757600080fd5b5061037d60175481565b34801561084d57600080fd5b506103c061085c3660046127bf565b611a9f565b34801561086d57600080fd5b506103c0611b8a565b34801561088257600080fd5b5061037d60145481565b34801561089857600080fd5b5061037d60165481565b6060600380546108b190612937565b80601f01602080910402602001604051908101604052809291908181526020018280546108dd90612937565b801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050905090565b6000610941338484611c01565b5060015b92915050565b6005546001600160a01b0316331461097e5760405162461bcd60e51b815260040161097590612971565b60405180910390fd5b600b805460ff60a01b198116600160a01b9182900460ff1615909102179055565b6005546001600160a01b031633146109c95760405162461bcd60e51b815260040161097590612971565b8051825114610a1a5760405162461bcd60e51b815260206004820152601e60248201527f617272617973206d757374206265207468652073616d65206c656e67746800006044820152606401610975565b60c8825110610a8a5760405162461bcd60e51b815260206004820152603660248201527f43616e206f6e6c792061697264726f70203230302077616c6c657473207065726044820152752074786e2064756520746f20676173206c696d69747360501b6064820152608401610975565b60005b8251811015610af2576000838281518110610aaa57610aaa6129a6565b602002602001015190506000838381518110610ac857610ac86129a6565b60200260200101519050610add338383611d25565b50508080610aea906129d2565b915050610a8d565b505050565b6000610b04848484611e7a565b6001600160a01b03841660009081526001602090815260408083203384529091529020546000198114610b9f5782811015610b925760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610975565b610b9f8533858403611c01565b506001949350505050565b6005546001600160a01b03163314610bd45760405162461bcd60e51b815260040161097590612971565b6003600d819055600e556001600f556007600c55565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610941918590610c219086906129eb565b611c01565b6005546001600160a01b03163314610c505760405162461bcd60e51b815260040161097590612971565b6000600d819055600e819055600f819055600c55565b6005546001600160a01b03163314610c905760405162461bcd60e51b815260040161097590612971565b6001600160a01b038116610cb65760405162461bcd60e51b8152600401610975906129fe565b600980546001600160a01b0319166001600160a01b0383169081179091556040517f4efa56652237561d0f1fd31311aeaaa41f3b754a461545ed3cf6ced5876d298290600090a250565b6005546001600160a01b03163314610d2a5760405162461bcd60e51b815260040161097590612971565b600854306000908152602081905260409020541015610db3576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e6064820152608401610975565b6007805460ff60a01b1916600160a01b179055610dce6121f5565b6007805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a1565b6005546001600160a01b03163314610e3a5760405162461bcd60e51b815260040161097590612971565b6001600160a01b038116610e605760405162461bcd60e51b8152600401610975906129fe565b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f2e1e696cfb265fa16e1170d24ef04cb2262772bde00ecf34d80bae6722487b7f90600090a250565b6005546001600160a01b03163314610ed45760405162461bcd60e51b815260040161097590612971565b6001600160a01b038116610f2a5760405162461bcd60e51b815260206004820181905260248201527f5f7465616d4164647265737320616464726573732063616e6e6f7420626520306044820152606401610975565b600b80546001600160a01b0319166001600160a01b0383169081179091556040517f17d8dfa8312c8aa744fab84e6f3d67f24e7553ac1ff2be20269f12200021375690600090a250565b6005546001600160a01b03163314610f9e5760405162461bcd60e51b815260040161097590612971565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146110125760405162461bcd60e51b815260040161097590612971565b6000601181905560128190556013819055601055565b6005546000906001600160a01b031633146110555760405162461bcd60e51b815260040161097590612971565b6001600160a01b0383166110ab5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610975565b306001600160a01b038416036111205760405162461bcd60e51b815260206004820152603460248201527f43616e2774207769746864726177206e617469766520746f6b656e73207768696044820152736c652074726164696e672069732061637469766560601b6064820152608401610975565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b9190612a44565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af11580156111de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112029190612a5d565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6005546001600160a01b031633146112785760405162461bcd60e51b815260040161097590612971565b6017541561128557600080fd5b600034116112ca5760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610975565b600085116113135760405162461bcd60e51b8152602060048201526016602482015275139bc81314081d1bdad95b9cc81cdc1958da599a595960521b6044820152606401610975565b82151534600082611325576000611330565b611330600283612a7a565b905061133c8183612a9c565b91506000600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611393573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b79190612aaf565b9050600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561140c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114309190612aaf565b6040516364e329cb60e11b81526001600160a01b038381166004830152306024830152919091169063c9c65396906044016020604051808303816000875af1158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a49190612aaf565b600780546001600160a01b0319166001600160a01b039290921691821790556114ce9060016123bf565b6114ea33306114e58c670de0b6b3a7640000612acc565b611d25565b6006546001600160a01b031663f305d719843061151c816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e086901b1681526001600160a01b039092166004830152602482015260006044820181905260648201523360848201524260a482015260c40160606040518083038185885af1158015611580573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115a59190612ae3565b5050436017555083156116fc5760408051600280825260608201835260009260208301908036833701905050905081816000815181106115e7576115e76129a6565b60200260200101906001600160a01b031690816001600160a01b031681525050308160018151811061161b5761161b6129a6565b6001600160a01b03928316602091820292909201015260065460405163b6f9de9560e01b815291169063b6f9de9590479061166190600090869033904290600401612b55565b6000604051808303818588803b15801561167a57600080fd5b505af115801561168e573d6000803e3d6000fd5b505050505060005b888110156116f9576116e7338b8b848181106116b4576116b46129a6565b90506020020160208101906116c991906127bf565b8a8a858181106116db576116db6129a6565b90506020020135611d25565b806116f1816129d2565b915050611696565b50505b5050600b805460ff60a01b1916600160a01b17905550505050505050565b6060600480546108b190612937565b6005546001600160a01b031633146117535760405162461bcd60e51b815260040161097590612971565b6007546001600160a01b03908116908316036117d75760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610975565b6117e182826123bf565b5050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156118675760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610975565b6118743385858403611c01565b5060019392505050565b6000610941338484611e7a565b6005546001600160a01b031633146118b55760405162461bcd60e51b815260040161097590612971565b6003601181905560125560016013556007601055565b6005546001600160a01b031633146118f55760405162461bcd60e51b815260040161097590612971565b6001600160a01b038216600081815260186020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b0316331461197e5760405162461bcd60e51b815260040161097590612971565b620186a061198b60025490565b611996906001612acc565b6119a09190612a7a565b811015611a0d5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610975565b6103e8611a1960025490565b611a24906001612acc565b611a2e9190612a7a565b811115611a9a5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610975565b600855565b6005546001600160a01b03163314611ac95760405162461bcd60e51b815260040161097590612971565b6001600160a01b038116611b2e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610975565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611bb45760405162461bcd60e51b815260040161097590612971565b604051600090339047908381818185875af1925050503d8060008114611bf6576040519150601f19603f3d011682016040523d82523d6000602084013e611bfb565b606091505b50505050565b6001600160a01b038316611c635760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610975565b6001600160a01b038216611cc45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610975565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316611d4b5760405162461bcd60e51b815260040161097590612b8a565b6001600160a01b038216611d715760405162461bcd60e51b815260040161097590612bcf565b6001600160a01b03831660009081526020819052604090205481811015611de95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610975565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611e209084906129eb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e6c91815260200190565b60405180910390a350505050565b6001600160a01b038316611ea05760405162461bcd60e51b815260040161097590612b8a565b6001600160a01b038216611ec65760405162461bcd60e51b815260040161097590612bcf565b60008111611f165760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610975565b30600090815260208181526040808320546008546001600160a01b03881685526018909352922054908210159060019060ff1680611f6c57506001600160a01b03851660009081526018602052604090205460ff165b15611f75575060005b808015611f7f5750815b8015611f945750600b54600160a01b900460ff165b8015611faa5750600754600160a01b900460ff16155b8015611fce57506001600160a01b03851660009081526019602052604090205460ff165b15611ffc576007805460ff60a01b1916600160a01b179055611fee6121f5565b6007805460ff60a01b191690555b600081156121e1576001600160a01b03861660009081526019602052604090205460ff16801561202e57506000601054115b156120e6576064601054866120439190612acc565b61204d9190612a7a565b9050601054601154826120609190612acc565b61206a9190612a7a565b6014600082825461207b91906129eb565b90915550506010546012546120909083612acc565b61209a9190612a7a565b601560008282546120ab91906129eb565b90915550506010546013546120c09083612acc565b6120ca9190612a7a565b601660008282546120db91906129eb565b909155506121c39050565b6001600160a01b03871660009081526019602052604090205460ff16801561211057506000600c54115b156121c3576064600c54866121259190612acc565b61212f9190612a7a565b9050600c54600d54826121429190612acc565b61214c9190612a7a565b6014600082825461215d91906129eb565b9091555050600c54600e546121729083612acc565b61217c9190612a7a565b6015600082825461218d91906129eb565b9091555050600c54600f546121a29083612acc565b6121ac9190612a7a565b601660008282546121bd91906129eb565b90915550505b80156121d4576121d4873083611d25565b6121de8186612a9c565b94505b6121ec878787611d25565b50505050505050565b306000908152602081905260408120549050600060165460155460145461221c91906129eb565b61222691906129eb565b9050811580612233575080155b1561223c575050565b60085461224a90600a612acc565b8211156122625760085461225f90600a612acc565b91505b600061226d83612413565b601554479060009084906122819084612acc565b61228b9190612a7a565b90506000846016548461229e9190612acc565b6122a89190612a7a565b6000601481905560158190556016819055600a546040519293506001600160a01b031691849181818185875af1925050503d8060008114612305576040519150601f19603f3d011682016040523d82523d6000602084013e61230a565b606091505b5050600b546040519195506001600160a01b0316908290600081818185875af1925050503d806000811461235a576040519150601f19603f3d011682016040523d82523d6000602084013e61235f565b606091505b50506009546040519195506001600160a01b0316904790600081818185875af1925050503d80600081146123af576040519150601f19603f3d011682016040523d82523d6000602084013e6123b4565b606091505b505050505050505050565b6001600160a01b038216600081815260196020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612448576124486129a6565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156124a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c59190612aaf565b816001815181106124d8576124d86129a6565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac9479061251e908590600090869030904290600401612c12565b600060405180830381600087803b15801561253857600080fd5b505af115801561254c573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561258157858101830151858201604001528201612565565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146125b757600080fd5b50565b600080604083850312156125cd57600080fd5b82356125d8816125a2565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612625576126256125e6565b604052919050565b600067ffffffffffffffff821115612647576126476125e6565b5060051b60200190565b600082601f83011261266257600080fd5b813560206126776126728361262d565b6125fc565b82815260059290921b8401810191818101908684111561269657600080fd5b8286015b848110156126b1578035835291830191830161269a565b509695505050505050565b600080604083850312156126cf57600080fd5b823567ffffffffffffffff808211156126e757600080fd5b818501915085601f8301126126fb57600080fd5b8135602061270b6126728361262d565b82815260059290921b8401810191818101908984111561272a57600080fd5b948201945b83861015612751578535612742816125a2565b8252948201949082019061272f565b9650508601359250508082111561276757600080fd5b5061277485828601612651565b9150509250929050565b60008060006060848603121561279357600080fd5b833561279e816125a2565b925060208401356127ae816125a2565b929592945050506040919091013590565b6000602082840312156127d157600080fd5b81356127dc816125a2565b9392505050565b600080604083850312156127f657600080fd5b8235612801816125a2565b91506020830135612811816125a2565b809150509250929050565b60008083601f84011261282e57600080fd5b50813567ffffffffffffffff81111561284657600080fd5b6020830191508360208260051b850101111561286157600080fd5b9250929050565b60008060008060006060868803121561288057600080fd5b85359450602086013567ffffffffffffffff8082111561289f57600080fd5b6128ab89838a0161281c565b909650945060408801359150808211156128c457600080fd5b506128d18882890161281c565b969995985093965092949392505050565b80151581146125b757600080fd5b6000806040838503121561290357600080fd5b823561290e816125a2565b91506020830135612811816128e2565b60006020828403121561293057600080fd5b5035919050565b600181811c9082168061294b57607f821691505b60208210810361296b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016129e4576129e46129bc565b5060010190565b80820180821115610945576109456129bc565b60208082526026908201527f5f6f7065726174696f6e734164647265737320616464726573732063616e6e6f60408201526507420626520360d41b606082015260800190565b600060208284031215612a5657600080fd5b5051919050565b600060208284031215612a6f57600080fd5b81516127dc816128e2565b600082612a9757634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115610945576109456129bc565b600060208284031215612ac157600080fd5b81516127dc816125a2565b8082028115828204841417610945576109456129bc565b600080600060608486031215612af857600080fd5b8351925060208401519150604084015190509250925092565b600081518084526020808501945080840160005b83811015612b4a5781516001600160a01b031687529582019590820190600101612b25565b509495945050505050565b848152608060208201526000612b6e6080830186612b11565b6001600160a01b03949094166040830152506060015292915050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b85815284602082015260a060408201526000612c3160a0830186612b11565b6001600160a01b039490941660608301525060800152939250505056fea264697066735822122078db6d9563fb25471c991f4d5cbb856ab6d89d3982bf0f1ed48861f6e07899e964736f6c634300081100334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0