60806040526014600855600a6009556064600a556203f480600b5562054600600c556802b5e3af16b18800006016556001601760006101000a81548160ff0219169083151502179055506040518060a0016040528060698152602001620059cb60699139601890805190602001906200007a929190620005ff565b503480156200008857600080fd5b5060405162005a3438038062005a3483398181016040526040811015620000ae57600080fd5b81019080805190602001909291908051906020019092919050505033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a0a612710026000819055506012600a0a61271002600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a0a612710026040518082815260200191505060405180910390a342600481905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200022b57737a250d5630b4cf539739df2c5dacb4c659f2488d6200022d565b815b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620002be57735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f620002c0565b805b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003106200031960201b60201c565b505050620006ae565b60008073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620003df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f546f6b656e3a20706f6f6c20616c72656164792063726561746564000000000081525060200191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c65396600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200048657600080fd5b505afa1580156200049b573d6000803e3d6000fd5b505050506040513d6020811015620004b257600080fd5b8101908080519060200190929190505050306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200055a57600080fd5b505af11580156200056f573d6000803e3d6000fd5b505050506040513d60208110156200058657600080fd5b8101908080519060200190929190505050601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200064257805160ff191683800117855562000673565b8280016001018555821562000673579182015b828111156200067257825182559160200191906001019062000655565b5b50905062000682919062000686565b5090565b620006ab91905b80821115620006a75760008160009055506001016200068d565b5090565b90565b61530d80620006be6000396000f3fe60806040526004361061038b5760003560e01c806392f61930116101dc578063da620cd711610102578063f28a2143116100a0578063f5f8155e1161006f578063f5f8155e1461137d578063f79ed94b146113a8578063f96f5b35146113ff578063fff6cae9146114645761038b565b8063f28a214314611269578063f2fde38b146112a4578063f322de78146112f5578063f40c1510146113205761038b565b8063e0dc1756116100dc578063e0dc175614611141578063e46638e61461117c578063e7d9a0eb1461120f578063eadf46971461123e5761038b565b8063da620cd714611051578063dd62ed3e14611081578063dfbb4322146111065761038b565b8063b6f5265a1161017a578063d0d41fe111610149578063d0d41fe114610ea9578063d231303d14610efa578063d493b9ac14610f63578063d73dd62314610fde5761038b565b8063b6f5265a14610d81578063bc70cd8c14610d98578063c8c0e7e414610def578063ccfc2e8d14610e585761038b565b8063a51748a1116101b6578063a51748a114610c5b578063a9059cbb14610c86578063abc1fecb14610cf9578063b237e8e114610d565761038b565b806392f6193014610b7157806395d89b4114610b9c5780639786207c14610c2c5761038b565b80634d332457116102c157806373996c031161025f57806387d9c50d1161022e57806387d9c50d14610a1c5780638bdb2afa14610a335780638da5cb5b14610a8a5780638e8e292514610ae15761038b565b806373996c031461094857806375b208bc146109835780637988d865146109da5780637e5d9835146109f15761038b565b806360a025901161029b57806360a025901461081657806366188463146108455780636a2f796c146108b857806370a08231146108e35761038b565b80634d332457146107515780634f1a0f7d146107a8578063596fa9e3146107bf5761038b565b806323b872dd1161032e578063378dc3dc11610308578063378dc3dc1461067d57806338af6632146106a85780633ad10ef6146106bf57806342966c68146107165761038b565b806323b872dd14610594578063313ce5671461062757806331a22a20146106525761038b565b806314673d311161036a57806314673d31146104be57806314b8fecc1461050f57806318160ddd1461053e57806323399434146105695761038b565b80622b13291461039057806306fdde03146103bb578063095ea7b31461044b575b600080fd5b34801561039c57600080fd5b506103a561147b565b6040518082815260200191505060405180910390f35b3480156103c757600080fd5b506103d0611481565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104105780820151818401526020810190506103f5565b50505050905090810190601f16801561043d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045757600080fd5b506104a46004803603604081101561046e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506114ba565b604051808215151515815260200191505060405180910390f35b3480156104ca57600080fd5b5061050d600480360360208110156104e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115ac565b005b34801561051b57600080fd5b5061052461164a565b604051808215151515815260200191505060405180910390f35b34801561054a57600080fd5b5061055361165d565b6040518082815260200191505060405180910390f35b34801561057557600080fd5b5061057e611663565b6040518082815260200191505060405180910390f35b3480156105a057600080fd5b5061060d600480360360608110156105b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611669565b604051808215151515815260200191505060405180910390f35b34801561063357600080fd5b5061063c61213f565b6040518082815260200191505060405180910390f35b34801561065e57600080fd5b50610667612144565b6040518082815260200191505060405180910390f35b34801561068957600080fd5b5061069261214a565b6040518082815260200191505060405180910390f35b3480156106b457600080fd5b506106bd612156565b005b3480156106cb57600080fd5b506106d461249d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561072257600080fd5b5061074f6004803603602081101561073957600080fd5b81019080803590602001909291905050506124c3565b005b34801561075d57600080fd5b506107666124d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107b457600080fd5b506107bd6124f6565b005b3480156107cb57600080fd5b506107d46127f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561082257600080fd5b5061082b61281e565b604051808215151515815260200191505060405180910390f35b34801561085157600080fd5b5061089e6004803603604081101561086857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061283e565b604051808215151515815260200191505060405180910390f35b3480156108c457600080fd5b506108cd612acf565b6040518082815260200191505060405180910390f35b3480156108ef57600080fd5b506109326004803603602081101561090657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ad5565b6040518082815260200191505060405180910390f35b34801561095457600080fd5b506109816004803603602081101561096b57600080fd5b8101908080359060200190929190505050612b1e565b005b34801561098f57600080fd5b50610998612b82565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109e657600080fd5b506109ef612e61565b005b3480156109fd57600080fd5b50610a06612ed8565b6040518082815260200191505060405180910390f35b348015610a2857600080fd5b50610a31612ede565b005b348015610a3f57600080fd5b50610a48612f55565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a9657600080fd5b50610a9f612f7b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610aed57600080fd5b50610af6612fa1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b36578082015181840152602081019050610b1b565b50505050905090810190601f168015610b635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b7d57600080fd5b50610b8661303f565b6040518082815260200191505060405180910390f35b348015610ba857600080fd5b50610bb1613045565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bf1578082015181840152602081019050610bd6565b50505050905090810190601f168015610c1e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c3857600080fd5b50610c4161307e565b604051808215151515815260200191505060405180910390f35b348015610c6757600080fd5b50610c70613091565b6040518082815260200191505060405180910390f35b348015610c9257600080fd5b50610cdf60048036036040811015610ca957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613097565b604051808215151515815260200191505060405180910390f35b348015610d0557600080fd5b50610d5460048036036040811015610d1c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050613505565b005b348015610d6257600080fd5b50610d6b6135ba565b6040518082815260200191505060405180910390f35b348015610d8d57600080fd5b50610d966135c0565b005b348015610da457600080fd5b50610dad613daf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610dfb57600080fd5b50610e3e60048036036020811015610e1257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613dd5565b604051808215151515815260200191505060405180910390f35b348015610e6457600080fd5b50610ea760048036036020811015610e7b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613df5565b005b348015610eb557600080fd5b50610ef860048036036020811015610ecc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e93565b005b348015610f0657600080fd5b50610f4960048036036020811015610f1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f31565b604051808215151515815260200191505060405180910390f35b348015610f6f57600080fd5b50610fdc60048036036060811015610f8657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613f51565b005b348015610fea57600080fd5b506110376004803603604081101561100157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614177565b604051808215151515815260200191505060405180910390f35b61107f6004803603602081101561106757600080fd5b81019080803515159060200190929190505050614373565b005b34801561108d57600080fd5b506110f0600480360360408110156110a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614519565b6040518082815260200191505060405180910390f35b34801561111257600080fd5b5061113f6004803603602081101561112957600080fd5b81019080803590602001909291905050506145a0565b005b34801561114d57600080fd5b5061117a6004803603602081101561116457600080fd5b8101908080359060200190929190505050614604565b005b34801561118857600080fd5b506111f56004803603606081101561119f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614668565b604051808215151515815260200191505060405180910390f35b34801561121b57600080fd5b506112246146fa565b604051808215151515815260200191505060405180910390f35b34801561124a57600080fd5b5061125361471a565b6040518082815260200191505060405180910390f35b34801561127557600080fd5b506112a26004803603602081101561128c57600080fd5b8101908080359060200190929190505050614720565b005b3480156112b057600080fd5b506112f3600480360360208110156112c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614784565b005b34801561130157600080fd5b5061130a6148d8565b6040518082815260200191505060405180910390f35b34801561132c57600080fd5b5061137b6004803603604081101561134357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506148de565b005b34801561138957600080fd5b50611392614993565b6040518082815260200191505060405180910390f35b3480156113b457600080fd5b506113bd614999565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561140b57600080fd5b5061144e6004803603602081101561142257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506149bf565b6040518082815260200191505060405180910390f35b34801561147057600080fd5b506114796149d7565b005b60135481565b6040518060400160405280600981526020017f50726f746f636f7265000000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461160657600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601960009054906101000a900460ff1681565b60005481565b60145481565b6000611676848484614668565b6116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4c696d6974206275797320617265206f6e21000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561172257600080fd5b6000806000611732878787614a88565b92509250925060006117718261176385611755888b614e3290919063ffffffff16565b614e3290919063ffffffff16565b614e3290919063ffffffff16565b90506000600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061184682600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e3290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118db82600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e4990919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061197084600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e3290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a278460016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e4990919063ffffffff16565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ade83600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e3290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b958360016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e4990919063ffffffff16565b60016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c4c85600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e3290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d038560016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e4990919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d7b8782614e3290919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156120545750600084115b1561212f57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638bc1e07633866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001806020018281038252600081526020016020019350505050600060405180830381600087803b15801561211657600080fd5b505af115801561212a573d6000803e3d6000fd5b505050505b6001955050505050509392505050565b601281565b60155481565b6012600a0a6127100281565b601960009054906101000a900460ff166121d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4576656e74206e6f74206f76657220796574000000000000000000000000000081525060200191505060405180910390fd5b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161228d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4e6f7468696e6720746f20636c61696d2c206d6f766520616c6f6e670000000081525060200191505060405180910390fd5b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000612324670de0b6b3a7640000612316601554601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e6590919063ffffffff16565b614e9490919063ffffffff16565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156123ad57600080fd5b505af11580156123c1573d6000803e3d6000fd5b505050506040513d60208110156123d757600080fd5b8101908080519060200190929190505050506000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f586e28f4f60b4d906fc69694ea6d7fe5c5668730ce3286d7af8eca868f3c27603382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6124cd3382614ead565b50565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461255057600080fd5b6125586146fa565b6125ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180615243602f913960400191505060405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405180600001905060006040518083038185875af1925050503d806000811461260d576040519150601f19603f3d011682016040523d82523d6000602084013e612612565b606091505b5050905080612689576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5472616e73666572206661696c65642e0000000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600042612838600b54600454614e4990919063ffffffff16565b11905090565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561294f576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129e3565b6129628382614e3290919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60045481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b7857600080fd5b8060168190555050565b60008073ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612c47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f546f6b656e3a20706f6f6c20616c72656164792063726561746564000000000081525060200191505060405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c65396600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612ced57600080fd5b505afa158015612d01573d6000803e3d6000fd5b505050506040513d6020811015612d1757600080fd5b8101908080519060200190929190505050306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015612dbe57600080fd5b505af1158015612dd2573d6000803e3d6000fd5b505050506040513d6020811015612de857600080fd5b8101908080519060200190929190505050601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612ebb57600080fd5b6001601760006101000a81548160ff021916908315150217905550565b60085481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f3857600080fd5b6000601760006101000a81548160ff021916908315150217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60188054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156130375780601f1061300c57610100808354040283529160200191613037565b820191906000526020600020905b81548152906001019060200180831161301a57829003601f168201915b505050505081565b600f5481565b6040518060400160405280600581526020017f70434f524500000000000000000000000000000000000000000000000000000081525081565b601760009054906101000a900460ff1681565b600c5481565b60006130a4338484614668565b613116576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4c696d6974206275797320617265206f6e21000000000000000000000000000081525060200191505060405180910390fd5b6000806000613126338787614a88565b92509250925060006131658261315785613149888b614e3290919063ffffffff16565b614e3290919063ffffffff16565b614e3290919063ffffffff16565b9050613193600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461506e565b613205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616e6e6f7420646973627572736520726577617264732e000000000000000081525060200191505060405180910390fd5b613231600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168561506e565b6132a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f43616e6e6f742073656e6420746f6b656e7320746f207265736572766521000081525060200191505060405180910390fd5b6132cf600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361506e565b613341576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616e6e6f74207472616e73666572206465762066656521000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156133a05750600083115b1561347b57600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638bc1e07633856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001806020018281038252600081526020016020019350505050600060405180830381600087803b15801561346257600080fd5b505af1158015613476573d6000803e3d6000fd5b505050505b613485878261506e565b6134f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616e6e6f74207472616e7366657220746f6b656e732e00000000000000000081525060200191505060405180910390fd5b600194505050505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461355f57600080fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60165481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461361a57600080fd5b6000151561362661281e565b15151461369b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4c69717569646974792067656e65726174696f6e206f6e67696e67000000000081525060200191505060405180910390fd5b60001515601960009054906101000a900460ff16151514613707576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806152b46025913960400191505060405180910390fd5b476014819055506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561379f57600080fd5b505afa1580156137b3573d6000803e3d6000fd5b505050506040513d60208110156137c957600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db06014546040518263ffffffff1660e01b81526004016000604051808303818588803b15801561382657600080fd5b505af115801561383a573d6000803e3d6000fd5b5050505050600047146138b5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5472616e73666572204661696c6564000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb836014546040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561393e57600080fd5b505af1158015613952573d6000803e3d6000fd5b505050506040513d602081101561396857600080fd5b8101908080519060200190929190505050508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16636a627842306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015613b6557600080fd5b505af1158015613b79573d6000803e3d6000fd5b505050506040513d6020811015613b8f57600080fd5b8101908080519060200190929190505050508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015613c1e57600080fd5b505afa158015613c32573d6000803e3d6000fd5b505050506040513d6020811015613c4857600080fd5b810190808051906020019092919050505060138190555060006013541415613cd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4c50206372656174696f6e206661696c6564000000000000000000000000000081525060200191505060405180910390fd5b613d09601454613cfb670de0b6b3a7640000601354614e6590919063ffffffff16565b614e9490919063ffffffff16565b60158190555060006015541415613d88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4c50206372656174696f6e206661696c6564000000000000000000000000000081525060200191505060405180910390fd5b6001601960006101000a81548160ff021916908315150217905550613dab6149d7565b5050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613e4f57600080fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613eed57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60126020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613fab57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614052576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260428152602001806152726042913960600191505060405180910390fd5b61405a6146fa565b6140af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180615243602f913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561413657600080fd5b505af115801561414a573d6000803e3d6000fd5b505050506040513d602081101561416057600080fd5b810190808051906020019092919050505050505050565b600061420882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e4990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b61437b61281e565b6143ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4c69717569646974792047656e65726174696f6e204576656e74206f7665720081525060200191505060405180910390fd5b80614460576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f2061677265656d656e742070726f7669646564000000000000000000000081525060200191505060405180910390fd5b34601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506144c234601454614e4990919063ffffffff16565b6014819055503373ffffffffffffffffffffffffffffffffffffffff167f20b711375edba008429d2f91787c68aa13aab7f267c346bf91be1a104d8b7b8b346040518082815260200191505060405180910390a250565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146145fa57600080fd5b8060088190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461465e57600080fd5b8060098190555050565b6000601760009054906101000a900460ff1680156146d35750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156146e0575060165482115b156146ee57600090506146f3565b600190505b9392505050565b600042614714600c54600454614e4990919063ffffffff16565b10905090565b600a5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461477a57600080fd5b80600a8190555050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146147de57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561481857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461493857600080fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60095481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601a6020528060005260406000206000915090505481565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015614a4157600080fd5b505afa158015614a55573d6000803e3d6000fd5b505050506040513d6020811015614a6b57600080fd5b8101908080519060200190929190505050905080600f8190555050565b600080600080601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015614af657600080fd5b505afa158015614b0a573d6000803e3d6000fd5b505050506040513d6020811015614b2057600080fd5b81019080805190602001909291905050509050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415614c025780600f541115614c01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4c6971756964697479207769746864726177616c7320666f7262696464656e0081525060200191505060405180910390fd5b5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161480614cab5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b80614cff5750601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80614d535750601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80614d8957503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b15614d9f57600093506000925060009150614e21565b614dc8612710614dba60085488614e6590919063ffffffff16565b614e9490919063ffffffff16565b9350614df3612710614de5600a5488614e6590919063ffffffff16565b614e9490919063ffffffff16565b9250614e1e612710614e1060095488614e6590919063ffffffff16565b614e9490919063ffffffff16565b91505b80600f819055505093509350939050565b600082821115614e3e57fe5b818303905092915050565b600080828401905083811015614e5b57fe5b8091505092915050565b60008082840290506000841480614e84575082848281614e8157fe5b04145b614e8a57fe5b8091505092915050565b600080828481614ea057fe5b0490508091505092915050565b60008111614eba57600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115614f0657600080fd5b614f5881600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e3290919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614fb081600054614e3290919063ffffffff16565b600081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156150a957600080fd5b6150fb82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e3290919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061519082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614e4990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509291505056fe4c69717569646974792067656e65726174696f6e20677261636520706572696f64207374696c6c206f6e676f696e6741646d696e2043616e6e6f74207472616e73666572206f75742070434f52452f57455448204c5020546f6b656e732066726f6d207468697320636f6e7472616374214c69717569646974792067656e65726174696f6e20616c72656164792066696e6973686564a265627a7a723158207fa63cd0b2b4b99f6c8f9343eda15f2d9047ccae57aa1ea60066af80ed41ac1264736f6c634300051100324920616772656520746861742074686520646576656c6f7065727320616e6420616666696c69617465642070617274696573206f66207468652050726f746f636f7265207465616d20617265206e6f7420726573706f6e7369626c6520666f72206d792066756e64730000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f