60a060405260405180602001604052806000815250600b90805190602001906200002b929190620001d8565b503480156200003957600080fd5b5060405162003f9f38038062003f9f83398181016040528101906200005f919062000460565b828262000081620000756200010c60201b60201c565b6200011460201b60201c565b816001908051906020019062000099929190620001d8565b508060029080519060200190620000b2929190620001d8565b50505060008111620000fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000f29062000581565b60405180910390fd5b806080818152505050505062000608565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001e690620005d2565b90600052602060002090601f0160209004810192826200020a576000855562000256565b82601f106200022557805160ff191683800117855562000256565b8280016001018555821562000256579182015b828111156200025557825182559160200191906001019062000238565b5b50905062000265919062000269565b5090565b5b80821115620002845760008160009055506001016200026a565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620002f182620002a6565b810181811067ffffffffffffffff82111715620003135762000312620002b7565b5b80604052505050565b60006200032862000288565b9050620003368282620002e6565b919050565b600067ffffffffffffffff821115620003595762000358620002b7565b5b6200036482620002a6565b9050602081019050919050565b60005b838110156200039157808201518184015260208101905062000374565b83811115620003a1576000848401525b50505050565b6000620003be620003b8846200033b565b6200031c565b905082815260208101848484011115620003dd57620003dc620002a1565b5b620003ea84828562000371565b509392505050565b600082601f8301126200040a57620004096200029c565b5b81516200041c848260208601620003a7565b91505092915050565b6000819050919050565b6200043a8162000425565b81146200044657600080fd5b50565b6000815190506200045a816200042f565b92915050565b6000806000606084860312156200047c576200047b62000292565b5b600084015167ffffffffffffffff8111156200049d576200049c62000297565b5b620004ab86828701620003f2565b935050602084015167ffffffffffffffff811115620004cf57620004ce62000297565b5b620004dd86828701620003f2565b9250506040620004f08682870162000449565b9150509250925092565b600082825260208201905092915050565b7f537570706c79206c696d6974206d75737420626520677265617465722074686160008201527f6e20300000000000000000000000000000000000000000000000000000000000602082015250565b600062000569602383620004fa565b915062000576826200050b565b604082019050919050565b600060208201905081810360008301526200059c816200055a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005eb57607f821691505b60208210811415620006025762000601620005a3565b5b50919050565b6080516139746200062b6000396000818161070501526108c301526139746000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636352211e116100de578063a22cb46511610097578063c87b56dd11610071578063c87b56dd14610448578063e985e9c514610478578063f2fde38b146104a8578063f46eccc4146104c457610173565b8063a22cb465146103f4578063a9570f1314610410578063b88d4fde1461042c57610173565b80636352211e1461033257806370a0823114610362578063715018a6146103925780638da5cb5b1461039c578063931688cb146103ba57806395d89b41146103d657610173565b806323b872dd1161013057806323b872dd1461024e5780632f745c591461026a57806340d097c31461029a57806342842e0e146102ca57806342966c68146102e65780634f6ccce71461030257610173565b806301ffc9a71461017857806306fdde03146101a8578063081812fc146101c6578063095ea7b3146101f657806318160ddd1461021257806319d1997a14610230575b600080fd5b610192600480360381019061018d91906126fd565b6104f4565b60405161019f9190612745565b60405180910390f35b6101b0610506565b6040516101bd91906127f9565b60405180910390f35b6101e060048036038101906101db9190612851565b610598565b6040516101ed91906128bf565b60405180910390f35b610210600480360381019061020b9190612906565b6105de565b005b61021a6106f6565b6040516102279190612955565b60405180910390f35b610238610703565b6040516102459190612955565b60405180910390f35b61026860048036038101906102639190612970565b610727565b005b610284600480360381019061027f9190612906565b610787565b6040516102919190612955565b60405180910390f35b6102b460048036038101906102af91906129c3565b61082c565b6040516102c19190612955565b60405180910390f35b6102e460048036038101906102df9190612970565b610951565b005b61030060048036038101906102fb9190612851565b610971565b005b61031c60048036038101906103179190612851565b6109cd565b6040516103299190612955565b60405180910390f35b61034c60048036038101906103479190612851565b610a3e565b60405161035991906128bf565b60405180910390f35b61037c600480360381019061037791906129c3565b610ac5565b6040516103899190612955565b60405180910390f35b61039a610b7d565b005b6103a4610b91565b6040516103b191906128bf565b60405180910390f35b6103d460048036038101906103cf9190612a55565b610bba565b005b6103de610bd8565b6040516103eb91906127f9565b60405180910390f35b61040e60048036038101906104099190612ace565b610c6a565b005b61042a60048036038101906104259190612ace565b610c80565b005b61044660048036038101906104419190612c3e565b610d31565b005b610462600480360381019061045d9190612851565b610d93565b60405161046f91906127f9565b60405180910390f35b610492600480360381019061048d9190612cc1565b610dfb565b60405161049f9190612745565b60405180910390f35b6104c260048036038101906104bd91906129c3565b610e8f565b005b6104de60048036038101906104d991906129c3565b610f13565b6040516104eb9190612745565b60405180910390f35b60006104ff82610f33565b9050919050565b60606001805461051590612d30565b80601f016020809104026020016040519081016040528092919081815260200182805461054190612d30565b801561058e5780601f106105635761010080835404028352916020019161058e565b820191906000526020600020905b81548152906001019060200180831161057157829003601f168201915b5050505050905090565b60006105a382610fad565b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105e982610a3e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561065a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065190612dd4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610679610ff8565b73ffffffffffffffffffffffffffffffffffffffff1614806106a857506106a7816106a2610ff8565b610dfb565b5b6106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de90612e66565b60405180910390fd5b6106f18383611000565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610738610732610ff8565b826110b9565b610777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076e90612ef8565b60405180910390fd5b61078283838361114e565b505050565b600061079283610ac5565b82106107d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ca90612f8a565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6000600d600061083a610ff8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b89061301c565b60405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000600c5410610925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091c90613088565b60405180910390fd5b6000600c60008154610936906130d7565b91905081905590506109488382611448565b80915050919050565b61096c83838360405180602001604052806000815250610d31565b505050565b61098261097c610ff8565b826110b9565b6109c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b890612ef8565b60405180910390fd5b6109ca81611466565b50565b60006109d76106f6565b8210610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f90613192565b60405180910390fd5b60098281548110610a2c57610a2b6131b2565b5b90600052602060002001549050919050565b600080610a4a836115b4565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab39061322d565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2d906132bf565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b856115f1565b610b8f600061166f565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610bc26115f1565b8181600b9190610bd39291906125ee565b505050565b606060028054610be790612d30565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1390612d30565b8015610c605780601f10610c3557610100808354040283529160200191610c60565b820191906000526020600020905b815481529060010190602001808311610c4357829003601f168201915b5050505050905090565b610c7c610c75610ff8565b8383611733565b5050565b610c886115f1565b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb21afb9ce9be0a676f8f317ff0ca072fb89a4f8ce2d1b6fe80f8755c14f1cb1982604051610d259190612745565b60405180910390a25050565b610d42610d3c610ff8565b836110b9565b610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7890612ef8565b60405180910390fd5b610d8d848484846118a0565b50505050565b6060610d9e82610fad565b6000610da86118fc565b90506000815111610dc85760405180602001604052806000815250610df3565b80610dd28461198e565b604051602001610de392919061331b565b6040516020818303038152906040525b915050919050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610e976115f1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efe906133b1565b60405180910390fd5b610f108161166f565b50565b600d6020528060005260406000206000915054906101000a900460ff1681565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610fa65750610fa582611a66565b5b9050919050565b610fb681611b48565b610ff5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fec9061322d565b60405180910390fd5b50565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661107383610a3e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806110c583610a3e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061110757506111068185610dfb565b5b8061114557508373ffffffffffffffffffffffffffffffffffffffff1661112d84610598565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661116e82610a3e565b73ffffffffffffffffffffffffffffffffffffffff16146111c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bb90613443565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122b906134d5565b60405180910390fd5b6112418383836001611b89565b8273ffffffffffffffffffffffffffffffffffffffff1661126182610a3e565b73ffffffffffffffffffffffffffffffffffffffff16146112b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ae90613443565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46114438383836001611b9b565b505050565b611462828260405180602001604052806000815250611ba1565b5050565b600061147182610a3e565b9050611481816000846001611b89565b61148a82610a3e565b90506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46115b0816000846001611b9b565b5050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6115f9610ff8565b73ffffffffffffffffffffffffffffffffffffffff16611617610b91565b73ffffffffffffffffffffffffffffffffffffffff161461166d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166490613541565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611799906135ad565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516118939190612745565b60405180910390a3505050565b6118ab84848461114e565b6118b784848484611bfc565b6118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed9061363f565b60405180910390fd5b50505050565b6060600b805461190b90612d30565b80601f016020809104026020016040519081016040528092919081815260200182805461193790612d30565b80156119845780601f1061195957610100808354040283529160200191611984565b820191906000526020600020905b81548152906001019060200180831161196757829003601f168201915b5050505050905090565b60606000600161199d84611d84565b01905060008167ffffffffffffffff8111156119bc576119bb612b13565b5b6040519080825280601f01601f1916602001820160405280156119ee5781602001600182028036833780820191505090505b509050600082602001820190505b600115611a5b578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611a4557611a4461365f565b5b0494506000851415611a5657611a5b565b6119fc565b819350505050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b3157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611b415750611b4082611ed7565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16611b6a836115b4565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b611b9584848484611f41565b50505050565b50505050565b611bab83836120a1565b611bb86000848484611bfc565b611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee9061363f565b60405180910390fd5b505050565b6000611c1d8473ffffffffffffffffffffffffffffffffffffffff166122bf565b15611d77578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611c46610ff8565b8786866040518563ffffffff1660e01b8152600401611c6894939291906136e3565b6020604051808303816000875af1925050508015611ca457506040513d601f19601f82011682018060405250810190611ca19190613744565b60015b611d27573d8060008114611cd4576040519150601f19603f3d011682016040523d82523d6000602084013e611cd9565b606091505b50600081511415611d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d169061363f565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611d7c565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611de2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611dd857611dd761365f565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611e1f576d04ee2d6d415b85acef81000000008381611e1557611e1461365f565b5b0492506020810190505b662386f26fc100008310611e4e57662386f26fc100008381611e4457611e4361365f565b5b0492506010810190505b6305f5e1008310611e77576305f5e1008381611e6d57611e6c61365f565b5b0492506008810190505b6127108310611e9c576127108381611e9257611e9161365f565b5b0492506004810190505b60648310611ebf5760648381611eb557611eb461365f565b5b0492506002810190505b600a8310611ece576001810190505b80915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611f4d848484846122e2565b6001811115611f91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f88906137e3565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611fd957611fd4816122e8565b612018565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612017576120168582612331565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561205b576120568161249e565b61209a565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461209957612098848261256f565b5b5b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612111576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121089061384f565b60405180910390fd5b61211a81611b48565b1561215a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612151906138bb565b60405180910390fd5b612168600083836001611b89565b61217181611b48565b156121b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a8906138bb565b60405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46122bb600083836001611b9b565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161233e84610ac5565b61234891906138db565b905060006008600084815260200190815260200160002054905081811461242d576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016009805490506124b291906138db565b90506000600a60008481526020019081526020016000205490506000600983815481106124e2576124e16131b2565b5b906000526020600020015490508060098381548110612504576125036131b2565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a60008581526020019081526020016000206000905560098054806125535761255261390f565b5b6001900381819060005260206000200160009055905550505050565b600061257a83610ac5565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b8280546125fa90612d30565b90600052602060002090601f01602090048101928261261c5760008555612663565b82601f1061263557803560ff1916838001178555612663565b82800160010185558215612663579182015b82811115612662578235825591602001919060010190612647565b5b5090506126709190612674565b5090565b5b8082111561268d576000816000905550600101612675565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6126da816126a5565b81146126e557600080fd5b50565b6000813590506126f7816126d1565b92915050565b6000602082840312156127135761271261269b565b5b6000612721848285016126e8565b91505092915050565b60008115159050919050565b61273f8161272a565b82525050565b600060208201905061275a6000830184612736565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561279a57808201518184015260208101905061277f565b838111156127a9576000848401525b50505050565b6000601f19601f8301169050919050565b60006127cb82612760565b6127d5818561276b565b93506127e581856020860161277c565b6127ee816127af565b840191505092915050565b6000602082019050818103600083015261281381846127c0565b905092915050565b6000819050919050565b61282e8161281b565b811461283957600080fd5b50565b60008135905061284b81612825565b92915050565b6000602082840312156128675761286661269b565b5b60006128758482850161283c565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128a98261287e565b9050919050565b6128b98161289e565b82525050565b60006020820190506128d460008301846128b0565b92915050565b6128e38161289e565b81146128ee57600080fd5b50565b600081359050612900816128da565b92915050565b6000806040838503121561291d5761291c61269b565b5b600061292b858286016128f1565b925050602061293c8582860161283c565b9150509250929050565b61294f8161281b565b82525050565b600060208201905061296a6000830184612946565b92915050565b6000806000606084860312156129895761298861269b565b5b6000612997868287016128f1565b93505060206129a8868287016128f1565b92505060406129b98682870161283c565b9150509250925092565b6000602082840312156129d9576129d861269b565b5b60006129e7848285016128f1565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612a1557612a146129f0565b5b8235905067ffffffffffffffff811115612a3257612a316129f5565b5b602083019150836001820283011115612a4e57612a4d6129fa565b5b9250929050565b60008060208385031215612a6c57612a6b61269b565b5b600083013567ffffffffffffffff811115612a8a57612a896126a0565b5b612a96858286016129ff565b92509250509250929050565b612aab8161272a565b8114612ab657600080fd5b50565b600081359050612ac881612aa2565b92915050565b60008060408385031215612ae557612ae461269b565b5b6000612af3858286016128f1565b9250506020612b0485828601612ab9565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b4b826127af565b810181811067ffffffffffffffff82111715612b6a57612b69612b13565b5b80604052505050565b6000612b7d612691565b9050612b898282612b42565b919050565b600067ffffffffffffffff821115612ba957612ba8612b13565b5b612bb2826127af565b9050602081019050919050565b82818337600083830152505050565b6000612be1612bdc84612b8e565b612b73565b905082815260208101848484011115612bfd57612bfc612b0e565b5b612c08848285612bbf565b509392505050565b600082601f830112612c2557612c246129f0565b5b8135612c35848260208601612bce565b91505092915050565b60008060008060808587031215612c5857612c5761269b565b5b6000612c66878288016128f1565b9450506020612c77878288016128f1565b9350506040612c888782880161283c565b925050606085013567ffffffffffffffff811115612ca957612ca86126a0565b5b612cb587828801612c10565b91505092959194509250565b60008060408385031215612cd857612cd761269b565b5b6000612ce6858286016128f1565b9250506020612cf7858286016128f1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d4857607f821691505b60208210811415612d5c57612d5b612d01565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612dbe60218361276b565b9150612dc982612d62565b604082019050919050565b60006020820190508181036000830152612ded81612db1565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612e50603d8361276b565b9150612e5b82612df4565b604082019050919050565b60006020820190508181036000830152612e7f81612e43565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612ee2602d8361276b565b9150612eed82612e86565b604082019050919050565b60006020820190508181036000830152612f1181612ed5565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612f74602b8361276b565b9150612f7f82612f18565b604082019050919050565b60006020820190508181036000830152612fa381612f67565b9050919050565b7f4164647265737320646f6573206e6f74206861766520746865206d696e74657260008201527f207065726d697373696f6e000000000000000000000000000000000000000000602082015250565b6000613006602b8361276b565b915061301182612faa565b604082019050919050565b6000602082019050818103600083015261303581612ff9565b9050919050565b7f457863656564732074686520746f74616c20737570706c790000000000000000600082015250565b600061307260188361276b565b915061307d8261303c565b602082019050919050565b600060208201905081810360008301526130a181613065565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006130e28261281b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613115576131146130a8565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b600061317c602c8361276b565b915061318782613120565b604082019050919050565b600060208201905081810360008301526131ab8161316f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061321760188361276b565b9150613222826131e1565b602082019050919050565b600060208201905081810360008301526132468161320a565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006132a960298361276b565b91506132b48261324d565b604082019050919050565b600060208201905081810360008301526132d88161329c565b9050919050565b600081905092915050565b60006132f582612760565b6132ff81856132df565b935061330f81856020860161277c565b80840191505092915050565b600061332782856132ea565b915061333382846132ea565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061339b60268361276b565b91506133a68261333f565b604082019050919050565b600060208201905081810360008301526133ca8161338e565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061342d60258361276b565b9150613438826133d1565b604082019050919050565b6000602082019050818103600083015261345c81613420565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006134bf60248361276b565b91506134ca82613463565b604082019050919050565b600060208201905081810360008301526134ee816134b2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061352b60208361276b565b9150613536826134f5565b602082019050919050565b6000602082019050818103600083015261355a8161351e565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061359760198361276b565b91506135a282613561565b602082019050919050565b600060208201905081810360008301526135c68161358a565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061362960328361276b565b9150613634826135cd565b604082019050919050565b600060208201905081810360008301526136588161361c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006136b58261368e565b6136bf8185613699565b93506136cf81856020860161277c565b6136d8816127af565b840191505092915050565b60006080820190506136f860008301876128b0565b61370560208301866128b0565b6137126040830185612946565b818103606083015261372481846136aa565b905095945050505050565b60008151905061373e816126d1565b92915050565b60006020828403121561375a5761375961269b565b5b60006137688482850161372f565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006137cd60358361276b565b91506137d882613771565b604082019050919050565b600060208201905081810360008301526137fc816137c0565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061383960208361276b565b915061384482613803565b602082019050919050565b600060208201905081810360008301526138688161382c565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006138a5601c8361276b565b91506138b08261386f565b602082019050919050565b600060208201905081810360008301526138d481613898565b9050919050565b60006138e68261281b565b91506138f18361281b565b925082821015613904576139036130a8565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212200f3aa7a95f21fdbfd8d7564726d2ac5532b9f251b14184334df087af141ba9c464736f6c634300080a0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000000000000000000000000000000000000000000c464f554e4445525320544147000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035441470000000000000000000000000000000000000000000000000000000000