61010060405273521fad559524f59515912c1b80a828fab0a7957073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506040518060400160405280600781526020017f697066733a2f2f00000000000000000000000000000000000000000000000000815250600990805190602001906200009c92919062000297565b50661550f7dca7000060a09081525061138863ffffffff1660c09063ffffffff1660e01b815250600363ffffffff1660e09063ffffffff1660e01b815250348015620000e757600080fd5b506040518060400160405280600c81526020017f556e4b6e6f776e52656e676100000000000000000000000000000000000000008152506040518060400160405280600581526020017f52656e676100000000000000000000000000000000000000000000000000000081525081600290805190602001906200016c92919062000297565b5080600390805190602001906200018592919062000297565b5062000196620001c460201b60201c565b6000819055505050620001be620001b2620001c960201b60201c565b620001d160201b60201c565b620003ac565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620002a59062000347565b90600052602060002090601f016020900481019282620002c9576000855562000315565b82601f10620002e457805160ff191683800117855562000315565b8280016001018555821562000315579182015b8281111562000314578251825591602001919060010190620002f7565b5b50905062000324919062000328565b5090565b5b808211156200034357600081600090555060010162000329565b5090565b600060028204905060018216806200036057607f821691505b602082108114156200037757620003766200037d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60805160601c60a05160c05160e01c60e05160e01c61353c62000412600039600061122e015260008181610947015261105301526000818161088e01526109d5015260008181610d1301528181611bb60152818161210b0152612199015261353c6000f3fe60806040526004361061014b5760003560e01c806370a08231116100b6578063b88d4fde1161006f578063b88d4fde1461046f578063c4a4122514610498578063c87b56dd146104c3578063e985e9c514610500578063f2fde38b1461053d578063f968adbe146105665761014b565b806370a08231146103615780638da5cb5b1461039e57806395d89b41146103c95780639b642de1146103f4578063a22cb4651461041d578063aae4cdcd146104465761014b565b806323b872dd1161010857806323b872dd146102745780632db115441461029d5780633ccfd60b146102b957806342842e0e146102d057806362b99ad4146102f95780636352211e146103245761014b565b806301ffc9a71461015057806306fdde031461018d578063081812fc146101b8578063095ea7b3146101f557806313faede61461021e57806318160ddd14610249575b600080fd5b34801561015c57600080fd5b50610177600480360381019061017291906129f9565b610591565b6040516101849190612d3d565b60405180910390f35b34801561019957600080fd5b506101a2610673565b6040516101af9190612d58565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612a9c565b610705565b6040516101ec9190612cd6565b60405180910390f35b34801561020157600080fd5b5061021c600480360381019061021791906129b9565b610781565b005b34801561022a57600080fd5b5061023361088c565b6040516102409190612e3a565b60405180910390f35b34801561025557600080fd5b5061025e6108b0565b60405161026b9190612e3a565b60405180910390f35b34801561028057600080fd5b5061029b600480360381019061029691906128a3565b6108c7565b005b6102b760048036038101906102b29190612a9c565b6108d7565b005b3480156102c557600080fd5b506102ce610a4d565b005b3480156102dc57600080fd5b506102f760048036038101906102f291906128a3565b610b12565b005b34801561030557600080fd5b5061030e610b32565b60405161031b9190612d58565b60405180910390f35b34801561033057600080fd5b5061034b60048036038101906103469190612a9c565b610bc0565b6040516103589190612cd6565b60405180910390f35b34801561036d57600080fd5b5061038860048036038101906103839190612836565b610bd6565b6040516103959190612e3a565b60405180910390f35b3480156103aa57600080fd5b506103b3610d6b565b6040516103c09190612cd6565b60405180910390f35b3480156103d557600080fd5b506103de610d95565b6040516103eb9190612d58565b60405180910390f35b34801561040057600080fd5b5061041b60048036038101906104169190612a53565b610e27565b005b34801561042957600080fd5b50610444600480360381019061043f9190612979565b610e49565b005b34801561045257600080fd5b5061046d60048036038101906104689190612a9c565b610fc1565b005b34801561047b57600080fd5b50610496600480360381019061049191906128f6565b610fd5565b005b3480156104a457600080fd5b506104ad611051565b6040516104ba9190612e55565b60405180910390f35b3480156104cf57600080fd5b506104ea60048036038101906104e59190612a9c565b611075565b6040516104f79190612d58565b60405180910390f35b34801561050c57600080fd5b5061052760048036038101906105229190612863565b611114565b6040516105349190612d3d565b60405180910390f35b34801561054957600080fd5b50610564600480360381019061055f9190612836565b6111a8565b005b34801561057257600080fd5b5061057b61122c565b6040516105889190612e55565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061065c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061066c575061066b82611250565b5b9050919050565b6060600280546106829061319e565b80601f01602080910402602001604051908101604052809291908181526020018280546106ae9061319e565b80156106fb5780601f106106d0576101008083540402835291602001916106fb565b820191906000526020600020905b8154815290600101906020018083116106de57829003601f168201915b5050505050905090565b6000610710826112ba565b610746576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061078c82610bc0565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107f4576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610813611308565b73ffffffffffffffffffffffffffffffffffffffff161415801561084557506108438161083e611308565b611114565b155b1561087c576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610887838383611310565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006108ba6113c2565b6001546000540303905090565b6108d28383836113c7565b505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c90612dfa565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff166109746108b0565b8261097d6108b0565b6109879190612f8f565b61099191906130a4565b11156109d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c990612dda565b60405180910390fd5b807f00000000000000000000000000000000000000000000000000000000000000006109fe9190613016565b341015610a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3790612d7a565b60405180910390fd5b610a4a33826118b8565b50565b610a556118d6565b6000479050600033905060008173ffffffffffffffffffffffffffffffffffffffff1683604051610a8590612cc1565b60006040518083038185875af1925050503d8060008114610ac2576040519150601f19603f3d011682016040523d82523d6000602084013e610ac7565b606091505b50508091505080610b0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0490612dba565b60405180910390fd5b505050565b610b2d83838360405180602001604052806000815250610fd5565b505050565b60098054610b3f9061319e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6b9061319e565b8015610bb85780601f10610b8d57610100808354040283529160200191610bb8565b820191906000526020600020905b815481529060010190602001808311610b9b57829003601f168201915b505050505081565b6000610bcb82611954565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c3e576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614610d0e57600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050610d66565b6000547f000000000000000000000000000000000000000000000000000000000000000083610d3d9190613070565b73ffffffffffffffffffffffffffffffffffffffff1611610d615760019050610d66565b600090505b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610da49061319e565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd09061319e565b8015610e1d5780601f10610df257610100808354040283529160200191610e1d565b820191906000526020600020905b815481529060010190602001808311610e0057829003601f168201915b5050505050905090565b610e2f6118d6565b8060099080519060200190610e45929190612607565b5050565b610e51611308565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eb6576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060076000610ec3611308565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610f70611308565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610fb59190612d3d565b60405180910390a35050565b610fc96118d6565b610fd281611c51565b50565b610fe08484846113c7565b610fff8373ffffffffffffffffffffffffffffffffffffffff16611c5d565b8015611014575061101284848484611c80565b155b1561104b576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060611080826112ba565b6110b6576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006110c0611de0565b90506000815114156110e1576040518060200160405280600081525061110c565b806110eb84611e72565b6040516020016110fc929190612c9d565b6040516020818303038152906040525b915050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6111b06118d6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121790612d9a565b60405180910390fd5b61122981611fd3565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000816112c56113c2565b111580156112d4575060005482105b8015611301575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600090565b60006113d282611954565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff166113f9611308565b73ffffffffffffffffffffffffffffffffffffffff16148061142c575061142b8260000151611426611308565b611114565b5b80611471575061143a611308565b73ffffffffffffffffffffffffffffffffffffffff1661145984610705565b73ffffffffffffffffffffffffffffffffffffffff16145b9050806114aa576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614611513576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561157a576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115878585856001612099565b6115976000848460000151611310565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836004600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600085815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600184019050600073ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611848576000548110156118475782600001516004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082602001516004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b50828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46118b1858585600161209f565b5050505050565b6118d28282604051806020016040528060008152506120a5565b5050565b6118de611308565b73ffffffffffffffffffffffffffffffffffffffff166118fc610d6b565b73ffffffffffffffffffffffffffffffffffffffff1614611952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194990612e1a565b60405180910390fd5b565b61195c61268d565b60008290508061196a6113c2565b11158015611979575060005481105b15611c1a576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151611c1857600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611a8e578092505050611c4c565b6000600990505b828060019003935050600460008481526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509150600073ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff1614611ba457819350505050611c4c565b6000816001900391508111611a9557847f000000000000000000000000000000000000000000000000000000000000000001826000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050819350505050611c4c565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b611c5a816120b7565b50565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611ca6611308565b8786866040518563ffffffff1660e01b8152600401611cc89493929190612cf1565b602060405180830381600087803b158015611ce257600080fd5b505af1925050508015611d1357506040513d601f19601f82011682018060405250810190611d109190612a26565b60015b611d8d573d8060008114611d43576040519150601f19603f3d011682016040523d82523d6000602084013e611d48565b606091505b50600081511415611d85576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b606060098054611def9061319e565b80601f0160208091040260200160405190810160405280929190818152602001828054611e1b9061319e565b8015611e685780601f10611e3d57610100808354040283529160200191611e68565b820191906000526020600020905b815481529060010190602001808311611e4b57829003601f168201915b5050505050905090565b60606000821415611eba576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611fce565b600082905060005b60008214611eec578080611ed590613201565b915050600a82611ee59190612fe5565b9150611ec2565b60008167ffffffffffffffff811115611f0857611f07613337565b5b6040519080825280601f01601f191660200182016040528015611f3a5781602001600182028036833780820191505090505b5090505b60008514611fc757600182611f5391906130a4565b9150600a85611f62919061324a565b6030611f6e9190612f8f565b60f81b818381518110611f8457611f83613308565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611fc09190612fe5565b9450611f3e565b8093505050505b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b50505050565b50505050565b6120b28383836001612239565b505050565b60008114156120f2576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080549050600082826121069190612f8f565b9050817f00000000000000000000000000000000000000000000000000000000000000006121349190612f45565b600460008054815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600082905082806001019350817f00000000000000000000000000000000000000000000000000000000000000000173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4508082141561218a578260008082825461222d9190612f8f565b92505081905550505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156122a6576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008414156122e1576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122ee6000868387612099565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000819050600085820190508380156124b857506124b78773ffffffffffffffffffffffffffffffffffffffff16611c5d565b5b1561257e575b818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461252d6000888480600101955088611c80565b612563576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808214156124be57826000541461257957600080fd5b6125ea565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082141561257f575b816000819055505050612600600086838761209f565b5050505050565b8280546126139061319e565b90600052602060002090601f016020900481019282612635576000855561267c565b82601f1061264e57805160ff191683800117855561267c565b8280016001018555821561267c579182015b8281111561267b578251825591602001919060010190612660565b5b50905061268991906126d0565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b808211156126e95760008160009055506001016126d1565b5090565b60006127006126fb84612e95565b612e70565b90508281526020810184848401111561271c5761271b61336b565b5b61272784828561315c565b509392505050565b600061274261273d84612ec6565b612e70565b90508281526020810184848401111561275e5761275d61336b565b5b61276984828561315c565b509392505050565b600081359050612780816134aa565b92915050565b600081359050612795816134c1565b92915050565b6000813590506127aa816134d8565b92915050565b6000815190506127bf816134d8565b92915050565b600082601f8301126127da576127d9613366565b5b81356127ea8482602086016126ed565b91505092915050565b600082601f83011261280857612807613366565b5b813561281884826020860161272f565b91505092915050565b600081359050612830816134ef565b92915050565b60006020828403121561284c5761284b613375565b5b600061285a84828501612771565b91505092915050565b6000806040838503121561287a57612879613375565b5b600061288885828601612771565b925050602061289985828601612771565b9150509250929050565b6000806000606084860312156128bc576128bb613375565b5b60006128ca86828701612771565b93505060206128db86828701612771565b92505060406128ec86828701612821565b9150509250925092565b600080600080608085870312156129105761290f613375565b5b600061291e87828801612771565b945050602061292f87828801612771565b935050604061294087828801612821565b925050606085013567ffffffffffffffff81111561296157612960613370565b5b61296d878288016127c5565b91505092959194509250565b600080604083850312156129905761298f613375565b5b600061299e85828601612771565b92505060206129af85828601612786565b9150509250929050565b600080604083850312156129d0576129cf613375565b5b60006129de85828601612771565b92505060206129ef85828601612821565b9150509250929050565b600060208284031215612a0f57612a0e613375565b5b6000612a1d8482850161279b565b91505092915050565b600060208284031215612a3c57612a3b613375565b5b6000612a4a848285016127b0565b91505092915050565b600060208284031215612a6957612a68613375565b5b600082013567ffffffffffffffff811115612a8757612a86613370565b5b612a93848285016127f3565b91505092915050565b600060208284031215612ab257612ab1613375565b5b6000612ac084828501612821565b91505092915050565b612ad2816130d8565b82525050565b612ae1816130ea565b82525050565b6000612af282612ef7565b612afc8185612f0d565b9350612b0c81856020860161316b565b612b158161337a565b840191505092915050565b6000612b2b82612f02565b612b358185612f29565b9350612b4581856020860161316b565b612b4e8161337a565b840191505092915050565b6000612b6482612f02565b612b6e8185612f3a565b9350612b7e81856020860161316b565b80840191505092915050565b6000612b97600c83612f29565b9150612ba28261338b565b602082019050919050565b6000612bba602683612f29565b9150612bc5826133b4565b604082019050919050565b6000612bdd601883612f29565b9150612be882613403565b602082019050919050565b6000612c00600883612f29565b9150612c0b8261342c565b602082019050919050565b6000612c23601e83612f29565b9150612c2e82613455565b602082019050919050565b6000612c46602083612f29565b9150612c518261347e565b602082019050919050565b6000612c69600083612f1e565b9150612c74826134a7565b600082019050919050565b612c8881613142565b82525050565b612c978161314c565b82525050565b6000612ca98285612b59565b9150612cb58284612b59565b91508190509392505050565b6000612ccc82612c5c565b9150819050919050565b6000602082019050612ceb6000830184612ac9565b92915050565b6000608082019050612d066000830187612ac9565b612d136020830186612ac9565b612d206040830185612c7f565b8181036060830152612d328184612ae7565b905095945050505050565b6000602082019050612d526000830184612ad8565b92915050565b60006020820190508181036000830152612d728184612b20565b905092915050565b60006020820190508181036000830152612d9381612b8a565b9050919050565b60006020820190508181036000830152612db381612bad565b9050919050565b60006020820190508181036000830152612dd381612bd0565b9050919050565b60006020820190508181036000830152612df381612bf3565b9050919050565b60006020820190508181036000830152612e1381612c16565b9050919050565b60006020820190508181036000830152612e3381612c39565b9050919050565b6000602082019050612e4f6000830184612c7f565b92915050565b6000602082019050612e6a6000830184612c8e565b92915050565b6000612e7a612e8b565b9050612e8682826131d0565b919050565b6000604051905090565b600067ffffffffffffffff821115612eb057612eaf613337565b5b612eb98261337a565b9050602081019050919050565b600067ffffffffffffffff821115612ee157612ee0613337565b5b612eea8261337a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000612f5082613122565b9150612f5b83613122565b92508273ffffffffffffffffffffffffffffffffffffffff03821115612f8457612f8361327b565b5b828201905092915050565b6000612f9a82613142565b9150612fa583613142565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612fda57612fd961327b565b5b828201905092915050565b6000612ff082613142565b9150612ffb83613142565b92508261300b5761300a6132aa565b5b828204905092915050565b600061302182613142565b915061302c83613142565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130655761306461327b565b5b828202905092915050565b600061307b82613122565b915061308683613122565b9250828210156130995761309861327b565b5b828203905092915050565b60006130af82613142565b91506130ba83613142565b9250828210156130cd576130cc61327b565b5b828203905092915050565b60006130e382613122565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b82818337600083830152505050565b60005b8381101561318957808201518184015260208101905061316e565b83811115613198576000848401525b50505050565b600060028204905060018216806131b657607f821691505b602082108114156131ca576131c96132d9565b5b50919050565b6131d98261337a565b810181811067ffffffffffffffff821117156131f8576131f7613337565b5b80604052505050565b600061320c82613142565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561323f5761323e61327b565b5b600182019050919050565b600061325582613142565b915061326083613142565b9250826132705761326f6132aa565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f696e73756666696369656e740000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f5472616e73616374696f6e20556e7375636365737366756c0000000000000000600082015250565b7f736f6c64206f7574000000000000000000000000000000000000000000000000600082015250565b7f5468652063616c6c657220697320616e6f7468657220636f6e74726163740000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b6134b3816130d8565b81146134be57600080fd5b50565b6134ca816130ea565b81146134d557600080fd5b50565b6134e1816130f6565b81146134ec57600080fd5b50565b6134f881613142565b811461350357600080fd5b5056fea264697066735822122013c7cce6eb69bfc38366ca0c5db2bd930fce99901c2c5908d8df420fcbfb476364736f6c63430008070033