0x60806040523480156200001157600080fd5b506509184e72a0006000819055506040518060400160405280600a81526020017f416e6e6120506c7968610000000000000000000000000000000000000000000081525060019081620000659190620003d6565b506007600260006101000a81548160ff021916908360ff1602179055506040518060400160405280600381526020017f414e50000000000000000000000000000000000000000000000000000000000081525060039081620000c89190620003d6565b506040518060400160405280600381526020017f312e300000000000000000000000000000000000000000000000000000000000815250600490816200010f9190620003d6565b50600054600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620004bd565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001de57607f821691505b602082108103620001f457620001f362000196565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200025e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200021f565b6200026a86836200021f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620002b7620002b1620002ab8462000282565b6200028c565b62000282565b9050919050565b6000819050919050565b620002d38362000296565b620002eb620002e282620002be565b8484546200022c565b825550505050565b600090565b62000302620002f3565b6200030f818484620002c8565b505050565b5b8181101562000337576200032b600082620002f8565b60018101905062000315565b5050565b601f82111562000386576200035081620001fa565b6200035b846200020f565b810160208510156200036b578190505b620003836200037a856200020f565b83018262000314565b50505b505050565b600082821c905092915050565b6000620003ab600019846008026200038b565b1980831691505092915050565b6000620003c6838362000398565b9150826002028217905092915050565b620003e1826200015c565b67ffffffffffffffff811115620003fd57620003fc62000167565b5b620004098254620001c5565b620004168282856200033b565b600060209050601f8311600181146200044e576000841562000439578287015190505b620004458582620003b8565b865550620004b5565b601f1984166200045e86620001fa565b60005b82811015620004885784890151825560018201915060208501945060208101905062000461565b86831015620004a85784890151620004a4601f89168262000398565b8355505b6001600288020188555050505b505050505050565b610f5480620004cd6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806354fd4d501161006657806354fd4d501461013557806370a082311461015357806395d89b4114610183578063a9059cbb146101a1578063dd62ed3e146101bd5761009e565b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100dd57806323b872dd146100fb578063313ce56714610117575b600080fd5b6100ab6101ed565b6040516100b89190610bdc565b60405180910390f35b6100db60048036038101906100d69190610c97565b61027b565b005b6100e5610365565b6040516100f29190610ce6565b60405180910390f35b61011560048036038101906101109190610d01565b61036b565b005b61011f6106ee565b60405161012c9190610d70565b60405180910390f35b61013d610701565b60405161014a9190610bdc565b60405180910390f35b61016d60048036038101906101689190610d8b565b61078f565b60405161017a9190610ce6565b60405180910390f35b61018b6107d8565b6040516101989190610bdc565b60405180910390f35b6101bb60048036038101906101b69190610c97565b610866565b005b6101d760048036038101906101d29190610db8565b610a74565b6040516101e49190610ce6565b60405180910390f35b600180546101fa90610e27565b80601f016020809104026020016040519081016040528092919081815260200182805461022690610e27565b80156102735780601f1061024857610100808354040283529160200191610273565b820191906000526020600020905b81548152906001019060200180831161025657829003601f168201915b505050505081565b80600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516103599190610ce6565b60405180910390a35050565b60005481565b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610436575080600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156104425750600081115b61044b57600080fd5b61049d81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610afb90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061053281600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b2390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061060481600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b2390919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516106e19190610ce6565b60405180910390a3505050565b600260009054906101000a900460ff1681565b6004805461070e90610e27565b80601f016020809104026020016040519081016040528092919081815260200182805461073a90610e27565b80156107875780601f1061075c57610100808354040283529160200191610787565b820191906000526020600020905b81548152906001019060200180831161076a57829003601f168201915b505050505081565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600380546107e590610e27565b80601f016020809104026020016040519081016040528092919081815260200182805461081190610e27565b801561085e5780601f106108335761010080835404028352916020019161085e565b820191906000526020600020905b81548152906001019060200180831161084157829003601f168201915b505050505081565b60406004816108759190610e87565b60003690501461088857610887610ebb565b5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156108d75750600082115b6108e057600080fd5b61093282600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b2390919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109c782600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610afb90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a679190610ce6565b60405180910390a3505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808284610b0a9190610e87565b905083811015610b1957600080fd5b8091505092915050565b600082821115610b3257600080fd5b60008284610b409190610eea565b90508091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610b86578082015181840152602081019050610b6b565b60008484015250505050565b6000601f19601f8301169050919050565b6000610bae82610b4c565b610bb88185610b57565b9350610bc8818560208601610b68565b610bd181610b92565b840191505092915050565b60006020820190508181036000830152610bf68184610ba3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c2e82610c03565b9050919050565b610c3e81610c23565b8114610c4957600080fd5b50565b600081359050610c5b81610c35565b92915050565b6000819050919050565b610c7481610c61565b8114610c7f57600080fd5b50565b600081359050610c9181610c6b565b92915050565b60008060408385031215610cae57610cad610bfe565b5b6000610cbc85828601610c4c565b9250506020610ccd85828601610c82565b9150509250929050565b610ce081610c61565b82525050565b6000602082019050610cfb6000830184610cd7565b92915050565b600080600060608486031215610d1a57610d19610bfe565b5b6000610d2886828701610c4c565b9350506020610d3986828701610c4c565b9250506040610d4a86828701610c82565b9150509250925092565b600060ff82169050919050565b610d6a81610d54565b82525050565b6000602082019050610d856000830184610d61565b92915050565b600060208284031215610da157610da0610bfe565b5b6000610daf84828501610c4c565b91505092915050565b60008060408385031215610dcf57610dce610bfe565b5b6000610ddd85828601610c4c565b9250506020610dee85828601610c4c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610e3f57607f821691505b602082108103610e5257610e51610df8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610e9282610c61565b9150610e9d83610c61565b9250828201905080821115610eb557610eb4610e58565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000610ef582610c61565b9150610f0083610c61565b9250828203905081811115610f1857610f17610e58565b5b9291505056fea264697066735822122098cce0312b8c10c3ee11239e3611f0ca1bc01d6c1484a9d8f7a63e9bce99b6e064736f6c63430008120033