60806040526040518060400160405280600681526020017f4b616e6e6f6e0000000000000000000000000000000000000000000000000000815250600190816200004a919062000b51565b506040518060400160405280600381526020017f4b414e00000000000000000000000000000000000000000000000000000000008152506002908162000091919062000b51565b506009600a620000a2919062000dc8565b6305f5e100620000b3919062000e19565b60035560646002600354620000c9919062000e19565b620000d5919062000e93565b60045560006009556005600a55600954600a54620000f4919062000ecb565b600b556064600c556064600d556001601460006101000a81548160ff0219169083151502179055506103e8600160035462000130919062000e19565b6200013c919062000e93565b6015556064600160035462000152919062000e19565b6200015e919062000e93565b6016553480156200016e57600080fd5b506040516200458a3803806200458a833981810160405281019062000194919062000f70565b6000339050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030a919062000f70565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b9919062000f70565b306040518363ffffffff1660e01b8152600401620003d992919062000fb3565b6020604051808303816000875af1158015620003f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200041f919062000f70565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550436013819055506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600354600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620008c8919062000ff1565b60405180910390a3506200100e565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200095957607f821691505b6020821081036200096f576200096e62000911565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009d97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200099a565b620009e586836200099a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000a3262000a2c62000a2684620009fd565b62000a07565b620009fd565b9050919050565b6000819050919050565b62000a4e8362000a11565b62000a6662000a5d8262000a39565b848454620009a7565b825550505050565b600090565b62000a7d62000a6e565b62000a8a81848462000a43565b505050565b5b8181101562000ab25762000aa660008262000a73565b60018101905062000a90565b5050565b601f82111562000b015762000acb8162000975565b62000ad6846200098a565b8101602085101562000ae6578190505b62000afe62000af5856200098a565b83018262000a8f565b50505b505050565b600082821c905092915050565b600062000b266000198460080262000b06565b1980831691505092915050565b600062000b41838362000b13565b9150826002028217905092915050565b62000b5c82620008d7565b67ffffffffffffffff81111562000b785762000b77620008e2565b5b62000b84825462000940565b62000b9182828562000ab6565b600060209050601f83116001811462000bc9576000841562000bb4578287015190505b62000bc0858262000b33565b86555062000c30565b601f19841662000bd98662000975565b60005b8281101562000c035784890151825560018201915060208501945060208101905062000bdc565b8683101562000c23578489015162000c1f601f89168262000b13565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000cc65780860481111562000c9e5762000c9d62000c38565b5b600185161562000cae5780820291505b808102905062000cbe8562000c67565b945062000c7e565b94509492505050565b60008262000ce1576001905062000db4565b8162000cf1576000905062000db4565b816001811462000d0a576002811462000d155762000d4b565b600191505062000db4565b60ff84111562000d2a5762000d2962000c38565b5b8360020a91508482111562000d445762000d4362000c38565b5b5062000db4565b5060208310610133831016604e8410600b841016171562000d855782820a90508381111562000d7f5762000d7e62000c38565b5b62000db4565b62000d94848484600162000c74565b9250905081840481111562000dae5762000dad62000c38565b5b81810290505b9392505050565b600060ff82169050919050565b600062000dd582620009fd565b915062000de28362000dbb565b925062000e117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ccf565b905092915050565b600062000e2682620009fd565b915062000e3383620009fd565b925082820262000e4381620009fd565b9150828204841483151762000e5d5762000e5c62000c38565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ea082620009fd565b915062000ead83620009fd565b92508262000ec05762000ebf62000e64565b5b828204905092915050565b600062000ed882620009fd565b915062000ee583620009fd565b925082820190508082111562000f005762000eff62000c38565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f388262000f0b565b9050919050565b62000f4a8162000f2b565b811462000f5657600080fd5b50565b60008151905062000f6a8162000f3f565b92915050565b60006020828403121562000f895762000f8862000f06565b5b600062000f998482850162000f59565b91505092915050565b62000fad8162000f2b565b82525050565b600060408201905062000fca600083018562000fa2565b62000fd9602083018462000fa2565b9392505050565b62000feb81620009fd565b82525050565b600060208201905062001008600083018462000fe0565b92915050565b61356c806200101e6000396000f3fe6080604052600436106101e75760003560e01c806378109e5411610102578063cec10c1111610095578063ec72d65f11610064578063ec72d65f146106f1578063f11743f61461071a578063f2fde38b14610731578063f887ea401461075a576101ee565b8063cec10c1114610637578063d088935814610660578063dd62ed3e14610689578063e96fada2146106c6576101ee565b8063a8aa1b31116100d1578063a8aa1b3114610579578063a9059cbb146105a4578063acef1a44146105e1578063ca33e64c1461060c576101ee565b806378109e54146104cf5780638da5cb5b146104fa57806395d89b4114610525578063a4b45c0014610550576101ee565b806323b872dd1161017a5780636ddd1713116101495780636ddd17131461042757806370a0823114610452578063715018a61461048f57806373a432bb146104a6576101ee565b806323b872dd14610359578063313ce56714610396578063571ac8b0146103c1578063658d4b7f146103fe576101ee565b8063180b0d7e116101b6578063180b0d7e146102af57806318160ddd146102da5780631df4ccfc146103055780632198cf6c14610330576101ee565b8063012aa912146101f35780630445b6671461021c57806306fdde0314610247578063095ea7b314610272576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b5061021a600480360381019061021591906128a8565b610785565b005b34801561022857600080fd5b50610231610837565b60405161023e91906128e4565b60405180910390f35b34801561025357600080fd5b5061025c61083d565b604051610269919061298f565b60405180910390f35b34801561027e57600080fd5b5061029960048036038101906102949190612a0f565b6108cf565b6040516102a69190612a6a565b60405180910390f35b3480156102bb57600080fd5b506102c46109c1565b6040516102d191906128e4565b60405180910390f35b3480156102e657600080fd5b506102ef6109c7565b6040516102fc91906128e4565b60405180910390f35b34801561031157600080fd5b5061031a6109d1565b60405161032791906128e4565b60405180910390f35b34801561033c57600080fd5b5061035760048036038101906103529190612ab1565b6109d7565b005b34801561036557600080fd5b50610380600480360381019061037b9190612af1565b610ac0565b60405161038d9190612a6a565b60405180910390f35b3480156103a257600080fd5b506103ab610cc0565b6040516103b89190612b60565b60405180910390f35b3480156103cd57600080fd5b506103e860048036038101906103e39190612b7b565b610cc9565b6040516103f59190612a6a565b60405180910390f35b34801561040a57600080fd5b5061042560048036038101906104209190612ab1565b610cfc565b005b34801561043357600080fd5b5061043c610de5565b6040516104499190612a6a565b60405180910390f35b34801561045e57600080fd5b5061047960048036038101906104749190612b7b565b610df8565b60405161048691906128e4565b60405180910390f35b34801561049b57600080fd5b506104a4610e41565b005b3480156104b257600080fd5b506104cd60048036038101906104c89190612b7b565b610f8d565b005b3480156104db57600080fd5b506104e4611133565b6040516104f191906128e4565b60405180910390f35b34801561050657600080fd5b5061050f611139565b60405161051c9190612bb7565b60405180910390f35b34801561053157600080fd5b5061053a611162565b604051610547919061298f565b60405180910390f35b34801561055c57600080fd5b5061057760048036038101906105729190612bd2565b6111f4565b005b34801561058557600080fd5b5061058e61136b565b60405161059b9190612bb7565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c69190612a0f565b611391565b6040516105d89190612a6a565b60405180910390f35b3480156105ed57600080fd5b506105f66113a6565b60405161060391906128e4565b60405180910390f35b34801561061857600080fd5b506106216113ac565b60405161062e9190612bb7565b60405180910390f35b34801561064357600080fd5b5061065e60048036038101906106599190612c12565b6113d2565b005b34801561066c57600080fd5b5061068760048036038101906106829190612c65565b6114e5565b005b34801561069557600080fd5b506106b060048036038101906106ab9190612bd2565b6115a0565b6040516106bd91906128e4565b60405180910390f35b3480156106d257600080fd5b506106db611627565b6040516106e89190612bb7565b60405180910390f35b3480156106fd57600080fd5b50610718600480360381019061071391906128a8565b61164d565b005b34801561072657600080fd5b5061072f6116e5565b005b34801561073d57600080fd5b5061075860048036038101906107539190612b7b565b611794565b005b34801561076657600080fd5b5061076f61194e565b60405161077c9190612d17565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080a90612d7e565b60405180910390fd5b612710816003546108249190612dcd565b61082e9190612e3e565b60048190555050565b60155481565b60606001805461084c90612e9e565b80601f016020809104026020016040519081016040528092919081815260200182805461087890612e9e565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109af91906128e4565b60405180910390a36001905092915050565b600c5481565b6000600354905090565b600b5481565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c90612d7e565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610cac57610c2b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119749092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610cb78484846119d8565b90509392505050565b60006009905090565b6000610cf5827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108cf565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8190612d7e565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601460009054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ecf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec690612d7e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b3373ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061103657503373ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106c90612f1b565b60405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160086000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461117190612e9e565b80601f016020809104026020016040519081016040528092919081815260200182805461119d90612e9e565b80156111ea5780601f106111bf576101008083540402835291602001916111ea565b820191906000526020600020905b8154815290600101906020018083116111cd57829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611282576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127990612d7e565b60405180910390fd5b81600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061139e3384846119d8565b905092915050565b60165481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145790612d7e565b60405180910390fd5b8260098190555081600a819055506114818284611e0f90919063ffffffff16565b600b8190555080600c819055506003600c5461149d9190612e3e565b600b54106114e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d790612f87565b60405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156a90612d7e565b60405180910390fd5b82601460006101000a81548160ff0219169083151502179055508160158190555080601681905550505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d290612d7e565b60405180910390fd5b80600d8190555050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611773576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176a90612d7e565b60405180910390fd5b6000601354036117895743601381905550611792565b60006013819055505b565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181990612d7e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188890612ff3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383111582906119bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b3919061298f565b60405180910390fd5b50600083856119cb9190613013565b9050809150509392505050565b6000806119e484610df8565b905060045483826119f59190613047565b111580611a4b5750600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a81906130ed565b60405180910390fd5b611a92611e6d565b8015611aeb5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611af957611af8611f44565b5b60006298968084611b0a9190612e3e565b9050600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611bb35750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b15611bc7578084611bc49190613013565b93505b611c50846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119749092919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611c9f87876124bf565b611ca95784611d05565b611d048786601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161461256d565b5b9050611d5981600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0f90919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611df991906128e4565b60405180910390a3600193505050509392505050565b6000808284611e1e9190613047565b905083811015611e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5a90613159565b60405180910390fd5b8091505092915050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611eda5750601760009054906101000a900460ff16155b8015611ef25750601460009054906101000a900460ff165b8015611f3f5750601554600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601760006101000a81548160ff0219169083151502179055506000601654600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611fb4576016549050611ff7565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b60006120356002612027600b54612019600954876126fc90919063ffffffff16565b61277690919063ffffffff16565b61277690919063ffffffff16565b9050600061204c82846127c090919063ffffffff16565b90506000600267ffffffffffffffff81111561206b5761206a613179565b5b6040519080825280602002602001820160405280156120995781602001602082028036833780820191505090505b50905030816000815181106120b1576120b06131a8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217c91906131ec565b816001815181106121905761218f6131a8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161222e959493929190613312565b600060405180830381600087803b15801561224857600080fd5b505af115801561225c573d6000803e3d6000fd5b5050505060004790506000612291612280600260095461277690919063ffffffff16565b600b546127c090919063ffffffff16565b905060006122cf60026122c1846122b3600954886126fc90919063ffffffff16565b61277690919063ffffffff16565b61277690919063ffffffff16565b905060006122e682856127c090919063ffffffff16565b90506000811115612388576000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161233d9061339d565b600060405180830381858888f193505050503d806000811461237b576040519150601f19603f3d011682016040523d82523d6000602084013e612380565b606091505b505080915050505b600087111561249a57601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308a600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161241a969594939291906133b2565b60606040518083038185885af1158015612438573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061245d9190613428565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506828860405161249192919061347b565b60405180910390a15b50505050505050506000601760006101000a81548160ff021916908315150217905550565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156125655750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b6000808261257c576064612580565b600d545b905060008060135411612594576063612598565b600b545b905060006125e16064600c546125ae9190612dcd565b6125d3856125c5868b6126fc90919063ffffffff16565b6126fc90919063ffffffff16565b61277690919063ffffffff16565b905061263581600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e0f90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126d591906128e4565b60405180910390a36126f081876127c090919063ffffffff16565b93505050509392505050565b600080830361270e5760009050612770565b6000828461271c9190612dcd565b905082848261272b9190612e3e565b1461276b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276290613516565b60405180910390fd5b809150505b92915050565b60006127b883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061280a565b905092915050565b600061280283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611974565b905092915050565b60008083118290612851576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612848919061298f565b60405180910390fd5b50600083856128609190612e3e565b9050809150509392505050565b600080fd5b6000819050919050565b61288581612872565b811461289057600080fd5b50565b6000813590506128a28161287c565b92915050565b6000602082840312156128be576128bd61286d565b5b60006128cc84828501612893565b91505092915050565b6128de81612872565b82525050565b60006020820190506128f960008301846128d5565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561293957808201518184015260208101905061291e565b60008484015250505050565b6000601f19601f8301169050919050565b6000612961826128ff565b61296b818561290a565b935061297b81856020860161291b565b61298481612945565b840191505092915050565b600060208201905081810360008301526129a98184612956565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006129dc826129b1565b9050919050565b6129ec816129d1565b81146129f757600080fd5b50565b600081359050612a09816129e3565b92915050565b60008060408385031215612a2657612a2561286d565b5b6000612a34858286016129fa565b9250506020612a4585828601612893565b9150509250929050565b60008115159050919050565b612a6481612a4f565b82525050565b6000602082019050612a7f6000830184612a5b565b92915050565b612a8e81612a4f565b8114612a9957600080fd5b50565b600081359050612aab81612a85565b92915050565b60008060408385031215612ac857612ac761286d565b5b6000612ad6858286016129fa565b9250506020612ae785828601612a9c565b9150509250929050565b600080600060608486031215612b0a57612b0961286d565b5b6000612b18868287016129fa565b9350506020612b29868287016129fa565b9250506040612b3a86828701612893565b9150509250925092565b600060ff82169050919050565b612b5a81612b44565b82525050565b6000602082019050612b756000830184612b51565b92915050565b600060208284031215612b9157612b9061286d565b5b6000612b9f848285016129fa565b91505092915050565b612bb1816129d1565b82525050565b6000602082019050612bcc6000830184612ba8565b92915050565b60008060408385031215612be957612be861286d565b5b6000612bf7858286016129fa565b9250506020612c08858286016129fa565b9150509250929050565b600080600060608486031215612c2b57612c2a61286d565b5b6000612c3986828701612893565b9350506020612c4a86828701612893565b9250506040612c5b86828701612893565b9150509250925092565b600080600060608486031215612c7e57612c7d61286d565b5b6000612c8c86828701612a9c565b9350506020612c9d86828701612893565b9250506040612cae86828701612893565b9150509250925092565b6000819050919050565b6000612cdd612cd8612cd3846129b1565b612cb8565b6129b1565b9050919050565b6000612cef82612cc2565b9050919050565b6000612d0182612ce4565b9050919050565b612d1181612cf6565b82525050565b6000602082019050612d2c6000830184612d08565b92915050565b7f216f776e65720000000000000000000000000000000000000000000000000000600082015250565b6000612d6860068361290a565b9150612d7382612d32565b602082019050919050565b60006020820190508181036000830152612d9781612d5b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dd882612872565b9150612de383612872565b9250828202612df181612872565b91508282048414831517612e0857612e07612d9e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e4982612872565b9150612e5483612872565b925082612e6457612e63612e0f565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612eb657607f821691505b602082108103612ec957612ec8612e6f565b5b50919050565b7f2146756e64657200000000000000000000000000000000000000000000000000600082015250565b6000612f0560078361290a565b9150612f1082612ecf565b602082019050919050565b60006020820190508181036000830152612f3481612ef8565b9050919050565b7f466565732063616e6e6f74206265206d6f7265207468616e2033332500000000600082015250565b6000612f71601c8361290a565b9150612f7c82612f3b565b602082019050919050565b60006020820190508181036000830152612fa081612f64565b9050919050565b7f6e65772069732030000000000000000000000000000000000000000000000000600082015250565b6000612fdd60088361290a565b9150612fe882612fa7565b602082019050919050565b6000602082019050818103600083015261300c81612fd0565b9050919050565b600061301e82612872565b915061302983612872565b925082820390508181111561304157613040612d9e565b5b92915050565b600061305282612872565b915061305d83612872565b925082820190508082111561307557613074612d9e565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460008201527f65642c2068652063616e206e6f7420686f6c642074686174206d7563682e0000602082015250565b60006130d7603e8361290a565b91506130e28261307b565b604082019050919050565b60006020820190508181036000830152613106816130ca565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613143601b8361290a565b915061314e8261310d565b602082019050919050565b6000602082019050818103600083015261317281613136565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506131e6816129e3565b92915050565b6000602082840312156132025761320161286d565b5b6000613210848285016131d7565b91505092915050565b6000819050919050565b600061323e61323961323484613219565b612cb8565b612872565b9050919050565b61324e81613223565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613289816129d1565b82525050565b600061329b8383613280565b60208301905092915050565b6000602082019050919050565b60006132bf82613254565b6132c9818561325f565b93506132d483613270565b8060005b838110156133055781516132ec888261328f565b97506132f7836132a7565b9250506001810190506132d8565b5085935050505092915050565b600060a08201905061332760008301886128d5565b6133346020830187613245565b818103604083015261334681866132b4565b90506133556060830185612ba8565b61336260808301846128d5565b9695505050505050565b600081905092915050565b50565b600061338760008361336c565b915061339282613377565b600082019050919050565b60006133a88261337a565b9150819050919050565b600060c0820190506133c76000830189612ba8565b6133d460208301886128d5565b6133e16040830187613245565b6133ee6060830186613245565b6133fb6080830185612ba8565b61340860a08301846128d5565b979650505050505050565b6000815190506134228161287c565b92915050565b6000806000606084860312156134415761344061286d565b5b600061344f86828701613413565b935050602061346086828701613413565b925050604061347186828701613413565b9150509250925092565b600060408201905061349060008301856128d5565b61349d60208301846128d5565b9392505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061350060218361290a565b915061350b826134a4565b604082019050919050565b6000602082019050818103600083015261352f816134f3565b905091905056fea2646970667358221220a2a90d0be01a2f68c63e7d91e7a75c1ebcf3ebebb0f8f03aace91f08d6c7ed6664736f6c634300081100330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Loading