60806040526001600d553480156200001657600080fd5b5060405162003e2d38038062003e2d83398181016040528101906200003c919062000247565b6040518060400160405280600981526020017f424c434e596465656400000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f424c434e596465656400000000000000000000000000000000000000000000008152508160009080519060200190620000c092919062000180565b508060019080519060200190620000d992919062000180565b50505033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff0219169083151502179055505062000331565b8280546200018e90620002ad565b90600052602060002090601f016020900481019282620001b25760008555620001fe565b82601f10620001cd57805160ff1916838001178555620001fe565b82800160010185558215620001fe579182015b82811115620001fd578251825591602001919060010190620001e0565b5b5090506200020d919062000211565b5090565b5b808211156200022c57600081600090555060010162000212565b5090565b600081519050620002418162000317565b92915050565b60006020828403121562000260576200025f62000312565b5b6000620002708482850162000230565b91505092915050565b600062000286826200028d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006002820490506001821680620002c657607f821691505b60208210811415620002dd57620002dc620002e3565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b620003228162000279565b81146200032e57600080fd5b50565b613aec80620003416000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80634f6ccce7116100c3578063a22cb4651161007c578063a22cb465146103b2578063b88d4fde146103ce578063c87b56dd146103ea578063e62d86181461041a578063e985e9c51461044b578063f2fde38b1461047b57610158565b80634f6ccce7146102c95780636352211e146102f957806370a082311461032957806379ba5097146103595780637c76b1131461036357806395d89b411461039457610158565b806323b872dd1161011557806323b872dd1461021f578063243bee4e1461023b5780632b6479e3146102575780632f745c5914610273578063379cf37b146102a357806342842e0e146102ad57610158565b806301ffc9a71461015d57806306fdde031461018d578063081812fc146101ab578063095ea7b3146101db5780631775d6fd146101f757806318160ddd14610201575b600080fd5b610177600480360381019061017291906129e3565b610497565b6040516101849190612e3b565b60405180910390f35b610195610511565b6040516101a29190612e56565b60405180910390f35b6101c560048036038101906101c09190612a3d565b6105a3565b6040516101d29190612dd4565b60405180910390f35b6101f560048036038101906101f0919061295a565b610628565b005b6101ff610740565b005b6102096107c6565b60405161021691906130b8565b60405180910390f35b61023960048036038101906102349190612844565b6107d3565b005b61025560048036038101906102509190612a3d565b610833565b005b610271600480360381019061026c919061295a565b610a00565b005b61028d6004803603810190610288919061295a565b610b7f565b60405161029a91906130b8565b60405180910390f35b6102ab610c24565b005b6102c760048036038101906102c29190612844565b610dd2565b005b6102e360048036038101906102de9190612a3d565b610df2565b6040516102f091906130b8565b60405180910390f35b610313600480360381019061030e9190612a3d565b610e63565b6040516103209190612dd4565b60405180910390f35b610343600480360381019061033e91906127d7565b610f15565b60405161035091906130b8565b60405180910390f35b610361610fcd565b005b61037d600480360381019061037891906127d7565b61116c565b60405161038b92919061310a565b60405180910390f35b61039c611190565b6040516103a99190612e56565b60405180910390f35b6103cc60048036038101906103c7919061291a565b611222565b005b6103e860048036038101906103e39190612897565b6113a3565b005b61040460048036038101906103ff9190612a3d565b611405565b6040516104119190612e56565b60405180910390f35b610434600480360381019061042f9190612a3d565b6114ac565b60405161044292919061310a565b60405180910390f35b61046560048036038101906104609190612804565b6114d0565b6040516104729190612e3b565b60405180910390f35b610495600480360381019061049091906127d7565b611564565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061050a575061050982611602565b5b9050919050565b60606000805461052090613369565b80601f016020809104026020016040519081016040528092919081815260200182805461054c90613369565b80156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b5050505050905090565b60006105ae826116e4565b6105ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e490612fd8565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061063382610e63565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069b90613058565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106c3611750565b73ffffffffffffffffffffffffffffffffffffffff1614806106f257506106f1816106ec611750565b6114d0565b5b610731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072890612f58565b60405180910390fd5b61073b8383611758565b505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461079a57600080fd5b600c60149054906101000a900460ff1615600c60146101000a81548160ff021916908315150217905550565b6000600880549050905090565b6107e46107de611750565b82611811565b610823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081a90613078565b60405180910390fd5b61082e8383836118ef565b505050565b60005b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3a2a93a6040518163ffffffff1660e01b815260040160006040518083038186803b15801561089e57600080fd5b505afa1580156108b2573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906108db919061299a565b518110156109f757600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c3a2a93a6040518163ffffffff1660e01b815260040160006040518083038186803b15801561094b57600080fd5b505afa15801561095f573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610988919061299a565b818151811061099a57610999613502565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156109e4576109de82611b4b565b506109fd565b80806109ef906133cc565b915050610836565b50600080fd5b50565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a5a57600080fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018190555080600f6000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001548152602001908152602001600020600101819055507f17142381e32bda910296d819e43f7289f3800bc40a8a794fc538895f0284c8d4600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001548383604051610b73939291906130d3565b60405180910390a15050565b6000610b8a83610f15565b8210610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc290612e98565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6000610c2f33610f15565b14610c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6690613038565b60405180910390fd5b60011515600c60149054906101000a900460ff16151514610cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbc90612e78565b60405180910390fd5b610ccd612631565b600d54816000018181525050600181602001818152505080600f6000600d548152602001908152602001600020600082015181600001556020820151816001015590505080600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010155905050610d7433600d54611c5c565b600d6000815480929190610d87906133cc565b91905055507f17142381e32bda910296d819e43f7289f3800bc40a8a794fc538895f0284c8d48160000151338360200151604051610dc7939291906130d3565b60405180910390a150565b610ded838383604051806020016040528060008152506113a3565b505050565b6000610dfc6107c6565b8210610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490613098565b60405180910390fd5b60088281548110610e5157610e50613502565b5b90600052602060002001549050919050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0390612f98565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7d90612f78565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461102757600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e6020528060005260406000206000915090508060000154908060010154905082565b60606001805461119f90613369565b80601f01602080910402602001604051908101604052809291908181526020018280546111cb90613369565b80156112185780601f106111ed57610100808354040283529160200191611218565b820191906000526020600020905b8154815290600101906020018083116111fb57829003601f168201915b5050505050905090565b61122a611750565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128f90612f18565b60405180910390fd5b80600560006112a5611750565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611352611750565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516113979190612e3b565b60405180910390a35050565b6113b46113ae611750565b83611811565b6113f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ea90613078565b60405180910390fd5b6113ff84848484611e2a565b50505050565b6060611410826116e4565b61144f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144690613018565b60405180910390fd5b6000611459611e86565b9050600081511161147957604051806020016040528060008152506114a4565b8061148384611e9d565b604051602001611494929190612db0565b6040516020818303038152906040525b915050919050565b600f6020528060005260406000206000915090508060000154908060010154905082565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115be57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806116cd57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806116dd57506116dc82611ffe565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166117cb83610e63565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061181c826116e4565b61185b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185290612f38565b60405180910390fd5b600061186683610e63565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118d557508373ffffffffffffffffffffffffffffffffffffffff166118bd846105a3565b73ffffffffffffffffffffffffffffffffffffffff16145b806118e657506118e581856114d0565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661190f82610e63565b73ffffffffffffffffffffffffffffffffffffffff1614611965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195c90612ff8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cc90612ef8565b60405180910390fd5b6119e0838383612068565b6119eb600082611758565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a3b919061327f565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a9291906131f8565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000611b5682610e63565b9050611b6481600084612068565b611b6f600083611758565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bbf919061327f565b925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc390612fb8565b60405180910390fd5b611cd5816116e4565b15611d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0c90612ed8565b60405180910390fd5b611d2160008383612068565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d7191906131f8565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b611e358484846118ef565b611e418484848461217c565b611e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7790612eb8565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000821415611ee5576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611ff9565b600082905060005b60008214611f17578080611f00906133cc565b915050600a82611f10919061324e565b9150611eed565b60008167ffffffffffffffff811115611f3357611f32613531565b5b6040519080825280601f01601f191660200182016040528015611f655781602001600182028036833780820191505090505b5090505b60008514611ff257600182611f7e919061327f565b9150600a85611f8d9190613415565b6030611f9991906131f8565b60f81b818381518110611faf57611fae613502565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611feb919061324e565b9450611f69565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612073838383612313565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120b6576120b181612318565b6120f5565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146120f4576120f38382612361565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561213857612133816124ce565b612177565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461217657612175828261259f565b5b5b505050565b600061219d8473ffffffffffffffffffffffffffffffffffffffff1661261e565b15612306578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026121c6611750565b8786866040518563ffffffff1660e01b81526004016121e89493929190612def565b602060405180830381600087803b15801561220257600080fd5b505af192505050801561223357506040513d601f19601f820116820180604052508101906122309190612a10565b60015b6122b6573d8060008114612263576040519150601f19603f3d011682016040523d82523d6000602084013e612268565b606091505b506000815114156122ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a590612eb8565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061230b565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161236e84610f15565b612378919061327f565b905060006007600084815260200190815260200160002054905081811461245d576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506124e2919061327f565b905060006009600084815260200190815260200160002054905060006008838154811061251257612511613502565b5b90600052602060002001549050806008838154811061253457612533613502565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480612583576125826134d3565b5b6001900381819060005260206000200160009055905550505050565b60006125aa83610f15565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600080823b905060008111915050919050565b604051806040016040528060008152602001600081525090565b600061265e61265984613158565b613133565b9050808382526020820190508285602086028201111561268157612680613565565b5b60005b858110156126b157816126978882612712565b845260208401935060208301925050600181019050612684565b5050509392505050565b60006126ce6126c984613184565b613133565b9050828152602081018484840111156126ea576126e961356a565b5b6126f5848285613327565b509392505050565b60008135905061270c81613a5a565b92915050565b60008151905061272181613a5a565b92915050565b600082601f83011261273c5761273b613560565b5b815161274c84826020860161264b565b91505092915050565b60008135905061276481613a71565b92915050565b60008135905061277981613a88565b92915050565b60008151905061278e81613a88565b92915050565b600082601f8301126127a9576127a8613560565b5b81356127b98482602086016126bb565b91505092915050565b6000813590506127d181613a9f565b92915050565b6000602082840312156127ed576127ec613574565b5b60006127fb848285016126fd565b91505092915050565b6000806040838503121561281b5761281a613574565b5b6000612829858286016126fd565b925050602061283a858286016126fd565b9150509250929050565b60008060006060848603121561285d5761285c613574565b5b600061286b868287016126fd565b935050602061287c868287016126fd565b925050604061288d868287016127c2565b9150509250925092565b600080600080608085870312156128b1576128b0613574565b5b60006128bf878288016126fd565b94505060206128d0878288016126fd565b93505060406128e1878288016127c2565b925050606085013567ffffffffffffffff8111156129025761290161356f565b5b61290e87828801612794565b91505092959194509250565b6000806040838503121561293157612930613574565b5b600061293f858286016126fd565b925050602061295085828601612755565b9150509250929050565b6000806040838503121561297157612970613574565b5b600061297f858286016126fd565b9250506020612990858286016127c2565b9150509250929050565b6000602082840312156129b0576129af613574565b5b600082015167ffffffffffffffff8111156129ce576129cd61356f565b5b6129da84828501612727565b91505092915050565b6000602082840312156129f9576129f8613574565b5b6000612a078482850161276a565b91505092915050565b600060208284031215612a2657612a25613574565b5b6000612a348482850161277f565b91505092915050565b600060208284031215612a5357612a52613574565b5b6000612a61848285016127c2565b91505092915050565b612a73816132b3565b82525050565b612a82816132c5565b82525050565b6000612a93826131b5565b612a9d81856131cb565b9350612aad818560208601613336565b612ab681613579565b840191505092915050565b6000612acc826131c0565b612ad681856131dc565b9350612ae6818560208601613336565b612aef81613579565b840191505092915050565b6000612b05826131c0565b612b0f81856131ed565b9350612b1f818560208601613336565b80840191505092915050565b6000612b386018836131dc565b9150612b438261358a565b602082019050919050565b6000612b5b602b836131dc565b9150612b66826135b3565b604082019050919050565b6000612b7e6032836131dc565b9150612b8982613602565b604082019050919050565b6000612ba1601c836131dc565b9150612bac82613651565b602082019050919050565b6000612bc46024836131dc565b9150612bcf8261367a565b604082019050919050565b6000612be76019836131dc565b9150612bf2826136c9565b602082019050919050565b6000612c0a602c836131dc565b9150612c15826136f2565b604082019050919050565b6000612c2d6038836131dc565b9150612c3882613741565b604082019050919050565b6000612c50602a836131dc565b9150612c5b82613790565b604082019050919050565b6000612c736029836131dc565b9150612c7e826137df565b604082019050919050565b6000612c966020836131dc565b9150612ca18261382e565b602082019050919050565b6000612cb9602c836131dc565b9150612cc482613857565b604082019050919050565b6000612cdc6029836131dc565b9150612ce7826138a6565b604082019050919050565b6000612cff602f836131dc565b9150612d0a826138f5565b604082019050919050565b6000612d226018836131dc565b9150612d2d82613944565b602082019050919050565b6000612d456021836131dc565b9150612d508261396d565b604082019050919050565b6000612d686031836131dc565b9150612d73826139bc565b604082019050919050565b6000612d8b602c836131dc565b9150612d9682613a0b565b604082019050919050565b612daa8161331d565b82525050565b6000612dbc8285612afa565b9150612dc88284612afa565b91508190509392505050565b6000602082019050612de96000830184612a6a565b92915050565b6000608082019050612e046000830187612a6a565b612e116020830186612a6a565b612e1e6040830185612da1565b8181036060830152612e308184612a88565b905095945050505050565b6000602082019050612e506000830184612a79565b92915050565b60006020820190508181036000830152612e708184612ac1565b905092915050565b60006020820190508181036000830152612e9181612b2b565b9050919050565b60006020820190508181036000830152612eb181612b4e565b9050919050565b60006020820190508181036000830152612ed181612b71565b9050919050565b60006020820190508181036000830152612ef181612b94565b9050919050565b60006020820190508181036000830152612f1181612bb7565b9050919050565b60006020820190508181036000830152612f3181612bda565b9050919050565b60006020820190508181036000830152612f5181612bfd565b9050919050565b60006020820190508181036000830152612f7181612c20565b9050919050565b60006020820190508181036000830152612f9181612c43565b9050919050565b60006020820190508181036000830152612fb181612c66565b9050919050565b60006020820190508181036000830152612fd181612c89565b9050919050565b60006020820190508181036000830152612ff181612cac565b9050919050565b6000602082019050818103600083015261301181612ccf565b9050919050565b6000602082019050818103600083015261303181612cf2565b9050919050565b6000602082019050818103600083015261305181612d15565b9050919050565b6000602082019050818103600083015261307181612d38565b9050919050565b6000602082019050818103600083015261309181612d5b565b9050919050565b600060208201905081810360008301526130b181612d7e565b9050919050565b60006020820190506130cd6000830184612da1565b92915050565b60006060820190506130e86000830186612da1565b6130f56020830185612a6a565b6131026040830184612da1565b949350505050565b600060408201905061311f6000830185612da1565b61312c6020830184612da1565b9392505050565b600061313d61314e565b9050613149828261339b565b919050565b6000604051905090565b600067ffffffffffffffff82111561317357613172613531565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561319f5761319e613531565b5b6131a882613579565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006132038261331d565b915061320e8361331d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561324357613242613446565b5b828201905092915050565b60006132598261331d565b91506132648361331d565b92508261327457613273613475565b5b828204905092915050565b600061328a8261331d565b91506132958361331d565b9250828210156132a8576132a7613446565b5b828203905092915050565b60006132be826132fd565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613354578082015181840152602081019050613339565b83811115613363576000848401525b50505050565b6000600282049050600182168061338157607f821691505b60208210811415613395576133946134a4565b5b50919050565b6133a482613579565b810181811067ffffffffffffffff821117156133c3576133c2613531565b5b80604052505050565b60006133d78261331d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561340a57613409613446565b5b600182019050919050565b60006134208261331d565b915061342b8361331d565b92508261343b5761343a613475565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f41697264726f7020706572696f642068617320656e6465640000000000000000600082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f596f7520616c7265616479206f776e2061207469636b65740000000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b613a63816132b3565b8114613a6e57600080fd5b50565b613a7a816132c5565b8114613a8557600080fd5b50565b613a91816132d1565b8114613a9c57600080fd5b50565b613aa88161331d565b8114613ab357600080fd5b5056fea2646970667358221220f1c7cf1ca35fe2d288e3869d5661abb73fba6154437d694fef698d13ca94d6bc64736f6c63430008070033000000000000000000000000e3f4ffc3491f95751a6d5b7e13a9ee63579c1e53