0x60806040526040516136c93803806136c9833981810160405260a081101561002657600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190505050846000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550693f870857a3e0e3800000816fffffffffffffffffffffffffffffffff16106101d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806136a76022913960400191505060405180910390fd5b80600260006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000600260106101000a81548160ff02191690831515021790555050505050506134698061023e6000396000f3fe6080604052600436106101815760003560e01c80636b5c5f39116100d1578063c10753291161008a578063d702087f11610064578063d702087f146108b1578063df88126f14610902578063e1fdb4b414610951578063f8bb201c1461098c57610181565b8063c1075329146107d6578063ca722cdc14610831578063d6d30a511461087657610181565b80636b5c5f39146105d9578063736889141461063057806379141f8014610687578063b539cd5514610731578063bcce604014610780578063bf020f61146107ab57610181565b806341c0e1b51161013e578063537af6c411610118578063537af6c4146104c157806357246d23146104ec5780635825884f1461053b5780635f7bb7f11461058c57610181565b806341c0e1b5146103fc5780634d61537f14610413578063527097251461046a57610181565b806301f602171461020b57806307220134146102365780630cf9349d146102e75780631b580620146103125780631f3a0e4114610363578063403a0a7814610392575b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561020957610208600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff163460643402016109dd565b5b005b34801561021757600080fd5b50610220610c3a565b6040518082815260200191505060405180910390f35b34801561024257600080fd5b5061026f6004803603602081101561025957600080fd5b8101908080359060200190929190505050610c40565b604051808881526020018781526020018660ff1660ff1681526020018560ff1660ff1681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200197505050505050505060405180910390f35b3480156102f357600080fd5b506102fc610ca3565b6040518082815260200191505060405180910390f35b34801561031e57600080fd5b506103616004803603602081101561033557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610caf565b005b34801561036f57600080fd5b50610378610ede565b604051808215151515815260200191505060405180910390f35b6103fa600480360360e08110156103a857600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050610ef1565b005b34801561040857600080fd5b5061041161193e565b005b34801561041f57600080fd5b50610428611b9a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047657600080fd5b5061047f611bc0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104cd57600080fd5b506104d6611be6565b6040518082815260200191505060405180910390f35b3480156104f857600080fd5b50610501611beb565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054757600080fd5b5061058a6004803603602081101561055e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c0d565b005b34801561059857600080fd5b506105d7600480360360208110156105af57600080fd5b8101908080356fffffffffffffffffffffffffffffffff169060200190929190505050611e3d565b005b3480156105e557600080fd5b506105ee611fea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561063c57600080fd5b50610645612010565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561069357600080fd5b506106c0600480360360208110156106aa57600080fd5b8101908080359060200190929190505050612035565b604051808781526020018660ff1660ff1681526020018560ff1660ff1681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001965050505050505060405180910390f35b34801561073d57600080fd5b50610746612141565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561078c57600080fd5b50610795612163565b6040518082815260200191505060405180910390f35b3480156107b757600080fd5b506107c061216e565b6040518082815260200191505060405180910390f35b3480156107e257600080fd5b5061082f600480360360408110156107f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109dd565b005b34801561083d57600080fd5b506108746004803603604081101561085457600080fd5b810190808035906020019092919080359060200190929190505050612179565b005b34801561088257600080fd5b506108af6004803603602081101561089957600080fd5b81019080803590602001909291905050506123c2565b005b3480156108bd57600080fd5b50610900600480360360208110156108d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061266b565b005b34801561090e57600080fd5b506109176127ac565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561095d57600080fd5b5061098a6004803603602081101561097457600080fd5b81019080803590602001909291905050506127ce565b005b34801561099857600080fd5b506109db600480360360208110156109af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a72565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a855750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061339b6026913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff1631811115610b4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806133c16024913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163181600460109054906101000a90046fffffffffffffffffffffffffffffffff16600460009054906101000a90046fffffffffffffffffffffffffffffffff16016fffffffffffffffffffffffffffffffff16011115610c29576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f7567682066756e64732e00000000000000000000000000000081525060200191505060405180910390fd5b610c368282836000612bb3565b5050565b6103e881565b600080600080600080600087604051602001808281526020019150506040516020818303038152906040528051906020012060001c9650610c8087612035565b809650819750829850839950849a50859b50505050505050919395979092949650565b67016345785d8a000081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d575750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610dac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061339b6026913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610de657600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e4057600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610e9b57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260109054906101000a900460ff1681565b600260109054906101000a900460ff1615610f74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f636f6e7472616374206b696c6c6564000000000000000000000000000000000081525060200191505060405180910390fd5b6000600560008681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff1681600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611034576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132af6021913960400191505060405180910390fd5b60028710158015611046575060d88711155b6110b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4d6f64756c6f2073686f756c642062652077697468696e2072616e67652e000081525060200191505060405180910390fd5b662386f26fc1000034101580156110d95750693f870857a3e0e38000003411155b61114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f416d6f756e742073686f756c642062652077697468696e2072616e67652e000081525060200191505060405180910390fd5b60008811801561115e575060d860020a88105b6111d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f4d61736b2073686f756c642062652077697468696e2072616e67652e0000000081525060200191505060405180910390fd5b85431115611246576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f436f6d6d69742068617320657870697265642e0000000000000000000000000081525060200191505060405180910390fd5b600086866040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600181601b878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156112d4573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4543445341207369676e6174757265206973206e6f742076616c69642e00000081525060200191505060405180910390fd5b60008060288a116113fd57603f7e010410410410410410410410410410410410410410410410410410410410417920000000001000000000080000000004000000000200000000018d0216816113f257fe5b0691508a905061157f565b60026028028a1161141d576114138b6002612ca5565b91508a905061157e565b60648a14156114935760008b1180156114365750898b11155b61148b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806133e5602e913960400191505060405180910390fd5b8a915061157d565b60036028028a116114b3576114a98b6003612ca5565b91508a905061157c565b60046028028a116114d3576114c98b6004612ca5565b91508a905061157b565b60056028028a116114f3576114e98b6005612ca5565b91508a905061157a565b60d88a11611510576115068b6006612ca5565b91508a9050611579565b60008b1180156115205750898b11155b611575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806133e5602e913960400191505060405180910390fd5b8a91505b5b5b5b5b5b5b60008061158d348d86612d7a565b8092508193505050600260009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16340182111561163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6d617850726f666974206c696d69742076696f6c6174696f6e2e00000000000081525060200191505060405180910390fd5b81600460108282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555080600460008282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff1631600460109054906101000a90046fffffffffffffffffffffffffffffffff16600460009054906101000a90046fffffffffffffffffffffffffffffffff16016fffffffffffffffffffffffffffffffff1611156117ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f43616e6e6f74206166666f726420746f206c6f73652074686973206265742e0081525060200191505060405180910390fd5b7facafc53544c2ca5cd4dbfda9282c25a35859f0d4ceb77a8275dca1660b1ed3ad8a88604051808381526020018281526020019250505060405180910390a1348660000160006101000a81548169ffffffffffffffffffff021916908369ffffffffffffffffffff1602179055508b86600001600a6101000a81548160ff021916908360ff1602179055508386600001600b6101000a81548160ff021916908360ff160217905550438660010160006101000a81548164ffffffffff021916908364ffffffffff160217905550828660010160056101000a8154817affffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837affffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055503386600001600c6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119e65750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611a3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061339b6026913960400191505060405180910390fd5b6000600460109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614611ac4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260488152602001806133536048913960600191505060405180910390fd5b6001600260106101000a81548160ff0219169083151502179055506000600460006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050158015611b97573d6000803e3d6000fd5b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606281565b600460009054906101000a90046fffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611cb55750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611d0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061339b6026913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d4457600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d9e57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611df957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611ee55750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611f3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061339b6026913960400191505060405180910390fd5b693f870857a3e0e3800000816fffffffffffffffffffffffffffffffff1610611fae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806132496022913960400191505060405180910390fd5b80600260006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060008060006005600089815260200190815260200160002090508060000160009054906101000a900469ffffffffffffffffffff1669ffffffffffffffffffff16965080600001600a9054906101000a900460ff16955080600001600b9054906101000a900460ff1694508060010160009054906101000a900464ffffffffff1664ffffffffff1693508060010160059054906101000a90047affffffffffffffffffffffffffffffffffffffffffffffffffffff167affffffffffffffffffffffffffffffffffffffffffffffffffffff16925080600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505091939550919395565b600260009054906101000a90046fffffffffffffffffffffffffffffffff1681565b660110d9316ec00081565b66038d7ea4c6800081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461221f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613303602c913960400191505060405180910390fd5b600082604051602001808281526020019150506040516020818303038152906040528051906020012060001c9050600060056000838152602001908152602001600020905060008160010160009054906101000a900464ffffffffff1664ffffffffff1690508043116122dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806132d06033913960400191505060405180910390fd5b60fa8101431115612339576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806134136022913960400191505060405180910390fd5b838140146123af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f626c6f636b4861736820696e76616c696400000000000000000000000000000081525060200191505060405180910390fd5b6123bb82868686612ec4565b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061246a5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6124bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061339b6026913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163181111561252f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061332f6024913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff163181600460109054906101000a90046fffffffffffffffffffffffffffffffff16600460009054906101000a90046fffffffffffffffffffffffffffffffff16016fffffffffffffffffffffffffffffffff1601111561260e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4e6f7420656e6f7567682066756e64732e00000000000000000000000000000081525060200191505060405180910390fd5b80600460008282829054906101000a90046fffffffffffffffffffffffffffffffff160192506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806127135750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b612768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061339b6026913960400191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600460109054906101000a90046fffffffffffffffffffffffffffffffff1681565b600060056000838152602001908152602001600020905060008160000160009054906101000a900469ffffffffffffffffffff1669ffffffffffffffffffff169050600081141561286a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061328d6022913960400191505060405180910390fd5b60fa8260010160009054906101000a900464ffffffffff1664ffffffffff160143116128e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806134136022913960400191505060405180910390fd5b60008260000160006101000a81548169ffffffffffffffffffff021916908369ffffffffffffffffffff1602179055506000806129478385600001600a9054906101000a900460ff1660ff1686600001600b9054906101000a900460ff1660ff16612d7a565b809250819350505081600460108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555080600460009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1610612a3b5780600460008282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b612a6b84600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848588612bb3565b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612b1a5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b612b6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061339b6026913960400191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015612c48578373ffffffffffffffffffffffffffffffffffffffff167f9643c1b5b172b26d5f028be7fe646349bd5e3cd9367bb18f9e825afa828b7d938383604051808381526020018281526020019250505060405180910390a2612c9f565b8373ffffffffffffffffffffffffffffffffffffffff167f0272d3e6608bc3ec0a0f28404d8d5ccf282a8e65df305ee6dfac9cec38a3a7458483604051808381526020018281526020019250505060405180910390a25b50505050565b6000603f7e0104104104104104104104104104104104104104104104104104104104104179200000000010000000000800000000040000000002000000000164ffffffffff8616021681612cf557fe5b06810190506000600190505b82811015612d7057602884901c9350603f7e0104104104104104104104104104104104104104104104104104104104104179200000000010000000000800000000040000000002000000000164ffffffffff8716021681612d5e57fe5b06820191508080600101915050612d01565b5080905092915050565b600080826000108015612d8d5750838311155b612dff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f57696e2070726f626162696c697479206f7574206f662072616e67652e00000081525060200191505060405180910390fd5b67016345785d8a0000851015612e16576000612e1f565b66038d7ea4c680005b905060006127106062870281612e3157fe5b049050660110d9316ec000811015612e4e57660110d9316ec00090505b858282011115612ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061326b6022913960400191505060405180910390fd5b838583838903030281612eb857fe5b04925050935093915050565b60008460000160009054906101000a900469ffffffffffffffffffff1669ffffffffffffffffffff169050600085600001600a9054906101000a900460ff1660ff169050600086600001600b9054906101000a900460ff1660ff169050600087600001600c9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000841415612fa4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061328d6022913960400191505060405180910390fd5b60008860000160006101000a81548169ffffffffffffffffffff021916908369ffffffffffffffffffff1602179055506000878760405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506000848260001c8161301557fe5b069050600080613026888888612d7a565b8092508193505050600080905060008090506064891415801561304a575060d88911155b156130ad5760008e60010160059054906101000a90047affffffffffffffffffffffffffffffffffffffffffffffffffffff167affffffffffffffffffffffffffffffffffffffffffffffffffffff168660020a16146130a8578391505b6130ba565b878510156130b9578391505b5b83600460108282829054906101000a90046fffffffffffffffffffffffffffffffff160392506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555067016345785d8a00008a106131b85760006103e88a8860001c8161313457fe5b048161313c57fe5b06905060008114156131b657600460009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1691506000600460006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b505b6000811115613218578673ffffffffffffffffffffffffffffffffffffffff167f16ea4dcfd06c1efb1dd2edf3c766c9a9b9c1d73cbd8ddf4359bd396171229950828d604051808381526020018281526020019250505060405180910390a25b6132388760008385011461322e57828401613231565b60015b848e612bb3565b505050505050505050505050505056fe6d617850726f6669742073686f756c6420626520612073616e65206e756d6265722e42657420646f65736e2774206576656e20636f76657220686f75736520656467652e4265742073686f756c6420626520696e20616e2027616374697665272073746174654265742073686f756c6420626520696e20612027636c65616e272073746174652e736574746c6542657420696e207468652073616d6520626c6f636b20617320706c6163654265742c206f72206265666f72652e4f6e6c7943726f7570696572206d6574686f64732063616c6c6564206279206e6f6e2d63726f75706965722e496e63726561736520616d6f756e74206c6172676572207468616e2062616c616e63652e416c6c20626574732073686f756c642062652070726f6365737365642028736574746c6564206f7220726566756e64656429206265666f72652073656c662d64657374727563742e4f6e6c794f776e6572206d6574686f64732063616c6c6564206279206e6f6e2d6f776e65722e576974686472617720616d6f756e74206c6172676572207468616e2062616c616e63652e48696768206d6f64756c6f2072616e67652c206265744d61736b206c6172676572207468616e206d6f64756c6f2e426c6f636b686173682063616e277420626520717565726965642062792045564d2ea265627a7a72315820bc9c3040f54edaa432673900ef18e763080d764ae47e18cce354c56ad31af83d64736f6c634300050b00326d617850726f6669742073686f756c6420626520612073616e65206e756d6265722e00000000000000000000000004f87645ca7ea324800bff5996361ac9060ecde80000000000000000000000003362a2d61ec7a4a90d0c0af9a56def3992f295c800000000000000000000000024cf113f8a3c768085f269bb32c1cb5485a18fda000000000000000000000000ffd60def5117bc0fdf94a1da72089f8cb1e5d867000000000000000000000000000000000000000000000000000000000000000a