0x60806040526004361061021e5760003560e01c806385a6b3ae11610123578063bc4c4b37116100ab578063e98030c71161006f578063e98030c714610695578063f2fde38b146106b5578063f39b5020146106d5578063fbcbc0f1146106eb578063ffb2c4791461070b57600080fd5b8063bc4c4b37146105dc578063c38f9cad146105fc578063dd62ed3e1461061a578063e30443bc14610660578063e7841ec01461068057600080fd5b80639d55d16f116100f25780639d55d16f14610526578063a457c2d714610546578063a8b9d24014610566578063a9059cbb14610586578063aafd847a146105a657600080fd5b806385a6b3ae146104b35780638da5cb5b146104c957806391b89fba146104f157806395d89b411461051157600080fd5b8063313ce567116101a65780635183d6fd116101755780635183d6fd146103d85780636a4740021461043d5780636f2789ec1461045257806370a0823114610468578063715018a61461049e57600080fd5b8063313ce5671461034c57806331e79db01461036857806339509351146103885780634e7b827f146103a857600080fd5b806318160ddd116101ed57806318160ddd146102b4578063226cfa3d146102c957806323b872dd146102f657806327ce0147146103165780633009a6091461033657600080fd5b806303c833021461023257806306fdde031461023a578063095ea7b31461026557806309bbedde1461029557600080fd5b3661022d5761022b610746565b005b600080fd5b61022b610746565b34801561024657600080fd5b5061024f6107d9565b60405161025c9190611ee7565b60405180910390f35b34801561027157600080fd5b50610285610280366004611e1f565b61086b565b604051901515815260200161025c565b3480156102a157600080fd5b50600b545b60405190815260200161025c565b3480156102c057600080fd5b506002546102a6565b3480156102d557600080fd5b506102a66102e4366004611dab565b60116020526000908152604090205481565b34801561030257600080fd5b50610285610311366004611e77565b610882565b34801561032257600080fd5b506102a6610331366004611dab565b6108eb565b34801561034257600080fd5b506102a6600f5481565b34801561035857600080fd5b506040516012815260200161025c565b34801561037457600080fd5b5061022b610383366004611dab565b610947565b34801561039457600080fd5b506102856103a3366004611e1f565b610a77565b3480156103b457600080fd5b506102856103c3366004611dab565b60106020526000908152604090205460ff1681565b3480156103e457600080fd5b506103f86103f3366004611ecf565b610aad565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161025c565b34801561044957600080fd5b5061022b610c1f565b34801561045e57600080fd5b506102a660125481565b34801561047457600080fd5b506102a6610483366004611dab565b6001600160a01b031660009081526020819052604090205490565b3480156104aa57600080fd5b5061022b610cc3565b3480156104bf57600080fd5b506102a660095481565b3480156104d557600080fd5b50600a546040516001600160a01b03909116815260200161025c565b3480156104fd57600080fd5b506102a661050c366004611dab565b610d37565b34801561051d57600080fd5b5061024f610d42565b34801561053257600080fd5b5061022b610541366004611ecf565b610d51565b34801561055257600080fd5b50610285610561366004611e1f565b610e31565b34801561057257600080fd5b506102a6610581366004611dab565b610e80565b34801561059257600080fd5b506102856105a1366004611e1f565b610eac565b3480156105b257600080fd5b506102a66105c1366004611dab565b6001600160a01b031660009081526007602052604090205490565b3480156105e857600080fd5b506102856105f7366004611de3565b610eb9565b34801561060857600080fd5b506102a669021e19e0c9bab240000081565b34801561062657600080fd5b506102a6610635366004611e4a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561066c57600080fd5b5061022b61067b366004611e1f565b610f67565b34801561068c57600080fd5b50600f546102a6565b3480156106a157600080fd5b5061022b6106b0366004611ecf565b6110dd565b3480156106c157600080fd5b5061022b6106d0366004611dab565b61124d565b3480156106e157600080fd5b506102a660085481565b3480156106f757600080fd5b506103f8610706366004611dab565b611338565b34801561071757600080fd5b5061072b610726366004611ecf565b6114b0565b6040805193845260208401929092529082015260600161025c565b600061075160025490565b1161075b57600080fd5b34156107d75761078e61076d60025490565b61077b34600160801b6115d9565b6107859190611fc8565b6005549061165f565b60055560405134815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a26009546107d3903461165f565b6009555b565b6060600380546107e89061205d565b80601f01602080910402602001604051908101604052809291908181526020018280546108149061205d565b80156108615780601f1061083657610100808354040283529160200191610861565b820191906000526020600020905b81548152906001019060200180831161084457829003601f168201915b5050505050905090565b60006108783384846116be565b5060015b92915050565b600061088f8484846117e2565b6108e184336108dc85604051806060016040528060288152602001612104602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061183f565b6116be565b5060019392505050565b6001600160a01b03811660009081526006602090815260408083205491839052822054600554600160801b9261093d92610938926109329161092d91906115d9565b611879565b90611889565b6118c7565b61087c9190611fc8565b600a546001600160a01b0316331461097a5760405162461bcd60e51b815260040161097190611f3a565b60405180910390fd5b6001600160a01b03811660009081526010602052604090205460ff16156109a057600080fd5b6001600160a01b0381166000908152601060205260408120805460ff191660011790556109ce9082906118da565b60405163131836e760e21b8152600b60048201526001600160a01b038216602482015273be14e3ecb18603b57e7c916633449db9ebc324ac90634c60db9c9060440160006040518083038186803b158015610a2857600080fd5b505af4158015610a3c573d6000803e3d6000fd5b50506040516001600160a01b03841692507fbc358c1a6bbec2cf1d21c2fb5a564b55d7828e32fb5da64adf3c5479264650109150600090a250565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916108789185906108dc908661165f565b600080600080600080600080600b73be14e3ecb18603b57e7c916633449db9ebc324ac63deb3d89690916040518263ffffffff1660e01b8152600401610af591815260200190565b60206040518083038186803b158015610b0d57600080fd5b505af4158015610b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b459190611eb7565b8910610b6a575060009650600019955085945086935083925082915081905080610c14565b6040516368d54f3f60e11b8152600b6004820152602481018a905260009073be14e3ecb18603b57e7c916633449db9ebc324ac9063d1aa9e7e9060440160206040518083038186803b158015610bbf57600080fd5b505af4158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611dc7565b9050610c0281611338565b98509850985098509850985098509850505b919395975091939597565b60405162461bcd60e51b815260206004820152606760248201527f564f5941595f4469766964656e645f547261636b65723a20776974686472617760448201527f4469766964656e642064697361626c65642e20557365207468652027636c616960648201527f6d272066756e6374696f6e206f6e20746865206d61696e20564f59415920636f608482015266373a3930b1ba1760c91b60a482015260c401610971565b600a546001600160a01b03163314610ced5760405162461bcd60e51b815260040161097190611f3a565b600a546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600a80546001600160a01b0319169055565b600061087c82610e80565b6060600480546107e89061205d565b600a546001600160a01b03163314610d7b5760405162461bcd60e51b815260040161097190611f3a565b600854811415610dfe5760405162461bcd60e51b815260206004820152604260248201527f564f5941595f4469766964656e645f547261636b65723a2043616e6e6f74207560448201527f706461746520676173466f725472616e7366657220746f2073616d652076616c606482015261756560f01b608482015260a401610971565b60085460405182907f5e2963a3d7c88b344b101641f89a2f7da9734fc777ed11ad0097b2775a9e9d1790600090a3600855565b600061087833846108dc8560405180606001604052806025815260200161212c602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061183f565b6001600160a01b03811660009081526007602052604081205461087c90610ea6846108eb565b90611939565b60006108783384846117e2565b600a546000906001600160a01b03163314610ee65760405162461bcd60e51b815260040161097190611f3a565b6000610ef18461197b565b90508015610f5d576001600160a01b038416600081815260116020526040908190204290555184151591907fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf09290610f4b9085815260200190565b60405180910390a3600191505061087c565b5060009392505050565b600a546001600160a01b03163314610f915760405162461bcd60e51b815260040161097190611f3a565b6001600160a01b03821660009081526010602052604090205460ff1615610fb6575050565b69021e19e0c9bab2400000811061104f57610fd182826118da565b604051632f0ad01760e21b8152600b60048201526001600160a01b03831660248201526044810182905273be14e3ecb18603b57e7c916633449db9ebc324ac9063bc2b405c9060640160006040518083038186803b15801561103257600080fd5b505af4158015611046573d6000803e3d6000fd5b505050506110cd565b61105a8260006118da565b60405163131836e760e21b8152600b60048201526001600160a01b038316602482015273be14e3ecb18603b57e7c916633449db9ebc324ac90634c60db9c9060440160006040518083038186803b1580156110b457600080fd5b505af41580156110c8573d6000803e3d6000fd5b505050505b6110d8826001610eb9565b505050565b600a546001600160a01b031633146111075760405162461bcd60e51b815260040161097190611f3a565b610e10811015801561111c5750620151808111155b6111a25760405162461bcd60e51b815260206004820152604b60248201527f564f5941595f4469766964656e645f547261636b65723a20636c61696d57616960448201527f74206d757374206265207570646174656420746f206265747765656e2031206160648201526a6e6420323420686f75727360a81b608482015260a401610971565b60125481141561121a5760405162461bcd60e51b815260206004820152603d60248201527f564f5941595f4469766964656e645f547261636b65723a2043616e6e6f74207560448201527f706461746520636c61696d5761697420746f2073616d652076616c75650000006064820152608401610971565b60125460405182907f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f90600090a3601255565b600a546001600160a01b031633146112775760405162461bcd60e51b815260040161097190611f3a565b6001600160a01b0381166112dc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610971565b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6040516317e142d160e01b8152600b60048201526001600160a01b0382166024820152819060009081908190819081908190819073be14e3ecb18603b57e7c916633449db9ebc324ac906317e142d19060440160206040518083038186803b1580156113a357600080fd5b505af41580156113b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113db9190611eb7565b965060001995506000871261143d57600f5487111561140957600f54611402908890611abe565b955061143d565b600f54600b546000911061141e57600061142d565b600f54600b5461142d91611939565b90506114398882611889565b9650505b61144688610e80565b9450611451886108eb565b6001600160a01b03891660009081526011602052604090205490945092508261147b576000611489565b60125461148990849061165f565b91504282116114995760006114a3565b6114a38242611939565b9050919395975091939597565b600b5460009081908190806114d0575050600f54600092508291506115d2565b600f546000805a90506000805b89841080156114eb57508582105b156115c157846114fa81612098565b600b549096508610905061150d57600094505b6000600b600001868154811061153357634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316808352601190915260409091205490915061156490611afb565b1561158757611574816001610eb9565b15611587578161158381612098565b9250505b8261159181612098565b93505060005a9050808511156115b8576115b56115ae8683611939565b879061165f565b95505b93506114dd9050565b600f85905590975095509193505050505b9193909250565b6000826115e85750600061087c565b60006115f48385611fe8565b9050826116018583611fc8565b146116585760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610971565b9392505050565b60008061166c8385611fb0565b9050838110156116585760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610971565b6001600160a01b0383166117205760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610971565b6001600160a01b0382166117815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610971565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60405162461bcd60e51b815260206004820152602c60248201527f564f5941595f4469766964656e645f547261636b65723a204e6f207472616e7360448201526b19995c9cc8185b1b1bddd95960a21b6064820152608401610971565b600081848411156118635760405162461bcd60e51b81526004016109719190611ee7565b5060006118708486612046565b95945050505050565b6000818181121561087c57600080fd5b6000806118968385611f6f565b9050600083121580156118a95750838112155b806118be57506000831280156118be57508381125b61165857600080fd5b6000808212156118d657600080fd5b5090565b6001600160a01b038216600090815260208190526040902054808211156119195760006119078383611939565b90506119138482611b22565b50505050565b808210156110d857600061192d8284611939565b90506119138482611b86565b600061165883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061183f565b60008061198783610e80565b90508015611ab5576001600160a01b0383166000908152600760205260409020546119b2908261165f565b6001600160a01b038416600081815260076020526040908190209290925590517fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d90611a019084815260200190565b60405180910390a26008546040516000916001600160a01b03861691849084818181858888f193505050503d8060008114611a58576040519150601f19603f3d011682016040523d82523d6000602084013e611a5d565b606091505b5050905080611aae576001600160a01b038416600090815260076020526040902054611a899083611939565b6001600160a01b03909416600090815260076020526040812094909455509192915050565b5092915050565b50600092915050565b600080611acb8385612007565b905060008312158015611ade5750838113155b806118be57506000831280156118be575083811361165857600080fd5b600042821115611b0d57506000919050565b601254611b1a4284611939565b101592915050565b611b2c8282611bca565b611b66611b4761092d836005546115d990919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611abe565b6001600160a01b0390921660009081526006602052604090209190915550565b611b908282611ca7565b611b66611bab61092d836005546115d990919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611889565b6001600160a01b038216611c205760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610971565b600254611c2d908261165f565b6002556001600160a01b038216600090815260208190526040902054611c53908261165f565b6001600160a01b03831660009081526020818152604080832093909355915183815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6001600160a01b038216611d075760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610971565b611d44816040518060600160405280602281526020016120e2602291396001600160a01b038516600090815260208190526040902054919061183f565b6001600160a01b038316600090815260208190526040902055600254611d6a9082611939565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611c9b565b600060208284031215611dbc578081fd5b8135611658816120c9565b600060208284031215611dd8578081fd5b8151611658816120c9565b60008060408385031215611df5578081fd5b8235611e00816120c9565b915060208301358015158114611e14578182fd5b809150509250929050565b60008060408385031215611e31578182fd5b8235611e3c816120c9565b946020939093013593505050565b60008060408385031215611e5c578182fd5b8235611e67816120c9565b91506020830135611e14816120c9565b600080600060608486031215611e8b578081fd5b8335611e96816120c9565b92506020840135611ea6816120c9565b929592945050506040919091013590565b600060208284031215611ec8578081fd5b5051919050565b600060208284031215611ee0578081fd5b5035919050565b6000602080835283518082850152825b81811015611f1357858101830151858201604001528201611ef7565b81811115611f245783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080821280156001600160ff1b0384900385131615611f9157611f916120b3565b600160ff1b8390038412811615611faa57611faa6120b3565b50500190565b60008219821115611fc357611fc36120b3565b500190565b600082611fe357634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612002576120026120b3565b500290565b60008083128015600160ff1b850184121615612025576120256120b3565b6001600160ff1b0384018313811615612040576120406120b3565b50500390565b600082821015612058576120586120b3565b500390565b600181811c9082168061207157607f821691505b6020821081141561209257634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156120ac576120ac6120b3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146120de57600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f0a70dd0801b083f8a770dcff0938424ffbc4f47a77bf786621d4ce21d9da11264736f6c63430008040033
0x60806040523480156200001157600080fd5b5060408051808201825260168082527f564f5941595f4469766964656e645f547261636b657200000000000000000000602080840182815285518087019096529285528401528151919291839183916200006e91600391620000e0565b50805162000084906004906020840190620000e0565b5050610bb86008555050600a80546001600160a01b0319163390811790915560405190915081906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610e10601255620001c3565b828054620000ee9062000186565b90600052602060002090601f0160209004810192826200011257600085556200015d565b82601f106200012d57805160ff19168380011785556200015d565b828001600101855582156200015d579182015b828111156200015d57825182559160200191906001019062000140565b506200016b9291506200016f565b5090565b5b808211156200016b576000815560010162000170565b600181811c908216806200019b57607f821691505b60208210811415620001bd57634e487b7160e01b600052602260045260246000fd5b50919050565b61218680620001d36000396000f3fe60806040526004361061021e5760003560e01c806385a6b3ae11610123578063bc4c4b37116100ab578063e98030c71161006f578063e98030c714610695578063f2fde38b146106b5578063f39b5020146106d5578063fbcbc0f1146106eb578063ffb2c4791461070b57600080fd5b8063bc4c4b37146105dc578063c38f9cad146105fc578063dd62ed3e1461061a578063e30443bc14610660578063e7841ec01461068057600080fd5b80639d55d16f116100f25780639d55d16f14610526578063a457c2d714610546578063a8b9d24014610566578063a9059cbb14610586578063aafd847a146105a657600080fd5b806385a6b3ae146104b35780638da5cb5b146104c957806391b89fba146104f157806395d89b411461051157600080fd5b8063313ce567116101a65780635183d6fd116101755780635183d6fd146103d85780636a4740021461043d5780636f2789ec1461045257806370a0823114610468578063715018a61461049e57600080fd5b8063313ce5671461034c57806331e79db01461036857806339509351146103885780634e7b827f146103a857600080fd5b806318160ddd116101ed57806318160ddd146102b4578063226cfa3d146102c957806323b872dd146102f657806327ce0147146103165780633009a6091461033657600080fd5b806303c833021461023257806306fdde031461023a578063095ea7b31461026557806309bbedde1461029557600080fd5b3661022d5761022b610746565b005b600080fd5b61022b610746565b34801561024657600080fd5b5061024f6107d9565b60405161025c9190611ee7565b60405180910390f35b34801561027157600080fd5b50610285610280366004611e1f565b61086b565b604051901515815260200161025c565b3480156102a157600080fd5b50600b545b60405190815260200161025c565b3480156102c057600080fd5b506002546102a6565b3480156102d557600080fd5b506102a66102e4366004611dab565b60116020526000908152604090205481565b34801561030257600080fd5b50610285610311366004611e77565b610882565b34801561032257600080fd5b506102a6610331366004611dab565b6108eb565b34801561034257600080fd5b506102a6600f5481565b34801561035857600080fd5b506040516012815260200161025c565b34801561037457600080fd5b5061022b610383366004611dab565b610947565b34801561039457600080fd5b506102856103a3366004611e1f565b610a77565b3480156103b457600080fd5b506102856103c3366004611dab565b60106020526000908152604090205460ff1681565b3480156103e457600080fd5b506103f86103f3366004611ecf565b610aad565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161025c565b34801561044957600080fd5b5061022b610c1f565b34801561045e57600080fd5b506102a660125481565b34801561047457600080fd5b506102a6610483366004611dab565b6001600160a01b031660009081526020819052604090205490565b3480156104aa57600080fd5b5061022b610cc3565b3480156104bf57600080fd5b506102a660095481565b3480156104d557600080fd5b50600a546040516001600160a01b03909116815260200161025c565b3480156104fd57600080fd5b506102a661050c366004611dab565b610d37565b34801561051d57600080fd5b5061024f610d42565b34801561053257600080fd5b5061022b610541366004611ecf565b610d51565b34801561055257600080fd5b50610285610561366004611e1f565b610e31565b34801561057257600080fd5b506102a6610581366004611dab565b610e80565b34801561059257600080fd5b506102856105a1366004611e1f565b610eac565b3480156105b257600080fd5b506102a66105c1366004611dab565b6001600160a01b031660009081526007602052604090205490565b3480156105e857600080fd5b506102856105f7366004611de3565b610eb9565b34801561060857600080fd5b506102a669021e19e0c9bab240000081565b34801561062657600080fd5b506102a6610635366004611e4a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561066c57600080fd5b5061022b61067b366004611e1f565b610f67565b34801561068c57600080fd5b50600f546102a6565b3480156106a157600080fd5b5061022b6106b0366004611ecf565b6110dd565b3480156106c157600080fd5b5061022b6106d0366004611dab565b61124d565b3480156106e157600080fd5b506102a660085481565b3480156106f757600080fd5b506103f8610706366004611dab565b611338565b34801561071757600080fd5b5061072b610726366004611ecf565b6114b0565b6040805193845260208401929092529082015260600161025c565b600061075160025490565b1161075b57600080fd5b34156107d75761078e61076d60025490565b61077b34600160801b6115d9565b6107859190611fc8565b6005549061165f565b60055560405134815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a26009546107d3903461165f565b6009555b565b6060600380546107e89061205d565b80601f01602080910402602001604051908101604052809291908181526020018280546108149061205d565b80156108615780601f1061083657610100808354040283529160200191610861565b820191906000526020600020905b81548152906001019060200180831161084457829003601f168201915b5050505050905090565b60006108783384846116be565b5060015b92915050565b600061088f8484846117e2565b6108e184336108dc85604051806060016040528060288152602001612104602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061183f565b6116be565b5060019392505050565b6001600160a01b03811660009081526006602090815260408083205491839052822054600554600160801b9261093d92610938926109329161092d91906115d9565b611879565b90611889565b6118c7565b61087c9190611fc8565b600a546001600160a01b0316331461097a5760405162461bcd60e51b815260040161097190611f3a565b60405180910390fd5b6001600160a01b03811660009081526010602052604090205460ff16156109a057600080fd5b6001600160a01b0381166000908152601060205260408120805460ff191660011790556109ce9082906118da565b60405163131836e760e21b8152600b60048201526001600160a01b038216602482015273be14e3ecb18603b57e7c916633449db9ebc324ac90634c60db9c9060440160006040518083038186803b158015610a2857600080fd5b505af4158015610a3c573d6000803e3d6000fd5b50506040516001600160a01b03841692507fbc358c1a6bbec2cf1d21c2fb5a564b55d7828e32fb5da64adf3c5479264650109150600090a250565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916108789185906108dc908661165f565b600080600080600080600080600b73be14e3ecb18603b57e7c916633449db9ebc324ac63deb3d89690916040518263ffffffff1660e01b8152600401610af591815260200190565b60206040518083038186803b158015610b0d57600080fd5b505af4158015610b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b459190611eb7565b8910610b6a575060009650600019955085945086935083925082915081905080610c14565b6040516368d54f3f60e11b8152600b6004820152602481018a905260009073be14e3ecb18603b57e7c916633449db9ebc324ac9063d1aa9e7e9060440160206040518083038186803b158015610bbf57600080fd5b505af4158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611dc7565b9050610c0281611338565b98509850985098509850985098509850505b919395975091939597565b60405162461bcd60e51b815260206004820152606760248201527f564f5941595f4469766964656e645f547261636b65723a20776974686472617760448201527f4469766964656e642064697361626c65642e20557365207468652027636c616960648201527f6d272066756e6374696f6e206f6e20746865206d61696e20564f59415920636f608482015266373a3930b1ba1760c91b60a482015260c401610971565b600a546001600160a01b03163314610ced5760405162461bcd60e51b815260040161097190611f3a565b600a546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600a80546001600160a01b0319169055565b600061087c82610e80565b6060600480546107e89061205d565b600a546001600160a01b03163314610d7b5760405162461bcd60e51b815260040161097190611f3a565b600854811415610dfe5760405162461bcd60e51b815260206004820152604260248201527f564f5941595f4469766964656e645f547261636b65723a2043616e6e6f74207560448201527f706461746520676173466f725472616e7366657220746f2073616d652076616c606482015261756560f01b608482015260a401610971565b60085460405182907f5e2963a3d7c88b344b101641f89a2f7da9734fc777ed11ad0097b2775a9e9d1790600090a3600855565b600061087833846108dc8560405180606001604052806025815260200161212c602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061183f565b6001600160a01b03811660009081526007602052604081205461087c90610ea6846108eb565b90611939565b60006108783384846117e2565b600a546000906001600160a01b03163314610ee65760405162461bcd60e51b815260040161097190611f3a565b6000610ef18461197b565b90508015610f5d576001600160a01b038416600081815260116020526040908190204290555184151591907fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf09290610f4b9085815260200190565b60405180910390a3600191505061087c565b5060009392505050565b600a546001600160a01b03163314610f915760405162461bcd60e51b815260040161097190611f3a565b6001600160a01b03821660009081526010602052604090205460ff1615610fb6575050565b69021e19e0c9bab2400000811061104f57610fd182826118da565b604051632f0ad01760e21b8152600b60048201526001600160a01b03831660248201526044810182905273be14e3ecb18603b57e7c916633449db9ebc324ac9063bc2b405c9060640160006040518083038186803b15801561103257600080fd5b505af4158015611046573d6000803e3d6000fd5b505050506110cd565b61105a8260006118da565b60405163131836e760e21b8152600b60048201526001600160a01b038316602482015273be14e3ecb18603b57e7c916633449db9ebc324ac90634c60db9c9060440160006040518083038186803b1580156110b457600080fd5b505af41580156110c8573d6000803e3d6000fd5b505050505b6110d8826001610eb9565b505050565b600a546001600160a01b031633146111075760405162461bcd60e51b815260040161097190611f3a565b610e10811015801561111c5750620151808111155b6111a25760405162461bcd60e51b815260206004820152604b60248201527f564f5941595f4469766964656e645f547261636b65723a20636c61696d57616960448201527f74206d757374206265207570646174656420746f206265747765656e2031206160648201526a6e6420323420686f75727360a81b608482015260a401610971565b60125481141561121a5760405162461bcd60e51b815260206004820152603d60248201527f564f5941595f4469766964656e645f547261636b65723a2043616e6e6f74207560448201527f706461746520636c61696d5761697420746f2073616d652076616c75650000006064820152608401610971565b60125460405182907f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f90600090a3601255565b600a546001600160a01b031633146112775760405162461bcd60e51b815260040161097190611f3a565b6001600160a01b0381166112dc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610971565b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6040516317e142d160e01b8152600b60048201526001600160a01b0382166024820152819060009081908190819081908190819073be14e3ecb18603b57e7c916633449db9ebc324ac906317e142d19060440160206040518083038186803b1580156113a357600080fd5b505af41580156113b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113db9190611eb7565b965060001995506000871261143d57600f5487111561140957600f54611402908890611abe565b955061143d565b600f54600b546000911061141e57600061142d565b600f54600b5461142d91611939565b90506114398882611889565b9650505b61144688610e80565b9450611451886108eb565b6001600160a01b03891660009081526011602052604090205490945092508261147b576000611489565b60125461148990849061165f565b91504282116114995760006114a3565b6114a38242611939565b9050919395975091939597565b600b5460009081908190806114d0575050600f54600092508291506115d2565b600f546000805a90506000805b89841080156114eb57508582105b156115c157846114fa81612098565b600b549096508610905061150d57600094505b6000600b600001868154811061153357634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316808352601190915260409091205490915061156490611afb565b1561158757611574816001610eb9565b15611587578161158381612098565b9250505b8261159181612098565b93505060005a9050808511156115b8576115b56115ae8683611939565b879061165f565b95505b93506114dd9050565b600f85905590975095509193505050505b9193909250565b6000826115e85750600061087c565b60006115f48385611fe8565b9050826116018583611fc8565b146116585760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610971565b9392505050565b60008061166c8385611fb0565b9050838110156116585760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610971565b6001600160a01b0383166117205760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610971565b6001600160a01b0382166117815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610971565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60405162461bcd60e51b815260206004820152602c60248201527f564f5941595f4469766964656e645f547261636b65723a204e6f207472616e7360448201526b19995c9cc8185b1b1bddd95960a21b6064820152608401610971565b600081848411156118635760405162461bcd60e51b81526004016109719190611ee7565b5060006118708486612046565b95945050505050565b6000818181121561087c57600080fd5b6000806118968385611f6f565b9050600083121580156118a95750838112155b806118be57506000831280156118be57508381125b61165857600080fd5b6000808212156118d657600080fd5b5090565b6001600160a01b038216600090815260208190526040902054808211156119195760006119078383611939565b90506119138482611b22565b50505050565b808210156110d857600061192d8284611939565b90506119138482611b86565b600061165883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061183f565b60008061198783610e80565b90508015611ab5576001600160a01b0383166000908152600760205260409020546119b2908261165f565b6001600160a01b038416600081815260076020526040908190209290925590517fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d90611a019084815260200190565b60405180910390a26008546040516000916001600160a01b03861691849084818181858888f193505050503d8060008114611a58576040519150601f19603f3d011682016040523d82523d6000602084013e611a5d565b606091505b5050905080611aae576001600160a01b038416600090815260076020526040902054611a899083611939565b6001600160a01b03909416600090815260076020526040812094909455509192915050565b5092915050565b50600092915050565b600080611acb8385612007565b905060008312158015611ade5750838113155b806118be57506000831280156118be575083811361165857600080fd5b600042821115611b0d57506000919050565b601254611b1a4284611939565b101592915050565b611b2c8282611bca565b611b66611b4761092d836005546115d990919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611abe565b6001600160a01b0390921660009081526006602052604090209190915550565b611b908282611ca7565b611b66611bab61092d836005546115d990919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611889565b6001600160a01b038216611c205760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610971565b600254611c2d908261165f565b6002556001600160a01b038216600090815260208190526040902054611c53908261165f565b6001600160a01b03831660009081526020818152604080832093909355915183815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6001600160a01b038216611d075760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610971565b611d44816040518060600160405280602281526020016120e2602291396001600160a01b038516600090815260208190526040902054919061183f565b6001600160a01b038316600090815260208190526040902055600254611d6a9082611939565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611c9b565b600060208284031215611dbc578081fd5b8135611658816120c9565b600060208284031215611dd8578081fd5b8151611658816120c9565b60008060408385031215611df5578081fd5b8235611e00816120c9565b915060208301358015158114611e14578182fd5b809150509250929050565b60008060408385031215611e31578182fd5b8235611e3c816120c9565b946020939093013593505050565b60008060408385031215611e5c578182fd5b8235611e67816120c9565b91506020830135611e14816120c9565b600080600060608486031215611e8b578081fd5b8335611e96816120c9565b92506020840135611ea6816120c9565b929592945050506040919091013590565b600060208284031215611ec8578081fd5b5051919050565b600060208284031215611ee0578081fd5b5035919050565b6000602080835283518082850152825b81811015611f1357858101830151858201604001528201611ef7565b81811115611f245783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080821280156001600160ff1b0384900385131615611f9157611f916120b3565b600160ff1b8390038412811615611faa57611faa6120b3565b50500190565b60008219821115611fc357611fc36120b3565b500190565b600082611fe357634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612002576120026120b3565b500290565b60008083128015600160ff1b850184121615612025576120256120b3565b6001600160ff1b0384018313811615612040576120406120b3565b50500390565b600082821015612058576120586120b3565b500390565b600181811c9082168061207157607f821691505b6020821081141561209257634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156120ac576120ac6120b3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146120de57600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f0a70dd0801b083f8a770dcff0938424ffbc4f47a77bf786621d4ce21d9da11264736f6c63430008040033