6080604052600b805463ffff000061ffff60601b0119166d03e800000000000000000064000017905566e6ed27d6668000600d55669fdf42f6e48000600e553480156200004b57600080fd5b50604080518082018252601481527f4d657461706c6163657320417274696661637473000000000000000000000000602080830191909152825180840190935260028352614d4160f01b90830152908181733cc6cdda760b79bafa08df41ecfa224f810dceb660016daaeb6d7670e522a718067333cd4e3b15620001f85780156200014657604051633e9f1edf60e11b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044015b600060405180830381600087803b1580156200012757600080fd5b505af11580156200013c573d6000803e3d6000fd5b50505050620001f8565b6001600160a01b03821615620001975760405163a0af290360e01b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e9063a0af2903906044016200010c565b604051632210724360e11b81523060048201526daaeb6d7670e522a718067333cd4e90634420e48690602401600060405180830381600087803b158015620001de57600080fd5b505af1158015620001f3573d6000803e3d6000fd5b505050505b505081516200020f90600290602085019062000291565b5080516200022590600390602084019062000291565b5050600080555062000237336200023f565b505062000374565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200029f9062000337565b90600052602060002090601f016020900481019282620002c357600085556200030e565b82601f10620002de57805160ff19168380011785556200030e565b828001600101855582156200030e579182015b828111156200030e578251825591602001919060010190620002f1565b506200031c92915062000320565b5090565b5b808211156200031c576000815560010162000321565b600181811c908216806200034c57607f821691505b602082108114156200036e57634e487b7160e01b600052602260045260246000fd5b50919050565b61329980620003846000396000f3fe6080604052600436106102555760003560e01c80636c0360eb11610139578063a22cb465116100b6578063d334c54f1161007a578063d334c54f146106e8578063d5abeb01146106fd578063d7224ba01461071f578063dc33e68114610735578063e985e9c514610755578063f2fde38b1461079e57600080fd5b8063a22cb46514610653578063a2309ff814610673578063b88d4fde14610688578063c507b806146106a8578063c87b56dd146106c857600080fd5b80639028241b116100fd5780639028241b1461059a5780639231ab2a146105b5578063954d90d01461060b57806395d89b411461062b5780639f02c81e1461064057600080fd5b80636c0360eb1461051257806370a0823114610527578063715018a61461054757806383e3d7691461055c5780638da5cb5b1461057c57600080fd5b80632ee4361c116101d257806355f804b31161019657806355f804b31461045557806358155dcc1461047557806362d5d3f0146104885780636352211e146104bc578063645eb7b8146104dc5780636817c76c146104fc57600080fd5b80632ee4361c146103cb5780633ccfd60b146103eb5780633f5e47411461040057806342842e0e146104155780634f558e791461043557600080fd5b806318160ddd1161021957806318160ddd1461033257806323b872dd146103555780632c4e9fc6146103755780632d20fb601461038b5780632d4d8765146103ab57600080fd5b806301ffc9a71461026157806306fdde0314610296578063081812fc146102b85780630829ea90146102f0578063095ea7b31461031257600080fd5b3661025c57005b600080fd5b34801561026d57600080fd5b5061028161027c366004612e61565b6107be565b60405190151581526020015b60405180910390f35b3480156102a257600080fd5b506102ab610810565b60405161028d9190613080565b3480156102c457600080fd5b506102d86102d3366004612e49565b6108a2565b6040516001600160a01b03909116815260200161028d565b3480156102fc57600080fd5b5061031061030b366004612dbe565b6108e6565b005b34801561031e57600080fd5b5061031061032d366004612cc5565b610a83565b34801561033e57600080fd5b50600154600054035b60405190815260200161028d565b34801561036157600080fd5b50610310610370366004612bdc565b610b11565b34801561038157600080fd5b50610347600e5481565b34801561039757600080fd5b506103106103a6366004612e49565b610c86565b3480156103b757600080fd5b506103106103c6366004612e49565b610cbc565b3480156103d757600080fd5b506102ab6103e6366004612e49565b610ceb565b3480156103f757600080fd5b50610310610d85565b34801561040c57600080fd5b50610281610e3a565b34801561042157600080fd5b50610310610430366004612bdc565b610e62565b34801561044157600080fd5b50610281610450366004612e49565b610ff2565b34801561046157600080fd5b50610310610470366004612e99565b610ffd565b610310610483366004612cee565b611033565b34801561049457600080fd5b50600b546104a99062010000900461ffff1681565b60405161ffff909116815260200161028d565b3480156104c857600080fd5b506102d86104d7366004612e49565b61125c565b3480156104e857600080fd5b506103106104f7366004612f4a565b61126e565b34801561050857600080fd5b50610347600d5481565b34801561051e57600080fd5b506102ab611425565b34801561053357600080fd5b50610347610542366004612b90565b611434565b34801561055357600080fd5b50610310611482565b34801561056857600080fd5b50610310610577366004612ef3565b6114b8565b34801561058857600080fd5b506009546001600160a01b03166102d8565b3480156105a657600080fd5b50600b546104a99061ffff1681565b3480156105c157600080fd5b506105d56105d0366004612e49565b61159b565b6040805182516001600160a01b031681526020808401516001600160401b0316908201529181015115159082015260600161028d565b34801561061757600080fd5b50610281610626366004612d7f565b6115c1565b34801561063757600080fd5b506102ab611685565b61031061064e366004612d4d565b611694565b34801561065f57600080fd5b5061031061066e366004612c8f565b611839565b34801561067f57600080fd5b50600054610347565b34801561069457600080fd5b506103106106a3366004612c17565b6118cf565b3480156106b457600080fd5b506103106106c3366004612f8f565b611acb565b3480156106d457600080fd5b506102ab6106e3366004612e49565b611b9a565b3480156106f457600080fd5b50610281611c1f565b34801561070957600080fd5b50600b546104a990600160601b900461ffff1681565b34801561072b57600080fd5b5061034760085481565b34801561074157600080fd5b50610347610750366004612b90565b611c45565b34801561076157600080fd5b50610281610770366004612baa565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b3480156107aa57600080fd5b506103106107b9366004612b90565b611c73565b60006001600160e01b031982166380ac58cd60e01b14806107ef57506001600160e01b03198216635b5e139f60e01b145b8061080a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461081f90613173565b80601f016020809104026020016040519081016040528092919081815260200182805461084b90613173565b80156108985780601f1061086d57610100808354040283529160200191610898565b820191906000526020600020905b81548152906001019060200180831161087b57829003601f168201915b5050505050905090565b60006108ad82611d0b565b6108ca576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b6009546001600160a01b031633146109195760405162461bcd60e51b815260040161091090613093565b60405180910390fd5b6000805b8281101561096e5783838281811061094557634e487b7160e01b600052603260045260246000fd5b905060400201602001358261095a91906130e5565b915080610966816131ae565b91505061091d565b50600b5461ffff6201000082048116916109899116836130e5565b11156109c55760405162461bcd60e51b815260206004820152600b60248201526a18d85b9b9bdd081b5a5b9d60aa1b6044820152606401610910565b600b80548291906000906109de90849061ffff166130c8565b92506101000a81548161ffff021916908361ffff16021790555060005b82811015610a7d57610a6b848483818110610a2657634e487b7160e01b600052603260045260246000fd5b610a3c9260206040909202019081019150612b90565b858584818110610a5c57634e487b7160e01b600052603260045260246000fd5b90506040020160200135611d36565b80610a75816131ae565b9150506109fb565b50505050565b6000610a8e8261125c565b9050806001600160a01b0316836001600160a01b03161415610ac35760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b03821614801590610ae35750610ae18133610770565b155b15610b01576040516367d9dca160e11b815260040160405180910390fd5b610b0c838383611d54565b505050565b826daaeb6d7670e522a718067333cd4e3b15610c7b576001600160a01b038116331415610b4857610b43848484611db0565b610a7d565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c61711349060440160206040518083038186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bca9190612e2d565b8015610c5c5750604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c61711349060440160206040518083038186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5c9190612e2d565b610c7b57604051633b79c77360e21b8152336004820152602401610910565b610a7d848484611db0565b6009546001600160a01b03163314610cb05760405162461bcd60e51b815260040161091090613093565b610cb981611f89565b50565b6009546001600160a01b03163314610ce65760405162461bcd60e51b815260040161091090613093565b600c55565b600a6020526000908152604090208054610d0490613173565b80601f0160208091040260200160405190810160405280929190818152602001828054610d3090613173565b8015610d7d5780601f10610d5257610100808354040283529160200191610d7d565b820191906000526020600020905b815481529060010190602001808311610d6057829003601f168201915b505050505081565b6009546001600160a01b03163314610daf5760405162461bcd60e51b815260040161091090613093565b604051600090339047908381818185875af1925050503d8060008114610df1576040519150601f19603f3d011682016040523d82523d6000602084013e610df6565b606091505b5050905080610cb95760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b6044820152606401610910565b600b54600090600160401b900463ffffffff168015801590610e5c5750804210155b91505090565b826daaeb6d7670e522a718067333cd4e3b15610fd7576001600160a01b038116331415610ea457610b43848484604051806020016040528060008152506118cf565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c61711349060440160206040518083038186803b158015610eee57600080fd5b505afa158015610f02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f269190612e2d565b8015610fb85750604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c61711349060440160206040518083038186803b158015610f8057600080fd5b505afa158015610f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb89190612e2d565b610fd757604051633b79c77360e21b8152336004820152602401610910565b610a7d848484604051806020016040528060008152506118cf565b600061080a82611d0b565b6009546001600160a01b031633146110275760405162461bcd60e51b815260040161091090613093565b610b0c600f8383612983565b61103b611c1f565b6110925760405162461bcd60e51b815260206004820152602260248201527f77686974656c6973742073616c6520686173206e6f7420737461727465642079604482015261195d60f21b6064820152608401610910565b600a8461109e87611c45565b6110a891906130e5565b11156110ef5760405162461bcd60e51b815260206004820152601660248201527563616e206e6f74206d696e742074686973206d616e7960501b6044820152606401610910565b6040516bffffffffffffffffffffffff19606087901b16602082015260009060340160405160208183030381529060405280519060200120905061116a84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600c5491508490506120c0565b6111a85760405162461bcd60e51b815260206004820152600f60248201526e24b731b7b93932b1ba10383937b7b360891b6044820152606401610910565b84600e546111b69190613111565b3410156111fd5760405162461bcd60e51b81526020600482015260156024820152740dccacac840e8de40e6cadcc840dadee4ca408aa89605b1b6044820152606401610910565b61120786866120d6565b7fbb2712c8d066be423635db2e56b33a40294747837c735e577e4f5a705e41f3b960016000546112379190613130565b60408051918252602082018590523382820152519081900360600190a1505050505050565b6000611267826121cb565b5192915050565b6009546001600160a01b031633146112985760405162461bcd60e51b815260040161091090613093565b83158015906112a657508215155b6113095760405162461bcd60e51b815260206004820152602e60248201527f455243373231414d4f3a3a696e6974696174654d696e743a2077726f6e67207060448201526d1c9a58d95cc81c1c9bdd9a59195960921b6064820152608401610910565b600b5461ffff90811690831611801561132b5750600154600054038161ffff16115b6113905760405162461bcd60e51b815260206004820152603060248201527f455243373231414d4f3a3a696e6974696174654d696e743a2077726f6e67207360448201526f1d5c1c1b1a595cc81c1c9bdd9a59195960821b6064820152608401610910565b600d849055600e839055600b80546dffff0000000000000000ffff000019166201000061ffff85811691820261ffff60601b191692909217600160601b9285169283021790925560408051878152602081018790529081019290925260608201527f5292d4cf9a529b61fb8831a8378588433abfa9931c4c15938d37072af0ad82a2906080015b60405180910390a150505050565b606061142f6122e5565b905090565b60006001600160a01b03821661145d576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b6009546001600160a01b031633146114ac5760405162461bcd60e51b815260040161091090613093565b6114b660006122f4565b565b60006114c3836121cb565b8251909150829061150c5760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420425443204164647265737360681b6044820152606401610910565b81516001600160a01b0316336001600160a01b03161461153f57604051632ce44b5f60e11b815260040160405180910390fd5b6000848152600a60209081526040909120845161155e92860190612a07565b5061156884612346565b7f782b8c45a3d76437bf64bea1ffceab832414e5e636280818393a9759d251deca33858560405161141793929190613050565b604080516060810182526000808252602082018190529181019190915261080a826121cb565b6040516bffffffffffffffffffffffff193360601b166020820152600090819060340160405160208183030381529060405280519060200120905061163d84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600c5491508490506120c0565b61167b5760405162461bcd60e51b815260206004820152600f60248201526e24b731b7b93932b1ba10383937b7b360891b6044820152606401610910565b5060019392505050565b60606003805461081f90613173565b3233146116e35760405162461bcd60e51b815260206004820152601e60248201527f5468652063616c6c657220697320616e6f7468657220636f6e747261637400006044820152606401610910565b6116eb610e3a565b6117375760405162461bcd60e51b815260206004820152601f60248201527f7075626c69632073616c6520686173206e6f74207374617274656420796574006044820152606401610910565b60018211156117885760405162461bcd60e51b815260206004820152601e60248201527f63616e206e6f74206d696e742074686973206d616e79206174206f6e636500006044820152606401610910565b81600d546117969190613111565b3410156117dd5760405162461bcd60e51b81526020600482015260156024820152740dccacac840e8de40e6cadcc840dadee4ca408aa89605b1b6044820152606401610910565b6117e783836120d6565b7fbb2712c8d066be423635db2e56b33a40294747837c735e577e4f5a705e41f3b960016000546118179190613130565b60408051918252602082018490523382820152519081900360600190a1505050565b6001600160a01b0382163314156118635760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b836daaeb6d7670e522a718067333cd4e3b15611a79576001600160a01b03811633141561194657611901858585611db0565b6001600160a01b0384163b15158015611923575061192185858585612351565b155b15611941576040516368d2bf6b60e11b815260040160405180910390fd5b611ac4565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c61711349060440160206040518083038186803b15801561199057600080fd5b505afa1580156119a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c89190612e2d565b8015611a5a5750604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c61711349060440160206040518083038186803b158015611a2257600080fd5b505afa158015611a36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5a9190612e2d565b611a7957604051633b79c77360e21b8152336004820152602401610910565b611a84858585611db0565b6001600160a01b0384163b15158015611aa65750611aa485858585612351565b155b15611ac4576040516368d2bf6b60e11b815260040160405180910390fd5b5050505050565b6009546001600160a01b03163314611af55760405162461bcd60e51b815260040161091090613093565b63ffffffff821615801590611b0f575063ffffffff811615155b611b535760405162461bcd60e51b815260206004820152601560248201527419185d195cc81b5d5cdd081899481919599a5b9959605a1b6044820152606401610910565b600b80546bffffffffffffffff00000000191664010000000063ffffffff948516026bffffffff0000000000000000191617600160401b9290931691909102919091179055565b6060611ba582611d0b565b611bc257604051630a14c4b560e41b815260040160405180910390fd5b6000611bcc6122e5565b9050805160001415611bed5760405180602001604052806000815250611c18565b80611bf784612449565b604051602001611c08929190612fe4565b6040516020818303038152906040525b9392505050565b600b54600090640100000000900463ffffffff168015801590610e5c5750421015919050565b6001600160a01b038116600090815260056020526040812054600160401b90046001600160401b031661080a565b6009546001600160a01b03163314611c9d5760405162461bcd60e51b815260040161091090613093565b6001600160a01b038116611d025760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610910565b610cb9816122f4565b600080548210801561080a575050600090815260046020526040902054600160e01b900460ff161590565b611d50828260405180602001604052806000815250612562565b5050565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000611dbb826121cb565b9050836001600160a01b031681600001516001600160a01b031614611df25760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480611e105750611e108533610770565b80611e2b575033611e20846108a2565b6001600160a01b0316145b905080611e4b57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038416611e7257604051633a954ecd60e21b815260040160405180910390fd5b611e7e60008487611d54565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116611f52576000548214611f5257805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b031660008051602061324483398151915260405160405180910390a4611ac4565b80611fa7576040516356be441560e01b815260040160405180910390fd5b600054611fc75760405163c0367cab60e01b815260040160405180910390fd5b60085480611fd3575060005b6000548110611ff5576040516370e89b1b60e01b815260040160405180910390fd5b60005482820160001981019110156120105750600054600019015b815b8181116120b5576000818152600460205260409020546001600160a01b03161580156120545750600081815260046020526040902054600160e01b900460ff16155b156120ad576000612064826121cb565b80516000848152600460209081526040909120805491909301516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b0390921691909117179055505b600101612012565b506001016008555050565b6000826120cd858461256f565b14949350505050565b600b54600160601b900461ffff16816120ee60005490565b6120f891906130e5565b11156121645760405162461bcd60e51b815260206004820152603560248201527f696e73756666696369656e742072656d61696e696e6720737570706c7920666f6044820152741c8819195cda5c9959081b5a5b9d08185b5bdd5b9d605a1b6064820152608401610910565b600081118015612175575060148111155b6121c15760405162461bcd60e51b815260206004820152601760248201527f696e636f7272656374206d696e74207175616e746974790000000000000000006044820152606401610910565b611d508282611d36565b6040805160608101825260008082526020820181905291810191909152816000548110156122cc57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff161515918101829052906122ca5780516001600160a01b031615612261579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff16151592810192909252156122c5579392505050565b612261565b505b604051636f96cda160e11b815260040160405180910390fd5b6060600f805461081f90613173565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610cb9816000612629565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290612386903390899088908890600401613013565b602060405180830381600087803b1580156123a057600080fd5b505af19250505080156123d0575060408051601f3d908101601f191682019092526123cd91810190612e7d565b60015b61242b573d8080156123fe576040519150601f19603f3d011682016040523d82523d6000602084013e612403565b606091505b508051612423576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b60608161246d5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156124975780612481816131ae565b91506124909050600a836130fd565b9150612471565b6000816001600160401b038111156124bf57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156124e9576020820181803683370190505b5090505b8415612441576124fe600183613130565b915061250b600a866131c9565b6125169060306130e5565b60f81b81838151811061253957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535061255b600a866130fd565b94506124ed565b610b0c83838360016127dc565b600081815b845181101561262157600085828151811061259f57634e487b7160e01b600052603260045260246000fd5b602002602001015190508083116125e157604080516020810185905290810182905260600160405160208183030381529060405280519060200120925061260e565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b5080612619816131ae565b915050612574565b509392505050565b6000612634836121cb565b8051909150821561269a576000336001600160a01b038316148061265d575061265d8233610770565b8061267857503361266d866108a2565b6001600160a01b0316145b90508061269857604051632ce44b5f60e11b815260040160405180910390fd5b505b6126a660008583611d54565b6001600160a01b0380821660008181526005602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b1785559189018084529220805491949091166127a45760005482146127a457805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b03841690600080516020613244833981519152908390a4505060018054810190555050565b6000546001600160a01b03851661280557604051622e076360e81b815260040160405180910390fd5b836128235760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038516600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff1981166001600160401b038083168c018116918217600160401b67ffffffffffffffff1990941690921783900481168c01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808085018380156128cf57506001600160a01b0387163b15155b15612946575b60405182906001600160a01b03891690600090600080516020613244833981519152908290a461290e6000888480600101955088612351565b61292b576040516368d2bf6b60e11b815260040160405180910390fd5b808214156128d557826000541461294157600080fd5b61297a565b5b6040516001830192906001600160a01b03891690600090600080516020613244833981519152908290a480821415612947575b50600055611ac4565b82805461298f90613173565b90600052602060002090601f0160209004810192826129b157600085556129f7565b82601f106129ca5782800160ff198235161785556129f7565b828001600101855582156129f7579182015b828111156129f75782358255916020019190600101906129dc565b50612a03929150612a7b565b5090565b828054612a1390613173565b90600052602060002090601f016020900481019282612a3557600085556129f7565b82601f10612a4e57805160ff19168380011785556129f7565b828001600101855582156129f7579182015b828111156129f7578251825591602001919060010190612a60565b5b80821115612a035760008155600101612a7c565b60006001600160401b0380841115612aaa57612aaa613209565b604051601f8501601f19908116603f01168101908282118183101715612ad257612ad2613209565b81604052809350858152868686011115612aeb57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b0381168114612b1c57600080fd5b919050565b60008083601f840112612b32578081fd5b5081356001600160401b03811115612b48578182fd5b6020830191508360208260051b8501011115612b6357600080fd5b9250929050565b803561ffff81168114612b1c57600080fd5b803563ffffffff81168114612b1c57600080fd5b600060208284031215612ba1578081fd5b611c1882612b05565b60008060408385031215612bbc578081fd5b612bc583612b05565b9150612bd360208401612b05565b90509250929050565b600080600060608486031215612bf0578081fd5b612bf984612b05565b9250612c0760208501612b05565b9150604084013590509250925092565b60008060008060808587031215612c2c578081fd5b612c3585612b05565b9350612c4360208601612b05565b92506040850135915060608501356001600160401b03811115612c64578182fd5b8501601f81018713612c74578182fd5b612c8387823560208401612a90565b91505092959194509250565b60008060408385031215612ca1578182fd5b612caa83612b05565b91506020830135612cba8161321f565b809150509250929050565b60008060408385031215612cd7578182fd5b612ce083612b05565b946020939093013593505050565b600080600080600060808688031215612d05578081fd5b612d0e86612b05565b94506020860135935060408601356001600160401b03811115612d2f578182fd5b612d3b88828901612b21565b96999598509660600135949350505050565b600080600060608486031215612d61578283fd5b612d6a84612b05565b95602085013595506040909401359392505050565b60008060208385031215612d91578182fd5b82356001600160401b03811115612da6578283fd5b612db285828601612b21565b90969095509350505050565b60008060208385031215612dd0578182fd5b82356001600160401b0380821115612de6578384fd5b818501915085601f830112612df9578384fd5b813581811115612e07578485fd5b8660208260061b8501011115612e1b578485fd5b60209290920196919550909350505050565b600060208284031215612e3e578081fd5b8151611c188161321f565b600060208284031215612e5a578081fd5b5035919050565b600060208284031215612e72578081fd5b8135611c188161322d565b600060208284031215612e8e578081fd5b8151611c188161322d565b60008060208385031215612eab578182fd5b82356001600160401b0380821115612ec1578384fd5b818501915085601f830112612ed4578384fd5b813581811115612ee2578485fd5b866020828501011115612e1b578485fd5b60008060408385031215612f05578182fd5b8235915060208301356001600160401b03811115612f21578182fd5b8301601f81018513612f31578182fd5b612f4085823560208401612a90565b9150509250929050565b60008060008060808587031215612f5f578182fd5b8435935060208501359250612f7660408601612b6a565b9150612f8460608601612b6a565b905092959194509250565b60008060408385031215612fa1578182fd5b612faa83612b7c565b9150612bd360208401612b7c565b60008151808452612fd0816020860160208601613147565b601f01601f19169290920160200192915050565b60008351612ff6818460208801613147565b83519083019061300a818360208801613147565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061304690830184612fb8565b9695505050505050565b60018060a01b03841681528260208201526060604082015260006130776060830184612fb8565b95945050505050565b602081526000611c186020830184612fb8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600061ffff80831681851680830382111561300a5761300a6131dd565b600082198211156130f8576130f86131dd565b500190565b60008261310c5761310c6131f3565b500490565b600081600019048311821515161561312b5761312b6131dd565b500290565b600082821015613142576131426131dd565b500390565b60005b8381101561316257818101518382015260200161314a565b83811115610a7d5750506000910152565b600181811c9082168061318757607f821691505b602082108114156131a857634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156131c2576131c26131dd565b5060010190565b6000826131d8576131d86131f3565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b8015158114610cb957600080fd5b6001600160e01b031981168114610cb957600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220f2b50238fce90a0b209f53f412337a63f66dd08672a0ad4e96f362a20396366a64736f6c63430008040033