60806040526000600460006101000a81548160ff021916908360ff1602179055506000600460016101000a81548160ff021916908360ff1602179055506002600460026101000a81548160ff021916908360ff160217905550600160055560016006556002600755605a60085560076009556002600a556001600b556009600a6200008b91906200086d565b6305f5e1006200009c9190620008be565b600c55606480600c54620000b19190620008be565b620000bd919062000938565b600d55600d54600e5533600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601260156101000a81548160ff0219169083151502179055503480156200017057600080fd5b5062000181620006a260201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600c546001600062000252620006aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031b9190620009da565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000383573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a99190620009da565b6040518363ffffffff1660e01b8152600401620003c892919062000a1d565b6020604051808303816000875af1158015620003e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040e9190620009da565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160036000620004a5620006aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016003600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000632620006aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c5460405162000693919062000a5b565b60405180910390a35062000a78565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200076157808604811115620007395762000738620006d3565b5b6001851615620007495780820291505b8081029050620007598562000702565b945062000719565b94509492505050565b6000826200077c57600190506200084f565b816200078c57600090506200084f565b8160018114620007a55760028114620007b057620007e6565b60019150506200084f565b60ff841115620007c557620007c4620006d3565b5b8360020a915084821115620007df57620007de620006d3565b5b506200084f565b5060208310610133831016604e8410600b8410161715620008205782820a9050838111156200081a5762000819620006d3565b5b6200084f565b6200082f84848460016200070f565b92509050818404811115620008495762000848620006d3565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200087a8262000856565b9150620008878362000860565b9250620008b67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200076a565b905092915050565b6000620008cb8262000856565b9150620008d88362000856565b9250828202620008e88162000856565b91508282048414831517620009025762000901620006d3565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620009458262000856565b9150620009528362000856565b92508262000965576200096462000909565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009a28262000975565b9050919050565b620009b48162000995565b8114620009c057600080fd5b50565b600081519050620009d481620009a9565b92915050565b600060208284031215620009f357620009f262000970565b5b600062000a0384828501620009c3565b91505092915050565b62000a178162000995565b82525050565b600060408201905062000a34600083018562000a0c565b62000a43602083018462000a0c565b9392505050565b62000a558162000856565b82525050565b600060208201905062000a72600083018462000a4a565b92915050565b612bec8062000a886000396000f3fe6080604052600436106101c65760003560e01c80636100be9e116100f757806395d89b4111610095578063b1cb158211610064578063b1cb15821461066b578063c6618d6014610696578063dafd18e9146106c1578063dd62ed3e146106fe576101cd565b806395d89b411461059b578063a1ca5347146105c6578063a457c2d7146105f1578063a9059cbb1461062e576101cd565b8063715018a6116100d1578063715018a6146104f1578063768dc7101461050857806378109e54146105455780638da5cb5b14610570576101cd565b80636100be9e1461046057806361c9a0dc1461048957806370a08231146104b4576101cd565b8063313ce5671161016457806349bd5a5e1161013e57806349bd5a5e146103b65780634a74bb02146103e15780635d0044ca1461040c5780636031762514610435576101cd565b8063313ce56714610323578063395093511461034e5780633f70a4951461038b576101cd565b806318160ddd116101a057806318160ddd1461026557806321dbd9eb14610290578063220f6696146102bb57806323b872dd146102e6576101cd565b806306fdde03146101d2578063095ea7b3146101fd5780631694505e1461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e761073b565b6040516101f491906121f6565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f91906122b1565b610778565b604051610231919061230c565b60405180910390f35b34801561024657600080fd5b5061024f610796565b60405161025c9190612386565b60405180910390f35b34801561027157600080fd5b5061027a6107bc565b60405161028791906123b0565b60405180910390f35b34801561029c57600080fd5b506102a56107c6565b6040516102b291906123b0565b60405180910390f35b3480156102c757600080fd5b506102d06107cc565b6040516102dd919061230c565b60405180910390f35b3480156102f257600080fd5b5061030d600480360381019061030891906123cb565b6107df565b60405161031a919061230c565b60405180910390f35b34801561032f57600080fd5b506103386108b8565b604051610345919061243a565b60405180910390f35b34801561035a57600080fd5b50610375600480360381019061037091906122b1565b6108c1565b604051610382919061230c565b60405180910390f35b34801561039757600080fd5b506103a0610974565b6040516103ad91906123b0565b60405180910390f35b3480156103c257600080fd5b506103cb61097a565b6040516103d89190612464565b60405180910390f35b3480156103ed57600080fd5b506103f66109a0565b604051610403919061230c565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e919061247f565b6109b3565b005b34801561044157600080fd5b5061044a610a39565b60405161045791906123b0565b60405180910390f35b34801561046c57600080fd5b50610487600480360381019061048291906124ac565b610a3f565b005b34801561049557600080fd5b5061049e610af0565b6040516104ab91906123b0565b60405180910390f35b3480156104c057600080fd5b506104db60048036038101906104d691906124ec565b610af6565b6040516104e891906123b0565b60405180910390f35b3480156104fd57600080fd5b50610506610b3f565b005b34801561051457600080fd5b5061052f600480360381019061052a91906124ec565b610bc7565b60405161053c919061230c565b60405180910390f35b34801561055157600080fd5b5061055a610be7565b60405161056791906123b0565b60405180910390f35b34801561057c57600080fd5b50610585610bed565b6040516105929190612464565b60405180910390f35b3480156105a757600080fd5b506105b0610c16565b6040516105bd91906121f6565b60405180910390f35b3480156105d257600080fd5b506105db610c53565b6040516105e891906123b0565b60405180910390f35b3480156105fd57600080fd5b50610618600480360381019061061391906122b1565b610c59565b604051610625919061230c565b60405180910390f35b34801561063a57600080fd5b50610655600480360381019061065091906122b1565b610d26565b604051610662919061230c565b60405180910390f35b34801561067757600080fd5b50610680610d44565b60405161068d91906123b0565b60405180910390f35b3480156106a257600080fd5b506106ab610d4a565b6040516106b891906123b0565b60405180910390f35b3480156106cd57600080fd5b506106e860048036038101906106e391906122b1565b610d50565b6040516106f5919061230c565b60405180910390f35b34801561070a57600080fd5b5061072560048036038101906107209190612519565b610e95565b60405161073291906123b0565b60405180910390f35b60606040518060400160405280600981526020017f43796233724c6172610000000000000000000000000000000000000000000000815250905090565b600061078c610785610f1c565b8484610f24565b6001905092915050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c54905090565b600a5481565b601260149054906101000a900460ff1681565b60006107ec8484846110b8565b6108ad846107f8610f1c565b6108a885604051806060016040528060288152602001612b6a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061085e610f1c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116399092919063ffffffff16565b610f24565b600190509392505050565b60006009905090565b600061096a6108ce610f1c565b8461096585600260006108df610f1c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168e90919063ffffffff16565b610f24565b6001905092915050565b60055481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260159054906101000a900460ff1681565b6109bb610f1c565b73ffffffffffffffffffffffffffffffffffffffff166109d9610bed565b73ffffffffffffffffffffffffffffffffffffffff1614610a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a26906125a5565b60405180910390fd5b80600d8190555050565b60085481565b610a47610f1c565b73ffffffffffffffffffffffffffffffffffffffff16610a65610bed565b73ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab2906125a5565b60405180910390fd5b600a8210610ac857600080fd5b8160058190555080600681905550600654600554610ae691906125f4565b6007819055505050565b600b5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b47610f1c565b73ffffffffffffffffffffffffffffffffffffffff16610b65610bed565b73ffffffffffffffffffffffffffffffffffffffff1614610bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb2906125a5565b60405180910390fd5b610bc560006116a4565b565b60036020528060005260406000206000915054906101000a900460ff1681565b600d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4c41524100000000000000000000000000000000000000000000000000000000815250905090565b60075481565b6000610d1c610c66610f1c565b84610d1785604051806060016040528060258152602001612b926025913960026000610c90610f1c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116399092919063ffffffff16565b610f24565b6001905092915050565b6000610d3a610d33610f1c565b84846110b8565b6001905092915050565b60065481565b60095481565b6000808373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d8c9190612464565b602060405180830381865afa158015610da9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcd919061263d565b9050600060648483610ddf919061266a565b610de991906126db565b90508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610e4892919061272d565b6020604051808303816000875af1158015610e67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8b9190612782565b9250505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f8e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc4906127fb565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ab91906123b0565b60405180910390a3505050565b6110c0610bed565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611129575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561116157503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156111bb5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156111fa57506111ca610bed565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561125e57600061120a83610af6565b9050600d54828261121b91906125f4565b111561125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390612867565b60405180910390fd5b505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113085750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b1561138c576004600181819054906101000a900460ff168092919061132c90612887565b91906101000a81548160ff021916908360ff160217905550506003600460019054906101000a900460ff1660ff161061138b5761138a601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166116a4565b5b5b600081116113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c690612922565b60405180910390fd5b600460029054906101000a900460ff1660ff16600460009054906101000a900460ff1660ff16101580156114105750601260149054906101000a900460ff16155b801561146a5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114825750601260159054906101000a900460ff165b156114bb57600061149230610af6565b90506000600460006101000a81548160ff021916908360ff1602179055506114b981611768565b505b60006064600754836114cd919061266a565b6114d791906126db565b90506000600190506000600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115825750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156115905760009150611623565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036115ea57600190505b6004600081819054906101000a900460ff168092919061160990612887565b91906101000a81548160ff021916908360ff160217905550505b6116318686868686866117dc565b505050505050565b6000838311158290611681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167891906121f6565b60405180910390fd5b5082840390509392505050565b6000818361169c91906125f4565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601260146101000a81548160ff02191690831515021790555061178c81611ed8565b60004790506117bd601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261211b565b506000601260146101000a81548160ff02191690831515021790555050565b816119b15783600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461182c9190612942565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118ba91906125f4565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161195a91906123b0565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036119ac5783600c546119a59190612942565b600c819055505b611ed0565b8015611c455760006064600554866119c9919061266a565b6119d391906126db565b9050600081866119e39190612942565b905085600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a309190612942565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611abe91906125f4565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4c91906125f4565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bec91906123b0565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611c3e5780600c54611c379190612942565b600c819055505b5050611ecf565b6000606460065486611c57919061266a565b611c6191906126db565b905060008186611c719190612942565b905085600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cbe9190612942565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d4c91906125f4565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611dda91906125f4565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e7a91906123b0565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611ecc5780600c54611ec59190612942565b600c819055505b50505b5b505050505050565b6000600267ffffffffffffffff811115611ef557611ef4612976565b5b604051908082528060200260200182016040528015611f235781602001602082028036833780820191505090505b5090503081600081518110611f3b57611f3a6129a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fe2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200691906129e9565b8160018151811061201a576120196129a5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061208130601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f24565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016120e5959493929190612b0f565b600060405180830381600087803b1580156120ff57600080fd5b505af1158015612113573d6000803e3d6000fd5b505050505050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612161573d6000803e3d6000fd5b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121a0578082015181840152602081019050612185565b60008484015250505050565b6000601f19601f8301169050919050565b60006121c882612166565b6121d28185612171565b93506121e2818560208601612182565b6121eb816121ac565b840191505092915050565b6000602082019050818103600083015261221081846121bd565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122488261221d565b9050919050565b6122588161223d565b811461226357600080fd5b50565b6000813590506122758161224f565b92915050565b6000819050919050565b61228e8161227b565b811461229957600080fd5b50565b6000813590506122ab81612285565b92915050565b600080604083850312156122c8576122c7612218565b5b60006122d685828601612266565b92505060206122e78582860161229c565b9150509250929050565b60008115159050919050565b612306816122f1565b82525050565b600060208201905061232160008301846122fd565b92915050565b6000819050919050565b600061234c6123476123428461221d565b612327565b61221d565b9050919050565b600061235e82612331565b9050919050565b600061237082612353565b9050919050565b61238081612365565b82525050565b600060208201905061239b6000830184612377565b92915050565b6123aa8161227b565b82525050565b60006020820190506123c560008301846123a1565b92915050565b6000806000606084860312156123e4576123e3612218565b5b60006123f286828701612266565b935050602061240386828701612266565b92505060406124148682870161229c565b9150509250925092565b600060ff82169050919050565b6124348161241e565b82525050565b600060208201905061244f600083018461242b565b92915050565b61245e8161223d565b82525050565b60006020820190506124796000830184612455565b92915050565b60006020828403121561249557612494612218565b5b60006124a38482850161229c565b91505092915050565b600080604083850312156124c3576124c2612218565b5b60006124d18582860161229c565b92505060206124e28582860161229c565b9150509250929050565b60006020828403121561250257612501612218565b5b600061251084828501612266565b91505092915050565b600080604083850312156125305761252f612218565b5b600061253e85828601612266565b925050602061254f85828601612266565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061258f602083612171565b915061259a82612559565b602082019050919050565b600060208201905081810360008301526125be81612582565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006125ff8261227b565b915061260a8361227b565b9250828201905080821115612622576126216125c5565b5b92915050565b60008151905061263781612285565b92915050565b60006020828403121561265357612652612218565b5b600061266184828501612628565b91505092915050565b60006126758261227b565b91506126808361227b565b925082820261268e8161227b565b915082820484148315176126a5576126a46125c5565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006126e68261227b565b91506126f18361227b565b925082612701576127006126ac565b5b828204905092915050565b600061271782612353565b9050919050565b6127278161270c565b82525050565b6000604082019050612742600083018561271e565b61274f60208301846123a1565b9392505050565b61275f816122f1565b811461276a57600080fd5b50565b60008151905061277c81612756565b92915050565b60006020828403121561279857612797612218565b5b60006127a68482850161276d565b91505092915050565b7f4552523a207a65726f2061646472657373000000000000000000000000000000600082015250565b60006127e5601183612171565b91506127f0826127af565b602082019050919050565b60006020820190508181036000830152612814816127d8565b9050919050565b7f4f7665722077616c6c6574206c696d69742e0000000000000000000000000000600082015250565b6000612851601283612171565b915061285c8261281b565b602082019050919050565b6000602082019050818103600083015261288081612844565b9050919050565b60006128928261241e565b915060ff82036128a5576128a46125c5565b5b600182019050919050565b7f546f6b656e2076616c7565206d75737420626520686967686572207468616e2060008201527f7a65726f2e000000000000000000000000000000000000000000000000000000602082015250565b600061290c602583612171565b9150612917826128b0565b604082019050919050565b6000602082019050818103600083015261293b816128ff565b9050919050565b600061294d8261227b565b91506129588361227b565b92508282039050818111156129705761296f6125c5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506129e38161224f565b92915050565b6000602082840312156129ff576129fe612218565b5b6000612a0d848285016129d4565b91505092915050565b6000819050919050565b6000612a3b612a36612a3184612a16565b612327565b61227b565b9050919050565b612a4b81612a20565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a868161223d565b82525050565b6000612a988383612a7d565b60208301905092915050565b6000602082019050919050565b6000612abc82612a51565b612ac68185612a5c565b9350612ad183612a6d565b8060005b83811015612b02578151612ae98882612a8c565b9750612af483612aa4565b925050600181019050612ad5565b5085935050505092915050565b600060a082019050612b2460008301886123a1565b612b316020830187612a42565b8181036040830152612b438186612ab1565b9050612b526060830185612455565b612b5f60808301846123a1565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204d7a67bd5be424ee21879aec0cf0877681f5fabb4299264f8361bbff42768b5364736f6c63430008130033