0x608060405234801561001057600080fd5b50600436106101585760003560e01c806395d89b41116100c3578063dd62ed3e1161007c578063dd62ed3e146102c9578063e270ff3e14610302578063e725d73714610315578063ef0d410714610348578063f86f2c591461035b578063f9026b861461036e57600080fd5b806395d89b411461026f578063a9059cbb14610277578063ac1a161c1461028a578063b11cd64a1461029d578063b920a669146102a3578063d7e66f02146102b657600080fd5b806323b872dd1161011557806323b872dd146101eb57806327a85293146101fe578063313ce567146102115780633c3b0dc71461022057806370a08231146102335780638bd79d281461025c57600080fd5b806306fdde031461015d578063095ea7b31461017b5780630d2a2c7a1461019e5780631102b7da146101b357806318160ddd146101c65780631b635236146101d8575b600080fd5b610165610381565b604051610172919061157e565b60405180910390f35b61018e6101893660046115e8565b610413565b6040519015158152602001610172565b6101b16101ac366004611660565b610429565b005b6101b16101c13660046116b7565b6106a7565b6002545b604051908152602001610172565b6101b16101e6366004611731565b6107a8565b61018e6101f9366004611755565b6107eb565b6101b161020c366004611796565b61089c565b60405160128152602001610172565b6101ca61022e3660046117af565b610a5e565b6101ca6102413660046117df565b6001600160a01b031660009081526020819052604090205490565b6101b161026a3660046117fc565b610b30565b610165610bce565b61018e6102853660046115e8565b610bdd565b6101b16102983660046117af565b610bea565b426101ca565b6101b16102b1366004611660565b610e07565b6101ca6102c4366004611660565b610e88565b6101ca6102d7366004611848565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101b1610310366004611796565b610f4c565b6101ca6103233660046117af565b6001600160a01b03166000908152600a60209081526040808320938352929052205490565b6101b1610356366004611796565b610f9d565b6101b1610369366004611876565b611042565b6101b161037c366004611876565b6110d5565b606060038054610390906118d5565b80601f01602080910402602001604051908101604052809291908181526020018280546103bc906118d5565b80156104095780601f106103de57610100808354040283529160200191610409565b820191906000526020600020905b8154815290600101906020018083116103ec57829003601f168201915b5050505050905090565b60006104203384846111e1565b50600192915050565b600260055414156104555760405162461bcd60e51b815260040161044c90611910565b60405180910390fd5b600260055560075460ff161561047d5760405162461bcd60e51b815260040161044c90611947565b81600080806104ab856001600160a01b0316600090815260096020526040902054670de0b6b3a76400000290565b905042816104cb5760405162461bcd60e51b815260040161044c90611974565b60005b858110156106325760008989838181106104ea576104ea6119ab565b905060200201359050876001600160a01b0316636352211e826040518263ffffffff1660e01b815260040161052191815260200190565b602060405180830381865afa15801561053e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056291906119c1565b6001600160a01b0316336001600160a01b0316146105925760405162461bcd60e51b815260040161044c906119de565b6001600160a01b0388166000908152600a602090815260408083208484529091529020546105c45760065495506105f5565b6001600160a01b0388166000908152600a602090815260408083208484529091529020546201518090840304840295505b6001861115610629576001600160a01b0388166000908152600a602090815260408083208484529091529020839055938501935b506001016104ce565b506001831161068e5760405162461bcd60e51b815260206004820152602260248201527f596f75722070756e6b73206469646e277420776f726b206861726420656e6f756044820152610ced60f31b606482015260840161044c565b61069833846112d0565b50506001600555505050505050565b6007546001600160a01b036101009091041633146106d75760405162461bcd60e51b815260040161044c90611a20565b8281146107265760405162461bcd60e51b815260206004820152601a60248201527f4d757374206861766520657175616c2061727261792073697a65000000000000604482015260640161044c565b60005b838110156107a157848482818110610743576107436119ab565b9050602002013560096000858585818110610760576107606119ab565b905060200201602081019061077591906117df565b6001600160a01b031681526020810191909152604001600020558061079981611a6b565b915050610729565b5050505050565b6007546001600160a01b036101009091041633146107d85760405162461bcd60e51b815260040161044c90611a20565b6007805460ff1916911515919091179055565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461088657828110156108795760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161044c565b61088685338584036111e1565b6108918585856113af565b506001949350505050565b600260055414156108bf5760405162461bcd60e51b815260040161044c90611910565b6002600555806109115760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161044c565b600854604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa15801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190611a86565b10156109c85760405162461bcd60e51b81526020600482015260146024820152734e6f7420656e6f75676820616c6c6f77616e636560601b604482015260640161044c565b6008546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a439190611a9f565b610a4c57600080fd5b610a5633826112d0565b506001600555565b60075460009060ff1615610a845760405162461bcd60e51b815260040161044c90611947565b6001600160a01b038216600090815260096020526040812054670de0b6b3a76400000280610ac45760405162461bcd60e51b815260040161044c90611974565b6001600160a01b0384166000908152600a60209081526040808320888452909152902054610af6576006549150610b28565b6001600160a01b0384166000908152600a60209081526040808320888452909152902054819062015180904203040291505b509392505050565b6007546001600160a01b03610100909104163314610b605760405162461bcd60e51b815260040161044c90611a20565b670de0b6b3a7640000811015610b8557610b8281670de0b6b3a7640000611abc565b90505b60005b82811015610bc857610bc0848483818110610ba557610ba56119ab565b9050602002016020810190610bba91906117df565b836112d0565b600101610b88565b50505050565b606060048054610390906118d5565b60006104203384846113af565b60026005541415610c0d5760405162461bcd60e51b815260040161044c90611910565b600260055560075460ff1615610c355760405162461bcd60e51b815260040161044c90611947565b6040516331a9108f60e11b8152600481018390526001600160a01b03821690636352211e90602401602060405180830381865afa158015610c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9e91906119c1565b6001600160a01b0316336001600160a01b031614610cce5760405162461bcd60e51b815260040161044c906119de565b6001600160a01b038116600090815260096020526040812054670de0b6b3a76400000280610d0e5760405162461bcd60e51b815260040161044c90611974565b6001600160a01b0383166000908152600a60209081526040808320878452909152902054610d40576006549150610d72565b6001600160a01b0383166000908152600a60209081526040808320878452909152902054819062015180904203040291505b60018211610dcc5760405162461bcd60e51b815260206004820152602160248201527f596f75722070756e6b206469646e277420776f726b206861726420656e6f75676044820152600d60fb1b606482015260840161044c565b6001600160a01b0383166000908152600a602090815260408083208784529091529020429055610dfc33836112d0565b505060016005555050565b60026005541415610e2a5760405162461bcd60e51b815260040161044c90611910565b600260055560005b82811015610dfc576001600160a01b0382166000908152600a602052604081204291868685818110610e6657610e666119ab565b6020908102929092013583525081019190915260400160002055600101610e32565b600080805b84811015610f435730633c3b0dc7878784818110610ead57610ead6119ab565b90506020020135866040518363ffffffff1660e01b8152600401610ee49291909182526001600160a01b0316602082015260400190565b602060405180830381865afa158015610f01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f259190611a86565b610f2f9083611adb565b915080610f3b81611a6b565b915050610e8d565b50949350505050565b6007546001600160a01b03610100909104163314610f7c5760405162461bcd60e51b815260040161044c90611a20565b610f8e81670de0b6b3a7640000611abc565b9050610f9a33826112d0565b50565b80610ffa5760405162461bcd60e51b815260206004820152602760248201527f43616e742073657420612072656465656d52617465206f66205a65726f20666f6044820152661c88199a5c9cdd60ca1b606482015260840161044c565b6007546001600160a01b0361010090910416331461102a5760405162461bcd60e51b815260040161044c90611a20565b61103c81670de0b6b3a7640000611abc565b60065550565b6007546001600160a01b036101009091041633146110725760405162461bcd60e51b815260040161044c90611a20565b60005b838110156107a1576001600160a01b0382166000908152600a6020526040812084918787858181106110a9576110a96119ab565b9050602002013581526020019081526020016000208190555080806110cd90611a6b565b915050611075565b6007546001600160a01b036101009091041633146111055760405162461bcd60e51b815260040161044c90611a20565b61111782670de0b6b3a7640000611abc565b9150670de0b6b3a764000082101561113e5761113b82670de0b6b3a7640000611abc565b91505b60005b838110156107a1576111d9826001600160a01b0316636352211e87878581811061116d5761116d6119ab565b905060200201356040518263ffffffff1660e01b815260040161119291815260200190565b602060405180830381865afa1580156111af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d391906119c1565b846112d0565b600101611141565b6001600160a01b0383166112435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044c565b6001600160a01b0382166112a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044c565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b6001600160a01b0382166113265760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161044c565b80600260008282546113389190611adb565b90915550506001600160a01b03821660009081526020819052604081208054839290611365908490611adb565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0383166114135760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044c565b6001600160a01b0382166114755760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044c565b6001600160a01b038316600090815260208190526040902054818110156114ed5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161044c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611524908490611adb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161157091815260200190565b60405180910390a350505050565b600060208083528351808285015260005b818110156115ab5785810183015185820160400152820161158f565b818111156115bd576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610f9a57600080fd5b600080604083850312156115fb57600080fd5b8235611606816115d3565b946020939093013593505050565b60008083601f84011261162657600080fd5b50813567ffffffffffffffff81111561163e57600080fd5b6020830191508360208260051b850101111561165957600080fd5b9250929050565b60008060006040848603121561167557600080fd5b833567ffffffffffffffff81111561168c57600080fd5b61169886828701611614565b90945092505060208401356116ac816115d3565b809150509250925092565b600080600080604085870312156116cd57600080fd5b843567ffffffffffffffff808211156116e557600080fd5b6116f188838901611614565b9096509450602087013591508082111561170a57600080fd5b5061171787828801611614565b95989497509550505050565b8015158114610f9a57600080fd5b60006020828403121561174357600080fd5b813561174e81611723565b9392505050565b60008060006060848603121561176a57600080fd5b8335611775816115d3565b92506020840135611785816115d3565b929592945050506040919091013590565b6000602082840312156117a857600080fd5b5035919050565b600080604083850312156117c257600080fd5b8235915060208301356117d4816115d3565b809150509250929050565b6000602082840312156117f157600080fd5b813561174e816115d3565b60008060006040848603121561181157600080fd5b833567ffffffffffffffff81111561182857600080fd5b61183486828701611614565b909790965060209590950135949350505050565b6000806040838503121561185b57600080fd5b8235611866816115d3565b915060208301356117d4816115d3565b6000806000806060858703121561188c57600080fd5b843567ffffffffffffffff8111156118a357600080fd5b6118af87828801611614565b9095509350506020850135915060408501356118ca816115d3565b939692955090935050565b600181811c908216806118e957607f821691505b6020821081141561190a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252601390820152725374616b696e67206973206f6e20706175736560681b604082015260600190565b6020808252601d908201527f54686973204e46542063616e742067656e657261746520434841524745000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119d357600080fd5b815161174e816115d3565b60208082526022908201527f596f7520617265206e6f7420746865206f776e6572206f6620746869732070756040820152616e6b60f01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000600019821415611a7f57611a7f611a55565b5060010190565b600060208284031215611a9857600080fd5b5051919050565b600060208284031215611ab157600080fd5b815161174e81611723565b6000816000190483118215151615611ad657611ad6611a55565b500290565b60008219821115611aee57611aee611a55565b50019056fea264697066735822122087870c0f55e4c43c1757221ff584e1735cef51dea6b9d620cd9ce2c21a8e22cf64736f6c634300080a0033
0x60806040526803cb71f51fc55800006006553480156200001e57600080fd5b5060408051808201825260088082526721b430b933b2ab1960c11b602080840182815285518087019096529285528401528151919291620000629160039162000106565b5080516200007890600490602084019062000106565b505060016005555060078054610100600160a81b031916610100330217905560088054730235a4fa8374fd49bb2f01ac953f99748756f3bd6001600160a01b03199091161790557314b98025b6e87c0b8f297f4456797d22cbdf99a86000526009602052600a7fe19dd43a89cb4ff37232b4653b11db7f90a9e46ceb8cbb7a37b0350e6f41618055620001e9565b8280546200011490620001ac565b90600052602060002090601f01602090048101928262000138576000855562000183565b82601f106200015357805160ff191683800117855562000183565b8280016001018555821562000183579182015b828111156200018357825182559160200191906001019062000166565b506200019192915062000195565b5090565b5b8082111562000191576000815560010162000196565b600181811c90821680620001c157607f821691505b60208210811415620001e357634e487b7160e01b600052602260045260246000fd5b50919050565b611b2980620001f96000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806395d89b41116100c3578063dd62ed3e1161007c578063dd62ed3e146102c9578063e270ff3e14610302578063e725d73714610315578063ef0d410714610348578063f86f2c591461035b578063f9026b861461036e57600080fd5b806395d89b411461026f578063a9059cbb14610277578063ac1a161c1461028a578063b11cd64a1461029d578063b920a669146102a3578063d7e66f02146102b657600080fd5b806323b872dd1161011557806323b872dd146101eb57806327a85293146101fe578063313ce567146102115780633c3b0dc71461022057806370a08231146102335780638bd79d281461025c57600080fd5b806306fdde031461015d578063095ea7b31461017b5780630d2a2c7a1461019e5780631102b7da146101b357806318160ddd146101c65780631b635236146101d8575b600080fd5b610165610381565b604051610172919061157e565b60405180910390f35b61018e6101893660046115e8565b610413565b6040519015158152602001610172565b6101b16101ac366004611660565b610429565b005b6101b16101c13660046116b7565b6106a7565b6002545b604051908152602001610172565b6101b16101e6366004611731565b6107a8565b61018e6101f9366004611755565b6107eb565b6101b161020c366004611796565b61089c565b60405160128152602001610172565b6101ca61022e3660046117af565b610a5e565b6101ca6102413660046117df565b6001600160a01b031660009081526020819052604090205490565b6101b161026a3660046117fc565b610b30565b610165610bce565b61018e6102853660046115e8565b610bdd565b6101b16102983660046117af565b610bea565b426101ca565b6101b16102b1366004611660565b610e07565b6101ca6102c4366004611660565b610e88565b6101ca6102d7366004611848565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101b1610310366004611796565b610f4c565b6101ca6103233660046117af565b6001600160a01b03166000908152600a60209081526040808320938352929052205490565b6101b1610356366004611796565b610f9d565b6101b1610369366004611876565b611042565b6101b161037c366004611876565b6110d5565b606060038054610390906118d5565b80601f01602080910402602001604051908101604052809291908181526020018280546103bc906118d5565b80156104095780601f106103de57610100808354040283529160200191610409565b820191906000526020600020905b8154815290600101906020018083116103ec57829003601f168201915b5050505050905090565b60006104203384846111e1565b50600192915050565b600260055414156104555760405162461bcd60e51b815260040161044c90611910565b60405180910390fd5b600260055560075460ff161561047d5760405162461bcd60e51b815260040161044c90611947565b81600080806104ab856001600160a01b0316600090815260096020526040902054670de0b6b3a76400000290565b905042816104cb5760405162461bcd60e51b815260040161044c90611974565b60005b858110156106325760008989838181106104ea576104ea6119ab565b905060200201359050876001600160a01b0316636352211e826040518263ffffffff1660e01b815260040161052191815260200190565b602060405180830381865afa15801561053e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056291906119c1565b6001600160a01b0316336001600160a01b0316146105925760405162461bcd60e51b815260040161044c906119de565b6001600160a01b0388166000908152600a602090815260408083208484529091529020546105c45760065495506105f5565b6001600160a01b0388166000908152600a602090815260408083208484529091529020546201518090840304840295505b6001861115610629576001600160a01b0388166000908152600a602090815260408083208484529091529020839055938501935b506001016104ce565b506001831161068e5760405162461bcd60e51b815260206004820152602260248201527f596f75722070756e6b73206469646e277420776f726b206861726420656e6f756044820152610ced60f31b606482015260840161044c565b61069833846112d0565b50506001600555505050505050565b6007546001600160a01b036101009091041633146106d75760405162461bcd60e51b815260040161044c90611a20565b8281146107265760405162461bcd60e51b815260206004820152601a60248201527f4d757374206861766520657175616c2061727261792073697a65000000000000604482015260640161044c565b60005b838110156107a157848482818110610743576107436119ab565b9050602002013560096000858585818110610760576107606119ab565b905060200201602081019061077591906117df565b6001600160a01b031681526020810191909152604001600020558061079981611a6b565b915050610729565b5050505050565b6007546001600160a01b036101009091041633146107d85760405162461bcd60e51b815260040161044c90611a20565b6007805460ff1916911515919091179055565b6001600160a01b0383166000908152600160209081526040808320338452909152812054600019811461088657828110156108795760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161044c565b61088685338584036111e1565b6108918585856113af565b506001949350505050565b600260055414156108bf5760405162461bcd60e51b815260040161044c90611910565b6002600555806109115760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604482015260640161044c565b600854604051636eb1769f60e11b815233600482015230602482015282916001600160a01b03169063dd62ed3e90604401602060405180830381865afa15801561095f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190611a86565b10156109c85760405162461bcd60e51b81526020600482015260146024820152734e6f7420656e6f75676820616c6c6f77616e636560601b604482015260640161044c565b6008546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610a1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a439190611a9f565b610a4c57600080fd5b610a5633826112d0565b506001600555565b60075460009060ff1615610a845760405162461bcd60e51b815260040161044c90611947565b6001600160a01b038216600090815260096020526040812054670de0b6b3a76400000280610ac45760405162461bcd60e51b815260040161044c90611974565b6001600160a01b0384166000908152600a60209081526040808320888452909152902054610af6576006549150610b28565b6001600160a01b0384166000908152600a60209081526040808320888452909152902054819062015180904203040291505b509392505050565b6007546001600160a01b03610100909104163314610b605760405162461bcd60e51b815260040161044c90611a20565b670de0b6b3a7640000811015610b8557610b8281670de0b6b3a7640000611abc565b90505b60005b82811015610bc857610bc0848483818110610ba557610ba56119ab565b9050602002016020810190610bba91906117df565b836112d0565b600101610b88565b50505050565b606060048054610390906118d5565b60006104203384846113af565b60026005541415610c0d5760405162461bcd60e51b815260040161044c90611910565b600260055560075460ff1615610c355760405162461bcd60e51b815260040161044c90611947565b6040516331a9108f60e11b8152600481018390526001600160a01b03821690636352211e90602401602060405180830381865afa158015610c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9e91906119c1565b6001600160a01b0316336001600160a01b031614610cce5760405162461bcd60e51b815260040161044c906119de565b6001600160a01b038116600090815260096020526040812054670de0b6b3a76400000280610d0e5760405162461bcd60e51b815260040161044c90611974565b6001600160a01b0383166000908152600a60209081526040808320878452909152902054610d40576006549150610d72565b6001600160a01b0383166000908152600a60209081526040808320878452909152902054819062015180904203040291505b60018211610dcc5760405162461bcd60e51b815260206004820152602160248201527f596f75722070756e6b206469646e277420776f726b206861726420656e6f75676044820152600d60fb1b606482015260840161044c565b6001600160a01b0383166000908152600a602090815260408083208784529091529020429055610dfc33836112d0565b505060016005555050565b60026005541415610e2a5760405162461bcd60e51b815260040161044c90611910565b600260055560005b82811015610dfc576001600160a01b0382166000908152600a602052604081204291868685818110610e6657610e666119ab565b6020908102929092013583525081019190915260400160002055600101610e32565b600080805b84811015610f435730633c3b0dc7878784818110610ead57610ead6119ab565b90506020020135866040518363ffffffff1660e01b8152600401610ee49291909182526001600160a01b0316602082015260400190565b602060405180830381865afa158015610f01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f259190611a86565b610f2f9083611adb565b915080610f3b81611a6b565b915050610e8d565b50949350505050565b6007546001600160a01b03610100909104163314610f7c5760405162461bcd60e51b815260040161044c90611a20565b610f8e81670de0b6b3a7640000611abc565b9050610f9a33826112d0565b50565b80610ffa5760405162461bcd60e51b815260206004820152602760248201527f43616e742073657420612072656465656d52617465206f66205a65726f20666f6044820152661c88199a5c9cdd60ca1b606482015260840161044c565b6007546001600160a01b0361010090910416331461102a5760405162461bcd60e51b815260040161044c90611a20565b61103c81670de0b6b3a7640000611abc565b60065550565b6007546001600160a01b036101009091041633146110725760405162461bcd60e51b815260040161044c90611a20565b60005b838110156107a1576001600160a01b0382166000908152600a6020526040812084918787858181106110a9576110a96119ab565b9050602002013581526020019081526020016000208190555080806110cd90611a6b565b915050611075565b6007546001600160a01b036101009091041633146111055760405162461bcd60e51b815260040161044c90611a20565b61111782670de0b6b3a7640000611abc565b9150670de0b6b3a764000082101561113e5761113b82670de0b6b3a7640000611abc565b91505b60005b838110156107a1576111d9826001600160a01b0316636352211e87878581811061116d5761116d6119ab565b905060200201356040518263ffffffff1660e01b815260040161119291815260200190565b602060405180830381865afa1580156111af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d391906119c1565b846112d0565b600101611141565b6001600160a01b0383166112435760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161044c565b6001600160a01b0382166112a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161044c565b6001600160a01b0392831660009081526001602090815260408083209490951682529290925291902055565b6001600160a01b0382166113265760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161044c565b80600260008282546113389190611adb565b90915550506001600160a01b03821660009081526020819052604081208054839290611365908490611adb565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0383166114135760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161044c565b6001600160a01b0382166114755760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161044c565b6001600160a01b038316600090815260208190526040902054818110156114ed5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161044c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611524908490611adb565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161157091815260200190565b60405180910390a350505050565b600060208083528351808285015260005b818110156115ab5785810183015185820160400152820161158f565b818111156115bd576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610f9a57600080fd5b600080604083850312156115fb57600080fd5b8235611606816115d3565b946020939093013593505050565b60008083601f84011261162657600080fd5b50813567ffffffffffffffff81111561163e57600080fd5b6020830191508360208260051b850101111561165957600080fd5b9250929050565b60008060006040848603121561167557600080fd5b833567ffffffffffffffff81111561168c57600080fd5b61169886828701611614565b90945092505060208401356116ac816115d3565b809150509250925092565b600080600080604085870312156116cd57600080fd5b843567ffffffffffffffff808211156116e557600080fd5b6116f188838901611614565b9096509450602087013591508082111561170a57600080fd5b5061171787828801611614565b95989497509550505050565b8015158114610f9a57600080fd5b60006020828403121561174357600080fd5b813561174e81611723565b9392505050565b60008060006060848603121561176a57600080fd5b8335611775816115d3565b92506020840135611785816115d3565b929592945050506040919091013590565b6000602082840312156117a857600080fd5b5035919050565b600080604083850312156117c257600080fd5b8235915060208301356117d4816115d3565b809150509250929050565b6000602082840312156117f157600080fd5b813561174e816115d3565b60008060006040848603121561181157600080fd5b833567ffffffffffffffff81111561182857600080fd5b61183486828701611614565b909790965060209590950135949350505050565b6000806040838503121561185b57600080fd5b8235611866816115d3565b915060208301356117d4816115d3565b6000806000806060858703121561188c57600080fd5b843567ffffffffffffffff8111156118a357600080fd5b6118af87828801611614565b9095509350506020850135915060408501356118ca816115d3565b939692955090935050565b600181811c908216806118e957607f821691505b6020821081141561190a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252601390820152725374616b696e67206973206f6e20706175736560681b604082015260600190565b6020808252601d908201527f54686973204e46542063616e742067656e657261746520434841524745000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156119d357600080fd5b815161174e816115d3565b60208082526022908201527f596f7520617265206e6f7420746865206f776e6572206f6620746869732070756040820152616e6b60f01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000600019821415611a7f57611a7f611a55565b5060010190565b600060208284031215611a9857600080fd5b5051919050565b600060208284031215611ab157600080fd5b815161174e81611723565b6000816000190483118215151615611ad657611ad6611a55565b500290565b60008219821115611aee57611aee611a55565b50019056fea264697066735822122087870c0f55e4c43c1757221ff584e1735cef51dea6b9d620cd9ce2c21a8e22cf64736f6c634300080a0033