6080604052600a8055600a600b55600f600c556000601060016101000a81548160ff0219169083151502179055506000601060026101000a81548160ff0219169083151502179055503480156200005557600080fd5b5060405162003fc638038062003fc683398181016040528101906200007b91906200047d565b60006200008d620003e260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550683635c9adc5dea00000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016004600062000210620003ea60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620003d29190620004df565b60405180910390a35050620004fc565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004458262000418565b9050919050565b620004578162000438565b81146200046357600080fd5b50565b60008151905062000477816200044c565b92915050565b6000806040838503121562000497576200049662000413565b5b6000620004a78582860162000466565b9250506020620004ba8582860162000466565b9150509250929050565b6000819050919050565b620004d981620004c4565b82525050565b6000602082019050620004f66000830184620004ce565b92915050565b613aba806200050c6000396000f3fe6080604052600436106101dc5760003560e01c806349bd5a5e1161010257806395d89b4111610095578063db92dbb611610064578063db92dbb614610661578063dcb0e0ad1461068c578063dd62ed3e146106b5578063e8078d94146106f2576101e3565b806395d89b41146105cb578063a9059cbb146105f6578063c3c8cd8014610633578063c9567bf91461064a576101e3565b806370a08231116100d157806370a0823114610521578063715018a61461055e5780638da5cb5b1461057557806394b8d8f2146105a0576101e3565b806349bd5a5e1461048b57806350901617146104b6578063590f897e146104df5780636fc3eaec1461050a576101e3565b806323b872dd1161017a578063367c554411610149578063367c5544146103e15780633bed43551461040c57806340b9a54b1461043757806345596e2e14610462576101e3565b806323b872dd1461032357806327f3a72a14610360578063313ce5671461038b57806332d873d8146103b6576101e3565b8063095ea7b3116101b6578063095ea7b3146102675780630b78f9c0146102a457806318160ddd146102cd5780631940d020146102f8576101e3565b80630492f055146101e857806306fdde03146102135780630802d2f61461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610709565b60405161020a9190612930565b60405180910390f35b34801561021f57600080fd5b5061022861070f565b60405161023591906129e4565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612a69565b610748565b005b34801561027357600080fd5b5061028e60048036038101906102899190612ac2565b610846565b60405161029b9190612b1d565b60405180910390f35b3480156102b057600080fd5b506102cb60048036038101906102c69190612b38565b610864565b005b3480156102d957600080fd5b506102e261097d565b6040516102ef9190612930565b60405180910390f35b34801561030457600080fd5b5061030d61098e565b60405161031a9190612930565b60405180910390f35b34801561032f57600080fd5b5061034a60048036038101906103459190612b78565b610994565b6040516103579190612b1d565b60405180910390f35b34801561036c57600080fd5b50610375610b85565b6040516103829190612930565b60405180910390f35b34801561039757600080fd5b506103a0610b95565b6040516103ad9190612be7565b60405180910390f35b3480156103c257600080fd5b506103cb610b9a565b6040516103d89190612930565b60405180910390f35b3480156103ed57600080fd5b506103f6610ba0565b6040516104039190612c23565b60405180910390f35b34801561041857600080fd5b50610421610bc6565b60405161042e9190612c23565b60405180910390f35b34801561044357600080fd5b5061044c610bec565b6040516104599190612930565b60405180910390f35b34801561046e57600080fd5b5061048960048036038101906104849190612c3e565b610bf2565b005b34801561049757600080fd5b506104a0610cd9565b6040516104ad9190612c7a565b60405180910390f35b3480156104c257600080fd5b506104dd60048036038101906104d89190612a69565b610cff565b005b3480156104eb57600080fd5b506104f4610dfd565b6040516105019190612930565b60405180910390f35b34801561051657600080fd5b5061051f610e03565b005b34801561052d57600080fd5b5061054860048036038101906105439190612a69565b610e75565b6040516105559190612930565b60405180910390f35b34801561056a57600080fd5b50610573610ebe565b005b34801561058157600080fd5b5061058a611011565b6040516105979190612c7a565b60405180910390f35b3480156105ac57600080fd5b506105b561103a565b6040516105c29190612b1d565b60405180910390f35b3480156105d757600080fd5b506105e061104d565b6040516105ed91906129e4565b60405180910390f35b34801561060257600080fd5b5061061d60048036038101906106189190612ac2565b611086565b60405161062a9190612b1d565b60405180910390f35b34801561063f57600080fd5b506106486110a4565b005b34801561065657600080fd5b5061065f61111e565b005b34801561066d57600080fd5b50610676611246565b6040516106839190612930565b60405180910390f35b34801561069857600080fd5b506106b360048036038101906106ae9190612cc1565b611278565b005b3480156106c157600080fd5b506106dc60048036038101906106d79190612cee565b61133c565b6040516106e99190612930565b60405180910390f35b3480156106fe57600080fd5b506107076113c3565b005b600d5481565b6040518060400160405280600581526020017f4e4f43415000000000000000000000000000000000000000000000000000000081525081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610789611874565b73ffffffffffffffffffffffffffffffffffffffff16146107a957600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0e96f8986653644392af4a5daec8b04a389af0d497572173e63846ccd26c843c600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161083b9190612d8d565b60405180910390a150565b600061085a610853611874565b848461187c565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108a5611874565b73ffffffffffffffffffffffffffffffffffffffff16146108c557600080fd5b600a821080156108d55750600a81105b80156108e25750600a5482105b80156108ef5750600b5481105b61092e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092590612df4565b60405180910390fd5b81600a8190555080600b819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1600a54600b54604051610971929190612e14565b60405180910390a15050565b6000683635c9adc5dea00000905090565b600e5481565b6000601060009054906101000a900460ff1680156109fc5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610a555750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15610ac9573273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90612e89565b60405180910390fd5b5b610ad4848484611a47565b600082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b20611874565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b659190612ed8565b9050610b7985610b73611874565b8361187c565b60019150509392505050565b6000610b9030610e75565b905090565b600981565b600f5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c33611874565b73ffffffffffffffffffffffffffffffffffffffff1614610c5357600080fd5b60008111610c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8d90612f58565b60405180910390fd5b80600c819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600c54604051610cce9190612930565b60405180910390a150565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d40611874565b73ffffffffffffffffffffffffffffffffffffffff1614610d6057600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f96511497113ddf59712b28350d7457b9c300ab227616bd3b451745a395a53014600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610df29190612d8d565b60405180910390a150565b600b5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e44611874565b73ffffffffffffffffffffffffffffffffffffffff1614610e6457600080fd5b6000479050610e72816122c8565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ec6611874565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4a90612fc4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601060029054906101000a900460ff1681565b6040518060400160405280600581526020017f4e4f43415000000000000000000000000000000000000000000000000000000081525081565b600061109a611093611874565b8484611a47565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110e5611874565b73ffffffffffffffffffffffffffffffffffffffff161461110557600080fd5b600061111030610e75565b905061111b816123b5565b50565b611126611874565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111aa90612fc4565b60405180910390fd5b601060009054906101000a900460ff1615611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa90613030565b60405180910390fd5b6001601060006101000a81548160ff02191690831515021790555042600f81905550674563918244f40000600d819055506802b5e3af16b1880000600e81905550565b6000611273600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e75565b905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112b9611874565b73ffffffffffffffffffffffffffffffffffffffff16146112d957600080fd5b80601060026101000a81548160ff0219169083151502179055507ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb601060029054906101000a900460ff166040516113319190612b1d565b60405180910390a150565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113cb611874565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144f90612fc4565b60405180910390fd5b601060009054906101000a900460ff16156114a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149f90613030565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061153830600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061187c565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611583573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a79190613065565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116329190613065565b6040518363ffffffff1660e01b815260040161164f929190613092565b6020604051808303816000875af115801561166e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116929190613065565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061171b30610e75565b600080611726611011565b426040518863ffffffff1660e01b8152600401611748969594939291906130f6565b60606040518083038185885af1158015611766573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061178b919061316c565b505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161182d9291906131bf565b6020604051808303816000875af115801561184c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187091906131fd565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e39061329c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561195c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119539061332e565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a3a9190612930565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aae906133c0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1e90613452565b60405180910390fd5b60008111611b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b61906134e4565b60405180910390fd5b6000611b74611011565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611be25750611bb2611011565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561220357600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c925750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ce85750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561200357601060009054906101000a900460ff16611d3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3390613550565b60405180910390fd5b600f54421415611d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d78906135bc565b60405180910390fd5b4261a8c0600f54611d9291906135dc565b1115611df157600e54611da484610e75565b83611daf91906135dc565b1115611df0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de7906136a4565b60405180910390fd5b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16611ecb5760405180604001604052806000815260200160011515815250600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b426078600f54611edb91906135dc565b1115611fb757600d54821115611f26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1d90613710565b60405180910390fd5b601e42611f3391906135dc565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611fb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fad906137a2565b60405180910390fd5b5b42600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600190505b601060019054906101000a900460ff1615801561202c5750601060009054906101000a900460ff165b80156120865750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561220257600f4261209891906135dc565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001541061211b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211290613834565b60405180910390fd5b600061212630610e75565b905060008111156121e357601060029054906101000a900460ff16156121d9576064600c54612176600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e75565b6121809190613854565b61218a91906138dd565b8111156121d8576064600c546121c1600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e75565b6121cb9190613854565b6121d591906138dd565b90505b5b6121e2816123b5565b5b600047905060008111156121fb576121fa476122c8565b5b6000925050505b5b600060019050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122aa5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156122b457600090505b6122c1858585848661262e565b5050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361231191906138dd565b9081150290604051600060405180830381858888f1935050505015801561233c573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc60028361238691906138dd565b9081150290604051600060405180830381858888f193505050501580156123b1573d6000803e3d6000fd5b5050565b6001601060016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156123ed576123ec61390e565b5b60405190808252806020026020018201604052801561241b5781602001602082028036833780820191505090505b50905030816000815181106124335761243261393d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fe9190613065565b816001815181106125125761251161393d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061257930600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461187c565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016125dd959493929190613a2a565b600060405180830381600087803b1580156125f757600080fd5b505af115801561260b573d6000803e3d6000fd5b50505050506000601060016101000a81548160ff02191690831515021790555050565b600061263a8383612650565b9050612648868686846126a5565b505050505050565b60008060009050831561269b57821561266d57600a54905061269a565b600b549050610e10600f5461268291906135dc565b4210156126995760058161269691906135dc565b90505b5b5b8091505092915050565b6000806126b28484612848565b9150915083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127019190612ed8565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461278f91906135dc565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127db81612886565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128389190612930565b60405180910390a3505050505050565b60008060006064848661285b9190613854565b61286591906138dd565b9050600081866128759190612ed8565b905080829350935050509250929050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128d191906135dc565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000819050919050565b61292a81612917565b82525050565b60006020820190506129456000830184612921565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561298557808201518184015260208101905061296a565b83811115612994576000848401525b50505050565b6000601f19601f8301169050919050565b60006129b68261294b565b6129c08185612956565b93506129d0818560208601612967565b6129d98161299a565b840191505092915050565b600060208201905081810360008301526129fe81846129ab565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a3682612a0b565b9050919050565b612a4681612a2b565b8114612a5157600080fd5b50565b600081359050612a6381612a3d565b92915050565b600060208284031215612a7f57612a7e612a06565b5b6000612a8d84828501612a54565b91505092915050565b612a9f81612917565b8114612aaa57600080fd5b50565b600081359050612abc81612a96565b92915050565b60008060408385031215612ad957612ad8612a06565b5b6000612ae785828601612a54565b9250506020612af885828601612aad565b9150509250929050565b60008115159050919050565b612b1781612b02565b82525050565b6000602082019050612b326000830184612b0e565b92915050565b60008060408385031215612b4f57612b4e612a06565b5b6000612b5d85828601612aad565b9250506020612b6e85828601612aad565b9150509250929050565b600080600060608486031215612b9157612b90612a06565b5b6000612b9f86828701612a54565b9350506020612bb086828701612a54565b9250506040612bc186828701612aad565b9150509250925092565b600060ff82169050919050565b612be181612bcb565b82525050565b6000602082019050612bfc6000830184612bd8565b92915050565b6000612c0d82612a0b565b9050919050565b612c1d81612c02565b82525050565b6000602082019050612c386000830184612c14565b92915050565b600060208284031215612c5457612c53612a06565b5b6000612c6284828501612aad565b91505092915050565b612c7481612a2b565b82525050565b6000602082019050612c8f6000830184612c6b565b92915050565b612c9e81612b02565b8114612ca957600080fd5b50565b600081359050612cbb81612c95565b92915050565b600060208284031215612cd757612cd6612a06565b5b6000612ce584828501612cac565b91505092915050565b60008060408385031215612d0557612d04612a06565b5b6000612d1385828601612a54565b9250506020612d2485828601612a54565b9150509250929050565b6000819050919050565b6000612d53612d4e612d4984612a0b565b612d2e565b612a0b565b9050919050565b6000612d6582612d38565b9050919050565b6000612d7782612d5a565b9050919050565b612d8781612d6c565b82525050565b6000602082019050612da26000830184612d7e565b92915050565b7f446f6e2774206265206772656564792e00000000000000000000000000000000600082015250565b6000612dde601083612956565b9150612de982612da8565b602082019050919050565b60006020820190508181036000830152612e0d81612dd1565b9050919050565b6000604082019050612e296000830185612921565b612e366020830184612921565b9392505050565b7f706c73206e6f20626f7400000000000000000000000000000000000000000000600082015250565b6000612e73600a83612956565b9150612e7e82612e3d565b602082019050919050565b60006020820190508181036000830152612ea281612e66565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ee382612917565b9150612eee83612917565b925082821015612f0157612f00612ea9565b5b828203905092915050565b7f526174652063616e2774206265207a65726f0000000000000000000000000000600082015250565b6000612f42601283612956565b9150612f4d82612f0c565b602082019050919050565b60006020820190508181036000830152612f7181612f35565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612fae602083612956565b9150612fb982612f78565b602082019050919050565b60006020820190508181036000830152612fdd81612fa1565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061301a601783612956565b915061302582612fe4565b602082019050919050565b600060208201905081810360008301526130498161300d565b9050919050565b60008151905061305f81612a3d565b92915050565b60006020828403121561307b5761307a612a06565b5b600061308984828501613050565b91505092915050565b60006040820190506130a76000830185612c6b565b6130b46020830184612c6b565b9392505050565b6000819050919050565b60006130e06130db6130d6846130bb565b612d2e565b612917565b9050919050565b6130f0816130c5565b82525050565b600060c08201905061310b6000830189612c6b565b6131186020830188612921565b61312560408301876130e7565b61313260608301866130e7565b61313f6080830185612c6b565b61314c60a0830184612921565b979650505050505050565b60008151905061316681612a96565b92915050565b60008060006060848603121561318557613184612a06565b5b600061319386828701613157565b93505060206131a486828701613157565b92505060406131b586828701613157565b9150509250925092565b60006040820190506131d46000830185612c6b565b6131e16020830184612921565b9392505050565b6000815190506131f781612c95565b92915050565b60006020828403121561321357613212612a06565b5b6000613221848285016131e8565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613286602483612956565b91506132918261322a565b604082019050919050565b600060208201905081810360008301526132b581613279565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613318602283612956565b9150613323826132bc565b604082019050919050565b600060208201905081810360008301526133478161330b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006133aa602583612956565b91506133b58261334e565b604082019050919050565b600060208201905081810360008301526133d98161339d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061343c602383612956565b9150613447826133e0565b604082019050919050565b6000602082019050818103600083015261346b8161342f565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134ce602983612956565b91506134d982613472565b604082019050919050565b600060208201905081810360008301526134fd816134c1565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b600061353a601883612956565b915061354582613504565b602082019050919050565b600060208201905081810360008301526135698161352d565b9050919050565b7f706c73206e6f20736e6970000000000000000000000000000000000000000000600082015250565b60006135a6600b83612956565b91506135b182613570565b602082019050919050565b600060208201905081810360008301526135d581613599565b9050919050565b60006135e782612917565b91506135f283612917565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561362757613626612ea9565b5b828201905092915050565b7f596f752063616e2774206f776e2074686174206d616e7920746f6b656e73206160008201527f74206f6e63652e00000000000000000000000000000000000000000000000000602082015250565b600061368e602783612956565b915061369982613632565b604082019050919050565b600060208201905081810360008301526136bd81613681565b9050919050565b7f45786365656473206d6178696d756d2062757920616d6f756e742e0000000000600082015250565b60006136fa601b83612956565b9150613705826136c4565b602082019050919050565b60006020820190508181036000830152613729816136ed565b9050919050565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b600061378c602283612956565b915061379782613730565b604082019050919050565b600060208201905081810360008301526137bb8161377f565b9050919050565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b600061381e602383612956565b9150613829826137c2565b604082019050919050565b6000602082019050818103600083015261384d81613811565b9050919050565b600061385f82612917565b915061386a83612917565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138a3576138a2612ea9565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138e882612917565b91506138f383612917565b925082613903576139026138ae565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6139a181612a2b565b82525050565b60006139b38383613998565b60208301905092915050565b6000602082019050919050565b60006139d78261396c565b6139e18185613977565b93506139ec83613988565b8060005b83811015613a1d578151613a0488826139a7565b9750613a0f836139bf565b9250506001810190506139f0565b5085935050505092915050565b600060a082019050613a3f6000830188612921565b613a4c60208301876130e7565b8181036040830152613a5e81866139cc565b9050613a6d6060830185612c6b565b613a7a6080830184612921565b969550505050505056fea2646970667358221220135c7991ce9697f014801cd72374b26b719550bd5430df9cb065b502753bff5e64736f6c634300080a00330000000000000000000000004c23554df1fb8a4efda8387921be304a4aa7b016000000000000000000000000ea20bc126ae3b479b2ee31d6d0a966a9a85425ca