60c0604052661550f7dca700006009556000600a60006101000a81548160ff0219169083151502179055506001600a60016101000a81548160ff021916908315150217905550600a6080908152506000600c60006101000a81548160ff0219169083151502179055506103e8600d556000600e55600260a0908152503480156200008857600080fd5b50604051620042dd380380620042dd8339818101604052810190620000ae9190620003a5565b6040518060400160405280600d81526020017f47616d654f665468654b696e67000000000000000000000000000000000000008152506040518060400160405280600481526020017f4b494e470000000000000000000000000000000000000000000000000000000081525081600290805190602001906200013292919062000277565b5080600390805190602001906200014b92919062000277565b506200015c620001a460201b60201c565b60008190555050506200018462000178620001a960201b60201c565b620001b160201b60201c565b80600b90805190602001906200019c92919062000277565b50506200057a565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b82805462000285906200048b565b90600052602060002090601f016020900481019282620002a95760008555620002f5565b82601f10620002c457805160ff1916838001178555620002f5565b82800160010185558215620002f5579182015b82811115620002f4578251825591602001919060010190620002d7565b5b50905062000304919062000308565b5090565b5b808211156200032357600081600090555060010162000309565b5090565b60006200033e62000338846200041f565b620003f6565b9050828152602081018484840111156200035d576200035c6200055a565b5b6200036a84828562000455565b509392505050565b600082601f8301126200038a576200038962000555565b5b81516200039c84826020860162000327565b91505092915050565b600060208284031215620003be57620003bd62000564565b5b600082015167ffffffffffffffff811115620003df57620003de6200055f565b5b620003ed8482850162000372565b91505092915050565b60006200040262000415565b9050620004108282620004c1565b919050565b6000604051905090565b600067ffffffffffffffff8211156200043d576200043c62000526565b5b620004488262000569565b9050602081019050919050565b60005b838110156200047557808201518184015260208101905062000458565b8381111562000485576000848401525b50505050565b60006002820490506001821680620004a457607f821691505b60208210811415620004bb57620004ba620004f7565b5b50919050565b620004cc8262000569565b810181811067ffffffffffffffff82111715620004ee57620004ed62000526565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60805160a051613d2f620005ae600039600081816113310152611d47015260008181611269015261212d0152613d2f6000f3fe6080604052600436106102465760003560e01c80637b11549811610139578063c87b56dd116100b6578063e985e9c51161007a578063e985e9c514610849578063eb8d244414610886578063f2fde38b146108b1578063f3c74911146108da578063f6209baf146108f6578063fdc59d841461092157610246565b8063c87b56dd1461075d578063d2cab0561461079a578063d4d4b83e146107b6578063dc33e681146107e1578063ddc9a3651461081e57610246565b8063a22cb465116100fd578063a22cb4651461067a578063b88d4fde146106a3578063bb122299146106cc578063bd22f2f814610709578063c5f77e161461072057610246565b80637b115498146105a957806384584d07146105d25780638da5cb5b146105fb57806391b7f5ed1461062657806395d89b411461064f57610246565b80633ccfd60b116101c757806355f804b31161018b57806355f804b3146104c45780636352211e146104ed5780636ddf297b1461052a57806370a0823114610555578063715018a61461059257610246565b80633ccfd60b1461040357806342842e0e1461041a5780634381af7314610443578063499e8eec1461046e578063507e094f1461049957610246565b806313c62d511161020e57806313c62d511461033057806316b76df51461035b57806318160ddd1461039857806323b872dd146103c357806334918dfd146103ec57610246565b806301ffc9a71461024b57806306fdde0314610288578063081812fc146102b3578063095ea7b3146102f05780630acc857414610319575b600080fd5b34801561025757600080fd5b50610272600480360381019061026d9190612f9e565b61094c565b60405161027f9190613437565b60405180910390f35b34801561029457600080fd5b5061029d6109de565b6040516102aa9190613452565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d59190613045565b610a70565b6040516102e791906133d0565b60405180910390f35b3480156102fc57600080fd5b5061031760048036038101906103129190612ee8565b610aec565b005b34801561032557600080fd5b5061032e610c2d565b005b34801561033c57600080fd5b50610345610cd5565b60405161035291906135f4565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d9190612f28565b610cda565b60405161038f9190613437565b60405180910390f35b3480156103a457600080fd5b506103ad610d1b565b6040516103ba91906135f4565b60405180910390f35b3480156103cf57600080fd5b506103ea60048036038101906103e59190612dd2565b610d32565b005b3480156103f857600080fd5b50610401611057565b005b34801561040f57600080fd5b506104186110ff565b005b34801561042657600080fd5b50610441600480360381019061043c9190612dd2565b61122a565b005b34801561044f57600080fd5b5061045861124a565b60405161046591906135f4565b60405180910390f35b34801561047a57600080fd5b50610483611250565b6040516104909190613437565b60405180910390f35b3480156104a557600080fd5b506104ae611267565b6040516104bb91906135f4565b60405180910390f35b3480156104d057600080fd5b506104eb60048036038101906104e69190612ff8565b61128b565b005b3480156104f957600080fd5b50610514600480360381019061050f9190613045565b61131d565b60405161052191906133d0565b60405180910390f35b34801561053657600080fd5b5061053f61132f565b60405161054c91906135f4565b60405180910390f35b34801561056157600080fd5b5061057c60048036038101906105779190612d65565b611353565b60405161058991906135f4565b60405180910390f35b34801561059e57600080fd5b506105a761140c565b005b3480156105b557600080fd5b506105d060048036038101906105cb9190613045565b611494565b005b3480156105de57600080fd5b506105f960048036038101906105f49190612f71565b611574565b005b34801561060757600080fd5b506106106115fa565b60405161061d91906133d0565b60405180910390f35b34801561063257600080fd5b5061064d60048036038101906106489190613045565b611624565b005b34801561065b57600080fd5b506106646116aa565b6040516106719190613452565b60405180910390f35b34801561068657600080fd5b506106a1600480360381019061069c9190612ea8565b61173c565b005b3480156106af57600080fd5b506106ca60048036038101906106c59190612e25565b6118b4565b005b3480156106d857600080fd5b506106f360048036038101906106ee9190612d65565b611927565b60405161070091906135f4565b60405180910390f35b34801561071557600080fd5b5061071e61193f565b005b34801561072c57600080fd5b5061074760048036038101906107429190612d65565b611a00565b6040516107549190613437565b60405180910390f35b34801561076957600080fd5b50610784600480360381019061077f9190613045565b611a20565b6040516107919190613452565b60405180910390f35b6107b460048036038101906107af9190613072565b611abf565b005b3480156107c257600080fd5b506107cb611eaa565b6040516107d89190613437565b60405180910390f35b3480156107ed57600080fd5b5061080860048036038101906108039190612d65565b611ebd565b60405161081591906135f4565b60405180910390f35b34801561082a57600080fd5b50610833611ecf565b6040516108409190613437565b60405180910390f35b34801561085557600080fd5b50610870600480360381019061086b9190612d92565b611ee6565b60405161087d9190613437565b60405180910390f35b34801561089257600080fd5b5061089b611f7a565b6040516108a89190613437565b60405180910390f35b3480156108bd57600080fd5b506108d860048036038101906108d39190612d65565b611f8d565b005b6108f460048036038101906108ef9190613045565b612085565b005b34801561090257600080fd5b5061090b6121f2565b60405161091891906135f4565b60405180910390f35b34801561092d57600080fd5b50610936612209565b60405161094391906135f4565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109a757506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109d75750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546109ed90613883565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1990613883565b8015610a665780601f10610a3b57610100808354040283529160200191610a66565b820191906000526020600020905b815481529060010190602001808311610a4957829003601f168201915b5050505050905090565b6000610a7b8261220f565b610ab1576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610af78261131d565b90508073ffffffffffffffffffffffffffffffffffffffff16610b1861226e565b73ffffffffffffffffffffffffffffffffffffffff1614610b7b57610b4481610b3f61226e565b611ee6565b610b7a576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b610c35612276565b73ffffffffffffffffffffffffffffffffffffffff16610c536115fa565b73ffffffffffffffffffffffffffffffffffffffff1614610ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca090613574565b60405180910390fd5b600c60009054906101000a900460ff1615600c60006101000a81548160ff021916908315150217905550565b606781565b60008033604051602001610cee919061337c565b604051602081830303815290604052805190602001209050610d1383600f548361227e565b915050919050565b6000610d25612295565b6001546000540303905090565b6000610d3d8261229a565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610da4576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610db084612368565b91509150610dc68187610dc161226e565b61238a565b610e1257610ddb86610dd661226e565b611ee6565b610e11576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610e79576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e8686868660016123ce565b8015610e9157600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610f5f85610f3b8888876123d4565b7c0200000000000000000000000000000000000000000000000000000000176123fc565b600460008681526020019081526020016000208190555060007c020000000000000000000000000000000000000000000000000000000084161415610fe7576000600185019050600060046000838152602001908152602001600020541415610fe5576000548114610fe4578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461104f8686866001612427565b505050505050565b61105f612276565b73ffffffffffffffffffffffffffffffffffffffff1661107d6115fa565b73ffffffffffffffffffffffffffffffffffffffff16146110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca90613574565b60405180910390fd5b600a60009054906101000a900460ff1615600a60006101000a81548160ff021916908315150217905550565b611107612276565b73ffffffffffffffffffffffffffffffffffffffff166111256115fa565b73ffffffffffffffffffffffffffffffffffffffff161461117b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117290613574565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff16476040516111a1906133bb565b60006040518083038185875af1925050503d80600081146111de576040519150601f19603f3d011682016040523d82523d6000602084013e6111e3565b606091505b5050905080611227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121e90613494565b60405180910390fd5b50565b611245838383604051806020016040528060008152506118b4565b505050565b61271081565b6000600a60009054906101000a900460ff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b611293612276565b73ffffffffffffffffffffffffffffffffffffffff166112b16115fa565b73ffffffffffffffffffffffffffffffffffffffff1614611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fe90613574565b60405180910390fd5b8181600b9190611318929190612ae0565b505050565b60006113288261229a565b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113bb576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b611414612276565b73ffffffffffffffffffffffffffffffffffffffff166114326115fa565b73ffffffffffffffffffffffffffffffffffffffff1614611488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147f90613574565b60405180910390fd5b611492600061242d565b565b61149c612276565b73ffffffffffffffffffffffffffffffffffffffff166114ba6115fa565b73ffffffffffffffffffffffffffffffffffffffff1614611510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150790613574565b60405180910390fd5b6127108161151c610d1b565b61152691906136df565b1115611567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155e90613554565b60405180910390fd5b61157133826124f3565b50565b61157c612276565b73ffffffffffffffffffffffffffffffffffffffff1661159a6115fa565b73ffffffffffffffffffffffffffffffffffffffff16146115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790613574565b60405180910390fd5b80600f8190555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61162c612276565b73ffffffffffffffffffffffffffffffffffffffff1661164a6115fa565b73ffffffffffffffffffffffffffffffffffffffff16146116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169790613574565b60405180910390fd5b8060098190555050565b6060600380546116b990613883565b80601f01602080910402602001604051908101604052809291908181526020018280546116e590613883565b80156117325780601f1061170757610100808354040283529160200191611732565b820191906000526020600020905b81548152906001019060200180831161171557829003601f168201915b5050505050905090565b61174461226e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117a9576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600760006117b661226e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661186361226e565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516118a89190613437565b60405180910390a35050565b6118bf848484610d32565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611921576118ea84848484612511565b611920576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b60116020528060005260406000206000915090505481565b611947612276565b73ffffffffffffffffffffffffffffffffffffffff166119656115fa565b73ffffffffffffffffffffffffffffffffffffffff16146119bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b290613574565b60405180910390fd5b60011515600a60019054906101000a900460ff16151514156119fe576119e23360676124f3565b6000600a60016101000a81548160ff0219169083151502179055505b565b60106020528060005260406000206000915054906101000a900460ff1681565b6060611a2b8261220f565b611a61576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611a6b612671565b9050600081511415611a8c5760405180602001604052806000815250611ab7565b80611a9684612703565b604051602001611aa7929190613397565b6040516020818303038152906040525b915050919050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2490613514565b60405180910390fd5b600c60009054906101000a900460ff16611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b73906135d4565b60405180910390fd5b61271082611b88610d1b565b611b9291906136df565b1115611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca90613554565b60405180910390fd5b600d5482600e54611be491906136df565b1115611c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1c90613534565b60405180910390fd5b600033604051602001611c38919061337c565b604051602081830303815290604052805190602001209050611c5d82600f548361227e565b611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c93906134f4565b60405180910390fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611daa576001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f0000000000000000000000000000000000000000000000000000000000000000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b82601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e23906134d4565b60405180910390fd5b82601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e7b919061378f565b92505081905550611e8c33846124f3565b82600e6000828254611e9e91906136df565b92505081905550505050565b600a60019054906101000a900460ff1681565b6000611ec88261275d565b9050919050565b6000600c60009054906101000a900460ff16905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600a60009054906101000a900460ff1681565b611f95612276565b73ffffffffffffffffffffffffffffffffffffffff16611fb36115fa565b73ffffffffffffffffffffffffffffffffffffffff1614612009576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200090613574565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612079576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612070906134b4565b60405180910390fd5b6120828161242d565b50565b600a60009054906101000a900460ff166120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb90613594565b60405180910390fd5b612710816120e0610d1b565b6120ea91906136df565b111561212b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212290613554565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000081111561218e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612185906135b4565b60405180910390fd5b346121a4826009546127b490919063ffffffff16565b11156121e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121dc90613474565b60405180910390fd5b6121ef33826124f3565b50565b6000600e54600d54612204919061378f565b905090565b60095481565b60008161221a612295565b11158015612229575060005482105b8015612267575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b600033905090565b60008261228b85846127ca565b1490509392505050565b600090565b600080829050806122a9612295565b11612331576000548110156123305760006004600083815260200190815260200160002054905060007c01000000000000000000000000000000000000000000000000000000008216141561232e575b60008114156123245760046000836001900393508381526020019081526020016000205490506122f9565b8092505050612363565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000806000600690508360005280602052604060002092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e86123eb86868461283f565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61250d828260405180602001604052806000815250612848565b5050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261253761226e565b8786866040518563ffffffff1660e01b815260040161255994939291906133eb565b602060405180830381600087803b15801561257357600080fd5b505af19250505080156125a457506040513d601f19601f820116820180604052508101906125a19190612fcb565b60015b61261e573d80600081146125d4576040519150601f19603f3d011682016040523d82523d6000602084013e6125d9565b606091505b50600081511415612616576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600b805461268090613883565b80601f01602080910402602001604051908101604052809291908181526020018280546126ac90613883565b80156126f95780601f106126ce576101008083540402835291602001916126f9565b820191906000526020600020905b8154815290600101906020018083116126dc57829003601f168201915b5050505050905090565b60606080604051019050806040528082600183039250600a81066030018353600a810490505b801561274957600183039250600a81066030018353600a81049050612729565b508181036020830392508083525050919050565b600067ffffffffffffffff6040600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054901c169050919050565b600081836127c29190613735565b905092915050565b60008082905060005b84518110156128345760008582815181106127f1576127f06139b1565b5b602002602001015190508083116128135761280c83826128e5565b9250612820565b61281d81846128e5565b92505b50808061282c906138e6565b9150506127d3565b508091505092915050565b60009392505050565b61285283836128fc565b60008373ffffffffffffffffffffffffffffffffffffffff163b146128e057600080549050600083820390505b6128926000868380600101945086612511565b6128c8576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81811061287f5781600054146128dd57600080fd5b50505b505050565b600082600052816020526040600020905092915050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612969576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008214156129a4576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129b160008483856123ce565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612a2883612a1960008660006123d4565b612a2285612ad0565b176123fc565b60046000838152602001908152602001600020819055506000819050600083830190505b818060010192508573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4808210612a4c57806000819055505050612acb6000848385612427565b505050565b60006001821460e11b9050919050565b828054612aec90613883565b90600052602060002090601f016020900481019282612b0e5760008555612b55565b82601f10612b2757803560ff1916838001178555612b55565b82800160010185558215612b55579182015b82811115612b54578235825591602001919060010190612b39565b5b509050612b629190612b66565b5090565b5b80821115612b7f576000816000905550600101612b67565b5090565b6000612b96612b9184613634565b61360f565b90508083825260208201905082856020860282011115612bb957612bb8613a19565b5b60005b85811015612be95781612bcf8882612c8d565b845260208401935060208301925050600181019050612bbc565b5050509392505050565b6000612c06612c0184613660565b61360f565b905082815260208101848484011115612c2257612c21613a1e565b5b612c2d848285613841565b509392505050565b600081359050612c4481613c86565b92915050565b600082601f830112612c5f57612c5e613a14565b5b8135612c6f848260208601612b83565b91505092915050565b600081359050612c8781613c9d565b92915050565b600081359050612c9c81613cb4565b92915050565b600081359050612cb181613ccb565b92915050565b600081519050612cc681613ccb565b92915050565b600082601f830112612ce157612ce0613a14565b5b8135612cf1848260208601612bf3565b91505092915050565b60008083601f840112612d1057612d0f613a14565b5b8235905067ffffffffffffffff811115612d2d57612d2c613a0f565b5b602083019150836001820283011115612d4957612d48613a19565b5b9250929050565b600081359050612d5f81613ce2565b92915050565b600060208284031215612d7b57612d7a613a28565b5b6000612d8984828501612c35565b91505092915050565b60008060408385031215612da957612da8613a28565b5b6000612db785828601612c35565b9250506020612dc885828601612c35565b9150509250929050565b600080600060608486031215612deb57612dea613a28565b5b6000612df986828701612c35565b9350506020612e0a86828701612c35565b9250506040612e1b86828701612d50565b9150509250925092565b60008060008060808587031215612e3f57612e3e613a28565b5b6000612e4d87828801612c35565b9450506020612e5e87828801612c35565b9350506040612e6f87828801612d50565b925050606085013567ffffffffffffffff811115612e9057612e8f613a23565b5b612e9c87828801612ccc565b91505092959194509250565b60008060408385031215612ebf57612ebe613a28565b5b6000612ecd85828601612c35565b9250506020612ede85828601612c78565b9150509250929050565b60008060408385031215612eff57612efe613a28565b5b6000612f0d85828601612c35565b9250506020612f1e85828601612d50565b9150509250929050565b600060208284031215612f3e57612f3d613a28565b5b600082013567ffffffffffffffff811115612f5c57612f5b613a23565b5b612f6884828501612c4a565b91505092915050565b600060208284031215612f8757612f86613a28565b5b6000612f9584828501612c8d565b91505092915050565b600060208284031215612fb457612fb3613a28565b5b6000612fc284828501612ca2565b91505092915050565b600060208284031215612fe157612fe0613a28565b5b6000612fef84828501612cb7565b91505092915050565b6000806020838503121561300f5761300e613a28565b5b600083013567ffffffffffffffff81111561302d5761302c613a23565b5b61303985828601612cfa565b92509250509250929050565b60006020828403121561305b5761305a613a28565b5b600061306984828501612d50565b91505092915050565b6000806040838503121561308957613088613a28565b5b600061309785828601612d50565b925050602083013567ffffffffffffffff8111156130b8576130b7613a23565b5b6130c485828601612c4a565b9150509250929050565b6130d7816137c3565b82525050565b6130ee6130e9826137c3565b61392f565b82525050565b6130fd816137d5565b82525050565b600061310e82613691565b61311881856136a7565b9350613128818560208601613850565b61313181613a2d565b840191505092915050565b60006131478261369c565b61315181856136c3565b9350613161818560208601613850565b61316a81613a2d565b840191505092915050565b60006131808261369c565b61318a81856136d4565b935061319a818560208601613850565b80840191505092915050565b60006131b3600f836136c3565b91506131be82613a4b565b602082019050919050565b60006131d66007836136c3565b91506131e182613a74565b602082019050919050565b60006131f96026836136c3565b915061320482613a9d565b604082019050919050565b600061321c602a836136c3565b915061322782613aec565b604082019050919050565b600061323f6015836136c3565b915061324a82613b3b565b602082019050919050565b6000613262601e836136c3565b915061326d82613b64565b602082019050919050565b60006132856018836136c3565b915061329082613b8d565b602082019050919050565b60006132a86012836136c3565b91506132b382613bb6565b602082019050919050565b60006132cb6020836136c3565b91506132d682613bdf565b602082019050919050565b60006132ee6014836136c3565b91506132f982613c08565b602082019050919050565b6000613311601f836136c3565b915061331c82613c31565b602082019050919050565b60006133346000836136b8565b915061333f82613c5a565b600082019050919050565b60006133576020836136c3565b915061336282613c5d565b602082019050919050565b61337681613837565b82525050565b600061338882846130dd565b60148201915081905092915050565b60006133a38285613175565b91506133af8284613175565b91508190509392505050565b60006133c682613327565b9150819050919050565b60006020820190506133e560008301846130ce565b92915050565b600060808201905061340060008301876130ce565b61340d60208301866130ce565b61341a604083018561336d565b818103606083015261342c8184613103565b905095945050505050565b600060208201905061344c60008301846130f4565b92915050565b6000602082019050818103600083015261346c818461313c565b905092915050565b6000602082019050818103600083015261348d816131a6565b9050919050565b600060208201905081810360008301526134ad816131c9565b9050919050565b600060208201905081810360008301526134cd816131ec565b9050919050565b600060208201905081810360008301526134ed8161320f565b9050919050565b6000602082019050818103600083015261350d81613232565b9050919050565b6000602082019050818103600083015261352d81613255565b9050919050565b6000602082019050818103600083015261354d81613278565b9050919050565b6000602082019050818103600083015261356d8161329b565b9050919050565b6000602082019050818103600083015261358d816132be565b9050919050565b600060208201905081810360008301526135ad816132e1565b9050919050565b600060208201905081810360008301526135cd81613304565b9050919050565b600060208201905081810360008301526135ed8161334a565b9050919050565b6000602082019050613609600083018461336d565b92915050565b600061361961362a565b905061362582826138b5565b919050565b6000604051905090565b600067ffffffffffffffff82111561364f5761364e6139e0565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561367b5761367a6139e0565b5b61368482613a2d565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006136ea82613837565b91506136f583613837565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561372a57613729613953565b5b828201905092915050565b600061374082613837565b915061374b83613837565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561378457613783613953565b5b828202905092915050565b600061379a82613837565b91506137a583613837565b9250828210156137b8576137b7613953565b5b828203905092915050565b60006137ce82613817565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561386e578082015181840152602081019050613853565b8381111561387d576000848401525b50505050565b6000600282049050600182168061389b57607f821691505b602082108114156138af576138ae613982565b5b50919050565b6138be82613a2d565b810181811067ffffffffffffffff821117156138dd576138dc6139e0565b5b80604052505050565b60006138f182613837565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561392457613923613953565b5b600182019050919050565b600061393a82613941565b9050919050565b600061394c82613a3e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f455448206e6f7420656e6f7567682e0000000000000000000000000000000000600082015250565b7f4661696c65642e00000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f7265616368656420616c6c6f77206c697374207065722061646472657373206d60008201527f696e7420616d6f756e7400000000000000000000000000000000000000000000602082015250565b7f496e76616c6964204d65726b6c652050726f6f662e0000000000000000000000600082015250565b7f5468652063616c6c657220697320616e6f7468657220636f6e74726163740000600082015250565b7f7768696c74206c697374206973206e6f7420656e6f7567680000000000000000600082015250565b7f72656163686564206d617820737570706c790000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f706c656173652077616974207468652073616c65000000000000000000000000600082015250565b7f72656163686564206d617820706572206d696e74206d617820616d6f756e7400600082015250565b50565b7f616c6c6f774c6973742073616c6520686173206e6f7420626567756e20796574600082015250565b613c8f816137c3565b8114613c9a57600080fd5b50565b613ca6816137d5565b8114613cb157600080fd5b50565b613cbd816137e1565b8114613cc857600080fd5b50565b613cd4816137eb565b8114613cdf57600080fd5b50565b613ceb81613837565b8114613cf657600080fd5b5056fea26469706673582212202c0a866f71350aa0d53f9f6fe5785e04ed8989b48a13e301f02b4eabd3957a8864736f6c6343000807003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d5a66386d385344714a44343476424d73436b4b6372455971656d6e354d71614d487933654533666139655a682f00000000000000000000