60806040526040518061010001604052806509184e72a00065ffffffffffff1681526020016512309ce5400065ffffffffffff1681526020016516bcc41e900065ffffffffffff168152602001651b48eb57e00065ffffffffffff16815260200165246139ca800065ffffffffffff168152602001652d79883d200065ffffffffffff168152602001653faa2522600065ffffffffffff168152602001655af3107a400065ffffffffffff168152506000906008620000c0929190620004a8565b506040518060400160405280601381526020017f4d617273204d696e696e6720436f6d70616e7900000000000000000000000000815250601290805190602001906200010e929190620004f7565b506040518060400160405280600481526020017f4d41525300000000000000000000000000000000000000000000000000000000815250601390805190602001906200015c929190620004f7565b503480156200016a57600080fd5b506001601560006380ac58cd60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160156000635b5e139f60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002b96001336000801b620002f260201b60201c565b6611c37937e0800060008060088110620002d857620002d7620005a7565b5b0154620002e691906200060f565b600c819055506200071f565b336011600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919062000396906200066c565b919050555060088190806001815401808255809150506001900390600052602060002001600090919091909150558273d8da6bf26964af9d7eed9e03e53415d37aa9604573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4828273ffffffffffffffffffffffffffffffffffffffff1673d8da6bf26964af9d7eed9e03e53415d37aa9604573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b8260088101928215620004e4579160200282015b82811115620004e3578251829065ffffffffffff16905591602001919060010190620004bc565b5b509050620004f3919062000588565b5090565b8280546200050590620006e9565b90600052602060002090601f01602090048101928262000529576000855562000575565b82601f106200054457805160ff191683800117855562000575565b8280016001018555821562000575579182015b828111156200057457825182559160200191906001019062000557565b5b50905062000584919062000588565b5090565b5b80821115620005a357600081600090555060010162000589565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200061c82620005d6565b91506200062983620005d6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620006615762000660620005e0565b5b828201905092915050565b60006200067982620005d6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620006af57620006ae620005e0565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200070257607f821691505b60208210811415620007195762000718620006ba565b5b50919050565b61373f806200072f6000396000f3fe6080604052600436106101d85760003560e01c80636352211e11610102578063bdb4b84811610095578063d9f3bc4311610064578063d9f3bc43146106c6578063e3e4702c14610703578063e985e9c514610742578063f3cb83851461077f576101d8565b8063bdb4b84814610605578063c20615ed14610630578063c87b56dd1461065b578063d8c3697314610698576101d8565b80638da5cb5b116100d15780638da5cb5b1461055d57806395d89b4114610588578063a22cb465146105b3578063b88d4fde146105dc576101d8565b80636352211e1461046957806370a08231146104a65780637daa11e3146104e35780637e551b7514610520576101d8565b806320a47b721161017a5780634311de8f116101495780634311de8f146103d35780634a910046146103ea578063567d032814610415578063597e1fb51461043e576101d8565b806320a47b721461031b5780632340c6391461034457806323b872dd1461038157806342842e0e146103aa576101d8565b80630937732c116101b65780630937732c14610282578063095ea7b31461029e57806313af4035146102c757806318160ddd146102f0576101d8565b806301ffc9a7146101dd57806306fdde031461021a578063081812fc14610245575b600080fd5b3480156101e957600080fd5b5061020460048036038101906101ff919061233e565b6107a8565b6040516102119190612386565b60405180910390f35b34801561022657600080fd5b5061022f6107c8565b60405161023c919061243a565b60405180910390f35b34801561025157600080fd5b5061026c60048036038101906102679190612492565b610856565b6040516102799190612500565b60405180910390f35b61029c60048036038101906102979190612492565b6108db565b005b3480156102aa57600080fd5b506102c560048036038101906102c09190612547565b610b05565b005b3480156102d357600080fd5b506102ee60048036038101906102e99190612587565b610cc3565b005b3480156102fc57600080fd5b50610305610d97565b60405161031291906125c3565b60405180910390f35b34801561032757600080fd5b50610342600480360381019061033d9190612643565b610db1565b005b34801561035057600080fd5b5061036b60048036038101906103669190612492565b610e99565b60405161037891906125c3565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a39190612690565b610eb1565b005b3480156103b657600080fd5b506103d160048036038101906103cc9190612690565b6112ff565b005b3480156103df57600080fd5b506103e861131f565b005b3480156103f657600080fd5b506103ff611489565b60405161040c91906126fc565b60405180910390f35b34801561042157600080fd5b5061043c60048036038101906104379190612492565b6114c0565b005b34801561044a57600080fd5b50610453611512565b60405161046091906125c3565b60405180910390f35b34801561047557600080fd5b50610490600480360381019061048b9190612492565b611518565b60405161049d9190612500565b60405180910390f35b3480156104b257600080fd5b506104cd60048036038101906104c89190612587565b61159d565b6040516104da91906125c3565b60405180910390f35b3480156104ef57600080fd5b5061050a60048036038101906105059190612492565b6115b5565b60405161051791906125c3565b60405180910390f35b34801561052c57600080fd5b5061054760048036038101906105429190612492565b611660565b60405161055491906126fc565b60405180910390f35b34801561056957600080fd5b506105726116dc565b60405161057f9190612500565b60405180910390f35b34801561059457600080fd5b5061059d611702565b6040516105aa919061243a565b60405180910390f35b3480156105bf57600080fd5b506105da60048036038101906105d59190612743565b611790565b005b3480156105e857600080fd5b5061060360048036038101906105fe91906128b3565b61188d565b005b34801561061157600080fd5b5061061a6119eb565b60405161062791906125c3565b60405180910390f35b34801561063c57600080fd5b506106456119f1565b60405161065291906125c3565b60405180910390f35b34801561066757600080fd5b50610682600480360381019061067d9190612492565b6119f7565b60405161068f919061243a565b60405180910390f35b3480156106a457600080fd5b506106ad611b40565b6040516106bd9493929190612936565b60405180910390f35b3480156106d257600080fd5b506106ed60048036038101906106e891906129a7565b611b90565b6040516106fa91906125c3565b60405180910390f35b34801561070f57600080fd5b5061072a60048036038101906107259190612492565b611c45565b604051610739939291906129e7565b60405180910390f35b34801561074e57600080fd5b5061076960048036038101906107649190612a1e565b611ce4565b6040516107769190612386565b60405180910390f35b34801561078b57600080fd5b506107a660048036038101906107a19190612587565b611d13565b005b60156020528060005260406000206000915054906101000a900460ff1681565b601280546107d590612a8d565b80601f016020809104026020016040519081016040528092919081815260200182805461080190612a8d565b801561084e5780601f106108235761010080835404028352916020019161084e565b820191906000526020600020905b81548152906001019060200180831161083157829003601f168201915b505050505081565b600061086182611de7565b6108a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089790612b0b565b60405180910390fd5b600f600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600060016008805490506108ef9190612b5a565b905060006108fb610d97565b905060008161138861090d9190612bb0565b62e4e1c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61093c9190612c39565b6109469190612c6a565b90506000336008600160088054905061095f9190612c6a565b815481106109705761096f612c9e565b5b90600052602060002001548660405160200161098e93929190612d57565b604051602081830303815290604052805190602001209050818160001c106109eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e290612de0565b60405180910390fd5b600c543414610a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2690612e4c565b60405180910390fd5b82600d6000868152602001908152602001600020819055508042604051602001610a5a929190612e6c565b604051602081830303815290604052805190602001209050610a7d843383611e53565b6000610a898285611b90565b60088110610a9a57610a99612c9e565b5b0154600c6000828254610aad9190612b5a565b925050819055507f53e77537b3f3c68e60512671adfe8ddbdc4d96ff3f7414bc781b540c041458b3848233610ae0610d97565b600c5443604051610af696959493929190612e98565b60405180910390a15050505050565b6000610b1082611518565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610bd25750601060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0890612f45565b60405180910390fd5b818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a482600f600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4a90612fb1565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600954600880549050610dac9190612c6a565b905090565b60008282905011610df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dee9061301d565b60405180910390fd5b600080600090505b83839050811015610e4c57610e2c848483818110610e2057610e1f612c9e565b5b90506020020135612007565b82610e379190612b5a565b91508080610e449061303d565b915050610dff565b503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e93573d6000803e3d6000fd5b50505050565b600d6020528060005260406000206000915090505481565b6000610ebc82611518565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610f5657503373ffffffffffffffffffffffffffffffffffffffff16600f600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80610fe75750601060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d90612f45565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108b90612fb1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb906130d2565b60405180910390fd5b818373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4826011600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611201906130f2565b9190505550600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906112569061303d565b9190505550600073ffffffffffffffffffffffffffffffffffffffff16600f600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112f957600f600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b50505050565b61131a8383836040518060200160405280600081525061188d565b505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a690612fb1565b60405180910390fd5b60006611c37937e080006001600a546008805490506113ce9190612c6a565b6113d89190612c6a565b6113e29190612bb0565b905060008111611427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141e90613168565b60405180910390fd5b60016008805490506114399190612c6a565b600a819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611485573d6000803e3d6000fd5b5050565b60006008600160088054905061149f9190612c6a565b815481106114b0576114af612c9e565b5b9060005260206000200154905090565b3373ffffffffffffffffffffffffffffffffffffffff166108fc6114e383612007565b9081150290604051600060405180830381858888f1935050505015801561150e573d6000803e3d6000fd5b5050565b60095481565b600061152382611de7565b611562576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155990612b0b565b60405180910390fd5b6011600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600e6020528060005260406000206000915090505481565b60006115c082611de7565b6115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f690612b0b565b60405180910390fd5b60008061162761160e85611660565b600d600087815260200190815260200160002054611b90565b6008811061163857611637612c9e565b5b01549050808360088054905061164e9190612c6a565b6116589190612bb0565b915050919050565b600061166b82611de7565b6116aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a190612b0b565b60405180910390fd5b60086001836116b99190612c6a565b815481106116ca576116c9612c9e565b5b90600052602060002001549050919050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6013805461170f90612a8d565b80601f016020809104026020016040519081016040528092919081815260200182805461173b90612a8d565b80156117885780601f1061175d57610100808354040283529160200191611788565b820191906000526020600020905b81548152906001019060200180831161176b57829003601f168201915b505050505081565b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516117ed9190612386565b60405180910390a380601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611898848484610eb1565b6000833b905060008163ffffffff1611156119e45760008490507f150b7a023d4804d13e8c85fb27262cb750cf6ba9f9dd3bb30d90f482ceeb4b1f7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168173ffffffffffffffffffffffffffffffffffffffff1663150b7a02338988886040518563ffffffff1660e01b815260040161193194939291906131dd565b602060405180830381600087803b15801561194b57600080fd5b505af115801561195f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611983919061323e565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146119e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d9906132b7565b60405180910390fd5b505b5050505050565b600c5481565b600a5481565b6060611a0282611de7565b611a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3890613323565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631600e348836008600186611a8f9190612c6a565b81548110611aa057611a9f612c9e565b5b9060005260206000200154600d6000878152602001908152602001600020546008805490506040518563ffffffff1660e01b8152600401611ae49493929190613343565b60006040518083038186803b158015611afc57600080fd5b505afa158015611b10573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611b399190613429565b9050919050565b60008060008060086001600880549050611b5a9190612c6a565b81548110611b6b57611b6a612c9e565b5b9060005260206000200154611b7e610d97565b60095443935093509350935090919293565b6000806101f4831015611ba65760029050611bfb565b6103e8831015611bb95760039050611bfa565b6105dc831015611bcc5760049050611bf9565b6107d0831015611bdf5760059050611bf8565b6109c4831015611bf25760069050611bf7565b600790505b5b5b5b5b620f4240600182611c0c9190612b5a565b600360648760001c611c1e9190613472565b611c2891906135e3565b611c329190612bb0565b611c3c9190612c39565b91505092915050565b6000806000611c5384611de7565b611c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8990612b0b565b60405180910390fd5b6008600185611ca19190612c6a565b81548110611cb257611cb1612c9e565b5b9060005260206000200154600d6000868152602001908152602001600020546008805490509250925092509193909250565b60106020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611da3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9a90612fb1565b60405180910390fd5b80601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff166011600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b336011600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611ef59061303d565b919050555060088190806001815401808255809150506001900390600052602060002001600090919091909150558273d8da6bf26964af9d7eed9e03e53415d37aa9604573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4828273ffffffffffffffffffffffffffffffffffffffff1673d8da6bf26964af9d7eed9e03e53415d37aa9604573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061201282611518565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461207f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120769061367a565b60405180910390fd5b6000826008805490506120929190612c6a565b90506000806120bc6120a386611660565b600d600088815260200190815260200160002054611b90565b600881106120cd576120cc612c9e565b5b01549050600081836120df9190612bb0565b9050600960008154809291906120f49061303d565b9190505550612102856121af565b81600c60008282546121149190612c6a565b925050819055507fa6adaedfc30dee69384c47e3f315a4ca0bdd3e56e42404563ac39003695e119a85600860018861214c9190612c6a565b8154811061215d5761215c612c9e565b5b906000526020600020015485600d60008a815260200190815260200160002054612185610d97565b600c544360405161219c979695949392919061369a565b60405180910390a1809350505050919050565b60006011600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190612237906130f2565b91905055506011600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61231b816122e6565b811461232657600080fd5b50565b60008135905061233881612312565b92915050565b600060208284031215612354576123536122dc565b5b600061236284828501612329565b91505092915050565b60008115159050919050565b6123808161236b565b82525050565b600060208201905061239b6000830184612377565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123db5780820151818401526020810190506123c0565b838111156123ea576000848401525b50505050565b6000601f19601f8301169050919050565b600061240c826123a1565b61241681856123ac565b93506124268185602086016123bd565b61242f816123f0565b840191505092915050565b600060208201905081810360008301526124548184612401565b905092915050565b6000819050919050565b61246f8161245c565b811461247a57600080fd5b50565b60008135905061248c81612466565b92915050565b6000602082840312156124a8576124a76122dc565b5b60006124b68482850161247d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124ea826124bf565b9050919050565b6124fa816124df565b82525050565b600060208201905061251560008301846124f1565b92915050565b612524816124df565b811461252f57600080fd5b50565b6000813590506125418161251b565b92915050565b6000806040838503121561255e5761255d6122dc565b5b600061256c85828601612532565b925050602061257d8582860161247d565b9150509250929050565b60006020828403121561259d5761259c6122dc565b5b60006125ab84828501612532565b91505092915050565b6125bd8161245c565b82525050565b60006020820190506125d860008301846125b4565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612603576126026125de565b5b8235905067ffffffffffffffff8111156126205761261f6125e3565b5b60208301915083602082028301111561263c5761263b6125e8565b5b9250929050565b6000806020838503121561265a576126596122dc565b5b600083013567ffffffffffffffff811115612678576126776122e1565b5b612684858286016125ed565b92509250509250929050565b6000806000606084860312156126a9576126a86122dc565b5b60006126b786828701612532565b93505060206126c886828701612532565b92505060406126d98682870161247d565b9150509250925092565b6000819050919050565b6126f6816126e3565b82525050565b600060208201905061271160008301846126ed565b92915050565b6127208161236b565b811461272b57600080fd5b50565b60008135905061273d81612717565b92915050565b6000806040838503121561275a576127596122dc565b5b600061276885828601612532565b92505060206127798582860161272e565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127c0826123f0565b810181811067ffffffffffffffff821117156127df576127de612788565b5b80604052505050565b60006127f26122d2565b90506127fe82826127b7565b919050565b600067ffffffffffffffff82111561281e5761281d612788565b5b612827826123f0565b9050602081019050919050565b82818337600083830152505050565b600061285661285184612803565b6127e8565b90508281526020810184848401111561287257612871612783565b5b61287d848285612834565b509392505050565b600082601f83011261289a576128996125de565b5b81356128aa848260208601612843565b91505092915050565b600080600080608085870312156128cd576128cc6122dc565b5b60006128db87828801612532565b94505060206128ec87828801612532565b93505060406128fd8782880161247d565b925050606085013567ffffffffffffffff81111561291e5761291d6122e1565b5b61292a87828801612885565b91505092959194509250565b600060808201905061294b60008301876126ed565b61295860208301866125b4565b61296560408301856125b4565b61297260608301846125b4565b95945050505050565b612984816126e3565b811461298f57600080fd5b50565b6000813590506129a18161297b565b92915050565b600080604083850312156129be576129bd6122dc565b5b60006129cc85828601612992565b92505060206129dd8582860161247d565b9150509250929050565b60006060820190506129fc60008301866126ed565b612a0960208301856125b4565b612a1660408301846125b4565b949350505050565b60008060408385031215612a3557612a346122dc565b5b6000612a4385828601612532565b9250506020612a5485828601612532565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612aa557607f821691505b60208210811415612ab957612ab8612a5e565b5b50919050565b7f696e76616c696400000000000000000000000000000000000000000000000000600082015250565b6000612af56007836123ac565b9150612b0082612abf565b602082019050919050565b60006020820190508181036000830152612b2481612ae8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b658261245c565b9150612b708361245c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ba557612ba4612b2b565b5b828201905092915050565b6000612bbb8261245c565b9150612bc68361245c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612bff57612bfe612b2b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c448261245c565b9150612c4f8361245c565b925082612c5f57612c5e612c0a565b5b828204905092915050565b6000612c758261245c565b9150612c808361245c565b925082821015612c9357612c92612b2b565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008160601b9050919050565b6000612ce582612ccd565b9050919050565b6000612cf782612cda565b9050919050565b612d0f612d0a826124df565b612cec565b82525050565b6000819050919050565b612d30612d2b826126e3565b612d15565b82525050565b6000819050919050565b612d51612d4c8261245c565b612d36565b82525050565b6000612d638286612cfe565b601482019150612d738285612d1f565b602082019150612d838284612d40565b602082019150819050949350505050565b7f646966666963756c747900000000000000000000000000000000000000000000600082015250565b6000612dca600a836123ac565b9150612dd582612d94565b602082019050919050565b60006020820190508181036000830152612df981612dbd565b9050919050565b7f636f737400000000000000000000000000000000000000000000000000000000600082015250565b6000612e366004836123ac565b9150612e4182612e00565b602082019050919050565b60006020820190508181036000830152612e6581612e29565b9050919050565b6000612e788285612d1f565b602082019150612e888284612d40565b6020820191508190509392505050565b600060c082019050612ead60008301896125b4565b612eba60208301886126ed565b612ec760408301876124f1565b612ed460608301866125b4565b612ee160808301856125b4565b612eee60a08301846125b4565b979650505050505050565b7f7065726d697373696f6e00000000000000000000000000000000000000000000600082015250565b6000612f2f600a836123ac565b9150612f3a82612ef9565b602082019050919050565b60006020820190508181036000830152612f5e81612f22565b9050919050565b7f6f776e6572000000000000000000000000000000000000000000000000000000600082015250565b6000612f9b6005836123ac565b9150612fa682612f65565b602082019050919050565b60006020820190508181036000830152612fca81612f8e565b9050919050565b7f746f6b656e496473000000000000000000000000000000000000000000000000600082015250565b60006130076008836123ac565b915061301282612fd1565b602082019050919050565b6000602082019050818103600083015261303681612ffa565b9050919050565b60006130488261245c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561307b5761307a612b2b565b5b600182019050919050565b7f7a65726f00000000000000000000000000000000000000000000000000000000600082015250565b60006130bc6004836123ac565b91506130c782613086565b602082019050919050565b600060208201905081810360008301526130eb816130af565b9050919050565b60006130fd8261245c565b9150600082141561311157613110612b2b565b5b600182039050919050565b7f77697468647261776e0000000000000000000000000000000000000000000000600082015250565b60006131526009836123ac565b915061315d8261311c565b602082019050919050565b6000602082019050818103600083015261318181613145565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006131af82613188565b6131b98185613193565b93506131c98185602086016123bd565b6131d2816123f0565b840191505092915050565b60006080820190506131f260008301876124f1565b6131ff60208301866124f1565b61320c60408301856125b4565b818103606083015261321e81846131a4565b905095945050505050565b60008151905061323881612312565b92915050565b600060208284031215613254576132536122dc565b5b600061326284828501613229565b91505092915050565b7f7265636569766572000000000000000000000000000000000000000000000000600082015250565b60006132a16008836123ac565b91506132ac8261326b565b602082019050919050565b600060208201905081810360008301526132d081613294565b9050919050565b7f746f6b656e496400000000000000000000000000000000000000000000000000600082015250565b600061330d6007836123ac565b9150613318826132d7565b602082019050919050565b6000602082019050818103600083015261333c81613300565b9050919050565b600060808201905061335860008301876125b4565b61336560208301866126ed565b61337260408301856125b4565b61337f60608301846125b4565b95945050505050565b600067ffffffffffffffff8211156133a3576133a2612788565b5b6133ac826123f0565b9050602081019050919050565b60006133cc6133c784613388565b6127e8565b9050828152602081018484840111156133e8576133e7612783565b5b6133f38482856123bd565b509392505050565b600082601f8301126134105761340f6125de565b5b81516134208482602086016133b9565b91505092915050565b60006020828403121561343f5761343e6122dc565b5b600082015167ffffffffffffffff81111561345d5761345c6122e1565b5b613469848285016133fb565b91505092915050565b600061347d8261245c565b91506134888361245c565b92508261349857613497612c0a565b5b828206905092915050565b60008160011c9050919050565b6000808291508390505b60018511156134fa578086048111156134d6576134d5612b2b565b5b60018516156134e55780820291505b80810290506134f3856134a3565b94506134ba565b94509492505050565b60008261351357600190506135cf565b8161352157600090506135cf565b8160018114613537576002811461354157613570565b60019150506135cf565b60ff84111561355357613552612b2b565b5b8360020a91508482111561356a57613569612b2b565b5b506135cf565b5060208310610133831016604e8410600b84101617156135a55782820a9050838111156135a05761359f612b2b565b5b6135cf565b6135b284848460016134b0565b925090508184048111156135c9576135c8612b2b565b5b81810290505b9392505050565b600060ff82169050919050565b60006135ee8261245c565b91506135f9836135d6565b92506136267fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613503565b905092915050565b7f6f776e65724f6600000000000000000000000000000000000000000000000000600082015250565b60006136646007836123ac565b915061366f8261362e565b602082019050919050565b6000602082019050818103600083015261369381613657565b9050919050565b600060e0820190506136af600083018a6125b4565b6136bc60208301896126ed565b6136c960408301886125b4565b6136d660608301876125b4565b6136e360808301866125b4565b6136f060a08301856125b4565b6136fd60c08301846125b4565b9897505050505050505056fea26469706673582212207311561cd8114d1f584af2a83de2ef2789eed06670e569dc8dfdfdab15e3383364736f6c63430008090033